:root{--ink:#101326;--paper:#fff7e6;--muted:#c3c6db;--gold:#ffe09a;--jade:#39e7cd;--coral:#ff7984;--purple:#c1a3ff;color-scheme:dark;font:17px/1.8 system-ui,-apple-system,'Hiragino Sans','Noto Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--ink);color:var(--paper)}a{color:inherit;text-decoration:none}button,select,input{font:inherit}button,a,input,select,summary{touch-action:manipulation}button,select{cursor:pointer}button{color:var(--paper)}:focus-visible{outline:3px solid var(--gold);outline-offset:5px}header{position:absolute;top:0;z-index:10;width:100%;display:flex;gap:30px;align-items:center;justify-content:space-between;padding:22px 4%;background:linear-gradient(#0b1225d9,transparent)}.brand{font-size:24px;letter-spacing:-1px;font-weight:850;white-space:nowrap}.brand span{color:var(--jade)}nav{display:flex;gap:28px;font-size:15px;font-weight:650}nav a:hover{color:var(--gold)}select{max-width:100%;min-height:44px;border:1px solid #76839c;border-radius:7px;padding:8px 30px 8px 12px;background:#151d37;color:white}h1,h2,h3,p{margin:0}h1{font-size:clamp(40px,6vw,88px);line-height:1.2;font-weight:800;max-width:1000px;text-wrap:balance}h2{font-size:clamp(30px,3.1vw,46px);line-height:1.35;letter-spacing:-.025em;text-wrap:balance}h3{font-size:23px;line-height:1.45}p{margin-top:18px}.eyebrow{font-size:14px;letter-spacing:.2em;color:var(--gold);margin:0 0 20px;font-weight:750}.hero{height:95svh;min-height:660px;position:relative;overflow:hidden}.heroPoster,.hero video,.veil{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}.veil{background:linear-gradient(90deg,#0a1126bd,transparent 85%),linear-gradient(0deg,#101326 0%,transparent 52%)}.heroCopy{position:absolute;bottom:12%;left:6%;right:6%;max-width:1100px}.tagline{font-size:clamp(19px,2.5vw,30px);max-width:800px;line-height:1.6;color:var(--gold)}.pill,.outline{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border:1px solid var(--gold);padding:10px 25px;border-radius:100px;background:var(--gold);color:#15182c;font-weight:700}.hero .pill{margin-top:30px}.outline{background:transparent;color:var(--gold)}.motion{position:absolute;right:5%;bottom:7%;width:48px;height:48px;border:1px solid #fff8;border-radius:50%;background:#101326a0}.heroNum{position:absolute;right:5%;top:48%;writing-mode:vertical-rl;font-size:13px;letter-spacing:4px}.section{max-width:1400px;padding:90px 6%;margin:auto}.story{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%;padding-top:85px;padding-bottom:95px}.lead{font-size:21px;margin:0;line-height:1.95}.heading{max-width:870px;margin-bottom:35px}.heading p:not(.eyebrow){color:var(--muted)}.episodes{margin-top:35px;border-top:1px solid #667185;padding-top:18px}.episodes summary{cursor:pointer;font-weight:750}.episodes ol{display:grid;grid-template-columns:1fr 1fr;gap:12px 30px;padding-left:24px;font-size:15px}.world{background:linear-gradient(130deg,#16363e,#182038);max-width:none}.world .heading,.worldCompare,.rangeLabel{max-width:1200px;margin-left:auto;margin-right:auto}.worldCompare{position:relative;aspect-ratio:16/8;overflow:hidden;border:1px solid #6b92a1}.worldBase,.worldOther{position:absolute;inset:0;background-image:url('assets/world.webp');background-size:200% 100%;background-position:left center}.worldOther{background-position:right center;clip-path:inset(0 0 0 50%)}.worldLine{position:absolute;top:0;bottom:0;left:50%;width:2px;background:var(--gold)}.worldLabel{position:absolute;bottom:20px;background:#101326d9;padding:8px 16px;max-width:45%;font-size:14px}.left{left:15px}.right{right:15px}.rangeLabel{display:flex;gap:30px;align-items:center;margin-top:18px}.rangeLabel span{font-size:15px}input[type=range]{accent-color:var(--jade);min-height:44px;cursor:ew-resize}.rangeLabel input{flex:1;width:100%}.castGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px 22px}.portrait{position:relative;aspect-ratio:3/4;overflow:hidden;background:#1d2744;border-radius:8px 8px 0 0}.portrait img{position:absolute;width:400%;height:200%;max-width:none;object-fit:fill}.person h3{margin-top:15px;color:var(--jade)}.person:nth-child(3) h3,.person:nth-child(4) h3{color:var(--coral)}.person:nth-child(n+7) h3{color:var(--purple)}.person p{font-size:15px;color:var(--muted);margin-top:10px;line-height:1.85}.companions{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:70px}.companions article{border-top:1px solid #657086;padding-top:25px}.companions img{width:100%;aspect-ratio:16/9;object-fit:contain;background:#182136}.companions p{color:var(--muted)}.relations{padding-top:0}.filter{display:flex;align-items:center;gap:20px;margin-bottom:25px}.relationsGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.relation{padding:20px;border:1px solid #3e526c;border-left:3px solid var(--jade);background:#18233a}.relation strong{font-size:18px}.relation .arrow{display:inline-block;margin:0 12px;color:var(--gold)}.relation p{font-size:15px;color:var(--muted);margin-top:6px}.art{background:#192038}.artHeading{padding-bottom:32px}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.tabs button{background:transparent;border:1px solid #748197;padding:10px 18px;min-height:46px;border-radius:100px;font-size:15px}.tabs button[aria-pressed=true]{background:var(--gold);color:var(--ink);border-color:var(--gold)}.art>img{width:100%;display:block;max-height:85vh;object-fit:contain}.media video{width:100%;aspect-ratio:16/9;background:#050816;border:1px solid #586077}.caption{font-size:14px;color:var(--muted)}.mediaStatus:empty{display:none}.music{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:60px;border-top:1px solid #657086;padding-top:40px}.musicControls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.musicControls label{display:flex;gap:12px;align-items:center;font-size:14px}.musicControls input{width:140px}.trackTitle{color:var(--gold);font-size:15px}.game{padding-top:10px}.game img{width:100%;max-height:650px;object-fit:contain;background:#141e35}footer{border-top:1px solid #596782;padding:45px 6%;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:14px;color:var(--muted)}footer p{margin:0}.skip{position:fixed;left:15px;top:-90px;z-index:100;background:var(--gold);color:black;padding:12px}.skip:focus{top:10px}.sr{position:absolute;overflow:hidden;clip-path:inset(50%);width:1px;height:1px}#loadError:not(:empty){position:fixed;bottom:0;padding:20px;background:#701d39;width:100%;z-index:200}
@media(max-width:900px){header{flex-wrap:wrap;gap:12px}header nav{order:3;flex-basis:100%;gap:20px;overflow:auto;font-size:14px}.hero{min-height:650px}.heroCopy{bottom:10%}.heroPoster,.hero video{object-position:52% 40%}.section{padding:60px 6%}.story{grid-template-columns:1fr;gap:25px}.lead{font-size:18px}.castGrid{grid-template-columns:repeat(2,1fr)}.music{grid-template-columns:1fr}.relationsGrid{grid-template-columns:1fr}.heroNum{display:none}footer{flex-direction:column;align-items:flex-start}.worldCompare{aspect-ratio:4/3}.worldLabel{bottom:10px;padding:6px 10px;font-size:12px}.rangeLabel{display:block}.rangeLabel input{display:block;width:100%}.companions{grid-template-columns:1fr}.episodes ol{grid-template-columns:1fr}.lang select{font-size:14px}.brand{font-size:21px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* Illustrated relationship and world diagrams */
.chartScroller{overflow-x:auto;border:1px solid #d2ac69;background:#4b1829;scrollbar-color:#d5b779 #321828;margin:25px 0 35px}.chartScroller img{display:block;width:100%;min-width:1080px;height:auto}.worldDiagram{max-width:1200px;margin:0 auto 50px}.worldDiagram>p{color:var(--muted);max-width:900px}.chartHint{font-size:15px;color:var(--gold)}.worldDiagram .chartScroller img{min-width:960px}.relations .filter{margin-top:30px}@media(max-width:900px){.chartScroller img{min-width:1100px}.worldLabel{font-size:14px}}

/* Preserve complete action framing on mobile. */
@media(max-width:900px){.hero{height:auto;min-height:0;padding-top:56.25%;background:#080c17}.heroPoster,.hero video{height:auto;aspect-ratio:16/9;object-fit:contain;object-position:center}.hero .veil{height:auto;aspect-ratio:16/9;background:linear-gradient(0deg,#101326,transparent 20%);pointer-events:none}.heroCopy{position:relative;left:auto;right:auto;bottom:auto;padding:28px 6% 40px}.hero .motion{top:calc(56.25vw - 60px);bottom:auto;right:12px;z-index:2}.hero h1{font-size:clamp(2rem,8vw,4rem)}}

@media(max-width:900px){header{position:relative;background:#101326}}
