@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&display=swap";.account-gate{position:fixed;inset:0;z-index:200;display:grid;place-items:center;overflow:auto;padding:24px;background:linear-gradient(145deg,#465b3df2,#9b9d65f5);font-family:var(--sans)}.account-gate[hidden]{display:none}.account-card,.account-dialog{color:#42583b;background:#faf3df;border:1px solid #c4bc94;border-radius:18px;padding:28px;width:min(440px,calc(100vw - 32px));font:14px/1.5 var(--sans);box-shadow:0 12px 50px #17271740}.account-card h1,.account-dialog h2{font-family:var(--sans);font-size:25px;line-height:1.25;margin:8px 0 16px}.account-dialog h3{font:600 16px var(--sans);margin:20px 0 10px}.account-card form,.account-dialog form{display:grid;gap:12px;margin:16px 0}.account-card label,.account-dialog label{display:grid;gap:5px;font-size:13px}.account-card input:not([type=checkbox]),.account-card select,.account-dialog input,.account-dialog select{width:100%;min-width:0;padding:10px 12px;border:1px solid #bac497;border-radius:7px;background:#fff9e9;color:inherit;font:inherit}.account-card .account-check{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:12px}.account-card .account-check input{width:16px;height:16px;margin:0}.account-card button,.account-dialog button{font-family:var(--sans);font-size:13px;min-height:34px}.account-card>.primary,.account-card>.outline{width:100%;margin:5px 0}.account-card small,.account-dialog small{display:block;font-size:11px;line-height:1.5;color:#6c795b}.account-links{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.account-card a,.account-dialog a{color:inherit;text-decoration:underline}.account-card [data-account-message],.account-dialog [data-account-message]{font-size:12px;color:#97613e;overflow-wrap:anywhere}.account-dialog{max-height:calc(100dvh - 32px);overflow:auto;position:fixed}.account-dialog::backdrop{background:#243b2e66}.account-close{position:absolute;right:12px;top:10px;width:30px;padding:0;background:none;font-size:24px!important;color:inherit}.account-dialog code{padding:4px 8px;background:#e8e9d0;border-radius:5px;font-size:14px;overflow-wrap:anywhere}.friend-card{padding:12px;border:1px solid #d7d6b5;border-radius:9px;margin:9px 0;overflow-wrap:anywhere}.friend-card>div{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.friend-card button{font-size:11px;min-height:30px;padding:5px 9px}.friend-progress{display:grid;gap:8px}.friend-progress>div{padding:8px 0;border-bottom:1px solid #d7d6b5}.visit-banner{position:fixed;left:50%;transform:translate(-50%);top:calc(var(--hud-bottom,140px) + 8px);z-index:38;max-width:calc(100vw - 24px);padding:8px 12px;background:#faf3df;border:1px solid #b9c49a;border-radius:9px;display:flex;gap:12px;align-items:center;font:12px/1.4 var(--sans);color:#42583b;box-shadow:0 3px 12px #243b2e22}.visit-banner[hidden]{display:none}.visit-banner span{min-width:0;overflow-wrap:anywhere}.visit-banner button{flex-shrink:0;font-size:12px;min-height:30px;padding:4px 9px}body.visiting-village :is(#continue,#claim-supplies,#edit-town,#build-menu,#clock-speed){display:none!important}body.visiting-village :is(#attached-upgrade,#pause-building,#attached-store,#building-worker-controls){display:none!important}body.visiting-village .building-name-inline{cursor:default;background:transparent!important;border-color:transparent!important}@media(max-width:500px){.account-card,.account-dialog{padding:22px 18px}.visit-banner{left:12px;right:12px;transform:none;max-width:none}}.village-event-notice{position:fixed;left:16px;right:auto;top:var(--event-notice-top,150px);z-index:35;width:min(310px,calc(100vw - 24px));padding:10px 12px;border:1px solid #bdc69f;border-radius:10px;background:#faf3dff5;color:#465e3e;box-shadow:0 3px 12px #354b3026;font-family:var(--sans);overflow-wrap:anywhere}.village-event-notice[hidden]{display:none!important}.event-notice-heading{display:flex;align-items:center;gap:7px}.event-notice-heading>.icon,.event-notice-heading [data-event-icon] .icon{width:17px;height:17px}.event-notice-heading b{flex:1;min-width:0;font-size:12px;line-height:1.4}.event-notice-heading [data-event-dismiss]{flex:none;min-width:24px;min-height:24px;padding:0;background:none;font-size:18px;color:inherit}.village-event-notice p{margin:5px 0;font-size:11px;line-height:1.5}.village-event-notice .text-button{padding:3px 0;min-height:24px;font:600 11px var(--sans);text-align:left;color:inherit}.village-event-notice[data-kind=memorial]{border-color:#c3baa5;color:#655f4d}body.in-puzzle .village-event-notice,body:has(#content-view:not([hidden])) .village-event-notice{top:auto;bottom:var(--event-notice-bottom,16px)}html[data-ui-theme=dark] .village-event-notice{background:#303e2df5;color:#e4e9cf;border-color:#758461}@media(max-width:600px){.village-event-notice{left:12px;width:min(280px,calc(100vw - 24px));padding:8px 10px}}.town-editing .village-event-notice{display:none}.village-onboarding{position:fixed;z-index:39;left:50%;top:clamp(100px,18vh,150px);bottom:auto;transform:translate(-50%);width:min(340px,calc(100vw - 28px));max-height:calc(100dvh - 170px);overflow:auto;border:2px solid #b7b384;border-radius:16px;padding:18px;background:#faf2dc;color:#49613e;box-shadow:0 5px #6b7b4b25,0 15px 40px #2a3f3226}.village-onboarding[hidden]{display:none}.village-onboarding>small{font-size:10px;font-weight:700;letter-spacing:.12em;color:#7d8c65}.village-onboarding h2{font-size:23px;line-height:1.2;margin:9px 0}.village-onboarding p{font-size:13px;line-height:1.6;margin:0 0 14px;color:#6a795c}.village-onboarding button{width:100%;min-height:42px;padding:9px 12px;border-radius:10px;background:#6c8d55;color:#fff9e8;font-size:14px;font-weight:600}.village-guide-progress{display:block;font-size:11px;color:#84916e;margin-top:10px}.village-guide-target{outline:3px solid #d9b85e!important;outline-offset:3px;box-shadow:0 0 0 6px #e7cc7830}.village-onboarding:has(~*){isolation:isolate}.nutrition-summary{font-size:12px;line-height:1.6;color:#738463}.nutrition-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:8px;margin:12px 0}.nutrition-tiers>div{padding:10px;border:1px solid #d4d9bc;border-radius:9px;background:#edf0dc;font-size:12px}.nutrition-tiers b,.nutrition-tiers span{display:block}.nutrition-tiers small{font-size:11px;color:#7e8c6c}html[data-ui-theme=dark] .village-onboarding{background:#293d2e;color:#e4ead0;border-color:#7e9067}html[data-ui-theme=dark] .village-onboarding p{color:#bfceb1}html[data-ui-theme=dark] .nutrition-tiers>div{background:#334b37;color:#e7edd6;border-color:#7b8c68}@media(max-height:600px){.village-onboarding{top:70px;bottom:auto;max-height:calc(100dvh - 90px)}}@media(max-width:600px){.village-onboarding{padding:14px}.village-onboarding h2{font-size:20px}}.village-onboarding .village-guide-supplies{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:14px 0 18px;font-size:16px}.village-guide-supplies>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.village-guide-supplies .icon{width:22px;height:22px;flex:none}.tutorial-guided .tutorial-blocked{filter:brightness(.88);opacity:.8;pointer-events:none!important;cursor:default}.tutorial-town #world{filter:brightness(.9);opacity:1}.tutorial-town .region-caption,.tutorial-town .selection-status,.tutorial-town .need-line,.tutorial-town #village-message{opacity:.8}.village-guide-arrow{position:fixed;z-index:45;width:32px;height:48px;transform:translate(-50%);pointer-events:none;filter:drop-shadow(0 2px 3px #38432755)}.village-guide-arrow[hidden]{display:none}.village-guide-arrow svg{display:block;width:100%;height:100%;fill:#f8dc84;stroke:#8e7543;stroke-width:1.5;stroke-linejoin:round;animation:village-guide-point 1s ease-in-out infinite}.village-guide-arrow.points-up{rotate:180deg;transform:translate(50%)}@keyframes village-guide-point{0%,to{translate:0 -3px}50%{translate:0 5px}}.village-guide-arrow.still svg{animation:none}@media(prefers-reduced-motion:reduce){.village-guide-arrow svg{animation:none}}.curriculum-scene{display:block;width:100%;height:auto;aspect-ratio:16/9;max-height:440px;font-family:DM Sans,system-ui,sans-serif}.curriculum-scene text{pointer-events:none}.lesson-entity{cursor:pointer;outline:none}.lesson-entity:hover,.lesson-entity:focus-visible{filter:drop-shadow(0 0 3px #fff8d0)}.lesson-entity:focus-visible{outline:2px solid #8b9d64;outline-offset:2px}.lesson-blanks{margin:12px 0;padding:16px;white-space:pre-wrap;overflow-wrap:anywhere;font:13px/2 monospace;color:#46643c;background:#e9eddb;border:1px solid #c2cda6;border-radius:12px;overflow:auto;max-height:560px}.lesson-blanks textarea{display:inline-block;vertical-align:middle;resize:vertical;width:min(250px,95%);min-width:80px;min-height:30px;max-height:180px;padding:3px 6px;border:1px dashed #93a579;border-radius:4px;background:#fcf8e9;color:#3f5f37;font:inherit;line-height:1.5;white-space:pre;box-sizing:border-box}.lesson-blanks[hidden]{display:none}.lesson-api{margin:10px 0;padding:10px 12px;border:1px solid #cdd4b4;border-radius:10px;background:#eef0df;font-size:13px}.lesson-api summary,.lesson-watch summary,.lesson-files summary,.lesson-inputs summary{cursor:pointer;color:#526b46;font-size:13px;font-weight:600}.lesson-api p{font-size:12px;margin:9px 0;line-height:1.6;overflow-wrap:anywhere}.lesson-api code{font-size:12px;white-space:pre-wrap}.lesson-scenarios{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:14px 18px;border-top:1px solid #cdd4b4}.lesson-scenarios>label{font-size:12px;color:#667b57}.lesson-scenarios select{max-width:100%;min-width:0;border:1px solid #b8c69e;background:#f8f4df;color:#47613c;border-radius:7px;padding:6px 9px;font-size:13px}.lesson-inputs{flex-basis:100%;min-width:0}.lesson-inputs dl,.lesson-watch dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}.lesson-inputs dl>div,.lesson-watch dl>div{padding:7px 9px;border-radius:7px;background:#edf0df;min-width:0}.lesson-inputs dt,.lesson-watch dt{font-size:11px;font-weight:700;color:#657c53}.lesson-inputs dd,.lesson-watch dd{margin:3px 0 0;font-size:12px;overflow-wrap:anywhere;max-height:100px;overflow:auto}.scene-inspector{font-size:12px!important;line-height:1.5!important;min-height:36px;margin:0 18px 8px;padding:8px 10px;background:#f5edda;border-radius:8px}.lesson-playback{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:8px 18px;font-size:12px}.lesson-playback button{min-width:32px;min-height:32px;padding:5px 9px;border:1px solid #bbc89f;border-radius:7px;background:#e3eacf;color:#48613d}.lesson-playback input{min-width:70px;flex:1;width:80px;accent-color:#7a9863}.lesson-playback>span{flex-basis:100%;color:#6c7f60;font-size:11px}.lesson-watch,.lesson-files{padding:10px 18px}.lesson-files pre{background:#f3f0df;max-height:180px;overflow:auto;padding:10px;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.lesson-files b{font-size:12px}.lesson-checks{display:flex;flex-wrap:wrap;gap:6px;padding:8px 18px 16px}.lesson-checks>span{padding:5px 8px;border:1px solid #d4c1a0;border-radius:7px;font-size:11px;background:#f0e5cf;color:#806a4b}.lesson-checks>span.check-pass{background:#e3edd3;border-color:#b2c99c;color:#517044}.lesson-checks small{display:block;max-width:240px;overflow-wrap:anywhere}.chapter-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.chapter-tabs button{padding:10px 15px;border:1px solid #bcc6a1;border-radius:10px;background:#e9edda;font-size:14px}.chapter-tabs button[aria-selected=true]{background:#6c8c58;color:#fff8e6}.chapter-intro{padding:18px 20px;border:1px solid #cbd0b5;background:#edf0df;border-radius:14px;margin-bottom:20px}.chapter-intro h2{margin:0 0 8px}.chapter-intro p{font-size:14px;margin:0}.lesson-card-art .curriculum-scene{height:100%;min-height:150px;max-height:190px;pointer-events:none}.lesson-card-art .curriculum-scene text{font-size:15px}.lesson-card .lesson-number{font-size:16px}.chapter-capstone{border:2px solid #bc9e58!important}.lesson-difficulty{font-size:12px;display:block;color:#798965;margin:5px 0}.puzzle-scene #code-editor:not([readonly]){min-height:280px;font-size:14px;line-height:1.65;tab-size:4}.puzzle-scene .stage-caption p{font-size:14px;margin:6px 0}.puzzle-scene .stage-caption small{font-size:12px}.puzzle-scene #stage-scene{min-width:0;overflow:hidden}html[data-ui-theme=dark] :is(.lesson-api,.lesson-blanks,.chapter-intro,.chapter-tabs button,.lesson-watch dl>div,.lesson-inputs dl>div,.scene-inspector,.lesson-files pre){background:#344838;color:#e5ead2;border-color:#748362}html[data-ui-theme=dark] :is(.lesson-api summary,.lesson-api p,.lesson-watch summary,.lesson-inputs summary,.lesson-files summary,.lesson-watch dt,.lesson-inputs dt,.lesson-scenarios>label){color:#c1d0ad}html[data-ui-theme=dark] :is(.lesson-blanks textarea,.lesson-scenarios select,.lesson-playback button){background:#263b2e;color:#e2ead0;border-color:#819568}html[data-ui-theme=dark] .chapter-tabs button[aria-selected=true]{background:#65864d;color:#fff8e5}@media(max-width:600px){.lesson-inputs dl,.lesson-watch dl{grid-template-columns:minmax(0,1fr)}.lesson-blanks{font-size:12px;padding:10px}.lesson-blanks textarea{width:min(210px,90%)}.lesson-scenarios,.lesson-watch,.lesson-files,.lesson-playback{padding-left:12px;padding-right:12px}.chapter-tabs{gap:5px}.chapter-tabs button{padding:8px 10px;font-size:12px}.curriculum-scene{min-height:180px}.puzzle-scene #code-editor:not([readonly]){font-size:13px}}.scene-lantern text{fill:#f8f0d7}.weather-quiz{position:fixed;right:16px;bottom:140px;z-index:35;width:min(320px,calc(100vw - 24px));max-height:calc(100dvh - 170px);overflow:auto;padding:16px;border:2px solid #b9b68a;border-radius:16px;background:#faf3df;color:#496240;box-shadow:0 5px #777d5544,0 12px 30px #243c3026;font-size:13px;line-height:1.45}.weather-quiz[hidden]{display:none}.weather-quiz header{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:700}.weather-quiz-later{flex:0 0 28px;min-height:28px;font-size:20px;border-radius:8px}.weather-quiz-later:hover{background:#e5e9d3}.weather-quiz p{margin:8px 0 12px;color:#6a775c}.weather-quiz pre{margin:0 0 12px;padding:12px;background:#e9edda;border:1px solid #c7cda9;border-radius:10px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.6}.weather-quiz-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.weather-quiz-choices button{min-width:0;min-height:40px;padding:8px;border:1px solid #bcc99e;border-radius:9px;background:#eef0db;font-family:monospace;overflow-wrap:anywhere}.weather-quiz-choices button:hover:not(:disabled){background:#d9e4c6;border-color:#7c9969}.weather-quiz-choices button.is-wrong{background:#eddfcc;border-color:#c6aa89}.weather-quiz-feedback{display:block;margin-top:10px;font-size:12px}.weather-quiz-feedback:empty{display:none}.weather-quiz.is-collapsed{width:auto;max-width:calc(100vw - 24px);padding:0}.weather-quiz-reopen{padding:10px 14px;min-height:40px;font-size:12px}.weather-quiz button:focus-visible{outline:2px solid #678654;outline-offset:2px}html[data-weather=rain] .weather-layer{opacity:.35}html[data-weather=rain] .weather-pill{background:#e5e8da}html[data-weather=rain] .puzzle-rain{opacity:.35;animation-duration:1.2s}html[data-ui-theme=dark] .weather-quiz{background:#293b32;color:#e4e6cc;border-color:#6e8060}html[data-ui-theme=dark] .weather-quiz p{color:#bdc8af}html[data-ui-theme=dark] .weather-quiz pre,html[data-ui-theme=dark] .weather-quiz-choices button{background:#354939;color:#edf0d7;border-color:#718260}@media(max-height:500px){.weather-quiz{bottom:12px;max-height:calc(100dvh - 24px)}}:root{font-family:DM Sans,system-ui,sans-serif;color:#374936;background:#f6f3ea;font-synthesis:none;--paper:#f8f5ec;--ink:#374936;--muted:#7c846e;--green:#537354;--line:#dedfce;--ochre:#c18d4d;--serif:"Fraunces",Georgia,serif}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer;color:inherit}button{border:0;background:none}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible{outline:.1875rem solid #ba8c51;outline-offset:.25rem}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none}button:not(:disabled),a{-webkit-tap-highlight-color:transparent}button:not(:disabled):hover{filter:brightness(.97)}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500}h1{font-size:3rem;letter-spacing:-.1rem;line-height:1.08}h2{font-size:1.8125rem;letter-spacing:-.04375rem;line-height:1.15}p{font-size:.875rem;line-height:1.7;color:#737c69}.icon{width:1.3125rem;height:1.3125rem;flex-shrink:0;vertical-align:middle}button .icon{pointer-events:none}.eyebrow{font-size:.625rem;font-weight:700;letter-spacing:.1125rem;line-height:1.6;color:#78836c;display:flex;gap:.4375rem;align-items:center}.eyebrow .icon{width:1rem;height:1rem}.micro{font-size:.6875rem;line-height:1.7;color:#858b79}.live-dot{display:inline-block;width:.375rem;height:.375rem;background:#769066;border-radius:50%;flex-shrink:0}.warming{background:#c79758}.topbar{height:5.5rem;display:flex;align-items:center;padding:0 2.375rem;gap:1.375rem;border-bottom:.0625rem solid #e1e2d5;background:var(--paper);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:.625rem;font-family:var(--serif);font-size:2.375rem;font-weight:600;letter-spacing:-.125rem}.brand>.icon{width:2.125rem;height:2.125rem;stroke:#71825a;stroke-width:1.6;transform:rotate(-12deg)}.brand-dot{color:#b18450}.header-divider{height:1.6875rem;width:.0625rem;background:var(--line);margin-left:.25rem}.brand-tagline{max-width:9.0625rem;font-size:.6875rem;line-height:1.6;color:#8b8d7b}.topbar nav{display:flex;gap:.5rem;margin:auto}.nav{display:flex;gap:.5rem;align-items:center;font-size:.75rem;font-weight:600;padding:.75rem 1.0625rem;border-radius:.5625rem;color:#858b79}.nav .icon{width:1.0625rem;height:1.0625rem}.nav.active{background:#e9eddf;color:#526b49}.wallet{display:flex;align-items:center;gap:1.25rem}.currency{display:flex;align-items:center;gap:.4375rem;font-size:.8125rem}.currency .icon{color:#8b9876}.currency.coins .icon{color:#b39053;fill:#ecdfac}.currency b{font-weight:600}.avatar{height:2.3125rem;width:2.3125rem;border:.0625rem solid #d9ddce;background:#e9eddf;border-radius:50%;display:grid;place-items:center}.avatar .icon{width:1.125rem}#town-view{height:calc(100svh - 5.5rem);min-height:45rem;position:relative;overflow:hidden;background:#d5dfcf}#town-view[hidden],#content-view[hidden]{display:none}#world{position:absolute;left:14.6875rem;right:-5.625rem;top:0;bottom:0}.world-wash{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#f6f3ea 0%,#f6f3eaf5 15%,#f6f3ea40 30%,transparent 46%),linear-gradient(0deg,#edf0e3a8,transparent 18%)}.town-sidebar{position:relative;z-index:2;width:18.125rem;padding:2.1875rem 0 0;margin-left:2.375rem;pointer-events:none}.town-sidebar>*{pointer-events:auto}.town-sidebar>.eyebrow{font-size:.5rem;letter-spacing:.09375rem;margin-bottom:.75rem}.town-sidebar h1{margin-bottom:.75rem;font-size:3.3125rem}.intro{font-family:var(--serif);font-size:1rem;line-height:1.55;color:#828871;margin-bottom:1.375rem}.town-progress{margin-bottom:1.5625rem;width:16.0625rem}.progress-heading{display:flex;align-items:center;justify-content:space-between;font-size:.625rem}.level-badge{display:flex;align-items:center;gap:.375rem}.level-badge .icon{height:.9375rem;width:.9375rem;color:#9a865a}.level-badge b{font-weight:500}#xp-label{font-size:.5625rem;color:#8a8f7c}.progress-track{height:.3125rem;background:#e0e3d3;border-radius:.25rem;margin:.625rem 0 .375rem;overflow:hidden}.progress-track i{display:block;height:100%;background:#95a27a;border-radius:.25rem;transition:width .5s}.town-progress .micro{font-size:.5625rem}.quest-card{background:#faf8ef;border:.0625rem solid #dfe2cf;border-radius:.9375rem;box-shadow:0 .5625rem 1.375rem #52613b08;padding:1.1875rem;width:16.4375rem}.quest-card>.eyebrow{font-size:.5rem;letter-spacing:.0875rem;margin-bottom:.625rem;color:#8b9778}.quest-card h2{font-size:1.5625rem;line-height:1.2;margin:.5625rem 0}.quest-card p{font-size:.6875rem;line-height:1.65;margin-bottom:.8125rem}.quest-illustration{height:7.25rem;border-radius:.5625rem;overflow:hidden;margin-bottom:.9375rem}.lesson-tag{display:inline-flex;padding:.25rem .5rem;background:#e9eddf;color:#6d805f;border-radius:.3125rem;font-size:.5625rem;font-weight:500;white-space:nowrap}.quest-reward{display:flex;gap:.9375rem;align-items:center;font-size:.625rem;margin:.75rem 0 1rem;color:#8b885f}.quest-reward>span{display:flex;align-items:center;gap:.25rem}.quest-reward .icon{width:.9375rem;height:.9375rem;stroke-width:1.5}.primary{background:#557453;color:#fffdf3;min-height:2.6875rem;border-radius:.5rem;padding:.6875rem 1rem;font-size:.75rem;font-weight:500;display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;box-shadow:0 .1875rem #3e5e3d;transition:background .2s,transform .2s}.primary:hover:not(:disabled){background:#486848;transform:translateY(-.0625rem)}.primary .icon{width:1.0625rem;height:1.0625rem}.placement-link{padding:1.125rem .125rem;text-align:left;font-size:.625rem;line-height:1.8;color:#969a86;max-width:16.875rem}.placement-link>span{display:flex;align-items:center;color:#7d886c;font-size:.625rem;gap:.3125rem}.placement-link .icon{width:.8125rem;height:.8125rem}.save-note{display:flex;align-items:center;gap:.3125rem;font-size:.5625rem;color:#929a85;margin-top:.125rem}.save-note .icon{width:.75rem;height:.75rem}.world-heading{position:absolute;top:2.3125rem;left:43%;text-align:center;pointer-events:none}.world-heading .eyebrow{justify-content:center;font-size:.5rem;letter-spacing:.125rem;color:#7a8c70}.world-heading h2{font-size:2.125rem;margin:.5625rem 0;color:#53664c}.world-subtitle{font-size:.6875rem;color:#87967b}.world-bottom{position:absolute;bottom:5.6875rem;left:24.375rem;right:2.1875rem;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.explore-hint{display:flex;align-items:center;gap:.5rem;font-size:.625rem;color:#6e8067;background:#edf0e0af;border:.0625rem solid #dfe5d2;padding:.5625rem .8125rem;border-radius:1.875rem}.explore-hint .icon{width:.875rem;height:.875rem}.explore-hint>span{margin:0 .25rem}.camera-controls{display:flex;gap:0;padding:.25rem;border-radius:.5625rem;border:.0625rem solid #d8dfcb;background:#faf9eee8;pointer-events:auto}.camera-controls button{width:2.0625rem;height:2rem;display:grid;place-items:center}.camera-controls button+button{border-left:.0625rem solid #e1e5d6}.camera-controls .icon{height:1rem;width:1rem}.town-toolbar{position:absolute;bottom:1.375rem;left:24.375rem;right:2.1875rem;max-width:43.125rem;border:.0625rem solid #d7deca;border-radius:.75rem;background:#faf8eeed;padding:.5625rem .9375rem;display:flex;align-items:center;gap:.4375rem;box-shadow:0 .3125rem 1.25rem #68724a0c}.toolbar-title{font-size:.5rem;letter-spacing:.09375rem;color:#96a085;padding:0 .8125rem 0 .0625rem;border-right:.0625rem solid #dfe3d3;white-space:nowrap}.town-toolbar button{display:flex;align-items:center;gap:.4375rem;padding:.5625rem;font-size:.6875rem;white-space:nowrap}.town-toolbar button>.icon{width:1.0625rem;height:1.0625rem;color:#849471}.town-toolbar button>span{font-size:.5625rem;color:#919a80;display:flex;align-items:center;gap:.1875rem}.town-toolbar button>span .icon{width:.75rem;height:.75rem}.town-toolbar #difficulty{margin-left:auto;border-left:.0625rem solid var(--line);padding-left:1rem}.world-labels{pointer-events:none;position:absolute;inset:0}.map-label{position:absolute;display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem .375rem .375rem;border-radius:.4375rem;background:#fcf9eeed;border:.0625rem solid #d5ddc9;box-shadow:0 .25rem .5rem #40593312;pointer-events:auto;font-size:.5625rem}.map-label>span{border-radius:.25rem;background:#e7ebdc;display:grid;place-items:center;height:1.4375rem;width:1.4375rem;color:#748565}.map-label .icon{width:.875rem;height:.875rem}.map-label small{margin-left:.1875rem;padding:.1875rem .25rem;background:#f0e7ce;border-radius:.25rem;color:#a7905e;font-size:.5rem}.workshop{left:58%;top:40%}.studio{left:40%;top:58%}.market{left:60%;top:72%}.mini-scene{height:100%;width:100%;position:relative;overflow:hidden;background:#e5ead8}.mini-cloud{position:absolute;height:.5rem;width:2.8125rem;background:#f5f6e9;border-radius:50%;top:1.5625rem}.c1{left:.9375rem}.c2{right:1.3125rem;top:1.0625rem;width:1.6875rem}.mini-ground{position:absolute;left:-15%;right:-15%;height:90%;bottom:-55%;background:#b8c393;border-radius:50%}.mini-river{position:absolute;background:#93b9b1;width:38%;height:65%;bottom:-15%;left:36%;transform:rotate(-20deg)}.mini-bridge{width:65%;height:1.0625rem;background:repeating-linear-gradient(90deg,#b29266 0 .4375rem,#d0b289 .4375rem .5rem);position:absolute;bottom:32%;left:17%;transform:rotate(-12deg);border-top:.1875rem solid #937a53;border-bottom:.1875rem solid #937a53;box-shadow:0 .375rem #79938733}.mini-tree{position:absolute;height:2.5rem;width:.5rem;background:#9b835a;bottom:18%;left:20%;border-radius:.25rem}.mini-tree:before,.mini-tree:after{content:"";position:absolute;bottom:1.125rem;left:-.875rem;width:2.1875rem;height:2.3125rem;background:#8d9e70;border-radius:45% 55% 40% 60%;box-shadow:inset .3125rem .25rem #a5b583}.mini-tree:after{left:-.625rem;bottom:2rem;width:1.6875rem;height:1.75rem}.mini-tree.t2{left:83%;bottom:40%;transform:scale(.75)}.mini-tree.t3{left:51%;bottom:23%;transform:scale(.9)}.mini-cart{position:absolute;left:45%;bottom:46%;width:1.375rem;height:.9375rem;background:#c18a62;border-radius:.1875rem;box-shadow:.1875rem -.4375rem 0 -.0625rem #e2c899}.mini-cart:after{content:"";position:absolute;bottom:-.25rem;width:.4375rem;height:.4375rem;border-radius:50%;background:#75684f;box-shadow:1rem 0 #75684f}.mini-spark{position:absolute;left:69%;top:20%;color:#c8a266;font-size:1.25rem}.mini-stall{position:absolute;width:4.375rem;height:1.5625rem;background:#b18c62;bottom:25%;left:35%;border:.1875rem solid #94704e}.mini-stall:before{content:"";position:absolute;left:-.375rem;top:-1.5625rem;width:4.875rem;height:1.25rem;background:repeating-linear-gradient(90deg,#8e9f74 0 .75rem,#eadfbf .75rem 1.5rem);transform:skew(-8deg);border-radius:.1875rem}.mini-stall:after{content:"";position:absolute;width:4.375rem;height:1.875rem;border-left:.1875rem solid #94704e;border-right:.1875rem solid #94704e;left:-.1875rem;top:-1.75rem}.mini-basket{width:1.25rem;height:.9375rem;background:#c7976b;position:absolute;bottom:23%;left:18%;border-radius:.1875rem .1875rem .5rem .5rem}.mini-basket:before{content:"";position:absolute;top:-.25rem;width:.5625rem;height:.5rem;border-radius:50%;background:#b97974;box-shadow:.5rem 0 #b97974,.25rem -.25rem #b97974}.mini-basket.b2{left:77%;transform:scale(.8)}#content-view{padding:2.8125rem 7vw 4.375rem;max-width:100rem;margin:auto;min-height:calc(100svh - 5.5rem);background:var(--paper)}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.875rem}.page-heading h1{margin:.75rem 0;font-size:2.6875rem}.page-heading p{font-size:.8125rem}.outline{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:.0625rem solid #d5dcc8;background:#fcfaf1;border-radius:.5rem;padding:.6875rem .9375rem;font-size:.75rem;min-height:2.625rem}.outline .icon{width:1rem;height:1rem}.journey-summary{display:flex;justify-content:space-between;background:#e9eddf;border:.0625rem solid #d9dfca;border-radius:.5625rem;padding:1rem 1.25rem;margin-bottom:1.375rem;font-size:.75rem;color:#7f8a70}.journey-summary>span:first-child{display:flex;gap:.625rem;align-items:center;color:#586e4e}.lesson-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4375rem}.lesson-card{text-align:left;border:.0625rem solid #dfe3d2;background:#fcfaf2;border-radius:.75rem;padding:0;overflow:hidden;transition:transform .2s}.lesson-card:not(:disabled):hover{transform:translateY(-.25rem)}.lesson-card.locked{opacity:.6;filter:saturate(.5)}.lesson-card-art{height:9.375rem;position:relative}.lesson-number{position:absolute;left:.875rem;top:.875rem;border:.0625rem solid #d9dfc8;background:#fcfaefdd;border-radius:50%;display:grid;place-items:center;width:1.875rem;height:1.875rem;font-family:var(--serif);font-size:.75rem}.completed .lesson-number{background:#6f8b62;color:#fff}.lesson-number .icon{width:1.0625rem;height:1.0625rem}.lesson-card-body{padding:1.25rem}.lesson-card-body>.eyebrow{font-size:.5rem;letter-spacing:.09375rem}.lesson-card h2{font-size:1.4375rem;margin:.5625rem 0 1.25rem}.lesson-card-footer{display:flex;align-items:center;justify-content:space-between;font-size:.625rem;color:#829071}.lesson-card-footer .icon{width:1rem;height:1rem}.completion{display:flex;align-items:center;gap:.3125rem}.journal-badge{display:flex;align-items:center;gap:.5625rem;font-size:.75rem}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.375rem}.note-card{padding:1.5625rem;border:.0625rem solid var(--line);border-radius:.75rem;background:#fcfaf3;position:relative}.note-icon{display:grid;place-items:center;background:#e9eddf;color:#7c8f6c;width:2.5rem;height:2.5rem;border-radius:.625rem;margin-bottom:1.25rem}.note-card h2{font-size:1.5625rem;margin:.5rem 0 .75rem}.note-card p{font-size:.75rem}.undiscovered{opacity:.65}.text-button{display:inline-flex;align-items:center;gap:.375rem;font-size:.6875rem;padding:.3125rem 0;color:#7c8969}.text-button .icon{height:.9375rem;width:.9375rem}dialog{border:.0625rem solid #dfe3d1;border-radius:1.1875rem;padding:0;background:var(--paper);color:var(--ink);max-width:31.875rem;width:calc(100% - 1.875rem);max-height:92svh;box-shadow:0 1.5rem 6.25rem #25351f40}dialog::backdrop{background:#29382b65;-webkit-backdrop-filter:blur(.3125rem);backdrop-filter:blur(.3125rem)}#modal-content{padding:2.125rem;position:relative}dialog h2{margin:.8125rem 0;font-size:2rem}dialog p{font-size:.8125rem}.dialog-close{position:absolute;right:.875rem;top:.875rem}.icon-button{width:1.875rem;height:1.875rem;display:grid;place-items:center;background:#e9eddf;border-radius:50%}.icon-button .icon{height:1rem;width:1rem}.building-art{height:10rem;margin-top:1.25rem;border-radius:.75rem;overflow:hidden}.building-stages{display:flex;gap:.75rem;margin:1.375rem 0}.building-stages>div{flex:1;font-size:.625rem;color:#969e88;line-height:1.5}.building-stages>div>span{width:1.75rem;height:1.75rem;display:grid;place-items:center;border-radius:50%;background:#e6e9da;margin-bottom:.4375rem}.building-stages .built{color:#5b7653}.building-stages .built>span{background:#6c895f;color:#fff}.building-stages .icon{width:1rem;height:1rem}.upgrade-preview{background:#ecefdf;padding:1rem;border-radius:.5625rem;margin:1.25rem 0}.upgrade-preview b{font-size:.75rem}.upgrade-preview p{font-size:.6875rem;margin:.3125rem 0}.upgrade-preview .quest-reward{margin:.75rem 0 0}.difficulty-options{display:flex;flex-direction:column;gap:.6875rem;margin:1.4375rem 0}.difficulty-option{display:flex;align-items:center;gap:.8125rem;border:.0625rem solid #dce1ce;border-radius:.625rem;text-align:left;padding:1rem}.difficulty-option.selected{border:.0625rem solid #81956f;background:#edf0e3}.difficulty-option>span:nth-child(2){flex:1}.difficulty-option b{font-size:.875rem;display:block}.difficulty-option small{font-size:.6875rem;color:#839073;display:block;margin:.3125rem 0}.difficulty-mark{width:2.5rem;height:2.5rem;display:grid;place-items:center;background:#e5ead8;border-radius:.625rem;color:#839670}.reward-small{font-size:.625rem;color:#a08d5d}.field-label{display:block;font-size:.6875rem;font-weight:500;margin:1.25rem 0 .5rem}.input-row{display:flex;gap:.5625rem}input:not([type=checkbox]):not([type=range]):not([type=file]){background:#fffdf5;border:.0625rem solid #d7ddc8;border-radius:.4375rem;padding:.625rem .75rem;color:var(--ink);min-width:0}.input-row input{flex:1}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1875rem 0;border-bottom:.0625rem solid #dfe4d1}.settings-row b{font-size:.75rem;font-weight:500}.settings-row small{display:block;font-size:.6875rem;color:#89947b;margin-top:.3125rem}input[type=checkbox]{accent-color:#66845b;width:1.0625rem;height:1.0625rem;cursor:pointer}.save-tools{display:flex;gap:.625rem;margin:1.5rem 0 .75rem}.import-label{cursor:pointer}.celebration-icon{display:grid;place-items:center;width:4.0625rem;height:4.0625rem;background:#e3ead6;color:#7c9668;border-radius:50%;margin:.625rem 0 1.375rem}.celebration-icon .icon{width:1.875rem;height:1.875rem}.placement-code{background:#e9eddf;padding:1.25rem;border-radius:.625rem;font-size:.8125rem;line-height:1.8;color:#5b7353;overflow:auto}.placement-answers{display:flex;gap:.625rem;margin:1.25rem 0}.placement-answers button{flex:1}.success-note{color:#648051;background:#e8efde;padding:.8125rem;border-radius:.5rem;font-size:.75rem}.feedback-note{color:#9b744e;background:#f1e9d7;padding:.8125rem;border-radius:.5rem;font-size:.75rem}.world-fallback{position:absolute;inset:10% 15% 20%;background:#f7f4e9;border:.0625rem solid #dbe0ce;border-radius:1.25rem;overflow:hidden;padding:1.5625rem}.world-fallback>.mini-scene{height:50%}.world-fallback h2{margin-top:1.25rem}#toast{position:fixed;left:50%;bottom:1.75rem;transform:translate(-50%,.9375rem);z-index:100;background:#3f5d40;color:#fff9e9;padding:.875rem 1.375rem;border-radius:.625rem;box-shadow:0 .3125rem 1.875rem #24362330;font-size:.75rem;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none;max-width:90vw}#toast.visible{opacity:1;transform:translate(-50%)}dialog.wide{max-width:67.5rem}.wide #modal-content{padding:1.875rem}.puzzle-header{display:flex;align-items:center;justify-content:space-between;padding-right:1.875rem;gap:1.25rem}.puzzle-header h2{font-size:1.9375rem;margin-bottom:.625rem}.puzzle-header .lesson-tag{font-size:.625rem;padding:.375rem .625rem}.puzzle-header .eyebrow{font-size:.5rem}.puzzle-story{max-width:46.25rem;margin-bottom:1.4375rem}.puzzle-layout{display:grid;grid-template-columns:1.12fr 1fr;gap:1.5rem}.puzzle-stage{border:.0625rem solid #dbe1cf;background:#fdfbf3;border-radius:.75rem;overflow:hidden;align-self:start}.stage-heading{display:flex;justify-content:space-between;gap:.5rem;padding:.8125rem .9375rem;border-bottom:.0625rem solid #e1e5d5;font-size:.625rem;line-height:1.6}.stage-heading>span:first-child{display:flex;align-items:center;gap:.4375rem;max-width:72%}.stage-heading .icon{width:1.0625rem;height:1.0625rem;color:#81956f}.stage-heading>span:last-child{font-size:.4375rem;letter-spacing:.0625rem;color:#a2aa94;align-self:center;white-space:nowrap}#stage-status.stage-success{color:#54734e}.stage-caption{padding:1rem;font-size:.6875rem;color:#879078;line-height:1.8;min-height:3.875rem}.stage-caption b{color:#5f7655;font-weight:500}.code-panel{display:flex;flex-direction:column;min-width:0}.code-tabs{display:flex;gap:1.25rem;border-bottom:.0625rem solid #dbe0cd;margin-bottom:.875rem}.code-tabs button{font-size:.6875rem;padding:0 0 .75rem;display:flex;align-items:center;gap:.4375rem;color:#9aa38d;border-bottom:.125rem solid transparent}.code-tabs button.active{color:#57764e;border-bottom-color:#829b70}.code-tabs .icon{width:.9375rem;height:.9375rem}.tool-tip{font-size:.6875rem;line-height:1.7;margin-bottom:.75rem}.command-options{display:flex;flex-wrap:wrap;gap:.4375rem}.command-chip{display:flex;align-items:center;gap:.25rem;text-align:left;border:.0625rem solid #d9e0cb;border-radius:.375rem;padding:.4375rem;background:#edf0e3;font-size:.625rem;line-height:1.7}.command-chip .icon{width:.75rem;height:.75rem;flex-shrink:0}.command-chip code{white-space:pre-wrap}.block-list{margin-top:.75rem;max-height:9.5rem;overflow:auto}.code-block{display:flex;align-items:center;gap:.4375rem;margin-bottom:.3125rem;border:.0625rem solid #e0e5d5;border-radius:.375rem;background:#fcfbf4;padding:.4375rem;font-size:.625rem}.code-block code{white-space:pre-wrap;flex:1;line-height:1.6}.line-number{font-size:.5625rem;color:#b1b7a5}.code-block button{padding:.1875rem .25rem;color:#8c987d}.empty-blocks{border:.0625rem dashed #d3dcc3;border-radius:.4375rem;text-align:center;padding:.875rem;font-size:.625rem;line-height:1.8;color:#a0aa90}.code-heading{display:flex;justify-content:space-between;align-items:center;margin:1rem 0 .5625rem;gap:.625rem;font-size:.5rem;letter-spacing:.0625rem;color:#8b997c}#python-status{font-size:.5rem;letter-spacing:0;display:flex;align-items:center;gap:.3125rem}.code-heading .live-dot{width:.3125rem;height:.3125rem}#code-editor{width:100%;height:10.3125rem;resize:vertical;border:.0625rem solid #dce2cf;border-radius:.5rem;padding:.875rem;background:#eff2e6;color:#526d4b;line-height:1.8;font:.6875rem/1.8 ui-monospace,SFMono-Regular,Menlo,monospace;tab-size:4;min-height:6.25rem;max-height:21.875rem}#code-editor:not([readonly]){background:#fffdf4;border-color:#a1b18e}.code-actions{display:flex;justify-content:space-between;margin-top:.375rem}#puzzle-feedback{font-size:.6875rem;line-height:1.7;color:#8a947b;margin:.8125rem 0;min-height:2.1875rem}#puzzle-feedback b{display:block;font-weight:500}#puzzle-feedback pre{white-space:pre-wrap;font-size:.625rem;max-height:6.25rem;overflow:auto}.success-feedback{background:#e5edda;border:.0625rem solid #d1ddc1;padding:.8125rem;border-radius:.5rem;color:#57774f!important}.success-feedback span{display:block;margin:.3125rem 0}.success-feedback .icon{width:.9375rem;height:.9375rem}.hint-feedback{background:#f0ecda;padding:.75rem;border-radius:.5rem;color:#908456!important}.hint-feedback .icon{height:.9375rem;width:.9375rem}.bridge-game{height:17.5rem;position:relative;overflow:hidden;background:linear-gradient(#dce6d7,#edf0de)}.puzzle-sun{width:2.625rem;height:2.625rem;border-radius:50%;background:#f2ddaa;position:absolute;right:2.8125rem;top:1.625rem;box-shadow:0 0 3.125rem #f9e9ba}.puzzle-cloud{position:absolute;top:2.5rem;left:2.5rem;width:5.625rem;height:.8125rem;background:#f9f9ed;border-radius:50%}.bank{position:absolute;bottom:0;width:27%;height:6.5625rem;background:#b5bf8e;border-top:.5rem solid #9aa879;box-shadow:inset 0 -1.5625rem #b49d74}.left-bank{left:0;border-radius:0 2.5rem 0 0}.right-bank{right:0;border-radius:2.5rem 0 0}.puzzle-water{position:absolute;bottom:0;left:0;right:0;height:5.625rem;background:repeating-linear-gradient(0deg,#98bfb7 0 1.125rem,#a4c7bd 1.1875rem 1.25rem)}.bridge-road{position:absolute;top:10.9375rem;left:20%;width:60%;display:flex;gap:.125rem;transform:rotate(-27deg);transform-origin:left center;transition:transform .6s}.bridge-road.opened{transform:rotate(0)}.bridge-road i{display:block;flex:1;height:.75rem;border-top:.1875rem solid #927955;border-bottom:.1875rem solid #8c7654;background:#c4a47b;box-shadow:0 .25rem #8a7653}.puzzle-cart{position:absolute;top:8.9375rem;width:2.375rem;height:1.6875rem;background:#b97c58;border:.125rem solid #91694b;border-radius:.25rem;transition:left .3s;z-index:2}.parcel{position:absolute;left:.5rem;bottom:.625rem;width:1.375rem;height:1.5rem;background:#dfc08d;border:.0625rem solid #b49364;border-radius:.125rem;display:grid;place-items:center;color:#b18c58}.parcel .icon{width:1.0625rem;height:1.0625rem}.puzzle-cart>i{position:absolute;bottom:-.4375rem;left:.125rem;width:.6875rem;height:.6875rem;background:#6a6550;border:.125rem solid #c0b38c;border-radius:50%}.puzzle-cart>i:last-child{left:auto;right:.125rem}.bank-label{position:absolute;bottom:2rem;font-size:.5rem;letter-spacing:.09375rem;color:#7d7f60}.bank-label.start{left:7%}.bank-label.finish{right:4%}.puzzle-pine{position:absolute;left:.75rem;bottom:6.5625rem;font-size:5.9375rem;color:#8a9e76;line-height:.6}.destination{position:absolute;right:.625rem;bottom:6.875rem;color:#8b805f}.destination .icon{width:2.1875rem;height:2.1875rem}.flag{position:absolute;right:1.25rem;bottom:6.25rem;color:#bd8d5e;font-size:2.5rem}.painting-game{background:#e7ebdc;padding:1.125rem;min-height:18.75rem}.painting-reference{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.8125rem}.painting-reference>span{font-size:.5rem;letter-spacing:.0875rem;color:#8e9a80}.painting-reference>div{height:5.3125rem;display:flex;align-items:flex-end;padding:.4375rem .625rem;background:#f8f5e9;border:.0625rem solid #d5dcc6;border-radius:.375rem;max-width:72%;overflow:hidden}.painting-canvas{height:13.75rem;background:#fbf5e6;border:.4375rem solid #d0b58b;box-shadow:0 .25rem #baa17b;border-radius:.1875rem;position:relative;overflow:hidden}.painting-canvas>span{position:absolute;top:.75rem;left:.8125rem;font-size:.4375rem;letter-spacing:.1125rem;color:#b2ad92;z-index:1}.painted-hills{position:absolute;bottom:-4.6875rem;left:-10%;width:130%;height:8.125rem;border-radius:50%;background:#d1d9b2;transform:rotate(-7deg)}.painted-grove{position:absolute;inset:1.25rem .4375rem 2.1875rem;z-index:1;display:flex;justify-content:center;align-items:flex-end;gap:0}.canvas-placeholder{align-self:center;color:#c3baa0;font-size:.6875rem;font-family:var(--serif);font-style:italic}.reference-label{font-size:.5rem;letter-spacing:.0625rem;margin-right:.625rem}.color-dot{width:.6875rem;height:.6875rem;display:inline-block;vertical-align:middle;border-radius:50%;margin-right:.25rem}.color-options{display:flex;gap:.625rem}.color-choice{width:2.1875rem;height:2.1875rem;border-radius:50%;background:var(--swatch);color:#fff;display:grid;place-items:center;border:.1875rem solid var(--paper);outline:.0625rem solid transparent}.color-choice.selected{outline-color:#879a73}.color-choice .icon{height:1rem;width:1rem}.range-label{display:grid;grid-template-columns:1fr auto;font-size:.6875rem;margin-top:1.125rem;color:#7a896c}.range-label input{grid-column:1/-1;width:100%;accent-color:#779366;margin:.625rem 0 0}.range-label output{color:#56754b}.table-game{background:#eef0e4;padding:.875rem .75rem}.table-title{display:flex;align-items:center;gap:.4375rem;font-family:var(--serif);font-size:.875rem;margin:.4375rem .25rem 1rem}.table-title .icon{width:1.125rem;height:1.125rem;color:#8c9c76}.table-game table{width:100%;border-collapse:separate;border-spacing:0;background:#faf8ed;font-size:.625rem;overflow:hidden;border-radius:.4375rem;border:.0625rem solid #dce2cd}.table-game th,.table-game td{padding:.6875rem .4375rem;text-align:left;white-space:nowrap;border-bottom:.0625rem solid #e5e8d7}.table-game thead th{font-size:.5625rem;font-weight:500;background:#e1e7d2;color:#718263}.table-game tbody th{font-weight:500}.table-game tr:last-child>*{border-bottom:0}.table-game tr.picked{background:#e6edd8}.table-game input[type=checkbox]{width:.875rem;height:.875rem;margin:0;vertical-align:middle}.fruit-dot{width:.4375rem;height:.4375rem;display:inline-block;border-radius:50%;background:#bd7e83;margin-right:.3125rem}.fruit-dot.apple{background:#b4ad61}.fruit-dot.pear{background:#a3b17c}.ripe-label{font-size:.5625rem;padding:.1875rem .375rem;background:#e8eddc;border-radius:.25rem;color:#7a8b67}.table-footer{display:flex;justify-content:space-between;gap:.5rem;font-size:.5rem;padding:.8125rem .1875rem 0;color:#9aa58a}.data-rule{display:flex;flex-wrap:wrap;gap:.375rem}.data-rule code{border-radius:.3125rem;background:#e8eddd;font-size:.625rem;padding:.4375rem;color:#718263}.number-input{width:100%}.reduce-motion *{scroll-behavior:auto!important;animation:none!important;transition:none!important}@media(min-height:950px){.town-sidebar{padding-top:3rem}.town-sidebar h1{margin-top:1rem}.quest-card{margin-top:2.1875rem}.quest-illustration{height:9.0625rem}.quest-card p{font-size:.75rem}.quest-card h2{font-size:1.75rem}.town-progress{margin-top:1.5625rem}.quest-card{padding:1.375rem}}@media(min-width:1600px){#world{left:16.875rem;right:-1.875rem}.town-sidebar{margin-left:3.125rem;width:19.375rem}.quest-card{width:18.125rem}.town-progress{width:17.8125rem}.world-heading{left:48%}.town-toolbar,.world-bottom{left:26.875rem}}@media(max-width:1150px){.brand-tagline,.header-divider{display:none}.topbar{padding:0 1.5625rem;gap:.9375rem}.topbar nav{gap:.125rem}.wallet{gap:.8125rem}.nav{padding:.6875rem .8125rem}.town-sidebar{margin-left:1.5625rem;width:16.25rem}.quest-card{width:15.4375rem}#world{left:10.625rem;right:-9.375rem}.world-heading{left:45%}.world-heading h2{font-size:1.8125rem}.world-bottom,.town-toolbar{left:19.375rem;right:1.25rem}.toolbar-title{display:none}.town-toolbar{padding:.5rem}.world-bottom .explore-hint{font-size:.5rem}.town-sidebar h1{font-size:3rem}.map-label{font-size:.5rem}.studio{left:38%}}@media(max-width:800px){.topbar{height:4.5625rem;padding:0 1.125rem;gap:.625rem}.brand{font-size:1.875rem;gap:.3125rem}.brand>.icon{width:1.5625rem}.nav{font-size:0;gap:0;padding:.6875rem}.nav .icon{width:1.1875rem;height:1.1875rem}.topbar nav{margin-left:auto;margin-right:auto;gap:.25rem}.wallet{gap:.625rem}.currency{font-size:.6875rem;gap:.25rem}.currency .icon{width:1.0625rem;height:1.0625rem}.avatar{width:1.875rem;height:1.875rem}.town-sidebar{padding-top:1.375rem;margin-left:1.25rem;width:14.375rem}.town-sidebar>.eyebrow{font-size:.4375rem;letter-spacing:.0625rem}.town-sidebar h1{font-size:2.5rem}.intro{font-size:.875rem;margin-bottom:1rem}.town-progress{width:13.125rem;margin-bottom:1rem}.quest-card{width:13.75rem;padding:.875rem}.quest-card h2{font-size:1.4375rem}.quest-card p{font-size:.625rem}.quest-illustration{height:6.25rem;margin-bottom:.6875rem}.quest-reward{gap:.6875rem}#town-view{height:calc(100svh - 4.5625rem);min-height:45rem}#world{left:7.5rem;right:-14.375rem}.world-heading{left:43%;top:1.875rem}.world-heading h2{font-size:1.5625rem}.world-heading .eyebrow{font-size:.4375rem}.world-subtitle{font-size:.5625rem}.world-bottom,.town-toolbar{left:16.875rem;right:.875rem}.explore-hint{display:none}.world-bottom{justify-content:flex-end}.town-toolbar{flex-wrap:wrap;justify-content:center}.town-toolbar button{font-size:.625rem;padding:.375rem}.town-toolbar #difficulty{margin-left:0;border:0;padding-left:.375rem}.world-wash{background:linear-gradient(90deg,#f6f3ea 0%,#f6f3ead9 20%,transparent 55%)}.studio{left:43%;top:53%}.workshop{left:68%;top:39%}.market{left:65%;top:71%}.map-label{padding:.25rem .4375rem .25rem .25rem}.map-label>span{width:1.1875rem;height:1.1875rem}.page-heading h1{font-size:2.125rem}.page-heading{align-items:flex-start;gap:1.25rem}.page-heading>.outline{font-size:.625rem;max-width:10rem}.lesson-grid,.journal-grid{grid-template-columns:repeat(2,1fr)}#content-view{padding:1.875rem 1.5625rem}.lesson-card h2{font-size:1.3125rem}.puzzle-layout{grid-template-columns:1fr;gap:1.25rem}.puzzle-stage{max-width:100%}.bridge-game{height:15.625rem}.bridge-road{top:9.0625rem}.puzzle-cart{top:7.0625rem}.bank{height:6.5625rem}.puzzle-header h2{font-size:1.6875rem}.wide #modal-content{padding:1.5rem}.puzzle-story{font-size:.75rem}.stage-heading{font-size:.625rem}.puzzle-stage{max-height:unset}.painting-game{min-height:16.25rem}.painting-canvas{height:11.25rem}.table-game th,.table-game td{padding:.625rem}.code-panel{padding-bottom:.625rem}#code-editor{height:9.375rem}}@media(max-width:520px){.topbar{padding:0 .75rem;gap:.4375rem;height:4.0625rem}.brand{font-size:1.75rem}.brand>.icon{width:1.5rem}.topbar nav{gap:0}.nav{padding:.625rem .5rem}.nav .icon{width:1.125rem;height:1.125rem}.currency{font-size:.625rem}.currency .icon{width:.9375rem;height:.9375rem}.wallet{gap:.5rem}.avatar{height:1.6875rem;width:1.6875rem}.avatar .icon{height:.875rem;width:.875rem}#town-view{min-height:68.75rem;height:auto;padding-top:29.375rem;padding-bottom:5.625rem;overflow:hidden}#world{left:-7.5rem;right:-6.875rem;top:1.875rem;bottom:auto;height:30.625rem}.world-wash{background:linear-gradient(0deg,#f6f3ea 0%,#f6f3ea 53%,transparent 73%)}.town-sidebar{width:auto;margin:0 1.375rem;padding:0;z-index:2;display:grid;grid-template-columns:1fr 1fr;column-gap:.9375rem}.town-sidebar>.eyebrow{grid-column:1/-1;font-size:.4375rem}.town-sidebar h1{font-size:2.5625rem;grid-column:1/-1;margin-bottom:.4375rem}.intro{font-size:.8125rem;grid-column:1/-1;margin-bottom:.875rem}.intro br{display:none}.town-progress{width:100%;grid-column:1/-1;margin-bottom:1.25rem}.quest-card{grid-column:1/-1;width:100%;padding:1rem;display:grid;grid-template-columns:6.5625rem 1fr;gap:0 .9375rem}.quest-card>.eyebrow{grid-column:1/-1;margin-bottom:.75rem}.quest-illustration{grid-column:1;grid-row:2/6;height:8.75rem;width:6.5625rem;margin:0}.quest-card .lesson-tag{grid-column:2;justify-self:start;font-size:.5rem}.quest-card h2{font-size:1.4375rem;grid-column:2;margin:.4375rem 0}.quest-card p{grid-column:2;font-size:.625rem;margin-bottom:.3125rem}.quest-card .quest-reward{grid-column:2;font-size:.5625rem;margin:.4375rem 0 .75rem}.quest-card .primary{grid-column:1/-1;margin-top:.9375rem}.placement-link{grid-column:1/-1;max-width:100%;padding:.9375rem 0}.save-note{grid-column:1/-1}.world-heading{left:0;right:0;top:1.375rem}.world-heading h2{font-size:1.6875rem;margin:.375rem 0}.world-subtitle{display:none}.world-bottom{bottom:auto;top:25.3125rem;left:1.25rem;right:1.25rem}.world-labels{height:29.375rem}.workshop{top:39%;left:50%}.studio{top:60%;left:8%}.market{top:75%;left:50%}.town-toolbar{left:1.25rem;right:1.25rem;bottom:1.25rem;max-width:100%;justify-content:space-around}.town-toolbar #difficulty{padding-left:.5625rem;border-left:.0625rem solid var(--line)}.world-bottom .camera-controls{background:#faf8eccc}.camera-controls button{height:1.6875rem;width:1.75rem}.lesson-grid,.journal-grid{grid-template-columns:1fr}.page-heading{display:block}.page-heading .outline{max-width:none;margin-bottom:.3125rem}.page-heading h1{font-size:2.1875rem}.journey-summary{font-size:.625rem;padding:.8125rem;gap:1.25rem;line-height:1.8}.journey-summary>span:first-child{gap:.375rem}.journey-summary .icon{width:1.0625rem;height:1.0625rem}.lesson-card-art{height:9.6875rem}.lesson-card-body{padding:1.25rem}.lesson-card h2{font-size:1.625rem}.lesson-card-body>.eyebrow{font-size:.5625rem}.lesson-card-footer{font-size:.6875rem}#modal-content,.wide #modal-content{padding:1.5625rem 1.125rem}.puzzle-header{display:block;padding-right:.75rem}.puzzle-header .lesson-tag{margin-bottom:.625rem}.puzzle-header h2{font-size:1.75rem;margin-right:.9375rem}.puzzle-header .eyebrow{font-size:.4375rem}.puzzle-story{font-size:.6875rem}.stage-heading>span:last-child{font-size:.375rem;letter-spacing:.03125rem}.stage-heading>span:first-child{max-width:70%;font-size:.5625rem}.table-game{padding:.625rem .3125rem}.table-game th,.table-game td{padding:.625rem .3125rem;font-size:.5625rem}.table-title{font-size:.8125rem}.table-game input[type=checkbox]{width:.9375rem;height:.9375rem}.table-footer{font-size:.4375rem}.puzzle-layout{gap:1.125rem}.bridge-game{height:15rem}.puzzle-water{height:5.625rem}.bridge-road{top:8.4375rem}.puzzle-cart{top:6.4375rem}.bank-label{font-size:.4375rem}.bank-label.finish{right:3%}.input-row{flex-wrap:wrap}.input-row input{width:100%}.settings-row{gap:.625rem}.placement-answers{flex-direction:column}.difficulty-option{padding:.75rem}.difficulty-mark{width:2rem;height:2rem}.difficulty-option small{font-size:.625rem}.painting-reference>div{max-width:75%}.painting-game{padding:.625rem}.journal-badge{margin-bottom:1.25rem}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}html,body,#app{width:100%;height:100%;overflow:hidden}body{background:#aebf93}button{-webkit-user-select:none;user-select:none}#town-view.game-scene{height:100svh;min-height:0;padding:0;position:fixed;inset:0;background:#b9cca7;overflow:hidden}#town-view[hidden],#content-view[hidden],#puzzle-view[hidden],#management-panel[hidden],.supply-chest[hidden],.map-label[hidden]{display:none!important}#world{position:absolute;inset:0;width:100%;height:100%;touch-action:none}#world canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none}.game-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,transparent 48%,#314b3020 100%),linear-gradient(180deg,#435d3429,transparent 16%,transparent 80%,#40573120)}.game-hud{position:absolute;z-index:6;left:1.5rem;right:1.5rem;top:max(1.25rem,env(safe-area-inset-top));display:flex;align-items:flex-start;gap:1.125rem;pointer-events:none}.game-hud button{pointer-events:auto}.village-badge{display:flex;align-items:center;text-align:left;gap:.75rem;padding:.625rem 1.0625rem .625rem .5625rem;background:#fcf4ddeb;border:.125rem solid #b7a377;border-radius:.9375rem;box-shadow:0 .25rem #8b805c40,0 .5625rem 1.5rem #3f56351a;min-width:13.3125rem;-webkit-backdrop-filter:blur(.625rem);backdrop-filter:blur(.625rem)}.town-emblem{width:3.5rem;height:3.625rem;display:grid;place-items:center;background:linear-gradient(145deg,#839868,#536f4d);border:.125rem solid #b2bd8a;border-radius:.75rem;color:#f7e7b8;position:relative}.town-emblem>.icon{height:1.875rem;width:1.875rem}.town-emblem>b{position:absolute;bottom:-.5625rem;background:#dfba65;border:.125rem solid #f6e3ad;border-radius:50%;min-width:1.5rem;height:1.5rem;display:grid;place-items:center;font-size:.6875rem;color:#786039}.village-badge>span:last-child{display:flex;flex-direction:column;gap:.125rem;min-width:7.8125rem}.village-badge small{font-size:.4375rem;font-weight:600;letter-spacing:.08125rem;color:#8f9575}.village-badge strong{font-family:var(--serif);font-size:1.5625rem;line-height:1.25;letter-spacing:-.04375rem;color:#435e40}.hud-xp{height:.25rem;border-radius:.25rem;overflow:hidden;background:#d9dbc0;margin-top:.1875rem}.hud-xp i{height:100%;display:block;background:#8d9d65}.village-badge #xp-label{font-size:.56875rem;letter-spacing:.025rem;color:#a09978;text-align:right;margin-top:.125rem}.resource-hud{display:flex;gap:.625rem;margin:.5rem auto 0}.resource-pill{min-width:6.75rem;display:flex;align-items:center;gap:.625rem;background:#faf2dbef;border:.125rem solid #b9a779;border-radius:.6875rem;padding:.4375rem .8125rem .4375rem .4375rem;box-shadow:0 .1875rem #7e745440}.resource-pill>span:last-child{display:flex;flex-direction:column;text-align:left;gap:.125rem}.resource-pill small{font-size:.4375rem;letter-spacing:.075rem;color:#999574}.resource-pill b{font-size:1.0625rem;letter-spacing:.0125rem;color:#556246}.resource-symbol{height:2.125rem;width:2.125rem;border-radius:.5625rem;display:grid;place-items:center;background:#e8dba9;color:#a8843e}.resource-symbol.gold{background:#f0d78b;color:#a47a31}.resource-symbol.crate{background:#e1ceb0;color:#9e7f54}.resource-symbol.wheat{background:#e9dfa9;color:#af9654}.resource-symbol .icon{height:1.5rem;width:1.5rem}.hud-right{display:flex;gap:.625rem;align-items:center}.weather-pill{display:flex;align-items:center;gap:.625rem;background:#f8f2dcef;border:.125rem solid #b8a97c;border-radius:.8125rem;padding:.6875rem .9375rem;box-shadow:0 .1875rem #7e745430;min-height:3.9375rem}.weather-pill>span:first-child{width:2.125rem;color:#bc9846}.weather-pill .icon{width:2rem;height:2rem;stroke-width:1.4}.weather-pill>span:last-child{display:flex;flex-direction:column;text-align:left;gap:.3125rem}.weather-pill b{font-family:var(--serif);font-size:.9375rem;font-weight:500;color:#6c7754}.weather-pill small{font-size:.5rem;color:#929779}.hud-round{height:2.5rem;width:2.5rem;display:grid;place-items:center;background:#f8f1dbea;border:.125rem solid #b3a77b;border-radius:50%;box-shadow:0 .1875rem #7d75552b}.hud-round .icon{height:1.1875rem;width:1.1875rem}.region-caption{position:absolute;left:50%;top:7.5rem;transform:translate(-50%);text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem;pointer-events:none;opacity:.85}.region-caption>span{font-size:.5625rem;letter-spacing:.25rem;font-weight:600;color:#506d47;text-shadow:0 .0625rem #e3e9ca}.region-caption>i{width:2.0625rem;height:.0625rem;background:#799166}.region-caption>small{font-family:var(--serif);font-size:.75rem;font-style:italic;color:#718360}.supply-chest{position:absolute;left:1.5625rem;top:8.125rem;display:flex;gap:.5rem;align-items:center;border:.0625rem solid #c4b481;border-radius:.625rem;padding:.625rem;background:#fcf0cae8;box-shadow:0 .1875rem .75rem #3f563518;z-index:4;color:#9b7e42}.supply-chest>.icon{height:1.5625rem;width:1.5625rem}.supply-chest>span:nth-child(2){text-align:left;display:flex;flex-direction:column;gap:.25rem;font-size:.625rem;font-weight:600}.supply-chest small{font-size:.5rem;font-weight:400;color:#ab9666}.supply-chest>span:last-child{background:#ae9561;color:#fff3c6;width:1.1875rem;height:1.1875rem;border-radius:50%;display:grid;place-items:center;font-size:.8125rem;margin-left:.25rem}.world-labels{z-index:3;inset:0;pointer-events:none}.map-label{font-size:.5rem;position:absolute;display:flex;align-items:center;gap:.25rem;padding:.1875rem .375rem .1875rem .1875rem;border:.0625rem solid #c7c49b;border-radius:.375rem;background:#faf2d9df;box-shadow:0 .1875rem .1875rem #52683c15;color:#68714e;white-space:nowrap;opacity:.93;transition:opacity .2s;pointer-events:auto}.map-label:hover{opacity:1;z-index:2}.map-label>span{width:1.1875rem;height:1.1875rem;background:#e4e6c9;color:#7b8a60;border-radius:.25rem;display:grid;place-items:center}.map-label .icon{width:.8125rem;height:.8125rem}.map-label small{font-size:.4375rem;min-width:.8125rem;height:.875rem;display:grid;place-items:center;color:#a89054;background:#eee2b7;border-radius:.1875rem;margin-left:.125rem;padding:0 .125rem}.village-needs{position:absolute;bottom:1.625rem;left:1.5rem;width:14.0625rem;padding:.8125rem .9375rem;background:#fcf3ddee;border:.125rem solid #baaa7c;border-radius:.875rem;z-index:4;box-shadow:0 .25rem #7d75552b,0 .5rem 1.25rem #40572b15}.needs-title{display:flex;gap:.625rem;align-items:center;text-align:left;padding:0 0 .6875rem;margin-bottom:.3125rem;border-bottom:.0625rem solid #ddd4b3;width:100%}.needs-title>span:nth-child(2){flex:1;display:flex;flex-direction:column;gap:.25rem}.needs-title b{font-family:var(--serif);font-weight:500;font-size:.875rem}.needs-title small{font-size:.5rem;color:#9b997b}.needs-title>.icon{width:.75rem;height:.75rem;color:#a8a482}.resident-portraits{display:flex;width:3.1875rem;position:relative;height:1.8125rem;flex-shrink:0}.resident-portraits i{width:1.625rem;height:1.8125rem;display:grid;place-items:center;border-radius:45% 45% 40% 40%;border:.125rem solid #f8ebcb;background:#c2a185;color:#fff0d0;font-family:var(--serif);font-size:.6875rem;font-style:normal;position:absolute;top:0;left:0}.resident-portraits i:nth-child(2){left:.875rem;background:#89a092}.resident-portraits i:nth-child(3){left:1.75rem;background:#c1a362}.need-line{display:flex;align-items:center;gap:.4375rem;font-size:.5625rem;margin:.5rem 0;color:#949478}.need-line>span{display:flex;align-items:center;gap:.3125rem;width:3.875rem;font-size:.5rem}.need-line .icon{width:.75rem;height:.75rem}.need-line>div{height:.3125rem;border-radius:.3125rem;background:#dddac0;flex:1;overflow:hidden}.need-line i{height:100%;display:block;background:#9cac79;border-radius:.3125rem;transition:width 1s}.need-line b{font-size:.5rem;font-weight:500;width:1.625rem;text-align:right}.need-line:nth-child(3) i{background:#c8ae6d}.need-line:nth-child(4) i{background:#8ba7a0}.village-needs>small{display:block;font-family:var(--serif);font-size:.5625rem;line-height:1.6;color:#919473;margin-top:.75rem;border-top:.0625rem solid #e3dcc0;padding-top:.5rem}.camera-controls{position:absolute;bottom:9.875rem;right:1.5rem;display:flex;flex-direction:column;padding:.25rem;border:.125rem solid #bbaa7d;background:#fbf3dae8;border-radius:.75rem;z-index:4;box-shadow:0 .25rem #7d75552b}.camera-controls button{width:2.125rem;height:2.125rem;display:grid;place-items:center}.camera-controls button+button{border-left:0;border-top:.0625rem solid #ded5b3}.camera-controls .icon{height:1.0625rem;width:1.0625rem}.game-dock{position:absolute;left:50%;bottom:max(1.5rem,env(safe-area-inset-bottom));transform:translate(-50%);display:flex;align-items:center;gap:.5rem;padding:.625rem .9375rem .5rem;border:.125rem solid #baa579;background:#f8edcfef;box-shadow:0 .3125rem #86754f40,0 .625rem 1.5625rem #31462920;border-radius:1.0625rem;z-index:5}.game-dock button{display:flex;flex-direction:column;align-items:center;gap:.375rem;font-size:.5625rem;color:#867c56;min-width:3.4375rem}.game-dock button>span{width:2.625rem;height:2.5rem;display:grid;place-items:center;background:linear-gradient(145deg,#e6d7ac,#d2c598);border:.0625rem solid #c3b17d;border-radius:.625rem;box-shadow:inset 0 .0625rem #fbf1ce;color:#7c8256}.game-dock button:first-child>span{background:linear-gradient(145deg,#94a777,#748f5f);border-color:#8a9b69;color:#f7e9b6}.game-dock button .icon{height:1.5rem;width:1.5rem;stroke-width:1.5}.adventure-card{position:absolute;right:1.5rem;bottom:1.625rem;display:flex;align-items:center;gap:.75rem;width:17rem;padding:.875rem .875rem .875rem .625rem;border:.125rem solid #8c9b67;border-radius:.875rem;background:linear-gradient(135deg,#5b7b50,#405f3f);box-shadow:0 .3125rem #344d3340,0 .5rem 1.5rem #33492c25;color:#f9edca;z-index:4;text-align:left}.adventure-emblem{width:2.4375rem;height:2.625rem;display:grid;place-items:center;background:#92a16b;border:.0625rem solid #b2ba7f;border-radius:.625rem;color:#f7e4a4;flex-shrink:0}.adventure-emblem .icon{height:1.375rem;width:1.375rem;fill:#f3dfac44}.adventure-card>span:nth-child(2){display:flex;flex-direction:column;gap:.3125rem;flex:1}.adventure-card small{font-size:.375rem;letter-spacing:.0875rem;color:#c7d09d}.adventure-card b{font-family:var(--serif);font-size:.9375rem;font-weight:500;line-height:1.2}.adventure-card #next-concept{font-size:.5rem;color:#b6c59c}.adventure-card>.icon{height:1rem;width:1rem;color:#bcc899}.town-tip{position:absolute;bottom:7.6875rem;left:50%;transform:translate(-50%);font-size:.5rem;color:#697d53;text-shadow:0 .0625rem #e6e8c8;padding:.375rem .625rem;background:#dbe2bb7a;border-radius:1.25rem;white-space:nowrap;pointer-events:none}#management-panel{position:absolute;left:1.5rem;top:7.75rem;bottom:1.5625rem;width:21.25rem;max-height:calc(100svh - 9.375rem);overflow:auto;background:#fbf3def5;border:.125rem solid #b4a276;border-radius:1rem;padding:1.5625rem 1.375rem;z-index:10;box-shadow:0 .3125rem #83755330,0 1.125rem 3.4375rem #31472d25;scrollbar-width:thin;scrollbar-color:#b6b58f transparent;-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem)}.panel-close{position:absolute;right:.6875rem;top:.6875rem;background:#e7e3c7;border:.0625rem solid #cbc6a2;width:1.625rem;height:1.625rem}.panel-kicker{font-size:.4375rem;letter-spacing:.1125rem;color:#9d9c78;margin:.1875rem 1.125rem .75rem 0}#management-panel h2{font-size:1.8125rem;margin:.5rem 0 .625rem}#management-panel p{font-size:.6875rem;line-height:1.8;color:#8c9373}#management-panel .primary{font-size:.6875rem;background:#648153;box-shadow:0 .1875rem #49663f}#management-panel .building-stages{gap:.5625rem;margin:1.25rem 0}#management-panel .building-stages>div{font-size:.5rem}.building-crest{width:4.5rem;height:4.375rem;background:linear-gradient(135deg,#e5ddba,#cbd6b3);display:grid;place-items:center;border:.0625rem solid #bfc59e;border-radius:1rem;margin:1.0625rem 0 1.375rem;position:relative;color:#879367}.building-crest>.icon{width:2.4375rem;height:2.4375rem;stroke-width:1.2}.building-crest>span{position:absolute;bottom:-.4375rem;right:-.4375rem;width:1.5rem;height:1.5rem;border:.125rem solid #f5ebca;background:#b6a16a;border-radius:50%;display:grid;place-items:center;font-size:.625rem;color:#fff2c5}.building-stat{display:flex;align-items:center;gap:.75rem;border:.0625rem solid #ddd7b9;border-radius:.5625rem;background:#eee9cf;padding:.8125rem;font-size:.625rem;color:#999371}.building-stat>span:first-child{flex:1}.building-stat b{font-weight:500;color:#8b8b63;font-size:.9375rem}.building-stat strong{font-size:1.125rem;color:#78915e}.upgrade-preview{background:#e9e6cb;border:.0625rem solid #d5d6b7;margin:1.0625rem 0}.upgrade-preview .eyebrow{font-size:.4375rem;letter-spacing:.09375rem;margin-bottom:.5625rem}.upgrade-preview b{font-family:var(--serif);font-size:1.125rem;font-weight:500}.upgrade-preview p{font-size:.625rem!important;margin:.5rem 0!important}.upgrade-preview .quest-reward{font-size:.6875rem}.build-list{display:flex;flex-direction:column;gap:.5rem;margin:1.25rem 0}.build-option{display:flex;align-items:center;gap:.625rem;padding:.625rem;border:.0625rem solid #d4d5b5;background:#f9f2db;border-radius:.625rem;text-align:left}.plan-icon{height:2.4375rem;width:2.4375rem;display:grid;place-items:center;border:.0625rem solid #c9ceaa;border-radius:.5625rem;color:#849469;background:#e4e5c5}.plan-icon.barn{background:#ebd7bd;color:#b18060}.plan-icon.bakery{background:#dce5cd;color:#7c9d8d}.plan-icon.sunflowers,.plan-icon.wheat{background:#eae3b8;color:#b2a05b}.plan-icon.studio{background:#dde5de;color:#819ba0}.plan-icon .icon{width:1.5rem;height:1.5rem;stroke-width:1.4}.build-option>span:nth-child(2){flex:1;display:flex;flex-direction:column;gap:.3125rem}.build-option b{font-size:.625rem;font-weight:500}.build-option small{font-size:.5rem;color:#a0a07c}.plan-price{font-size:.5625rem;display:flex;align-items:center;gap:.1875rem;color:#ad955d}.plan-price .icon{width:.75rem;height:.75rem}.resident-list{display:flex;flex-direction:column;gap:.625rem;margin:1.25rem 0}.resident-card{display:flex;align-items:center;gap:.8125rem;background:#f4eed6;border:.0625rem solid #d9d9b8;padding:.8125rem;border-radius:.625rem}.resident-face{width:2.4375rem;height:2.75rem;background:#c5ac85;border-radius:45% 45% 35% 35%;border:.125rem solid #e4ce9d;box-shadow:inset 0 .4375rem #998357;display:grid;place-items:center;color:#fff0cc;font-family:var(--serif);font-size:1.3125rem;padding-top:.3125rem}.resident-card:nth-child(2n) .resident-face{background:#97aaa0;box-shadow:inset 0 .4375rem #7c9382}.resident-card h3{font-size:1.1875rem;margin:0 0 .1875rem}.resident-card>div>span{font-size:.5rem;text-transform:none;color:#9c9d7c}.resident-mini-stats{display:flex;gap:.625rem;font-size:.5rem;margin-top:.5625rem;color:#9a9c77}.resident-mini-stats .icon{width:.6875rem;height:.6875rem}.production-note{padding:.9375rem;background:#e9e7ca;border-radius:.625rem;border:.0625rem solid #dad8b6}.production-note b{font-size:.6875rem;font-weight:500}.production-note p{font-size:.625rem!important;margin:.4375rem 0 0}.farm-inventory{display:grid;grid-template-columns:1fr 1fr;gap:.5625rem;margin:1.375rem 0}.farm-inventory>div{display:flex;align-items:center;gap:.5rem;border:.0625rem solid #d6d5b7;background:#f1eacf;border-radius:.5625rem;padding:.8125rem;font-size:.625rem;color:#8c9269}.farm-inventory .icon{width:1.25rem;height:1.25rem;color:#b09d5f}.farm-inventory b{margin-left:auto;font-size:1.0625rem;font-weight:500;color:#6c8053}.production-chain{display:flex;flex-direction:column;align-items:center;gap:.3125rem;padding:1.25rem;background:#e8e8cbbb;border:.0625rem solid #d4d8b5;border-radius:.625rem;margin-bottom:1.25rem}.production-chain>span{display:flex;align-items:center;gap:.4375rem;font-size:.625rem;padding:.4375rem;color:#7f8b60}.production-chain .icon{height:1.1875rem;width:1.1875rem}.production-chain i{font-size:.75rem;font-style:normal;color:#a4ad7b}.weather-crest{width:4.375rem;height:4.375rem;color:#ba9a4e;display:grid;place-items:center;border-radius:50%;background:#ece2b8;margin:1.0625rem 0}.weather-crest .icon{width:2.6875rem;height:2.6875rem;stroke-width:1.2}.forecast-stats{display:flex;gap:.625rem;margin:1.25rem 0}.forecast-stats>span{flex:1;display:flex;flex-direction:column;gap:.5rem;padding:.875rem;background:#eae5c8;border-radius:.5625rem;font-size:.5625rem;color:#a19b74}.forecast-stats b{font-family:var(--serif);font-size:1.4375rem;font-weight:500;color:#73875b}.weather-preview{border-top:.0625rem solid #d9d8ba;padding-top:.9375rem;display:flex;gap:.5rem;flex-wrap:wrap}.weather-preview>.eyebrow{width:100%;font-size:.4375rem}.weather-preview .outline{font-size:.5625rem;padding:.5rem;min-height:2.1875rem;background:#f7eed3;border-color:#d4d2ae}.weather-preview .text-button{width:100%;justify-content:center;font-size:.5625rem;margin-top:.3125rem}.weather-layer{position:absolute;inset:0;pointer-events:none;z-index:2;opacity:0;transition:opacity 1s;background:#354b6130}html[data-weather=storm] .weather-layer{opacity:1}html[data-weather=storm] .weather-pill{background:#d9e0d7;border-color:#a9b8a4}html[data-weather=storm] .weather-pill #weather-icon{color:#6a8585}html[data-weather=storm] .weather-layer:after{content:"";position:absolute;inset:0;background:#f3eedc;opacity:0;animation:distant-lightning 13s infinite}@keyframes distant-lightning{0%,72%,74%,77%,to{opacity:0}73%{opacity:.25}75%{opacity:.12}}.reduce-motion .weather-layer:after{display:none}#content-view.book-scene{position:fixed;inset:0;max-width:none;height:100svh;min-height:0;overflow:auto;padding:2rem max(1.875rem,8vw) 4.375rem;background:radial-gradient(ellipse at top,#faf4de,#e5e6ce);z-index:15}.return-town{margin:0 0 1.5625rem;background:#f8f0d8;border-color:#c7c7a3;font-size:.625rem}.book-scene .page-heading{margin-bottom:1.4375rem}.book-scene .page-heading h1{font-size:2.6875rem}.book-scene .lesson-card{background:#faf2d9;border-color:#d2d2ac}.book-scene .lesson-card-art{height:8.4375rem}.book-scene .lesson-card-body{padding:1.0625rem}.book-scene .lesson-card h2{font-size:1.4375rem}.book-scene .journey-summary{background:#e0e5c8;border-color:#cbd3a8}.puzzle-scene{position:fixed;inset:0;width:100%;height:100svh;overflow:auto;background:radial-gradient(ellipse at 50% 15%,#f3efd7 0,#d6dfc1 62%,#b7cbaa);z-index:18}.puzzle-scene:before,.puzzle-scene:after{content:"";position:fixed;bottom:-6.875rem;width:26.875rem;height:16.875rem;pointer-events:none;border-radius:50%;background:#9bb48c3b;z-index:-1}.puzzle-scene:before{left:-8.125rem;transform:rotate(20deg)}.puzzle-scene:after{right:-6.875rem;transform:rotate(-20deg)}.puzzle-scene-bar{display:flex;align-items:center;justify-content:space-between;padding:1.375rem 1.875rem;border-bottom:.0625rem solid #bcc7a2;background:#f4efd8a8;color:#8c9875}.scene-exit{display:flex;align-items:center;gap:.5rem;border:.0625rem solid #c3c9a6;border-radius:.5625rem;background:#f9f1d8;padding:.625rem .8125rem;font-size:.625rem;color:#7b8b62;box-shadow:0 .125rem #9fa67b30}.scene-exit .icon{width:1.0625rem;height:1.0625rem}.puzzle-scene-bar>span:nth-child(2){font-size:.5rem;letter-spacing:.16875rem}.puzzle-weather{display:flex;align-items:center;gap:.4375rem;font-size:.5625rem}.puzzle-weather .icon{width:1.25rem;height:1.25rem;color:#b8a267}.puzzle-scene-inner{max-width:75.625rem;margin:0 auto;padding:2rem 2.8125rem 2.5rem;position:relative}.puzzle-scene .puzzle-header h2{font-size:2.25rem}.puzzle-scene .puzzle-story{font-size:.75rem;max-width:47.5rem;margin:.75rem 0 1.6875rem}.puzzle-scene .puzzle-layout{gap:1.875rem;grid-template-columns:1.18fr 1fr}.puzzle-scene .puzzle-stage{background:#faf2da;border:.125rem solid #b7bb8e;border-radius:.8125rem;box-shadow:0 .3125rem #9da77c2b}.puzzle-scene .stage-heading{border-bottom:.0625rem solid #d6d7b4;background:#f3ecd1}.puzzle-scene .bridge-game{height:20rem}.puzzle-scene .bridge-road{top:13.4375rem}.puzzle-scene .puzzle-cart{top:11.4375rem}.puzzle-scene .code-panel{background:#faf3dfbd;border:.0625rem solid #c9ceaa;border-radius:.8125rem;padding:1.25rem;box-shadow:0 .25rem #9da77c20}.puzzle-scene #code-editor{background:#e8ecd9;border-color:#c4ceaa;height:10rem}.puzzle-scene #code-editor:not([readonly]){background:#fff9e9}.puzzle-scene .primary{background:#648652;box-shadow:0 .25rem #4b6d40;min-height:2.875rem}.puzzle-scene .stage-caption{font-size:.625rem;padding:1.0625rem}.puzzle-scene .table-game{background:#dce4c9}.puzzle-scene .table-game td,.puzzle-scene .table-game th{padding:.9375rem .5625rem}.puzzle-scene .painting-game{min-height:21.25rem;background:#dfe6cb}.puzzle-scene .painting-canvas{height:14.6875rem}.puzzle-scene .lesson-tag{background:#e4e8ce;border:.0625rem solid #ccd5b3}.puzzle-scene .code-tabs{gap:1.25rem}.puzzle-scene .puzzle-header{padding-right:0}.puzzle-scene .code-heading{font-size:.4375rem}.puzzle-scene .tool-tip{font-size:.625rem}.puzzle-scene .command-chip{font-size:.5625rem;background:#e4e9d1;border-color:#c4cfa8}.puzzle-scene .code-block{background:#f7efd7;border-color:#d4d8b9}.puzzle-scene .empty-blocks{border-color:#c2cda6}.puzzle-scene .stage-heading>span:last-child{font-size:.375rem}.puzzle-scene .table-title{font-size:.9375rem}.puzzle-scene .table-game table{background:#f8f1dc;border-color:#c4cfa8}.puzzle-scene .table-game thead th{background:#d3debd}.puzzle-scene .puzzle-header .eyebrow{font-size:.5rem}.puzzle-scene #puzzle-feedback{font-size:.625rem}.puzzle-scene .block-list{max-height:8.4375rem}.puzzle-scene .code-actions .text-button{font-size:.625rem}.puzzle-scene .puzzle-layout{margin-top:.3125rem}#scene-transition{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse,#eae8cb,#c9d7b4);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s,visibility .28s;color:#677c53}#scene-transition.active{opacity:1;visibility:visible;pointer-events:auto}.transition-emblem{height:5.3125rem;width:5.3125rem;background:#dde3c3;border:.0625rem solid #bccaa2;border-radius:50%;display:grid;place-items:center;box-shadow:0 .5rem 2.1875rem #78925b15}.transition-emblem .icon{width:2.6875rem;height:2.6875rem;color:#7f9865;transform:rotate(-12deg)}#scene-transition h2{font-size:2.0625rem;margin:1.5625rem 0 .8125rem}#scene-transition>span{font-size:.6875rem;color:#8d9c74}.loading-trail{height:.25rem;width:7.5rem;background:#b9c99e;border-radius:.3125rem;overflow:hidden;margin-top:1.875rem}.loading-trail i{display:block;height:100%;width:30%;background:#7c9861;animation:loading-leaf 1.1s ease-in-out infinite}@keyframes loading-leaf{0%{transform:translate(-100%)}to{transform:translate(440%)}}dialog{background:#f8f0d9;border:.125rem solid #b8ad7f;box-shadow:0 .9375rem 4.375rem #334c3150}dialog::backdrop{background:#30493360;-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(.25rem)}dialog h2{font-size:1.875rem}dialog p{font-size:.75rem}dialog .outline{background:#f9f0d7;border-color:#d1cfaa}#toast{background:#4e6c45;border:.0625rem solid #a8b482;bottom:8.125rem;font-size:.6875rem;border-radius:.625rem;padding:.8125rem 1.125rem}.game-scene .world-fallback{inset:10%}@media(min-width:1500px){.game-hud{left:1.875rem;right:1.875rem;top:1.625rem}.village-badge{min-width:14.375rem}.resource-pill{min-width:7.5rem}.village-needs{width:15rem;left:1.875rem;bottom:1.875rem}.adventure-card{width:18.125rem;right:1.875rem;bottom:1.875rem}.game-dock{gap:.75rem;padding:.75rem 1.125rem .5625rem}.game-dock button{min-width:3.875rem}.game-dock button>span{height:2.8125rem;width:3rem}.supply-chest{left:1.875rem;top:8.5625rem}.camera-controls{right:1.875rem}}@media(max-width:1100px){.game-hud{left:.9375rem;right:.9375rem;top:.9375rem;gap:.625rem}.village-badge{min-width:11.5625rem;padding:.5rem .625rem .5rem .4375rem;gap:.5rem}.town-emblem{width:2.8125rem;height:3rem}.town-emblem>.icon{width:1.5625rem;height:1.5625rem}.village-badge strong{font-size:1.4375rem}.village-badge>span:last-child{min-width:6.5625rem}.village-badge small{font-size:.375rem}.resource-hud{gap:.375rem;margin-top:.375rem}.resource-pill{min-width:5.5rem;padding:.375rem .5rem .375rem .3125rem;gap:.375rem}.resource-symbol{height:1.8125rem;width:1.8125rem}.resource-symbol .icon{width:1.25rem;height:1.25rem}.resource-pill small{font-size:.375rem}.resource-pill b{font-size:.9375rem}.weather-pill{padding:.5625rem .6875rem;gap:.4375rem;min-height:3.5rem}.weather-pill>span:first-child{width:1.625rem}.weather-pill .icon{width:1.625rem;height:1.625rem}.weather-pill b{font-size:.8125rem}.weather-pill small{font-size:.4375rem}.hud-round{height:2.125rem;width:2.125rem}.hud-right{gap:.4375rem}.village-needs{left:.9375rem;bottom:1.125rem;width:12.1875rem;padding:.625rem .75rem}.needs-title b{font-size:.75rem}.needs-title small{font-size:.4375rem}.need-line{font-size:.5rem;gap:.25rem;margin:.4375rem 0}.need-line>span{width:3.625rem;font-size:.4375rem}.village-needs>small{font-size:.5rem;margin-top:.5rem;padding-top:.4375rem}.adventure-card{right:.9375rem;bottom:1.125rem;width:14.375rem;gap:.5rem;padding:.6875rem .625rem .6875rem .5rem}.adventure-card b{font-size:.8125rem}.adventure-card small{font-size:.375rem;letter-spacing:.0625rem}.adventure-emblem{width:2rem;height:2.3125rem}.game-dock{bottom:1.125rem;gap:.1875rem;padding:.5rem .5625rem .4375rem}.game-dock button{min-width:3rem;font-size:.5rem;gap:.3125rem}.game-dock button>span{width:2.25rem;height:2.1875rem}.game-dock .icon{width:1.3125rem!important;height:1.3125rem!important}.camera-controls{right:.9375rem;bottom:8.75rem}.camera-controls button{height:1.8125rem;width:1.8125rem}.camera-controls .icon{width:.9375rem;height:.9375rem}.town-tip{bottom:6.875rem;font-size:.4375rem}.supply-chest{left:.9375rem;top:7.1875rem;font-size:.5625rem}.region-caption{top:6.5625rem}.region-caption>small{font-size:.625rem}.map-label{font-size:.4375rem;padding:.1875rem .25rem .1875rem .1875rem;gap:.1875rem}.map-label>span{height:1rem;width:1rem}.map-label .icon{width:.6875rem;height:.6875rem}.map-label small{font-size:.375rem;height:.75rem;min-width:.6875rem}#management-panel{left:.9375rem;top:6.5625rem;bottom:1.125rem;width:19.6875rem;max-height:calc(100svh - 7.6875rem);padding:1.375rem 1.1875rem}.puzzle-scene-inner{padding:1.6875rem 1.875rem 2.1875rem}.puzzle-scene .puzzle-layout{gap:1.375rem}.puzzle-scene .puzzle-header h2{font-size:2rem}.puzzle-scene .bridge-game{height:17.5rem}.puzzle-scene .bridge-road{top:10.9375rem}.puzzle-scene .puzzle-cart{top:8.9375rem}}@media(max-height:650px)and (min-width:651px){.game-hud{top:.75rem}.village-badge{padding:.375rem .5625rem .375rem .375rem}.town-emblem{height:2.5rem;width:2.4375rem}.town-emblem>.icon{height:1.375rem;width:1.375rem}.village-badge strong{font-size:1.3125rem}.village-badge small:first-child{display:none}.village-badge #xp-label{font-size:.375rem}.resource-pill{padding:.25rem .5rem .25rem .25rem}.resource-symbol{height:1.6875rem;width:1.6875rem}.resource-pill b{font-size:.875rem}.weather-pill{min-height:2.9375rem;padding:.4375rem .5625rem}.region-caption{top:5rem;gap:.3125rem}.region-caption small{display:none}.supply-chest{top:5.3125rem;padding:.4375rem}.supply-chest>span:nth-child(2){font-size:.5rem}.supply-chest small{font-size:.375rem}.supply-chest>.icon{width:1.25rem;height:1.25rem}.village-needs{bottom:.875rem;width:11.4375rem;padding:.5rem .625rem}.needs-title{padding-bottom:.4375rem;margin-bottom:.25rem;gap:.4375rem}.resident-portraits{height:1.5rem;width:2.8125rem}.resident-portraits i{height:1.5rem;width:1.4375rem;font-size:.5625rem}.resident-portraits i:nth-child(2){left:.75rem}.resident-portraits i:nth-child(3){left:1.5rem}.needs-title b{font-size:.6875rem}.need-line{margin:.375rem 0}.village-needs>small{display:none}.adventure-card{bottom:.875rem;width:13.125rem;padding:.5625rem}.adventure-card b{font-size:.75rem}.adventure-card #next-concept{font-size:.4375rem}.game-dock{bottom:.875rem;padding:.4375rem .5rem .3125rem}.game-dock button>span{height:1.9375rem;width:2.0625rem}.game-dock button{min-width:2.6875rem;font-size:.4375rem;gap:.25rem}.town-tip{bottom:6.125rem;font-size:.375rem}.camera-controls{bottom:6.875rem}.camera-controls button{height:1.5625rem;width:1.5625rem}.map-label{font-size:.375rem;padding:.125rem .1875rem}.map-label>span{height:.875rem;width:.875rem}.map-label .icon{height:.5625rem;width:.5625rem}#management-panel{top:4.875rem;max-height:calc(100svh - 5.75rem);bottom:.875rem;width:18.75rem;padding:1.25rem 1.125rem}.building-crest{width:3.4375rem;height:3.3125rem;margin:.625rem 0 1.0625rem}.building-crest .icon{width:1.9375rem;height:1.9375rem}.puzzle-scene-bar{padding:.75rem 1.375rem}.puzzle-scene-inner{padding:1.0625rem 1.6875rem 1.5625rem}.puzzle-scene .puzzle-header h2{font-size:1.625rem;margin:.5rem 0}.puzzle-scene .puzzle-story{font-size:.625rem;line-height:1.6;margin:.5rem 0 .875rem}.puzzle-scene .bridge-game{height:14.0625rem}.puzzle-scene .bridge-road{top:7.5rem}.puzzle-scene .puzzle-cart{top:5.5rem}.puzzle-scene .code-panel{padding:.8125rem}.puzzle-scene .code-tabs{margin-bottom:.625rem}.puzzle-scene .code-tabs button{font-size:.5625rem;padding-bottom:.5625rem}.puzzle-scene .block-list{max-height:6.25rem}.puzzle-scene #code-editor{height:6.25rem;min-height:4.6875rem;font-size:.625rem;padding:.625rem}.puzzle-scene .code-heading{margin:.625rem 0 .4375rem}.puzzle-scene .tool-tip{font-size:.5625rem;margin-bottom:.5rem}.puzzle-scene .primary{min-height:2.375rem;font-size:.6875rem}.puzzle-scene #puzzle-feedback{font-size:.5625rem;margin:.5rem 0;min-height:1.25rem}.puzzle-scene .painting-game{min-height:16.25rem}.puzzle-scene .painting-canvas{height:9.6875rem}.puzzle-scene .table-game td,.puzzle-scene .table-game th{padding:.625rem .4375rem}.puzzle-scene .stage-heading{padding:.625rem}.puzzle-scene .stage-caption{padding:.6875rem;font-size:.5625rem}.puzzle-scene .painting-reference{margin-bottom:.5625rem}.puzzle-scene .painting-reference>div{height:4.0625rem}.book-scene .lesson-grid,.book-scene .journal-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){.village-badge{min-width:10.125rem;gap:.4375rem}.village-badge>span:last-child{min-width:5.625rem}.village-badge strong{font-size:1.25rem}.town-emblem{width:2.3125rem;height:2.5rem}.town-emblem>.icon{width:1.375rem;height:1.375rem}.resource-hud{gap:.3125rem}.resource-pill{min-width:4.3125rem;gap:.25rem;padding:.3125rem}.resource-symbol{width:1.5rem;height:1.5rem;border-radius:.4375rem}.resource-symbol .icon{width:1.125rem;height:1.125rem}.resource-pill small{font-size:.3125rem;letter-spacing:.04375rem}.resource-pill b{font-size:.75rem}.weather-pill{padding:.4375rem .5625rem;min-height:3rem}.weather-pill>span:last-child{display:none}.weather-pill>span:first-child{width:1.6875rem}.hud-right{gap:.375rem}.hud-round{height:1.9375rem;width:1.9375rem}.resource-hud{margin-top:.3125rem}.game-hud{gap:.4375rem}.adventure-card{width:11.875rem}.adventure-card>.icon{display:none}.adventure-card b{font-size:.75rem}.adventure-card small{font-size:.3125rem;letter-spacing:.0625rem}.adventure-card #next-concept{font-size:.4375rem}.adventure-emblem{width:1.8125rem;height:2.0625rem}.village-needs{width:10.875rem}.game-dock button{min-width:2.4375rem}.game-dock{padding:.4375rem .5rem .375rem;gap:.0625rem}.game-dock button>span{width:2rem;height:2rem}.game-dock button{font-size:.4375rem}.town-tip{bottom:6.3125rem}.map-label{font-size:.375rem}.map-label>span{height:.875rem;width:.875rem}.map-label .icon{height:.625rem;width:.625rem}.map-label small{font-size:.375rem}.puzzle-scene .puzzle-layout{grid-template-columns:1.08fr 1fr;gap:1rem}.puzzle-scene-inner{padding:1.25rem}.puzzle-scene .puzzle-header h2{font-size:1.75rem}.puzzle-scene .code-panel{padding:.8125rem}.puzzle-scene .bridge-game{height:14.6875rem}.puzzle-scene .bridge-road{top:8.125rem}.puzzle-scene .puzzle-cart{top:6.125rem}.puzzle-scene .table-game th,.puzzle-scene .table-game td{padding:.625rem .3125rem;font-size:.5625rem}.puzzle-scene .code-tabs{gap:.9375rem}.puzzle-scene .code-tabs button,.puzzle-scene .tool-tip{font-size:.5625rem}.puzzle-scene #code-editor{font-size:.625rem;height:8.4375rem}.puzzle-scene .stage-heading>span:last-child{display:none}.puzzle-scene .stage-heading>span:first-child{max-width:100%}.puzzle-scene .table-title{font-size:.75rem}.puzzle-scene .table-game{padding:.625rem .3125rem}.puzzle-scene-bar{padding:.875rem 1.25rem}.puzzle-scene-bar>span:nth-child(2){font-size:.4375rem;letter-spacing:.10625rem}.puzzle-weather{font-size:.4375rem}.puzzle-scene .painting-game{padding:.75rem;min-height:17.8125rem}.puzzle-scene .painting-canvas{height:11.5625rem}.puzzle-scene .stage-caption{font-size:.5625rem}.book-scene .page-heading h1{font-size:2.125rem}.book-scene .page-heading{display:flex}.book-scene .lesson-grid,.book-scene .journal-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px)and (orientation:portrait){.game-hud{top:.875rem;left:.75rem;right:.75rem;flex-wrap:wrap;align-items:flex-start}.village-badge{min-width:10.9375rem}.town-emblem{height:2.6875rem;width:2.625rem}.village-badge strong{font-size:1.375rem}.resource-hud{order:3;margin:0;gap:.4375rem;width:100%;justify-content:center;position:absolute;top:5.25rem}.resource-pill{min-width:5.375rem;padding:.375rem;gap:.4375rem}.resource-symbol{width:1.75rem;height:1.75rem}.resource-pill small{font-size:.375rem}.resource-pill b{font-size:.9375rem}.hud-right{margin-left:auto}.weather-pill{min-height:2.9375rem}.region-caption{top:9.6875rem}.region-caption>span{font-size:.5rem;letter-spacing:.1875rem}.region-caption>small{font-size:.5625rem}.supply-chest{left:.75rem;top:12.8125rem;padding:.4375rem}.supply-chest>span:nth-child(2){font-size:.5rem}.supply-chest small{font-size:.375rem}.supply-chest>.icon{width:1.3125rem;height:1.3125rem}.village-needs{left:.75rem;bottom:7.8125rem;width:10.5rem;padding:.625rem}.needs-title{gap:.3125rem}.needs-title b{font-size:.625rem}.needs-title small{font-size:.375rem}.need-line>span{font-size:.4375rem;width:3.4375rem}.need-line b{font-size:.4375rem}.village-needs>small{font-size:.4375rem}.adventure-card{bottom:1.6875rem;left:.75rem;right:.75rem;width:auto;padding:.75rem;gap:.75rem}.adventure-card b{font-size:1rem}.adventure-card small{font-size:.375rem}.adventure-card #next-concept{font-size:.5rem}.adventure-emblem{width:2.375rem;height:2.5rem}.adventure-card>.icon{display:block;margin-left:auto}.game-dock{left:auto;right:.75rem;bottom:8.0625rem;transform:none;display:grid;grid-template-columns:1fr 1fr;gap:.5625rem;padding:.625rem}.game-dock button{min-width:2.4375rem;font-size:.4375rem}.game-dock button>span{height:2.0625rem;width:2.125rem}.town-tip{bottom:6.9375rem;font-size:.375rem}.camera-controls{right:.75rem;bottom:17.1875rem;padding:.1875rem}.camera-controls button{width:1.6875rem;height:1.6875rem}.map-label{font-size:.3125rem;padding:.125rem}.map-label>span{height:.6875rem;width:.6875rem}.map-label .icon{height:.5rem;width:.5rem}.map-label small{font-size:.3125rem;min-width:.5rem;height:.625rem}#management-panel{inset:9.25rem .75rem 7.1875rem;width:auto;max-height:calc(100svh - 16.4375rem);padding:1.375rem}#management-panel h2{font-size:1.8125rem}.book-scene .page-heading{display:block}.book-scene .lesson-grid,.book-scene .journal-grid{grid-template-columns:1fr}.puzzle-scene .puzzle-layout{grid-template-columns:1fr;gap:1.25rem}.puzzle-scene-bar>span:nth-child(2){display:none}.puzzle-weather{font-size:.4375rem}.puzzle-scene-inner{padding:1.4375rem 1.0625rem 2.1875rem}.puzzle-scene .puzzle-header{display:block}.puzzle-scene .puzzle-header h2{font-size:1.8125rem;margin-top:.625rem}.puzzle-scene .puzzle-story{font-size:.6875rem}.puzzle-scene .bridge-game{height:15.625rem}.puzzle-scene .bridge-road{top:9.0625rem}.puzzle-scene .puzzle-cart{top:7.0625rem}.puzzle-scene .code-panel{padding:1.0625rem}.puzzle-scene #code-editor{height:9.6875rem}.puzzle-scene .table-game td,.puzzle-scene .table-game th{padding:.75rem .375rem;font-size:.625rem}.puzzle-scene .stage-heading>span:last-child{display:block;font-size:.375rem}.puzzle-scene .painting-canvas{height:12.5rem}.puzzle-scene .painting-game{min-height:18.75rem}#scene-transition h2{font-size:1.625rem;text-align:center}#scene-transition>span{font-size:.625rem}.scene-exit{font-size:.5625rem}.puzzle-scene-bar{padding:.9375rem 1.0625rem}#toast{bottom:6.5625rem;font-size:.625rem;width:max-content;max-width:90vw;text-align:center}}@media(prefers-reduced-motion:reduce){.weather-layer:after{display:none!important}#scene-transition{transition:none}.loading-trail i{animation:none!important;width:100%}}.map-label.unbuilt-marker{border-style:dashed;background:#f3e8c6c9;color:#9a8a5e;opacity:.75}.unbuilt-marker>span{background:#e6d9af;color:#b29c63}.unbuilt-marker small:empty:after{content:"+"}.unbuilt-marker small{background:#b9a373;color:#fff2c7}.region-caption>span,.region-caption>small{color:#fffdf0;text-shadow:0 .125rem .3125rem #31492d,0 .0625rem .0625rem #31492d}.region-caption>i{background:#fff8dc;box-shadow:0 .0625rem .1875rem #354d32}.resource-hud{gap:.4375rem}.resource-pill{min-width:6rem}.resource-pill.nails-pill .resource-symbol{background:#d9dfd0;color:#7f8b78}.map-label>span.marker-copy{display:flex;flex-direction:column;align-items:flex-start;gap:.1875rem;height:auto;width:auto;background:transparent;padding:.0625rem .1875rem;color:inherit}.marker-copy b{font-weight:600;font-size:.5rem;line-height:1.1}.marker-copy em{font-size:.375rem;font-style:normal;font-weight:400;color:#8d9676;letter-spacing:0;max-width:10.9375rem;line-height:1.3}.map-label{padding:.25rem .375rem .25rem .25rem;white-space:normal}.map-label small{white-space:nowrap;min-width:1.4375rem;padding:.125rem .25rem;height:1.125rem}.unbuilt-marker .marker-copy em{max-width:8.125rem}.building-info-label{position:absolute;width:17.8125rem;max-width:calc(100vw - 1.5rem);max-height:calc(100svh - 8.125rem);overflow:auto;background:#fcf3dbf7;border:.125rem solid #af9c6c;border-radius:.75rem;padding:1rem;pointer-events:auto;box-shadow:0 .375rem #6a6e4433,0 .75rem 2.1875rem #2e462d42;z-index:12;text-align:left;scrollbar-width:thin}.building-info-label[hidden]{display:none}.building-info-label:after{content:"";position:absolute;left:50%;bottom:-.625rem;height:1rem;width:1rem;transform:rotate(45deg);background:#faf0d6;border-right:.125rem solid #af9c6c;border-bottom:.125rem solid #af9c6c}.attached-close{position:absolute;right:.4375rem;top:.3125rem;font-size:1.25rem;color:#9b9a74;padding:.1875rem .375rem;line-height:1}.attached-heading{display:flex;gap:.5625rem;align-items:center;padding-right:.9375rem}.attached-heading>.icon{width:1.875rem;height:1.875rem;background:#e5e5c6;padding:.3125rem;border-radius:.4375rem;color:#839364}.attached-heading>span{display:flex;flex-direction:column;gap:.25rem}.attached-heading small{font-size:.375rem;letter-spacing:.08125rem;color:#a0a17b}.attached-heading b{font-family:var(--serif);font-size:1.125rem;font-weight:500;line-height:1.15}.attached-purpose{font-size:.5625rem;line-height:1.7;color:#8f9673;margin:.75rem 0}.building-info-label>strong{display:block;font-size:.625rem;font-weight:600;color:#658451;background:#e4e9cc;padding:.5625rem;border:.0625rem solid #ced7ac;border-radius:.375rem}.attached-workforce{font-size:.5rem;color:#989d77;margin:.5rem 0 .75rem}.attached-next{border-top:.0625rem solid #d8d6b6;padding-top:.625rem}.attached-next>small{font-size:.5rem;line-height:1.6;letter-spacing:.025rem;color:#819168;font-weight:600}.attached-next p{font-size:.5625rem;line-height:1.6;margin:.4375rem 0;color:#9a9974}.attached-cost,.store-cost{display:flex;align-items:center;gap:.875rem;font-size:.625rem;margin:.625rem 0 .8125rem;color:#aa945b}.attached-cost>span,.store-cost>span{display:flex;align-items:center;gap:.25rem}.attached-cost .icon,.store-cost .icon{width:.9375rem;height:.9375rem}.building-info-label .primary{min-height:2.25rem;padding:.5rem;font-size:.625rem;background:#6b8655;box-shadow:0 .1875rem #526c44}.building-info-label .primary .icon{height:.875rem;width:.875rem}.building-info-label .text-button{margin:.625rem 0 0;justify-content:center;display:flex;width:100%;font-size:.5rem}.attached-max{display:block;background:#e5ead0;color:#7b8c61;font-size:.5625rem;padding:.625rem;border-radius:.375rem}.villager-bubble{position:absolute;width:max-content;max-width:9.375rem;background:#fff9e8ed;color:#797d5d;border:.0625rem solid #c9c59c;border-radius:.5rem;padding:.5rem .625rem;font-family:var(--serif);font-size:.625rem;line-height:1.4;text-align:center;box-shadow:0 .1875rem .5625rem #3e553324;pointer-events:none;z-index:8}.villager-bubble:after{content:"";position:absolute;bottom:-.3125rem;left:50%;width:.5rem;height:.5rem;background:#fff9e8;border-right:.0625rem solid #c9c59c;border-bottom:.0625rem solid #c9c59c;transform:rotate(45deg)}.need-line i.danger{background:#bd8268!important}.store-balance{display:flex;gap:.4375rem;align-items:center;background:#e7e7c9;border-radius:.5rem;padding:.6875rem;margin:1.0625rem 0;color:#879269;font-size:.75rem}.store-balance .icon{width:1.0625rem;height:1.0625rem;color:#ac965b}.store-balance .icon:not(:first-child){margin-left:.6875rem}.store-tabs{display:flex;gap:.3125rem;margin:1rem 0}.store-tabs button{flex:1;background:#eee7cc;border:.0625rem solid #d4d2af;padding:.5rem .25rem;font-size:.5rem;border-radius:.375rem;color:#999776}.store-tabs button.active{background:#819666;color:#fff3cf;border-color:#8d9f70}.store-card{background:#f8f0d6;border:.0625rem solid #d8d6b4;border-radius:.6875rem;padding:.8125rem;margin-bottom:.1875rem}.store-card-title{display:flex;align-items:center;gap:.5625rem}.store-card-title>span:last-child{display:flex;flex-direction:column;gap:.3125rem}.store-card-title b{font-size:.75rem;font-family:var(--serif);font-weight:500}.store-card-title small{font-size:.375rem;letter-spacing:.0625rem;color:#a09c76}.store-card p{font-size:.5625rem!important;line-height:1.7!important;margin:.625rem 0 .5rem!important}.store-card>small{display:block;font-size:.5rem;color:#8b986d}.store-card>.outline{width:100%;font-size:.5625rem;min-height:2.1875rem;padding:.5rem;background:#e9e8cc;border-color:#d0d4ac}.store-card .store-cost{font-size:.625rem;margin:.75rem 0}.population-summary{display:flex;gap:.4375rem;margin:1.0625rem 0}.population-summary>span{flex:1;display:flex;flex-direction:column;gap:.4375rem;font-size:.5rem;color:#a09c76;background:#eae5c8;border-radius:.4375rem;padding:.625rem}.population-summary b{font-family:var(--serif);font-size:1.3125rem;font-weight:500;color:#7c8d61}.critical-warning{display:block;font-size:.4375rem;color:#b37b5f;margin-top:.4375rem}.resident-mini-stats{gap:.4375rem;flex-wrap:wrap}.resident-card{padding:.6875rem}.resident-card h3{font-size:1.0625rem}.resident-card>div>span{font-size:.4375rem}.town-events{margin-top:1.375rem}.town-events h3,.demand-table h3{font-family:var(--serif);font-weight:500;font-size:1.125rem;margin-bottom:.75rem}.town-events p{font-size:.5625rem!important;padding:.5625rem 0;border-bottom:.0625rem solid #ded9ba;margin:0!important}.demand-table{background:#e8e7ca;border-radius:.625rem;padding:.875rem;margin:1.125rem 0}.demand-table>div{display:flex;align-items:center;justify-content:space-between;font-size:.5rem;margin-top:.75rem;gap:.5rem;color:#8a9472}.demand-table b{font-weight:500}.demand-table em{font-style:normal}.demand-table .deficit{color:#b77f5c}.farm-inventory{gap:.4375rem}.farm-inventory>div{padding:.625rem;font-size:.5rem}.farm-inventory b{font-size:.875rem}.farm-inventory .icon{width:1.0625rem;height:1.0625rem}.in-puzzle #town-view{display:block}.in-puzzle .game-hud,.in-puzzle .region-caption,.in-puzzle .supply-chest,.in-puzzle .world-labels,.in-puzzle .village-needs,.in-puzzle .camera-controls,.in-puzzle .game-dock,.in-puzzle .adventure-card,.in-puzzle .town-tip,.in-puzzle #management-panel{visibility:hidden!important;pointer-events:none!important}.in-puzzle #world{pointer-events:none}.puzzle-scene{background:#263f3533;-webkit-backdrop-filter:none;backdrop-filter:none}.puzzle-scene:before,.puzzle-scene:after{display:none}.puzzle-scene-bar{background:#f4eed7e8;border-bottom-color:#b8c39c;position:relative;z-index:2}.puzzle-scene-inner>.puzzle-header h2,.puzzle-scene-inner>.puzzle-header .eyebrow,.puzzle-scene-inner>.puzzle-story{color:#fff9e7;text-shadow:0 .125rem .375rem #294630}.puzzle-scene .code-panel{background:#faf3dff2;-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem)}.puzzle-scene .puzzle-stage{background:#faf3dff5}.puzzle-weather{font-size:.5625rem;max-width:27.5rem}.puzzle-weather>span{display:flex;flex-direction:column;gap:.3125rem}.puzzle-weather b{font-size:.5625rem;font-weight:500;line-height:1.5;color:#6e8057}.puzzle-weather small{font-size:.5rem;color:#9a9c77}.puzzle-weather .icon{flex-shrink:0;width:1.6875rem;height:1.6875rem}.puzzle-rain{position:fixed;inset:0;pointer-events:none;z-index:1;opacity:0;transition:opacity .8s;background:repeating-linear-gradient(108deg,transparent 0 2.4375rem,#e0ece41a 2.5rem 2.5625rem,transparent 2.625rem 4.9375rem);animation:puzzle-rainfall .7s linear infinite}.puzzle-scene-inner{position:relative;z-index:2}html[data-weather=storm] .puzzle-rain{opacity:1}html[data-weather=storm] .puzzle-scene{background:#18303f40}html[data-weather=storm] .puzzle-weather b{color:#657f88}@keyframes puzzle-rainfall{0%{background-position:0 -3.75rem}to{background-position:-1.125rem 5.625rem}}@media(max-width:1100px){.resource-pill{min-width:4.875rem;gap:.375rem}.resource-hud{gap:.3125rem}.marker-copy b{font-size:.4375rem}.marker-copy em{font-size:.3125rem;max-width:8.4375rem}.map-label small{font-size:.375rem;min-width:1.25rem;height:.9375rem}.building-info-label{width:16.25rem;padding:.875rem}.attached-heading b{font-size:1.0625rem}.attached-purpose{font-size:.5rem}.puzzle-weather{max-width:22.5rem}.puzzle-weather b{font-size:.5rem}.puzzle-weather small{font-size:.4375rem}}@media(max-width:800px){.resource-hud{gap:.25rem}.resource-pill{min-width:3.75rem;padding:.3125rem .25rem;gap:.25rem}.resource-pill .resource-symbol{width:1.375rem;height:1.5rem}.resource-pill .resource-symbol .icon{width:1.0625rem;height:1.0625rem}.resource-pill b{font-size:.6875rem}.resource-pill small{font-size:.3125rem}.marker-copy b{font-size:.375rem}.marker-copy em{font-size:.28125rem;max-width:7.1875rem}.map-label{padding:.1875rem;gap:.125rem}.map-label>span:first-child{width:.75rem;height:.8125rem}.map-label small{min-width:1.125rem;height:.875rem;padding:.0625rem .125rem;font-size:.3125rem}.building-info-label{width:15.625rem;max-height:calc(100svh - 6.875rem);padding:.75rem}.attached-heading b{font-size:1rem}.attached-purpose{font-size:.5rem;margin:.5625rem 0}.attached-next p{font-size:.5rem}.building-info-label .primary{min-height:2rem}.puzzle-scene-bar>span:nth-child(2){display:none}.puzzle-weather{max-width:20rem}.puzzle-weather b{font-size:.4375rem}.puzzle-weather small{font-size:.375rem}.villager-bubble{font-size:.5rem;max-width:7.8125rem;padding:.375rem .5rem}}@media(max-height:650px)and (min-width:651px){.village-needs{width:11.5rem}.need-line{margin:.3125rem 0}.building-info-label{width:15.5rem;max-height:calc(100svh - 6.25rem)}.attached-purpose{font-size:.4375rem;line-height:1.6;margin:.4375rem 0}.attached-heading b{font-size:.9375rem}.building-info-label>strong{font-size:.5rem;padding:.4375rem}.attached-workforce{font-size:.4375rem;margin:.4375rem 0}.attached-next p{font-size:.4375rem}.attached-next>small{font-size:.4375rem}.attached-cost{font-size:.5625rem;margin:.5rem 0}.building-info-label .text-button{margin-top:.4375rem}.attached-next .primary{min-height:1.9375rem;font-size:.5625rem}.store-card p{font-size:.5625rem!important}.puzzle-weather small{font-size:.375rem}.marker-copy em{font-size:.28125rem}}@media(max-width:650px)and (orientation:portrait){.resource-hud{gap:.3125rem}.resource-pill{min-width:4.5rem;padding:.375rem .3125rem}.resource-pill .resource-symbol{width:1.5rem;height:1.625rem}.resource-pill b{font-size:.8125rem}.marker-copy b{font-size:.3125rem}.marker-copy em{max-width:5.9375rem;font-size:.25rem}.map-label small{min-width:.9375rem;height:.75rem;font-size:.25rem}.building-info-label{width:16.25rem}.village-needs{bottom:7.8125rem}.puzzle-weather{max-width:13.125rem}.puzzle-weather .icon{width:1.375rem;height:1.375rem}.puzzle-weather b{font-size:.4375rem}.puzzle-weather small{font-size:.375rem}.puzzle-scene-inner>.puzzle-story{font-size:.6875rem}.puzzle-rain{background-size:4.6875rem 6.25rem}}@media(prefers-reduced-motion:reduce){.puzzle-rain{animation:none!important}}.map-label{border:.0625rem solid #d4d0ade0;background:#fbf4dfd9;border-radius:.3125rem;box-shadow:0 .125rem .3125rem #40533412;padding:.25rem .4375rem;gap:0;min-height:1.3125rem;white-space:nowrap}.map-label>span:first-child,.map-label .marker-copy em,.map-label>small{display:none!important}.map-label>span.marker-copy{padding:0;display:block;width:auto;height:auto;background:transparent}.map-label .marker-copy b{font-size:.5rem;font-weight:500;line-height:1.2;color:#6a7957}.map-label:hover,.map-label:focus-visible,.map-label.is-selected{background:#fff8e4;border-color:#a8b68a;box-shadow:0 .125rem .5rem #4e633225}.map-label.unbuilt-marker{border-style:dashed;opacity:.75}.need-line[hidden]{display:none!important}@media(max-width:1100px){.map-label{padding:.1875rem .375rem;min-height:1.125rem}.map-label .marker-copy b{font-size:.4375rem}}@media(max-width:800px){.map-label{padding:.1875rem .3125rem;min-height:1rem}.map-label .marker-copy b{font-size:.375rem}}@media(max-width:650px)and (orientation:portrait){.map-label .marker-copy b{font-size:.3125rem}.map-label{padding:.125rem .25rem;min-height:.875rem}}#building-label{position:fixed;inset:auto auto 1.125rem 50%;transform:translate(-50%);width:min(65rem,calc(100vw - 2.5rem));max-width:none;max-height:calc(100dvh - 6.875rem);padding:1.25rem 1.625rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr);gap:1.5rem;overflow:auto;z-index:32;border-radius:1.125rem;box-shadow:0 .3125rem #6a6e4433,0 .75rem 2.375rem #2e462d42;animation:building-dashboard-enter .26s ease-out both}#building-label[hidden]{display:none}#building-label:after{display:none}#building-label>section{min-width:0}#building-label .attached-close{right:.5rem;top:.4375rem;z-index:1}#building-label .attached-heading{padding-right:0}#building-label .attached-heading b{font-size:1.3125rem}#building-label .attached-heading small{font-size:.5rem}#building-label .attached-purpose{font-size:.625rem;line-height:1.65;margin:.75rem 0 0}#building-label .building-output,#building-label .building-upgrade{border-left:.0625rem solid #d8d6b6;padding-left:1.5rem}#building-label .building-section-title{display:block;font-size:.5rem;letter-spacing:.0625rem;color:#819168;margin:0 0 .625rem}#building-label #attached-production{display:block;font-size:.6875rem;line-height:1.5;font-weight:600;color:#658451;background:#e4e9cc;padding:.5625rem;border:.0625rem solid #ced7ac;border-radius:.375rem}#building-label .attached-workforce{font-size:.5625rem;line-height:1.5;margin:.5625rem 0}#building-label .attached-next{border:0;padding:0}#building-label .attached-next p{font-size:.5625rem;margin:.375rem 0;line-height:1.5}#building-label .attached-next>small{font-size:.5625rem}#building-label .attached-cost{margin:.5625rem 0;font-size:.6875rem}#building-label .primary{min-height:2.1875rem;width:100%}#building-label .text-button{margin-top:.5625rem;font-size:.5625rem;width:auto;justify-content:flex-start}@keyframes building-dashboard-enter{0%{opacity:0;transform:translate(-50%,4.375rem)}to{opacity:1;transform:translate(-50%)}}@media(max-width:800px){#building-label{bottom:.625rem;width:calc(100vw - 1.25rem);padding:1rem 1.25rem;gap:.875rem}#building-label .building-output,#building-label .building-upgrade{padding-left:.875rem}#building-label .attached-heading b{font-size:1.0625rem}#building-label .attached-purpose{font-size:.5625rem}#building-label #attached-production{font-size:.625rem}}@media(max-width:650px)and (orientation:portrait){#building-label{grid-template-columns:1fr 1fr;gap:.875rem;padding:1rem;max-height:calc(100dvh - 10.625rem)}#building-label .building-overview{grid-column:1/-1;padding-right:1.125rem}#building-label .attached-purpose{margin-top:.375rem}#building-label .building-output{border:0;padding:0}#building-label .attached-heading b{font-size:1.25rem}}@media(max-height:500px)and (orientation:landscape){#building-label{bottom:.5rem;padding:.75rem 1.25rem;gap:1rem}#building-label .attached-heading b{font-size:1rem}#building-label .attached-purpose{font-size:.5rem;margin-top:.4375rem}#building-label .attached-next p{font-size:.5rem}#building-label .text-button{margin-top:.375rem;font-size:.5rem}#building-label .attached-workforce{font-size:.5rem}}@media(prefers-reduced-motion:reduce){#building-label{animation:none}}.reduce-motion #building-label{animation:none}html:not([data-light=night]) .game-vignette{background:radial-gradient(ellipse at 50% 45%,transparent 50%,#a08b5e12 100%),linear-gradient(180deg,#bca67510,transparent 20%,transparent 85%,#8c906412)}#management-panel{width:min(26.25rem,calc(100vw - 2rem));padding:1.5rem;color:#42583b}#management-panel .panel-kicker{font-size:.6875rem;letter-spacing:.075rem;color:#65734e;line-height:1.5;padding-right:1rem}#management-panel h2{font-size:1.875rem;line-height:1.2}#management-panel p{font-size:.875rem;line-height:1.65;color:#596748}#management-panel .resident-card{padding:.9375rem;gap:.75rem;align-items:flex-start}#management-panel .resident-card>div{min-width:0;flex:1}#management-panel .resident-face{flex-shrink:0}#management-panel .resident-card h3{font-size:1.375rem;line-height:1.25;margin:0 0 .4375rem}#management-panel .resident-card>div>span{display:block;font-size:.8125rem;line-height:1.5;color:#586747}#management-panel .resident-mini-stats{font-size:.8125rem;gap:.5rem .75rem;line-height:1.5;color:#52633e;margin-top:.625rem}#management-panel .resident-mini-stats>span{display:inline-flex;align-items:center;gap:.25rem}#management-panel .resident-mini-stats .icon{width:.9375rem;height:.9375rem;flex-shrink:0}#management-panel .critical-warning{font-size:.8125rem;line-height:1.5;color:#984b32;margin-top:.5625rem;font-weight:600}#management-panel .population-summary>span{font-size:.75rem;line-height:1.4;color:#647049;padding:.75rem .5625rem}#management-panel .population-summary b{font-size:1.6875rem;color:#526a42}#management-panel .production-note{padding:1rem}#management-panel .production-note b{font-size:.875rem;line-height:1.5;color:#405538}#management-panel .production-note p{font-size:.875rem!important;line-height:1.65;margin-top:.5rem}#management-panel .town-events h3,#management-panel .demand-table h3{font-size:1.4375rem;color:#405538}#management-panel .town-events p{font-size:.875rem!important;line-height:1.6;padding:.75rem 0;color:#596748}#management-panel .store-card p{font-size:.875rem!important;line-height:1.6!important}#management-panel .store-card-title b{font-size:1rem;line-height:1.4}#management-panel .store-card-title small,#management-panel .store-card>small{font-size:.75rem;line-height:1.5;color:#5e7049}#management-panel .store-tabs button,#management-panel .store-card>.outline,#management-panel .primary,#management-panel .outline{font-size:.8125rem;line-height:1.4;min-height:2.5rem}#management-panel .store-cost,#management-panel .store-balance{font-size:.875rem;color:#77612e}#management-panel .farm-inventory>div{font-size:.8125rem;padding:.75rem;color:#596748}#management-panel .farm-inventory b{font-size:1.1875rem}#management-panel .production-chain>span,#management-panel .demand-table>div{font-size:.8125rem;line-height:1.5;color:#596748}#management-panel .forecast-stats>span{font-size:.75rem;line-height:1.4;color:#647049}#management-panel .forecast-stats b{font-size:1.625rem}#management-panel .weather-preview>.eyebrow,#management-panel .weather-preview .text-button{font-size:.75rem;line-height:1.5}#management-panel .panel-close{width:2rem;height:2rem}#building-label .attached-heading small,#building-label .building-section-title{font-size:.6875rem;line-height:1.45;letter-spacing:.03125rem;color:#62734d}#building-label .attached-heading b{font-size:1.4375rem}#building-label .attached-purpose,#building-label #attached-production{font-size:.875rem;line-height:1.55;color:#526641}#building-label .attached-workforce,#building-label .attached-next p,#building-label .attached-next>small,#building-label .attached-max{font-size:.8125rem;line-height:1.5;color:#5b6d47}#building-label .attached-cost{font-size:.875rem;color:#77612e}#building-label .primary,#building-label .text-button{font-size:.8125rem;line-height:1.4;min-height:2.25rem}.game-hud .village-badge small{font-size:.625rem;line-height:1.4;letter-spacing:.03125rem;color:#62704c}.game-hud .resource-pill small{font-size:.625rem;letter-spacing:.021875rem;color:#6a6948}.game-hud .weather-pill b{font-size:.8125rem;line-height:1.4}.game-hud .weather-pill small{font-size:.6875rem;line-height:1.4;color:#62704c}.village-needs{width:16.25rem}.village-needs .needs-title b{font-size:.9375rem}.village-needs .needs-title small{font-size:.6875rem;line-height:1.4;color:#62704c}.village-needs .need-line>span{font-size:.75rem;width:4.75rem}.village-needs .need-line b{font-size:.75rem;width:2.125rem;color:#52633e}.village-needs .need-line .icon{width:.9375rem;height:.9375rem}.village-needs>small{font-size:.8125rem;line-height:1.5;color:#586747}.game-dock button{font-size:.75rem;line-height:1.4}.supply-chest>span:nth-child(2){font-size:.75rem;line-height:1.4}.supply-chest small{font-size:.6875rem;line-height:1.4;color:#64704b}.map-label .marker-copy b{font-size:.6875rem;color:#42583b}.villager-bubble{font-size:.875rem;max-width:11.875rem;color:#42583b}@media(max-width:800px){#management-panel{left:.75rem;padding:1.375rem 1.125rem}.game-hud .resource-pill small{font-size:.5625rem}.game-hud .weather-pill small{font-size:.625rem}.village-needs{width:14.375rem}.map-label .marker-copy b{font-size:.625rem}#building-label{gap:1rem;padding:1.125rem}#building-label .building-output,#building-label .building-upgrade{padding-left:1rem}}@media(max-width:650px)and (orientation:portrait){#management-panel{left:.75rem;right:.75rem;width:auto}.village-needs{width:13.125rem}.game-hud .village-badge small{font-size:.5625rem}.map-label .marker-copy b{font-size:.625rem}#building-label .building-output{padding-left:0}#building-label .attached-heading b{font-size:1.4375rem}}@media(max-height:650px)and (orientation:landscape){.village-needs .need-line{margin:.4375rem 0}}.adventure-card small{font-size:.6875rem;line-height:1.5;letter-spacing:.03125rem}.adventure-card #next-concept{font-size:.75rem;line-height:1.5}.adventure-card b{font-size:1.25rem;line-height:1.3}.region-caption>small{font-size:.8125rem}.town-tip{font-size:.75rem}#management-panel{bottom:auto;height:auto;min-height:0;max-height:calc(100svh - 9.375rem)}.village-needs{width:min(18.75rem,calc(100vw - 1.5rem));height:auto;min-height:0;padding:.75rem .875rem}.village-needs .needs-title{height:auto;min-height:0;padding:0 0 .5625rem;margin:0 0 .5rem;gap:.5rem}.village-needs .needs-title>span:nth-child(2){min-width:0;gap:.3125rem}.village-needs .needs-title b{line-height:1.25}.village-needs #population-label{display:flex;flex-wrap:wrap;gap:.1875rem .5rem;font-size:.6875rem;line-height:1.35}#population-label>span{white-space:nowrap}.village-needs #village-message{height:auto;min-height:0;margin-top:.5rem;padding-top:.4375rem;font-size:.8125rem;line-height:1.4}.adventure-card{width:min(21.875rem,calc(100vw - 1.5rem));height:auto;min-height:0;padding:.6875rem .8125rem;gap:.6875rem;align-items:center}.adventure-card>span:nth-child(2){min-width:0;gap:.1875rem}.adventure-card b{font-size:1.1875rem;line-height:1.2;margin:0}.adventure-card small,.adventure-card #next-concept{line-height:1.35}.adventure-card>.icon{flex-shrink:0}#building-label{height:auto;min-height:0;align-items:start}.map-label:not(:focus-visible){width:.0625rem!important;height:.0625rem!important;min-height:0!important;padding:0!important;border:0!important;clip-path:inset(50%);overflow:hidden;pointer-events:none}.map-label:focus-visible{outline:.1875rem solid #fff3bc;outline-offset:.25rem}@media(max-width:1100px){#management-panel{max-height:calc(100svh - 7.6875rem)}}@media(max-height:650px)and (min-width:651px){#management-panel{max-height:calc(100svh - 5.75rem)}.village-needs{width:17.5rem;padding:.625rem .75rem}.adventure-card{width:19.375rem;padding:.625rem .75rem}.adventure-card b{font-size:1.125rem}}@media(max-width:650px)and (orientation:portrait){#management-panel{max-height:calc(100svh - 16.4375rem)}.village-needs{width:min(17.5rem,calc(100vw - 6.5625rem))}.adventure-card{left:.75rem;right:.75rem;width:auto}.village-needs .resident-portraits{display:none}}.village-clock{position:absolute;right:1.5rem;top:6.75rem;z-index:6;display:flex;align-items:center;gap:.5625rem;background:#fcf3ddef;color:#4d633f;border:.0625rem solid #b7a579;border-radius:.6875rem;padding:.5625rem .8125rem;text-align:left;box-shadow:0 .1875rem .75rem #31472d20}.village-clock>.icon{width:1.5625rem;height:1.5625rem}.village-clock>span{display:flex;flex-direction:column;gap:.1875rem}.village-clock b{font-size:.9375rem;line-height:1.3}.village-clock small{font-size:.6875rem;line-height:1.4}.in-puzzle .village-clock{visibility:hidden;pointer-events:none}.daily-routine{display:grid;gap:0;margin:1rem 0}.daily-routine>div{display:grid;grid-template-columns:6.5625rem 1fr;gap:.75rem;padding:.6875rem 0;border-bottom:.0625rem solid #ded9ba;font-size:.8125rem;line-height:1.5;color:#596748}.daily-routine b{color:#42583b}.child-tag{font:600 .6875rem var(--sans);border-radius:.3125rem;background:#e6e9c8;padding:.1875rem .3125rem;color:#62774c}.family-growth-status{background:#e5e9ce;border-radius:.5rem;padding:.75rem}.resident-card .resident-home{margin-top:.3125rem;color:#64734d!important}.village-clock:focus-visible{outline:.1875rem solid #fff3bc;outline-offset:.1875rem}html[data-light=night] .game-vignette{background:radial-gradient(ellipse at center,transparent 38%,#26394d20 100%)}html[data-light=night] .village-clock{background:#dfe5dd;color:#415476}@media(max-width:1100px){.village-clock{right:.9375rem;top:5.8125rem;padding:.4375rem .625rem}.village-clock b{font-size:.8125rem}}@media(max-height:650px)and (min-width:651px){.village-clock{top:4.875rem}.village-clock small{max-width:11.25rem}.village-clock b{font-size:.75rem}}@media(max-width:650px)and (orientation:portrait){.village-clock{right:.75rem;top:9.6875rem;padding:.4375rem .5625rem;max-width:11.875rem}.village-clock b{font-size:.8125rem}.village-clock small{font-size:.625rem}.village-clock>.icon{width:1.25rem;height:1.25rem}}.building-name-editor{margin-top:.625rem;font-size:.75rem;color:#526641}.building-name-editor summary{cursor:pointer;font-weight:600;line-height:1.5}.building-name-editor form{margin-top:.5625rem;display:flex;flex-direction:column;gap:.375rem}.building-name-editor label,.building-name-editor small{font-size:.6875rem;line-height:1.4}.building-name-editor input{width:100%;min-width:0;padding:.5rem;font-size:.875rem;border:.0625rem solid #b8b594;border-radius:.375rem;background:#fff9e9;color:#42583b}.building-name-editor form>div{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.building-name-editor .outline{font-size:.75rem;min-height:2rem;padding:.375rem .5625rem}#building-label .building-name-editor .text-button{font-size:.75rem;margin:0}#building-name-error{color:#994d39}#clock-time{font-variant-numeric:tabular-nums;white-space:nowrap}.village-clock .icon{width:1.5625rem;height:1.5625rem}#clock-icon{display:grid;place-items:center}.resource-hud{min-width:0;gap:.4375rem}.resource-pill{min-width:6rem;padding:.4375rem;gap:.4375rem}.resource-symbol.timber{background:#d8c5a0;color:#836342}.resource-symbol.ore{background:#d6dcda;color:#697f80}@media(max-width:1250px){.resource-hud{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.375rem;margin:0 auto;flex:1;max-width:21.875rem}.resource-hud .resource-pill{min-width:0;padding:.3125rem .4375rem;gap:.375rem}.resource-hud .resource-symbol{width:1.5625rem;height:1.5625rem}.resource-hud .resource-symbol .icon{width:1.1875rem;height:1.1875rem}.resource-hud .resource-pill b{font-size:.875rem}.resource-hud .resource-pill small{font-size:.5625rem;letter-spacing:.01875rem}}@media(max-width:650px)and (orientation:portrait){.resource-hud{width:100%;max-width:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:.375rem}.resource-hud .resource-pill{padding:.3125rem .4375rem}.region-caption{top:11.25rem}.village-clock{top:13.625rem}.supply-chest{top:17.1875rem}}#management-panel .land-store-entry{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;margin:1rem 0 0;background:#e6e9cd}.land-progress{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:.875rem;background:#e5e8cd;border:.0625rem solid #c6cea5;border-radius:.5625rem;color:#526641;font-size:.875rem}.land-progress>small{width:100%;font-size:.75rem}.land-progress>span{margin-left:auto}.land-section-list{display:grid;gap:.5625rem;margin:1.125rem 0}.land-section-card{display:flex;align-items:center;justify-content:space-between;text-align:left;padding:.8125rem;background:#f7f0da;border:.0625rem solid #c7cda6;border-radius:.5625rem;color:#526641}.land-section-card>span{display:grid;grid-template-columns:1.5625rem 1fr;gap:.3125rem .5625rem}.land-section-card b{font-size:.875rem}.land-section-card small{grid-column:2;font-size:.75rem;color:#697a54}.land-section-card>.icon{width:1.0625rem}.land-section-card:hover{background:#e8eccf}#store-panel[hidden]{display:none!important}#store-panel{position:fixed;left:1rem;right:1rem;bottom:.875rem;z-index:35;display:flex;flex-direction:column;gap:.5rem;max-height:calc(100dvh - 6.25rem);padding:.875rem 1.125rem;background:#fbf3def7;border:.125rem solid #b4a276;border-radius:1.0625rem;box-shadow:0 .5rem 2.1875rem #31472d40;overflow:hidden;animation:store-slide-up .22s ease-out}.store-tray-heading{display:flex;align-items:center;gap:1.125rem;flex-shrink:0}.store-tray-heading h2{font-size:1.5rem;margin:0;line-height:1.1}.store-tray-heading small{font-size:.5625rem;letter-spacing:.0625rem;color:#6c7955}.store-tray-heading .store-balance{margin:0 0 0 auto;padding:.5rem;font-size:.8125rem}.store-main-tabs,.store-filter-tabs{display:flex;gap:.4375rem;flex-shrink:0;overflow-x:auto}.store-main-tabs button,.store-filter-tabs button{white-space:nowrap;font-size:.8125rem;border:.0625rem solid #c6caa6;border-radius:.4375rem;padding:.4375rem .75rem;background:#f4ecd5;color:#5b6f46}.store-main-tabs button.active{background:#617e50;color:#fff6db;border-color:#617e50}.store-filter-tabs button{font-size:.75rem;padding:.25rem .625rem;border:0;background:transparent}.store-filter-tabs button.active{background:#e2e8c9;color:#425b35}.store-horizontal-cards{display:flex;gap:.75rem;min-height:0;overflow-x:auto;overflow-y:hidden;padding:0 0 .4375rem;scroll-snap-type:x proximity;overscroll-behavior-x:contain}.store-horizontal-cards .store-card{flex:0 0 16.25rem;width:16.25rem;display:flex;flex-direction:column;gap:.375rem;margin:0;padding:.75rem;scroll-snap-align:start}.store-horizontal-cards .store-card-title b{font-size:1rem}.store-horizontal-cards .store-card-title small,.store-horizontal-cards .store-card>small{font-size:.6875rem;line-height:1.3}.store-horizontal-cards .store-card p{font-size:.75rem!important;line-height:1.4!important;margin:0!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.125rem}.store-horizontal-cards .store-cost{font-size:.75rem;margin:.125rem 0}.store-horizontal-cards .store-card>.outline{font-size:.75rem;min-height:2.125rem;margin-top:auto}.store-land-summary{font-size:.75rem;color:#5b6f46;line-height:1.4}.store-empty{padding:1.25rem;font-size:.875rem}.worker-job-label{display:flex;flex-direction:column;gap:.3125rem;font-size:.75rem;margin-top:.5rem;color:#596c47}.worker-job-label select{width:100%;min-height:2.125rem;font-size:.8125rem;padding:.3125rem;background:#fff8e6;border:.0625rem solid #bfc5a1;border-radius:.375rem;color:#425b35}.in-puzzle #store-panel{visibility:hidden;pointer-events:none}.population-summary{display:grid;grid-template-columns:repeat(2,1fr)}@keyframes store-slide-up{0%{opacity:0;transform:translateY(3.4375rem)}to{opacity:1;transform:translateY(0)}}@media(max-height:600px){#store-panel{gap:.3125rem;padding:.625rem .875rem}.store-tray-heading h2{font-size:1.25rem}.store-tray-heading small{display:none}.store-horizontal-cards .store-card{gap:.25rem;padding:.5625rem}.store-horizontal-cards .store-card p{display:none}.store-main-tabs button{padding:.3125rem .625rem}}@media(max-width:650px){#store-panel{left:.5rem;right:.5rem;bottom:.5rem;padding:.75rem}.store-tray-heading{gap:.4375rem}.store-tray-heading h2{font-size:1.3125rem}.store-tray-heading small{display:none}.store-tray-heading .store-balance{font-size:.6875rem;gap:.25rem}.store-horizontal-cards .store-card{flex-basis:14.6875rem;width:14.6875rem}.store-main-tabs button{font-size:.75rem;padding:.375rem .5625rem}}@media(prefers-reduced-motion:reduce){#store-panel{animation:none}}.world-labels .map-label{opacity:0;pointer-events:none}.world-labels .map-label:focus-visible{opacity:1;pointer-events:auto}#building-label #attached-output{display:block;font-size:.875rem;line-height:1.55;margin:0 0 .5rem;color:inherit}:root{font-size:clamp(12px,min(1.25vw,2.222222dvh),28px)}.region-caption{transform:translate(-50%) scale(1.2);transform-origin:top center}.region-caption>span{font-size:.8125rem}.region-caption>small{display:block;font-size:.5625rem}@media(max-width:650px)and (orientation:portrait){.region-caption>small{font-size:.5rem}}@media(orientation:portrait){:root{font-size:clamp(12px,min(3.72093vw,1.777778dvh),24px)}}html,body,#app{width:100%;height:100%;min-height:0;overflow:hidden}#town-view.game-scene,#content-view.book-scene,#puzzle-view.puzzle-scene{height:100dvh;max-height:100dvh}#building-label,#store-panel{bottom:.875rem;max-height:calc(100dvh - 7rem)}:is(.store-open,.building-selected) :is(.game-dock,.village-needs,.adventure-card,.town-tip,#villager-bubbles){visibility:hidden;pointer-events:none}@media(max-width:650px){#building-label,#store-panel{bottom:.5rem}}.village-needs{transform:scale(.9);transform-origin:bottom left}.puzzle-layout>*,#stage-scene{min-width:0}.painting-reference{display:block;padding:.875rem;border:.0625rem solid #c4ceaa;border-radius:.5rem;background:#f8f5e9}.painting-reference header{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem .75rem}.painting-reference header b{font-size:.75rem;font-weight:500;color:#526d4b}.painting-targets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:.75rem 0 0}.painting-targets dt{font-size:.5625rem;color:#718263;margin-bottom:.25rem}.painting-targets dd{margin:0;font-size:.75rem;font-weight:600;color:#425b35}.painting-targets dd span:not(.color-dot){font-size:.625rem;font-weight:400}.painting-reference>.painting-reference-preview{display:block;width:100%;max-width:none;height:5rem;padding:0;margin-top:.5rem;background:transparent;border:0}.grove-art{display:block;width:100%;height:100%}.grove-art .painted-tree{max-width:none;filter:none}.painted-grove{inset:2.25rem .5rem 1rem}.paint-code{white-space:pre-wrap;overflow-wrap:anywhere;padding:.875rem;border:.0625rem solid #c4ceaa;border-radius:.5rem;background:#e8ecd9;color:#526d4b;font:.6875rem/2.5 ui-monospace,SFMono-Regular,Menlo,monospace}.code-blank{width:3.25em;min-height:2em;padding:.125em .25em;border:0;border-bottom:.125rem solid #779366;border-radius:.1875rem;background:#fff9e9;color:#425b35;font:inherit;line-height:1.5;text-align:center}.code-blank:focus{outline:.125rem solid #648652;outline-offset:.125rem}.color-blank{width:8em}.reference-color-code{display:block;font-size:.625rem;font-weight:400;margin-top:.25rem}.bridge-road{transform-origin:right center;transform:rotate(var(--bridge-angle, 32deg))}.courier{position:absolute;right:.125rem;top:-.9375rem;width:.75rem;height:1rem;border-radius:.375rem .375rem .125rem .125rem;background:#648652;border-top:.4375rem solid #dfb88b}.courier:before{content:"";position:absolute;top:-.5625rem;left:-.125rem;width:1rem;height:.25rem;border-radius:.25rem;background:#7e654a}.puzzle-cart{transition:left .3s linear,transform .65s ease-in,opacity .65s}.courier-fallen .puzzle-cart{transform:translateY(5.5rem) rotate(35deg);opacity:0}.cart-splash{position:absolute;left:29%;bottom:2.5rem;font-size:2.25rem;opacity:0;z-index:3}.courier-fallen .cart-splash{opacity:1;animation:river-splash .7s ease-out}.bridge-outcome{position:absolute;left:.75rem;right:.75rem;bottom:.625rem;z-index:4;text-align:center;font-size:.625rem;color:#354e43}@keyframes river-splash{0%{transform:scale(.2);opacity:0}60%{transform:scale(1.4);opacity:1}to{transform:scale(1)}}.data-demonstration{margin-top:.75rem;padding:.75rem;background:#faf5e6;border:.0625rem solid #c4ceaa;border-radius:.375rem;font-size:.6875rem;overflow-wrap:anywhere}.data-demonstration p{margin:.375rem 0 0;font-size:inherit}@media(max-width:650px){.puzzle-scene .puzzle-layout{grid-template-columns:minmax(0,1fr)}.painting-targets{grid-template-columns:repeat(2,minmax(0,1fr))}}.lesson-mode-badges{display:flex;gap:.375rem;flex-wrap:wrap;margin:.625rem 0}.lesson-mode-badges>span{font-size:.625rem;padding:.25rem .375rem;border:.0625rem solid #ccd3b5;border-radius:.375rem;color:#637450;background:#edf0dc}.lesson-mode-badges>span.done{background:#5c7e50;color:#fff9e9;border-color:#5c7e50}.puzzle-mode-controls{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.puzzle-mode-controls .text-button{font-size:.75rem}.puzzle-mode-controls .lesson-tag{cursor:pointer;white-space:nowrap}.tutorial-target{outline:.1875rem solid #edc568!important;outline-offset:.3125rem;box-shadow:0 0 0 .4375rem #edc56830!important;scroll-margin:5rem}.tutorial-bubble{position:fixed;top:6rem;right:1rem;z-index:80;width:min(22rem,calc(100vw - 1.5rem));max-height:calc(100dvh - 1.5rem);overflow:auto;background:#fff7df;color:#405b3c;border:.125rem solid #b5bd8c;border-radius:1.125rem;padding:1rem 1.125rem;box-shadow:0 .375rem #6c764c33,0 .75rem 2.5rem #233c3540;text-align:left;pointer-events:auto}.tutorial-bubble[style*=left]{right:auto}.tutorial-bubble .tutorial-step{font-size:.625rem;letter-spacing:.0625rem;display:flex;justify-content:space-between;align-items:center;color:#74815b}.tutorial-step button{font-size:1.375rem;line-height:1;min-width:1.75rem;min-height:1.75rem}.tutorial-bubble h3{font:600 1.25rem var(--serif);margin:.5rem 0}.tutorial-bubble p{font-size:.875rem;line-height:1.55;margin:.5rem 0 .75rem}.tutorial-bubble small{font-size:.6875rem;line-height:1.4;color:#70815c}.tutorial-actions{display:flex;justify-content:space-between;gap:.75rem;margin-top:.875rem}.tutorial-actions button{font-size:.8125rem;border:.0625rem solid #bfc7a1;border-radius:.5rem;padding:.5rem .875rem;min-height:2.25rem;background:#edf0d8}.tutorial-actions button:last-child{background:#5d7d50;color:#fff9e8;border-color:#5d7d50}.tutorial-actions button:disabled{opacity:.45;cursor:default}@media(max-height:550px){.tutorial-bubble{width:min(23rem,calc(100vw - 1.5rem));padding:.625rem .875rem}.tutorial-bubble p{font-size:.8125rem;line-height:1.4;margin:.375rem 0}.tutorial-bubble h3{font-size:1.0625rem;margin:.25rem 0}.tutorial-actions{margin-top:.375rem}}.lesson-proceed{width:100%;margin-top:.5rem}#layout-editor[hidden]{display:none!important}#layout-editor{position:fixed;left:1rem;right:1rem;bottom:.875rem;z-index:40;max-height:calc(100dvh - 8rem);overflow:auto;border:.125rem solid #b4a276;border-radius:1rem;padding:1rem 1.25rem;background:#fbf3def7;box-shadow:0 .5rem 2rem #31472d40;color:#425b35}.edit-heading{display:flex;justify-content:space-between;gap:1rem;align-items:center}.edit-heading small{font-size:.625rem;letter-spacing:.0625rem;color:#71815b}.edit-heading h2{font:600 1.625rem var(--serif);margin:.25rem 0 .5rem}.edit-actions{display:flex;gap:.5rem;flex-wrap:wrap}.edit-actions button{font-size:.8125rem;min-height:2.25rem;padding:.5rem .875rem}.edit-tools{display:flex;align-items:center;gap:1rem;margin:.5rem 0}.edit-tools label{display:flex;align-items:center;gap:.5rem;font-size:.8125rem}.edit-tools select{max-width:18rem;padding:.5rem;font:inherit;border:.0625rem solid #b5bf95;border-radius:.5rem;background:#fff9e8;color:#425b35}.edit-tools p{font-size:.875rem;line-height:1.5;margin:0;flex:1}.edit-tools p.invalid{color:#a2523b}.edit-help{display:block;font-size:.75rem;line-height:1.4;color:#6d7d55}.edit-nudge{display:flex;gap:.25rem}.edit-nudge button{width:2.125rem;height:2.125rem;font-size:1.125rem;background:#e7ecd0;border:.0625rem solid #bdc79d;border-radius:.375rem}.town-editing :is(.game-dock,.village-needs,.adventure-card,.town-tip,#villager-bubbles,.supply-chest){visibility:hidden;pointer-events:none}.town-editing :is(.game-hud,.village-clock){pointer-events:none}.town-editing #world canvas{cursor:crosshair}.town-editing .region-caption{visibility:hidden}@media(max-width:800px){#layout-editor{padding:.75rem}.edit-tools{flex-wrap:wrap;gap:.5rem}.edit-tools p{flex-basis:100%}.edit-tools select{max-width:14rem}.edit-heading h2{font-size:1.375rem}.edit-actions button{padding:.375rem .625rem}}@media(max-width:650px){#layout-editor{left:.5rem;right:.5rem;bottom:.5rem}.edit-heading{align-items:flex-start}.edit-heading small{display:none}.edit-actions{gap:.25rem}.edit-actions button,.edit-tools label{font-size:.75rem}.edit-help{font-size:.6875rem}}@media(max-height:550px){.edit-help{display:none}.edit-tools p{font-size:.75rem}.edit-heading h2{font-size:1.25rem}.edit-heading small{display:none}#layout-editor{padding:.5rem .875rem}.edit-tools{margin:.25rem 0}}.town-editing .camera-controls{bottom:calc(var(--town-editor-height,12rem) + 1.5rem)}.edit-rotation{display:flex;align-items:center;gap:.5rem}.edit-rotation button{min-height:2.125rem;padding:.375rem .625rem;font-size:.8125rem;white-space:nowrap}.edit-rotation output{font-size:.8125rem;font-variant-numeric:tabular-nums;min-width:2.25rem;color:#63784f}.game-hud .hud-right{align-items:flex-start}.game-hud #village-clock.town-status-card{position:static;inset:auto;display:grid;grid-template-columns:2rem minmax(0,1fr);grid-template-rows:minmax(0,1fr) 1rem;align-items:center;column-gap:.5rem;row-gap:.125rem;box-sizing:border-box;width:10.5rem;min-width:0;max-width:100%;height:4.375rem;flex:0 0 auto;margin:0;padding:.375rem .625rem;background:#f8f2dcef;border:.125rem solid #b8a97c;border-radius:.875rem;box-shadow:0 .1875rem #7e745430;text-align:left;pointer-events:auto;color:#4d633f}.town-status-card #weather-icon{display:grid;place-items:center;width:2rem;height:2rem}.town-status-card #weather-icon .icon{width:1.875rem;height:1.875rem}.town-status-card .town-status-copy{display:flex;flex-direction:column;justify-content:center;gap:.0625rem;min-width:0}.town-status-card #weather-label{font:600 .9375rem/1.2 var(--serif);white-space:nowrap}.town-status-card #clock-time{font-size:.8125rem;font-weight:600;line-height:1.25;font-variant-numeric:tabular-nums;white-space:nowrap}.town-status-card #clock-routine{grid-column:1/-1;display:block;width:100%;min-width:0;max-width:none;font-size:.6875rem;line-height:1.3;text-align:left;white-space:nowrap}.game-hud #village-clock.town-status-card:hover{background:#eff0dc}.game-hud #village-clock.town-status-card:focus-visible{outline:.1875rem solid #8da76f;outline-offset:.125rem}html[data-light=night] .game-hud #village-clock.town-status-card{background:#dfe5dd;color:#415476}@media(max-width:650px)and (orientation:portrait){.game-hud{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:.5rem}.game-hud .village-badge{min-width:0}.game-hud .hud-right{margin:0;min-width:0;gap:.375rem}.game-hud #village-clock.town-status-card{grid-template-columns:1.5rem minmax(0,1fr);column-gap:.375rem;padding:.375rem .5rem}.game-hud .resource-hud{position:static;grid-column:1/-1;order:3;max-width:none;margin:0}.town-status-card #weather-icon,.town-status-card #weather-icon .icon{width:1.5rem;height:1.5rem}.town-status-card #weather-label{font-size:.875rem}.town-status-card #clock-time{font-size:.75rem}.town-status-card #clock-routine{font-size:.625rem}.region-caption{top:16rem}.supply-chest{top:20rem}}.game-hud #clock-speed{flex:0 0 auto;font-size:.875rem;font-weight:700;font-variant-numeric:tabular-nums;min-width:2.5rem;white-space:nowrap}.game-hud #clock-speed:hover{background:#eff0dc}.building-sales{display:flex;flex-direction:column;gap:.1875rem;margin:.625rem 0;color:#577944}.building-sales>small{font-size:.625rem;letter-spacing:.04rem}.building-sales>strong{font-size:1.0625rem;line-height:1.35}.building-sales>span{font-size:.6875rem;color:#74825c}.building-supply-chain{display:flex;flex-direction:column;gap:.375rem;margin:.75rem 0;font-size:.8125rem;line-height:1.5;color:#60724d}.building-supply-chain b{color:#50693e}#building-label .building-supply-strip{grid-column:1/-1;display:flex;align-items:center;gap:1rem;border-top:.0625rem solid #d8d6b6;padding-top:.75rem}.building-supply-strip>div:first-child{flex:0 1 15rem;min-width:0;display:flex;flex-direction:column;gap:.25rem}.building-supply-strip b{font-size:.875rem}.building-supply-strip small{font-size:.6875rem;line-height:1.4;color:#71805d}.market-stock-grid{flex:1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;min-width:0}.market-stock-grid>div{display:flex;flex-direction:column;gap:.3125rem;background:#e9edd6;padding:.5rem .625rem;border-radius:.5rem;min-width:0}.market-stock-grid span{display:flex;align-items:center;gap:.3125rem;font-size:.75rem;color:#65794d}.market-stock-grid .icon{width:.9375rem;height:.9375rem;flex-shrink:0}.market-stock-grid strong{font-size:1rem;font-variant-numeric:tabular-nums;color:#425b35}.store-income{color:#557b43!important;font-weight:600}.income-summary{display:flex;flex-direction:column;gap:.375rem;margin-top:1rem;background:#e5eacf;padding:.875rem;border-radius:.625rem}.income-summary b{font-size:.875rem}.income-summary strong{font-size:1.25rem;color:#557b43}.income-summary small{font-size:.75rem;line-height:1.5;color:#687955}@media(max-width:800px){#building-label .building-supply-strip{display:block}.building-supply-strip>div:first-child{margin-bottom:.5rem}.market-stock-grid{gap:.375rem}.market-stock-grid>div{padding:.4375rem}.market-stock-grid span{font-size:.6875rem;gap:.1875rem}}.game-hud .resource-hud{--resource-icon-size:2.125rem;--resource-label-size:.625rem;align-items:start}.game-hud .resource-hud .resource-pill{align-items:center;align-self:start;min-height:0;padding:.375rem .5rem;gap:.4375rem}.game-hud .resource-hud .resource-pill>.resource-symbol{width:var(--resource-icon-size);height:var(--resource-icon-size);flex-shrink:0}.game-hud .resource-hud .resource-pill>span:last-child{height:var(--resource-icon-size);justify-content:center;gap:0}.game-hud .resource-hud .resource-pill small{font-size:var(--resource-label-size);line-height:1.15}.game-hud .resource-hud .resource-pill b{line-height:1.15}@media(max-width:1100px){.game-hud .resource-hud{--resource-icon-size:2rem;--resource-label-size:.5625rem}}@media(max-width:650px)and (orientation:portrait){.game-hud .resource-hud .resource-pill{padding:.3125rem .4375rem}.game-hud .resource-hud .resource-pill>.resource-symbol{width:1.75rem}}#store-panel .store-card>.outline:disabled{opacity:1;cursor:not-allowed;background:#e0e1d8;color:#858d7d;border-color:#c8cebf;box-shadow:none}html[data-ui-theme=dark] #store-panel .store-card>.outline:disabled{background:#2b3430;color:#919e91;border-color:#465449}#trader-payouts{position:absolute;inset:0;pointer-events:none}.trader-payout{position:absolute;transform:translate(-50%,-100%);width:max-content;max-width:200px;padding:5px 9px;border:1px solid #d4b66c;border-radius:999px;background:#fff1cfe8;color:#775421;font:700 14px/1.3 var(--sans);white-space:nowrap;box-shadow:0 2px 5px #3d382a26;pointer-events:none;will-change:top,opacity}html[data-ui-theme=dark] .trader-payout{background:#403822ed;color:#ffe6a6;border-color:#a58c4d}:root{--ui-accent:#557453;--ui-line:#b5bea0}#ui-theme{appearance:none;position:relative;flex:0 0 3rem;width:3rem;height:1.625rem;margin:0;border:.125rem solid var(--ui-line);border-radius:2rem;background:#d4dac6;cursor:pointer;transition:background .15s}#ui-theme:before{content:"";position:absolute;left:.1875rem;top:.1875rem;width:1rem;height:1rem;border-radius:50%;background:#fff9e8;box-shadow:0 .0625rem .1875rem #0003;transition:transform .15s}#ui-theme:checked{background:#658451;border-color:#9eb783}#ui-theme:checked:before{transform:translate(1.375rem)}html[data-ui-theme=light]{color-scheme:light}html[data-ui-theme=dark]{color-scheme:dark;--paper:#25352f;--ink:#eeeee1;--muted:#c0c7b4;--green:#bfd4a0;--line:#56684f;--ochre:#e1c98a;--ui-text:#eeeee1;--ui-muted:#c0c7b4;--ui-surface:#25352f;--ui-raised:#304139;--ui-inset:#1c2923;--ui-line:#586b51;--ui-accent:#c3d7a3;--ui-gold:#e1c98a;color:var(--ui-text)}html[data-ui-theme=dark] :is(.village-badge,.resource-pill,.hud-round,.game-dock,.village-needs,.supply-chest,#management-panel,#store-panel,#building-label,#layout-editor,#modal,.tutorial-bubble,.villager-bubble){background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-line);box-shadow:0 .25rem 1.25rem #0c161540}html[data-ui-theme=dark] .game-hud #village-clock.town-status-card{background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-line)}html[data-ui-theme=dark] .game-hud #village-clock.town-status-card:hover{background:var(--ui-raised)}html[data-ui-theme=dark] #content-view.book-scene{background:radial-gradient(ellipse at top,#304139,#1c2923);color:var(--ui-text)}html[data-ui-theme=dark] #scene-transition{background:radial-gradient(ellipse,#344536,#1c2923);color:var(--ui-text)}html[data-ui-theme=dark] #modal::backdrop{background:#09130f88}html[data-ui-theme=dark] :is(.game-hud,.game-dock,.village-needs,.supply-chest,#management-panel,#store-panel,#building-label,#layout-editor,#modal,#content-view,.tutorial-bubble,.villager-bubble,#puzzle-content,#scene-transition) :is(h1,h2,h3,h4,p,b,strong,small,span,label,em,summary,code){color:inherit}html[data-ui-theme=dark] :is(.game-hud,.game-dock,.village-needs,.supply-chest,#management-panel,#store-panel,#building-label,#layout-editor,#modal,#content-view,.tutorial-bubble,#puzzle-content) :is(p,small,.micro,.eyebrow,.panel-kicker,.resident-mini-stats,.store-land-summary,.edit-help,.attached-workforce){color:var(--ui-muted)}html[data-ui-theme=dark] :is(#management-panel,#store-panel,#building-label,#layout-editor,#modal,#content-view,#puzzle-content) :is(.outline,.text-button,.icon-button,.panel-close,.attached-close,.store-main-tabs button,.store-filter-tabs button,.store-tabs button,.tutorial-actions button,.lesson-tag,.command-chip,.code-block,.return-town,.scene-exit,.edit-nudge button){background:var(--ui-raised);color:var(--ui-text);border-color:var(--ui-line)}html[data-ui-theme=dark] :is(.resource-symbol,.town-emblem,.game-dock button>span,.attached-heading>.icon,.plan-icon,.difficulty-mark,.note-icon,.weather-crest,.building-crest,.transition-emblem){background:var(--ui-raised);color:var(--ui-accent);border-color:var(--ui-line)}html[data-ui-theme=dark] :is(.game-dock button:first-child>span,.town-emblem){background:#48643e;color:#f6ecd0}html[data-ui-theme=dark] .town-emblem>b{background:#785f30;color:#fff0c7;border-color:#c2a569}html[data-ui-theme=dark] :is(.game-dock button,.game-hud .resource-pill,.game-hud .village-badge,.village-needs .needs-title){color:var(--ui-text)}html[data-ui-theme=dark] :is(.hud-xp,.need-line>div,.land-progress,.progress-track,.loading-trail){background:var(--ui-inset)}html[data-ui-theme=dark] :is(#management-panel,#store-panel,#building-label,#layout-editor,#modal,#content-view,#puzzle-content) :is(.building-stat,.upgrade-preview,.build-option,.resident-card,.production-note,.farm-inventory>div,.production-chain,.forecast-stats>span,.population-summary>span,.demand-table,.store-balance,.store-card,.land-section-card,.family-growth-status,.market-stock-grid>div,.income-summary,.attached-max,.journey-summary,.lesson-card,.note-card,.difficulty-option,.building-stages>div>span,.lesson-mode-badges>span,.child-tag,.data-rule code,.placement-code,.painting-reference>div){background:var(--ui-raised);color:var(--ui-text);border-color:var(--ui-line)}html[data-ui-theme=dark] #building-label #attached-production{background:var(--ui-raised);color:var(--ui-text);border-color:var(--ui-line)}html[data-ui-theme=dark] :is(#management-panel,#store-panel,#building-label,#layout-editor,#modal,#content-view,#puzzle-content) :is(input:not([type=checkbox]):not([type=range]):not([type=file]),textarea,select){background:var(--ui-inset);color:var(--ui-text);border-color:var(--ui-line)}html[data-ui-theme=dark] :is(#building-label .building-supply-strip,.building-output,.building-upgrade,.building-overview,.store-tray-heading,.town-events p,.needs-title,.daily-routine>div,.settings-row,.code-tabs,.code-heading,.code-actions,.lesson-card){border-color:var(--ui-line)}html[data-ui-theme=dark] #modal .difficulty-option.selected{background:#3b5036;border-color:#bdd49c;box-shadow:inset 0 0 0 .0625rem #bdd49c}html[data-ui-theme=dark] :is(#management-panel,#store-panel,#building-label,#layout-editor,#modal,#content-view,#puzzle-content,.tutorial-bubble) :is(.primary,.store-main-tabs button.active,.store-tabs button.active,.tutorial-actions button:last-child,.lesson-mode-badges>span.done){background:#587848;color:#fff8e5;border-color:#8aa977}html[data-ui-theme=dark] :is(.store-filter-tabs button.active,.code-tabs button.active,.table-game tr.picked){background:#42573a;color:#edf4df;border-color:#a8c38b}html[data-ui-theme=dark] .store-income{color:var(--ui-accent)!important}html[data-ui-theme=dark] :is(.resident-card .resident-home){color:var(--ui-muted)!important}html[data-ui-theme=dark] :is(.resource-symbol.gold,.resource-symbol.timber,.resource-symbol.ore,.attached-cost,.store-cost,.reward-small){color:var(--ui-gold)}html[data-ui-theme=dark] .puzzle-scene :is(.puzzle-scene-bar,.puzzle-stage,.code-panel){background:#25352ff5;color:var(--ui-text);border-color:var(--ui-line)}html[data-ui-theme=dark] .puzzle-scene :is(.stage-heading,.table-game thead th,.code-tabs){background:var(--ui-raised);color:var(--ui-text);border-color:var(--ui-line)}html[data-ui-theme=dark] .puzzle-scene :is(#code-editor,#code-editor:not([readonly]),.table-game,.table-game table){background:var(--ui-inset);color:var(--ui-text);border-color:var(--ui-line)}html[data-ui-theme=dark] .table-game :is(th,td){border-color:var(--ui-line)}html[data-ui-theme=dark] :is(.success-feedback,.success-note){background:#334d37;color:#d4e8bd;border-color:#839f70}html[data-ui-theme=dark] :is(.hint-feedback,.feedback-note){background:#4b4431;color:#f0ddb1;border-color:#ac925d}html[data-ui-theme=dark] :is(.critical-warning,#building-name-error,.edit-tools p.invalid,.deficit){color:#f0ac8f!important}html[data-ui-theme=dark] #toast{background:#304b35;color:#f0f2dc;border-color:#91a575}html[data-ui-theme=dark] .villager-bubble:after{background:var(--ui-surface);border-color:var(--ui-line)}@media(prefers-reduced-motion:reduce){#ui-theme,#ui-theme:before{transition:none}}.game-hud{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);align-items:start;top:max(.5rem,env(safe-area-inset-top));gap:clamp(2px,1vw,.75rem)}.game-hud .hud-side{min-width:0;width:100%;overflow:clip}.game-hud .hud-village{grid-column:1;grid-row:1}.game-hud .hud-weather{grid-column:3;grid-row:1}.game-hud .hud-village .village-badge{width:max-content;max-width:none;transform-origin:top left}.game-hud .hud-weather .hud-right{width:max-content;min-width:0;margin:0;align-items:center;transform-origin:top left}.game-hud .resource-hud{display:block;flex:1 1 0;min-width:0;width:100%;grid-column:2;grid-row:1;max-width:none;position:relative;top:auto;margin:0;padding:0;overflow:clip}.resource-row{display:flex;flex-wrap:nowrap;align-items:stretch;width:max-content;gap:.4375rem;transform-origin:top left}.game-hud .resource-hud .resource-pill{flex:0 0 auto;align-self:stretch;min-width:6rem;white-space:nowrap}.game-hud .resource-hud .resource-pill>span:last-child{flex-shrink:0}.game-scene>.region-caption{top:var(--hud-bottom, 10rem)}.game-hud .hud-right{align-items:center}.game-hud .town-clock-controls{display:flex;align-items:center;gap:.25rem;padding:.1875rem .375rem .1875rem 0;background:#f8f2dcef;border:.125rem solid #b8a97c;border-radius:.875rem;box-shadow:0 .1875rem #7e745430}.game-hud .town-clock-controls #village-clock{border:0;box-shadow:none;background:transparent;height:3.375rem;width:10.75rem;min-width:10.75rem;max-width:10.75rem;flex:0 0 10.75rem;padding:0 .375rem;text-align:center;justify-content:center;grid-template-columns:2rem minmax(0,1fr)}.game-hud .town-clock-controls #clock-speed{box-sizing:border-box;flex:0 0 2.5rem;width:2.5rem;height:2.5rem;min-width:2.5rem;min-height:2.5rem;max-width:2.5rem;max-height:2.5rem;aspect-ratio:1;padding:0;margin:0;border-radius:.375rem;display:grid;place-items:center;line-height:1;text-align:center}.game-hud .town-status-card .town-status-copy{align-items:center;text-align:center}.game-hud .town-status-card #clock-routine{text-align:center}html[data-light=night] .game-hud .town-clock-controls{background:#dfe5dd}html[data-ui-theme=dark] .game-hud .town-clock-controls{background:var(--ui-surface);border-color:var(--ui-line)}@media(max-width:650px)and (orientation:portrait){.game-hud .town-clock-controls #village-clock{grid-template-columns:1.5rem minmax(0,1fr)}}.game-hud .town-clock-controls #weather-icon{grid-column:1;grid-row:1;justify-self:center}.game-hud .town-clock-controls .town-status-copy{grid-column:2;grid-row:1;width:100%;min-width:0;overflow:hidden}.game-hud .town-clock-controls :is(#clock-time,#weather-label,#clock-routine){display:block;width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-hud .town-clock-controls #clock-time{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1}.game-hud .town-clock-controls #clock-time{display:grid;grid-template-columns:7ch 1.5ch 5ch;justify-content:center;align-items:center}.game-hud .town-clock-controls .clock-day{text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-hud .town-clock-controls .clock-digits{text-align:left;white-space:nowrap}.game-hud .town-clock-controls #village-clock{grid-template-rows:minmax(0,1fr) 1rem;column-gap:.375rem}.game-hud .town-clock-controls #weather-icon{grid-row:1/-1;align-self:stretch;height:auto;display:grid;place-items:center}.game-hud .town-clock-controls #clock-routine{grid-column:2;grid-row:2;text-align:center}.game-hud .town-clock-controls #village-clock{width:max-content;min-width:0;max-width:none;flex:0 0 auto;grid-template-columns:2rem max-content}.game-hud .town-clock-controls #clock-routine{width:max-content;justify-self:stretch;min-width:100%;overflow:visible}.game-hud .town-clock-controls #clock-routine:after{content:"Work time · 09:00–17:00";display:block;height:0;visibility:hidden;white-space:nowrap}@media(max-width:650px)and (orientation:portrait){.game-hud .town-clock-controls #village-clock{grid-template-columns:1.5rem max-content}}.resource-counter-hint{display:block;position:absolute;left:0;right:0;bottom:0;text-align:center;font-size:.625rem;line-height:1.25;color:#fff7df;text-shadow:0 1px 3px #30402c;white-space:normal;overflow-wrap:anywhere;pointer-events:none}.building-worker-controls{margin-top:.75rem;padding-top:.75rem;border-top:.0625rem solid var(--ui-line, #d8d6b6);color:var(--ui-text, #50693e)}.building-workers-title{display:block;font-size:.8125rem}.building-worker-slots{display:grid;gap:.625rem;margin-top:.5rem}.building-worker-slot{display:grid;gap:.25rem;min-width:0}.building-worker-slot>span{font-size:.625rem;color:var(--ui-muted, #71805d)}.building-worker-slot select{width:100%;min-width:0;padding:.5rem;border:.0625rem solid var(--ui-line, #b5bf95);border-radius:.375rem;background:var(--ui-inset, #fff9e8);color:inherit;font:inherit;font-size:.75rem}.building-worker-slot select:disabled{opacity:.55;cursor:default}.building-worker-slot small,.building-worker-note{font-size:.625rem;line-height:1.5;color:var(--ui-muted, #71805d)}.building-worker-note{display:block;margin-top:.5rem}.villager-follow{position:absolute;z-index:8;top:calc(var(--hud-bottom, 7rem) + 4rem);left:50%;transform:translate(-50%);max-width:calc(100% - 2rem);padding:.5rem .875rem;border:.0625rem solid var(--ui-line, #b8a97c);border-radius:1rem;background:var(--ui-surface, #f8f2dc);color:var(--ui-text, #4d633f);font-size:.6875rem;box-shadow:0 .125rem .5rem #31472d30}.villager-follow[hidden],.in-puzzle .villager-follow{display:none!important}.game-hud .hud-village{position:relative}.selection-status{position:absolute;left:0;width:100%;padding:0 .125rem;box-sizing:border-box;font-size:clamp(9.6px,.75rem,16.8px);line-height:1.4;font-weight:500;color:#fff6df;text-shadow:0 .0625rem .1875rem #31472d;overflow-wrap:anywhere;pointer-events:none}.selection-status[hidden]{display:none!important}#town-view .world-labels .map-label{opacity:0;pointer-events:none}.game-hud .town-emblem{margin-bottom:.5rem}.game-hud .town-emblem>b{bottom:-.8rem;height:1.3rem;min-width:1.3rem;font-size:.65rem}.game-hud .town-emblem>.icon{transform:translateY(-.2rem)}.selection-status{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.resident-tabs{display:flex;gap:6px;margin:12px 32px 20px 0;padding:4px;background:#e7e7cf;border-radius:10px}.resident-tabs button{flex:1;min-width:0;padding:10px 8px;border-radius:7px;font-size:.875rem;font-weight:600}.resident-tabs button[aria-pressed=true]{background:#6d8759;color:#fff9e8;box-shadow:0 2px 4px #354b3020}#management-panel .resident-panel-content h2{font-size:1.75rem;margin:0 0 14px}.resident-totals{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0 0 18px;font-size:.75rem;color:#687756}.resident-totals span{display:inline-flex;gap:6px;align-items:center;white-space:nowrap}.resident-totals b{color:#435b3d;font-size:.875rem}.population-guidance{margin:0 0 .65rem;font-size:.6875rem;line-height:1.4;color:#687756;min-width:0}.population-guidance>[data-population-capacity]{display:block;font-size:inherit;overflow-wrap:anywhere}.population-cap-warning{margin-top:.35rem;padding:.45rem .55rem;background:#e8c87826;border:1px solid #c3aa704d;border-radius:.45rem;color:#785d30}.population-cap-warning[hidden],.population-cap-warning button[hidden]{display:none!important}.population-cap-warning>span{display:block}.population-cap-warning .text-button{font:inherit;font-weight:600;text-align:left;min-height:1.6rem;padding:.2rem 0;margin:0;max-width:100%;white-space:normal}.population-cap-warning .icon{width:.8rem;height:.8rem}.resident-totals:has(+.population-guidance){margin-bottom:.35rem}html[data-ui-theme=dark] .population-guidance{color:#c0cdaa}html[data-ui-theme=dark] .population-cap-warning{color:#ead09b;background:#c9a65c1a}.town-timeline{list-style:none;padding:0 0 0 14px;margin:0;border-left:2px solid #d3d6b8}.town-timeline li{position:relative;padding:0 0 20px 12px}.town-timeline li:before{content:"";position:absolute;left:-19px;top:4px;width:8px;height:8px;border-radius:50%;background:#8ca174;border:2px solid #faf2dc}.town-timeline time{display:block;font-size:.6875rem;color:#87916e;margin-bottom:4px}#management-panel .town-timeline p{font-size:.8125rem;line-height:1.5;margin:0}html[data-ui-theme=dark] .resident-tabs{background:#344635}html[data-ui-theme=dark] .resident-totals,html[data-ui-theme=dark] .resident-totals b{color:#d1ddbd}html[data-ui-theme=dark] .town-timeline{border-color:#647859}html[data-ui-theme=dark] .town-timeline li:before{border-color:#293d2e}.villager-consumption{margin-top:20px;padding-top:16px;border-top:1px solid var(--ui-line,#d8d6b6)}#management-panel .villager-consumption h3{font:600 .875rem var(--sans);margin:0 0 4px}.villager-consumption>small{display:block;font-size:.6875rem;line-height:1.5;color:var(--ui-muted,#788468)}.consumption-table{margin:10px 0;font-size:.75rem;font-variant-numeric:tabular-nums}.consumption-table>div{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,.7fr));gap:6px;padding:7px 0;border-bottom:1px solid var(--ui-line,#e0dfc5)}.consumption-table>div:first-child{font-size:.625rem;color:var(--ui-muted,#788468)}.consumption-table span:not(:first-child){text-align:right}.consumption-table .consumption-shortfall{color:#ac6647}.consumption-priority{margin-top:10px;font-size:.75rem;line-height:1.5}#management-panel .consumption-priority .text-button{font-size:.75rem;padding:4px 0;margin:0;display:flex;align-items:center;gap:6px}.consumption-table.consumption-rates>div{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}#management-panel .critical-warning[hidden]{display:none!important}#management-panel .critical-warning[data-severity=low],#management-panel [data-need-severity=low]{color:#9b751d!important}#management-panel .critical-warning[data-severity=critical],#management-panel [data-need-severity=critical]{color:#af4736!important}html[data-ui-theme=dark] #management-panel .critical-warning[data-severity=low],html[data-ui-theme=dark] #management-panel [data-need-severity=low]{color:#e3c46a!important}html[data-ui-theme=dark] #management-panel .critical-warning[data-severity=critical],html[data-ui-theme=dark] #management-panel [data-need-severity=critical]{color:#f0a08d!important}#management-panel:has(.resident-panel-content){width:min(34rem,calc(100vw - 2rem));max-width:calc(100vw - 2rem)}#management-panel .resident-panel-content{container:resident-cards / inline-size}#management-panel .resident-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0;align-items:stretch}#management-panel .resident-list .resident-card{display:grid;grid-template-columns:28px minmax(0,1fr);align-content:start;align-items:center;gap:5px 7px;min-width:0;padding:9px;border-radius:9px}#management-panel .resident-list .resident-card>div{display:contents}#management-panel .resident-list .resident-face{width:28px;height:31px;box-sizing:border-box;padding-top:3px;font-size:16px;border-width:1px;box-shadow:inset 0 4px #998357}#management-panel .resident-list .resident-card:nth-child(2n) .resident-face{box-shadow:inset 0 4px #7c9382}#management-panel .resident-list .resident-card h3{font-size:15px;line-height:1.25;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#management-panel .resident-list .resident-card .child-tag{font-size:9px;padding:2px 3px}#management-panel .resident-list .resident-card>div>span{grid-column:1/-1;min-width:0;font-size:12px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#management-panel .resident-list .resident-home{margin:0}#management-panel .resident-list .worker-job-label{grid-column:1/-1;min-width:0;margin:3px 0 0;gap:3px;font-size:11px}#management-panel .resident-list .worker-job-label select{box-sizing:border-box;min-width:0;width:100%;min-height:30px;height:30px;padding:4px 5px;font-size:12px;text-overflow:ellipsis}#management-panel .resident-list .resident-mini-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 8px;margin:3px 0 0;font-size:12px;line-height:1.3;font-variant-numeric:tabular-nums}#management-panel .resident-list .resident-mini-stats>span{min-width:0;gap:4px;white-space:nowrap}#management-panel .resident-list .resident-mini-stats .icon{width:13px;height:13px}#management-panel .resident-list .critical-warning{grid-column:1/-1;font-size:11px;line-height:1.35;overflow-wrap:anywhere}@container resident-cards (max-width:300px){#management-panel .resident-list{grid-template-columns:minmax(0,1fr)}}#management-panel .resident-list .resident-card{gap:4px 6px;padding:8px}#management-panel .resident-list .resident-card h3{font-size:14px;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}#management-panel .resident-list .resident-card>div>span{font-size:11px;line-height:1.35;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}#management-panel .resident-list .worker-job-label{font-size:10px}#management-panel .resident-list .resident-job-control{display:block;position:relative;min-width:0;box-sizing:border-box;min-height:30px;padding:6px 22px 6px 7px;background:var(--ui-surface,#fff8e6);border:1px solid var(--ui-line,#bfc5a1);border-radius:6px}#management-panel .resident-list .resident-job-value{display:block;white-space:normal;overflow-wrap:anywhere;font-size:11px;line-height:1.35}#management-panel .resident-list .resident-job-chevron{position:absolute;right:7px;top:50%;transform:translateY(-50%);font-size:15px;line-height:1;pointer-events:none}#management-panel .resident-list .resident-job-control select{position:absolute;inset:0;opacity:0;width:100%;height:100%;min-height:0;cursor:pointer}#management-panel .resident-list .resident-job-control:focus-within{outline:2px solid #8da76f;outline-offset:2px}#management-panel .resident-list .resident-mini-stats{font-size:11px}#management-panel .resident-list .resident-mini-stats .icon{width:12px;height:12px}#management-panel .resident-list .resident-card .resident-face{width:30px;height:30px;min-width:30px;min-height:30px;max-width:30px;max-height:30px;aspect-ratio:1;border-radius:50%;padding:0;display:grid;place-items:center;font:600 15px/1 var(--sans);box-shadow:none}#management-panel .resident-list .resident-card:nth-child(2n) .resident-face{box-shadow:none}#management-panel .resident-list .resident-card{grid-template-columns:30px minmax(0,1fr)}.consumption-table.resource-balance>div{grid-template-columns:minmax(0,1.1fr) repeat(2,minmax(0,1fr)) minmax(0,.8fr);align-items:center}.consumption-table.resource-balance [role=columnheader]{overflow-wrap:anywhere}.consumption-table.resource-balance [data-sellable]{color:var(--ui-accent,#557453)}.market-surplus-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 5px;font-size:.75rem;color:var(--ui-text,#46603e)}@media(max-width:500px){.consumption-table.resource-balance{font-size:10px}.consumption-table.resource-balance>div{gap:4px}.consumption-table.resource-balance>div:first-child{font-size:9px}.market-surplus-summary{font-size:11px}}#management-panel:has(.resident-panel-content){overflow-anchor:none}#management-panel .resident-list .resident-card{position:relative}#management-panel .resident-track{position:absolute;inset:0;z-index:1;width:100%;height:100%;padding:0;margin:0;border:0;border-radius:inherit;background:transparent;cursor:pointer}#management-panel .resident-track:focus-visible{outline:2px solid #839d69;outline-offset:2px}#management-panel .resident-card:has(.resident-track:hover){border-color:#95a879;box-shadow:0 1px 5px #4b63351c}#management-panel .resident-card .worker-job-label{position:relative;z-index:2}#management-panel [data-resident-view=single] .resident-list{grid-template-columns:minmax(0,1fr)}.resident-view-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}#management-panel .resident-view-toolbar button{min-height:32px;padding:6px 9px;font:500 11px var(--sans)}.resident-view-toolbar small{font-size:11px;color:var(--ui-muted,#788466)}.village-health-warning{position:fixed;z-index:36;right:16px;top:var(--warning-top,140px);width:min(320px,calc(100vw - 32px));border:1px solid #c9a548;border-radius:10px;background:#fff0c9;color:#725719;box-shadow:0 3px 12px #3d382426}.village-health-warning[hidden]{display:none!important}.village-health-warning button{width:100%;display:flex;align-items:center;gap:10px;padding:11px 12px;text-align:left;color:inherit;min-width:0}.village-health-warning button>span:nth-child(2){flex:1;min-width:0}.village-health-warning b{display:block;font:600 13px/1.4 var(--sans)}.village-health-warning small{display:block;margin-top:2px;font:400 11px/1.5 var(--sans);overflow-wrap:anywhere}.health-warning-icon{flex:none;width:25px;height:25px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font:700 17px/1 var(--sans)}.village-health-warning[data-severity=critical]{border-color:#c47c62;background:#fae6da;color:#923d2c}body.in-puzzle .village-health-warning,body:has(#content-view:not([hidden])) .village-health-warning{top:auto;bottom:16px}html[data-ui-theme=dark] .village-health-warning{background:#453e26;color:#f0d487;border-color:#9b8547}html[data-ui-theme=dark] .village-health-warning[data-severity=critical]{background:#4a302d;color:#f4b29b;border-color:#ac705d}@media(max-width:600px){.village-health-warning{right:10px;width:min(280px,calc(100vw - 20px))}.village-health-warning button{padding:8px 10px}.village-health-warning b{font-size:12px}.village-health-warning small{font-size:10px}}body.in-puzzle .village-health-warning{left:12px;right:auto}body:has(#management-panel:not([hidden]) .resident-panel-content) .village-health-warning{display:none}#building-label.compact-building{width:min(48rem,calc(100vw - 1.5rem));padding:1rem 1.125rem;gap:.875rem 1.125rem;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;max-height:calc(100dvh - 5rem)}#building-label.compact-building>section{min-width:0}#building-label.compact-building .building-overview{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.25rem 1rem;padding:0 1.25rem .625rem 0;border-bottom:1px solid var(--ui-line,#d8d6b6)}#building-label.compact-building .attached-heading{grid-column:1;grid-row:1/3;gap:.5rem}#building-label.compact-building .attached-heading b{font-size:1.25rem;overflow-wrap:anywhere}#building-label.compact-building .attached-heading small{font-size:.625rem}#building-label.compact-building .building-name-editor{grid-column:2;margin:0;font-size:.6875rem}#building-label.compact-building .building-description{grid-column:2;font-size:.6875rem}#building-label.compact-building details summary{cursor:pointer;color:var(--ui-muted,#70805d)}#building-label.compact-building details[open]{grid-column:1/-1}#building-label.compact-building .building-overview:has(details[open]) .attached-heading{grid-row:auto}#building-label.compact-building details p{font-size:.75rem;line-height:1.45;margin:.4rem 0}#building-label.compact-building .building-output{padding:0;border:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.375rem .5rem}#building-label.compact-building .building-section-title,#building-label.compact-building #attached-output,#building-label.compact-building #attached-production,#building-label.compact-building .building-worker-controls,#building-label.compact-building .building-sales,#building-label.compact-building .building-supply-chain{grid-column:1/-1;margin:0}#building-label.compact-building .building-section-title{font-size:.625rem;margin:0}#building-label.compact-building #attached-output,#building-label.compact-building #attached-output-details{grid-column:1/-1;font-size:.625rem;line-height:1.4;font-weight:400;color:var(--ui-muted,#70805d);margin:0}#building-label.compact-building #attached-output[hidden]{display:none}#building-label.compact-building #attached-production{font-size:.75rem;line-height:1.4;padding:.375rem .5rem}#building-label.compact-building #attached-production small{display:block;font-size:.5625rem;font-weight:400;line-height:1.4;margin:0 0 .15rem}#building-label.compact-building #attached-workers{font-size:.6875rem;align-self:center;grid-column:1;grid-row:4}#building-label.compact-building #pause-building{grid-column:2;grid-row:4;width:auto;min-height:1.75rem;padding:0;margin:0;font-size:.6875rem}#building-label.compact-building .building-worker-controls{border:0;padding:0}#building-label.compact-building .building-worker-slots{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:.5rem;margin:0}#building-label.compact-building .building-worker-slot{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.25rem}#building-label.compact-building .building-worker-slot>span{grid-column:1/-1}#building-label.compact-building .building-worker-slot:only-child>span{display:none}#building-label.compact-building .building-worker-slot select{font-size:.75rem;min-height:2.25rem;padding:.375rem}#building-label.compact-building .building-worker-slot small{font-size:.625rem}#building-label.compact-building .building-upgrade{padding-left:1.125rem;border-left:1px solid var(--ui-line,#d8d6b6)}#building-label.compact-building .attached-next>small{font-size:.75rem;display:block}#building-label.compact-building .upgrade-description{font-size:.6875rem;margin:.25rem 0 .5rem}#building-label.compact-building .attached-cost{margin:.5rem 0;font-size:.8125rem}#building-label.compact-building .primary{font-size:.75rem;min-height:2.25rem;padding:.375rem .5rem}#building-label.compact-building #attached-store{font-size:.6875rem;margin-top:.5rem}@media(max-width:560px){#building-label.compact-building{grid-template-columns:minmax(0,1fr);padding:.875rem;gap:.75rem;bottom:.5rem}#building-label.compact-building .building-upgrade{border-left:0;border-top:1px solid var(--ui-line,#d8d6b6);padding:.625rem 0 0}#building-label.compact-building .building-overview{column-gap:.5rem}#building-label.compact-building .attached-heading b{font-size:1.125rem}}#building-label.compact-building .attached-heading>span{min-width:0;width:100%}#building-label.compact-building .building-name-inline{display:block;width:100%;min-width:0;font-family:var(--serif);font-size:1.25rem;font-weight:500;line-height:1.3;color:inherit;background:#ffffff16;border:1px solid #9ba57855;border-radius:.35rem;padding:.2rem .375rem;margin-left:-.375rem;cursor:text;transition:border-color .15s,background .15s}#building-label.compact-building .building-name-inline:hover{border-color:#899964;background:#fff9e850}#building-label.compact-building .building-name-inline:focus{border-color:#84945e;outline:2px solid #a3b17b55;outline-offset:1px;background:var(--ui-inset,#fff9e8)}#building-label.compact-building .attached-heading{grid-row:auto}#building-label.compact-building .building-description{align-self:center}@media(max-width:560px){#building-label.compact-building .building-name-inline{font-size:1.125rem}}#building-label.compact-building .building-overview{grid-template-columns:minmax(0,1fr);padding-right:1.25rem}#building-label.compact-building .building-overview .attached-heading{grid-column:1;grid-row:1}#building-label.compact-building .building-overview>.building-description{grid-column:1;grid-row:2;display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.75rem;line-height:1.4;margin:.125rem 0 0;color:var(--ui-muted,#70805d)}#building-label.square-info{display:block;width:min(24rem,calc(100vw - 2rem));left:50%;right:auto;transform:translate(-50%);padding:1rem 2.5rem 1rem 1.25rem}#building-label.square-info h3{margin:0 0 .375rem;font-size:1.125rem}#building-label.square-info p{margin:0;font-size:.875rem}#content-view.book-scene{padding:clamp(16px,3.5vw,64px);padding-bottom:max(32px,env(safe-area-inset-bottom));scrollbar-gutter:stable}#content-view>:is(.page-heading,.journey-summary,.chapter-tabs,#chapter-lessons,.chapter-intro,.journal-grid){max-width:1280px;margin-inline:auto;min-width:0}#content-view .page-heading{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}#content-view .page-heading>div{flex:1 1 260px;min-width:0}#content-view .page-heading h1{font-size:clamp(28px,2.5rem,44px);line-height:1.15;overflow-wrap:anywhere}#content-view .page-heading p{font-size:clamp(13px,.875rem,16px)}#content-view .page-heading>.outline{max-width:100%;flex:0 1 auto;min-height:40px;padding:10px 14px;font-size:13px}#content-view .page-heading .eyebrow{font-size:11px}#content-view #return-town{min-height:40px;margin-bottom:16px;font-size:13px}#content-view .journey-summary{flex-wrap:wrap;align-items:center;gap:8px 24px;padding:14px 16px;font-size:clamp(12px,.8rem,15px);line-height:1.5}#content-view .journey-summary>span{min-width:0;overflow-wrap:anywhere}#content-view .journey-summary>span:first-child{flex:1 1 180px}#content-view .journey-summary>span:last-child{flex:2 1 280px}#content-view .chapter-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-block:20px}#content-view .chapter-tabs button{flex:1 1 140px;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;max-width:100%;min-height:46px;padding:10px 14px;font-size:clamp(13px,.95rem,16px);line-height:1.3}.chapter-label{min-width:0;white-space:normal;overflow-wrap:anywhere}.chapter-count{flex:0 0 auto;padding:3px 7px;border-radius:6px;background:#71855a15;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}#content-view .chapter-tabs [aria-selected=true] .chapter-count{background:#ffffff24}#content-view .chapter-intro{padding:clamp(14px,2vw,22px);margin-bottom:20px}#content-view .chapter-intro h2{font-size:clamp(23px,1.75rem,32px);line-height:1.25;overflow-wrap:anywhere}#content-view .chapter-intro p{font-size:clamp(13px,.9rem,16px);line-height:1.6;overflow-wrap:anywhere}#content-view.book-scene :is(.lesson-grid,.journal-grid){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:clamp(14px,1.6vw,24px);align-items:stretch}#content-view .lesson-card{display:flex;flex-direction:column;align-items:stretch;min-width:0;width:100%;padding:0;border-radius:14px;isolation:isolate}#content-view .lesson-card-art{position:relative;flex:0 0 auto;width:100%;height:auto;min-height:0;aspect-ratio:16 / 9;overflow:hidden;border-bottom:1px solid #c9d1b2}#content-view .lesson-card-art .curriculum-scene{display:block;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto}#content-view .lesson-card .lesson-number{position:absolute;z-index:1;top:10px;left:10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;width:auto;min-width:48px;height:auto;min-height:28px;padding:5px 9px;border-radius:9px;font-family:DM Sans,system-ui,sans-serif;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2;white-space:nowrap}#content-view .lesson-card-body{display:flex;flex:1 1 auto;flex-direction:column;gap:10px;min-width:0;padding:clamp(14px,1.4vw,20px)}#content-view .lesson-card-body>.eyebrow{display:block;min-height:2.8em;margin:0;font-size:10px;letter-spacing:.08em;line-height:1.4;overflow-wrap:anywhere}#content-view .lesson-card h2{min-height:2.5em;margin:0;font-size:clamp(20px,1.5rem,26px);line-height:1.25;letter-spacing:-.02em;overflow-wrap:anywhere}#content-view .lesson-difficulty{margin:0;font-size:13px;line-height:1.4;overflow-wrap:anywhere}#content-view .lesson-mode-badges{display:flex;flex-wrap:wrap;gap:6px;min-width:0}#content-view .lesson-mode-badges>span{margin:0;padding:5px 7px;font-size:11px;line-height:1.3;white-space:normal;overflow-wrap:anywhere}#content-view .lesson-card-footer{gap:10px;margin-top:auto;padding-top:6px;font-size:12px;line-height:1.5;overflow-wrap:anywhere}#content-view .lesson-card-footer>span{flex:0 0 auto;margin-left:auto}#content-view .note-card{min-width:0;overflow-wrap:anywhere}@media(max-width:360px){#content-view.book-scene{padding-inline:12px}#content-view .chapter-tabs button{flex-basis:120px;padding-inline:10px}}#content-view .study-notes{max-width:1280px;min-width:0;margin:0 auto;padding-bottom:24px;font-family:var(--sans)}#content-view .study-notes .page-heading{margin:8px 0 24px}#content-view .study-notes h1{font:600 clamp(26px,3vw,36px)/1.2 var(--sans);margin:6px 0 10px}#content-view .study-notes .page-heading p{font:400 14px/1.6 var(--sans);max-width:680px;margin:0}.study-chapters{display:flex;flex-direction:column;gap:36px}#content-view .study-chapter{min-width:0}#content-view .study-chapter .chapter-intro{margin:0 0 20px}#content-view .study-note-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}#content-view .study-note-card{min-width:0;min-height:190px;padding:22px;display:flex;flex-direction:column;gap:12px;text-align:left;background:var(--ui-surface,#fcfaf3);color:var(--ui-text,#40543b);border:1px solid var(--ui-line,#d5d8c1);border-radius:12px}#content-view .study-note-card .eyebrow{font-size:10px;letter-spacing:.1em}#content-view .study-note-card h3{font:600 20px/1.3 var(--sans);margin:0;overflow-wrap:anywhere}#content-view .study-note-card p{font:400 13px/1.5 var(--sans);margin:0;color:var(--ui-muted,#78846b);overflow-wrap:anywhere}.study-card-link{font-size:12px;margin-top:auto;padding-top:10px;color:var(--ui-accent,#557453)}#content-view .study-detail{max-width:900px}.study-back{min-height:36px;padding:7px 12px;margin:0 0 16px;font-size:12px}.study-guide{padding:clamp(18px,3vw,30px);background:var(--ui-surface,#fcfaf1);border:1px solid var(--ui-line,#d4d8bd);border-radius:12px;min-width:0}#content-view .study-guide h2{font:600 19px/1.4 var(--sans);margin:24px 0 10px;overflow-wrap:anywhere}#content-view .study-guide>h2:first-child{margin-top:0}#content-view .study-guide p,#content-view .study-guide li{font:400 14px/1.7 var(--sans);overflow-wrap:anywhere}#content-view .study-guide p{margin:0}.study-guide ul{margin:0;padding-left:22px}.study-guide li+li{margin-top:8px}.study-guide pre{box-sizing:border-box;min-width:0;max-width:100%;margin:0;padding:16px;border:1px solid var(--ui-line,#d6ddbf);border-radius:8px;background:var(--ui-inset,#edf0df);color:var(--ui-text,#405b38);white-space:pre-wrap;overflow-wrap:anywhere;tab-size:4}.study-guide pre code{font:13px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace}.study-reminder{margin-top:24px;padding:16px;border-left:3px solid var(--ui-accent,#738b5d);background:var(--ui-inset,#edf0df);border-radius:0 8px 8px 0}#content-view .study-reminder h2{margin:0 0 8px}.study-empty{padding:24px;border:1px solid var(--ui-line,#d1d5b9);border-radius:12px;background:var(--ui-surface,#fcfaf1)}#content-view .study-empty h2{font:600 22px/1.3 var(--sans);margin:0 0 8px}#content-view .study-empty p{font:400 14px/1.6 var(--sans);margin:0}@media(max-width:700px){.study-chapters{gap:28px}#content-view .study-note-card{padding:18px;min-height:170px}#content-view .study-note-card h3{font-size:18px}}#content-view .study-detail #return-town{margin-right:10px}:root{--serif:var(--sans);font-size:clamp(12px,min(1.1vw,1.9dvh),18px)}body,button,input,select,textarea,h1,h2,h3{font-family:var(--sans,"DM Sans",system-ui,sans-serif)}code,pre,#code-editor,.lesson-blanks,.lesson-blanks textarea{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}h1{font-size:clamp(24px,2rem,32px)}h2{font-size:clamp(20px,1.5rem,26px)}h3{font-size:clamp(16px,1.125rem,20px)}#management-panel{max-height:calc(100dvh - 8rem);font-size:14px}#management-panel h2{font-size:24px}#management-panel .resident-card h3{font-size:19px}#management-panel .resident-card{padding:10px;gap:10px}#management-panel .resident-card>div>span,#management-panel .resident-mini-stats{font-size:13px}#management-panel .resident-tabs{margin-bottom:12px}#modal{max-height:calc(100dvh - 24px);overflow:auto}.region-caption>small{font-style:normal}.book-scene .page-heading h1{font-size:28px}.chapter-intro h2{font-size:22px}.chapter-intro p{font-size:13px}.chapter-tabs{margin:12px 0;gap:6px}.chapter-tabs button{padding:8px 12px;font-size:13px}@media(orientation:portrait){:root{font-size:clamp(12px,min(3.4vw,1.7dvh),16px)}}#puzzle-view:has(#puzzle-content.compact-lesson){height:100dvh;overflow:hidden}#puzzle-content.compact-lesson{height:100dvh;display:flex;flex-direction:column;overflow:hidden;font:12px/1.45 var(--sans,"DM Sans",sans-serif)}#puzzle-content.compact-lesson .puzzle-scene-bar{flex:0 0 auto;min-height:42px;padding:7px 18px;gap:12px}#puzzle-content.compact-lesson .puzzle-scene-bar>span:nth-child(2){font-size:10px;letter-spacing:.13em}#puzzle-content.compact-lesson .scene-exit{font-size:10px;min-height:30px;padding:5px 10px}#puzzle-content.compact-lesson .puzzle-weather b,#puzzle-content.compact-lesson .puzzle-weather small{font-size:10px}#puzzle-content.compact-lesson .puzzle-scene-inner{flex:1;min-height:0;width:100%;max-width:1600px;margin:auto;padding:12px 18px 16px;display:flex;flex-direction:column;overflow:hidden}#puzzle-content.compact-lesson .puzzle-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px}#puzzle-content.compact-lesson .puzzle-header .eyebrow{font:600 10px/1.4 var(--sans);letter-spacing:.08em}#puzzle-content.compact-lesson .puzzle-header h2{font:600 clamp(16px,calc(1.5vw - 2px),22px)/1.2 var(--sans);letter-spacing:-.02em;margin:4px 0 0}#puzzle-content.compact-lesson .puzzle-mode-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}#puzzle-content.compact-lesson .lesson-tag,#puzzle-content.compact-lesson #tutorial-restart{font-size:10px;padding:6px 9px;min-height:30px}#puzzle-content.compact-lesson .puzzle-story[hidden],#puzzle-content.compact-lesson #stage-caption[hidden]{display:none!important}#puzzle-content.compact-lesson .puzzle-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:14px;align-items:stretch}#puzzle-content.compact-lesson .puzzle-stage{min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden;border-radius:12px;border-width:1px}#puzzle-content.compact-lesson .stage-heading{padding:10px 12px;min-height:38px;flex:none;gap:10px;font-size:10px}#puzzle-content.compact-lesson .stage-heading>span:last-child{font-size:10px;white-space:nowrap}#puzzle-content.compact-lesson #stage-scene{flex:1;min-height:0;position:relative;overflow:hidden;background:#dce4cb}#puzzle-content.compact-lesson #stage-scene>.curriculum-scene{height:100%;width:100%;max-height:none;min-height:0;aspect-ratio:auto}#puzzle-content.compact-lesson .lesson-canvas{display:block;width:100%;height:100%;touch-action:none}#puzzle-content.compact-lesson .lesson-scene-objects{display:flex;flex-wrap:wrap;gap:5px;padding:6px 10px;max-height:58px;overflow:auto;flex:none}#puzzle-content.compact-lesson .lesson-scene-objects button{font-size:10px;border:1px solid #c7d0ad;border-radius:5px;padding:4px 7px;background:#f4f2df}#puzzle-content.compact-lesson #puzzle-controls{flex:none;max-height:85px;overflow:auto}#puzzle-content.compact-lesson .scene-inspector{font:10px/1.4 var(--sans)!important;min-height:0;margin:6px 10px 10px;padding:8px;border-radius:6px}#puzzle-content.compact-lesson .code-panel{min-height:0;min-width:0;padding:12px;display:flex;flex-direction:column;overflow:hidden;border-radius:12px;gap:6px}#puzzle-content.compact-lesson .lesson-workspace{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:3px}#puzzle-content.compact-lesson .lesson-task{margin:0 0 10px}#puzzle-content.compact-lesson .lesson-task h3{font:600 10px/1.4 var(--sans);margin:0 0 5px;color:#526d43}#puzzle-content.compact-lesson .lesson-task p{font:500 12px/1.45 var(--sans);color:#3f563a;margin:0 0 5px}#puzzle-content.compact-lesson .lesson-task p.lesson-rule{font-size:10px;font-weight:400}#puzzle-content.compact-lesson .lesson-task small{display:block;font:10px/1.4 var(--sans);color:#788264}#puzzle-content.compact-lesson #lesson-context{padding:8px 10px;border:1px solid #d6dcbc;border-radius:7px;background:#f1f1df;margin-bottom:10px}#puzzle-content.compact-lesson .lesson-scenarios{padding:0;border:0;display:flex;gap:8px}#puzzle-content.compact-lesson .lesson-scenarios>label{font-size:10px}#puzzle-content.compact-lesson .lesson-scenarios select{font:10px var(--sans);padding:4px 7px;flex:1;max-width:280px}#puzzle-content.compact-lesson .lesson-inputs{margin-top:6px}#puzzle-content.compact-lesson .lesson-inputs[hidden]{display:none}#puzzle-content.compact-lesson .lesson-inputs summary{font:600 10px var(--sans)}#puzzle-content.compact-lesson .lesson-inputs dl{grid-template-columns:repeat(auto-fit,minmax(min(100%,100px),1fr));gap:5px;margin:6px 0 0;max-height:105px;overflow:auto}#puzzle-content.compact-lesson .lesson-inputs dl>div{padding:5px 6px;min-width:0}#puzzle-content.compact-lesson .lesson-inputs dt{font-size:10px}#puzzle-content.compact-lesson .lesson-inputs dd{font-size:10px;line-height:1.4;margin:2px 0 0;max-height:70px}#puzzle-content.compact-lesson .code-tabs{margin:0;padding:0;gap:12px;min-height:32px}#puzzle-content.compact-lesson .code-tabs button{font:500 10px var(--sans);padding:6px 0}#puzzle-content.compact-lesson .lesson-api{padding:6px 8px;margin:7px 0;border-radius:6px}#puzzle-content.compact-lesson .lesson-api summary{font:500 10px var(--sans)}#puzzle-content.compact-lesson .lesson-api p{font-size:10px;margin:6px 0;line-height:1.4}#puzzle-content.compact-lesson .lesson-api small{font-size:10px}#puzzle-content.compact-lesson .code-heading{font:500 10px var(--sans);margin:8px 0 6px;min-height:15px}#puzzle-content.compact-lesson .lesson-blanks{font:11px/1.9 ui-monospace,SFMono-Regular,Consolas,monospace;padding:10px;margin:0;border-radius:8px;max-height:none;min-height:100px}#puzzle-content.compact-lesson .lesson-blanks textarea{display:inline-block;vertical-align:middle;resize:vertical;width:min(24ch,calc(100% - 2ch));min-width:8ch;min-height:27px;height:27px;padding:2px 5px;font:inherit;line-height:1.45;border-width:1px;border-radius:4px;margin:2px 0;white-space:pre}#puzzle-content.compact-lesson #code-editor:not([readonly]){width:100%;height:210px;min-height:150px;max-height:none;font:11px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;padding:10px;border-radius:8px;margin:0;resize:vertical}#puzzle-content.compact-lesson .code-actions{flex:none;margin:0;min-height:25px;display:flex;justify-content:space-between}#puzzle-content.compact-lesson .code-actions button{font-size:10px;padding:4px 0}#puzzle-content.compact-lesson #puzzle-feedback{flex:none;min-height:0;max-height:96px;overflow:auto;font:10px/1.45 var(--sans);margin:0;padding:5px 0}#puzzle-content.compact-lesson #puzzle-feedback.success-feedback,#puzzle-content.compact-lesson #puzzle-feedback.feedback-note,#puzzle-content.compact-lesson #puzzle-feedback.hint-feedback{padding:8px 10px;border-radius:6px}#puzzle-content.compact-lesson #puzzle-feedback b,#puzzle-content.compact-lesson #puzzle-feedback span{font-size:10px}#puzzle-content.compact-lesson #puzzle-feedback pre{font:10px/1.45 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0}#puzzle-content.compact-lesson #run-code{flex:none;min-height:38px;padding:8px 12px;font:600 11px var(--sans);border-radius:7px}#puzzle-content.compact-lesson .lesson-files{padding:8px 0}#puzzle-content.compact-lesson .lesson-files summary{font-size:10px}#puzzle-content.compact-lesson .lesson-files pre{font-size:10px;max-height:130px}#puzzle-content.compact-lesson .tutorial-bubble{font-size:10px;padding:14px;width:min(280px,calc(100vw - 24px));max-height:45dvh;overflow:auto}#puzzle-content.compact-lesson .tutorial-bubble h3{font:600 13px var(--sans)}#puzzle-content.compact-lesson .tutorial-bubble p{font:10px/1.5 var(--sans)}html[data-ui-theme=dark] #puzzle-content.compact-lesson .lesson-task p{color:#e1e9d2}html[data-ui-theme=dark] #puzzle-content.compact-lesson :is(#lesson-context,.lesson-scene-objects button){background:#344838;color:#e1e9d2;border-color:#748362}@media(max-width:700px){#puzzle-content.compact-lesson .puzzle-scene-inner{padding:8px 10px 10px}#puzzle-content.compact-lesson .puzzle-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(120px,30%) minmax(0,1fr);gap:8px}#puzzle-content.compact-lesson .puzzle-header h2{font-size:16px}#puzzle-content.compact-lesson .puzzle-header .eyebrow{font-size:10px}#puzzle-content.compact-lesson .puzzle-weather{display:none}#puzzle-content.compact-lesson .puzzle-scene-bar>span:nth-child(2){display:none}#puzzle-content.compact-lesson .code-panel{padding:10px}#puzzle-content.compact-lesson .lesson-scene-objects{display:none}#puzzle-content.compact-lesson .scene-inspector{font-size:10px!important;margin:4px 8px;padding:5px}#puzzle-content.compact-lesson #puzzle-controls{max-height:42px}#puzzle-content.compact-lesson .stage-heading{min-height:28px;padding:6px 9px}#puzzle-content.compact-lesson .lesson-task p{font-size:11px}}@media(max-height:560px)and (min-width:701px){#puzzle-content.compact-lesson .puzzle-scene-bar{min-height:32px;padding:4px 14px}#puzzle-content.compact-lesson .puzzle-header h2{font-size:16px}#puzzle-content.compact-lesson .puzzle-scene-inner{padding:6px 12px 10px}#puzzle-content.compact-lesson .puzzle-header{margin-bottom:6px}#puzzle-content.compact-lesson #code-editor:not([readonly]){height:145px;min-height:120px}}#puzzle-content.compact-lesson .lesson-task p{font-size:11px;line-height:1.4}#puzzle-content.compact-lesson .lesson-inputs summary{display:none}#puzzle-content.compact-lesson .lesson-inputs dl>div{display:flex;align-items:baseline;gap:6px;padding:5px 6px}#puzzle-content.compact-lesson .lesson-inputs dd{margin:0}#puzzle-content.compact-lesson .code-tabs #python-status{margin-left:auto;align-self:center;font-size:10px;white-space:nowrap}#puzzle-content.compact-lesson .code-heading[hidden]{display:none!important}#puzzle-content.compact-lesson .lesson-blanks{min-height:55px;line-height:1.65}#puzzle-content.compact-lesson .lesson-api{padding:4px 0;border:0;background:none;margin:5px 0}#puzzle-content.compact-lesson .lesson-api summary{font-size:9px}#puzzle-content.compact-lesson .puzzle-stage,#puzzle-content.compact-lesson .code-panel{height:100%;box-sizing:border-box}#puzzle-content.compact-lesson .puzzle-stage{padding:0}#puzzle-content.compact-lesson .lesson-scene-objects:empty{display:none}#puzzle-content.compact-lesson :is(button,select,summary,label,h2,h3,p,small){font-family:var(--sans)}#puzzle-content.compact-lesson .lesson-task code{font-weight:600;background:#dce5cb;border-radius:4px;padding:1px 4px;color:inherit}html[data-ui-theme=dark] #puzzle-content.compact-lesson .lesson-task code{background:#435a3d}#puzzle-content.compact-lesson .lesson-api code{font-size:10px}#puzzle-content.compact-lesson .lesson-api small{font-size:9px}#puzzle-content.compact-lesson .lesson-task h3{font-size:12px}#puzzle-content.compact-lesson .lesson-task h4{font:600 11px/1.4 var(--sans);margin:10px 0 4px;color:#526d43}#puzzle-content.compact-lesson .lesson-task p,#puzzle-content.compact-lesson .lesson-task p.lesson-rule,#puzzle-content.compact-lesson .lesson-task .lesson-api li{font:400 11px/1.45 var(--sans);margin:0 0 5px}#puzzle-content.compact-lesson .lesson-task .lesson-api{margin:0;padding:0}#puzzle-content.compact-lesson .lesson-task .lesson-api ul{list-style:none;padding:0;margin:0 0 10px}#puzzle-content.compact-lesson .lesson-task .lesson-api code{font-size:inherit;font-weight:600}#puzzle-content.compact-lesson .lesson-task #lesson-context{margin:8px 0 0}#puzzle-content.compact-lesson .lesson-task .lesson-case-note{margin-top:6px}html[data-ui-theme=dark] #puzzle-content.compact-lesson .lesson-task h4{color:#c1d0ad}#puzzle-content .puzzle-run-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;flex:none}#puzzle-content .puzzle-run-actions.puzzle-complete{grid-template-columns:repeat(2,minmax(0,1fr))}#puzzle-content .puzzle-run-actions .primary{min-width:0;width:100%;margin:0;display:flex;justify-content:center;align-items:center;gap:6px}#puzzle-content .puzzle-run-actions [hidden]{display:none!important}#puzzle-content.compact-lesson #return-to-village{min-height:38px;padding:8px 12px;font:600 11px var(--sans);border-radius:7px}
