: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.free{color:var(--ok);border-color:#34d39966;background:#34d3991a}.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}.tap-play{position:absolute;left:50%;bottom:14px;transform:translate(-50%);z-index:5;border:1px solid var(--line);background:#0a0c14d1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--txt);font-size:13px;font-weight:600;padding:9px 16px;border-radius:99px;cursor:pointer}.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}.meter.off{opacity:.35}.meter.off .track i{background:var(--faint)!important}.segmented{display:flex;gap:4px;background:#ffffff0a;border:1px solid var(--line);border-radius:11px;padding:4px}.segmented button{flex:1;border:0;background:transparent;color:var(--muted);cursor:pointer;padding:7px 4px;border-radius:8px;transition:.18s;font-family:inherit;display:flex;flex-direction:column;align-items:center;gap:1px;min-width:0}.segmented button .n{font-size:11.5px;font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.segmented button .s{font-size:9.5px;opacity:.6;letter-spacing:.04em;text-transform:uppercase}.segmented button:hover{color:var(--txt)}.segmented button.on{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;box-shadow:0 4px 12px -4px #7c5cffb3}.opt .note{margin-top:9px;font-size:11.5px;line-height:1.5;color:var(--faint)}.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}.etable-wrap{overflow-x:auto}.etable{width:100%;border-collapse:collapse;font-size:12.5px;min-width:420px}.etable th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);font-weight:700;padding:0 8px 8px;border-bottom:1px solid var(--line)}.etable th.num,.etable td.num{text-align:right}.etable td{padding:9px 8px;border-bottom:1px solid rgba(255,255,255,.05)}.etable tbody tr:last-child td{border-bottom:0}.etable tr.flagged{background:#fb5a6a12}.etable .ename{font-weight:650}.etable .num span{font-variant-numeric:tabular-nums}.etable .hot{color:var(--bad);font-weight:750}.etable .na{color:var(--faint)}.etable .ms{color:var(--faint);font-size:11px}.erow{margin-top:8px;padding:7px 9px;border-radius:8px;font-size:11.5px;color:var(--bad);background:#fb5a6a14;border:1px solid rgba(251,90,106,.28);word-break:break-word}.tag{margin-left:7px;font-size:9px;text-transform:uppercase;letter-spacing:.06em;padding:2px 5px;border-radius:4px;font-weight:750;vertical-align:middle}.tag.local{background:#34d39929;color:var(--ok)}.tag.cloud{background:#ffffff14;color:var(--muted)}.elist{display:flex;flex-direction:column;gap:2px}.echoice{display:flex;gap:10px;align-items:flex-start;padding:9px;border-radius:8px;cursor:pointer;transition:background .15s}.echoice:hover{background:#ffffff09}.echoice.off{opacity:.45;cursor:not-allowed}.echoice input{margin-top:2px;flex-shrink:0;accent-color:#3b82f6}.echoice .eb{display:flex;flex-direction:column;gap:2px;min-width:0}.echoice .en{font-size:13px;font-weight:650}.echoice .ed{font-size:11px;color:var(--faint);line-height:1.45}.warn{margin:12px 0 0;padding:8px 10px;border-radius:8px;font-size:11.5px;background:#fbbf241a;border:1px solid rgba(251,191,36,.3);color:#fbbf24}.btn.small{padding:7px 14px;font-size:12.5px}.etable tr.clickable{cursor:pointer}.etable tr.clickable:hover{background:#ffffff0a}.etable .caret{display:inline-block;width:14px;color:var(--faint);font-size:10px}.detail-row td{padding:0 8px 14px 22px;background:#0000002e}.dhead{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--faint);font-weight:700;padding:10px 0 9px}.dlist{display:flex;flex-direction:column;gap:5px}.dl{display:grid;grid-template-columns:minmax(90px,1.3fr) 3fr 52px;align-items:center;gap:10px}.dn{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dbar{height:5px;border-radius:99px;background:#ffffff0f;overflow:hidden}.dbar i{display:block;height:100%;border-radius:99px;transition:width .3s}.dv{font-size:10.5px;color:var(--faint);text-align:right;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
