/* Selected living-kingdom direction. Game controls stay semantic and live. */
#hubScreen.map-view {padding:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr)}
.map-view .hub-heading {padding:12px 24px 7px;margin:0;min-height:0}
.map-view .hub-heading h1 {font-size:27px;margin:0;line-height:1.15}
.map-view .hub-heading p {font-size:14px;margin:4px 0 0}
.map-view #hubContent {height:100%;min-height:0}
.map-view .growing-city {display:grid;grid-template-rows:68px minmax(0,1fr);height:100%;min-height:0}
.map-view .city-districts {padding:4px 22px 9px;margin:0;gap:10px}
.map-view .city-districts button {min-height:50px;display:flex;flex-direction:row;gap:10px;padding:6px 14px;font-size:17px}
.map-view .city-districts .toy-icon {width:29px;height:29px}
.map-view .city-map-stage {display:block;position:relative;height:100%;min-height:0;overflow:hidden;padding:0;border-radius:0}
.map-view .city-terrain,.map-view .city-terrain[data-mode=city] {position:absolute;inset:0;height:100%;min-height:0;border:0;border-radius:0}
.map-view .map-mode-switch {position:absolute;top:12px;right:18px;left:auto;z-index:12;padding:4px;gap:4px;background:var(--academy-leather) center/cover;border:1px solid #c8a96a;border-radius:12px;box-shadow:0 3px 12px #14233355}
.map-view .map-mode-switch button {height:44px;min-height:44px;color:#eddbb2;font-size:14px;padding:7px 13px;border-radius:8px}
.map-view .map-mode-switch button[aria-pressed=true] {background:#f0e0bb;color:#203043;border:1px solid #c1a36b}
.living-atlas .atlas-scroll {position:absolute;inset:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:none;touch-action:pan-x pan-y}
.living-atlas .living-atlas-world {position:relative;width:max(100%,1100px);height:auto;min-height:100%;aspect-ratio:2;isolation:isolate}
.living-atlas .atlas-art {position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.living-model-layer,.living-model-layer canvas,.living-sites {position:absolute;inset:0;width:100%;height:100%}
.living-model-layer {pointer-events:none;z-index:2}
.living-sites {pointer-events:none;z-index:3}
.living-site {position:absolute;transform:translate(-50%,-78%);width:12.5%;height:24%;min-width:72px;min-height:60px;border:0;background:none;box-shadow:none;pointer-events:auto;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;gap:3px;padding:0;overflow:visible;touch-action:manipulation}
.living-site img {width:100%;height:100%;object-fit:contain;position:absolute;bottom:14px}
.living-site-marker {position:absolute;bottom:6px;left:50%;transform:translateX(-50%);display:grid;place-items:center;width:31px;height:31px;font:900 17px var(--kid-font);background:#7e602f;color:#fff4d8;border:2px solid #e0ca95;border-radius:50%;box-shadow:0 2px 5px #1d291e80}
.living-site-marker .toy-icon {width:20px;height:20px}
.living-site.built .living-site-marker {background:#435b31}
.living-site-name {position:absolute;bottom:-22px;left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--academy-paper-image) center/cover,#f4ead5;color:#182b3a;padding:5px 9px;border:1px solid #ab8b54;border-radius:7px;font:800 12px/1.2 var(--kid-font);box-shadow:0 2px 6px #14233350;opacity:0;pointer-events:none}
.living-site.selected .living-site-marker {background:#fff0b4;color:#213447;box-shadow:0 0 0 3px #a67d34,0 0 22px #fff1ac}
.living-site.selected .living-site-name,.living-site:hover .living-site-name,.living-site:focus-visible .living-site-name {opacity:1}
.living-site:focus-visible {outline:3px solid #ffe7a0;outline-offset:2px;border-radius:16px}
.living-site:not(:disabled):active {transform:translate(-50%,-78%)}
.living-map-key {position:absolute;top:15px;left:18px;display:flex;gap:12px;color:#fff2d0;background:#142333cf;border:1px solid #a9905e;border-radius:8px;padding:8px 12px;z-index:5;font-size:12px;pointer-events:none}
.living-map-key span {display:flex;align-items:center;gap:5px}.living-map-key i {width:9px;height:9px;border:1px solid #f1dda5;border-radius:3px;background:#74905a}.living-map-key i.planned {background:#e1c68066}
.map-view .city-preview {position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:10;width:min(940px,calc(100% - 48px));height:auto;min-height:124px;margin:0;display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:10px 18px;border:10px solid transparent;border-image:var(--academy-frame) 66 fill / 10px stretch;background:none;border-radius:14px;box-shadow:0 5px 20px #14233355}
.map-view .city-preview-model {width:150px;height:103px;object-fit:contain;mix-blend-mode:multiply}
.map-view .city-preview-copy {display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:center;gap:5px 20px;min-width:0}
.map-view .city-preview-copy h2 {grid-column:1;font-size:25px;line-height:1.12;margin:0}
.map-view .city-preview-copy>p {grid-column:1;display:block;font-size:15px;line-height:1.3;margin:0}
.map-view .city-preview-copy .city-eyebrow {font-size:11px;color:#876029;letter-spacing:.7px}
.city-preview-actions {grid-column:2;grid-row:1/5;display:flex;align-items:center;gap:10px}
.city-preview-actions .city-build-button,.city-walk-button {min-height:58px;white-space:nowrap;padding:10px 18px;font:900 18px var(--kid-font);border-radius:10px}
.city-preview-actions .city-build-button {background:var(--academy-metal) center/cover,#dbac56;border:2px solid #b88128;color:#14283a;box-shadow:inset 0 0 0 2px #f6d58f,0 3px 0 #7f5628}
.city-walk-button {background:#f5e8c8;color:#293d46;border:1px solid #a28149;box-shadow:0 2px 0 #b2945e}
.map-view .city-site-nav {position:absolute;right:14px;top:70px;left:auto;bottom:auto;z-index:10;width:200px;height:44px;margin:0;padding:2px 4px;background:#f3e6c8eb;border:1px solid #a9905e;border-radius:10px}
.map-view .city-site-nav button {width:40px;height:40px;min-height:40px;padding:9px}.map-view .city-site-nav span {font-size:11px}.map-view .city-site-nav b {font-size:12px}
.map-view .atlas-pan-hint {bottom:158px;left:18px;z-index:5}
.map-view .city-explore-list[hidden],.map-view .city-saving-note {display:none!important}
.map-view .growing-city[data-mode=city] .city-preview,.map-view .growing-city[data-mode=city] .city-site-nav {display:none}
.living-walk .city-pins,.living-walk .city-compass {display:none}
.living-walk .city-canvas {inset:0;position:absolute;touch-action:none;pointer-events:auto}
.living-walk .city-canvas canvas {width:100%;height:100%;pointer-events:auto}
.walk-controls {position:absolute;inset:0;pointer-events:none;z-index:8;color:#f9ecd0}
.walk-controls button {pointer-events:auto}
.walk-invitation {position:absolute;top:18px;left:20px;display:flex;align-items:center;gap:12px;padding:10px 15px;background:#172c3ac9;border:1px solid #baa06c;border-radius:12px;font-weight:900;font-size:20px;box-shadow:0 3px 15px #14233344}
.walk-invitation small {display:block;font-size:12px;font-weight:600;margin-top:3px}
.walk-stick {position:absolute;left:24px;bottom:25px;display:grid;grid-template-columns:repeat(3,49px);grid-template-rows:repeat(3,43px);padding:9px;border:2px solid #c8a96a;border-radius:50%;background:#1e3445a8;box-shadow:0 4px 12px #17283366;pointer-events:auto}
.walk-stick button {border:0;color:#f5d996;background:#1b3043bf;min-height:43px;border-radius:10px;touch-action:none;display:grid;place-items:center}
.walk-stick button:active {background:#b38c45;color:#182b3b}.walk-stick [data-walk-direction=forward] {grid-column:2;grid-row:1}.walk-stick [data-walk-direction=forward] .toy-icon {rotate:180deg}.walk-stick [data-walk-direction=backward] {grid-column:2;grid-row:3}.walk-stick [data-walk-direction=backward] .toy-icon {rotate:0deg}.walk-stick [data-walk-direction=left] {grid-column:1;grid-row:2}.walk-stick [data-walk-direction=right] {grid-column:3;grid-row:2}
.walk-site-prompt {position:absolute;bottom:26px;left:50%;transform:translateX(-50%);width:min(360px,38%);padding:13px 18px;color:#213044;border:8px solid transparent;border-image:var(--academy-frame) 66 fill / 8px stretch;text-align:center;display:grid;gap:5px;pointer-events:auto}
.walk-near-label {font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:#79552b}.walk-near-name {font-size:22px;line-height:1.14}.walk-site-prompt button {margin:5px auto 0;min-height:50px;padding:8px 20px;font-size:18px}
.walk-next {position:absolute;bottom:32px;right:24px;min-height:54px;display:flex;align-items:center;gap:10px;padding:10px 18px;border:1px solid #c8a96a;border-radius:12px;background:var(--academy-leather) center/cover;color:#f2d18f;font:800 16px var(--kid-font)}
.living-build-steps {display:none}
#gameScreen.living-lesson {--living-header:calc(76px + env(safe-area-inset-top));--living-steps:64px}
#gameScreen.living-lesson .game-header {height:var(--living-header)!important;padding:calc(8px + env(safe-area-inset-top)) 22px 8px!important;display:grid;grid-template-columns:58px 210px minmax(0,1fr) 52px;gap:18px}
#gameScreen.living-lesson .game-brand {display:flex;order:0;grid-column:2;grid-row:1;width:auto;font-size:17px}
#gameScreen.living-lesson .game-brand img {width:42px;height:53px}
#gameScreen.living-lesson .game-brand span {font-size:17px}
#gameScreen.living-lesson .game-back {grid-column:1;grid-row:1;width:54px;height:52px;min-height:52px}
#gameScreen.living-lesson .build-progress {grid-column:3;grid-row:1;width:100%;padding:0;gap:3px 18px}
#gameScreen.living-lesson #activeLessonName {font-size:27px;line-height:1.1}
#gameScreen.living-lesson .build-help {grid-column:4;grid-row:1;width:48px;height:48px;min-height:48px}
#gameScreen.living-lesson .living-build-steps {position:absolute;inset:var(--living-header) 0 auto;z-index:9;height:var(--living-steps);display:flex;align-items:center;justify-content:center;gap:24px;padding:8px 16px;background:var(--academy-paper-image) center/cover,#f4ead5;border-bottom:1px solid #b79c65;box-shadow:0 2px 6px #14233320}
.living-build-steps>span {display:flex;align-items:center;justify-content:center;gap:10px;min-width:210px;min-height:46px;border:1px solid #d0bb94;border-radius:9px;color:#7b704f;padding:4px 12px;font-size:16px}
.living-build-steps b {display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#bca57a;color:#f8edcd;font-size:17px;flex:none}
.living-build-steps .done b {background:#547138}.living-build-steps .toy-icon {width:21px;height:21px}.living-build-steps .current {border:2px solid #b29251;color:#172d3c;font-weight:900;box-shadow:0 2px 3px #b09a7155}.living-build-steps .current b {background:#1d3346;border:1px solid #ddc78a}
#gameScreen.living-lesson .mission-panel,#gameScreen.living-lesson .mission-panel.collapsed {inset:calc(var(--living-header) + var(--living-steps) + 16px) auto auto 18px!important;width:290px!important;max-width:calc(100% - 36px)!important;padding:16px 14px 12px!important;border:10px solid transparent!important;border-image:var(--academy-frame) 66 fill / 10px stretch!important;background:none!important;box-shadow:0 3px 8px #172d3c40!important;display:block!important}
.lesson-wonder {color:#14283a;text-align:center}
.lesson-wonder strong {font-size:25px;line-height:1.17;display:block}
.lesson-wonder p {font-size:16px;line-height:1.3;margin:12px 0 5px}
#gameScreen.living-lesson .puppy-bubble {background:none;border:0;border-image:none;box-shadow:none;min-height:0;padding:6px 0 0;gap:0;justify-content:center}
#gameScreen.living-lesson .mission-action {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#gameScreen.living-lesson #voiceReplayBtn {width:auto;min-width:116px;height:44px;min-height:44px;justify-content:center;padding:7px 14px}
#gameScreen.living-lesson .listen-label {display:block}
#gameScreen.living-lesson .piece-tray,#gameScreen.living-lesson .piece-tray.collapsed {width:min(890px,calc(100% - 48px))!important;inset:auto auto calc(22px + env(safe-area-inset-bottom)) 50%!important;transform:translateX(-50%)!important;padding:12px 16px!important;border-radius:14px!important;gap:9px}
#gameScreen.living-lesson .build-stage {display:none}
#gameScreen.living-lesson .piece-card {min-height:108px;border-radius:10px!important}
#gameScreen.living-lesson .piece-card-copy strong {font-size:15px!important}
#gameScreen.living-lesson .place-assist,#gameScreen.living-lesson .test-button {min-height:54px;background:var(--academy-metal) center/cover,#dca640!important;border:2px solid #ad792a!important;box-shadow:inset 0 0 0 2px #f5d393,0 3px 0 #775122!important;color:#14283a!important;font-size:23px}
#gameScreen.living-lesson .piece-tray.collapsed {width:min(640px,calc(100% - 48px))!important;min-height:112px;height:auto!important}
#gameScreen.living-lesson .build-play-idea {font-size:17px}
@media(min-width:1367px){body:has(.map-view.active){--ck-header:86px;--ck-rail:0px;--device-nav:84px}.map-view.active{inset:86px 0 84px!important}.map-view.active~*{--ck-rail:0px}body:has(.map-view.active) .kingdom-topbar{height:86px}body:has(.map-view.active) .kingdom-rail{inset:auto 0 0;height:84px;width:100%;display:flex;justify-content:space-around;padding:5px 12px;border-top:2px solid #a88649}body:has(.map-view.active) .kingdom-rail a{width:18%;min-height:70px;flex-direction:column;gap:3px;padding:4px}body:has(.map-view.active) .kingdom-rail :is([data-view=parents],[data-view=settings],[data-view=achievements],.rail-spacer){display:none}}
@media(max-width:900px){
 .map-view .city-preview {width:calc(100% - 32px);grid-template-columns:100px minmax(0,1fr);gap:10px;padding:8px 10px;bottom:13px}.map-view .city-preview-model {width:100px;height:94px}.map-view .city-preview-copy h2 {font-size:22px}.city-preview-actions {gap:7px;flex-direction:column;justify-content:center}.city-preview-actions .city-build-button,.city-walk-button {width:100%;min-height:44px;font-size:15px;padding:7px 12px}.map-view .city-preview-copy {gap:4px 12px}
 #gameScreen.living-lesson .game-header {grid-template-columns:48px minmax(0,1fr) 44px;gap:12px;padding-left:14px!important;padding-right:14px!important}#gameScreen.living-lesson .game-brand {display:none}#gameScreen.living-lesson .build-progress {grid-column:2}#gameScreen.living-lesson .build-help {grid-column:3}#gameScreen.living-lesson #activeLessonName {font-size:25px}.living-build-steps>span {min-width:0;flex:1;font-size:14px;gap:7px;padding:5px 8px}.living-build-steps {gap:10px!important}
 #gameScreen.living-lesson .mission-panel,#gameScreen.living-lesson .mission-panel.collapsed {width:245px!important;padding:12px 9px}.lesson-wonder strong {font-size:22px}.lesson-wonder p {font-size:15px}
}
@media(max-width:600px){
 .map-view .hub-heading {padding:8px 14px 4px}.map-view .hub-heading h1 {font-size:21px}.map-view .hub-heading p {font-size:11px;margin-top:2px}
 .map-view .growing-city {grid-template-rows:62px minmax(0,1fr)}.map-view .city-districts {gap:5px;padding:5px 9px 7px}.map-view .city-districts button {min-height:48px;padding:4px;flex-direction:column;gap:3px;font-size:11px;line-height:1.1}.map-view .city-districts .toy-icon {width:20px;height:20px}.map-view .city-districts button>span:last-child {text-align:center}.map-view .city-districts small {display:none}
 .living-atlas .living-atlas-world {width:940px;min-height:100%;aspect-ratio:2}.living-site-name {font-size:10px}.living-site {width:12%;height:25%}.living-map-key {top:12px;left:10px;font-size:10px;padding:7px 8px;gap:9px}
 .map-view .map-mode-switch {top:10px;right:10px;padding:3px;gap:1px}.map-view .map-mode-switch button {min-height:40px;height:40px;padding:5px 7px;font-size:11px;gap:4px}.map-view .map-mode-switch .toy-icon {width:17px;height:17px}.map-view .city-site-nav {top:62px;right:10px;width:158px}
 .map-view .city-preview {width:calc(100% - 20px);bottom:10px;padding:5px 7px;border-width:7px;border-image-width:7px;grid-template-columns:65px minmax(0,1fr);gap:8px;min-height:128px}.map-view .city-preview-model {height:80px;width:65px;align-self:center}.map-view .city-preview-copy {grid-template-columns:1fr;gap:4px}.map-view .city-preview-copy h2 {font-size:18px}.map-view .city-preview-copy>p:not(.city-eyebrow) {font-size:12px;line-height:1.2}.map-view .city-preview-copy .city-eyebrow {font-size:9px}.city-preview-actions {grid-column:1;grid-row:auto;flex-direction:row;gap:7px}.city-preview-actions .city-build-button,.city-walk-button {min-height:43px;font-size:14px;padding:7px 8px}.city-preview-actions .toy-icon {width:18px;height:18px}.map-view .atlas-pan-hint {bottom:154px;font-size:10px;left:12px}.map-view .city-piece-meter {display:none}
 .walk-invitation {left:12px;top:69px;padding:8px 12px;font-size:16px}.walk-invitation .toy-icon {width:24px}.walk-invitation small {font-size:10px}.walk-stick {left:10px;bottom:20px;grid-template-columns:repeat(3,39px);grid-template-rows:repeat(3,37px);padding:6px}.walk-stick button {min-height:37px}.walk-stick .toy-icon {width:24px;height:24px}.walk-site-prompt {left:auto;right:10px;bottom:20px;transform:none;width:calc(100% - 158px);padding:9px 5px}.walk-near-name {font-size:17px}.walk-near-label {font-size:9px;letter-spacing:.5px}.walk-site-prompt button {width:100%;font-size:15px;min-height:46px;padding:7px}.walk-next {right:10px;bottom:168px;font-size:12px;min-height:44px;padding:8px 10px}
 #gameScreen.living-lesson {--living-header:calc(63px + env(safe-area-inset-top));--living-steps:58px}
 #gameScreen.living-lesson .game-header {gap:8px;grid-template-columns:42px minmax(0,1fr) 40px;padding:calc(6px + env(safe-area-inset-top)) 10px 6px!important}#gameScreen.living-lesson .game-back,#gameScreen.living-lesson .build-help {width:40px;height:44px;min-height:44px;min-width:40px;padding:8px}#gameScreen.living-lesson .build-progress {gap:3px 7px}#gameScreen.living-lesson #activeLessonName {font-size:19px}#gameScreen.living-lesson #activeLessonNumber {font-size:9px}#gameScreen.living-lesson .build-progress-label {font-size:12px}#gameScreen.living-lesson .stability-track {width:45px}
 #gameScreen.living-lesson .living-build-steps {padding:6px 8px;gap:5px!important}.living-build-steps>span {font-size:10px;line-height:1.15;min-height:44px;gap:5px;padding:4px}.living-build-steps b {width:22px;height:22px;font-size:13px}.living-build-steps .toy-icon {width:16px;height:16px}
 #gameScreen.living-lesson .mission-panel,#gameScreen.living-lesson .mission-panel.collapsed {inset:calc(var(--living-header) + var(--living-steps) + 8px) 10px auto!important;width:calc(100% - 20px)!important;max-width:none!important;display:flex;align-items:center;gap:8px;padding:5px 8px;border-width:7px;border-image-width:7px}.lesson-wonder {text-align:left;flex:1}.lesson-wonder strong {font-size:16px;line-height:1.2}.lesson-wonder p {font-size:12px;line-height:1.2;margin:4px 0 0}#gameScreen.living-lesson .puppy-bubble {padding:0;flex:none}#gameScreen.living-lesson #voiceReplayBtn {min-width:44px;width:44px;min-height:44px;padding:8px}#gameScreen.living-lesson .listen-label {display:none}
 #gameScreen.living-lesson .piece-tray,#gameScreen.living-lesson .piece-tray.collapsed {width:calc(100% - 30px)!important;bottom:calc(15px + env(safe-area-inset-bottom))!important;padding:8px 9px!important;height:203px;gap:6px;box-shadow:0 0 0 5px #5c3b24,0 0 0 7px #b3864c,0 7px 16px #14233344!important}#gameScreen.living-lesson .piece-tray:not(.collapsed) {height:203px}#gameScreen.living-lesson .toybox-heading {min-height:21px;height:21px}#gameScreen.living-lesson .tray-title {font-size:16px}#gameScreen.living-lesson .piece-list {min-height:0;flex:1;height:auto;padding:3px 0 5px}#gameScreen.living-lesson .piece-card {min-height:0;max-width:130px}#gameScreen.living-lesson .piece-card-copy strong {font-size:12px!important}#gameScreen.living-lesson .play-actions {min-height:46px;height:46px;gap:7px}#gameScreen.living-lesson .place-assist,#gameScreen.living-lesson .test-button {min-height:46px;font-size:20px}#gameScreen.living-lesson .undo-button,#gameScreen.living-lesson .hint-button,#gameScreen.living-lesson .replay-adventure {min-height:46px;height:46px;font-size:11px}#gameScreen.living-lesson .piece-tray.collapsed {height:auto!important;min-height:95px}
}
@media(max-height:540px) and (min-width:601px){
 .map-view .hub-heading {display:none}.map-view .growing-city {grid-template-rows:45px minmax(0,1fr)}.map-view .city-districts {padding:2px 12px 4px}.map-view .city-districts button {min-height:36px;height:36px;font-size:12px}.map-view .city-districts .toy-icon {width:22px;height:22px}.map-view .city-districts small {display:none}.map-view .city-preview {width:440px;left:10px;transform:none;bottom:10px;min-height:84px;grid-template-columns:58px minmax(0,1fr);padding:4px 7px}.map-view .city-preview-model {width:58px;height:66px}.map-view .city-preview-copy h2 {font-size:16px}.map-view .city-preview-copy>p:not(.city-eyebrow) {display:none}.city-preview-actions {flex-direction:row;grid-row:1/4}.city-preview-actions .city-build-button,.city-walk-button {font-size:12px;min-height:42px;padding:6px}.map-view .atlas-pan-hint {display:none}
 #gameScreen.living-lesson {--living-header:54px;--living-steps:47px}#gameScreen.living-lesson .game-header {grid-template-columns:40px minmax(0,1fr) 40px;padding:5px 12px!important;gap:10px}#gameScreen.living-lesson .game-brand {display:none}#gameScreen.living-lesson .build-progress {grid-column:2}#gameScreen.living-lesson .build-help {grid-column:3}#gameScreen.living-lesson #activeLessonName {font-size:20px}#gameScreen.living-lesson .game-back,#gameScreen.living-lesson .build-help {width:40px;height:42px;min-height:42px}#gameScreen.living-lesson .living-build-steps {padding:3px 12px;gap:8px!important}.living-build-steps>span {min-height:36px;font-size:12px;min-width:0;padding:3px 8px}.living-build-steps b {width:24px;height:24px;font-size:14px}
 #gameScreen.living-lesson .mission-panel,#gameScreen.living-lesson .mission-panel.collapsed {top:110px!important;left:10px!important;width:205px!important;padding:6px;border-width:7px;border-image-width:7px}.lesson-wonder strong {font-size:17px}.lesson-wonder p {font-size:12px;margin:7px 0 0}#gameScreen.living-lesson .puppy-bubble {padding-top:5px}#gameScreen.living-lesson #voiceReplayBtn {height:40px;min-height:40px;font-size:12px}
 #gameScreen.living-lesson .piece-tray,#gameScreen.living-lesson .piece-tray.collapsed {inset:112px 12px 12px auto!important;width:234px!important;transform:none!important;height:calc(100dvh - 124px)!important;padding:8px!important;gap:6px;box-shadow:0 0 0 4px #5c3b24,0 0 0 6px #b3864c!important}#gameScreen.living-lesson .piece-card {min-height:0!important;min-width:94px!important;flex-basis:94px!important}#gameScreen.living-lesson .piece-card-copy strong {font-size:12px!important}#gameScreen.living-lesson .piece-list {min-height:0;flex:1}#gameScreen.living-lesson .play-actions {min-height:46px;gap:5px}#gameScreen.living-lesson .place-assist,#gameScreen.living-lesson .test-button {min-height:46px;font-size:18px}#gameScreen.living-lesson .undo-button,#gameScreen.living-lesson .hint-button {min-height:46px;height:46px}#gameScreen.living-lesson .piece-tray.collapsed {min-height:0;justify-content:center}
}
@media(prefers-reduced-motion:reduce){.living-site *{transition:none!important}.atlas-scroll {scroll-behavior:auto}}
/* Resolve inherited workspace chrome once, at the final cascade layer. */
#gameScreen.living-lesson .game-header {display:grid!important;align-items:center!important}
#gameScreen.living-lesson .build-progress {position:static!important;transform:none!important;left:auto!important}
#gameScreen.living-lesson .piece-tray {display:flex!important;flex-direction:column;grid-template-columns:none!important;grid-template-rows:none!important}
#gameScreen.living-lesson .piece-tray.collapsed {height:auto!important;min-height:110px!important;justify-content:center;align-items:stretch}
#gameScreen.living-lesson .piece-tray.collapsed .play-actions {margin:0;min-height:54px;width:100%;display:flex!important;justify-content:center}
#gameScreen.living-lesson .piece-tray.collapsed .primary-action {flex:1;display:flex;justify-content:center}
#gameScreen.living-lesson .piece-tray.collapsed #testBtn {width:min(350px,100%)}
#gameScreen.living-lesson .piece-tray.collapsed .build-play-idea {text-align:center;margin:0}
.map-view .city-site-nav {color:#29424f}.map-view .city-site-nav button {color:#815f29}.walk-invitation small {color:#f1dfb5}
.walk-site-prompt {display:flex!important;flex-direction:column;align-items:center}.walk-site-prompt>strong {color:#213044}.walk-site-prompt>button {flex:none}
@media(max-width:600px){#gameScreen.living-lesson .mission-panel,#gameScreen.living-lesson .mission-panel.collapsed {display:flex!important;padding:5px 8px!important;border-width:7px!important;border-image-width:7px!important}#gameScreen.living-lesson .piece-tray.collapsed {min-height:100px!important}.map-view .city-site-nav {width:150px}}
@media(max-height:540px) and (min-width:601px){#gameScreen.living-lesson .mission-panel,#gameScreen.living-lesson .mission-panel.collapsed {padding:6px!important;border-width:7px!important;border-image-width:7px!important}#gameScreen.living-lesson .piece-tray.collapsed {height:calc(100dvh - 124px)!important;min-height:0!important}}
.living-atlas .atlas-scroll::after {content:'';display:block;height:170px}
.living-atlas .atlas-scroll {background:var(--academy-paper-image) center/cover,#f4ead5}
@media(min-height:950px) and (min-width:1100px){.living-atlas .atlas-scroll::after {height:70px}}
#gameScreen.living-lesson .piece-tray:not(.collapsed) {height:224px!important;min-height:0!important}
#gameScreen.living-lesson .piece-card {background:var(--academy-paper-image) center/cover,#f4ead5!important}
body:has(#gameScreen.living-lesson.active) #observeModal .modal-card {background:var(--academy-paper-image) center/cover,#f4ead5!important;border:10px solid transparent!important;border-image:var(--academy-frame) 66 fill / 10px stretch!important;color:#172d3c!important;box-shadow:0 8px 35px #122b3b66!important}
@media(max-width:600px){#gameScreen.living-lesson .piece-tray:not(.collapsed) {height:203px!important}.walk-stick {grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,44px);padding:6px;bottom:14px}.walk-stick button {min-width:44px;min-height:44px}.walk-site-prompt {width:calc(100% - 168px);bottom:14px}}
@media(max-height:540px) and (min-width:601px){#gameScreen.living-lesson .piece-tray:not(.collapsed) {height:calc(100dvh - 124px)!important}}
.living-atlas .atlas-scroll::after {background:var(--academy-paper-image) center/cover,#f4ead5}
.map-view .city-site-nav {display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px!important;gap:2px!important;width:192px!important;height:48px!important}
.map-view .city-site-nav>span {display:flex;flex-direction:column;min-width:0;line-height:1.1;gap:1px;font-size:10px;text-align:center}
.map-view .city-site-nav>span b {font-size:12px;width:auto;min-width:0;padding:2px 5px}
.map-view .city-site-nav button {min-width:44px;min-height:44px;width:44px;height:44px;flex:none;color:#805c24;background:transparent}
@media(min-width:1000px) and (min-height:650px){
 #hubScreen.map-view {grid-template-rows:minmax(0,1fr)}
 .map-view .hub-heading {position:absolute;left:24px;top:14px;width:27%;z-index:4;padding:0}
 .map-view .hub-heading h1 {font-size:24px}.map-view .hub-heading p {font-size:12px;max-width:30ch}
 .map-view .growing-city {grid-template-rows:88px minmax(0,1fr)}
 .map-view .city-districts {padding:14px 22px 14px 29%;gap:9px}
 .map-view .city-districts button {font-size:16px;gap:8px;padding:6px 10px}
}
#recordDiscovery {font:700 20px/1.4 var(--kid-font);color:#344b51;padding:0 12px}
@media(min-width:1000px) and (min-height:650px){
 .map-view .hub-heading {display:block;height:60px!important;min-height:0;top:19px}
 .map-view .city-districts {height:88px!important;min-height:0;max-height:88px;grid-template-rows:60px}
 .map-view .city-districts button {height:60px!important;min-height:0}
 .living-site-name {opacity:1;font-size:13px}
}
@media(min-width:1367px){body:has(.map-view.active) .kingdom-rail {flex-direction:row;align-items:center}body:has(.map-view.active) .kingdom-rail a {height:70px}}
.map-view .growing-city[data-mode=city] .city-site-nav {display:none!important}
@media(max-width:600px){
 #hubScreen.map-view:has(.growing-city[data-mode=city]) {grid-template-rows:minmax(0,1fr)}
 .map-view:has(.growing-city[data-mode=city]) .hub-heading {display:none}
 .map-view .growing-city[data-mode=city] {grid-template-rows:minmax(0,1fr)}
 .map-view .growing-city[data-mode=city] .city-districts {display:none}
 .walk-site-prompt .city-build-button {min-width:0}
}
#gameScreen.living-lesson .piece-tray:not(.collapsed) .play-actions {display:flex!important;align-items:stretch;flex:0 0 54px;height:54px;min-height:54px;gap:8px}
#gameScreen.living-lesson .piece-tray:not(.collapsed) .primary-action {display:flex;flex:1;min-width:0;min-height:0;height:54px}
#gameScreen.living-lesson .piece-tray:not(.collapsed) .place-prompt {min-height:0;height:54px;padding:6px;align-content:center;font-size:16px}
#gameScreen.living-lesson .piece-tray:not(.collapsed) .piece-list {flex:1;min-height:0;height:auto;align-items:stretch;padding:0 0 3px}
#gameScreen.living-lesson .piece-tray:not(.collapsed) .piece-card {height:100%!important;min-height:0!important;padding:5px 8px}
#gameScreen.living-lesson .piece-tray:not(.collapsed) .piece-preview {height:100%!important;min-height:0;max-height:100%;display:flex;align-items:center;justify-content:center}
#gameScreen.living-lesson .piece-tray:not(.collapsed) .piece-preview img {width:100%;height:100%!important;min-height:0;max-height:100%;object-fit:contain}
#gameScreen.living-lesson .piece-tray:not(.collapsed) .undo-button,#gameScreen.living-lesson .piece-tray:not(.collapsed) .hint-button {flex:0 0 68px;height:54px;min-height:54px}
@media(max-width:600px),(max-height:540px){
 #gameScreen.living-lesson .piece-tray:not(.collapsed) .play-actions {flex-basis:46px;height:46px;min-height:46px}
 #gameScreen.living-lesson .piece-tray:not(.collapsed) .primary-action,#gameScreen.living-lesson .piece-tray:not(.collapsed) .place-prompt {height:46px}
 #gameScreen.living-lesson .piece-tray:not(.collapsed) .undo-button,#gameScreen.living-lesson .piece-tray:not(.collapsed) .hint-button {flex-basis:47px;height:46px;min-height:46px}
}

/* A generous game pad keeps walking usable on phones and small tablets. */
.walk-stick {grid-template-columns:repeat(3,48px);grid-template-rows:repeat(3,48px)}
.walk-stick button {width:48px;height:48px;min-width:48px;min-height:48px}
.walk-next,.walk-site-prompt button {min-height:48px}
@media(max-width:600px){
 .walk-stick {left:8px;bottom:12px;padding:5px}
 .walk-site-prompt {right:8px;bottom:12px;width:calc(100% - 180px)}
 .walk-next {right:8px;bottom:182px;min-height:48px;font-size:14px}
 .walk-site-prompt button {min-height:48px}
}
@media(max-height:540px) and (min-width:601px){
 .walk-invitation {left:12px;top:68px;font-size:15px;padding:7px 10px}
 .walk-invitation small {display:none}
 .walk-stick {left:12px;bottom:10px;padding:5px}
 .walk-site-prompt {left:auto;right:12px;bottom:10px;transform:none;width:240px;max-width:40%;padding:7px 10px;gap:2px}
 .walk-near-name {font-size:18px}
 .walk-near-label {font-size:10px}
 .walk-site-prompt button {font-size:15px;padding:7px 10px}
 .walk-next {right:12px;bottom:158px;min-height:48px;font-size:14px;padding:8px 12px}
}
