@font-face{font-family:"Baloo 2";font-style:normal;font-weight:400 800;font-display:swap;src:url(./baloo2-latin-B_TVFhwJ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:400 800;font-display:swap;src:url(./baloo2-latin-ext-Dz43yst_.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--bg: #f4ecdc;--panel: #fffaf0;--panel-2: #efe3cc;--line: #dcc9a8;--ink: #3d2c1e;--text: #3d2c1e;--dim: #76593f;--accent: #a2461f;--on-accent: #fffaf0;--warn: #a8261b;--gold: #875a06;--clock-low: #f2c14e;--walnut-top: #6e4a30;--walnut: #553722;--on-walnut: #f6e7cb;--brass: #c49a52;--brass-dark: #8d6a2e;--indicator: #24170e;--glow: #ffe3a6;--glow-dim: #b89c74;--glow-two: #f5b23e;--glow-one: #ff8b74;--glow-off: rgba(255, 227, 166, .2);--group: #6a4ea6;--courier: #2d6a9c;--halo: rgba(250, 244, 232, .9);--scrim: rgba(61, 44, 30, .45);--display: "Baloo 2", system-ui, -apple-system, "Segoe UI", sans-serif;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;height:100%;overflow:hidden;background:var(--bg);color:var(--text);overscroll-behavior:none;touch-action:manipulation;user-select:none}#app{position:fixed;inset:0;display:flex;flex-direction:column}.screen{position:absolute;inset:0;display:none;flex-direction:column;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom)}.screen[data-active=true]{display:flex}button{font:inherit;color:inherit;border:1.5px solid var(--line);background:var(--panel-2);border-radius:12px;padding:10px 14px;cursor:pointer;transition:background .12s ease,transform 80ms ease}button:active{transform:scale(.97)}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--accent);border-color:var(--ink);color:var(--on-accent);font-family:var(--display);font-weight:700;font-size:16px;box-shadow:0 3px 0 var(--ink)}button.primary:active{box-shadow:0 1px 0 var(--ink);transform:translateY(2px)}button.ghost{background:transparent}.menu-head{padding:22px 20px 12px}.menu-head h1{margin:0;font-family:var(--display);font-size:30px;font-weight:800;line-height:1.1}.menu-head p{margin:6px 0 0;color:var(--dim);font-size:13px;line-height:1.45}.home{background:linear-gradient(#d3e2e7,#efe4cf 70%,var(--bg));overflow:clip}.home-top{flex:none;display:flex;align-items:center;gap:7px;min-height:56px;padding:7px 10px 11px;color:var(--on-walnut)}.home-title{flex:1;text-align:center;padding-left:42px}.home-title h1{margin:0;font-family:var(--display);font-size:22px;font-weight:800;line-height:1.05;color:#fff3dc;text-shadow:0 2px 0 rgba(20,12,6,.45)}.home-title p{margin:1px 0 0;color:var(--glow-dim);font-size:11px}.home-place{flex:1;min-width:0;text-align:center}.home-building{font-family:var(--display);font-size:18px;font-weight:800;line-height:1.1;color:#fff3dc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-sub{color:var(--glow-dim);font-size:10.5px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-edge{position:absolute;top:50%;z-index:2;display:flex;align-items:center;justify-content:center;width:28px;height:64px;margin-top:-32px;padding:0;border:3px solid transparent;background:linear-gradient(#fffaf0,#efe0c0) padding-box,linear-gradient(160deg,#ecd294,var(--brass) 45%,var(--brass-dark)) border-box;box-shadow:0 0 0 1.5px var(--ink),0 3px 8px #140c0659;color:var(--ink)}.home-edge[data-side=prev]{left:0;border-left:0;border-radius:0 32px 32px 0}.home-edge[data-side=next]{right:0;border-right:0;border-radius:32px 0 0 32px}.home-edge svg{width:17px;height:17px}.home-coins{flex:none;display:flex;align-items:center;gap:5px;height:30px;padding:0 9px 0 6px;border:0;border-radius:8px;background:var(--indicator);box-shadow:inset 0 2px 5px #000000b3,0 0 0 2px var(--brass),0 0 0 3.5px var(--ink);color:var(--glow);font-family:var(--display);font-size:16px;font-weight:800;font-variant-numeric:tabular-nums;text-shadow:0 0 6px rgba(255,186,80,.45)}.home-coins svg{width:17px;height:17px}.home-upgrade{position:relative}.home-upgrade[data-ready=true]:after{content:"";position:absolute;right:-5px;top:-5px;width:11px;height:11px;border-radius:50%;background:var(--accent);border:2px solid var(--ink);animation:ready-dot 2.4s ease-in-out infinite}@keyframes ready-dot{50%{transform:scale(1.25)}}@media(prefers-reduced-motion:reduce){.home-upgrade[data-ready=true]:after{animation:none}}@media(max-width:359px){.home-upgrade .brass-pill-text{display:none}.home-upgrade{width:34px;padding:0}}.home-stage{--street-h: 84px;position:relative;flex:1;min-height:0;overflow:clip;touch-action:pan-y}.home-scroll{position:absolute;inset:0 0 var(--street-h);z-index:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 14px;touch-action:pan-y}.home-lot{min-height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-top:18px}.home-scroll[data-enter=from-right]{animation:building-in-right .24s ease-out}.home-scroll[data-enter=from-left]{animation:building-in-left .24s ease-out}@keyframes building-in-right{0%{transform:translate(100%)}}@keyframes building-in-left{0%{transform:translate(-100%)}}@media(prefers-reduced-motion:reduce){.home-scroll[data-enter]{animation:none}}.building{--facade: #bdb9b1;--facade-face: repeating-linear-gradient(0deg, #bdb9b1 0 11px, #a9a59c 11px 12px);--wall: #ebe9e4;--wall-pattern: linear-gradient(#fbfaf6, #fbfaf6) 40px 1px / 54px 3px no-repeat, repeating-linear-gradient(90deg, transparent 0 71px, #d3cec4 71px 72px), linear-gradient( transparent calc(50% - .5px) , #dcd8cf calc(50% - .5px) calc(50% + .5px) , transparent calc(50% + .5px) );--slab: #a8a49b;--shaft: #2f3032;--shaft-edge: #1f2124;--plaque: #2f3032;--plaque-ink: #fffaf0;--plaque-rule: #c49a52;max-width:420px;margin:0 auto}.building[data-building=grand-hotel]{--facade: #b98a74;--facade-face: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='18'%3E%3Crect width='13' height='18' fill='%23b98a74'/%3E%3Cpath d='M0 6H13M0 12H13M6 0V6M2 6V12M10 6V12M6 12V18' stroke='%239c6f5c' stroke-width='1'/%3E%3Crect width='7' height='6' fill='%23e6d8c3'/%3E%3C/svg%3E");--wall: #f0e2cc;--wall-pattern: linear-gradient( to top, rgb(207 169 131 / .55) 0 30%, #9a7350 30% calc(30% + 3px) , transparent calc(30% + 3px) ), repeating-linear-gradient(90deg, #f0e2cc 0 8px, #e8d4b6 8px 16px);--slab: #dccab0;--shaft: #2b2628;--shaft-edge: #c49a52;--plaque: #682f2e;--plaque-ink: #ffd27a;--plaque-rule: #682f2e}.building[data-building=transit-centre]{--facade: #e2ddcf;--facade-face: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='10'%3E%3Crect width='13' height='10' fill='%23e2ddcf'/%3E%3Ccircle cx='6.5' cy='5' r='1.3' fill='%23a9a392'/%3E%3C/svg%3E");--wall: #f3f1ea;--wall-pattern: linear-gradient( transparent 38%, #9fb9ae 38% calc(38% + 6px) , transparent calc(38% + 6px) calc(38% + 8px) , #c5d4cd calc(38% + 8px) calc(38% + 10px) , transparent calc(38% + 10px) ), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Cpath d='M0 0.5H18M0 9.5H18M0.5 0V9M9.5 9V18' stroke='%23dedad0' stroke-width='1'/%3E%3C/svg%3E");--slab: #3f5248;--shaft: #3e5248;--shaft-edge: #24302a;--plaque: #3f5248;--plaque-ink: #fffaf0;--plaque-rule: #3f5248}.building[data-building=skyline-tower]{--facade: #aec2d1;--facade-face: linear-gradient(180deg, #d9e7f1, #9fb4c4);--wall: #eaf0f4;--wall-pattern: repeating-linear-gradient(90deg, transparent 0 44px, #c3cfd8 44px 46px), linear-gradient(transparent 62%, #c3cfd8 62% calc(62% + 2px) , transparent calc(62% + 2px) ), linear-gradient(#cfe2ee, #eef4f8 62%, transparent 62%);--slab: #8d9aa8;--shaft: #1d2540;--shaft-edge: #141b2b;--plaque: #1d2540;--plaque-ink: #fffaf0;--plaque-rule: #7fd0e6}.b-roof svg,.b-entrance svg{display:block;width:100%;height:auto}@media(prefers-reduced-motion:no-preference){.neon-hum{animation:neon-hum 3.2s ease-in-out infinite alternate}.neon-flicker{animation:neon-flicker 5.3s linear infinite}.neon-flicker.slow{animation-duration:8.9s;animation-delay:-3.1s}.beacon{animation:beacon 1.6s steps(1,end) infinite}.antenna-light{animation:beacon 2.4s steps(1,end) infinite;animation-delay:-.7s}}@keyframes neon-hum{0%{opacity:.82}to{opacity:1}}@keyframes neon-flicker{0%,61%,64%,66%,71%,to{opacity:1}62%,65%,67%,70%{opacity:.18}}@keyframes beacon{0%{opacity:1}50%{opacity:.25}}.b-floors{padding:0 13px;outline:2px solid var(--ink);outline-offset:0;background:var(--facade-face);background-color:var(--facade)}.floor{position:relative;display:flex;width:100%;height:100px;padding:0;margin:0;border:0;border-bottom:6px solid var(--slab);border-radius:0;background:var(--wall);text-align:left;font:inherit;color:inherit;cursor:pointer}.floor:active{transform:none;filter:brightness(.97)}.floor-shaft{position:relative;flex:none;width:54px;background:var(--shaft);border-right:2px solid var(--shaft-edge)}.floor-shaft[data-cable=true]:after{content:"";position:absolute;left:23.6px;top:0;bottom:0;width:6.8px;background:linear-gradient(90deg,#8a8279 0 1.8px,transparent 1.8px 5px,#8a8279 5px 6.8px)}.lift{position:absolute;left:5px;bottom:4px;width:44px;height:74px}.lift svg{width:100%;height:100%}.floor-room{position:relative;flex:1;min-width:0;overflow:hidden;background:var(--wall-pattern)}.room-art{position:absolute;left:0;bottom:0;width:100%;height:100%}@media(prefers-reduced-motion:no-preference){.room-sway{animation:room-sway 3.8s ease-in-out infinite alternate}.floor:nth-child(2n) .room-sway{animation-duration:4.4s;animation-delay:-1.7s}}@keyframes room-sway{0%{transform:rotate(-3deg)}to{transform:rotate(3deg)}}.floor-label{position:absolute;left:8px;top:8px;right:60px;display:flex;align-items:center;gap:7px}.plaque{flex:none;min-width:30px;padding:1px 5px;border-radius:5px;background:#c49a52;border:1.5px solid var(--ink);font-family:var(--display);font-size:13px;font-weight:800;text-align:center}.building .floor .plaque{background:var(--plaque);color:var(--plaque-ink);box-shadow:inset 0 -2px 0 var(--plaque-rule)}.floor-name{min-width:0;font-family:var(--display);font-size:15px;font-weight:700;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-text-stroke:4px var(--halo);paint-order:stroke fill}.floor-stars{position:absolute;right:8px;top:9px;color:var(--gold);font-size:14px;letter-spacing:1px;-webkit-text-stroke:3px var(--halo);paint-order:stroke fill}.floor[data-medal] .floor-label{right:84px}.floor-medal{position:absolute;right:62px;top:6px;line-height:0}.floor-medal .medal{width:14px;height:17px}.floor-play{position:absolute;right:8px;top:7px;display:flex;align-items:center;gap:5px;height:30px;padding:0 14px 0 11px;border-radius:15px;background:var(--accent);color:var(--on-accent);border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink);font-family:var(--display);font-size:15px;font-weight:800;letter-spacing:.02em;animation:play-breathe 2.4s ease-in-out infinite}.floor-play svg{width:11px;height:11px}.floor[data-state=next]:active .floor-play{transform:translateY(2px);box-shadow:0 1px 0 var(--ink);animation:none}.floor[data-state=next] .floor-label{right:96px}@keyframes play-breathe{0%,to{box-shadow:0 3px 0 var(--ink),0 0 #a2461f73}50%{box-shadow:0 3px 0 var(--ink),0 0 0 8px #a2461f00}}@media(prefers-reduced-motion:reduce){.floor-play{animation:none}}.floor-after{position:absolute;left:46px;top:30px;font-size:10px;font-weight:650}.floor-people{position:absolute;left:4px;bottom:2px;display:flex;align-items:flex-end;gap:2px;transform:scale(.6);transform-origin:left bottom}.floor-person svg{display:block}.floor-hard{flex:none;padding:0 5px;border-radius:4px;background:#b0402a;color:#fff4e6;border:1.5px solid var(--ink);font-size:10px;font-weight:800;letter-spacing:.08em}.floor-new{position:absolute;right:10px;bottom:3px;display:flex;align-items:flex-end;gap:4px;color:#5b4a3a;pointer-events:none}.floor[data-state=locked] .floor-new{color:#8a8199}.floor-new svg{display:block}.floor-new-tag{margin-bottom:4px;padding:1px 6px;border-radius:999px;background:var(--panel);border:1.5px solid currentColor;font-size:10px;font-weight:800}.floor-new-badge{position:absolute;left:20px;top:-9px;padding:0 5px;border-radius:999px;background:var(--accent);color:var(--on-accent);border:1.5px solid var(--ink);font-size:9px;font-weight:800;letter-spacing:.06em;pointer-events:none}.floor[data-state=next]{box-shadow:inset 0 0 0 3px var(--accent)}.floor[data-state=locked]{cursor:default;background:#4a4658}.floor[data-state=locked] .floor-room{background-image:none}.floor[data-state=locked] .room-art{filter:brightness(.3) saturate(.4);opacity:.6}.floor[data-state=locked] .floor-shaft{background:#5a5560;border-right-color:#4a4658}.floor[data-state=locked] .plaque{background:#6b6478;color:#d6cfe2;box-shadow:none}.floor[data-state=locked] .floor-name{color:#d6cfe2;-webkit-text-stroke:0}.floor[data-state=locked] .floor-after{color:#b3abc3}.home-lot[data-locked=true] .building{filter:brightness(.32) saturate(.25)}.home-lot[data-locked=true] .floor-label,.home-lot[data-locked=true] .floor-after,.home-lot[data-locked=true] .floor-new{visibility:hidden}.home-locked{position:absolute;top:44%;left:50%;z-index:2;display:flex;flex-direction:column;align-items:center;gap:6px;max-width:220px;padding:14px 20px 12px;border-radius:14px;background:#1e1622d1;border:1.5px solid rgba(230,201,138,.55);color:#f4ead6;text-align:center;transform:translate(-50%,-50%);pointer-events:none}.home-locked svg{width:30px;height:34px;color:#e6c98a}.home-locked-line{font-family:var(--display);font-size:15px;font-weight:700;line-height:1.2}.home-edge[data-locked=true]{opacity:.8}.b-entrance{padding:0 13px;outline:2px solid var(--ink);background:linear-gradient(var(--wall),var(--wall)) content-box,var(--facade-face);background-color:var(--facade)}.home-stage[data-underground=true] .home-scroll{inset:0}.home-street{will-change:transform}.b-street-gap{flex:none;height:var(--street-h)}.b-underground{--earth: #8b7966;--earth-face: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='46' height='38'%3E%3Cpath d='M0 27 Q12 23 23 27 T46 26' fill='none' stroke='%23b8a284' stroke-width='3' opacity='.55'/%3E%3Ccircle cx='9' cy='9' r='2.6' fill='%23cfc3b0' stroke='%23a89a86' stroke-width='.8'/%3E%3Ccircle cx='33' cy='15' r='1.8' fill='%23d9cfbe' stroke='%23a89a86' stroke-width='.8'/%3E%3Ccircle cx='24' cy='34' r='2.2' fill='%23cfc3b0' stroke='%23a89a86' stroke-width='.8'/%3E%3Ccircle cx='42' cy='4' r='1.4' fill='%23d9cfbe' stroke='%23a89a86' stroke-width='.7'/%3E%3C/svg%3E"), linear-gradient(#a08c74, #8b7966 40%);position:relative;margin:0 -14px;background:var(--earth-face);background-color:var(--earth)}.under-utilities svg{display:block;width:100%;height:40px}.b-underground>.b-below{--facade: var(--earth);--facade-face: var(--earth-face);width:calc(100% - 28px);margin:0 auto;padding-bottom:14px}.floor-depth{position:absolute;top:6px;left:50%;z-index:1;transform:translate(-50%);min-width:30px;padding:0 5px;border-radius:5px;border:1.5px solid var(--ink);background:var(--plaque);color:var(--plaque-ink);box-shadow:inset 0 -2px 0 var(--plaque-rule);text-align:center;font-family:var(--display);font-size:14px;font-weight:800;line-height:1.35;pointer-events:none}.under-drip{position:absolute;top:26px;left:calc(61% + 2px)}.under-worm{position:absolute;top:25px;left:14%}.under-drip svg,.under-worm svg{display:block}.under-tunnel{position:relative;height:60px;overflow:hidden}.under-tunnel>svg{position:absolute;inset:0;width:100%;height:100%}.metro{position:absolute;top:20px;left:0;transform:translate(-260px)}.metro svg{display:block}@media(prefers-reduced-motion:no-preference){.metro{animation:metro-run 13s linear -4s infinite}.under-drip{animation:drip 2.8s ease-in infinite}.under-worm .worm-a{animation:worm .9s ease-in-out infinite alternate}.under-worm .worm-b{animation:worm .9s ease-in-out -.45s infinite alternate}}@media(prefers-reduced-motion:reduce){.metro{transform:translate(30px)}}@keyframes metro-run{0%{transform:translate(-260px)}30%,to{transform:translate(calc(100vw + 20px))}}@keyframes drip{0%,40%{transform:translateY(0) scale(.4);opacity:0}50%{transform:translateY(0) scale(1);opacity:1}90%{transform:translateY(14px);opacity:1}to{transform:translateY(16px);opacity:0}}@keyframes worm{to{transform:scaleY(.4)}}.under-worm path{transform-box:fill-box;transform-origin:center}.home[data-fresh=true] .floor[data-state=locked] .floor-name,.home[data-fresh=true] .floor[data-state=locked] .floor-after{visibility:hidden}.home-sky,.home-street{pointer-events:none}.home-sky{position:absolute;inset:0 -60px var(--street-h);overflow:hidden}.home-sky>div{position:absolute;inset:0}.cloud,.flock,.plane,.heli,.walker,.vehicle{position:absolute;left:0;will-change:transform;animation:cross-east var(--t) linear var(--d) infinite}.cloud svg,.flock svg,.plane svg,.heli svg,.walker svg,.vehicle svg{display:block}.west{animation-name:cross-west}.west svg{transform:scaleX(-1)}.cloud{opacity:.9}.flock{animation-name:fly-west}.plane{animation-name:fly-east}.heli{animation-name:fly-west}.heli svg,.plane svg{transform:scaleX(-1)}.wing{transform-box:fill-box;transform-origin:center;animation:flap .32s ease-in-out infinite alternate}.rotor{transform-box:fill-box;transform-origin:center;animation:rotor .12s linear infinite alternate}@keyframes cross-east{0%{transform:translate(-120px)}to{transform:translate(calc(100vw + 20px))}}@keyframes cross-west{0%{transform:translate(calc(100vw + 20px))}to{transform:translate(-120px)}}@keyframes fly-east{0%{transform:translate(-80px)}45%,to{transform:translate(calc(100vw + 20px))}}@keyframes fly-west{0%{transform:translate(calc(100vw + 20px))}45%,to{transform:translate(-80px)}}@keyframes flap{to{transform:scaleY(.35)}}@keyframes rotor{to{transform:scaleX(.25)}}.home-street{position:absolute;left:0;right:0;bottom:0;z-index:2;height:var(--street-h)}.street-ground{--ground-x: 0px;position:absolute;inset:0;background:linear-gradient(90deg,#e9dfc8 0 18px,transparent 18px 40px) 0 52px / 40px 3px repeat-x,linear-gradient(90deg,#c8b99c 0 2px,transparent 2px 28px) 0 2px / 28px 24px repeat-x,linear-gradient(to bottom,#b9a888 0 2px,#ddd0b8 2px 26px,#a99a80 26px 30px,#7a726b 30px 76px,#c8bba2 76px);background-position-x:var(--ground-x),var(--ground-x),0}.street-walk{position:absolute;left:0;right:0;top:-12px}.walker{top:0}.walker svg{animation:bob .5s ease-in-out infinite alternate}.walker.west svg{animation-name:bob-west}.stride-a,.stride-b{transform-origin:9px 21px;animation:stride .5s ease-in-out infinite alternate}.stride-b{animation-direction:alternate-reverse}@keyframes stride{0%{transform:rotate(-16deg)}to{transform:rotate(16deg)}}@keyframes bob{to{transform:translateY(-1.5px)}}@keyframes bob-west{0%{transform:scaleX(-1)}to{transform:scaleX(-1) translateY(-1.5px)}}.lane{position:absolute;left:0;right:0}.lane .vehicle{bottom:0}.lane.far{top:18px;height:32px}.lane.far .vehicle{scale:.88;transform-origin:bottom}.lane.near{top:42px;height:34px}.home-street .vehicle[data-for]{display:none}.home-street[data-building=office-tower] .vehicle[data-for=office-tower],.home-street[data-building=grand-hotel] .vehicle[data-for=grand-hotel],.home-street[data-building=transit-centre] .vehicle[data-for=transit-centre],.home-street[data-building=skyline-tower] .vehicle[data-for=skyline-tower]{display:block}.street-works{position:absolute;right:4px;bottom:calc(var(--street-h) - 24px);display:flex;flex-direction:column;align-items:flex-end}.works-sign{padding:1px 6px 2px;border-radius:5px;background:var(--panel);border:1.5px solid var(--ink);font-size:9px;font-weight:700;line-height:1.2;color:var(--dim);text-align:right}.works-sign b{display:block;color:var(--ink);font-size:10px}.works-barrier{width:34px;height:12px;margin:2px 4px 0 0;border:1.5px solid var(--ink);border-radius:2px;background:repeating-linear-gradient(-45deg,#c9774f 0 5px,#fffaf0 5px 10px)}@media(prefers-reduced-motion:reduce){.home-sky *,.home-street *{animation-play-state:paused}}#app:has(>.sheet[data-open=true]) .home *{animation-play-state:paused}.home-stamp{position:absolute;z-index:3;right:8px;bottom:4px;color:#8a7360;font-size:9.5px;pointer-events:none;-webkit-text-stroke:3px var(--halo);paint-order:stroke fill}.menu-foot{border-top:1px solid var(--line);padding:12px 16px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mode-toggle{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}.mode-toggle button{border:0;border-radius:0;padding:8px 12px;font-size:13px;background:transparent}.mode-toggle button[aria-pressed=true]{background:var(--accent);color:var(--on-accent);font-weight:700}.hint{color:var(--dim);font-size:11px;line-height:1.4;flex-basis:100%}#stage{flex:1;position:relative;min-height:0}#stage canvas{display:block;width:100%;height:100%}.hud-overlay,.controls-overlay{position:absolute;left:0;right:0;display:flex;align-items:center;gap:8px;padding:4px 12px;pointer-events:none}.hud-overlay{top:0}.medal .medal-ribbon{fill:#b0402a}.medal .medal-disc{fill:#e6c98a;stroke:#875a06;stroke-width:1.6}.medal .medal-star{fill:#875a06}.medal[data-lit=false] .medal-ribbon{fill:none;stroke:currentColor;stroke-width:1.2}.medal[data-lit=false] .medal-disc{fill:none;stroke:currentColor}.medal[data-lit=false] .medal-star{fill:currentColor;opacity:.55}.bonus-line{display:flex;align-items:center;gap:7px;padding:6px 10px;border-radius:10px;background:var(--panel);border:1.5px dashed #a68a5b;color:#5b4a3a;font-size:14px;font-weight:700}.bonus-line .medal{flex:none;width:18px;height:22px}.bonus-kicker{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#8a6a2e}.bonus-text{flex:1}.bonus-coins,.bonus-verdict{flex:none;font-family:var(--display);font-weight:800}.results-bonus[data-met=true]{border-style:solid;border-color:#875a06}.results-bonus[data-met=false] .bonus-verdict{color:#8a8199}.hud-bonus{position:absolute;top:50px;right:12px;display:inline-flex;align-items:center;gap:5px;padding:2px 9px 2px 6px;border-radius:999px;background:#3d2c1ee0;color:#fff4e6;font-size:12px;font-weight:700;pointer-events:none}.hud-bonus[hidden]{display:none}.hud-bonus .medal{width:13px;height:16px;color:#e6c98a}.hud-bonus[data-state=missed]{opacity:.6}.hud-bonus[data-state=missed] .hud-bonus-text{text-decoration:line-through}.controls-overlay{bottom:0;flex-direction:column-reverse;align-items:flex-end;gap:6px}#stage[data-building=office-tower],.lift-doors[data-building=office-tower],#screen-garage[data-building=office-tower],.goal-top[data-building=office-tower],.intro-building[data-building=office-tower]{--walnut-top: #55575c;--walnut: #3a3c40;--indicator: #16171a}#stage[data-building=grand-hotel],.lift-doors[data-building=grand-hotel],#screen-garage[data-building=grand-hotel],.goal-top[data-building=grand-hotel],.intro-building[data-building=grand-hotel]{--walnut-top: #682f2e;--walnut: #4a2423;--indicator: #1f0d0c}#stage[data-building=transit-centre],.lift-doors[data-building=transit-centre],#screen-garage[data-building=transit-centre],.goal-top[data-building=transit-centre],.intro-building[data-building=transit-centre]{--walnut-top: #335244;--walnut: #24392f;--indicator: #0c1712}#stage[data-building=skyline-tower],.lift-doors[data-building=skyline-tower],#screen-garage[data-building=skyline-tower],.goal-top[data-building=skyline-tower],.intro-building[data-building=skyline-tower]{--walnut-top: #2f3e57;--walnut: #1f2a3c;--indicator: #0a111c;--brass: #c8d0d8;--brass-dark: #7d8894}.hud-overlay button,.controls-overlay button{pointer-events:auto}.clear-stops:disabled{opacity:.45}.power-button{flex:none;width:34px;height:34px;padding:3px;border-radius:50%;border:1.5px solid var(--ink);background:conic-gradient(var(--glow-two) calc(var(--fill, 0) * 1turn),rgba(20,12,6,.55) 0);box-shadow:0 0 0 2px var(--brass)}.power-button[hidden]{display:none}.power-face{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;background:var(--panel);color:var(--dim)}.power-face svg{width:16px;height:16px}.power-button[data-ready=true] .power-face{background:radial-gradient(circle at 35% 30%,#fff3c4,var(--clock-low));color:var(--ink);animation:power-glow 1.1s ease-in-out infinite alternate}@keyframes power-glow{0%{box-shadow:0 0 #f2c14ef2}to{box-shadow:0 0 0 7px #f2c14e00}}@media(max-width:379px){.hud-overlay[data-powers=true] .hud-back{display:none}}.power-badge{--a: #f2c14e;--b: #c98a12;flex:none;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;border:2px solid var(--ink);color:#fffaf0;background:radial-gradient(circle at 32% 26%,rgba(255,255,255,.5),transparent 45%),linear-gradient(150deg,var(--a),var(--b));box-shadow:0 2px 0 var(--ink)}.power-badge svg{width:24px;height:24px;filter:drop-shadow(0 1px 0 rgba(0,0,0,.25))}.power-badge[data-power=squeeze]{--a: #34cdb8;--b: #0e7a6d}.power-badge[data-power=hold]{--a: #ffb84d;--b: #e0641a}.power-badge[data-power=announce]{--a: #ff7aa6;--b: #c42d61}.power-badge[data-power=stairs]{--a: #8f9bff;--b: #4652cf}.power-pop{position:absolute;inset:0;z-index:20;display:none;place-items:center;padding:16px;background:#18100a99}.power-pop[data-open=true]{display:grid}.power-card{position:relative;width:100%;max-width:360px;display:grid;justify-items:center;gap:4px;padding:44px 14px 14px;margin-top:28px;border:2px solid var(--ink);border-radius:22px;background:var(--panel);box-shadow:0 6px 0 var(--ink)}.power-pop[data-open=true] .power-card{animation:power-pop-in .34s cubic-bezier(.2,1.4,.4,1) both}@keyframes power-pop-in{0%{transform:scale(.82);opacity:0}}.power-burst{position:absolute;top:-40px;width:80px;height:80px;display:grid;place-items:center}.power-burst:before{content:"";position:absolute;inset:-22px;border-radius:50%;background:repeating-conic-gradient(rgba(255,210,110,.55) 0 10deg,transparent 10deg 30deg);mask:radial-gradient(circle,#000 35%,transparent 70%);animation:power-spin 12s linear infinite}.power-burst-face{position:relative;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;border:2.5px solid var(--ink);background:radial-gradient(circle at 35% 28%,#fff6d2,var(--clock-low) 55%,#d9962a);color:var(--ink);box-shadow:0 3px 0 var(--ink)}.power-burst-face svg{width:32px;height:32px}@keyframes power-spin{to{transform:rotate(1turn)}}.power-heading{margin:0;font-family:var(--display);font-weight:800;font-size:26px;line-height:1.1}.power-sub{margin:0 0 8px;color:var(--dim);font-size:13px}.power-grid{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}.power-tile{display:grid;justify-items:center;align-content:start;gap:4px;padding:12px 8px 10px;border:2px solid var(--ink);border-radius:16px;background:var(--panel-2);box-shadow:0 3px 0 var(--ink);text-align:center}.power-tile:active{transform:translateY(2px);box-shadow:0 1px 0 var(--ink)}.power-pop[data-open=true] .power-tile{animation:power-tile-in .28s ease-out both}.power-pop[data-open=true] .power-tile:nth-child(2){animation-delay:50ms}.power-pop[data-open=true] .power-tile:nth-child(3){animation-delay:.1s}.power-pop[data-open=true] .power-tile:nth-child(4){animation-delay:.15s}@keyframes power-tile-in{0%{transform:translateY(12px);opacity:0}}.power-title{font-family:var(--display);font-weight:800;font-size:16px;line-height:1.15}.power-line,.power-none{font-size:12px;line-height:1.3;color:var(--dim)}.power-none{display:none;font-style:italic}.power-tile:disabled{opacity:1;background:var(--panel);box-shadow:0 1px 0 var(--line);border-color:var(--line)}.power-tile:disabled .power-badge{filter:grayscale(1);opacity:.45}.power-tile:disabled .power-title{color:var(--dim)}.power-tile:disabled .power-line{display:none}.power-tile:disabled .power-none{display:block}.power-later{margin-top:8px;padding:8px 16px;border:0;background:none;color:var(--accent);font-weight:700;font-size:14px}.power-hint{position:absolute;top:88px;left:50%;z-index:3;display:flex;align-items:center;gap:10px;padding:6px 6px 6px 8px;border:2px solid var(--ink);border-radius:999px;background:var(--panel);box-shadow:0 3px 0 var(--ink);font-family:var(--display);font-weight:800;font-size:16px;white-space:nowrap;transform:translate(-50%)}.power-hint[hidden]{display:none}.power-hint .power-badge{width:32px;height:32px}.power-hint .power-badge svg{width:18px;height:18px}.power-hint-cancel{padding:6px 12px;border-radius:999px;font-size:13px;font-weight:700}@media(prefers-reduced-motion:reduce){.power-button[data-ready=true] .power-face,.power-pop[data-open=true] .power-card,.power-pop[data-open=true] .power-tile,.power-burst:before{animation:none}}.power-list{display:grid;gap:8px;margin:10px 0 12px}.power-row{display:grid;grid-template-columns:40px 1fr;gap:10px;align-items:center}.power-row .power-badge{width:38px;height:38px}.power-row .power-badge svg{width:20px;height:20px}.icon-button{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;width:36px;height:36px;padding:0;border-radius:50%;background:#fffaf0e6;border:2px solid var(--ink);color:var(--ink);backdrop-filter:blur(6px)}.icon-button svg{width:20px;height:20px;display:block}.icon-button.wide{width:auto;border-radius:18px;padding:0 14px 0 10px;font-size:13px}.lintel,.hud-overlay{background:linear-gradient(to top,var(--ink) 0 1px,var(--brass-dark) 1px 2px,var(--brass) 2px 4px,transparent 4px),repeating-linear-gradient(90deg,rgba(255,236,205,.035) 0 2px,transparent 2px 9px),linear-gradient(to bottom,var(--walnut-top),var(--walnut))}.hud-overlay{height:44px;padding:3px 10px 7px}.call-button{flex:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border-radius:50%;border:3px solid transparent;background:radial-gradient(circle at 50% 35%,#fffaf0 0 40%,#efe0c0) padding-box,linear-gradient(160deg,#ecd294,var(--brass) 45%,var(--brass-dark)) border-box;box-shadow:0 0 0 1.5px var(--ink),0 2px 0 1.5px #140c0673;color:var(--ink)}.call-button:active{transform:translateY(1px);box-shadow:0 0 0 1.5px var(--ink)}.call-button,.brass-pill{position:relative}.call-button:after,.brass-pill:after,.home-edge:after{content:"";position:absolute;inset:-8px}.brass-pill:after{inset:-8px -4px}.home-edge:after{inset:-6px -14px}.results-foot .call-button:after,.results-foot .brass-pill:after{inset:0}.call-button svg{display:block;width:53%;height:53%}.brass-pill{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 13px 0 10px;border-radius:17px;border:3px solid transparent;background:linear-gradient(#fffaf0,#efe0c0) padding-box,linear-gradient(160deg,#ecd294,var(--brass) 45%,var(--brass-dark)) border-box;box-shadow:0 0 0 1.5px var(--ink),0 2px 0 1.5px #140c0673;color:var(--ink);font-family:var(--display);font-size:14px;font-weight:800}.brass-pill:active{transform:translateY(1px);box-shadow:0 0 0 1.5px var(--ink)}.brass-pill svg{flex:none;width:17px;height:17px}.action-pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 18px;border-radius:23px;background:var(--accent);color:var(--on-accent);border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink);font-family:var(--display);font-size:18px;font-weight:800}.action-pill:active{transform:translateY(2px);box-shadow:0 1px 0 var(--ink)}.action-pill svg{flex:none;width:15px;height:15px}.level-tag{flex:1 1 0;container-type:inline-size;display:flex;align-items:center;gap:6px;min-width:0;color:var(--on-walnut);font-family:var(--display);font-size:14px;font-weight:700}.level-tag .plaque{min-width:28px;font-size:12px;line-height:1.3;color:var(--ink);background:linear-gradient(#e3c27a,var(--brass));box-shadow:inset 0 1px #fffaf080}.level-tag .level-name{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@container (max-width: 84px){.level-tag .level-name{display:none}}.hud-overlay .indicator{flex:none;display:flex;height:34px;padding:2px;border-radius:9px;background:var(--indicator);box-shadow:inset 0 2px 5px #000000b3,0 0 0 2px var(--brass),0 0 0 3.5px var(--ink)}.hud-overlay .stat{flex:none;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;min-width:40px;padding:0 7px;border-radius:7px;font-variant-numeric:tabular-nums}.hud-overlay .stat+.stat{position:relative;margin-left:1px}.hud-overlay .stat+.stat:before{content:"";position:absolute;left:-1px;top:5px;bottom:5px;width:1px;background:#c49a5266}.hud-overlay .stat .value{font-family:var(--display);font-size:17px;font-weight:800;line-height:1;color:var(--glow);text-shadow:0 0 6px rgba(255,186,80,.45)}.hud-overlay .stat .label{margin-top:2px;font-size:10px;font-weight:650;line-height:1;color:var(--glow-dim);text-transform:uppercase;letter-spacing:.08em}.hud-overlay .stat[data-pace=two] .value{color:var(--glow-two)}.hud-overlay .stat[data-pace=one] .value{color:var(--glow-one)}.hud-overlay .stat.clock[data-urgency=low]{background:var(--clock-low)}.hud-overlay .stat.clock[data-urgency=critical]{background:var(--warn);animation:clock-blink .9s ease-in-out infinite alternate}.hud-overlay .stat.clock:not([data-urgency=calm]) .value{text-shadow:none}.hud-overlay .stat.clock[data-urgency=low] :is(.value,.label){color:var(--ink)}.hud-overlay .stat.clock[data-urgency=critical] :is(.value,.label){color:var(--on-accent)}@keyframes clock-blink{to{opacity:.35}}@media(prefers-reduced-motion:reduce){.hud-overlay .stat.clock[data-urgency=critical]{animation:none}}.hud-overlay .pips{display:flex;gap:1px;margin-top:2px}.hud-overlay .pips[hidden]{display:none}.hud-overlay .pips svg{width:10px;height:10px;color:var(--glow-two)}.hud-overlay .pips svg[data-on=false]{color:var(--glow-off)}.hud-overlay .stat.clock[data-urgency=low] .pips svg[data-on=true]{color:var(--ink)}.hud-overlay .stat.clock[data-urgency=critical] .pips svg[data-on=true]{color:var(--on-accent)}.hud-overlay .stat.clock:not([data-urgency=calm]) .pips svg[data-on=false]{opacity:.35;color:var(--ink)}.results-body{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:18px 18px 12px;background:radial-gradient(circle at 50% 22%,rgba(255,214,130,.45),transparent 55%),var(--bg)}.results-body[data-won=false]{background:var(--bg)}.results-inner{margin:auto 0;display:flex;flex-direction:column;gap:12px}.results-head{text-align:center;animation:results-rise .36s ease-out both}.results-shift{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.results-head h2{margin:2px 0 0;font-family:var(--display);font-size:24px;font-weight:800;line-height:1.1}.results-hero{position:relative;display:flex;flex-direction:column;align-items:center;padding:6px 0 2px}.results-rays{position:absolute;left:50%;top:46%;width:360px;height:360px;margin:-180px 0 0 -180px;border-radius:50%;background:repeating-conic-gradient(rgba(246,195,68,.32) 0deg 9deg,transparent 9deg 22.5deg);mask-image:radial-gradient(circle,#000 18%,transparent 68%);-webkit-mask-image:radial-gradient(circle,#000 18%,transparent 68%);opacity:0;pointer-events:none;animation:results-fade .6s ease-out var(--after) forwards,results-spin 40s linear infinite}.results-body[data-won=false] .results-rays,.results-body[data-stars="0"] .results-rays{display:none}.results-starrow{position:relative;display:flex;align-items:flex-end;justify-content:center;gap:4px}.result-star{position:relative;width:74px;height:74px}.result-star:nth-child(2){width:96px;height:96px;margin-bottom:18px}.result-star svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.star-empty .star-body{fill:#e9dcc3;stroke:#cdb795;stroke-width:6;stroke-linejoin:round}.star-empty .star-face{display:none}.star-gold{transform:scale(0);opacity:0;animation:star-pop .52s cubic-bezier(.2,.9,.3,1.2) var(--at) forwards,star-glow 2.6s ease-in-out calc(var(--at) + .6s) infinite}.star-gold .star-body{fill:#f6c344;stroke:var(--ink);stroke-width:6;stroke-linejoin:round}.star-gold .star-face{fill:#ffe39a}.star-ring{position:absolute;inset:8%;border-radius:50%;border:3px solid #f6c344;opacity:0;animation:star-ring .62s ease-out calc(var(--at) + .12s) forwards}.star-burst{position:absolute;left:50%;top:54%;width:0;height:0}.spark{position:absolute;left:calc(var(--s) / -2);top:calc(var(--s) / -2);width:var(--s);height:var(--s);background:#ffd27a;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);opacity:0;animation:spark-fly .68s cubic-bezier(.1,.7,.3,1) calc(var(--at) + .1s + var(--k)) forwards}.spark-dot{background:#fffaf0;clip-path:circle(50%)}.star-twinkle{position:absolute;left:66%;top:6%;width:16px;height:16px;background:#fffaf0;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);opacity:0;animation:star-twinkle 2.4s ease-in-out calc(var(--at) + .9s + var(--i) * .7s) infinite}.results-verdict{margin-top:6px;font-family:var(--display);font-size:28px;font-weight:800;line-height:1.1;opacity:0;animation:verdict-in .42s cubic-bezier(.2,.9,.3,1.3) var(--after) forwards}.results-body[data-stars="3"] .results-verdict{color:var(--accent)}.results-body[data-won=false] .results-verdict{color:var(--warn);animation-delay:.3s}.results-confetti{position:absolute;inset:-20px 0 auto;height:0;pointer-events:none}.results-confetti span{position:absolute;left:var(--x);top:0;width:7px;height:11px;border-radius:2px;background:var(--c);opacity:0;animation:confetti-fall var(--f) cubic-bezier(.3,.6,.5,1) calc(var(--after) + var(--k)) forwards}.results-score{position:relative;padding:12px 16px 10px;background:var(--panel);border:2px solid var(--ink);border-radius:18px;box-shadow:0 3px 0 var(--ink);text-align:center;animation:results-rise .42s ease-out .15s both}.results-score-label{color:var(--dim);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.results-value{display:block;font-family:var(--display);font-size:40px;font-weight:800;line-height:1.05;font-variant-numeric:tabular-nums}.results-bar{position:relative;height:12px;margin:8px 4px 0;border-radius:6px;border:1.5px solid var(--ink);background:linear-gradient(to right,#efe3cc 0 40%,#f3d9a0 40% 75%,#f6c344 75% 100%)}.results-tick{position:absolute;left:var(--at);top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:var(--ink)}.results-marker{position:absolute;top:50%;left:0;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--accent);border:2.5px solid var(--panel);box-shadow:0 0 0 1.5px var(--ink);animation:marker-run .85s cubic-bezier(.2,.7,.3,1) .25s forwards}.results-legend{position:relative;height:16px;margin:4px 4px 0;font-size:10.5px;font-weight:700;color:var(--gold)}.results-legend span{position:absolute;left:var(--at);transform:translate(-50%);white-space:nowrap}.results-stamp{position:absolute;right:-6px;top:-12px;padding:3px 10px;border-radius:8px;background:var(--accent);color:var(--on-accent);border:2px solid var(--ink);font-family:var(--display);font-size:14px;font-weight:800;transform:rotate(8deg);opacity:0;animation:stamp-in .38s cubic-bezier(.3,1.4,.5,1) calc(var(--after) + .25s) forwards}.results-reason{margin:0;text-align:center;color:var(--dim);font-size:13px;line-height:1.45;animation:results-fade .4s ease-out .35s both}.results-body[data-won=false] .results-reason{color:var(--text);font-size:15px;padding:12px 14px;background:var(--panel);border:1.5px solid var(--line);border-radius:14px}.results-coins{align-self:center;display:flex;align-items:center;gap:6px;padding:5px 14px 5px 9px;border-radius:999px;background:var(--panel);border:2px solid var(--ink);font-family:var(--display);font-size:16px;font-weight:800;opacity:0;animation:verdict-in .42s cubic-bezier(.2,.9,.3,1.3) calc(var(--after) + .4s) forwards}.results-coins svg{width:18px;height:18px}.results-tiles{margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;animation:results-fade .4s ease-out .45s both}.results-tile{padding:7px 8px 6px;background:var(--panel);border:1.5px solid var(--line);border-radius:12px;min-width:0}.results-tile.wide{grid-column:1 / -1}.results-tile dt{color:var(--dim);font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.results-tile dd{margin:1px 0 0;font-family:var(--display);font-size:17px;font-weight:800;line-height:1.15;font-variant-numeric:tabular-nums}.results-foot{display:flex;align-items:center;gap:10px;padding:14px 14px calc(12px + var(--safe-bottom));margin-bottom:calc(-1 * var(--safe-bottom));background:linear-gradient(to bottom,var(--ink) 0 1px,var(--brass-dark) 1px 2px,var(--brass) 2px 4px,transparent 4px),repeating-linear-gradient(90deg,rgba(255,236,205,.035) 0 2px,transparent 2px 9px),linear-gradient(to bottom,var(--walnut-top),var(--walnut))}.results-foot .call-button{width:42px;height:42px}.results-foot .brass-pill{height:42px;border-radius:21px}.results-foot .action-pill{flex:1;min-width:0;white-space:nowrap}@media(max-width:359px){.results-foot .brass-pill>span:not(.garage-nudge){display:none}.results-foot .brass-pill{width:42px;padding:0}}.results-body[data-settled=true] .results-inner *,.results-body[data-settled=true] .results-inner *:before{animation-delay:0s;animation-duration:0s;animation-iteration-count:1}.results-body[data-settled=true] .results-inner .results-rays{opacity:1;animation:results-spin 40s linear infinite}@media(prefers-reduced-motion:reduce){.results-body[data-settled=true] .results-inner .results-rays{animation:none}}.results-complete{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:2px;margin:4px 0 2px;padding:12px 14px 14px;border-radius:16px;border:2px solid var(--ink);box-shadow:inset 0 0 0 2px var(--brass),0 3px 0 var(--ink);background:linear-gradient(to bottom,var(--walnut-top),var(--walnut));color:#fff3dc;text-align:center;animation:results-complete-pop .52s cubic-bezier(.2,1.4,.4,1) var(--after) both}.results-complete-kicker{color:var(--brass);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.results-complete-name{font-family:var(--display);font-size:26px;font-weight:800;line-height:1.1}.results-complete-line{font-size:13px;line-height:1.4;opacity:.9}@keyframes results-complete-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}@keyframes results-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes results-fade{0%{opacity:0}to{opacity:1}}@keyframes results-spin{to{transform:rotate(360deg)}}@keyframes star-pop{0%{opacity:0;transform:scale(0) rotate(-40deg)}55%{opacity:1;transform:scale(1.32) rotate(10deg)}78%{transform:scale(.93) rotate(-3deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes star-glow{0%,to{opacity:1;transform:scale(1);filter:drop-shadow(0 0 0 rgba(246,195,68,0))}50%{opacity:1;transform:scale(1.04);filter:drop-shadow(0 0 9px rgba(246,195,68,.85))}}@keyframes star-ring{0%{opacity:.9;transform:scale(.5)}to{opacity:0;transform:scale(1.7)}}@keyframes spark-fly{0%{opacity:1;transform:rotate(var(--a)) translate(0) scale(.2)}60%{opacity:1}to{opacity:0;transform:rotate(var(--a)) translate(var(--d)) scale(1) rotate(120deg)}}@keyframes star-twinkle{0%,70%,to{opacity:0;transform:scale(.2) rotate(0)}82%{opacity:1;transform:scale(1) rotate(45deg)}}@keyframes verdict-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes stamp-in{0%{opacity:0;transform:rotate(-10deg) scale(2.2)}to{opacity:1;transform:rotate(8deg) scale(1)}}@keyframes marker-run{to{left:var(--x)}}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0) rotate(0)}to{opacity:0;transform:translateY(240px) rotate(var(--r))}}.sheet{position:absolute;inset:0;background:var(--scrim);display:none;align-items:flex-end;z-index:10}.sheet[data-open=true]{display:flex}.sheet-body{width:100%;background:var(--panel);border-top:2px solid var(--ink);border-radius:20px 20px 0 0;padding:18px 18px calc(18px + var(--safe-bottom));display:flex;flex-direction:column;gap:10px}.sheet-body h3{margin:0 0 2px;font-family:var(--display);font-size:20px;font-weight:800}.sheet-body p{margin:0;color:var(--dim);font-size:12px;line-height:1.5}.intro-body{gap:14px}.intro-row{display:flex;align-items:center;gap:14px}.intro-title{font-weight:650;font-size:15px}.intro-line{color:var(--dim);font-size:13px;margin-top:2px;line-height:1.4}.choices{display:grid;gap:10px;margin:10px 0 8px}button.choice{display:block;width:100%;text-align:left;padding:12px 14px;border-radius:14px;border:1.5px solid var(--ink);background:var(--panel);color:var(--text);box-shadow:0 3px 0 var(--ink)}button.choice:active{box-shadow:0 1px 0 var(--ink);transform:translateY(2px)}.intro-todo{margin-top:6px;color:var(--accent);font-weight:800}#intro[data-kind=goal]{align-items:center;justify-content:center;padding:16px;background:#1c120a8c;animation:goal-scrim .22s ease both}#intro[data-kind=goal][data-open=closing]{display:flex;animation:goal-scrim .2s ease reverse both}#intro[data-kind=goal] .intro-body{width:100%;max-width:360px;max-height:100%;overflow-y:auto;padding:0;gap:0;border:2px solid var(--ink);border-radius:22px;box-shadow:0 6px 0 var(--ink);animation:goal-in .42s cubic-bezier(.2,1.15,.35,1) both}#intro[data-kind=goal][data-open=closing] .intro-body{animation:goal-out .2s cubic-bezier(.5,0,.75,0) both}@keyframes goal-scrim{0%{background:transparent}}@keyframes goal-in{0%{transform:translate(var(--from-x, 0px),var(--from-y, 40px)) scale(.25);opacity:0}45%{opacity:1}}@keyframes goal-out{to{transform:translate(var(--from-x, 0px),var(--from-y, 40px)) scale(.25);opacity:0}}.goal-top{display:flex;align-items:center;gap:10px;padding:12px 12px 12px 16px;background:linear-gradient(to bottom,var(--walnut-top),var(--walnut));border-bottom:3px solid var(--brass-dark);color:var(--on-walnut)}.goal-top h3{flex:1;min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--display);font-size:20px;font-weight:800}.goal-main{display:grid;gap:14px;padding:18px;text-align:center}#intro[data-kind=goal] .goal-main>*{animation:goal-rise .36s ease-out both}#intro[data-kind=goal] .goal-main>:nth-child(2){animation-delay:60ms}#intro[data-kind=goal] .goal-main>:nth-child(3){animation-delay:.11s}#intro[data-kind=goal] .goal-main>:nth-child(4){animation-delay:.16s}#intro[data-kind=goal] .goal-main>:nth-child(n+5){animation-delay:.2s}@keyframes goal-rise{0%{transform:translateY(8px);opacity:0}}.goal-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 16px 16px;border:2px solid var(--ink);border-radius:16px;background:var(--panel-2);box-shadow:0 3px 0 var(--ink);text-align:center}.goal-hard{display:flex;flex-direction:column;gap:2px;padding:8px 12px;border-radius:12px;border:2px solid var(--ink);background:#b0402a;color:#fff4e6;font-size:13px;line-height:1.35}.goal-hard strong{font-family:var(--display);font-size:16px;letter-spacing:.04em;text-transform:uppercase}.goal-hard[data-finale=true]{background:var(--walnut);color:#fff3dc;box-shadow:inset 0 0 0 2px var(--brass)}.goal-hard[data-finale=true] strong{color:var(--brass)}.goal-card[data-hard=true]{border-color:#b0402a;box-shadow:0 3px #b0402a}.goal-kicker{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.goal-headline{font-family:var(--display);font-size:28px;font-weight:800;line-height:1.1}.goal-line{color:var(--dim);font-size:14px;line-height:1.4}.goal-stars{display:flex;flex-direction:column;gap:4px;padding:0 4px;font-size:14px;font-weight:700}.goal-scoring{margin:0;padding:0 4px;color:var(--dim);font-size:13px;line-height:1.4}.goal-stars-row{display:flex;align-items:center;gap:10px}.goal-stars-icons{display:inline-flex;gap:1px}.goal-stars-icons svg{width:18px;height:18px;color:#d9a52e}.goal-stars .goal-stars-icons svg[data-on=false]{color:var(--panel-2);opacity:.6}.goal-play{display:inline-flex;align-items:center;justify-content:center;gap:8px}.goal-play svg{width:18px;height:18px}#intro[data-kind=goal] .goal-card{padding:0;border:0;background:none;box-shadow:none}#intro[data-kind=goal] .goal-stars{justify-self:center;text-align:left}#intro[data-kind=goal] .goal-hard{padding:6px 12px;font-size:12px}#intro[data-kind=goal] .goal-hard strong{font-size:14px}@media(prefers-reduced-motion:reduce){#intro[data-kind=goal],#intro[data-kind=goal] .intro-body,#intro[data-kind=goal] .goal-main>*{animation:none}}#pause{align-items:center;justify-content:center;padding:16px}.pause-card{width:100%;max-width:340px;overflow:hidden;border:2px solid var(--ink);border-radius:18px;background:var(--panel);box-shadow:0 4px 0 var(--ink)}.pause-head{display:flex;align-items:center;gap:10px;padding:12px 14px 16px}.pause-plaque{min-width:34px;font-size:15px;line-height:1.35;color:var(--ink);background:linear-gradient(#e3c27a,var(--brass));box-shadow:inset 0 1px #fffaf080}.pause-titles{min-width:0}.pause-kicker{color:var(--glow-dim);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.pause-title{color:#fff3dc;font-family:var(--display);font-size:20px;font-weight:800;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pause-body{display:flex;flex-direction:column;gap:12px;padding:14px 14px 12px}.pause-stats{display:flex;justify-content:space-around;padding:7px 4px;border-radius:10px;background:var(--indicator);box-shadow:inset 0 2px 5px #000000b3,0 0 0 2px var(--brass),0 0 0 3.5px var(--ink);font-variant-numeric:tabular-nums}.pause-stat{flex:1;text-align:center}.pause-stat+.pause-stat{border-left:1px solid rgba(196,154,82,.4)}.pause-value{font-family:var(--display);font-size:19px;font-weight:800;line-height:1.1;color:var(--glow);text-shadow:0 0 6px rgba(255,186,80,.45)}.pause-label{margin-top:1px;font-size:9px;font-weight:650;color:var(--glow-dim);text-transform:uppercase;letter-spacing:.08em}.pause-resume{width:100%}.pause-row{display:flex;gap:10px}.pause-row .brass-pill{flex:1;height:42px;border-radius:21px}.pause-warn{margin:0;text-align:center;color:var(--dim);font-size:11px}.pause-toggle{display:flex;align-items:center;gap:10px;padding-top:10px;border-top:1px solid var(--line);font-weight:700}.pause-toggle>svg{width:20px;height:20px;color:var(--dim)}.pause-toggle>span{flex:1}.garage-top{flex:none;display:flex;align-items:center;gap:10px;min-height:56px;padding:7px 10px 11px;color:var(--on-walnut)}.garage-top h1{flex:1;margin:0;font-family:var(--display);font-size:24px;font-weight:800;line-height:1.1;color:#fff3dc}.garage-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.garage-body{padding:8px 16px 16px;display:flex;flex-direction:column;gap:10px}.garage-tabs{flex:0 0 auto;display:flex;gap:6px;overflow-x:auto;padding:2px 0 4px;scrollbar-width:none}.garage-tab{flex:1 0 auto;padding:7px 10px;border-radius:999px;border:2px solid var(--ink);background:var(--panel-2);color:var(--ink);font:inherit;font-size:13px;font-weight:800;cursor:pointer}.garage-tab[aria-selected=true]{background:var(--accent);color:var(--on-accent);box-shadow:0 2px 0 var(--ink)}.garage-lift{flex:0 0 auto;display:flex;flex-direction:column;gap:8px}.garage-lift-name{font-family:var(--display);font-size:19px;font-weight:800;color:var(--ink)}.part-card{position:relative;min-width:0;background:var(--panel);border:2px solid var(--ink);border-radius:18px;box-shadow:0 3px 0 var(--ink);padding:8px 8px 10px;display:flex;flex-direction:column;gap:6px}.part-card[data-max=true]{background:linear-gradient(160deg,#fff6df,var(--panel) 60%)}.part-stage{position:relative;flex:none;height:84px;border-radius:12px;background:radial-gradient(ellipse at 50% 85%,#f3e3c3,var(--panel-2) 70%)}.part-spot{position:absolute;inset:10% 0 -4%;border-radius:50%;background:radial-gradient(ellipse at 50% 70%,rgba(255,214,130,.55),transparent 65%)}.part-art{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.part-card[data-fitted=true] .part-art{animation:star-pop .56s cubic-bezier(.2,.9,.3,1.2) .1s both}.part-ring{position:absolute;inset:5% 12%;border-radius:50%;border:3px solid #f6c344;opacity:0;animation:star-ring .64s ease-out .2s forwards}.part-burst{--at: .1s;position:absolute;left:50%;top:50%;width:0;height:0}.part-stamp{position:absolute;left:50%;bottom:-6px;padding:2px 9px;border-radius:7px;background:var(--accent);color:var(--on-accent);border:2px solid var(--ink);font-family:var(--display);font-size:13px;font-weight:800;white-space:nowrap;opacity:0;animation:part-stamp .38s cubic-bezier(.3,1.4,.5,1) .55s forwards,results-fade .5s ease-in 2.4s reverse forwards}.part-name{font-family:var(--display);font-size:15px;font-weight:800;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tier-pips{display:flex;gap:3px;min-width:0}.pip{width:14px;min-width:5px;flex-shrink:1;height:5px;border-radius:3px;background:var(--line)}.pip[data-on=true]{background:var(--accent)}.part-buy{display:flex;align-items:center;justify-content:center;gap:10px}.coin-tag{display:inline-flex;align-items:center;gap:4px;padding:1px 8px 1px 4px;border-radius:999px;background:var(--panel);color:var(--text);font-family:var(--display);font-weight:800}.coin-tag svg{width:16px;height:16px}.part-max{text-align:center;font-family:var(--display);font-weight:800;color:var(--gold)}@keyframes part-stamp{0%{opacity:0;transform:translate(-50%) rotate(-10deg) scale(2)}to{opacity:1;transform:translate(-50%) rotate(-4deg) scale(1)}}@media(prefers-reduced-motion:reduce){.part-card[data-fitted=true] *,.part-card[data-fitted=true] .part-art{animation-duration:0s;animation-delay:0s}}.wallet{font-variant-numeric:tabular-nums;font-weight:650;color:var(--gold)}.menu-foot button[data-ready=true]{border-color:var(--accent);color:var(--accent)}.intro-crew{flex:none;min-width:40px;display:flex;align-items:flex-end;justify-content:center;gap:2px}.intro-crew svg{display:block}.sheet[data-at=top]{align-items:flex-start}.sheet[data-at=top] .sheet-body{border-top:0;border-bottom:2px solid var(--ink);border-radius:0 0 20px 20px;padding:calc(18px + var(--safe-top, 0px)) 18px 18px}.garage-coins{height:34px;padding:0 12px 0 8px;font-size:18px}.garage-coins svg{width:19px;height:19px}.settings{width:100%;max-height:92%;display:flex;flex-direction:column;background:var(--panel);border-top:2px solid var(--ink);border-radius:20px 20px 0 0;overflow:hidden;box-shadow:0 -6px 24px #1e120840}.settings-head{flex:none;display:flex;align-items:center;gap:10px;padding:12px 14px 15px;color:var(--on-walnut);-webkit-user-select:none;user-select:none}.settings-head h2{flex:1;margin:0;font-family:var(--display);font-size:22px;font-weight:800;letter-spacing:.3px}.settings-mark{display:flex;color:var(--brass)}.settings-mark svg{width:22px;height:22px}.settings-scroll{overflow-y:auto;padding:4px 16px calc(18px + var(--safe-bottom))}.settings-label{margin:14px 4px 7px;color:var(--dim);font-family:var(--display);font-size:12px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase}.settings-card,.devtools{border:2px solid var(--ink);border-radius:16px;box-shadow:0 3px 0 var(--ink);overflow:hidden}.settings-card{background:#fffdf7}.setting,.devtools>summary{display:flex;align-items:center;gap:12px;padding:12px 14px}.setting+.setting{border-top:1.5px dashed var(--line)}.setting-icon{flex:none;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:var(--panel-2);border:1.5px solid var(--line);color:var(--accent)}.setting-icon svg{width:21px;height:21px}.setting-text{flex:1;min-width:0}.setting-title{font-family:var(--display);font-size:16px;font-weight:800;line-height:1.2}.setting-line{margin-top:2px;color:var(--dim);font-size:12.5px;line-height:1.35}.switch{flex:none;position:relative;width:52px;height:30px;padding:0;border:2px solid var(--ink);border-radius:15px;background:var(--panel-2);box-shadow:inset 0 2px 3px #3d2c1e33;transition:background-color .15s}.switch:after{content:"";position:absolute;top:2px;left:2px;width:22px;height:22px;box-sizing:border-box;border:2px solid var(--ink);border-radius:50%;background:var(--panel);transition:transform .15s}.switch[aria-checked=true]{background:var(--accent)}.switch[aria-checked=true]:after{transform:translate(22px)}.setting-pill{height:32px;padding:0 13px;border-radius:16px;font-size:13px}.setting-pill:disabled{opacity:.55}.setting-pill[data-tone=danger]{color:var(--warn)}.setting-pill[data-armed=true]{background:linear-gradient(var(--warn),#8a1f16) padding-box,linear-gradient(160deg,#ecd294,var(--brass) 45%,var(--brass-dark)) border-box;color:var(--on-accent)}.devtools{margin-top:22px;background:var(--panel-2)}.devtools>summary{list-style:none;cursor:pointer;padding-top:18px;background:repeating-linear-gradient(-45deg,var(--clock-low) 0 8px,var(--ink) 8px 16px) top / 100% 6px no-repeat,var(--panel-2)}.devtools>summary::-webkit-details-marker{display:none}.devtools .setting-icon{background:var(--panel);color:var(--ink)}.devtools-chevron{flex:none;display:flex;color:var(--dim);transition:transform .2s}.devtools-chevron svg{width:22px;height:22px}.devtools[open] .devtools-chevron{transform:rotate(180deg)}.devtools-body{background:#fffdf7;border-top:2px solid var(--ink)}.devtools-stamp{padding:8px 0 10px;border-top:1.5px dashed var(--line);color:var(--dim);font-size:11px;font-variant-numeric:tabular-nums;text-align:center}.settings-done{width:100%;margin-top:20px}@media(prefers-reduced-motion:reduce){.switch,.switch:after,.devtools-chevron{transition:none}}@keyframes garage-call{0%,to{transform:scale(1);box-shadow:0 0 #e6c98a00}50%{transform:scale(1.06);box-shadow:0 0 0 6px #e6c98a8c}}.home-upgrade[data-lesson=true],.results-foot .brass-pill[data-nudge]{animation:garage-call 1.6s ease-in-out infinite}.results-foot .brass-pill[data-nudge]{position:relative}.garage-nudge{position:absolute;bottom:calc(100% + 12px);left:50%;padding:6px 11px;border-radius:10px;background:var(--ink);color:#fff4e6;font-size:13px;font-weight:700;line-height:1.3;width:max-content;max-width:min(300px,calc(100vw - 40px));transform:translate(-30%);pointer-events:none}.garage-nudge:after{content:"";position:absolute;top:100%;left:30%;border:7px solid transparent;border-top-color:var(--ink);transform:translate(-50%)}.part-card[data-lesson=target]{box-shadow:0 0 0 3px #e6c98a,0 0 18px #e6c98acc}.spotlight{position:fixed;inset:0;z-index:40}.spotlight[data-target=false]{background:#1c120a9e}@keyframes spot-breathe{50%{outline-color:#e6c98a59}}.spotlight-hole{position:absolute;border-radius:24px;box-shadow:0 0 0 200vmax #1c120a9e;outline:3px solid #e6c98a;animation:spot-breathe 1.6s ease-in-out infinite;pointer-events:none}.spotlight-hand{position:absolute;width:0;height:0;pointer-events:none}.spotlight-hand[data-from=above]{transform:rotate(180deg)}@keyframes spot-tap{0%,to{transform:translateY(14px)}30%,55%{transform:translateY(0)}}@keyframes spot-ripple{0%,30%{transform:scale(.3);opacity:0}31%{opacity:.9}90%,to{transform:scale(1);opacity:0}}.spotlight-glove{position:absolute;left:-20px;top:-2.5px;width:47.5px;height:67.5px;overflow:visible;fill:#fffaf0;stroke:#3d2c1e;stroke-width:1.8;animation:spot-tap 1.3s ease-in-out infinite}.spotlight-cuff{fill:#a2461f}.spotlight-ripple{position:absolute;left:-24px;top:-24px;width:48px;height:48px;border:2.5px solid #fffaf0;border-radius:50%;box-sizing:border-box;opacity:0;animation:spot-ripple 1.3s linear infinite}.spotlight-card{position:absolute;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:4px;box-sizing:border-box;width:min(340px,calc(100vw - 32px));padding:14px 16px;border-radius:14px;background:var(--ink);color:#fff4e6;box-shadow:0 6px 24px #00000059}.spotlight-kicker{font-family:var(--display);font-size:19px;font-weight:800;color:#e6c98a}.spotlight-line{font-size:15px;font-weight:700;line-height:1.3}.spotlight-todo{font-size:13.5px;line-height:1.4;opacity:.9}.spotlight-card button{align-self:flex-end;margin-top:8px}@media(prefers-reduced-motion:reduce){.home-upgrade[data-lesson=true],.results-foot .brass-pill[data-nudge],.spotlight-hole,.spotlight-glove,.spotlight-ripple{animation:none}.spotlight-glove{transform:none}}.home-stage[data-zoom]{transform-origin:var(--zoom-ox) var(--zoom-oy)}.home-stage[data-zoom=in],.home-stage[data-zoom=held]{transform:translate(var(--zoom-dx),var(--zoom-dy)) scale(var(--zoom-k))}.home-stage[data-zoom=in]{transition:transform .52s cubic-bezier(.55,.05,.75,.3)}.home-stage[data-zoom=back]{transform:none;transition:transform .56s cubic-bezier(.2,.75,.35,1)}.lift-doors{--door-a: #e8d8ba;--door-b: #d9cbb4;--door-edge: #c49a52;position:fixed;inset:0;z-index:60;overflow:hidden;pointer-events:none}.lift-doors[data-state=closed]{pointer-events:auto}.lift-doors[data-look=brass]{--door-a: #e3c48a;--door-b: #c49a52;--door-edge: #8a6a2e}.lift-doors[data-look=wide]{--door-edge: #ffd27a}.lift-doors[data-look=glass]{--door-a: #e4ecee;--door-b: #d9e4e6;--door-edge: #7fd0e6}.door{position:absolute;top:0;bottom:0;width:50.5%;background:linear-gradient(to top,rgba(61,44,30,.16) 0 9%,transparent 9%),repeating-linear-gradient(90deg,rgba(255,255,255,.12) 0 2px,transparent 2px 7px),linear-gradient(90deg,var(--door-b),var(--door-a) 45%,var(--door-b));border:2px solid var(--ink);transition:transform .42s cubic-bezier(.3,0,.2,1)}.lift-doors[data-state=closed] .door{transform:none;transition:transform .38s cubic-bezier(.45,0,.25,1)}.door-left{left:0;border-left:0;transform:translate(-102%);box-shadow:inset -10px 0 12px -10px #3d2c1e73}.door-right{right:0;border-right:0;transform:translate(102%);box-shadow:inset 10px 0 12px -10px #3d2c1e73}.door-left:after,.door-right:before{content:"";position:absolute;top:0;bottom:0;width:4px;background:var(--door-edge)}.door-left:after{right:0}.door-right:before{left:0}.doors-lintel{position:absolute;top:0;left:0;right:0;display:grid;place-items:center;height:calc(66px + var(--safe-top));padding-top:var(--safe-top);background:linear-gradient(to bottom,var(--walnut-top),var(--walnut));border-bottom:3px solid var(--brass-dark);transform:translateY(-105%);transition:transform .3s ease}.lift-doors[data-state=closed] .doors-lintel{transform:none}.doors-window{display:flex;align-items:center;justify-content:center;gap:8px;min-width:104px;padding:2px 16px;border-radius:10px;border:2px solid var(--brass);background:var(--indicator);color:var(--glow);font-family:var(--display);font-weight:800;font-size:30px;line-height:1.2;font-variant-numeric:tabular-nums;text-shadow:0 0 10px rgba(255,227,166,.5)}.doors-arrow:before{content:"▲";font-size:18px}.lift-doors[data-going=down] .doors-arrow:before{content:"▼"}.lift-doors[data-still=false][data-state=closed][data-arrived=false] .doors-arrow{animation:doors-blink .32s steps(2,jump-none) infinite}@keyframes doors-blink{0%{opacity:1}to{opacity:.25}}.lift-doors[data-still=true]{opacity:0;transition:opacity .16s ease}.lift-doors[data-still=true][data-state=closed]{opacity:1}.lift-doors[data-still=true] .door,.lift-doors[data-still=true] .doors-lintel{transform:none;transition:none}.info-button{flex:none;display:inline-grid;place-items:center;width:26px;height:26px;padding:0;border-radius:50%;border:1.5px solid var(--ink);background:radial-gradient(circle at 35% 30%,#fff6dc,var(--brass));color:var(--ink);font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:700;font-size:15px;line-height:1}.info-button[aria-expanded=true]{background:var(--accent);color:var(--on-accent)}.info-bubble{box-sizing:border-box;position:fixed;z-index:70;display:grid;gap:4px;padding:10px 12px;border:2px solid var(--ink);border-radius:14px;background:var(--panel);box-shadow:0 4px 0 var(--ink);color:var(--text);font-size:13px;line-height:1.4;animation:info-in .16s ease-out}.info-bubble strong{font-family:var(--display);font-size:15px}.info-bubble p{margin:0}@keyframes info-in{0%{transform:translateY(-4px) scale(.96);opacity:0}}.chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;border:1.5px solid var(--ink);background:var(--panel);font-family:var(--display);font-weight:800;font-size:14px;line-height:1.2;white-space:nowrap;font-variant-numeric:tabular-nums}.chip svg{width:16px;height:16px;flex:none}.chip[data-tone=good]{color:#2f6b2a}.chip[data-tone=bad]{color:var(--warn)}.goal-top .info-button{margin-left:auto}.goal-welcome{color:var(--dim);font-size:13px}.goal-hero{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px}.goal-figure{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:800;font-size:38px;line-height:1;font-variant-numeric:tabular-nums}.goal-figure small{font-size:20px;color:var(--dim)}.goal-figure-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:2px solid var(--ink);background:var(--panel-2)}.goal-figure-icon svg{width:26px;height:26px}.chip .goal-figure-icon{display:contents}.goal-window{display:flex;border-radius:12px;background:var(--indicator);box-shadow:inset 0 2px 5px #000000b3,0 0 0 2px var(--brass),0 0 0 3.5px var(--ink);color:var(--glow);font-family:var(--display);font-weight:800;font-variant-numeric:tabular-nums}.goal-window>div{flex:1;display:grid;justify-items:center;padding:6px 4px 5px}.goal-window>div+div{border-left:1px solid rgba(255,227,166,.18)}.window-stars{display:inline-flex;gap:1px}.window-stars svg{width:14px;height:14px;color:#d9a52e}.goal-window .window-stars svg[data-on=false]{color:#ffe3a638}.window-value{display:inline-flex;align-items:center;gap:4px;font-size:20px;line-height:1.15;text-shadow:0 0 8px rgba(255,227,166,.35)}.window-value svg{width:15px;height:15px;color:#ffe3a6b3}.goal-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.goal-bonus{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1.5px dashed var(--brass-dark);border-radius:12px;background:#fbf3e2;font-family:var(--display);font-weight:800;font-size:15px;text-align:left}.goal-bonus>svg{width:22px;height:22px;flex:none}.goal-bonus-text{flex:1;display:inline-flex;align-items:center;gap:5px}.goal-bonus-text svg{width:17px;height:17px}.goal-hard{flex-direction:row;align-items:center;justify-content:center;gap:10px}.goal-hard-pay{display:inline-flex;align-items:center;gap:4px;font-family:var(--display);font-weight:800;font-size:15px}.goal-hard-pay svg{width:16px;height:16px}.big-toggles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.big-toggle{display:grid;justify-items:center;gap:2px;padding:14px 8px 10px;border:2px solid var(--ink);border-radius:18px;background:var(--panel-2);box-shadow:0 3px 0 var(--ink);color:var(--dim);font-family:var(--display);font-weight:800;font-size:16px}.big-toggle-disc{display:grid;place-items:center;width:54px;height:54px;margin-bottom:4px;border-radius:50%;border:2px solid var(--ink);background:#d9cbb4;color:#fffaf0}.big-toggle-disc svg{width:28px;height:28px}.big-toggle[aria-checked=true]{background:#fff4dc;color:var(--ink)}.big-toggle[aria-checked=true] .big-toggle-disc{background:radial-gradient(circle at 35% 30%,#e0784a,var(--accent))}.big-toggle-state{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}.setting-short .setting-title{flex:1;min-width:0}.garage-lift-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.garage-window{display:flex;border-radius:12px;background:var(--indicator);box-shadow:inset 0 2px 5px #000000b3,0 0 0 2px var(--brass),0 0 0 3.5px var(--ink);color:var(--glow);font-family:var(--display);font-weight:800;font-size:19px;font-variant-numeric:tabular-nums}.garage-window>div{flex:1;display:grid;justify-items:center;padding:6px 2px 4px}.garage-window>div+div{border-left:1px solid rgba(255,227,166,.18)}.garage-window svg{width:16px;height:16px;color:#ffe3a6b3}.garage-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.part-card>.info-button{position:absolute;top:6px;right:6px;z-index:2;width:24px;height:24px;font-size:14px}.part-meta{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0}.part-meta .chip{font-size:13px;padding:2px 7px}.part-buy{justify-content:space-between;gap:4px;padding:7px 6px 7px 9px}.part-buy-up{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;font-family:var(--display);font-weight:800}.part-buy-up svg{width:14px;height:14px}@media(prefers-reduced-motion:reduce){.info-bubble{animation:none}}.intro-head{display:flex;align-items:center;gap:10px}.intro-head h3{flex:1;margin:0}.intro-plate{padding:12px 14px;border:1.5px solid var(--line);border-radius:14px;background:var(--panel-2)}.intro-chips{justify-content:flex-start;margin-top:8px}.intro-body .power-list{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.intro-body .power-row{padding:8px 10px;border:1.5px solid var(--line);border-radius:12px;background:var(--panel-2)}.intro-building{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:12px;background:linear-gradient(180deg,var(--walnut-top),var(--walnut));box-shadow:inset 0 0 0 2px var(--brass-dark, #8a6a3a);color:var(--brass, #e8c77a)}.intro-building svg{width:26px;height:26px}.results-cause{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 auto;padding:10px 16px;border-radius:14px;background:var(--indicator);box-shadow:inset 0 0 0 2px var(--brass-dark),0 3px 0 var(--ink);color:var(--glow);font-family:var(--display);font-size:20px;font-weight:800;animation:results-fade .4s ease-out .3s both}.results-cause-icon svg{display:block;width:22px;height:22px;color:var(--glow-one)}.results-cause-figure{padding:1px 8px;border-radius:999px;background:#ff8b742e;color:var(--glow-one);font-size:16px;font-variant-numeric:tabular-nums}.results-body .results-cause~.results-reason{padding:0 6px;background:none;border:0;color:var(--dim);font-size:13px}#screen-garage[data-building=office-tower]{--accent: #4a5f73}#screen-garage[data-building=grand-hotel]{--accent: #8b3a3a}#screen-garage[data-building=transit-centre]{--accent: #2e6b4f}#screen-garage[data-building=skyline-tower]{--accent: #34588a}.countdown{position:absolute;inset:0;z-index:6;display:grid;place-items:center;pointer-events:none}.countdown[hidden]{display:none}.countdown-window{display:grid;place-items:center;min-width:118px;height:118px;padding:0 18px;border-radius:22px;background:radial-gradient(circle at 50% 40%,#2a1d12,var(--indicator));box-shadow:inset 0 0 0 3px var(--brass-dark),inset 0 0 18px #0009,0 0 0 5px var(--walnut),0 0 0 7px var(--brass-dark),0 10px 24px #00000059}.countdown-digit,.countdown-go{display:inline-flex;align-items:center;gap:6px;color:var(--glow);font-family:var(--display);font-weight:800;line-height:1;text-shadow:0 0 14px rgba(255,196,92,.75);animation:countdown-pop .38s cubic-bezier(.2,.9,.3,1.4) both}.countdown-digit{font-size:76px}.countdown-go{font-size:46px;text-transform:uppercase;color:var(--glow-two)}.countdown-go svg{width:34px;height:34px}@keyframes countdown-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.countdown-digit,.countdown-go{animation:none}}button.goal-sign{display:inline-flex;flex-direction:column;align-items:center;gap:4px;padding:2px 4px;border:0;background:none;border-radius:10px}button.goal-sign[aria-expanded=true]{background:#c49a5229}.goal-label{color:var(--dim);font-size:12px;font-weight:700;letter-spacing:.02em;line-height:1.1}.goal-sign-big .goal-label{font-size:13px}button.goal-window{width:100%;padding:0;border:0;border-radius:12px;background:var(--indicator);color:var(--glow)}button.goal-bonus{width:100%;color:var(--text)}.window-unit{margin-left:3px;font-size:12px;color:var(--glow-dim)}.goal-hint{margin:0;text-align:center;color:var(--dim);font-size:12px}.settings-scroll{padding-top:16px}.settings-section{display:grid;gap:14px}
