/* Commander Kingdom workshop: the scene is the lesson, the tray is its tool. */
#gameScreen.builder-workshop {
  --workshop-navy:#1e2a3a; --workshop-paper:#f4ead5; --workshop-brass:#c8a96a;
  --workshop-river:#3f5c6b; --workshop-grove:#556b3e;
  --workshop-header:calc(78px + env(safe-area-inset-top));
  --living-header:var(--workshop-header); --living-steps:50px;
  font-family:var(--kid-font);color:var(--workshop-navy);
}
#gameScreen.builder-workshop .game-header {
  inset:0 0 auto!important;height:var(--workshop-header)!important;min-height:0!important;
  padding:calc(10px + env(safe-area-inset-top)) 20px 10px!important;
  display:grid!important;grid-template-columns:72px 218px minmax(0,1fr) 64px!important;
  align-items:center!important;gap:16px!important;
  background:#1e2a3a!important;border:0!important;border-bottom:1px solid #a7b2ac66!important;
  box-shadow:0 4px 18px #111b2630!important;
}
#gameScreen.builder-workshop .game-brand {
  display:flex;grid-column:2;grid-row:1;order:0;gap:10px;color:#f4ead5;font-size:17px;
}
#gameScreen.builder-workshop .game-brand img {width:38px;height:48px;}
#gameScreen.builder-workshop .game-brand span {font:500 16px/1.1 Cinzel,Georgia,serif;}
#gameScreen.builder-workshop .game-brand small {display:block;margin-top:6px;font:600 10px/1 var(--kid-font);color:#cbd4d6;letter-spacing:.01em;}
#gameScreen.builder-workshop :is(.game-back,.build-help) {
  display:flex;flex-direction:column;gap:3px;width:64px;min-width:48px;height:56px;min-height:48px;
  padding:5px;border:1px solid #7b919b!important;border-radius:15px;background:#2c4050!important;
  color:#f4ead5;box-shadow:inset 0 1px 0 #ffffff12,0 3px 0 #121d2a!important;
}
#gameScreen.builder-workshop .game-back {grid-column:1;grid-row:1;}
#gameScreen.builder-workshop .build-help {grid-column:4;grid-row:1;}
#gameScreen.builder-workshop :is(.game-back,.build-help) .toy-icon {width:23px;height:23px;color:inherit;}
#gameScreen.builder-workshop .builder-control-label {font:800 14px/1 var(--kid-font);}
#gameScreen.builder-workshop .build-progress {
  position:static!important;inset:auto!important;transform:none!important;grid-column:3;grid-row:1;
  display:grid;grid-template-columns:minmax(0,1fr) 86px;gap:5px 18px;
  width:100%;min-width:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;
}
#gameScreen.builder-workshop .active-build-title {grid-column:1;grid-row:1/3;display:flex;align-items:flex-start;flex-direction:column;gap:3px;min-height:0;}
#gameScreen.builder-workshop #activeLessonNumber {display:block;max-width:none;font:800 10px/1 var(--kid-font);letter-spacing:.1em;color:#b9cbcf;}
#gameScreen.builder-workshop #activeLessonName {font:900 clamp(19px,2vw,27px)/1.12 var(--kid-font);color:#fff8e9;text-align:left;letter-spacing:-.3px;text-wrap:balance;}
#gameScreen.builder-workshop .build-progress-label {grid-column:2;grid-row:1;align-self:end;color:#f4ead5;font:800 16px/1 var(--kid-font);}
#gameScreen.builder-workshop .stability-track {grid-column:2;grid-row:2;align-self:start;width:86px;height:6px;background:#65727d;}
#gameScreen.builder-workshop #stabilityFill {background:var(--workshop-brass);}
#gameScreen.builder-workshop .living-build-steps {
  inset:var(--workshop-header) 0 auto!important;height:var(--living-steps);gap:10px!important;padding:7px 18px;
  background:#f4ead5f5;border-bottom:1px solid #baa98d;color:#3f5c6b;box-shadow:0 2px 7px #1e2a3a12;
}
#gameScreen.builder-workshop .living-build-steps>span {
  flex:1;min-width:0;max-width:260px;min-height:36px;padding:4px 10px;gap:8px;
  background:transparent;border:1px solid transparent;border-radius:12px;font:800 15px/1.12 var(--kid-font);color:#6b7168;
}
#gameScreen.builder-workshop .living-build-steps b {width:24px;height:24px;flex:none;background:#dad3c1;color:#5c625b;font:900 13px/1 var(--kid-font);border:0;}
#gameScreen.builder-workshop .living-build-steps .current {color:#1e2a3a;background:#fff9eb;border-color:#c8a96a;box-shadow:0 2px 0 #c8a96a55;}
#gameScreen.builder-workshop .living-build-steps .current b {color:#1e2a3a;background:#d9bd83;border:0;}
#gameScreen.builder-workshop .living-build-steps .done {color:#556b3e;background:transparent;border-color:transparent;}
#gameScreen.builder-workshop .living-build-steps .done b {background:#556b3e;color:#fff;}
#gameScreen.builder-workshop .living-build-steps .toy-icon {width:16px;height:16px;}
#gameScreen.builder-workshop :is(.mission-panel,.mission-panel.collapsed) {
  inset:calc(var(--workshop-header) + 14px) auto auto 20px!important;
  display:flex!important;flex-direction:column;align-items:stretch;gap:0;width:300px!important;max-width:calc(100% - 40px)!important;
  padding:12px!important;border:1px solid #baad90!important;border-image:none!important;border-radius:20px;
  background:#fff8eaf5!important;box-shadow:0 3px 0 #8d9b9266,0 8px 22px #1e2a3a1f!important;
}
#gameScreen.builder-workshop.living-lesson :is(.mission-panel,.mission-panel.collapsed) {top:calc(var(--workshop-header) + var(--living-steps) + 14px)!important;}
#gameScreen.builder-workshop .puppy-bubble {order:0;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:10px;width:100%;min-height:48px;padding:0;border:0;border-image:none;border-radius:0;background:none;box-shadow:none;}
#gameScreen.builder-workshop .mission-action {position:static;width:auto;clip-path:none;overflow:visible;display:flex!important;align-items:center;gap:8px;flex:1 1 auto;text-align:left;}
#gameScreen.builder-workshop .mission-action>.toy-icon {display:none;}
#gameScreen.builder-workshop .mission-action strong {font:900 22px/1.16 var(--kid-font)!important;color:#1e2a3a!important;letter-spacing:-.3px;}
#gameScreen.builder-workshop #voiceReplayBtn {flex:0 0 48px;width:48px;min-width:48px;height:48px;min-height:48px;border:1px solid #859eaa;background:#e3ebeb;color:#3f5c6b;border-radius:15px;padding:10px;box-shadow:0 2px 0 #b1c0bc;}
#gameScreen.builder-workshop #voiceReplayBtn .toy-icon {width:25px;height:25px;}
#gameScreen.builder-workshop .listen-label {display:none;}
#gameScreen.builder-workshop .lesson-wonder {margin-top:8px;border-color:#d8d0bc;}
#gameScreen.builder-workshop .lesson-wonder summary {min-height:48px;color:#556b3e;font:800 16px/1.2 var(--kid-font);padding:7px 0;}
#gameScreen.builder-workshop .lesson-wonder strong {font:900 19px/1.25 var(--kid-font);}
#gameScreen.builder-workshop .lesson-wonder p {font:600 16px/1.4 var(--kid-font);color:#465864;}

