:root{--accent:#36f0a0;--accent2:#ff3b5c;--fg:#f2f5f8;--muted:#9aa6b2;--panel:#0c1016b8}*{box-sizing:border-box}html,body{height:100%;color:var(--fg);-webkit-user-select:none;user-select:none;background:#000;margin:0;font-family:Rajdhani,system-ui,sans-serif;overflow:hidden}#view{width:100vw;height:100vh;display:block;position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}.hidden{display:none!important}.crosshair{width:0;height:0;position:absolute;top:50%;left:50%}.crosshair i{background:#4dff8a;position:absolute;box-shadow:0 0 0 1px #000000a6}.crosshair .h{width:6px;height:2px;top:-1px}.crosshair .v{width:2px;height:6px;left:-1px}.crosshair .l{left:-9px}.crosshair .r{left:3px}.crosshair .t{top:-9px}.crosshair .b{top:3px}.hud-center{text-align:center;text-shadow:0 2px 8px #0009;position:absolute;bottom:calc(3vh + 150px);left:50%;transform:translate(-50%)}.hud-timer{letter-spacing:1px;opacity:.95;font-family:JetBrains Mono,monospace;font-size:22px;font-weight:700}.hud-timer[data-state=start]{color:var(--accent)}.hud-timer[data-state=finished]{color:#ffd166}.hud-timer[data-state=idle]{color:var(--muted);font-family:Rajdhani;font-size:16px}.hud-speed{margin-top:4px;font-family:JetBrains Mono,monospace;font-size:46px;font-weight:700;line-height:1;transition:color .12s}.hud-speed[data-trend=up]{color:#7dffb8}.hud-speed[data-trend=down]{color:#ff8a8a}.hud-speedbar{background:#ffffff1f;border-radius:2px;width:220px;height:3px;margin:8px auto 0;overflow:hidden}.hud-speedbar>div{background:linear-gradient(90deg, var(--accent), #6ad8ff);width:0;height:100%;transition:width 50ms linear}.hud-stats{background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid #ffffff0f;border-radius:8px;min-width:150px;padding:12px 16px;position:absolute;top:50%;right:22px;transform:translateY(-50%)}.hud-stats div{justify-content:space-between;gap:18px;font-size:15px;line-height:1.55;display:flex}.hud-stats span{color:var(--muted);text-transform:uppercase;letter-spacing:1px;font-size:13px}.hud-stats b{font-family:JetBrains Mono,monospace;font-size:14px}.hud-keys{grid-template-columns:repeat(3,32px);grid-auto-rows:28px;gap:4px;display:grid;position:absolute;bottom:3vh;left:50%;transform:translate(-50%)}.hud-keys .k{color:#ffffff73;background:#00000059;border:1px solid #ffffff14;border-radius:4px;place-items:center;font-size:13px;font-weight:700;display:grid}.hud-keys .k[data-k=w]{grid-area:1/2}.hud-keys .k[data-k=a]{grid-area:2/1}.hud-keys .k[data-k=s]{grid-area:2/2}.hud-keys .k[data-k=d]{grid-area:2/3}.hud-keys .k.wide{letter-spacing:2px;grid-column:1/-1;font-size:10px}.hud-keys .k.on{color:#04130b;background:#36f0a0d9;border-color:#0000}.hud-split{white-space:nowrap;opacity:0;pointer-events:none;font-family:JetBrains Mono,monospace;transition:opacity .25s,transform .25s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,6px)}.hud-split.show{opacity:1;transform:translate(-50%)}.hud-split .sp-head{justify-content:center;align-items:baseline;gap:10px;display:flex}.hud-split .sp-label{letter-spacing:2px;text-transform:uppercase;color:#6ad8ff;font-family:Rajdhani,system-ui,sans-serif;font-size:14px;font-weight:700}.hud-split.finish .sp-label{color:#ffd166}.hud-split .sp-time{font-size:17px;font-weight:700}.hud-split .sp-deltas{justify-content:center;gap:14px;margin-top:2px;font-size:16px;font-weight:700;display:flex}.hud-split .sp-d small{letter-spacing:1px;color:var(--muted);margin-right:5px;font-family:Rajdhani,system-ui,sans-serif;font-size:12px;font-weight:600}.hud-split .sp-d.ahead{color:var(--accent)}.hud-split .sp-d.behind{color:var(--accent2)}.hud-split .sp-d.even{color:var(--fg)}.hud-toast{letter-spacing:3px;opacity:0;text-shadow:0 2px 12px #000000b3;font-size:26px;font-weight:700;transition:all .25s;position:absolute;top:22vh;left:50%;transform:translate(-50%,-10px)}.hud-toast.show{opacity:1;transform:translate(-50%)}.hud-toast.finish{color:#ffd166;font-size:36px}.hud-toast.cp{color:#6ad8ff}.console{pointer-events:auto;background:#080a0eeb;border-bottom:1px solid #ffffff1a;flex-direction:column;height:45vh;font-family:JetBrains Mono,monospace;font-size:13px;display:flex;position:absolute;top:0;left:0;right:0}.console-log{color:#cfd6de;white-space:pre-wrap;-webkit-user-select:text;user-select:text;flex:1;padding:10px 14px;overflow-y:auto}.console-input{color:#fff;font:inherit;background:#ffffff0d;border:0;outline:0;padding:9px 14px}.menu{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:radial-gradient(at 30% 20%,#1e3c508c,#05070ae6);place-items:center;display:grid;position:fixed;inset:0}.menu-inner{background:var(--panel);border:1px solid #ffffff14;border-radius:14px;width:min(720px,100vw - 32px);padding:28px 32px;box-shadow:0 30px 80px #00000080}.brand span{letter-spacing:10px;background:linear-gradient(90deg, #fff, var(--accent));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:54px;font-weight:700}.brand small{color:var(--muted);letter-spacing:4px;text-transform:uppercase;margin-top:-6px;display:block}.menu-section{margin-top:22px}.menu h3{letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-size:13px}.map-list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.map-btn,#resume{font:inherit;color:var(--fg);cursor:pointer;text-align:left;text-transform:capitalize;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;padding:14px 16px;font-size:20px;font-weight:600;transition:all .15s}.map-btn:hover,#resume:hover{border-color:var(--accent);background:#36f0a024}.map-btn .mode{letter-spacing:3px;text-transform:uppercase;color:var(--accent);font-size:11px;display:block}.settings{grid-template-columns:1fr 1fr;gap:10px 24px;display:grid}.settings h3{grid-column:1/-1}.settings label{color:#d6dde4;flex-direction:column;gap:4px;font-size:15px;display:flex}.settings label.check{flex-direction:row;align-items:center;gap:8px}.settings small{color:var(--muted)}.settings input[type=number]{font:inherit;color:#fff;background:#00000059;border:1px solid #ffffff1f;border-radius:6px;width:120px;padding:6px 10px}.menu-help{color:var(--muted);margin-top:22px;font-size:14px}.menu-resume{margin-top:16px}.menu-legal{color:var(--muted);margin-top:10px;font-size:12px}.menu-legal a{color:var(--muted)}.menu-legal a:hover{color:var(--accent)}#resume{text-align:center;width:100%}.menu-inner{max-height:calc(100vh - 32px);overflow-y:auto}.btn{font:inherit;color:var(--fg);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:6px;padding:6px 12px;font-size:15px;font-weight:600;transition:all .15s}.btn:hover{border-color:var(--accent);background:#36f0a024}.btn.small{letter-spacing:.5px;padding:2px 8px;font-size:12px}.btn:disabled,.btn:disabled:hover{opacity:.4;cursor:not-allowed;background:#ffffff0d;border-color:#ffffff1f}.btn.danger:hover{border-color:var(--accent2);background:#ff3b5c2e}.acct-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.acct-row input{font:inherit;color:#fff;-webkit-user-select:text;user-select:text;background:#00000059;border:1px solid #ffffff1f;border-radius:6px;width:200px;padding:6px 10px;font-size:16px}.acct-status{color:var(--muted);margin-top:6px;font-size:14px}.acct-status.err{color:#ff8a8a}.online-board h3{align-items:center;gap:10px;display:flex}.online-board select{font:inherit;letter-spacing:1px;color:#fff;text-transform:none;background:#00000059;border:1px solid #ffffff1f;border-radius:6px;padding:2px 6px;font-size:13px}.online-board select.lb-ver{letter-spacing:.3px;text-overflow:ellipsis;min-width:0;max-width:280px}.lb-note{color:#ffd166;margin:-4px 0 8px;font-size:13px}table.lb.lb-other td.time{color:var(--muted)}.lb-wrap{border:1px solid #ffffff0f;border-radius:8px;max-height:300px;overflow-y:auto}.lb-empty{color:var(--muted);padding:12px 14px}table.lb{border-collapse:collapse;width:100%;font-size:15px}table.lb th{text-align:left;letter-spacing:2px;text-transform:uppercase;color:var(--muted);background:#0c1016f5;padding:6px 10px;font-size:11px;font-weight:600;position:sticky;top:0}table.lb td{white-space:nowrap;border-top:1px solid #ffffff0a;padding:4px 10px}table.lb td.rank{width:36px;color:var(--muted);font-family:JetBrains Mono,monospace;font-size:13px}table.lb td.name{text-overflow:ellipsis;max-width:260px;overflow:hidden}table.lb td.name small{color:var(--muted)}table.lb td.name .lb-flag{letter-spacing:1px;text-transform:uppercase;color:#ffd166;vertical-align:1px;border:1px solid #ffd16673;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:10px}table.lb tr.flagged td.time{color:var(--muted)}table.lb td.time{font-family:JetBrains Mono,monospace;font-size:14px}table.lb td.date{color:var(--muted);font-size:13px}table.lb td.acts{text-align:right}table.lb td.acts .btn{margin-left:4px}table.lb tr.me td{background:#36f0a01f}table.lb tr.me td.name{color:var(--accent);font-weight:700}table.lb tr:first-child td.rank{color:#ffd166}table.rl tr[data-id]{cursor:pointer}table.rl tr[data-id]:hover td{background:#ffffff0d}.review-list{width:min(900px,100vw - 32px);max-width:900px}.review-list .rl-body{margin-top:16px}.review-list code{color:var(--accent);font-family:JetBrains Mono,monospace}.menu a{color:var(--accent)}.hud-notices{pointer-events:none;z-index:20;flex-direction:column;align-items:flex-end;gap:6px;max-width:min(460px,100vw - 44px);display:flex;position:fixed;top:22px;right:22px}.hud-notice{background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-left:3px solid #6ad8ff;border-radius:6px;padding:7px 12px;font-size:16px;font-weight:600;transition:opacity .4s,transform .4s;animation:.25s ease-out notice-in}.hud-notice.ok{border-color:var(--accent)}.hud-notice.warn{border-color:#ffd166}.hud-notice.err{border-color:var(--accent2)}.hud-notice.out{opacity:0;transform:translate(8px)}@keyframes notice-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:none}}.hud-ghost{letter-spacing:1px;color:#c8beffbf;text-shadow:0 1px 4px #000000b3;font-size:13px;position:absolute;top:calc(50% + 120px);right:22px}.nametags{pointer-events:none;position:absolute;inset:0;overflow:hidden}.nametag{white-space:nowrap;text-shadow:0 1px 3px #000000e6;will-change:transform;flex-direction:column;align-items:center;display:flex;position:absolute;top:0;left:0}.nametag .nt-name{color:#ffd0a8;font-size:15px;font-weight:700}.nametag .nt-time{color:#ffffffbf;font-family:JetBrains Mono,monospace;font-size:12px}.nametag[data-timer="1"] .nt-time{color:#7dffb8}.nametag[data-timer="2"] .nt-time{color:#ffd166}.nametag.guest .nt-name{color:#dce1e6bf;font-style:italic;font-weight:600}.review-panel{background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto;-webkit-user-select:text;user-select:text;border:1px solid #ffffff14;border-radius:10px;width:320px;padding:12px 14px;font-size:14px;position:absolute;top:22px;left:22px}.rv-head{letter-spacing:3px;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;font-size:13px;display:flex}.review-panel table{border-collapse:collapse;width:100%;margin-top:8px}.review-panel th{text-align:left;color:var(--muted);vertical-align:top;width:84px;padding:2px 8px 2px 0;font-weight:600}.review-panel td{word-break:break-word;padding:2px 0}.rv-stats{margin-top:8px}.rv-stats b{letter-spacing:2px;text-transform:uppercase;color:var(--muted);font-size:12px}.rv-head>span{gap:6px;display:flex}.btn.copied{border-color:var(--accent);color:var(--accent)}.rv-splits{margin-top:8px}.rv-splits>b{letter-spacing:2px;text-transform:uppercase;color:var(--muted);font-size:12px}.review-panel .rv-splits table{margin-top:4px;font-family:JetBrains Mono,monospace;font-size:13px}.review-panel .rv-splits thead th{letter-spacing:1px;text-transform:uppercase;text-align:right;width:auto;padding:2px 0 2px 8px;font-family:Rajdhani,system-ui,sans-serif;font-size:11px}.review-panel .rv-splits thead th:first-child{text-align:left;padding-left:0}.review-panel .rv-splits tbody th{white-space:nowrap;font-family:Rajdhani,system-ui,sans-serif;font-size:14px}.review-panel .rv-splits td{text-align:right;padding:1px 0 1px 8px}.rv-splits tbody tr{color:var(--muted)}.rv-splits tbody tr.done{color:var(--fg)}.rv-splits tbody tr.cur{color:var(--accent)}.rv-splits tbody tr.cur th{box-shadow:inset 2px 0 0 var(--accent);padding-left:6px}.rv-play{margin-top:10px}.rv-time{font-family:JetBrains Mono,monospace;font-size:18px;font-weight:700}.rv-time small{color:#ffd166;letter-spacing:1px;font-family:Rajdhani;font-size:13px}.rv-bar{background:#ffffff1f;border-radius:2px;height:3px;margin:6px 0;overflow:hidden}.rv-bar>div{background:linear-gradient(90deg, var(--accent), #6ad8ff);height:100%}.rv-speed{color:var(--muted);font-family:JetBrains Mono,monospace}.rv-keys{color:var(--muted);margin-top:8px;font-size:13px}.rv-admin{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.rv-msg{color:#ffd166;min-height:1em;margin-top:6px}.loading{z-index:20;-webkit-backdrop-filter:blur(14px)saturate(1.1);backdrop-filter:blur(14px)saturate(1.1);background:radial-gradient(at 30% 20%,#1e3c5073,#05070ad1);place-items:center;transition:opacity .3s;animation:.18s ease-out loading-in;display:grid;position:fixed;inset:0}.loading.out{opacity:0;pointer-events:none}.loading.ready{cursor:pointer}.loading-card{background:var(--panel);text-align:center;border:1px solid #ffffff14;border-radius:14px;width:min(520px,100vw - 32px);padding:30px 34px 26px;animation:.35s cubic-bezier(.2,.8,.2,1) loading-card-in;box-shadow:0 30px 80px #00000080}.loading-mode{letter-spacing:5px;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:700}.loading-name{letter-spacing:6px;text-transform:uppercase;background:linear-gradient(90deg, #fff, var(--accent));color:#0000;overflow-wrap:anywhere;-webkit-background-clip:text;background-clip:text;margin:4px 0 20px;font-size:46px;font-weight:700;line-height:1.1}.loading-track{background:#ffffff1a;border-radius:2px;height:3px;position:relative;overflow:hidden}.loading-fill{background:linear-gradient(90deg, var(--accent), #6ad8ff);transform-origin:0;transition:transform .35s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0;transform:scaleX(0)}.loading-shimmer{background:linear-gradient(90deg,#0000,#ffffff8c,#0000);width:30%;animation:1.1s ease-in-out infinite loading-shimmer;position:absolute;inset:0}.loading.done .loading-shimmer{opacity:0}.loading-status{letter-spacing:3px;text-transform:uppercase;color:var(--muted);min-height:1.4em;margin-top:12px;font-size:13px;font-weight:600}.loading-status.err{color:var(--accent2);letter-spacing:1px;text-transform:none;font-size:15px}.loading-play{font:inherit;letter-spacing:3px;text-transform:uppercase;border:1px solid var(--accent);color:var(--fg);cursor:pointer;background:#36f0a024;border-radius:8px;margin-top:16px;padding:12px 28px;font-size:20px;font-weight:700;animation:1.6s ease-in-out infinite loading-pulse}.loading-play:hover{background:#36f0a03d}.loading-tip{color:var(--muted);border-top:1px solid #ffffff0f;margin-top:18px;padding-top:14px;font-size:15px;line-height:1.4}.loading-tip:before{content:"TIP";letter-spacing:2px;color:#6ad8ff;margin-right:8px;font-size:11px;font-weight:700;display:inline-block}@keyframes loading-in{0%{opacity:0}to{opacity:1}}@keyframes loading-card-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}@keyframes loading-shimmer{0%{transform:translate(-100%)}to{transform:translate(340%)}}@keyframes loading-pulse{0%,to{opacity:1}50%{opacity:.72}}@media (max-width:520px){.loading-name{letter-spacing:3px;font-size:32px}.loading-card{padding:22px 20px 18px}}@media (prefers-reduced-motion:reduce){.loading-shimmer,.loading-play{animation:none}}
