:root{--bg:#08090c;--bg-deep:#050609;--ink:#f2f3f5;--ink-dim:#8c9099;--ink-faint:#4c515c;--line:#ffffff1a;--perspective:1500px;--radius:14px;--font:"Segoe UI", "Segoe UI Variable Text", system-ui, -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;overflow:hidden}body{background:radial-gradient(120% 90% at 50% 45%, #14161d 0%, var(--bg) 45%, var(--bg-deep) 100%)}.shell{position:fixed;inset:0}.vignette{pointer-events:none;background:radial-gradient(circle at 50% 50%, transparent 42%, #06070acc 78%, var(--bg-deep) 100%);position:fixed;inset:0}.masthead{pointer-events:none;z-index:3;isolation:isolate;position:fixed;top:clamp(18px,3.5vh,40px);left:clamp(18px,3vw,56px)}.masthead:before,.hud:before{content:"";z-index:-1;pointer-events:none;height:clamp(120px,20vh,200px);position:fixed;left:0;right:0}.masthead:before{background:linear-gradient(#05060af2 0%,#05060a99 45%,#05060a00 100%);top:0}.hud:before{background:linear-gradient(#05060a00 0%,#05060a80 50%,#05060ae6 100%);height:clamp(90px,14vh,150px);bottom:0}.masthead__eyebrow{letter-spacing:.01em;color:var(--ink-dim);margin:0 0 .1em;font-size:clamp(.66rem,.9vw,.8rem);font-weight:400}.masthead__title{letter-spacing:.06em;color:#9ea3ad;margin:0;font-size:clamp(1.9rem,3.4vw,3.1rem);font-weight:600;line-height:.95}.hud{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);pointer-events:none;z-index:3;isolation:isolate;justify-content:space-between;padding:0 clamp(18px,4vw,42px);font-size:clamp(.6rem,1vw,.7rem);display:flex;position:fixed;bottom:clamp(18px,3.5vh,34px);left:0;right:0}.stage{perspective:var(--perspective);perspective-origin:50%;touch-action:none;cursor:grab;overscroll-behavior:none;position:fixed;inset:0}.stage.is-dragging{cursor:grabbing}.grid{transform-style:preserve-3d;pointer-events:none;position:absolute;inset:0}.tile{pointer-events:auto;transform-origin:50%;backface-visibility:hidden;will-change:transform, opacity;margin:0;position:absolute;top:0;left:0}.tile__frame{border-radius:var(--radius);background:#0d0e13;width:100%;height:100%;transition:box-shadow .45s;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff14,0 24px 60px -24px #000c}.tile__img{z-index:1;object-fit:cover;filter:saturate(.75)contrast(1.02);width:100%;height:100%;transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s;display:block;position:relative}.tile__fallback{background:radial-gradient(115% 85% at 28% 12%, hsl(var(--h) 72% 58% / .5), transparent 62%), radial-gradient(120% 115% at 82% 92%, hsl(calc(var(--h) + 55) 78% 52% / .38), transparent 66%), linear-gradient(162deg, #161821 0%, #0a0b10 100%);place-items:center;display:grid;position:absolute;inset:0}.tile__num{letter-spacing:-.04em;color:#ffffff1f;font-variant-numeric:tabular-nums;font-size:clamp(2.2rem,5vw,3.4rem);font-weight:600}.tile__frame:after{content:"";border-radius:inherit;border:1px solid var(--line);pointer-events:none;position:absolute;inset:0}.tile__caption{align-items:baseline;gap:.55em;font-size:clamp(.58rem,.8vw,.7rem);line-height:1.35;display:flex;position:absolute;top:calc(100% + 12px);left:0;right:0}.tile__index{color:var(--ink-faint);font-variant-numeric:tabular-nums;letter-spacing:.06em}.tile__text{min-width:0}.tile__title{-webkit-line-clamp:2;line-clamp:2;color:var(--ink-dim);letter-spacing:.01em;-webkit-box-orient:vertical;transition:color .35s;display:-webkit-box;overflow:hidden}.tile__meta{color:var(--ink-faint);letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;font-size:.85em;display:block;overflow:hidden}@media (hover:hover){.tile:hover .tile__img{filter:saturate()contrast(1.05);transform:scale(1.06)}.tile:hover .tile__title{color:var(--ink)}.tile:hover .tile__frame{box-shadow:inset 0 1px #ffffff2e,0 30px 70px -22px #000000e6}}@media (prefers-reduced-motion:reduce){.tile__img{transition:none}}.detail{z-index:5;flex-direction:column;justify-content:flex-start;gap:clamp(14px,2.6vh,30px);padding:clamp(92px,14vh,150px) clamp(18px,5vw,110px) clamp(20px,5vh,54px);display:flex;position:fixed;inset:0}.detail__back{font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:.6em;padding:.45em .2em;font-size:clamp(.8rem,1.1vw,.95rem);transition:color .25s;display:inline-flex}.detail__back:hover{opacity:1!important}.detail__back svg{transition:transform .25s cubic-bezier(.2,.8,.2,1)}.detail__back:hover svg{transform:translate(-3px)}.detail__inner{grid-template-columns:clamp(190px,21vw,390px) minmax(0,1fr);align-items:start;gap:clamp(26px,4vw,70px);width:100%;display:grid}.detail__poster{aspect-ratio:1/1.4;position:relative}.hero{border-radius:var(--radius);will-change:transform;background:#0d0e13;position:absolute;inset:0;overflow:hidden;box-shadow:0 40px 90px -30px #000000e6}.hero img{z-index:1;object-fit:cover;width:100%;height:100%;display:block;position:relative}.detail__body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;max-height:72vh;padding-right:4px;overflow-y:auto}.detail__body::-webkit-scrollbar{width:6px}.detail__body::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.detail__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:14px 28px;margin-bottom:clamp(16px,2.4vh,26px);display:flex}.detail__title{letter-spacing:.005em;color:var(--ink);margin:0;font-size:clamp(1.35rem,2.4vw,2.1rem);font-weight:400;line-height:1.15}.detail__meta{letter-spacing:.04em;color:var(--ink-faint);margin:.5em 0 0;font-size:clamp(.7rem,.95vw,.8rem)}.detail__where{align-items:center;gap:clamp(12px,1.6vw,26px);display:flex}.detail__where-label{color:var(--ink-dim);white-space:nowrap;font-size:clamp(.75rem,1vw,.9rem)}.detail__brands{flex-wrap:wrap;align-items:center;gap:clamp(10px,1.4vw,22px);display:flex}.brand{letter-spacing:.04em;color:var(--brand,var(--ink-dim));white-space:nowrap;background:#ffffff08;border:1px solid #ffffff1a;border-radius:6px;align-items:center;gap:.4em;padding:.32em .7em;font-size:clamp(.66rem,.85vw,.76rem);font-weight:600;text-decoration:none;transition:background .25s,border-color .25s;display:inline-flex}.brand:hover{background:#ffffff14;border-color:#fff3}.detail__trailer:empty,.detail__chars:empty{display:none}.detail__trailer{margin-bottom:clamp(18px,2.6vh,28px)}.trailer{aspect-ratio:16/9;background:#101218;border-radius:8px;width:clamp(220px,24vw,330px);position:relative;overflow:hidden}.trailer__thumb{cursor:pointer;background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.trailer img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .3s;display:block}.trailer__thumb:hover img{filter:brightness(1.08);transform:scale(1.05)}.trailer__play{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.trailer__play:before{content:"";-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;border:1.5px solid #ffffffd9;border-radius:50%;width:46px;height:46px}.trailer__play:after{content:"";border-top:8px solid #0000;border-bottom:8px solid #0000;border-left:13px solid #fff;width:0;height:0;margin-left:3px;position:absolute}.trailer iframe{border:0;width:100%;height:100%;display:block}.detail__synopsis{color:#b9bec7;max-width:76ch;font-size:clamp(.78rem,1vw,.9rem);line-height:1.62}.detail__synopsis p{margin:0 0 1em}.detail__synopsis p:last-child{margin-bottom:0}.detail__section{color:var(--ink);margin:0 0 .9em;font-size:clamp(.85rem,1.1vw,1rem);font-weight:400}.detail__chars{margin-top:clamp(20px,3vh,34px)}.chars{flex-wrap:wrap;gap:clamp(10px,1.2vw,18px);margin:0;padding:0;list-style:none;display:flex}.chars li{aspect-ratio:1/1.38;background:#121419;border-radius:6px;width:clamp(76px,9vw,134px);overflow:hidden}.chars img{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.2,.8,.2,1);display:block}.chars li:hover img{transform:scale(1.06)}.detail__note{color:var(--ink-faint);margin:0;font-size:clamp(.75rem,.95vw,.85rem);line-height:1.6}.detail__note button{font:inherit;color:var(--ink-dim);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}@media (width<=820px){.detail{padding-top:clamp(84px,13vh,120px)}.detail__inner{grid-template-columns:minmax(0,1fr);gap:20px}.detail__poster{width:38vw;max-width:200px}.detail__body{max-height:52vh}}
