/* VIDEOSTARS — фирменный стиль RIG/evotop (way.evotop.pro: navy ground + violet/cyan glow). Крупная сдержанная типографика. */
:root{
  --ground:#070A16; --panel:#111834; --panel2:#0E1428; --line:#23305C; --line2:#2c3a6b;
  --ink:#EAEEFC; --muted:#8B96C4; --dim:#5C678F;
  --violet:#8B5CF6; --cyan:#22D3EE; --green:#34D399; --amber:#FBBF24; --red:#F87171;
  --grad:linear-gradient(135deg,#8B5CF6,#22D3EE);
  --blue:var(--cyan); --purple:var(--violet); --orange:var(--amber); --yellow:var(--amber);
  --acc:var(--violet); --acc2:var(--cyan);
  --r:16px; --r2:12px; --sh:0 18px 44px -22px rgba(0,0,0,.7);
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{
  background:
    radial-gradient(1100px 560px at 82% -12%,rgba(139,92,246,.18),transparent 58%),
    radial-gradient(900px 480px at 2% 4%,rgba(34,211,238,.10),transparent 55%),
    var(--ground);
  background-attachment:fixed;
  color:var(--ink);
  font:19px/1.5 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;min-height:100vh;
}

/* Header */
.top{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  padding:18px 34px;backdrop-filter:blur(10px);background:rgba(7,10,22,.72);border-bottom:1px solid var(--line)}
.brand{font-weight:800;font-size:30px;letter-spacing:-.5px;display:flex;align-items:center;gap:12px}
.brand .logo{font-size:30px}
.brand{background:var(--grad);-webkit-background-clip:text;background-clip:text}
.brand, .brand *{color:transparent}
.logo{color:initial;-webkit-text-fill-color:initial}
.sub{font-weight:600;font-size:16px;color:var(--muted);margin-left:6px;-webkit-text-fill-color:var(--muted);max-width:150px;line-height:1.25}
.net{font-size:17px;font-weight:700;padding:9px 18px;border-radius:999px;border:1px solid var(--line2);background:var(--panel2)}
.net.green{color:var(--green);border-color:rgba(52,211,153,.45);background:rgba(52,211,153,.08)}
.net.amber{color:var(--amber);border-color:rgba(251,191,36,.45);background:rgba(251,191,36,.08)}
.net.red{color:var(--red);border-color:rgba(248,113,113,.5);background:rgba(248,113,113,.1)}

/* Tabs */
.tabs{display:flex;gap:10px;padding:18px 34px;overflow-x:auto;position:sticky;top:75px;z-index:40;
  backdrop-filter:blur(8px);background:rgba(7,10,22,.55);border-bottom:1px solid var(--line)}
.tabs button{background:var(--panel2);color:var(--muted);border:1px solid var(--line);padding:12px 22px;
  border-radius:999px;font-size:18px;font-weight:700;cursor:pointer;white-space:nowrap;transition:.15s;display:flex;align-items:center;gap:9px}
.tabs button:hover{color:var(--ink);border-color:var(--line2)}
.tabs button.active{color:#08111f;background:var(--grad);border-color:transparent;box-shadow:0 10px 28px -14px rgba(139,92,246,.8)}
.tabs b{background:rgba(8,17,31,.22);padding:2px 11px;border-radius:999px;font-size:15px;font-weight:800}

main{padding:34px;max-width:1280px;margin:0 auto}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:28px;margin-bottom:22px;
  position:relative;overflow:hidden;box-shadow:var(--sh)}
.panel::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--grad);opacity:.85}
h2{font-size:26px;font-weight:800;letter-spacing:-.4px;margin-bottom:6px}
.hint{color:var(--muted);font-size:16px;margin-bottom:20px;line-height:1.5}

/* Tables */
table{width:100%;border-collapse:collapse}
th{text-align:left;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-weight:800;padding:0 16px 14px}
th.n,td.n{text-align:right}
td{padding:18px 16px;border-top:1px solid var(--line);font-size:18px;vertical-align:middle}
tr.row{cursor:pointer;transition:.12s}
tr.row:hover td{background:var(--panel2)}
.num{font-variant-numeric:tabular-nums;font-weight:700}
.blue{color:var(--cyan)} .purple{color:var(--violet)} .orange{color:var(--amber)} .green{color:var(--green)} .yellow{color:var(--amber)} .mut{color:var(--muted)}
.chname{font-weight:700;font-size:19px;display:flex;align-items:center;gap:12px}
.dot{width:11px;height:11px;border-radius:50%;flex:none;box-shadow:0 0 8px currentColor}
.st-active{background:var(--green);color:var(--green)} .st-warming{background:var(--amber);color:var(--amber)}
.st-frozen{background:var(--cyan);color:var(--cyan)} .st-banned{background:var(--red);color:var(--red)}
.tag{font-size:14px;padding:4px 12px;border-radius:999px;background:var(--panel2);border:1px solid var(--line2);color:var(--muted);font-weight:600}

.iso{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:18px;font-variant-numeric:tabular-nums}
.bar{width:64px;height:8px;border-radius:999px;background:var(--line2);overflow:hidden}
.bar>i{display:block;height:100%;border-radius:999px}
.iso-hi>i{background:var(--green)} .iso-mid>i{background:var(--amber)} .iso-lo>i{background:var(--red)}
.iso-hi{color:var(--green)} .iso-mid{color:var(--amber)} .iso-lo{color:var(--red)}

