:root{--ink:#2b2230;--panel:#241b28;--panel-2:#3a2c3a;--line:#3f2631;--edge:#8a6a5e;--cream:#faecd2;--muted:#dcc9b2;--gold:#f6b24a;--gold-dark:#d98b35;--green:#8fd16a;--red:#ff8f7a;--blue:#7fd6c8;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--ink);height:100%;color:var(--cream);font:16px/1.5 var(--font);-webkit-text-size-adjust:100%;margin:0;overflow:hidden}#game{position:fixed;inset:0}#game canvas{touch-action:none;display:block}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.btn,.hud-buttons button,.panel-close,.talk{font:700 15px/1.2 var(--font);color:var(--cream);background:var(--panel-2);border:3px solid var(--line);box-shadow:inset 0 -3px 0 #00000059, inset 0 0 0 2px var(--edge);cursor:pointer;border-radius:4px;align-items:center;gap:6px;min-height:44px;padding:10px 14px;text-decoration:none;display:inline-flex}.btn:hover,.hud-buttons button:hover,.panel-close:hover{filter:brightness(1.15)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--gold);color:var(--line);box-shadow:inset 0 -3px 0 var(--gold-dark), inset 0 0 0 2px #ffd27a}.btn-quiet{box-shadow:inset 0 0 0 2px var(--edge);background:0 0}.btn-danger{background:#6b2737}.btn-big{padding:14px 36px;font-size:20px}.btn.ready{outline:3px solid var(--green)}body:not(.reduced-motion) .btn.ready{animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{transform:scale(1.04)}}.inline-link{color:var(--gold);font-weight:700}kbd{font:700 11px var(--mono);background:var(--ink);border:1px solid var(--edge);color:var(--muted);border-radius:3px;padding:1px 4px}.hud{padding:max(8px, env(safe-area-inset-top)) 12px 8px;pointer-events:none;z-index:10;justify-content:space-between;align-items:flex-start;gap:8px;display:flex;position:fixed;top:0;left:0;right:0}.hud>*{pointer-events:auto}.hud-stats{border:3px solid var(--line);box-shadow:inset 0 0 0 2px var(--edge);background:#241b28e6;border-radius:4px;flex-wrap:wrap;align-items:baseline;gap:4px 10px;max-width:min(60vw,520px);margin:0;padding:6px 10px;display:flex}.hud-xp{color:var(--gold);font-weight:800}.hud-rank{font-weight:700}.hud-next{color:var(--muted);font-size:14px}.hud-run{color:var(--blue);font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.hud-run[hidden]{display:none}.hud-buttons{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.hud-buttons button{padding:8px 10px}body.touch .hud-buttons kbd{display:none}body.title-open .hud{visibility:hidden}.prompt{left:16px;right:16px;bottom:max(20px, env(safe-area-inset-bottom));border:3px solid var(--line);width:-moz-fit-content;width:fit-content;box-shadow:inset 0 0 0 2px var(--edge);text-align:center;z-index:11;pointer-events:none;background:#241b28eb;border-radius:4px;margin:0 auto;padding:8px 14px;font-weight:700;position:fixed}.prompt:empty,body.panel-open .prompt,body.title-open .prompt{display:none}.toast{left:16px;right:16px;top:calc(var(--hud-bottom,64px) + 8px);pointer-events:none;background:var(--gold);width:-moz-fit-content;width:fit-content;color:var(--line);border:3px solid var(--line);z-index:40;text-align:center;border-radius:4px;margin:0 auto;padding:8px 14px;font-weight:800;position:fixed}.panel-layer{z-index:30;background:#1810168c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.panel-layer[hidden]{display:none}.panel-layer[data-size=sheet]{background:#18101640;align-items:flex-end}.panel{background:var(--panel);border:4px solid var(--line);box-shadow:inset 0 0 0 3px var(--edge), 0 8px 0 #00000059;border-radius:6px;flex-direction:column;width:min(640px,100%);max-height:calc(100dvh - 32px);display:flex;position:relative;overflow:hidden}.panel-sheet{width:min(760px,100%)}.panel-large{width:min(940px,100%)}.panel-wide{width:min(1200px,100%);height:calc(100dvh - 32px)}.panel-head{align-items:center;gap:14px;padding:14px 16px 8px;display:flex}.panel-titles{flex:1;min-width:0}.panel-head h2{margin:0;font-size:22px;line-height:1.2}.kicker{font:700 12px/1.3 var(--mono);color:var(--gold);text-transform:uppercase;letter-spacing:.04em;margin:0 0 2px}.panel-close{align-self:flex-start;min-height:36px;padding:6px 10px;font-size:13px}.panel-body{flex:1;padding:4px 16px 12px;overflow:auto}.panel-body>:first-child{margin-top:0}.panel-body h3{flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0 6px;font-size:16px;display:flex}.panel-actions{border-top:3px solid var(--line);flex-wrap:wrap;gap:8px;padding:12px 16px 16px;display:flex}.portrait{width:96px;height:96px;image-rendering:pixelated;background:var(--panel-2);border:3px solid var(--line);box-shadow:inset 0 0 0 2px var(--edge);border-radius:4px;flex:none}@media (min-width:700px){.portrait{width:128px;height:128px}}.speech{margin:4px 0;font-size:18px}.pro-list{gap:4px;margin:6px 0 10px;padding-left:20px;display:grid}.muted{color:var(--muted)}.small{font-size:13px}.good{color:var(--green);font-weight:800}.bad{color:var(--red);font-weight:800}.panel-layer[data-size=focus]{background:#0b0d16;padding:0}.panel-focus{width:100%;height:100dvh;max-height:none;box-shadow:none;border:0;border-radius:0}.focus-bar{background:var(--panel);border-bottom:3px solid var(--line);align-items:center;gap:10px;min-height:56px;padding:6px 10px;display:flex}.focus-title{white-space:nowrap;text-overflow:ellipsis;flex:none;max-width:40%;margin:0;font-size:16px;overflow:hidden}.focus-kicker{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin:0;font-size:13px;overflow:hidden}.focus-actions{flex:none;gap:6px;margin-left:auto;display:flex}.focus-actions .btn,.focus-actions .panel-close{min-height:40px;padding:6px 10px;font-size:14px}.focus-body{flex-direction:column;flex:1;min-height:0;display:flex}.focus-body .frame-wrap{border:0;border-radius:0;flex:1;height:auto;min-height:0}@media (max-width:760px){.focus-kicker{display:none}.focus-title{flex:1;max-width:none}}.frame-wrap{border:3px solid var(--line);background:#0b0d16;border-radius:4px;flex:1;height:calc(100% - 96px);min-height:300px;overflow:hidden}.panel-wide .panel-body{flex-direction:column;gap:8px;display:flex}.panel-wide .panel-body>p{margin:0}.game-frame{background:#0b0d16;border:0;width:100%;height:100%;display:block}.frame-off{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:200px;padding:24px;display:flex}.quest-status{font-weight:700}.code{border:2px solid var(--edge);font:13px/1.45 var(--mono);white-space:pre-wrap;word-break:break-word;background:#0b0d16;border-radius:4px;padding:10px;overflow:auto}.options{gap:8px;margin:12px 0;display:grid}.option{text-align:left;font:15px/1.4 var(--font);color:var(--cream);background:var(--panel-2);border:3px solid var(--line);box-shadow:inset 0 0 0 2px var(--edge);cursor:pointer;border-radius:4px;flex-wrap:wrap;align-items:flex-start;gap:10px;min-height:44px;padding:10px 12px;display:flex}.option:hover:not(.locked){filter:brightness(1.15)}.option-letter{font:800 15px var(--mono);color:var(--gold);flex:none}.option-text{overflow-wrap:anywhere;flex:1;min-width:0}.option.locked,.option:disabled{cursor:default;color:var(--cream);opacity:1}.btn:disabled{opacity:.55;cursor:not-allowed}.option.right{box-shadow:inset 0 0 0 3px var(--green)}.option.wrong{box-shadow:inset 0 0 0 3px var(--red)}.option-tag{font:800 12px var(--mono);text-transform:uppercase;background:var(--ink);border-radius:3px;padding:2px 6px}.option.right .option-tag{color:var(--green)}.option.wrong .option-tag{color:var(--red)}.feedback p{margin:4px 0}.reward{background:var(--panel-2);border:3px solid var(--line);border-radius:4px;align-items:center;gap:12px;margin:10px 0;padding:10px;display:flex}.reward-name{margin:0;font-weight:800}.reward p{margin:0}.medal{background:radial-gradient(circle at 50% 45%, #fff3c4 0 18%, var(--gold) 19% 55%, var(--gold-dark) 56% 70%, var(--line) 71%);width:28px;height:28px;image-rendering:pixelated;flex:none;display:inline-block}.medal-big{width:40px;height:40px}.pro-cta{background:var(--panel-2);border-left:4px solid var(--gold);padding:8px 10px}.goal{background:var(--panel-2);border-left:4px solid var(--gold);margin:0 0 4px;padding:8px 10px}.quest-list,.plain{gap:6px;margin:0;padding:0;list-style:none;display:grid}.badge-name{font-weight:800}.certs li{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.quest-list li{background:var(--panel-2);border-radius:4px;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:6px 8px;display:flex}.quest-title{font-weight:700}.tag{font:800 12px/1.2 var(--mono);background:var(--ink);border:2px solid var(--edge);text-transform:uppercase;border-radius:3px;margin-left:auto;padding:3px 7px}.tag-done{color:var(--green);border-color:var(--green)}.tag-available,.tag-open{color:var(--gold);border-color:var(--gold)}.tag-started,.tag-played{color:var(--blue);border-color:var(--blue)}.tag-locked,.board-district.soon h3{color:var(--muted)}.plain li{padding:4px 0}.stats{color:var(--gold);font-weight:800}label{margin:10px 0 4px;font-weight:700;display:block}input[type=text]{width:100%;font:16px var(--font);color:var(--cream);background:var(--ink);border:3px solid var(--edge);border-radius:4px;min-height:44px;padding:8px 10px}.card-preview{border:3px solid var(--line);background:var(--ink);border-radius:4px;width:100%;height:auto;display:block}.sponsor-logo{background:var(--cream);border:3px solid var(--line);border-radius:4px;justify-content:center;padding:16px;display:flex}.sponsor-logo img{max-width:100%;height:48px}.minimap{right:12px;top:calc(var(--hud-bottom,64px) + 8px);z-index:9;border:3px solid var(--line);box-shadow:inset 0 0 0 2px var(--edge);background:#241b28eb;border-radius:4px;max-width:calc(100vw - 24px);padding:6px;position:fixed}.minimap[hidden]{display:none}.minimap.at-bottom{top:auto;bottom:16px}body.touch .minimap.at-bottom{bottom:150px}.minimap-canvas{image-rendering:pixelated;touch-action:none;cursor:crosshair;max-width:100%;display:block}.minimap-tip{max-width:216px;margin:4px 0 0;font-size:12px;font-weight:700}.minimap-legend{color:var(--muted);max-width:216px;margin:2px 0 0;font-size:11px}body.title-open .minimap,body.panel-open .minimap,body.indoors .minimap{display:none}#btn-map[aria-pressed=true]{box-shadow:inset 0 -3px 0 #00000059, inset 0 0 0 2px var(--gold)}.touch-controls{display:none}body.touch .touch-controls{display:block}body.panel-open .touch-controls,body.title-open .touch-controls{display:none}.stick{left:max(20px, env(safe-area-inset-left));bottom:max(24px, env(safe-area-inset-bottom));touch-action:none;z-index:12;background:#241b2899;border:4px solid #faecd280;border-radius:50%;width:128px;height:128px;position:fixed}.knob{background:var(--gold);border:4px solid var(--line);border-radius:50%;width:56px;height:56px;margin:-28px 0 0 -28px;position:absolute;top:50%;left:50%}.talk{right:max(20px, env(safe-area-inset-right));bottom:max(40px, env(safe-area-inset-bottom));z-index:12;background:var(--gold);width:96px;height:96px;color:var(--line);box-shadow:inset 0 -4px 0 var(--gold-dark);border-radius:50%;justify-content:center;font-size:18px;position:fixed}.talk:disabled{background:var(--panel-2);color:var(--muted);box-shadow:inset 0 0 0 2px var(--edge)}body.touch .prompt{bottom:172px;right:calc(max(20px, env(safe-area-inset-right)) + 80px)}.small-touch{right:max(20px, env(safe-area-inset-right));z-index:12;font:700 14px var(--font);color:var(--cream);background:var(--panel-2);border:3px solid var(--line);box-shadow:inset 0 0 0 2px var(--edge);border-radius:22px;min-width:64px;min-height:44px;padding:6px 12px;position:fixed}.bike-btn{bottom:148px}.emote-btn{bottom:200px}.photo-btn{bottom:252px}body:not(.has-bike) .bike-btn{display:none}.emote-menu{z-index:13;border:3px solid var(--line);background:#241b28eb;border-radius:6px;gap:6px;padding:6px;display:grid;position:fixed;bottom:200px;right:96px}.emote-menu[hidden],body.panel-open .emote-menu,body.title-open .emote-menu{display:none}body:not(.touch) .emote-menu{right:16px;top:calc(var(--hud-bottom,64px) + 8px);bottom:auto}body.touch #btn-emote-hud{display:none}.emote-menu .btn{justify-content:space-between;gap:10px}body.touch .emote-menu kbd{display:none}.wardrobe{grid-template-columns:minmax(0,1fr);gap:4px;display:grid}.look-stage{z-index:2;background:var(--panel);border-bottom:2px solid var(--edge);flex-wrap:wrap;align-items:center;gap:6px 10px;padding:6px 0 8px;display:flex;position:sticky;top:-4px}.look-views{gap:6px;display:flex}.look-view,.look-pet{image-rendering:pixelated;background:var(--panel-2);border:2px solid var(--line);width:52px;height:52px;box-shadow:inset 0 0 0 2px var(--edge);border-radius:4px;display:block}.look-pet{width:40px;height:40px}.look-pet.empty{opacity:.5}.look-pet-box{align-items:center;gap:6px;display:flex}.look-pet-name{margin:0;font-size:14px;font-weight:700}.look-try{color:var(--gold);flex-basis:100%;min-height:1.2em;margin:0;font-size:13px}.look-try:empty{display:none}@media (min-width:760px){.wardrobe{grid-template-columns:232px minmax(0,1fr);align-items:start;gap:16px}.look-stage{border-bottom:0;gap:10px;padding:0;display:grid;top:0}.look-views{grid-template-columns:1fr 1fr;gap:8px;display:grid}.look-view{aspect-ratio:1;width:100%;height:auto}.look-pet{width:64px;height:64px}.look-try:empty{display:block}}.look-group{border:2px solid var(--edge);border-radius:4px;flex-wrap:wrap;gap:4px 10px;margin:8px 0;padding:6px 8px;display:flex}.look-group legend{padding:0 4px;font-weight:800}.look-option{align-items:center;gap:6px;min-height:32px;margin:0;font-weight:600;display:inline-flex}.look-option input{width:18px;height:18px;accent-color:var(--gold)}.swatch{border:2px solid var(--line);border-radius:3px;width:14px;height:14px;display:inline-block}.packets li{display:grid}.rewards li:before{content:"+ ";color:var(--gold);font-weight:800}.title{z-index:50;background:#2b2230;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow:hidden}.title[hidden]{display:none}.title-sky{width:100%;height:100%;image-rendering:pixelated;z-index:0;position:absolute;inset:0}.title-card{z-index:1;text-align:center;background:var(--panel);border:4px solid var(--line);max-width:560px;box-shadow:inset 0 0 0 3px var(--edge), 0 8px 0 #00000059;border-radius:6px;padding:24px 20px;position:relative}.title h1{margin:0}.title-logo{width:min(100%,480px);height:auto;image-rendering:pixelated}body:not(.reduced-motion) .title-logo{animation:3s ease-in-out infinite float}@keyframes float{50%{transform:translateY(-6px)}}.title-tag{font-size:18px;font-weight:700}.title-keys{color:var(--muted)}.title-small{color:var(--muted);font-size:13px}.title-small a{color:var(--gold)}.title-note{color:var(--gold);font-weight:700}.noscript{place-items:center;margin:0;display:grid;position:fixed;inset:0}@media (max-width:640px){.hud{flex-direction:column;align-items:stretch}.hud-stats{max-width:none}.hud-next{display:none}.hud-buttons{justify-content:flex-start}.hud-buttons kbd{display:none}.panel-layer{padding:0}.panel{border-radius:0;width:100%;max-height:100dvh}.panel-wide{height:100dvh}.panel-head h2{font-size:19px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chip{min-height:32px;font:700 14px/1.2 var(--font);color:var(--cream);cursor:help;background:var(--panel-2);box-shadow:inset 0 0 0 2px var(--edge);border:0;border-radius:4px;align-items:center;gap:6px;padding:4px 9px;display:inline-flex}.chip.earned{box-shadow:inset 0 0 0 2px var(--gold)}.chip.locked{color:var(--muted);opacity:.75;background:0 0;box-shadow:inset 0 0 0 2px #8a6a5e8c}.chip.locked:hover,.chip.locked:focus-visible{opacity:1}.chip:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.chip .medal{width:18px;height:18px}.chip .medal-big{width:22px;height:22px}.lock-icon{fill:currentColor;shape-rendering:crispedges;flex:none;width:12px;height:12px}.look-option.chip{font-weight:600}.packet-dot{background:var(--gold);border:2px solid var(--line);border-radius:2px;width:10px;height:10px}.float-tip{z-index:45;background:var(--cream);max-width:min(260px,100vw - 16px);color:var(--line);border:3px solid var(--line);font:700 13px/1.35 var(--font);pointer-events:none;border-radius:4px;padding:6px 9px;position:fixed}.float-tip[hidden]{display:none}#btn-start.is-pending{visibility:hidden}.btn-shortcut{color:var(--cream);background:#1b2b26;margin:12px auto 0;padding:10px 24px;font-size:16px;display:block;box-shadow:inset 0 0 0 2px #00e599,0 3px #00000059}.btn-shortcut:hover,.btn-shortcut:focus-visible{background:#24392f}.book-cover{border:3px solid var(--line);border-radius:3px;width:min(220px,60%);height:auto;margin:4px auto 10px;display:block;box-shadow:0 4px #00000059}.chapters{gap:4px;margin:0;padding-left:0;list-style:none;display:grid}.chapters li{background:var(--panel-2);border-radius:4px;padding:4px 8px}.sim-screen{border:3px solid var(--line);color:#e8f2ee;background:#14181f;border-radius:4px;margin:8px 0;padding:8px 10px}.sim-caption{font:800 11px/1.2 var(--mono);text-transform:uppercase;color:#8fd9b6;letter-spacing:.04em;margin:0 0 4px}.sim-branches{gap:2px;margin:0 0 8px;padding:0;list-style:none;display:grid}.sim-branches li{font:600 13px/1.4 var(--mono);flex-wrap:wrap;gap:4px 10px;display:flex}.sim-branch{color:#6ee7b7;white-space:pre}.sim-note{color:#b9c6c2}.sim-console{font:13px/1.45 var(--mono);white-space:pre-wrap;color:#e8f2ee;background:#0b0e13;border-radius:3px;margin:0;padding:6px 8px;overflow-x:auto}.sim-feedback{min-height:1.4em;color:var(--red);margin:4px 0;font-weight:700}.sim-feedback:empty{display:none}.sim-choice{text-align:left}.sim-how{background:var(--panel-2);border-left:4px solid #34d59a;border-radius:3px;margin-top:8px;padding:8px 12px}.sim-how h3{margin:0 0 4px}.sponsor-logo{background:#fff;border-radius:4px;width:157px;height:auto;margin:4px 0 10px;padding:8px 10px;display:block}.photo-flash{z-index:60;pointer-events:none;background:#fff;animation:.4s ease-out forwards photo-flash;position:fixed;inset:0}@keyframes photo-flash{0%{opacity:.85}to{opacity:0}}.photo-preview{width:100%;height:auto;image-rendering:pixelated;border:3px solid var(--line);background:var(--ink);border-radius:4px;display:block}.photo-options{gap:4px;display:grid}@media (min-width:760px){.photo-options{grid-template-columns:1fr 1fr;gap:12px}}.advent-doors .chip{justify-content:center;min-width:68px}.chip.advent-open{cursor:pointer;box-shadow:inset 0 0 0 2px var(--gold);background:#5a2a2a}.chip.advent-today{outline:3px solid var(--gold);outline-offset:1px}.advent-options{gap:6px;margin:8px 0;display:grid}.advent-options .btn{text-align:left}.cloud-box{justify-items:start;gap:8px;display:grid}.cloud-box p{margin:0}.board-form{justify-items:start;gap:6px;width:100%;max-width:360px;display:grid}.board-form input[type=text]{width:100%}.board-form .check{cursor:pointer;align-items:center;gap:8px;display:flex}.board-form .check input{width:18px;height:18px;accent-color:var(--gold)}.board-form p[role=status]:empty{display:none}.board{gap:2px;max-height:44vh;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.board li{background:var(--panel-2);border-radius:4px;grid-template-columns:3ch 1fr auto;gap:10px;padding:4px 8px;display:grid}.board li.me{outline:2px solid var(--gold)}.board-rank{color:var(--gold);text-align:right;font-weight:700}.board-name{overflow-wrap:anywhere}.board-xp{font-variant-numeric:tabular-nums;color:var(--muted)}.board-you{border-top:2px solid var(--edge);margin-top:10px;padding-top:8px}#title-cloud a{color:var(--gold);font-weight:700}.goal-bar{border:3px solid var(--line);background:var(--panel-2);border-radius:4px;height:16px;margin:6px 0;overflow:hidden}.goal-bar span{background:var(--gold);height:100%;display:block}.goal-text{margin:0;font-weight:700}.tabs{gap:6px;margin-bottom:8px;display:flex}.btn-tab[aria-selected=true]{background:var(--gold);color:var(--line);box-shadow:inset 0 -3px 0 var(--gold-dark)}#run-district{font:16px var(--font);color:var(--cream);background:var(--ink);border:3px solid var(--edge);border-radius:4px;min-height:44px;margin-bottom:8px;padding:6px 8px}.toast.toast-icon{text-align:left;align-items:center;gap:8px;display:flex}.toast.toast-icon img{image-rendering:pixelated;border:2px solid var(--line);background:var(--panel-2);border-radius:4px;flex:none}.area-banner{z-index:8;pointer-events:none;opacity:0;border:3px solid var(--line);box-shadow:inset 0 0 0 2px var(--edge);background:#241b28e6;border-radius:6px;justify-items:center;gap:0;padding:6px 18px;display:grid;position:fixed;bottom:84px;left:50%;transform:translate(-50%)}.area-banner.show{opacity:1}body:not(.reduced-motion) .area-banner{transition:opacity .5s}.area-name{font:800 clamp(18px, 3vw, 26px) var(--font);color:var(--cream)}.area-sub{font:700 13px var(--font);color:var(--gold);letter-spacing:.06em;text-transform:uppercase}body.panel-open .area-banner,body.title-open .area-banner{display:none}body.touch .area-banner{bottom:240px}.aside{color:var(--muted);align-items:center;gap:8px;font-size:14px;display:flex}.aside img{image-rendering:pixelated;border:2px solid var(--line);border-radius:4px;flex:none}.daily{background:var(--panel-2);border-radius:4px;margin:8px 0 4px;padding:8px 10px}.daily h3{margin:0 0 4px}.daily p{margin:2px 0 6px}.news{gap:6px;margin:0;padding:0;list-style:none;display:grid}.news li{background:var(--panel-2);border-radius:4px;padding:8px 10px}.news a{color:var(--cream);font-weight:700;text-decoration:none}.news a:hover,.news a:focus-visible{color:var(--gold);text-decoration:underline}.news .news-meta{color:var(--muted);font-size:13px;display:block}#vignette{pointer-events:none;z-index:1;opacity:0;background:radial-gradient(#0000 52%,#0c0a1e8c 100%);position:fixed;inset:0}body[data-daylight=night] #vignette{opacity:1}body[data-daylight=dusk] #vignette{opacity:.45}body:not(.reduced-motion) #vignette{transition:opacity 2s}.xp-pop{z-index:12;pointer-events:none;font:800 18px var(--font);color:var(--gold);text-shadow:0 2px 0 var(--line);animation:1.5s ease-out forwards xp-pop;position:absolute;top:100%;left:24px}@keyframes xp-pop{0%{opacity:0;transform:translateY(14px)scale(.8)}20%{opacity:1;transform:translateY(0)scale(1.1)}to{opacity:0;transform:translateY(-18px)scale(1)}}.confetti{pointer-events:none;border-radius:inherit;position:absolute;inset:0;overflow:hidden}.confetti i{width:6px;height:9px;animation:1.6s ease-in forwards confetti-fall;position:absolute;top:-10px}@keyframes confetti-fall{to{transform:translate(var(--drift), 340px) rotate(var(--spin));opacity:0}}body:not(.reduced-motion) .reward .medal{animation:.7s cubic-bezier(.2,1.6,.4,1) both medal-pop}body:not(.reduced-motion) .reward-district .medal{animation-delay:.25s}@keyframes medal-pop{0%{opacity:0;transform:scale(.2)rotate(-30deg)}to{opacity:1;transform:scale(1)rotate(0)}}.sound-settings{background:var(--panel-2);border-radius:4px;justify-items:start;gap:4px;margin-bottom:8px;padding:8px 10px;display:grid}.sound-settings label{margin:0}.sound-settings .check{cursor:pointer;align-items:center;gap:8px;display:flex}.sound-settings .check input,.board-form .check input{flex:none}.sound-settings input[type=checkbox]{width:18px;height:18px;accent-color:var(--gold)}.sound-settings input[type=range]{width:min(260px,100%);accent-color:var(--gold)}.sound-settings p{margin:2px 0 0}.incident{border:3px solid var(--line);background:#1a1420;border-radius:4px;margin-bottom:10px;padding:8px 10px}.incident-title{font:800 13px var(--mono);color:var(--red);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:6px;margin:0 0 6px;display:flex}.incident-dot{background:var(--red);border-radius:50%;width:8px;height:8px}body:not(.reduced-motion) .incident-dot{animation:1s ease-in-out infinite pulse-dot}@keyframes pulse-dot{50%{opacity:.3}}.incident-services{gap:4px;margin:0;padding:0;list-style:none;display:grid}.svc{font:700 14px var(--mono);grid-template-columns:12px 1fr auto;align-items:center;gap:8px;display:grid}.svc .light{border:2px solid var(--line);background:var(--red);border-radius:2px;width:10px;height:10px}.svc-ok .light{background:var(--green)}.svc-now .light{background:var(--gold)}.svc-state{text-transform:uppercase;color:var(--red);font-size:12px}.svc-ok .svc-state{color:var(--green)}.svc-now .svc-state{color:var(--gold)}body.banner-shown .toast{top:max(calc(var(--hud-bottom,64px) + 8px), calc(var(--banner-bottom,0px) + 8px))}.toast{pointer-events:auto;cursor:pointer;align-items:center;gap:8px;display:flex}.toast[hidden]{display:none}.toast-text{min-width:0}.toast-close{min-width:44px;min-height:44px;color:var(--line);font:800 22px/1 var(--font);cursor:pointer;background:0 0;border:0;flex:none;margin:-10px -12px -10px 0;padding:0}.toast-close:focus-visible{outline:3px solid var(--line);outline-offset:-8px}body.compact .hud{padding:max(6px, env(safe-area-inset-top)) 8px 6px;gap:6px}body.compact .hud-stats{gap:2px 8px;padding:3px 8px;font-size:14px}body.compact .hud-next,body.compact .hud-run{font-size:12px}body.compact .hud-buttons{gap:4px}body.compact .hud-buttons button{min-height:40px;padding:4px 10px;font-size:14px}body.compact .toast{max-width:520px;left:8px;right:8px;top:calc(var(--hud-bottom,64px) + 6px);padding:4px 4px 4px 10px;font-size:14px;font-weight:700;line-height:1.3}body.compact .toast-text{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}body.compact .toast.toast-icon img{width:22px;height:22px}body.compact .toast-close{margin:-4px -4px -4px 0;font-size:20px}body.compact .prompt{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;max-width:calc(100vw - 32px);padding:4px 10px;font-size:13px;line-height:1.3;display:-webkit-box;overflow:hidden}body.compact .prompt:empty,body.compact .prompt[hidden]{display:none}body.compact.touch .prompt{max-width:calc(100vw - 132px)}body.compact .area-name{font-size:18px}body.compact .area-banner{padding:4px 12px}body.compact .toast.toast-icon strong{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-height:500px){body.touch .bike-btn,body.touch .emote-btn,body.touch .photo-btn{bottom:max(24px, env(safe-area-inset-bottom))}body.touch .bike-btn{right:calc(max(20px, env(safe-area-inset-right)) + 106px)}body.touch .emote-btn{right:calc(max(20px, env(safe-area-inset-right)) + 180px)}body.touch .photo-btn{right:calc(max(20px, env(safe-area-inset-right)) + 254px)}body:not(.has-bike).touch .emote-btn{right:calc(max(20px, env(safe-area-inset-right)) + 106px)}body:not(.has-bike).touch .photo-btn{right:calc(max(20px, env(safe-area-inset-right)) + 180px)}body.touch .emote-menu{right:calc(max(20px, env(safe-area-inset-right)) + 106px);bottom:80px}body.touch .prompt{bottom:84px}body.touch .area-banner{bottom:130px}}.hud-page{color:var(--red);font-variant-numeric:tabular-nums;font-size:14px;font-weight:800}.hud-page[hidden]{display:none}.pager-clock{font:800 15px var(--mono);color:var(--red);margin:0}.pager-bar span{background:var(--red)}body:not(.reduced-motion) .pager-bar span{transition:width .25s linear}.duel-option{text-align:left}.duel-option.right{outline:3px solid var(--green)}.duel-option.wrong{outline:3px solid var(--red)}.interview-answer{background:var(--panel-2);border-radius:4px;margin-top:8px;padding:8px 10px}.interview-answer h3{margin:0 0 4px}.did-you-know{color:var(--muted);margin-top:8px}.btn[hidden],button[hidden]{display:none!important}body.large-text .panel-head,body.large-text .panel-body,body.large-text .panel-actions,body.large-text .toast-text,body.large-text .prompt{zoom:1.2}body.large-text .hud-stats,body.large-text .hud-buttons{zoom:1.15}body.large-text.compact .hud-stats,body.large-text.compact .hud-buttons{zoom:1.1}body.pad :focus{outline:3px solid var(--gold);outline-offset:2px}.terminal{color:#6ee08a;border:3px solid var(--line);max-height:50vh;font:13px/1.45 var(--mono);white-space:pre-wrap;word-break:break-word;background:#0c1a10;border-radius:4px;margin:0 0 12px;padding:10px 12px;overflow:auto}.wing-list{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.wing-list li{align-items:center;gap:10px;display:flex}.wing-lock{border:2px solid var(--line);background:var(--gold);border-radius:2px;flex:none;width:12px;height:12px}.wing-name{flex:1;min-width:0}.wing-link{flex:none;min-height:36px;padding:4px 12px}.feedback-links{flex-wrap:wrap;gap:8px;margin:6px 0 12px;display:flex}body.compact #btn-feedback{display:none}.hud-explore{color:var(--line);background:var(--gold);border-radius:3px;padding:0 6px;font-size:13px;font-weight:800}.hud-explore[hidden]{display:none}.glitch-intro{align-items:flex-start;gap:14px;margin-bottom:8px;display:flex}.glitch-intro>div{flex:1;min-width:0}.glitch-portrait{width:96px;height:96px;image-rendering:pixelated;background:var(--panel-2);border:3px solid var(--line);border-radius:6px;flex:none}.glitch-portrait.rare{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold)}.glitch-portrait.silhouette{filter:brightness(0);opacity:.55}.glitch-options{gap:8px;margin-top:8px;display:grid}.glitch-option{text-align:left;white-space:normal;width:100%;min-height:48px;line-height:1.3}.glitch-choice{min-height:48px}.glitch-result{position:relative}.glitch-result.won:after{content:"";border:3px solid var(--line);background:#6ee08a;border-radius:50%;width:22px;height:22px;position:absolute;bottom:-4px;right:-4px}.glitch-result.lost .glitch-portrait{opacity:.45}.glitchdex{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px;margin:8px 0 0;padding:0;list-style:none;display:grid}.glitch-card{text-align:center;background:var(--panel-2);border:3px solid var(--line);border-radius:6px;justify-items:center;gap:4px;padding:8px 6px;display:grid}.glitch-card.rare{border-color:var(--gold)}.glitch-card .glitch-portrait{width:72px;height:72px;box-shadow:none;background:0 0;border:0}.glitch-districts{color:var(--muted)}body.compact .glitch-portrait{width:72px;height:72px}.hud-online{color:var(--blue);font-size:13px;font-weight:700}.hud-online[hidden]{display:none}.emote-menu .phrase{min-height:44px}.chat-btn{bottom:304px}body.touch #btn-chat,body.panel-open .chat-btn,body.title-open .chat-btn{display:none}#btn-chat{position:relative}.chat-dot{border:1px solid var(--line);vertical-align:1px;background:#8a8496;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.chat-online .chat-dot{background:#6ee08a}.chat-connecting .chat-dot{background:var(--gold)}@media (max-height:500px){body.touch .chat-btn{bottom:max(24px, env(safe-area-inset-bottom));right:calc(max(20px, env(safe-area-inset-right)) + 328px)}body:not(.has-bike).touch .chat-btn{right:calc(max(20px, env(safe-area-inset-right)) + 254px)}}.chat-badge{background:var(--red);color:#fff;text-align:center;border:2px solid var(--line);border-radius:10px;min-width:20px;height:20px;padding:0 5px;font-size:12px;font-weight:800;line-height:20px;position:absolute;top:-6px;right:-6px}.chat-badge[hidden]{display:none}.chat-drawer{right:12px;top:calc(var(--hud-bottom,64px) + 8px);z-index:25;background:var(--panel);border:4px solid var(--line);width:min(360px,100vw - 24px);box-shadow:inset 0 0 0 3px var(--edge), 0 8px 0 #00000059;border-radius:6px;flex-direction:column;display:flex;position:fixed;bottom:16px}.chat-drawer[hidden]{display:none}body:not(.reduced-motion) .chat-drawer{animation:.18s ease-out chat-in}@keyframes chat-in{0%{opacity:0;transform:translate(16px)}}.chat-head{border-bottom:3px solid var(--line);align-items:flex-start;gap:8px;padding:10px 12px 6px;display:flex}.chat-head>div{flex:1;min-width:0}.chat-head h2{margin:0;font-size:18px}.chat-rule{color:var(--muted);margin:2px 0 0}.chat-close{min-width:44px;min-height:44px;color:var(--cream);font:800 24px/1 var(--font);cursor:pointer;background:0 0;border:0;margin:-6px -6px 0 0}.chat-list{flex:1;align-content:start;gap:8px;margin:0;padding:8px 12px;list-style:none;display:grid;overflow-y:auto}.chat-line{word-break:break-word;gap:2px;display:grid}.chat-line.sys{background:var(--panel-2);border-left:3px solid var(--gold);border-radius:3px;padding:6px 8px}.chat-line.hidden-line{opacity:.5}.chat-meta{align-items:baseline;gap:8px;font-size:13px;display:flex}.chat-meta time{font-size:11px}.chat-text{font-size:15px;line-height:1.35}.chat-links{flex-wrap:wrap;gap:6px 12px;font-weight:700;display:flex}.chat-links a{color:var(--gold)}.chat-tools{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chat-tool{min-height:32px;color:var(--muted);border:2px solid var(--line);cursor:pointer;background:0 0;border-radius:4px;padding:2px 10px;font-size:12px}.chat-tool.admin{color:var(--gold)}.chat-tool[disabled]{opacity:.6;cursor:default}.chat-reports{color:var(--red);font-size:12px;font-weight:700}.chat-foot{border-top:3px solid var(--line);padding:8px 12px 0}.chat-form{gap:8px;display:flex}.chat-input{border:3px solid var(--line);background:var(--panel-2);min-width:0;min-height:44px;color:var(--cream);border-radius:4px;flex:1;padding:6px 10px;font-size:16px}.chat-send{min-height:44px}.chat-note{color:var(--muted);margin:4px 0 6px}.chat-status{min-height:1.2em;color:var(--gold);margin:4px 12px 10px}.chat-empty{padding:8px 0}body.compact .chat-drawer{border-radius:8px 8px 0 0;width:auto;height:min(62vh,520px);inset:auto 0 0}body.compact .chat-tool{min-height:40px;padding:4px 12px;font-size:13px}body:not(.reduced-motion).compact .chat-drawer{animation:.18s ease-out chat-up}@keyframes chat-up{0%{opacity:0;transform:translateY(24px)}}.update-bar{left:50%;top:calc(var(--hud-bottom,64px) + 8px);z-index:30;background:var(--panel);max-width:calc(100vw - 24px);color:var(--cream);border:3px solid var(--line);box-shadow:inset 0 0 0 2px var(--edge), 0 4px 0 #0000004d;border-radius:6px;align-items:center;gap:10px;padding:6px 8px 6px 14px;font-size:14px;font-weight:700;display:flex;position:fixed;transform:translate(-50%)}.update-bar .btn{min-height:36px;padding:4px 12px}
