html,body{color:#f1ece2;background:#0e0d0c;height:100%;margin:0;font-family:Segoe UI,system-ui,sans-serif;overflow:hidden}#app{position:fixed;inset:0}#boot{z-index:50;background:#0e0d0c;place-items:center;transition:opacity .5s;display:grid;position:fixed;inset:0}#boot.done{opacity:0;pointer-events:none}.boot-msg{letter-spacing:.14em;text-transform:uppercase;color:#f1ece2b3;text-align:center;white-space:pre-wrap;max-width:80vw;font-size:13px}#hud{pointer-events:none;text-shadow:0 1px 2px #000;font-size:13px;position:fixed;inset:0}#hud-top{flex-wrap:wrap;gap:14px;display:flex;position:absolute;top:8px;left:10px;right:10px}#hud-slice{color:#f2c58a;font-weight:600}#hud-mission{pointer-events:auto;align-items:center;gap:10px;display:flex;position:absolute;top:34px;left:10px}#hud-mission button{color:#111;text-transform:uppercase;cursor:pointer;background:#ffd23f;border:0;padding:5px 12px;font-weight:700}#hud-mission button:disabled{opacity:.45;cursor:default}#hud-objective{font-weight:600}#hud-notice{color:#ffb4a0;position:absolute;top:66px;left:10px}#hud-keys{opacity:.7;position:absolute;bottom:8px;left:10px}body.touch-ui #hud-keys{display:none}#touch{pointer-events:none;position:fixed;inset:0}#touch[hidden]{display:none}#panel-toggle{pointer-events:auto;position:absolute;top:8px;right:8px}#stick-zone{pointer-events:auto;touch-action:none;width:50vw;height:55vh;position:absolute;bottom:0;left:0}#stick-base{background:#ffffff1f;border:2px solid #ffffff59;border-radius:50%;width:112px;height:112px;position:fixed;top:-56px;left:-56px}#stick-knob{background:#ffffff80;border-radius:50%;width:48px;height:48px;position:absolute;top:32px;left:32px}#touch-actions{pointer-events:auto;flex-direction:column;gap:10px;display:flex;position:absolute;bottom:24px;right:16px}#touch-actions button{touch-action:none;background:#ffd23fd9;border:0;border-radius:10px;min-width:88px;min-height:52px;font-size:15px}#touch-actions button.held{background:#fff}body.hud-hidden #hud{display:none}:root{--ink:#0e0d0c;--paper:#f1ece2;--warn:#d6a04a;--obj:#ffd23f;--money:#7bd88f;--bad:#e0442e;--link:#9cc0ff;--asphalt:#0e0d0cc7;--asphalt2:#0e0d0ceb;--hair:#f1ece23d;--cond:"Barlow Condensed", "Arial Narrow", Impact, sans-serif;--body:"Barlow", "Segoe UI", system-ui, sans-serif;--cut:9px;--clip-l:polygon(0 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%)}#hud{font-family:var(--body)}#hud-conn{font:700 12px/1.4 var(--cond);letter-spacing:.12em;text-transform:uppercase}#hud-conn[data-state=freeRoam],#hud-conn[data-state=mission]{color:var(--money)}#hud-conn[data-state=error],#hud-conn[data-state=reconnecting]{color:var(--bad)}#hud-mission{flex-wrap:wrap;max-width:calc(100vw - 20px)}#hud-mission button{font-family:var(--cond);letter-spacing:.08em;clip-path:var(--clip-l)}#hud-objline{background:var(--asphalt);clip-path:var(--clip-l);align-items:center;gap:10px;max-width:min(560px,100vw - 30px);padding:5px 14px 6px;display:none}#hud-mission.has-objective #hud-objline{display:flex}#hud-objective{font:600 14px/1.25 var(--body)}#hud-guide{color:var(--guide,var(--obj));font:800 14px/1 var(--cond);letter-spacing:.06em;white-space:nowrap;align-items:center;gap:6px;display:inline-flex}#hud-guide[hidden]{display:none}#hud-guide-arrow,#hud-edge-arrow{text-align:center;transform-origin:50% 55%;width:1em;transition:transform 80ms linear;display:inline-block}#hud-guide-arrow.here{animation:1s ease-in-out infinite guide-pulse}@keyframes guide-pulse{50%{opacity:.35}}#hud-edge{color:var(--guide,var(--obj));font:800 13px/1 var(--cond);text-shadow:0 0 6px #000000e6,0 1px 2px #000;will-change:transform;flex-direction:column;align-items:center;gap:1px;display:flex;position:absolute;top:0;left:0}#hud-edge[hidden]{display:none}#hud-edge-arrow{font-size:22px}#hud-notice{text-align:center;background:var(--asphalt);color:#ffb4a0;max-width:min(520px,90vw);clip-path:var(--clip-l);padding:6px 14px;top:auto;bottom:34px;left:50%;transform:translate(-50%)}#hud-notice[hidden]{display:none}.ui-backdrop{z-index:40;background:#00000073;place-items:center;display:grid;position:fixed;inset:0}.ui-backdrop[hidden]{display:none}.modal{background:var(--asphalt2);border-top:3px solid var(--warn);width:min(380px,100vw - 32px);clip-path:var(--clip-l);color:var(--paper);padding:16px 18px 14px}.modal-title{font:800 20px/1.1 var(--cond);letter-spacing:.06em;text-transform:uppercase;color:var(--warn)}.modal-body{font:500 14px/1.35 var(--body);margin:8px 0 14px}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.ui-btn,.modal-actions button{font:700 13px/1 var(--cond);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--hair);color:var(--paper);cursor:pointer;background:#f1ece214;min-height:30px;padding:7px 12px}.ui-btn:hover,.modal-actions button:hover{background:#f1ece22e}.ui-btn.primary,.modal-ok{background:var(--obj);color:#111;border-color:var(--obj)}.ui-btn.danger,.modal-ok.danger{background:var(--bad);color:#fff;border-color:var(--bad)}.ui-btn:disabled{opacity:.4;cursor:default}.ui-input{font:500 13px/1 var(--body);color:var(--paper);border:1px solid var(--hair);background:#0006;min-width:0;padding:6px 8px}@media (max-width:640px),(max-height:480px){#hud-objective{font-size:12px}#hud-objline{padding:4px 10px}#hud-slice{display:none}}#hud-mission .hud-small{background:var(--asphalt);color:var(--paper);border:1px solid var(--hair);padding:5px 9px;font-weight:700}#hud-mission .hud-small kbd{font:700 10px/1 var(--cond);border:1px solid var(--hair);opacity:.8;margin-left:3px;padding:1px 4px}body.touch-ui #hud-mission .hud-small kbd{display:none}.ui-panel{z-index:30;background:var(--asphalt2);border-top:3px solid var(--obj);width:min(380px,100vw - 24px);max-height:calc(100vh - 120px);clip-path:var(--clip-l);color:var(--paper);font:500 13px/1.3 var(--body);pointer-events:auto;touch-action:pan-y;-webkit-user-select:none;user-select:none;flex-direction:column;display:flex;position:fixed;top:64px;right:12px}.ui-panel[hidden]{display:none}.ui-head{border-bottom:1px solid var(--hair);flex:none;align-items:center;gap:6px;padding:8px 10px;display:flex}.ui-head .ui-btn.active{background:var(--obj);color:#111;border-color:var(--obj)}.ui-title{font:800 16px/1 var(--cond);letter-spacing:.08em;text-transform:uppercase;color:var(--obj)}.ui-wallet{font:700 13px/1 var(--cond);letter-spacing:.06em;color:var(--money);white-space:nowrap;margin-left:auto}.ui-close{min-height:26px!important;padding:4px 8px!important}.ui-body{overscroll-behavior:contain;padding:6px 10px 12px;overflow-y:auto}.ui-body h4{font:700 12px/1 var(--cond);letter-spacing:.14em;text-transform:uppercase;color:var(--warn);margin:10px 0 4px}.ui-row{flex-wrap:wrap;align-items:center;gap:6px;padding:3px 0;display:flex}.ui-row.end{justify-content:flex-end;margin-top:10px}.ui-row.invite{background:#ffd23f14;padding:4px 6px}.ui-row.item.equipped{background:#7bd88f14}.ui-row .grow,.ui-row .ui-input.grow{text-overflow:ellipsis;white-space:nowrap;flex:120px;overflow:hidden}.ui-input.tag{text-transform:uppercase;flex:none;width:64px}.ui-panel .ui-input{-webkit-user-select:text;user-select:text}.ui-status{margin:6px 0;font-weight:600}.ui-status.warn{color:var(--warn)}.ui-muted{color:#f1ece299;font-size:12px}.badge{font:700 11px/1 var(--cond);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--hair);padding:3px 6px}.badge.on{color:var(--money);border-color:var(--money)}.dot{background:#666;border-radius:50%;flex:none;width:8px;height:8px}.dot.on{background:var(--money);box-shadow:0 0 6px var(--money)}.swatch{border:1px solid var(--hair);background:#444;flex:none;width:18px;height:18px}#ui-toasts{z-index:35;pointer-events:none;flex-direction:column;gap:6px;width:min(440px,100vw - 24px);display:flex;position:fixed;top:64px;left:50%;transform:translate(-50%)}.toast{background:var(--asphalt2);border-left:3px solid var(--obj);color:var(--paper);font:600 13px/1.3 var(--body);pointer-events:auto;clip-path:var(--clip-l);align-items:center;gap:8px;padding:8px 10px;display:flex}#ui-tags{pointer-events:none;position:fixed;inset:0;overflow:hidden}.name-tag{color:var(--paper);white-space:nowrap;font:700 12px/1.2 var(--cond);letter-spacing:.06em;text-shadow:0 1px 2px #000;will-change:transform, opacity;background:#0e0d0c9e;padding:2px 7px;position:absolute;top:0;left:0}@media (max-width:640px),(max-height:500px){.ui-panel{clip-path:none;width:auto;max-height:62vh;inset:auto 0 0}#ui-toasts{top:38px}#hud-mission{gap:6px;top:28px}#hud-mission button{padding:4px 8px;font-size:12px}#hud-keys{display:none}}@media (min-width:641px) and (max-height:500px){.ui-panel{width:min(360px,48vw);max-height:none;inset:8px 8px 8px auto}}.badge.locked{white-space:normal;max-width:220px}.toast.toast-system{border-left-color:var(--obj)}.toast.toast-social{background:#1e1e22f0;border-left-color:#9aa0a6}.toast-player{quotes:"“" "”";color:#d8d2c4;overflow-wrap:anywhere;font-style:italic;font-weight:500}body:not(.debug) .hud-debug{display:none!important}#hud-keys[hidden]{display:none}#hud-objline.has-objective,#hud-mission.has-objective #hud-objline{display:flex}#hud-objline{border-left:3px solid var(--obj);background:#0e0d0cdb;box-shadow:0 2px 10px #00000073}#hud-objline .obj-label{color:var(--obj);font:800 10px/1 var(--cond);letter-spacing:.16em;text-transform:uppercase}#hud-objective{color:var(--paper);font:700 14px/1.3 var(--body);text-shadow:0 1px 2px #000}#hud-launch{background:var(--obj);clip-path:var(--clip-l);display:inline-flex}#hud-launch>button{clip-path:none!important;background:0 0!important}#hud-launch>button+button{border-left:1px solid #00000059!important}#hud-mission button.hud-small{color:var(--paper);border:1px solid var(--hair);background:#0e0d0cc7}#hud-session{z-index:30;border-left:3px solid var(--warn);color:var(--paper);font:700 13px/1.3 var(--body);pointer-events:auto;background:#0e0d0ce6;align-items:center;gap:10px;padding:6px 12px;display:flex;position:absolute;top:8px;left:50%;transform:translate(-50%)}#hud-session[hidden]{display:none}#hud-session button{background:var(--obj);color:#111;font:800 12px/1 var(--cond);text-transform:uppercase;cursor:pointer;border:0;padding:4px 10px}.hud-banner{color:var(--paper);text-align:center;pointer-events:none;z-index:25;background:#0e0d0ce0;flex-direction:column;align-items:center;gap:4px;padding:14px 34px;display:flex;position:absolute;top:28%;left:50%;transform:translate(-50%)}.hud-banner[hidden]{display:none}.hud-banner small{font:800 11px/1 var(--cond);letter-spacing:.2em;text-transform:uppercase;color:var(--warn)}.hud-banner strong{font:900 34px/1 var(--cond);letter-spacing:.04em;text-transform:uppercase}.hud-banner span{font:800 26px/1 var(--cond);color:var(--money)}.hud-banner.b-fail strong{color:var(--bad)}#hud-speed{color:var(--paper);font:900 26px/1 var(--cond);letter-spacing:.04em;font-variant-numeric:tabular-nums;background:#0e0d0cc7;padding:6px 12px;position:absolute;bottom:18px;right:18px}#hud-prompt{color:var(--paper);font:800 14px/1 var(--cond);letter-spacing:.08em;text-transform:uppercase;border-left:3px solid var(--obj);background:#0e0d0cd1;padding:6px 14px;position:absolute;bottom:22%;left:50%;transform:translate(-50%)}#hud-speed[hidden],#hud-prompt[hidden]{display:none}#hud-top{top:calc(8px + env(safe-area-inset-top));left:calc(10px + env(safe-area-inset-left));right:calc(10px + env(safe-area-inset-right))}#hud-mission{top:calc(34px + env(safe-area-inset-top));left:calc(10px + env(safe-area-inset-left));max-width:calc(100vw - 20px - env(safe-area-inset-left) - env(safe-area-inset-right))}#hud-speed{right:calc(18px + env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom))}#hud-objline{max-width:min(560px, calc(100vw - 30px - env(safe-area-inset-left) - env(safe-area-inset-right)));min-width:0}#hud-objective{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (max-width:640px),(max-height:500px){#hud-mission{top:calc(28px + env(safe-area-inset-top))}#hud-objline{max-width:min(420px, calc(100vw - 30px - env(safe-area-inset-left) - env(safe-area-inset-right)))}}body.touch-ui #hud-mission button,body.mobile-touch #hud-mission button{min-width:44px;min-height:44px}body.touch-ui #hud-speed,body.mobile-touch #hud-speed{left:50%;right:auto;bottom:calc(10px + env(safe-area-inset-bottom));transform:translate(-50%)}body.mobile-touch #treta-touch,body.touch-ui #treta-touch{right:calc(12px + env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom))}#treta-touch[hidden]{display:none}body:has(#treta-touch:not([hidden])) #touch-actions{right:calc(112px + env(safe-area-inset-right))}body.indoors #hud-launch{display:none}#hud-launch>.launch-secondary{color:var(--paper)!important;background:#1d1b19!important}#hud-launch>button:disabled{opacity:1;color:#11111180}#hud-launch>.launch-secondary:disabled{color:#f1ece273!important}.ui-row.item{flex-wrap:nowrap}.ui-row.item>.grow{flex:1 1 0;min-width:0}.ui-row.item>button,.ui-row.item>.badge{white-space:nowrap;flex:none}.ui-row.item.locked{opacity:1;filter:none}.ui-row.item.locked>.swatch,.ui-row.item.locked>.grow{opacity:.6;filter:grayscale(.8)}.badge.locked{color:var(--paper);background:#f1ece21a}.badge.locked:before{content:"bloqueado · "}.badge.warn{color:#f2c77e;border-color:var(--warn);background:#d6a04a24}.ui-row.item.no-money>.ui-muted{color:#f2c77e}.ui-row.item.pending{box-shadow:inset 3px 0 0 var(--warn)}.ui-row.item.pending button.pending{color:#f2c77e;border:1px solid var(--warn);background:#d6a04a24}#race-root #race-panel{top:calc(40px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));background:var(--asphalt2);border-left:3px solid var(--obj);clip-path:var(--clip-l);text-shadow:none;font:600 14px/1.3 var(--cond);padding:6px 12px 8px}#race-root #race-panel .race-timer{font-size:24px}#race-root #race-panel .race-pos{color:var(--obj);font-size:20px}#race-root #race-toast{background:var(--asphalt2);text-shadow:none;padding:4px 14px;left:50%;right:auto;transform:translate(-50%)}#race-root #race-board{background:var(--asphalt2);border-top-color:var(--obj);clip-path:var(--clip-l);font-family:var(--body)}#race-root #race-board h2{font:800 20px/1.1 var(--cond);letter-spacing:.08em}body.touch-ui #treta-vitals,body.mobile-touch #treta-vitals{left:50%;right:auto;bottom:calc(10px + env(safe-area-inset-bottom));clip-path:none;transform:translate(-50%)}
