:root{color-scheme:dark;--ink:#091116;--paper:#f0f1e8;--muted:#adbfC2;--line:#31434b;--sun:#fac759;--focus:#79d5dc;font-family:Arial,Helvetica,sans-serif;color:var(--paper);background:var(--ink)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}[hidden]{display:none!important}button{font:14px/1.2 Arial,Helvetica,sans-serif;cursor:pointer;border:1px solid var(--line);padding:10px 14px;color:var(--paper);background:var(--ink)}button:hover{background:#26383f}button:disabled{opacity:.3;cursor:default}button:focus-visible,summary:focus-visible,canvas:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
#unity-container,#unity-fullscreen-container{position:fixed;inset:0;width:100%;height:100%;overflow:hidden;background:var(--ink)}#unity-canvas{user-select:none;display:block;width:100%!important;height:100%!important;border:0;border-radius:0;background:var(--ink)}
#unity-fullscreen-button{position:absolute;right:12px;bottom:12px;z-index:3;display:grid;place-items:center;width:36px;height:36px;padding:8px;border:0;border-radius:3px;background:#09111666;opacity:.55}#unity-fullscreen-button:hover,#unity-fullscreen-button:focus-visible{opacity:1;background:#091116cc}#unity-container:fullscreen #unity-fullscreen-button,.input-captured #unity-fullscreen-button{display:none}
@font-face{font-family:'Barlow Condensed';font-weight:700;font-display:swap;src:url(BarlowCondensed-Bold.ttf) format('truetype')}
.load-brand{display:flex;flex-direction:column;align-items:center;gap:16px;margin:0 0 40px}.load-brand svg{width:76px;height:70px}.load-brand span{font:700 34px/1 'Barlow Condensed','Arial Narrow',Arial,sans-serif;letter-spacing:.12em;color:var(--paper)}#unity-loading-container.load-failed .load-brand{margin-bottom:28px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#unity-loading-container{position:absolute;inset:0;display:grid;place-items:center;background:var(--ink);padding:24px}.load-state{width:min(260px,100%)}.load-label{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:12px}#loading-percent{font-variant-numeric:tabular-nums}progress{appearance:none;display:block;width:100%;height:2px;border:0;background:#26353c;color:var(--sun)}progress::-webkit-progress-bar{background:#26353c}progress::-webkit-progress-value{background:var(--sun)}progress::-moz-progress-bar{background:var(--sun)}#loading-hint{color:var(--muted);font-size:12px;line-height:1.5}
#unity-loading-container.load-failed .load-state{width:min(430px,100%)}#load-error-message{font-size:15px;line-height:1.5}#retry-load{background:var(--sun);border-color:var(--sun);color:var(--ink);margin:4px 0 14px}details{font-size:12px;color:var(--muted)}summary{cursor:pointer;padding:6px 0}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.5;max-height:120px;overflow:auto}#unity-warning{position:absolute;bottom:60px;left:24px;right:24px;max-width:600px;margin:0;padding:12px 16px;background:var(--ink);border:1px solid var(--sun);font-size:13px;line-height:1.5}.no-script{position:fixed;inset:0;display:grid;place-items:center;padding:24px;background:var(--ink)}
#unity-container:fullscreen{min-height:0}#unity-container:fullscreen #unity-canvas{outline:none!important}
.input-captured #unity-canvas:focus-visible{outline:none}
/* Phones: the city is played in landscape. */
#rotate-hint{display:none}@media (orientation:portrait) and (pointer:coarse){#rotate-hint{display:grid;place-items:center;position:fixed;inset:0;z-index:10;padding:32px;background:var(--ink);color:#f0f0e8;font:700 22px/1.3 'Barlow Condensed','Arial Narrow',Arial,sans-serif;text-align:center}}
.rotate-text{margin:0}.a2hs .rotate-text{display:none}.a2hs #a2hs-guide{display:flex!important}
#a2hs-guide{flex-direction:column;align-items:stretch;gap:12px;width:min(440px,100%);max-height:100%;padding:max(8px,env(safe-area-inset-top)) 0 max(8px,env(safe-area-inset-bottom));text-align:left}
#a2hs-guide h2{margin:0;font:700 30px/1 'Barlow Condensed','Arial Narrow',Arial,sans-serif;letter-spacing:.04em;color:var(--sun);text-transform:uppercase}
.a2hs-lead,.a2hs-other{margin:0;font:400 15px/1.4 Arial,Helvetica,sans-serif;color:var(--muted)}.a2hs-other b{color:var(--paper)}
.a2hs-steps{flex:1;min-height:0;display:flex;flex-direction:column}.a2hs-step{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;margin:0}
.a2hs-step img{flex:none;width:100%;height:min(44vh,420px);object-fit:contain;object-position:center;border:1px solid var(--line);border-radius:14px;background:#000}
.a2hs-step figcaption{display:flex;gap:12px;align-items:flex-start;min-height:54px;font:700 21px/1.25 'Barlow Condensed','Arial Narrow',Arial,sans-serif;color:var(--paper)}.a2hs-step b{color:var(--sun)}
.a2hs-step figcaption .a2hs-n{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--sun);color:var(--ink);font-size:17px}
.a2hs-nav{display:flex;align-items:center;justify-content:space-between;gap:12px}.a2hs-nav button{min-width:96px;min-height:44px;border-radius:4px;font:700 18px 'Barlow Condensed','Arial Narrow',Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase}
.a2hs-nav .a2hs-primary{background:var(--sun);border-color:var(--sun);color:var(--ink)}.a2hs-nav button:disabled{visibility:hidden}
.a2hs-dots{display:flex;gap:6px}.a2hs-dots i{width:7px;height:7px;border-radius:50%;background:#33464d}.a2hs-dots i.on{background:var(--sun)}
.a2hs-skip{align-self:center;border:0;background:none;color:var(--muted);font-size:13px;text-decoration:underline;padding:6px}
/* Phones: no full-screen button (Android goes full screen on the first touch in landscape, iPhone uses the Home Screen
   guide), and while the phone turns the canvas is covered until the new size settles (no stretched last frame). */
.phone #unity-fullscreen-button{display:none!important}.rotating #unity-container::after{content:'';position:absolute;inset:0;z-index:5;background:var(--ink)}
/* New release banner (shell.js): top centre over the menus, never during a match. */
#update-banner{position:fixed;left:50%;top:64px;transform:translateX(-50%);z-index:20;display:flex;gap:12px;align-items:center;max-width:min(720px,calc(100vw - 32px));padding:12px 14px 12px 18px;background:rgba(7,15,19,.96);border:1px solid rgba(249,199,89,.55);border-left:4px solid #f9c759;color:#f0f0e8;font:16px/1.3 'Barlow Condensed','Arial Narrow',Arial,sans-serif;box-shadow:0 12px 32px rgba(0,0,0,.45)}
#update-banner[hidden],#update-banner button[hidden]{display:none}
#update-banner div{display:flex;flex-direction:column;gap:2px}#update-banner b{color:#f9c759;font-size:18px;letter-spacing:.04em}
#update-banner button{flex:none;min-height:38px;padding:0 16px;border:0;background:#f9c759;color:#071013;font:700 16px 'Barlow Condensed','Arial Narrow',Arial,sans-serif;cursor:pointer}
#update-banner button[data-act=later]{background:#24343a;color:#f0f0e8}
#maintenance{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:24px;background:rgba(5,9,12,.9);backdrop-filter:blur(3px)}
.maintenance-card{width:min(560px,100%);padding:30px 32px 26px;background:#0b141a;border-top:4px solid var(--sun);text-align:center;box-shadow:0 18px 60px rgba(0,0,0,.5)}
.maintenance-card b{display:block;font:700 34px/1 'Barlow Condensed','Arial Narrow',Arial,sans-serif;letter-spacing:.06em;color:var(--paper)}
.maintenance-card p{margin:14px 0 0;font:400 17px/1.45 Arial,Helvetica,sans-serif;color:var(--paper)}.maintenance-card .maintenance-note{margin-top:6px;font-size:14px;color:var(--muted)}
.maintenance-dots{display:flex;justify-content:center;gap:8px;margin-top:20px}.maintenance-dots span{width:9px;height:9px;border-radius:50%;background:var(--sun);animation:maintenance-pulse 1.2s infinite ease-in-out}
.maintenance-dots span:nth-child(2){animation-delay:.2s}.maintenance-dots span:nth-child(3){animation-delay:.4s}#maintenance.soon .maintenance-dots{display:none}
@keyframes maintenance-pulse{0%,80%,100%{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.maintenance-dots span{animation:none;opacity:.8}}
#mic-card{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:20;display:flex;gap:12px;align-items:center;max-width:min(680px,calc(100vw - 32px));padding:12px 14px 12px 18px;background:rgba(7,15,19,.94);border-top:3px solid var(--sun);box-shadow:0 10px 30px rgba(0,0,0,.4)}
#mic-card div{display:flex;flex-direction:column;gap:2px}#mic-card b{color:#f9c759;font-size:16px;letter-spacing:.04em}#mic-card span{font-size:14px;color:var(--paper)}
#mic-card button{flex:none;min-height:36px;padding:0 16px;border:0;background:#f9c759;color:#071013;font:700 16px 'Barlow Condensed','Arial Narrow',Arial,sans-serif;cursor:pointer}
#mic-card button[data-mic=later]{background:#24343a;color:#f0f0e8}
#open-link{position:fixed;left:50%;top:84px;transform:translateX(-50%);z-index:21;display:flex;gap:12px;align-items:center;max-width:calc(100vw - 32px);padding:12px 14px 12px 18px;background:rgba(7,15,19,.96);border-top:3px solid var(--sun);box-shadow:0 10px 30px rgba(0,0,0,.4);font-size:14px}
#open-link a{color:#f9c759;font-weight:700;word-break:break-all}#open-link button{flex:none;min-height:32px;padding:0 14px;border:0;background:#24343a;color:#f0f0e8;cursor:pointer}
#maintenance-note{position:fixed;left:50%;top:12px;transform:translateX(-50%);z-index:22;max-width:calc(100vw - 32px);padding:8px 16px;background:rgba(7,15,19,.92);border-left:3px solid var(--sun);color:#f0f0e8;font:600 14px/1.3 system-ui,sans-serif;pointer-events:none}
