:root{color-scheme:dark;--bg:#0A0E17;--card:#0F1522;--card2:#111827;--line:#1E2A3D;--line2:#2A3850;--txt:#EAF0FB;--txt2:#9DB0CC;--muted:#64748B;
 --cyan:#22D3EE;--green:#34D399;--pink:#F0509A;--amber:#FBBF24;--mono:ui-monospace,'Cascadia Mono',Consolas,'Liberation Mono',monospace}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;font-family:'Segoe UI',Inter,system-ui,sans-serif;background:var(--bg);color:var(--txt);font-size:15px;line-height:1.45;
 background-image:radial-gradient(800px 500px at 90% -10%,rgba(34,211,238,.08),transparent 60%),radial-gradient(600px 500px at -10% 80%,rgba(240,80,154,.06),transparent 60%)}
a{color:var(--cyan)}
.eyebrow{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:2.4px;color:var(--cyan)}
.eyebrow::before{content:'';display:inline-block;width:22px;height:1.5px;background:var(--cyan);vertical-align:middle;margin:-2px 10px 0 0}
.logo{font-size:28px;font-weight:800;letter-spacing:-.5px;margin:8px 0 2px}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;position:relative;overflow:hidden}
.card::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--cyan),var(--green),var(--pink))}
.login{max-width:400px;margin:12vh auto;padding:0 16px}
label{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin:16px 0 6px}
input[type=text],input[type=password]{width:100%;padding:11px 13px;border-radius:10px;border:1px solid var(--line2);background:var(--bg);color:var(--txt);font-size:15px}
input:focus{outline:none;border-color:var(--cyan)}
.btn{display:inline-flex;align-items:center;gap:7px;background:var(--card2);color:var(--txt);border:1px solid var(--line2);border-radius:10px;padding:9px 15px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none}
.btn:hover{border-color:var(--cyan);color:var(--cyan)}
.btn.primary{background:linear-gradient(135deg,#22D3EE,#34D399);color:#0A0E17;border:none;font-weight:800}
.btn.full{width:100%;justify-content:center;margin-top:20px;padding:12px}
.btn:disabled{opacity:.5;cursor:wait}
.err{color:var(--pink);font-size:13.5px;min-height:20px;margin-top:12px}
.ok{color:var(--green)}
.muted{color:var(--muted);font-size:13px}
.wrap{max-width:1100px;margin:0 auto;padding:24px 20px 60px}
.top{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}
@media(max-width:900px){.grid{grid-template-columns:1fr}}
h2{margin:6px 0 4px;font-size:20px}
.drop{border:2px dashed var(--line2);border-radius:16px;padding:34px 20px;text-align:center;cursor:pointer;background:var(--card2);transition:.15s;margin-top:14px}
.drop.on,.drop:hover{border-color:var(--cyan);background:rgba(34,211,238,.08)}
.drop b{font-size:17px}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:14px;margin-top:12px}
.kv div:nth-child(odd){color:var(--muted)}
table{width:100%;border-collapse:collapse;font-size:13px;margin-top:10px}
th{text-align:left;font-family:var(--mono);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--txt2);padding:7px 8px;border-bottom:1px solid var(--line2)}
td{padding:7px 8px;border-bottom:1px solid #172133;color:var(--txt2)}
td b{color:var(--txt)}
.pill{display:inline-block;padding:1px 8px;border-radius:10px;font-size:11px;font-weight:800}
.p-ok{background:rgba(52,211,153,.14);color:var(--green)}.p-no{background:rgba(240,80,154,.15);color:var(--pink)}.p-w{background:rgba(251,191,36,.14);color:var(--amber)}
.bar{height:6px;background:var(--line);border-radius:6px;overflow:hidden;margin-top:12px}
.bar>div{height:100%;width:0;background:linear-gradient(90deg,#22D3EE,#34D399);transition:width .2s}
.result{margin-top:16px}
.hidden{display:none!important}
label.drop{display:block;font-family:inherit;text-transform:none;letter-spacing:0;font-size:15px;color:var(--txt);margin:14px 0 0}
label.drop .muted{font-family:var(--mono);font-size:11px;letter-spacing:1px;margin-top:4px}
