body.redqv-standalone { margin:0; background:#090b0e; overflow:hidden; }
.redqv-player { position:fixed; inset:0; height:100dvh; overflow:hidden; background:#090b0e; color:#fff; z-index:99999; font:400 16px/1.4 Nunito,Arial,sans-serif; touch-action:pan-x; isolation:isolate; }
.redqv-player * { box-sizing:border-box; }
.redqv-player button,.redqv-player select { font:700 14px/1.2 Nunito,Arial,sans-serif; color:#fff; cursor:pointer; }
.redqv-player button { border:1px solid #ffffff30; background:#161a20c9; border-radius:8px; min-height:44px; padding:10px 16px; transition:background .15s,color .15s; }
.redqv-player button:disabled { opacity:.45; cursor:default; }
.redqv-player button:hover { background:#32363c; }
.redqv-player button:focus-visible,.redqv-player select:focus-visible,.redqv-player input:focus-visible { outline:3px solid #ee1b24; outline-offset:3px; }
.redqv-video { position:absolute; width:100%; height:100%; object-fit:contain; background:#090b0e; }
.redqv-controls { position:absolute; inset:0; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .2s,visibility .2s; }
.redqv-player.controls-visible .redqv-controls { opacity:1; visibility:visible; }
.redqv-shade { position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,transparent 55%,#000b 100%); }
.redqv-player footer { position:absolute; bottom:0; left:0; right:0; padding:24px 24px calc(18px + env(safe-area-inset-bottom)); pointer-events:none; }
.redqv-player footer input { pointer-events:auto; }
.redqv-caption { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:8px; }
.redqv-player .redqv-title { flex:1; min-width:0; font:700 clamp(18px,3vw,26px)/1.25 Nunito,Arial,sans-serif; color:#fff; margin:0; }
.redqv-time { display:flex; align-items:center; gap:10px; font-size:12px; font-variant-numeric:tabular-nums; }
.redqv-seek { flex:1; min-width:0; accent-color:#ee1b24; height:24px; cursor:pointer; }
.redqv-actions { position:absolute; right:24px; bottom:130px; display:grid; gap:12px; pointer-events:auto; }
.redqv-actions button { display:grid; place-items:center; width:46px; height:46px; padding:0; border-radius:50%; font-size:19px; }
.redqv-player .redqv-like { position:absolute; right:8px; bottom:0; display:flex; align-items:center; gap:6px; flex:none; min-height:44px; padding:6px 4px; border:0; border-radius:0; background:transparent; font-size:12px; font-weight:400; text-shadow:0 1px 3px #000; }
.redqv-player .redqv-like:hover { background:transparent; }
.redqv-player .redqv-like[aria-pressed=true] { color:#ee1b24; background:transparent; }
.redqv-like-count { font-variant-numeric:tabular-nums; }
.redqv-status { position:absolute; top:42%; left:24px; right:24px; text-align:center; pointer-events:none; color:#fff; }
.redqv-status:empty { display:none; }
.redqv-player dialog { position:fixed; inset:0; margin:auto; max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); border:1px solid #ffffff18; border-radius:12px; background:#12151b; color:#fff; padding:24px; overflow-y:auto; overscroll-behavior:contain; }
.redqv-player dialog[open] { animation:redqv-popup .18s ease-out; }
.redqv-player dialog::backdrop { background:#000a; }
.redqv-library { width:780px; }
.redqv-language-dialog { width:440px; }
.redqv-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.redqv-library .redqv-dialog-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,180px) minmax(0,1fr); gap:12px; }
.redqv-library .redqv-close { justify-self:end; }
.redqv-player dialog h2 { color:#fff; font-size:20px; font-weight:700; margin:0; }
.redqv-dialog-head button { display:grid; place-items:center; width:44px; height:44px; padding:0; font-size:18px; }
.redqv-language-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.redqv-language-options button { text-align:center; }
.redqv-language-options button[aria-pressed=true] { border-color:#ee1b24; background:#ee1b2426; }
.redqv-language-dialog .redqv-dialog-head { position:relative; justify-content:center; min-height:44px; }
.redqv-language-dialog .redqv-language-close { position:absolute; right:0; }
.redqv-library-language-wrap { display:flex; justify-content:center; min-width:0; }
.redqv-library-language { width:100%; max-width:100%; background:#20252d; border:1px solid #ffffff40; border-radius:8px; padding:8px 10px; min-height:36px; text-align:center; }
.redqv-library-language option { background:#20252d; color:#fff; }
.redqv-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px 14px; }
.redqv-card { min-width:0; }
.redqv-thumbnail { position:relative; }
.redqv-grid .redqv-select-video { display:block; width:100%; padding:0; border:0; background:transparent; text-align:left; border-radius:0; }
.redqv-grid img,.redqv-grid video { width:100%; aspect-ratio:9/16; object-fit:cover; border-radius:8px; background:#252a34; display:block; }
.redqv-grid strong { display:block; margin-top:9px; font-size:13px; font-weight:700; }
.redqv-grid button[aria-current=true] img,.redqv-grid button[aria-current=true] video { outline:2px solid #ee1b24; outline-offset:2px; }
.redqv-library-empty { font-size:14px; }
.redqv-library-empty:empty { display:none; }
@keyframes redqv-popup { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@media(min-width:800px) { .redqv-player footer { left:50%; right:auto; width:600px; transform:translateX(-50%); } .redqv-actions { right:calc(50% - 280px); } }
@media(max-width:480px) { .redqv-library .redqv-dialog-head { grid-template-columns:minmax(0,1fr) minmax(0,120px) minmax(0,1fr); gap:8px; } .redqv-library .redqv-dialog-head h2 { font-size:18px; } .redqv-player footer { padding-left:16px; padding-right:16px; } .redqv-actions { right:16px; bottom:120px; gap:10px; } .redqv-player dialog { padding:20px 16px; max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); } .redqv-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(prefers-reduced-motion:reduce) { .redqv-player dialog[open] { animation:none; } .redqv-controls,.redqv-player button { transition:none; } }
