:root{--bg:#101113;--paper:#f6f6f7;--muted:#a5a7ac;--line:#ffffff18;--gold:#e2bc78;--serif:'DM Sans',Arial,sans-serif}body{background:#101113}.shell.hub{max-width:none;padding:0}.hub .topbar{position:relative;z-index:5;padding:0 4%;height:80px;border:0;background:#101113;gap:38px}.hub.home .topbar{position:absolute;inset:0 0 auto;background:linear-gradient(#0a0b0ee6,transparent)}.brand{font:800 23px var(--sans);letter-spacing:1px;gap:10px}.brand svg{width:23px}.hub nav{margin:0 auto 0 0;gap:27px}.hub nav button{font-weight:500;font-size:14px;color:#c3c5ca}.hub nav button.active{font-weight:700;color:white}.hub nav button.active:after{display:none}.hub .tools{gap:20px}.hub .profile{gap:9px}.hub .profile>svg{width:13px}.avatar{background:#7971a7;color:white;border-radius:7px;font:600 16px var(--sans);width:34px;height:34px}.watchlist-link{font-size:14px}.hub .search-panel{position:relative;z-index:6;margin:0;padding:15px 4%;background:#17191f}.home .search-panel{position:absolute;top:80px;left:0;right:0}.hub-hero{position:relative;height:min(760px,79vh);min-height:520px;isolation:isolate;overflow:hidden}.hero-art{position:absolute;inset:0 0 0 20%;z-index:-3;background-position:center 35%}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(0deg,#101113 0%,#10111300 32%),linear-gradient(90deg,#101113 0%,#101113ef 20%,#10111385 46%,#10111305 80%)}.hero-content{position:absolute;left:4%;top:25%;width:min(560px,48%)}.hero-kicker{display:flex;align-items:center;gap:9px;color:#e1c087;font-size:11px;font-weight:700;letter-spacing:2px}.vault-dot{width:6px;height:6px;border-radius:50%;background:#e1c087}.hero-content h1{font:800 clamp(38px,4.6vw,72px)/1.03 var(--sans);letter-spacing:-2px;margin:20px 0}.hero-meta{display:flex;align-items:center;gap:17px;font-size:14px;color:#d6d8dc}.hero-meta b{border:1px solid #ffffff66;padding:1px 5px;border-radius:3px;font-size:11px}.hero-content p{font-size:16px;line-height:1.6;color:#d6d8dc;max-width:470px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:20px 0 25px}.hero-actions{display:flex;gap:12px}.hero-actions .primary,.hero-actions .secondary{font-size:17px;font-weight:700;padding:13px 28px;border:0;border-radius:5px}.hero-actions .primary{background:#f4f4f5;color:#151619}.hero-actions .secondary{background:#6c6e7780;backdrop-filter:blur(8px);color:white}.hero-actions svg{width:23px;height:23px}.info-symbol{display:grid;place-items:center;border:2px solid currentColor;border-radius:50%;width:21px;height:21px;font:600 15px var(--sans)}.hero-switcher{position:absolute;right:4%;bottom:90px;display:flex;gap:7px}.hero-switcher button{width:25px;height:4px;padding:0;border-radius:2px;background:#ffffff45}.hero-switcher button.selected{width:45px;background:var(--gold)}.hub-content{padding:0 4% 30px;position:relative}.home .hub-content{margin-top:-42px}.hub-row{margin:0 0 34px}.row-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.row-heading h2{font:700 21px var(--sans);letter-spacing:-.4px;margin:0}.row-arrows{display:flex;gap:6px}.row-arrows button{font-size:26px;line-height:1;width:30px;height:30px;border-radius:50%;background:#ffffff0b;color:#bbb}.row-arrows button:hover{background:#ffffff25;color:#fff}.hub-rail{display:flex;overflow:auto;gap:16px;padding:4px 2px 16px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#ffffff20 transparent}.hub-rail>.movie{flex:0 0 clamp(150px,15vw,230px);scroll-snap-align:start}.hub .movie .art{border:0;border-radius:7px;transition:transform .22s,filter .22s}.hub .movie:hover .art{transform:translateY(-4px);filter:brightness(1.12)}.hub .movie .name{font-size:14px;font-weight:600;margin-top:11px}.hub .movie .year{font-size:12px;color:#989ba4}.copy-label{display:none}.watch-rail>.resume-item{display:block;position:relative;flex:0 0 clamp(250px,25vw,360px);padding:0;border:0}.watch-rail .resume-art{width:100%;aspect-ratio:16/9;border-radius:7px}.watch-rail .resume-info{padding:11px 2px 0}.watch-rail .resume-info strong{font-size:14px;font-weight:600;margin:0 0 5px}.watch-rail .resume-info small{font-size:12px}.watch-rail .track{position:absolute;top:calc((100vw - 8vw)*0);bottom:58px;left:12px;right:12px;top:auto;background:#ffffff40;height:3px;margin:0}.watch-rail .mini-play{display:grid;position:absolute;top:35%;left:45%;border:0;background:#101113a6;color:white;border-radius:50%;width:40px;height:40px}.hub-footer{display:flex;gap:20px;color:#686c75;font-weight:700;font-size:12px;letter-spacing:1px;margin-top:55px;padding:20px 0}.hub-footer span{font-weight:400;letter-spacing:0}.browse-heading{display:flex;align-items:center;justify-content:space-between}.browse-heading>span{color:var(--muted)}.browse-title{font:700 32px var(--sans);margin:30px 0}.hub .movie-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:25px 18px}.hub .movie-grid .movie{max-width:260px}.hub .primary:hover{filter:brightness(.9)}dialog{background:#191b20;border:0;border-radius:12px}.detail-art:after{background:linear-gradient(0deg,#191b20,transparent 80%)}.detail-content h1{font-weight:700;letter-spacing:-1px}.detail-content .eyebrow{display:none}.settings-content h3{font-size:23px;font-weight:650}.dialog-top h2{font-size:24px;font-weight:650}.auth h1{font-weight:700}.primary{background:#f0f0f2;color:#17181c}.secondary{background:#ffffff15;border:0}.settings-nav button.active{background:#ffffff12}.badge{color:#dbdce1}.film-credits{color:#ccc}
/* Edge-to-edge playback, with controls floating over the film. */
#player,#player:fullscreen{position:fixed;inset:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;background:#000;overflow:hidden;display:block}#player:not([open]){display:none}#player .cinema-stage{position:absolute;inset:0;min-height:0;display:block}#player video,#player:fullscreen video{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain}#player .cinema-header{position:absolute;inset:0 0 auto;z-index:3;padding:25px 3%;gap:15px;background:linear-gradient(#000c,transparent);height:120px;align-items:flex-start;transition:opacity .25s}.cinema-title{padding-top:5px}.cinema-title span{display:none}.cinema-title h2{font-size:19px;font-weight:500;margin:3px 0}.cinema-year{padding-top:12px;color:#ddd}#player .cinema-controls{position:absolute;bottom:0;left:0;right:0;z-index:3;padding:55px 3% 25px;background:linear-gradient(transparent,#000d 50%);transition:opacity .25s}#player .control-row{gap:20px;margin-top:12px}#player .cinema-button{width:44px;height:44px;color:#fff;background:transparent;border-radius:5px}#player .cinema-button:hover{background:#ffffff18}#player .cinema-button svg{width:29px;height:29px}#player .main-play svg{width:34px;height:34px}#player .skip small{top:18px;left:18px;font-size:10px}.timeline-labels{font-size:13px;color:#ddd}#player .center-play{background:#0007;border:1px solid #ffffff55;color:white;backdrop-filter:blur(4px);width:80px;height:80px}#player.controls-hidden .cinema-header,#player.controls-hidden .cinema-controls{opacity:0;pointer-events:none}#player.controls-hidden{cursor:none}.playback-options>div{background:#24262c;border-color:#ffffff20}.playback-options select{background:#17191e}#player .player-status{z-index:2;background:#17191ed9}.cinema-paused{position:absolute;left:3%;bottom:175px;z-index:2;pointer-events:none}.cinema-paused span{font-size:13px;color:#c4c5ca}.cinema-paused h3{font-size:30px;margin:7px 0;font-weight:600;letter-spacing:-.5px}
@media(max-width:720px){.hub .topbar{padding:15px 5%;height:105px;gap:12px;flex-wrap:wrap}.hub nav{order:3;width:100%;height:30px;justify-content:flex-start;gap:23px}.hub .tools{gap:10px}.hub .brand{font-size:20px}.watchlist-link{display:none}.hub-hero{height:660px;min-height:0}.hero-art{inset:0;background-position:60% center}.hero-shade{background:linear-gradient(0deg,#101113 0%,#101113aa 45%,#10111320 80%)}.hero-content{left:5%;top:auto;bottom:90px;width:90%}.hero-content h1{font-size:40px;max-width:400px}.hero-content p{font-size:14px;max-width:380px}.hero-switcher{bottom:50px}.hub-content{padding:0 5%}.hub-rail>.movie{flex-basis:145px}.hub .movie-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.row-heading h2{font-size:19px}.hub .search-panel{top:105px}.hero-actions .primary,.hero-actions .secondary{font-size:15px;padding:11px 22px}#player .control-row{gap:8px}#player .cinema-controls{padding:40px 15px 20px}#player .cinema-header{padding:20px 15px}.cinema-paused{bottom:155px}.cinema-paused h3{font-size:24px}.cinema-title h2{font-size:16px}#player .cinema-button{width:36px;height:40px;padding:5px}#player .skip small{left:14px}.volume-group{display:none}}
.hero-art{left:0}.hero-shade{background:linear-gradient(0deg,#101113 0%,#10111300 35%),linear-gradient(90deg,#101113 0%,#101113f5 27%,#101113dd 42%,#10111388 59%,#10111300 80%)}@media(max-width:720px){.hero-shade{background:linear-gradient(0deg,#101113 0%,#101113c9 48%,#10111333 85%)}}
body:has(dialog[open]){overflow:hidden}.hub-rail .resume-item:last-child{display:block}.hub .movie-grid .movie:last-child:nth-child(5){display:block}

/* Home shelves use landscape artwork; catalogue posters retain their proportions. */
.hub.landscape-rails .hub-rail{gap:14px;padding:5px 3px 14px}
.hub.landscape-rails .home-card{flex:0 0 calc((100% - 56px)/5);min-width:0;padding:0;border:0;background:transparent;text-align:left;scroll-snap-align:start;align-self:flex-start}
.home-card-art{position:relative;width:100%;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background-size:cover;background-position:center;isolation:isolate;transition:filter .18s ease}
.home-card-shade{position:absolute;inset:0;background:linear-gradient(transparent 35%,#080a0cd9)}
.home-card-title{position:absolute;left:16px;right:16px;bottom:13px;font-size:clamp(14px,1.3vw,22px);line-height:1.15;font-weight:750;color:#fff;text-shadow:0 2px 8px #0008;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.home-card:hover .home-card-art{filter:brightness(1.12)}
.home-card:focus-visible{outline:2px solid var(--gold,#d5b878);outline-offset:4px;border-radius:10px}
.home-card.poster-fallback .home-card-art{background-size:contain;background-repeat:no-repeat;background-color:#202326}
.home-card-progress{height:3px;width:60%;margin:9px auto 0;background:#ffffff55;border-radius:3px;overflow:hidden}
.home-card-progress span{display:block;height:100%;background:var(--gold,#d5b878)}
.home-card-remaining{display:block;text-align:center;color:#a5a8ad;font-size:11px;margin-top:6px}
.home-card-play{position:absolute;right:12px;top:12px;width:30px;height:30px;display:grid;place-items:center;background:#080a0c99;border-radius:50%;color:white}
.home-card-play svg{width:14px;height:14px}
@media(max-width:1300px){.hub.landscape-rails .home-card{flex-basis:calc((100% - 42px)/4)}}
@media(max-width:900px){.hub.landscape-rails .home-card{flex-basis:calc((100% - 28px)/3)}}
@media(max-width:600px){.hub.landscape-rails .home-card{flex-basis:72%}.home-card-title{font-size:18px}.hub.landscape-rails .hub-rail{gap:12px}}
@media(prefers-reduced-motion:reduce){.home-card-art{transition:none}}

.browse-shelves .hub-content{padding-top:38px}
.shelf-browse-heading{display:flex;align-items:center;gap:24px;margin:0 0 36px;flex-wrap:wrap}
.shelf-browse-heading h1{font-size:36px;margin:0}.shelf-title-count{margin-left:auto;color:#979ca4;font-size:13px}
.shelf-genre-picker{position:relative;z-index:5}.shelf-genre-picker summary{list-style:none;cursor:pointer;border:1px solid #ffffff30;border-radius:24px;padding:10px 18px;display:flex;gap:22px;background:#222428;color:#eee}
.shelf-genre-picker summary::-webkit-details-marker{display:none}.shelf-genre-options{position:absolute;top:calc(100% + 8px);left:0;width:230px;max-height:320px;overflow:auto;background:#242629;border:1px solid #ffffff20;padding:8px;border-radius:12px;box-shadow:0 10px 35px #0009}
.shelf-genre-options button{display:block;width:100%;padding:10px 12px;text-align:left;border-radius:7px;color:#ddd}.shelf-genre-options button:hover{background:#ffffff12}.shelf-genre-options button[aria-pressed=true]{color:var(--gold);background:#d5b87812}
@media(max-width:600px){.shelf-browse-heading{gap:14px}.shelf-browse-heading h1{font-size:28px}.shelf-title-count{display:none}}

.home-card-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.poster-fallback .home-card-image{object-fit:contain}

/* Official title logos retain a readable text fallback until loaded. */
.title-art-logo{display:none;width:100%;height:100%;object-fit:contain;object-position:left bottom;filter:drop-shadow(0 2px 5px #000a)}
.has-title-art>.title-art-fallback{display:none}
.has-title-art>.title-art-logo{display:block}
.home-card-title.has-title-art{display:block;right:auto;width:76%;height:44%;overflow:visible}
.hero-content h1.has-title-art{width:min(440px,90%);height:150px}

.home-card-art.has-embedded-title>.home-card-title{display:none}

/* Keep the title readable while artwork loads or retries. */
.home-card-image:not(.art-loaded){visibility:hidden}

/* Compact shelves: drag with a mouse, swipe on touch, or use the row arrows. */
.hub .hub-row{margin-bottom:20px}
.hub .hub-rail{scrollbar-width:none;padding-bottom:8px}
.hub .hub-rail::-webkit-scrollbar{display:none}
.hub.landscape-rails .hub-rail{padding-bottom:8px}
.hub-rail.is-dragging{scroll-snap-type:none;scroll-behavior:auto;cursor:grabbing;user-select:none}
.hub-rail.is-dragging *{cursor:grabbing!important;user-select:none}
.hub-rail img{-webkit-user-drag:none}
@media(pointer:fine){.hub-rail{cursor:grab}}

/* Leave shelves exactly where released; scrolling is continuous, never snapped. */
.hub .hub-rail{scroll-snap-type:none!important;scroll-behavior:auto}

.shelf-frame{position:relative}
.shelf-frame>.row-arrows{position:absolute;inset:5px 0 8px;pointer-events:none;display:block;z-index:2}
.shelf-frame>.row-arrows[hidden]{display:none}
.shelf-frame>.row-arrows button{position:absolute;top:0;bottom:0;width:42px;height:auto;border-radius:8px;pointer-events:auto;opacity:.35;font-size:36px;color:white;background:linear-gradient(90deg,#080a0caa,transparent);transition:opacity .16s}
.shelf-frame>.row-arrows button[data-slide="-1"]{left:0}
.shelf-frame>.row-arrows button[data-slide="1"]{right:0;background:linear-gradient(270deg,#080a0caa,transparent)}
.shelf-frame:hover>.row-arrows button,.shelf-frame:focus-within>.row-arrows button{opacity:.85}
.shelf-frame>.row-arrows button:hover,.shelf-frame>.row-arrows button:focus-visible{opacity:1;background-color:#080a0c55}
.shelf-frame>.row-arrows button:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
@media(pointer:coarse){.shelf-frame>.row-arrows button{width:32px;opacity:.65}}

/* Opening a dialog must not resize the underlying shelves. */
html{scrollbar-gutter:stable}
@supports not (scrollbar-gutter:stable){html{overflow-y:scroll}}
.home-card-art{clip-path:inset(0 round 10px)}

.anime-format-switch{display:inline-flex;gap:3px;padding:3px;border:1px solid #ffffff30;border-radius:24px;background:#222428}
.anime-format-switch button{padding:8px 14px;border:0;border-radius:20px;background:transparent;color:#c9cbd0;cursor:pointer;font:inherit;font-size:14px}
.anime-format-switch button[aria-pressed="true"]{background:#d8bc79;color:#171715}
.anime-format-switch button:focus-visible{outline:2px solid #f2ddb0;outline-offset:2px}
@media(max-width:600px){.anime-format-switch button{min-height:38px;padding:6px 10px}.browse-shelves .shelf-browse-heading h1{flex-basis:100%}.shelf-browse-heading{column-gap:10px}}
