/* Shared surfaces make the complete workspace follow the chosen appearance. */
:root{
 color-scheme:dark;--bg:#080a1b;--app-base:#080a1b;--app-text:#f1eaf8;--app-heading:#f6e5cb;--app-muted:#bbaace;--app-gold:#efc88d;--app-accent:#b58bdc;--app-line:#c4a5e52b;
 --app-panel:linear-gradient(145deg,rgba(28,24,49,.97),rgba(14,15,32,.97));--app-flat:#18162d;--app-inset:#111426;--app-soft:#28213e;--app-selected:#34294b;--app-chrome:rgba(10,12,31,.91);
 --app-input:#101426;--app-input-text:#f0e7f7;--app-input-line:#4d3b65;--app-shadow:0 10px 30px #03041336;--app-nav:#c6b7d9;--app-strong:#fff0d8;
 --app-success:#203d34;--app-success-text:#c3ebbe;--app-success-line:#699d79;--app-error:#452b3b;--app-error-text:#ffd0c7;--app-error-line:#ac7381;
 --app-purple:#332446;--app-purple-text:#d3b0ee;--app-amber:#3b2a2e;--app-amber-text:#e8b87d;--app-blue:#222c43;--app-blue-text:#adc4ed;
 --app-backdrop:linear-gradient(90deg,rgba(5,7,22,.87),rgba(7,8,27,.8) 38%,rgba(8,8,28,.62) 72%,rgba(8,8,25,.46));
 --app-hero:linear-gradient(90deg,rgba(7,8,24,.97),rgba(7,8,24,.93) 25%,rgba(8,8,25,.67) 46%,rgba(7,8,24,.12) 75%);
}
:root[data-appearance="light"]{
 color-scheme:light;--bg:#f6f1fb;--app-base:#f6f1fb;--app-text:#493b59;--app-heading:#493052;--app-muted:#796484;--app-gold:#8d5b20;--app-accent:#8760a9;--app-line:#d8c8e5;
 --app-panel:linear-gradient(145deg,rgba(255,253,250,.99),rgba(248,244,253,.99));--app-flat:#fffcff;--app-inset:#f4edf8;--app-soft:#eee3f5;--app-selected:#e6d7f0;--app-chrome:rgba(255,252,255,.94);
 --app-input:#fffdfb;--app-input-text:#4c385d;--app-input-line:#dbcae5;--app-shadow:0 8px 25px #6747800c;--app-nav:#7e668f;--app-strong:#493052;
 --app-success:#e6f2dd;--app-success-text:#3f6b36;--app-success-line:#b7d3a4;--app-error:#fce8e2;--app-error-text:#a05d4e;--app-error-line:#e8b8a7;
 --app-purple:#eedef8;--app-purple-text:#9970b7;--app-amber:#f8e6d1;--app-amber-text:#ae7c44;--app-blue:#e5e9f5;--app-blue-text:#8194bc;
 --app-backdrop:linear-gradient(90deg,rgba(250,247,255,.98),rgba(249,245,254,.96) 40%,rgba(250,245,253,.91) 72%,rgba(250,247,255,.86));
 --app-hero:linear-gradient(90deg,rgba(255,250,242,.99),rgba(250,242,253,.97) 33%,rgba(249,239,253,.89) 55%,rgba(250,239,250,.72));
}
body{position:relative;isolation:isolate;background:var(--app-base);color:var(--app-text)}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:var(--app-backdrop),url('assets/academy-background.png');background-size:cover;background-position:center;background-repeat:no-repeat}
.shell{min-height:100vh;--ink:var(--app-text);--muted:var(--app-muted);--line:var(--app-line)}
.sidebar{background:var(--app-chrome);border-right-color:var(--app-line);backdrop-filter:blur(18px);box-shadow:12px 0 45px #0802110d}
.sidebar .brand{color:var(--app-strong)}.sidebar .brand-dot{color:var(--app-gold)}.sidebar .brand-symbol{background:linear-gradient(145deg,#f6cd88,#dd9c55);color:#32203e;box-shadow:0 0 22px #f5bd5a18}.sidebar .brand-symbol span{color:#fff0bf}
.sidebar .workspace{background:var(--app-inset);border-color:var(--app-line);color:var(--app-text)}.sidebar .workspace small{color:var(--app-muted)}.sidebar .avatar{background:var(--app-soft);color:var(--app-gold)}
.sidebar .nav-label{color:var(--app-muted)}.sidebar nav a{color:var(--app-nav);border:1px solid transparent}.sidebar nav a:hover{background:var(--app-soft);color:var(--app-heading)}.sidebar nav a.active{color:var(--app-strong);background:linear-gradient(100deg,var(--app-selected),var(--app-inset));border-color:var(--app-line);box-shadow:inset 3px 0 0 var(--app-accent)}
.sidebar .sidebar-note{background:var(--app-panel);border:1px solid var(--app-line);color:var(--app-heading)}.sidebar .note-icon{color:var(--app-gold)}.sidebar .sidebar-note p{color:var(--app-muted)}.sidebar .text-button{color:var(--app-gold)}.sidebar .private-note{color:var(--app-nav)}.sidebar .private-note small{color:var(--app-muted)}
.topbar{background:var(--app-chrome);border-bottom-color:var(--app-line);backdrop-filter:blur(15px)}.topbar .breadcrumb{color:var(--app-muted)}.topbar .breadcrumb span{color:var(--app-muted)}.topbar .breadcrumb strong{color:var(--app-gold)}.topbar .save-state{color:var(--app-muted)}.topbar .save-state i{background:var(--app-gold)}.topbar .top-avatar{background:var(--app-soft);border-color:var(--app-flat);color:var(--app-gold);box-shadow:0 0 0 1px var(--app-line)}
.appearance-switch{display:inline-flex;align-items:center;gap:3px;padding:3px;background:var(--app-inset);border:1px solid var(--app-line);border-radius:10px;flex-shrink:0}
.appearance-switch button{display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:7px;background:transparent;padding:6px 9px;color:var(--app-muted);font-size:10px;line-height:1.2;min-height:29px}.appearance-switch button:hover{color:var(--app-heading);background:var(--app-soft)}.appearance-switch button[aria-pressed="true"]{background:var(--app-selected);border-color:var(--app-line);color:var(--app-gold);box-shadow:0 2px 5px #00000008}.appearance-symbol{font-size:17px;line-height:1}
.shell .page-heading h1{color:var(--app-strong)}.shell .page-heading .eyebrow{color:var(--app-gold)}.shell .page-heading p,.shell .section-heading p,.shell .section-heading .muted{color:var(--app-muted)}.shell .section-heading h2{color:var(--app-text)}.shell .section-heading .text-button{color:var(--app-gold)}
.shell .button.primary,.modal .button.primary{background:linear-gradient(135deg,#7957b9,#564398);color:#fff6ea;border-color:#ca9ffa35;box-shadow:0 4px 12px #190c3117}.shell .button.primary:hover,.modal .button.primary:hover{background:linear-gradient(135deg,#8966cc,#6550ae)}
.shell .button.secondary,.modal .button.secondary{background:var(--app-inset);color:var(--app-gold);border-color:var(--app-line)}.shell .button.secondary:hover,.modal .button.secondary:hover{background:var(--app-soft)}
.shell .icon-button,.sidebar .icon-button,.modal .icon-button{color:var(--app-nav);background:var(--app-inset);border-color:var(--app-line)}.shell .icon-button:hover,.modal .icon-button:hover{background:var(--app-soft);color:var(--app-heading)}
:is(.shell,.modal) :is(.creation-card,.resource-card,.method-card,.idea-panel,.editor-panel,.preview-panel){color:var(--app-text);background:var(--app-panel);border-color:var(--app-line);box-shadow:var(--app-shadow)}.shell .creation-card:hover,.shell .method-card:hover{box-shadow:var(--app-shadow),0 0 0 1px var(--app-line)}
:is(.shell,.modal) :is(.creation-card h3,.resource-body h3,.method-body h3,.idea-panel h3){color:var(--app-heading)}:is(.shell,.modal) :is(.creation-card p,.method-body p,.idea-panel p){color:var(--app-muted)}.shell .card-arrow{color:var(--app-accent)}.shell .card-tag{color:var(--app-muted);background:var(--app-soft)}
.shell .creation-card[data-type="quiz"] .creation-icon{background:var(--app-purple);color:var(--app-purple-text)}.shell .creation-card[data-type="presentation"] .creation-icon{background:var(--app-amber);color:var(--app-amber-text)}.shell .creation-card[data-type="plan"] .creation-icon{background:var(--app-blue);color:var(--app-blue-text)}
:is(.shell,.modal) .resource-meta,:is(.shell,.modal) .resource-footer{color:var(--app-muted)}:is(.shell,.modal) .resource-footer{border-color:var(--app-line)}:is(.shell,.modal) .resource-footer button{color:var(--app-gold)}:is(.shell,.modal) .cover-label,:is(.shell,.modal) .resource-cover[class*="theme-"] .cover-label{background:var(--app-flat);color:var(--app-muted);border:1px solid var(--app-line)}
:is(.shell,.modal) .resource-cover.presentation{background:var(--app-amber)}:is(.shell,.modal) .resource-cover.plan{background:var(--app-blue)}:is(.shell,.modal) .cover-slide,:is(.shell,.modal) .cover-plan{background:var(--app-flat);color:var(--app-text);box-shadow:0 7px 15px #00000013}:is(.shell,.modal) .cover-slide b,:is(.shell,.modal) .cover-plan b{color:var(--app-heading)}:is(.shell,.modal) .cover-slide span{color:var(--app-muted)}:is(.shell,.modal) .cover-slide i,:is(.shell,.modal) .cover-plan i{background:var(--app-soft)}
.shell .hero{min-height:355px;padding:34px 36px;border-color:var(--app-line);border-radius:20px;background-image:var(--app-hero),url('assets/academy-background.png');background-size:cover;background-position:center,right 72%;box-shadow:var(--app-shadow);isolation:isolate}
.shell .hero::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px #ecd4ff0a}.shell .hero .hero-art{display:none}.shell .hero .hero-copy{max-width:53%;align-self:center}.shell .hero .eyebrow{background:var(--app-soft);border-color:var(--app-line);color:var(--app-gold);font-size:8px;letter-spacing:1.3px}
.shell .hero h2{color:var(--app-strong);font-family:Georgia,serif;font-size:38px;line-height:1.16;font-weight:400;max-width:490px;letter-spacing:-.9px}.shell .hero h2 em{color:var(--app-gold)}.shell .hero p{color:var(--app-muted);font-size:12px;line-height:1.8;margin-top:17px;margin-bottom:21px}.shell .hero .text-button{color:var(--app-gold);border-bottom-color:var(--app-line);font-size:11px}
.shell .activities-intro{color:var(--app-heading);background:var(--app-panel);border-color:var(--app-line);box-shadow:var(--app-shadow)}.shell .activities-intro:before{background:var(--app-soft)}.shell .activities-intro .eyebrow{color:var(--app-gold)}.shell .activities-intro p{color:var(--app-muted)}.shell .gallery-chips span{background:var(--app-inset);border-color:var(--app-line);color:var(--app-nav)}.shell .activities-intro-art>span{border-color:var(--app-line)}.shell .activities-intro-art>span:nth-child(1){background:var(--app-purple);color:var(--app-purple-text)}.shell .activities-intro-art>span:nth-child(2){background:var(--app-amber);color:var(--app-amber-text)}.shell .activities-intro-art>span:nth-child(3){background:var(--app-success);color:var(--app-success-text)}.shell .activities-intro-art>span:nth-child(4){background:var(--app-error);color:var(--app-error-text)}
.shell .method-label{color:var(--app-accent)}.shell .method-time{background:var(--app-flat);color:var(--app-muted);border:1px solid var(--app-line)}.shell .template-hint{color:var(--app-text);background:var(--app-panel);border:1px solid var(--app-line);box-shadow:var(--app-shadow)}.shell .template-hint .icon{color:var(--app-accent)}.shell .template-hint p{color:var(--app-muted)}
.shell .idea-panel .eyebrow{color:var(--app-accent)}.shell .idea-panel .idea-star{color:var(--app-soft)}.shell .idea-panel .idea-pill{background:var(--app-soft);border-color:var(--app-line);color:var(--app-muted)}.shell .editor-heading .back-link{color:var(--app-nav)}
.shell .bottom-note{background:var(--app-panel);border-color:var(--app-line);color:var(--app-muted);backdrop-filter:blur(8px)}.shell .bottom-note .text-button{color:var(--app-gold)}.shell main>.empty,.shell .library-grid>.empty,.shell .resource-grid>.empty{background:var(--app-panel);border-color:var(--app-line);color:var(--app-text)}.shell .empty p,.shell .empty .icon{color:var(--app-muted)}
.shell>footer{background:var(--app-chrome);border-top-color:var(--app-line);color:var(--app-muted);backdrop-filter:blur(8px)}
/* Forms, uploads, popups and previews share the panel palette. */
.modal{--ink:var(--app-text);--muted:var(--app-muted);--line:var(--app-line);background:var(--app-panel);color:var(--app-text);border-color:var(--app-line);box-shadow:0 30px 100px #03041166}
.modal::backdrop,.player-dialog::backdrop{background:#07081b9c}.modal .eyebrow,.modal .create-group-label{color:var(--app-accent)}.modal .info-list,.modal .small,.modal.small-modal p{color:var(--app-muted)}
.shell :is(input,textarea,select),.modal :is(input,textarea,select){background:var(--app-input);color:var(--app-input-text);border-color:var(--app-input-line)}.shell :is(input,textarea)::placeholder,.modal :is(input,textarea)::placeholder{color:var(--app-muted);opacity:.8}
.shell input[type=radio],.shell input[type=range],.modal input[type=radio]{accent-color:var(--app-accent)}.shell .filter-bar .search-wrap .icon{color:var(--app-muted)}.shell .pill{color:var(--app-nav);background:var(--app-soft);border-color:var(--app-line)}
.shell :is(.item-editor,.category-editor,.theme-picker){background:var(--app-inset);border-color:var(--app-line)}.shell :is(.block-head h3,.theme-picker h3,.custom-background-label strong){color:var(--app-heading)}.shell :is(.theme-picker p,.custom-background-label small,.custom-background-current small,.custom-background-settings label,.dim-readout){color:var(--app-muted)}
.shell .custom-background-current{background:var(--app-flat);border-color:var(--app-line)}.shell .custom-background-current strong{color:var(--app-heading)}.shell .custom-background-settings select{background:var(--app-input);color:var(--app-text)}.shell .custom-upload-button,.shell .custom-use-button{background:var(--app-soft)!important;color:var(--app-gold);border-color:var(--app-line)}.shell .custom-background-help{color:var(--app-muted)!important}
.shell .preview-panel>.eyebrow{color:var(--app-accent)}.shell :is(.preview-meta,.preview-steps,.preview-note,.plan-preview p,.plan-stage span,.plan-total){color:var(--app-muted)}.shell .plan-stage{border-color:var(--app-line)}.shell .preview-box{background:var(--app-inset);border-color:var(--app-line)}.shell .preview-box .label{color:var(--app-muted)}.shell .preview-option{background:var(--app-soft);border-color:var(--app-line)}.shell .preview-option.correct{background:var(--app-success);color:var(--app-success-text);border-color:var(--app-success-line)}
.shell .preview-slide{background:var(--app-soft)}.shell .preview-slide h4{color:var(--app-heading)}.shell .slide-text{color:var(--app-muted)}.modal .type-choice{background:var(--app-inset);border-color:var(--app-line);color:var(--app-nav)}.modal .type-choice>span{color:var(--app-accent)}.modal .type-choice.active{background:var(--app-selected);border-color:var(--app-accent);color:var(--app-heading)}.modal .type-choice.active>span{color:var(--app-gold)}.modal .guide-step{background:var(--app-inset)}.modal .guide-step>span{background:var(--app-soft);color:var(--app-gold)}.modal .guide-step p{color:var(--app-muted)}
/* Game controls follow the appearance, while chosen picture backgrounds persist. */
.preview-game-choice,.preview-input,.game-shell .answer,.game-shell .pair-tile,.sequence-tile{background:var(--app-flat);color:var(--app-text);border-color:var(--app-line)}.preview-game-choice b,.sequence-number{background:var(--app-soft);color:var(--app-accent)}
.preview-game-choice.is-key,.preview-game-choice.truth,.game-shell .answer.correct,.game-shell .pair-tile.matched,.sequence-tile.right-position,.memory-card.found{background:var(--app-success);color:var(--app-success-text);border-color:var(--app-success-line)}.preview-game-choice.falsehood,.game-shell .answer.wrong,.game-shell .pair-tile.wrong{background:var(--app-error);color:var(--app-error-text);border-color:var(--app-error-line)}
.game-shell .answer.truth,.game-shell .answer.falsehood{background:var(--app-flat);color:var(--app-text)}.game-shell .answer.truth.correct,.game-shell .answer.falsehood.correct{background:var(--app-success);color:var(--app-success-text)}.game-shell .answer.truth.wrong,.game-shell .answer.falsehood.wrong{background:var(--app-error);color:var(--app-error-text)}
.game-shell .answer:hover:not(:disabled){background:var(--app-soft);border-color:var(--app-accent)}.game-shell .answer span{background:var(--app-soft);color:var(--app-accent)}.game-shell .secondary,.game-shell .icon-button,.sequence-tile .icon-button{background:var(--app-inset);color:var(--app-nav);border-color:var(--app-line)}.game-shell .pair-tile.selected{background:var(--app-selected);border-color:var(--app-accent);color:var(--app-heading)}
.game-shell .feedback{background:var(--app-success);color:var(--app-success-text);border-color:var(--app-success-line)}.game-shell .feedback.wrong{background:var(--app-error);color:var(--app-error-text);border-color:var(--app-error-line)}.game-shell .gap-form input{background:var(--app-input);color:var(--app-input-text);border-color:var(--app-input-line)}.game-shell .result-symbol{background:var(--app-soft);border-color:var(--app-line);color:var(--app-gold)}
.memory-card.revealed,.mini-memory>div:nth-child(3){background:var(--app-flat);color:var(--app-heading);border-color:var(--app-line)}.memory-card.found{background:var(--app-success);color:var(--app-success-text);border-color:var(--app-success-line)}.memory-card.found b{color:var(--app-success-text)}.wheel-center,.wheel-number{background:var(--app-flat);color:var(--app-gold);border-color:var(--app-line)}
.player-dialog:not(.game-shell){background:var(--app-base);color:var(--app-text)}.player-dialog:not(.game-shell) .player-header{border-color:var(--app-line)}.player-dialog:not(.game-shell) .player-header small{color:var(--app-muted)}.player-dialog:not(.game-shell) .icon-button,.player-dialog:not(.game-shell) .secondary{background:var(--app-inset);color:var(--app-nav);border-color:var(--app-line)}.player-dialog .big-slide,.player-dialog .teacher-notes{background:var(--app-flat);color:var(--app-text);border-color:var(--app-line)}.player-dialog .big-slide h1{color:var(--app-heading)}.player-dialog .big-slide .slide-text,.player-dialog .notes-label{color:var(--app-muted)}
.player-dialog .print-sheet{background:var(--app-flat);color:var(--app-text)}.player-dialog :is(.print-meta,.plan-preview p,.plan-stage span,.plan-total){color:var(--app-muted)}.player-dialog .plan-stage{border-color:var(--app-line)}
.toast{background:var(--app-selected);color:var(--app-heading);border:1px solid var(--app-line)}.skip:focus{background:#634793;color:#fff2dc}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--app-accent)}
@media(min-width:1500px){.shell .hero{min-height:395px;padding:38px 42px}.shell .hero h2{font-size:43px}.shell .hero p{font-size:13px}.shell .hero .hero-copy{max-width:52%}}
@media(max-width:1100px){.shell .hero{min-height:330px;padding:29px}.shell .hero h2{font-size:33px}.shell .hero .hero-copy{max-width:56%}.shell .hero p{font-size:11px}.shell .hero .eyebrow{font-size:7px;letter-spacing:1px}.appearance-label{display:none}.appearance-switch button{padding:6px 8px;min-width:30px}}
@media(max-width:690px){body::before{background-position:68% center}.sidebar{background:var(--app-chrome);border-top-color:var(--app-line);box-shadow:0 -8px 25px #05061515}.sidebar nav a{font-size:8px}.sidebar nav a.active{box-shadow:inset 0 -2px 0 var(--app-accent)}.topbar{background:var(--app-chrome)}.top-actions{gap:9px}.appearance-switch{padding:2px;gap:2px;border-radius:9px}.appearance-switch button{padding:5px;min-height:27px;min-width:27px}.appearance-symbol{font-size:16px}.shell .hero{min-height:365px;padding:27px 25px;background-position:center,68% bottom}.shell .hero .hero-copy{max-width:87%;align-self:auto}.shell .hero h2{font-size:32px;line-height:1.18;letter-spacing:-.7px}.shell .hero p{font-size:11px;line-height:1.85;max-width:255px;margin-top:17px;margin-bottom:23px}.shell .hero .eyebrow{font-size:7px;letter-spacing:.8px;margin-bottom:20px}.shell .hero .text-button{font-size:10px}}
@media print{:root{color-scheme:light!important}body{background:#fff;color:#23382f}body::before{display:none}.player-dialog .print-sheet{background:#fff;color:#23382f}.player-dialog :is(.print-meta,.plan-preview p,.plan-stage span,.plan-total){color:#4f5c51}.player-dialog .plan-stage{border-color:#d5ddd4}}