/* The workbench uses a single horizontal piece shelf and one action cluster. */
#gameScreen.builder-workshop :is(.piece-tray,.piece-tray.collapsed) {
  display:grid!important;grid-template-columns:minmax(0,1fr) 240px!important;grid-template-rows:28px minmax(0,1fr)!important;
  inset:auto auto calc(16px + env(safe-area-inset-bottom)) 50%!important;transform:translateX(-50%)!important;
  width:min(960px,calc(100% - 40px))!important;height:218px!important;min-height:0!important;max-height:none;
  padding:14px 16px 16px!important;gap:10px 18px!important;
  background:#1e2a3a!important;border:1px solid #819397!important;border-bottom:4px solid #101c27!important;border-image:none!important;border-radius:24px!important;
  box-shadow:inset 0 1px 0 #ffffff15,0 0 0 4px #f4ead530,0 10px 28px #1423333b!important;
}
#gameScreen.builder-workshop .piece-tray:not(.collapsed) {height:218px!important;}
#gameScreen.builder-workshop .build-stage {grid-column:1/-1;grid-row:1;display:flex;min-height:26px;padding:0 0 4px;margin:0;color:#e2d5b8;border-color:#79898255;font:800 14px/1.2 var(--kid-font);}
#gameScreen.builder-workshop #buildStageLabel {color:#f4ead5!important;}
#gameScreen.builder-workshop #buildPlayIdea {color:#f4ead5!important;}
#gameScreen.builder-workshop.living-lesson .build-stage {display:none;}
#gameScreen.builder-workshop:not(.living-lesson) .piece-tray:not(.collapsed) {grid-template-rows:26px 24px minmax(0,1fr)!important;height:248px!important;}
#gameScreen.builder-workshop .toybox-heading {grid-column:1;grid-row:1;min-height:28px;height:28px;justify-content:flex-start;gap:9px;position:relative;padding-right:45px;}
#gameScreen.builder-workshop:not(.living-lesson) .toybox-heading {grid-row:2;}
#gameScreen.builder-workshop .builder-tray-emblem {display:block;width:22px;height:22px;color:#c4d2d2;}
#gameScreen.builder-workshop .tray-title {color:#fff7e4!important;font:900 21px/1 var(--kid-font)!important;letter-spacing:-.3px;}
#gameScreen.builder-workshop #morePiecesBtn {position:absolute;right:-4px;top:-10px;width:48px;min-width:48px;height:48px;min-height:48px;border-radius:14px;background:#344b5a;color:#f4ead5;border:1px solid #718a98;box-shadow:0 2px 0 #101d28;padding:10px;}
#gameScreen.builder-workshop :is(.piece-tray,.piece-tray.collapsed) .piece-list {grid-column:1;grid-row:2;display:flex!important;align-items:stretch;justify-content:flex-start;min-height:0;height:100%!important;gap:10px!important;padding:3px 3px 5px!important;}
#gameScreen.builder-workshop:not(.living-lesson) .piece-tray .piece-list {grid-row:3;}
#gameScreen.builder-workshop :is(.piece-tray,.piece-tray.collapsed) .piece-card {
  flex:1 0 112px!important;min-width:112px!important;width:112px!important;max-width:180px;height:100%!important;min-height:0!important;
  display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:4px;padding:7px 7px 9px!important;
  background:#f4ead5!important;border:2px solid #d7c9aa!important;border-image:none;border-radius:16px!important;
  box-shadow:0 3px 0 #a79777!important;opacity:1!important;filter:none!important;color:#1e2a3a;
}
#gameScreen.builder-workshop .piece-tray .piece-card.available {border-color:#c5cdbd!important;}
#gameScreen.builder-workshop .piece-tray .piece-card.selected {background:#fff2cf!important;border:3px solid #c8a96a!important;box-shadow:0 0 0 2px #c8a96a55,0 3px 0 #9a7b43!important;}
#gameScreen.builder-workshop .piece-tray .piece-card.locked {background:#d2d4cb!important;border-color:#b8c0b7!important;box-shadow:0 2px 0 #829087!important;color:#57605d;}
#gameScreen.builder-workshop .piece-tray .piece-card.locked .piece-preview {opacity:.55;}
#gameScreen.builder-workshop .piece-tray .piece-card-copy strong {font:900 16px/1.12 var(--kid-font)!important;color:#1e2a3a!important;letter-spacing:-.25px;}
#gameScreen.builder-workshop .piece-tray .piece-card-copy {display:block;min-width:0;width:100%;text-align:center;}
#gameScreen.builder-workshop .piece-tray .piece-card-copy strong {min-width:0;width:100%;overflow-wrap:anywhere;}
#gameScreen.builder-workshop .piece-tray .piece-quantity {left:5px;top:5px;width:23px;height:23px;background:#fffaf0;color:#586448;border:1px solid #ddd4b9;box-shadow:none;font-size:12px;}
#gameScreen.builder-workshop .piece-tray .piece-lock {right:5px;top:5px;left:auto;width:24px;height:24px;background:#f5f3e9;color:#64706a;box-shadow:none;}
#gameScreen.builder-workshop .piece-tray .piece-lock svg {width:14px;height:14px;}
#gameScreen.builder-workshop :is(.piece-tray,.piece-tray.collapsed) .play-actions {
  grid-column:2;grid-row:1/3;display:grid!important;grid-template-columns:1fr 1fr;grid-template-rows:minmax(60px,1fr) 54px;
  align-items:stretch;justify-content:stretch;gap:10px;min-height:0;height:100%;margin:0;
}
#gameScreen.builder-workshop:not(.living-lesson) .piece-tray .play-actions {grid-row:2/4;}
#gameScreen.builder-workshop :is(.piece-tray,.piece-tray.collapsed) .primary-action {grid-column:1/-1;grid-row:1;display:flex;min-width:0;height:auto;min-height:0;}
#gameScreen.builder-workshop :is(.piece-tray,.piece-tray.collapsed) :is(.place-assist,.test-button) {width:100%;height:100%;min-height:60px;padding:12px;border:2px solid #a68950!important;border-radius:17px;background:#d6b97d!important;border-image:none!important;color:#1e2a3a!important;box-shadow:inset 0 2px 0 #f7e7be,0 4px 0 #80673c!important;font:900 25px/1.1 var(--kid-font);letter-spacing:-.3px;}
#gameScreen.builder-workshop .piece-tray .piece-prompt {min-height:60px;height:100%;padding:10px;background:#304655;border:1px dashed #728c98;border-radius:17px;color:#ecede3;font:800 19px/1.2 var(--kid-font);}
#gameScreen.builder-workshop :is(.piece-tray,.piece-tray.collapsed) :is(.undo-button,.hint-button,.replay-adventure) {height:54px;min-height:54px;min-width:48px;flex:auto;display:flex;flex-direction:row;gap:8px;border:1px solid #728d97;background:#334c5b;color:#f4ead5;border-radius:14px;box-shadow:0 3px 0 #101d29;padding:8px;}
#gameScreen.builder-workshop :is(.undo-button,.hint-button,.replay-adventure) b {font:800 16px/1 var(--kid-font);}
#gameScreen.builder-workshop .play-actions .toy-icon {width:24px;height:24px;flex:none;}
#gameScreen.builder-workshop #buildStageDots span {background:#45566b;color:#e5ded0;border-color:#6e7c82;}
#gameScreen.builder-workshop #buildStageDots .current {background:#d6b97d;color:#1e2a3a;border-color:#e8d4a6;box-shadow:none;}
#gameScreen.builder-workshop #buildStageDots .done {background:#607b49;color:white;border-color:#95a47c;}
#gameScreen.builder-workshop .piece-tray.collapsed {display:flex!important;flex-direction:column;justify-content:center;width:min(660px,calc(100% - 40px))!important;height:auto!important;min-height:116px!important;gap:12px!important;}
#gameScreen.builder-workshop .piece-tray.collapsed :is(.piece-list,.toybox-heading,.build-stage) {display:none!important;}
#gameScreen.builder-workshop .piece-tray.collapsed .build-play-idea {color:#f4ead5;font:900 19px/1.2 var(--kid-font);}
#gameScreen.builder-workshop .piece-tray.collapsed .play-actions {display:flex!important;flex:0 0 auto;height:60px;min-height:60px;gap:10px;}
#gameScreen.builder-workshop .piece-tray.collapsed .primary-action {flex:1;height:60px;}
#gameScreen.builder-workshop .piece-tray.collapsed #testBtn {width:100%;max-width:none;}
#gameScreen.builder-workshop .piece-tray.collapsed .replay-adventure {flex:0 0 105px;height:60px;}
#gameScreen.builder-workshop .music-playground {width:100%;min-width:0;}
#gameScreen.builder-workshop .music-playground[hidden] {display:none!important;}
#gameScreen.builder-workshop .music-playground-heading {display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 2px 8px;color:#f4ead5;font:800 17px/1.2 var(--kid-font);}
#gameScreen.builder-workshop .music-playground-heading span {color:#c5d5d8;font-size:14px;text-align:right;}
#gameScreen.builder-workshop .music-keys {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
#gameScreen.builder-workshop .music-keys button {display:flex;align-items:center;justify-content:center;gap:10px;min-width:48px;height:62px;padding:7px;border:2px solid #acc1ba;border-radius:13px;background:#dae6d4;color:#203329;box-shadow:inset 0 2px 0 #ffffffaa,0 3px 0 #6a806f;font:900 17px/1 var(--kid-font);}
#gameScreen.builder-workshop .music-keys button:nth-child(2) {background:#d2e5e9;color:#233d4a;border-color:#8db5c0;box-shadow:inset 0 2px 0 #ffffffaa,0 3px 0 #52798a;}
#gameScreen.builder-workshop .music-keys button:nth-child(3) {background:#edddcc;color:#5c3826;border-color:#cfa779;box-shadow:inset 0 2px 0 #ffffffaa,0 3px 0 #9f754f;}
#gameScreen.builder-workshop .music-keys button:nth-child(4) {background:#f2dfac;color:#4b3920;border-color:#c8a96a;box-shadow:inset 0 2px 0 #ffffffaa,0 3px 0 #92733e;}
#gameScreen.builder-workshop .music-key-picture {display:block;font:900 29px/1 var(--kid-font);}
#gameScreen.builder-workshop .music-keys button:active {transform:translateY(2px);}
#gameScreen.builder-workshop .music-keys button:focus-visible {outline:3px solid #fff8e9;outline-offset:4px;}
#gameScreen.builder-workshop .music-playground[data-last-note="0"] [data-music-note="0"],
#gameScreen.builder-workshop .music-playground[data-last-note="1"] [data-music-note="1"],
#gameScreen.builder-workshop .music-playground[data-last-note="2"] [data-music-note="2"],
#gameScreen.builder-workshop .music-playground[data-last-note="3"] [data-music-note="3"] {outline:2px solid #fff8e9;outline-offset:2px;}
#gameScreen.builder-workshop .piece-tray.has-music-keys #buildPlayIdea {display:none;}
@media(max-width:600px) {
  #gameScreen.builder-workshop .music-playground-heading {font-size:16px;}
  #gameScreen.builder-workshop .music-playground-heading span {font-size:12px;}
  #gameScreen.builder-workshop .music-keys {gap:8px;}
  #gameScreen.builder-workshop .music-keys button {height:54px;gap:5px;font-size:15px;padding:5px;}
  #gameScreen.builder-workshop .music-key-picture {font-size:25px;}
}
@media(max-height:500px) and (min-width:600px) {
  #gameScreen.builder-workshop .music-playground-heading {display:block;font-size:16px;}
  #gameScreen.builder-workshop .music-playground-heading span {display:block;margin-top:4px;text-align:left;}
  #gameScreen.builder-workshop .music-keys {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  #gameScreen.builder-workshop .music-keys button {height:48px;gap:5px;font-size:15px;}
}
#gameScreen.builder-workshop .toast {background:#1e2a3a;color:#f4ead5;border:1px solid #b7c4c3;font:800 17px/1.3 var(--kid-font);border-radius:16px;}

