.challenge-review{color:#304e3b;margin:15px 0}.review-evidence{background:#e7edd9;border-left:4px solid #698a64;border-radius:4px;margin:9px 0;padding:12px 15px}.review-evidence b{font-size:13px}.review-evidence p,.review-rule{margin:7px 0;font-size:14px;line-height:1.65}.review-rule{color:#536b48}.challenge-review fieldset{border:0;min-width:0;margin:18px 0;padding:0}.challenge-review legend{margin-bottom:10px;font-size:15px;font-weight:700}.challenge-review fieldset>div{gap:9px;display:grid}.challenge-review button{text-align:left;white-space:normal;overflow-wrap:anywhere;color:#38553e;background:#fafbec;border:1px solid #a7bc91;border-radius:7px;align-items:flex-start;gap:11px;width:100%;min-height:48px;padding:12px 14px;font-size:14px;line-height:1.65;display:flex}.challenge-review button>span{text-align:center;background:#eaf0d9;border:1px solid #bfcea5;border-radius:4px;flex-shrink:0;width:24px;height:24px;margin-top:2px;font:13px/24px monospace}.challenge-review button[aria-pressed=true]{background:#dcebc9;border:2px solid #557d4d;padding:11px 13px}.challenge-review button:focus-visible{outline-offset:3px;outline:3px solid #a77d35}.challenge-review button:disabled{cursor:default;opacity:.8}.review-checks{flex-wrap:wrap;gap:8px 18px;margin:8px 0;font-size:13px;font-weight:700;display:flex}.review-checks p{width:100%;font-weight:400}.challenge-stage{color:#6a5a37;margin-bottom:7px;font:700 11px/1.6 monospace;display:block}.challenge-stage-detail{color:#536b48!important;margin:3px 0 13px!important;font-size:12px!important}.adventure-location .challenge-stage{color:#ecd695;margin-top:6px;font-size:10px}@media (width<=600px){.challenge-review button{padding:10px;font-size:14px}.challenge-review button[aria-pressed=true]{padding:9px}.challenge-review legend{font-size:14px}}.quest-dialogue{box-sizing:border-box;color:#f7ecd2;text-align:left;background:#183c32;border:1px solid #b7a373;border-radius:12px;align-items:center;gap:14px;width:100%;max-width:1000px;margin:12px auto;padding:14px 48px 14px 16px;scroll-margin:12px;font-family:ui-sans-serif,system-ui,sans-serif;display:flex;position:relative;box-shadow:0 5px 18px #10282030}.quest-dialogue-portrait{background:#284f40;border-radius:10px;flex:0 0 48px;place-items:center;width:48px;height:54px;display:grid;overflow:hidden}.quest-dialogue-portrait>.mentor-sprite,.quest-dialogue-portrait>.hero-sprite{width:50px;height:54px}.quest-dialogue-portrait>.bit-sprite{width:36px;height:36px}.quest-dialogue-copy{flex:1;min-width:0}.quest-dialogue-copy>div{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.quest-dialogue-copy b{color:#f5d799;font-size:14px}.quest-dialogue-copy small{color:#bdd1c1;font-size:11px}.quest-dialogue .quest-dialogue-copy p{color:#f7ecd2;overflow-wrap:anywhere;margin:5px 0 0;font-size:15px;line-height:1.6}.quest-dialogue-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.quest-dialogue-actions>small{color:#b9cdbe;font-size:11px}.quest-dialogue .quest-dialogue-actions>button{color:#233d30;cursor:pointer;white-space:normal;background:#edd394;border:1px solid #ffe6b1;border-radius:8px;justify-content:center;align-items:center;gap:7px;max-width:200px;min-height:44px;padding:9px 12px;font:600 13px/1.4 ui-sans-serif,system-ui,sans-serif;display:inline-flex}.quest-dialogue button:disabled{opacity:.55;cursor:wait}.quest-dialogue button:focus-visible{outline-offset:3px;outline:3px solid #ffdb85}.quest-dialogue .quest-dialogue-close{color:#cfdfce;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:44px;height:44px;min-height:44px;padding:0;display:grid;position:absolute;top:1px;right:1px}@media (width<=600px){.quest-dialogue{flex-wrap:wrap;align-items:flex-start;gap:9px;padding:12px 42px 12px 12px}.quest-dialogue-portrait{flex-basis:36px;width:36px;height:44px}.quest-dialogue-portrait>.mentor-sprite,.quest-dialogue-portrait>.hero-sprite{width:42px;height:46px}.quest-dialogue .quest-dialogue-copy p{font-size:14px}.quest-dialogue-actions{flex-direction:row;flex-basis:100%;justify-content:flex-end;align-items:center}.quest-dialogue-actions>small{margin-right:auto}.quest-dialogue .quest-dialogue-actions>button{max-width:100%}}.quest-scene-frame{isolation:isolate;position:relative}.quest-dialogue-layer{z-index:12;pointer-events:none;position:absolute;bottom:12px;left:12px;right:12px}.quest-dialogue-layer .quest-dialogue{pointer-events:auto;-webkit-backdrop-filter:blur(6px);background:#0d2620d1;border-color:#f1d69ccc;max-width:860px;margin:0 auto;padding:12px 48px 12px 14px;animation:.16s ease-out quest-chat-arrive;box-shadow:0 6px 24px #05161166}.quest-dialogue-layer .quest-dialogue-portrait{background:#42644866}.quest-dialogue-layer .quest-dialogue-copy p{text-shadow:0 1px 2px #051a12;font-size:14px;line-height:1.5}.battle-room>.quest-dialogue-layer{bottom:56px}.ending-scene>.quest-dialogue-layer{bottom:40px}@keyframes quest-chat-arrive{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (width<=600px){.quest-dialogue-layer{bottom:8px;left:8px;right:8px}.quest-dialogue-layer .quest-dialogue{gap:7px;padding:10px 40px 10px 10px}.quest-dialogue-layer .quest-dialogue-portrait{flex-basis:30px;width:30px;height:38px}.quest-dialogue-layer .quest-dialogue-portrait>.mentor-sprite,.quest-dialogue-layer .quest-dialogue-portrait>.hero-sprite{width:36px;height:40px}.quest-dialogue-layer .quest-dialogue-copy>div{gap:3px 7px}.quest-dialogue-layer .quest-dialogue-copy p{font-size:14px}.quest-dialogue-layer .quest-dialogue-actions{gap:7px}.quest-dialogue-layer .quest-dialogue-actions>small{font-size:10px}.quest-dialogue-layer .quest-dialogue-actions>button{max-width:190px;padding:7px 10px;font-size:12px}.battle-room>.quest-dialogue-layer{bottom:46px}.ending-scene>.quest-dialogue-layer{bottom:34px}}@media (prefers-reduced-motion:reduce){.quest-dialogue-layer .quest-dialogue{animation:none}}.rescue-roadside{z-index:3;pointer-events:none;position:absolute;inset:0}.rescue-roadside-scene{pointer-events:none;width:80px;height:54px;position:absolute;transform:translate(-50%,-90%)}.rescue-illustration{flex-shrink:0;width:120px;max-width:100%;height:auto;display:block}.rescue-roadside-scene .rescue-illustration{filter:drop-shadow(0 2px 1px #13393433);width:100%;height:100%;overflow:visible}.rescue-spark{color:#ffe0a2;text-shadow:0 0 8px #e9a74d;position:absolute;top:3px;right:4px}.is-restored .rescue-light{filter:drop-shadow(0 0 4px #ffc466);animation:3s ease-in-out infinite alternate rescue-glow}.rescue-steam{animation:3s ease-in-out infinite alternate rescue-glow}@keyframes rescue-glow{0%{opacity:.55}to{opacity:1}}.rescue-neighbours{color:#fff0ce;text-align:left;background:#1f3e3b;border:1px solid #698775;border-radius:8px;margin:10px 14px;padding:0 13px}.rescue-neighbours>summary{cursor:pointer;min-height:44px;padding:13px 0;font-size:14px;font-weight:700}.rescue-neighbours>summary span{color:#d5dec6;font-weight:400}.rescue-neighbour-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-bottom:12px;display:grid}.rescue-neighbour-grid article{min-width:0}.rescue-neighbour-grid h3{color:#fff0ce;margin:4px 0;font-size:15px;line-height:1.5}.rescue-neighbour-grid h3 small{font-size:12px;font-weight:400}.rescue-neighbour-grid b{color:#f4d58e;font-size:13px}.rescue-neighbour-grid p,.rescue-gift{color:#e1e4d1;margin:6px 0 12px;font-size:13px;line-height:1.65}.rescue-brief{color:#364e3d;text-align:left;background:#fff4d9;border:1px solid #c5b786;border-radius:8px;align-items:flex-start;gap:12px;margin:0 0 18px;padding:13px 15px;display:flex}.rescue-brief>.mentor-sprite{flex-shrink:0;width:44px;height:44px}.rescue-brief>div{min-width:0}.rescue-brief small,.rescue-eyebrow{letter-spacing:1px;color:#6d562f;font:700 10px/1.6 monospace}.rescue-brief p{color:#364e3d!important;margin:5px 0!important;font-size:14px!important;line-height:1.65!important}.rescue-brief summary{cursor:pointer;text-underline-offset:3px;min-height:36px;padding-top:8px;font-size:13px;text-decoration:underline}.boss-rescue-brief{background:#eae5f0;border-color:#a699b9}.boss-rescue-brief small{color:#645377}.rescue-helper{color:#33523f;background:#e0ecd9;border-left:3px solid #66866b;border-radius:5px;margin:10px 0;padding:12px 15px}.rescue-helper b{font-size:13px}.rescue-helper p{margin:4px 0;font-size:14px;line-height:1.6}.rescue-helper small{font-size:12px}.rescue-outcome{color:#36503d;text-align:center;background:#fff5d9;border:1px solid #c1b17f;border-radius:9px;margin:14px 0;padding:16px}.rescue-outcome-scenes{flex-wrap:wrap;justify-content:center;gap:18px;display:flex}.rescue-outcome-scenes article{flex:1;min-width:170px;max-width:440px}.rescue-outcome .rescue-illustration{width:132px;margin:8px auto}.rescue-outcome h3{color:#34523e;margin:3px 0;font-size:18px;line-height:1.4}.rescue-outcome p{color:#45604a;margin:7px 0;font-size:14px;line-height:1.65}.rescue-outcome p b{display:inline-block}.rescue-journal{color:#345039;background:#e6ecd8;border-radius:8px;margin:15px 0;padding:15px}.rescue-journal h3{margin:0}.rescue-journal summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:14px}.rescue-journal article{border-top:1px solid #b9c6a3;padding-top:12px}.rescue-journal article p{font-size:14px}.rescue-letters{text-align:left;color:#f5e9c7;background:#193b38;border:1px solid #698476;border-radius:10px;max-width:1000px;margin:20px auto;padding:18px}.rescue-letters h2{color:#fff0c9;margin:0 0 8px;font-size:22px}.rescue-letters>p{color:#dce3cf;font-size:14px}.rescue-letters>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.rescue-letters details{background:#24483f;border:1px solid #73896f;border-radius:6px;align-self:start;padding:10px 14px}.rescue-letters summary{cursor:pointer;min-height:44px;font-size:15px}.rescue-letters summary small{color:#d4d7b4;margin:5px 0 0 22px;font-size:12px;display:block}.rescue-letters blockquote,.rescue-letters details p{color:#f2e7cb;margin:12px 0;font-size:14px;line-height:1.7}.rescue-letters cite{color:#e4c988;font-style:normal;display:block}.rescue-finale-company{color:#f1e5c4;max-width:720px;margin:0 auto 16px;font-size:15px;line-height:1.7}.quest-battle.neighbour-repair .battle-enemy{opacity:.85;width:94px;height:94px;bottom:62px}.quest-battle.neighbour-repair .battle-top h1{font-size:24px}.quest-battle.neighbour-repair .battle-room{background-blend-mode:soft-light;background-color:#546e57}.quest-battle.boss-encounter .battle-room{box-shadow:inset 0 0 80px #26173388}@media (width<=600px){.rescue-neighbour-grid,.rescue-letters>div{grid-template-columns:1fr}.rescue-neighbour-grid article{border-top:1px solid #738773;padding-top:12px;display:flow-root}.rescue-neighbour-grid .rescue-illustration{float:left;width:90px;margin:0 12px 6px 0}.rescue-brief{gap:9px;padding:11px}.rescue-brief>.mentor-sprite{width:34px;height:34px}.rescue-outcome-scenes{gap:10px}.rescue-outcome-scenes article{min-width:150px}.rescue-letters{padding:14px}.rescue-neighbours{margin:9px}.rescue-neighbours>summary span{margin-top:3px;display:block}.quest-battle.neighbour-repair .battle-top h1{font-size:19px}}@media (prefers-reduced-motion:reduce){.is-restored .rescue-light,.rescue-steam{animation:none}}.festival-workshop,.festival-village{--f-ink:#f7ecd2;--f-muted:#b6cbbd;--f-line:#527467;--f-gold:#efd493;--f-leaf:#96d8b4;color:var(--f-ink);background:#102a25;min-height:100vh;padding:0 clamp(12px,3vw,44px) 36px;font-family:Inter,ui-sans-serif,system-ui,sans-serif}.festival-workshop *,.festival-village *{box-sizing:border-box}.festival-workshop button,.festival-village button{cursor:pointer;font:inherit;color:#fff3d6;background:#264b3d;border:1px solid #567567;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;transition:background .16s,transform .16s;display:inline-flex}.festival-workshop button:hover:not(:disabled),.festival-village button:hover:not(:disabled){background:#39634f;transform:translateY(-1px)}.festival-workshop button:disabled,.festival-village button:disabled{opacity:.55;cursor:default}.festival-workshop button:focus-visible,.festival-village button:focus-visible,.festival-node:focus-visible{outline-offset:4px;outline:3px solid #ffda8d}.festival-workshop button.festival-primary,.festival-village button.festival-primary{color:#233b2d;background:#efd493;border-color:#fae7b6;font-weight:800;box-shadow:0 4px #7d6844}.festival-workshop button.festival-primary:hover:not(:disabled),.festival-village button.festival-primary:hover:not(:disabled){background:#ffebb7}.festival-workshop small,.festival-village small{font-size:12px}.festival-top{color:#fff1cb;background:#153a31;border-bottom:1px solid #648475;justify-content:space-between;align-items:center;gap:16px;min-height:68px;padding:10px 16px;display:flex}.festival-top>span{color:#fff1cb;letter-spacing:1.6px;text-align:left;flex-direction:column;gap:4px;min-width:0;font-size:14px;font-weight:800;line-height:1.35;display:flex}.festival-top small{letter-spacing:.8px;color:#d3e5d9;margin:0;font-size:12px;font-weight:500;line-height:1.5;display:block}.festival-top button{color:#fff1cb;background:0 0;border-color:#0000}.festival-title{justify-content:space-between;align-items:center;gap:24px;max-width:1540px;margin:26px auto 22px;display:flex}.festival-kicker{letter-spacing:2px;color:#e5c584;font-size:11px;font-weight:800}.festival-title h1,.festival-village h1{color:#fff1cb;margin:9px 0 10px;font-family:Georgia,serif;font-size:clamp(30px,3.5vw,49px);font-weight:700;line-height:1.13}.festival-title p{color:var(--f-muted);max-width:780px;margin:0;font-size:14px;line-height:1.55}.festival-budget{text-align:center;background:#28482f;border:1px solid #536f51;border-radius:14px;flex-shrink:0;padding:12px 20px}.festival-budget b{color:#f5dfa7;font-size:29px;display:block}.festival-budget b small{color:#bacbb1;font-size:16px}.festival-budget span{letter-spacing:1px;text-transform:uppercase;font-size:10px}.festival-budget.over-budget{background:#613f36;border-color:#e59071}.festival-play-layout{grid-template-columns:minmax(0,1fr) 290px;gap:20px;max-width:1540px;margin:auto;display:grid}.festival-stage{min-width:0}.festival-npc{background:#244538;border:1px solid #476457;border-radius:16px 16px 0 0;align-items:center;gap:12px;min-height:93px;padding:12px 20px;display:flex}.festival-npc .mentor-sprite{flex:0 0 54px;width:54px;height:64px}.festival-npc b{color:#f1d896;font-size:13px}.festival-npc small{color:#aebdab;margin-left:10px;font-size:11px;font-weight:400}.festival-npc p{color:#f6eacb;margin:5px 0;font-family:Georgia,serif;font-size:16px;line-height:1.5}.festival-scene{background:#214a3f;border:1px solid #476457;border-top:0;border-radius:0 0 16px 16px;position:relative;overflow:hidden}.festival-system{width:100%;height:auto;display:block}.festival-node{cursor:pointer;outline:none}.festival-node.inspected>ellipse{fill:#ffdf91;opacity:.7}.festival-node.disconnected{opacity:.48}.festival-node:hover{filter:brightness(1.14)}.festival-packet{filter:drop-shadow(0 0 4px #deffc8);offset-distance:0%;offset-rotate:0deg;animation:2.1s linear infinite festival-travel}.festival-hero{pointer-events:none;width:50px;height:70px;position:absolute;bottom:7%;left:30%}.festival-hero:before{content:"";background:#072b24a6;border-radius:50%;width:33px;height:9px;position:absolute;bottom:7px;left:9px}.festival-hero .hero-sprite{filter:drop-shadow(0 2px 1px #12372c);width:64px;height:64px;position:absolute;bottom:5px;left:0}.festival-hero>span:last-child{white-space:nowrap;background:#14352d;border-radius:10px;padding:2px 6px;font-size:9px;position:absolute;bottom:-8px;left:12px}.festival-wraith{object-fit:contain;filter:drop-shadow(0 0 15px #bb8eebb5);pointer-events:none;width:100px;height:100px;animation:2s ease-in-out infinite festival-wraith;position:absolute;top:2%;right:8%}.festival-live-metrics{background:#193a2e;border:1px solid #466052;border-radius:12px;grid-template-columns:repeat(5,1fr);margin-top:12px;display:grid;overflow:hidden}.festival-live-metrics>span{text-align:center;color:#b6cab8;border-right:1px solid #466052;padding:10px 4px;font-size:10px}.festival-live-metrics>span:last-child{border:0}.festival-live-metrics b{color:#e1f0d9;font-size:23px;display:block}.festival-live-metrics .metric-danger{color:#ffe0c7;background:#693c30}.festival-live-metrics .metric-danger b{color:#ffcc9e}.festival-runbar{flex-wrap:wrap;align-items:center;gap:12px;padding:16px 0;display:flex}.festival-runbar>div{flex:1;min-width:145px}.festival-runbar>div span{color:#bdd0bd;margin-bottom:6px;font-size:10px;display:block}.festival-runbar progress{accent-color:#e9d397;width:100%;height:7px}.festival-runbar>span{color:#b9c9b6;flex-basis:100%;font-size:11px}.festival-runbar .festival-icon{padding:11px}.festival-inspector{background:#234235;border-left:3px solid #b5d5a1;border-radius:0 8px 8px 0;padding:13px 17px}.festival-inspector b{text-transform:uppercase;letter-spacing:1.3px;color:#d2e9b8;font-size:10px}.festival-inspector p{color:#c2d5c2;margin:6px 0 0;font-size:12px;line-height:1.65}.festival-log{color:#bccebb;border:1px solid #3d594b;border-radius:8px;margin-top:12px;padding:12px 16px;font-size:12px}.festival-log summary,.festival-lesson summary{cursor:pointer;color:#ecdeb8;font-size:12px;font-weight:600}.festival-log p{border-bottom:1px solid #345244;margin:0;padding:8px 0;line-height:1.6}.festival-log p:last-child{border:0}.festival-workbench{background:#1f3c31;border:1px solid #4e6957;border-radius:16px;flex-direction:column;align-self:start;gap:12px;padding:16px;display:flex}.festival-workbench-heading{color:#ecd6a2;align-items:center;gap:9px;display:flex}.festival-workbench h2{margin:0;font-size:15px}.festival-workbench-heading p{color:#b7c8b7;margin:4px 0 0;font-size:10px}.festival-workshop .festival-tool{text-align:left;background:#203c2e;border:1px dashed #658064;border-radius:11px;width:100%;padding:13px;display:block}.festival-workshop .festival-tool.connected{background:#334e34;border:1px solid #baa875}.festival-tool>span{align-items:center;gap:7px;display:flex}.festival-tool b{flex:1;font-size:12px}.festival-tool small{color:#dfd3ad;white-space:nowrap;font-size:10px}.festival-tool p{color:#bcd0b8;margin:8px 0;font-size:11px;line-height:1.5}.festival-tool em{letter-spacing:.4px;color:#ebd8a6;font-size:9px;font-style:normal}.festival-freshness{border:1px solid #5d745b;border-radius:9px;margin:0;padding:11px;font-size:11px}.festival-freshness legend{color:#e4d5aa;font-weight:700}.festival-freshness label{color:#dce4cd;flex-wrap:wrap;align-items:center;gap:5px;margin:7px 0;line-height:1.5;display:flex}.festival-freshness input{accent-color:#ecd091}.festival-freshness small{color:#c9ba90;font-size:9px}.festival-freshness select{color:#f0e4c3;background:#284332;border:1px solid #688062;border-radius:5px;max-width:100%;padding:6px;font-size:11px}.festival-workshop button.festival-hint{background:#2c4c32;border-color:#65825b;justify-content:flex-start;font-size:11px}.festival-hint-copy{color:#e6e4bf;background:#354b30;border-radius:8px;margin:0;padding:12px;font-size:12px;line-height:1.7}.festival-lesson{border-top:1px solid #496347;padding-top:12px}.festival-lesson p{color:#b7cbb4;font-size:11px;line-height:1.7}.festival-result{background:#473f30;border:1px solid #9f8359;border-radius:18px;grid-template-columns:1fr 1fr;gap:16px 24px;max-width:1540px;margin:24px auto 0;padding:22px 26px;scroll-margin-top:20px;display:grid}.festival-result.won{background:linear-gradient(130deg,#345335,#173c31);border-color:#d1b779;box-shadow:0 0 28px #e6c77417}.festival-result h2{color:#f8e5b8;margin:8px 0 10px;font-family:Georgia,serif;font-size:29px}.festival-result p{color:#d4dbc4;margin:0;font-size:13px;line-height:1.7}.festival-result ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.festival-result li{align-items:center;gap:10px;display:flex}.festival-result li>span{color:#e5f6c6;background:#546442;border-radius:50%;place-items:center;width:25px;height:25px;display:grid}.festival-result li.failed>span{color:#ffd7b7;background:#874c32}.festival-result li b{font-size:12px;display:block}.festival-result li small{color:#bfccb9;margin-top:2px;font-size:11px;display:block}.festival-result-actions{flex-wrap:wrap;grid-column:1/-1;gap:10px;padding-top:8px;display:flex}.festival-result-actions button{font-size:12px}.festival-message,.festival-error{overflow-wrap:anywhere;border-radius:10px;max-width:1540px;margin:12px auto;padding:12px 16px;font-size:13px;line-height:1.6}.festival-message{color:#e4efcf;background:#344d35;border:1px solid #749265}.festival-error{color:#ffe9d2;background:#613d32;border:1px solid #aa7960}.festival-home-intro{justify-content:space-between;align-items:center;gap:20px;max-width:1180px;margin:28px auto 18px;display:flex}.festival-home-intro p{color:#b4ccb9;max-width:630px;margin:8px 0;font-size:14px;line-height:1.7}.festival-home-badges{gap:9px;display:flex}.festival-home-badges span{color:#94aa91;background:#1d382d;border:1px solid #658069;border-radius:8px 8px 18px 18px;place-items:center;width:42px;height:48px;font-size:18px;display:grid}.festival-home-badges span.earned{color:#263d29;background:#dac286;border-color:#ffdf91;box-shadow:0 0 18px #ffce7430}.festival-world-wrap{border:2px solid #65816a;border-radius:22px;max-width:1180px;margin:auto;position:relative;overflow:hidden;box-shadow:0 15px 50px #06171180}.festival-world{aspect-ratio:3/2;background:#40654f;outline:none;min-width:690px;position:relative}.festival-world>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.festival-world-scroll{overflow:auto}.festival-world-shade{pointer-events:none;background:linear-gradient(#071f1820,#0000 65%,#061d1859);position:absolute;inset:0}.festival-world-road{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.festival-world-road path{stroke:#f0dda0;stroke-width:.35px;stroke-dasharray:1 2;fill:none;opacity:.6}.festival-world-road.restored path{stroke:#c9ffc5;stroke-width:.6px;filter:drop-shadow(0 0 3px #e1ffbe)}.festival-village button.festival-door{z-index:3;background:#173c30f2;border:1px solid #dfc08b;flex-direction:column;gap:4px;max-width:210px;padding:10px 14px;font-size:13px;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 5px 15px #0d221a80}.festival-door small{letter-spacing:1px;color:#ddc18b;font-size:9px}.festival-village button.festival-door:hover:not(:disabled){background:#315940;transform:translate(-50%,-52%)}.festival-village button.festival-door.restored{color:#233c26;background:#a6c486;border:2px solid #f9e4a3}.festival-door.restored small{color:#2c4c30}.festival-village button.festival-door.boss-door{background:#422e51e8;border-color:#b694c9}.festival-village button.festival-door.boss-door.restored{color:#233c26;background:#c9b277;border-color:#f5dfa3}.festival-door .door-icon{font-size:25px}.festival-world-hero{z-index:4;pointer-events:none;width:44px;height:58px;position:absolute;transform:translate(-50%,-89%)}.festival-world-hero:before{content:"";background:#142d24b0;border-radius:50%;width:26px;height:7px;position:absolute;bottom:1px;left:9px}.festival-world-hero .hero-sprite{width:58px;height:58px;position:absolute;bottom:0;left:-6px}.festival-world-hero>small{white-space:nowrap;background:#16382ed9;border-radius:6px;padding:2px 7px;font-size:9px;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.festival-world-bit{z-index:4;pointer-events:none;width:22px;height:22px;position:absolute}.festival-village-note{z-index:2;background:#193d2eeb;border:1px solid #a8ab78;border-radius:12px;width:260px;padding:12px 16px;position:absolute;bottom:4%;left:3%}.festival-village-note b{color:#f3da9b;font-size:12px}.festival-village-note p{color:#e0e7c9;margin:6px 0;font-family:Georgia,serif;font-size:13px;line-height:1.6}.festival-village-note small{color:#b4cca7;font-size:10px}.festival-home-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;max-width:1180px;margin:15px auto;display:flex}.festival-home-footer>p{color:#c1d1bc;font-size:12px;line-height:1.6}.festival-home-footer>div{flex-wrap:wrap;gap:8px;display:flex}.festival-home-footer button{font-size:12px}.festival-daily-card{background:linear-gradient(120deg,#294935,#25364a);border:1px solid #738575;border-radius:16px;justify-content:space-between;align-items:center;gap:20px;max-width:1180px;margin:24px auto;padding:22px 25px;display:flex}.festival-daily-card h2{color:#f1dfa6;margin:5px 0;font-family:Georgia,serif;font-size:24px}.festival-daily-card p{color:#bed0c0;max-width:690px;font-size:12px;line-height:1.6}.festival-daily-card small{letter-spacing:1.5px;color:#c6d9b9;font-size:10px}.festival-clue{color:#2d412f;background:#dec998;border-radius:18px;align-items:center;gap:20px;max-width:1180px;margin:20px auto;padding:25px 30px;display:flex}.festival-clue h2{margin:0 0 10px;font-family:Georgia,serif;font-size:28px}.festival-clue p{margin:0;font-family:Georgia,serif;font-size:16px;line-height:1.75}.festival-clue .hero-sprite{flex:0 0 80px;width:80px;height:80px}.festival-preview-note{color:#a5bca8;max-width:1180px;margin:20px auto;font-size:11px;line-height:1.8}.festival-preview-note a{color:#efd593}.festival-intro{z-index:20;background:#071b15d9;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.festival-intro>section{background:#244834;border:1px solid #bcb57b;border-radius:22px;width:min(560px,100%);max-height:90vh;padding:30px;overflow:auto}.festival-intro h1{font-size:36px}.festival-intro p{color:#e5e6c8;font-family:Georgia,serif;font-size:17px;line-height:1.8}.festival-intro label{color:#c9d9be;margin:14px 0;font-size:12px;display:block}.festival-intro input{color:#f2e6bf;background:#183628;border:1px solid #9eae7e;border-radius:8px;width:100%;margin-top:6px;padding:10px;display:block}.festival-avatar-choices{gap:12px;margin-bottom:20px;display:flex}.festival-avatar-choices button{flex-direction:column;flex:1;height:100px}.festival-avatar-choices .hero-sprite{width:58px;height:58px}.festival-avatar-choices button[aria-pressed=true]{background:#627548;border-color:#f0d194}.festival-touch-controls{gap:5px;display:flex}.festival-village .festival-touch-controls button{min-width:40px;min-height:40px;padding:8px}.festival-village.festival-intro-card{background:#244834;border:1px solid #bcb57b;border-radius:22px;width:min(560px,100% - 30px);max-width:560px;min-height:0;max-height:92vh;padding:28px;display:block;overflow:auto}.festival-intro-card [data-slot=dialog-title]{color:#ffebba;margin:10px 0 16px;font-family:Georgia,serif;font-size:32px;line-height:1.2}.festival-intro-card [data-slot=dialog-description]{color:#e5e6c8;font-family:Georgia,serif;font-size:16px;line-height:1.8}.festival-intro-card>label{color:#c9d9be;margin:14px 0;font-size:12px;display:block}.festival-intro-card>label input{color:#f2e6bf;background:#183628;border:1px solid #9eae7e;border-radius:8px;width:100%;margin-top:6px;padding:10px;display:block}.festival-top>a{color:#ddcf9f;font-size:12px}.festival-clue>a,.festival-clue a{color:#274e38;margin-top:14px;text-decoration:underline;display:inline-block}@keyframes festival-travel{0%{offset-distance:0%}to{offset-distance:100%}}@keyframes festival-wraith{50%{transform:translateY(8px)rotate(3deg)}}@media (width>=1600px){.festival-workbench{padding:20px}.festival-play-layout{grid-template-columns:minmax(0,1fr) 320px}}@media (width<=1000px){.festival-play-layout{grid-template-columns:minmax(0,1fr)}.festival-workbench{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.festival-workbench-heading,.festival-lesson,.festival-hint-copy{grid-column:1/-1}.festival-title{margin-top:20px}.festival-workbench .festival-hint{align-self:start}}@media (width<=600px){.festival-workshop,.festival-village{padding:0 10px 25px}.festival-title{gap:12px}.festival-title h1{font-size:29px}.festival-title p{font-size:12px}.festival-budget{padding:9px}.festival-budget b{font-size:22px}.festival-budget span{font-size:8px}.festival-top>span{letter-spacing:1px;font-size:12px}.festival-top small{letter-spacing:.5px;font-size:11px}.festival-top button{padding:8px;font-size:11px}.festival-npc{padding:12px}.festival-npc p{font-size:14px}.festival-npc .mentor-sprite{flex-basis:38px;width:38px;height:48px}.festival-npc small{margin:3px 0 0;display:block}.festival-scene{overflow-x:auto}.festival-system{width:760px;max-width:none}.festival-hero{bottom:7%;left:210px}.festival-wraith{width:72px;height:72px;left:640px;right:auto}.festival-live-metrics b{font-size:20px}.festival-live-metrics>span{font-size:8px}.festival-workbench{gap:10px;padding:12px}.festival-tool>span{flex-wrap:wrap}.festival-tool small{margin-left:24px}.festival-result{grid-template-columns:1fr;padding:18px}.festival-result h2{font-size:26px}.festival-runbar button{font-size:12px}.festival-home-intro{gap:9px;margin-top:20px}.festival-home-intro h1{font-size:32px}.festival-home-intro p{font-size:12px}.festival-home-badges{gap:4px}.festival-home-badges span{width:26px;height:35px;font-size:13px}.festival-village-note{width:215px;padding:10px}.festival-daily-card{flex-direction:column;align-items:flex-start;padding:18px}.festival-clue{padding:20px}.festival-clue h2{font-size:24px}.festival-clue p{font-size:14px}.festival-clue .hero-sprite{display:none}.festival-intro>section{padding:22px}}@media (prefers-reduced-motion:reduce){.festival-packet{display:none}.festival-wraith{animation:none}.festival-workshop button,.festival-village button{transition:none}}.festival-touch-controls button{touch-action:none}.festival-stage,.festival-workbench{scroll-margin-top:14px}.festival-workbench:focus{outline:none}.festival-world-scroll{overscroll-behavior-x:contain}.festival-victory .festival-scene{border-color:#d4c27b;box-shadow:0 0 28px #ffdf7e35}.festival-celebration{pointer-events:none;position:absolute;inset:0;overflow:hidden}.festival-celebration span{color:#ffeaa5;text-shadow:0 0 12px #ffd176;font-size:24px;animation:3s ease-out both festival-lantern-rise;position:absolute;bottom:15%}@keyframes festival-lantern-rise{0%{opacity:0;transform:translateY(0)scale(.4)}25%{opacity:1}to{opacity:0;transform:translateY(-150px)scale(1.2)}}@media (prefers-reduced-motion:reduce){.festival-celebration span{opacity:.7;animation:none}}.festival-top{min-height:54px}.festival-title,.festival-home-intro{margin:16px auto 12px}.festival-title h1,.festival-home-intro h1{margin:6px 0;font-size:clamp(25px,2.6vw,34px)}.festival-home-intro p{margin:5px 0;font-size:13px}.festival-title p{font-size:13px}.festival-home-intro,.festival-home-footer,.festival-world-wrap,.festival-daily-card,.festival-preview-note{max-width:1000px}.festival-world-wrap{border-radius:14px}.festival-village button.festival-door{border-radius:8px;gap:2px;width:128px;max-width:128px;min-height:44px;padding:6px 8px;font-size:11px}.festival-door small{letter-spacing:.5px;font-size:9px}.festival-door .door-icon{color:#f6dda0;background:#183c32;border:1px solid #c5ad77;border-radius:50%;place-items:center;width:24px;height:24px;font-size:14px;display:grid;position:absolute;top:-9px;left:-9px}.festival-home-badges span{width:32px;height:38px;font-size:15px}.festival-scene{border-top:1px solid #476457;border-radius:12px}.festival-budget{padding:8px 12px}.festival-budget b{font-size:24px}.festival-workbench{gap:9px;padding:12px}.festival-workshop .festival-tool{padding:10px}.festival-tool p{margin:5px 0;font-size:12px}.festival-tool em{font-size:10px}.festival-runbar{padding:12px 0}.festival-result{border-radius:12px;gap:12px 20px;margin-top:16px;padding:16px 20px}.festival-result h2{margin:5px 0;font-size:23px}.festival-result p{line-height:1.55}.festival-daily-card{margin:18px auto;padding:15px 18px}.festival-daily-card h2{font-size:21px}.festival-daily-card p{margin:6px 0}.festival-village .festival-touch-controls button{min-width:44px;min-height:44px}.festival-home-footer{margin:10px auto}.festival-hero-picker{background:#244536;border:1px solid #a6ab7a;border-radius:12px;align-items:center;gap:16px;max-width:1000px;margin:12px auto;padding:12px 16px;display:flex}.festival-hero-picker>div:first-child{flex:1}.festival-hero-picker b{color:#f4dfa8;font-size:14px}.festival-hero-picker label{color:#cad8bb;align-items:center;gap:9px;margin-top:8px;font-size:12px;display:flex}.festival-hero-picker input{color:#ffefc9;background:#183528;border:1px solid #92a27b;border-radius:7px;width:160px;max-width:100%;min-height:40px;padding:7px 10px;font-size:16px}.festival-hero-picker .festival-avatar-choices{gap:7px;margin:0}.festival-hero-picker .festival-avatar-choices button{gap:2px;height:auto;min-height:58px;padding:5px 10px}.festival-hero-picker .festival-avatar-choices .hero-sprite{width:40px;height:40px}.festival-hero-picker .festival-avatar-choices small{font-size:10px}.festival-hero-picker>button{min-height:44px;font-size:13px}@media (width<=700px){.festival-hero-picker{flex-wrap:wrap;gap:10px}.festival-hero-picker>div:first-child{flex-basis:100%}.festival-hero-picker>button{margin-left:auto}.festival-title{gap:10px}.festival-title h1,.festival-home-intro h1{font-size:25px}.festival-home-intro .festival-kicker{letter-spacing:1px;font-size:9px}.festival-result{padding:14px}.festival-budget b{font-size:21px}}.festival-field-topic{border-top:1px solid #496347;padding:10px 0}.festival-field-topic summary{line-height:1.6}.festival-lesson .festival-field-topic p{font-size:12px}.festival-field-topic blockquote{color:#f0dfb5;border-left:2px solid #b6a56e;margin:8px 0;padding-left:10px;font-size:12px;line-height:1.7}.festival-workshop [hidden]{display:none!important}.festival-flow{color:#bfd3c6;flex-wrap:wrap;gap:8px;max-width:1540px;margin:0 auto 18px;padding:0;font-size:12px;list-style:none;display:flex}.festival-flow li{border:1px solid #527467;border-radius:20px;padding:8px 12px}.festival-flow li[aria-current=step]{color:#17392c;background:#e6d39f;border-color:#f5e5b8;font-weight:700}.festival-briefing{color:#f8eed5;background:#193c32;border:1px solid #779887;border-radius:16px;max-width:880px;margin:0 auto;padding:clamp(18px,3vw,32px)}.festival-briefing-host{border-bottom:1px solid #537363;align-items:center;gap:16px;padding-bottom:18px;display:flex}.festival-briefing-host .mentor-sprite{flex:0 0 64px;width:64px;height:74px}.festival-briefing-host p{color:#ffedc3;margin:5px 0;font:18px/1.6 Georgia,serif}.festival-briefing h2{color:#ffe6a6;align-items:center;gap:10px;margin:24px 0 10px;font:700 clamp(22px,3vw,30px)/1.3 Georgia,serif;display:flex}.festival-briefing h2 svg{flex-shrink:0}.festival-briefing-intro{color:#d5e7d9;margin:0 0 20px;font-size:14px;line-height:1.65}.festival-briefing-lessons{gap:22px;display:grid}.festival-briefing-lessons article{gap:14px;display:flex}.festival-lesson-number{color:#f8dda2;background:#385d48;border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;font-weight:700;display:grid}.festival-briefing h3{color:#fff0cb;margin:0 0 8px;font-size:17px;line-height:1.5}.festival-briefing article p{color:#dfecdf;margin:0;font-size:15px;line-height:1.8}.festival-briefing blockquote{color:#f2ddaf;background:#112e27;border-left:3px solid #d9c389;border-radius:0 7px 7px 0;margin:12px 0 0;padding:10px 14px;font-size:14px;line-height:1.7}.festival-evidence{color:#fff0c5;background:#304d3a;border:1px solid #8b9d70;border-radius:10px;margin:24px 0;padding:18px;font-size:14px;line-height:1.7}.festival-evidence p{color:#e1ecd7;margin:8px 0 12px}.festival-more-reading{border-top:1px solid #567363;margin-bottom:22px;padding-top:14px}.festival-more-reading summary{cursor:pointer;color:#e8d6aa;font-size:14px}.festival-more-reading article{margin-top:20px}.festival-briefing>.festival-primary{width:100%;min-height:48px}.festival-counter-control{background:#172f26;border:1px solid #688567;border-radius:10px;padding:12px}.festival-counter-control>b{font-size:13px}.festival-counter-control small{color:#c4d7bf;margin:4px 0 12px;font-size:11px;line-height:1.5;display:block}.festival-counter-control output{color:#fff0c5;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:14px;font-weight:600;display:flex}.festival-counter-control output strong{font-size:28px;line-height:1.1}.festival-counter-actions{gap:7px;display:flex}.festival-workshop .festival-counter-actions button{flex:1;gap:4px;min-height:44px;padding:8px 5px;font-size:12px}.festival-counter-actions svg{flex-shrink:0}.festival-counter-control p{color:#ccdfc6;margin:10px 0 0;font-size:11px;line-height:1.6}.festival-tool-footer{justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.festival-tool-footer em{color:#dfe8c9;font-size:11px}.festival-workshop .festival-tool-footer button{min-width:84px;min-height:44px;padding:7px 12px;font-size:12px}.festival-workshop .festival-tool:not(.connected) .festival-tool-footer button{color:#17392c;background:#e6d39f;border-color:#ecdcb0}.festival-workshop .festival-review-lesson{color:#e6d7b3;background:0 0;min-height:44px;font-size:12px}.festival-reliability{gap:10px;min-width:0;display:grid}.festival-reliability fieldset,.festival-prediction{border:1px solid #73907a;border-radius:9px;min-width:0;margin:0;padding:10px}.festival-reliability legend,.festival-prediction legend{color:#ffe4a9;padding:0 4px;font-size:12px;font-weight:700;line-height:1.5}.festival-reliability label{cursor:pointer;background:#18352b;border:1px solid #567363;border-radius:7px;align-items:flex-start;gap:8px;min-height:44px;margin-top:7px;padding:10px 8px;display:flex}.festival-reliability label.selected{background:#36543c;border-color:#dbc58a}.festival-reliability input,.festival-prediction input{accent-color:#eed594;flex-shrink:0;width:16px;height:16px;margin-top:3px}.festival-reliability b{color:#fff0c6;font-size:12px;line-height:1.5;display:block}.festival-reliability small{color:#d1dec8;margin-top:4px;font-size:11px;line-height:1.55;display:block}.festival-reliability fieldset:disabled label,.festival-prediction:disabled label{opacity:.65;cursor:default}.festival-order-trace{color:#eedda9;background:#112e27;border-radius:7px;margin:0;padding:10px;font-size:12px;line-height:1.7}.festival-cost-summary{color:#dff1d7;background:#15372c;border:1px solid #769778;border-radius:9px;padding:11px;font-size:12px;line-height:1.6}.festival-cost-summary.over-budget{color:#fff0cf;background:#593d2e;border-color:#e0a77a}.festival-cost-summary p{color:inherit;margin:7px 0;font-size:11px}.festival-cost-summary strong{font-size:11px;display:block}.festival-prediction{background:#15342c}.festival-prediction p{color:#c8dcc7;margin:6px 0;font-size:11px;line-height:1.6}.festival-prediction label{color:#f2e9ca;cursor:pointer;align-items:flex-start;gap:8px;min-height:44px;padding:10px 3px;font-size:12px;line-height:1.5;display:flex}.festival-test-summary{color:#fff0cb;background:#523d2d;border:1px solid #d6a777;border-radius:10px;margin:12px 0 0;padding:12px 16px;font-size:14px;line-height:1.6}.festival-test-summary.passed{background:#284d35;border-color:#a7d399}.festival-test-summary p{color:#f1e2c4;margin:4px 0 0;font-size:12px}.festival-result .festival-prediction-result{color:#f4e6c6;background:#102c254d;border-left:3px solid #d0c28d;margin-top:12px;padding:10px 12px}@media (width<=1000px){.festival-counter-control,.festival-review-lesson,.festival-reliability,.festival-cost-summary,.festival-prediction{grid-column:1/-1}.festival-reliability{grid-template-columns:1fr 1fr}.festival-order-trace{grid-area:2/1/auto/-1}.festival-reliability fieldset{grid-row:1}}@media (width<=600px){.festival-reliability{grid-template-columns:1fr}.festival-reliability fieldset,.festival-order-trace{grid-row:auto}.festival-briefing-host .mentor-sprite{flex-basis:44px;width:44px;height:54px}.festival-briefing-host p{font-size:16px}.festival-briefing-lessons article{gap:9px}.festival-briefing article p{font-size:14px}.festival-briefing h3{font-size:16px}.festival-flow{gap:6px}.festival-flow li{padding:7px 9px;font-size:10px}}.village-touch-controls{display:none}.festival-world,.adventure-map{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.festival-world>img,.adventure-landscape{-webkit-user-drag:none;pointer-events:none}.festival-world-scroll,.adventure-viewport{overflow-anchor:none;scroll-behavior:auto;touch-action:pan-x pan-y}.festival-world:focus-visible,.adventure-map:focus-visible{outline-offset:-3px;outline:2px solid #f3d89c}@media (width<=900px),(pointer:coarse){.festival-world-scroll,.adventure-viewport{overscroll-behavior:contain;scrollbar-width:thin;max-height:clamp(180px,48svh,440px);overflow:auto}.village-touch-controls{box-sizing:border-box;padding:10px max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left));color:#f6e5c4;z-index:5;background:#122f2a;border-top:1px solid #7b9473;align-items:center;gap:12px;min-height:120px;font:13px/1.5 ui-sans-serif,system-ui,sans-serif;display:flex;position:sticky;bottom:0}.village-touch-controls button{font:inherit;cursor:pointer;color:#fff0ce;touch-action:manipulation;background:#2c503d;border:1px solid #a2b481;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:8px;display:flex}.village-touch-controls button:disabled{opacity:.5;cursor:default}.village-touch-controls button:focus-visible{outline-offset:3px;outline:3px solid #ffe6a7}.village-touch-controls .village-joystick{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:radial-gradient(circle,#305944 30%,#183a30 70%);border:2px solid #a1b483;border-radius:50%;flex-shrink:0;width:100px;min-width:100px;height:100px;padding:0;transition:none;position:relative;transform:none;box-shadow:inset 0 0 16px #061c1870}.festival-village .village-joystick:hover:not(:disabled){background:radial-gradient(circle,#305944 30%,#183a30 70%);transform:none}.village-joystick-cross{color:#78926a80;pointer-events:none;place-items:center;font-size:74px;line-height:1;display:grid;position:absolute;inset:0}.village-joystick-thumb{color:#19392c;pointer-events:none;will-change:transform;background:#e3ca92;border:2px solid #ffedb8;border-radius:50%;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 3px 7px #051f1a80}.village-touch-hint{flex:1;min-width:0}.village-touch-hint b{color:#ffe6ae;font-size:13px;display:block}.village-touch-hint span{color:#c4d8c4;margin-top:5px;font-size:11px;display:block}.village-touch-actions{flex-direction:column;flex-shrink:0;gap:7px;display:flex}.village-touch-actions button{min-width:100px;font-size:12px}.festival-home-footer>.festival-touch-controls,.adventure-controls>div{display:none}:is(.festival-world-wrap>.quest-dialogue-layer,.quest-scene-frame:has(>.village-touch-controls)>.quest-dialogue-layer){z-index:12;bottom:10px}}@media (width<=390px){.village-touch-controls{gap:9px;padding-left:9px;padding-right:9px}.village-touch-hint{display:none}.village-touch-actions{margin-left:auto}.village-touch-actions button{min-width:130px}}@media (height<=500px) and (pointer:coarse){.festival-world-scroll,.adventure-viewport{max-height:55svh}.village-touch-controls{min-height:94px;padding-top:5px;padding-bottom:5px}.village-touch-controls .village-joystick{width:82px;min-width:82px;height:82px}}@media (width<=520px){.village-touch-hint span{display:none}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--shimmer-angle:20deg}*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--font-weight-semibold:600;--radius-xs:.125rem;--radius-md:.375rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.top-\[50\%\]{top:50%}.right-4{right:calc(var(--spacing) * 4)}.left-1\/2,.left-\[50\%\]{left:50%}.z-50{z-index:50}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-2{height:calc(var(--spacing) * 2)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-full{height:100%}.w-full{width:100%}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.bg-background{background-color:var(--background)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-primary,.bg-primary\/20{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/20{background-color:color-mix(in oklab, var(--primary) 20%, transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.fill-primary{fill:var(--primary)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.text-center{text-align:center}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.underline-offset-4{text-underline-offset:4px}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}.paused{animation-play-state:paused}.running{animation-play-state:running}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}@media (width>=40rem){.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}}@media (width>=48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (prefers-color-scheme:dark){@media (hover:hover){.dark\:hover\:bg-accent\/50:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-accent\/50:hover{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}:root{--background:#f5f8ef;--foreground:#254b33;--card:#fff;--card-foreground:#254b33;--popover:#fff;--popover-foreground:#254b33;--primary:#226f50;--primary-foreground:#fff;--secondary:#e5eddc;--secondary-foreground:#254b33;--muted:#e5eddc;--muted-foreground:#687961;--accent:#edf3e5;--accent-foreground:#254b33;--border:#cfddc3;--input:#cfddc3;--ring:#226f50;--radius:.5rem}body{background:var(--background);color:var(--foreground);margin:0;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}button,a{touch-action:manipulation}button{cursor:pointer;transition:background .15s}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #e9b447}header{background:#fff;border-bottom:1px solid #dce5d8;justify-content:space-between;align-items:center;gap:25px;min-height:92px;padding:0 30px;display:flex}.brand{color:inherit;letter-spacing:1px;align-items:center;gap:13px;font:700 15px/1.5 monospace;text-decoration:none;display:flex}.brand b{color:#238557}.brand small{letter-spacing:2px;color:#7b897c;font:11px Arial;display:block}.brand-mark{color:#ffd579;background:#226f50;border:4px solid #184c37;padding:0 7px;font-size:28px;box-shadow:3px 3px #d3dfcb}nav{align-self:stretch;align-items:center;gap:28px;display:flex}nav button{color:#68786c;border-bottom:3px solid #0000;height:100%;font-size:14px}nav button.active{color:#287d55;border-color:#287d55;font-weight:700}.preview-tag{color:#627263;letter-spacing:1px;border:1px solid #dce5d8;border-radius:4px;padding:8px;font:11px monospace}.layout{grid-template-columns:250px minmax(0,1fr) 245px;max-width:1800px;min-height:calc(100vh - 142px);margin:auto;display:grid}.left-panel{background:#f0f5e9;border-right:1px solid #dce5d8;padding:28px 18px}.trainer-mini{align-items:center;gap:12px;display:flex}.trainer-mini b{font-size:14px}.trainer-mini small{color:#61715b;margin-top:6px;font-size:12px;display:block}.avatar{background:#dcebd6;border:2px solid #bacdb4;place-items:center;width:45px;height:45px;font:28px monospace;display:grid}.xp-label{color:#61715b;justify-content:space-between;margin:24px 0 9px;font:11px monospace;display:flex}.streak{color:#8b6220;align-items:center;gap:7px;margin:13px 0 30px;font-size:12px;display:flex}.left-panel h3,.right-panel>h3{letter-spacing:1.4px;color:#61715b;margin-bottom:15px;font:12px monospace}.region-row{text-align:left;border:1px solid #0000;border-radius:6px;align-items:center;gap:10px;width:100%;margin-bottom:5px;padding:12px 9px;font-size:14px;display:flex}.region-row.selected{color:#285d3d;background:#dfead5;border-color:#bfd1af}.region-row svg{flex-shrink:0;margin-left:auto}.region-row small{color:#687961;margin-top:6px;font-size:11px;display:block}.region-num{color:#5c7051;background:#e0e7d7;flex-shrink:0;place-items:center;width:26px;height:26px;font:12px monospace;display:grid}.selected .region-num{color:#fff;background:#367e50}.sidebar-bottom{color:#647561;border-top:1px solid #dce5d8;gap:14px;margin-top:25px;padding:20px 12px;font-size:13px;line-height:1.7;display:flex}.sidebar-bottom>span{color:#a18a41;font-size:30px}.main-panel{min-width:0;padding:29px 30px}.scene-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:23px;display:flex}.eyebrow{color:#537451;letter-spacing:1px;font:12px monospace}h1{letter-spacing:-1px;color:#264730;margin:10px 0;font-family:monospace;font-size:27px}p{line-height:1.6}.scene-title p{color:#61715b;margin:0;font-size:14px}.world-chip{color:#37734b;white-space:nowrap;background:#e7f0de;border:1px solid #d6e3c9;border-radius:4px;padding:8px;font:11px monospace}.overworld{aspect-ratio:3/2;isolation:isolate;background:#8ac667;border:5px solid #355642;border-radius:7px;position:relative;overflow:hidden;box-shadow:0 4px #cbd9bf}.map-art{object-fit:cover;width:100%;height:100%;image-rendering:pixelated;display:block}.map-location{color:#fff;letter-spacing:1px;background:#23452cde;border:1px solid #abc59b;max-width:80%;padding:8px 11px;font:11px monospace;position:absolute;top:12px;left:12px}.map-point{z-index:2;color:#334d2d;background:#fff8dcf2;border:2px solid #50633d;padding:5px 10px;font:11px monospace;position:absolute;transform:translate(-50%,-50%);box-shadow:2px 2px #284a2c}.map-point span{margin-top:3px;font:10px Arial;display:block}.lab{top:19%;left:21%}.gym{top:19%;left:55%}.library{top:70%;left:71%}.npc{z-index:3;filter:drop-shadow(2px 3px #284f3070);border-radius:3px;font-size:28px;position:absolute;transform:translate(-50%,-70%)}.npc small{color:#344e2a;background:#ffd766;border:2px solid #687240;place-items:center;width:19px;height:22px;font:700 14px monospace;display:grid;position:absolute;top:-8px;right:-10px}.player{z-index:4;pointer-events:none;filter:drop-shadow(2px 3px #244d3270);transition:left 80ms linear,top 80ms linear;position:absolute;transform:translate(-50%,-70%)}.player span{font-size:32px;display:block}.player.left span{transform:scaleX(-1)}.player small{color:#fff;text-align:center;background:#2b643f;border:1px solid #f8f5ac;padding:2px 4px;font:9px monospace;display:block}.map-hint{color:#fff;white-space:nowrap;background:#23452ccf;padding:6px 10px;font:11px monospace;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.control-strip{color:#64765b;justify-content:space-between;align-items:center;gap:12px;padding:17px 0;font-size:12px;display:flex}.control-strip button{color:#3f7047;align-items:center;gap:4px;display:flex}kbd{background:#fff;border:1px solid #cbd8c3;border-bottom-width:2px;border-radius:3px;margin:0 2px;padding:3px 5px;font:11px monospace;display:inline-block}.touch-controls{justify-content:center;gap:7px;margin-bottom:18px;display:flex}.touch-controls button{background:#e1ead7;border:1px solid #b8cbaa;border-radius:4px;padding:8px 11px;font-size:14px}.quest-card{background:#fff;border:1px solid #dbe5d4;border-radius:7px;align-items:center;gap:16px;margin-top:8px;padding:20px;display:flex}.quest-icon{color:#946820;background:#fff4d3;border:1px solid #e6d399;flex-shrink:0;place-items:center;width:40px;height:40px;font:26px monospace;display:grid}.quest-card h2{margin:6px 0;font-size:17px}.quest-card p{color:#65765c;margin:0;font-size:14px}.primary{color:#fff;white-space:nowrap;background:#277a50;border-bottom:3px solid #19573a;border-radius:5px;justify-content:center;align-items:center;gap:7px;padding:12px 16px;font-size:14px;display:inline-flex}.primary:hover{background:#19573a}.quest-card .primary{margin-left:auto}.right-panel{background:#fcfdf9;border-left:1px solid #dce5d8;padding:30px 22px}.badge-big{clip-path:polygon(20% 0,80% 0,100% 25%,100% 70%,50% 100%,0 70%,0 25%);color:#a4b599;background:#eef1e6;border:3px solid #d8dfcb;place-items:center;width:78px;height:86px;margin:28px auto 19px;font-size:43px;display:grid}.badge-big.earned{color:#3c7944;background:#ffd871}.right-panel h2{text-align:center;font:700 15px monospace}.right-panel>p{color:#64765b;text-align:center;font-size:13px}.checklist{margin:25px 0}.checklist p{color:#637859;align-items:center;gap:12px;margin:15px 0;font-size:13px;display:flex}.checklist span{border:1px solid #dce5d8;border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;font:10px monospace;display:grid}.tip{background:#eef3e6;border:1px solid #dce7ce;border-radius:6px;padding:17px}.tip>span{letter-spacing:1px;color:#5c7950;font:11px monospace}.tip p{color:#566e4d;font-size:14px;font-style:italic}.tip small{color:#637b55;font-size:12px}.next-world{border-top:1px solid #dce5d8;margin-top:28px;padding-top:20px}.next-world small{color:#6b805d;font:11px monospace}.next-world h3{color:#526f43;margin:12px 0;font:16px monospace}.next-world p{color:#6b805d;font-size:13px}footer{color:#64765b;background:#fff;border-top:1px solid #dce5d8;justify-content:space-between;padding:18px 30px;font-size:12px;display:flex}.error{color:#895726;background:#fff1e0;border:1px solid #dcac82;border-radius:5px;margin-bottom:18px;padding:14px;font-size:14px;line-height:1.6}.error button{margin-left:8px;text-decoration:underline}.world-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px;display:grid}.world-card{text-align:left;background:#fff;border:1px solid #c8d7bb;border-radius:6px;padding:23px}.world-card:hover{background:#edf3e5}.world-card .world-emblem{margin-bottom:20px;font:40px monospace;display:block}.world-card small{color:#657e55;font:11px monospace}.world-card h2{margin:9px 0;font:18px monospace}.world-card p{color:#65775c;margin:7px 0 15px;font-size:14px}.world-card>span:last-child{font-size:13px}.muted{color:#687961;font-size:14px}.empty{text-align:center;color:#617950;flex-direction:column;justify-content:center;align-items:center;gap:15px;min-height:350px;display:flex}.note-card{background:#fff;border:1px solid #d4dfcb;border-radius:6px;margin:18px 0;padding:22px}.note-card small{text-transform:uppercase;letter-spacing:1px;color:#5d7f4e;font:11px monospace}.note-card h2{margin:12px 0;font:20px monospace}.note-card p{color:#506b43;font-size:16px}.note-card button{color:#317148;align-items:center;gap:7px;font-size:14px;display:flex}.trainer-card{color:#f8f5d7;text-align:center;background:#183d2d;border:5px solid #e5be60;border-radius:8px;margin:24px 0;padding:32px}.large-avatar{font-size:75px;display:block}.trainer-card>small{letter-spacing:2px;font:11px monospace}.trainer-card h2{margin:20px;font:28px monospace}.stats{justify-content:space-around;gap:15px;margin:25px 0;display:flex}.stats b{color:#ffd87a;font:30px monospace;display:block}.stats small{letter-spacing:1px;font:11px monospace}.badge-row{flex-wrap:wrap;justify-content:center;gap:8px;margin:25px 0;display:flex}.badge-row span{color:#42694f;font-size:35px}.badge-row span.earned{color:#ffd87a}.trainer-card p{color:#b6ccaa;font-size:14px}.quest-dialog{max-height:90vh;overflow-y:auto;color:#294b31!important;background:#fcfdf6!important;border:3px solid #426344!important;max-width:750px!important;padding:30px!important;box-shadow:6px 6px #23452c70!important}.quest-dialog h2[data-slot=dialog-title]{font:700 23px monospace}.quest-dialog p[data-slot=dialog-description]{color:#667e57;font-size:14px}.dialogue{background:#f0f6e8;border:2px solid #c5d4b5;gap:18px;padding:20px;display:flex}.dialogue>span{font-size:48px}.dialogue p{cursor:pointer;min-height:130px;margin:0;font-size:16px;line-height:1.8}.cursor{animation:1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:0}}.dialog-actions{flex-wrap:wrap;align-items:center;gap:15px;margin-top:16px;display:flex}.dialog-actions button:not(.primary){align-items:center;gap:5px;font-size:14px;display:flex}.dialog-actions small{color:#6a7b5e;font-size:11px}.dialog-actions .primary{margin-left:auto}.architecture{gap:20px;margin:23px 0;display:flex}.slot{text-align:center;background:#eef4e5;border:2px dashed #b9cba6;flex:1;min-width:0;min-height:110px;padding:16px 8px;position:relative}.slot>span{color:#6c805e;margin-bottom:15px;font:10px monospace;display:block}.slot button{font-size:14px}.connector{position:absolute;top:45px;right:-23px}.piece-bank{flex-wrap:wrap;gap:8px;display:flex}.piece-bank button{background:#e1edda;border:1px solid #afc69c;border-radius:3px;padding:12px 15px;font-size:14px}.feedback{background:#edf7e2;border:1px solid #c5dcad;margin-top:15px;padding:20px;line-height:1.7}.feedback.wrong{color:#825623;background:#fff2dc;border-color:#e0c296}.feedback b{font:700 19px monospace}.feedback p{font-size:16px}.feedback .primary{margin:10px 10px 0 0}.battle-field{background:#eaf0df;border:2px solid #cbd8b7;align-items:center;gap:20px;padding:20px;display:flex}.battle-field>div{text-align:center;flex:1;min-width:0}.fighter{margin-bottom:15px;font-size:60px;display:block}.battle-field b{min-height:28px;margin-bottom:10px;font:11px monospace;display:block}.battle-field>div:last-child [data-slot=progress-indicator]{background:#b97846}.versus{color:#b48b3d;font:20px monospace}.battle-meta{justify-content:space-between;margin:20px 0;font:13px monospace;display:flex}.question{margin:12px 0 20px;font:700 21px/1.5 monospace}.answers{gap:10px;display:grid}.answers button{text-align:left;background:#fff;border:1px solid #bacaab;border-radius:4px;align-items:center;gap:15px;padding:15px;font-size:16px;display:flex}.answers button:hover{background:#e4efd9}.answers button span{color:#4c7540;background:#eaf1df;flex-shrink:0;place-items:center;width:26px;height:26px;font:13px monospace;display:grid}.result-stats{align-items:center;gap:15px;margin:20px 0;display:flex}.result-stats b{font-size:36px}.danger{color:#ae4527}.quest-dialog ol{padding-left:22px;font-size:16px;line-height:2}@media (width<=1250px){.layout{grid-template-columns:225px minmax(0,1fr)}.right-panel{display:none}.main-panel{padding:25px}nav{gap:16px}.quest-card{flex-wrap:wrap}.quest-card .primary{margin-left:56px}}@media (width<=780px){header{flex-wrap:wrap;gap:12px;padding:15px}.brand{font-size:12px}.preview-tag{font-size:9px}nav{order:3;justify-content:space-between;gap:8px;width:100%}nav button{padding:12px 0;font-size:13px}.layout{display:block}.left-panel{display:none}.main-panel{padding:20px 14px}h1{font-size:23px}.world-chip{display:none}.control-strip{flex-wrap:wrap;font-size:11px}footer{gap:20px;padding:18px;font-size:11px}.scene-title p{font-size:14px}.map-location{padding:5px;font-size:9px;top:6px;left:6px}.map-point{padding:4px 7px;font-size:9px}.map-point span{font-size:8px}.npc{font-size:22px}.player span{font-size:26px}.map-hint{font-size:9px;bottom:6px}.quest-dialog{padding:22px!important}.dialogue{gap:10px;padding:15px}.dialogue>span{font-size:30px}.architecture{gap:12px}.connector{right:-17px}.slot{padding:12px 5px}.slot button{font-size:12px}.world-grid{gap:10px}.world-card{padding:16px}.world-card h2{font-size:16px}.trainer-card{padding:22px 12px}.stats b{font-size:25px}.battle-field{gap:10px;padding:15px}.fighter{font-size:45px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.capstone-button{color:#386330;background:#e6f0dc;border:1px solid #adbf98;border-radius:5px;margin-top:16px;padding:12px 16px;font-size:14px}.capstone-workspace label{margin:18px 0;display:block}.capstone-workspace label b{font-size:16px;display:block}.capstone-workspace label small{color:#637a56;margin:7px 0;font-size:13px;line-height:1.6;display:block}.capstone-workspace textarea{resize:vertical;background:#fff;border:1px solid #b9cba6;border-radius:4px;width:100%;padding:12px;font:16px/1.6 Arial}.capstone-workspace [data-slot=tabs-list]{margin-top:10px}.hero-sprite{width:58px;height:68px;image-rendering:pixelated;vertical-align:middle;background-image:url(/system-design-quest/patchkeeper-sprites.webp);background-repeat:no-repeat;background-size:200% 200%;flex-shrink:0;display:inline-block}.face-down{background-position:0 0}.face-up{background-position:100% 0}.face-left{background-position:0 100%}.face-right{background-position:100% 100%}@keyframes hero-step{0%{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-3px)rotate(3deg)}}.player.patchkeeper{filter:none;transition:left 80ms linear,top 80ms linear;transform:translate(-50%,-80%)}.player.patchkeeper:before{content:"";z-index:-1;background:#163b3670;border-radius:50%;width:31px;height:8px;position:absolute;bottom:13px;left:50%;transform:translate(-50%)}.player.patchkeeper .hero-sprite{font-size:inherit;display:block;transform:none}.player.patchkeeper small{letter-spacing:.6px;background:#123b3ee8;border:1px solid #ffe49d;border-radius:3px;padding:3px 5px;font-size:8px}.avatar{overflow:hidden}.avatar .hero-sprite{width:42px;height:48px}.large-avatar .hero-sprite{width:150px;height:170px}.fighter .hero-sprite{width:90px;height:102px}.bit-companion{z-index:5;color:#81ffff;background:#183e48;border:2px solid #b7fff0;border-radius:8px;padding:4px;animation:2s ease-in-out infinite bit-hover;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 12px #64ffdc8a}.bit-companion:hover{background:#286575}@keyframes bit-hover{50%{transform:translate(-50%,-65%)}}.request-trail{pointer-events:none;z-index:1;width:42%;height:25%;position:absolute;top:34%;left:25%}.request-trail span{color:#8cffff;text-shadow:0 0 8px #0ff;font-size:13px;animation:3s linear infinite request-flow;position:absolute}.world-in-danger .request-trail span{color:#ffc26a;text-shadow:0 0 8px #ff8f35}.world-restored .overworld{box-shadow:0 0 20px #77f3ca}@keyframes request-flow{0%{opacity:0;top:0;left:0}15%{opacity:1}50%{top:40%;left:50%}85%{opacity:1}to{opacity:0;top:80%;left:100%}}.trace-discovery{z-index:2;color:#fff2a2;filter:drop-shadow(0 0 5px #cb8b18);animation:2s ease-in-out infinite trace-pulse;position:absolute}.trace-discovery:hover{color:#fff}@keyframes trace-pulse{50%{filter:drop-shadow(0 0 8px #ffdc67);transform:scale(1.2)}}.bit-dialogue{color:#dbf5e9;background:#173e43;border:1px solid #366b65;border-bottom:3px solid #0b2b2d;border-radius:6px;align-items:center;gap:15px;margin-top:18px;padding:16px;display:flex;box-shadow:0 3px #d2ddc6}.bit-dialogue>svg{color:#87eddf;flex-shrink:0}.bit-dialogue b{letter-spacing:1px;color:#8fe9da;font:11px monospace}.bit-dialogue p{margin:7px 0 0;font-size:14px;line-height:1.6}.bit-dialogue>button{color:#b3e5d7;margin-left:auto;font-size:22px}.quest-toast{color:#ffeba9;z-index:8;white-space:nowrap;background:#162f49f2;border:2px solid #ffd46c;padding:12px 18px;font:700 14px monospace;animation:.25s ease-out toast-in;position:absolute;top:25%;left:50%;transform:translate(-50%);box-shadow:0 0 20px #ffce6280}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,15px)}to{opacity:1;transform:translate(-50%)}}.story-nav{color:#387660;border-bottom:1px dashed #96bba5;padding-bottom:4px;font:12px monospace}.story-access .primary{color:#fff}.story-dialog{max-height:93vh;overflow-y:auto;color:#f4f3dc!important;background:#102b31!important;border:2px solid #d9b969!important;border-radius:12px!important;gap:0!important;width:calc(100% - 32px)!important;max-width:950px!important;padding:0!important;box-shadow:0 0 80px #3cffe122!important}.story-dialog>button{color:#fff;z-index:20;background:#11273799}.story-art{background:#172b3f;height:330px;position:relative;overflow:hidden}.story-art>img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated;display:block}.story-origin .story-art>img{filter:brightness(.45)saturate(.8)}.story-shade{background:linear-gradient(#0000 40%,#102b31 100%);position:absolute;inset:0}.origin-hero{filter:drop-shadow(0 0 18px #66f9e7aa);width:170px;height:190px;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.story-status{color:#ffe3a0;letter-spacing:1.1px;background:#142c39b0;border:1px solid #e2c37a80;max-width:80%;padding:8px 12px;font:11px/1.5 monospace;position:absolute;top:18px;left:20px}.story-copy{padding:16px 42px 36px}.story-copy .eyebrow{color:#7be7d6;font-size:12px;line-height:1.8}.story-copy h2{color:#fff0b8;margin:13px 0;font:700 30px/1.3 monospace}.story-copy>p{color:#c9e0d6;max-width:740px;font-size:17px;line-height:1.8}.story-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-top:26px;display:flex}.story-controls>span{color:#86aea3;font:12px monospace}.story-controls .primary{color:#173337;background:#d4ad55;border-color:#8f7235;min-width:155px}.story-controls button:not(.primary){color:#bed3cb;font-size:14px}.story-controls .primary:hover{background:#ffe096}.constellation{pointer-events:none;position:absolute;inset:0}.constellation>span{left:calc(12% + var(--star)*10%);top:calc(13% + mod(var(--star),3)*8%);color:#ffe4a0;text-shadow:0 0 15px #ffcf54;animation:2.5s ease-in-out infinite star-glow;animation-delay:calc(var(--star)*.2s);font-size:22px;position:absolute}@keyframes star-glow{50%{opacity:.5;transform:translateY(-7px)scale(.8)}}.offer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:22px 0;display:grid}.offer-envelope{color:var(--offer-color);background:linear-gradient(140deg,#21434d,#18323e);border:1px solid #567873;border-radius:7px;flex-direction:column;align-items:center;gap:14px;padding:23px 12px;display:flex;box-shadow:0 0 12px #153536}.offer-envelope b{font:17px monospace}.offer-envelope>span{color:#b9d1c9;font-size:12px}.offer-envelope.chosen{border-color:var(--offer-color);box-shadow:0 0 16px #71f0db3d}.offer-letter{color:#244441;background:#f9f4e4;border-left:5px solid #d6ae54;border-radius:5px;padding:25px;animation:.3s ease-out letter-open}.offer-letter .eyebrow{color:#88732f}.offer-letter h3{margin:10px 0;font:700 24px monospace}.offer-letter>b{font-size:15px}.offer-letter p{font-size:14px}.offer-pay strong{color:#286b57;font:700 35px monospace;display:block}.offer-pay>span{color:#6b7869;font-size:12px}.pay-parts{border-top:1px solid #d9d6bd;flex-wrap:wrap;gap:13px;margin-top:16px;padding-top:15px;font-size:12px;display:flex}.story-copy .fiction-label{color:#91aca4;margin-top:18px;font-size:12px;line-height:1.6}.portal-entered .story-art>img{animation:2s ease-out forwards portal-zoom}@keyframes portal-zoom{to{filter:brightness(1.2);transform:scale(1.2)}}@keyframes letter-open{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width<=1000px){.story-nav{display:none}}@media (width<=780px){.hero-sprite{width:45px;height:53px}.player.patchkeeper small{font-size:6px}.bit-companion{padding:2px}.bit-companion svg{width:18px;height:18px}.bit-dialogue{gap:10px;padding:12px}.bit-dialogue p{font-size:13px}.story-art{height:240px}.story-copy{padding:12px 22px 28px}.story-copy h2{font-size:24px}.story-copy>p{font-size:16px}.story-status{font-size:9px;top:12px;left:12px}.offer-grid{gap:8px}.offer-envelope{padding:18px 7px}.offer-envelope b{font-size:13px}.offer-envelope>span{font-size:11px}.offer-letter{padding:18px}.offer-pay strong{font-size:29px}.origin-hero{width:145px;height:163px}.quest-toast{padding:9px 11px;font-size:11px}.constellation>span{font-size:17px}}@media (prefers-reduced-motion:reduce){.portal-entered .story-art>img{filter:none;transform:none}}.story-finale .story-art>img{object-position:center 66%}.story-finale .story-art{height:380px}@media (width<=780px){.story-finale .story-art{height:260px}.story-nav{font-size:11px;display:inline-block}}.player.patchkeeper{transition:none;transform:translate(-50%,-94%)}.player.patchkeeper .hero-sprite{width:80px;height:88px}.player.patchkeeper small{z-index:2;font-size:9px;position:relative}.player.patchkeeper .hero-sprite{z-index:1;position:relative}.hero-sprite.is-walking{transform-origin:50% 92%;animation:.24s steps(2,end) infinite grounded-step}@keyframes grounded-step{0%{transform:rotate(-1.5deg)}50%{transform:rotate(1.5deg)}}.npc{filter:drop-shadow(0 4px 1px #1e41258a);font-size:40px;transform:translate(-50%,-94%)}.bit-companion{padding:5px}.bit-companion svg{width:27px;height:27px}.first-quest-guide{background:#e5f2ed;border:2px solid #3e8b75;border-left:6px solid #256b59;border-radius:6px;align-items:flex-start;gap:18px;margin-bottom:18px;padding:17px 20px;display:flex}.first-quest-guide h2{color:#224d42;margin:8px 0;font:700 19px monospace}.first-quest-guide p{color:#45675c;margin:0;font-size:14px;line-height:1.7}.first-quest-guide>button{white-space:nowrap;color:#507568;margin-left:auto;font-size:12px;text-decoration:underline}.guide-target{outline-offset:7px;background:#f8d65f55;border-radius:50%;outline:3px solid #fff2a6;box-shadow:0 0 18px #ffe784aa}.first-quest-guide .eyebrow{color:#376f5e}@media (width<=780px){.player.patchkeeper .hero-sprite{width:62px;height:69px}.player.patchkeeper small{font-size:7px}.player.patchkeeper:before{width:29px;bottom:14px}.npc{font-size:30px}.npc small{width:19px;height:21px;font-size:13px}.bit-companion svg{width:21px;height:21px}.first-quest-guide{gap:10px;padding:13px}.first-quest-guide h2{font-size:16px}.first-quest-guide p{font-size:13px}}.world-plane{width:160%;height:160%;transition:none;position:absolute}.overworld>.map-location{z-index:8}.overworld>.map-hint{z-index:8;text-align:center;white-space:normal;max-width:95%}.academy-map-point{color:#d7fdf1;z-index:3;background:#163b4bef;border:2px solid #b1f2da;border-radius:5px;flex-direction:column;align-items:center;gap:4px;padding:10px 13px;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 15px #8de1da80}.academy-map-point span{letter-spacing:.6px;font:10px monospace}.academy-map-point small{color:#d4e6a9;font-size:10px}.workshop-point{color:#ffe6aa;background:#4a392aef;border-color:#ffdc8c}.campaign-entry{background:#f5edcf;border:1px solid #dec985;border-radius:6px;justify-content:space-between;align-items:center;gap:15px;margin-top:17px;padding:18px;display:flex}.campaign-entry h2{margin:7px 0;font:700 17px monospace}.campaign-entry p{color:#6b6e4e;margin:0;font-size:13px;line-height:1.6}.campaign-entry .eyebrow{color:#8b7230}.chapter-adventure h1{font-size:26px}.chapter-adventure .muted{font-size:15px;line-height:1.8}.chapter-summary{color:#e2f5dc;background:#183e43;border-radius:8px;justify-content:space-around;gap:16px;margin:24px 0 16px;padding:23px 15px;display:flex}.chapter-summary b{color:#ffe49c;font:30px monospace;display:block}.chapter-summary span{margin-top:6px;font-size:12px;display:block}.chapter-adventure>[data-slot=tabs]{margin-top:25px}.chapter-grid{gap:12px;margin-top:18px;display:grid}.chapter-card{text-align:left;background:#fff;border:1px solid #bdcfae;border-radius:6px;align-items:center;gap:18px;padding:20px;display:flex}.chapter-card:hover{background:#edf5e5}.chapter-card:disabled{opacity:.6}.chapter-number{color:#386637;background:#e3efdb;border:2px solid #bbd1a7;border-radius:8px;flex-shrink:0;place-items:center;width:47px;height:47px;font:20px monospace;display:grid}.chapter-cleared .chapter-number{color:#fbe39b;background:#2d795b;border-color:#a1ce80}.chapter-card small{letter-spacing:.8px;color:#59734d;font:11px monospace}.chapter-card h2{margin:8px 0;font:700 19px monospace}.chapter-card p{color:#6c7b61;margin:0;font-size:13px}.curriculum-attribution{color:#6d7e62;margin:25px 0;font-size:12px;line-height:1.8}.curriculum-attribution a{text-decoration:underline}.chapter-heading{justify-content:space-between;gap:15px;margin-bottom:20px;display:flex}.chapter-heading>button{color:#467549;font-size:14px;text-decoration:underline}.chapter-stages{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.chapter-stages button{background:#edf4e6;border:1px solid #bbcca8;border-radius:4px;padding:9px 11px;font-size:13px}.chapter-stages button.active{color:#fff;background:#226d51;border-color:#226d51}.chapter-lesson,.chapter-build,.chapter-test{background:#fff;border:1px solid #cedbc0;border-radius:7px;margin-top:22px;padding:25px}.chapter-lesson h2,.chapter-build h2,.chapter-test h2{margin:12px 0 20px;font:700 22px/1.5 monospace}.chapter-lesson>p{color:#3e5840;font-size:18px;line-height:1.9}.learning-prompt{background:#eaf2df;border-left:4px solid #79a463;gap:12px;margin:25px 0;padding:15px;display:flex}.learning-prompt svg{color:#477a38;flex-shrink:0}.learning-prompt p{margin:0;font-size:14px;line-height:1.7}.system-board{background:#143f43;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:25px 0;padding:24px;display:grid}.system-node{color:#def2d9;text-align:center;background:#244e52;border:2px dashed #80a4a0;border-radius:6px;min-height:125px;padding:19px 13px;position:relative}.system-node small{color:#add8bf;margin-bottom:15px;font:11px monospace;display:block}.system-node button{font-size:15px;line-height:1.5}.system-node.filled{background:#2d675a;border-style:solid;border-color:#bfe2a2;box-shadow:0 0 12px #9beb8e30}.system-wire{color:#c1eaa5;position:absolute;top:45px;right:-26px}.system-node:nth-child(2) .system-wire{top:auto;bottom:-28px;right:50%;transform:rotate(90deg)}.system-node:nth-child(3){grid-area:2/2}.system-node:nth-child(4){grid-area:2/1}.system-node:nth-child(3) .system-wire{left:-27px;right:auto;transform:rotate(180deg)}.capacity-answer{flex-direction:column;gap:10px;margin:25px 0;font-size:15px;display:flex}.capacity-answer input{color:#34542e;background:#f8fcf2;border:2px solid #a8bf96;border-radius:5px;max-width:300px;padding:15px;font:24px monospace}.design-review-rubric{background:#eef5e5;border-left:4px solid #88ac69;margin:22px 0;padding:15px 18px;font-size:14px}.design-review-rubric p{margin:8px 0 0;font-size:13px;line-height:1.8}.proposal-label{font-size:15px;font-weight:600;display:block}.proposal-label textarea{resize:vertical;background:#fafff5;border:1px solid #aabe98;border-radius:5px;width:100%;margin-top:12px;padding:15px;font:400 16px/1.8 Arial;display:block}.xp-reward{color:#8c661b;align-items:center;gap:5px;margin-right:16px;font:700 19px monospace;display:inline-flex}.chapter-reward{z-index:100;color:#ffe59d;text-align:center;background:#164538f2;border:2px solid #ffe394;border-radius:9px;align-items:center;gap:12px;max-width:90vw;padding:16px 24px;font:700 17px monospace;display:flex;position:fixed;top:110px;left:50%;transform:translate(-50%);box-shadow:0 0 30px #b6e88065}.chapter-reward>div{pointer-events:none;position:absolute;inset:0;overflow:visible}.chapter-reward i{width:6px;height:6px;animation:1.1s ease-out both reward-burst;animation-delay:calc(var(--piece)*25ms);--angle:calc(var(--piece)*30deg);background:#fbd66e;position:absolute;top:50%;left:50%}@keyframes reward-burst{0%{opacity:1;transform:rotate(var(--angle)) translateX(10px)}to{opacity:0;transform:rotate(var(--angle)) translateX(110px) rotate(120deg)}}@media (width<=1450px){header .story-nav{display:none}nav{gap:16px}}@media (width<=780px){nav{flex-wrap:wrap;justify-content:flex-start;gap:9px}nav button{padding:9px 0;font-size:12px}.campaign-entry{flex-wrap:wrap;padding:15px}.campaign-entry .primary{width:100%}.academy-map-point{padding:7px}.academy-map-point span,.academy-map-point small{font-size:8px}.chapter-summary{gap:12px;padding:20px 10px}.chapter-summary b{font-size:24px}.chapter-summary span{font-size:10px}.chapter-card{gap:13px;padding:16px}.chapter-card h2{font-size:16px}.chapter-card small{font-size:10px}.chapter-card p{font-size:12px}.chapter-lesson,.chapter-build,.chapter-test{padding:18px}.chapter-lesson>p{font-size:16px}.system-board{gap:24px;padding:18px}.system-node{min-height:115px;padding:14px 9px}.system-node button{font-size:13px}.chapter-reward{padding:13px 16px;font-size:13px;top:130px}}.concept-dictionary{border-top:1px solid #d7e3cb;margin-top:25px;padding-top:20px}.concept-dictionary details{background:#f5faef;border:1px solid #c8dabc;border-radius:5px;margin-top:10px;padding:14px 16px}.concept-dictionary summary{cursor:pointer;color:#366c48;font-size:16px;font-weight:600}.concept-dictionary p{color:#49633e;margin:13px 0 0;font-size:15px;line-height:1.8}.hero-sprite{--walk-row:0%;background-image:url(/system-design-quest/patchkeeper-walk.webp);background-position:0 0;background-size:400% 400%;animation:none;transform:none!important}.hero-sprite.face-down{--walk-row:0%;background-position:0 0}.hero-sprite.face-left{--walk-row:33.3333%;background-position:0 33.3333%}.hero-sprite.face-right{--walk-row:66.6667%;background-position:0 66.6667%}.hero-sprite.face-up{--walk-row:100%;background-position:0 100%}.hero-sprite.is-walking{animation:.52s step-end infinite boots-walk}@keyframes boots-walk{0%{background-position:33.3333% var(--walk-row)}25%{background-position:66.6667% var(--walk-row)}50%{background-position:100% var(--walk-row)}75%,to{background-position:0 var(--walk-row)}}.player.patchkeeper{filter:none;width:60px;height:60px;transition:none;transform:translate(-50%,-96%)}.player.patchkeeper .hero-sprite{width:60px;height:60px;transform:none!important}.player.patchkeeper:before{z-index:0;background:#16332c66;width:22px;height:5px;bottom:1px}.player.patchkeeper small{white-space:nowrap;padding:2px 4px;font-size:7px;position:absolute;top:100%;left:50%;transform:translate(-50%)}@media (width<=780px){.player.patchkeeper,.player.patchkeeper .hero-sprite{width:48px;height:48px}.player.patchkeeper:before{width:18px;bottom:1px}.player.patchkeeper small{font-size:6px}}@media (prefers-reduced-motion:reduce){.chapter-reward i{animation:none}}.resume-chapter{background:#e9f4e1;border:2px solid #9cbd87;border-radius:8px;justify-content:space-between;align-items:center;gap:20px;margin:20px 0;padding:20px;display:flex}.resume-chapter h2{margin:10px 0;font:700 20px monospace}.resume-chapter p{color:#546a49;margin:0;font-size:14px}.draft-status{color:#587547;margin:12px 0;font:13px monospace}.touch-controls button{touch-action:none;-webkit-user-select:none;user-select:none;min-width:46px;min-height:46px}.chapter-stages button[aria-current=step]{box-shadow:0 0 0 2px #d4e8bd}.chapter-card p{line-height:1.7}@media (width<=780px){.resume-chapter{flex-direction:column;align-items:stretch;padding:16px}.chapter-adventure [data-slot=tabs-list]{flex-wrap:wrap;width:100%;height:auto}.chapter-adventure [data-slot=tabs-trigger]{white-space:normal;padding:10px;font-size:12px}}@media (prefers-reduced-motion:reduce){.request-trail span,.bit-companion,.trace-discovery,.constellation span,.quest-toast,.story-dialog *{transition:none!important;animation:none!important}}.first-rescue{color:#e2f3d9;background:linear-gradient(120deg,#123f44,#226754);border:2px solid #74a997;border-radius:8px;justify-content:space-between;align-items:center;gap:25px;margin:22px 0;padding:24px;display:flex}.first-rescue h2{color:#ffe39a;margin:12px 0;font:700 23px monospace}.first-rescue p{max-width:650px;font-size:14px}.first-rescue .eyebrow{color:#bbdbca}.first-rescue .primary{color:#25483a;background:#f0d481;flex-shrink:0}.lab-back{margin-bottom:20px;font-size:14px;text-decoration:underline}.system-lab{background:#f8fcf4;border:2px solid #6a9a86;border-radius:12px;margin:25px 0;overflow:hidden;box-shadow:0 5px #ccd9c6}.lab-title{color:#e1f5dc;background:#163f44;justify-content:space-between;gap:20px;padding:24px;display:flex}.lab-title .eyebrow{color:#b8d9c8;align-items:center;gap:7px;display:flex}.lab-title h2{color:#ffe39b;margin:12px 0;font:700 27px monospace}.lab-title p{margin:0;font-size:14px}.lab-tools{flex-wrap:wrap;place-content:flex-start flex-end;gap:8px;max-width:340px;display:flex}.lab-tools button{color:#e4f1d9;background:#265357;border-color:#73968b;height:36px;font-size:12px}.lab-guide{background:#eaf3dd;border-bottom:1px solid #c9dabc;gap:15px;padding:20px 24px;display:flex}.lab-guide>svg{color:#ae8328;flex-shrink:0}.lab-guide b{color:#43683b;font:700 14px monospace}.lab-guide p,.lab-guide li{font-size:14px;line-height:1.8}.lab-guide ol{margin:12px 0;padding-left:20px}.lab-guide button{margin-top:5px}.lab-rounds{flex-wrap:wrap;gap:8px;padding:18px 24px 0;display:flex}.lab-rounds button{white-space:normal;text-align:left;flex:1;height:auto;min-height:42px;font-size:12px}.lab-rounds button span{background:#dceaca;border-radius:50%;flex-shrink:0;place-items:center;width:23px;height:23px;display:grid}.lab-rounds button[aria-current=step]{color:#fff;background:#276d54;border-color:#276d54}.lab-rounds button[aria-current=step] span{color:#346042;background:#eff3d4}.lab-target{color:#46613c;margin:10px 0 0;padding:12px 24px;font-size:14px}.lab-target b{letter-spacing:1px;color:#8a6d28;margin-bottom:6px;font:11px monospace;display:block}.lab-workbench{grid-template-columns:235px minmax(0,1fr);gap:20px;padding:18px 24px 24px;display:grid}.lab-components{background:#fff;border:1px solid #cbdcbf;border-radius:8px;padding:18px}.lab-components h3{margin:0 0 17px;font:700 16px monospace}.lab-components>label{border-top:1px solid #e0e8d8;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;font-size:13px;line-height:1.5;display:flex}.lab-counter{flex-shrink:0;align-items:center;gap:9px;display:flex}.lab-counter button{width:28px;height:30px;padding:0;font:19px monospace}.lab-counter output{text-align:center;min-width:18px;font:700 18px monospace}.lab-components [data-slot=checkbox]{flex-shrink:0;width:23px;height:23px}.lab-model-note{color:#75826e;font-size:11px;line-height:1.7}.lab-assumptions{color:#536c49;margin-top:18px;font-size:12px}.lab-assumptions summary{cursor:pointer;text-decoration:underline}.lab-assumptions p{line-height:1.8}.lab-stage{min-width:0}.lab-incident{color:#806137;background:#f7edd5;border:1px solid #d6c59f;border-radius:6px;align-items:center;gap:9px;padding:12px 15px;font-size:13px;display:flex}.live-pipeline{background:#122f37;border:1px solid #355a5e;border-radius:8px;align-items:stretch;gap:20px;min-height:175px;margin:16px 0;padding:35px 14px;display:flex}.pipeline-node{color:#d8ebdb;background:#24474c;border:1px solid #527575;border-radius:6px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;min-width:0;padding:12px 6px;transition:border .15s,box-shadow .15s;display:flex;position:relative}.pipeline-node>span{color:#a6d8c2;font:28px monospace}.pipeline-node b{text-align:center;overflow-wrap:anywhere;font:11px/1.6 monospace}.pipeline-wire{z-index:2;background:#658a81;width:22px;height:2px;position:absolute;top:50%;left:100%}.pipeline-wire i{opacity:0;background:#ffe38e;border-radius:50%;width:7px;height:7px;position:absolute;top:-3px;left:0}.pipeline-running .pipeline-wire i{animation:.75s linear infinite request-hop}.pipeline-node.node-tracing{border-color:#ffe694;box-shadow:0 0 18px #f0de7055}.lab-restored .pipeline-node{border-color:#88be84}.lab-prediction{font-size:13px;font-weight:700;line-height:1.7;display:block}.lab-prediction input{background:#fff;height:42px;margin:9px 0 14px;font-weight:400;display:block}.system-lab .primary{color:#fff;background:#267451;border-color:#267451;min-height:42px}.lab-run{width:100%}.lab-tracing{font:12px/1.7 monospace}.lab-evidence{background:#fff6ef;border:2px solid #d3a586;border-radius:8px;margin-top:18px;padding:18px}.lab-evidence.passed{background:#eef8e5;border-color:#8cb67f}.lab-evidence h3{letter-spacing:1px;margin:0 0 17px;font:700 14px monospace}.lab-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.lab-metrics>div{background:#ffffffa8;border:1px solid #d7decf;border-radius:6px;flex-direction:column;padding:12px;display:flex}.lab-metrics strong{color:#28573f;overflow-wrap:anywhere;font:700 25px monospace}.lab-metrics span{color:#64745b;margin-top:4px;font-size:10px}.lab-metrics small{margin-top:8px;font-size:11px;line-height:1.6}.lab-evidence ul{padding-left:18px}.lab-evidence p,.lab-evidence li{font-size:13px;line-height:1.8}.lab-prediction-review{border-top:1px solid #d9dfce;padding-top:12px}.lab-defense{background:#fff;border:1px solid #bed4ad;border-radius:8px;margin:0 24px 24px;padding:20px}.lab-defense h3{margin:0 0 12px;font:700 20px monospace}.lab-defense p{font-size:14px}.lab-defense textarea{background:#fafff5;font-size:15px;line-height:1.8}.lab-defense>span{color:#64785a;margin:12px 0;font:12px/1.8 monospace;display:block}.lab-reward{color:#35602b;background:#dcefcf;flex-wrap:wrap;align-items:center;gap:12px;padding:20px 24px;font:700 15px monospace;display:flex}.lab-reward .primary{margin-left:auto}.lab-complete{color:#ffdf96;background:#173f44;align-items:center;gap:15px;padding:24px;display:flex}.lab-complete b{font:700 16px monospace}.lab-complete p{color:#c8dfce;margin-bottom:0;font-size:13px}.lab-share-message{overflow-wrap:anywhere;color:#4d7549;margin:18px 24px;font-size:13px;line-height:1.8}.duo-brief{color:#654a7e;background:#eee7fa;border-bottom:1px solid #cabcda;padding:20px 24px;font-size:14px}.duo-brief p{font-size:13px}.system-lab .error{margin:18px 24px}@keyframes request-hop{0%{opacity:1;transform:translate(0)}to{opacity:1;transform:translate(22px)}}@media (width<=1100px){.lab-workbench{grid-template-columns:1fr}.lab-components>label{max-width:100%}.lab-tools{max-width:260px}.lab-title{flex-wrap:wrap}.lab-tools{justify-content:flex-start;max-width:none}.first-rescue{flex-direction:column;align-items:stretch}.live-pipeline{gap:14px}.pipeline-wire{width:16px}}@media (width<=780px){.system-lab{margin:20px 0}.lab-title,.lab-guide,.duo-brief{padding:18px}.lab-title h2{font-size:23px}.lab-workbench{gap:16px;padding:16px}.lab-rounds{padding:15px 16px 0}.lab-rounds button{flex-basis:100%}.lab-target{padding:12px 16px}.live-pipeline{flex-direction:column;gap:20px;padding:20px}.pipeline-node{flex-direction:row;justify-content:flex-start;gap:15px;min-height:60px;padding:12px}.pipeline-node b{text-align:left;font-size:12px}.pipeline-wire{width:2px;height:22px;top:100%;left:50%}.pipeline-wire i{top:0;left:-3px}.pipeline-running .pipeline-wire i{animation:.75s linear infinite request-hop-down}.lab-metrics{gap:5px}.lab-metrics>div{padding:9px}.lab-metrics strong{font-size:20px}.lab-defense{margin:0 16px 16px;padding:16px}.lab-reward,.lab-complete{padding:18px}.lab-reward .primary{width:100%;margin:0}.first-rescue h2{font-size:20px}}@keyframes request-hop-down{0%{opacity:1;transform:translateY(0)}to{opacity:1;transform:translateY(22px)}}@media (prefers-reduced-motion:reduce){.pipeline-wire i{animation:none!important}.pipeline-running .pipeline-wire i{opacity:1}.pipeline-node{transition:none}}.mentor-sprite,.bit-sprite{image-rendering:pixelated;background-image:url(/system-design-quest/mentor-atlas.webp);background-repeat:no-repeat;background-size:200% 200%;display:block}.mentor-sprite{width:48px;height:48px}.mentor-0{background-position:0 0}.mentor-1{background-position:100% 0}.mentor-2{background-position:0 100%}.npc{font-size:inherit;filter:drop-shadow(0 2px 1px #26422b60);transform:translate(-50%,-100%)}.npc small{width:18px;height:20px;font-size:12px;top:-4px;right:-4px}.bit-sprite{background-position:100% 100%;width:42px;height:42px}.bit-companion:has(.bit-sprite){box-shadow:none;filter:drop-shadow(0 2px 1px #26422b60);background:0 0;border:none;padding:0;animation:none}@media (width<=780px){.mentor-sprite{width:38px;height:38px}.bit-sprite{width:34px;height:34px}.npc small{width:15px;height:17px;font-size:10px}}.player.patchkeeper{transform:translate(-50%,-90%)}.player.patchkeeper:before{bottom:6px}.player.patchkeeper.up{transform:translate(-50%,-85%)}.player.patchkeeper.up:before{bottom:9px}@media (width<=780px){.player.patchkeeper:before{bottom:5px}.player.patchkeeper.up:before{bottom:7px}}.system-lab{container-type:inline-size}@container (width<=800px){.lab-workbench{grid-template-columns:1fr}.lab-title{flex-wrap:wrap}.lab-tools{justify-content:flex-start;max-width:none}}@container (width<=450px){.live-pipeline{flex-direction:column;gap:20px;padding:20px}.pipeline-node{flex-direction:row;justify-content:flex-start;gap:15px;min-height:60px;padding:12px}.pipeline-node b{text-align:left;font-size:12px}.pipeline-wire{width:2px;height:22px;top:100%;left:50%}.pipeline-wire i{top:0;left:-3px}.pipeline-running .pipeline-wire i{animation:.75s linear infinite request-hop-down}}.chapter-scene{--scene-accent:#c6ddaa;border:2px solid var(--scene-accent);background:#16383c;border-radius:10px;margin:20px 0 28px;overflow:hidden;box-shadow:0 5px #cad8c1}.chapter-scene-heading{color:#e1f0dd;justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;display:flex}.chapter-scene-heading .eyebrow{color:var(--scene-accent)}.chapter-scene-heading h2{color:#fff0c2;margin:10px 0;font:700 24px monospace}.chapter-scene-heading p{margin:0;font-size:13px;line-height:1.8}.chapter-scene-heading button{color:#e6f2d9;border-color:var(--scene-accent);background:#254b4d;flex-shrink:0;font-size:12px}.chapter-district-map{aspect-ratio:3/2;max-height:380px;position:relative;overflow:hidden}.chapter-district-map>img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated}.district-shade{background:#082e3b59;position:absolute;inset:0}.chapter-district-map>svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.district-edge{stroke:#c2f0c0;stroke-width:.6px;stroke-dasharray:2 1;filter:drop-shadow(0 1px 1px #083b34);vector-effect:non-scaling-stroke;stroke-width:3px}.district-edge.broken{stroke:#ff8064;stroke-dasharray:5 3}.district-node{border:2px solid var(--scene-accent);color:#edf9df;text-align:left;z-index:2;background:#173e46eb;border-radius:8px;align-items:center;gap:8px;max-width:145px;padding:10px;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 3px #0c293bc7}.district-node>span{background:var(--scene-accent);color:#28443d;border-radius:50%;flex-shrink:0;place-items:center;width:25px;height:25px;font:700 13px monospace;display:grid}.district-node b{font:700 12px/1.5 monospace}.district-fault{background:#753a35eb;border-color:#ff967b}.district-fault>span{background:#ffae86}.district-inspected{outline-offset:4px;outline:3px solid #fff0b6}.district-evidence{color:#d8eed5;background:#204a48;gap:14px;padding:18px 22px;display:flex}.district-evidence>svg{color:var(--scene-accent);flex-shrink:0}.district-evidence b{font:700 14px monospace}.district-evidence p{margin:7px 0 0;font-size:14px;line-height:1.8}.district-actions{background:#e6f0dc;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.district-actions>span{color:#53704d;font-size:12px;line-height:1.7}.district-actions button{flex-shrink:0}.chapter-thumbnail{object-fit:cover;width:100px;height:75px;image-rendering:pixelated;border:2px solid #afc598;border-radius:6px;flex-shrink:0}.chapter-setting-name{color:#788953;margin-bottom:9px;font:12px monospace;display:block}.world-thumbnail{aspect-ratio:3/2;object-fit:cover;width:100%;image-rendering:pixelated;border:1px solid #c1d1b3;border-radius:6px;margin-bottom:12px}.world-card.locked{cursor:pointer}.lab-themed{background-position:50% 45%;background-size:cover}.discovery-0,.discovery-1{background:#d9f0b845;border:1px solid #dff5ab;border-radius:50%;padding:5px;box-shadow:0 0 15px #d5f89680}.request-trail{pointer-events:none}@media (width<=780px){.chapter-scene-heading{flex-wrap:wrap;padding:16px}.chapter-scene-heading h2{font-size:20px}.chapter-district-map{min-height:260px}.district-node{gap:5px;max-width:98px;padding:7px}.district-node b{font-size:10px}.district-node>span{width:19px;height:19px;font-size:10px}.district-evidence{padding:16px}.district-actions{flex-direction:column;align-items:stretch;padding:16px}.chapter-thumbnail{width:66px;height:59px}.chapter-card{gap:10px}.chapter-card .chapter-number{width:32px;height:32px;font-size:14px}.chapter-setting-name{font-size:10px}}@media (prefers-reduced-motion:reduce){.district-edge{animation:none}}.learning-route{background:#f0f7e7;border:1px solid #bacfa9;border-radius:8px;margin:22px 0;padding:20px}.learning-route h2{margin:10px 0 18px;font:700 18px/1.5 monospace}.learning-route ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:0;padding:0;list-style:none;display:grid}.learning-route li{align-items:flex-start;gap:9px;display:flex}.learning-route li>span,.flow-step-number{color:#446d3a;background:#d8e8c7;border-radius:50%;flex-shrink:0;place-items:center;width:25px;height:25px;font:700 12px monospace;display:inline-grid}.learning-route li b{font-size:14px;display:block}.learning-route li small{color:#637859;margin-top:5px;font-size:12px;line-height:1.6;display:block}.learning-route>p{color:#5d7254;margin:18px 0 0;font-size:13px;line-height:1.8}.current-learning-step{background:#e3f2da;border:2px solid #8fb77d;border-left:6px solid #367649;border-radius:7px;gap:15px;margin:22px 0;padding:20px;display:flex}.current-learning-step>svg{color:#42733c;flex-shrink:0}.current-learning-step h2{margin:10px 0;font:700 21px monospace}.current-learning-step p{margin:0;font-size:15px;line-height:1.8}.current-learning-step small{color:#547149;align-items:center;gap:6px;margin-top:12px;font-size:12px;display:flex}.optional-practice{background:#f4f8ef;border:1px solid #d0ddc5;border-radius:6px;margin:16px 0;padding:12px 16px}.optional-practice>summary{cursor:pointer;color:#6b7d5f;font-size:13px;font-weight:600;line-height:1.7}.optional-practice>p{color:#677c59;font-size:13px}.optional-practice .chapter-scene,.optional-practice .system-lab{margin:16px 0 4px}.chapter-stages button{align-items:center;gap:6px;display:flex}.chapter-stages button.active .flow-step-number{color:#376141;background:#edf5dc}.flow-step-number{width:21px;height:21px;font-size:11px}.main-quest-link{border-top:1px solid #d3dfc9;padding:16px 0 20px}.main-quest-link h3{margin:0 0 8px}.main-quest-link p{color:#607758;font-size:13px}.main-quest-link .primary{width:100%;padding:12px;font-size:12px}.practice-worlds>summary{color:#65795c;cursor:pointer;padding:10px 0 17px;font:12px/1.6 monospace}.sidebar-learning-path{margin:25px 0;padding:0;list-style:none}.sidebar-learning-path li{align-items:center;gap:10px;margin:15px 0;font-size:13px;line-height:1.6;display:flex}.sidebar-learning-path span{color:#477042;background:#d9e8c9;border-radius:50%;flex-shrink:0;place-items:center;width:23px;height:23px;font:12px monospace;display:grid}.world-practice-flow{background:#eef5e6;border:1px solid #c2d2b4;border-radius:7px;align-items:center;gap:20px;margin-bottom:20px;padding:16px 20px;display:flex}.world-practice-flow p{margin:8px 0 0;font-size:13px;line-height:1.8}.world-practice-flow button{color:#417147;flex-shrink:0;font-size:12px;text-decoration:underline}@media (width<=780px){.learning-route{padding:16px}.learning-route ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.learning-route h2{font-size:16px}.current-learning-step{gap:10px;padding:16px}.current-learning-step p{font-size:14px}.current-learning-step .eyebrow{font-size:10px}.current-learning-step h2{font-size:19px}.world-practice-flow{flex-direction:column;align-items:flex-start;padding:15px}.optional-practice{padding:12px}}.rescue-scene{color:#dfedda;background:#143740;border:2px solid #b09668;border-radius:10px;margin:20px 24px;overflow:hidden}.rescue-scene-copy{padding:18px 20px}.rescue-scene-copy .eyebrow{color:#d9ba79}.rescue-scene-copy h3{color:#ffe3a1;margin:10px 0;font:700 24px monospace}.rescue-scene-copy p{margin:0;font-size:15px;line-height:1.8}.rescue-town{aspect-ratio:3/2;isolation:isolate;max-height:340px;position:relative;overflow:hidden}.rescue-town>img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated;filter:brightness(.63)saturate(.65);transition:filter .8s}.rescue-restored .rescue-town>img{filter:brightness(1.12)saturate(1.15)}.rescue-night{pointer-events:none;background:#17303e35;transition:background .8s;position:absolute;inset:0}.rescue-restored .rescue-night{background:#a8f09d12}.rescue-town>svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.rescue-route{fill:none;stroke:#ffc374;stroke-width:3px;stroke-dasharray:6 5;vector-effect:non-scaling-stroke;animation:1s linear infinite rescue-route-flow}.rescue-restored .rescue-route{stroke:#b2f294}.rescue-route.route-offline{stroke:#fa805f;stroke-dasharray:3 7;opacity:.4;animation:none}.rescue-request-stream{width:20px;height:10px;position:absolute;top:80%;left:48%}.rescue-request-stream i{width:7px;height:7px;animation:1.8s linear infinite rescue-request-rise;animation-delay:calc(var(--request)*.14s);background:#f6bc70;border-radius:2px;position:absolute}.rescue-restored .rescue-request-stream i{background:#bdf3a9}.rescue-unit-row{z-index:2;justify-content:space-between;gap:6px;display:flex;position:absolute;top:18%;left:10%;right:10%}.rescue-unit{color:#ffe0a4;background:#245059ed;border:2px solid #d5ae69;border-radius:7px;flex-direction:column;align-items:center;gap:3px;width:55px;min-width:0;padding:8px 4px;display:flex;position:relative;box-shadow:0 3px #132932b3}.rescue-unit>span{font:24px monospace}.rescue-unit b{font:11px monospace}.rescue-unit small{letter-spacing:.4px;font:7px monospace}.rescue-unit.unit-overloaded{background:#783b35;border-color:#f09a73;animation:1s ease-in-out infinite overload-pulse}.rescue-unit.unit-offline{color:#a8b3b3;opacity:.8;background:#2b3239;border-color:#78858a}.rescue-unit.unit-healthy{color:#e5ffc5;background:#236445;border-color:#b3ec92}.rescue-light-row{pointer-events:none;justify-content:space-around;display:flex;position:absolute;bottom:13%;left:16%;right:16%}.rescue-light-row span{background:#526464;border-radius:50%;width:12px;height:12px;transition:background .7s,box-shadow .7s}.rescue-restored .rescue-light-row span{background:#ffefac;box-shadow:0 0 18px 8px #ffdf778a}.rescue-live-status{color:#ffe7b3;text-align:center;background:#163238ed;border:1px solid #92b5a2;border-radius:4px;width:max-content;max-width:95%;padding:9px 12px;font:11px monospace;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.rescue-live-status.restored-label{color:#e9ffd5;background:#28683aeb;border-color:#cbec99}.rescue-citizen{background:#24494b;border-top:1px solid #507069;padding:17px 20px}.rescue-citizen b{color:#d8e8b4;font:700 13px monospace}.rescue-citizen p{margin:7px 0 0;font-size:14px;line-height:1.8}.rescue-inspection{color:#536045;background:#eee7cc;margin:0;padding:14px 20px;font-size:14px;line-height:1.8}.rescue-parcels{letter-spacing:8px;color:#ffca81;font:25px monospace;transition:opacity 1s,transform 1s;position:absolute;bottom:26%;left:15%}.rescue-parcels.parcels-cleared{opacity:0;transform:translate(100px)}.rescue-receipts{color:#ffe2b6;background:#673d3b;border:2px solid #e6aa72;border-radius:6px;padding:12px;font:700 16px monospace;position:absolute;bottom:29%;left:50%;transform:translate(-50%)}.rescue-receipts.receipts-safe{background:#2c6744;border-color:#c2eaa3}.repair-badges{background:#1a443a;flex-wrap:wrap;gap:8px;padding:16px 20px;display:flex}.repair-badges span{color:#e8f0ae;border:1px solid #a7c981;border-radius:30px;padding:6px 10px;font:11px monospace}.rescue-scene>button{color:#f2efc5;background:#37595a;border-color:#b1c49a;margin:16px 20px}.bit-rescue-dialogue{background:#faf0d7;border:1px solid #d1bd8c;border-radius:8px;gap:15px;margin:20px 24px;padding:18px 24px;display:flex}.bit-rescue-dialogue>.bit-sprite{flex-shrink:0;width:50px;height:50px}.bit-rescue-dialogue b{color:#90712f;font:700 12px monospace}.bit-rescue-dialogue p{color:#5d6549;margin:9px 0 13px;font-size:15px;line-height:1.8}.bit-rescue-dialogue button{margin-bottom:8px;margin-right:8px;font-size:12px}.bit-rescue-dialogue small{color:#7a7953;font-size:12px;line-height:1.8;display:block}.rescue-twist{color:#835135;background:#f3e0ca;border-top:1px solid #d8b894;border-bottom:1px solid #d8b894;align-items:center;gap:15px;padding:18px 24px;display:flex}.rescue-twist b{font:700 13px monospace}.rescue-twist p{margin:8px 0 0;font-size:14px;line-height:1.8}.rescue-twist>svg{flex-shrink:0}.rescue-twist button{flex-shrink:0;margin-left:auto}.rescue-mini-lesson{background:#eaf1dc;border-left:4px solid #83a768;border-radius:4px;margin:18px 0;padding:14px}.rescue-mini-lesson summary{cursor:pointer;color:#496637;font-size:14px;font-weight:700}.rescue-mini-lesson p{margin-bottom:0}.repair-comparison{background:#eef1f6;border:1px solid #b5c5d1;border-radius:8px;margin:20px 24px;padding:20px}.repair-comparison h3{margin:0 0 12px;font:700 20px monospace}.repair-comparison p{font-size:14px;line-height:1.8}.comparison-results{grid-template-columns:1fr 1fr;gap:15px;margin:17px 0;display:grid}.comparison-results>div{background:#fff;border:1px solid #c9d4dc;border-radius:6px;flex-direction:column;gap:9px;padding:17px;display:flex}.comparison-results b{color:#49677a;font-size:14px}.comparison-results span{color:#427451;font:13px monospace}.comparison-results small{font-size:12px;line-height:1.6}.repair-comparison>button{margin-bottom:8px;margin-right:10px}.bluffs-rescue-entry{background:#e8f5f4;border:2px solid #729fab;border-radius:8px;justify-content:space-between;align-items:center;gap:20px;margin:20px 0;padding:22px;display:flex}.bluffs-rescue-entry h2{margin:12px 0;font:700 23px monospace}.bluffs-rescue-entry p{margin:0;font-size:14px;line-height:1.8}.bluffs-rescue-entry .primary{flex-shrink:0}.bluffs-in-danger .map-art{filter:brightness(.68)saturate(.7)}.bluffs-rescued .map-art{filter:brightness(1.07)saturate(1.12)}.bluffs-town-status{color:#ffe5b0;text-align:center;z-index:8;background:#674431ec;border:1px solid #e6b382;max-width:90%;padding:8px 10px;font:10px monospace;position:absolute;bottom:43px;left:50%;transform:translate(-50%)}.bluffs-town-status.town-online{color:#e9f7cd;background:#235f43ec;border-color:#b9de93}@keyframes rescue-route-flow{to{stroke-dashoffset:-22px}}@keyframes rescue-request-rise{0%{opacity:1;transform:translate(0)}to{transform:translate(calc((var(--request) - 5)*9px),-100px);opacity:.3}}@keyframes overload-pulse{50%{box-shadow:0 0 20px #f793625c}}@media (width<=780px){.rescue-scene{margin:16px}.rescue-town{min-height:250px}.rescue-scene-copy,.rescue-citizen{padding:16px}.rescue-unit-row{gap:3px;left:5%;right:5%}.rescue-unit{width:40px;padding:6px 2px}.rescue-unit>span{font-size:18px}.rescue-unit small{letter-spacing:0;font-size:6px}.bit-rescue-dialogue{gap:10px;margin:16px;padding:15px}.rescue-twist{flex-wrap:wrap;padding:16px}.rescue-twist button{margin-left:0}.repair-comparison{margin:16px;padding:16px}.comparison-results{gap:8px}.comparison-results>div{padding:12px}.bluffs-rescue-entry{flex-direction:column;align-items:stretch;padding:17px}.bluffs-town-status{font-size:8px}.rescue-live-status{font-size:9px}.rescue-parcels{letter-spacing:4px;font-size:19px}}@media (prefers-reduced-motion:reduce){.rescue-route,.rescue-request-stream i,.rescue-unit{animation:none}.rescue-town>img,.rescue-light-row span,.rescue-parcels,.rescue-night{transition:none}}.rescue-db-vault{color:#e5f4cf;background:#225947ed;border:2px solid #a6d59b;border-radius:6px;flex-direction:column;gap:5px;padding:10px;font:10px monospace;display:flex;position:absolute;bottom:24%;right:8%}.rescue-db-vault.vault-pressure{color:#ffe0b2;background:#763e35ed;border-color:#f0a483}.rescue-db-vault span{font-size:11px}.spotlight-home>h1{font-size:30px;line-height:1.4}.spotlight-home>p{color:#5b7351;font-size:16px;line-height:1.8}.spotlight-tracks{flex-wrap:wrap;align-items:center;gap:9px;margin:22px 0;display:flex}.spotlight-tracks>span{flex-basis:100%;margin-bottom:6px;font-size:14px;font-weight:700}.spotlight-tracks button{white-space:normal;height:auto;min-height:39px;font-size:12px}.spotlight-next{color:#e0f1d7;background-position:50%;background-size:cover;border:2px solid #719f8f;border-radius:10px;justify-content:space-between;align-items:center;gap:20px;margin:24px 0;padding:25px;display:flex}.spotlight-next .eyebrow{color:#acd8c6}.spotlight-next h2{color:#ffe39b;margin:12px 0;font:700 25px monospace}.spotlight-next p{max-width:500px;margin:0;font-size:14px;line-height:1.8}.spotlight-next button{color:#244939;background:#f0d485;flex-shrink:0;height:43px}.spotlight-missions{grid-template-columns:1fr;gap:20px;margin:25px 0;display:grid}.spotlight-missions article{background:#fff;border:1px solid #bacfab;border-radius:8px;grid-template-columns:180px minmax(0,1fr);display:grid;overflow:hidden}.spotlight-missions article>img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated}.spotlight-missions article>div{padding:22px}.spotlight-missions h2{margin:12px 0;font:700 21px monospace}.spotlight-missions p{font-size:14px;line-height:1.8}.spotlight-missions small{color:#68825a;margin:15px 0;font-size:13px;line-height:1.8;display:block}.spotlight-missions button{white-space:normal;height:auto;min-height:39px;margin-bottom:9px;margin-right:8px;font-size:12px}.spotlight-quiz,.learning-journal,.spotlight-review,.spotlight-deeper{background:#f1f7e9;border:1px solid #bed0ad;border-radius:8px;margin:24px 0;padding:22px}.spotlight-quiz h2,.learning-journal h2,.spotlight-review h2,.spotlight-deeper h2{margin:8px 0 15px;font:700 20px/1.6 monospace}.spotlight-quiz>button{text-align:left;white-space:normal;justify-content:flex-start;width:100%;height:auto;min-height:43px;margin:10px 0;line-height:1.7;display:block}.spotlight-quiz>p,.learning-journal p,.spotlight-review p,.spotlight-deeper p{color:#5e7651;font-size:13px;line-height:1.8}.learning-journal>div{justify-content:space-between;gap:18px;margin:20px 0;display:flex}.learning-journal b{font-size:13px}.learning-journal>div>b{color:#386b44;font:700 28px monospace}.learning-journal small{color:#6b815c;margin-top:6px;font:12px/1.7 Arial;display:block}.spotlight-review button{margin-bottom:9px;margin-right:9px}.mission-action-bench{background:#f7f0de;border:2px solid #cfb991;border-radius:8px;margin:0 0 20px;padding:20px}.mission-action-bench h3{margin:13px 0;font:700 20px/1.6 monospace}.mission-action-bench>p{font-size:14px;line-height:1.8}.mission-action-counters{background:#fff;border:1px solid #dfd5bd;border-radius:6px;justify-content:space-around;gap:12px;margin:18px 0;padding:16px;display:flex}.mission-action-counters>b{color:#6a5938;font:700 26px monospace}.mission-action-counters small{color:#8b7956;margin-top:7px;font:11px/1.6 Arial;display:block}.mission-action-buttons{flex-wrap:wrap;gap:8px;display:flex}.mission-action-buttons button{font-size:12px}.mission-action-bench ol{color:#e5edcf;background:#193d43;border-radius:6px;margin:20px 0 0;padding:14px 18px 14px 35px}.mission-action-bench li{padding:3px 0;font:12px/1.9 monospace}.mission-action-bench .muted{color:#7d8062;font-size:11px}.mission-break{background:#edf4e5;border-top:1px solid #ccdcbc;justify-content:space-between;align-items:center;gap:18px;padding:20px 24px;display:flex}.mission-break p{margin:0;font-size:14px;line-height:1.8}.mission-break button{flex-shrink:0}@media (width<=780px){.spotlight-home>h1{font-size:24px}.spotlight-next{flex-direction:column;align-items:stretch;padding:20px}.spotlight-next h2{font-size:22px}.spotlight-missions article{grid-template-columns:1fr}.spotlight-missions article>img{height:160px}.spotlight-missions article>div{padding:18px}.spotlight-quiz,.learning-journal,.spotlight-review,.spotlight-deeper{padding:17px}.learning-journal>div{gap:10px}.learning-journal>div>b{font-size:23px}.learning-journal small{font-size:10px}.mission-action-bench{padding:16px}.mission-action-counters{gap:9px;padding:12px}.mission-action-counters>b{font-size:22px}.mission-action-counters small{font-size:10px}.mission-break{flex-direction:column;align-items:stretch;padding:18px}}.journey-shell{background:#eef4e8;min-height:100vh;padding:24px}.guided-journey{max-width:1440px;margin:auto}.journey-header{background:#fff;border:1px solid #c7d8bb;border-radius:10px;justify-content:space-between;align-items:center;gap:25px;min-height:0;padding:22px 26px;display:flex}.journey-header h1{margin:10px 0;font:700 29px/1.4 monospace}.journey-header p{color:#728566;margin:0;font-size:13px;line-height:1.8}.journey-header>div:last-child{flex-shrink:0;width:230px;max-width:40%}.journey-header b{color:#527848;margin-bottom:10px;font-size:12px;display:block}.journey-route{justify-content:space-between;gap:12px;margin:5px 0 10px;padding:18px 0;list-style:none;display:flex}.journey-route li{color:#7b8a72;align-items:center;gap:8px;font-size:13px;display:flex}.journey-route li>span{background:#dfe9d4;border-radius:50%;flex-shrink:0;place-items:center;width:27px;height:27px;font:12px monospace;display:grid}.journey-route li.current{color:#27664a;font-weight:700}.journey-route li.current>span{color:#fff;background:#286d4b;box-shadow:0 0 0 3px #d0e2bd}.journey-route li.done>span{color:#3b6739;background:#b7d5a4}.journey-layout{grid-template-columns:minmax(0,1.1fr) minmax(370px,.9fr);align-items:start;gap:24px;display:grid}.journey-world-panel{position:sticky;top:22px}.guided-world{aspect-ratio:3/2;isolation:isolate;background:#6f9e82;border:4px solid #375846;border-radius:10px;position:relative;overflow:hidden;box-shadow:0 5px #bfd0b6}.guided-world>img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated;transition:filter .6s}.guided-world.guided-crisis>img{filter:brightness(.7)saturate(.8)}.guided-world.guided-restored>img{filter:brightness(1.08)saturate(1.1)}.guided-world-shade{pointer-events:none;background:linear-gradient(#0000 75%,#142e3a66);position:absolute;inset:0}.guided-world-status{text-align:center;color:#ffe6a0;z-index:7;background:#183a40ed;border:1px solid #b8ce96;border-radius:5px;width:max-content;max-width:92%;padding:8px 12px;font:10px/1.7 monospace;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.guided-world .player{z-index:4}.journey-mentor{z-index:3;position:absolute;transform:translate(-50%,-100%)}.journey-mentor small{white-space:nowrap;color:#ffeaa6;background:#23433ee8;border:1px solid #becd8d;border-radius:3px;padding:3px 5px;font:8px monospace;position:absolute;top:100%;left:50%;transform:translate(-50%)}.world-navigation-note{color:#718668;margin:13px 5px;font-size:12px;line-height:1.8}.journey-bit{background:#f9f0d8;border:1px solid #d3c59c;border-radius:8px;align-items:flex-start;gap:14px;margin-top:18px;padding:18px;display:flex}.journey-bit .bit-sprite{flex-shrink:0;width:48px;height:48px}.journey-bit b{color:#937334;font:700 12px monospace}.journey-bit p{color:#68744e;margin:8px 0 0;font-size:14px;line-height:1.8}.journey-action-panel{background:#fff;border:1px solid #b8cfaa;border-radius:10px;min-width:0;padding:25px;box-shadow:0 4px #d0dfc6}.journey-action-panel>h2{margin:12px 0 20px;font:700 24px/1.5 monospace}.journey-action-panel h3{margin:17px 0;font:700 19px/1.7 monospace}.journey-action-panel p{color:#4c6948;font-size:15px;line-height:1.9}.journey-now{background:#e7f3de;border-left:5px solid #55905a;border-radius:5px;margin-bottom:22px;padding:15px 18px}.journey-now b{letter-spacing:.3px;color:#3c7547;font:700 12px monospace}.journey-now p{margin:8px 0 0;font-size:14px;line-height:1.8}.journey-action-panel .journey-primary{white-space:normal;color:#fff;background:#286f4c;border:1px solid #286f4c;width:100%;height:auto;min-height:48px;margin:15px 0 5px;padding:12px 16px;font-size:15px;font-weight:700;line-height:1.6}.journey-action-panel .journey-primary:disabled{color:#66785b;opacity:1;background:#c5d3bc;border-color:#c5d3bc}.journey-lesson{font-size:17px!important;line-height:1.95!important}.journey-action-panel .optional-practice{font-size:13px}.journey-action-panel .optional-practice details{border-top:1px solid #d6e1ce;padding:12px 0}.journey-action-panel .optional-practice summary{cursor:pointer;line-height:1.8}.journey-system{background:#183e44;border-radius:8px;flex-direction:column;gap:10px;margin:20px 0;padding:18px;display:flex}.journey-system button{color:#dbe9ca;text-align:left;border:1px dashed #809e92;border-radius:5px;align-items:center;gap:12px;min-height:54px;padding:14px;font:13px monospace;display:flex}.journey-system button.filled{background:#2a6350;border-style:solid;border-color:#c9e3a7}.journey-system button>span{background:#385d59;border-radius:50%;flex-shrink:0;place-items:center;width:24px;height:24px;font-size:11px;display:grid}.journey-system button>svg{flex-shrink:0;margin-left:auto;transform:rotate(90deg)}.journey-choices{flex-direction:column;gap:12px;margin:20px 0;display:flex}.journey-choices button{white-space:normal;text-align:left;color:#4c6a43;background:#f7fbf2;justify-content:flex-start;height:auto;min-height:55px;padding:14px;line-height:1.8}.journey-choices button[aria-pressed=true]{background:#dceccf;border:2px solid #619258;box-shadow:0 0 0 2px #dfedcf}.journey-estimate{color:#52764d;margin:20px 0;font-size:14px;display:block}.journey-estimate input{color:#41613c;background:#f7fcf0;height:48px;margin-top:10px;font:23px monospace}.journey-proposal-prompts{color:#5a704a;padding-left:21px;font-size:14px;line-height:1.9}.journey-action-panel textarea{background:#fbfef6;font-size:15px;line-height:1.8}.journey-draft-status{color:#738967!important;font:12px/1.8 monospace!important}.journey-review-note{color:#7a8c6e;margin-top:14px;font-size:11px;line-height:1.8;display:block}.journey-action-panel .feedback{margin-top:20px}.journey-trial{background:#f8ece0;border:1px solid #dcbaa0;border-radius:7px;margin:20px 0;padding:17px}.journey-trial>b{color:#94664a;font:700 12px monospace}.journey-trial p{font-size:14px}.journey-trial small{color:#937b64;font-size:11px;line-height:1.8}.journey-victory{text-align:center;background:#f5f6d9;border:2px solid #cdd393;border-radius:8px;padding:20px}.journey-victory>svg{color:#b28a39;margin:auto}.journey-victory h3{color:#587342}.journey-victory p{font-size:15px}.journey-world-lights{pointer-events:none;justify-content:space-between;display:flex;position:absolute;bottom:26%;left:16%;right:16%}.journey-world-lights i{background:#794d3b;border-radius:50%;width:11px;height:11px;box-shadow:0 0 9px #ffae5944}.guided-restored .journey-world-lights i{background:#ffebb0;box-shadow:0 0 18px 6px #ffe48c99}.journey-reward{border-top:1px solid #dedfc5;padding-top:15px;color:#8a722b!important;font:700 13px monospace!important}.journey-footer{color:#78916a;background:0 0;border:none;justify-content:space-between;gap:15px;margin:25px 0;padding:0;font-size:11px;line-height:1.8;display:flex}.journey-loading{color:#5c7950;max-width:800px;margin:60px auto;font-size:18px}.journey-free>p{font-size:14px}.journey-free .chapter-scene-heading{padding:15px}.journey-free .chapter-scene-heading h2{font-size:18px}.journey-free .district-actions{display:none}@media (width<=1050px){.journey-layout{grid-template-columns:1fr}.journey-world-panel{position:static}.guided-world{max-height:360px}.journey-bit{margin-top:12px}.journey-route{flex-wrap:wrap;gap:14px}.journey-route li{flex-basis:28%}.journey-action-panel{padding:22px}}@media (width<=780px){.journey-shell{padding:14px}.journey-header{flex-direction:column;align-items:stretch;gap:15px;padding:17px}.journey-header h1{font-size:24px}.journey-header>div:last-child{width:100%;max-width:100%}.journey-route{gap:12px;padding:15px 0}.journey-route li{flex-basis:29%;gap:6px;font-size:11px}.journey-route li>span{width:22px;height:22px}.journey-layout{gap:16px}.guided-world-status{padding:6px 8px;font-size:8px;bottom:9px}.journey-action-panel{padding:18px}.journey-action-panel>h2{font-size:21px}.journey-lesson{font-size:16px!important}.journey-bit{gap:10px;padding:14px}.journey-now{padding:13px}.journey-now b{font-size:11px}.journey-footer{flex-direction:column;gap:8px}.journey-action-panel .piece-bank button{font-size:12px}.journey-free .system-lab{margin-left:0;margin-right:0}}@media (prefers-reduced-motion:reduce){.guided-world>img{transition:none}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}.village-rescue{color:#e9f5e3;background:#10282c;border:1px solid #49635c;border-radius:14px;max-width:1280px;margin:auto;font-family:Arial,sans-serif;overflow:hidden;box-shadow:0 16px 60px #15382b22}.rescue-header{color:#e9f5e3;background:#10282c;border:none;justify-content:space-between;align-items:center;gap:20px;min-height:0;padding:20px 24px;display:flex}.rescue-header .eyebrow{letter-spacing:1.3px;color:#bad397;font:700 12px monospace}.rescue-header h1{margin:7px 0 0;font:700 clamp(21px,2.2vw,31px)/1.3 monospace}.rescue-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.rescue-header-actions button{color:#d1dfd0;font-size:14px}.rescue-objective{background:#24423e;border-top:1px solid #446256;border-bottom:1px solid #4e7057;align-items:center;gap:14px;padding:15px 24px;display:flex}.rescue-step{color:#243d37;background:#e6cc78;border:2px solid #fff0a7;border-radius:50%;flex-shrink:0;place-items:center;width:38px;height:38px;font:700 18px monospace;display:grid}.rescue-objective>div{flex:1;min-width:0}.rescue-objective b{color:#fff4c2;font-size:17px;line-height:1.4;display:block}.rescue-objective p{color:#d1e0ca;margin:4px 0 0;font-size:14px;line-height:1.55}.rescue-objective button{color:#16372f;background:#e6cd7b;border:1px solid #f8e6a6;flex-shrink:0;height:auto;min-height:44px;padding:11px 15px;font-weight:700}.rescue-objective button:hover{background:#f6e29d}.rescue-objective button:disabled{opacity:.55}.repair-arena{outline:none;position:relative}.repair-arena:focus-visible{outline-offset:-3px;outline:3px solid #efd88b}.rescue-meters{color:#cddccc;background:#142d30;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:12px 24px;font-size:14px;display:flex}.rescue-meters span{align-items:center;gap:7px;display:flex}.rescue-meters b{color:#f5f4d9;font:700 16px monospace}.rescue-meters .meter-warning,.rescue-meters .meter-warning b{color:#ffbe98}.rescue-meters .meter-good,.rescue-meters .meter-good b{color:#a4ebaa}.rescue-viewport{overscroll-behavior-x:contain;scrollbar-color:#b9c996 #24443b;overflow-x:auto}.repair-map{aspect-ratio:3/2;isolation:isolate;background:#446d42;width:100%;min-width:800px;position:relative;overflow:hidden}.repair-landscape{width:100%;height:100%;image-rendering:pixelated;transition:filter 1.5s;position:absolute;inset:0}.village-dark .repair-landscape{filter:brightness(.67)saturate(.72)}.village-lit .repair-landscape{filter:brightness(1.02)saturate(1.1)}.repair-shade{pointer-events:none;background:linear-gradient(#142b3322,#0000 35% 70%,#112d3266);position:absolute;inset:0}.repair-roads{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.traffic-road{fill:none;stroke:currentColor;stroke-width:3px;stroke-linejoin:round;stroke-linecap:round;opacity:.66;vector-effect:non-scaling-stroke}.traffic-packet{fill:currentColor;stroke:#172f2c;stroke-width:1px}.traffic-incoming{color:#ffdd8c}.traffic-healthy{color:#dcf7c0}.traffic-jam{color:#ff6c4e}.traffic-cached{color:#8fe9f4}.traffic-write{color:#f4ba6d}.traffic-offline{color:#aa7b76}.repair-roads .inactive .traffic-road{stroke-dasharray:4 7;opacity:.3}.rush-running .traffic-road{stroke-width:5px;opacity:.9}.repair-place{z-index:3;cursor:pointer;color:#fff9df;text-align:center;filter:drop-shadow(0 3px 2px #0d282b99);background:0 0;border:0;flex-direction:column;align-items:center;min-width:110px;padding:0;line-height:1.2;display:flex;position:absolute;transform:translate(-50%,-100%)}.repair-place:disabled{cursor:wait}.repair-place:hover .place-icon,.repair-place:focus-visible .place-icon{outline-offset:3px;background:#47694d;outline:3px solid #fff0b1}.repair-place:focus-visible{outline:none}.place-icon{color:#e1edc5;background:#1b3b38;border:2px solid #c4d7a3;border-radius:8px 8px 4px 4px;justify-content:center;align-items:center;gap:4px;width:48px;height:40px;display:flex;position:relative;box-shadow:0 4px #16392a}.repair-place strong{white-space:nowrap;background:#173732f2;border:1px solid #7d9b72;border-bottom:0;border-radius:4px 4px 0 0;margin-top:6px;padding:5px 8px 4px;font:700 13px monospace}.repair-place small{color:#c4dbb5;white-space:nowrap;background:#173732f2;border:1px solid #7d9b72;border-top:0;border-radius:0 0 4px 4px;padding:0 8px 5px;font:12px monospace}.repair-place.place-danger .place-icon{color:#ffe3bb;background:#753f32;border-color:#ffb286}.repair-place.place-danger small{color:#ffbb9f}.repair-pad{min-width:70px}.repair-pad .place-icon{gap:3px;width:47px;height:36px}.repair-pad .place-icon>b{font:700 12px monospace}.repair-pad strong{padding:4px 6px;font-size:12px}.repair-pad small{white-space:normal;max-width:95px;padding:0 5px 4px;font-size:10px;line-height:1.2}.repair-pad.place-empty .place-icon{color:#ced9ae;box-shadow:none;background:#24413ca8;border-style:dashed}.repair-pad.place-empty strong,.repair-pad.place-empty small{background:#243b34ed;border-color:#7c916e}.clue-flag{color:#233d30;background:#efce6f;border:1px solid #fff4bf;border-radius:4px;justify-content:center;align-items:center;gap:4px;margin-bottom:7px;padding:4px 7px;font:700 12px monospace;display:flex;box-shadow:0 2px 9px #ecdd6566}.clue-target .place-icon{border-color:#ffe69c;box-shadow:0 0 0 4px #efd88966,0 0 25px #f7d06b66}.repair-hero{z-index:6;pointer-events:none;filter:none;width:60px;height:60px;position:absolute;transform:translate(-50%,-90%)}.repair-hero.up{transform:translate(-50%,-85%)}.repair-hero:before{content:"";z-index:-1;background:#0b2b3866;border-radius:50%;width:24px;height:6px;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.repair-hero.up:before{bottom:8px}.repair-hero .hero-sprite{width:60px;height:60px;animation:none!important;transform:none!important}.repair-citizens{z-index:2;pointer-events:none;align-items:flex-end;display:flex;position:absolute;transform:translate(-50%,-90%)}.repair-citizens .mentor-sprite{width:46px;height:46px;margin-left:-13px}.repair-window-lights{pointer-events:none;z-index:2;position:absolute;inset:0}.repair-window-lights i{background:#fff1a4a1;border-radius:50%;width:12px;height:15px;animation:1.4s ease-out both rescue-light;position:absolute;box-shadow:0 0 25px 10px #ffe67c99}@keyframes rescue-light{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}.repair-run-banner{z-index:8;color:#fff3bd;background:#183b3ef5;border:2px solid #ffdf93;border-radius:8px;align-items:center;gap:10px;width:max-content;max-width:90%;padding:13px 18px;font:700 14px monospace;display:flex;position:absolute;top:6%;left:50%;transform:translate(-50%);box-shadow:0 4px 15px #06191e55}.repair-field-message{z-index:7;background:#143739f5;border:1px solid #a3c097;border-radius:8px;align-items:flex-start;gap:12px;width:calc(100% - 36px);max-width:460px;padding:15px 14px;display:flex;position:absolute;bottom:58px;left:18px;box-shadow:0 5px 18px #0f272b66}.repair-field-message .bit-sprite{flex-shrink:0;width:38px;height:38px}.repair-field-message p{color:#edf1d5;margin:0;font-size:15px;line-height:1.65}.repair-field-message button{color:#d7e7c4;flex-shrink:0;place-items:center;min-width:25px;min-height:25px;display:grid}.repair-map-key{color:#e4ecd5;z-index:4;background:#122f34e8;border:1px solid #778e75;border-radius:6px;flex-wrap:wrap;gap:12px;padding:10px 12px;font-size:12px;display:flex;position:absolute;bottom:14px;left:16px}.repair-map-key span{align-items:center;gap:6px;display:flex}.repair-map-key i{border-radius:2px;width:9px;height:9px;display:block}.key-request{background:#ffdd8c}.key-cache{background:#8fe9f4}.key-write{background:#f4ba6d}.key-jam{background:#ff6c4e}.repair-controls{color:#d6e3ca;background:#183431;border-top:1px solid #5b7960;justify-content:space-between;align-items:center;gap:10px;padding:9px 20px;display:flex}.repair-controls>span{align-items:center;gap:8px;font-size:14px;display:flex}.repair-controls button{color:#e7e6bf;font-size:14px}.repair-controls button[aria-pressed=true]{background:#48634b}.repair-touch-controls{background:#183431;justify-content:center;gap:8px;padding:12px;display:none}.repair-touch-controls button{color:#eff0cf;touch-action:none;background:#24443b;border-color:#728566;min-width:44px;min-height:44px}.rescue-save-status{color:#a2b69f;background:#10282c;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;padding:12px 22px;font-size:12px;display:flex}.rescue-save-status b{color:#ffdc86;font:700 14px monospace}.village-rescue>.error{margin:12px 20px}.repair-popover{color:#253f35;z-index:50;background:#f8f8e9;border:2px solid #5d7c53;border-radius:10px;width:370px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);padding:20px;overflow-y:auto;box-shadow:0 12px 40px #09252b66}.repair-popover-title{border-bottom:1px solid #cfdbc0;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:12px;display:flex}.repair-popover-title .bit-sprite{flex-shrink:0;width:40px;height:40px}.repair-popover-title>div{flex:1}.repair-popover-title small{color:#718452;font:700 11px monospace}.repair-popover-title h2{margin:6px 0 0;font:700 18px/1.3 monospace}.repair-popover-title>button{color:#446343;background:0 0;flex-shrink:0;width:30px;height:30px}.repair-popover p{color:#36523f;margin:12px 0;font-size:16px;line-height:1.65}.repair-popover>small{color:#6e7d57;margin:10px 0;font-size:13px;line-height:1.65;display:block}.repair-popover>button,.rescue-number button{color:#fff9e6;white-space:normal;background:#28654a;height:auto;min-height:44px;margin-top:8px;line-height:1.5}.repair-popover button:disabled{opacity:.5}.repair-popover>label{margin-top:16px;font-size:15px;font-weight:700;line-height:1.5;display:block}.rescue-number{align-items:center;gap:10px;margin:10px 0;display:flex}.rescue-number input{color:#264a34;background:#fff;max-width:95px;height:44px;font:22px monospace}.rescue-number button{margin:0}.rescue-options{flex-direction:column;gap:9px;margin-top:12px;display:flex}.rescue-options button{white-space:normal;text-align:left;color:#365139;background:#f0f5e5;border:1px solid #a3bb90;justify-content:flex-start;width:100%;height:auto;padding:12px;font-size:15px;line-height:1.5}.rescue-options button:hover{background:#dcebc9}.repair-popover .repair-feedback{background:#e1ebce;border-left:3px solid #668853;margin:15px 0 0;padding:12px;font-size:14px;line-height:1.65}.repair-popover .error{margin:12px 0 0;font-size:14px}.rescue-victory-dialog,.rescue-help-dialog{color:#284834;background:#f6f9e8;border:2px solid #8ea672;max-width:550px;max-height:90dvh;padding:27px;overflow-y:auto}.rescue-victory-dialog [data-slot=dialog-title]{align-items:center;gap:10px;padding-right:15px;font:700 24px/1.4 monospace;display:flex}.rescue-victory-dialog [data-slot=dialog-title]>svg{color:#99803b;flex-shrink:0}.rescue-victory-dialog [data-slot=dialog-description],.rescue-help-dialog [data-slot=dialog-description]{color:#5d7352;font-size:16px;line-height:1.7}.rescue-medal{color:#f4dfa0;background:#193f37;border:2px solid #c4b676;border-radius:9px;flex-direction:column;align-items:center;gap:9px;margin:6px 0;padding:24px;display:flex}.rescue-medal b{font:700 20px monospace}.rescue-medal span{color:#c7d9ae;font-size:14px}.rescue-victory-stats{text-align:center;justify-content:space-around;gap:16px;display:flex}.rescue-victory-stats b{margin-bottom:6px;font:700 20px monospace;display:block}.rescue-victory-stats span{color:#5e7855;font-size:12px}.rescue-victory-dialog>p{color:#546d48;font-size:16px;line-height:1.7}.rescue-continue{color:#fff9df;background:#28654a;width:100%;min-height:48px}.rescue-victory-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.rescue-help-dialog ol{padding-left:22px;list-style:decimal}.rescue-help-dialog li,.rescue-help-dialog p{color:#526b48;margin:10px 0;font-size:16px;line-height:1.7}.rescue-help-dialog summary{cursor:pointer;font-size:14px}.rescue-help-dialog details{background:#e8f0d8;border-radius:5px;padding:12px}.rescue-help-dialog>button:not([data-slot=dialog-close]){color:#fff9df;background:#28654a;min-height:44px}@media (width<=1000px){.rescue-meters{gap:12px}.rescue-meters span{font-size:12px}.repair-touch-controls{display:flex}.repair-controls{flex-wrap:wrap}.rescue-header{padding:18px}.rescue-objective{padding:14px 18px}.rescue-save-status{font-size:12px}}@media (width<=600px){.rescue-header{flex-direction:column;align-items:flex-start;gap:8px}.rescue-header-actions{justify-content:flex-start}.rescue-header-actions button{height:auto;min-height:34px;padding:6px 9px}.rescue-objective{flex-wrap:wrap;gap:10px}.rescue-step{width:30px;height:30px;font-size:15px}.rescue-objective>div{min-width:calc(100% - 45px)}.rescue-objective>button{min-height:40px;margin-left:40px;padding:8px 12px;font-size:14px}.rescue-objective b{font-size:16px}.rescue-objective p{font-size:14px}.rescue-meters{grid-template-columns:1fr 1fr;gap:10px;padding:12px 16px;display:grid}.rescue-meters b{font-size:14px}.repair-controls{padding:10px 14px}.repair-controls>span{font-size:13px;line-height:1.6}.rescue-save-status{gap:10px;padding:12px 14px}.rescue-save-status>span:last-child{flex-basis:100%}.rescue-victory-dialog,.rescue-help-dialog{padding:22px}.rescue-victory-dialog [data-slot=dialog-title]{font-size:21px}.rescue-victory-stats{gap:8px}.rescue-medal b{font-size:17px}.repair-popover{padding:16px}}.repair-pad small{width:68px;max-width:68px;min-height:32px;font-size:11px;line-height:1.35}.repair-pad strong{min-width:68px}.repair-pad .place-icon{margin-bottom:1px}@media (prefers-reduced-motion:reduce){.repair-landscape{transition:none}.repair-window-lights i{animation:none}.traffic-packet{display:none}.repair-popover{animation:none!important}}.adventure-shell{color:#eff0d7;background:#101d2b;min-height:100dvh;padding:20px;font-family:Arial,sans-serif}.adventure-game,.quest-battle{background:#172d32;border:2px solid #63715c;border-radius:10px;max-width:1180px;margin:auto;position:relative;overflow:hidden;box-shadow:0 18px 90px #0007}.adventure-loading{color:#eff0d7;background:#101d2b;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100dvh;display:flex}.adventure-loading .bit-sprite{width:65px;height:65px}.adventure-hud{color:#f1e6b6;background:#152b32;border:none;justify-content:space-between;align-items:center;gap:16px;min-height:70px;padding:10px 19px;display:flex}.adventure-player{align-items:center;gap:12px;min-width:150px;display:flex}.adventure-player>.hero-sprite{width:48px;height:48px}.adventure-player b{font:700 16px monospace;display:block}.adventure-player span:not(.hero-sprite){color:#bbcfb4;margin-top:5px;font-size:12px;display:block}.adventure-badges{gap:9px;display:flex}.adventure-badges button{color:#73867a;background:#243c3e;border:1px solid #778e74;border-radius:6px;place-items:center;width:39px;height:43px;display:grid;position:relative}.adventure-badges button>span{background:#243c3e;padding:0 2px;font:700 10px monospace;position:absolute;bottom:1px;right:3px}.adventure-badges button.earned{color:#ffdb82;background:#3f5039;border-color:#e4cc89;box-shadow:0 0 12px #efd77733}.adventure-menu{align-items:center;gap:5px;display:flex}.adventure-menu button{color:#dfe8cf;min-height:40px;font-size:14px}.adventure-location{background:#213d3a;border-top:1px solid #566854;border-bottom:2px solid #65785c;align-items:center;gap:25px;padding:15px 23px;display:flex}.adventure-location span{letter-spacing:1.5px;color:#bfcf9d;font:11px monospace}.adventure-location h1{color:#fff0c3;margin:6px 0 0;font:700 24px/1.2 monospace}.adventure-location>p{color:#d5e0c7;max-width:450px;margin:0 0 0 auto;font-size:14px;line-height:1.7}.adventure-location>button{color:#263f37;background:#e9d697}.adventure-viewport{scrollbar-color:#adbb82 #1d393c;overscroll-behavior-x:contain;overflow-x:auto}.adventure-map{aspect-ratio:3/2;isolation:isolate;background:#365e45;outline:none;width:100%;min-width:760px;position:relative;overflow:hidden}.adventure-map:focus-visible{box-shadow:inset 0 0 0 3px #f1db92}.adventure-landscape{width:100%;height:100%;image-rendering:pixelated;filter:brightness(.8)saturate(.87);transition:filter 1.5s;position:absolute;inset:0}.village-saved .adventure-landscape{filter:brightness(1.06)saturate(1.1)}.adventure-vignette{pointer-events:none;background:radial-gradient(at 48% 45%,#0000 30%,#10344366);position:absolute;inset:0}.adventure-building{z-index:3;color:#fff3bb;cursor:pointer;filter:drop-shadow(0 2px 2px #123321aa);background:0 0;border:0;width:20%;height:27%;padding:0;position:absolute;transform:translate(-50%,-100%)}.building-aura{border-radius:30%;transition:box-shadow .25s;position:absolute;inset:0}.adventure-building:hover .building-aura,.adventure-building:focus-visible .building-aura{box-shadow:0 0 30px 10px #fae28d55,inset 0 0 20px #ffed9955}.adventure-building:focus-visible{border-radius:10px;outline:2px solid #ffe6a0}.building-name{background:#163b38ed;border:1px solid #bec586;border-radius:5px;width:max-content;max-width:130%;padding:7px 10px;font:700 14px monospace;position:absolute;bottom:18%;left:50%;transform:translate(-50%);box-shadow:0 4px 8px #14363255}.building-name small{color:#bfd6b0;letter-spacing:.6px;margin-top:6px;font:10px/1.5 monospace;display:block}.building-door{color:#254331;background:#f1d58a;border:2px solid #fff2b6;border-radius:50%;place-items:center;min-width:38px;height:38px;font:700 9px monospace;display:grid;position:absolute;bottom:-15px;left:50%;transform:translate(-50%);box-shadow:0 0 15px #ffe79188}.building-banner{color:#375137;background:#ffe4a2;border:2px solid #fff4c9;border-radius:3px;align-items:center;gap:5px;padding:8px;font:700 12px monospace;display:flex;position:absolute;top:20%;right:-7%;box-shadow:0 0 22px #ffd77888}.adventure-building.cleared .building-aura{box-shadow:inset 0 -30px 35px #f3df7b44,0 0 35px #e7e78244}.adventure-building.cleared .building-name{background:#395d3df2;border:2px solid #e5d791}.adventure-building.cleared .building-door{background:#dceba0}.adventure-building.cleared .building-name small{color:#edf0bc}.adventure-avatar{z-index:6;pointer-events:none;width:58px;height:58px;position:absolute;transform:translate(-50%,-90%)}.adventure-avatar.up{transform:translate(-50%,-85%)}.adventure-avatar>.hero-sprite{width:58px;height:58px;animation:none!important;transform:none!important}.adventure-avatar:before{content:"";z-index:-1;background:#0b273f77;border-radius:50%;width:24px;height:6px;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.hero-other>.hero-sprite,.hero-sprite.hero-other{filter:hue-rotate(55deg)}.adventure-bit{pointer-events:none;z-index:6;width:26px;height:26px;position:absolute;transform:translate(-50%,-100%)}.adventure-boss{z-index:4;background:0 0;border:none;width:125px;height:135px;padding:0;position:absolute;transform:translate(-50%,-88%)}.adventure-boss img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;filter:drop-shadow(0 6px 6px #48235077)}.adventure-boss>span{color:#e4cee9;white-space:nowrap;background:#2c2445ed;border:1px solid #bca0dc;border-radius:4px;justify-content:center;align-items:center;gap:5px;padding:5px;font:11px monospace;display:flex;position:absolute;bottom:-15px;left:50%;transform:translate(-50%)}.boss-ready img{filter:drop-shadow(0 0 15px #b282e3bb)}.boss-ready>span{color:#ffe4a7;background:#522e64;border-color:#edd294}.adventure-bridge{z-index:3;color:#dddcac;background:0 0;border:0;flex-direction:column;align-items:center;gap:7px;display:flex;position:absolute;transform:translate(-50%,-50%)}.adventure-bridge>span{background:#2b443ded;border:2px solid #a5b699;border-radius:50%;place-items:center;width:37px;height:37px;display:grid}.adventure-bridge small{white-space:nowrap;background:#183c37;border-radius:3px;padding:4px 6px;font:10px monospace}.adventure-bridge.bridge-open>span{color:#294132;background:#f0d685;border-color:#fff6bb;box-shadow:0 0 25px 8px #ffe99188}.adventure-bridge.bridge-open small{color:#1c4335;background:#dfce87}.adventure-villager{z-index:4;color:#fff2b9;background:0 0;border:none;flex-direction:column;align-items:center;display:flex;position:absolute;transform:translate(-50%,-92%)}.adventure-villager>.mentor-sprite{width:50px;height:50px}.adventure-villager>small{background:#28433ee8;border-radius:4px;padding:3px 7px;font:12px monospace}.villager-bubble{color:#365139;background:#fff3d9;border:2px solid #8b9b69;border-radius:10px 10px 10px 0;width:max-content;max-width:180px;padding:9px 11px;font:13px/1.55 Arial;position:absolute;top:-7px;left:60px;box-shadow:0 4px 8px #0c2e3233}.village-lanterns{z-index:2;pointer-events:none;position:absolute;inset:0}.village-lanterns i{background:#ffeab4a1;border-radius:50%;width:15px;height:20px;position:absolute;box-shadow:0 0 30px 12px #ffde8888}.adventure-quest-note{color:#f0dfac;z-index:4;background:#17343bef;border:1px solid #b4ba86;border-radius:7px;align-items:center;gap:10px;padding:13px 16px;display:flex;position:absolute;bottom:18px;left:18px}.adventure-quest-note>svg{color:#e8aaa5}.adventure-quest-note>span{font:700 14px monospace}.adventure-quest-note small{color:#d0dac0;margin-top:6px;font:12px Arial;display:block}.adventure-controls{color:#bcd0b8;background:#193236;border-top:1px solid #667d62;justify-content:space-between;align-items:center;gap:14px;padding:11px 18px;font-size:12px;display:flex}.adventure-controls>div{gap:3px;display:flex}.adventure-controls button{color:#e1e7c6;touch-action:none;width:35px;height:35px;padding:7px}.adventure-controls button:last-child{width:auto}.adventure-controls small{font-size:11px}.adventure-toast{z-index:80;color:#284234;background:#edce7d;border:2px solid #fff3bb;border-radius:8px;padding:14px 25px;font:700 18px monospace;position:fixed;bottom:30px;left:50%;transform:translate(-50%);box-shadow:0 8px 35px #14283077}.adventure-game>.error{margin:14px}.adventure-dialog{color:#294532;background:#f5f3df;border:3px solid #6d815d;border-radius:10px;max-width:610px;max-height:90dvh;padding:27px;overflow-y:auto;box-shadow:0 14px 65px #071c2777}.adventure-dialog [data-slot=dialog-title]{color:#244434;padding-right:18px;font:700 24px/1.4 monospace}.adventure-dialog [data-slot=dialog-description]{color:#6f7e58;font-size:14px;line-height:1.75}.adventure-dialog p{color:#486042;margin:11px 0;font-size:16px;line-height:1.8}.adventure-dialog h3{margin:5px 0;font:700 20px/1.5 monospace}.adventure-dialog .adventure-primary,.adventure-primary{color:#fff4cd;white-space:normal;background:#2c664e;border:1px solid #2f7255;height:auto;min-height:45px;padding:11px 17px;font-size:15px;font-weight:700;line-height:1.5}.adventure-dialog .adventure-primary:hover{background:#245640}.adventure-dialog button:disabled{opacity:.5}.npc-conversation{background:#e8ebd2;border:1px solid #c4ceaa;border-radius:7px;align-items:flex-start;gap:18px;padding:17px;display:flex}.npc-conversation>.mentor-sprite{flex-shrink:0;width:64px;height:64px}.npc-conversation p{margin:0}.adventure-dialog .bit-line{align-items:center;gap:12px;font-size:14px;line-height:1.8;display:flex}.bit-line .bit-sprite{flex-shrink:0;width:36px;height:36px}.character-creation>label{flex-direction:column;gap:7px;font-size:14px;font-weight:700;display:flex}.character-creation input[type=text],.character-creation input:not([type]){color:#294532;background:#fffef3;height:42px;font-size:16px}.character-creation fieldset{flex-wrap:wrap;gap:16px;padding:10px 0;display:flex}.character-creation legend{margin-bottom:8px;font-size:14px;font-weight:700}.character-creation fieldset label{text-transform:capitalize;align-items:center;gap:7px;font-size:15px;display:flex}.character-creation [data-slot=radio-group]{flex-wrap:wrap;gap:16px;display:flex}.character-creation [data-slot=radio-group-item]{color:#346b4a;border-color:#346b4a;width:17px;height:17px}.character-creation [data-slot=radio-group-indicator] svg{fill:#346b4a}.creation-portrait{background:radial-gradient(#c4d9ad,#0000 65%);justify-content:center;align-items:flex-end;gap:17px;height:115px;display:flex}.creation-portrait>.hero-sprite{width:110px;height:110px}.creation-portrait>.bit-sprite{width:42px;height:42px;margin-bottom:18px}.character-creation:not(.editing-hero)>[data-slot=dialog-close],.arrival-dialog>[data-slot=dialog-close]{display:none}.mentor-room-preview{background-position:50% 70%;background-size:cover;border-radius:7px;align-items:flex-end;gap:12px;height:150px;padding:15px;display:flex;position:relative;overflow:hidden}.mentor-room-preview:before{content:"";background:linear-gradient(#0000,#142c30d9);position:absolute;inset:0}.mentor-room-preview>.mentor-sprite{z-index:1;flex-shrink:0;width:63px;height:63px;position:relative}.mentor-room-preview blockquote{z-index:1;color:#fff1c4;text-shadow:0 1px 3px #163132;margin:0;font-size:16px;line-height:1.7;position:relative}.lesson-count{letter-spacing:1px;color:#75885b;margin-top:12px;font:12px monospace;display:block}.adventure-dialog .lesson-example{background:#e4ecd0;border-left:3px solid #7e9c63;margin:5px 0;padding:13px 16px;font-size:15px;line-height:1.75}.lesson-navigation{justify-content:flex-end;gap:10px;display:flex}.mentor-dialog>small{color:#7a8566;font-size:12px;line-height:1.7}.paused-battle-note{background:#eee2c8;border-radius:5px;padding:13px;font-size:14px}.adventure-dialog .paused-battle-note p{font-size:14px}.boss-dialog-art{object-fit:contain;width:180px;height:180px;image-rendering:pixelated;filter:drop-shadow(0 4px 14px #75538b66);margin:auto}.adventure-help{padding-left:22px;font-size:16px;line-height:1.85;list-style:decimal}.adventure-help li{margin:10px 0}.journal-entry{border-bottom:1px solid #ccd6b7;align-items:center;gap:12px;padding:12px;display:flex}.journal-entry>div{flex:1}.journal-entry b{font-size:15px}.journal-entry p{margin:3px 0;font-size:13px}.adventure-dialog .demo-boundary{background:#e6eacd;border:1px solid #c6d2ac;border-radius:6px;padding:14px;font-size:14px}.quest-battle{color:#284934;background:#edf0db;max-width:1100px}.battle-room{isolation:isolate;background-position:50% 62%;background-size:cover;border-bottom:4px solid #8e8a64;height:34vh;min-height:300px;max-height:390px;position:relative;overflow:hidden}.battle-room:before{content:"";z-index:-1;background:linear-gradient(#0d183bc7,#0000 50%,#152e3599);position:absolute;inset:0}.battle-top{color:#ffedbd;justify-content:space-between;align-items:flex-start;gap:15px;padding:18px 23px;display:flex}.battle-top>div{width:340px;max-width:65%}.battle-top span{letter-spacing:1px;color:#dedbba;font:11px monospace}.battle-top h1{text-shadow:0 2px 8px #101936;margin:5px 0 8px;font:700 clamp(19px,2.5vw,27px)/1.4 monospace}.battle-top [data-slot=progress]{background:#203036;border:1px solid #d4bd80;height:9px}.battle-top [data-slot=progress-indicator]{background:#ad76c8;transition:transform .45s}.battle-top small{color:#ebdba7;margin-top:6px;font:12px monospace;display:block}.battle-top button{color:#f6e9bb;white-space:normal;background:#152b3ad9;border:1px solid #778b83;max-width:165px;height:auto;padding:9px 12px;font-size:12px;line-height:1.5}.battle-hero{filter:drop-shadow(0 5px 3px #10253977);width:130px;height:130px;position:absolute;bottom:35px;left:13%}.battle-hero>.hero-sprite{width:130px;height:130px;image-rendering:pixelated;animation:none}.battle-hero>span:not(.hero-sprite){color:#f4e8be;white-space:nowrap;background:#1a3a3bea;border:1px solid #a3b280;border-radius:4px;padding:4px 8px;font:12px monospace;position:absolute;bottom:-2px;left:50%;transform:translate(-50%)}.battle-enemy{object-fit:contain;width:190px;height:190px;image-rendering:pixelated;filter:drop-shadow(0 8px 8px #17203277);position:absolute;bottom:37px;right:19%}.battle-life{color:#e2dab6;background:#142e38e8;justify-content:space-between;align-items:center;gap:10px;padding:10px 20px;font:12px monospace;display:flex;position:absolute;bottom:0;left:0;right:0}.battle-life>span{color:#e38d86;gap:7px;display:flex}.battle-life small{color:#c5d5c1;font:11px Arial}.battle-impact{color:#ffe093;text-shadow:0 2px 7px #111a30;z-index:3;pointer-events:none;background:#1f3644d9;border:1px solid #d5bf80;border-radius:5px;padding:9px 14px;font:700 17px monospace;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.strike-landed .battle-enemy{animation:.5s enemy-hit}.strike-landed .battle-hero{animation:.45s hero-strike}.strike-missed .battle-hero{animation:.4s enemy-hit}@keyframes enemy-hit{20%,60%{filter:brightness(1.7);transform:translate(10px)}40%,80%{transform:translate(-8px)}}@keyframes hero-strike{50%{transform:translate(35px)}}.battle-play-area{background:linear-gradient(#f7f5e4,#edf1d9);padding:22px 27px 26px}.battle-prompt .eyebrow{letter-spacing:1px;color:#75895a;font:700 11px monospace}.battle-prompt h2{color:#284c38;margin:8px 0;font:700 21px/1.55 monospace}.battle-prompt p{color:#687a56;margin:5px 0 17px;font-size:14px;line-height:1.75}.construction-slots{align-items:stretch;gap:7px;margin:17px 0;display:flex}.construction-stop{flex:1;align-items:center;gap:7px;min-width:0;display:flex}.construction-stop>svg{color:#829466;flex-shrink:0}.construction-stop button{text-align:center;color:#77875e;background:#eef2dd;border:2px dashed #aaba8c;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;height:100%;min-height:108px;padding:15px 9px;font-size:14px;line-height:1.5;display:flex;position:relative}.construction-stop button.occupied{color:#fff3bd;background:#234d47;border:2px solid #b4c79a;box-shadow:0 4px #a5b995}.construction-stop button>span{color:#526b3d;background:#d1debc;border-radius:50%;place-items:center;width:24px;height:24px;font:12px monospace;display:grid}.trace-board .construction-stop button.occupied{color:#e6f2ec;background:#2d4d62}.construction-tools{flex-wrap:wrap;gap:8px;margin:15px 0;display:flex}.construction-tools button{white-space:normal;color:#39583e;text-align:left;background:#fcfdee;border-color:#a9bd8d;height:auto;min-height:42px;padding:10px 14px;font-size:14px;line-height:1.5}.construction-tools button:disabled{opacity:.4}.battle-construction>small{color:#6f8359;font-size:12px;line-height:1.7;display:block}.battle-evidence{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0;display:grid}.battle-evidence button{text-align:left;background:#ece9d0;border:2px dashed #b5b484;border-radius:7px;padding:16px}.battle-evidence button.examined{background:#faf6de;border-style:solid;border-color:#c1ba84}.battle-evidence button>span{color:#7a6b3f;align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.battle-evidence button p{color:#666a49;margin:10px 0 0;font-size:15px;line-height:1.7}.battle-answers{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.battle-answers button{white-space:normal;text-align:left;color:#3c593c;background:#f9faec;border:1px solid #acbf92;justify-content:flex-start;align-items:flex-start;gap:10px;height:auto;min-height:64px;padding:13px;font-size:15px;line-height:1.65;display:flex}.battle-answers button>span{background:#edf1de;border:1px solid #c2d0ab;border-radius:4px;flex-shrink:0;place-items:center;width:24px;height:24px;margin-top:2px;font:12px monospace;display:grid}.battle-answers button[aria-pressed=true]{background:#deedcd;border:2px solid #588b59}.battle-estimate{background:#e8edd5;border:1px solid #afbf92;border-radius:8px;flex-wrap:wrap;align-items:center;gap:14px;padding:22px;font-size:16px;line-height:1.5;display:flex}.battle-estimate input{color:#2c503a;background:#fffef0;max-width:170px;height:52px;font:24px monospace}.battle-estimate>span{color:#708352;font-size:14px}.battle-allocation{background:#e4edd6;border:1px solid #a9bf91;border-radius:8px;margin:15px 0;padding:20px}.fleet-towers{flex-wrap:wrap;justify-content:center;gap:13px;min-height:68px;display:flex}.fleet-towers>span{color:#e5efc8;background:#234c46;border:2px solid #adbf8c;border-radius:6px;flex-direction:column;align-items:center;gap:7px;padding:10px;display:flex}.fleet-towers small{font:11px monospace}.fleet-towers>span.fleet-down{color:#dbb697;opacity:.7;background:#76675b;border-color:#b7a484}.fleet-counter{justify-content:center;align-items:center;gap:15px;margin:18px 0;display:flex}.fleet-counter b{font:20px monospace}.fleet-counter button{background:#f9f9e8;border-color:#aabc8b;width:42px;height:42px}.fleet-readout{flex-wrap:wrap;justify-content:center;gap:20px;font-size:14px;display:flex}.fleet-readout .met{color:#377044}.fleet-readout .unmet{color:#a15c37}.battle-action-row{flex-wrap:wrap;align-items:center;gap:14px;margin-top:20px;display:flex}.battle-primary{color:#fff4d3;white-space:normal;background:#2c684e;border:1px solid #2a684b;height:auto;min-height:46px;padding:11px 21px;font-size:15px;font-weight:700;line-height:1.5}.battle-primary:hover{background:#255940}.battle-primary:disabled{color:#617452;opacity:1;background:#b8c7a6;border-color:#b8c7a6}.battle-action-row>button:not(.battle-primary){color:#6e8353;font-size:14px}.battle-feedback{background:#e5edcf;border:1px solid #adbf89;border-left:5px solid #7c9d52;border-radius:7px;margin:20px 0;padding:17px 20px}.battle-feedback.try-again{background:#f1e5d0;border-color:#caaa75}.battle-feedback>b{color:#45673b;font:700 15px monospace}.battle-feedback p{color:#536947;margin:10px 0;font-size:15px;line-height:1.8}.battle-feedback .battle-solution{color:#7a7148;font-size:14px}.battle-feedback button{margin-top:8px}.battle-hint{color:#6c7653;background:#f2edd4;border-radius:7px;align-items:center;gap:14px;margin-top:15px;padding:13px 17px;font-size:14px;line-height:1.7;display:flex}.battle-hint>.bit-sprite{flex-shrink:0;width:36px;height:36px}.battle-result{text-align:center;color:#607446;background:#f4ecd4;border:2px solid #c5af76;border-radius:10px;margin-top:20px;padding:22px}.battle-result.won{background:linear-gradient(130deg,#fff4ce,#deebc5);border-color:#c0b16c}.battle-result>svg{color:#aa8634;margin:0 auto 10px}.battle-result h2{margin:8px 0;font:700 23px/1.5 monospace}.battle-result p{max-width:650px;margin:10px auto;font-size:15px;line-height:1.7}.battle-result>div{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:18px;display:flex}@media (width<=800px){.adventure-shell{padding:9px}.adventure-hud{flex-wrap:wrap;gap:8px;padding:9px 12px}.adventure-player{min-width:120px}.adventure-player b{font-size:14px}.adventure-badges{gap:5px}.adventure-badges button{width:33px;height:37px}.adventure-menu{margin-left:auto}.adventure-location{flex-wrap:wrap;gap:12px;padding:13px 15px}.adventure-location h1{font-size:21px}.adventure-location>p{flex:1;min-width:180px;max-width:100%;margin:0;font-size:13px}.adventure-controls{flex-wrap:wrap;justify-content:center;gap:8px;font-size:12px}.adventure-controls>span{text-align:center;flex-basis:100%}.adventure-controls small{font-size:11px}.battle-room{height:31vh;min-height:270px}.battle-top{padding:15px}.battle-top>div{max-width:70%}.battle-top h1{font-size:21px}.battle-top button{max-width:110px;font-size:11px}.battle-hero{width:105px;height:105px;left:8%}.battle-hero>.hero-sprite{width:105px;height:105px}.battle-enemy{width:155px;height:155px;bottom:40px;right:12%}.battle-impact{text-align:center;max-width:70%;font-size:13px}.battle-play-area{padding:18px}.battle-prompt h2{font-size:19px}.construction-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.construction-stop:nth-child(2)>svg{display:none}.construction-stop button{min-height:95px;font-size:13px}.construction-stop{gap:5px}.battle-evidence,.battle-answers{grid-template-columns:1fr}.battle-answers button{min-height:54px;font-size:14px}.battle-life{padding:10px 14px}.battle-life small{display:none}.fleet-readout{gap:10px;font-size:13px}.adventure-dialog{max-width:calc(100vw - 22px);padding:21px}.adventure-dialog [data-slot=dialog-title]{font-size:22px}.adventure-dialog p{font-size:15px}.mentor-room-preview{height:130px}.npc-conversation{gap:10px;padding:12px}.npc-conversation>.mentor-sprite{width:50px;height:50px}.battle-result h2{font-size:20px}}.mentor-demo{background:#e7eed8;border:1px solid #b4c393;border-radius:7px;padding:15px}.mentor-demo>span{letter-spacing:.6px;color:#627b4b;font:11px monospace}.mentor-demo>p{font-size:14px;line-height:1.7}.mentor-demo button{white-space:normal;color:#46633f;background:#fcfcef;border-color:#abbf8e;height:auto;min-height:38px;padding:8px 12px;font-size:13px;line-height:1.5}.mentor-demo>div:last-child{flex-wrap:wrap;gap:7px;display:flex}.mentor-request-path{justify-content:space-around;gap:12px;margin:15px 0;display:flex}.mentor-request-path>div{color:#6c8057;background:#cddaba;border:1px solid #adc095;border-radius:6px;flex-direction:column;flex:1;align-items:center;gap:7px;padding:12px 16px;display:flex;position:relative}.mentor-request-path>div.reached{color:#f1e6b4;background:#365e52}.mentor-request-path b{font:12px monospace}.mentor-request-path>div>svg:last-child:not(:first-child){color:#577a4b;position:absolute;top:40%;right:-15px}.mentor-storage{gap:15px;margin:15px 0;display:flex}.mentor-storage span{text-align:center;background:#f5f7e8;border:1px solid #b4c698;border-radius:5px;flex:1;padding:12px;font-size:13px}.mentor-storage b{color:#416241;margin-top:8px;font:700 18px monospace;display:block}@media (prefers-reduced-motion:reduce){.adventure-landscape,.building-aura,.battle-top [data-slot=progress-indicator]{transition:none}.strike-landed .battle-enemy,.strike-landed .battle-hero,.strike-missed .battle-hero{animation:none}}.adventure-bridge{z-index:5}.adventure-bridge.bridge-low{transform:translate(-50%,-100%)}.adventure-shell{padding:12px}.adventure-game{max-width:1060px}.adventure-hud{min-height:58px;padding:7px 14px}.adventure-location{padding:10px 16px}.adventure-location h1{font-size:22px}.adventure-location>p{font-size:13px;line-height:1.5}.adventure-building .building-name{white-space:normal;min-width:0;max-width:145px;padding:5px 8px;font-size:11px;line-height:1.35}.adventure-building .building-banner{gap:3px;padding:3px 6px;font-size:9px}.building-banner svg{width:12px;height:12px}.adventure-quest-note{gap:6px;padding:6px 9px;bottom:12px;left:12px}.adventure-quest-note>span{font-size:11px}.adventure-controls button{min-width:44px;min-height:44px}.adventure-boss{width:95px;height:108px}.adventure-boss>span{padding:4px;font-size:10px}.adventure-game>.quest-dialogue{width:calc(100% - 24px)}.adventure-dialog.character-creation{gap:10px;width:min(450px,100vw - 24px);max-height:85dvh;padding:18px}.character-creation [data-slot=dialog-title]{font-size:20px}.character-creation [data-slot=dialog-description]{font-size:13px;line-height:1.5}.character-creation .creation-portrait{height:58px}.character-creation .creation-portrait>.hero-sprite{width:60px;height:60px}.character-creation .creation-portrait>.bit-sprite{width:26px;height:26px;margin-bottom:6px}.character-creation fieldset{padding:3px 0}.character-creation fieldset label{min-height:36px;font-size:14px}.character-creation legend{margin-bottom:2px}.character-creation [data-slot=radio-group]{gap:12px}.mentor-field{max-width:820px;max-height:none;box-shadow:none;margin:16px auto;padding:18px 22px;scroll-margin:12px;position:static}.mentor-field:focus{outline-offset:3px;outline:2px solid #d4bd7a}.mentor-field-heading{justify-content:space-between;align-items:center;gap:15px;display:flex}.mentor-field h2{margin:0;font:700 19px ui-sans-serif,system-ui}.mentor-field small{font-size:12px}.mentor-field p{font-size:15px;line-height:1.7}.mentor-field h3{font-size:18px}.mentor-field .lesson-count{margin-top:16px}.mentor-field .lesson-navigation{margin:14px 0}.mentor-field-heading button{color:#2d5840;white-space:normal;height:auto;min-height:44px}.battle-result{margin-top:14px;padding:14px 18px}.battle-result>svg{width:22px;height:22px;margin-bottom:4px}.battle-result h2{margin:4px 0;font-size:19px}.battle-result p{margin:6px auto;font-size:14px}.battle-result>div{margin-top:10px}.battle-feedback{margin:14px 0;padding:12px 16px}.quest-battle>.quest-dialogue{width:calc(100% - 24px)}.quest-ending>.quest-dialogue{width:calc(100% - 28px)}.ending-copy h1{font-size:clamp(24px,3vw,34px)}.ending-offers>button{padding:16px}.ending-offers h2{font-size:20px}@media (width<=600px){.adventure-shell{padding:6px}.adventure-location{padding:8px 12px}.adventure-location h1{font-size:19px}.adventure-location>p{font-size:12px}.mentor-field{margin:10px auto;padding:15px}.mentor-field-heading{align-items:flex-start}.adventure-dialog.character-creation{padding:16px}.character-creation [data-slot=radio-group]{gap:9px}}.adventure-access-note{background:#244739;border:1px solid #97a878;border-radius:9px;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:12px;padding:12px;display:flex}.adventure-access-note p{margin:0;font-size:14px}.adventure-access-note button{white-space:normal;min-height:44px}.release-bar{color:#e3dab5;background:#102d30;border-bottom:1px solid #4d6354;flex-wrap:wrap;align-items:center;gap:18px;padding:10px 22px;display:flex}.release-bar>a{letter-spacing:2px;color:#ffe4a3;font:800 14px monospace}.release-bar>span{font:12px monospace}.release-bar small{color:#afc6b5;font-size:11px;line-height:1.7;display:block}.release-bar>div{flex-wrap:wrap;gap:5px;margin-left:auto;display:flex}.release-bar button{white-space:normal;height:auto;padding:8px;font-size:12px}.release-bar button:hover{color:#fff3bf;background:#284940}.release-footer{color:#c4d3bd;background:#102d30;gap:15px;font-size:12px;display:flex}.release-footer a{color:#f0d99d}.release-error{color:#643f26;background:#fff1da;max-width:900px;margin:20px auto;padding:25px}.release-library{max-width:900px;margin:30px auto;padding:24px;line-height:1.8}.release-library>p{max-width:760px}.release-library a{text-decoration:underline}.release-library section{background:#fffdf1;border:1px solid #d2dcbb;border-radius:12px;margin:22px 0;padding:25px}.release-library h3{font:700 23px monospace}.release-library h4{margin:25px 0 8px;font-size:17px}.release-library article{border-bottom:1px solid #dfe5cf;padding-bottom:14px}.release-library blockquote{background:#edf2df;border-left:3px solid #9db27f;padding:10px 18px}.release-library select,.adventure-dialog select,.adventure-dialog textarea{color:#294532;background:#fffef3;border:1px solid #839675;border-radius:6px;width:100%;padding:11px;font:15px/1.7 Arial}.release-library label{margin:20px 0;display:block}.campaign-selector{border-top:1px solid #bfcaa9;padding-top:15px}.campaign-selector summary{cursor:pointer;font-weight:700}.campaign-selector button{text-align:left;white-space:normal;border-bottom:1px solid #d5dcc4;width:100%;height:auto;padding:12px;display:block}.campaign-selector small{font-size:11px;line-height:1.6;display:block}.adventure-location small{color:#b7cbbb;max-width:430px;font-size:11px;line-height:1.7;display:block}.quest-ending{color:#ebedd9;background:#101f34;min-height:90vh;padding-bottom:40px}.ending-scene{background-position:50%;background-size:cover;height:390px;position:relative;overflow:hidden}.ending-scene:after{content:"";background:linear-gradient(#0000,#101f34);position:absolute;inset:0}.ending-stars{text-align:center;color:#ffdf83;letter-spacing:25px;font-size:40px;animation:3s ease-in-out infinite ending-glow;position:absolute;inset:25px 0 auto}.ending-couple{z-index:2;filter:drop-shadow(0 0 25px #e9bd77aa);justify-content:center;gap:10px;display:flex;position:absolute;bottom:40px;left:0;right:0}.ending-couple>.hero-sprite{width:145px;height:145px}.ending-caption{z-index:3;text-align:center;color:#ffdf9f;letter-spacing:2px;font:12px monospace;position:absolute;bottom:15px;left:0;right:0}.ending-copy{max-width:980px;margin:auto;padding:25px}.ending-copy h1{color:#ffdfa1;font:700 clamp(25px,4vw,38px) monospace}.ending-copy>p{max-width:750px;font-size:18px;line-height:1.9}.ending-copy .eyebrow{color:#9cdbc8}.ending-offers{grid-template-columns:repeat(3,1fr);gap:18px;margin:30px 0;display:grid}.ending-offers button{color:#344438;text-align:left;background:#fff3d7;border:2px solid #c5a368;border-radius:12px;min-height:230px;padding:24px 18px}.ending-offers button>span{color:#a47b38;font-size:36px}.ending-offers h2{font:700 21px monospace}.ending-offers b,.ending-offers strong{margin:12px 0;display:block}.ending-offers strong{font-size:20px}.ending-offers p{font-size:13px;line-height:1.8}.ending-copy .ending-fineprint{color:#afbfc0;font-size:12px;line-height:1.8}@keyframes ending-glow{50%{opacity:.5;transform:translateY(8px)}}@media (width<=650px){.release-bar{gap:10px;padding:12px}.release-bar>div{margin:0}.ending-offers{grid-template-columns:1fr}.ending-scene{height:300px}.ending-couple>.hero-sprite{width:115px;height:115px}.ending-caption{letter-spacing:1px;font-size:9px}}@media (prefers-reduced-motion:reduce){.ending-stars{animation:none}}.teacher-report{border:1px solid #bbc8a4;border-radius:6px;padding:15px}.teacher-report small{color:#708360;margin-top:7px;display:block}.teacher-report p{white-space:pre-wrap;overflow-wrap:anywhere}.quest-gate{background-position:50%;background-size:cover;place-items:center;min-height:calc(100vh - 40px);padding:24px 16px;display:grid}.quest-gate-card{color:#294532;background:#fffdf1;border:2px solid #c5a368;border-radius:14px;max-width:560px;padding:30px;box-shadow:0 20px 60px #0008}.quest-gate-card .eyebrow{letter-spacing:2px;color:#7a6331;font:12px monospace}.quest-gate-card h1{margin:10px 0;font:700 clamp(24px,4vw,32px) monospace}.quest-gate-card p{line-height:1.8}.quest-gate-card ul{margin:16px 0 22px;padding-left:20px;line-height:1.9}.quest-gate-card button{width:100%}.quest-gate-card>a{text-align:center;color:#2d5a4b;margin-top:16px;text-decoration:underline;display:block}.quest-status{color:#ffe4a3;flex-wrap:wrap;align-items:center;gap:4px;font-size:12px;display:flex}.quest-status button{color:#ffe4a3;text-decoration:underline}.quest-status.won{color:#b7f5c8}.paywall-list{margin:6px 0 4px;padding-left:20px;line-height:1.8}.paywall-list li{margin:8px 0}.paywall-fine{color:#5d6d58;font-size:12px;line-height:1.7}.paywall-fine a{text-decoration:underline}.adventure-dialog label{margin:8px 0;display:block}.admin-dialog{max-height:88vh;overflow:auto;max-width:min(960px,100vw - 32px)!important}.quest-admin h3{margin:22px 0 8px;font:700 18px monospace}.quest-admin article{margin:10px 0}.quest-admin article button{margin:8px 8px 0 0}.quest-admin table{border-collapse:collapse;width:100%;font-size:13px}.quest-admin th,.quest-admin td{text-align:left;vertical-align:top;border-bottom:1px solid #d5dcc4;padding:6px}.quest-admin td small{color:#708360;display:block}.paywall-quote{border:1px dashed #b9a46d;border-radius:8px;margin:10px 0;padding:10px 14px;font-size:14px}.paywall-quote span{justify-content:space-between;padding:2px 0;display:flex}.paywall-quote .total{border-top:1px solid #d5dcc4;margin-top:4px;padding-top:6px;font-weight:700}.reward-choice{border:1px solid #d5dcc4;border-radius:8px;margin:8px 0;padding:8px 12px}.reward-choice legend{padding:0 4px;font-weight:700}.reward-choice label{align-items:flex-start;gap:8px;font-size:14px;line-height:1.6;display:flex!important}.reward-choice input{margin-top:5px}.invite-box{background:#edf2df;border-radius:8px;margin:10px 0;padding:12px}.invite-box code{overflow-wrap:anywhere;margin-bottom:10px;font-size:13px;display:block}.invite-box div{flex-wrap:wrap;gap:8px;display:flex}.invite-stats{font-size:14px}.quest-cert-link{color:#ffe4a3;padding:8px;font-size:12px;text-decoration:underline}.cert-actions{flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0;display:flex}.cert-open{border-radius:8px;padding:10px 16px;font-weight:700;text-decoration:none;display:inline-block}
