:root{--ink:#0b0f0c;--panel:#121a14;--panel-2:#172119;--line:#1f2e23;--line-strong:#5c7a63;--cream:#f3efe6;--muted:#a3ab9f;--green:#1b7f4c;--green-btn:#187444;--green-hi:#2fa66a;--amber:#e8a33d;--amber-deep:#b9802c;--amber-tint:#272818;--coral:#ff8a7a;--coral-deep:#e77566;--map-ground:#ece6d6;--accent:var(--green);--scrim:#0b0f0c66;--ink-a85:#0b0f0cd9;--ink-a92:#0b0f0ceb;--panel-a85:#121a14d9;--text:var(--cream);--text-muted:var(--muted);--text-pos:var(--green-hi);--text-neg:var(--coral);--money:var(--amber);--focus:var(--amber);--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, monospace;--fs-2xs:.6875rem;--fs-xs:.8125rem;--fs-sm:.875rem;--fs-md:1rem;--fs-lg:1.125rem;--fs-xl:1.25rem;--fs-2xl:1.375rem;--fs-3xl:1.75rem;--fs-4xl:2rem;--fs-display:2.5rem;--sp-1:4px;--sp-1h:6px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--r-xs:6px;--r-sm:8px;--r-md:12px;--r-btn:14px;--r-lg:16px;--r-xl:20px;--r-pill:999px;--r:var(--r-lg);--shadow-1:0 4px 16px #00000059;--shadow-2:0 6px 24px #00000059;--z-raise:2;--z-devbadge:9;--z-hud:10;--z-banner:11;--z-chip:12;--z-scrim:20;--z-sheet:21;--z-toast:24;--z-coach:26;--z-modal:30;--z-overlay:40;--dur-tap:.1s;--dur-fast:.15s;--dur-base:.25s;--dur-slow:.4s;--ease-out:cubic-bezier(.2, .8, .2, 1);--dur:var(--dur-base);--tap:48px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--scale:1;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-text="125"]{--scale:1.25}:root[data-text="150"]{--scale:1.5}:root[data-motion=reduce]{--dur:var(--dur-fast)}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]){--dur:var(--dur-fast)}}*,:before,:after{box-sizing:border-box}html{font-size:calc(100% * var(--scale))}html,body,#root{height:100%;margin:0}html,body{max-width:100vw;overflow-x:hidden}body{background:var(--ink);color:var(--text);font:var(--fs-md) / 1.4 var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;touch-action:manipulation}button{font:inherit;color:inherit}a{color:var(--amber)}.num,.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.kicker{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;font-size:var(--fs-xs);color:var(--text-muted)}.muted{color:var(--text-muted)}.good{color:var(--text-pos)}.bad{color:var(--text-neg)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 7px var(--ink)}:focus:not(:focus-visible){outline:none}.grow{flex:1;min-width:0}.fw-700{font-weight:700}.fw-800{font-weight:800}.fs-xs{font-size:var(--fs-xs)}.fs-sm{font-size:var(--fs-sm)}.fs-lg{font-size:var(--fs-lg)}.fs-2xl{font-size:var(--fs-2xl)}.fs-3xl{font-size:var(--fs-3xl)}.center{text-align:center}.nowrap{white-space:nowrap}.tight{margin:0}.mt-2{margin-top:var(--sp-2)}.mt-3{margin-top:var(--sp-3)}.stat{font:800 var(--fs-2xl) var(--mono);font-variant-numeric:tabular-nums}.balance{font:900 var(--fs-4xl) var(--mono);font-variant-numeric:tabular-nums;color:var(--money)}ul.plain,ol.plain{margin:0;padding:0;list-style:none}.ico{width:24px;height:24px;-webkit-mask:var(--i) center / contain no-repeat;-webkit-mask:var(--i) center / contain no-repeat;mask:var(--i) center / contain no-repeat;background:currentColor;flex:none;display:inline-block}.ico.sm{width:18px;height:18px}.ico.lg{width:32px;height:32px}.btn{min-height:var(--tap);border-radius:var(--r-btn);border:1px solid var(--line);background:var(--panel-2);justify-content:center;align-items:center;gap:var(--sp-2);cursor:pointer;transition:transform var(--dur-tap) ease, background var(--dur-fast) ease, border-color var(--dur-fast) ease;-webkit-user-select:none;user-select:none;padding:0 18px;font-weight:700;text-decoration:none;display:inline-flex}.btn:active:not([disabled]){transform:scale(.95)}.btn[disabled]{opacity:.5;cursor:default}.btn[aria-busy=true]{cursor:progress}.btn.primary{background:var(--amber);border-color:var(--amber);color:var(--ink)}.btn.green{background:var(--green-btn);border-color:var(--green-btn);color:var(--cream)}.btn.ghost{background:0 0;border-color:#0000}.btn.danger{border-color:var(--coral);color:var(--coral);background:0 0}.btn.inverse{background:var(--ink);border-color:var(--ink);color:var(--cream)}.btn.block{width:100%}.btn.big{min-height:64px;font-size:var(--fs-lg);border-radius:var(--r)}@media (hover:hover){.btn:hover:not([disabled]){border-color:var(--line-strong)}.btn.primary:hover:not([disabled]){background:#eeb05a;border-color:#eeb05a}.btn.ghost:hover:not([disabled]){background:var(--panel-2);border-color:#0000}}.btn.shake,.next.shake{animation:.24s shake}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}:root[data-motion=reduce] .btn.shake,:root[data-motion=reduce] .next.shake{animation:none}.btnrow{gap:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.btnline{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.game{position:fixed;inset:0;overflow:hidden}.map-layer{background:var(--map-ground);position:absolute;inset:0}.landing .preview .map-layer{background:var(--ink)}.map-layer canvas{touch-action:none;width:100%;height:100%;display:block}.map-fallback{padding:var(--sp-5);text-align:center;background:var(--ink);place-items:center;display:grid;position:absolute;inset:0}.hud{padding:calc(6px + var(--safe-t)) var(--sp-2) var(--sp-1);z-index:var(--z-hud);pointer-events:none;background:linear-gradient(var(--ink) 0%, var(--ink-a85) 70%, transparent);position:absolute;top:0;left:0;right:0}.hud>*{pointer-events:auto}.hud-row1{align-items:center;gap:var(--sp-1);min-width:0;height:52px;display:flex}.hud-row2{align-items:center;gap:var(--sp-2);min-height:28px;padding:0 var(--sp-2);display:flex}.cash{min-height:var(--tap);align-items:center;gap:var(--sp-1h);padding:0 var(--sp-1);color:var(--money);font:800 var(--fs-xl) var(--mono);font-variant-numeric:tabular-nums;cursor:pointer;white-space:nowrap;background:0 0;border:0;flex:none;display:inline-flex}.cash .skel{width:84px;height:20px;margin:0}@media (width<=380px){.energy .num{font-size:var(--fs-sm)}}@media (width<=340px){.energy .bar,.citychip .nm{display:none}}.ghost-amt{font-size:var(--fs-sm);border-radius:var(--r-sm);padding:0 var(--sp-1h);opacity:.9;border:1px dashed}.ghost-amt.in{color:var(--text-pos)}.ghost-amt.out{color:var(--text-neg)}.energy{min-height:var(--tap);align-items:center;gap:var(--sp-1);cursor:pointer;background:0 0;border:0;flex:none;padding:0 2px;display:inline-flex}.energy .bar{border-radius:var(--r-xs);background:var(--line);width:48px;height:12px;overflow:hidden}.energy .bar>i{background:var(--green-hi);height:100%;transition:width var(--dur-slow) ease;display:block}.energy.low .bar>i{background:var(--coral)}.energy .num{font-size:var(--fs-md);font-weight:700}:root[data-text="150"] .energy .bar{display:none}.spacer{flex:1}.citychip{min-height:var(--tap);max-width:120px;min-width:var(--tap);align-items:center;gap:var(--sp-1h);padding:var(--sp-1) 10px var(--sp-1) var(--sp-1);border-radius:var(--r-pill);border:1px solid var(--line);background:var(--panel);cursor:pointer;font-weight:700;font-size:var(--fs-sm);flex:0 auto;display:inline-flex}.citychip img{border-radius:50%;width:28px;height:28px}.citychip .nm{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:root[data-text="150"] .citychip .nm{display:none}.dayline{font:var(--fs-xs) var(--mono);color:var(--text-muted);align-items:center;gap:var(--sp-1h);white-space:nowrap;padding:2px var(--sp-2);margin-left:calc(-1 * var(--sp-2));border-radius:var(--r-pill);background:var(--ink-a85);display:inline-flex}.netdot,.rentchip{position:relative}.netdot:after,.rentchip:after{content:"";position:absolute;inset:-10px -4px}.netdot{background:var(--muted);cursor:pointer;border:0;border-radius:50%;width:8px;height:8px;padding:0}.netdot:after{inset:-20px}.netdot.ok{display:none}.netdot.back{background:var(--amber)}.rentchip{align-items:center;gap:var(--sp-1);border-radius:var(--r-pill);border:1px solid var(--line);background:var(--panel);min-height:28px;font:700 var(--fs-sm) var(--mono);cursor:pointer;padding:0 10px;display:inline-flex}.rentchip.today,.rentchip.notice{background:var(--coral);color:var(--ink);border-color:var(--coral)}.banner{left:var(--sp-2);right:var(--sp-2);top:calc(86px + var(--safe-t));z-index:var(--z-banner);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--panel);border:1px solid var(--line);font-size:var(--fs-sm);position:absolute}.devbadge{left:var(--sp-2);top:calc(86px + var(--safe-t));z-index:var(--z-devbadge);font:var(--fs-2xs) var(--mono);padding:2px var(--sp-2);border-radius:var(--r-xs);background:var(--panel-a85);color:var(--amber);border:1px dashed var(--amber);position:absolute}.bottom{z-index:var(--z-hud);padding:0 var(--sp-3) var(--safe-b);pointer-events:none;position:absolute;bottom:0;left:0;right:0}.bottom>*{pointer-events:auto}.next{width:100%;max-width:480px;margin:0 auto var(--sp-2);align-items:center;gap:var(--sp-3);min-height:64px;padding:var(--sp-2) var(--sp-4);border-radius:var(--r);background:var(--amber);color:var(--ink);cursor:pointer;text-align:left;box-shadow:var(--shadow-2);transition:transform var(--dur-tap) ease, opacity var(--dur-fast) ease;border:0;display:flex;position:relative}.next:active:not(:disabled){transform:scale(.97)}.next:disabled:not(.busy){opacity:.75;cursor:progress}.next .verb{font-weight:900;font-size:var(--fs-lg);letter-spacing:-.01em;text-transform:uppercase}.next .meta{font:600 var(--fs-sm) var(--mono);opacity:.85}.next .txt{flex-direction:column;min-width:0;display:flex}.next .txt>*{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.next.busy{background:var(--panel);color:var(--cream);border:1px solid var(--line);cursor:default}.next.pulse:after{content:"";border-radius:var(--r-xl);border:3px solid var(--amber);pointer-events:none;animation:1.4s ease-out infinite pulse;position:absolute;inset:-4px}@keyframes pulse{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.06)}}:root[data-motion=reduce] .next.pulse:after{opacity:.8;animation:none}.ring{flex:none;width:40px;height:40px}.ring circle{fill:none;stroke-width:4px}.ring .bg{stroke:var(--line)}.ring .fg{stroke:var(--amber);stroke-linecap:round;transition:stroke-dashoffset var(--dur-base) linear}.reason{justify-content:center;align-items:center;gap:var(--sp-2);width:fit-content;max-width:480px;margin:0 auto var(--sp-1h);padding:var(--sp-1h) var(--sp-3);border-radius:var(--r-pill);background:var(--panel);border:1px solid var(--line);text-align:center;font-size:var(--fs-sm);color:var(--text-neg);display:flex}.reason .btn{min-height:36px;padding:0 var(--sp-3);font-size:var(--fs-sm);color:var(--cream)}.reason .btn:after{content:"";position:absolute;inset:-6px 0}.reason .btn{position:relative}.sheet .reason{margin:var(--sp-2) var(--sp-4) 0}.tabs{gap:var(--sp-2);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg) var(--r-lg) 0 0;max-width:480px;height:56px;margin:0 auto;display:flex}.tabs.lefty{direction:rtl}.tab{color:var(--text-muted);font-size:var(--fs-sm);cursor:pointer;min-height:var(--tap);border-radius:var(--r-md);direction:ltr;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-weight:700;display:flex;position:relative}.tab[aria-current=page],.tab[aria-current=true]{color:var(--amber)}.tab[hidden]{display:none}.tab .dot{background:var(--amber);border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:calc(50% - 18px)}.tab .ico{width:22px;height:22px}@media (hover:hover){.tab:hover{color:var(--cream)}}.scrim{z-index:var(--z-scrim);background:var(--scrim);animation:fade var(--dur) ease;position:absolute;inset:0}.sheet{z-index:var(--z-sheet);max-height:min(92dvh, calc(100dvh - var(--safe-t) - 60px));background:var(--panel);border-top:1px solid var(--line);border-radius:var(--r-xl) var(--r-xl) 0 0;padding-bottom:var(--safe-b);animation:up var(--dur) var(--ease-out);flex-direction:column;max-width:640px;margin:0 auto;display:flex;position:absolute;bottom:0;left:0;right:0}.sheet.half{max-height:60dvh}.sheet.peek{max-height:42dvh}.sheet.full{height:92dvh}:root[data-motion=reduce] .sheet{animation:fade var(--dur) ease}@keyframes up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}.sheet-head{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-4);border-bottom:1px solid var(--line);display:flex}.sheet-head h2:focus{box-shadow:none;outline:none}.sheet-head h2{font-size:var(--fs-xl);letter-spacing:-.02em;flex:1;margin:0;font-weight:900}.sheet-body{padding:var(--sp-2) var(--sp-4) var(--sp-5);-webkit-overflow-scrolling:touch;overflow-y:auto}.iconbtn{width:var(--tap);height:var(--tap);border-radius:var(--r-md);cursor:pointer;color:var(--cream);background:0 0;border:0;place-items:center;display:inline-grid}@media (hover:hover){.iconbtn:hover{background:var(--panel-2)}}.row{align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid var(--line);min-height:64px;display:flex}.row:last-child{border-bottom:0}.row .main{flex:1;min-width:0}.row .title{font-weight:800}.row .sub{font-size:var(--fs-sm);color:var(--text-muted)}.row .sub .num{color:var(--cream)}.row.locked .title{color:var(--text-muted)}.row.compact{min-height:56px}.chips{gap:var(--sp-1h);margin-top:var(--sp-1);flex-wrap:wrap;display:flex}.chip{align-items:center;gap:var(--sp-1);padding:2px var(--sp-2);border-radius:var(--r-pill);background:var(--panel-2);border:1px solid var(--line);font:600 var(--fs-xs) var(--mono);color:var(--cream);white-space:nowrap;display:inline-flex}.chip.amber{color:var(--amber)}.chip.green{color:var(--text-pos)}.chip.coral{color:var(--text-neg)}.tag{font:700 var(--fs-2xs) var(--mono);text-transform:uppercase;letter-spacing:.08em;padding:2px var(--sp-1h);border-radius:var(--r-xs);border:1px solid var(--muted);color:var(--text-muted)}.tag.here{border-color:var(--green-hi);color:var(--text-pos)}.section{margin:var(--sp-4) 0 var(--sp-1)}.card{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r);padding:var(--sp-3) var(--sp-4)}.notice{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--amber-tint);border:1px solid var(--amber-deep);font-size:var(--fs-sm);margin:var(--sp-2) 0;display:flex}.notice.bad{background:var(--panel-2);border-color:var(--coral)}.empty{align-items:center;gap:var(--sp-2);text-align:center;padding:var(--sp-5) var(--sp-4);border:1px dashed var(--line-strong);border-radius:var(--r);color:var(--text-muted);margin:var(--sp-2) 0;flex-direction:column;display:flex}.empty .btn{color:var(--cream)}.stack{gap:var(--sp-2);flex-direction:column;display:flex}.grid2{gap:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.modal-wrap{z-index:var(--z-modal);padding:var(--sp-4);background:var(--scrim);animation:fade var(--dur) ease;place-items:center;display:grid;position:absolute;inset:0}.event{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-xl);width:100%;max-width:400px;padding:var(--sp-5) 20px 20px;animation:pop var(--dur) ease}@keyframes pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}:root[data-motion=reduce] .event{animation:fade var(--dur) ease}.event p{font-size:var(--fs-lg);margin:var(--sp-2) 0 var(--sp-4)}.event .effects{gap:var(--sp-1h);flex-wrap:wrap;display:flex}.decision{width:100%;max-width:480px;margin:0 auto var(--sp-2);padding:var(--sp-3) var(--sp-4) var(--sp-4);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-2);animation:up var(--dur) var(--ease-out)}.decision p{font-size:var(--fs-md);margin:var(--sp-1) 0;font-weight:700}.decision .choices{gap:var(--sp-2);margin-top:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));display:grid}.decision .choices .btn{min-height:var(--tap)}:root[data-motion=reduce] .decision{animation:fade var(--dur) ease}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .decision{animation:fade var(--dur) ease}}.toasts{left:0;right:0;top:calc(90px + var(--safe-t));z-index:var(--z-toast);align-items:center;gap:var(--sp-1h);pointer-events:none;padding:0 var(--sp-3);flex-direction:column;display:flex;position:absolute}.toasts.over-sheet{top:calc(6px + var(--safe-t))}.toasts.over-sheet .toast{padding-top:7px;padding-bottom:7px}.toast{pointer-events:auto;border-radius:var(--r-btn);background:var(--panel);border:1px solid var(--line);width:100%;max-width:440px;box-shadow:var(--shadow-2);animation:up var(--dur) ease;font-size:var(--fs-sm);cursor:pointer;text-align:left;align-items:center;gap:10px;padding:10px 14px;display:flex}.toast.bad{border-color:var(--coral)}.toast .amt{font:800 var(--fs-md) var(--mono)}.toast .txt{flex:1}.toast-action{padding:var(--sp-1h) var(--sp-3);border-radius:var(--r-pill);background:var(--amber);color:var(--ink);font-weight:800;font-size:var(--fs-sm);flex:none}.coach{left:50%;bottom:calc(140px + var(--safe-b));z-index:var(--z-coach);align-items:center;gap:var(--sp-2);width:calc(100% - 32px);max-width:320px;padding:10px var(--sp-3) 10px 14px;background:var(--cream);color:var(--ink);border-radius:var(--r-btn);font-weight:700;font-size:var(--fs-sm);animation:up var(--dur) ease;display:flex;position:absolute;transform:translate(-50%)}.coach :focus-visible{outline-color:var(--ink);box-shadow:0 0 0 7px var(--cream)}.coach:after{content:"";border:8px solid #0000;border-bottom:0;border-top-color:var(--cream);margin-left:-8px;position:absolute;bottom:-8px;left:50%}.coach.top{bottom:auto;top:calc(92px + var(--safe-t))}.coach.top:after{border-top:0;border-bottom:8px solid var(--cream);top:-8px;bottom:auto}.coach.top.left:after{left:40px}.coach .btn{flex:none}:root[data-motion=reduce] .toast,:root[data-motion=reduce] .coach{animation:fade var(--dur) ease}.landing{flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.landing .preview{opacity:.8;animation:fade var(--dur-slow) ease;position:absolute;inset:0}.landing .shade{background:linear-gradient(#0b0f0c80, #0b0f0c0d 30%, #0b0f0ce6 62%, var(--ink));position:absolute;inset:0}.landing .top{z-index:var(--z-raise);padding:calc(10px + var(--safe-t)) var(--sp-3) 0 var(--sp-4);align-items:center;gap:var(--sp-2);display:flex;position:relative}.landing .brand{font-weight:900;font-size:var(--fs-xl);letter-spacing:-.03em}.landing .brand b{color:var(--amber)}.landing .body{z-index:var(--z-raise);padding:var(--sp-4) var(--sp-4) calc(var(--sp-5) + var(--safe-b));align-self:center;gap:var(--sp-3);flex-direction:column;width:100%;max-width:480px;margin-top:auto;display:flex;position:relative}.landing .body:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#0b0f0c00, var(--ink-a92) 56px);position:absolute;inset:-56px 0 0}.landing h1{font-size:var(--fs-display);letter-spacing:-.03em;margin:0;font-weight:900;line-height:1.05}.landing h1.step{font-size:var(--fs-3xl)}.landing h1:focus{box-shadow:none;outline:none}.landing .tagline{color:var(--text-muted);margin:0}.landing .tagline.invite{color:var(--amber);font-weight:700}.paths{grid-template-columns:1fr 1fr;gap:10px;display:grid}.pathcard{gap:var(--sp-1h);text-align:left;border-radius:var(--r);border:2px solid var(--line);background:var(--panel);cursor:pointer;min-height:168px;transition:transform var(--dur-tap) ease, border-color var(--dur-fast) ease;flex-direction:column;align-items:flex-start;padding:14px;display:flex}.pathcard:active{transform:scale(.97)}.pathcard:hover,.pathcard:focus-visible{border-color:var(--amber)}.pathcard .pt{font-weight:900;font-size:var(--fs-xl);line-height:1.15}.pathcard .pm{font:800 var(--fs-lg) var(--mono);color:var(--money)}.pathcard .pd{font-size:var(--fs-sm);color:var(--text-muted)}.pathcard .pf{font-size:var(--fs-xs);color:var(--text-muted)}.legal{font-size:var(--fs-xs);color:var(--text-muted);text-align:center}.overlay{z-index:var(--z-overlay);position:fixed;inset:0;overflow:hidden}.cityrow{align-items:center;gap:var(--sp-3);width:100%;padding:10px var(--sp-1);border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;min-height:64px;display:flex}.cityrow:disabled{cursor:default;opacity:.6}@media (hover:hover){.cityrow:hover:not(:disabled){background:var(--panel-2)}}.cityrow .lbl{flex:1;font-weight:700}.cityrow img{border-radius:50%;flex:none;width:44px;height:44px}.cityrow .noimg{width:44px;height:44px;color:var(--ink);border-radius:50%;flex:none;place-items:center;font-weight:900;display:grid}.cityrow[aria-current=true]{background:var(--panel-2)}.badge-disc{color:var(--ink);border-radius:50%;flex:none;place-items:center;font-weight:900;display:inline-grid}.portrait{border-radius:var(--r);flex:none;width:96px;height:112px;position:relative;overflow:hidden}.portrait>i{-webkit-mask:var(--i) center / contain no-repeat;-webkit-mask:var(--i) center / contain no-repeat;mask:var(--i) center / contain no-repeat;position:absolute;inset:0}.strip{gap:var(--sp-1h);display:flex}.strip>span{width:40px;height:40px;color:var(--ink);border-radius:10px;place-items:center;font-weight:900;display:grid}.strip .g{background:var(--green-btn);color:var(--cream)}.strip .m{background:var(--amber);border:2px dashed var(--ink)}.strip .b{background:repeating-linear-gradient(45deg, var(--coral) 0 6px, var(--coral-deep) 6px 12px)}.switch{justify-content:space-between;align-items:center;gap:var(--sp-3);border-bottom:1px solid var(--line);min-height:56px;display:flex}.switch input[type=checkbox]{width:52px;height:30px;accent-color:var(--amber)}.seg{border:1px solid var(--line-strong);border-radius:var(--r-md);display:inline-flex;overflow:hidden}.seg button{min-height:var(--tap);cursor:pointer;background:0 0;border:0;min-width:56px;font-weight:700}.seg button:focus-visible{outline-offset:-3px;box-shadow:none}.seg button[aria-pressed=true],.seg button[aria-checked=true]{background:var(--amber);color:var(--ink)}.progress{border-radius:var(--r-pill);background:var(--line);height:10px;overflow:hidden}.progress>i{background:var(--amber);height:100%;display:block}.field{gap:var(--sp-1h);margin:var(--sp-3) 0;flex-direction:column;display:flex}.field>label,.field>.label{font-size:var(--fs-sm);font-weight:700}.field .hint{font-size:var(--fs-xs);color:var(--text-muted);margin:0}.field .err,.err{font-size:var(--fs-sm);color:var(--text-neg);margin:0}input.text{width:100%;min-height:var(--tap);padding:0 var(--sp-3);border-radius:var(--r-md);border:1px solid var(--muted);background:var(--ink);color:var(--cream);font:inherit}input.text::placeholder{color:var(--text-muted);opacity:.8}input.text[aria-invalid=true]{border-color:var(--coral)}input.text:disabled{opacity:.5}.skel{border-radius:var(--r-md);background:linear-gradient(90deg, var(--panel-2), var(--line), var(--panel-2));height:64px;margin:var(--sp-2) 0;background-size:200% 100%;animation:1.2s linear infinite sk}@keyframes sk{to{background-position:-200% 0}}:root[data-motion=reduce] .skel{animation:none}.daily{width:100%;max-width:480px;margin:0 auto var(--sp-2);min-height:var(--tap);border-radius:var(--r-btn);border:1px solid var(--amber);background:var(--panel);color:inherit;font-family:inherit;font-size:var(--fs-md);cursor:pointer;align-items:center;gap:10px;padding:0 14px;font-weight:700;display:flex}.daily .main{text-align:left;flex:1}.daily .green{color:var(--text-pos)}.daily:disabled{opacity:.6}
