:root{--bg:#0a0a0f;--surface:#ffffff0a;--border:#ffffff14;--text:#f5f5f7;--muted:#f5f5f773;--accent-a:#a78bfa;--accent-b:#f472b6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif}button{font-family:inherit}.stats{z-index:3;-webkit-backdrop-filter:blur(8px);background:#08080ce0;border:1px solid #ffffff1a;border-radius:11px;width:min(300px,100% - 32px);padding:12px 14px;font-size:11.5px;line-height:1.5;position:absolute;top:62px;left:16px}.stats-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.stats-label{color:#f5f5f773;white-space:nowrap}.stats-value{font-variant-numeric:tabular-nums;text-align:right;word-break:break-all;color:#f5f5f7eb}.stats-value.good{color:#6ee7b7}.stats-value.warn{color:#fcd34d}.stats-value.bad{color:#fca5a5}.stats-note{color:#f5f5f761;border-top:1px solid #ffffff14;margin:9px 0 0;padding-top:9px;font-size:10.5px;line-height:1.45}.player-backdrop{z-index:50;background:#050508f9;place-items:center;padding:clamp(8px,3vw,32px);display:grid;position:fixed;inset:0}.player-shell{aspect-ratio:16/9;background:#000;border-radius:16px;width:min(1280px,100%);max-height:100%;position:relative;overflow:hidden;box-shadow:0 30px 90px #0009}.player-shell:fullscreen{aspect-ratio:auto;border-radius:0;width:100%}.player-shell.idle{cursor:none}.video{object-fit:contain;background:#000;width:100%;height:100%;display:block}.player-head{pointer-events:none;background:linear-gradient(#000000c7,#0000);align-items:flex-start;gap:12px;padding:16px 18px 40px;transition:opacity .25s;display:flex;position:absolute;top:0;left:0;right:0}.player-head .ctl{pointer-events:auto}.head-text{flex:1;min-width:0}.head-text h2{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:14px;font-weight:500;overflow:hidden}.head-text p{color:var(--muted);margin:3px 0 0;font-size:12px}.controls{background:linear-gradient(#0000,#000000d9);padding:40px 16px 14px;transition:opacity .25s;position:absolute;bottom:0;left:0;right:0}.idle .controls,.idle .player-head{opacity:0;pointer-events:none}.bar{cursor:pointer;touch-action:none;align-items:center;height:16px;display:flex;position:relative}.bar:before{content:"";background:#fff3;border-radius:2px;height:3px;position:absolute;left:0;right:0}.bar-buffered,.bar-played{border-radius:2px;height:3px;position:absolute;left:0}.bar-buffered{background:#ffffff4d}.bar-played{background:linear-gradient(90deg, var(--accent-a), var(--accent-b))}.bar-knob{opacity:0;background:#fff;border-radius:50%;width:11px;height:11px;margin-left:-5.5px;transition:opacity .15s;position:absolute}.bar:hover .bar-knob{opacity:1}.row{align-items:center;gap:6px;margin-top:4px;display:flex}.ctl{color:#ffffffdb;cursor:pointer;background:0 0;border:none;border-radius:9px;place-items:center;width:34px;height:34px;transition:background .15s,color .15s,opacity .15s;display:grid}.ctl:hover:not(:disabled){color:#fff;background:#ffffff1f}.ctl:disabled{opacity:.3;cursor:default}.ctl.primary{background:#ffffff1f}.ctl.active{color:#c4b5fd;background:#a78bfa38}.ctl.close{background:#00000059}.time{font-variant-numeric:tabular-nums;color:#fffc;white-space:nowrap;margin-left:6px;font-size:12px}.slash{color:#ffffff59}.volume{align-items:center;gap:2px;margin-left:4px;display:flex}.volume-range{opacity:0;width:0;height:3px;accent-color:var(--accent-a);transition:width .2s,opacity .2s}.volume:hover .volume-range,.volume-range:focus{opacity:1;width:72px}.spacer{flex:1}.quality{color:#ffffff8c;white-space:nowrap;border:1px solid #ffffff24;border-radius:7px;padding:4px 9px;font-size:11px}.fallback{text-align:center;background:#0a0a0feb;place-content:center;justify-items:center;gap:14px;padding:32px;display:grid;position:absolute;inset:0}.fallback p{max-width:420px;color:var(--muted);margin:0;font-size:13px;line-height:1.6}.fallback-link{background:linear-gradient(135deg, var(--accent-a), var(--accent-b));color:#0a0a0f;border-radius:9px;padding:9px 16px;font-size:13px;font-weight:600;text-decoration:none}@media (width<=560px){.quality{display:none}.player-shell{border-radius:12px}}.app{background:radial-gradient(circle at 20% -10%, #a78bfa1a 0%, transparent 45%), radial-gradient(circle at 90% 0%, #f472b614 0%, transparent 40%), var(--bg);min-height:100vh}.top{border-bottom:1px solid var(--border);z-index:5;-webkit-backdrop-filter:blur(16px);background:#0a0a0fb8;justify-content:space-between;align-items:center;gap:16px;padding:22px clamp(16px,4vw,40px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;display:flex}.dot{background:linear-gradient(135deg, var(--accent-a), var(--accent-b));border-radius:50%;width:9px;height:9px;box-shadow:0 0 18px 1px #a78bfa8c}.wordmark{letter-spacing:.04em;font-size:15px;font-weight:600}.search{border:1px solid var(--border);width:min(260px,45vw);color:var(--text);background:#0000004d;border-radius:9px;outline:none;padding:9px 13px;font-size:13px;transition:border-color .15s}.search::placeholder{color:#f5f5f74d}.search:focus{border-color:#a78bfa8c}.content{padding:clamp(20px,4vw,36px) clamp(16px,4vw,40px) 64px}.state{color:var(--muted);text-align:center;padding:56px 0;font-size:14px}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:clamp(16px,2vw,24px);display:grid}.card{color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:11px;padding:0;display:flex}.thumb{aspect-ratio:16/9;border:1px solid var(--border);background:#ffffff0d;border-radius:13px;transition:transform .18s,border-color .18s;position:relative;overflow:hidden}.card:hover .thumb{border-color:#a78bfa73;transform:translateY(-3px)}.thumb img,.thumb-empty{object-fit:cover;width:100%;height:100%;display:block}.badge{font-variant-numeric:tabular-nums;letter-spacing:.02em;background:#000000c7;border-radius:6px;padding:3px 7px;font-size:11px;position:absolute;bottom:8px}.badge.time{right:8px}.badge.res{background:linear-gradient(135deg, var(--accent-a), var(--accent-b));color:#0a0a0f;font-weight:600;left:8px}.play{color:#fff;opacity:0;background:#0a0a0f6b;place-items:center;transition:opacity .18s;display:grid;position:absolute;inset:0}.card:hover .play{opacity:1}.meta{flex-direction:column;gap:4px;display:flex}.title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13.5px;font-weight:500;line-height:1.4;display:-webkit-box;overflow:hidden}.sub{color:var(--muted);margin:0;font-size:12px}.gate{z-index:9999;place-items:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif;display:grid;position:fixed;inset:0}.gate-bg{background:radial-gradient(circle at 30% 20%,#1a1a2e 0%,#0a0a0f 60%);position:absolute;inset:0}.gate-card{-webkit-backdrop-filter:blur(20px);background:#ffffff0a;border:1px solid #ffffff14;border-radius:20px;flex-direction:column;align-items:center;gap:6px;width:min(320px,88vw);padding:44px 32px 36px;display:flex;position:relative;box-shadow:0 20px 60px #00000080}.gate-mark{background:linear-gradient(135deg,#a78bfa,#f472b6);border-radius:50%;width:10px;height:10px;margin-bottom:14px;box-shadow:0 0 24px 2px #a78bfa8c}.gate-title{letter-spacing:.04em;color:#f5f5f7;margin:0;font-size:20px;font-weight:600}.gate-sub{color:#f5f5f773;margin:0 0 22px;font-size:13px}.gate-input{box-sizing:border-box;color:#f5f5f7;background:#00000040;border:1px solid #ffffff1a;border-radius:10px;outline:none;width:100%;padding:12px 14px;font-size:14px;transition:border-color .15s,background .15s}.gate-input::placeholder{color:#f5f5f747}.gate-input:focus{background:#00000059;border-color:#a78bfa99}.gate-button{color:#0a0a0f;cursor:pointer;background:linear-gradient(135deg,#a78bfa,#f472b6);border:none;border-radius:10px;width:100%;margin-top:14px;padding:11px 14px;font-size:14px;font-weight:600;transition:transform .12s,opacity .12s}.gate-button:hover{transform:translateY(-1px)}.gate-button:active{transform:translateY(0)}.gate-button:disabled{opacity:.6;cursor:default}.shake{animation:.4s shake;border-color:#f8717180!important}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}
