:root{color-scheme:dark;--ground:#101418;--panel:#191f24;--paper:#f7f5f2;--soft:#d5d5d4;--quiet:#aab0b3;--orange:#ffa24d;--edge:rgba(234,241,245,.14);--ease:cubic-bezier(.18,.78,.2,1);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--ground);color:var(--paper);font-synthesis:none}
*{box-sizing:border-box}
html{
  --safe-top:env(safe-area-inset-top,0px);
  --safe-left:env(safe-area-inset-left,0px);
  --safe-right:env(safe-area-inset-right,0px);
  min-width:280px;
  scroll-padding-top:22px;
}
body{margin:0;padding-inline:var(--safe-left) var(--safe-right);min-height:100vh;background:radial-gradient(ellipse at 0% 62%,#1c242a66,transparent 42rem),var(--ground);overflow-x:clip}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button,select,a{touch-action:manipulation}
button,select{cursor:pointer}
a{color:inherit;text-decoration:none}
button{color:inherit;border:0;background:none}
button:disabled{opacity:.5;cursor:wait}
:is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--orange);outline-offset:4px}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:610;line-height:1.1;letter-spacing:-.045em;text-wrap:balance}
h1{font-size:clamp(36px,5vw,76px)} h2{font-size:clamp(27px,3.1vw,45px)} h3{font-size:clamp(20px,2vw,28px)}
svg.icon{width:1.3em;height:1.3em;display:block;flex-shrink:0}
button,a{transition:color .18s,background-color .22s,border-color .22s,box-shadow .25s,scale .24s var(--ease)}
button:active:not(:disabled),a:active{scale:.97}
[hidden]{display:none!important}
.skip{position:absolute;z-index:20;left:14px;top:12px;transform:translateY(-180%);padding:12px 16px;border-radius:12px;background:var(--paper);color:#15191d}.skip:focus{transform:none}
.wrap,.header-inner{width:min(1320px,calc(100% - clamp(36px,8vw,128px)));margin-inline:auto}
#header{position:relative;z-index:3;padding-top:var(--safe-top);background:var(--ground);isolation:isolate}
.header-inner{display:flex;height:76px;align-items:center;justify-content:space-between;gap:18px}
.brand{display:inline-flex;align-items:center;gap:10px;font-size:21px;letter-spacing:-.065em;font-weight:675;white-space:nowrap}.brand .icon{font-size:23px;color:var(--orange)}
.bar-nav,.utilities,.inline-actions,.line,.panel-foot{display:flex;align-items:center;gap:8px}
.bar-nav{padding:4px;border:1px solid var(--edge);background:#ffffff05;border-radius:100px}.bar-nav a,.dock-inner a{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:14px;line-height:1.25;color:var(--quiet);border-radius:100px;padding:9px 15px}.bar-nav a:hover,.dock-inner a:hover,.chip:hover,.plain:hover{color:var(--paper)}.bar-nav a.active,.dock-inner a.active{color:var(--paper);background:rgba(239,241,243,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}.bar-nav a.active .icon,.dock-inner a.active .icon{color:var(--orange)}
.icon-btn,.round{display:inline-grid;place-items:center;min-width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.055);border:1px solid var(--edge);color:var(--soft)}.icon-btn:hover{background:rgba(255,255,255,.12);color:var(--paper)}.icon-btn.active{color:var(--orange);border-color:#ffa24d55}
#dock{display:none}
#main{min-height:70svh;outline:0;padding-bottom:64px}
.hero,.login-scene,.mood-scene{isolation:isolate;overflow:hidden;position:relative;border-radius:30px;border:1px solid var(--edge);background:#29343b}
.scene-image{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%;animation:cinema-in 1.15s var(--ease) both}
.hero::after,.login-scene::after,.mood-scene::after{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(90deg,rgba(11,17,23,.53),rgba(10,15,18,.04) 76%),linear-gradient(0deg,rgba(11,15,19,.55),transparent 80%)}
.hero{min-height:clamp(345px,33vw,450px);display:flex;align-items:flex-end;padding:clamp(18px,3vw,44px)}
.glass{border:1px solid rgba(237,242,248,.28);border-top-color:rgba(255,255,255,.4);border-radius:24px;background:linear-gradient(135deg,rgba(51,62,73,.83),rgba(29,35,42,.70) 62%,rgba(64,52,40,.66));box-shadow:0 16px 48px #02050732,inset 0 1px 1px #ffffff12;backdrop-filter:blur(22px) saturate(1.23);-webkit-backdrop-filter:blur(22px) saturate(1.23)}
.mood-form,.login-card,.result-card{width:min(100%,456px);padding:clamp(20px,2.25vw,34px);animation:glass-in .65s var(--ease) both}.mood-form h1,.mood-form h2,.login-card h1{font-size:clamp(28px,2.8vw,43px);line-height:1.05;margin:0 0 18px}.mood-form h2{max-width:12em}.hero .mood-form h2,.hero .mood-form h1{font-size:clamp(26px,2.65vw,40px)}
textarea,.input,.select{border:1px solid var(--edge);border-radius:13px;background:rgba(144,155,166,.12);color:var(--paper)}
textarea{display:block;width:100%;padding:13px 15px;line-height:1.42;resize:vertical;min-height:70px;max-height:220px;font-size:17px}.mood-form textarea::placeholder{color:#e0e0e0;opacity:.86}.input::placeholder{color:var(--quiet);opacity:1}
.panel-foot{margin-top:13px;justify-content:space-between;color:var(--soft);font-size:13px;line-height:1.45}.round,.primary{background:linear-gradient(145deg,#ffbf72,#ffa24d 52%,#f58d37);color:#261709;border:1px solid #ffc690;box-shadow:0 4px 16px #fda15025,inset 0 1px 1px #fff4}.round{height:44px;width:44px;flex-shrink:0}.round:hover,.primary:hover{box-shadow:0 6px 28px #fb9c4345;filter:brightness(1.055)}.round .icon{width:23px;height:23px}
.section{padding-top:40px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:20px}.section-title{display:flex;align-items:baseline;gap:13px;min-width:0}.count{color:var(--quiet);font-variant-numeric:tabular-nums;font-size:14px;letter-spacing:0;font-weight:520}
.controls{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px;flex-wrap:wrap}
.chips{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.chip{font-size:14px;line-height:1.3;border:1px solid var(--edge);border-radius:100px;padding:8px 14px;color:var(--soft);white-space:nowrap}.chip[aria-pressed=true]{background:#ffa24d19;border-color:#ffa24d59;color:#ffb87a}.chip:active{scale:.96}
.filter-tools{display:flex;align-items:center;gap:8px}.searchbox{position:relative;display:flex;align-items:center;min-width:0;color:var(--quiet)}.searchbox>.icon{position:absolute;left:12px;pointer-events:none;width:17px;height:17px}.input,.select{min-height:40px;padding:9px 12px;background:#1b2126;font-size:14px}.searchbox .input{width:100%;padding-left:37px}.filter-search{width:200px}.select{color:var(--soft);max-width:100%}
.poster-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px clamp(12px,1.5vw,25px);align-items:start}
.film{display:block;min-width:0;text-align:left;border-radius:13px;animation:card-in .48s var(--ease) backwards}.film:nth-child(6n+2),.person-card:nth-child(6n+2){animation-delay:35ms}.film:nth-child(6n+3),.person-card:nth-child(6n+3){animation-delay:65ms}.film:nth-child(6n+4){animation-delay:95ms}.film:nth-child(6n+5){animation-delay:120ms}.film:nth-child(6n){animation-delay:145ms}
.art{position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;width:100%;aspect-ratio:2/3;border-radius:13px;background:linear-gradient(150deg,#343e44,#23262b 47%,#44362c);box-shadow:inset 0 0 0 1px var(--edge);color:#f0d3b1}.art::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:32%;background:linear-gradient(0deg,#05090f65,transparent);pointer-events:none}.art .initial{font-size:clamp(22px,3vw,44px);font-weight:540;letter-spacing:-.08em;opacity:.68}.art img,.wide-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease),opacity .24s;opacity:0}.art img.loaded,.wide-art img.loaded{opacity:1}.art img{z-index:1}.film-badge{position:absolute;bottom:8px;left:8px;z-index:2;display:grid;place-items:center;background:#14191cba;backdrop-filter:blur(8px);color:white;width:27px;height:27px;border:1px solid #ffffff48;border-radius:50%}.film-badge .icon{width:14px;height:14px}.film-badge.want{color:#ffc48e}.film strong{font-size:clamp(14px,1.1vw,17px);font-weight:565;line-height:1.28;letter-spacing:-.02em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:9px;overflow-wrap:anywhere}
.meta,.subtle{color:var(--quiet);line-height:1.5}.meta{font-size:13px;display:block;margin-top:3px}.subtle{font-size:15px}
.more-actions{padding:30px 0 4px;display:flex;justify-content:center}.secondary,.primary,.back,.plain{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:41px;border-radius:100px;font-size:14px;font-weight:540;padding:9px 17px;line-height:1.3}.secondary,.back{border:1px solid var(--edge);background:#ffffff08;color:var(--soft)}.secondary:hover,.back:hover{background:#ffffff12;color:var(--paper)}.primary{padding-inline:20px}.plain{padding:5px 2px;color:var(--quiet);min-height:32px}.plain .icon,.back .icon,.secondary .icon,.primary .icon{width:17px;height:17px}
.empty,.error-box,.loading-box{display:flex;align-items:center;flex-direction:column;gap:12px;justify-content:center;text-align:center;padding:40px 20px;border-radius:20px;border:1px solid var(--edge);background:#fff02a02;color:var(--soft);line-height:1.5}.empty>.icon{font-size:25px;color:#ffb877}.empty h3,.error-box h3{font-size:22px}.boot{min-height:65svh;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--quiet)}.spinner{display:inline-block;width:18px;height:18px;border:2px solid #c5d4dd43;border-top-color:var(--orange);border-radius:50%;animation:spin .85s linear infinite}
.field-error{display:block;color:#ffd0ae;line-height:1.45;font-size:14px;margin-top:12px}.field-error:empty{display:none}
.login-scene,.mood-scene{min-height:min(760px,calc(100svh - 110px));display:flex;align-items:flex-end;padding:clamp(18px,4vw,62px)}.login-card h1{margin-bottom:10px}.login-card>p{color:var(--soft);line-height:1.55;margin-bottom:22px}.field{display:flex;flex-direction:column;gap:7px;font-size:14px;color:var(--soft)}.field .input{width:100%}.login-card .input{min-height:46px;background:#ffffff12}.login-card .primary{margin-top:17px;min-width:115px}.login-card .primary .icon{margin-left:10px}
.page{animation:page-in .38s var(--ease) both}.page-heading{padding:clamp(24px,3.5vw,55px) 0 24px}.page-heading h1{font-size:clamp(38px,5vw,68px)}.page-heading p{margin-top:12px;max-width:620px}.back-row{padding:10px 0 16px;display:flex;align-items:center}
.detail-hero{position:relative;isolation:isolate;border:1px solid var(--edge);border-radius:28px;background:linear-gradient(125deg,#343f47,#292b29 72%,#62482e);overflow:hidden}
.detail-backdrop{position:absolute;z-index:-2;inset:-22%;width:144%;height:144%;object-fit:cover;object-position:center 30%;filter:blur(44px) saturate(.65);opacity:.47;pointer-events:none}
.detail-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#15191de8,transparent 80%),linear-gradient(90deg,#141c2052,transparent)}
.detail-layout{display:grid;grid-template-columns:clamp(146px,21vw,268px) minmax(0,1fr);gap:clamp(22px,3vw,46px);align-items:end;padding:clamp(22px,3.5vw,50px)}.detail-copy h1{font-size:clamp(34px,4vw,64px);overflow-wrap:anywhere}.original{color:var(--soft);font-size:clamp(15px,1.35vw,20px);margin-top:7px}.detail-copy .meta{font-size:15px;margin-top:14px}.detail-copy .inline-actions{margin-top:18px;flex-wrap:wrap}.detail-art{align-self:end;box-shadow:0 14px 34px #0005}.detail-columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:clamp(22px,5vw,80px);align-items:start;margin-top:32px}.detail-block{margin-bottom:30px}.detail-block h2,.history-group h2{font-size:clamp(24px,2.4vw,34px);margin-bottom:15px}.description{color:var(--soft);font-size:clamp(16px,1.25vw,19px);line-height:1.6;white-space:pre-line;overflow-wrap:anywhere}
.personal{padding:20px;background:linear-gradient(140deg,#242b32ab,#1a2025aa);border:1px solid var(--edge);border-radius:20px}.personal h2{font-size:24px;margin-bottom:18px}.personal .field{margin:12px 0}.personal .select{width:100%}.personal .secondary{margin-top:4px}.date-line{padding:12px 0;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--edge);font-size:14px;color:var(--quiet)}.date-line span:last-child{color:var(--paper);text-align:right}.dates{margin-top:16px}
.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:16px 12px}.person-card{display:block;min-width:0;text-align:center;line-height:1.35;font-size:14px;border-radius:13px;animation:card-in .4s var(--ease) both}.person-card .art{aspect-ratio:1;border-radius:50%;max-width:91px;margin:0 auto 8px}.person-card img{object-position:center 24%}.person-card strong{font-size:14px;display:block}.person-card small{color:var(--quiet);line-height:1.3;display:block;margin-top:3px}.person-title{object-position:50% 15%}
.search-form{display:flex;align-items:stretch;gap:10px;max-width:750px;margin-bottom:20px}.search-form .searchbox{flex:1}.search-form .input{height:49px;font-size:17px}.search-form .primary{min-width:95px}
.rows{display:grid;gap:6px}.item-row{min-width:0;display:flex;align-items:center;gap:14px;border-radius:14px;border:1px solid transparent;background:#ffffff04;padding:9px 12px;color:var(--paper)}.item-row .art{width:46px;flex:none;border-radius:6px}.item-row .art .initial{font-size:16px}.row-copy{min-width:0;flex:1;overflow-wrap:anywhere}.row-copy strong{display:block;font-weight:570;line-height:1.4}.row-copy .meta{margin:2px 0 0}.item-row>.icon{color:var(--quiet);width:18px;height:18px}.item-row:hover{background:#ffffff0a;border-color:var(--edge)}.item-row .secondary{flex:none;min-height:34px;font-size:13px}.item-row .secondary .icon{width:15px;height:15px}.history-group{margin-top:24px}.history-group h2{font-size:23px}
.result-card{width:min(100%,570px)}.result-card h1{font-size:clamp(31px,3vw,49px)}.result-card p{margin-top:12px;color:var(--soft);line-height:1.55}.result-card .inline-actions{margin-top:18px;flex-wrap:wrap}.result-poster{width:76px;flex:none}.result-top{display:flex;gap:18px;align-items:center}.result-top .meta{font-size:14px}.result-next{display:flex;align-items:center;justify-content:space-between;margin-top:16px;border-top:1px solid #ffffff2b;padding-top:11px;gap:8px}.result-next .plain{color:var(--soft)}.result-controls{display:flex;align-items:center;gap:7px}.result-controls .icon-btn{width:35px;min-width:35px;height:35px}.result-controls .icon-btn:disabled{cursor:default}
.mood-content{width:100%;display:grid;justify-items:start;gap:12px}.mood-content>.glass{width:min(100%,520px)}.wait-card{padding:24px;line-height:1.5}.wait-card h2{margin-bottom:12px;font-size:26px}.wait-card p{margin:8px 0 16px;color:var(--soft)}.wait-card .line{align-items:center;gap:12px}
.vids{display:flex;flex-wrap:wrap;gap:8px}.season-row{padding:10px 0;border-bottom:1px solid var(--edge);color:var(--soft);font-size:15px}
#notice{pointer-events:none;position:fixed;z-index:9;bottom:28px;left:50%;translate:-50% 12px;opacity:0;background:#2b333af2;border:1px solid #ffffff32;box-shadow:0 5px 24px #0004;border-radius:18px;color:var(--paper);padding:12px 18px;transition:translate .3s var(--ease),opacity .22s;max-width:min(440px,90vw);width:max-content;line-height:1.4;font-size:14px}
#notice.show{translate:-50% 0;opacity:1}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes cinema-in{from{transform:scale(1.035);opacity:.45}to{transform:scale(1);opacity:1}}@keyframes glass-in{from{transform:translateY(15px) scale(.987);opacity:.3}to{transform:translateY(0) scale(1);opacity:1}}@keyframes page-in{from{opacity:.5;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes card-in{from{opacity:.2;transform:translateY(10px)}to{opacity:1;transform:none}}
::view-transition-group(*){animation-duration:.38s;animation-timing-function:var(--ease)}::view-transition-old(root){animation-duration:.18s}::view-transition-new(root){animation-duration:.27s}::view-transition-group(selected-poster){animation-duration:.45s}
@media(hover:hover){.film:hover img,.person-card:hover img{transform:scale(1.045)}.film:hover strong{color:#ffd6b3}.film:hover .art{box-shadow:0 6px 24px #0004}.row-link:hover strong{color:#ffd6b3}}
@media(max-width:1060px){.poster-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.wrap,.header-inner{width:calc(100% - 48px)}.controls{gap:10px}.filter-search{width:175px}}
@media(max-width:800px){.poster-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.bar-nav a{padding:8px 10px}.bar-nav .icon{display:none}.detail-columns{grid-template-columns:1fr;gap:0}.personal{margin-bottom:22px}.detail-layout{grid-template-columns:136px minmax(0,1fr)}.header-inner{height:66px}}
@media(max-width:620px){.wrap,.header-inner{width:calc(100% - 32px)}.header-inner{height:64px}.brand{font-size:20px}.brand .icon{font-size:21px}.bar-nav{display:none}.utilities{gap:6px}.utilities .icon-btn{height:44px;min-width:44px}.utilities .icon{width:18px;height:18px}
#dock:not(:empty){display:block;position:fixed;z-index:5;bottom:0;left:0;width:100%;padding:8px 12px max(9px,env(safe-area-inset-bottom));pointer-events:none;background:linear-gradient(0deg,#101418d9,transparent)}.dock-inner{pointer-events:auto;display:flex;align-items:center;justify-content:center;width:min(100%,390px);margin:auto;padding:5px;border-radius:32px;background:#20262de8;border:1px solid #ffffff31;box-shadow:0 6px 28px #0006;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.dock-inner a{flex:1;min-height:40px;padding:8px 4px;font-size:12px;gap:5px}.dock-inner .icon{width:16px;height:16px}
#main{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}.hero{min-height:clamp(360px,55svh,530px);border-radius:23px;padding:12px}.hero::after,.mood-scene::after,.login-scene::after{background:linear-gradient(0deg,#0d131947,transparent 70%)}.scene-image{object-position:58% 50%}.mood-form,.login-card,.result-card{padding:19px;border-radius:20px}.hero .mood-form h1,.hero .mood-form h2{font-size:25px}.mood-form h1,.mood-form h2{margin-bottom:13px}.mood-form textarea{min-height:63px;font-size:16px;padding:10px 12px}.panel-foot{margin-top:9px;font-size:12px}.round{width:40px;height:40px}.section{padding-top:27px}.section-head{margin-bottom:13px}.section-title{gap:8px}.section-title h2{font-size:29px}.count{font-size:13px}.controls{gap:10px;margin-bottom:16px}.chips{gap:4px}.chip{font-size:12px;padding:7px 10px}.filter-tools{width:100%}.filter-search{flex:1;width:auto}.filter-tools .input,.filter-tools .select{min-height:36px;padding-block:6px}.poster-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px 9px}.film strong{font-size:14px}.film .meta{font-size:11px}.art{border-radius:9px}.film-badge{height:22px;width:22px;left:5px;bottom:5px}.film-badge .icon{width:12px;height:12px}
.login-scene,.mood-scene{min-height:calc(100svh - 150px);border-radius:22px;padding:12px}.login-scene{min-height:calc(100svh - 82px)}.solo #main{padding-bottom:10px}.page-heading{padding:18px 0 20px}.page-heading h1{font-size:39px}.back-row{padding:4px 0 12px}.back{min-height:35px;font-size:13px;padding:6px 12px}.detail-hero{border-radius:21px}.detail-layout{padding:17px;grid-template-columns:minmax(78px,29%) minmax(0,1fr);gap:15px;align-items:center}.detail-copy h1{font-size:clamp(24px,6vw,34px)}.original{font-size:13px}.detail-copy .meta{font-size:12px;margin-top:8px}.detail-copy .inline-actions{margin-top:10px}.detail-copy .primary{min-height:32px;padding:6px 13px;font-size:13px}.detail-art{align-self:center}.detail-columns{margin-top:23px}.detail-block{margin-bottom:23px}.people{grid-template-columns:repeat(auto-fill,minmax(76px,1fr))}.item-row{gap:10px;padding:7px}.item-row .art{width:37px}.row-copy strong{font-size:14px}.item-row .secondary{padding:7px 10px}.item-row .meta{font-size:12px}.search-form .primary{min-width:68px;padding-inline:12px}.search-form .input{font-size:16px}.result-poster{width:57px}.result-top{gap:12px}.result-card h1{font-size:28px}#notice{bottom:calc(75px + env(safe-area-inset-bottom,0px))}.solo #notice{bottom:24px}}
@media(max-width:350px){.wrap,.header-inner{width:calc(100% - 20px)}.chip{padding-inline:7px}.poster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.result-next{align-items:flex-start;flex-wrap:wrap}.search-form{gap:5px}}
/* Keep the controls in their own row below the status area. The scene starts
   after that row on every route, including when the screen rotates. */
@media (max-width:620px), (pointer:coarse) and (max-height:550px) {
  #main{padding-top:10px}
  .login-scene{min-height:max(380px,calc(100svh - var(--safe-top) - 90px))}
  .mood-scene{min-height:max(340px,calc(100svh - var(--safe-top) - env(safe-area-inset-bottom,0px) - 164px))}
}
@media (pointer:coarse) {
  html{touch-action:pan-x pan-y;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  input.input,textarea,select.select{font-size:max(16px,1rem)}
  button:active:not(:disabled),a:active,.chip:active{scale:1}
  @keyframes cinema-in{from{opacity:.65}to{opacity:1}}
  @keyframes glass-in{from{transform:translateY(9px);opacity:.45}to{transform:none;opacity:1}}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.spinner{border-color:var(--orange)}}
.chosen-poster{view-transition-name:selected-poster}
#main[aria-busy=true]::before{content:"";display:block;position:fixed;top:0;left:0;width:100%;height:2px;z-index:20;background:linear-gradient(90deg,transparent,#ffa24d,transparent);animation:load-line 1.3s ease-in-out infinite}
@keyframes load-line{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.video-dialog{padding:0;max-width:min(860px,calc(100% - 24px));width:860px;max-height:90svh;overflow:auto;border-radius:23px;border:1px solid #a9b4ba55;color:var(--paper);background:linear-gradient(140deg,#293138,#181d22 80%);box-shadow:0 24px 100px #0009}
.video-dialog[open]{animation:glass-in .32s var(--ease)}.video-dialog::backdrop{background:#080b0ec9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.video-top,.video-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 20px}.video-top h2{font-size:clamp(20px,2.2vw,29px);overflow-wrap:anywhere}.video-top .icon-btn{flex:none}.video-frame{display:block;aspect-ratio:16/9;background:#060708;width:100%;border:0}.video-foot{justify-content:flex-end}.video-help{padding:20px;color:var(--soft)}
.chip-count{margin-left:6px;font-size:.83em;opacity:.7;font-variant-numeric:tabular-nums}
.detail-cover,.recommendation-still{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 28%;pointer-events:none}
.detail-cover{opacity:.58}.recommendation-still{object-position:center 30%;animation:cinema-in .65s var(--ease) both}
.mood-scene:has(.recommendation-still)::after{background:linear-gradient(0deg,#080c12cc,transparent 83%),linear-gradient(90deg,#0b1218aa,transparent 70%)}
@media(max-width:400px){.chip-count{font-size:.78em;margin-left:3px}.chip{padding-inline:7px}}

/* Catalog search and the read-only film card. */
.catalog-form{max-width:760px;margin-bottom:24px}
.catalog-form .search-form{max-width:none;margin-bottom:12px}
.catalog-filters{border:1px solid var(--edge);border-radius:18px;background:linear-gradient(135deg,#242c32b8,#191f25b8)}
.catalog-filters>summary{display:flex;align-items:center;gap:8px;min-height:46px;padding:8px 16px;cursor:pointer;font-weight:550;list-style:none}
.catalog-filters>summary::-webkit-details-marker{display:none}
.catalog-filters>summary>.icon{width:16px;height:16px;margin-left:auto;color:var(--quiet);transition:transform .2s ease}
.catalog-filters[open]>summary>.icon{transform:rotate(180deg)}
.catalog-filter-count{border-radius:12px;background:#ffa24d20;color:#ffbb79;padding:2px 7px;font-size:13px}
.catalog-options{border-top:1px solid var(--edge);padding:16px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px 12px}
.catalog-options .field,.catalog-options .select,.catalog-options .input{min-width:0;width:100%}
.catalog-options .select,.catalog-options .input{font-size:16px;min-height:44px}
.catalog-options .select{border-radius:13px}
.catalog-years,.catalog-actors,.catalog-filter-actions{grid-column:1/-1}
.catalog-years{padding:0;margin:0;border:0;min-width:0}
.catalog-years legend{font-size:14px;color:var(--soft);padding:0;margin-bottom:7px}
.catalog-years>div,.catalog-filter-actions,.catalog-pagination,.actor-chip,.actor-option,.catalog-row-link{display:flex;align-items:center}
.catalog-years>div{gap:10px;color:var(--quiet)}
.catalog-filter-actions{justify-content:space-between;gap:12px}
.actor-chips{display:flex;flex-wrap:wrap;gap:6px}
.actor-chips:not(:empty),.actor-suggestions:not(:empty),.actor-status:not(:empty){margin-top:8px}
.actor-chip{gap:8px;border:1px solid #ffa24d5c;border-radius:20px;padding:7px 10px;background:#ffa24d17;color:#ffd0a2;font-size:14px}
.actor-chip .icon{width:14px;height:14px}
.actor-suggestions:not(:empty){display:grid;max-height:252px;overflow:auto;border:1px solid var(--edge);border-radius:12px;padding:4px;background:#171d22}
.actor-option{border:0;background:none;color:var(--paper);gap:10px;padding:6px 8px;text-align:left;border-radius:8px;min-height:44px}
.actor-option:is(:hover,:focus-visible){background:#ffffff10}
.actor-option .art{width:32px;aspect-ratio:1;border-radius:50%;flex:none}
.actor-option .art .icon{width:17px;height:17px}
.actor-status,.catalog-note,.catalog-genre-issue{font-size:14px;color:var(--quiet);line-height:1.4}
.catalog-note{margin:0 0 12px}
.catalog-row{padding-block:0}
.catalog-row-link{flex:1;min-width:0;align-self:stretch;gap:14px;padding-block:9px;text-decoration:none;color:inherit}
.catalog-row-link>.icon{width:15px;height:15px;flex:none;color:var(--quiet)}
.catalog-row-link:focus-visible,.catalog-filters>summary:focus-visible{outline:2px solid var(--orange);outline-offset:2px;border-radius:12px}
.catalog-row>.secondary{min-height:44px}
.catalog-results{scroll-margin-top:80px}
.catalog-pagination{gap:16px;justify-content:center;padding:22px 0 6px}
.catalog-pagination .secondary{width:44px;height:44px;padding:0}
.detail-columns.catalog-detail{display:block;max-width:870px}
@media(max-width:600px){.catalog-options{padding:12px}.catalog-row-link{gap:8px}.catalog-row-link>.icon{display:none}.catalog-form .search-form .input{font-size:16px}}

.library-filters{flex-wrap:wrap}.library-filters .select{min-width:0;width:auto}
@media(max-width:720px){.library-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.library-filters .filter-search{width:100%}.library-filters .select{width:100%;text-overflow:ellipsis}}

.personal{min-width:0;container-type:inline-size}
.personal-status{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;padding:4px;border:1px solid var(--edge);border-radius:15px;background:#0e12166b}
.status-choice,.score-choice{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid transparent;border-radius:11px;font-size:14px;font-weight:560;line-height:1.2;color:var(--soft)}
.status-choice{gap:5px;padding:8px 3px}
.status-choice .icon{width:15px;height:15px}
.status-choice[aria-pressed=true],.score-choice[aria-pressed=true]{background:#ffa24d21;color:#ffc38a;border-color:#ffa24d63;box-shadow:inset 0 1px 0 #ffd2a21a}
.personal-summary:empty{display:none}
.personal-summary{margin:14px 0 0}
.personal-summary .date-line:first-child{border-top:0}
.saved-score{color:#ffc38a;font-variant-numeric:tabular-nums}
.saved-comment{padding:8px 0 14px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}
.personal .review-open{width:100%;margin-top:14px;min-height:44px}
.personal-editor{margin-top:18px;animation:review-in .25s var(--ease)}
@keyframes review-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.score-heading,.review-actions{display:flex;align-items:center;gap:10px}
.score-heading{justify-content:space-between;color:var(--soft);font-size:14px}
.score-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:3px 0 16px}
.score-choice{background:#ffffff08;border-color:var(--edge);font-variant-numeric:tabular-nums}
.score-clear{font-size:13px}
.personal-editor .personal-comment{font-size:16px;min-height:88px}
.personal-dates{margin:12px 0 14px;border-block:1px solid var(--edge)}
.personal-dates summary{padding:13px 0;font-size:14px;cursor:pointer;color:var(--soft)}
.review-actions>button{flex:1;margin:0;min-height:44px}
.personal .review-actions .secondary{margin:0}
@media(max-width:800px){.detail-columns>.personal{order:-1}}
@container (max-width:290px){.status-choice .icon{display:none}}

/* One family of continuous corners for the controls, cards and sheets. */
:root{--corner-control:clamp(11px,2.8vw,15px);--corner-panel:clamp(19px,3.6vw,28px)}
:is(.bar-nav,.dock-inner,.hero,.detail-hero,.mood-scene,.login-scene,.glass,.personal,.catalog-filters,.video-dialog){border-radius:var(--corner-panel)}
:is(.bar-nav a,.dock-inner a,.icon-btn,.round,.chip,.back,.primary,.secondary,.plain,.art,.app-picker,.filter-tools .input,.actor-chip){border-radius:var(--corner-control)}
.film-badge{border-radius:8px}
:is(button,summary,.film,.person-card,.bar-nav a,.dock-inner a,.brand,.back,.row-link){user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
:root[data-input=pointer] :is(a,button,summary,[tabindex]):focus{outline:none}
.chips{gap:7px}
.chip{min-height:44px;padding:10px clamp(15px,2.5vw,24px);font-weight:550}
.chip-count{margin-left:7px}
.app-picker{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left}
.app-picker>span{min-width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
.app-picker .icon{width:14px;height:14px;color:var(--quiet)}
.detail-layout:has(.poster-view){grid-template-columns:clamp(205px,24vw,332px) minmax(0,1fr)}
.poster-view{display:block;position:relative;width:100%;padding:0;border-radius:var(--corner-panel);cursor:zoom-in}
.poster-view .art{border-radius:inherit}
.poster-view .art img,.art.portrait img{object-fit:contain;object-position:center}
.poster-view .art::after,.art.portrait::after{display:none}
.poster-view .art:has(.loaded) .initial,.art.portrait:has(.loaded)>.icon{visibility:hidden}
.detail-hero:has(.poster-view)::before{background:linear-gradient(0deg,#101519e8,transparent 92%),linear-gradient(90deg,#12161a2b,#12161a77)}
.detail-copy .inline-actions button{min-height:44px;padding-inline:18px}
.people{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:20px 14px}
.person-card{text-align:start}
.person-card .art.portrait{aspect-ratio:2/3;border-radius:var(--corner-control);max-width:none;margin-bottom:9px;background:linear-gradient(160deg,#2a333b,#191e23)}
.person-card:hover .portrait img{transform:none}
.person-card strong,.person-card small{overflow-wrap:anywhere}
.people-more{margin-top:18px}
.actor-option .art.portrait{border-radius:7px;aspect-ratio:2/3;height:42px;width:28px}
.app-sheet{color:var(--paper);width:min(400px,calc(100% - 28px));max-width:100%;max-height:82svh;padding:0;border-radius:var(--corner-panel);border:1px solid #85959f65;background:linear-gradient(155deg,#303941,#1e252b 64%);box-shadow:0 20px 80px #0008}
.app-sheet[open]{display:flex;flex-direction:column;animation:sheet-in .28s var(--ease)}
.app-sheet::backdrop{background:#080c10bf;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);animation:veil-in .2s ease-out}
.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none;padding:16px 18px 12px;border-bottom:1px solid var(--edge)}
.sheet-head h2{font-size:clamp(20px,4vw,26px);line-height:1.16}
.sheet-head .icon-btn{flex:none;min-width:42px;height:42px}
.sheet-body{overflow:auto;overscroll-behavior:contain;padding:12px 16px 16px}
.choice-list{display:grid;gap:3px}
.choice-option{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:9px 13px;text-align:left;border:1px solid transparent;border-radius:var(--corner-control)}
.choice-option:hover{background:#ffffff08}
.choice-option[aria-pressed=true],.calendar-day[aria-pressed=true]{color:#ffc48e;background:#ffa24d19;border-color:#ffa24d44}
.choice-option .icon{width:17px}
.calendar-nav,.calendar-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}
.calendar-nav strong{text-transform:capitalize;margin-inline-start:auto}
.calendar-nav .calendar-year{width:62px;min-width:0;margin-inline-end:auto;text-align:center;font-variant-numeric:tabular-nums;padding:7px 4px}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;margin:12px 0}
.calendar-grid small{color:var(--quiet);text-align:center;padding:8px 0}
.calendar-day{min-height:40px;border:1px solid transparent;border-radius:10px;font-variant-numeric:tabular-nums}
.calendar-day:hover:enabled{background:#ffffff12}
.calendar-day:disabled{cursor:default;opacity:.3}
.poster-sheet{width:fit-content;max-width:min(720px,calc(100vw - 20px));max-height:94svh}
.poster-sheet .sheet-body{padding:9px;display:grid;place-items:center;background:#12161a}
.poster-full{display:block;width:auto;height:auto;max-width:100%;max-height:calc(92svh - 100px);object-fit:contain;border-radius:10px}
@keyframes sheet-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@keyframes veil-in{from{opacity:0}to{opacity:1}}
@media(max-width:620px){
  .detail-layout:has(.poster-view),.detail-layout:has(>.detail-art){grid-template-columns:minmax(0,1fr);align-items:start;gap:20px;padding:22px 19px}
  .detail-layout :is(.poster-view,.detail-art):first-child{width:min(100%,clamp(178px,57vw,258px));justify-self:center}
  .poster-view .detail-art:first-child{width:100%}
  .detail-copy h1{font-size:clamp(27px,7vw,38px)}
  .detail-copy .meta{font-size:14px}
  .detail-copy .inline-actions{margin-top:14px}
  .chips{width:100%}
  .chips .chip{flex:1 0 auto;font-size:13px;padding:10px clamp(12px,3.5vw,19px)}
  .people{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px 10px}
  .app-sheet:not(.poster-sheet){margin:auto auto max(10px,env(safe-area-inset-bottom,0px));width:min(460px,calc(100% - 16px));max-height:78svh}
  .dock-inner a{border-radius:calc(var(--corner-panel) - 6px)}
}
@media(max-width:345px){.chips{gap:4px}.chips .chip{padding-inline:10px}.chip-count{margin-left:4px}}
.app-sheet .icon-btn:active,.status-choice:active,.score-choice:active{background-color:#ffffff12}
@media(prefers-reduced-motion:no-preference){
  .catalog-options,.personal-dates[open]>.field,.people-more:not([hidden]),.detail-status{animation:reveal-in .24s var(--ease) both}
  .poster-sheet[open] .poster-full{animation:poster-in .32s var(--ease) both}
  @keyframes reveal-in{from{opacity:.25;transform:translateY(5px)}to{opacity:1;transform:none}}
  @keyframes poster-in{from{opacity:.6;transform:scale(.98)}to{opacity:1;transform:none}}
}
