:root{--bg:#0a0b12;--bg2:#0f1120;--panel:rgba(23,26,43,.62);--panel-solid:#171a2b;--line:rgba(255,255,255,.08);--txt:#eef1f8;--muted:#9aa3bd;--faint:#6b7392;--accent:#7c5cff;--accent2:#22d3ee;--ok:#34d399;--bad:#fb5a6a;--warn:#fbbf24;--radius:18px;--shadow:0 20px 50px -20px rgba(0,0,0,.7)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;color:var(--txt);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background:radial-gradient(1100px 600px at 12% -10%,rgba(124,92,255,.22),transparent 60%),radial-gradient(900px 500px at 100% 0%,rgba(34,211,238,.15),transparent 55%),linear-gradient(180deg,var(--bg),var(--bg2));background-attachment:fixed}.app{min-height:100%;display:flex;flex-direction:column}.top{display:flex;align-items:center;gap:14px;padding:18px 26px}.brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:-.02em;font-size:19px}.logo{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 6px 18px -4px #7c5cffb3;font-size:16px}.brand small{font-weight:500;color:var(--faint);font-size:12px;letter-spacing:0}.top .spacer{flex:1}.pill{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);border:1px solid var(--line);background:#ffffff08;padding:6px 12px;border-radius:99px}.pill .g{width:7px;height:7px;border-radius:50%;background:var(--faint)}.pill .g.live{background:var(--ok);box-shadow:0 0 0 4px #34d3992e}.main{flex:1;display:grid;grid-template-columns:1fr 360px;gap:20px;padding:8px 26px 30px;max-width:1280px;margin:0 auto;width:100%}@media(max-width:900px){.main{grid-template-columns:1fr}}.stage{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:600px){.stage{grid-template-columns:1fr}}.tile{position:relative;border-radius:var(--radius);overflow:hidden;background:#05060c;border:1px solid var(--line);aspect-ratio:4/3;box-shadow:var(--shadow)}.tile video{width:100%;height:100%;object-fit:cover;display:block;transform:scaleX(-1);transition:filter .35s ease}.tile.blocked video{filter:blur(26px) brightness(.45) saturate(.6)}.tile .tag{position:absolute;top:12px;left:12px;z-index:2;font-size:11px;font-weight:600;background:#06080e99;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:5px 11px;border-radius:99px;border:1px solid var(--line)}.tile .ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius);pointer-events:none;z-index:1;box-shadow:inset 0 0 0 2px transparent;transition:box-shadow .3s}.tile.clean .ring{box-shadow:inset 0 0 0 2px #34d39980}.tile.blocked .ring{box-shadow:inset 0 0 0 3px #fb5a6ad9}.tile .cover{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:none;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:20px;background:radial-gradient(circle at center,#b4142859,#780a198c)}.tile.blocked .cover{display:flex;animation:pop .25s ease}@keyframes pop{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.cover .icon{font-size:34px}.cover .h{font-size:20px;font-weight:800;letter-spacing:.02em}.cover .s{font-size:13px;color:#ffd9de;max-width:80%}.tile .placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--faint);font-size:13px}.controls{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.btn{font:inherit;font-size:13.5px;font-weight:650;padding:11px 18px;border-radius:12px;cursor:pointer;border:1px solid var(--line);background:#ffffff0a;color:var(--txt);transition:transform .1s,background .2s,opacity .2s}.btn:hover:not(:disabled){background:#ffffff17}.btn:active:not(:disabled){transform:translateY(1px)}.btn.primary{border:none;color:#0a0b12;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 10px 24px -8px #7c5cff99}.btn:disabled{opacity:.4;cursor:not-allowed}.hint{margin-top:16px;font-size:12.5px;color:var(--muted);line-height:1.6;max-width:60ch}.hint code{background:#ffffff0f;padding:2px 7px;border-radius:6px;color:var(--txt)}.side{display:flex;flex-direction:column;gap:16px}.card{background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.card h2{margin:0 0 14px;font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--faint);font-weight:700}.verdict{display:flex;align-items:center;gap:12px}.verdict .orb{width:44px;height:44px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-size:20px;background:#ffffff0d;border:1px solid var(--line);transition:.3s}.verdict.ok .orb{background:#34d39924;border-color:#34d39980;box-shadow:0 0 22px -4px #34d39999}.verdict.bad .orb{background:#fb5a6a29;border-color:#fb5a6a99;box-shadow:0 0 26px -2px #fb5a6ab3}.verdict .vt{font-weight:750;font-size:15px}.verdict .vs{font-size:12.5px;color:var(--muted);margin-top:2px}.meters{margin-top:16px;display:flex;flex-direction:column;gap:12px}.meter .row{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:5px}.meter .row span{color:var(--muted)}.meter .row b{font-variant-numeric:tabular-nums;color:var(--txt)}.track{height:7px;border-radius:99px;background:#ffffff0f;overflow:hidden}.track i{display:block;height:100%;width:0;border-radius:99px;transition:width .3s,background .3s}.opts{display:flex;flex-direction:column;gap:16px}.opt label{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-bottom:8px}.opt label b{color:var(--txt)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--accent2));outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:17px;height:17px;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 2px 8px #00000080}.log{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow:auto;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11.5px}.log .l{display:flex;gap:8px;padding:6px 10px;border-radius:9px;background:#ffffff08;border-left:3px solid var(--line)}.log .l.ok{border-left-color:var(--ok)}.log .l.bad{border-left-color:var(--bad)}.log .l time{color:var(--faint);flex-shrink:0}.log .empty{color:var(--faint);font-family:inherit;font-size:12.5px;padding:4px}
