@font-face{font-family:SG;src:url(spacegrotesk.woff2) format("woff2");font-weight:300 700}
@font-face{font-family:CV;src:url(caveat.woff2) format("woff2");font-weight:400 700}
@font-face{font-family:JB;src:url(jbmono.woff2) format("woff2");font-weight:100 800}
:root{--bg:#131416;--grid:#1c1e21;--ink:#e9e6dc;--card:#1b1d20;--shadow:#060607;--peach:#5865F2;--red:#d8222c;--mute:#b8b6ad;--blue:#9dbce8;--sand:#272a2e;--dim:#17181b;--bar:#34373c;--ok:#a9d6a0;--warn:#d9a441;--red-t:#ff5a63;--inp:#101113;--line:#8f9299;--lane:#2e3135;--err-bg:#3a1a1d;--s3:#5b93c4;--gold:#e0b04f;--btn-bg:#202226}
*{box-sizing:border-box;margin:0;padding:0}
body{width:1600px;height:1000px;overflow:hidden;background-color:var(--bg);background-image:linear-gradient(var(--grid) 1.5px,transparent 1.5px),linear-gradient(90deg,var(--grid) 1.5px,transparent 1.5px);background-size:30px 30px;font:500 15px/1.4 SG,system-ui,sans-serif;color:var(--ink)}
a{color:inherit;text-decoration:none}img{display:block}
.mono{font-family:JB,monospace;text-transform:uppercase;letter-spacing:.1em;font-size:12px}
.monol{font-family:JB,monospace;letter-spacing:.02em}
.mute{color:var(--mute)}.hand{font-family:CV,cursive;font-weight:600}
.card{background:var(--card);border:3px solid var(--ink);border-radius:12px;box-shadow:6px 8px 0 var(--shadow);position:relative;min-width:0}
.card.flat{box-shadow:none}.card.soft{border-width:2px;border-color:var(--line)}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--btn-bg);color:var(--ink);font:700 15px SG;padding:11px 22px;border-radius:10px;border:3px solid var(--ink);box-shadow:4px 5px 0 var(--shadow);cursor:pointer}
.btn.pri{background:var(--peach);color:#fff}
.btn.sm{padding:6px 13px;font-size:13px;border-radius:8px;box-shadow:3px 4px 0 var(--shadow);border-width:2px}
.btn.err{border-color:var(--red-t);color:var(--red-t)}
.x{width:32px;height:32px;border-radius:8px;border:2px solid var(--line);display:grid;place-items:center;background:var(--card);flex:none}
.x:hover{background:var(--red);border-color:var(--red)}
.x svg{width:14px;height:14px;stroke:var(--ink);stroke-width:2.6;fill:none}
.pill{display:inline-flex;align-items:center;gap:6px;height:26px;font:500 12px JB,monospace;background:var(--sand);border:1px solid var(--line);border-radius:6px;padding:0 10px;white-space:nowrap}
.pill img{width:16px;height:12px;object-fit:cover;border-radius:2px}
.pill.ok{background:var(--ok);color:#1c1c1a;border-color:var(--ok)}.pill.run{background:var(--peach);color:#fff;border-color:var(--peach)}
.pill.fail{background:var(--err-bg);color:var(--red-t);border-color:var(--red-t)}.pill.warn{background:#3b3014;color:#f6d98a;border-color:var(--warn)}.pill.q{background:var(--sand);color:var(--mute)}
.dot{width:10px;height:10px;border-radius:50%;background:var(--bar);flex:none;display:inline-block}
.dot.ok{background:var(--ok)}.dot.run{background:var(--peach);box-shadow:0 0 0 4px rgba(88,101,242,.3)}.dot.fail{background:var(--red-t)}.dot.skip{background:transparent;border:2px dashed var(--line)}
.bar{height:10px;border-radius:5px;background:var(--bar);overflow:hidden}.bar i{display:block;height:100%;background:var(--peach);border-radius:5px}
.in{background:var(--inp);border:2px solid var(--line);border-radius:8px;padding:10px 14px;font:500 15px SG;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px}
.in.foc{border-color:var(--ink);box-shadow:0 0 0 2px var(--ink)}
.in svg{width:12px;height:8px;stroke:var(--ink);stroke-width:2.5;fill:none}
.lab{font:500 12px JB,monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--mute);margin-bottom:6px;display:block}
.tog{width:46px;height:26px;border-radius:13px;background:var(--bar);border:2px solid var(--line);position:relative;flex:none}.tog::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--mute)}
.tog.on{background:var(--peach);border-color:var(--peach)}.tog.on::after{left:22px;background:#fff}
.seg{display:inline-flex;border:2px solid var(--line);border-radius:8px;overflow:hidden}.seg span{padding:8px 14px;font-size:14px;border-right:2px solid var(--line)}.seg span:last-child{border:0}.seg .on{background:var(--ink);color:#1c1c1a;font-weight:700}
.logo{display:flex;align-items:center;gap:10px;font:700 20px SG;letter-spacing:-.02em}.logo b{display:grid;place-items:center;width:34px;height:34px;background:var(--peach);color:#fff;border-radius:8px;border:3px solid var(--ink);font-size:16px}
.th{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px;border:2px solid var(--ink);background:#000}
.scroll{overflow:hidden}
.tabs{display:flex;gap:6px}.tabs a{padding:8px 16px;border-radius:8px;font-weight:700;color:var(--mute);border:2px solid transparent}.tabs a.on{color:var(--ink);background:var(--sand);border-color:var(--line)}
.hint{display:flex;gap:12px;padding:12px 14px;border:2px dashed var(--line);border-radius:10px;background:var(--dim)}.hint b{color:var(--gold)}
.log{white-space:pre-line;font:12.5px/1.65 JB,monospace;color:var(--mute);background:var(--inp);border-radius:8px;padding:12px 14px;border:1px solid var(--bar)}.log em{color:var(--peach);font-style:normal}.log u{color:var(--ok);text-decoration:none}.log s{color:var(--red-t);text-decoration:none}
table{border-collapse:collapse;width:100%}th{font:500 11.5px JB,monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--mute);text-align:left;padding:8px 12px;border-bottom:2px solid var(--line)}td{padding:10px 12px;border-bottom:1px solid var(--bar);font-size:14px}