/* KPI cards */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.kpi{background:var(--panel2);border:1px solid var(--line);border-radius:var(--r2);padding:20px 22px;
  background-image:linear-gradient(180deg,rgba(139,92,246,.06),transparent)}
.kpi .v{font-size:38px;font-weight:850;letter-spacing:-.6px;font-variant-numeric:tabular-nums;line-height:1.1}
.kpi .l{color:var(--muted);font-size:15px;margin-top:6px;font-weight:600}

/* Controls */
.controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:18px}
label{display:block;font-size:15px;color:var(--muted);margin-bottom:8px;font-weight:600}
select,input{width:100%;background:var(--panel2);border:1px solid var(--line2);color:var(--ink);padding:13px 15px;border-radius:var(--r2);font-size:18px;font-family:inherit}
select:focus,input:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 3px rgba(139,92,246,.18)}
.btn{background:var(--grad);color:#08111f;border:none;padding:14px 24px;border-radius:var(--r2);font-size:18px;font-weight:800;cursor:pointer;transition:.15s;box-shadow:0 10px 28px -14px rgba(139,92,246,.8)}
.btn:hover{filter:brightness(1.08)}
.btn:disabled{opacity:.6;cursor:default;filter:none}
.btn.ghost{background:var(--panel2);border:1px solid var(--line2);color:var(--ink);box-shadow:none}
.wfull{grid-column:1/-1}

/* Violations */
.viol{display:flex;align-items:center;gap:14px;padding:16px 20px;border-radius:var(--r2);margin-bottom:11px;border:1px solid var(--line2);background:var(--panel2);font-size:17px}
.viol.crit{background:rgba(248,113,113,.08);border-color:rgba(248,113,113,.4)}
.viol.warn{background:rgba(251,191,36,.07);border-color:rgba(251,191,36,.32)}
.viol .sev{font-size:14px;font-weight:800;padding:4px 11px;border-radius:6px;flex:none}
.viol.crit .sev{background:var(--red);color:#1a0808} .viol.warn .sev{background:var(--amber);color:#241c00}
.viol .who{color:var(--muted);font-size:15px;margin-left:auto;font-variant-numeric:tabular-nums;flex:none}
.viol code{color:var(--cyan)}

.spark{display:block}
/* Video cards */
.vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.vcard{background:var(--panel2);border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;transition:.15s}
.vcard:hover{border-color:var(--violet);box-shadow:0 14px 34px -20px rgba(139,92,246,.7)}
.vcard img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:#000}
.vcard .b{padding:14px 16px}
.vcard .t{font-size:16px;font-weight:700;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:44px}
.vcard .m{color:var(--muted);font-size:15px;margin-top:9px;display:flex;justify-content:space-between}
.badge{position:absolute;margin:10px;background:var(--grad);color:#08111f;font-size:14px;font-weight:800;padding:4px 11px;border-radius:6px;z-index:2}
.rel{position:relative}

/* Modal */
.modal{position:fixed;inset:0;background:rgba(3,6,16,.78);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding:44px 20px;overflow:auto;z-index:60}
.modal[hidden]{display:none}  /* .modal{display:flex} перебивает UA [hidden] — возвращаем скрытие */
.card{background:var(--panel);border:1px solid var(--line2);border-radius:var(--r);max-width:920px;width:100%;box-shadow:var(--sh)}
.card .h{padding:26px 28px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}
.card .bd{padding:28px}
.x{background:var(--panel2);border:1px solid var(--line2);color:var(--ink);width:42px;height:42px;border-radius:10px;cursor:pointer;font-size:22px;flex:none}
.x:hover{border-color:var(--violet)}
.pass{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px;margin-top:10px}
.pass .k{color:var(--muted);font-size:15px}
.pass .r{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);gap:18px;font-size:17px}
.pass .r>span:last-child{font-weight:600;text-align:right}
.section-t{font-size:14px;text-transform:uppercase;letter-spacing:.18em;color:var(--cyan);margin:26px 0 12px;font-weight:800}
.empty{color:var(--muted);text-align:center;padding:56px 20px;font-size:18px}
.warnbox{background:rgba(251,191,36,.07);border:1px solid rgba(251,191,36,.3);border-radius:var(--r2);padding:16px 18px;color:var(--amber);font-size:16px;margin-bottom:18px;line-height:1.5}

/* Radar */
.radar-2col{display:grid;grid-template-columns:1fr 1.4fr;gap:32px}
.trend-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 18px;background:var(--panel2);border:1px solid var(--line);border-radius:var(--r2);margin-bottom:10px;border-left:3px solid var(--violet)}
.trend-q{font-weight:700;font-size:18px}
.trend-peak{color:var(--muted);font-size:15px;text-align:right;flex:none}

@media(max-width:820px){.radar-2col{grid-template-columns:1fr}}
@media(max-width:640px){.pass{grid-template-columns:1fr}main{padding:18px}.top,.tabs{padding-left:18px;padding-right:18px}.tabs{top:70px}.sub{display:none}}
