:root{--bg:#0b1020;--bg-raise:#121a30;--bg-card:#151f3a;--border:#26314f;--text:#e6ebf5;--text-dim:#93a0bd;--accent:#4f7cff;--accent-soft:rgba(79,124,255,0.15);--danger:#ef4444;--ok:#22c55e;--radius:10px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{line-height:1.25}h1{font-size:26px;margin:0 0 6px}h2{font-size:19px;margin:26px 0 10px}h3{font-size:16px;margin:18px 0 8px}.muted{color:var(--text-dim)}.small{font-size:13px}.site-header{display:flex;align-items:center;gap:22px;padding:14px 26px;border-bottom:1px solid var(--border);background:var(--bg-raise);position:-webkit-sticky;position:sticky;top:0;z-index:20}.site-header .brand{font-weight:700;font-size:17px;color:var(--text);letter-spacing:.2px}.site-header .brand:hover{text-decoration:none}.site-header .brand span{color:var(--accent)}.site-header nav{display:flex;gap:16px;margin-left:auto;align-items:center}.site-header nav a{color:var(--text-dim);font-weight:500}.site-header nav a:hover{color:var(--text);text-decoration:none}.page{max-width:1280px;margin:0 auto;padding:26px}.page-wide{max-width:1480px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;margin-bottom:18px}.card h2:first-child,.card h3:first-child{margin-top:0}.grid-2{grid-template-columns:1fr 1fr;grid-gap:18px}.grid-2,.grid-3{display:grid;gap:18px}.grid-3{grid-template-columns:repeat(3,1fr);grid-gap:18px}@media (max-width:900px){.grid-2,.grid-3{grid-template-columns:1fr}}table.data{width:100%;border-collapse:collapse;font-size:14px}table.data th{text-align:left;color:var(--text-dim);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;padding:8px 10px;border-bottom:1px solid var(--border)}table.data td{padding:9px 10px;border-bottom:1px solid rgba(38,49,79,.6);vertical-align:middle}table.data tr:last-child td{border-bottom:none}table.data tr:hover td{background:rgba(79,124,255,.05)}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid transparent;white-space:nowrap}.badge-outline{background:transparent;border-color:var(--border);color:var(--text-dim)}.chip{display:inline-block;padding:1px 8px;border-radius:6px;font-size:12px;background:var(--accent-soft);color:var(--text);margin:1px 3px 1px 0;border:1px solid var(--border)}form.stack{gap:12px}.field,form.stack{display:flex;flex-direction:column}.field{gap:4px}.field label{font-size:12px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px}input[type=date],input[type=email],input[type=number],input[type=password],input[type=text],input[type=url],select,textarea{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:7px;padding:8px 10px;font-size:14px;font-family:inherit;width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}textarea{min-height:74px;resize:vertical}.row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.row .field{flex:1 1;min-width:130px}.row .field.narrow{flex:0 0 110px;min-width:110px}.btn,button{background:var(--accent);color:white;border:none;border-radius:7px;padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}.btn:hover,button:hover{filter:brightness(1.12);text-decoration:none}.btn.secondary,button.secondary{background:transparent;border:1px solid var(--border);color:var(--text)}button.danger{background:transparent;border:1px solid var(--danger);color:var(--danger);padding:5px 10px;font-size:12px}button.sm{padding:5px 12px;font-size:12px}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-gap:4px 14px;gap:4px 14px;font-size:14px}.checkbox-grid label{display:flex;gap:7px;align-items:center;font-weight:400;cursor:pointer}.form-error{color:var(--danger);font-size:14px}.form-ok{color:var(--ok);font-size:14px}.admin-shell{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 57px)}.admin-nav{border-right:1px solid var(--border);padding:20px 12px;background:var(--bg-raise);display:flex;flex-direction:column;gap:2px}.admin-nav .nav-title{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--text-dim);margin:14px 10px 5px}.admin-nav a{color:var(--text-dim);padding:6px 10px;border-radius:7px;font-size:14px;font-weight:500}.admin-nav a:hover{background:var(--accent-soft);color:var(--text);text-decoration:none}.admin-main{padding:26px;max-width:1100px}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:14px;gap:14px}.stat{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.stat .num{font-size:28px;font-weight:700}.stat .lbl{color:var(--text-dim);font-size:13px}.radar-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);grid-gap:26px;gap:26px;align-items:start}@media (max-width:1100px){.radar-layout{grid-template-columns:1fr}}.radar-svg-wrap{position:-webkit-sticky;position:sticky;top:80px}.radar-svg-wrap svg{width:100%;height:auto;display:block}.blip{cursor:pointer}.blip circle{transition:r .1s ease}.blip:hover circle{stroke:white;stroke-width:2}.blip text{pointer-events:none}.legend-ring-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:7px}.platform-list-item{display:flex;align-items:baseline;gap:8px;padding:3px 6px;border-radius:6px}.platform-list-item:hover{background:var(--accent-soft)}.platform-list-item .num{color:var(--text-dim);font-size:12px;min-width:22px;text-align:right}.score-bar{display:flex;gap:3px}.score-cell{width:22px;height:10px;border-radius:3px;background:var(--border)}.score-cell.on{background:var(--accent)}.login-wrap{min-height:calc(100vh - 57px);display:flex;align-items:center;justify-content:center}.login-card{width:380px}hr.sep{border:none;border-top:1px solid var(--border);margin:16px 0}