:root{color-scheme:dark;--color-bg:var(--bg);--color-text:var(--fg);--color-text-secondary:var(--muted);--color-text-muted:var(--muted);--color-card-bg:var(--card-bg);--color-card-border:var(--line);--color-card-border-active:var(--accent);--color-img-fallback-bg:var(--panel-bg);--color-btn-bg:var(--panel-bg);--color-btn-bg-active:var(--line);--color-btn-border:var(--line);--color-accent:var(--accent);--color-warn:var(--warn);--color-danger:var(--danger);--color-overlay-bg:color-mix(in srgb, var(--card-bg) 75%, transparent);--color-overlay-shadow:rgba(0, 0, 0, 0.8);--color-shot-overlay-scrim:rgba(0, 0, 0, 0.35);--rating-sheet-max-width:360px;--rating-unfilled-opacity:0.35;--z-rating-sheet:10001;--color-spinner-border:color-mix(in srgb, var(--fg) 30%, transparent);--color-gradient-controls:var(--gradient-controls);--text-shadow-subtle:var(--text-shadow-subtle);--text-shadow-raised:var(--text-shadow-raised);--genre-icon-scale:20cqw;--card-badge-blur:4px;--card-badge-bg:color-mix(in srgb, var(--card-bg) 70%, transparent);--card-badge-color:color-mix(in srgb, var(--color-text) 85%, transparent);--card-badge-border:color-mix(in srgb, var(--color-card-border) 60%, transparent);--card-fav-size:28px;--card-fav-bg:color-mix(in srgb, var(--card-bg) 55%, transparent);--card-fav-color:var(--color-text);--card-fav-border:color-mix(in srgb, var(--color-text) 18%, transparent);--card-fav-active-color:var(--color-danger);--card-fav-active-bg:color-mix(in srgb, var(--card-bg) 80%, transparent);--card-fav-active-border:color-mix(in srgb, var(--color-danger) 50%, transparent);--card-watch-bg:var(--card-badge-bg);--card-watch-color:var(--card-badge-color);--card-watch-border:var(--card-badge-border);--card-watch-watched-color:var(--ok);--card-watch-watched-border:color-mix(in srgb, var(--ok) 40%, transparent);--card-watch-watched-bg:var(--card-watch-bg);--card-watch-partial-color:var(--warn);--card-watch-partial-border:color-mix(in srgb, var(--warn) 50%, transparent);--card-watch-partial-bg:color-mix(in srgb, var(--card-bg) 85%, transparent);--card-resume-color:var(--accent);--card-resume-border:color-mix(in srgb, var(--accent) 55%, transparent);--card-resume-bg:color-mix(in srgb, var(--card-bg) 80%, transparent);--card-res-4k-color:var(--color-accent);--card-res-4k-border:color-mix(in srgb, var(--color-accent) 40%, transparent);--card-res-hd-color:var(--color-warn);--card-res-hd-border:color-mix(in srgb, var(--color-warn) 40%, transparent);--overlay-progress-width:min(200px, 65vw);--overlay-progress-height:var(--space-xs);--overlay-progress-bg:color-mix(in srgb, var(--color-text) 20%, transparent);--overlay-progress-bar-color:var(--color-warn);--overlay-progress-radius:var(--border-width-thick);--overlay-progress-shadow:inset 0 var(--border-width) var(--border-width-thick) var(--color-overlay-shadow);--scrub-track-height:var(--overlay-progress-height);--scrub-thumb-size:var(--font-size-body);--scrub-played-color:var(--color-accent);--scrub-buffer-color:color-mix(in srgb, var(--color-text) calc(var(--opacity-disabled) * 100%), transparent);--scrub-unplayed-color:var(--line);--scrub-thumb-color:var(--color-text);--scrub-thumb-shadow:0 var(--border-width) var(--border-width-focus) var(--color-overlay-shadow)}html,body{margin:0;padding:0;height:100dvh;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);overflow:hidden}body{display:flex;flex-direction:column;padding:env(safe-area-inset-top)env(safe-area-inset-right)env(safe-area-inset-bottom)env(safe-area-inset-left);box-sizing:border-box}#playback-area{flex:1;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;width:100%;height:100%;min-height:0}video{width:100%;height:100%;object-fit:contain;background:var(--color-bg);transition:filter 120ms ease,opacity var(--media-fade-ms)ease;background-size:contain;background-repeat:no-repeat;background-position:50%}video.media-fading,video.flipping{opacity:0!important;transition:none!important}video.layout-refresh{transform:translateZ(0)}body.media-portrait #playback-area{position:relative;width:100%;height:100%;min-height:0;flex:1}body.media-portrait video{object-fit:contain;width:100%;height:100%}body.media-landscape video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain}video.fit{object-fit:contain!important}video.fill{object-fit:cover!important}#overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:none;flex-direction:column;align-items:center;justify-content:center;background:var(--color-overlay-bg);-webkit-backdrop-filter:var(--blur-backdrop,blur(8px));backdrop-filter:var(--blur-backdrop,blur(8px));z-index:2147483647}#overlay.visible{display:flex}#overlay.shot-overlay{background:var(--color-shot-overlay-scrim);-webkit-backdrop-filter:none;backdrop-filter:none}#overlay.flip-overlay{background:var(--color-bg,#08090b);-webkit-backdrop-filter:none;backdrop-filter:none}#overlay.shot-overlay #overlay-label{padding:var(--gap-inline)var(--gap-row);border-radius:var(--radius-badge);background:0 0}.spinner{width:var(--control-height);height:var(--control-height);border:var(--space-xs)solid var(--color-spinner-border);border-top-color:var(--color-text);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:var(--gap-row)}@keyframes spin{to{transform:rotate(360deg)}}.throbber{width:var(--throbber-size);height:var(--throbber-size);image-rendering:pixelated;margin-bottom:var(--gap-row);transition:filter var(--duration-slow)ease}#overlay[data-throbber-progress=loading] .throbber{filter:sepia(1)saturate(6)hue-rotate(350deg)brightness(.95)}#overlay[data-throbber-progress=decoding] .throbber{filter:none}#overlay[data-throbber-progress=ready] .throbber{filter:sepia(1)saturate(5)hue-rotate(55deg)brightness(1.05)}.throbber-inline{width:var(--throbber-inline-size);height:var(--throbber-inline-size);image-rendering:pixelated;vertical-align:-6px;margin-right:var(--gap-inline)}.overlay-progress-container{width:var(--overlay-progress-width);height:var(--overlay-progress-height);background:var(--overlay-progress-bg);border-radius:var(--overlay-progress-radius);overflow:hidden;margin:0 0 var(--gap-inline);box-shadow:var(--overlay-progress-shadow)}.overlay-progress-bar{width:0%;height:100%;background:var(--overlay-progress-bar-color);border-radius:var(--overlay-progress-radius);transition:width .15s ease-out,background-color .2s ease-out}#overlay[data-throbber-progress=loading] .overlay-progress-bar{background:var(--color-warn)}#overlay[data-throbber-progress=decoding] .overlay-progress-bar{background:var(--color-text)}#overlay[data-throbber-progress=ready] .overlay-progress-bar{background:var(--ok)}#overlay-label{display:flex;flex-direction:column;align-items:center;gap:var(--gap-inline);max-width:min(22rem,90vw);text-align:center;text-shadow:var(--text-shadow-raised)}#overlay-label-primary{font-size:var(--font-size-subhead);font-weight:var(--weight-semibold);color:var(--color-text);letter-spacing:var(--tracking-caps)}#overlay-label-secondary,.overlay-label-secondary{font-size:var(--font-size-small);font-weight:var(--weight-link);color:var(--warn);letter-spacing:0;line-height:var(--line-height-dense)}#controls{position:absolute;left:0;right:0;bottom:0;padding:var(--gap-inline)var(--gap-row);padding-bottom:env(safe-area-inset-bottom,var(--gap-inline));display:flex;gap:var(--gap-inline);align-items:center;background:var(--color-gradient-controls);opacity:0;pointer-events:none;transition:opacity var(--transition-normal);z-index:10}body.show-controls #controls{opacity:1;pointer-events:auto}#controls button{background:var(--color-btn-bg);color:var(--color-text);border:var(--border-width)solid var(--color-btn-border);border-radius:var(--radius-subtle);padding:var(--gap-tight)var(--gap-actions);font-size:var(--font-size-body);touch-action:manipulation;cursor:pointer;flex-shrink:0}#controls button:active{background:var(--color-btn-bg-active)}#controls .skip-button{width:34px;height:34px;box-sizing:border-box;padding:0;border-radius:50%}.skip-icon{display:block;width:24px;height:24px;margin:auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.skip-icon text{fill:currentColor;stroke:none;font-family:var(--font-sans);font-size:7px;font-weight:var(--weight-semibold);text-anchor:middle;dominant-baseline:central}.skip-button[data-skip-icon=minimal] .skip-icon{width:22px;height:22px}#scrub{flex:1;min-width:0;touch-action:auto;-webkit-appearance:none;appearance:none;height:var(--scrub-track-height);border-radius:var(--radius-subtle);background:linear-gradient(to right,var(--scrub-played-color) 0%,var(--scrub-played-color) var(--played-pct,0%),var(--scrub-buffer-color) var(--played-pct,0%),var(--scrub-buffer-color) var(--buffered-pct,0%),var(--scrub-unplayed-color) var(--buffered-pct,0%),var(--scrub-unplayed-color) 100% );outline:none;cursor:pointer;vertical-align:middle}#scrub::-webkit-slider-runnable-track{height:var(--scrub-track-height);border-radius:var(--radius-subtle);background:0 0}#scrub::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:var(--scrub-thumb-size);height:var(--scrub-thumb-size);margin-top:calc((var(--scrub-track-height) - var(--scrub-thumb-size))/2);border-radius:var(--radius-badge);background:var(--scrub-thumb-color);box-shadow:var(--scrub-thumb-shadow);cursor:pointer;transition:transform var(--transition-fast)}#scrub:active::-webkit-slider-thumb{transform:scale(1.25)}#scrub::-moz-range-track{height:var(--scrub-track-height);border-radius:var(--radius-subtle);background:0 0}#scrub::-moz-range-thumb{width:var(--scrub-thumb-size);height:var(--scrub-thumb-size);border:none;border-radius:var(--radius-badge);background:var(--scrub-thumb-color);box-shadow:var(--scrub-thumb-shadow);cursor:pointer}#status{font-size:var(--font-size-meta);color:var(--color-text-secondary);min-width:120px;height:var(--section-pad-y);line-height:var(--section-pad-y);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}#quality-badge{display:inline-flex;align-items:center;justify-content:center;font:inherit;font-size:var(--font-size-meta);font-weight:var(--weight-semibold);color:var(--color-text-secondary);background:var(--color-btn-bg);border:var(--border-width)solid var(--color-btn-border);border-radius:var(--radius-subtle);padding:1px 6px;height:20px;line-height:18px;letter-spacing:.5px;text-transform:uppercase;user-select:none;white-space:nowrap;flex-shrink:0;box-sizing:border-box;cursor:pointer;touch-action:manipulation}#quality-badge:empty{display:none}.quality-menu{position:absolute;right:var(--gap-inline);bottom:calc(env(safe-area-inset-bottom,0px) + var(--control-height) + var(--gap-inline));z-index:11;display:flex;flex-direction:column;min-width:132px;background:var(--color-card-bg);border:var(--border-width)solid var(--color-card-border);border-radius:var(--radius-icon);box-shadow:var(--shadow-modal);overflow:hidden}.quality-menu[hidden]{display:none}.quality-menu button{display:flex;align-items:center;gap:var(--gap-inline);padding:var(--gap-actions)var(--card-pad-inner);font-size:var(--font-size-body);color:var(--color-text);background:0 0;border:none;cursor:pointer;text-align:left;touch-action:manipulation}.quality-menu button:active{background:var(--color-btn-bg-active)}.quality-menu button.is-active{color:var(--color-accent);font-weight:var(--weight-semibold)}.quality-menu .quality-menu-check{width:1.2em;flex-shrink:0}.quality-menu a.quality-menu-upgrade{display:flex;align-items:center;gap:var(--gap-inline);padding:var(--gap-actions)var(--card-pad-inner);font-size:var(--font-size-small);color:var(--color-accent);text-decoration:none;border-top:var(--border-width)dashed var(--color-card-border);touch-action:manipulation}.quality-menu a.quality-menu-upgrade:active{background:var(--color-btn-bg-active)}body.audio-only #quality-badge,body.audio-only #captions-badge{display:none}#captions-badge{display:inline-flex;align-items:center;justify-content:center;font:inherit;font-size:var(--font-size-meta);font-weight:var(--weight-semibold);color:var(--color-text-secondary);background:var(--color-btn-bg);border:var(--border-width)solid var(--color-btn-border);border-radius:var(--radius-subtle);padding:1px 6px;height:20px;line-height:18px;letter-spacing:.5px;text-transform:uppercase;user-select:none;white-space:nowrap;flex-shrink:0;box-sizing:border-box;cursor:pointer;touch-action:manipulation}#captions-badge:empty{display:none}#captions-badge.is-active{color:var(--color-accent);border-color:var(--color-accent)}#captions-badge.is-deactivated{opacity:.55;cursor:pointer;border-style:dashed}.captions-menu-explain{padding:12px 14px;font-size:var(--font-size-meta);color:var(--color-text-secondary);line-height:1.4;max-width:240px}.captions-menu-title{color:var(--color-text);margin-bottom:4px}.captions-menu-text{margin:0}.captions-menu-upgrade{display:inline-block;margin-top:8px;color:var(--color-accent);text-decoration:none;font-weight:var(--weight-semibold)}.captions-menu-upgrade:hover{text-decoration:underline}.captions-menu{position:absolute;right:calc(var(--gap-inline) + 56px);bottom:calc(env(safe-area-inset-bottom,0px) + var(--control-height) + var(--gap-inline));z-index:11;display:flex;flex-direction:column;min-width:140px;background:var(--color-card-bg);border:var(--border-width)solid var(--color-card-border);border-radius:var(--radius-icon);box-shadow:var(--shadow-modal);overflow:hidden}.captions-menu[hidden]{display:none}.captions-menu button{display:flex;align-items:center;gap:var(--gap-inline);padding:var(--gap-actions)var(--card-pad-inner);font-size:var(--font-size-body);color:var(--color-text);background:0 0;border:none;cursor:pointer;text-align:left;touch-action:manipulation}.captions-menu button:active{background:var(--color-btn-bg-active)}.captions-menu button.is-active{color:var(--color-accent);font-weight:var(--weight-semibold)}.captions-menu .captions-menu-check{width:1.2em;flex-shrink:0}@media(max-width:480px){#controls{gap:var(--gap-tight)}#controls button{padding:var(--gap-tight);font-size:var(--font-size-meta)}#status{min-width:auto}}#gallery{display:none;position:fixed;inset:0;z-index:200;background:var(--color-bg);overflow-y:auto;padding:env(safe-area-inset-top)env(safe-area-inset-right)env(safe-area-inset-bottom)env(safe-area-inset-left);box-sizing:border-box}#gallery.visible{display:block}.gallery-header{width:min(var(--site-content-max),calc(100% - var(--site-content-gutter)));margin-inline:auto;box-sizing:border-box;padding:var(--gap-stack);padding-top:var(--topbar-control-offset-y);padding-right:calc(var(--gap-stack) + var(--catalog-filter-toggle-right) + var(--section-margin));display:flex;align-items:center;justify-content:space-between;gap:var(--gap-row);font-size:var(--font-size-title);font-weight:var(--weight-subhead);letter-spacing:var(--tracking-caps);border-bottom:var(--border-subtle)}.gallery-header-actions{display:flex;align-items:center;gap:var(--gap-actions);flex-wrap:wrap;justify-content:flex-end}.gallery-landing{display:flex;align-items:center;gap:var(--gap-inline);flex-wrap:wrap}.gallery-landing a{display:inline-flex;align-items:center;justify-content:center;padding:var(--topbar-control-offset-y)var(--control-pad-x);border-radius:var(--radius-control);font-size:var(--font-size-small);font-weight:var(--weight-link);text-decoration:none;letter-spacing:0}.gallery-landing-pricing{color:var(--color-text);border:var(--border-subtle);background:var(--color-card-bg)}.gallery-landing-pricing:hover{border-color:color-mix(in srgb,var(--color-text) 35%,var(--color-card-border))}.gallery-landing-login{background:var(--color-accent);color:var(--color-text);box-shadow:0 0 0 var(--border-width)var(--color-overlay-shadow)}.gallery-landing-login:hover{filter:var(--filter-lift,brightness(1.1))}.gallery-audio-toggle{flex:none;display:inline-flex;align-items:center;justify-content:center;width:var(--section-margin);height:var(--section-margin);border:var(--border-subtle);border-radius:50%;background:var(--color-card-bg);color:var(--color-text);padding:0;cursor:pointer}#catalog-filter-toggle{position:fixed;top:calc(env(safe-area-inset-top,0px) + var(--topbar-control-offset-y));right:calc(env(safe-area-inset-right,0px) + var(--catalog-filter-toggle-right));z-index:998;margin:0;width:var(--section-margin);height:var(--section-margin);display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:var(--border-subtle);background:var(--color-card-bg);color:var(--color-text);padding:0;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}#catalog-filter-toggle[hidden]{display:none!important}body:not(:has(#gallery.visible)) #catalog-filter-toggle{display:none!important}#catalog-filter-toggle:active{transform:scale(.92)}.gallery-filter-icon{width:var(--icon-size-filter);height:var(--icon-size-filter);stroke:currentColor;fill:none;display:block}.filter-active-dot{position:absolute;top:var(--glyph-offset);right:var(--glyph-offset);width:var(--dot-size-badge);height:var(--dot-size-badge);border-radius:50%;background:var(--ok);box-shadow:0 0 var(--space-s)var(--ok)}#sound-toggle{position:fixed;top:calc(env(safe-area-inset-top,0px) + var(--topbar-control-offset-y));right:calc(env(safe-area-inset-right,0px) + var(--site-topbar-user-icon-clearance));z-index:998;margin:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}body:has(#overlay.visible:not(.shot-overlay)) #sound-toggle,body:has(#overlay.visible:not(.shot-overlay)) #catalog-filter-toggle{opacity:0;pointer-events:none}.gallery-audio-icon{width:19px;height:19px;fill:currentColor}.gallery-audio-icon path:not(:first-child){fill:none;stroke:currentColor;stroke-width:var(--border-width-thick);stroke-linecap:round;stroke-linejoin:round}.gallery-audio-toggle[aria-pressed=true]{border-color:color-mix(in srgb,var(--ok) 55%,transparent);background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok)}.gallery-grid{width:min(var(--site-content-max),calc(100% - var(--site-content-gutter)));margin-inline:auto;box-sizing:border-box;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap-actions);padding:var(--gap-row)}@media(min-width:768px){.gallery-grid{grid-template-columns:repeat(4,1fr);gap:var(--gap-stack);padding:var(--gap-stack)}}@media(orientation:landscape){.gallery-grid{grid-template-columns:repeat(4,1fr);gap:var(--gap-row)}.gallery-card-thumbnail-wrap,.gallery-card-thumbnail-wrap .gallery-thumbnail,.gallery-card>img{aspect-ratio:16/9!important}.gallery-genre-icon{width:calc(var(--genre-icon-scale) * (9/16))!important;height:calc(var(--genre-icon-scale) * (9/16))!important;max-width:calc(var(--genre-icon-scale) * (9/16))!important;max-height:calc(var(--genre-icon-scale) * (9/16))!important}}@media(orientation:landscape) and (min-width:1024px){.gallery-grid{grid-template-columns:repeat(5,1fr);gap:var(--gap-stack)}}body.media-landscape .gallery-card-thumbnail-wrap,body.media-landscape .gallery-card-thumbnail-wrap .gallery-thumbnail,body.media-landscape .gallery-card>img{aspect-ratio:16/9!important}.gallery-card{cursor:pointer;border-radius:var(--radius-icon);overflow:hidden;background:var(--color-card-bg);border:var(--border-subtle);transition:border-color var(--duration-fast)ease,transform var(--duration-fast)ease;container-type:inline-size;container-name:gallery-card}.gallery-card:active{border-color:var(--color-card-border-active);transform:var(--transform-press)}.gallery-card.is-playing{border-color:var(--color-card-border-active);box-shadow:0 0 0 var(--border-width-thick)color-mix(in srgb,var(--accent) 40%,transparent)}.gallery-card-watch-badge.is-playing{color:var(--card-resume-color);border-color:var(--card-resume-border);background:var(--card-resume-bg)}.gallery-card-watch-badge.is-playing.is-paused{opacity:var(--opacity-disabled)}.gallery-card-thumbnail-wrap{position:relative;width:100%;aspect-ratio:9/16;overflow:hidden;background:var(--color-img-fallback-bg)}.gallery-card-thumbnail-wrap::before{content:'';position:absolute;inset:0;background:linear-gradient( 90deg,transparent 0%,rgba(255,255,255,5%) 50%,transparent 100% );background-size:200% 100%;animation:thumbnail-shimmer 1.8s ease-in-out infinite;pointer-events:none;z-index:1;transition:opacity var(--duration-fast,.2s)ease-out}.gallery-card-thumbnail-wrap:has(.gallery-thumbnail.is-loaded)::before,.gallery-card-thumbnail-wrap.is-loaded::before{opacity:0}@keyframes thumbnail-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.gallery-card.is-skeleton{pointer-events:none;opacity:.75}.skeleton-bar{height:14px;background:var(--panel-bg);border-radius:var(--radius-card,6px);margin-top:8px;position:relative;overflow:hidden}.skeleton-bar::before{content:'';position:absolute;inset:0;background:linear-gradient( 90deg,transparent 0%,rgba(255,255,255,6%) 50%,transparent 100% );background-size:200% 100%;animation:thumbnail-shimmer 1.8s ease-in-out infinite}.skeleton-title-bar{width:75%}.skeleton-meta-bar{width:40%;height:10px}.gallery-card-thumbnail-wrap .gallery-thumbnail,.gallery-card>img{width:100%;height:100%;aspect-ratio:9/16;object-fit:cover;display:block;background:var(--color-img-fallback-bg)}.gallery-thumbnail{opacity:0;transition:opacity var(--duration-fast)ease-out}.gallery-thumbnail.is-loaded{opacity:1}.gallery-card-fav-btn{position:absolute;top:6px;right:6px;z-index:3;width:var(--card-fav-size);height:var(--card-fav-size);border-radius:50%;background:var(--card-fav-bg);backdrop-filter:blur(var(--card-badge-blur));-webkit-backdrop-filter:blur(var(--card-badge-blur));border:var(--border-width)solid var(--card-fav-border);color:var(--card-fav-color);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:transform .15s ease,background-color .15s ease,color .15s ease}.gallery-card-fav-btn:active{transform:scale(.85)}.gallery-card-fav-btn.is-fav{color:var(--card-fav-active-color);background:var(--card-fav-active-bg);border-color:var(--card-fav-active-border)}.gallery-card-fav-btn svg{width:var(--font-size-body);height:var(--font-size-body);fill:currentColor}.gallery-card-badge-row{position:absolute;bottom:var(--space-s);left:var(--space-s);display:flex;align-items:center;gap:var(--space-xs);pointer-events:none;z-index:2}.gallery-card-watch-badge{font-size:var(--font-size-micro);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);padding:var(--space-3xs)var(--space-s);border-radius:var(--space-xs);background:var(--card-watch-bg);backdrop-filter:blur(var(--card-badge-blur));-webkit-backdrop-filter:blur(var(--card-badge-blur));color:var(--card-watch-color);border:var(--border-width)solid var(--card-watch-border)}.gallery-card-watch-badge.is-streamed,.gallery-card-watch-badge.is-watched{color:var(--card-watch-watched-color);border-color:var(--card-watch-watched-border);background:var(--card-watch-watched-bg)}.gallery-card-watch-img{width:var(--font-size-meta);height:var(--font-size-meta);vertical-align:calc(-1 * var(--border-width));margin-right:var(--space-2xs);display:inline-block;object-fit:contain}.gallery-card-watch-badge.is-partial,.gallery-card-watch-badge.is-new-shot{color:var(--card-watch-partial-color);border-color:var(--card-watch-partial-border);background:var(--card-watch-partial-bg)}button.gallery-card-resume-btn.is-partial{font:inherit;font-size:var(--font-size-micro);border-style:solid;border-width:var(--border-width);cursor:pointer;padding:var(--space-3xs)var(--space-xs);color:var(--card-resume-color);border-color:var(--card-resume-border);background:var(--card-resume-bg)}.gallery-card-watch-badge.is-unstreamed,.gallery-card-watch-badge.is-unwatched{opacity:0;background:0 0;border-color:transparent;color:transparent;pointer-events:none}.gallery-card-res-badge{position:absolute;top:var(--space-s);left:var(--space-s);z-index:2;font-size:var(--font-size-micro);font-weight:var(--weight-bold);padding:var(--space-3xs)var(--glyph-offset);border-radius:var(--space-xs);background:var(--card-badge-bg);backdrop-filter:blur(var(--card-badge-blur));-webkit-backdrop-filter:blur(var(--card-badge-blur));color:var(--card-res-hd-color);border:var(--border-width)solid var(--card-res-hd-border);pointer-events:none}.gallery-card-res-badge.is-4k{color:var(--card-res-4k-color);border-color:var(--card-res-4k-border)}.gallery-scroll-sentinel{grid-column:1/-1;height:40px;width:100%}.gallery-empty-state{grid-column:1/-1;padding:calc(var(--section-margin) + var(--gap-section))var(--card-pad-inner);text-align:center;color:var(--muted)}.gallery-empty-state p{margin:0 0 var(--gap-stack);font-size:var(--font-size-base);line-height:var(--line-height-base)}.gallery-empty-reset-btn,.gallery-empty-reload-btn{display:inline-block;text-decoration:none;padding:var(--space-sm)var(--space-base);border-radius:var(--radius-icon);background:var(--color-btn-bg);border:var(--border-subtle);color:var(--color-text);cursor:pointer;font-size:var(--font-size-body);line-height:var(--line-height-none)}.catalog-filter-dialog{position:fixed;inset:0;z-index:1002;display:flex;align-items:center;justify-content:center;padding:max(10px,env(safe-area-inset-top))max(10px,env(safe-area-inset-right))max(10px,env(safe-area-inset-bottom))max(10px,env(safe-area-inset-left));box-sizing:border-box;overflow:hidden}.catalog-filter-dialog[hidden]{display:none}.catalog-filter-backdrop{position:absolute;inset:0;background:var(--color-overlay-bg);backdrop-filter:blur(var(--card-badge-blur));-webkit-backdrop-filter:blur(var(--card-badge-blur))}.catalog-filter-card{position:relative;width:100%;max-width:480px;max-height:min(calc(100dvh - 20px),calc(100vh - 20px));background:var(--card-bg);border:var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;color:var(--fg);overflow:hidden;transform-origin:center center;transition:transform .1s ease-out}.catalog-filter-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:var(--space-base)var(--catalog-filter-pad-x);border-bottom:var(--border-subtle)}.catalog-filter-header h2{margin:0;font-size:var(--font-size-subhead);line-height:var(--line-height-dense);font-weight:var(--weight-bold)}.catalog-filter-close{background:0 0;border:none;color:var(--muted);font-size:var(--font-size-subhead);line-height:var(--line-height-none);cursor:pointer;padding:0;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--space-s)}.catalog-filter-body{flex:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--catalog-filter-pad-y)var(--catalog-filter-pad-x);display:flex;flex-direction:column;gap:var(--space-lg)}.catalog-filter-group{display:flex;flex-direction:column;gap:var(--space-sm)}.catalog-filter-label-row{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-inline)}.catalog-filter-label{font-size:var(--font-size-label);line-height:var(--line-height-tight);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--muted);font-weight:var(--weight-semibold)}.catalog-search-match-count{font-size:var(--font-size-label);font-weight:var(--weight-semibold);color:var(--accent);letter-spacing:0;text-transform:none}.catalog-filter-pills{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.catalog-pill{padding:8px 16px;font-size:14.5px;line-height:var(--line-height-tight);min-height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:20px;background:var(--panel-bg);border:var(--border-subtle);color:var(--muted);cursor:pointer;transition:all .15s ease;box-sizing:border-box}.catalog-pill:hover{background:var(--hover-bg);color:var(--fg)}.catalog-pill.is-active{background:color-mix(in srgb,var(--accent) 20%,transparent);border-color:var(--accent);color:var(--accent);font-weight:var(--weight-semibold)}.catalog-order-arrow{display:inline-block;margin-right:var(--space-2xs);font-weight:var(--weight-bold)}.catalog-watch-icon{display:inline-block;margin-right:var(--space-xs);font-weight:var(--weight-bold)}.catalog-watch-img{width:var(--font-size-body);height:var(--font-size-body);vertical-align:calc(-1 * var(--space-3xs));margin-right:var(--space-xs);display:inline-block;object-fit:contain}.catalog-order-text{display:inline-block}.catalog-filter-toggle-row{flex-direction:row;align-items:center}.catalog-filter-checkbox-label{display:flex;align-items:center;gap:var(--gap-actions);font-size:var(--font-size-body);line-height:var(--line-height-snug);color:var(--fg);cursor:pointer;user-select:none}.catalog-filter-checkbox-label input[type=checkbox]{width:var(--icon-size-filter);height:var(--icon-size-filter);accent-color:var(--accent);cursor:pointer}.catalog-filter-footer{flex-shrink:0;display:flex;align-items:center;justify-content:flex-end;gap:var(--space-md);padding:var(--space-base)var(--catalog-filter-pad-x);border-top:var(--border-subtle);background:var(--bg);border-bottom-left-radius:var(--radius-card);border-bottom-right-radius:var(--radius-card)}.catalog-filter-btn{padding:10px 22px;border-radius:var(--radius-control);font-size:var(--font-size-btn);line-height:var(--line-height-none);font-weight:var(--weight-btn);cursor:pointer;border:none;min-height:42px;display:inline-flex;align-items:center;justify-content:center}.catalog-filter-btn.secondary{background:0 0;color:var(--muted)}.catalog-filter-btn.primary{background:var(--accent);color:var(--bg);font-weight:var(--weight-btn)}.catalog-search-wrap{position:relative;display:flex;align-items:center;width:100%}.catalog-search-input{width:100%;padding:10px 38px 10px 14px;font-size:16px;line-height:var(--line-height-dense);min-height:44px;background:var(--bg);border:var(--border-subtle);border-radius:var(--radius-control);color:var(--fg);outline:none;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.catalog-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 var(--border-width-thick)color-mix(in srgb,var(--accent) 25%,transparent)}.catalog-search-input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;display:none}.catalog-search-clear{position:absolute;right:var(--space-sm);top:50%;transform:translateY(-50%);background:0 0;border:none;color:var(--muted);font-size:var(--font-size-body);line-height:var(--line-height-none);cursor:pointer;padding:var(--space-xs);border-radius:var(--space-xs);display:flex;align-items:center;justify-content:center}.catalog-search-clear:hover{color:var(--fg)}.catalog-search-clear[hidden]{display:none}@media(orientation:landscape) and (max-height:600px),(max-height:540px){.catalog-filter-dialog{padding:max(6px,env(safe-area-inset-top))max(8px,env(safe-area-inset-right))max(6px,env(safe-area-inset-bottom))max(8px,env(safe-area-inset-left))}.catalog-filter-card{max-width:680px;max-height:min(calc(100dvh - 12px),calc(100vh - 12px))}.catalog-filter-header{padding:8px 16px}.catalog-filter-header h2{font-size:15px}.catalog-filter-close{width:28px;height:28px}.catalog-filter-body{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;padding:8px 16px}.catalog-filter-search-group{grid-column:1/-1;gap:4px}.catalog-filter-group{gap:4px}.catalog-filter-group.catalog-filter-toggle-row{grid-column:1/-1}.catalog-filter-label{font-size:11px}.catalog-search-input{min-height:34px;font-size:13px;padding:6px 10px 6px 30px}.catalog-filter-pills{gap:4px 6px}.catalog-pill{padding:4px 10px;font-size:12.5px;min-height:28px;border-radius:14px}.catalog-filter-footer{padding:8px 16px}.catalog-filter-btn{min-height:34px;padding:6px 16px;font-size:13px}}.gallery-search-bar-row{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-inline);margin-bottom:var(--gap-row);padding:0 var(--space-xs)}.gallery-search-tag{display:inline-flex;align-items:center;gap:var(--gap-tight);padding:var(--space-xs)var(--gap-actions);border-radius:var(--radius-badge);background:color-mix(in srgb,var(--accent) 15%,transparent);border:var(--border-width)solid color-mix(in srgb,var(--accent) 30%,transparent);color:var(--fg);font-size:var(--font-size-label);line-height:var(--line-height-tight)}.gallery-search-tag-query{font-weight:var(--weight-semibold);color:var(--accent)}.gallery-search-tag-clear{background:0 0;border:none;color:var(--muted);font-size:var(--font-size-body);line-height:var(--line-height-none);cursor:pointer;padding:0 var(--space-3xs);border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.gallery-search-tag-clear:hover{color:var(--fg)}.gallery-search-count{font-size:var(--font-size-small);line-height:var(--line-height-tight);color:var(--muted)}.gallery-card-info{padding:var(--gap-inline)}.gallery-card-title{font-size:var(--font-size-label);font-weight:var(--weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-card-meta-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--gap-tight);margin-top:var(--space-3xs);font-size:var(--font-size-meta);color:var(--color-text-muted)}.gallery-card-duration{white-space:nowrap}.gallery-card-shots{margin-left:auto;white-space:nowrap;font-variant-numeric:tabular-nums}.gallery-card-shots-orientation.is-current{color:var(--fg);font-weight:var(--weight-semibold)}.gallery-card-genres{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--gap-tight)}.gallery-genre-chip{display:inline-flex;align-items:center;gap:var(--space-2xs);max-width:100%;padding:var(--space-3xs)var(--gap-tight);border-radius:var(--radius-badge);font-size:var(--font-size-micro);font-weight:var(--weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-muted);background:var(--hover-bg);border:var(--border-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-genre-chip.is-unavailable{opacity:var(--opacity-disabled);filter:grayscale(1);border-style:dashed;cursor:help}.gallery-genre-icon{width:var(--genre-icon-scale);height:var(--genre-icon-scale);max-width:var(--genre-icon-scale);max-height:var(--genre-icon-scale);border-radius:var(--dot-radius-comp);object-fit:contain;flex-shrink:0;aspect-ratio:1;display:block}.gallery-card-locked{opacity:var(--opacity-dimmed);filter:grayscale(.85)}.gallery-card-locked>img,.gallery-card-locked .gallery-thumbnail{filter:grayscale(1)}.gallery-card-lock-hint{margin-top:var(--space-xs);font-size:var(--font-size-micro);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-caps);color:var(--color-warn);text-transform:uppercase}@media(orientation:landscape){#playback-area{position:fixed;top:0;left:0;width:100vw;height:100vh;width:100dvw;height:100dvh;z-index:5}body:not(.media-portrait) video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain}}#shots{position:absolute;left:0;right:0;bottom:calc(env(safe-area-inset-bottom,0px) + var(--control-height) + var(--gap-inline));display:none;justify-content:center;align-items:center;gap:var(--gap-actions);padding:var(--gap-tight)var(--gap-actions);z-index:6;pointer-events:none}body.show-controls #shots.populated{display:flex}#shots .shot-dot{pointer-events:auto;width:var(--dot-size-shot);height:var(--dot-size-shot);padding:0;border-radius:var(--dot-radius-shot);border:var(--border-width-thick)solid color-mix(in srgb,var(--color-text) 85%,transparent);background:0 0;cursor:pointer;box-shadow:var(--shadow-dot)}#shots .shot-dot.active{background:var(--color-text)}#shots .shot-dot.locked,#controls #speed.is-speed-limited{border-color:var(--color-card-border);background:var(--hover-bg);cursor:not-allowed;opacity:var(--opacity-muted)}#shots .shot-dot.locked{display:flex;align-items:center;justify-content:center}#shots .shot-dot.locked .lock-svg{width:var(--icon-size-mini);height:var(--icon-size-mini)}.lock-toast{position:fixed;top:var(--card-pad-inner);left:50%;transform:translateX(-50%)translateY(calc(-1 * var(--card-pad-inner)));background:var(--color-overlay-bg);color:var(--color-text);padding:var(--gap-actions)var(--card-pad-inner);border-radius:var(--radius-badge);font-size:var(--font-size-body);z-index:10000;display:flex;align-items:center;gap:var(--gap-inline);box-shadow:var(--shadow-modal);pointer-events:none;opacity:0;transition:opacity var(--duration-slow)ease,transform var(--duration-slow)cubic-bezier(.175,.885,.32,1.275);border:var(--border-subtle)}.lock-toast.visible{opacity:1;transform:translateX(-50%)translateY(0)}.lock-toast-icon{font-size:var(--font-size-base)}.lock-toast-text{font-weight:var(--weight-medium)}#rate{position:fixed;top:calc(env(safe-area-inset-top,0px) + var(--topbar-control-offset-y));right:calc(env(safe-area-inset-right,0px) + var(--catalog-filter-toggle-right));z-index:998;display:inline-flex;align-items:center;justify-content:center;width:var(--section-margin);height:var(--section-margin);margin:0;padding:0;border:var(--border-subtle);border-radius:50%;background:var(--color-card-bg);color:var(--color-text);font-size:var(--font-size-base);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}#rate[hidden],body:has(#gallery.visible) #rate{display:none!important}#rate.rated{color:var(--color-warn)}body:has(#overlay.visible:not(.shot-overlay)) #rate{opacity:0;pointer-events:none}.rating-sheet{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(var(--rating-sheet-max-width),calc(100vw - 2 * var(--card-pad-inner)));max-height:calc(100dvh - var(--section-margin) - var(--section-margin) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));box-sizing:border-box;overflow-y:auto;padding:var(--card-pad-inner);background:var(--color-overlay-bg);-webkit-backdrop-filter:var(--blur-backdrop,blur(8px));backdrop-filter:var(--blur-backdrop,blur(8px));color:var(--color-text);border-radius:var(--radius-subtle);box-shadow:var(--shadow-modal);z-index:var(--z-rating-sheet);display:flex;flex-direction:column;gap:var(--gap-row)}.rating-sheet-title{font-size:var(--font-size-body);font-weight:var(--weight-medium)}.rating-aspect-label{font-size:var(--font-size-body);margin-bottom:var(--gap-inline)}.rating-choices{display:flex;flex-wrap:wrap;gap:var(--gap-inline)}.rating-choice{background:var(--color-btn-bg);color:var(--color-text);border:var(--border-width)solid var(--color-btn-border);border-radius:var(--radius-subtle);padding:var(--gap-tight);min-width:var(--control-height);min-height:var(--control-height);font-size:var(--font-size-body);cursor:pointer;touch-action:manipulation}.rating-choice-icon{width:calc(var(--control-height) - 2 * var(--gap-tight));height:calc(var(--control-height) - 2 * var(--gap-tight));display:block;opacity:var(--rating-unfilled-opacity)}.rating-choice-glyph{display:block;font-size:var(--font-size-base);line-height:1;opacity:var(--rating-unfilled-opacity)}.rating-choice.filled .rating-choice-icon,.rating-choice.selected .rating-choice-icon,.rating-choice.filled .rating-choice-glyph,.rating-choice.selected .rating-choice-glyph{opacity:1}.rating-choice.filled .rating-choice-glyph{color:var(--color-warn)}.rating-clear{background:0 0;color:var(--color-text-muted,var(--color-text));border:none;font-size:var(--font-size-body);text-decoration:underline;cursor:pointer}.rating-choice.selected{border-color:var(--color-accent)}.rating-note{min-height:1em;font-size:var(--font-size-body);color:var(--color-text-muted,var(--color-text))}.rating-sheet-close{align-self:flex-end;background:0 0;color:var(--color-text);border:var(--border-width)solid var(--color-btn-border);border-radius:var(--radius-subtle);padding:var(--gap-tight)var(--gap-actions);font-size:var(--font-size-body);cursor:pointer}#shots .shot-dot.composite{border-radius:var(--dot-radius-shot)}#shots .shot-label{pointer-events:none;margin-left:var(--gap-inline);color:var(--color-text);font-size:var(--font-size-label);font-weight:var(--weight-semibold);text-shadow:var(--text-shadow-subtle)}#boot-throbber{position:fixed;inset:0;z-index:150;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-bg);color:var(--color-text-secondary);font-size:var(--font-size-small)}.boot-throbber-label{margin-bottom:var(--gap-inline)}.boot-throbber-bar{width:var(--overlay-progress-width);height:var(--overlay-progress-height);background:var(--overlay-progress-bg);border-radius:var(--overlay-progress-radius);overflow:hidden}.boot-throbber-bar-fill{width:0%;height:100%;background:var(--overlay-progress-bar-color);transition:width .15s ease-out}#boot-error{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--gap-section);background:var(--color-bg)}.boot-error-card{max-width:var(--card-max-width);padding:var(--section-pad-y)var(--card-pad-x);text-align:center;background:var(--color-card-bg);border:var(--border-subtle);border-radius:var(--radius-control)}.boot-error-card h1{margin:0 0 var(--gap-row);font-size:var(--font-size-title);color:var(--color-text)}.boot-error-card p{margin:0 0 var(--card-pad-inner);font-size:var(--font-size-body);line-height:var(--line-height-base);color:var(--color-text-secondary)}.boot-error-card .boot-error-retry{padding:var(--gap-actions)var(--throbber-inline-size);font-size:var(--font-size-body);color:var(--color-text);background:var(--color-btn-bg);border:var(--border-subtle);border-radius:var(--radius-icon);cursor:pointer}.boot-error-card .boot-error-retry:active{background:var(--color-btn-bg-active)}.boot-error-card .boot-error-detail{margin:var(--gap-stack)0 0;font-size:var(--font-size-small);color:var(--color-text-muted)}#debug-hud{display:none;position:absolute;top:max(var(--gap-inline),env(safe-area-inset-top));left:max(var(--gap-inline),env(safe-area-inset-left));right:auto;z-index:40;max-width:min(calc(100vw - (var(--gap-inline) * 2)),var(--card-max-width));max-height:50dvh;overflow:hidden;padding:0;margin:0;background:var(--color-overlay-bg);border:var(--border-subtle);border-radius:var(--radius-icon);color:var(--color-text);font-family:var(--font-mono);font-size:var(--font-size-meta);line-height:var(--line-height-snug);letter-spacing:0;box-shadow:var(--shadow-raised);-webkit-backdrop-filter:var(--blur-subtle);backdrop-filter:var(--blur-subtle);pointer-events:auto;touch-action:manipulation;user-select:none;-webkit-user-select:none}body.debug-hud-on #debug-hud{display:flex;flex-direction:column}#debug-hud .debug-hud-head{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-inline);padding:var(--gap-tight)var(--gap-inline);background:var(--hover-bg);border-bottom:var(--border-subtle);font-weight:var(--weight-semibold);font-size:var(--font-size-meta);cursor:pointer}#debug-hud .debug-hud-head .debug-hud-badge{color:var(--ok);font-weight:var(--weight-bold)}#debug-hud .debug-hud-head .debug-hud-badge.warn{color:var(--warn)}#debug-hud .debug-hud-head .debug-hud-badge.crit{color:var(--danger)}#debug-hud .debug-hud-body{padding:var(--gap-tight)var(--gap-inline)var(--gap-inline);overflow-y:auto;-webkit-overflow-scrolling:touch;white-space:pre-wrap;word-break:break-word}#debug-hud.debug-hud-collapsed{max-width:var(--user-menu-min-width);max-height:none}#debug-hud.debug-hud-collapsed .debug-hud-body{display:none}#debug-hud .debug-hud-line-muted{color:var(--color-text-muted)}#debug-hud .debug-hud-events{margin-top:var(--gap-tight);padding-top:var(--gap-tight);border-top:var(--border-subtle);color:var(--color-accent);font-size:var(--font-size-micro)}body.player-layout-fixed #playback-area{position:fixed;top:0;left:0;width:100vw;height:100vh;width:100svw;height:100svh;min-height:0;z-index:5}body.player-layout-fixed video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain}