/* School Word themes share layout and components; only visual tokens change. */
html[data-theme="light"]{
  --ink:#102654;--muted:#647594;--green:#235ee8;--mint:#eaf1ff;--paper:#f4f7fd;--line:#d8e3f4;--white:#fff;
  --accent:#1769ff;--sw-gold:#315fd4;--sw-cyan:#009ed8;--sc-inset:#eef4ff;--sc-surface:#fff;--sc-ink:#102654;--sc-muted:#647594;--sc-line:#d8e3f4;
  --sw-panel:linear-gradient(145deg,#fffffff7,#f5f8ffed);--glass:linear-gradient(145deg,#fffffff7,#f5f8ffed);
  --sw-metal:inset 0 1px 0 #fff,0 14px 36px #163f8c14;color-scheme:light;
}
html[data-theme="light"] body{background:radial-gradient(circle at 8% 5%,#d9e8ff 0,transparent 34%),radial-gradient(circle at 92% 25%,#e2dcff 0,transparent 31%),linear-gradient(145deg,#f9fbff,#eef4ff 58%,#f8faff);color:var(--ink);background-attachment:fixed}
html[data-theme="light"] .app-shell{color:var(--ink)}
html[data-theme="light"] .app-shell :is(.panel,.app-header,.mobile-dock),html[data-theme="light"] .app-shell .sidebar.glass-sidebar{background:var(--sw-panel);border-color:#cfdef2;box-shadow:var(--sw-metal)}
html[data-theme="light"] .app-shell .sidebar.glass-sidebar{background:linear-gradient(165deg,#fffffff5,#edf4ffed);border-color:#d2dff1}
html[data-theme="light"] .app-shell :is(h1,h2,h3,h4,strong,b){color:#102654}
html[data-theme="light"] .app-shell :is(p,small,.section-sub,.muted){color:#647594}
html[data-theme="light"] .app-shell :is(.text-link,.eyebrow,.launch-kicker){color:#245fe4}
html[data-theme="light"] .app-shell .nav button{color:#61718c}
html[data-theme="light"] .app-shell .nav button:is(.active,:hover){background:#e8f0ff;color:#124cc9;box-shadow:inset 3px 0 #1769ff}
html[data-theme="light"] .app-shell .sidebar-player{background:#f7faff;border-color:#d8e4f5;color:#142b57}
html[data-theme="light"] .app-shell .player-avatar,html[data-theme="light"] .app-shell .header-avatar{background:linear-gradient(145deg,#e3edff,#d8e5fb);border-color:#c7d8f1;color:#183e88}
html[data-theme="light"] .app-shell :is(input,textarea,select){background:#f7faff;color:#102654;border-color:#cbd9ed;color-scheme:light}
html[data-theme="light"] .app-shell :is(input,textarea,select):focus{border-color:#1769ff;outline-color:#1769ff3d}
html[data-theme="light"] .app-shell .btn.primary{background:linear-gradient(110deg,#075fff,#6245ec);color:#fff;box-shadow:0 9px 24px #285ed42b}
html[data-theme="light"] .app-shell .btn.light{background:#eaf1ff;color:#184fc9}
html[data-theme="light"] .app-shell :is(.option,.school-options button,.vocab-choice,.token-button){background:#fff;border-color:#cfdbed;color:#172d55;box-shadow:0 6px 16px #234e8a0a}
html[data-theme="light"] .app-shell :is(.option,.school-options button,.vocab-choice,.token-button):hover:not(:disabled){background:#f2f6ff;border-color:#7da4ed}
html[data-theme="light"] .app-shell :is(.option,.school-options button,.vocab-choice).is-correct,html[data-theme="light"] .app-shell .option.correct{background:#e7f8ef;border-color:#61b98b;color:#176643}
html[data-theme="light"] .app-shell :is(.option,.school-options button,.vocab-choice).is-wrong,html[data-theme="light"] .app-shell .option.wrong{background:#fff0f2;border-color:#e49aa4;color:#a43c4c}
html[data-theme="light"] .app-shell .lesson-v3 .question-panel,html[data-theme="light"] .app-shell .question-panel,html[data-theme="light"] .app-shell .vocab-question,html[data-theme="light"] .app-shell .verified-question{background:linear-gradient(145deg,#fff,#f5f8ff)!important;color:#102654!important;border-color:#cbdaf0!important;box-shadow:0 16px 40px #163c7a14!important}
html[data-theme="light"] .app-shell :is(.lesson-v3 .lesson-heading-row h2,.question-panel h2,.vocab-question-card>h2){color:#13336d}
html[data-theme="light"] .app-shell :is(.lesson-v3 .lesson-prompt,.question-panel>.prompt,.verified-question .lesson-prompt){background:#eef4ff;color:#142d5c;border-color:#d1def2}
html[data-theme="light"] .app-shell :is(.lesson-context,.lesson-translation,.lesson-study p,.lesson-study blockquote){color:#607493}
html[data-theme="light"] .app-shell .verified-question :is(.built-sentence,.sentence-tokens){background:#f4f7fd;border-color:#d2deef;color:#152d55}
html[data-theme="light"] .app-shell .mini-scoreboard.mini-tracker,html[data-theme="light"] .app-shell :is(.vocab-board,.vocab-mini-tracker){background:linear-gradient(145deg,#fff,#eef4ff);border-color:#cddcf0;box-shadow:var(--sw-metal)}
html[data-theme="light"] .app-shell .tracker-heading>span,html[data-theme="light"] .app-shell .tracker-goal strong{color:#244c9b}
html[data-theme="light"] .app-shell .tracker-segments i{background:#dbe5f4}html[data-theme="light"] .app-shell .tracker-segments i.filled{background:linear-gradient(135deg,#1769ff,#6650e9)}
html[data-theme="light"] .app-shell .vocab-options .vocab-option{background:linear-gradient(145deg,#fff,#f3f7ff);border-color:#cddbef;color:#132b54;box-shadow:0 8px 18px #173a7210}
html[data-theme="light"] .app-shell .vocab-feedback-panel{background:#eef4ff;color:#23416e;border-color:#d5e1f1}
html[data-theme="light"] .app-shell .result-card,html[data-theme="light"] .app-shell .vocab-result{background:radial-gradient(circle at top,#dce9ff,transparent 58%),linear-gradient(145deg,#fff,#f2f6ff);border-color:#c7d7ee;box-shadow:0 20px 55px #193b7419}
html[data-theme="light"] .app-shell .result-card h1,html[data-theme="light"] .app-shell .vocab-result h1,html[data-theme="light"] .app-shell .result-stats b{color:#143879}
html[data-theme="light"] .app-shell :is(.school-focus-board,.school-record,.school-clock-card,.school-periods,.school-workspace,.school-study-card,.school-grammar-card,.school-feedback,.school-teaching-guide,.school-rule,.school-writing-assignment,.school-reading-passage,.school-workbook-item){background:var(--sw-panel);border-color:#cfddf0;color:#142b54;box-shadow:var(--sw-metal)}
html[data-theme="light"] .app-shell .school-room-header{background:#f7faff;color:#102654;border-color:#d5e1f1}
html[data-theme="light"] .app-shell .school-room-header:before{background:#f7faff}
html[data-theme="light"] .app-shell .school-language-picker select,html[data-theme="light"] .app-shell .school-room-header .school-language-picker select{background:#fff;color:#102654;border-color:#cddbef;color-scheme:light}
html[data-theme="light"] .app-shell .school-app :is(textarea,input[type="text"],input[type="time"]){background:#fff;color:#142b54;border-color:#cbd9ed;color-scheme:light}
html[data-theme="light"] .app-shell .school-period-nav,html[data-theme="light"] .app-shell .school-period-footer{background:#f4f7fd;border-color:#d5e1f1}
html[data-theme="light"] .app-shell .school-period-nav button.active{background:#e9f0ff;border-color:#82a6e8;color:#174cb7}
html[data-theme="light"] .app-shell .school-dashboard{border-color:#c9d8ed;background:linear-gradient(90deg,#f7fafff2 4%,#f7faffd9 58%,#f7faffc9),url('assets/atlas/academy-courtyard.webp') 25% 50%/cover}
html[data-theme="light"] .app-shell .school-dashboard .school-focus-board{background:#fffffff0;border-color:#cbd9ed}
html[data-theme="light"] .app-shell .school-dashboard .school-welcome h1{color:#102654}
html[data-theme="light"] .app-shell :is(.library-hero,.book-about-heading,.book-section,.library-controls,.library-utility,.library-word,.book-choice,.word-card,.guide-rule,.guide-award,.profile-card,.competition-empty){background:var(--sw-panel);border-color:#cfddf0;color:#142b54;box-shadow:var(--sw-metal)}
html[data-theme="light"] .app-shell :is(.book-number,.book-calendar-card,.book-greeting){background:#f1f5fc;border-color:#d4e0ef;color:#15305e}
html[data-theme="light"] .app-shell .account-popover{background:#fff;border-color:#d5e1f1;color:#142b54;box-shadow:0 18px 45px #173b721f}
html[data-theme="light"] .app-shell .account-popover button{color:#203b67}
html[data-theme="light"] .app-shell .toast{background:#102654;color:#fff}

.appearance-settings{margin:0 0 24px;padding:0 0 24px;border-bottom:1px solid var(--line)}
.appearance-settings .panel-head{margin-bottom:14px}.appearance-settings .panel-head h3{margin:0}.appearance-settings .panel-head p{margin:5px 0 0;font-size:11px;color:var(--muted)}
.theme-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.theme-choice>button{display:flex;align-items:center;gap:12px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:14px;background:transparent;text-align:left;color:var(--ink);transition:border-color .18s,background .18s,transform .18s}
.theme-choice>button:hover{transform:translateY(-1px)}.theme-choice>button.active{border-color:#4c79e8;background:#4d73df12;box-shadow:inset 0 0 0 1px #4c79e84a}
.theme-choice>button>span:last-child{display:grid;gap:3px}.theme-choice strong{font-size:12px}.theme-choice small{font-size:9px;color:var(--muted)}
.theme-preview{width:50px;height:38px;flex:0 0 auto;display:grid;grid-template-columns:14px 1fr;gap:4px;padding:5px;border-radius:9px;border:1px solid #cdd8e8}
.theme-preview i,.theme-preview b{display:block;border-radius:4px}.theme-preview-light{background:#f7faff}.theme-preview-light i{background:#dce8fb}.theme-preview-light b{background:#fff;box-shadow:0 2px 5px #24447718}.theme-preview-dark{background:#0d1726;border-color:#40516b}.theme-preview-dark i{background:#1d2b40}.theme-preview-dark b{background:#26364d}
@media(max-width:600px){.theme-choice{grid-template-columns:1fr}.theme-choice>button{padding:10px}.theme-preview{width:46px;height:34px}}

/* Surface-aware contrast: image and dark game surfaces retain light foregrounds in Light mode. */
html[data-theme] body,html[data-theme] .app-shell,html[data-theme] .panel,html[data-theme] .app-header,html[data-theme] .sidebar,html[data-theme] button,html[data-theme] input,html[data-theme] textarea,html[data-theme] select{transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}
html[data-theme="light"] .app-shell .launch-card{color:#f8fbff}
html[data-theme="light"] .app-shell .launch-card :is(h1,h2,h3,h4,p,strong,b){color:#f8fbff}
html[data-theme="light"] .app-shell .launch-card .launch-record>b{color:#ffe2a0;text-shadow:0 2px 18px #000b}
html[data-theme="light"] .app-shell .launch-card .launch-record>span{color:#fff!important;text-shadow:0 2px 14px #000c}
html[data-theme="light"] .app-shell .launch-card :is(.launch-kicker,.eyebrow){color:#ffd987;text-shadow:0 1px 9px #000}
html[data-theme="light"] .app-shell .launch-card :is(.launch-tags>span,.launch-record>small){color:#f8e7bd;background:#0a172bc7;border-color:#e9cd8a88}
html[data-theme="light"] .app-shell .launch-card .stage-chooser{background:#091527e8;border-color:#dbc38470;color:#f5f8ff}
html[data-theme="light"] .app-shell .launch-card .stage-choice-buttons button{color:#cbd9eb;border-color:#a9bdd044}
html[data-theme="light"] .app-shell .launch-card .stage-choice-buttons button>b{color:inherit}
html[data-theme="light"] .app-shell .launch-card .stage-choice-buttons button.selected{color:#ffe1a0;background:#4a402bba;border-color:#ebcf86}
html[data-theme="light"] .app-shell .launch-card .stage-locked-list,html[data-theme="light"] .app-shell .launch-card .stage-locked-list small{color:#c3cfdd}
html[data-theme="light"] .app-shell .daily-card{color:#fff}
html[data-theme="light"] .app-shell .daily-card :is(h1,h2,h3,h4,strong,b,p){color:#fff}
html[data-theme="light"] .app-shell .daily-card .eyebrow{color:#ffd98c;text-shadow:0 1px 8px #000}
html[data-theme="light"] .app-shell .daily-card .btn{color:#102654}
html[data-theme="light"] .app-shell .learning-track-switch{background:#0c172b;border-color:#90a9ce55}
html[data-theme="light"] .app-shell .learning-track-switch button{color:#c7d4e5}
html[data-theme="light"] .app-shell .learning-track-switch button b{color:#eaf1fb}
html[data-theme="light"] .app-shell .learning-track-switch button small{color:#b3c2d5}
html[data-theme="light"] .app-shell .learning-track-switch button.selected{color:#ffe0a0;background:linear-gradient(145deg,#5d5130,#28394e);border-color:#dfc27f}
html[data-theme="light"] .app-shell .learning-track-switch button.selected b{color:#ffe2a3}
html[data-theme="light"] .app-shell :is(.xp-balance,.streak-balance){background:#edf3fd;border-color:#cedbed;color:#16346c}
html[data-theme="light"] .app-shell :is(.xp-balance,.streak-balance)>b{color:#16346c}
html[data-theme="light"] .app-shell :is(.xp-balance,.streak-balance)>span{color:#5d7090}
html[data-theme="light"] .app-shell :is(.library-hero,.book-intro,.xp-vault,.vocab-course-card,.vocab-intro){color:#fff}
html[data-theme="light"] .app-shell :is(.library-hero,.book-intro,.xp-vault,.vocab-course-card,.vocab-intro) :is(h1,h2,h3,h4,strong,b){color:#fff}
html[data-theme="light"] .app-shell :is(.library-hero,.book-intro,.xp-vault,.vocab-course-card,.vocab-intro) :is(p,small){color:#d9e4ef}

/* Strict light canvas: light mode never inherits cinematic dark cards or image panels. */
html[data-theme="light"] .app-shell :is(
  .launch-card,.daily-card,.learning-track-switch,.profile-card,.competition-empty,
  .xp-vault,.collection-group,.collectible,.library-hero,.book-intro,.language-folder,
  .book-section,.book-choice,.library-language-bar,.school-period-launch,.school-unit-tile,
  .school-periods,.school-focus-board,.vocab-course-card,.vocab-intro,.vocab-level,
  .home-path,.sticker-progress,.level-sticker-card,.vocab-map,.vocab-level-card
){
  background:linear-gradient(145deg,#fff 0%,#f4f8ff 100%)!important;
  background-image:none!important;
  border-color:#cbd9ed!important;
  color:#102654!important;
  box-shadow:inset 0 1px 0 #fff,0 14px 34px #173d7812!important;
}
html[data-theme="light"] .app-shell :is(
  .launch-card,.daily-card,.learning-track-switch,.profile-card,.competition-empty,
  .xp-vault,.collection-group,.collectible,.library-hero,.book-intro,.language-folder,
  .book-section,.book-choice,.library-language-bar,.school-period-launch,.school-unit-tile,
  .school-periods,.school-focus-board,.vocab-course-card,.vocab-intro,.vocab-level,
  .home-path,.sticker-progress,.level-sticker-card,.vocab-map,.vocab-level-card
) :is(h1,h2,h3,h4,h5,strong,b){color:#102654!important;text-shadow:none!important}
html[data-theme="light"] .app-shell :is(
  .launch-card,.daily-card,.learning-track-switch,.profile-card,.competition-empty,
  .xp-vault,.collection-group,.collectible,.library-hero,.book-intro,.language-folder,
  .book-section,.book-choice,.library-language-bar,.school-period-launch,.school-unit-tile,
  .school-periods,.school-focus-board,.vocab-course-card,.vocab-intro,.vocab-level,
  .home-path,.sticker-progress,.level-sticker-card,.vocab-map,.vocab-level-card
) :is(p,small,em,span,dd){color:#627493;text-shadow:none}

/* Remove decorative night/cinematic layers only; learning illustrations remain visible. */
html[data-theme="light"] .app-shell :is(.launch-card,.competition-empty,.xp-vault,.library-hero,.book-intro,.language-folder,.vocab-course-card,.vocab-intro)::before,
html[data-theme="light"] .app-shell :is(.launch-card,.competition-empty,.xp-vault,.library-hero,.book-intro,.language-folder,.vocab-course-card,.vocab-intro)::after{display:none!important;background:none!important}
html[data-theme="light"] .app-shell :is(.book-night-scene,.night-scene,.cinematic-scene,.scene-film,.scene-video){display:none!important}

/* Home and journey. */
html[data-theme="light"] .app-shell .launch-card{background:radial-gradient(circle at 88% 12%,#dceaff 0,transparent 32%),linear-gradient(145deg,#fff,#eef5ff)!important}
html[data-theme="light"] .app-shell .launch-card .launch-record>b{color:#174fbf!important}
html[data-theme="light"] .app-shell .launch-card .launch-record>span{color:#102654!important}
html[data-theme="light"] .app-shell .launch-card :is(.launch-kicker,.eyebrow){color:#1769ff!important;text-shadow:none!important}
html[data-theme="light"] .app-shell .launch-card :is(.launch-tags>span,.launch-record>small){color:#23416e!important;background:#edf3ff!important;border-color:#c7d7ef!important}
html[data-theme="light"] .app-shell .launch-card :is(.stage-chooser,.home-stage-picker){background:#fff!important;border-color:#c7d7ef!important;color:#102654!important;box-shadow:0 8px 20px #173d780d}
html[data-theme="light"] .app-shell .launch-card .stage-choice-buttons button{background:#f3f7fd!important;color:#486080!important;border-color:#d3dfef!important}
html[data-theme="light"] .app-shell .launch-card .stage-choice-buttons button.selected{background:#e6efff!important;color:#1451c5!important;border-color:#7ea5eb!important}
html[data-theme="light"] .app-shell .launch-card .stage-locked-list,html[data-theme="light"] .app-shell .launch-card .stage-locked-list small{color:#6a7c98!important}
html[data-theme="light"] .app-shell .daily-card .eyebrow{color:#1769ff!important;text-shadow:none!important}
html[data-theme="light"] .app-shell .daily-symbol{background:#e8f0ff!important;color:#1653c9!important;box-shadow:none!important}
html[data-theme="light"] .app-shell .learning-track-switch>button{background:#fff!important;border-color:#d1ddee!important;color:#526884!important}
html[data-theme="light"] .app-shell .learning-track-switch>button.selected{background:#e9f1ff!important;border-color:#7ea5eb!important;color:#124fc6!important;box-shadow:inset 3px 0 #1769ff!important}
html[data-theme="light"] .app-shell .learning-track-switch button :is(b,small){color:inherit!important}

/* Profile, rewards and rankings. */
html[data-theme="light"] .app-shell .profile-card .profile-avatar{background:#e4edfc!important;color:#174aaf!important;border-color:#c3d4ed!important}
html[data-theme="light"] .app-shell .profile-numbers>div{border-color:#d6e1f0!important}
html[data-theme="light"] .app-shell .competition-empty{min-height:360px!important}
html[data-theme="light"] .app-shell .competition-empty :is(.league-badge,.rating-card){background:#edf3fd!important;border-color:#cedbed!important;color:#15366f!important}
html[data-theme="light"] .app-shell .xp-vault .vault-detail,html[data-theme="light"] .app-shell .xp-vault small{color:#627493!important}
html[data-theme="light"] .app-shell .collectible:after{background:#dce7f6!important;border-color:#c7d6eb!important;box-shadow:none!important}
html[data-theme="light"] .app-shell .segmented{background:#eef4ff!important;border-color:#d0ddef!important}
html[data-theme="light"] .app-shell .segmented button{color:#536987!important}
html[data-theme="light"] .app-shell .segmented button.active{background:#fff!important;color:#154fbd!important;box-shadow:inset 0 0 0 1px #7fa6eb!important}

/* Books and language shelf. */
html[data-theme="light"] .app-shell :is(.library-hero,.book-intro){background:radial-gradient(circle at 90% 8%,#dfeaff,transparent 34%),linear-gradient(145deg,#fff,#f1f6ff)!important}
html[data-theme="light"] .app-shell :is(.library-total,.book-meta){background:#edf3fd!important;border-color:#cbd9ed!important;color:#25436f!important;backdrop-filter:none!important}
html[data-theme="light"] .app-shell :is(.library-total,.book-meta) :is(strong,small){color:#25436f!important}
html[data-theme="light"] .app-shell .language-folder.night-book{min-height:190px;background:linear-gradient(145deg,#fff,#f2f6fd)!important;border-bottom:4px solid var(--book-accent,#6b8fd8)!important}
html[data-theme="light"] .app-shell .language-folder :is(.folder-copy>strong,.folder-copy>small,.folder-copy>em,.folder-arrow){color:#17376f!important}
html[data-theme="light"] .app-shell :is(.book-tabs button,.book-jump a,.book-number-filters button){background:#f3f7fd!important;border-color:#d1ddeb!important;color:#4f6381!important}
html[data-theme="light"] .app-shell :is(.book-tabs button.active,.book-number-filters button.active){background:#e5eeff!important;border-color:#7ea5eb!important;color:#124fc6!important}

/* Classroom, classes and vocabulary paths. */
html[data-theme="light"] .app-shell :is(.school-period-launch,.school-unit-tile,.vocab-level){min-height:unset;background:linear-gradient(145deg,#fff,#f2f7ff)!important}
html[data-theme="light"] .app-shell :is(.school-period-launch.current,.school-unit-tile.current,.vocab-level.is-current){background:linear-gradient(145deg,#eef4ff,#fff)!important;border-color:#6f99e5!important;box-shadow:inset 3px 0 #1769ff,0 10px 24px #173d7812!important}
html[data-theme="light"] .app-shell :is(.school-period-launch,.school-unit-tile,.vocab-level) :is(h3,b,strong){color:#16376f!important}
html[data-theme="light"] .app-shell :is(.school-period-launch,.school-unit-tile,.vocab-level) :is(small,p){color:#667996!important}
html[data-theme="light"] .app-shell .school-unit-tile progress{background:#dce6f4!important;accent-color:#1769ff}
html[data-theme="light"] .app-shell .school-unit-tile progress::-webkit-progress-value{background:#1769ff!important}
html[data-theme="light"] .app-shell .vocab-course-card{background:radial-gradient(circle at 90% 10%,#dceaff,transparent 35%),linear-gradient(145deg,#fff,#eef5ff)!important}
html[data-theme="light"] .app-shell .vocab-course-card :is(.vocab-lifetime>span,.vocab-stage-label>select,.vocab-level-jump input){background:#fff!important;border-color:#cbd9ed!important;color:#14366e!important}

/* Sticker/reward grids and any residual cinematic card. */
html[data-theme="light"] .app-shell :is(.sticker-grid>*,.level-sticker-grid>*,.sticker-piece,.mini-node,.mini-card,.path-card){background:#f1f6fd!important;border-color:#cddbed!important;color:#365377!important;box-shadow:none!important}
html[data-theme="light"] .app-shell :is(.sticker-grid>*,.level-sticker-grid>*,.sticker-piece).won{background:#e5f4ed!important;border-color:#83bda0!important;color:#176643!important}

/* Final readability guard for known light surfaces. */
html[data-theme="light"] .app-shell :is(.panel,.profile-card,.competition-empty,.collection-group,.library-hero,.language-folder,.school-unit-tile,.school-period-launch) :is(a,.text-link){color:#1258d6}
html[data-theme="light"] .app-shell :is(.panel,.profile-card,.competition-empty,.collection-group,.library-hero,.language-folder,.school-unit-tile,.school-period-launch) :is(label,dt,.eyebrow){color:#466184}

/* Carousel, sticker and classroom surfaces that are rendered after the main dashboard. */
html[data-theme="light"] .app-shell :is(.super-world,.path-selected,.path-card,.sticker-summary,.sticker-mosaic,.sticker-tile,.sticker-earned,.sticker-collection-card,.sticker-dialog,.school-dashboard){
  background:linear-gradient(145deg,#fff,#f2f7ff)!important;
  background-image:none!important;
  border-color:#cbd9ed!important;
  color:#102654!important;
  box-shadow:inset 0 1px #fff,0 10px 26px #173d7810!important;
}
html[data-theme="light"] .app-shell :is(.path-slide.is-active,.path-slide.is-cleared,.path-slide.is-locked) .path-card{background:linear-gradient(145deg,#fff,#edf4ff)!important}
html[data-theme="light"] .app-shell .path-slide.is-active .path-card{border-color:#6f99e5!important;box-shadow:inset 0 0 0 3px #1769ff1f,0 10px 25px #173d7815!important}
html[data-theme="light"] .app-shell :is(.mini-card-label>b,.path-selected-title,.path-selected-number,.path-scroll-hint,.path-position){color:#173a75!important}
html[data-theme="light"] .app-shell :is(.sticker-summary,.sticker-earned,.sticker-collection-card,.sticker-dialog) :is(b,h2,h3){color:#173a75!important}
html[data-theme="light"] .app-shell :is(.sticker-summary,.sticker-earned,.sticker-collection-card,.sticker-dialog) :is(small,p){color:#657895!important}
html[data-theme="light"] .app-shell .sticker-tile{background:#edf3fc!important;color:#506987!important}
html[data-theme="light"] .app-shell .sticker-tile.earned{background:#e6f5ed!important;border-color:#82bda0!important}
html[data-theme="light"] .app-shell .sticker-dialog::backdrop{background:#23416e52;backdrop-filter:blur(5px)}
html[data-theme="light"] .app-shell .school-dashboard{background:linear-gradient(145deg,#fff,#f2f7ff)!important}
html[data-theme="light"] .app-shell :is(.school-period-launch:hover,.school-unit-tile:hover,.school-class-row:hover){background:#eef4ff!important;border-color:#8aa9dd!important}

/* Light artwork must also replace the foreground cinematic layer. */
html[data-theme="light"] .ambient-scene{display:none!important}
html[data-theme="light"] .app-shell video{display:none!important}
html[data-theme="light"] .app-shell .scene-has-film::after{display:none!important}
html[data-theme="light"] .app-shell .vocab-intro{background:linear-gradient(90deg,#fffffff5,#ffffffb8),url('assets/world/vocab-waterfront-light.webp') center/cover!important}
html[data-theme="light"] .app-shell .primary,html[data-theme="light"] .app-shell .primary *{color:#fff!important}
html[data-theme="light"] .app-shell :is(.launch-card,.vocab-launch-banner,.library-hero,.xp-vault,.competition-empty)::before,html[data-theme="light"] .app-shell :is(.launch-card,.vocab-launch-banner,.library-hero,.xp-vault,.competition-empty)::after{display:none!important}
html[data-theme="light"] .app-shell :is(.vocab-launch-banner){background:linear-gradient(90deg,#fffffff5,#ffffffb8),url('assets/world/vocab-waterfront-light.webp') center/cover!important;color:#193c40!important}
html[data-theme="light"] .app-shell :is(.topbar,.app-header,.profile-card,.school-unit-tile,.school-class-row,.school-period-launch,.home-path,.path-selected,.vocab-launch-banner) :is(h1,h2,h3,h4,strong,b,span,label){color:#193c40!important}
html[data-theme="light"] .app-shell :is(.btn-primary,.primary,button.primary,.play-button,.play-btn){background:linear-gradient(135deg,#146b60,#278477)!important;color:#fff!important;border-color:#126357!important;box-shadow:0 5px 14px #146b6020!important}
html[data-theme="light"] .app-shell :is(.btn-primary,.primary,.play-button,.play-btn) *{color:#fff!important}
html[data-theme="light"] .app-shell :is(.home-path,.school-unit-tile,.school-class-row,.path-selected,.school-period-launch){background:linear-gradient(135deg,#fff,#eef7f3)!important;border-color:#c9dfd6!important}
html[data-theme="light"] .app-shell :is(.path-card,.path-slide.is-active .path-card){background:linear-gradient(145deg,#fff,#e2f2e9)!important;border-color:#78aa96!important;color:#214f43!important}
html[data-theme="light"] .app-shell :is(.btn-secondary,.path-arrow){background:#edf5f1!important;color:#245c4d!important;border-color:#bfd8cb!important}
/* Professional light-mode visual set. Dark mode keeps the original cinematic art. */
html[data-theme="light"] .app-shell .launch-card{
  background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(248,251,255,.94) 43%,rgba(248,251,255,.74) 63%,rgba(248,251,255,.18) 100%),url('assets/world/city-light.webp') center/cover no-repeat!important;
  border-color:#c5d8f0!important;
}
html[data-theme="light"] .app-shell :is(.vocab-course-card,.vocab-intro){
  background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(246,250,255,.94) 46%,rgba(246,250,255,.70) 66%,rgba(246,250,255,.16) 100%),url('assets/world/vocab-waterfront-light.webp') center/cover no-repeat!important;
  border-color:#c5d8f0!important;
}
html[data-theme="light"] .app-shell :is(.library-hero,.book-intro){
  background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(250,252,255,.94) 46%,rgba(250,252,255,.62) 68%,rgba(250,252,255,.10) 100%),url('assets/world/library-light.webp') center/cover no-repeat!important;
  border-color:#c5d8f0!important;
}
html[data-theme="light"] .app-shell :is(.xp-vault,.competition-empty){
  background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(247,251,255,.94) 46%,rgba(247,251,255,.66) 67%,rgba(247,251,255,.12) 100%),url('assets/world/gallery-light.webp') center/cover no-repeat!important;
  border-color:#c5d8f0!important;
}
html[data-theme="light"] .app-shell .school-dashboard{
  background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(247,251,255,.93) 48%,rgba(247,251,255,.64) 68%,rgba(247,251,255,.12) 100%),url('assets/world/classroom-light.webp') center/cover no-repeat!important;
  border-color:#c5d8f0!important;
}
html[data-theme="light"] .app-shell :is(.launch-card,.vocab-course-card,.vocab-intro,.library-hero,.book-intro,.xp-vault,.competition-empty,.school-dashboard) :is(h1,h2,h3,h4,h5,strong,b,p,small,span,em){color:#102654!important;text-shadow:none!important}
html[data-theme="light"] .app-shell :is(.launch-card,.vocab-course-card,.vocab-intro,.library-hero,.book-intro,.xp-vault,.competition-empty,.school-dashboard) :is(.eyebrow,.launch-kicker){color:#245fe4!important}
html[data-theme="light"] .app-shell :is(.library-total,.book-meta,.personal-rating,.rating-card){background:rgba(255,255,255,.90)!important;border-color:#cbd9ed!important;color:#17386f!important;box-shadow:0 10px 28px #173d7812!important;backdrop-filter:blur(12px)!important}
html[data-theme="light"] .app-shell :is(.library-total,.book-meta,.personal-rating,.rating-card) *{color:#17386f!important}
@media(max-width:760px){
  html[data-theme="light"] .app-shell .launch-card,html[data-theme="light"] .app-shell :is(.vocab-course-card,.vocab-intro),html[data-theme="light"] .app-shell :is(.library-hero,.book-intro),html[data-theme="light"] .app-shell :is(.xp-vault,.competition-empty),html[data-theme="light"] .app-shell .school-dashboard{background-position:72% center!important;background-size:cover!important}
  html[data-theme="light"] .app-shell .launch-card{background-image:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(248,251,255,.94) 68%,rgba(248,251,255,.58) 100%),url('assets/world/city-light.webp')!important}
  html[data-theme="light"] .app-shell :is(.vocab-course-card,.vocab-intro){background-image:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(246,250,255,.94) 68%,rgba(246,250,255,.58) 100%),url('assets/world/vocab-waterfront-light.webp')!important}
  html[data-theme="light"] .app-shell :is(.library-hero,.book-intro){background-image:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(250,252,255,.94) 68%,rgba(250,252,255,.58) 100%),url('assets/world/library-light.webp')!important}
  html[data-theme="light"] .app-shell :is(.xp-vault,.competition-empty){background-image:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(247,251,255,.94) 68%,rgba(247,251,255,.58) 100%),url('assets/world/gallery-light.webp')!important}
  html[data-theme="light"] .app-shell .school-dashboard{background-image:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(247,251,255,.94) 68%,rgba(247,251,255,.58) 100%),url('assets/world/classroom-light.webp')!important}
}
html[data-theme="light"] body .app-shell .launch-card.journey-card{background:linear-gradient(90deg,#fffffff2 0%,#ffffffd9 42%,#ffffff20 100%),url('assets/world/city-light.webp') center/cover no-repeat!important;border:1px solid #d4e4dc!important;box-shadow:0 12px 35px #244c3910!important}
html[data-theme="light"] body .app-shell .launch-card.journey-card :is(.ambient-scene,video){display:none!important}
html[data-theme="light"] body .app-shell :is(.vocab-launch-banner,.vocab-course-card,.vocab-intro){background:linear-gradient(90deg,#fffffff5,#ffffffde 48%,#ffffff40),url('assets/world/vocab-waterfront-light.webp') center/cover no-repeat!important}
html[data-theme="light"] body .app-shell :is(.library-hero,.book-intro){background:linear-gradient(90deg,#fffffff5,#ffffffd9 48%,#ffffff30),url('assets/world/library-light.webp') center/cover no-repeat!important}
html[data-theme="light"] body .app-shell :is(.xp-vault,.competition-empty){background:linear-gradient(90deg,#fffffff2,#ffffffdf 55%,#ffffff55),url('assets/world/gallery-light.webp') center/cover no-repeat!important}
html[data-theme="light"] body .app-shell .school-dashboard{background:linear-gradient(90deg,#fffffff5,#ffffffdd 55%,#ffffff44),url('assets/world/classroom-light.webp') center/cover no-repeat!important}
html[data-theme="light"] body .app-shell :is(.night-book,.language-folder){background-image:none!important;background-color:#f8fcfa!important}
html[data-theme="light"] body .app-shell :is(.night-book,.language-folder)::before,html[data-theme="light"] body .app-shell :is(.night-book,.language-folder)::after{background-image:none!important}
html[data-theme="light"] body .app-shell :is(.vocab-launch-banner,.vocab-course-card,.vocab-intro,.library-hero,.book-intro,.xp-vault,.competition-empty,.school-dashboard) :is(h1,h2,h3,h4,p,span,b,strong,small){color:#193c40!important;text-shadow:none!important}
html[data-theme="light"] body .app-shell .primary,html[data-theme="light"] body .app-shell .primary *{color:#fff!important}
html[data-theme="light"] body .app-shell .launch-card.journey-card::before,html[data-theme="light"] body .app-shell .launch-card.journey-card::after{display:none!important}
html[data-theme="light"] body .app-shell .launch-card.journey-card :is(h1,b,span,small){color:#193c40!important}
html[data-theme="light"] body .app-shell .launch-card.journey-card .primary,html[data-theme="light"] body .app-shell .launch-card.journey-card .primary *{color:#fff!important;background-color:#146b60!important}
@media (prefers-reduced-motion:reduce){html[data-theme] body,html[data-theme] .app-shell,html[data-theme] .panel,html[data-theme] .app-header,html[data-theme] .sidebar,html[data-theme] button,html[data-theme] input,html[data-theme] textarea,html[data-theme] select{transition:none!important}}
