/* Shared finishing layer: menus belong to the same Academy as the play screens. */
:root { --menu-ink:#203346; --menu-line:#b89a61; }
:is(button,a,input,select,summary,[tabindex]):focus-visible {
  outline:3px solid #b97816; outline-offset:3px;
}
:is(.kingdom-rail,.kid-bottom-nav,.reader-topbar,.free-tools) :focus-visible {
  outline-color:#ffe1a0;
}
.screen h1[tabindex="-1"]:focus,.screen h2[tabindex="-1"]:focus { outline:none; }
:is(.kingdom-dialog,#gameScreen .builder-tools-dialog,.reader-tools-dialog) {
  color:var(--menu-ink); background:var(--academy-paper-image) center/cover,#f4ead5;
  border:2px solid var(--menu-line); border-radius:19px;
  box-shadow:0 0 0 5px #203346,0 15px 55px #0b192655;
  padding:28px; width:min(540px,calc(100vw - 32px));
  max-height:calc(100dvh - 36px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  overflow:auto; overscroll-behavior:contain; scrollbar-color:#ac8d54 #ead9b4;
}
:is(.kingdom-dialog,#gameScreen .builder-tools-dialog,.reader-tools-dialog)::backdrop {
  background:#0d1c2cd4; backdrop-filter:blur(5px);
}
.modal-shell .modal-card {background:var(--academy-paper-image) center/cover,#f4ead5!important;color:#203346;border:10px solid transparent;border-image:var(--academy-frame) 66 fill / 10px stretch;box-shadow:0 12px 45px #091a2a70;}
.modal-shell .modal-card h2 {font-family:var(--kid-font);font-weight:900;color:#203346;}
.modal-shell .modal-card p {color:#465761;}
/* Make controls focusable immediately; only opacity should fade on entry. */
.modal-shell.open {transition-property:opacity;}
:is(.kingdom-dialog,#gameScreen .builder-tools-dialog,.reader-tools-dialog) h2 {
  font:900 28px/1.15 var(--kid-font); color:var(--menu-ink); padding-right:34px;
  margin:8px 0 12px;
}
:is(.kingdom-dialog,#gameScreen .builder-tools-dialog,.reader-tools-dialog) p {
  color:#435666; font:500 16px/1.55 var(--kid-font);
}
:is(.dialog-close,#gameScreen .builder-tools-close) {
  display:grid;place-items:center;position:absolute;right:12px;top:12px;
  width:44px;height:44px;min-height:44px;padding:8px;border:1px solid var(--menu-line);
  background:#ead9b4;color:var(--menu-ink);border-radius:12px;box-shadow:none;font:24px/1 var(--kid-font);
}
#gameScreen .builder-project { background:#e8d8b5; border:1px solid #c4a975; border-radius:12px;padding:12px!important; }
#gameScreen .builder-project strong { margin-top:5px;font:900 20px/1.2 var(--kid-font); }
#gameScreen .builder-tools-grid { gap:10px; }
#gameScreen .builder-tools-grid button { background:#fff4d9;color:var(--menu-ink);border:1px solid #b69c6e;border-radius:11px;min-height:54px;font:800 15px/1.2 var(--kid-font); }
#gameScreen .builder-tools-grid button[aria-pressed=true] { background:#233b4b;color:#ffe0a0;border-color:#b49251; }
#gameScreen .builder-tools-grid button:disabled { opacity:.45; }
#gameScreen .builder-tools-dialog #backToPlayBtn { background:var(--academy-metal) center/cover,#d7aa52;color:#172e41;border:2px solid #b48b43;border-bottom-width:4px;border-radius:12px;min-height:52px;font-weight:900; }
.builder-settings-link { display:flex;gap:8px;align-items:center;justify-content:center;width:100%;min-height:44px;margin:10px 0 0;background:transparent;border:0;color:#4c5b61;font:800 14px var(--kid-font); }
.builder-settings-link .toy-icon {width:19px;height:19px;}
.kids-build-picker .build-grid-heading {min-height:48px;height:48px;}
.kids-build-picker .lesson-filters {display:flex;align-items:center;gap:10px;}
.kids-build-picker .lesson-filter {min-height:44px;}
.build-filter-tools {width:48px;height:48px;min-width:48px;min-height:48px;display:grid;place-items:center;background:transparent;color:#314c5e;border:0;border-radius:10px;padding:10px;}
.build-filter-tools .toy-icon {width:22px;height:22px;}
.lesson-filters-dialog .lesson-search-row {display:grid;grid-template-columns:1fr;gap:16px;margin:22px 0 16px;}
.lesson-filters-dialog .search-field {display:block;min-width:0;padding:0;background:transparent;border:0;box-shadow:none;}
.lesson-filters-dialog input[type=search],.lesson-filters-dialog select {width:100%;min-height:50px;border:1px solid #b9a073;border-radius:11px;padding:12px;background:#fff7e5;color:#203346;font:16px var(--kid-font);}
.lesson-filters-dialog .lesson-search-row>[data-action=free-build] {display:flex!important;justify-content:center;min-height:48px;}
.lesson-filters-dialog .build-family-progress {display:flex;flex-wrap:wrap;gap:10px 18px;font:700 14px/1.4 var(--kid-font);}
.lesson-filters-dialog .menu-voice-button {display:flex;width:100%;min-height:46px;padding:10px;align-items:center;gap:10px;background:#e7d5ae;color:#203346;border:1px solid #ad915e;border-radius:10px;}
.lesson-filters-dialog .menu-voice-button b {display:block!important;font-size:14px;}
.lesson-filters-dialog .menu-voice-button[aria-pressed=true] {background:#203b4d;color:#ffe2a6;}
.lesson-filters-dialog .build-finder-heading {display:flex;align-items:center;gap:14px;padding-right:32px;}
.lesson-filters-dialog .build-finder-heading img {width:68px;height:68px;object-fit:contain;flex:none;background:var(--commander-grove-wash);border-radius:18px;}
.lesson-filters-dialog .build-finder-heading h2 {margin:0;font-size:28px;line-height:1.1;}
.lesson-filters-dialog .build-finder-heading p {margin:7px 0 0;font-size:15px;line-height:1.4;color:var(--commander-muted);}
.lesson-filters-dialog .search-field>span,.lesson-filters-dialog .build-progress-field>span {display:block;margin-bottom:7px;font:800 18px/1.3 var(--kid-font);color:var(--commander-midnight);}
.lesson-filters-dialog input[type=search],.lesson-filters-dialog select {min-height:58px;border-color:var(--commander-stone);border-radius:14px;background:var(--commander-paper);color:var(--commander-midnight);font-size:18px;}
.lesson-filters-dialog .build-filter-result {display:flex;align-items:center;gap:9px;margin:0 0 16px;font:800 17px/1.4 var(--kid-font);color:var(--commander-river);}
.lesson-filters-dialog .build-filter-result .toy-icon {width:22px;height:22px;}
.lesson-filters-dialog .lesson-filter-actions {display:grid;grid-template-columns:1fr;gap:8px;}
.lesson-filters-dialog .lesson-filter-actions>button {min-height:52px;font-size:18px;}
.lesson-filters-dialog #applyLessonFiltersBtn {min-height:60px;display:flex;align-items:center;justify-content:center;gap:14px;font-size:22px;}
.lesson-filters-dialog .build-filter-options {margin-top:12px;border-top:1px solid var(--commander-stone);}
.lesson-filters-dialog .build-filter-options>summary {display:flex;align-items:center;min-height:48px;cursor:pointer;font:800 16px/1.4 var(--kid-font);color:var(--commander-river);list-style:none;}
.lesson-filters-dialog .build-filter-options>summary::-webkit-details-marker {display:none;}
.lesson-filters-dialog .build-filter-options>summary::before {content:'+';display:inline-grid;place-items:center;width:24px;margin-right:8px;font-size:22px;}
.lesson-filters-dialog .build-filter-options[open]>summary::before {content:'−';}
.lesson-filters-dialog .build-filter-options>.royal-button {display:flex;width:100%;justify-content:center;margin-top:12px;min-height:48px;}
.lesson-filters-dialog .build-filter-options>p {margin:12px 0 0;font-size:14px;color:var(--commander-muted);}
#lessonFiltersDialog #menuVoiceBtn {width:100%!important;min-width:0!important;height:auto!important;flex:1 0 100%;padding:10px!important;}
#lessonFiltersDialog #menuVoiceBtn b {width:auto;white-space:nowrap;letter-spacing:0;text-transform:none;line-height:1.3;}
.lesson-filter-actions {display:flex;gap:10px;margin-top:20px;}
.lesson-filter-actions button {flex:1;min-height:48px;font:800 16px var(--kid-font);}
#lessonEmpty {background:var(--academy-paper-image) center/cover,#f4ead5;border:1px solid #b89c65;padding:24px;text-align:center;border-radius:12px;}
#lessonEmpty h3 {font:900 24px var(--kid-font);margin:0 0 8px;}
.help-puppy { float:right;width:78px!important;height:94px!important;object-fit:contain;margin:0 0 10px 14px!important; }
.kingdom-dialog .text-link { min-height:44px;display:inline-flex;align-items:center;padding:8px; }
.kingdom-dialog .avatar-choice label { border-radius:12px; }
.kingdom-dialog .avatar-choice label:has(input:checked) { background:#e3d4ae;border:2px solid #96733b; }
.kingdom-dialog form>.royal-button { width:100%;min-height:52px; }
.kingdom-dialog input[type=text],.kingdom-dialog input:not([type]) { min-height:50px; }
.hub-heading .toy-icon { width:21px;height:21px; }
.family-profile[aria-pressed=true] { border-color:#96703c; }
.setting-row:has(input:focus-visible),.setting-row:has(select:focus-visible) { background:#e6d6b254; }
.setting-row input[role=switch] { flex-shrink:0; }
.keyboard-panel summary,.family-notes summary,.parent-progress-details summary { min-height:44px;padding-block:12px; }
.free-categories button[aria-pressed=true] { background:#203b4d;color:#ffe2a6;border-color:#a88646; }
.free-categories button {min-width:44px;}
.free-environment select {min-height:44px!important;}
.free-part.active { border-color:#9b782f;box-shadow:inset 0 0 0 2px #ead09a;background:#e6d2a7; }
.free-inspector .inspector-tip { display:flex;align-items:center;gap:12px; }
.free-inspector .inspector-tip img { width:64px;height:76px;object-fit:contain;flex:none; }
.free-inspector .inspector-tip p { font-size:14px;line-height:1.45;margin:0; }
.free-inspector .free-scene-list { margin-top:18px;padding-top:16px; }
.free-inspector .free-scene-list h3 { margin:0 0 10px;font:900 17px var(--kid-font); }
.free-inspector .scene-object { min-height:44px; }
.free-inspector .inspector-actions button { min-height:46px; }
.reader-top-actions { display:flex;align-items:center;gap:8px; }
.library-body:has(.picture-reader) {height:100dvh;overflow:hidden;padding:0;}
.library-body .picture-reader {height:100dvh;padding:0!important;overflow:hidden;}
.picture-reader .reader-book {height:calc(100dvh - var(--reader-header,95px));min-height:0;}
.picture-reader .reader-book:has(.story-complete:not([hidden])) {height:calc(100dvh - var(--reader-header,95px));min-height:0;overflow:auto;}
.picture-reader .story-complete {min-height:100%;background:var(--academy-paper-image) center/cover,#f4ead5;padding:24px 18px;}
.picture-reader .story-complete>img {max-height:24dvh;object-fit:contain;}
/* The portraits place faces near the top of each square panel. */
@media(orientation:portrait) {
  .picture-reader .page-picture .scene-art {top:0;transform:translateX(-50%);}
}
.bookmark-button[aria-pressed=true] {background:#d5ad60;color:#203346;border-color:#f2d28a;}
.reader-tools-button { display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:9px;background:#203a4c;color:#e9c57e;border:1px solid #af8b4a;border-radius:12px; }
.reader-tools-button .toy-icon { width:23px;height:23px; }
.reader-topbar { grid-template-columns:auto minmax(0,1fr) auto; }
.reader-tools-dialog { margin:auto; }
.reader-tools-dialog:not([open]) { display:none; }
.reader-tools-dialog .reading-tool-row { display:flex;flex-wrap:wrap;gap:10px;margin:16px 0; }
.reader-tools-dialog .reading-tool-row:has([data-font-up]) {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;}
.reader-tools-dialog .reading-tool-row button {min-width:0;}
.reader-tools-dialog .reading-tool-row .kid-button { flex:1 1 190px;min-height:48px;padding:10px 13px;font:800 15px/1.2 var(--kid-font);border-radius:11px; }
.reader-tools-dialog :is([data-font-up],[data-font-down]) { flex:1 1 70px!important;font-size:20px!important; }
.reader-tools-dialog [data-reader-voice][aria-pressed=true] { background:#233b4b;color:#ffdda0; }
.reader-tools-dialog ol { padding-left:22px;line-height:1.5; }
.reader-tools-dialog li { margin:8px 0; }
.reader-tools-dialog details { border-top:1px solid #bba371;border-bottom:1px solid #bba371;padding-block:12px; }
.reader-tools-dialog summary { min-height:44px;display:list-item;padding-block:10px;font-weight:800; }
.reader-tools-dialog h3 { font:900 20px var(--kid-font);margin:20px 0 8px; }
.watch-scenes button[aria-current=true] { outline:2px solid #e0bc72;outline-offset:2px;background:#ead6a9;color:#203346; }
.family-reading-notes {max-width:1100px;margin:0 auto;padding:28px 24px 40px;color:#203346;}
.hub-screen :is([data-export-creation],[data-remove-creation]) {min-height:44px;}
.family-notes-hero {margin-bottom:22px;}
.family-notes-hero h1 {font:900 clamp(30px,4vw,44px)/1.13 var(--kid-font);margin:12px 0;}
.family-notes-hero>p {font-size:18px;line-height:1.5;max-width:52ch;}
.family-notes-hero .academy-affiliation {color:#866024;font-size:11px;font-weight:900;letter-spacing:1px;}
.family-reading-intro,.family-story-guide {background:var(--academy-paper-image) center/cover,#f4ead5;border:1px solid #b69b64;border-radius:14px;}
.family-reading-intro {padding:22px;margin-bottom:22px;}
.family-reading-intro h2 {font:900 25px/1.2 var(--kid-font);margin:0 0 10px;}
.family-reading-intro p {margin:0;line-height:1.6;}
.family-story-guides {display:grid;gap:14px;}
.family-story-guide>summary {display:flex;align-items:center;gap:18px;list-style:none;padding:14px;cursor:pointer;}
.family-story-guide>summary::-webkit-details-marker {display:none;}
.family-story-guide>summary .scene-art {width:92px;height:76px;border-radius:9px;flex:none;}
.family-story-guide>summary>span:not(.toy-icon) {flex:1;min-width:0;}
.family-story-guide strong {display:block;font:900 23px/1.2 var(--kid-font);}
.family-story-guide small {display:block;margin-top:8px;font-size:14px;line-height:1.3;color:#59666b;}
.family-story-guide>summary>.toy-icon {width:22px;height:22px;rotate:90deg;flex:none;}
.family-story-guide[open]>summary>.toy-icon {rotate:270deg;}
.family-guide-body {border-top:1px solid #baa578;padding:20px 24px;}
.family-guide-body h2 {font:900 22px var(--kid-font);margin:20px 0 8px;}
.family-guide-body p,.family-guide-body li {font-size:16px;line-height:1.6;}
.family-guide-body .reading-tool-row,.production-resources .reading-tool-row {display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 0;}
.family-guide-body .kid-button {font-size:15px;min-height:48px;}
.production-resources {margin-top:30px;padding:15px;border-top:1px solid #bba77b;}
.production-resources>summary {padding:12px 0;min-height:44px;font-weight:800;}
.map-view .city-discovery {z-index:25;bottom:184px!important;max-height:calc(100% - 254px);border:1px solid #b69861;border-radius:14px;background:var(--academy-paper-image) center/cover,#f4ead5;}
.map-view .city-discovery [data-close-discovery] {min-width:44px;min-height:44px;}
.walk-stick {grid-template-rows:repeat(3,44px);}
.walk-stick button {min-width:44px;min-height:44px;}
.map-view .map-mode-switch button {min-height:44px;height:auto;}
.map-view .city-preview-actions :is(.city-build-button,.city-walk-button) {min-height:44px;}

/* The overview is genuinely complete on tablets. Phones retain the swipeable world. */
.living-atlas[data-overview=true] .atlas-scroll {
  inset:60px 0 var(--map-dock-space,174px);height:auto!important;min-height:0;display:grid;place-items:center;overflow:hidden;
  background:#334332;
}
.living-atlas[data-overview=true] .living-atlas-world { min-width:0;min-height:0;flex:none;display:block; }
.living-atlas[data-overview=true] .atlas-art {object-fit:cover;}
.living-atlas[data-overview=true] .atlas-scroll::after { display:none; }
.living-atlas[data-overview=true] .atlas-pan-hint { display:none!important; }
.living-atlas[data-overview=true] { background:var(--academy-leather) center/cover; }
@media(min-width:760px) and (min-height:541px) {
  .map-view .city-terrain[data-mode=city]:not(.living-walk) {background:#172c3c;}
  .map-view .city-terrain[data-mode=city]:not(.living-walk) :is(.city-canvas,.city-pins) {inset:60px 0 174px;height:auto!important;}
  .map-view .city-terrain[data-mode=atlas]:not(.living-atlas) .atlas-scroll {position:absolute;inset:60px 0 170px;height:auto!important;overflow:hidden;}
  .map-view .city-terrain[data-mode=atlas]:not(.living-atlas) .atlas-world {width:100%;height:100%;min-width:0;min-height:0;aspect-ratio:auto;display:block;}
  .map-view .city-terrain[data-mode=atlas]:not(.living-atlas) .atlas-art {object-fit:cover;}
  .map-view .city-terrain[data-mode=atlas]:not(.living-atlas) .atlas-pan-hint {display:none!important;}
  .map-view .city-terrain[data-mode=atlas]:not(.living-atlas) {background:var(--academy-leather) center/cover;}
  .map-view .atlas-compass {display:none;}
  .map-view .city-site-nav { top:10px;right:auto;left:45%;transform:translateX(-50%); }
  .map-view .map-mode-switch { top:9px;right:14px; }
  .living-map-key { top:17px;left:14px; }
  .living-atlas[data-overview=true] .living-site-name { opacity:1;font-size:11px;padding:3px 6px;bottom:-16px; }
  .living-atlas[data-overview=true] .living-site-marker { width:27px;height:27px;font-size:15px;bottom:3px; }
}
@media(min-width:760px) and (max-width:999px) and (min-height:541px) {
  .map-view .city-site-nav {left:40%;}
  .map-view .map-mode-switch button {font-size:12px;padding-inline:8px;}
  .map-view .map-mode-switch .toy-icon {width:19px;height:19px;}
}
@media(max-width:600px) {
  #gameScreen.living-lesson .game-header {grid-template-columns:44px minmax(0,1fr) 44px;}
  #gameScreen.living-lesson :is(.game-back,.build-help) {width:44px;min-width:44px;height:44px;min-height:44px;}
  .family-reading-notes {padding:22px 14px 30px;}
  .family-story-guide>summary {gap:12px;padding:10px;}
  .family-story-guide>summary .scene-art {width:65px;height:70px;}
  .family-story-guide strong {font-size:18px;}
  .family-story-guide small {font-size:12px;margin-top:6px;}
  .family-guide-body {padding:15px;}
  .family-guide-body .kid-button {flex:1 1 100%;}
  .map-view .city-discovery {bottom:158px!important;max-height:calc(100% - 212px);}
  :is(.kingdom-dialog,#gameScreen .builder-tools-dialog,.reader-tools-dialog) { padding:20px 17px; }
  :is(.kingdom-dialog,#gameScreen .builder-tools-dialog,.reader-tools-dialog) h2 { font-size:25px;margin-top:10px; }
  :is(.kingdom-dialog,#gameScreen .builder-tools-dialog,.reader-tools-dialog) p {font-size:15px;line-height:1.45;}
  .kingdom-dialog .avatar-choice { gap:8px; }
  .kingdom-dialog .avatar-choice label {padding:8px 4px;min-width:0;}
  .kingdom-dialog .avatar-choice img {max-width:100%;height:70px;object-fit:contain;}
  #gameScreen .builder-tools-grid { gap:8px; }
  #gameScreen .builder-tools-grid button {min-height:50px;font-size:14px;}
  #gameScreen .builder-tools-dialog .builder-save-note {margin-bottom:12px;}
  #gameScreen .builder-tools-dialog .builder-project {padding:9px!important;margin-bottom:14px;}
  .reader-topbar {grid-template-columns:44px minmax(0,1fr) auto;gap:7px;}
  .reader-topbar>a {font-size:0!important;width:44px;height:44px;justify-content:center;}
  .reader-topbar>a .toy-icon {width:23px;height:23px;}
  .reader-topbar h1 {font-size:15px!important;}
  .reader-top-actions {gap:6px;}
  .reader-tools-dialog .reading-tool-row {gap:8px;}
  .reader-tools-dialog .reading-tool-row .kid-button {flex-basis:130px;font-size:14px;}
  .free-inspector {padding:14px!important;}
  .free-inspector header h2 {font-size:23px;}
  .free-inspector header p {margin:5px 0 12px;font-size:13px;}
  .free-inspector .inspector-tip img {display:none;}
  .free-inspector .inspector-tip {margin-bottom:12px;}
  .free-inspector .inspector-tip p {font-size:14px;}
  #freeBuildScreen .free-header>[data-free=save] {font-size:13px;white-space:nowrap;padding:8px;width:104px!important;min-width:104px;max-width:104px;flex-shrink:0;}
  .keepsake-tabs button {font-size:12px;gap:6px;}
  .hub-heading:has(#hubHeadingActions .royal-button) {gap:12px;}
}
@media(max-height:540px) and (min-width:601px) {
  #hubScreen.map-view {grid-template-rows:minmax(0,1fr);}
  #gameScreen.living-lesson .game-header {grid-template-columns:44px minmax(0,1fr) 44px;}
  #gameScreen.living-lesson :is(.game-back,.build-help,#voiceReplayBtn) {min-width:44px;min-height:44px;height:44px;}
  .map-view .growing-city {grid-template-rows:53px minmax(0,1fr);}
  .map-view .city-districts button {min-height:44px;height:44px;}
  .map-view .city-preview {grid-template-columns:minmax(0,1fr);width:min(440px,calc(100% - 20px));}
  .map-view .city-preview-copy {grid-template-columns:minmax(0,1fr) auto;}
  .map-view .city-preview-copy .city-eyebrow {grid-row:1;margin:0;}
  .map-view .city-preview-copy h2 {grid-row:2;margin:0;}
  .map-view .city-preview-actions {grid-column:2;grid-row:1/3;}
  .map-view .city-preview-actions .city-build-button {min-width:105px;}
  .map-view .city-preview-actions .toy-icon {width:18px;height:18px;}
  .profile-button {min-width:44px;}
}
@media(prefers-reduced-motion:reduce) {html {scroll-behavior:auto;}}

/* Ages 4–6: picture choices, a clear next action, and room for small hands.
   Keep the Academy landscapes; simplify the controls placed over them. */
:root {--play-blue:var(--commander-river);--play-blue-dark:var(--commander-midnight);--play-cream:var(--commander-paper);--play-line:var(--commander-stone);--play-ink:var(--commander-midnight);}
.kingdom-topbar,.library-body .library-header,#gameScreen .game-header,.free-header,.reader-topbar {
  background:var(--commander-midnight)!important;border-bottom-color:var(--commander-brass);
}
.kingdom-rail,.kid-bottom-nav {background:#fffaf0;border-color:#c5d5d8;box-shadow:0 -3px 14px #193f5b15;}
#kingdomRail :is([data-view=parents],[data-view=settings],[data-view=achievements]) {display:none!important;}
.kingdom-rail a,.kid-bottom-nav a {color:var(--play-ink)!important;border:2px solid transparent;box-shadow:none;border-radius:16px;}
.kingdom-rail a.active,.kid-bottom-nav a[aria-current=page] {background:#dbefff;color:#124a78!important;border:2px solid #2e79b7;box-shadow:0 3px 0 #accbdd;}
.kingdom-rail a .toy-icon,.kid-bottom-nav a .toy-icon {color:#3479a9;}
:is(.kingdom-rail,.kid-bottom-nav) a .toy-icon,.library-body .kid-bottom-nav a .toy-icon,.home-discover h2 .toy-icon {background:currentColor!important;}
:is(.kingdom-rail,.kid-bottom-nav) a:has(.toy-build) .toy-icon {color:#ab6220;}
:is(.kingdom-rail,.kid-bottom-nav) a:has(.toy-stories) .toy-icon {color:#795aa7;}
:is(.kingdom-rail,.kid-bottom-nav) a:has(.toy-map) .toy-icon {color:#337454;}
:is(.kingdom-rail,.kid-bottom-nav) a:has(.toy-collection) .toy-icon {color:#28797b;}
:is(.kingdom-rail,.kid-bottom-nav) a:focus-visible {outline-color:#226eae;}
:is(.royal-button.gold,.kid-button.gold,.library-body .kid-button.gold,.build-play-button,.modal-shell .primary-button,.city-build-button) {
  background:var(--play-blue);color:#fff!important;border:2px solid var(--play-blue-dark);border-image:none;
  border-radius:18px;box-shadow:inset 0 2px 0 #ffffff35,0 4px 0 var(--play-blue-dark);text-shadow:none;
  font-family:var(--kid-font);font-weight:900;min-height:56px;
}
:is(.royal-button.gold,.kid-button.gold,.build-play-button,.primary-button,.city-build-button):not(:disabled):active {box-shadow:inset 0 2px 0 #ffffff25,0 1px 0 var(--play-blue-dark);}
.home-hero-copy,.home-discover .discovery-card,.kids-build-picker .build-invitation,.library-invitation {
  border:3px solid #fff6dc;border-image:none;background:var(--play-cream);border-radius:26px;box-shadow:0 5px 0 #b5aa87,0 8px 16px #193f5b22;
}
.home-hero-copy h1,.kids-build-picker .build-picker-heading h2 {font-family:var(--kid-font)!important;font-weight:900;letter-spacing:-.7px;}
.home-hero-copy h1 em {color:#246c96;font-style:normal;}
.home-discover .discovery-card {overflow:hidden;}
.home-discover .discovery-stories {background:#f2ecff;border-color:#e7daff;box-shadow:0 5px 0 #b7a4d2,0 8px 16px #193f5b22;}
.home-discover .discovery-explore {background:#e7f4df;border-color:#d2e9bc;box-shadow:0 5px 0 #a0b788,0 8px 16px #193f5b22;}
.home-discover .discovery-card h2 {display:flex;align-items:center;justify-content:center;gap:8px;}
.home-discover .discovery-card h2 .toy-icon {width:24px;height:24px;}
.home-discover .discovery-stories h2 {color:#614587;}.home-discover .discovery-explore h2 {color:#315e40;}
.home-hero-copy .academy-ornament,.build-picker-heading .academy-ornament {display:none;}
.kids-build-picker .build-picker-kicker {letter-spacing:.7px;font-size:12px;font-weight:900;color:#4b707f;}
.kids-build-picker .build-invitation {border-color:#c8dfeb;box-shadow:0 4px 0 #aac5cf;}
.kids-build-picker .chapter-card {border:2px solid #d5ceb8;border-radius:18px;background:#fffaf0;box-shadow:0 3px 0 #cabd9d;color:#25485e;}
.kids-build-picker .chapter-card.active {border-color:#2c75af;background:#dfedfa;color:#174b75;box-shadow:0 3px 0 #96bdd5;}
.kids-build-picker .chapter-card img {width:50px;height:50px;object-fit:contain;}
#projectScreen .chapter-shelf {height:auto;min-height:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding-block:8px;}
#projectScreen .chapter-card {border:2px solid #d5ceb8;border-radius:18px!important;background:#fffaf0!important;box-shadow:0 3px 0 #cabd9d!important;color:#25485e!important;}
#projectScreen .chapter-card.active {border-color:#2c75af!important;background:#dfedfa!important;color:#174b75!important;box-shadow:0 3px 0 #96bdd5!important;}
.kids-build-picker .project-card {border:3px solid #e3d8ba;border-image:none;border-radius:22px;background:#fffaf0;box-shadow:0 5px 0 #cebea0;padding:5px;overflow:hidden;}
.kids-build-picker .project-card.recommended {border-color:#75a8ca;box-shadow:0 5px 0 #95b6ca;}
.kids-build-picker .project-card.completed {border-color:#8eae7c;box-shadow:0 5px 0 #8eae7c;}
.kids-build-picker .lesson-card-picture {border-radius:16px;background:#f3ecd9;}
.kids-build-picker .project-card[data-chapter=civic] .lesson-card-picture {background:#e5f1ed;}
.kids-build-picker .project-card[data-chapter=masterworks] .lesson-card-picture {background:#e5eef7;}
.kids-build-picker .project-card[data-chapter=storyworks] .lesson-card-picture {background:#f0e8f5;}
.kids-build-picker .card-title {font-weight:900;line-height:1.16;}
.kids-build-picker .card-action-row {justify-content:flex-start;padding:4px 7px 8px;}
.kids-build-picker .card-status {display:inline-flex;align-items:center;gap:8px;min-height:34px;border-radius:12px;padding:6px 12px;font-size:14px;background:#e3f0fa;color:#1c5b8a;font-weight:900;}
.kids-build-picker .card-status::after {content:'→';font-size:20px;line-height:1;}
.kids-build-picker .lesson-listen {right:9px;bottom:12px;width:44px;height:44px;background:#fff9ec;border:2px solid #c6d7da;border-radius:50%;color:#286182;}
.kids-build-picker .card-lesson-number {background:#fffaf0;border:0;color:#49636f;font-weight:900;}
.build-filter-tools {background:#fffaf0;border:2px solid #c7d8dc;border-radius:14px;}
.modal-shell .modal-card,#observeModal .observe-card,body:has(#gameScreen.living-lesson.active) #observeModal .modal-card {background:var(--play-cream)!important;border:3px solid #e9d7ad!important;border-image:none!important;border-radius:28px;}
.modal-shell .modal-close {background:#e2eef3;color:#214d68;border:2px solid #bad3dd;border-radius:50%;}
.observe-card #observeStory {font-size:20px;line-height:1.45;max-width:32ch;margin:10px auto 20px;}
.observe-grid>div {background:#e2eff8;border:2px solid #c6deed;border-radius:18px;color:#225f8c;}
.observe-grid>div:nth-child(2) {background:#fff0c6;color:#986024;border-color:#eddaa1;}
.observe-grid>div:nth-child(3) {background:#e3f2d9;color:#397247;border-color:#bfd7ae;}
.observe-actions {gap:12px;}.observe-actions button {min-height:58px;font-size:19px;border-radius:18px;}
.modal-shell .secondary-button {background:#e6eff6;color:#2e5b79;border:2px solid #bdd1df;border-radius:18px;box-shadow:0 2px 0 #abc4d3;}
.kid-help-steps {display:grid;gap:10px;margin:18px 0;}
.kid-help-steps>div {display:grid;grid-template-columns:50px 1fr;column-gap:12px;padding:14px;background:#e4f0f7;border:1px solid #c5dce9;border-radius:18px;}
.kid-help-steps .toy-icon {grid-row:1/3;width:38px;height:38px;align-self:center;color:#286c9a;}
.kid-help-steps strong {font-size:20px;}.kid-help-steps>div p {font-size:16px;margin:3px 0 0;}
.kid-help-steps~.royal-button {width:100%;font-size:18px;}
.help-grownups {margin-top:14px;}.help-grownups summary {font-size:14px;color:#496779;}
/* Show the action first. Curiosity is a deliberate, optional pause. */
#gameScreen.living-lesson .mission-panel,#gameScreen.living-lesson .mission-panel.collapsed {
  border:2px solid #c6dbe1!important;border-image:none!important;border-radius:20px;background:#fffaf0f5!important;padding:8px 12px!important;
  display:flex!important;flex-direction:column;gap:2px;box-shadow:0 3px 0 #b9c9c5,0 5px 12px #193f5b22!important;
}
#gameScreen.living-lesson .puppy-bubble {order:0;display:flex;width:100%;justify-content:space-between;gap:8px;}
#gameScreen:not(.living-lesson) .mission-panel {background:#fffaf0!important;border:2px solid #c6dbe1!important;border-image:none!important;border-radius:20px;}
#gameScreen:not(.living-lesson) .mission-action {display:flex;flex-direction:row;align-items:center;gap:8px;}
#gameScreen.living-lesson .mission-action {position:static;width:auto;height:auto;overflow:visible;clip-path:none;display:flex;align-items:center;gap:8px;min-width:0;}
#gameScreen .mission-action strong {font:900 18px/1.2 var(--kid-font);color:#183950;}
#gameScreen .mission-action>.toy-icon {width:24px;height:24px;color:#32779d;}
#gameScreen.living-lesson #voiceReplayBtn {width:46px;min-width:46px;min-height:46px;height:46px;padding:9px;border-radius:50%;background:#e1eff7;color:#235e82;border:2px solid #aacbdc;box-shadow:none;}
#gameScreen.living-lesson .listen-label {display:none;}
#gameScreen .lesson-wonder {order:1;width:100%;text-align:left;border-top:1px solid #dce3d7;}
#gameScreen .lesson-wonder summary {display:flex;align-items:center;gap:8px;min-height:44px;padding:5px 0;color:#577442;font:800 14px var(--kid-font);list-style:none;}
#gameScreen .lesson-wonder summary::-webkit-details-marker {display:none;}
#gameScreen .lesson-wonder summary .toy-icon {width:21px;height:21px;}
#gameScreen .lesson-wonder summary::after {content:'+';margin-left:auto;font-size:22px;}
#gameScreen .lesson-wonder[open] summary::after {content:'−';}
#gameScreen .lesson-wonder strong {font:900 17px/1.3 var(--kid-font);}
#gameScreen .lesson-wonder p {font:500 16px/1.4 var(--kid-font);margin:7px 0 4px;}
#gameScreen.living-lesson .living-build-steps {background:#fffaf0;}
.living-build-steps>span {border-radius:14px;background:#f3efe1;color:#656d66;}
.living-build-steps .current {background:#e1f0fb;border-color:#6aa0c9;color:#194e74;box-shadow:none;}
.living-build-steps .current b {background:#2c74a6;color:#fff;border:0;}
.living-build-steps .done {background:#e8f3df;color:#477444;border-color:#9fbc86;}
#gameScreen .piece-tray,#gameScreen.living-lesson .piece-tray,#gameScreen.living-lesson .piece-tray.collapsed {background:#fffaf0!important;border:3px solid #aac6d2!important;border-image:none!important;border-radius:24px!important;box-shadow:0 5px 0 #527588,0 9px 18px #193f5b44!important;color:#183950;}
#gameScreen .tray-title,#gameScreen .build-play-idea {color:#183950!important;}
#gameScreen #buildStageLabel {color:#435f64!important;}
#gameScreen .piece-card {border:2px solid #bdcfd0!important;background:#edf3df!important;border-image:none;border-radius:17px!important;box-shadow:0 3px 0 #a9bdba;}
#gameScreen .piece-card.available {border-color:#68a2c4!important;}
#gameScreen .piece-card.selected {border:3px solid #256f9f!important;background:#dceefa!important;box-shadow:0 3px 0 #256f9f;}
#gameScreen .piece-card.locked {background:#e2e2d8!important;opacity:.65;box-shadow:none;}
#gameScreen .piece-card-copy strong {color:#183950!important;}
#gameScreen .piece-quantity {background:#fffaf0;color:#245679;border:1px solid #bdd3d7;}
#gameScreen .piece-prompt {background:#e4f0f7;color:#245d7c;border-radius:16px;font-weight:800;}
#gameScreen :is(.undo-button,.hint-button,.replay-adventure) {background:#e8f1ef;border:2px solid #a7c4ce;color:#2b5b73;border-radius:16px;box-shadow:0 2px 0 #a3bac3;}
#gameScreen .place-assist,#gameScreen.living-lesson .place-assist,#gameScreen .test-button,#gameScreen.living-lesson .test-button {background:#ffd36d!important;border:2px solid #a87b2d!important;color:#3e381e!important;border-radius:17px;box-shadow:0 4px 0 #a87b2d!important;font-weight:900;}
.map-view .city-preview {border:3px solid #e5d4a9;border-image:none;background:#fffaf0;border-radius:24px;box-shadow:0 4px 0 #b2a27e,0 7px 20px #193f5b44;}
.map-view .city-preview-actions .city-build-button {background:var(--play-blue);border:2px solid var(--play-blue-dark);box-shadow:0 3px 0 var(--play-blue-dark);color:#fff;}
.city-walk-button {display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#e6f1de;border:2px solid #93b68d;color:#315f3c;border-radius:16px;}
.map-view .city-preview-copy>p:not(.city-eyebrow) {color:#49645a;}
.map-view .map-mode-switch {background:#fffaf0;border:2px solid #c4d5d9;border-radius:17px;}
.map-view .map-mode-switch button {color:#335d76;border-radius:12px;}
.map-view .map-mode-switch button[aria-pressed=true] {background:#226eae;border-color:#226eae;color:#fff;}
.map-view .city-districts button {border-radius:14px;background:#fffaf0;border:2px solid #d9cdae;color:#34566a;}
.map-view .city-districts button[aria-selected=true] {background:#e1f0fa;border-color:#619dc5;color:#1d5377;}
.map-view .city-districts button small {color:#526f7e!important;}
.walk-site-prompt {background:#fffaf0;border:3px solid #d3be90;border-image:none;border-radius:24px;box-shadow:0 4px 0 #aa9a78;}
.map-view .city-site-nav {background:#fffaf0;border:2px solid #c5d8df;border-radius:15px;}
.map-view .city-site-nav button {background:#e0eef6;color:#255b7b;border-radius:11px;}
.library-body .library-story-card {background:#fffaf0;border:3px solid #e2d5b8;border-image:none;border-radius:22px;box-shadow:0 5px 0 #c9bca0;padding:10px;}
.library-body .story-card-copy {background:#fffaf0;border-radius:16px;}
.library-body #libraryMain .story-card-copy h3,.library-body #libraryMain .story-card-copy h3 a {font-family:var(--kid-font);font-weight:900;color:#183950!important;}
.library-body #libraryMain .story-card-copy .book-reading-state {color:#4e685a;font-size:12px;}
.library-body #libraryMain #libraryContinue {min-height:56px;background:var(--play-blue)!important;border:2px solid var(--play-blue-dark)!important;border-image:none!important;color:white!important;border-radius:18px;box-shadow:0 3px 0 var(--play-blue-dark)!important;font-size:19px;padding:9px 18px;}
.library-filters button {border-radius:16px!important;border:2px solid #d4c7a9;background:#fffaf0;color:#4d6380;}
.library-filters button[aria-pressed=true] {border-color:#8f78ae;background:#ede6f7;color:#674591;}
.library-body .little-theater {background:#e9eff8;border:2px solid #b8cee2;border-radius:24px;}
.library-body .listen-button {border:2px solid #226388;border-radius:18px;background:#e0f0f7;color:#1d577a;box-shadow:0 3px 0 #a3c3d2;}
.library-body .reader-wayfinding {background:#fffaf0;}
.library-body .story-reader-controls .kid-button {border-radius:16px;}
.library-body .bookmark-button[aria-pressed=true] {background:#f6d6e5;color:#9c4673;border-color:#d58fb1;}
.keepsake-tabs button {border:2px solid #b9cdd7;border-radius:18px;color:#315b76;background:#fffaf0;}
.keepsake-tabs button[aria-pressed=true] {background:#e0eef8;border-color:#4f90be;color:#1c557b;}
.creation-grownups {margin-left:auto;}.creation-grownups summary {font-size:13px;color:#536b75;min-height:44px;}
.creation-grownups[open] {flex-basis:100%;}.creation-grownups[open] button {margin-right:14px;}
.creation-grownups .text-link {display:inline-flex!important;align-items:center;justify-content:center;min-width:80px;min-height:44px;width:auto!important;height:auto!important;font-size:14px!important;padding:8px 12px!important;overflow:visible;}
.creation-grownups .text-link::before,.creation-grownups .text-link::after {content:none!important;}
.collection-import-tools {margin:20px 0;color:#526876;font-size:14px;}
.reward-card.earned {background:#f0f7e8;border-color:#a4be86;}
.reward-card h2 {color:#183950!important;}
.free-categories button,.free-tools button,.free-inspector-toggle {border-radius:14px;}
.free-tools {background:#fffaf0;border-color:#b2cbd6;box-shadow:0 4px 0 #819da9;}
.free-tools button {color:#235a79;}
.free-part {background:#fffaf0;border:2px solid #c8d8d5;border-radius:18px;}
.free-part.active {background:#e0eff8;border-color:#4a8eba;box-shadow:0 3px 0 #6399b9;}
@media(min-width:601px) and (max-width:900px) {
  .map-view .city-districts button {font-size:15px;gap:6px;padding:6px;}
  .map-view .city-districts button>span:last-child {white-space:nowrap;}
  .map-view .city-districts button .toy-icon {width:27px;height:27px;}
}
@media(max-width:600px) {
  .kingdom-rail,.kid-bottom-nav {padding-inline:5px;gap:3px;}
  .kingdom-rail a,.kid-bottom-nav a {border-radius:14px;}
  .kingdom-rail a>span:not(.toy-icon),.kid-bottom-nav a>span:not(.toy-icon) {font-size:12px;font-weight:800;}
  .home-hero-copy {padding:22px 18px;border-radius:26px;}
  .home-hero-copy h1 {font-size:34px!important;line-height:1.06;}
  .home-hero-copy>p {font-size:16px;margin:12px 0 16px;}
  .home-discover .discovery-card {padding:5px 10px 12px;border-radius:22px;}
  .home-discover .discovery-card h2 {font-size:19px;}
  .home-discover .discovery-card h2 .toy-icon {width:20px;height:20px;}
  .kids-build-picker .build-picker-heading h2 {font-size:29px!important;}
  .kids-build-picker .build-picker-kicker {font-size:10px;margin-bottom:4px;}
  .kids-build-picker .build-invitation {padding:10px;border-radius:22px;}
  .kids-build-picker .build-play-button {min-height:52px!important;font-size:18px!important;}
  .kids-build-picker .chapter-card {padding:6px 2px;min-height:77px;border-radius:15px;gap:4px;}
  #projectScreen .chapter-card {height:auto!important;min-height:77px!important;}
  .kids-build-picker .chapter-card img {width:33px;height:33px;}
  .kids-build-picker .chapter-card strong {font-size:12px;}
  .kids-build-picker .card-title {font-size:19px;min-height:49px;padding:8px 2px 4px;}
  .kids-build-picker .card-action-row {padding:5px 1px 8px;min-height:48px;}
  .kids-build-picker .card-status {font-size:13px;padding:4px 8px;gap:4px;}
  .kids-build-picker .lesson-listen {right:4px;bottom:10px;}
  .kids-build-picker .project-card {border-radius:20px;}
  .kids-build-picker .card-lesson-number {left:4px;top:5px;width:26px;height:26px;font-size:12px;}
  .observe-card #observeStory {font-size:19px;}
  .observe-card .observe-grid {margin-block:16px;}.observe-card .observe-grid>div {min-height:78px;}
  #gameScreen.living-lesson .mission-panel,#gameScreen.living-lesson .mission-panel.collapsed {padding:4px 10px!important;}
  #gameScreen .mission-action strong {font-size:17px;}
  #gameScreen .mission-action>.toy-icon {display:none;}
  #gameScreen .lesson-wonder summary {min-height:44px;padding:3px 0;}
  #gameScreen.living-lesson .piece-tray,#gameScreen.living-lesson .piece-tray.collapsed {width:calc(100% - 20px)!important;bottom:calc(12px + env(safe-area-inset-bottom))!important;}
  #gameScreen.living-lesson .piece-card-copy strong {font-size:13px!important;}
  #gameScreen.living-lesson .play-actions {height:50px;min-height:50px;}
  #gameScreen.living-lesson :is(.place-assist,.test-button,.undo-button,.hint-button,.replay-adventure) {min-height:50px;height:50px;}
  .map-view .map-mode-switch button {min-height:44px;height:44px;font-size:13px;padding:6px 10px;}
  .map-view .city-districts button {font-weight:800;}
  .map-view .city-preview {padding:9px;border-radius:22px;grid-template-columns:74px minmax(0,1fr);}
  .map-view .city-preview-model {width:74px;height:94px;}
  .map-view .city-preview-copy h2 {font-size:19px;}
  .map-view .city-preview-actions :is(.city-build-button,.city-walk-button) {min-height:48px;font-size:14px;padding:6px;}
  .map-view .city-preview-copy .city-eyebrow {font-size:10px;}
  .library-body .library-story-card {padding:8px 8px 12px;}
  .library-body .story-card-copy h3,.library-body .story-card-copy h3 a {font-size:19px;line-height:1.12;}
  .library-body .story-card-copy .kid-button {min-height:48px;border-radius:14px;font-size:18px;}
  .library-filters button {min-height:59px;}.library-filters .toy-icon {width:25px;height:25px;}
  .library-body .library-invitation {border-radius:20px;}
  .library-body .library-invitation h2 {font-size:25px;}
  .library-body .library-invitation>p {font-size:14px;}
  .library-body #libraryContinue {min-height:48px;font-size:18px;}
}
@media(max-height:540px) and (min-width:601px) {
  .home-hero-copy {padding:16px;}.home-hero-copy h1 {font-size:30px!important;}
  #gameScreen.living-lesson .mission-panel {width:215px!important;}
  #gameScreen .mission-action strong {font-size:16px;}
  #gameScreen .mission-action>.toy-icon {display:none;}
  #gameScreen .lesson-wonder summary {min-height:44px;}
  .map-view .city-preview {padding:7px;}
}

/* One finish moment. The optional journal scrolls; the way forward stays put. */
#victoryModal {
  align-items:center;
  padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
  background:#0e263bbd;
  backdrop-filter:blur(5px);
}
#victoryModal .completion-card {
  display:flex;flex-direction:column;position:relative;
  width:min(500px,100%);max-width:none;
  max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  padding:0;overflow:hidden;text-align:center;
  box-shadow:0 8px 0 #16375033,0 24px 70px #0d233755;
}
#victoryModal .modal-close {z-index:2;top:10px;right:10px;width:44px;height:44px;min-height:44px;box-shadow:0 2px 0 #b4c9cd;}
.completion-scroll {flex:0 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a9c3cc transparent;scroll-padding:14px;}
.completion-picture {position:relative;margin:12px 18px 0;}
#completedBuildPreview {display:block;width:100%;height:clamp(144px,25dvh,225px);object-fit:contain;mix-blend-mode:multiply;mask-image:radial-gradient(ellipse at center,#000 48%,transparent 74%);}
.completion-badge {position:absolute;bottom:6px;right:18px;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#ffe194;border:3px solid #fff5d2;box-shadow:0 3px 0 #dcb354;transform:rotate(10deg);}
#victoryModal .completion-badge .toy-icon {width:32px;height:32px;color:#9b671d;}
.completion-heading {padding:0 24px 10px;}
#victoryModal .completion-status {display:flex;align-items:center;justify-content:center;gap:6px;margin:2px 0 7px;font:800 13px/1.3 var(--kid-font)!important;color:#34734b!important;}
.completion-status>span {display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#dcedcd;}
#victoryModal #victoryTitle {margin:0 0 6px;font:900 clamp(28px,5vw,36px)/1.08 var(--kid-font)!important;letter-spacing:-.6px;}
#victoryModal #completedBuildName {margin:0;font:900 19px/1.25 var(--kid-font)!important;color:#254e68!important;}
#victoryModal #victoryMessage {max-width:34ch;margin:9px auto 0;font:600 16px/1.4 var(--kid-font)!important;}
.completion-learning {margin:4px 18px 12px;text-align:left;border:1px solid #d1dfe3;background:#eff5f6;border-radius:16px;}
.completion-learning>summary {display:flex;align-items:center;gap:8px;list-style:none;min-height:48px;padding:10px 14px;font:800 15px/1.3 var(--kid-font);color:#375e73;cursor:pointer;}
.completion-learning>summary::-webkit-details-marker {display:none;}
#victoryModal .completion-learning>summary .toy-icon {width:21px;height:21px;flex-shrink:0;}
.completion-toggle {margin-left:auto;font:700 23px/1 var(--kid-font);transition:transform .15s;}
.completion-learning[open] .completion-toggle {transform:rotate(45deg);}
.completion-notes {padding:0 15px 14px;}
.completion-notes h3 {font:900 18px/1.35 var(--kid-font);margin:2px 0 8px;color:#234961;}
#victoryModal .completion-notes p {font:500 15px/1.45 var(--kid-font)!important;margin:5px 0 0;}
#victoryModal #completionDiscovery {margin-bottom:12px;}
#completionPoints {list-style:none;counter-reset:build-note;padding:0;margin:0;display:grid;gap:0;}
#completionPoints li {counter-increment:build-note;position:relative;padding:12px 0 12px 34px;border-top:1px solid #d6e2e4;}
#completionPoints li::before {content:counter(build-note);position:absolute;left:0;top:12px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#ffe7a7;color:#715022;font:900 13px/1 var(--kid-font);}
#completionPoints strong {font:900 16px/1.3 var(--kid-font);color:#284e64;}
.completion-story {display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;margin-top:5px;padding:8px;color:#265f87;background:#e0edf5;border:1px solid #bed4e0;border-radius:12px;text-decoration:none;font:800 15px/1.3 var(--kid-font);}
.completion-actions {flex:none;display:grid;gap:10px;padding:14px 18px 18px;border-top:1px solid #e6dcc4;background:var(--play-cream);box-shadow:0 -5px 15px #51613b05;}
#victoryModal .completion-actions .primary-button {min-height:56px!important;padding:12px 10px;background:#226eae;border:2px solid #175185;border-image:none;color:#fff;box-shadow:0 4px 0 #164971;font-size:18px!important;border-radius:16px;gap:9px;}
.completion-map-icon {width:25px;height:25px;flex-shrink:0;}
#victoryModal .completion-actions .primary-button>.toy-icon:last-child {margin-left:auto;width:18px;height:18px;}
.completion-next {display:flex;align-items:center;gap:12px;width:100%;min-height:66px;padding:6px 12px 6px 5px;border:1px solid #c7dbe6;border-radius:15px;background:#eaf2f6;color:#214f70;text-align:left;cursor:pointer;}
.completion-next>img {flex:none;width:63px;height:52px;object-fit:contain;mix-blend-mode:multiply;}
.completion-next>span:not(.toy-icon) {display:grid;gap:2px;min-width:0;flex:1;}
.completion-next small {font:800 12px/1.3 var(--kid-font);color:#456b81;}
#victoryModal .completion-next strong {font:900 16px/1.2 var(--kid-font);}
#victoryModal .completion-next>.toy-icon {width:19px;height:19px;flex-shrink:0;}
.completion-next:hover {background:#dcebf3;border-color:#8fb6ca;}
#victoryModal [hidden] {display:none!important;}
#victoryModal .completion-scroll:has(.completion-learning[open]) .completion-picture {display:none;}
#victoryModal .completion-scroll:has(.completion-learning[open]) .completion-heading {padding:22px 55px 8px;}
#victoryModal .completion-scroll:has(.completion-learning[open]) :is(.completion-status,#victoryMessage) {display:none;}
#victoryModal .completion-scroll:has(.completion-learning[open]) #victoryTitle {font-size:25px!important;}
@media(max-width:400px) {
  .completion-heading {padding-inline:18px;}
  .completion-picture {margin-top:8px;}
  .completion-actions {padding:12px 14px 15px;}
  .completion-learning {margin-inline:14px;}
  #victoryModal #completedBuildName {font-size:18px!important;}
  #victoryModal .completion-actions .primary-button {font-size:17px!important;}
}
@media(max-height:540px) and (min-width:601px) {
  #victoryModal .completion-card {width:min(750px,100%);display:grid;grid-template-columns:minmax(0,1fr) 290px;}
  .completion-scroll {grid-column:1;}
  #completedBuildPreview {height:110px;}
  .completion-picture {margin-top:5px;}
  .completion-badge {width:40px;height:40px;bottom:0;}
  #victoryModal .completion-badge .toy-icon {width:25px;height:25px;}
  #victoryModal #victoryTitle {font-size:27px!important;}
  #victoryModal #victoryMessage {font-size:15px!important;}
  .completion-heading {padding-bottom:6px;}
  .completion-actions {grid-column:2;grid-row:1;align-content:center;border-top:0;border-left:1px solid #e6dcc4;padding:58px 16px 24px;}
  #victoryModal .completion-actions .primary-button {font-size:16px!important;gap:6px;}
}
@media(prefers-reduced-motion:reduce) {.completion-toggle {transition:none;}}
.ck-reduced-motion .completion-toggle {transition:none;}

/* An unknown route still gives a young builder one clear way home. */
body:has(.lost-path) {background:var(--commander-parchment);color:var(--commander-midnight);overflow:auto;}
.lost-path {min-height:100dvh;padding:clamp(18px,4vw,52px);display:flex;flex-direction:column;gap:clamp(24px,7vh,70px);font-family:var(--kid-font);background:radial-gradient(ellipse at 10% 100%,#dde6d2,transparent 60%),var(--commander-parchment);}
.lost-path-brand {display:flex;align-items:center;gap:14px;color:var(--commander-midnight);text-decoration:none;width:max-content;max-width:100%;}
.lost-path-brand>img {object-fit:contain;flex:none;}
.lost-path-brand>span {font:600 21px/1.05 Cinzel,Georgia,serif;}
.lost-path-brand small {display:block;margin-top:7px;font:700 12px/1.3 var(--kid-font);color:var(--commander-muted);}
.lost-path-card {display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:24px;width:min(100%,940px);margin:auto;overflow:hidden;border:1px solid var(--commander-stone);border-radius:30px;background:var(--commander-paper);padding:clamp(18px,4vw,40px);box-shadow:0 12px 32px #1e2a3a12;}
.lost-path-picture {display:block;width:100%;height:auto;object-fit:contain;mix-blend-mode:multiply;}
.lost-path-kicker {font:900 12px/1.3 var(--kid-font);letter-spacing:.9px;color:var(--commander-copper-ink);}
.lost-path-card h1 {font:900 clamp(28px,4vw,43px)/1.08 var(--kid-font);margin:10px 0 18px;}
.lost-path-card p:not(.lost-path-kicker) {font-size:20px;line-height:1.5;margin:0 0 24px;color:var(--commander-muted);}
.lost-path-home {display:flex;align-items:center;justify-content:center;gap:10px;min-height:64px;padding:10px 14px;background:var(--commander-river);border:1px solid var(--commander-midnight);border-bottom-width:4px;border-radius:18px;color:var(--commander-paper);font:900 19px/1.2 var(--kid-font);text-decoration:none;}
.lost-path-home>img {width:38px;height:38px;object-fit:contain;}
.lost-path-home>span {margin-left:auto;}
@media(max-width:600px) {.lost-path {gap:20px;padding:18px;}.lost-path-card {grid-template-columns:1fr;gap:10px;padding:18px;}.lost-path-picture {max-height:160px;}.lost-path-card h1 {margin-bottom:12px;}.lost-path-card p:not(.lost-path-kicker) {font-size:18px;}.lost-path-home {font-size:17px;}}
