@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:600;src:url(./cinzel-latin-ext-600-normal-BEFdM_VE.woff2)format("woff2"),url(./cinzel-latin-ext-600-normal-BY9Mq9iK.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:600;src:url(./cinzel-latin-600-normal-Dd5YO2UX.woff2)format("woff2"),url(./cinzel-latin-600-normal-CH_LB4su.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--safe-top:max(env(safe-area-inset-top,0px), var(--olympus-inset-top,0px));--safe-right:max(env(safe-area-inset-right,0px), var(--olympus-inset-right,0px));--safe-bottom:max(env(safe-area-inset-bottom,0px), var(--olympus-inset-bottom,0px));--safe-left:max(env(safe-area-inset-left,0px), var(--olympus-inset-left,0px));--space-half:4px;--space-1:8px;--space-2:16px;--space-3:24px;--radius-control:8px;--radius-panel:16px;--touch-min:44px;--font-display:"Cinzel", Georgia, serif;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--letter-spacing-code:.05em;--text-caption:.875rem;--text-body:1rem;--text-section:1.25rem;--text-panel:1.5rem;--text-screen:2rem;--shadow-panel:0 4px 16px #1729362e;--shadow-dock:0 0 10px #00000040;--shadow-sheet:0 8px 28px #00000047;--shadow-raised:0 1px 2px #0000004d;--z-hud:10;--z-panel:20;--z-popover:30;--z-toast:40;--z-hud-top:45;--z-dev:50;--z-blocking:60;--hud-top-size:0px;--hud-bar-size:0px;--z-hud-banners:44;--hud-top-alpha:92%;--panel-side-dim:.4;--panel-side-landscape-max:46%;--panel-in-scale:.98;--dock-block-size:0px;--dock-inline-size:0px;--dock-rail-desktop:88px;--panel-side-size:400px;--panel-side-landscape:360px;--panel-window-size:880px;--panel-sheet-size:88%;--motion-panel:.2s;--ease-panel:cubic-bezier(.2, .8, .2, 1);--text-micro:.6875rem;--badge-size:18px;--opacity-disabled:.55;--border-strong:2px;--border-heavy:3px;--focus-ring-width:3px;--focus-ring-offset:2px;--line-height-body:1.4;--measure-banner:16rem;--color-bg:#faf5e9;--color-surface:#fffdf7;--color-surface-alt:#efe2c8;--color-text:#172936;--color-text-muted:#44596a;--color-cta:#a5502f;--color-cta-text:#fff;--color-hud-bg:#244e6a;--color-hud-text:#faf5e9;--color-danger:#a12f1f;--color-success:#4b5e2c;--color-focus:#1f7a7d;--color-border:#8c7b5e;--color-accent:#d6a84e;--color-sea:#2f7f97;--color-locked:#9a9a9a;--color-icon-plate:#efe2c8;--color-scrim:#0e1a2280;--focus-ring:var(--color-focus);--brand-google-fill:#fff;--brand-google-fill-hover:#ececec;--brand-google-stroke:#747775;--brand-google-text:#1f1f1f}:root[data-theme=dark]{--brand-google-fill:#131314;--brand-google-fill-hover:#292a2b;--brand-google-stroke:#8e918f;--brand-google-text:#e3e3e3}*,:before,:after{box-sizing:border-box}html,body{block-size:100%;margin:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--line-height-body);-webkit-text-size-adjust:100%;overflow:hidden}h1,h2,h3{font-family:var(--font-display);margin:0;font-weight:600}p{margin:0}[hidden]{display:none!important}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}button,select,input{font:inherit;color:inherit}button{min-block-size:var(--touch-min);min-inline-size:var(--touch-min);padding-inline:var(--space-2);border-radius:var(--radius-control);border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer}button:hover:not(:disabled,[aria-disabled=true]){background:var(--color-surface-alt)}button:active:not(:disabled,[aria-disabled=true]){transform:translateY(1px)}button:disabled,button[aria-disabled=true]{cursor:not-allowed;opacity:var(--opacity-disabled)}:root[data-theme=contrast] button[aria-disabled=true]:not(.button-cta){opacity:1;border-style:dashed}.button-cta{background:var(--color-cta);border-color:var(--color-cta);color:var(--color-cta-text);font-weight:600}:root[data-theme=contrast] .button-cta[aria-disabled=true]{background:var(--color-surface);border-color:var(--color-text);color:var(--color-text);opacity:1;border-style:dashed}.button-cta:hover:not(:disabled,[aria-disabled=true]){background:var(--color-cta);filter:brightness(1.08)}select{min-block-size:var(--touch-min);border-radius:var(--radius-control);border:1px solid var(--color-border);background:var(--color-surface);padding-inline:var(--space-1)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;overflow:hidden;position:absolute!important}.skip-link{z-index:100;min-block-size:var(--touch-min);background:var(--color-surface);color:var(--color-text);padding:var(--space-1) var(--space-2);border-radius:var(--radius-control);align-items:center;display:inline-flex;position:absolute;inset-block-start:-100px;inset-inline-start:var(--space-1)}.skip-link:focus{inset-block-start:var(--space-1)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}[data-reduced-motion=true] *,[data-reduced-motion=true] :before,[data-reduced-motion=true] :after{transition-duration:.01ms!important;animation-duration:.01ms!important}:root{--hk-text:var(--color-text);--hk-muted:var(--color-text-muted);--hk-border:var(--color-border);--hk-focus:var(--color-focus);--hk-accent:var(--color-accent);--hk-control:36px;--hk-on-face:var(--color-cta-text);--hk-on-gold:var(--color-text);--hk-on-off:var(--color-text)}[data-theme=dark]{--hk-on-face:var(--color-hud-text);--hk-on-gold:var(--color-surface);--hk-on-off:var(--color-text-muted)}.btn{min-block-size:var(--hk-control);min-inline-size:var(--hk-control);padding:0 var(--space-2) 3px;--hk-face:var(--color-hud-bg);background:var(--hk-face) content-box;color:var(--hk-on-face);font:600 var(--text-caption) / 1.1 var(--font-display);letter-spacing:.02em;cursor:pointer;justify-content:center;align-items:center;gap:var(--space-half);border:0 solid;border-image:url(../art/hud/button_primary.svg) 30 fill/14px;border-radius:10px;text-decoration:none;transition:transform .1s,filter .1s;display:inline-flex;position:relative}.btn:after{content:"";inset:calc((var(--hk-control) - var(--touch-min)) / 2);position:absolute}.btn.secondary{border-image-source:url(../art/hud/button_secondary.svg)}.btn.gold{--hk-face:var(--color-accent);color:var(--hk-on-gold);border-image-source:url(../art/hud/button_gold.svg)}.btn.success{--hk-face:var(--color-accent);color:var(--hk-on-gold);border-image-source:url(../art/hud/button_success.svg)}.btn.danger{border-image-source:url(../art/hud/button_danger.svg)}[data-theme=dark] .btn{border-image-source:url(../art/hud/dark/button_primary.svg)}[data-theme=dark] .btn.secondary{border-image-source:url(../art/hud/dark/button_secondary.svg)}[data-theme=dark] .btn.gold{border-image-source:url(../art/hud/dark/button_gold.svg)}[data-theme=dark] .btn.success{border-image-source:url(../art/hud/dark/button_success.svg)}[data-theme=dark] .btn.danger{border-image-source:url(../art/hud/dark/button_danger.svg)}.btn:hover:not([disabled],[aria-disabled=true]){background-color:var(--hk-face);filter:brightness(1.08);transform:translateY(-1px)}.btn:active:not([disabled],[aria-disabled=true]){filter:brightness(.92);transform:translateY(1px)scale(.97)}.btn:is([disabled],[aria-disabled=true]):not([aria-busy=true]){--hk-face:var(--color-surface-alt);color:var(--hk-on-off);opacity:1;filter:none;cursor:not-allowed;border-image-source:url(../art/hud/button_disabled.svg);transform:none}[data-theme=dark] .btn:is([disabled],[aria-disabled=true]):not([aria-busy=true]){border-image-source:url(../art/hud/dark/button_disabled.svg)}.btn[aria-busy=true]{cursor:progress;filter:saturate(.7)}.btn[aria-pressed=true]{box-shadow:inset 0 0 0 3px var(--hk-accent), 0 0 0 2px var(--hk-text)}:is(.btn,.hk-tab,.hk-row,.hk-chip):focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}.hk-panel{background:var(--color-surface) padding-box;border:12px solid #0000;border-image:url(../art/hud/panel.svg) 48/24px round;padding:12px}[data-theme=dark] .hk-panel{border-image-source:url(../art/hud/dark/panel.svg)}.hk-title,.panel-body :is(h1[id$=-title],#settings-title){margin-inline:calc(-1 * var(--space-1));padding:var(--space-1) var(--space-3);background:var(--color-hud-bg) content-box;color:var(--color-hud-text);font-size:var(--text-body);letter-spacing:.04em;text-align:center;border:0 solid;border-image:url(../art/hud/panel_header.svg) 0 64 fill/0 30px}[data-theme=dark] :is(.hk-title,.panel-body :is(h1[id$=-title],#settings-title)){border-image-source:url(../art/hud/dark/panel_header.svg)}.hk-tab:not(.dock-item){border:0 solid;border-image:url(../art/hud/tab_idle.svg) 20 20 0 fill/14px 14px 0}.hk-tab:not(.dock-item):is([aria-current=page],[aria-selected=true]){border-image-source:url(../art/hud/tab_active.svg);font-weight:900}[data-theme=dark] .hk-tab:not(.dock-item){border-image-source:url(../art/hud/dark/tab_idle.svg)}[data-theme=dark] .hk-tab:not(.dock-item):is([aria-current=page],[aria-selected=true]){border-image-source:url(../art/hud/dark/tab_active.svg)}.hk-pill{color:var(--color-hud-text);direction:ltr;border:0 solid;border-image:url(../art/hud/resource_pill.svg) 0 28 0 52 fill/0 18px 0 34px}[data-theme=dark] .hk-pill{border-image-source:url(../art/hud/dark/resource_pill.svg)}.hk-bar{border:0 solid;border-image:url(../art/hud/progress_track.svg) 14 fill/7px;block-size:14px;display:block;overflow:hidden}.hk-bar>i{block-size:100%;inline-size:var(--progress,0%);border-image:url(../art/hud/progress_fill_build.svg) 14 fill/7px;min-inline-size:14px;transition:inline-size .3s;display:block}[data-theme=dark] .hk-bar{border-image-source:url(../art/hud/dark/progress_track.svg)}[data-theme=dark] .hk-bar>i{border-image-source:url(../art/hud/dark/progress_fill_build.svg)}.toast{color:var(--color-hud-text);border:0 solid;border-image:url(../art/hud/toast_info.svg) 20 20 20 64 fill/10px 10px 10px 32px}.toast-success{border-image-source:url(../art/hud/toast_success.svg)}.toast-error{border-image-source:url(../art/hud/toast_error.svg)}[data-theme=dark] .toast{border-image-source:url(../art/hud/dark/toast_info.svg)}[data-theme=dark] .toast-success{border-image-source:url(../art/hud/dark/toast_success.svg)}[data-theme=dark] .toast-error{border-image-source:url(../art/hud/dark/toast_error.svg)}.hk-row{align-items:center;gap:var(--space-1);min-block-size:var(--touch-min);padding:var(--space-half) var(--space-1);border:1px solid var(--hk-border);background:var(--color-surface-alt);color:var(--hk-text);font-size:var(--text-caption);border-radius:10px;display:flex}.hk-chip{align-items:center;gap:var(--space-half);min-block-size:var(--hk-control);padding-inline:var(--space-1);border:1px solid var(--hk-border);background:var(--color-surface);color:var(--hk-text);font-size:var(--text-caption);border-radius:18px;display:inline-flex}.hk-chip:is([aria-pressed=true],[aria-selected=true],:has(input:checked)){background:var(--hk-text);color:var(--color-bg);border-color:var(--hk-accent)}.hk-chip:is([disabled],[aria-disabled=true]){color:var(--hk-muted);background:0 0;border-style:dashed}.hk-input{gap:var(--space-half);font-size:var(--text-caption);color:var(--hk-muted);display:grid}.hk-input :is(input,select){min-block-size:var(--hk-control);padding-inline:var(--space-1);border:1px solid var(--hk-border);background:var(--color-surface);color:var(--hk-text);box-shadow:inset 0 1px 2px var(--color-scrim);border-radius:8px}.hk-input select{appearance:none;background:linear-gradient(45deg, transparent 50%, currentColor 50%) right 14px center / 6px 6px no-repeat, linear-gradient(-45deg, transparent 50%, currentColor 50%) right 9px center / 6px 6px no-repeat, var(--color-surface);padding-inline-end:var(--space-3)}.hk-input :is(input,select):focus-visible{outline:var(--focus-ring-width) solid var(--hk-focus);outline-offset:0}.hk-input[aria-invalid=true] input{border:var(--border-heavy) solid var(--color-danger)}.hk-option{align-items:center;gap:var(--space-1);min-block-size:var(--touch-min);font-size:var(--text-caption);display:flex}.hk-option input{appearance:none;border:var(--border-strong) solid var(--hk-border);background:var(--color-surface);border-radius:5px;flex:none;place-items:center;block-size:20px;inline-size:20px;margin:0;display:grid}.hk-option input[type=radio]{border-radius:50%}.hk-option input:checked{background:var(--color-success);border-color:var(--hk-text)}.hk-option input:checked:before{content:"";background:var(--color-cta-text);block-size:14px;inline-size:14px;-webkit-mask:url(../art/icons/ui/check.svg) 50%/contain no-repeat;mask:url(../art/icons/ui/check.svg) 50%/contain no-repeat}.hk-reason{gap:var(--space-half);margin:var(--space-half) 0 0;font-size:var(--text-micro);color:var(--hk-muted);align-items:center;display:flex}.hk-spin{border:2px solid;border-inline-end-color:#0000;border-radius:50%;flex:none;block-size:14px;inline-size:14px;animation:.9s linear infinite hk-spin}@keyframes hk-spin{to{transform:rotate(1turn)}}.hk-check,.hk-lock{background:currentColor;flex:none;block-size:14px;inline-size:14px;-webkit-mask:url(../art/icons/ui/check.svg) 50%/contain no-repeat;mask:url(../art/icons/ui/check.svg) 50%/contain no-repeat}.hk-lock{-webkit-mask-image:url(../art/icons/ui/lock.svg);mask-image:url(../art/icons/ui/lock.svg)}.hk-skeleton{block-size:1em;margin-block:var(--space-half);background:var(--color-surface-alt);border-radius:8px;display:block}.hk-empty{gap:var(--space-1);text-align:center;color:var(--hk-muted);font-size:var(--text-caption);justify-items:center;display:grid}[data-theme=contrast] :is(.btn,.hk-panel,.hk-title,.panel-body h1[id$=-title],#settings-title,.hk-tab,.hk-pill,.hk-bar,.hk-bar>i,.toast){border:var(--border-strong) solid var(--color-border);border-image:}[data-theme=contrast] .btn{--hk-face:var(--color-cta);background:var(--color-cta);color:var(--color-cta-text);padding-block-end:0}[data-theme=contrast] .btn.secondary{--hk-face:var(--color-hud-bg);background:var(--color-hud-bg);color:var(--color-hud-text)}[data-theme=contrast] .btn:is(.gold,.success){--hk-face:var(--color-surface);background:var(--color-surface);color:var(--color-text)}[data-theme=contrast] .btn.danger{--hk-face:var(--color-danger);background:var(--color-danger)}[data-theme=contrast] .btn:is([disabled],[aria-disabled=true]){background:var(--color-surface-alt);color:var(--color-text);border-style:dashed}[data-theme=contrast] .hk-panel{background:var(--color-surface);border-width:var(--border-heavy);border-radius:12px}[data-theme=contrast] :is(.hk-title,.panel-body h1[id$=-title],#settings-title,.hk-pill,.toast){background:var(--color-hud-bg)}[data-theme=contrast] .hk-tab:is([aria-current=page],[aria-selected=true]){text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:3px}[data-theme=contrast] .hk-bar>i{background:var(--color-text)}@media (prefers-reduced-motion:reduce){.btn:is(:hover,:active){transform:none!important}.hk-spin{animation:none}}[data-reduced-motion=true] .btn:is(:hover,:active){transform:none!important}:root[data-reduced-motion=true] .hk-spin{animation:none}#app{block-size:100dvh}.hud-top{border-block-end:var(--border-strong) solid var(--color-accent);box-shadow:var(--shadow-dock);align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);background:color-mix(in srgb, var(--color-hud-bg) var(--hud-top-alpha), transparent);color:var(--color-hud-text);z-index:var(--z-hud-top);padding-block-start:max(var(--space-1), var(--safe-top));padding-inline-end:max(var(--space-2), var(--safe-right));display:flex}.hud-top,.dock{--focus-ring:var(--color-hud-text)}.hud-top .panel-card{--focus-ring:var(--color-focus)}:root[dir=rtl] .hud-top{padding-inline-end:max(var(--space-2), var(--safe-left))}.hud-actions{align-items:center;gap:var(--space-1);display:flex}.hud-collect{padding-inline:var(--space-1) var(--space-2)}.brand{font-family:var(--font-display);font-size:var(--text-section);white-space:nowrap}.app:is([data-layout=phone],[data-layout=landscape]) .hud-collect{padding-inline:var(--space-1)}.app:is([data-layout=phone],[data-layout=landscape]) .hud-collect-label{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.app:is([data-layout=phone],[data-layout=landscape]) .brand{display:none}.app[data-layout=phone] .hud-top{gap:var(--space-1);padding-inline:var(--space-1);padding-inline-end:max(var(--space-1), var(--safe-right))}:root[dir=rtl] .app[data-layout=phone] .hud-top{padding-inline-end:max(var(--space-1), var(--safe-left))}.app[data-layout=phone] .hud-top .resource-bar{flex:none}.app[data-layout=phone] .hud-actions{justify-content:flex-end;gap:var(--space-half);flex-wrap:wrap;flex:1 1 0}.app{--hk-sa-t:var(--safe-top);--hk-sa-r:var(--safe-right);--hk-sa-b:var(--safe-bottom);--hk-sa-l:var(--safe-left);background:var(--color-sea);position:fixed;inset:0;overflow:hidden}.app-main{inset-block:var(--hud-top-size) var(--dock-block-size);inset-inline:var(--dock-inline-size) 0;outline:none;flex-direction:column;display:flex;position:absolute}.app-main>.city-screen{background:0 0;flex:auto;min-block-size:0;position:static;overflow:visible}.app-main .city-canvas{inset-block:calc(-1 * var(--hud-top-size)) calc(-1 * var(--dock-block-size));inset-inline:calc(-1 * var(--dock-inline-size)) 0}.app[data-route=replay] .app-main{inset:0}.app-main>.replay-screen{min-block-size:0;flex:auto;padding-block-end:calc(var(--space-3) + var(--toasts-reserve,0px))}.hud-top{inset-block-start:0;inset-inline:var(--dock-inline-size) 0;position:absolute}.hud-banners{inset-block-start:var(--hud-bar-size);inset-inline:var(--dock-inline-size) 0;z-index:var(--z-hud-banners);position:absolute}.dock{z-index:var(--z-hud-top);background:var(--color-hud-bg);color:var(--color-hud-text);position:absolute}.dock ul{padding:var(--space-half);gap:var(--space-half);margin:0;list-style:none;display:flex}.dock-item{justify-content:center;align-items:center;gap:var(--space-half);min-block-size:var(--touch-min);min-inline-size:var(--touch-min);padding:var(--space-half);border-radius:var(--radius-control);color:inherit;font-size:var(--text-micro);letter-spacing:var(--letter-spacing-code);text-transform:uppercase;text-align:center;flex-direction:column;text-decoration:none;display:flex;position:relative}.dock-label{overflow-wrap:normal;word-break:normal;-webkit-hyphens:manual;hyphens:manual;max-inline-size:100%;line-height:1.15}.app:not([data-layout=desktop]) .dock-label{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.app[data-layout=phone] .dock{padding-block-end:var(--hk-sa-b);padding-inline:var(--hk-sa-l) var(--hk-sa-r);inset-block-end:0;inset-inline:0}.app[data-layout=phone] .dock li{flex:1 1 0;justify-content:center;min-inline-size:0;display:flex}.app[data-layout=phone] .dock-item{inline-size:100%}.app:not([data-layout=phone]) .dock{padding-block:var(--hk-sa-t) var(--hk-sa-b);align-items:center;padding-inline-start:var(--hk-sa-l);display:flex;inset-block:0;inset-inline-start:0}:root[dir=rtl] .app:not([data-layout=phone]) .dock{padding-inline-start:var(--hk-sa-r)}.app:not([data-layout=phone]) .dock ul{flex-direction:column}.app[data-layout=desktop] .dock-item{inline-size:var(--dock-rail-desktop)}.panel-layer{z-index:var(--z-popover);pointer-events:none;position:absolute;inset:0}.panel-scrim{background:var(--color-scrim);pointer-events:auto;animation:shell-fade var(--motion-panel) var(--ease-panel);position:absolute;inset:0}.panel-layer[data-variant=side] .panel-scrim{opacity:var(--panel-side-dim);pointer-events:none}.panel-host{pointer-events:auto;color:var(--color-text);translate:0 var(--panel-drag,0px);outline:none;flex-direction:column;display:flex;position:absolute}.panel-host[data-variant=sheet]{block-size:var(--panel-sheet-size);max-block-size:calc(100% - var(--hud-top-size) - var(--dock-block-size));animation:shell-sheet-in var(--motion-panel) var(--ease-panel);border-start-start-radius:var(--radius-panel);border-start-end-radius:var(--radius-panel);inset-block-end:var(--dock-block-size);inset-inline:0}.panel-host[data-variant=side]{inset-block:calc(var(--hud-top-size) + var(--space-1)) max(var(--space-1), var(--hk-sa-b));inline-size:min(var(--panel-side-size), calc(100% - var(--dock-inline-size) - 2 * var(--space-1)));border-radius:var(--radius-panel);animation:shell-panel-in var(--motion-panel) var(--ease-panel);inset-inline-end:max(var(--space-1), var(--hk-sa-r))}:root[dir=rtl] .panel-host[data-variant=side]{inset-inline-end:max(var(--space-1), var(--hk-sa-l))}.app[data-layout=landscape] .panel-host[data-variant=side]{inline-size:min(var(--panel-side-landscape), var(--panel-side-landscape-max))}.panel-host[data-variant=window]{inset-block:calc(var(--hud-top-size) + var(--space-2)) max(var(--space-2), var(--hk-sa-b));inset-inline:calc(var(--dock-inline-size) + var(--space-2)) max(var(--space-2), var(--hk-sa-r));max-inline-size:var(--panel-window-size);border-radius:var(--radius-panel);animation:shell-panel-in var(--motion-panel) var(--ease-panel);margin-inline:auto}.panel-head{align-items:center;gap:var(--space-1);min-block-size:var(--touch-min);padding:var(--space-half) var(--space-1);border-block-end:1px solid var(--color-border);display:flex;position:relative}.panel-host[data-variant=sheet] .panel-head{touch-action:none;padding-block-start:var(--space-2)}.panel-grab{inline-size:var(--space-3);block-size:var(--space-half);border-radius:var(--space-half);background:var(--color-border);position:absolute;inset-block-start:var(--space-half);inset-inline-start:50%;translate:-50%}.panel-close{margin-inline-start:auto}.panel-tabs{gap:var(--space-half);display:flex}.panel-tab{min-block-size:var(--touch-min);padding-inline:var(--space-2);border-radius:var(--radius-control);color:inherit;font-family:var(--font-display);font-size:var(--text-caption);align-items:center;text-decoration:none;display:inline-flex}.panel-tab[aria-current=page]{-webkit-text-decoration:underline var(--border-strong);text-decoration:underline var(--border-strong);text-underline-offset:var(--space-half);font-weight:600}.panel-body{flex-direction:column;flex:auto;min-block-size:0;display:flex;overflow:hidden}.panel-body>*{overscroll-behavior:contain;min-block-size:0;flex:auto;padding-block-end:calc(var(--space-3) + var(--toasts-reserve,0px));overflow-y:auto}.settings-body{align-content:start;gap:var(--space-2);padding:var(--space-1) var(--space-1) var(--space-2);font-size:var(--text-caption);display:grid}@keyframes shell-fade{0%{opacity:0}}@keyframes shell-sheet-in{0%{translate:0 100%}}@keyframes shell-panel-in{0%{opacity:0;scale:var(--panel-in-scale)}}html{overscroll-behavior:none;overflow:hidden}body{overscroll-behavior:none}.app{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.app :is(input,textarea,[contenteditable=true]){-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.app *{scrollbar-width:none}.app ::-webkit-scrollbar{display:none}.app :is(.building-panel,.guide-panel,.replay-screen,.dev-toolbar,.dev-toolbar *),.panel-body *{scrollbar-width:thin}.app :is(.building-panel,.guide-panel,.replay-screen,.dev-toolbar,.dev-toolbar *)::-webkit-scrollbar{inline-size:var(--space-half);block-size:var(--space-half);display:block}.panel-body ::-webkit-scrollbar{inline-size:var(--space-half);block-size:var(--space-half);display:block}.ambrosia-pill,.resource{position:relative}.resource-exact{z-index:var(--z-popover);padding:var(--space-half) var(--space-1);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-panel);font-size:var(--text-caption);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;opacity:0;position:absolute;inset-block-start:calc(100% + var(--space-half));inset-inline-start:0}.resource:is(:focus-visible,.is-exact) .resource-exact{opacity:1}@media (hover:hover){.resource:hover .resource-exact{opacity:1}}.city-screen{background:var(--color-sea);block-size:100%;inline-size:100%;position:relative;overflow:hidden}.city-canvas{touch-action:none;position:absolute;inset:0}.city-canvas:focus-visible{outline:none}.city-canvas:focus-visible:after{content:"";z-index:1;border:3px solid var(--color-surface);outline:3px solid var(--color-text);outline-offset:-6px;pointer-events:none;position:absolute;inset:0}.city-canvas canvas{display:block}.city-loading{block-size:100%;color:var(--color-hud-text);font-family:var(--font-display);font-size:var(--text-section);place-items:center;display:grid}.city-load-error{inset-block-start:50%;inset-inline:var(--space-2);inline-size:fit-content;z-index:var(--z-panel);align-items:center;gap:var(--space-1);text-align:center;flex-direction:column;margin-inline:auto;display:flex;position:absolute;translate:0 -50%}.building-list{z-index:var(--z-panel);position:absolute;inset-block-start:var(--space-2);inset-inline-start:var(--space-2)}.building-list ul{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.building-list button{inline-size:100%;min-block-size:var(--touch-min);text-align:start;box-shadow:var(--shadow-panel)}.building-list button:focus-visible,.building-list-build:focus-visible{outline:3px solid var(--color-text);outline-offset:2px;box-shadow:0 0 0 2px var(--color-surface), 0 0 0 7px var(--color-surface), var(--shadow-panel)}.building-list button[aria-pressed=true]{border-width:var(--border-strong);font-weight:600}.building-list-level{font-size:var(--text-micro)}.building-list-build{margin-block-start:var(--space-1);display:flex}.build-sheet .panel-close{min-block-size:var(--touch-min);min-inline-size:var(--touch-min)}.build-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.build-type{gap:var(--space-1);border-block-end:1px solid var(--color-border);padding-block-end:var(--space-2);display:grid}.build-type h3,.build-type h4{font-size:var(--text-body)}.build-plots{gap:var(--space-1);border:0;margin:0;padding:0;display:grid}.build-plots legend{margin-block-end:var(--space-1);font-weight:600}.build-plot{cursor:pointer}.build-plot:hover{background:var(--color-surface-alt)}.build-plot:has(input:checked){border-color:var(--color-focus);box-shadow:inset 0 0 0 var(--border-strong) var(--color-focus);background:var(--color-surface-alt);font-weight:600}.build-sheet{scroll-padding-block-end:var(--build-footer-h,calc(2 * var(--touch-min) + var(--space-3)))}.build-sheet-footer{margin:0 calc(-1 * var(--space-2)) calc(-1 * var(--space-2));padding:var(--space-1) var(--space-2) max(var(--space-2), var(--safe-bottom));gap:var(--space-1);background:var(--color-surface);border-block-start:1px solid var(--color-border);display:grid;position:sticky;inset-block-end:calc(-1 * var(--space-2))}.build-choice{margin:0;font-weight:600}.build-actions{gap:var(--space-1);flex-wrap:wrap;display:flex}.build-actions .button-cta{flex:1}.building-panel{max-block-size:calc(100% - 2 * var(--space-2));overscroll-behavior:contain;gap:var(--space-2);inline-size:min(360px,42%);z-index:var(--z-panel);font-size:var(--text-caption);flex-direction:column;display:flex;position:absolute;inset-block-start:var(--space-2);inset-inline-end:var(--space-2);overflow-y:auto}.panel-header{align-items:center;gap:var(--space-1);display:flex}.panel-header>div{flex:1}.panel-header h2{font-size:var(--text-section)}.panel-thumb{object-fit:contain}.panel-section{gap:var(--space-1);display:grid}.panel-section h3{font-size:var(--text-caption);letter-spacing:.04em}.panel-section h4{font-size:var(--text-caption);color:var(--color-text-muted);margin:0}.panel-action{inline-size:100%}.cost-list,.production-list,.reasons{gap:var(--space-half);margin:0;padding:0;list-style:none;display:grid}.cost-list li,.production-list li,.bonus{align-items:center;gap:var(--space-1);font-variant-numeric:tabular-nums;display:flex}.cost-list .amount{margin-inline-start:auto;font-weight:600}.shortfall,.reasons{color:var(--color-danger);font-weight:600}.reasons li{gap:var(--space-half);display:flex}.reasons li:before{content:"";background:currentColor;flex:none;block-size:1lh;inline-size:14px;-webkit-mask:url(../art/icons/ui/lock.svg) 50%/14px no-repeat;mask:url(../art/icons/ui/lock.svg) 50%/14px no-repeat}.facts{gap:var(--space-1);margin:0;display:flex}.facts dt{color:var(--color-text-muted)}.facts dd{margin:0;font-weight:600}.bonus{color:var(--color-success);font-weight:600}@media (height<=500px) and (orientation:landscape){.building-panel{max-block-size:calc(100% - 2 * var(--space-1));inline-size:min(320px,46%);inset-block-start:var(--space-1)}.building-panel-empty{display:none}.building-list{inset-block-start:var(--space-1);inset-inline-start:var(--space-1)}}@media (width<=767px) and (orientation:portrait){.building-list{inset-inline:var(--space-1)}.building-list ul{flex-direction:row;overflow-x:auto}.building-list button{white-space:nowrap}.building-panel{border-end-end-radius:0;border-end-start-radius:0;max-block-size:55%;inline-size:auto;inset-block:auto 0;inset-inline:0}.building-panel-empty{display:none}}.mask-icon{inline-size:var(--icon-size,24px);block-size:var(--icon-size,24px);-webkit-mask:var(--icon) center / contain no-repeat;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat;background:currentColor;flex:none;display:inline-block}.art-icon{flex:none}.icon-button{color:inherit;background:0 0;border-color:#0000;place-items:center;padding:0;display:inline-grid}.hud-top .icon-button:hover:not(:disabled){background:color-mix(in srgb, var(--color-hud-text) 15%, transparent)}.panel-card{color:var(--color-text);box-shadow:var(--shadow-panel);padding:var(--space-2)}.panel-card:not(.hk-panel){background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-panel)}.panel-card.hk-panel{padding:var(--space-2)}.muted{color:var(--color-text-muted)}.busy-reason{color:var(--color-text-muted);font-weight:600}.resource-bar{flex:1;min-inline-size:0}.resource-bar ul{gap:var(--space-half) var(--space-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.resource{align-items:center;gap:var(--space-1);min-block-size:32px;padding:2px var(--space-2) 2px 5px;font-variant-numeric:tabular-nums;display:flex}progress{appearance:none;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-alt);inline-size:100%;color:var(--color-focus);overflow:hidden}progress::-webkit-progress-bar{background:var(--color-surface-alt)}progress::-webkit-progress-value{background:var(--color-focus)}progress::-moz-progress-bar{background:var(--color-focus)}.resource-icon{block-size:22px;inline-size:22px}.resource-text{align-items:baseline;column-gap:var(--space-1);flex-wrap:wrap;display:flex}.resource-name{font-size:var(--text-micro)}.resource-stock{font:600 var(--text-caption) var(--font-display)}.resource-rate{font-size:var(--text-micro)}.resource-full{font-size:var(--text-micro);padding-inline:var(--space-half);border-radius:var(--radius-control);border:1px solid;font-weight:600}@media (width<=767px),(height<=500px){.resource-name,.resource-rate{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;overflow:hidden;position:absolute!important}.resource-bar ul{column-gap:var(--space-2)}.resource{gap:var(--space-half)}.resource-icon{block-size:24px;inline-size:24px}}@media (width<=767px) and (orientation:portrait){.resource-bar ul{gap:var(--space-half) var(--space-1);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.resource{font-size:var(--text-caption)}}.app:not([data-layout=desktop]) .resource{gap:7px;min-block-size:28px;padding-inline-end:10px}.app:not([data-layout=desktop]) :is(.resource-stock,.ambrosia-pill){font-size:var(--text-micro)}.app:not([data-layout=desktop]) .resource-icon{block-size:20px;inline-size:20px}.settings{position:relative}.settings-body label,.settings-field{gap:var(--space-half);display:grid}.settings-busy{color:var(--color-text-muted);font-size:var(--text-micro)}.settings-busy:empty{position:absolute}.settings-legal{margin:0}.settings-legal a{min-block-size:var(--touch-min);align-items:center;display:inline-flex}.settings-body .checkbox,.dev-toolbar .checkbox{align-items:center;gap:var(--space-1);min-block-size:var(--touch-min);display:flex}.checkbox input{block-size:20px;inline-size:20px}.connection-screen{z-index:var(--z-blocking);overscroll-behavior:contain;padding:max(var(--space-3), var(--safe-top)) max(var(--space-2), var(--safe-right)) max(var(--space-3), var(--safe-bottom)) max(var(--space-2), var(--safe-left));background:var(--color-bg);color:var(--color-text);background:radial-gradient(circle at 50% 30%, var(--color-sea), var(--color-hud-bg));place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}:root[data-theme=contrast] .connection-screen{background:var(--color-bg)}:is(.connection-screen,.blocking-screen) .auth-card.hk-panel{justify-items:center;gap:var(--space-1);text-align:center}:is(.connection-screen,.blocking-screen) .auth-card>.btn{min-inline-size:10rem}.connection-hint,.connection-status{font-size:var(--text-caption);color:var(--color-text-muted);margin:0}.connection-status{color:var(--color-text)}.connection-status:empty{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.banner{padding:var(--space-1) var(--space-2);background:var(--color-surface-alt);color:var(--color-text);border-block-end:3px solid var(--color-accent);margin:0;font-weight:600}.toasts{z-index:var(--z-toast);gap:var(--space-1);inline-size:min(380px, calc(100vw - max(var(--space-2), var(--safe-left)) - max(var(--space-2), var(--safe-right))));pointer-events:none;display:grid;position:fixed;inset-block-end:calc(var(--space-2) + var(--safe-bottom));inset-inline-end:max(var(--space-2), var(--safe-right))}.toast-region{gap:var(--space-1);display:grid}.toast{align-items:center;gap:var(--space-1);min-block-size:var(--touch-min);padding:var(--space-half) var(--space-half) var(--space-half) 6px;font-size:var(--text-caption);filter:drop-shadow(var(--shadow-raised));pointer-events:auto;direction:ltr;display:flex}.toast p{flex:1}:root[dir=rtl] .toast p{direction:rtl}.toast-action{min-block-size:var(--touch-min);min-inline-size:var(--touch-min);color:inherit;align-items:center;font-weight:600;text-decoration:underline;display:inline-flex}.toast-glyph{text-align:center;inline-size:20px;font:700 var(--text-body) var(--font-display);flex:none}@media (width<=767px) and (orientation:portrait){.toasts{inset-block-end:calc(80px + var(--safe-bottom))}.toasts.toasts-top{inset-block-start:calc(var(--toasts-top,0px) + var(--space-1));inset-block-end:auto}}.lazy-loading{margin:var(--space-2)}.lazy-failed{gap:var(--space-2);margin:var(--space-2);justify-items:start;display:grid}.guide-panel{font-size:var(--text-caption);inline-size:min(340px,40%);max-block-size:min(62%, calc(100% - 2 * var(--space-2)));overscroll-behavior:contain;gap:var(--space-1);z-index:calc(var(--z-panel) - 1);flex-direction:column;display:flex;position:absolute;inset-block-end:var(--space-2);inset-inline-start:var(--space-2);overflow-y:auto}.guide-panel-header{align-items:center;gap:var(--space-1);display:flex}.guide-panel-header h2{font-family:var(--font-display);font-size:var(--text-body);flex:auto;margin:0}.guide-progress{color:var(--color-text-muted);font-size:var(--text-caption);font-variant-numeric:tabular-nums}.guide-steps{gap:var(--space-half);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.guide-steps li{gap:var(--space-half) var(--space-1);grid-template-columns:24px minmax(0,1fr);align-items:start;display:grid}.guide-check{border:2px solid var(--color-border);block-size:20px;inline-size:20px;font-size:var(--text-caption);border-radius:50%;place-items:center;line-height:1;display:inline-grid}.guide-steps li.is-done .guide-check{border-color:var(--color-success);background:var(--color-success);color:var(--color-cta-text)}.guide-steps li.is-done .guide-step-title{color:var(--color-text-muted)}.guide-steps li.is-next .guide-check{border-color:var(--color-cta)}.guide-steps li.is-next .guide-step-title{font-weight:600}.guide-step-next{align-items:flex-start;gap:var(--space-half);font-size:var(--text-caption);flex-direction:column;grid-column:2;display:flex}.guide-next,.next-action{align-items:center;gap:var(--space-half) var(--space-1);flex-wrap:wrap;margin:0;display:flex}.guide-hide{align-self:flex-start}.guide-target{outline-offset:3px;box-shadow:0 0 0 8px color-mix(in srgb, var(--color-cta) 25%, transparent);scroll-margin:var(--space-3);outline:4px solid var(--color-cta)!important}.guide-highlight{align-items:center;gap:var(--space-1);margin:var(--space-1) var(--space-2) 0;padding:var(--space-1) var(--space-2);border-inline-start:6px solid var(--color-cta);flex:none;display:flex}.guide-highlight p{flex:auto;margin:0}.claim-receipt{gap:var(--space-1);padding-block:var(--space-1);border-block-start:1px solid var(--color-border);flex-direction:column;display:flex}.claim-receipt h3{margin:0}.receipt-lost{color:var(--color-danger);margin:0;font-weight:600}.receipt-xp{margin:0;padding-inline-start:var(--space-3)}.history-receipt summary{min-block-size:var(--touch-min);padding-block:var(--space-1);cursor:pointer;text-decoration:underline;display:inline-block}.leader-xp{gap:var(--space-half);flex-direction:column;display:flex}.leader-xp progress{block-size:10px;inline-size:100%;accent-color:var(--color-accent)}.god-next-star{align-items:flex-start;gap:var(--space-half);border-block-start:1px dashed var(--color-border);flex-direction:column;padding-block-start:var(--space-1);display:flex}.god-next-star h3{margin:0}.settings-guides{gap:var(--space-half);border:0;flex-direction:column;margin:0;padding:0;display:flex}.settings-guides legend{padding:0;font-weight:600}@media (height<=500px) and (orientation:landscape){.guide-panel{inline-size:min(360px,45%);max-block-size:calc(100% - 2 * var(--space-1));gap:var(--space-half);inset-block-end:var(--space-1);inset-inline-start:auto;inset-inline-end:var(--space-1)}.guide-steps li{font-size:var(--text-caption)}.guide-panel button{padding-block:0}:is(.app-main:has(.building-panel:not(.building-panel-empty)) .guide-panel,.app-main:has(.build-sheet) .guide-panel){display:none}}@media (width<=767px) and (orientation:portrait){.guide-panel{border-end-end-radius:0;border-end-start-radius:0;max-block-size:45%;inline-size:auto;inset-block-end:0;inset-inline:0}.guide-highlight{margin-inline:var(--space-1)}}.claim-receipt .cost-list{max-inline-size:28rem}.settings-account{gap:var(--space-1);padding:var(--space-1) var(--space-2) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-control);margin:0;display:grid}.settings-account legend{padding-inline:var(--space-half);font-weight:600}.account-state{overflow-wrap:anywhere;margin:0}.email-link-form{gap:var(--space-half);display:grid}.email-link-form input{min-block-size:var(--touch-min);padding-inline:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface)}.email-link-form input[aria-invalid=true]{border-color:var(--color-danger)}.email-link-form button{justify-self:start}.email-link-status{font-size:var(--text-caption);color:var(--color-success);margin:0}.email-link-status.is-error{color:var(--color-danger)}.email-link-status:empty{display:none}.account-actions{gap:var(--space-1);flex-wrap:wrap;display:flex}.save-invite{justify-content:space-between;align-items:center;gap:var(--space-1) var(--space-2);padding:var(--space-1) var(--space-2);background:var(--color-surface);color:var(--color-text);border-block-end:3px solid var(--color-accent);flex-wrap:wrap;display:flex}.save-invite-text{flex:16rem;min-inline-size:0}.save-invite h2{font-family:var(--font-display);font-size:var(--text-body);margin:0}.save-invite p{font-size:var(--text-caption);margin:0}.save-invite-actions{gap:var(--space-1);flex-wrap:wrap;display:flex}@media (height<=500px) and (orientation:landscape){.save-invite{padding-block:var(--space-half);gap:var(--space-half) var(--space-2);flex-wrap:nowrap}.save-invite-text{flex:auto}.save-invite h2{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.save-invite-actions{flex-wrap:nowrap;flex:none}}.auth-screen{min-block-size:100%;padding:max(var(--space-3), var(--safe-top)) max(var(--space-2), var(--safe-right)) max(var(--space-3), var(--safe-bottom)) max(var(--space-2), var(--safe-left));background:var(--color-bg);color:var(--color-text);place-items:center;display:grid}.auth-card{gap:var(--space-2);inline-size:min(28rem,100%);display:grid}.auth-card p{margin:0}.auth-brand{font-family:var(--font-display);font-size:var(--text-section);color:var(--color-text-muted)}.auth-card h1{font-family:var(--font-display);font-size:var(--text-panel);outline:none;margin:0}.auth-warning{padding:var(--space-1) var(--space-2);border-inline-start:4px solid var(--color-danger);background:var(--color-surface-alt);font-weight:600}.auth-actions{gap:var(--space-1);flex-wrap:wrap;display:flex}.dev-magic-link{gap:var(--space-half);display:grid}.account-hint{font-size:var(--text-caption);color:var(--color-text-muted);margin:0}.account-confirm{gap:var(--space-1);padding:var(--space-1) var(--space-2);border-inline-start:4px solid var(--color-danger);background:var(--color-surface-alt);display:grid}.account-confirm p{margin:0}.account-methods{gap:var(--space-half);margin:0;padding:0;list-style:none;display:grid}.account-methods li{justify-content:space-between;align-items:center;gap:var(--space-1);overflow-wrap:anywhere;flex-wrap:wrap;display:flex}.account-methods button,.button-google{min-block-size:var(--touch-min);min-inline-size:var(--touch-min)}.button-google{align-items:center;gap:var(--space-1);text-align:start;border-color:var(--brand-google-stroke);background:var(--brand-google-fill);max-inline-size:100%;color:var(--brand-google-text);justify-self:start;font-weight:500;display:inline-flex}.button-google:hover:not(:disabled,[aria-disabled=true]){background:var(--brand-google-fill-hover)}.google-logo{flex:none;block-size:1.25em;inline-size:1.25em}.google-sign-in{gap:var(--space-half);display:grid}.google-button-host{min-block-size:var(--touch-min);max-inline-size:100%}.auth-or{text-align:center;color:var(--color-text-muted);margin:0}.settings-profile,.settings-privacy{gap:var(--space-1);padding:var(--space-1) var(--space-2) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-control);margin:0;display:grid}.settings-profile legend,.settings-privacy legend,.profile-avatars legend{padding-inline:var(--space-half);font-weight:600}.profile-id{align-items:center;gap:var(--space-half) var(--space-1);flex-wrap:wrap;display:flex}.profile-id-term{align-items:center;gap:var(--space-half) var(--space-1);flex-wrap:wrap;margin:0;display:flex}.profile-id-term dd{margin:0}.profile-id code{padding:var(--space-half) var(--space-1);border-radius:var(--radius-control);background:var(--color-surface-alt);color:var(--color-text);font-size:var(--text-body);letter-spacing:var(--letter-spacing-code);-webkit-user-select:all;user-select:all}.profile-name{gap:var(--space-half);display:grid}.profile-name-row{align-items:center;gap:var(--space-1);display:flex}.profile-name-row input,.privacy-word input{min-inline-size:0;min-block-size:var(--touch-min);padding-inline:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text);flex:auto}.profile-name-row input[aria-invalid=true]{border-color:var(--color-danger)}.profile-count{font-size:var(--text-caption);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.profile-count.is-over{color:var(--color-danger)}.profile-name button{justify-self:start}.profile-hint{font-size:var(--text-caption);color:var(--color-text-muted);margin:0}.profile-status{font-size:var(--text-caption);color:var(--color-success);margin:0}.profile-status.is-error{color:var(--color-danger)}.profile-status:empty,.feature-off:empty{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.profile-avatars{border:0;margin:0;padding:0}.avatar-grid{gap:var(--space-1);flex-wrap:wrap;display:flex}.avatar-choice{min-inline-size:var(--touch-min);min-block-size:var(--touch-min);padding:var(--space-half);border:var(--border-strong) solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);cursor:pointer;place-items:center;display:grid;position:relative}.avatar-choice input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}@media (hover:hover){.avatar-choice:hover{border-color:var(--color-text);background:var(--color-surface-alt)}}.avatar-choice.is-picked{border-color:var(--color-text);background:var(--color-surface-alt)}.avatar-choice.is-selected{border-color:var(--color-focus);box-shadow:inset 0 0 0 var(--border-strong) var(--color-focus);background:var(--color-surface-alt)}.avatar-choice.is-selected:after{content:"✓";content:"✓" / "";padding-inline:var(--space-half);border-radius:var(--radius-control);background:var(--color-focus);color:var(--color-surface);font-size:var(--text-caption);line-height:var(--line-height-body);pointer-events:none;position:absolute;inset-block-start:var(--space-half);inset-inline-end:var(--space-half)}.avatar-choice input:focus-visible+img{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}@supports selector(:has(*)){.avatar-choice input:focus-visible+img{outline:none}.avatar-choice:has(input:focus-visible){outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}}.avatar-choice img{inline-size:calc(var(--touch-min) + var(--space-1) + var(--space-half));block-size:calc(var(--touch-min) + var(--space-1) + var(--space-half));display:block}.privacy-word{gap:var(--space-half);display:grid}.button-danger:not(.btn){border-color:var(--color-danger);color:var(--color-danger)}.button-danger:not(.btn):disabled,.button-danger:not(.btn)[aria-disabled=true]{border-color:var(--color-border);color:var(--color-text-muted)}:root[data-theme=contrast] .button-danger:not(.btn):disabled,:root[data-theme=contrast] .button-danger:not(.btn)[aria-disabled=true]{color:var(--color-text);opacity:1;border-style:dashed}.feature-off{font-size:var(--text-caption);color:var(--color-text-muted);margin:0}.deletion-banner{justify-content:space-between;align-items:center;gap:var(--space-1) var(--space-2);padding:var(--space-1) var(--space-2);background:var(--color-surface);color:var(--color-text);border-block-end:var(--border-heavy) solid var(--color-danger);flex-wrap:wrap;display:flex}.deletion-banner p{flex:1 1 var(--measure-banner);min-inline-size:0;margin:0}.deletion-banner .deletion-banner-error{color:var(--color-danger);font-size:var(--text-caption);flex-basis:100%}.blocking-dev{justify-self:end;margin-block-start:var(--space-2)}.auth-card .auth-result{font-family:var(--font-body);font-size:var(--text-body);outline:none;margin:0;font-weight:400}.dev-toolbar{position:relative}.dev-toolbar summary{min-inline-size:var(--touch-min);min-block-size:var(--touch-min);border-radius:var(--radius-control);font-size:var(--text-caption);cursor:pointer;border:1px dashed;place-items:center;font-weight:700;list-style:none;display:grid}.dev-toolbar summary::-webkit-details-marker{display:none}.dev-panel{z-index:var(--z-dev);gap:var(--space-1);inline-size:min(300px,90vw);display:grid;position:absolute;inset-block-start:calc(100% + var(--space-1));inset-inline-end:0}.dev-panel label{gap:var(--space-half);display:grid}.perf-overlay{z-index:var(--z-dev);gap:2px var(--space-1);padding:var(--space-1);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-control);font-size:var(--text-caption);font-variant-numeric:tabular-nums;pointer-events:none;grid-template-columns:auto auto;margin:0;display:grid;position:fixed;inset-block-end:calc(var(--space-1) + var(--safe-bottom));inset-inline-start:var(--space-1)}.perf-overlay dd{text-align:end;margin:0;font-weight:600}.styleboard{block-size:100dvh;padding:var(--space-3);background:var(--color-bg);color:var(--color-text);gap:var(--space-3);align-content:start;display:grid;overflow-y:auto}.styleboard .screen-header a{min-block-size:var(--touch-min);padding-inline:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text);align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.styleboard .screen-header a:hover{background:var(--color-surface-alt)}.swatches{margin:var(--space-1) 0 0;gap:var(--space-2);flex-wrap:wrap;align-items:flex-end;padding:0;list-style:none;display:flex}.swatches li{justify-items:center;gap:var(--space-half);font-size:var(--text-caption);display:grid}.swatches-icons li{grid-template-columns:auto auto;align-items:end}.swatches-icons code{grid-column:1/-1}.combat-preview{aspect-ratio:16/9;inline-size:min(100%,1024px);border-radius:var(--radius-panel);margin-block-start:var(--space-1);position:relative;overflow:hidden}.combat-preview>img:first-child{object-fit:cover;block-size:100%;inline-size:100%}.combat-preview-unit{inline-size:12.5%;position:absolute}@media (width<=767px) and (orientation:portrait){.perf-overlay{inset-block-end:calc(80px + var(--safe-bottom))}}.resource-bar{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.resource-bar ul{flex:auto;min-inline-size:0}@media (width<=767px) and (orientation:portrait){.hud-top .resource-bar:has(.ambrosia-pill){flex:0 auto}}.ambrosia-pill{align-items:center;gap:var(--space-half);min-block-size:32px;min-inline-size:var(--touch-min);padding-inline:6px var(--space-2);font:600 var(--text-caption) var(--font-display);font-variant-numeric:tabular-nums;white-space:nowrap;--focus-ring:var(--color-hud-text);text-decoration:none;display:inline-flex}.ambrosia-pill:after{content:"";inset:calc((32px - var(--touch-min)) / 2) 0;position:absolute}.ambrosia-pill:hover{filter:brightness(1.1)}.ambrosia-pill.is-negative{border:var(--border-strong) solid var(--color-danger);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-danger);border-image:}.ambrosia-icon{flex:none;block-size:1.5em;inline-size:1.5em;display:inline-flex}.ambrosia-icon svg{block-size:100%;inline-size:100%}.ambrosia-pill .ambrosia-icon{color:var(--color-text);justify-content:center;align-items:center;margin-inline-end:var(--space-half)}:root[data-theme=dark] .ambrosia-pill .ambrosia-icon{color:var(--color-hud-text)}.ambrosia-pill.is-negative .ambrosia-icon{color:inherit}.ambrosia-negative{font-size:var(--text-caption)}.is-negative{color:var(--color-danger)}.negative-balance-banner{justify-content:space-between;align-items:center;gap:var(--space-1) var(--space-2);padding:var(--space-1) var(--space-2);background:var(--color-surface);color:var(--color-text);border-block-end:var(--border-heavy) solid var(--color-danger);flex-wrap:wrap;display:flex}.negative-balance-banner p{flex:1 1 var(--measure-banner);min-inline-size:0;margin:0}.speedup-action{justify-items:start;gap:var(--space-half);margin-block-start:var(--space-1);display:grid}.speedup-action .feature-off:empty{display:none}.speedup-button{min-block-size:var(--touch-min);min-inline-size:var(--touch-min)}.asset-download{min-block-size:100dvh;padding:max(var(--space-3), var(--safe-top)) max(var(--space-2), var(--safe-right)) max(var(--space-3), var(--safe-bottom)) max(var(--space-2), var(--safe-left));background:var(--color-bg);color:var(--color-text);place-items:center;display:grid}.asset-download-panel{gap:var(--space-2);inline-size:min(100%,32rem);display:grid}.asset-download-panel>*{margin:0}.asset-download h1{font-family:var(--font-display);font-size:var(--text-section)}.asset-progress{block-size:var(--space-2)}:root[data-reduced-motion=true] .asset-progress>i{transition:none}@media (prefers-reduced-motion:reduce){.asset-progress>i{transition:none}}.asset-download-emblem{justify-self:center}.asset-download-size{justify-content:space-between;gap:var(--space-half) var(--space-2);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.asset-download-left{color:var(--color-text-muted)}.asset-download-error{padding:var(--space-1) var(--space-2);border:var(--border-strong) solid var(--color-danger);border-radius:var(--radius-control);color:var(--color-danger);background:var(--color-surface)}.asset-download-done{font-family:var(--font-display);color:var(--color-success);font-weight:600}.asset-download-actions{gap:var(--space-1);flex-wrap:wrap;display:flex}.asset-download-actions button{min-block-size:var(--touch-min);flex:auto}.assets-chip{z-index:var(--z-hud);inline-size:fit-content;max-inline-size:calc(100% - 2 * var(--space-2));min-block-size:var(--touch-min);padding-inline:var(--space-2);border-radius:calc(var(--touch-min) / 2);background:var(--color-surface);color:var(--color-text);border:var(--border-strong) solid var(--color-border);box-shadow:var(--shadow-panel);font-size:var(--text-caption);font-variant-numeric:tabular-nums;align-items:center;margin-inline:auto;font-weight:600;text-decoration:none;display:flex;position:absolute;inset-block-start:var(--space-2);inset-inline:0}@media (width<=767px) and (orientation:portrait){.assets-chip{inset-block-start:var(--space-1)}.city-screen:has(.assets-chip) .building-list{inset-block-start:calc(2 * var(--space-1) + var(--touch-min))}}.assets-chip:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset)}button.toast-action{text-decoration:none}.city-restoring{inset-block-start:50%;inset-inline:var(--space-2);z-index:var(--z-panel);text-align:center;pointer-events:none;inline-size:fit-content;max-inline-size:32ch;margin-block:0;margin-inline:auto;position:absolute;translate:0 -50%}.app .dock{border-block-start:var(--border-strong) solid var(--color-accent);box-shadow:var(--shadow-dock)}.app:not([data-layout=phone]) .dock{border-block-start:0;border-inline-end:var(--border-strong) solid var(--color-accent)}:root[data-theme=contrast] .app .dock{border-color:var(--color-hud-text);box-shadow:none}.app .dock-item.hk-tab{isolation:isolate;font-family:var(--font-display);letter-spacing:.02em;font-weight:700;transition:transform .1s}.app .dock-item.hk-tab:before{content:"";z-index:-1;border:1.5px solid #0000;border-radius:10px;position:absolute;inset:3px}.app .dock-item.hk-tab:hover:not([aria-current=page]):before{background:color-mix(in srgb, var(--color-hud-text) 14%, transparent);border-color:color-mix(in srgb, var(--color-hud-text) 35%, transparent)}.app .dock-item.hk-tab:active{transform:scale(.94)}.app .dock-item.hk-tab[aria-current=page]{color:var(--color-text)}.app .dock-item.hk-tab[aria-current=page]:before{background:var(--color-surface);border:var(--border-strong) solid var(--color-accent);box-shadow:inset 0 -2px 0 color-mix(in srgb, var(--color-accent) 45%, transparent), var(--shadow-raised)}:root[data-theme=dark] .app .dock-item.hk-tab[aria-current=page]:before{background:var(--color-surface-alt)}.app .dock-item.hk-tab[aria-current=page]:after{content:"";background:var(--color-accent);border-radius:0 0 4px 4px;block-size:4px;inline-size:18px;position:absolute;inset-block-start:-2px;inset-inline-start:calc(50% - 9px)}.app:not([data-layout=phone]) .dock-item.hk-tab[aria-current=page]:after{border-start-start-radius:0;border-end-start-radius:0;block-size:18px;inline-size:4px;inset-block-start:calc(50% - 9px);inset-inline-start:-4px}:root[data-theme=contrast] .app .dock-item.hk-tab[aria-current=page]:before{border-color:var(--color-hud-text);box-shadow:none}:root[data-theme=contrast] .app .dock-item.hk-tab[aria-current=page]:after{background:var(--color-hud-text)}:root[data-theme=contrast] .app .dock-item.hk-tab:hover:not([aria-current=page]):before{border:var(--border-strong) dashed var(--color-hud-text);background:0 0}.app .dock-item.hk-tab:focus-visible{outline:var(--focus-ring-width) solid var(--color-hud-text);outline-offset:-1px;border-radius:12px}.app[data-layout=desktop] .dock-item.hk-tab[aria-current=page] .dock-label{font-weight:900}.app[data-layout=desktop] .dock ul{inline-size:min-content}.app[data-layout=desktop] .dock-item.hk-tab{inline-size:auto;min-inline-size:var(--dock-rail-desktop);padding-block:var(--space-1)}.dock-badge{min-inline-size:var(--badge-size);block-size:var(--badge-size);padding-inline:var(--space-half);color:var(--color-hud-text);filter:drop-shadow(var(--shadow-raised));font:700 var(--text-micro) / var(--badge-size) var(--font-body);text-align:center;font-variant-numeric:tabular-nums;background:url(../art/hud/notif_dot.svg) 50%/contain no-repeat;position:absolute;inset-block-start:1px;inset-inline-start:calc(50% + 3px)}.dock-badge[data-wide]{background:0 0;border:0 solid;border-image:url(../art/hud/badge_count.svg) 13 fill/9px}:root[data-theme=dark] .dock-badge[data-wide]{border-image-source:url(../art/hud/dark/badge_count.svg)}.app[data-layout=desktop] .dock-badge{inset-block-start:4px}.ambrosia-pill .dock-badge{inset-block-start:-6px;inset-inline:auto -6px}:root[data-theme=contrast] .dock-badge{border-radius:calc(var(--badge-size) / 2);background:var(--color-danger);box-shadow:0 0 0 var(--border-strong) var(--color-hud-text);filter:none;border-image:}.app .panel-host.hk-panel{box-shadow:var(--shadow-panel), var(--shadow-sheet)}.app .panel-host.hk-panel[data-variant=sheet]{border-block-end-width:0;border-image-width:24px 24px 0;border-radius:0}:root[data-theme=dark] .app .panel-host.hk-panel{border-image-source:url(../art/hud/dark/panel.svg)}.app .panel-host.hk-panel:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:0}:root[data-theme=contrast] .app .panel-host.hk-panel{border-radius:var(--radius-panel);box-shadow:none}:root[data-theme=contrast] .app .panel-host.hk-panel[data-variant=sheet]{border-block-end:0;border-end-end-radius:0;border-end-start-radius:0}.app .panel-host:not([data-variant=sheet]) .panel-head.hk-panel-head:not(:has(.panel-tabs)){z-index:1;background:0 0;border:0;padding:0;position:absolute;inset-block-start:-18px;inset-inline-end:-18px}.app .panel-head.hk-panel-head{background:url(../art/hud/divider_meander.svg) 0 100%/auto 10px repeat-x;border-block-end:0;padding-block-end:calc(var(--space-half) + 10px)}.app .panel-host[data-variant=sheet] .panel-head.hk-panel-head{padding-block:14px 0}.app .panel-host[data-variant=sheet] .panel-head.hk-panel-head:not(:has(.panel-tabs)){background:0 0;min-block-size:22px;padding:0}.app .panel-host[data-variant=sheet] .panel-head:not(:has(.panel-tabs)) .panel-close{z-index:1;position:absolute;inset-block-start:-8px;inset-inline-end:0}:root[data-theme=contrast] .app .panel-head.hk-panel-head{border-block-end:var(--border-strong) solid var(--color-border);background:0 0;padding-block-end:var(--space-half)}.app .panel-grab{block-size:6px;inline-size:40px;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--color-surface) 40%, transparent);border-radius:3px;inset-block-start:12px}:root[data-theme=contrast] .app .panel-grab{background:var(--color-text);box-shadow:none}.panel-close.icon-button{background:url(../art/hud/medallion_cancel.svg) 50%/34px no-repeat;transition:transform .1s}.panel-close.icon-button .mask-icon{visibility:hidden}.panel-close.icon-button:hover:not(:disabled){filter:brightness(1.06);background:url(../art/hud/medallion_cancel.svg) 50%/34px no-repeat}.panel-close.icon-button:active{transform:scale(.94)}.panel-close.icon-button:focus-visible{outline-offset:-2px;border-radius:50%}:root[data-theme=contrast] .panel-close.icon-button{background:var(--color-surface);border:var(--border-strong) solid var(--color-text);border-radius:50%}:root[data-theme=contrast] .panel-close.icon-button .mask-icon{visibility:visible}.app .panel-tabs{align-self:flex-end;margin-block-end:calc(-1 * (var(--space-half) + 4px))}.app .panel-tab.hk-tab{isolation:isolate;letter-spacing:.02em;background:0 0;border-image:;padding-block-start:8px;font-weight:700;position:relative}.app .panel-tab.hk-tab:before{content:"";z-index:-1;border:0 solid;border-image:url(../art/hud/tab_idle.svg) 20 20 0 fill/14px 14px 0;position:absolute;inset:8px 0 0}.app .panel-tab.hk-tab[aria-current=page]:before{border-image-source:url(../art/hud/tab_active.svg)}:root[data-theme=dark] .app .panel-tab.hk-tab:before{border-image-source:url(../art/hud/dark/tab_idle.svg)}:root[data-theme=dark] .app .panel-tab.hk-tab[aria-current=page]:before{border-image-source:url(../art/hud/dark/tab_active.svg)}.app .panel-tab.hk-tab:hover:not([aria-current=page]){filter:brightness(1.06)}.app .panel-tab.hk-tab:active{transform:translateY(1px)}.app .panel-tab.hk-tab:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:-2px;border-radius:12px 12px 0 0}:root[data-theme=contrast] .app .panel-tab.hk-tab:before{border:var(--border-strong) solid var(--color-border);background:var(--color-surface);border-block-end:0;border-image:;border-radius:10px 10px 0 0}:root[data-theme=contrast] .app .panel-tab.hk-tab[aria-current=page]:before{border-width:var(--border-heavy)}@media (prefers-reduced-motion:reduce){.app :is(.dock-item.hk-tab,.panel-close.icon-button,.panel-tab.hk-tab):active{transform:none}}[data-reduced-motion=true] .app :is(.dock-item.hk-tab,.panel-close.icon-button,.panel-tab.hk-tab):active{transform:none}.settings-body :is(.settings-profile,.settings-account,.settings-privacy,.settings-guides),.settings-body .purchases-section{padding:var(--space-1) var(--space-2) var(--space-2);border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface-alt) 45%, var(--color-surface));border-radius:12px}.settings-body :is(.settings-profile,.settings-account,.settings-privacy,.settings-guides,.profile-avatars)>legend{padding:2px var(--space-1);background:var(--color-hud-bg);color:var(--color-hud-text);font:600 var(--text-micro) var(--font-display);letter-spacing:.08em;text-transform:uppercase;border-radius:999px}:root[data-theme=contrast] .settings-body :is(.settings-profile,.settings-account,.settings-privacy,.settings-guides){border-width:var(--border-strong);background:var(--color-surface)}.settings-body :is(.account-hint,.profile-hint,.profile-status,.email-link-status){font-size:var(--text-micro)}.settings-body .account-actions{gap:var(--space-1);flex-wrap:wrap;display:flex}.settings-close{justify-self:start}.account-methods>li.hk-row{justify-content:space-between}.account-methods>li.hk-row>span{overflow-wrap:anywhere;min-inline-size:0}.auth-screen,.asset-download{background:radial-gradient(circle at 50% 30%, var(--color-sea), var(--color-hud-bg))}.auth-card{font-size:var(--text-caption)}.auth-card h1{font-size:var(--text-section)}:root[data-theme=contrast] :is(.auth-screen,.asset-download){background:var(--color-bg)}.building-list .hk-chip{font-size:var(--text-caption)}.guide-steps li.is-done .guide-check{font-size:0}.guide-steps li.is-done .guide-check:before{content:"";background:currentColor;block-size:12px;inline-size:12px;-webkit-mask:url(../art/icons/ui/check.svg) 50%/contain no-repeat;mask:url(../art/icons/ui/check.svg) 50%/contain no-repeat}.guide-panel{--hk-control:32px}.guide-panel .btn{padding-inline:var(--space-1);font-size:var(--text-micro)}