/* Entry is a picture, a purpose, and a single next action. */
#observeModal {padding:18px;align-items:center;background:#142232aa;backdrop-filter:blur(5px);}
#observeModal .builder-brief {
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;width:min(800px,100%);max-width:none;
  max-height:calc(100dvh - 36px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:0;overflow:auto;
  background:#fff8e9!important;border:2px solid #c9b68d!important;border-image:none!important;border-radius:28px;
  box-shadow:0 6px 0 #1e2a3a33,0 24px 70px #14233344;text-align:left;
}
#observeModal .build-preview {position:relative;grid-column:1;grid-row:1;height:100%;min-height:370px;margin:0;border-radius:0;background:#ece2c9;overflow:hidden;}
#observeModal .build-preview::after {content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset -1px 0 #bfae8b66;}
#observeModal #observePreview {position:absolute;inset:42px 0 0;width:100%;height:calc(100% - 50px);padding:16px 8px;object-fit:contain;border-radius:0;mix-blend-mode:multiply;}
#observeModal .brief-picture-label {position:absolute;inset:23px 18px auto;display:flex;align-items:center;justify-content:center;gap:8px;color:#526645;font:800 13px/1.2 var(--kid-font);}
#observeModal .brief-picture-label .toy-icon {width:21px;height:21px;}
#observeModal .builder-brief-copy {padding:48px 27px 28px;display:flex;flex-direction:column;justify-content:center;min-width:0;}
#observeModal .builder-dialog-kicker,#gameScreen.builder-workshop .builder-dialog-kicker {margin:0 0 9px!important;color:#6b755f!important;font:900 11px/1.2 var(--kid-font)!important;letter-spacing:.08em;}
#observeModal #observeTitle {font:900 clamp(26px,3vw,36px)/1.06 var(--kid-font)!important;color:#1e2a3a!important;letter-spacing:-.6px;margin:0 0 12px;}
#observeModal #observeStory {font:600 19px/1.4 var(--kid-font)!important;color:#425b64!important;margin:0 0 20px;max-width:29ch;}
#observeModal .observe-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 24px;}
#observeModal .observe-grid>div {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px 5px;min-height:82px;background:#e5ebe4;border:1px solid #c8d1c0;border-radius:15px;color:#3f5c6b;}
#observeModal .observe-grid>div:nth-child(2) {background:#f0e3c3;border-color:#dac79e;}
#observeModal .observe-grid>div:nth-child(3) {background:#e5eadb;border-color:#c8d0b8;}
#observeModal .observe-grid svg {width:27px;height:27px;color:inherit;}
#observeModal .observe-grid b {font:900 16px/1.1 var(--kid-font);color:#1e2a3a;}
#observeModal .observe-actions {display:grid;grid-template-columns:1fr;gap:10px;margin-top:auto;}
#observeModal #inspectBlueprintBtn {grid-row:1;background:#3f5c6b!important;color:#fff8e9!important;border:1px solid #253f4b!important;border-image:none!important;box-shadow:inset 0 1px 0 #ffffff25,0 4px 0 #243e4c!important;min-height:60px!important;font:900 21px/1.1 var(--kid-font)!important;border-radius:16px;}
#observeModal #briefReadBtn {grid-row:2;min-height:48px!important;background:transparent;color:#3f5c6b;border:1px solid #bbc9c9;box-shadow:none;font:800 17px/1.1 var(--kid-font)!important;border-radius:15px;}
:is(#observeModal,#victoryModal) .modal-close {width:48px;height:48px;min-height:48px!important;right:10px;top:10px;background:#fffaf0;color:#3f5c6b;border:1px solid #bdc7bd;box-shadow:0 2px 0 #b7bca955;}

/* Keep the single completion step; the earned mark belongs to this build. */
#victoryModal .completion-card {border-color:#c8a96a!important;background:#fff8e9!important;}
#victoryModal .completion-picture {margin:10px 18px 0;border-radius:20px;background:radial-gradient(ellipse at center,#eadbc0,transparent 71%);}
#victoryModal .completion-badge {background:#c8a96a;border-color:#fff4dc;box-shadow:0 3px 0 #8b7244;transform:none;}
#victoryModal .completion-badge .toy-icon {color:#1e2a3a;width:28px;height:28px;}
#victoryModal #completedBuildName {color:#3f5c6b!important;}
#victoryModal .completion-status {color:#556b3e!important;}
#victoryModal .completion-learning {background:#e9eee7;border-color:#c7d0c2;}
#victoryModal .completion-learning>summary {color:#3f5c6b;font-size:16px;}
#victoryModal .completion-notes p {font-size:16px!important;}
#victoryModal .completion-actions {background:#fff8e9;}
#victoryModal .completion-actions .primary-button {min-height:60px!important;background:#3f5c6b!important;border-color:#263e4b!important;color:#fff8e9;box-shadow:0 4px 0 #253d49!important;}
#victoryModal .completion-next {background:#ecefe4;border-color:#c9d0bc;color:#3f5c6b;}
#victoryModal .completion-next small {color:#65735b;}
#victoryModal .completion-story {min-height:48px;color:#3f5c6b;background:#e0e8e4;border-color:#bbc9c4;}

/* Grown-up tools remain optional and grouped by purpose. */
#gameScreen.builder-workshop .builder-tools-dialog {width:min(550px,calc(100vw - 24px));max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain;padding:30px 24px 22px;border:2px solid #c5b28d;border-radius:25px;background:#fff8e9;color:#1e2a3a;}
#gameScreen.builder-workshop .builder-tools-dialog #lessonWonder {margin:14px 0;padding:0 12px;background:#e8ede5;border:1px solid #c6d1c1;border-radius:15px;}
#gameScreen.builder-workshop .builder-tools-dialog #lessonWonder summary {display:flex;align-items:center;gap:8px;min-height:52px;padding:9px 0;font-size:16px;}
#gameScreen.builder-workshop .builder-tools-dialog #lessonWonder summary .toy-icon {width:22px;height:22px;flex:none;}
#gameScreen.builder-workshop .builder-tools-dialog #lessonWonder[open] {max-height:none;overflow:visible;padding-bottom:12px;}
#gameScreen.builder-workshop .builder-tools-dialog #lessonWonder strong {display:block;font-size:19px;line-height:1.3;}
#gameScreen.builder-workshop .builder-tools-dialog #lessonWonder p {margin:8px 0 0;font-size:16px;line-height:1.45;}
#gameScreen.builder-workshop .builder-tools-close {width:48px;height:48px;min-height:48px;border:1px solid #c0ccc3;color:#3f5c6b;background:#e8eee8;}
#gameScreen.builder-workshop .builder-tools-dialog h2 {font:900 30px/1.1 var(--kid-font);margin-bottom:12px;}
#gameScreen.builder-workshop .builder-save-note {display:flex;gap:8px;align-items:center;font-size:16px;color:#556b3e;}
#gameScreen.builder-workshop .builder-save-note .toy-icon {width:21px;height:21px;flex:none;}
#gameScreen.builder-workshop .builder-project {background:#e8ede5;border:1px solid #d0d7c5;border-radius:15px;color:#3f5c6b;}
#gameScreen.builder-workshop .builder-project strong {font:900 20px/1.2 var(--kid-font);}
#gameScreen.builder-workshop .builder-tool-group {margin:18px 0;}
#gameScreen.builder-workshop .builder-tool-group h3 {font:900 15px/1.2 var(--kid-font);color:#566b59;margin:0 0 9px;}
#gameScreen.builder-workshop .builder-tools-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
#gameScreen.builder-workshop .builder-tool-group:last-of-type .builder-tools-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
#gameScreen.builder-workshop .builder-tools-grid button {min-height:64px;font:800 15px/1.2 var(--kid-font);flex-direction:column;gap:5px;background:#f0eadb;color:#3f5c6b;border:1px solid #c9c7b3;border-radius:14px;}
#gameScreen.builder-workshop .builder-tools-grid button .toy-icon {width:22px;height:22px;color:inherit;}
#gameScreen.builder-workshop .builder-tools-grid button[aria-pressed=true] {background:#3f5c6b;color:#fff8e9;border-color:#3f5c6b;}
#gameScreen.builder-workshop .builder-tools-grid button[aria-pressed=true] span {color:#e2edda;}
#gameScreen.builder-workshop .builder-tools-grid button:disabled {opacity:.5;}
#gameScreen.builder-workshop .builder-tools-dialog #backToPlayBtn {min-height:60px;background:#3f5c6b;color:#fff8e9;border:1px solid #253e4b;border-image:none;box-shadow:0 3px 0 #253e4b;border-radius:16px;}
#gameScreen.builder-workshop .builder-settings-link {display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;width:100%;padding:9px;background:none;border:0;color:#536c76;font:800 15px/1.2 var(--kid-font);}
#gameScreen.builder-workshop .builder-settings-link .toy-icon {width:21px;height:21px;}
#gameScreen.builder-workshop :is(button,summary,a):focus-visible,:is(#observeModal,#victoryModal) :is(button,a,summary):focus-visible {outline:3px solid #c8a96a;outline-offset:3px;}
#gameScreen.builder-workshop .piece-tray [hidden] {display:none!important;}

@media(max-width:1100px) {
  #gameScreen.builder-workshop .game-header {grid-template-columns:60px minmax(0,1fr) 60px!important;gap:14px!important;}
  #gameScreen.builder-workshop .game-brand {display:none;}
  #gameScreen.builder-workshop .build-progress {grid-column:2;}
  #gameScreen.builder-workshop .build-help {grid-column:3;}
}
@media(min-width:601px) and (max-width:900px) and (min-height:541px) {
  #gameScreen.builder-workshop :is(.piece-tray,.piece-tray.collapsed) {grid-template-columns:minmax(0,1fr) 195px!important;width:calc(100% - 32px)!important;column-gap:14px!important;}
  #gameScreen.builder-workshop .piece-tray .piece-card {flex-basis:110px!important;min-width:110px!important;width:110px!important;}
  #gameScreen.builder-workshop .piece-tray :is(.undo-button,.hint-button) {gap:5px;}
}
@media(max-width:600px) {
  #gameScreen.builder-workshop {--workshop-header:calc(72px + env(safe-area-inset-top));--living-steps:40px;}
  #gameScreen.builder-workshop .game-header {grid-template-columns:48px minmax(0,1fr) 48px!important;gap:10px!important;padding:calc(8px + env(safe-area-inset-top)) 10px 8px!important;}
  #gameScreen.builder-workshop :is(.game-back,.build-help) {width:48px;height:52px;min-height:48px;border-radius:14px;}
  #gameScreen.builder-workshop .builder-control-label {font-size:13px;}
  #gameScreen.builder-workshop .build-progress {grid-template-columns:minmax(0,1fr) 49px;gap:5px 8px;padding:0;}
  #gameScreen.builder-workshop #activeLessonName {font-size:17px;line-height:1.08;}
  #gameScreen.builder-workshop #activeLessonNumber {font-size:9px;}
  #gameScreen.builder-workshop .build-progress-label {font-size:12px;}
  #gameScreen.builder-workshop .stability-track {width:49px;height:5px;}
  #gameScreen.builder-workshop .living-build-steps {padding:3px 10px;gap:7px!important;}
  #gameScreen.builder-workshop .living-build-steps>span {flex:0 0 auto;min-height:32px;padding:2px 4px;gap:7px;font-size:16px;line-height:1.05;}
  #gameScreen.builder-workshop .living-build-steps>span.current {flex:1;max-width:none;}
  #gameScreen.builder-workshop .living-build-steps>span:not(.current)>span {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
  #gameScreen.builder-workshop .living-build-steps:not(:has(.current))>span {flex:1;justify-content:center;}
  #gameScreen.builder-workshop .living-build-steps b {width:22px;height:22px;font-size:12px;}
  #gameScreen.builder-workshop :is(.mission-panel,.mission-panel.collapsed) {inset:calc(var(--workshop-header) + 8px) 10px auto!important;width:calc(100% - 20px)!important;max-width:none!important;padding:7px 9px!important;border-radius:17px;}
  #gameScreen.builder-workshop.living-lesson :is(.mission-panel,.mission-panel.collapsed) {top:calc(var(--workshop-header) + var(--living-steps) + 8px)!important;}
  #gameScreen.builder-workshop .mission-action strong {font-size:22px!important;}
  #gameScreen.builder-workshop .lesson-wonder {margin-top:3px;}
  #gameScreen.builder-workshop .lesson-wonder summary {min-height:48px;padding:6px 0;font-size:15px;}
  #gameScreen.builder-workshop .lesson-wonder strong {font-size:17px;}
  #gameScreen.builder-workshop .lesson-wonder p {font-size:16px;}
  #gameScreen.builder-workshop :is(.piece-tray,.piece-tray.collapsed),#gameScreen.builder-workshop .piece-tray:not(.collapsed),#gameScreen.builder-workshop:not(.living-lesson) .piece-tray:not(.collapsed) {
    display:flex!important;flex-direction:column;inset:auto auto calc(10px + env(safe-area-inset-bottom)) 50%!important;
    width:calc(100% - 20px)!important;height:192px!important;padding:9px 10px 12px!important;gap:7px!important;border-radius:21px!important;
  }
  #gameScreen.builder-workshop .piece-tray:not(.collapsed),#gameScreen.builder-workshop:not(.living-lesson) .piece-tray:not(.collapsed) {display:grid!important;grid-template-columns:minmax(0,1fr) 48px!important;grid-template-rows:minmax(0,1fr) 52px!important;}
  #gameScreen.builder-workshop:not(.living-lesson) .piece-tray:not(.collapsed) {height:218px!important;grid-template-rows:22px minmax(0,1fr) 52px!important;}
  #gameScreen.builder-workshop .piece-tray:not(.collapsed):has(#morePiecesBtn[hidden]) {grid-template-columns:minmax(0,1fr)!important;}
  #gameScreen.builder-workshop .build-stage {flex:0 0 22px;min-height:22px;font-size:12px;}
  #gameScreen.builder-workshop .piece-tray:not(.collapsed) .toybox-heading {grid-column:2;grid-row:1;align-self:center;justify-content:center;position:static;min-width:0;width:48px;height:48px;min-height:48px;padding:0;}
  #gameScreen.builder-workshop .piece-tray:not(.collapsed):has(#morePiecesBtn[hidden]) .toybox-heading {display:none;}
  #gameScreen.builder-workshop .piece-tray:not(.collapsed) .toybox-heading :is(.tray-title,.builder-tray-emblem) {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
  #gameScreen.builder-workshop:not(.living-lesson) .piece-tray:not(.collapsed) .toybox-heading {grid-row:2;}
  #gameScreen.builder-workshop .tray-title {font-size:19px!important;}
  #gameScreen.builder-workshop #morePiecesBtn {position:static;right:auto;top:auto;}
  #gameScreen.builder-workshop .builder-tray-emblem {width:20px;height:20px;}
  #gameScreen.builder-workshop :is(.piece-tray,.piece-tray.collapsed) .piece-list {flex:1;min-height:0;height:auto!important;gap:8px!important;padding:2px 2px 4px!important;}
  #gameScreen.builder-workshop .piece-tray:not(.collapsed) .piece-list {grid-column:1;grid-row:1;}
  #gameScreen.builder-workshop:not(.living-lesson) .piece-tray:not(.collapsed) .piece-list {grid-row:2;}
  #gameScreen.builder-workshop :is(.piece-tray,.piece-tray.collapsed) .piece-card {flex:1 0 98px!important;min-width:98px!important;width:98px!important;max-width:148px;padding:5px 5px 6px!important;gap:2px;border-radius:14px!important;}
  #gameScreen.builder-workshop .piece-tray .piece-card-copy strong {font-size:16px!important;}
  #gameScreen.builder-workshop :is(.piece-tray,.piece-tray.collapsed) .play-actions {
    flex:0 0 52px;display:flex!important;grid-template-columns:none;height:52px;min-height:52px;gap:8px;
  }
  #gameScreen.builder-workshop .piece-tray:not(.collapsed) .play-actions {grid-column:1/-1;grid-row:2;}
  #gameScreen.builder-workshop:not(.living-lesson) .piece-tray:not(.collapsed) .play-actions {grid-row:3;}
  #gameScreen.builder-workshop :is(.piece-tray,.piece-tray.collapsed) .primary-action {flex:1;height:52px;min-height:52px;}
  #gameScreen.builder-workshop :is(.piece-tray,.piece-tray.collapsed) :is(.place-assist,.test-button) {height:52px;min-height:52px;padding:8px;font-size:21px;border-radius:15px;}
  #gameScreen.builder-workshop .piece-tray .piece-prompt {height:52px;min-height:52px;padding:5px;font-size:16px;border-radius:14px;}
  #gameScreen.builder-workshop :is(.piece-tray,.piece-tray.collapsed) :is(.undo-button,.hint-button,.replay-adventure) {flex:0 0 52px;height:52px;min-height:52px;flex-direction:column;gap:3px;padding:5px;border-radius:14px;}
  #gameScreen.builder-workshop :is(.undo-button,.hint-button,.replay-adventure) b {font-size:14px;}
  #gameScreen.builder-workshop .play-actions .toy-icon {width:21px;height:21px;}
  #gameScreen.builder-workshop .piece-tray.collapsed {height:auto!important;min-height:112px!important;}
  #gameScreen.builder-workshop .piece-tray.collapsed .build-play-idea {font-size:17px;}
  #gameScreen.builder-workshop .piece-tray.collapsed .play-actions {height:52px;min-height:52px;flex:0 0 52px;}
  #gameScreen.builder-workshop .piece-tray.collapsed .primary-action {height:52px;}
  #gameScreen.builder-workshop .toast {max-width:calc(100% - 24px)!important;font-size:15px;}
  #observeModal {padding:12px;}
  #observeModal .builder-brief {display:flex;flex-direction:column;border-radius:24px;max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));}
  #observeModal .build-preview {flex:none;min-height:0;height:190px;}
  #observeModal .brief-picture-label {top:17px;left:15px;right:60px;justify-content:flex-start;font-size:12px;}
  #observeModal #observePreview {inset:36px 0 0;height:calc(100% - 36px);padding:0 25px 3px;}
  #observeModal .builder-brief-copy {padding:18px 20px 22px;}
  #observeModal .builder-dialog-kicker {font-size:10px!important;margin-bottom:6px!important;}
  #observeModal #observeTitle {font-size:28px!important;margin-bottom:9px;}
  #observeModal #observeStory {font-size:17px!important;margin-bottom:15px;}
  #observeModal .observe-grid {gap:8px;margin:0 0 17px;}
  #observeModal .observe-grid>div {min-height:62px;flex-direction:row;gap:7px;padding:9px 4px;border-radius:13px;}
  #observeModal .observe-grid svg {width:23px;height:23px;}
  #observeModal .observe-grid b {font-size:15px;}
  #observeModal .observe-actions {grid-template-columns:1fr 1.5fr;gap:10px;}
  #observeModal #inspectBlueprintBtn {grid-column:2;grid-row:1;font-size:19px!important;min-height:56px!important;padding:9px;}
  #observeModal #briefReadBtn {grid-column:1;grid-row:1;font-size:16px!important;min-height:56px!important;padding:9px;}
  #gameScreen.builder-workshop .builder-tools-dialog {padding:25px 18px 18px;}
  #gameScreen.builder-workshop .builder-tools-grid button {font-size:14px;min-height:64px;padding:8px 5px;}
}
@media(max-width:600px) and (max-height:700px) {
  #observeModal .build-preview {height:155px;}
  #observeModal .builder-brief-copy {padding:15px 18px 20px;}
  #observeModal #observeTitle {font-size:26px!important;}
  #observeModal #observeStory {font-size:16px!important;margin-bottom:12px;}
  #observeModal .observe-grid {margin-bottom:14px;}
}
@media(max-height:500px) and (min-width:601px) {
  #gameScreen.builder-workshop {--workshop-header:58px;--living-steps:42px;}
  #gameScreen.builder-workshop .game-header {grid-template-columns:48px minmax(0,1fr) 48px!important;padding:5px 10px!important;gap:10px!important;}
  #gameScreen.builder-workshop .game-brand {display:none;}
  #gameScreen.builder-workshop :is(.game-back,.build-help) {width:48px;min-width:48px;height:48px;min-height:48px;flex-direction:row;}
  #gameScreen.builder-workshop .builder-control-label {display:none;}
  #gameScreen.builder-workshop .build-progress {grid-column:2;}
  #gameScreen.builder-workshop .build-help {grid-column:3;}
  #gameScreen.builder-workshop .active-build-title {flex-direction:row;align-items:center;gap:9px;}
  #gameScreen.builder-workshop #activeLessonName {font-size:19px;}
  #gameScreen.builder-workshop #activeLessonNumber {font-size:9px;}
  #gameScreen.builder-workshop .living-build-steps {padding:3px 10px;gap:8px!important;}
  #gameScreen.builder-workshop .living-build-steps>span {min-height:34px;font-size:12px;}
  #gameScreen.builder-workshop :is(.mission-panel,.mission-panel.collapsed) {inset:calc(var(--workshop-header) + 8px) auto auto 10px!important;width:180px!important;max-width:none!important;padding:7px!important;border-radius:15px;}
  #gameScreen.builder-workshop.living-lesson :is(.mission-panel,.mission-panel.collapsed) {top:calc(var(--workshop-header) + var(--living-steps) + 8px)!important;}
  #gameScreen.builder-workshop .puppy-bubble {flex-wrap:wrap;gap:5px;}
  #gameScreen.builder-workshop .mission-action strong {font-size:17px!important;}
  #gameScreen.builder-workshop #voiceReplayBtn {width:48px;flex-basis:48px;min-height:48px;height:48px;}
  #gameScreen.builder-workshop .lesson-wonder summary {font-size:14px;}
  #gameScreen.builder-workshop .lesson-wonder[open] {max-height:160px;overflow:auto;}
  #gameScreen.builder-workshop :is(.piece-tray,.piece-tray.collapsed),#gameScreen.builder-workshop .piece-tray:not(.collapsed),#gameScreen.builder-workshop:not(.living-lesson) .piece-tray:not(.collapsed) {
    inset:calc(var(--workshop-header) + 8px) 10px 10px auto!important;transform:none!important;width:234px!important;height:calc(100dvh - var(--workshop-header) - 18px - env(safe-area-inset-bottom))!important;
    display:flex!important;flex-direction:column;padding:10px!important;gap:8px!important;border-radius:20px!important;
  }
  #gameScreen.builder-workshop.living-lesson :is(.piece-tray,.piece-tray.collapsed),#gameScreen.builder-workshop.living-lesson .piece-tray:not(.collapsed) {top:calc(var(--workshop-header) + var(--living-steps) + 8px)!important;height:calc(100dvh - var(--workshop-header) - var(--living-steps) - 18px - env(safe-area-inset-bottom))!important;}
  #gameScreen.builder-workshop .toybox-heading {flex:0 0 26px;height:26px;min-height:26px;}
  #gameScreen.builder-workshop .tray-title {font-size:18px!important;}
  #gameScreen.builder-workshop .builder-tray-emblem {display:none;}
  #gameScreen.builder-workshop #morePiecesBtn {top:-10px;}
  #gameScreen.builder-workshop .build-stage {flex:0 0 24px;font-size:12px;}
  #gameScreen.builder-workshop :is(.piece-tray,.piece-tray.collapsed) .piece-list {flex:1;min-height:0;height:auto!important;gap:8px!important;}
  #gameScreen.builder-workshop :is(.piece-tray,.piece-tray.collapsed) .piece-card {flex:0 0 112px!important;width:112px!important;min-width:112px!important;padding:4px 4px 6px!important;}
  #gameScreen.builder-workshop .piece-tray .piece-card-copy strong {font-size:16px!important;word-break:normal;overflow-wrap:break-word;}
  #gameScreen.builder-workshop :is(.piece-tray,.piece-tray.collapsed) .play-actions {flex:0 0 104px;display:grid!important;grid-template-columns:1fr 1fr;grid-template-rows:48px 48px;height:104px;min-height:104px;gap:8px;}
  #gameScreen.builder-workshop :is(.piece-tray,.piece-tray.collapsed) .primary-action {height:48px;min-height:48px;}
  #gameScreen.builder-workshop :is(.piece-tray,.piece-tray.collapsed) :is(.place-assist,.test-button,.undo-button,.hint-button,.replay-adventure) {height:48px;min-height:48px;font-size:19px;padding:6px;}
  #gameScreen.builder-workshop :is(.piece-tray,.piece-tray.collapsed) :is(.undo-button,.hint-button,.replay-adventure) {flex-direction:row;gap:6px;}
  #gameScreen.builder-workshop :is(.undo-button,.hint-button,.replay-adventure) b {font-size:16px;}
  #gameScreen.builder-workshop .piece-tray .piece-prompt {height:48px;min-height:48px;font-size:16px;padding:5px;}
  #gameScreen.builder-workshop .piece-tray.collapsed .play-actions {display:flex!important;flex-direction:column;flex:none;height:auto;min-height:0;}
  #gameScreen.builder-workshop .piece-tray.collapsed .primary-action {flex:0 0 52px;height:52px;}
  #gameScreen.builder-workshop .piece-tray.collapsed .replay-adventure {flex:0 0 48px;height:48px;}
  #gameScreen.builder-workshop .piece-tray.collapsed .build-play-idea {font-size:18px;}
  #observeModal {padding:10px;}
  #observeModal .builder-brief {grid-template-columns:42% minmax(0,1fr);width:min(760px,100%);max-height:calc(100dvh - 20px);}
  #observeModal .build-preview {min-height:290px;}
  #observeModal .builder-brief-copy {padding:24px 22px 20px;}
  #observeModal #observeTitle {font-size:25px!important;padding-right:28px;}
  #observeModal #observeStory {font-size:16px!important;margin-bottom:12px;}
  #observeModal .builder-dialog-kicker {font-size:10px!important;}
  #observeModal .observe-grid {margin-bottom:15px;}
  #observeModal .observe-grid>div {min-height:55px;padding:6px;flex-direction:row;gap:7px;}
  #observeModal .observe-grid svg {width:22px;height:22px;}
  #observeModal .observe-grid b {font-size:14px;}
  #observeModal .observe-actions {grid-template-columns:1fr 1.5fr;gap:8px;}
  #observeModal #briefReadBtn {grid-column:1;grid-row:1;min-height:50px!important;font-size:16px!important;padding:8px;}
  #observeModal #inspectBlueprintBtn {grid-column:2;grid-row:1;min-height:50px!important;font-size:18px!important;padding:8px;}
}
@media(prefers-reduced-motion:reduce) {
  #gameScreen.builder-workshop *,#observeModal *,#victoryModal * {scroll-behavior:auto!important;}
  #gameScreen.builder-workshop :is(.play-button,.piece-card),#observeModal .modal-card,#victoryModal .modal-card {transition:none!important;animation:none!important;}
}
/* Dynamic visibility is an interaction contract, including after breakpoints. */
#gameScreen.builder-workshop :is(.piece-tray,.piece-tray.collapsed) [hidden],
#gameScreen.builder-workshop .piece-tray.collapsed :is(.piece-list,.toybox-heading,.build-stage) {display:none!important;}
body:has(#gameScreen.builder-workshop.living-lesson.active) #observeModal .builder-brief {background:#fff8e9!important;border:2px solid #c9b68d!important;border-image:none!important;}
