@font-face{font-family:Inter;src:url(/fonts/Inter.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:SoulIcons;src:url(/fonts/soul-icons.ttf) format("truetype");font-weight:400;font-style:normal;font-display:block}.soul-icon{font-family:SoulIcons;font-style:normal;font-weight:400;font-size:22px;line-height:1;display:block;speak:never;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;outline:none!important;-webkit-tap-highlight-color:transparent}:root{--accent: #0063e5;--bg: #000;--text: #ffffff;--text-dim: rgba(255, 255, 255, .55)}html,body,#root{width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.viewer{position:relative;width:100dvw;height:100dvh;background:#000;overflow:hidden;cursor:none}.viewer.ctrls-on{cursor:default}.player-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;background:#000}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--bg);z-index:10}.overlay-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.overlay-logo{font-size:.75rem;font-weight:700;letter-spacing:.25em;color:var(--accent);text-transform:uppercase}.overlay-msg{font-size:.95rem;color:var(--text-dim)}.player-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:5}.player-spinner{width:48px;height:48px;animation:spin 1s linear infinite}.player-spinner-arc{stroke-dasharray:80;stroke-dashoffset:20}@keyframes spin{to{transform:rotate(360deg)}}.badge-control{position:absolute;top:1rem;right:1rem;background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255 255 255 / .1);color:var(--text);font-size:.72rem;font-weight:500;padding:.3rem .7rem;border-radius:100px;z-index:20;letter-spacing:.02em}.player-top{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:32px 32px 64px;background:linear-gradient(180deg,rgba(0,0,0,.84),transparent 84%);z-index:15;opacity:0;pointer-events:none;transform:translateY(-100%);transition:opacity .2s ease,transform .2s ease}.viewer.ctrls-on .player-top{opacity:1;pointer-events:auto;transform:translateY(0)}.player-title{font-size:20px;font-weight:500;color:#fff;flex:1;line-height:1;align-self:center;text-shadow:0 1px 8px rgba(0,0,0,.7),0 0 24px rgba(0,0,0,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-top-right{display:flex;align-items:center;gap:4px;flex-shrink:0}.viewer-count{font-size:15px;font-weight:500;color:var(--text-dim);white-space:nowrap;text-shadow:0 1px 6px rgba(0,0,0,.7)}.player-bottom{position:absolute;bottom:0;left:0;right:0;padding:0 32px 16px;background:linear-gradient(0deg,rgba(0,0,0,.84),transparent 84%);z-index:15;opacity:0;pointer-events:none;transform:translateY(100%);transition:opacity .2s ease,transform .2s ease}.viewer.ctrls-on .player-bottom{opacity:1;pointer-events:auto;transform:translateY(0)}.player-scrubber{display:flex;align-items:center;margin:0 16px 16px;position:relative}.player-progress-wrap{flex:1;position:relative;display:flex;align-items:center}.player-progress-wrap .player-progress{width:100%}.player-hover-line{position:absolute;top:50%;transform:translate(-50%,-50%);width:5px;height:8px;background:#ffffff59;border-radius:1px;pointer-events:none}.player-hover-time{position:absolute;bottom:calc(100% + 18px);left:50%;transform:translate(-50%);color:#fff;font-size:15px;font-weight:600;white-space:nowrap;pointer-events:none;text-shadow:0 1px 4px rgba(0,0,0,.8)}.player-progress{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;border-radius:2px;background:linear-gradient(to right,#0063e5 var(--pct, 0%),rgba(255,255,255,.5) var(--pct, 0%),rgba(255,255,255,.5) var(--buf-pct, 0%),hsla(0,0%,100%,.2) var(--buf-pct, 0%));outline:none;transform-origin:center;transition:transform .15s ease-in-out}.player-progress::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 1px 4px #0006;transition:transform .15s ease-in-out}.player-progress:hover{transform:scaleY(2)}.player-progress:hover::-webkit-slider-thumb{transform:scaleY(.5) scale(1.6)}.player-time{position:absolute;right:0;font-size:15px;font-weight:700;color:#fff;white-space:nowrap;font-variant-numeric:tabular-nums;text-shadow:0 1px 8px rgba(0,0,0,.7),0 0 24px rgba(0,0,0,.5);pointer-events:none}.player-controls{display:flex;align-items:center;justify-content:space-between;position:relative}.player-controls-left,.player-controls-right{display:flex;align-items:center;gap:4px}.player-controls-center{position:absolute;left:50%;transform:translate(-50%)}.ctrl-btn{background:none;border:none;color:#ffffffd9;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:10px;border-radius:8px;transition:color .15s,transform .15s;flex-shrink:0}.ctrl-btn:hover{color:#fff;transform:scale(1.08)}.ctrl-play{padding:8px}.ctrl-readonly{cursor:default;opacity:.5;pointer-events:none}.vol-wrap{display:flex;align-items:center;gap:0}.player-volume{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100px;height:4px;margin-left:-2px;border-radius:2px;background:linear-gradient(to right,#0063e5 var(--vol-pct, 100%),hsla(0,0%,100%,.2) var(--vol-pct, 100%));outline:none;cursor:pointer}.player-volume::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:13px;height:13px;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 1px 4px #0006}.quality-select{background:#0009;color:var(--text);border:1px solid rgba(255 255 255 / .15);border-radius:6px;padding:.25rem .6rem;font-size:14px;font-family:Inter,sans-serif;cursor:pointer;outline:none;transition:border-color .15s}.quality-select:hover{border-color:#ffffff4d}.empty-state{display:flex;align-items:center;justify-content:center;height:100dvh;color:var(--text-dim);font-size:.9rem}
