:root{
  --bg:#07060f;--bg2:#12102a;--card:#181633;--line:#2b2750;
  --mag:#ff2fb3;--pur:#8b5cf6;--gold:#ffb400;--cyan:#38e8ff;
  --txt:#f5f1ff;--mut:#b7b0d6;--ok:#22c55e;--warn:#f59e0b;--bad:#ef4444;
  --r:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--txt);line-height:1.5}
a{color:var(--cyan)}
img{max-width:100%;display:block}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;font-weight:700;text-decoration:none;border:0;cursor:pointer;font-size:15px;transition:.15s;color:#fff}
.btn-mag{background:linear-gradient(90deg,var(--mag),var(--pur));box-shadow:0 0 24px rgba(255,47,179,.45)}
.btn-gold{background:linear-gradient(90deg,#ffb400,#ff7a00);color:#1a0d00}
.btn-ghost{background:transparent;border:2px solid var(--line);color:var(--txt)}
.btn-sm{padding:7px 14px;font-size:13px}
.btn:hover{transform:translateY(-1px);filter:brightness(1.08)}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.neon{color:var(--gold);text-shadow:0 0 18px rgba(255,180,0,.55)}
.tag{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;background:var(--line);color:var(--txt)}
.tag.mag{background:rgba(255,47,179,.2);color:#ff8ad6}
.tag.gold{background:rgba(255,180,0,.2);color:var(--gold)}
.tag.ok{background:rgba(34,197,94,.2);color:#6ee7a0}
.tag.warn{background:rgba(245,158,11,.2);color:#fbbf24}
.tag.bad{background:rgba(239,68,68,.2);color:#fca5a5}
.tag.cyan{background:rgba(56,232,255,.15);color:var(--cyan)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
h1,h2,h3{line-height:1.15;margin:0 0 12px}
h2{font-size:28px}
p{margin:0 0 12px}
.mut{color:var(--mut)}
.small{font-size:13px}
label{display:block;font-size:13px;font-weight:600;color:var(--mut);margin:10px 0 4px}
input,select,textarea{width:100%;padding:11px 12px;border-radius:10px;border:1px solid var(--line);background:#0e0c21;color:var(--txt);font-size:15px;font-family:inherit}
input:focus,select:focus,textarea:focus{outline:2px solid var(--pur);border-color:var(--pur)}
textarea{min-height:90px;resize:vertical}
.msg{padding:12px 14px;border-radius:10px;margin:12px 0;font-size:14px}
.msg.ok{background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.4)}
.msg.bad{background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.4)}
.msg.info{background:rgba(56,232,255,.1);border:1px solid rgba(56,232,255,.3)}
table{width:100%;border-collapse:collapse;font-size:13.5px}
th,td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{color:var(--mut);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0;background:var(--card)}
tr:hover td{background:rgba(255,255,255,.02)}
.tbl{overflow:auto;max-height:70vh;border:1px solid var(--line);border-radius:12px}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.sp{flex:1}
header.site{position:sticky;top:0;z-index:20;background:rgba(7,6,15,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;gap:14px;height:60px}
header.site .brand{font-weight:900;letter-spacing:.02em;text-decoration:none;color:#fff}
header.site .brand span{color:var(--mag)}
header.site nav{margin-left:auto;display:flex;gap:14px;font-size:14px}
header.site nav a{color:var(--mut);text-decoration:none}
header.site nav a:hover{color:#fff}
footer.site{border-top:1px solid var(--line);padding:30px 0;color:var(--mut);font-size:13px;margin-top:60px}
@media(max-width:640px){h2{font-size:23px}.btn{padding:11px 16px;font-size:14px}header.site nav{display:none}}
