@font-face{font-family:Avenir;src:local("Avenir Next"),local(Avenir)}:root{--ink:#06110f;--panel:#0b1c19;--panel2:#102722;--cream:#f1e8cd;--muted:#9daf9f;--gold:#d5b45f;--sky:#85d7e0;--mint:#7fc3a6;--line:#29433b;--red:#b9574e;--blue:#5798be;--yellow:#d3af45;--white:#efe7cf}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 75% 0,#12382f 0,transparent 30%),var(--ink);color:var(--cream);font:16px/1.65 Avenir,"Avenir Next",system-ui,sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:300px;overflow:auto;background:rgba(4,15,13,.97);border-right:1px solid var(--line);padding:24px 20px;z-index:20}.brand{display:flex;gap:13px;align-items:center;color:var(--cream);text-decoration:none;margin-bottom:26px}.brand b{letter-spacing:.22em}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:.14em}.seed{width:34px;height:34px;border:1px solid var(--sky);border-radius:50%;background:radial-gradient(circle,#e9ffff 0 5%,#84e4e9 6% 11%,#153b36 14% 34%,transparent 36%),conic-gradient(from 20deg,transparent,#6dd9dd,transparent 22%,transparent 65%,#d5b45f,transparent);box-shadow:0 0 22px #66d7d777}.search span{display:block;font-size:10px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px}.search input{width:100%;background:#0b211d;border:1px solid #315047;border-radius:8px;padding:10px 12px;color:var(--cream);outline:none}.search input:focus{border-color:var(--sky);box-shadow:0 0 0 3px #85d7e022}.search-results{max-height:260px;overflow:auto;margin:8px 0}.search-results a{display:block;color:var(--cream);text-decoration:none;padding:8px;border-bottom:1px solid var(--line);font-size:13px}.sidebar details{border-top:1px solid #183029;padding:12px 0}.sidebar summary{cursor:pointer;color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:.13em}.sidebar nav a{display:block;color:#b8c6bc;text-decoration:none;padding:5px 8px;border-left:2px solid transparent;font-size:13px}.sidebar nav a:hover,.sidebar nav a.active{color:var(--cream);border-left-color:var(--sky);background:#85d7e00d}.shell{margin-left:300px;min-height:100vh}.topbar{height:62px;position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:flex-end;gap:20px;padding:0 28px;background:#06110fdd;backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.topbar a{color:var(--muted);text-decoration:none;font-size:13px}.topbar a:hover{color:var(--cream)}.topbar .download{color:var(--ink);background:var(--gold);padding:9px 13px;border-radius:6px;font-weight:700}.menu{display:none;background:none;border:0;color:var(--cream);font-size:22px}main{width:min(860px,calc(100% - 60px));margin:0 auto;padding:70px 0 110px}main.wide{width:min(1240px,calc(100% - 60px))}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--sky);font:600 11px/1.2 "IBM Plex Sans",system-ui;margin-bottom:18px}h1,h2,h3,h4{font-family:Georgia,"Goudy Old Style",serif;line-height:1.1;color:var(--cream);scroll-margin-top:82px}h1{font-size:clamp(44px,6vw,78px);letter-spacing:-.035em;margin:.1em 0 .45em}h2{font-size:34px;color:var(--gold);margin:2.2em 0 .7em}h3{font-size:23px;margin:1.8em 0 .5em}h4{font-size:18px;color:var(--sky)}.anchor{opacity:0;margin-left:10px;color:var(--sky);text-decoration:none;font:16px Avenir}h1:hover .anchor,h2:hover .anchor,h3:hover .anchor{opacity:.6}p,li{color:#c7d1ca}strong{color:#f5eedc}a{color:var(--sky)}code{font-family:"IBM Plex Mono",monospace;background:#122a25;color:#bfe9df;border:1px solid #29483f;padding:2px 5px;border-radius:4px}pre{background:#04100e;border:1px solid var(--line);border-radius:10px;padding:18px;overflow:auto}pre code{border:0;background:none;padding:0}blockquote{border-left:3px solid var(--gold);margin:24px 0;padding:10px 20px;background:#d5b45f0b;color:#e5dec9}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;margin:24px 0}table{width:100%;border-collapse:collapse;min-width:600px}th{text-align:left;color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:.09em;background:#0b211d}th,td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}td{color:#c8d2cb}main img{max-width:100%;height:auto;border-radius:12px;border:1px solid var(--line);background:#0a1a17}hr{border:0;border-top:1px solid var(--line);margin:50px 0}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:25px 32px;color:#768d82;font-size:12px}.hero{min-height:560px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:50px}.hero h1 span{color:var(--gold)}.hero .lede{font:20px/1.55 "IBM Plex Sans",system-ui;color:#c8d2cb}.hero-art{position:relative}.hero-art img{width:100%;aspect-ratio:16/10;object-fit:cover}.hero-art:after{content:"17 SCENES · ONE PERSISTENT ISLAND";position:absolute;right:14px;bottom:14px;background:#06110fe8;border:1px solid var(--line);padding:8px 10px;font-size:10px;letter-spacing:.13em;color:var(--gold)}.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:25px 0 70px}.metric{background:linear-gradient(145deg,#112a25,#091815);border:1px solid var(--line);border-radius:10px;padding:18px}.metric b{display:block;font:36px Georgia;color:var(--gold)}.metric span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{display:block;padding:22px;min-height:160px;background:#0b1d19;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--cream);transition:.2s}.card:hover{transform:translateY(-3px);border-color:#5e8578}.card small{color:var(--sky);text-transform:uppercase;letter-spacing:.12em}.card h3{margin:.5em 0}.card p{font-size:14px;margin:0}.journey{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:30px 0}.journey span{height:8px;background:#17342d;border-radius:5px}.journey span:nth-child(1),.journey span:nth-child(5){background:var(--yellow)}.journey span:nth-child(2),.journey span:nth-child(6){background:var(--white)}.journey span:nth-child(3),.journey span:nth-child(7){background:var(--red)}.journey span:nth-child(4){background:var(--blue)}.scene-hero{position:relative;margin:20px 0 35px}.scene-hero img{display:block;width:100%;height:auto;object-fit:contain}.concept-art{margin-top:28px}.concept-art img{box-shadow:0 22px 70px #0008}.concept-art figcaption{padding:10px 2px 0;color:var(--muted);font:11px/1.4 "IBM Plex Sans",system-ui;letter-spacing:.11em;text-transform:uppercase}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--line);border-radius:99px;padding:5px 9px;color:var(--muted);font-size:11px}.actor-grid,.role-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.actor,.role-card{background:#0b1c19;border:1px solid var(--line);border-radius:12px;padding:22px}.actor h2,.role-card h2{margin:.1em 0 .4em;font-size:28px}.role-card{border-top:3px solid var(--accent)}.role-card q{font-family:"IBM Plex Sans";color:#d6dfd8}.data-layout{display:grid;grid-template-columns:260px 1fr;gap:20px}.data-list button{display:block;width:100%;text-align:left;background:#0b1c19;border:0;border-bottom:1px solid var(--line);color:#bbc9c0;padding:9px;cursor:pointer}.data-list button:hover{color:var(--cream)}#json{min-height:500px}.map img{width:100%}.notice{background:#d5b45f0d;border:1px solid #6d603a;border-radius:10px;padding:16px 18px;color:#d8d0b8}.search-hit{background:#0b1c19;border:1px solid var(--line);padding:12px;margin:8px 0}.search-hit a{text-decoration:none}.pill{display:inline-block;background:#15322b;border:1px solid #315649;color:#b8d5ca;padding:3px 7px;border-radius:99px;font-size:10px} @media(max-width:1000px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.shell{margin-left:0}.menu{display:block;margin-right:auto}.topbar a:not(.download){display:none}.hero{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(3,1fr)}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){main,main.wide{width:calc(100% - 30px);padding-top:40px}.topbar{padding:0 15px}.metrics{grid-template-columns:repeat(2,1fr)}.cards,.actor-grid,.role-grid,.data-layout{grid-template-columns:1fr}.hero{min-height:0}.hero h1{font-size:47px}h2{font-size:29px}footer{display:block}.topbar .download{font-size:11px}.journey{grid-template-columns:repeat(7,1fr)}}