:root{--bg:#05070a;--ink:#e9e6df;--mut:#7d8794;--dim:#4a5361;--line:rgba(190,205,225,.12);--amb:#e6b566;--steel:#8fb0c9;--ok:#86c9a4;--bad:#e2634f;--warn:#e6b566;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100%;color:var(--ink);font:14px/1.5 ui-sans-serif,"Inter",system-ui,sans-serif;
background:radial-gradient(1100px 600px at 10% -10%,rgba(143,176,201,.11),transparent 60%),radial-gradient(900px 500px at 100% 25%,rgba(230,181,102,.07),transparent 60%),linear-gradient(rgba(190,205,225,.035) 1px,transparent 1px) 0 0/48px 48px,linear-gradient(90deg,rgba(190,205,225,.035) 1px,transparent 1px) 0 0/48px 48px,var(--bg);background-attachment:fixed}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.07;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
body::after{content:"";position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 200px 40px #000}
#app{position:relative;max-width:1240px;margin:0 auto;padding:max(14px,env(safe-area-inset-top)) clamp(12px,3vw,32px) 120px}
.hud{display:flex;justify-content:space-between;align-items:center;padding:6px 2px 16px}.lg{font-weight:300;letter-spacing:.32em;font-size:12px}.lg b{font-weight:700;color:var(--amb)}
.st{font:11px ui-monospace,monospace;letter-spacing:.14em;color:var(--mut)}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--dim);margin-right:8px}.dot.on{background:var(--ok);box-shadow:0 0 10px var(--ok);animation:pu 2s infinite}@keyframes pu{50%{opacity:.4}}
.b{border:1px solid rgba(230,181,102,.4);background:rgba(230,181,102,.08);color:var(--warn);padding:9px 14px;margin-bottom:12px;font:12px ui-monospace,monospace;letter-spacing:.04em}
.lb{font:600 10px ui-monospace,monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--mut);margin-bottom:10px}.mono{font-family:ui-monospace,monospace}.mut{color:var(--mut);font-size:12px}
h1.t{font:300 clamp(26px,4vw,38px)/1.1 ui-sans-serif,sans-serif;margin:6px 0 4px;letter-spacing:-.02em}.sub{color:var(--mut);margin:0 0 20px;max-width:640px}.en{font:500 clamp(20px,3vw,28px)/1.1 ui-sans-serif,sans-serif;letter-spacing:-.01em;margin:0}
.stage{position:relative;margin-bottom:18px;border:1px solid var(--line);border-radius:4px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.01));box-shadow:0 40px 90px -40px #000,inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:in .7s cubic-bezier(.2,.8,.2,1) both}
.stage::before,.stage::after{content:"";position:absolute;width:12px;height:12px;border:1px solid var(--amb);opacity:.7}.stage::before{top:-1px;left:-1px;border-right:0;border-bottom:0}.stage::after{bottom:-1px;right:-1px;border-left:0;border-top:0}
@keyframes in{from{opacity:0;transform:translateY(10px);filter:blur(6px)}}
.zones{display:grid;grid-template-columns:1.05fr 1fr}.z{padding:22px 24px;border-bottom:1px solid var(--line)}.zones .z+.z{border-left:1px solid var(--line)}.zones:last-child .z{border-bottom:0}
.hero .heroN{position:relative;width:min(100%,250px);margin:6px 0 10px}.ring{width:100%;display:block}.ctr{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.bn{font:200 clamp(44px,8vw,68px)/1 ui-monospace,"SF Mono",monospace;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.bn small{font-size:.32em;color:var(--mut);margin-left:2px}
.tk{fill:none;stroke:var(--line);stroke-width:1;stroke-dasharray:1.2 5.8}.tr{fill:none;stroke:rgba(255,255,255,.06);stroke-width:5}.fl{fill:none;stroke-width:5;stroke:var(--c);transform:rotate(-90deg);transform-origin:center;animation:ring 1.2s cubic-bezier(.2,.8,.2,1) both;filter:drop-shadow(0 0 5px var(--c))}@keyframes ring{from{stroke-dasharray:0 327}}
.hi{--c:var(--ok)}.mid{--c:var(--warn)}.lo{--c:var(--bad)}
.pips{display:flex;gap:18px;margin-top:14px}.pip{flex:1;min-width:0}.pv{height:54px;border-bottom:1px solid var(--line);display:flex;align-items:flex-end}.pv b{display:block;width:100%;background:linear-gradient(0deg,var(--c),transparent);border-top:2px solid var(--c);animation:up .9s both;transform-origin:bottom}@keyframes up{from{transform:scaleY(0)}}
.pip span{display:block;font:12px ui-monospace,monospace;margin-top:6px}.pip em{font:normal 9px ui-monospace,monospace;letter-spacing:.1em;color:var(--mut);text-transform:uppercase}
.band{padding:14px 24px;border-top:1px solid var(--line)}.hs{display:flex;flex-wrap:wrap;gap:8px 34px}.hs div{font:300 24px ui-monospace,monospace}.hs div small{display:block;font:600 9px ui-monospace,monospace;letter-spacing:.16em;color:var(--mut)}
.sl{display:grid;grid-template-columns:1fr 120px 70px;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);cursor:pointer}.sl:hover .en{color:var(--amb)}.d{font:13px ui-monospace,monospace;text-align:right}.d.bad{color:var(--bad)}
.fnd{display:flex;gap:14px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.fnd b{font:200 26px ui-monospace,monospace;min-width:86px;color:var(--amb)}.fnd span{font-size:13px;color:var(--mut)}
.cl{display:inline-block;width:11px;height:11px;margin:2px;background:var(--ok);opacity:.85;vertical-align:middle;cursor:pointer;transition:.15s;border:0;padding:0}.cl:hover{transform:scale(1.5);opacity:1}.cl.bad{background:var(--bad)}.cl.w{background:transparent;border:1px solid var(--warn)}.tel{line-height:1}
.rail{display:flex;gap:8px;overflow-x:auto;padding:2px 0 16px;scroll-snap-type:x proximity;scrollbar-width:none}.chip{flex:none;scroll-snap-align:start;background:transparent;border:1px solid var(--line);color:var(--mut);padding:7px 14px;border-radius:2px;font:11px ui-monospace,monospace;letter-spacing:.08em;cursor:pointer;transition:.2s}.chip:hover{color:var(--ink);border-color:var(--mut)}.chip.on{color:var(--amb);border-color:var(--amb);background:rgba(230,181,102,.08)}
.ent{display:grid;grid-template-columns:62px 1.1fr 1.3fr 1.1fr 1fr 1fr;gap:18px;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line);cursor:pointer;position:relative;transition:.25s;animation:in .6s calc(var(--i)*80ms) both}.ent:last-child{border:0}
.ent:hover{background:linear-gradient(90deg,rgba(230,181,102,.07),transparent)}.ent:hover::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--amb)}.cols{display:contents}
.rank{font:200 40px ui-monospace,monospace;color:var(--dim)}.ent:first-child .rank{color:var(--amb)}.seg{display:flex;margin-top:8px}.seg i{flex:1;height:9px;margin-right:2px;background:rgba(255,255,255,.07);transform:skewX(-20deg)}.seg i.on{background:var(--c);animation:fi .5s calc(var(--d)*22ms) both}@keyframes fi{from{opacity:0}}
.tag{font:600 9px ui-monospace,monospace;letter-spacing:.14em;padding:3px 8px;border:1px solid var(--line);color:var(--mut)}.tag.ok{color:var(--ok);border-color:var(--ok)}.tag.bad{color:var(--bad);border-color:var(--bad)}.tag.w{color:var(--warn);border-color:var(--warn)}
.heat{display:grid;gap:3px;padding:18px 22px;overflow:auto}.heat div{padding:9px 6px;text-align:center;font:12px ui-monospace,monospace}
.pair{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.pair>div{padding:14px 20px}.pair>div+div{border-left:1px solid var(--line)}.pair h3{font:600 10px ui-monospace,monospace;letter-spacing:.16em;color:var(--mut);margin:0 0 8px;text-transform:uppercase}
.tkk{padding:8px 0;border-bottom:1px dashed var(--line);cursor:pointer}.tkk:hover b{color:var(--amb)}.tkk b{font:13px ui-monospace,monospace}
pre{white-space:pre-wrap;word-break:break-word;background:rgba(0,0,0,.4);border:1px solid var(--line);padding:12px;font:12px/1.5 ui-monospace,monospace;margin:8px 0;max-height:240px;overflow:auto}
.disc{padding:24px;border-bottom:1px solid var(--line)}.disc .gn{font:200 clamp(48px,10vw,84px)/1 ui-monospace,monospace;color:var(--amb);letter-spacing:-.04em}.disc .bars{margin:14px 0}.br{display:grid;grid-template-columns:130px 1fr 54px;gap:10px;align-items:center;font:12px ui-monospace,monospace;margin:6px 0}.br i{display:block;height:6px;background:rgba(255,255,255,.07)}.br b{display:block;height:100%;background:var(--c,var(--steel));animation:gr .9s both;transform-origin:left}@keyframes gr{from{transform:scaleX(0)}}
.btn{background:transparent;border:1px solid var(--amb);color:var(--amb);padding:8px 16px;font:11px ui-monospace,monospace;letter-spacing:.12em;cursor:pointer;text-transform:uppercase}.btn:hover{background:rgba(230,181,102,.12)}
.empty{padding:70px 24px;text-align:center}.empty h1{font:200 clamp(28px,6vw,46px)/1.1 ui-sans-serif;margin:0 0 10px}
#nav{position:fixed;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;padding:5px;border:1px solid var(--line);border-radius:12px;background:rgba(9,12,17,.8);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 20px 60px #000,inset 0 1px 0 rgba(255,255,255,.07);z-index:8;max-width:calc(100% - 16px)}
#nav a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px clamp(8px,1.8vw,16px);color:var(--mut);text-decoration:none;font:600 9px ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;border-radius:8px;position:relative;transition:.2s}#nav a span{font-size:16px;line-height:1}#nav a:hover{color:var(--ink)}#nav a.on{color:var(--amb)}#nav a.on::after{content:"";position:absolute;top:0;left:22%;right:22%;height:2px;background:var(--amb);box-shadow:0 0 10px var(--amb)}
a:focus-visible,button:focus-visible,.ent:focus-visible,.cl:focus-visible{outline:2px solid var(--amb);outline-offset:2px}
#drawer{position:fixed;top:0;right:0;height:100%;width:min(640px,100%);background:rgba(7,10,14,.97);border-left:1px solid var(--line);transform:translateX(105%);transition:transform .4s cubic-bezier(.2,.8,.2,1);overflow:auto;padding:20px 22px calc(40px + env(safe-area-inset-bottom));z-index:9}#drawer.open{transform:none}
.nd{position:relative;padding:0 0 22px 38px}.nd::before{content:"";position:absolute;left:11px;top:24px;bottom:0;width:1px;background:linear-gradient(var(--amb),var(--line))}.nd:last-child::before{display:none}.nd>i{position:absolute;left:0;top:0;width:23px;height:23px;border:1px solid var(--amb);display:grid;place-items:center;font:600 10px ui-monospace,monospace;color:var(--amb);font-style:normal;background:#07090d}
.ck{display:grid;grid-template-columns:24px 1fr;gap:10px;padding:10px;margin:6px 0;border:1px solid var(--line);border-left:3px solid var(--ok)}.ck.f{border-left-color:var(--bad);background:rgba(226,99,79,.07)}.ck .cs{font:700 14px ui-monospace;color:var(--ok)}.ck.f .cs{color:var(--bad)}
.ev{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}.ev em{display:block;font:normal 9px ui-monospace,monospace;letter-spacing:.14em;color:var(--mut)}.ev code{font:12px ui-monospace,monospace;word-break:break-word}.ck.f .ev div+div code{color:var(--bad)}
.sk{height:120px;margin-bottom:12px;background:linear-gradient(90deg,rgba(255,255,255,.03),rgba(255,255,255,.08),rgba(255,255,255,.03));background-size:200% 100%;animation:sh 1.3s infinite}@keyframes sh{to{background-position:-200% 0}}
@media(max-width:820px){#nav{width:calc(100% - 16px)}#nav a{flex:1 1 0;min-width:0;padding:8px 2px;font-size:8px;letter-spacing:.04em;overflow:hidden}#nav a span{font-size:15px}.zones{grid-template-columns:1fr}.zones .z+.z{border-left:0}.hero .heroN{margin-inline:auto}.ent{grid-template-columns:44px 1fr;gap:10px 12px;padding:16px}.cols{grid-column:1/-1;display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}.cols>*{flex:none;scroll-snap-align:start;min-width:140px}.rank{font-size:30px}.pair{grid-template-columns:1fr}.pair>div+div{border-left:0;border-top:1px solid var(--line)}.br{grid-template-columns:90px 1fr 46px}.ev{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

input,select{width:100%;margin:6px 0;background:rgba(0,0,0,.35);border:1px solid var(--line);color:var(--ink);padding:10px;font:13px ui-monospace,monospace;border-radius:2px}input[type=checkbox]{width:auto;margin-right:8px}.slot{padding:10px 0 14px;border-bottom:1px solid var(--line)}.btn:disabled{opacity:.4}
