/* Full-screen viewing uses the established ink green for active actions. */
#dialog.video-stream-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#090b0f;color:#fff;overflow:hidden;--video-tone-11:#090b0f;--video-tone-12:#fff;--video-tone-9:#0009;--video-tone-3:#0006;--video-tone-2:#ffffff40;--video-tone-0:#ffffff30}
#dialog.video-stream-dialog>header{position:absolute;inset:0 0 auto;z-index:5;display:flex;align-items:center;justify-content:center;height:calc(60px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 60px 0;background:linear-gradient(#0007,transparent);border:0;color:#fff;pointer-events:none}
#dialog.video-stream-dialog #dialog-title{font-size:14px;color:#fffc;font-weight:500}
#dialog.video-stream-dialog #close-dialog{position:absolute;left:12px;top:calc(8px + env(safe-area-inset-top));width:44px;height:44px;border:0;background:#0002;border-radius:50%;color:#fff;pointer-events:auto}
#dialog.video-stream-dialog #close-dialog svg{width:24px;height:24px}
#dialog.video-stream-dialog #dialog-body{position:absolute;inset:0;padding:0;margin:0;overflow:hidden;max-height:none;height:100%}
.video-stream{position:relative;width:100%;height:100%;overflow:hidden;outline:none;touch-action:pan-x;color:#fff;background:#090b0f}
.video-stream .vs-stage.player{position:absolute;inset:0;width:100%;height:100%;max-height:none;aspect-ratio:auto!important;touch-action:pan-x;background:#090b0f;transition:transform .18s ease-out}
.video-stream .vs-stage.player video{width:100%;height:100%;max-height:none;object-fit:contain}
.video-stream .vs-stage.player .poster{background:#090b0f;object-fit:contain}
.video-stream .vs-stage .ctl{bottom:calc(8px + env(safe-area-inset-bottom));left:12px;right:12px;width:auto;z-index:4;background:#0005;border-radius:12px;padding:8px;opacity:1!important;pointer-events:auto!important}
.video-stream .vs-stage .ctl button{min-width:36px;min-height:36px}
.video-stream .vs-stage .bar{min-height:36px;touch-action:none}
.video-stream .vs-info{position:absolute;left:0;right:0;bottom:calc(62px + env(safe-area-inset-bottom));padding:64px 84px 20px 20px;background:linear-gradient(transparent,#0009);pointer-events:none;z-index:2}
.video-stream .vs-info button,.video-stream .vs-info a{pointer-events:auto}
.video-stream .vs-author{display:flex;align-items:center;gap:9px;min-height:44px;text-align:left;margin-bottom:9px}
.video-stream .vs-author strong{font-size:16px;font-weight:600;line-height:1.4;text-shadow:0 1px 3px #0007}
.video-stream .vs-author .avatar{width:32px;height:32px;min-width:32px;border:1px solid #ffffff70;border-radius:50%;position:relative;overflow:hidden;display:grid;place-items:center;background:#3d3f43;font-size:13px}
.video-stream .vs-author img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.video-stream .vs-text{font-size:14px;line-height:1.65;white-space:pre-wrap;text-align:left;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 3px #0008;max-height:48px;width:100%}
.video-stream .vs-text.expanded{display:block;max-height:30dvh;overflow:auto;touch-action:pan-y;overscroll-behavior:contain;background:#0006;border-radius:8px;padding:8px}
.video-stream .vs-context{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.video-stream .vs-context>button,.video-stream .vs-context .flight-mark{font-size:12px;color:#fff;background:#ffffff20;border:1px solid #ffffff20;border-radius:18px;padding:5px 10px;margin:0;line-height:1.4}
.video-stream .vs-context .flight-mark img{filter:brightness(0) invert(1)}
.video-stream .vs-actions{position:absolute;right:12px;bottom:calc(140px + env(safe-area-inset-bottom));z-index:3;display:flex;flex-direction:column;gap:18px}
.video-stream .vs-actions button{width:48px;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#fff;border:0;background:none;filter:drop-shadow(0 2px 4px #0006)}
.video-stream .vs-actions svg{width:28px;height:28px}
.video-stream .vs-actions small{font-size:11px;line-height:1.2;font-weight:500}
.video-stream .vs-actions .is-liked svg,.video-stream .vs-actions .is-saved svg{fill:#a5a7ab;stroke:#a5a7ab}
.video-stream .vs-notice{position:absolute;top:24%;left:15%;right:15%;z-index:4;background:#1d1f23e8;border:1px solid #ffffff20;border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:12px;text-align:center;font-size:14px;line-height:1.6}
.video-stream .vs-notice[hidden]{display:none}
.video-stream .vs-notice button{background:#fff;color:#3d3f43;border-radius:24px;padding:10px 18px}
.video-stream button:focus-visible{outline:2px solid #cbcdd1;outline-offset:3px}
dialog.video-comments-sheet{position:fixed;inset:auto 0 0;width:100%;max-width:600px;height:72dvh;max-height:calc(100dvh - env(safe-area-inset-top));margin:0 auto;padding:0;border:0;border-radius:22px 22px 0 0;display:none;flex-direction:column;background:var(--bg,#fafaf8);color:var(--ink,#24262a);overflow:hidden}
dialog.video-comments-sheet[open]{display:flex}
.video-comments-sheet>header{flex:none;padding:14px 16px;border-bottom:1px solid #3d3f4312}
.video-comments-sheet .sheet-content{flex:1;overflow:auto;overscroll-behavior:contain;min-height:0;padding:8px 20px 18px}
.video-comments-sheet .comments-section{margin:0;padding:0;border:0}
.video-comments-sheet .comments-section>h3{display:none}
.video-comments-sheet #comment-form{flex:none;display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #3d3f4315;background:var(--bg,#fafaf8);margin:0}
.video-comments-sheet #comment-body{min-width:0;flex:1;border:0;border-radius:24px;background:#3d3f430a;padding:12px 16px;font-size:16px}
.video-comments-sheet #comment-form>button{border:0;border-radius:24px;background:#3d3f43;color:#fff;padding:10px 16px}
.video-comments-sheet .form-error{width:100%}
@media(min-width:700px){#dialog.video-stream-dialog{max-width:560px;left:50%;right:auto;transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.video-stream .vs-stage.player{transition:none}}

.video-stream .vs-context .flight-mark{background:#f6faf6;color:#3d3f43;border-color:transparent}
.video-stream .vs-context .flight-mark b{color:#3d3f43}

/* Batch57: fixed-size header, visual-viewport keyboard accommodation. */
dialog.video-comments-sheet>header{box-sizing:border-box;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;flex:0 0 52px;height:52px;min-height:52px;padding:4px 12px;position:relative;inset:auto;overflow:visible}
dialog.video-comments-sheet>header h2{margin:0;line-height:24px;font-size:17px;text-align:center}
dialog.video-comments-sheet>header button{position:static;display:grid;place-items:center;width:44px;height:44px;padding:0}
dialog.video-comments-sheet>header svg{width:20px;height:20px}
dialog.video-comments-sheet.keyboard-open #comment-form{padding-bottom:10px}
