.practice-goals{position:fixed;left:16px;bottom:16px;z-index:18;max-width:340px;padding:14px;border:1px solid #89b69e;border-radius:14px;background:#102a27;box-shadow:0 8px 24px #0006}.practice-goals h3{margin:0 0 6px;font-size:16px}.practice-goals ol{padding-left:22px;margin:10px 0}.practice-goals li{padding:4px 0;font-size:13px}.practice-goals li.done{color:#a8e9bf}.practice-goals .actions{display:flex;gap:8px}.practice-goals button,.touch-paint-mode{min-height:44px}.practice-goals p{margin:5px 0;font-size:12px;color:#c2d5ca}.gate-story h1,.gate-story p,.gate-card{word-break:keep-all;text-wrap:balance}.gate-globe{background-image:url(/gamenow-preview-still.jpg)!important;background-size:cover!important;background-position:center!important}.gate-continent{display:none!important}@media(pointer:coarse){.practice-goals{left:8px;bottom:max(8px,env(safe-area-inset-bottom));max-width:min(310px,calc(100vw - 60px))}.practice-goals summary{min-height:44px;display:flex;align-items:center}}:root{color-scheme:dark;--ink: #e8edf6;--dim: #97a3b8;--panel: rgba(12, 17, 28, .86);--line: rgba(150, 170, 200, .22);--gold: #ffd479;--ok: #7fd18f;--no: #ef8b7e}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#05070f;color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,sans-serif}#root{height:100%}html:not(.gamenow-playing){overflow-x:hidden;overflow-y:auto}html:not(.gamenow-playing) body{overflow:visible}html.gamenow-playing #gamenow-about{display:none}body.gamenow-mobile-mode #gamenow-about{padding-right:52px}.stage{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}.stage:active{cursor:grabbing}.gate{position:fixed;inset:0;display:grid;grid-template-columns:minmax(280px,.9fr) minmax(330px,.75fr) minmax(300px,390px);align-items:center;gap:clamp(28px,5vw,96px);background:radial-gradient(circle at 46% 47%,rgba(39,92,120,.28),transparent 28%),radial-gradient(circle at 18% 72%,rgba(105,85,47,.14),transparent 28%),#06161d;padding:16px;overflow:hidden}.gate:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 0 47%,rgba(255,255,255,.04) 47.1%,transparent 47.3%);opacity:.6}.gate-story,.gate-card,.gate-orbit{position:relative;z-index:1}.gate-story{justify-self:end;width:min(360px,100%)}.gate-kicker,.gate-card-label{color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.2em}.gate-story h1{margin:12px 0 8px;font-size:clamp(34px,4vw,58px);letter-spacing:-.06em}.gate-intro{margin:0 0 20px;white-space:pre-line;color:#f3e7c6;font-size:clamp(26px,3vw,42px);line-height:1.12;letter-spacing:-.06em}.gate-features{display:grid;gap:9px;margin-top:26px;color:#b4c5c8;font-size:13px}.gate-features span:before{content:"—";margin-right:9px;color:var(--gold)}.gate-orbit{justify-self:center;width:min(42vw,560px);aspect-ratio:1}.gate-globe{position:absolute;inset:12%;overflow:hidden;border-radius:50%;background:radial-gradient(circle at 34% 26%,rgba(255,255,255,.3),transparent 5%),radial-gradient(circle at 35% 32%,#3e8790 0 28%,#1a586b 55%,#073749);box-shadow:-26px 26px 70px #0006,inset -26px -20px 44px #00000073,inset 12px 10px 30px #bee1c02e}.gate-globe:before,.gate-globe:after{content:"";position:absolute;inset:-8% 42%;border:1px solid rgba(191,224,191,.22);border-radius:50%}.gate-globe:after{inset:42% -8%;transform:rotate(-12deg)}.gate-continent{position:absolute;display:block;background:#93ad8d;opacity:.9;filter:blur(.3px)}.gate-continent-a{width:40%;height:33%;left:16%;top:25%;border-radius:62% 38% 48% 52%/42% 58%;transform:rotate(-18deg)}.gate-continent-b{width:28%;height:46%;right:19%;top:17%;border-radius:44% 56% 38% 62%/35% 45% 55% 65%;transform:rotate(22deg)}.gate-continent-c{width:29%;height:18%;right:18%;bottom:18%;border-radius:55% 45% 65% 35%;transform:rotate(-25deg)}.gate-orbit-ring{position:absolute;inset:4%;border:1px solid rgba(236,222,174,.28);border-radius:50%;transform:rotate(-28deg) skew(-12deg)}.gate-orbit-ring-b{inset:17% -3%;border-color:#7ec1ba38;transform:rotate(24deg) skew(16deg)}.gate-star{position:absolute;width:5px;height:5px;border-radius:50%;background:#f3e7c6;box-shadow:0 0 12px #f3e7c6}.gate-star-a{top:16%;left:12%}.gate-star-b{top:26%;right:7%;width:3px;height:3px}.gate-star-c{bottom:13%;left:23%;width:3px;height:3px}.gate-card{justify-self:start;width:min(390px,100%);padding:26px;border-color:#b4dcd33d;background:#0f2a30d1;box-shadow:0 24px 80px #0000003d}.gate-card-label{margin-bottom:22px}.gate-card button:not(.ghost){width:100%}.gate-sso{display:grid;gap:10px}.gate-sso .sub{margin:0}.gate-sso .ghost{width:100%;padding:10px;border:1px solid rgba(180,220,211,.4);border-radius:8px;background:transparent;color:#f3e7c6;cursor:pointer}.card{width:min(420px,100%);padding:28px;border:1px solid var(--line);border-radius:14px;background:var(--panel);backdrop-filter:blur(8px)}.card h1{margin:0 0 6px;font-size:26px;letter-spacing:-.02em}@media(max-width:980px){.gate{grid-template-columns:1fr 1fr;gap:20px}.gate-orbit{position:absolute;width:min(80vw,620px);right:-18vw;bottom:-12vw;opacity:.52}.gate-story{justify-self:start}.gate-card{justify-self:end}}@media(max-width:640px){.gate{display:block;padding:28px 20px;overflow-y:auto}.gate-orbit{width:72vw;right:-20vw;top:9vh;bottom:auto;opacity:.38}.gate-story{width:72%;margin-bottom:28px}.gate-story h1{font-size:32px}.gate-intro{font-size:25px}.gate-features{display:none}.gate-card{width:100%}}.sub{margin:0 0 18px;color:var(--dim)}input{width:100%;padding:11px 13px;margin-bottom:10px;border:1px solid var(--line);border-radius:9px;background:#ffffff0d;color:var(--ink);font:inherit}input:focus{outline:2px solid rgba(255,212,121,.5);outline-offset:-1px}button{padding:11px 16px;border:0;border-radius:9px;background:var(--gold);color:#2a1e04;font:inherit;font-weight:600;cursor:pointer}button:disabled{opacity:.55;cursor:default}button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}button.ghost{background:#ffffff17;color:var(--ink);font-weight:500;padding:7px 12px}.topbar{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:10px 16px;background:linear-gradient(#05070fd1,#05070f00)}.brand{font-weight:700;letter-spacing:-.01em}.creator-seal{display:inline-flex;align-items:center;gap:7px;width:fit-content;padding:5px 8px;border:1px solid #e4bd52;color:#f4d681;background:#05070fc7;font-size:11px;font-weight:700;letter-spacing:.08em;text-decoration:none}.creator-seal:hover,.creator-seal:focus-visible{background:#292512;outline:2px solid #f4d681;outline-offset:2px}.creator-seal-mark{display:grid;place-items:center;width:17px;height:17px;border:1px solid currentColor;font-size:12px;line-height:1}.gate-story .creator-seal{margin-top:16px}@media(max-width:640px){.creator-seal-compact{font-size:0;gap:0}}.clock{color:var(--gold);font-variant-numeric:tabular-nums}.dim{color:var(--dim)}.topbar button{margin-left:0}.topbar .clock,.topbar .perf{font-variant-numeric:tabular-nums}.topbar>button:first-of-type{margin-left:auto}.panel{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));width:min(360px,calc(100vw - 32px));max-height:calc(100vh - 72px - env(safe-area-inset-top,0px));overflow-y:auto;overscroll-behavior:contain;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel);backdrop-filter:blur(8px)}.alt{margin-bottom:8px;font-variant-numeric:tabular-nums}.row{display:flex;gap:8px;align-items:baseline;justify-content:space-between;margin-bottom:4px}.ok{color:var(--ok)}.no{color:var(--no)}.owned{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.claim{display:flex;gap:8px;margin-top:10px}.claim input{margin:0}.claim button{flex:0 0 auto;padding:11px 14px}.perf{display:inline-flex;align-items:baseline;gap:8px;margin-left:auto;font-variant-numeric:tabular-nums;font-size:12px}.perf b{font-weight:600}.toasts{position:fixed;left:50%;top:64px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;max-width:calc(100vw - 32px);pointer-events:none;z-index:40}.toast{display:flex;align-items:center;gap:10px;max-width:100%;padding:10px 16px;border-radius:999px;background:#141c2cf0;border:1px solid var(--line);pointer-events:auto}.toast-close{flex:0 0 auto;padding:0 2px;background:transparent;color:var(--dim);font-size:18px;line-height:1}.toast-close:hover,.toast-close:focus-visible{color:var(--ink)}.offline{position:fixed;left:0;right:0;top:env(safe-area-inset-top,0px);z-index:50;padding:6px 12px;text-align:center;font-size:13px;color:#1b1208;background:#f0b060f2}.toast.err{border-color:#ef8b7e99;color:var(--no)}.err{color:var(--no);margin:8px 0 0}@media(max-width:520px){.panel{left:8px;right:8px;width:auto}}@media(max-width:640px){.toasts{left:8px;right:8px;transform:none;max-width:none}.toast{pointer-events:none;border-radius:12px;font-size:12px;padding:7px 12px}.toast .toast-close{pointer-events:auto}.toasts .toast:nth-child(n+2){display:none}}.groups{position:fixed;top:calc(var(--top-h, 46px) + 6px + env(safe-area-inset-top,0px));left:16px;display:flex;flex-direction:column;gap:6px;width:64px}.groups button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);font-size:11px;font-weight:500;backdrop-filter:blur(8px)}.groups button kbd{padding:0 3px;border-radius:4px;background:#ffffff14;color:var(--dim);font:inherit;font-size:9px}.icon{width:22px;height:22px;flex:none}.tools{position:fixed;top:calc(var(--top-h, 46px) + 6px + env(safe-area-inset-top,0px));left:88px;display:flex;flex-direction:column;gap:6px;width:172px;max-height:calc(100vh - 68px - env(safe-area-inset-top,0px));overflow-y:auto;overscroll-behavior:contain}.tools.services{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));width:min(480px,calc(100vw - 104px))}.tools button small{white-space:nowrap}.tools button{display:flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink);font-weight:500;backdrop-filter:blur(8px);text-align:left}.tools button span{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0}.tools.services button{min-width:0}.tools.services button span{font-size:12px;min-width:0}.tools.services button small{white-space:normal;overflow-wrap:anywhere;line-height:1.45}.tools button small{color:var(--dim);font-size:11px;font-weight:400}.tools button kbd{display:inline-block;min-width:14px;padding:0 3px;border:1px solid var(--line);border-radius:4px;background:#ffffff0f;color:var(--dim);font:inherit;font-size:10px;text-align:center}.tools button.on kbd{border-color:#00000040;background:#0000001f;color:inherit}.tools button.danger{border-color:#8d4a3f;color:#f0b3a6}.tools button.danger.on{background:#b4503f;border-color:#b4503f;color:#fff3ef}.services button{display:flex;flex-direction:row;align-items:center;gap:7px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink);font-weight:500;font-size:12.5px;backdrop-filter:blur(8px);text-align:left}.services button small{color:var(--dim);font-size:10.5px;font-weight:400}.services button kbd{display:inline-block;min-width:14px;padding:0 3px;border:1px solid var(--line);border-radius:4px;background:#ffffff0f;color:var(--dim);font:inherit;font-size:10px;text-align:center}.services button em{margin-left:4px;padding:0 5px;border-radius:999px;background:#ffffff1f;color:var(--ink);font-size:10.5px;font-style:normal}.services button.on{background:var(--gold);border-color:var(--gold);color:#2a1e04}.services button.on kbd,.services button.on em{border-color:#00000040;background:#0000001f;color:inherit}.services button.danger{border-color:#8d4a3f;color:#f0b3a6}.services button.danger.on{background:#b4503f;border-color:#b4503f;color:#fff3ef}.hints{position:fixed;left:312px;right:392px;bottom:calc(14px + env(safe-area-inset-bottom,0px));display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 14px;padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--dim);font-size:11.5px;backdrop-filter:blur(8px);pointer-events:none}.hints b{color:var(--ink);font-weight:600}.tools button.on{background:var(--gold);color:#2a1e04;border-color:var(--gold)}.tools button.on small{color:#6b5312}.densities{display:flex;gap:4px;margin-top:2px}.densities button{flex:1;padding:6px 4px;font-size:11px;align-items:center}.panel.city{width:min(400px,calc(100vw - 32px));max-height:calc(100vh - 140px);overflow-y:auto}.panel.city .row:first-child b{font-size:16px}.city-share-row{justify-content:flex-start}.city-share-link{flex:1;min-width:120px;margin:0;font-size:12px}.guestbook{margin:10px 0;border:1px solid var(--line);border-radius:10px;background:#ffffff09}.guestbook-heading{display:flex;justify-content:space-between;width:100%;padding:9px 11px;background:transparent;color:var(--ink);text-align:left}.guestbook-content{padding:0 10px 10px}.guestbook-content>p{margin:2px 0 9px}.guestbook-notes{display:grid;gap:9px;max-height:280px;overflow-y:auto;padding:4px 3px 8px}.guestbook-note{padding:12px 12px 8px;color:#302c24;background:#f5df91;box-shadow:2px 4px #00000030;transform:rotate(-.7deg)}.guestbook-note:nth-child(3n+2){background:#f2bfc6;transform:rotate(.8deg)}.guestbook-note:nth-child(3n){background:#c5e5d5;transform:rotate(-.3deg)}.guestbook-note p{margin:0 0 10px;white-space:pre-wrap;overflow-wrap:anywhere}.guestbook-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px}.guestbook-meta button{color:#473e36}.guestbook-compose{margin-top:10px}.guestbook-compose textarea{width:100%;min-height:68px;padding:9px;resize:vertical;border:1px solid var(--line);border-radius:7px;background:#ffffff12;color:var(--ink);font:inherit}.guestbook-compose-actions{display:flex;justify-content:space-between;align-items:center;margin-top:6px}.stats{display:flex;flex-wrap:wrap;gap:4px 14px;margin:8px 0;color:var(--dim);font-variant-numeric:tabular-nums}.stats b{color:var(--ink)}.stats .ok b{color:var(--ok)}.stats .no b{color:var(--no)}.bars{display:flex;flex-direction:column;gap:4px;margin:8px 0}.bar{display:grid;grid-template-columns:68px 1fr 40px;align-items:center;gap:8px;font-size:12px;color:var(--dim)}.bar b{text-align:right;color:var(--ink);font-variant-numeric:tabular-nums}.track{height:6px;border-radius:3px;background:#ffffff1a;overflow:hidden}.demand-bars{margin:6px 0 4px;padding:7px 0 5px;border-top:1px solid rgba(150,170,200,.18);border-bottom:1px solid rgba(150,170,200,.18)}.demand-head{display:flex;justify-content:space-between;margin-bottom:4px;color:var(--dim);font-size:11px}.demand-head b{color:var(--ink)}.demand-bar{display:grid;grid-template-columns:68px 1fr 34px;align-items:center;gap:8px;margin:3px 0;color:var(--dim);font-size:11px}.demand-bar b{text-align:right;font-variant-numeric:tabular-nums}.demand-track{position:relative;height:7px;border-radius:4px;background:#ffffff17;overflow:hidden}.demand-zero{position:absolute;left:50%;top:0;bottom:0;width:1px;background:#fff9;z-index:1}.demand-fill{position:absolute;top:0;bottom:0;border-radius:4px}.demand-fill.residential{background:#67b88a}.demand-fill.commercial{background:#5b9ed1}.demand-fill.industrial{background:#d6a14d}.demand-fill.farm{background:#9fc875}.fill{height:100%;background:var(--ok)}.fill.warn{background:var(--no)}.blocker{margin:8px 0;padding:8px 10px;border-radius:8px;background:#ef8b7e21;border:1px solid rgba(239,139,126,.3);font-size:13px}.blocker .fix{margin-top:4px;font-weight:600;opacity:.95}.small{font-size:12px}.slider{display:flex;align-items:center;gap:8px;margin:6px 0;font-size:13px;color:var(--dim)}.slider b{color:var(--ink);min-width:42px;font-variant-numeric:tabular-nums}.slider input[type=range]{flex:1;margin:0;padding:0;accent-color:var(--gold)}.styles-box{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.styles{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}.styles button{display:flex;align-items:center;gap:6px;padding:7px 8px;font-size:12px}.styles button i{width:12px;height:12px;flex:0 0 auto;border-radius:3px;border:1px solid rgba(0,0,0,.25)}.styles button.on{border-color:var(--gold);color:var(--gold)}.expand{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.dirs{display:flex;gap:6px;margin-top:8px}.dirs button{flex:1 1 0;padding:8px 0;font-size:13px}.dirs button:disabled{opacity:.35;cursor:default}.dirs button.mine{border-color:#7ec8a08c;color:var(--ok)}.dirs button.mine em{font-style:normal;margin-left:3px}.relief{display:flex;flex-direction:column;align-items:center;gap:1px;width:100%;margin-top:8px}.relief small{font-weight:400;color:#6b5312}@media(max-width:640px){.topbar{gap:7px;padding:8px 10px;font-size:12px;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.topbar::-webkit-scrollbar{display:none}.topbar>*{flex:0 0 auto;white-space:nowrap}.topbar .period-note,.topbar .perf{display:none}.groups{left:8px;top:calc(var(--top-h, 40px) + 6px + env(safe-area-inset-top,0px));width:52px}.groups button{width:52px;min-height:46px;padding:6px 2px;font-size:10px}.tools{left:68px;top:calc(var(--top-h, 40px) + 6px + env(safe-area-inset-top,0px));right:8px;max-height:32vh;flex-direction:row;flex-wrap:wrap;width:auto}.tools.services{width:auto;max-width:calc(100vw - 76px)}.tools button{flex:1 1 auto;min-width:0}.tools{z-index:9}.tools button small{white-space:normal;overflow-wrap:anywhere;line-height:1.35}.panel.city{max-height:46vh}.hints{display:flex;left:68px;right:8px;bottom:calc(var(--city-h, 48px) + 22px + env(safe-area-inset-bottom,0px));padding:4px 10px;border-radius:10px;justify-content:flex-start;gap:2px 8px;font-size:10px;z-index:9}.hints span:nth-child(n+3){display:none}}@media(max-width:980px)and (min-width:641px){.hints{display:none}}.panel.tutorial{left:320px;right:auto;bottom:calc(64px + env(safe-area-inset-bottom,0px));width:min(360px,calc(100vw - 32px));max-height:40vh;z-index:8;border-color:#ffd47973}@media(max-width:860px){.panel.tutorial,button.ghost.tutorial-open{left:16px}.panel.tutorial{bottom:calc(24px + var(--city-h, 48px) + env(safe-area-inset-bottom,0px));max-height:min(40vh,calc(100vh - var(--city-h, 48px) - 140px))}}@media(max-width:640px){.panel.tutorial,button.ghost.tutorial-open{left:68px;right:8px;width:auto}.panel.tutorial{padding:10px 12px;bottom:calc(54px + var(--city-h, 48px) + env(safe-area-inset-bottom,0px));max-height:min(34vh,calc(100vh - var(--city-h, 48px) - var(--top-h, 40px) - 150px - env(safe-area-inset-top,0px)))}.panel.city{max-height:42vh}}@media(pointer:coarse){.topbar button,.tools button,.panel .row>button.ghost:not(.tiny),.panel .row>button.danger,.panel.tutorial .tutorial-actions button,.claim button,.gate-sso button,.densities button,.panel.help .langs button{min-height:44px}button.ghost.tiny{min-height:36px;padding:6px 10px}.panel.tutorial .pager button.ghost.tiny{min-width:36px;padding:6px}.panel.tutorial .steps button{height:21px;padding:8px 0;background-clip:content-box}.toast-close{min-width:36px;min-height:36px}}@media(max-width:980px)and (min-width:641px){.topbar .period-note,.topbar .perf{display:none}}@media(max-width:980px)and (min-width:641px)and (max-height:520px){.panel.tutorial{left:96px;right:auto;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:min(360px,calc(100vw - 528px));max-height:calc(100vh - var(--top-h, 52px) - 24px - env(safe-area-inset-top,0px));padding:10px 12px}.panel.city{max-height:calc(100vh - var(--top-h, 52px) - 28px - env(safe-area-inset-top,0px))}}.panel.tutorial .step-title{font-weight:600;font-size:15px;margin-top:2px}.panel.tutorial .tutorial-stage{display:inline-block;color:var(--gold);font-size:11px;letter-spacing:.02em;margin:6px 0 1px}.panel.city .utility-note{color:#f0c878;line-height:1.35}.panel.tutorial .step-body{display:block;line-height:1.55}.panel.tutorial .step-body b{color:var(--ink);font-weight:600}.panel.tutorial .steps{gap:5px;margin-top:4px}button.ghost.tiny{padding:3px 8px;font-size:12px;margin-left:auto}.confirm-back{position:fixed;inset:0;background:#06090f9e;z-index:60}.panel.confirm{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(420px,calc(100vw - 32px))}.panel.confirm .confirm-body{display:block;line-height:1.55;margin-top:6px}.panel.confirm .confirm-body b{color:var(--ink)}.confirm-priority{display:grid;gap:8px;margin-top:10px;font-size:13px}.confirm-priority select{width:100%;min-height:38px}.confirm-priority-cells{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 12px;max-height:120px;margin:0;padding:8px 8px 8px 28px;overflow:auto;border:1px solid var(--line);border-radius:8px;font-size:12px}.confirm-buttons{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.confirm-buttons button{padding:9px 16px}.confirm-buttons button.danger{border-color:#ef8b7e8c;color:var(--no)}.confirm-buttons button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.help-back{position:fixed;inset:0;background:#06090f8c;z-index:20}.panel.help{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 32px));max-height:min(80vh,700px)}.panel.help .head{font-weight:600;margin-top:12px;color:var(--ink)}.panel.help .row.small{display:block;line-height:1.55}.panel.help .langs{justify-content:flex-start;gap:8px}.panel.help .langs button{background:#ffffff17;color:var(--ink);padding:6px 12px}.panel.help .langs button.on{background:var(--gold);color:#1a1407;font-weight:600}.panel.city.min{width:min(320px,calc(100vw - 32px))}.panel.city.min .hints{display:none}button.icon-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 10px}button.icon-btn .icon{width:17px;height:17px}button.ghost.on{background:#ffd47938;color:var(--gold)}.panel.tutorial .pager{align-items:center;gap:6px}.panel.tutorial .pager .icon{width:16px;height:16px}.panel.tutorial .pager button.ghost.tiny{margin:0;padding:2px 5px}.panel.tutorial .pager button.ghost.tiny:disabled{opacity:.3}.panel.tutorial .steps{display:flex;flex:1;min-width:0;justify-content:center;gap:5px}.panel.tutorial .steps button{flex:0 1 18px;min-width:6px;width:18px;height:5px;padding:0;border:none;border-radius:2px;background:#ffffff29}.panel.tutorial .steps button.done{background:var(--ok)}.panel.tutorial .steps button.now{background:var(--gold)}.panel.city input.rename{flex:1;min-width:0;padding:3px 7px;border:1px solid var(--gold);border-radius:7px;background:#ffffff0f;color:var(--ink);font:inherit;font-weight:600}.panel.city .rename-btn{margin-left:6px;padding:2px 4px;vertical-align:middle;opacity:.5}.panel.city .rename-btn .icon{width:14px;height:14px}.panel.city b:hover .rename-btn{opacity:1}.panel.city .face{margin-left:6px;padding:1px 6px;border-radius:999px;font-style:normal;font-size:11px;font-weight:500;color:var(--ok);border:1px solid rgba(126,200,160,.45)}.panel.svccard{left:16px;right:auto;bottom:calc(64px + env(safe-area-inset-bottom,0px));width:min(300px,calc(100vw - 32px));max-height:none;padding:12px 14px;z-index:9;border-color:#8fd0ff73}@media(max-width:860px){.panel.svccard{bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:11}}.panel.svccard .row{align-items:center;gap:8px}.panel.svccard .ico{display:inline-flex;width:20px;height:20px;color:#8fd0ff}.panel.svccard .ico svg{width:100%;height:100%}.panel.svccard .facts{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:6px;font-size:12px;color:var(--dim)}.panel.svccard .facts .lit{color:#8fd0ff;font-weight:600}.panel.svccard .note{margin-top:6px;font-size:12px;line-height:1.5;color:var(--dim)}.panel.svccard .at{margin-top:6px;font-size:11px;color:var(--dim);opacity:.7}.diagnosis{margin:10px 0;padding:8px;border:1px solid var(--line);border-radius:8px}.diagnosis-list{display:flex;flex-direction:column;gap:4px;max-height:150px;overflow-y:auto;min-width:0;padding:0;margin:8px 0;border:0}.diagnosis-list button{text-align:left}.diagnosis-list button[aria-pressed=true]{border-color:#ffb347}.diagnosis-summary{display:flex;align-items:center;gap:8px;margin-top:4px}.diagnosis-summary .small{flex:1}.diagnosis-legend{color:#ffb347;margin-top:8px}.zone-controls{flex:1 1 100%;min-width:0}.zone-guide{margin:6px 2px 0;color:var(--dim);font-size:11px;line-height:1.45}.statistics{margin:12px 0;padding:12px;border:1px solid #46535d;border-radius:10px}.statistics-options{border:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px}.statistics-options button{padding:8px 4px;font-size:13px}.statistics-scale{height:10px;border-radius:5px;background:linear-gradient(to right,#58bb96,#f2ce64,#e16d65)}.statistics-labels{display:flex;justify-content:space-between;gap:8px;margin-top:4px}[data-testid=building-satisfaction] meter{display:block;width:100%;margin:6px 0}.panel.svccard{max-height:75vh;overflow-y:auto}[data-testid=building-satisfaction] li{margin:10px 0}.facility-forecast{margin:10px 0;padding:10px;border:1px solid #465360;border-radius:10px;font-size:.85em}.facility-forecast>div{margin-top:5px}.facility-forecast .note{margin:8px 0 0;color:#a9b8ca;font-size:.9em}.facility-plan-row{display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:4px 0;border-bottom:1px solid #465360}.facility-plan-row span{flex:1 1 120px}.facility-plan-row button{padding:3px 6px}.facility-plan-row .facility-plan-candidate{flex-basis:100%;font-size:11px;color:var(--dim)}[data-testid=commute-panel]{margin:12px 0;padding:10px 0;border-top:1px solid #465360;border-bottom:1px solid #465360}.commute-targets{max-height:180px;overflow-y:auto;padding-left:0;list-style:none}.commute-targets button{width:100%;text-align:left}.toast.good{border-color:#7fd18f8c;color:var(--ok)}.toast.warn{border-color:#ffd47999;color:var(--gold)}.toast.bad{border-color:#ef8b7e99;color:var(--no)}.cue-glyph{display:inline-block;min-width:1em;margin-right:6px;font-weight:800;text-align:center}.toast .cue-glyph{margin-right:0}.place-label{width:max-content}.place-label.ok{border-color:#7fd18f8c}.place-label.no{border-color:#ef8b7e99}.place-label.ok .cue-glyph{color:var(--ok)}.place-label.no .cue-glyph{color:var(--no)}.toast-more{flex:0 0 auto;font-style:normal;font-size:11px;color:var(--dim)}.blocker-line{margin:4px 0 8px;padding:7px 9px;border-radius:8px;background:#ffd4791a;border:1px solid rgba(255,212,121,.32);font-size:12px;line-height:1.45}.blocker-line.severe{background:#ef8b7e21;border-color:#ef8b7e66}.blocker-line .fix{font-weight:600}.blocker-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:5px}.blocker-actions button.ghost.tiny{margin-left:0}.deficit-badge{display:inline-block;margin:-2px 0 6px;padding:2px 8px;border-radius:999px;font-size:11px;color:#1b0f0c;background:var(--no)}.recovery{margin:8px 0;padding:8px 10px;border-radius:8px;border:1px solid rgba(239,139,126,.4);background:#ef8b7e14}.recovery>.small{margin-top:5px}.recovery-row{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:3px 0}.recovery-row button.ghost.tiny,.recovery>.small>button.ghost.tiny{margin-left:0;flex:0 0 auto}.statement{margin:8px 0}.statement>button{width:100%;text-align:left}.st-row{display:grid;grid-template-columns:1fr auto 40px;gap:8px;padding:1px 0 1px 10px;color:var(--dim);font-variant-numeric:tabular-nums}.st-row b{color:var(--ink);font-weight:500;text-align:right}.st-row em{font-style:normal;text-align:right;opacity:.8}.st-row.head{margin-top:6px;padding-left:0;color:var(--ink)}.st-row.head b{font-weight:600}.st-row b.ok{color:var(--ok)}.st-row b.no{color:var(--no)}.st-toggle{display:flex;align-items:center;gap:6px;margin-top:6px;color:var(--dim)}.st-toggle input{width:auto;margin:0}.panel.tutorial .tutorial-progress{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;margin:6px 0 2px;color:var(--dim);font-variant-numeric:tabular-nums}.panel.tutorial .tutorial-progress .fill{background:var(--gold)}.panel.tutorial .tutorial-actions{justify-content:flex-start;margin-top:6px}.panel.tutorial .tutorial-actions button{padding:6px 12px;font-size:13px}.panel.tutorial .steps button.later{background:#ffffff0f}.panel.svccard .svccard-actions{margin-top:8px;justify-content:space-between}.panel.svccard .svccard-actions button.danger{flex:0 0 auto;border-color:#ef8b7e8c;color:var(--no)}.paint-label{position:fixed;z-index:30;pointer-events:none;max-width:min(360px,calc(100vw - 32px));padding:4px 10px;border-radius:8px;background:var(--panel);border:1px solid var(--line);color:var(--ink);font-size:12px;line-height:1.4;white-space:normal}.panel.away{inset:72px auto auto 50%;transform:translate(-50%);width:min(380px,calc(100vw - 32px));max-height:none;z-index:45;border-color:#ffd47973}.panel.away .away-body{display:block;margin:4px 0 8px;line-height:1.5}.panel.away .away-warn{display:block;margin-top:6px;color:#f0c878;line-height:1.45}.panel.away .confirm-buttons{margin-top:10px}.panel.tutorial .tutorial-blocked{display:block;margin-top:6px;padding:6px 8px;border-radius:7px;background:#ef8b7e1f;border:1px solid rgba(239,139,126,.28);line-height:1.45}body:not(.gamenow-mobile-mode) .panel:where(:not(.confirm,.help,.away,.svccard,.tutorial)){right:104px}@media(min-width:641px){body:not(.gamenow-mobile-mode) .gate{padding-right:104px}}@media(min-width:981px){body:not(.gamenow-mobile-mode) .hints{right:512px}}@media(min-width:981px)and (max-width:1199px){body:not(.gamenow-mobile-mode) .hints{display:none}}@media(min-width:861px)and (max-width:1199px){body:not(.gamenow-mobile-mode) .panel.tutorial{left:max(96px,calc(100vw - 880px));width:min(360px,calc(100vw - 624px))}}@media(max-width:1199px){.tools{z-index:9}}@media(max-width:640px){body.gamenow-mobile-mode .panel.tutorial{right:48px}}.panel.city .row:first-child{flex-wrap:wrap}.panel.city .row:first-child>button{white-space:nowrap}.panel.city .row:first-child>b{word-break:keep-all;overflow-wrap:anywhere}@supports (height: 100dvh){.panel{max-height:calc(100dvh - 72px - env(safe-area-inset-top,0px))}}html.gamenow-playing,html.gamenow-playing body{overscroll-behavior:none}html.gamenow-playing #root{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}html.gamenow-playing #root input,html.gamenow-playing #root textarea,html.gamenow-playing #root [contenteditable=true]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}html.gamenow-playing #root button,html.gamenow-playing #root a{touch-action:manipulation}html.gamenow-playing #root .panel,html.gamenow-playing #root .tools,html.gamenow-playing #root .groups{touch-action:pan-x pan-y}@media(pointer:coarse){.groups button kbd,.tools button kbd{display:none}.panel.city .row:first-child button.ghost.tiny{min-width:40px;min-height:40px}}body.gamenow-mobile-mode .gate-kicker,body.gamenow-mobile-mode .gate-card-label{font-size:11px}@media(max-width:640px){.gate-kicker,.gate-card-label,.groups button,.hints{font-size:11px}}@media(max-width:640px),(max-height:520px){.panel.city.min .row:first-child>button.danger{display:none}}body.gamenow-mobile-mode .topbar{flex-wrap:nowrap;gap:7px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x;padding-left:calc(10px + env(safe-area-inset-left,0px));padding-right:calc(10px + env(safe-area-inset-right,0px));-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent)}body.gamenow-mobile-mode .topbar::-webkit-scrollbar{display:none}body.gamenow-mobile-mode .topbar:after{content:"";flex:0 0 22px}body.gamenow-mobile-mode .topbar>*{flex:0 0 auto;white-space:nowrap}body.gamenow-mobile-mode .topbar .period-note,body.gamenow-mobile-mode .topbar .perf{display:none}@media(max-width:640px),(max-height:520px){body.gamenow-mobile-mode .topbar{padding-top:6px;padding-bottom:6px;font-size:12px}body.gamenow-mobile-mode .topbar .brand,body.gamenow-mobile-mode .topbar .icon-btn .label{display:none}body.gamenow-mobile-mode .topbar .creator-seal-compact{font-size:0;gap:0}body.gamenow-mobile-mode .topbar button.icon-btn{min-width:44px;justify-content:center}}body.gamenow-mobile-mode .groups{max-height:calc(100dvh - var(--top-h, 46px) - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}body.gamenow-mobile-mode .groups::-webkit-scrollbar{display:none}@media(max-width:520px){body.gamenow-mobile-mode .groups{max-height:calc(100dvh - var(--top-h, 46px) - var(--city-h, 48px) - 30px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}}@media(max-width:980px),(pointer:coarse){.panel.city.min .city-share-row,.panel.city.min .guestbook{display:none}}@media(min-width:521px){body.gamenow-mobile-mode .panel:where(:not(.confirm,.help,.away,.svccard,.tutorial)){right:calc(44px + env(safe-area-inset-right,0px))}}@media(min-width:641px){body.gamenow-mobile-mode{--tut-left: calc(96px + env(safe-area-inset-left, 0px)) }body.gamenow-mobile-mode .groups{left:calc(16px + env(safe-area-inset-left,0px))}body.gamenow-mobile-mode .tools{left:calc(88px + env(safe-area-inset-left,0px));max-height:calc(100dvh - var(--top-h, 46px) - 16px - env(safe-area-inset-top,0px))}body.gamenow-mobile-mode .panel.tutorial,body.gamenow-mobile-mode button.ghost.tutorial-open{left:var(--tut-left);right:auto}body.gamenow-mobile-mode .panel.tutorial{bottom:calc(16px + env(safe-area-inset-bottom,0px));width:clamp(200px,calc(var(--city-left, 60vw) - var(--tut-left) - 12px),360px);max-height:calc(100dvh - var(--top-h, 52px) - 28px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}}@media(min-width:641px)and (min-height:521px){body.gamenow-mobile-mode .hints{display:flex;top:calc(var(--top-h, 52px) + 6px + env(safe-area-inset-top,0px));bottom:auto;left:var(--tut-left);right:calc(100vw - var(--city-left, 60vw) + 12px);border-radius:12px}body.gamenow-mobile-mode .panel.tutorial{max-height:calc(100dvh - var(--top-h, 52px) - 120px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}}@media(min-width:641px)and (max-height:520px){body.gamenow-mobile-mode{--tut-left: calc(72px + env(safe-area-inset-left, 0px)) }body.gamenow-mobile-mode .groups{left:calc(8px + env(safe-area-inset-left,0px));top:calc(var(--top-h, 46px) + 4px + env(safe-area-inset-top,0px));width:56px;gap:4px}body.gamenow-mobile-mode .groups button{min-height:44px;padding:4px 2px;font-size:11px;gap:0}body.gamenow-mobile-mode .groups .icon{width:18px;height:18px}body.gamenow-mobile-mode .tools{left:var(--tut-left);top:calc(var(--top-h, 46px) + 4px + env(safe-area-inset-top,0px))}body.gamenow-mobile-mode .panel.tutorial,body.gamenow-mobile-mode .panel.city{bottom:calc(8px + env(safe-area-inset-bottom,0px));max-height:calc(100dvh - var(--top-h, 52px) - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}}body.gamenow-mobile-mode .groups button.on,body.gamenow-mobile-mode .groups button.holding{border-color:var(--gold);color:var(--gold)}body.gamenow-mobile-mode .groups button.on{background:#ffd47929}@media(max-width:640px){body.gamenow-mobile-mode .hints{right:44px}}.city-invite-notice{margin:14px 0;padding:12px;border:1px solid var(--line);border-radius:8px;background:#a6c5ad18}.city-invite-notice strong,.city-invite-notice span{display:block;overflow-wrap:anywhere}.city-invite-notice span{margin-top:6px;font-size:12px;opacity:.75}.city-invite-notice p{font-size:13px;line-height:1.6;margin:8px 0 0}.city-visit-actions{flex-wrap:wrap}.guest-banner{position:fixed;top:calc(var(--top-h, 46px) + 8px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);z-index:30;display:flex;align-items:center;gap:10px;padding:6px 8px 6px 14px;border-radius:999px;background:#0c1420db;color:#fff;font-size:13px;box-shadow:0 4px 16px #00000040;max-width:calc(100vw - 24px)}.guest-banner span{min-width:0}.guest-banner button{min-height:36px;padding:0 12px;border-radius:999px;font-size:13px;white-space:nowrap}body:has(.guest-banner) .toasts{top:calc(var(--top-h, 46px) + 60px + env(safe-area-inset-top,0px))}.topbar .guest-top-login{display:none;min-height:32px;padding:0 12px;border-radius:999px;font-size:12px}@media(max-width:640px){.guest-banner{top:calc(var(--top-h, 46px) + 6px + env(safe-area-inset-top,0px));bottom:auto;left:8px;right:8px;transform:none;max-width:none;gap:8px;padding:6px 6px 6px 12px;border-radius:14px;font-size:12px}.guest-banner span{flex:1;line-height:1.35}.guest-banner button{min-height:34px;padding:0 10px;font-size:12px}.guest-banner.on-ground{display:none}body:has(.guest-banner.on-ground) .toasts{top:calc(var(--top-h, 46px) + 8px + env(safe-area-inset-top,0px))}body:has(.guest-banner:not(.on-ground)) .toasts{top:calc(var(--top-h, 46px) + 66px + env(safe-area-inset-top,0px))}.topbar .guest-top-login{display:inline-flex;align-items:center}}.claim.guest-claim{flex-wrap:wrap}.claim.guest-claim button{flex:1 1 auto}.city-finder{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.city-finder summary{cursor:pointer;font-weight:600;min-height:28px;display:flex;align-items:center}.city-finder ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px;max-height:min(320px,45dvh);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.city-finder li button{width:100%;display:flex;justify-content:space-between;align-items:baseline;gap:8px;text-align:left;min-height:36px}.city-finder li button b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-bar{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px;row-gap:4px;align-items:center;width:100%;margin:2px 0 6px;padding:6px 10px;border:1px solid rgba(255,212,121,.28);border-radius:10px;background:linear-gradient(90deg,#ffd4791a,#ffd47905);color:var(--ink);text-align:left;cursor:pointer}.rank-bar:hover{border-color:#ffd4798c}.rank-bar .rank-crest{grid-row:1 / 3;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#ffd47929;color:var(--gold)}.rank-bar .rank-crest .icon{width:18px;height:18px}.rank-bar .rank-text{display:flex;gap:8px;align-items:baseline;min-width:0;font-size:12px}.rank-bar .rank-text b{color:var(--gold);font-size:13px;white-space:nowrap}.rank-bar .rank-text .dim{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-track{position:relative;height:4px;border-radius:2px;background:#96aac82e;overflow:hidden}.rank-fill{position:absolute;inset:0 auto 0 0;border-radius:2px;background:linear-gradient(90deg,#f0b850,var(--gold));transition:width .8s ease-out}.panel.rank-card{inset:72px auto auto 50%;transform:translate(-50%);width:min(360px,calc(100vw - 32px));max-height:calc(100dvh - 160px);overflow:hidden auto;z-index:46;border-color:#ffd47980;text-align:left}.panel.rank-card.celebrate{animation:rank-in .55s cubic-bezier(.2,1.4,.4,1) both;box-shadow:0 0 0 1px #ffd47940,0 12px 40px #ffbe5038}.panel.rank-card.still{animation:none}@keyframes rank-in{0%{opacity:0;transform:translate(-50%,-18px) scale(.92)}to{opacity:1;transform:translate(-50%) scale(1)}}.rank-head{display:flex;gap:12px;align-items:center}.rank-medal{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe9b0,#e0a43c 70%);color:#3a2508;box-shadow:0 0 0 3px #ffd47940}.panel.rank-card.celebrate:not(.still) .rank-medal{animation:rank-glow 1.6s ease-out .3s 2}@keyframes rank-glow{0%{box-shadow:0 0 0 3px #ffd47940}40%{box-shadow:0 0 0 12px #ffd47900}to{box-shadow:0 0 0 3px #ffd47940}}.rank-medal .icon{width:30px;height:30px;stroke-width:2}.rank-kicker{color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.rank-name{font-size:24px;font-weight:800;line-height:1.15}.rank-sub{margin:12px 0 4px;color:var(--dim);font-size:11px;font-weight:700}.rank-list,.rank-needs{margin:0;padding:0;list-style:none;font-size:13px;line-height:1.45}.rank-list li{position:relative;padding-left:16px}.rank-list li:before{content:"";position:absolute;left:3px;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--ok)}.rank-needs{display:flex;flex-wrap:wrap;gap:6px}.rank-needs li{display:inline-flex;gap:4px;align-items:center;padding:2px 8px 2px 6px;border:1px solid var(--line);border-radius:999px;font-size:12px}.rank-needs .icon{width:14px;height:14px}.rank-next{display:flex;flex-direction:column;gap:2px;margin-top:12px;padding:8px 10px;border-radius:8px;background:#ffd47914;font-size:13px;font-weight:600}.rank-next .small{font-weight:400}.rank-ok{width:100%;margin-top:10px;background:var(--gold);color:#1a1407;font-weight:700}.rank-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}.rank-confetti i{position:absolute;top:-8px;left:calc(6% + var(--k) * 6.4%);width:6px;height:10px;border-radius:1px;background:hsl(calc(var(--k) * 37deg + 30deg) 85% 65%);opacity:0;animation:rank-fall 1.8s cubic-bezier(.3,.6,.5,1) calc(var(--k) * 45ms) 1 both}@keyframes rank-fall{0%{opacity:1;transform:translateY(0) rotate(0)}to{opacity:0;transform:translateY(220px) rotate(calc(var(--k) * 70deg + 160deg))}}@media(prefers-reduced-motion:reduce){.panel.rank-card.celebrate,.panel.rank-card .rank-medal,.rank-fill{animation:none!important;transition:none}.rank-confetti{display:none}}@media(max-width:640px){.panel.rank-card{inset:calc(var(--top-h, 46px) + 12px + env(safe-area-inset-top,0px)) auto auto 50%}.rank-name{font-size:20px}.rank-medal{width:44px;height:44px}}.styles button.locked{flex-wrap:wrap;row-gap:0;opacity:.55;border-style:dashed;cursor:not-allowed}.styles button .style-lock{flex-basis:100%;text-align:left;color:var(--dim);font-size:10px;line-height:1.3}.events{position:fixed;top:calc(var(--top-h, 46px) + 18px + env(safe-area-inset-top,0px));left:96px;z-index:18;display:flex;flex-direction:column;gap:6px;width:min(300px,calc(100vw - 120px));pointer-events:none}.event-card{pointer-events:auto;border:1px solid rgba(255,170,90,.45);border-radius:10px;background:var(--panel);box-shadow:0 6px 20px #0000004d;overflow:hidden}.event-card.urgent{border-color:#ef8b7ecc}.event-head{display:flex;gap:8px;align-items:center;width:100%;padding:7px 10px;border-radius:0;background:transparent;color:var(--ink);text-align:left;font-weight:600}.event-icon{display:grid;flex:none;place-items:center;width:24px;height:24px;border-radius:50%;background:#ff964638;color:#ffb067}.event-card.kind-3 .event-icon,.event-card.kind-4 .event-icon{background:#7fd18f33;color:var(--ok)}.event-icon .icon{width:15px;height:15px}.event-title{flex:1;min-width:0;font-size:13px}.event-left{flex:none;color:var(--dim);font-size:11px;font-weight:500;font-variant-numeric:tabular-nums}.event-body{display:flex;flex-direction:column;gap:4px;padding:0 10px 9px;line-height:1.45}.event-actions{display:flex;gap:6px;margin-top:4px}.event-actions button{flex:1;padding:6px 10px;font-size:12px}.event-pins{position:fixed;inset:0;z-index:12;pointer-events:none}.event-pin{position:absolute;top:0;left:0;width:0;height:0;padding:0;background:none;pointer-events:auto}.event-pin-dot{position:absolute;left:-15px;top:-40px;display:grid;place-items:center;width:30px;height:30px;border:2px solid #fff;border-radius:50% 50% 50% 4px;transform:rotate(-45deg);background:#e8673f;color:#fff;box-shadow:0 4px 10px #00000059}.event-pin.kind-3 .event-pin-dot,.event-pin.kind-4 .event-pin-dot{background:#3f9e5a}.event-pin.kind-1 .event-pin-dot{background:#d9a227}.event-pin-dot .icon{width:16px;height:16px;transform:rotate(45deg)}.event-pin:after{content:"";position:absolute;left:-12px;top:-6px;width:24px;height:12px;border-radius:50%;border:2px solid rgba(232,103,63,.8);animation:event-ring 1.6s ease-out infinite}@keyframes event-ring{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(2.2)}}:root[data-gamenow-reduce-motion="1"] .event-pin:after{animation:none}@media(prefers-reduced-motion:reduce){.event-pin:after{animation:none}}@media(max-width:640px){.events{left:68px;width:calc(100vw - 120px)}.event-left{display:none}}.tutorial-extras{margin:6px 0 2px}.tutorial-extras ul{margin:4px 0 0;padding:0;list-style:none}.tutorial-extras li{display:flex;gap:6px;align-items:center;margin:2px 0;font-size:12px}.tutorial-extras .tick{display:grid;place-items:center;width:16px;height:16px;border:1px solid var(--line);border-radius:4px;color:var(--ok);font-size:11px}.tutorial-extras li.done{color:var(--dim);text-decoration:line-through}.tutorial-extras li.done .tick{border-color:var(--ok)}.topbar>button.undo-button{margin-left:0}.undo-time{min-width:3ch;font-size:.85em;font-variant-numeric:tabular-nums}.founding-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.founding-head b{font-size:15px}.founding-steps{display:inline-flex;align-items:center;gap:4px;font-size:12px}.founding-steps i{width:18px;height:4px;border-radius:2px;background:var(--line)}.founding-steps i.on{background:var(--gold)}.founding-steps .dim{margin-left:4px}.founding-where{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px}.founding-actions{display:flex;gap:8px;margin-top:10px}.founding-actions button{flex:1 1 0;min-height:44px;padding:10px 12px}.founding-actions .founding-go{flex-grow:1.4}.founding-name input{width:100%;min-height:44px;margin:0 0 6px;font-size:16px}.founding-login{width:100%;min-height:40px;margin-top:8px}.founding-panel .city-finder{margin-top:10px}.gate-wait{margin:0 0 6px}@media(max-width:640px){.gate-card{justify-self:stretch;width:auto;margin-right:28px}.panel.founding-panel{bottom:calc(26px + env(safe-area-inset-bottom,0px))}}html.sw-pstage{--groups-h: 62px;--band-gap: 6px}html.sw-pstage .stage{inset:0 0 auto;height:var(--stage-h, 100%)}html.sw-pstage #root:after{content:"";position:fixed;left:0;right:0;top:var(--stage-h, 100%);bottom:0;z-index:-1;background:#0a0f1a;border-top:1px solid var(--line);pointer-events:none}html.sw-pstage .groups{inset:auto 0 0;width:auto;max-height:none;flex-direction:row;gap:4px;padding:6px calc(8px + env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) calc(8px + env(safe-area-inset-left,0px));overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;z-index:10}html.sw-pstage .groups button{flex:1 0 44px;width:auto;min-width:44px;min-height:48px;max-height:48px;padding:4px 2px;gap:1px;font-size:11px;line-height:1.15;white-space:nowrap;backdrop-filter:none}html.sw-pstage .groups .icon{width:20px;height:20px}html.sw-pstage .panel.city{left:calc(8px + env(safe-area-inset-left,0px));right:calc(8px + env(safe-area-inset-right,0px));width:auto;top:calc(var(--stage-h) + var(--band-gap));bottom:calc(var(--groups-h) + env(safe-area-inset-bottom,0px));max-height:none;padding:6px 10px 8px;border-radius:12px;z-index:9}html.sw-pstage .panel.city.min{display:flex;flex-direction:column}html.sw-pstage .panel.city.min>*{flex:none;order:2}html.sw-pstage .panel.city.min>.row:first-child{order:0}html.sw-pstage .panel.city.min>.stats{order:1}html.sw-pstage .panel.city.min .row:first-child{flex-wrap:nowrap;gap:6px;margin-bottom:2px}html.sw-pstage .panel.city.min .row:first-child>b{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}html.sw-pstage .panel.city.min .row:first-child button,html.sw-pstage .panel.city.min .row:first-child button.ghost.tiny{min-width:44px;min-height:44px}html.sw-pstage .panel.city.min .rank-bar{position:relative;grid-template-rows:auto;margin:2px 0 4px;padding:3px 8px 7px;row-gap:0}html.sw-pstage .panel.city.min .rank-bar .rank-crest{grid-row:1;width:22px;height:22px}html.sw-pstage .panel.city.min .rank-bar .rank-crest .icon{width:14px;height:14px}html.sw-pstage .panel.city.min .rank-bar .rank-track{position:absolute;left:38px;right:8px;bottom:3px;height:3px}html.sw-pstage .panel.city.min .stats{margin:0;font-size:12px;gap:0 10px}html.sw-pstage .panel.city:not(.min){top:calc(var(--top-h, 46px) + 6px + env(safe-area-inset-top,0px));right:calc(48px + env(safe-area-inset-right,0px));z-index:12}html.sw-pstage .tools{top:auto;left:calc(8px + env(safe-area-inset-left,0px));right:calc(48px + env(safe-area-inset-right,0px));bottom:calc(var(--groups-h) + env(safe-area-inset-bottom,0px));width:auto;max-width:none;max-height:min(56vh,calc(100dvh - var(--groups-h) - var(--top-h, 46px) - 20px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)));padding:8px;border:1px solid var(--line);border-radius:14px;background:#0a0f1af0;box-shadow:0 -8px 24px #00000059;z-index:13}html.sw-pstage .tools:not(.services){flex-direction:row;flex-wrap:wrap}html.sw-pstage .tools:not(.services)>button{flex:1 1 calc(50% - 6px);min-height:48px}html.sw-pstage .tools .zone-controls{flex:1 1 100%}html.sw-pstage .panel.tutorial,html.sw-pstage button.ghost.tutorial-open{left:calc(8px + env(safe-area-inset-left,0px));right:calc(48px + env(safe-area-inset-right,0px));width:auto;top:calc(var(--top-h, 46px) + 4px + env(safe-area-inset-top,0px));bottom:auto}html.sw-pstage .panel.tutorial{display:flex;flex-wrap:wrap;align-items:center;column-gap:6px;max-height:min(calc(var(--stage-h) - var(--top-h, 46px) - 96px),calc(var(--stage-h) * .5));padding:6px 10px 8px}html.sw-pstage .panel.tutorial>*{flex:1 1 100%;min-width:0;order:2}html.sw-pstage .panel.tutorial>.row:first-child{order:0}html.sw-pstage .panel.tutorial>.tutorial-actions,html.sw-pstage .panel.tutorial>.pager,html.sw-pstage .panel.tutorial>button.ghost.tiny{order:1}html.sw-pstage .panel.tutorial .step-body,html.sw-pstage .panel.tutorial .tutorial-progress{font-size:12px}html.sw-pstage .panel.tutorial>.tutorial-actions{flex:1 1 auto;margin:2px 0 4px}html.sw-pstage .panel.tutorial>.pager{flex:0 0 auto;gap:4px;margin:2px 0 4px}html.sw-pstage .panel.tutorial .pager .steps{display:none}html.sw-pstage .panel.tutorial>button.ghost.tiny{flex:0 0 auto;margin:2px 0 4px}html.sw-pstage .panel.tutorial button,html.sw-pstage .panel.tutorial .pager button.ghost.tiny{min-width:44px;min-height:44px}html.sw-pstage button.ghost.tutorial-open{right:auto}html.sw-pstage .hints{top:auto;left:calc(8px + env(safe-area-inset-left,0px));right:calc(8px + env(safe-area-inset-right,0px));bottom:calc(var(--band-h) + 6px);justify-content:center;padding:3px 10px;font-size:12px;border-radius:10px;z-index:8}html.sw-pstage .practice-goals{left:calc(8px + env(safe-area-inset-left,0px));bottom:calc(var(--band-h) + 38px);max-width:min(310px,calc(100vw - 60px));padding:0 12px;z-index:8}html.sw-pstage .practice-goals[open]{padding-bottom:10px;max-height:calc(var(--stage-h) - var(--top-h, 46px) - 60px);overflow-y:auto}html.sw-pstage .practice-goals summary{min-height:44px;display:flex;align-items:center;font-size:13px}html.sw-pstage .topbar .guest-top-login,html.sw-pstage .topbar .creator-seal-compact{min-height:44px;min-width:44px;justify-content:center}@media(pointer:coarse)and (orientation:portrait)and (max-width:520px){.gate-story .creator-seal,.topbar .creator-seal-compact{min-height:44px;min-width:44px;justify-content:center}.claim.guest-claim button,.founding-login{min-height:44px}.city-finder summary{min-height:44px}}html.sw-pstage .tools.services{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}html.sw-pstage .tools.services>button{min-height:48px;padding:6px 8px;gap:6px}
