@font-face{font-family:Space Grotesk;src:url(/fonts/SpaceGrotesk-latin.woff2)format("woff2");font-weight:300 700;font-style:normal;font-display:swap;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}@font-face{font-family:Space Grotesk;src:url(/fonts/SpaceGrotesk-latin-ext.woff2)format("woff2");font-weight:300 700;font-style:normal;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,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}:root{--font:"Space Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, SFMono-Regular, Consolas, monospace;--cyan:#7fe9ff;--ink:#e9f9ff;--muted:#a3b2c1;--amber:#ffd27f;--red:#ff4d6d;--glass:#0a0818b8;--line:#7fe9ff61;--sa-t:env(safe-area-inset-top,0px);--sa-r:env(safe-area-inset-right,0px);--sa-b:env(safe-area-inset-bottom,0px);--sa-l:env(safe-area-inset-left,0px);--edge:clamp(10px, 1.4vmin + 6px, 28px);--top:calc(var(--sa-t) + var(--edge));--right:calc(var(--sa-r) + var(--edge));--bottom:calc(var(--sa-b) + var(--edge));--left:calc(var(--sa-l) + var(--edge));--tap:clamp(44px, 1.2vw + 20px, 56px);--fs-2xs:clamp(10px, .18vw + 9px, 12.5px);--fs-xs:clamp(11px, .22vw + 9.5px, 14px);--fs-sm:clamp(12.5px, .28vw + 10.5px, 16px);--fs-md:clamp(14px, .3vw + 12px, 17.5px);--fs-lg:clamp(17px, .55vw + 14px, 24px);--minimap:clamp(96px, 11vmin + 40px, 176px);--joy:clamp(108px, 20vmin + 20px, 150px);--touch-btn:clamp(56px, 12vmin + 10px, 76px)}@media (height<=500px){:root{--edge:8px;--minimap:88px}}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;font-family:var(--font);color:var(--ink);touch-action:none;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:#000;overflow:hidden}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;height:100dvh}button{font-family:inherit}kbd{font-family:var(--font)}[hidden]{display:none!important}#webgl{touch-action:none;outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.round-button{width:var(--tap);height:var(--tap);padding:calc(var(--tap) * .22);border:1px solid var(--line);background:var(--glass);color:var(--cyan);cursor:pointer;-webkit-backdrop-filter:blur(6px);border-radius:50%;place-items:center;display:grid}.round-button svg{width:100%;height:100%;display:block}.round-button:hover{border-color:var(--cyan)}.mute-button[aria-pressed=true]{color:#8a8fa3}.hud-top-left{top:var(--top);left:var(--left);max-width:calc(100% - var(--left) - var(--right) - var(--minimap) - 16px);pointer-events:none;flex-direction:column;align-items:flex-start;gap:6px;display:flex;position:fixed}.hud-status:empty{display:none}.hud-status{max-width:100%;color:var(--cyan);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 3px #000c;background:#0806148c;border-radius:999px;padding:6px 12px;font-weight:500;overflow:hidden}@media (width<=600px),(height<=500px){.hud-status-title{display:none}}.hud-hint{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.08em;text-shadow:0 1px 3px #000000e6;padding-left:12px}.hud-hint kbd{border:1px solid var(--line);color:var(--cyan);border-radius:4px;padding:0 5px;font-weight:600}body:not(.input-keyboard) .hud-hint{display:none}.fps{color:#9dff9d;font:12px var(--mono);background:#0009;border-radius:6px;padding:3px 8px}.hud-top-right{top:var(--top);right:var(--right);flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed}.hud-buttons{gap:8px;display:flex}.minimap{width:var(--minimap);height:var(--minimap);pointer-events:none;border:1px solid #7fe9ff4d;border-radius:50%;display:block}@media (height<=500px){.hud-top-right{flex-direction:row-reverse;align-items:flex-start}.hud-buttons{flex-direction:column}}.labels{pointer-events:none;position:fixed;inset:0;overflow:hidden}.label{text-align:center;white-space:nowrap;color:var(--ink);text-shadow:0 1px 4px #000000f2,0 0 12px #0009;will-change:transform, opacity;transition:color .2s;position:absolute;top:0;left:0}.label-title{font-size:var(--fs-sm);letter-spacing:.04em;font-weight:600}.label-sub{font-size:var(--fs-2xs);letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);opacity:.9}.label-sub:empty{display:none}.label.is-intro .label-title{letter-spacing:.01em;font-size:clamp(17px,.9vw + 12px,28px)}.label.is-hero .label-title{font-size:var(--fs-md);color:#d9c2ff}.label.is-area .label-title{font-size:var(--fs-xs);opacity:.85}.label.is-active .label-title{color:#f1f8fb;text-shadow:0 0 8px #34c6e48c,0 1px 4px #000000e6}.label.is-next .label-title:before{content:"";vertical-align:.12em;background:var(--amber);width:.5em;height:.5em;box-shadow:0 0 8px var(--amber);border-radius:50%;margin-right:.4em;animation:1.9s ease-in-out infinite next-pulse;display:inline-block}@keyframes next-pulse{50%{opacity:.35;transform:scale(.75)}}.prompt{left:50%;bottom:calc(var(--bottom) + 36px);max-width:calc(100% - var(--left) - var(--right));min-height:var(--tap);color:var(--ink);background:var(--glass);font-size:var(--fs-sm);letter-spacing:.03em;white-space:nowrap;text-overflow:ellipsis;opacity:0;pointer-events:none;cursor:pointer;-webkit-backdrop-filter:blur(6px);border:1px solid #7fe9ff73;border-radius:999px;padding:10px 18px;transition:opacity .2s,transform .2s,border-color .2s;position:fixed;overflow:hidden;transform:translate(-50%,10px)}.prompt.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%)}.prompt:hover,.prompt:focus-visible{border-color:#7fe9ffe6;outline:none}.prompt kbd{min-width:22px;font-size:var(--fs-xs);color:var(--cyan);text-align:center;border:1px solid #7fe9ffb3;border-radius:4px;margin-right:6px;padding:1px 6px;font-weight:600;display:inline-block}body.input-touch .prompt,.touch-controls{display:none}body.input-touch.world-ready .touch-controls{display:block}.joystick{left:calc(var(--left) - 12px);bottom:calc(var(--bottom) - 12px);width:calc(var(--joy) + 24px);height:calc(var(--joy) + 24px);touch-action:none;z-index:10;place-items:center;display:grid;position:fixed}.joystick-base{width:var(--joy);height:var(--joy);-webkit-backdrop-filter:blur(3px);opacity:.75;background:radial-gradient(circle,#7fe9ff14 0 40%,#0a081859 70%);border:1.5px solid #7fe9ff66;border-radius:50%;transition:opacity .2s;position:relative}.joystick.is-active .joystick-base{opacity:1}.joystick-knob{background:radial-gradient(circle at 35% 30%,#7fe9ff80,#14284699);border:1.5px solid #7fe9ffcc;border-radius:50%;width:42%;height:42%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 14px #00d5ff59}.touch-buttons{right:var(--right);bottom:var(--bottom);z-index:10;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed}.touch-row{align-items:flex-end;gap:10px;display:flex}.touch-btn{width:var(--touch-btn);height:var(--touch-btn);color:var(--ink);font-size:var(--fs-2xs);letter-spacing:.1em;text-transform:uppercase;touch-action:none;-webkit-backdrop-filter:blur(4px);background:#0a081880;border:1.5px solid #7fe9ff73;border-radius:50%;place-items:center;font-weight:600;transition:transform .1s,background .1s;display:grid}.touch-btn:active,.touch-btn.is-pressed{background:#00d5ff38;transform:scale(.93)}.touch-brake{width:calc(var(--touch-btn) * 1.2);height:calc(var(--touch-btn) * 1.2);border-color:#ff4d6d99}.touch-brake.is-pressed{background:#ff4d6d4d}.touch-open{width:auto;max-width:min(60vw,280px);height:auto;min-height:var(--tap);border-color:var(--cyan);background:linear-gradient(135deg,#00b8e68c,#7a3cff8c);border-radius:999px;flex-direction:column;align-items:center;padding:8px 18px;line-height:1.2;animation:.25s ease-out open-in;display:flex;box-shadow:0 0 18px #00d5ff59}.touch-open-label{font-size:var(--fs-xs)}.touch-open-name{max-width:100%;font-size:var(--fs-2xs);letter-spacing:.04em;text-transform:none;white-space:nowrap;text-overflow:ellipsis;opacity:.9;font-weight:500;overflow:hidden}@keyframes open-in{0%{opacity:0;transform:translateY(8px)}}.controls-card{z-index:15;width:min(calc(100% - var(--left) - var(--right)), 400px);height:fit-content;max-height:calc(100% - var(--top) - var(--bottom));overscroll-behavior:contain;touch-action:pan-y;-webkit-backdrop-filter:blur(14px);font-size:var(--fs-sm);background:linear-gradient(160deg,#100e26eb,#080814f0);border:1px solid #7fe9ff4d;border-radius:18px;margin:auto;padding:18px 20px 20px;position:fixed;inset:0;overflow-y:auto;box-shadow:0 24px 60px #0000008c}.controls-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.controls-header h2{color:#fff;font-size:var(--fs-lg);font-weight:650}.controls-close{width:var(--tap);height:var(--tap);color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:50%;margin:-8px -10px -8px 0;font-size:26px;line-height:1}.controls-close:hover{background:#00d5ff1f}.controls-list{grid-template-columns:auto 1fr;align-items:center;gap:9px 14px;display:grid}.controls-list kbd{color:var(--cyan);font-size:var(--fs-xs);white-space:nowrap;border:1px solid #7fe9ff80;border-radius:7px;padding:3px 9px;font-weight:600;display:inline-block}.controls-list dd{color:#d7e1ea}.controls-tip{color:var(--muted);font-size:var(--fs-xs);margin-top:14px;line-height:1.5}.quality-button{width:100%;min-height:var(--tap);color:var(--cyan);border:1px solid var(--line);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:#00d5ff0f;border-radius:12px;margin-top:14px;padding:8px 14px;font-weight:600}.quality-button:hover{border-color:var(--cyan)}@media (height<=500px) and (width>=560px){.controls-card{width:min(calc(100% - 2 * (var(--touch-btn) * 3.1 + 40px)), 560px);padding:12px 18px 14px}.controls-list{grid-template-columns:auto 1fr auto 1fr;gap:7px 12px}.controls-tip{display:none}.quality-button{margin-top:10px}}.rotate-hint{display:none}@media (orientation:portrait) and (width<=600px) and (pointer:coarse){.rotate-hint:not([hidden]){left:var(--left);right:var(--right);top:calc(var(--top) + (var(--tap) + 8px) * var(--btn-rows) + var(--minimap) + 54px);z-index:10;width:fit-content;max-width:calc(100% - var(--left) - var(--right));border:1px solid var(--line);background:var(--glass);color:var(--ink);font-size:var(--fs-xs);-webkit-backdrop-filter:blur(6px);border-radius:999px;align-items:center;gap:10px;margin:0 auto;padding:4px 4px 4px 14px;display:flex;position:fixed}}.rotate-hint svg{width:20px;height:20px;color:var(--cyan);flex:none}.rotate-hint-close{width:var(--tap);height:var(--tap);color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;font-size:22px}.resume-overlay{z-index:90;padding:var(--top) var(--right) var(--bottom) var(--left);color:var(--ink);text-align:center;cursor:pointer;background:#05040ce0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:fixed;inset:0}.resume-title{color:#fff;font-size:var(--fs-lg);letter-spacing:.06em;background:linear-gradient(135deg,#00b8e6,#7a3cff);border-radius:999px;padding:14px 30px;font-weight:700}.resume-sub{max-width:34ch;color:var(--muted);font-size:var(--fs-sm)}.hud-top-left,.hud-top-right,.labels,.prompt{z-index:10}.hud-top-left,.hud-top-right,.minimap,#help-button,.labels,.touch-controls,.rotate-hint{transition:opacity .3s}body.panel-open .hud-top-left,body.panel-open .hud-top-right,body.panel-open .labels,body.panel-open .prompt,body.panel-open .touch-controls,body.panel-open .rotate-hint,body.card-open .rotate-hint,body.cinematic .hud-top-left,body.cinematic .minimap,body.cinematic #help-button,body.cinematic #map-button,body.cinematic #simple-button,body.cinematic .labels,body.cinematic .prompt,body.cinematic .touch-controls,body.cinematic .rotate-hint{opacity:0!important;pointer-events:none!important}.simple-button{text-decoration:none}@media (width<=600px){.simple-button{display:none}}.noscript{z-index:200;color:#fff;text-align:center;background:#0c0b1d;border-radius:12px;padding:14px 18px;position:fixed;inset:auto 16px 16px}.noscript a{color:#7fe9ff}body:not(.world-ready) .labels{visibility:hidden}.panel-root{z-index:20;padding:var(--top) var(--right) var(--bottom) var(--left);justify-content:flex-end;align-items:center;display:flex;position:fixed;inset:0}.panel-backdrop{background:linear-gradient(270deg,#04030c99,#04030c26 70%);position:absolute;inset:0}.panel{color:#dfe9f2;-webkit-backdrop-filter:blur(16px);width:clamp(340px,42vw,560px);max-width:100%;max-height:100%;font-size:var(--fs-md);-webkit-user-select:text;user-select:text;background:linear-gradient(160deg,#100e26eb,#080814f0);border:1px solid #7fe9ff47;border-radius:18px;outline:none;flex-direction:column;line-height:1.6;display:flex;position:relative;overflow:hidden;box-shadow:0 0 0 1px #b18cff14,0 30px 80px #0009,0 0 60px #00d5ff14}.panel:before{content:"";background:linear-gradient(90deg,#0000,#00d5ff,#8a4dff,#0000);height:2px;position:absolute;top:0;left:0;right:0}.panel-grab{display:none}.panel-header{padding:22px calc(var(--tap) + 20px) 14px 24px;border-bottom:1px solid #7fe9ff1f;flex:none;position:relative}.panel-eyebrow{color:var(--cyan);font-size:var(--fs-2xs);letter-spacing:.18em;text-transform:uppercase;margin-bottom:4px}.panel-title{color:#fff;font-size:clamp(20px,.8vw + 15px,30px);font-weight:650;line-height:1.25}.panel-subtitle{color:#c0ccd8;font-size:var(--fs-sm);margin-top:6px}.panel-close{width:var(--tap);height:var(--tap);color:var(--ink);cursor:pointer;background:#ffffff0a;border:1px solid #7fe9ff59;border-radius:50%;font-size:24px;line-height:1;position:absolute;top:12px;right:12px}.panel-close:hover,.panel-close:focus-visible{border-color:var(--cyan);background:#00d5ff1f;outline:none}.panel-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:#7fe9ff66 transparent;padding:18px 24px 24px;overflow-y:auto}.panel-body>*+*{margin-top:18px}.panel-section h3{color:#cfaeff;font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:8px;font-weight:600;display:flex}.panel-dot{border-radius:50%;width:9px;height:9px;box-shadow:0 0 8px}.panel-lead{font-size:var(--fs-lg);color:#fff;line-height:1.45}.panel-prose p+p{margin-top:10px}.panel-hint{color:var(--muted);font-size:var(--fs-sm)}.panel-dates{color:#d9c2ff;font-size:var(--fs-sm);background:#8a4dff29;border-radius:999px;padding:3px 10px;display:inline-block}.panel-bullets{padding-left:0;list-style:none}.panel-bullets li{padding-left:18px;position:relative}.panel-bullets li+li{margin-top:6px}.panel-bullets li:before{content:"";background:#00d5ff;border-radius:50%;width:6px;height:6px;position:absolute;top:.65em;left:2px;box-shadow:0 0 6px #00d5ff}.panel-chips{--chip:#7fe9ff;flex-wrap:wrap;gap:6px;list-style:none;display:flex}.panel-chips li{border:1px solid color-mix(in srgb, var(--chip) 55%, transparent);background:color-mix(in srgb, var(--chip) 12%, transparent);color:#f2f6fa;font-size:var(--fs-sm);border-radius:999px;padding:3px 10px}.panel-timeline{list-style:none}.panel-timeline li{border-left:2px solid #7fe9ff59;flex-direction:column;padding:8px 0 8px 14px;display:flex}.panel-timeline strong{color:#fff}.panel-meta{color:var(--muted);font-size:var(--fs-sm)}.panel-callout{background:#8b1e3f2e;border:1px solid #ff6b8159;border-radius:12px;padding:12px 14px}.panel-callout strong{color:#ffa8b8;font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase}.panel-controls{grid-template-columns:auto 1fr;align-items:center;gap:8px 14px;display:grid}.panel-controls kbd{color:var(--cyan);font-size:var(--fs-xs);white-space:nowrap;border:1px solid #7fe9ff80;border-radius:6px;padding:2px 8px;font-weight:600;display:inline-block}.panel-actions{flex-wrap:wrap;gap:10px;display:flex}.panel-btn{min-height:var(--tap);color:var(--ink);background:#00d5ff0f;border:1px solid #7fe9ff73;border-radius:12px;flex-direction:column;justify-content:center;padding:9px 16px;text-decoration:none;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.panel-btn:hover,.panel-btn:focus-visible{border-color:var(--cyan);background:#00d5ff29;outline:none;transform:translateY(-1px)}.panel-btn.is-primary{color:#fff;background:linear-gradient(135deg,#00a6d1,#7036f0);border-color:#0000;font-weight:600}.panel-btn.is-primary:hover,.panel-btn.is-primary:focus-visible{box-shadow:0 0 0 2px #7fe9ff99,0 6px 24px #00d5ff40}.panel-btn-label{font-weight:600}.panel-btn-sub{font-size:var(--fs-xs);opacity:.85;overflow-wrap:anywhere}.panel-video{aspect-ratio:16/9;object-fit:contain;background:#000;border:1px solid #7fe9ff40;border-radius:12px;width:100%;height:auto;max-height:50dvh;display:block}.panel-video-slot:empty{display:none}@media (height<=500px) and (width>=601px){.panel-root{padding:calc(var(--sa-t) + 8px) calc(var(--sa-r) + 8px) calc(var(--sa-b) + 8px) var(--left);align-items:stretch}.panel{border-radius:14px;width:clamp(320px,50vw,520px);font-size:14px}.panel-header{padding:12px calc(var(--tap) + 16px) 10px 18px}.panel-close{top:6px;right:6px}.panel-title{font-size:19px}.panel-body{padding:12px 18px 16px}.panel-video{max-height:52dvh}}@media (width<=600px){.panel-root{padding:calc(var(--sa-t) + 12px) 0 0;justify-content:stretch;align-items:flex-end}.panel-backdrop{background:#0202088c}.panel{border-bottom:0;border-radius:20px 20px 0 0;width:100%;max-height:85dvh;font-size:15px}.panel-grab{background:#e9f9ff59;border-radius:999px;width:40px;height:5px;margin:-10px auto 10px;display:block}.panel-header{padding:16px calc(var(--tap) + 16px) 12px calc(var(--sa-l) + 18px);touch-action:none;cursor:grab}.panel-close{top:10px;right:calc(var(--sa-r) + 10px)}.panel-body{padding:14px calc(var(--sa-r) + 18px) calc(var(--sa-b) + 22px) calc(var(--sa-l) + 18px)}.panel-actions{flex-direction:column}.panel-btn{width:100%}}.cine-bars>div{z-index:11;pointer-events:none;background:#000;height:9dvh;transition:transform .8s;position:fixed;left:0;right:0;transform:scaleY(0)}.cine-bars>div:first-child{transform-origin:top;top:0}.cine-bars>div:last-child{transform-origin:bottom;bottom:0}body.cinematic .cine-bars>div{transform:scaleY(1)}.skip-intro{right:var(--right);bottom:calc(max(9dvh, var(--sa-b)) + 12px);z-index:101;min-height:var(--tap);background:var(--glass);color:var(--ink);font-size:var(--fs-sm);letter-spacing:.06em;cursor:pointer;-webkit-backdrop-filter:blur(6px);border:1px solid #7fe9ff73;border-radius:999px;padding:8px 16px;position:fixed}.skip-intro kbd{color:var(--cyan);font-size:var(--fs-2xs);border:1px solid #7fe9ff99;border-radius:4px;margin-left:6px;padding:0 5px;font-weight:600}body:not(.input-keyboard) .skip-intro kbd{display:none}.skip-intro:hover,.skip-intro:focus-visible{border-color:var(--cyan);outline:none}.hud-top-right{z-index:12}.loader{z-index:100;padding:calc(var(--sa-t) + 16px) calc(var(--sa-r) + 16px) calc(var(--sa-b) + 16px) calc(var(--sa-l) + 16px);color:#dfe9f2;touch-action:pan-y;background:radial-gradient(at 30% 20%,#7a3cff2e,#0000 55%),radial-gradient(at 75% 80%,#00d5ff1f,#0000 55%),#05040c;grid-template-columns:minmax(0,clamp(440px,24vw,640px));place-content:center;display:grid;position:fixed;inset:0;overflow:hidden auto}.loader-grid{pointer-events:none;background-image:linear-gradient(#7fe9ff0d 1px,#0000 1px),linear-gradient(90deg,#7fe9ff0d 1px,#0000 1px);background-size:48px 48px;position:fixed;inset:-50%;transform:perspective(600px)rotateX(55deg)translateY(10%);-webkit-mask-image:radial-gradient(#000 30%,#0000 70%);mask-image:radial-gradient(#000 30%,#0000 70%)}.loader-card{-webkit-backdrop-filter:blur(14px);text-align:center;background:linear-gradient(160deg,#12102ac7,#080814d9);border:1px solid #7fe9ff40;border-radius:20px;padding:clamp(22px,3vmin + 10px,40px) clamp(18px,3vmin + 8px,36px) clamp(18px,2vmin + 10px,30px);position:relative;box-shadow:0 30px 80px #0009,0 0 80px #00d5ff12}.loader-card:before{content:"";background:linear-gradient(90deg,#0000,#00d5ff,#8a4dff,#0000);height:2px;position:absolute;top:0;left:10%;right:10%}.loader-eyebrow{color:var(--cyan);font-size:var(--fs-2xs);letter-spacing:.24em;text-transform:uppercase}.loader-name{color:#fff;letter-spacing:.01em;margin-top:10px;font-size:clamp(26px,1.4vw + 20px,48px);font-weight:700;line-height:1.15}.loader-tagline{color:#c0ccd8;font-size:var(--fs-md);margin-top:6px}.loader-bar{background:#ffffff14;border-radius:999px;height:6px;margin-top:26px;overflow:hidden}.loader-fill{transform-origin:0;background:linear-gradient(90deg,#00d5ff,#8a4dff);height:100%;transform:scaleX(0);box-shadow:0 0 12px #00d5ff99}.loader-meta{font-size:var(--fs-sm);justify-content:space-between;gap:12px;margin-top:10px;display:flex}.loader-status{color:var(--ink);text-align:left}.loader-pct{color:var(--cyan);font-variant-numeric:tabular-nums}.loader-log{text-align:left;min-height:72px;font:var(--fs-2xs) / 1.5 var(--mono);color:#7fe9ff99;margin-top:12px;list-style:none}.loader-launch{color:#fff;letter-spacing:.32em;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#00a6d1,#7036f0);border:0;border-radius:999px;min-width:min(220px,100%);min-height:52px;margin-top:16px;padding:12px 28px;font-size:clamp(16px,.4vw + 14px,22px);font-weight:700;animation:1.8s ease-in-out infinite launch-pulse;box-shadow:0 0 0 1px #7fe9ff80,0 10px 40px #00d5ff4d}.loader-launch:focus-visible{outline-offset:4px;outline:2px solid #fff}@keyframes launch-pulse{50%{box-shadow:0 0 0 1px #7fe9ffcc,0 10px 60px #7a3cff80}}.loader-countdown{color:#fff;letter-spacing:.08em;text-shadow:0 0 30px #00d5ffb3;margin-top:10px;font-size:clamp(44px,3vw + 30px,84px);font-weight:700;line-height:1.1}.loader-simple{width:fit-content;min-height:var(--tap);color:var(--muted);font-size:var(--fs-sm);text-underline-offset:3px;justify-content:center;align-items:center;margin:8px auto 0;padding:0 12px;text-decoration:underline;display:flex}.loader-simple:hover,.loader-simple:focus-visible{color:var(--ink)}.loader.is-error .loader-fill{background:#ff4d6d}.loader.is-unsupported .loader-bar,.loader.is-unsupported .loader-pct,.loader.is-unsupported .loader-log{display:none}.loader.is-unsupported .loader-meta{justify-content:center;margin-top:22px}.loader.is-unsupported .loader-status{text-align:center;line-height:1.5}.loader.is-unsupported .loader-simple{color:#fff;background:linear-gradient(135deg,#00a6d1,#7036f0);border-radius:999px;margin-top:18px;padding:0 24px;font-weight:600;text-decoration:none}@media (height<=520px){.loader-card{padding:14px 22px 10px}.loader-name{margin-top:4px;font-size:26px}.loader-tagline{margin-top:2px;font-size:14px}.loader-bar{margin-top:12px}.loader-log{display:none}.loader-launch{min-height:46px;margin-top:10px;padding:8px 28px}.loader-countdown{font-size:40px}.loader-simple{margin-top:2px}}@media (horizontal-viewport-segments:2){.panel-root{left:env(viewport-segment-left 1 0);justify-content:center}.panel{width:min(100%,600px)}.controls-card{left:env(viewport-segment-left 1 0)}.prompt{left:calc(env(viewport-segment-left 1 0) + env(viewport-segment-width 1 0) / 2)}.loader{padding-right:calc(100vw - env(viewport-segment-right 0 0) + 16px)}}@media (vertical-viewport-segments:2){.panel-root,.controls-card{top:env(viewport-segment-top 0 1)}.loader{padding-bottom:calc(100dvh - env(viewport-segment-bottom 0 0) + 16px)}}@media (prefers-reduced-motion:reduce){.loader-launch,.label.is-next .label-title:before,.touch-open{animation:none}.cine-bars>div{transition:none}}.map-ui{display:none}body.map-view .map-ui{left:var(--left);right:var(--right);bottom:var(--bottom);z-index:12;pointer-events:none;flex-direction:column;align-items:center;gap:10px;animation:.3s ease-out open-in;display:flex;position:fixed}.map-hint{max-width:min(100%,560px);color:var(--ink);font-size:var(--fs-xs);text-align:center;text-shadow:0 1px 3px #000c;background:#08061499;border-radius:999px;padding:6px 14px}.map-hint-touch,body.input-touch .map-hint-mouse{display:none}body.input-touch .map-hint-touch{display:inline}.map-back{min-height:var(--tap);color:#fff;font-size:var(--fs-sm);letter-spacing:.04em;cursor:pointer;pointer-events:auto;background:linear-gradient(135deg,#00a6d1,#7036f0);border:0;border-radius:999px;padding:10px 22px;font-weight:600;box-shadow:0 8px 30px #00000073}.map-back kbd{font-size:var(--fs-2xs);border:1px solid #fff9;border-radius:4px;margin-left:8px;padding:0 6px}body:not(.input-keyboard) .map-back kbd{display:none}#map-button[aria-pressed=true]{border-color:var(--cyan);background:#00d5ff40}body.map-view .touch-controls,body.map-view .prompt,body.map-view .minimap,body.map-view .hud-hint,body.map-view .rotate-hint,body.map-view .zone-warning,body.map-view .zone-glow{opacity:0!important;pointer-events:none!important}.labels:not(.is-map) .map-label,.labels.is-map .label:not(.map-label){display:none}.map-label{min-height:var(--tap);color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(4px);background:#080614b3;border:1px solid #7fe9ff73;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;padding:4px 12px;transition:border-color .15s,background .15s;display:flex}.map-label .label-title{font-size:var(--fs-xs)}.map-label .name-short{display:none}@media (width<=600px),(height<=500px){.map-label .name-long{display:none}.map-label .name-short{display:inline}.map-label{padding:2px 10px}.map-label .label-title{font-size:12px}}.map-label .label-sub{display:none}.map-label:hover,.map-label:focus-visible{border-color:var(--cyan);background:#0078a08c;outline:none}.map-label.is-visited .label-title:before{content:"✓ ";color:var(--cyan)}.zone-warning{z-index:13;max-width:calc(100% - var(--left) - var(--right));color:#ffe3e8;text-align:center;pointer-events:none;-webkit-backdrop-filter:blur(6px);background:#3c0614b8;border:1px solid #ff4d6db3;border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:10px 22px;animation:.25s ease-out open-in;display:flex;position:fixed;top:24%;left:50%;transform:translate(-50%)}.zone-warning strong{font-size:var(--fs-md);letter-spacing:.12em;text-transform:uppercase}.zone-warning span{font-size:var(--fs-xs);opacity:.9}.zone-glow{z-index:9;pointer-events:none;opacity:0;transition:opacity .4s;position:fixed;inset:0;box-shadow:inset 0 0 clamp(60px,12vmin,160px) #ff284680}body.zone-warning .zone-glow{opacity:1;animation:1.6s ease-in-out infinite zone-pulse}@keyframes zone-pulse{50%{opacity:.55}}.fade-overlay{z-index:95;opacity:0;pointer-events:none;background:#000;position:fixed;inset:0}@media (prefers-reduced-motion:reduce){body.zone-warning .zone-glow{animation:none}}.simple-offer{top:calc(var(--sa-t) + 12px);z-index:120;width:min(640px, calc(100% - 24px - var(--sa-l) - var(--sa-r)));color:var(--ink);font-size:var(--fs-sm);background:#0c0b1df0;border:1px solid #7fe9ff59;border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 16px;padding:12px 16px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 10px 40px #00000080}.simple-offer p{flex:260px}.simple-offer-sub{color:var(--muted)}.simple-offer-actions{flex-wrap:wrap;gap:8px;display:flex}.simple-offer-go,.simple-offer-close{min-height:var(--tap);font:inherit;cursor:pointer;border-radius:999px;align-items:center;padding:0 16px;font-weight:600;text-decoration:none;display:inline-flex}.simple-offer-go{color:#fff;background:linear-gradient(135deg,#007a99,#5a2bd1);border:1px solid #0000}.simple-offer-close{color:var(--ink);background:0 0;border:1px solid #7fe9ff66}.brief-button{width:auto;min-width:var(--tap);padding:0 calc(var(--tap) * .22);border-radius:999px;grid-auto-flow:column;gap:8px}.brief-button svg{width:calc(var(--tap) * .56);height:calc(var(--tap) * .56)}.brief-button-label{color:var(--ink);font-size:var(--fs-xs);letter-spacing:.04em;white-space:nowrap;padding-right:6px;font-weight:600}@media (width<=900px),(height<=500px){.brief-button-label{display:none}.brief-button{width:var(--tap);padding:calc(var(--tap) * .2)}}body.cinematic #brief-button{opacity:0;pointer-events:none}.brief{z-index:110;color:#1b1f27;-webkit-user-select:text;user-select:text;touch-action:pan-y;background:#f6f7f9;outline:none;flex-direction:column;display:flex;position:fixed;inset:0}.brief-bar{padding:calc(var(--sa-t) + 8px) calc(var(--sa-r) + 12px) 8px calc(var(--sa-l) + 16px);color:#fff;background:#0c0b1d;flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.brief-bar-title{color:var(--cyan);font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;font-weight:600}.brief-bar-actions{align-items:center;gap:8px;display:flex}.brief-print,.brief-close{min-height:var(--tap);color:#fff;cursor:pointer;background:0 0;border:1px solid #7fe9ff66;border-radius:999px}.brief-print{font-size:var(--fs-xs);padding:0 16px;font-weight:600}.brief-close{width:var(--tap);font-size:24px;line-height:1}.brief-print:hover,.brief-close:hover{border-color:var(--cyan);background:#00d5ff1f}.brief-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:clamp(16px, 4vw, 48px) calc(var(--sa-r) + clamp(16px, 4vw, 48px)) calc(var(--sa-b) + 48px) calc(var(--sa-l) + clamp(16px, 4vw, 48px));flex:1;overflow-y:auto}.brief-page{max-width:820px;margin:0 auto;font-size:clamp(15px,.25vw + 14px,17.5px);line-height:1.6}.brief-header{border-bottom:3px solid #1b1f27;padding-bottom:18px}.brief-header h1{letter-spacing:-.01em;font-size:clamp(30px,3vw + 18px,48px);line-height:1.1}.brief-title{color:#3d2a8c;margin-top:6px;font-size:clamp(16px,.6vw + 14px,21px);font-weight:600}.brief-tagline{color:#4a5262}.brief-section{padding-top:26px}.brief-section h2{color:#0b6f8a;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid #d5d9e0;margin-bottom:12px;padding-bottom:6px;font-size:clamp(13px,.2vw + 12px,15px);font-weight:700}.brief-section p+p{margin-top:8px}.brief-item+.brief-item{margin-top:18px}.brief-item h3,.brief-skill h3,.brief-looking h3{font-size:1.05em;font-weight:650;line-height:1.35}.brief-looking{margin-top:12px}.brief-looking h3,.brief-skill h3{margin-bottom:6px;font-size:.95em}.brief-meta{color:#4a5262;font-size:.92em}.brief-badge{color:#3d2a8c;letter-spacing:.06em;text-transform:uppercase;vertical-align:.15em;background:#ece6ff;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:.72em;font-weight:700;display:inline-block}.brief-bullets{margin-top:6px;padding-left:1.2em}.brief-bullets li+li{margin-top:4px}.brief-chips{flex-wrap:wrap;gap:6px;margin-top:8px;list-style:none;display:flex}.brief-chips li{background:#fff;border:1px solid #c9ced8;border-radius:999px;padding:2px 10px;font-size:.88em}.brief-skill+.brief-skill{margin-top:14px}.brief-skill h3:before{content:"";background:var(--chip,#7fe9ff);border:1px solid #00000040;border-radius:50%;width:.6em;height:.6em;margin-right:.45em;display:inline-block}.brief-links{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.brief-actions{flex-wrap:wrap;gap:10px;padding-top:30px;display:flex}.brief-btn{color:#1b1f27;background:#fff;border:1px solid #b9c0cc;border-radius:12px;flex-direction:column;justify-content:center;min-height:44px;padding:8px 16px;font-size:.92em;text-decoration:none;display:inline-flex}.brief-btn:hover,.brief-btn:focus-visible{outline-offset:1px;border-color:#0b6f8a;outline:2px solid #0b6f8a}.brief-btn.is-primary{color:#fff;background:linear-gradient(135deg,#007a99,#5a2bd1);border-color:#0000}.brief-btn-label{font-weight:650}.brief-btn-sub{opacity:.8;overflow-wrap:anywhere;font-size:.85em}.brief-complete{color:#fff;background:#0c0b1d;border-radius:14px;align-items:center;gap:14px;margin-top:32px;padding:14px 18px;display:flex}.brief-complete>span:last-child{flex-direction:column;display:flex}.brief-complete strong{letter-spacing:.08em;text-transform:uppercase}.brief-complete-badge{background:linear-gradient(135deg,#00b8e6,#7a3cff);border-radius:50%;flex:none;place-items:center;width:46px;height:46px;font-size:22px;font-weight:700;display:grid}@media (width<=600px){.brief-actions{flex-direction:column}.brief-actions .brief-btn{width:100%}}@media print{html,body{background:#fff!important;height:auto!important;overflow:visible!important}body>:not(#brief-root){display:none!important}#brief-root{background:#fff;position:static;display:block!important}.brief-bar{display:none}.brief-scroll{padding:0;overflow:visible}.brief-page{max-width:none;font-size:10.5pt;line-height:1.45}.brief-section{padding-top:12pt}.brief-item,.brief-skill{break-inside:avoid}.brief-chips li{border-color:#999}.brief-btn{border-color:#999;min-height:0;padding:2pt 6pt;color:#000!important;background:0 0!important}.brief-btn[href^=http]:after,.brief-btn[href^=mailto]:after{content:" " attr(href);color:#444;font-size:8pt}.brief-complete{color:#000;background:0 0;border:1px solid #999}}@page{margin:14mm}.hud-map-stack{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.checklist{pointer-events:none;background:#0806149e;border-radius:12px;flex-direction:column;align-items:flex-end;gap:4px;padding:5px 10px;transition:opacity .3s;display:flex}.checklist-text{color:var(--ink);font-size:var(--fs-2xs);letter-spacing:.04em;white-space:nowrap}.checklist-num{color:var(--cyan);font-weight:700}.checklist.is-complete .checklist-num{color:var(--amber)}.checklist-icons{gap:3px;list-style:none;display:flex}.checklist-icons li{color:#e9f9ff59;width:16px;height:16px;position:relative}.checklist-icons svg{fill:none;stroke:currentColor;stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.checklist-icons li.is-done{color:var(--cyan);filter:drop-shadow(0 0 3px #00d5ffb3)}@media (width<=600px),(height<=500px){.checklist-label{display:none}.checklist-icons li{width:12px;height:12px}.checklist{padding:4px 8px}}body.panel-open .checklist,body.cinematic .checklist,body.map-view .checklist{opacity:0}.controls-reset{min-height:var(--tap);color:var(--muted);font-size:var(--fs-2xs);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin:6px auto 0;padding:0 12px;text-decoration:underline;display:block}.controls-reset:hover{color:var(--ink)}.controls-simple{min-height:var(--tap);color:var(--cyan);font-size:var(--fs-xs);text-underline-offset:3px;justify-content:center;align-items:center;margin-top:8px;font-weight:600;display:flex}.mission-badge{z-index:40;pointer-events:none;place-items:center;display:grid;position:fixed;inset:0}.mission-badge-ring,.mission-badge-core{border-radius:50%;grid-area:1/1;width:clamp(150px,30vmin,240px);height:clamp(150px,30vmin,240px)}.mission-badge-ring{border:3px solid var(--cyan);box-shadow:0 0 40px #00d5ff99}.mission-badge-core{color:#fff;text-align:center;background:radial-gradient(circle at 35% 30%,#2bd4ff,#5a2bd1 70%);flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;box-shadow:0 0 60px #7a3cff99,inset 0 0 0 4px #ffffff59}.mission-badge-check{font-size:clamp(40px,9vmin,72px);font-weight:700;line-height:1}.mission-badge-text{letter-spacing:.14em;text-transform:uppercase;max-width:80%;font-size:clamp(12px,2vmin,16px);font-weight:700}.complete-root{z-index:30;padding:var(--top) var(--right) var(--bottom) var(--left);place-items:center;display:grid;position:fixed;inset:0}.complete-backdrop{background:#02020a99;position:absolute;inset:0}.complete-card{touch-action:pan-y;color:#dfe9f2;text-align:center;background:linear-gradient(160deg,#12102cf5,#080814f7);border:1px solid #7fe9ff59;border-radius:20px;outline:none;width:min(100%,460px);max-height:100%;padding:28px 24px 24px;position:relative;overflow-y:auto;box-shadow:0 30px 80px #0009,0 0 60px #00d5ff1f}.complete-card .panel-close{top:10px;right:10px}.complete-emblem{color:#fff;background:linear-gradient(135deg,#00b8e6,#7a3cff);border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto 10px;font-size:32px;font-weight:700;display:grid;box-shadow:0 0 30px #00d5ff73}.complete-title{color:#fff;font-size:clamp(24px,1vw + 20px,32px);font-weight:700}.complete-text{color:#c8d4df;font-size:var(--fs-sm);margin-top:8px;line-height:1.55}.complete-actions{flex-direction:column;gap:10px;margin-top:20px;display:flex}.complete-actions .panel-btn{width:100%;font-family:inherit;font-size:var(--fs-sm);cursor:pointer;align-items:center}@media (height<=500px){.complete-card{padding:16px 18px}.complete-emblem{display:none}.complete-actions{grid-template-columns:1fr 1fr;margin-top:12px;display:grid}}@media (width<=600px) and (height>=501px){.controls-card{grid-template-columns:1fr auto;column-gap:8px;padding:14px 16px 12px;display:grid}.controls-header,.controls-list{grid-column:1/-1}.controls-header{margin-bottom:6px}.controls-list{gap:6px 12px}.controls-list kbd{padding:2px 7px}.controls-tip{display:none}.quality-button{margin-top:10px}.controls-reset{max-width:9em;margin:10px 0 0;line-height:1.2}}.label.is-bonus .label-title{color:#ffb3c1}body.race-mode #help-button,body.race-mode #map-button,body.race-mode #simple-button,body.race-mode #brief-button{display:none}body.race-mode .hud-top-left,body.race-mode .minimap,body.race-mode .checklist,body.race-mode .labels,body.race-mode .prompt,body.race-mode .touch-controls,body.race-mode .rotate-hint,body.race-mode .zone-warning,body.race-mode .zone-glow{opacity:0!important;pointer-events:none!important}.race-dialog{z-index:25;padding:var(--top) var(--right) var(--bottom) var(--left);place-items:center;display:grid;position:fixed;inset:0}.race-backdrop{background:#02020a8c;position:absolute;inset:0}.race-card{overscroll-behavior:contain;touch-action:pan-y;color:#dfe9f2;background:linear-gradient(160deg,#12102cf5,#080814f7);border:1px solid #7fe9ff59;border-radius:20px;outline:none;width:min(100%,460px);max-height:100%;padding:24px 22px 20px;animation:.3s ease-out open-in;position:relative;overflow-y:auto;box-shadow:0 30px 80px #0009,0 0 50px #8a4dff26}.race-title{color:#fff;font-size:clamp(22px,.9vw + 18px,30px);font-weight:700;line-height:1.2}.race-text{color:#c8d4df;font-size:var(--fs-sm);margin-top:8px;line-height:1.5}.race-rules{color:var(--muted);font-size:var(--fs-xs)}.race-controls{font-size:var(--fs-sm);margin-top:14px}.race-best{color:var(--amber);font-size:var(--fs-sm);margin-top:14px;font-weight:600}.race-actions{flex-direction:column;gap:10px;margin-top:18px;display:flex}.race-actions .panel-btn{width:100%;font-family:inherit;font-size:var(--fs-sm);cursor:pointer;align-items:center}.race-menu{text-align:center;width:min(100%,340px)}.race-results{text-align:center}.race-newbest{color:#1b1020;font-size:var(--fs-sm);letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(135deg,#ffd27f,#ff8fa3);border-radius:999px;margin-top:10px;padding:4px 14px;font-weight:700;animation:1.8s ease-in-out infinite launch-pulse;display:inline-block}.race-score{color:#fff;font-variant-numeric:tabular-nums;margin-top:8px;font-size:clamp(30px,2vw + 22px,46px);font-weight:700}.race-stats{text-align:left;max-width:280px;font-size:var(--fs-sm);grid-template-columns:1fr auto;gap:6px 16px;margin:14px auto 0;display:grid}.race-stats dt{color:var(--muted)}.race-stats dd{color:#fff;text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.race-hud{top:var(--top);z-index:12;-webkit-backdrop-filter:blur(6px);pointer-events:none;background:#080614b3;border:1px solid #7fe9ff4d;border-radius:16px;gap:clamp(10px,2vw,22px);padding:8px 18px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.race-hud-item{flex-direction:column;align-items:center;min-width:3.6em;display:flex}.race-hud-label{color:var(--cyan);font-size:var(--fs-2xs);letter-spacing:.14em;text-transform:uppercase}.race-hud-value{color:#fff;font-size:var(--fs-lg);font-variant-numeric:tabular-nums;font-weight:700}.race-hud-value.is-low{color:#ff8fa3}.race-pause{top:var(--top);left:var(--left);z-index:12;color:var(--ink);letter-spacing:-.1em;font-size:14px;position:fixed}.race-countdown{z-index:13;color:#fff;text-shadow:0 0 40px #00d5ffcc;pointer-events:none;place-items:center;font-size:clamp(64px,14vmin,160px);font-weight:700;display:grid;position:fixed;inset:0}.race-countdown.pop,.race-toast.pop{animation:.5s ease-out race-pop}@keyframes race-pop{0%{opacity:0;transform:scale(1.5)}}.race-toast{left:50%;top:calc(var(--top) + 76px);z-index:12;color:#fff;font-size:var(--fs-lg);text-shadow:0 0 18px #00d5ffe6,0 1px 3px #000000e6;pointer-events:none;font-weight:700;position:fixed;transform:translate(-50%)}.race-flash{z-index:11;pointer-events:none;opacity:0;position:fixed;inset:0;box-shadow:inset 0 0 clamp(60px,14vmin,180px) #ff2846b3}.race-flash.is-on{animation:.5s ease-out race-flash}@keyframes race-flash{0%{opacity:1}}.drone-touch{display:none}body.input-touch .drone-touch:not([hidden]){display:block}.drone-stick{bottom:calc(var(--bottom) - 12px)}.drone-stick.is-left{left:calc(var(--left) - 12px)}.drone-stick.is-right{left:auto;right:calc(var(--right) - 12px)}.drone-stick-label{color:var(--ink);font-size:var(--fs-2xs);text-align:center;white-space:nowrap;text-shadow:0 1px 3px #000000e6;pointer-events:none;position:absolute;bottom:calc(100% - 6px);left:0;right:0}@media (height<=500px){.race-card{padding:14px 18px}.race-rules{display:none}.race-actions{flex-flow:wrap}.race-actions .panel-btn{flex:140px}.race-toast{top:calc(var(--top) + 60px)}}@media (prefers-reduced-motion:reduce){.race-countdown.pop,.race-toast.pop,.race-flash.is-on,.race-newbest,.race-card{animation:none}}.touch-boost{--charge:0;width:calc(var(--touch-btn) * .9);height:calc(var(--touch-btn) * .9);background:radial-gradient(circle, #0a08188c 62%, transparent 63%), conic-gradient(#ffd27f26 calc(var(--charge) * 360deg), #ffd27f8c 0);border-color:#ffd27f8c}.touch-boost.is-ready{box-shadow:0 0 14px #ffd27f59}#drone-button[aria-pressed=true],#fpv-button[aria-pressed=true]{border-color:var(--cyan);background:#00d5ff38}body.race-mode #drone-button,body.drone-mode #map-button,body.drone-mode #simple-button{display:none}body.drone-mode .touch-controls,body.drone-mode .hud-hint,body.drone-mode .rotate-hint{opacity:0!important;pointer-events:none!important}body.drone-mode.input-touch .prompt{bottom:calc(var(--bottom) + var(--joy) + 36px);display:block}.drone-hud{left:50%;bottom:var(--bottom);z-index:12;pointer-events:none;-webkit-backdrop-filter:blur(6px);white-space:nowrap;background:#080614a8;border:1px solid #7fe9ff47;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:6px 16px;display:flex;position:fixed;transform:translate(-50%)}.drone-hud-row{align-items:baseline;gap:6px;display:flex}.drone-hud-label{color:var(--cyan);font-size:var(--fs-2xs);letter-spacing:.12em;text-transform:uppercase;margin-left:8px}.drone-hud-label:first-child{margin-left:0}.drone-hud-value{color:#fff;min-width:2.2em;font-size:var(--fs-md);text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.drone-hud-unit,.drone-hud-hint{color:var(--muted);font-size:var(--fs-2xs)}.drone-hud-hint kbd{border:1px solid var(--line);color:var(--cyan);border-radius:4px;padding:0 5px;font-weight:600}body:not(.input-keyboard) .drone-hud-hint{display:none}body.input-touch .drone-hud{top:calc(var(--top) + 40px);bottom:auto;left:var(--left);align-items:flex-start;padding:4px 12px;transform:none}.fpv-osd{z-index:11;pointer-events:none;opacity:0;color:#e9fff4;font:600 clamp(12px, .4vw + 10px, 16px) / 1 var(--mono);letter-spacing:.06em;text-shadow:0 0 2px #000,0 0 6px #000c;transition:opacity .2s;position:fixed;inset:0}.fpv-corner{position:absolute}.fpv-corner.is-tl{top:calc(var(--top) + 46px);left:calc(var(--left) + 10px);line-height:1.5}.fpv-corner.is-tr{top:calc(var(--top) + var(--tap) + 14px);right:calc(var(--right) + 10px)}.fpv-corner.is-bl{bottom:calc(var(--bottom) + 70px);left:calc(var(--left) + 10px)}.fpv-corner.is-bc{top:22%;left:50%;transform:translate(-50%)}body.input-touch .fpv-corner.is-bl{bottom:calc(var(--bottom) + var(--joy) + 50px)}.fpv-rec{color:#ff6b81;animation:1.6s steps(2,end) infinite fpv-blink}@keyframes fpv-blink{50%{opacity:.2}}.fpv-cross{opacity:.8;background:linear-gradient(currentColor,currentColor) 50%/2px 8px no-repeat,linear-gradient(currentColor,currentColor) 50%/8px 2px no-repeat;border:1.5px solid #e9fff4bf;border-radius:50%;width:26px;height:26px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (prefers-reduced-motion:reduce){.fpv-rec{animation:none}}:root{--btn-rows:1}@media (width<=600px){:root{--btn-rows:2}.hud-buttons{max-width:calc(var(--tap) * 3 + 16px);flex-wrap:wrap;justify-content:flex-end}.race-hud{top:calc(var(--top) + var(--tap) + 10px)}}@media (height<=500px){.hud-buttons{max-height:calc(var(--tap) * 3 + 16px);flex-wrap:wrap}}body.card-open .hud-map-stack{opacity:0;transition:opacity .2s}body.input-touch .drone-hud{max-width:calc(100% - var(--left) - var(--right) - var(--tap) * 3 - 28px)}body.input-touch .drone-hud-row{gap:3px}body.input-touch .drone-hud-value{min-width:1.6em;font-size:var(--fs-sm)}body.input-touch .drone-hud-label{margin-left:6px}.frame-graph{border-radius:4px;width:150px;height:30px;display:block}.contact-root{z-index:115}.cf-form{flex-direction:column;gap:14px;display:flex}.cf-field{flex-direction:column;gap:6px;display:flex;position:relative}.cf-field label,.cf-legend{color:#e6eef6;font-size:var(--fs-sm);font-weight:600}.cf-req{color:var(--cyan)}.cf-optional{color:var(--muted);font-weight:400}.cf-form input,.cf-form textarea{width:100%;min-height:var(--tap);color:#f2f7fb;font:inherit;font-size:max(16px, var(--fs-sm));-webkit-user-select:text;user-select:text;touch-action:manipulation;background:#04040e8c;border:1px solid #7fe9ff47;border-radius:10px;padding:10px 12px;line-height:1.45}.cf-form textarea{resize:vertical;min-height:130px}.cf-form input::placeholder,.cf-form textarea::placeholder{color:#8796a6}.cf-form input:focus-visible,.cf-form textarea:focus-visible{border-color:var(--cyan);outline:none;box-shadow:0 0 0 3px #34c6e440}.cf-form [aria-invalid=true]{border-color:#ff8fa3}.cf-error{color:#ffadbc;font-size:var(--fs-xs)}.cf-hint{color:var(--muted);font-size:var(--fs-xs)}.cf-counter{color:var(--muted);font-size:var(--fs-2xs);font-variant-numeric:tabular-nums;align-self:flex-end}.cf-counter.is-near{color:var(--amber)}.cf-chips{flex-wrap:wrap;gap:8px;display:flex}.cf-chip{min-height:var(--tap);color:#e6eef6;font:inherit;font-size:var(--fs-xs);text-align:left;cursor:pointer;background:#00d5ff0d;border:1px solid #7fe9ff59;border-radius:999px;padding:8px 14px;transition:background .15s,border-color .15s}.cf-chip:hover{border-color:var(--cyan)}.cf-chip[aria-checked=true]{color:#fff;background:linear-gradient(135deg,#00a6d1d9,#7036f0d9);border-color:#0000;font-weight:600}.cf-chip:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.cf-chips[aria-invalid=true] .cf-chip{border-color:#ff8fa399}.cf-hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.cf-test{color:var(--amber);font-size:var(--fs-xs);border:1px dashed #ffd27f99;border-radius:10px;padding:8px 12px}.cf-alert{color:#ffd6de;font-size:var(--fs-sm);background:#8b1e3f2e;border:1px solid #ff8fa373;border-radius:10px;padding:10px 12px}.cf-alert p+p,.cf-alert .panel-btn{margin-top:8px}.cf-fallback a{color:#fff}.cf-actions{flex-wrap:wrap;gap:10px;display:flex}.cf-send{min-width:170px;font:inherit;cursor:pointer;flex-direction:row;justify-content:center;align-items:center;gap:10px}.cf-send:disabled{cursor:progress;opacity:.85}.cf-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite cf-spin;display:none}.cf-send.is-loading .cf-spinner{display:inline-block}@keyframes cf-spin{to{transform:rotate(360deg)}}.cf-done{text-align:center;outline:none;flex-direction:column;align-items:center;gap:10px;padding:18px 4px 6px;display:flex}.cf-done-badge{color:#fff;background:linear-gradient(135deg,#00b8e6,#7a3cff);border-radius:50%;place-items:center;width:64px;height:64px;font-size:30px;font-weight:700;animation:.4s ease-out open-in;display:grid;box-shadow:0 0 28px #00d5ff66}.cf-done-title{color:#fff;font-size:var(--fs-lg)}.cf-done-text{color:#d3dde7;overflow-wrap:anywhere}.brief-send{font:inherit;cursor:pointer;text-align:left}@media (prefers-reduced-motion:reduce){.cf-spinner{animation-duration:2s}.cf-done-badge{animation:none}}
