:root{--ink:#173539;--night:#102b32;--paper:#eee9db;--gold:#cfad76;--muted:#758789;--serif:"Songti SC","STSong","Noto Serif SC",serif;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}button,a,input{-webkit-tap-highlight-color:#bc974b33}button,a{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b18c4b;outline-offset:6px}a{color:inherit;text-decoration:none}button{background:none;border:0}img{display:block;max-width:100%}svg{width:28px;height:20px;fill:none;stroke:currentColor;stroke-width:1.3}.icons{position:absolute;width:0;height:0;overflow:hidden}.masthead{height:82px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--night);color:var(--paper);border-bottom:1px solid #c7ac7433}.brand{font:30px var(--serif);letter-spacing:1px;white-space:nowrap}.brand span{font:12px sans-serif;padding-left:15px;letter-spacing:3px}.edition{font-size:9px;letter-spacing:3px;color:#a8b6b2}.masthead>div{display:flex;gap:25px;font-size:11px;white-space:nowrap}.masthead button{padding:10px 0;color:#b5c1b7}.masthead button span{color:#e5cd9e}.hero{position:relative;background:var(--night);color:var(--paper);isolation:isolate}.hero-image{width:100%;height:auto;aspect-ratio:1672/941}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#071d29dd 0%,#071d2988 30%,transparent 58%),linear-gradient(0deg,#0c263188,transparent 25%);pointer-events:none}.hero-copy{position:absolute;left:8%;top:20%;max-width:45%;z-index:2}.eyebrow{display:block;font-size:10px;font-weight:500;letter-spacing:3px;text-transform:uppercase;line-height:1.8}.hero .eyebrow{color:#d2b786}.hero h1{font:clamp(38px,5.7vw,90px)/1.17 var(--serif);letter-spacing:5px;margin:30px 0 20px;font-weight:400}.hero h1 em{display:block;font-size:.47em;font-style:normal;letter-spacing:4px;margin-top:15px;color:#e3cfa6}.hero-copy p{font-size:13px;color:#d2d5cb;line-height:2;letter-spacing:1px}.line-link{display:inline-flex;align-items:center;gap:24px;padding:15px 0;border-bottom:1px solid #bd9e67;font-size:13px;letter-spacing:2px}.hero .line-link{margin-top:20px}.hero-caption{position:absolute;bottom:22px;left:5%;display:flex;align-items:center;gap:15px;font-size:9px;letter-spacing:2px;color:#c6d2c7}.hero-caption::before{content:"";width:45px;height:1px;background:#b5aa83}.sky-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.journey-strip{display:flex;justify-content:space-between;gap:16px;background:var(--night);border-top:1px solid #cfad7633;color:#c0c9c0;padding:22px 8%;font-size:10px;letter-spacing:2px}.journey-strip b{font-weight:400;color:#ebd4a9}.prologue{text-align:center;padding:112px 24px 82px;max-width:760px;margin:auto}.prologue h2{font:clamp(30px,3.3vw,47px)/1.65 var(--serif);font-weight:400;margin:26px 0}.prologue p{font-size:13px;line-height:2;color:#637a7b}.chapter{padding:70px 0 90px;position:relative}.chapter.dark{background:var(--night);color:var(--paper)}.chapter-head{width:84%;max-width:1260px;margin:0 auto 44px;display:flex;align-items:flex-start;justify-content:space-between;gap:30px}.chapter-head .eyebrow{color:#9c8057}.dark .eyebrow{color:#b2bcae}.chapter h2{font:clamp(30px,3.6vw,54px)/1.5 var(--serif);font-weight:400;letter-spacing:2px;margin:20px 0 0;white-space:pre-line}.chapter-number{font:105px/1 var(--serif);opacity:.12;padding-top:15px}.scene-frame{margin:0 auto 48px;width:90%;max-width:1440px;position:relative}.scene-frame>img{width:100%;height:auto;aspect-ratio:1672/941}.scene-frame figcaption{display:flex;justify-content:space-between;gap:10px;margin-top:13px;font-size:9px;letter-spacing:2px;color:#8e9b93}.scene-frame::before{content:"";position:absolute;inset:10px 10px 42px;border:1px solid #e0cda622;pointer-events:none}.chapter-body{max-width:1100px;width:78%;margin:auto;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.9fr);gap:9%}.narrative p{font:17px/2.25 var(--serif);margin:0 0 24px;letter-spacing:.5px}.narrative p:first-child{font-size:22px;margin-bottom:25px}.narrative p:last-child{margin-bottom:0}.aside{padding-top:8px;align-self:start;position:sticky;top:38px}.quote{margin:0 0 32px;border-top:1px solid #bca57977;padding-top:22px;font:22px/1.8 var(--serif);white-space:pre-line}.cast-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.cast-link{display:flex;align-items:center;gap:10px;padding:8px 13px;border:1px solid #8ba0a04d;border-radius:30px;font-size:11px}.cast-link img{width:27px;height:27px;border-radius:50%;object-fit:cover}.cast-link svg{width:19px;height:14px}.cast-label{display:block;margin-top:32px;font-size:9px;color:#7c9190;letter-spacing:2px}.dark .cast-label{color:#aabbb2}.widget{margin-top:28px}.ticket{width:100%;padding:22px 20px;background:#e9dec5;color:#193b3e;text-align:left;position:relative;border:1px solid #ad8d53;border-radius:3px;transform:rotate(-2deg);transition:transform .6s,background .6s;box-shadow:0 10px 25px #03172122}.ticket.open{transform:rotate(1deg);background:#f3e9d4}.ticket-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px}.ticket strong{display:block;font:30px var(--serif);margin:20px 0 12px;font-weight:400}.ticket small{font-size:10px;letter-spacing:1px}.ticket-holes{display:flex;gap:10px;margin:17px 0;padding-top:15px;border-top:1px dashed #ab936977}.ticket-holes i{display:block;width:7px;height:7px;border:1px solid #8e744b;border-radius:50%}.ticket-back{padding-top:14px;border-top:1px solid #a58d6355;font-size:12px;line-height:1.8}.ticket-back svg{width:28px;height:28px;float:right}.interaction-note{font-size:11px;line-height:1.9;color:#7e9390;min-height:38px;margin:16px 0 0}.dark .interaction-note{color:#b0c2b9}.choice-buttons{display:grid;gap:10px}.choice{padding:14px 15px;border:1px solid #8b9c9366;text-align:left;display:flex;justify-content:space-between;align-items:center;font-size:12px;line-height:1.7}.choice[aria-pressed=true]{border-color:var(--gold);background:#b9a37422}.choice svg{width:23px}.photo-proof{perspective:800px}.mirror-label{font:22px var(--serif);text-align:center;background:#f1e8d6;color:#203f44;padding:25px 12px;margin:14px 0;transform:rotateY(180deg);transition:transform 1.3s}.photo-proof.solved .mirror-label{transform:rotateY(0)}.proof-caption{text-align:center;font-size:9px;letter-spacing:2px;color:#829a98}.heat-panel{padding:22px;border:1px solid #ae996455}.heat-panel label{display:flex;justify-content:space-between;font-size:11px;letter-spacing:1px}.heat-panel input{width:100%;margin:25px 0 16px;accent-color:#a17e42;cursor:pointer}.temperature-scale{display:flex;justify-content:space-between;font-size:9px;color:#8d987e}.heat-meter{height:4px;background:#829e9933;margin-top:20px;overflow:hidden}.heat-meter span{display:block;height:100%;background:#ba985b;width:30%;transition:width .15s}.brake-control{display:flex;align-items:center;justify-content:space-between;padding:16px 19px;border:1px solid #cbb17a;width:100%;font-size:12px;line-height:1.8}.brake-control svg{height:28px;width:28px}.brake-control[aria-pressed=true]{background:#d7bf8322}.whisper{font:17px/1.9 var(--serif);opacity:.45;transition:opacity 1s,transform 1s;transform:translateY(6px)}.whisper.heard{opacity:1;transform:none}.bloom-button{background:#203c37;color:#f3e2ba;padding:16px 22px;border:1px solid #aa8c51;display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;font-size:13px}.bloom-button svg{height:25px;width:25px}.bloom-note{font-size:11px;line-height:1.9;color:#5d8073}.ending{padding:95px 24px 110px;position:relative;overflow:hidden;text-align:center;background:#dddcc5;transition:background 2s}.ending.bloomed{background:#e8e6c8}.ending-inner{max-width:660px;margin:auto;position:relative;z-index:1}.ending h2{font:clamp(34px,4vw,58px)/1.55 var(--serif);font-weight:400;letter-spacing:2px;margin:28px 0}.ending p{font:17px/2.2 var(--serif)}.ending .quiet{font-size:12px;color:#77857a;margin-top:32px;line-height:2}.petals{position:absolute;inset:0;pointer-events:none;overflow:hidden}.petal{position:absolute;top:-8%;left:var(--left);width:10px;height:17px;background:#fffdf1;border-radius:75% 15% 75% 15%;opacity:0;animation:fall var(--duration) linear infinite;animation-delay:var(--delay)}.bloomed .petal{opacity:.6}.cast-section{padding:100px 7% 110px;max-width:1500px;margin:auto}.cast-section h2{font:42px/1.4 var(--serif);font-weight:400;margin:20px 0}.cast-section>p{font-size:13px;line-height:2;color:#6c8180}.actor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin:40px 0}.actor-card{text-align:left;padding:0;display:grid;grid-template-columns:85px minmax(0,1fr);gap:18px;align-items:center;border-top:1px solid #b1b8a5;padding-top:22px}.actor-card>img{width:85px;height:110px;object-fit:cover;object-position:center 35%}.actor-card small{font-size:9px;letter-spacing:1px;color:#80908b}.actor-card h3{font:25px var(--serif);font-weight:400;margin:8px 0}.actor-card p{font-size:11px;line-height:1.8;margin:0;color:#667e7b}.actor-card .learn{display:inline-flex;font-size:10px;gap:10px;align-items:center;margin-top:10px}.actor-card svg{width:20px;height:15px}.catalog-status{font-size:10px!important;line-height:1.8!important;border-top:1px solid #babaa344;padding-top:20px}.footer{padding:45px 7% 110px;background:var(--night);color:#c7d0c4;display:flex;justify-content:space-between;gap:30px;font-size:11px;line-height:2}.footer .brand{color:#f1e4c7}.footer p{font-size:10px;color:#9cb0a9;max-width:560px;margin:15px 0 0}.rail-nav{position:fixed;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:5;display:flex;align-items:center;padding:9px 15px;border:1px solid #b8b89055;border-radius:40px;background:#102a32e8;color:#dfe2d1;box-shadow:0 6px 22px #06131733;backdrop-filter:blur(14px);max-width:calc(100% - 24px);white-space:nowrap}.rail-nav>div{display:flex;gap:3px}.rail-nav a{position:relative;font-size:10px;color:#a0b1aa;padding:7px 10px}.rail-nav a[aria-current=step]{color:#f2d296}.rail-nav a[aria-current=step]::after{content:"";position:absolute;bottom:1px;left:50%;width:3px;height:3px;border-radius:50%;background:#e2bc6a}.rail-nav>span{font-size:9px;letter-spacing:1px;padding-left:12px;margin-left:7px;border-left:1px solid #798c8433}dialog{padding:0;border:1px solid #a88c5e;background:#eeeadc;color:var(--ink);width:min(800px,calc(100% - 28px));max-height:86dvh;overflow:auto;box-shadow:0 35px 100px #0007}dialog::backdrop{background:#071c25bb;backdrop-filter:blur(5px)}.close-dialog{position:sticky;display:block;top:10px;margin:10px 10px -46px auto;z-index:2;width:36px;height:36px;border-radius:50%;background:#ece4cf;color:#183c42}.close-dialog svg{width:24px;height:24px}.profile-layout{display:grid;grid-template-columns:40% 60%}.profile-photo{width:100%;height:100%;max-height:640px;object-fit:cover;object-position:center 35%}.profile-info{padding:42px 35px}.profile-info h2{font:40px var(--serif);font-weight:400;margin:15px 0}.role-hint{font-size:11px;line-height:1.8;color:#69827e}.availability{display:inline-block;padding:7px 12px;font-size:10px;background:#d8dfcb;margin:14px 0}.profile-info dl{font-size:11px;border-top:1px solid #9daf9b66}.profile-info dl div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #9daf9b33;padding:10px 0}.profile-info dd{margin:0;text-align:right}.profile-info .facts{font-size:12px;line-height:1.9}.profile-info .disclosure{font-size:10px;line-height:1.8;color:#829183}.loading{min-height:60vh;padding:18vh 8%;font:24px var(--serif)}.js-motion .reveal{opacity:0;transform:translateY(25px);transition:opacity 1.1s,transform 1.1s}.js-motion .reveal.visible{opacity:1;transform:none}html.reduced-motion{scroll-behavior:auto}.reduced-motion *{animation:none!important;scroll-behavior:auto!important;transition:none!important}.reduced-motion .reveal{opacity:1!important;transform:none!important}@keyframes fall{0%{transform:translate3d(0,-10vh,0) rotate(0)}100%{transform:translate3d(130px,110vh,0) rotate(330deg)}}
@media(min-width:1600px){.hero{max-height:none}.hero-copy{top:22%}}
@media(max-width:1000px){.edition{display:none}.hero h1{font-size:52px}.hero-copy{left:6%;top:14%}.hero-copy p{font-size:11px}.hero .line-link{margin-top:4px}.chapter-body{width:84%;gap:6%;grid-template-columns:minmax(0,1.3fr) minmax(230px,1fr)}.actor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){html{scroll-padding-top:20px}.masthead{height:65px;padding:0 20px;gap:12px}.brand{font-size:25px}.brand span{font-size:10px;padding-left:8px;letter-spacing:1px}.masthead>div{gap:15px;font-size:10px}.hero{display:flex;flex-direction:column;padding-top:35px}.hero-copy{position:relative;max-width:none;left:auto;top:auto;padding:0 26px 30px;order:-1}.hero .eyebrow{font-size:8px;letter-spacing:2px}.hero h1{font-size:45px;line-height:1.2;margin:19px 0 15px;letter-spacing:3px}.hero h1 em{font-size:25px;margin-top:8px;letter-spacing:2px}.hero-copy p{font-size:11px;margin:10px 0}.hero .line-link{padding:8px 0;font-size:11px;gap:28px}.hero-shade{display:none}.hero-image{aspect-ratio:1672/941;object-fit:contain}.hero-caption{position:relative;left:auto;bottom:auto;padding:17px 26px;font-size:8px;letter-spacing:1px}.journey-strip{padding:18px 25px;font-size:8px;letter-spacing:1px}.journey-strip>span:nth-child(2){display:none}.prologue{padding:68px 27px 32px}.prologue h2{font-size:29px;line-height:1.7;margin:20px 0}.prologue p{font-size:12px}.chapter{padding:48px 0 60px}.chapter-head{width:calc(100% - 48px);margin-bottom:28px;gap:10px}.chapter h2{font-size:30px;line-height:1.55;margin-top:13px;letter-spacing:1px}.chapter-head .eyebrow{font-size:8px;letter-spacing:1.5px}.chapter-number{font-size:65px;padding-top:28px}.scene-frame{width:100%;margin-bottom:30px}.scene-frame figcaption{padding:0 24px;font-size:8px;line-height:1.7;letter-spacing:1px}.scene-frame::before{display:none}.chapter-body{width:calc(100% - 50px);display:block}.narrative p{font-size:16px;line-height:2.15;margin-bottom:22px}.narrative p:first-child{font-size:19px}.aside{position:relative;top:auto;margin-top:35px;padding:0}.quote{font-size:20px;margin-bottom:20px;padding-top:20px}.ticket{max-width:400px;transform:rotate(-1deg);margin:8px 0}.cast-links{margin-top:15px;gap:8px}.cast-link{padding:8px 12px;font-size:11px;min-height:44px}.cast-label{margin-top:25px}.choice{min-height:48px}.heat-panel{padding:22px}.heat-panel input{height:30px}.ending{padding:60px 26px 68px}.ending h2{font-size:33px}.ending p{font-size:15px;line-height:2.15}.cast-section{padding:68px 25px 58px}.cast-section h2{font-size:34px}.actor-grid{grid-template-columns:1fr;gap:25px;margin-top:32px}.actor-card{grid-template-columns:80px 1fr;gap:18px;padding-top:18px}.actor-card>img{height:100px;width:80px}.actor-card h3{font-size:24px}.actor-card p{font-size:12px}.footer{display:block;padding:34px 25px 110px}.footer>a{display:inline-flex;margin-top:18px}.rail-nav{padding:7px 9px;bottom:max(12px,env(safe-area-inset-bottom))}.rail-nav a{padding:8px 8px;font-size:9px;min-width:30px}.rail-nav>span{padding-left:8px;margin-left:3px;font-size:8px}.profile-layout{display:block}.profile-photo{height:240px;object-fit:contain;background:#d6ddd2}.profile-info{padding:26px}.profile-info h2{font-size:34px}.close-dialog{top:8px}.scene-frame figcaption>span:last-child{letter-spacing:0}}
@media(max-width:360px){.masthead>div{gap:8px}.hero h1{font-size:39px}.hero h1 em{font-size:22px}.chapter h2{font-size:27px}.chapter-number{font-size:53px}.rail-nav a{padding:8px 6px}.journey-strip{letter-spacing:0}.brand span{font-size:9px}}

.petal{animation-play-state:paused}.ending.bloomed.in-view .petal{animation-play-state:running}.page-hidden .petal{animation-play-state:paused}

.masthead>div{align-items:center}
@media(max-width:700px){.chapter-head{display:block;position:relative}.chapter-head>div{width:100%}.chapter-head .eyebrow{max-width:calc(100% - 45px)}.chapter-number{position:absolute;right:0;top:-12px;padding:0;font-size:45px;opacity:.1}.chapter h2{width:100%}}

.actor-status{display:block;font-size:9px!important;line-height:1.6;color:#71897d;margin:8px 0 0}.cast-link{flex-wrap:wrap}.cast-link .actor-status{margin:0;font-size:8px!important}.dark .actor-status{color:#b2c1b2}
