:root{color-scheme:light;--paper:#f3f0e7;--surface:#fcfaf5;--ink:#292c26;--muted:#797b6f;--line:#d9d8cb;--olive:#66704e;--olive-dark:#38452f;--rust:#ac764b;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;--song:"Songti SC","STSong",Georgia,serif;--latin:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.7;transition:background .6s,color .4s}body[data-mode=guide]{--g-ink:#efecdf;--g-muted:#b5b4a7;--g-line:#f2eed32b;background:#191b17;color:var(--g-ink)}body[data-tone=paper]{--g-ink:#34382b;--g-muted:#7e806f;--g-line:#454f3426;background:#e7e3d6;color:var(--g-ink)}body[data-tone=warm]{--g-ink:#33382a;--g-muted:#777b65;--g-line:#454f3426;background:#eee9dc;color:var(--g-ink)}button,input,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{border:0;background:transparent;color:inherit}button:disabled{cursor:default;opacity:.45}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #a2b77c;outline-offset:5px}img{max-width:100%;height:auto}h1,h2,h3,h4,p,figure{margin:0}ul{margin:0;padding-left:1.3em}[hidden]{display:none!important}.skip-link{position:absolute;left:18px;top:-100px;z-index:80;padding:10px 15px;background:var(--surface);color:var(--ink)}.skip-link:focus{top:10px}.site-header{position:relative;z-index:10;display:flex;align-items:center;gap:28px;padding:24px 4vw;border-bottom:1px solid #ddd8c617;min-height:84px}.brand{display:flex;align-items:baseline;gap:17px;white-space:nowrap}.brand>span{font-family:var(--song);font-size:24px;letter-spacing:.13em}.brand small{font-size:9px;letter-spacing:.15em;font-weight:500;opacity:.7}.header-context{font-size:10px;letter-spacing:.08em;opacity:.55}.header-actions{display:flex;align-items:center;gap:18px;margin-left:auto}.header-actions button{min-height:40px;font-size:11px;letter-spacing:.04em;padding:7px 0;white-space:nowrap}.header-actions button:hover{opacity:.6}.initial-loading{padding:24vh 8vw;font-family:var(--song);font-size:22px;opacity:.65}.eyebrow{font-size:10px;letter-spacing:.2em;line-height:1.8;text-transform:uppercase}.muted{color:var(--muted)}.small{font-size:12px}.serif{font-family:var(--song)}.guide-page{max-width:1500px;margin:auto;padding:45px 6vw 145px;min-height:calc(100svh - 84px);animation:reveal .5s ease both;position:relative}.guide-page .eyebrow{color:var(--g-muted);margin-bottom:16px}.guide-page h1,.guide-page h2{font-family:var(--song);font-weight:400;font-size:clamp(30px,4vw,58px);line-height:1.35;letter-spacing:.025em}.guide-page .chapter-body{max-width:680px;font-size:14px;line-height:2.1;color:var(--g-muted);margin-top:18px}.guide-page .chapter-heading{margin-bottom:30px}.chapter-count{display:block;font-family:var(--latin);font-size:13px;font-style:italic;letter-spacing:.15em;opacity:.45;margin-bottom:14px}.cover{display:flex;align-items:center;overflow:hidden;padding-top:65px;padding-bottom:140px;min-height:calc(100svh - 84px)}.cover::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 73% 25%,#b4773d26,transparent 42%),#191b17}.cover-image{position:absolute;inset:0 0 0 37%;z-index:-1;overflow:hidden}.cover-image img{width:100%;height:100%;object-fit:cover;object-position:45% center;opacity:.7}.cover-image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#191b17 0%,#191b17b0 23%,#191b1730 70%),linear-gradient(0deg,#191b17 0%,transparent 65%)}.cover-copy{width:60%;position:relative}.cover .cover-kicker{font-size:10px;letter-spacing:.22em;color:#b2b3a3;margin-bottom:34px}.cover h1{font-size:clamp(64px,10.5vw,144px);letter-spacing:.11em;line-height:1.2;margin-left:-.04em;white-space:nowrap}.cover .cover-english{font-family:var(--latin);font-size:clamp(18px,2.5vw,31px);font-weight:400;letter-spacing:.08em;color:#c4bdab;margin:20px 0 32px}.cover .cover-tagline{font-family:var(--song);font-size:18px;letter-spacing:.08em;line-height:2;color:#c8c2b1;max-width:420px}.cover-actions{display:flex;align-items:center;flex-wrap:wrap;gap:13px 24px;margin-top:40px}.solid-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:47px;padding:11px 22px;background:var(--olive-dark);color:#f5f1e5;border:1px solid transparent;border-radius:2px;font-size:12px;letter-spacing:.07em}.cover .solid-button{background:#e1dfcd;color:#282d21}.solid-button:hover{background:#51603e;text-decoration:none}.cover .solid-button:hover{background:#f2eedb}.text-button{display:inline-flex;align-items:center;min-height:44px;padding:7px 0;font-size:12px;border-bottom:1px solid currentColor;letter-spacing:.03em;opacity:.75}.cover .cover-credit{margin-top:25px;color:#898f7c;font-size:9px;letter-spacing:.12em}.story-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:7vw;align-items:center}.story-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% center;filter:brightness(.82)}.photo-caption{display:flex;justify-content:space-between;gap:12px;font-size:10px;line-height:1.6;color:var(--g-muted);margin-top:12px}.story-copy .logline-label{margin-top:32px;font-size:10px;letter-spacing:.2em;color:#938c73}.story-copy .logline{font-family:var(--song);font-size:clamp(18px,2vw,24px);line-height:1.95;margin-top:13px}.synopsis{font-size:13px;line-height:2.1;color:var(--g-muted);margin-top:23px;max-width:650px}.theme-lines{display:grid;gap:0;margin-top:32px;border-top:1px solid var(--g-line)}.theme-line{display:grid;grid-template-columns:120px 1fr;gap:20px;border-bottom:1px solid var(--g-line);padding:13px 0}.theme-line h3{font-family:var(--song);font-size:14px;font-weight:400}.theme-line p{font-size:11px;line-height:1.9;color:var(--g-muted)}.character-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:40px;border-top:1px solid var(--g-line);border-bottom:1px solid var(--g-line)}.character{padding:28px 30px 30px 0;position:relative}.character+.character{border-left:1px solid var(--g-line);padding-left:30px}.character .character-number{font-family:var(--latin);font-style:italic;color:#aaa48f;font-size:12px;letter-spacing:.2em;margin-bottom:25px}.character h3{font-family:var(--song);font-weight:400;font-size:36px;line-height:1.4}.character .cast-line{font-size:10px;letter-spacing:.1em;color:var(--g-muted);margin:8px 0 25px}.character .bio{font-size:13px;line-height:2.1;color:var(--g-muted)}.character .want{margin-top:28px;border-top:1px solid var(--g-line);padding-top:17px;font-family:var(--song);font-size:15px;line-height:1.9}.character .want::before{content:"她／他想要的";display:block;font-family:var(--sans);font-size:9px;letter-spacing:.12em;color:var(--g-muted);margin-bottom:8px}.character[data-character=grandma] .want::before{content:"电话那端的牵挂"}.chapter-end{font-family:var(--song);font-size:16px;color:var(--g-muted);margin-top:35px;line-height:1.9}.reference-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:26px}.reference img{display:block;width:100%;aspect-ratio:1.65;object-fit:cover}.reference h3{font-family:var(--song);font-size:18px;font-weight:400;margin-top:12px}.reference .reference-year{font-size:10px;color:var(--g-muted);margin-left:8px;font-family:var(--sans)}.reference p{font-size:11px;line-height:1.9;color:var(--g-muted);margin-top:7px}.reference .reference-credit{font-size:9px;line-height:1.7;color:var(--g-muted);opacity:.7}.moodboard-overview{display:flex;align-items:center;gap:20px;justify-content:space-between;border-top:1px solid var(--g-line);margin-top:35px;padding-top:20px}.moodboard-overview p{font-size:12px;color:var(--g-muted);max-width:590px}.image-link{min-height:44px;flex-shrink:0;border-bottom:1px solid var(--g-ink);font-size:11px;padding:10px 0}.space-layout{display:grid;grid-template-columns:1fr 1.7fr;gap:4vw;align-items:center}.space-facts{margin-top:26px}.space-facts p{padding:12px 0;border-bottom:1px solid var(--g-line);font-size:12px;line-height:1.8;color:var(--g-muted)}.tool-preview{position:relative;background:#23261f;overflow:hidden;min-height:410px}.tool-preview>img{width:100%;height:410px;object-fit:cover;filter:brightness(.65);display:block}.tool-preview-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(0deg,#12171170,transparent);padding:25px}.tool-preview-overlay button{background:#eee8d5;color:#3a4230;border:1px solid #fff4;min-height:48px;font-size:12px;padding:12px 24px}.tool-preview iframe{display:block;width:100%;height:570px;border:0;background:#1c2019}.tool-bottom{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid var(--g-line);padding:12px 0;font-size:10px;color:var(--g-muted)}.tool-bottom a{text-decoration:underline}.storyboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 18px;margin-top:25px}.story-frame{display:block;padding:0;text-align:left;width:100%;color:inherit}.story-frame img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;transition:filter .2s}.story-frame:hover img{filter:brightness(1.12)}.story-frame .frame-name{display:block;font-size:11px;line-height:1.7;margin-top:9px}.story-frame .frame-light{display:block;font-size:9px;line-height:1.8;color:var(--g-muted);margin-top:3px}.storyboard-note{font-size:11px;line-height:1.9;color:var(--g-muted);margin-top:25px;padding-top:15px;border-top:1px solid var(--g-line)}.script-intro{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center}.script-excerpt{background:#f4f0e4;color:#333a2b;padding:45px 40px;font-family:"Courier New",Courier,"PingFang SC",monospace;line-height:1.9;box-shadow:0 12px 50px #0002;transform:rotate(1deg)}.script-excerpt .character-name{font-size:12px;font-weight:700;text-align:center;letter-spacing:.04em;margin:12px 0 0}.script-excerpt .line{max-width:280px;margin:auto;font-size:13px}.script-excerpt .translation{font-size:12px;color:#7d806f}.script-excerpt .page-tag{font-family:var(--sans);font-size:9px;letter-spacing:.1em;text-align:right;color:#89907a;margin-bottom:26px}.script-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:26px}.guide-reader{margin-top:35px}.guide-reader iframe{display:block;width:100%;height:700px;background:var(--paper);border:1px solid var(--g-line)}.entry-page{text-align:center;max-width:1100px;display:flex;flex-direction:column;justify-content:center;min-height:calc(100svh - 84px)}.entry-page .chapter-body{margin-left:auto;margin-right:auto}.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:45px auto 0;width:100%;text-align:left}.portal{display:block;border-top:1px solid var(--g-line);border-bottom:1px solid var(--g-line);padding:30px 5px 35px;position:relative;min-height:200px}.portal:hover{background:#6978470b;text-decoration:none}.portal .portal-index{font-family:var(--latin);font-size:12px;font-style:italic;color:var(--g-muted)}.portal h3{font-family:var(--song);font-size:29px;font-weight:400;margin:20px 0 10px}.portal p{color:var(--g-muted);font-size:12px;line-height:1.9;max-width:330px}.portal .portal-arrow{position:absolute;right:15px;top:60px;font-size:26px;color:var(--olive)}.entry-caption{margin-top:25px;font-size:10px;color:var(--g-muted)}.journey-footer{position:fixed;z-index:20;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:84px;padding:13px 4vw 22px;background:linear-gradient(0deg,#191b17 65%,#191b17e0);color:var(--g-ink)}body[data-tone=paper] .journey-footer{background:linear-gradient(0deg,#e7e3d6 65%,#e7e3d6e8)}body[data-tone=warm] .journey-footer{background:linear-gradient(0deg,#eee9dc 65%,#eee9dce8)}.quiet-button,.next-button{min-height:44px;font-size:11px;letter-spacing:.04em;padding:8px 0;white-space:nowrap}.next-button{min-width:82px;border-bottom:1px solid #aaa47c}.journey-footer nav{display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap}.step-link{position:relative;font-size:9px;color:var(--g-muted);padding:11px 3px;min-height:38px;white-space:nowrap}.step-link[aria-current=step]{color:var(--g-ink)}.step-link[aria-current=step]::after{content:"";position:absolute;height:1px;background:currentColor;bottom:5px;left:3px;right:3px}.step-link .step-number{font-family:var(--latin);font-style:italic;margin-right:4px;opacity:.6}.music-control{position:fixed;right:4vw;bottom:102px;z-index:35;display:flex;align-items:center;gap:5px;border:1px solid #d3d0bc33;background:#24291fd9;color:#e3dfce;backdrop-filter:blur(10px);padding:3px 5px 3px 10px;border-radius:3px}.music-control>button{display:flex;gap:9px;align-items:center;min-height:33px;font-size:9px;letter-spacing:.03em;padding:3px 2px}.music-control>button:disabled{opacity:.6}.music-control details>summary{cursor:pointer;list-style:none;padding:6px 8px;min-width:32px;min-height:33px;font-size:12px}.music-control summary::-webkit-details-marker{display:none}.music-bars{display:flex;gap:2px;align-items:center;height:12px}.music-bars i{width:2px;height:4px;background:currentColor;display:block;opacity:.65}.music-bars i:nth-child(2){height:10px}.music-bars i:nth-child(3){height:7px}.is-playing .music-bars i{animation:music-bars 1s ease-in-out infinite alternate}.is-playing .music-bars i:nth-child(2){animation-delay:.3s}.is-playing .music-bars i:nth-child(3){animation-delay:.6s}.music-popover{position:absolute;right:0;bottom:44px;width:240px;background:#24291ff7;padding:18px;border:1px solid #5e644c;color:#e3dfce;border-radius:3px;box-shadow:0 12px 35px #0003}.music-popover p{font-size:11px;line-height:1.8}.music-popover #music-artist{font-size:10px;color:#a8ae99;margin-top:4px}.music-popover label{display:block;font-size:9px;color:#b5bba5;margin-top:18px}.music-popover input{width:100%;accent-color:#c9d2ac;margin-top:6px}.music-popover #music-status{font-size:9px;color:#9da88a;margin-top:12px}.hub-shell{max-width:1600px;margin:auto;display:grid;grid-template-columns:200px minmax(0,1fr);gap:45px;padding:35px 4vw 90px;animation:reveal .4s ease both}.hub-rail{position:sticky;top:25px;align-self:start;border-right:1px solid var(--line);padding:0 26px 25px 0}.hub-rail .rail-kicker{font-size:9px;color:var(--muted);letter-spacing:.13em;margin-bottom:7px}.hub-role{font-family:var(--song);font-size:20px;font-weight:400;line-height:1.7;margin-bottom:26px}.hub-nav{display:grid;gap:4px}.hub-nav a{display:flex;align-items:center;gap:12px;min-height:40px;padding:7px 10px;margin-left:-10px;font-size:12px;color:#7f8371}.hub-nav a span{font-size:9px;font-family:var(--latin);font-style:italic;opacity:.6;min-width:13px}.hub-nav a[aria-current=page]{background:#e3e7d5;color:var(--olive-dark)}.hub-nav a:hover{background:#e8e9de;text-decoration:none}.hub-rail-footer{border-top:1px solid var(--line);margin-top:35px;padding-top:18px;font-size:10px;color:var(--muted);line-height:1.9}.hub-main{min-width:0}.hub-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;padding-bottom:25px;border-bottom:1px solid var(--line);margin-bottom:27px}.hub-heading .eyebrow{color:var(--olive);font-size:9px;letter-spacing:.17em;margin-bottom:8px}.hub-heading h1{font-family:var(--song);font-size:36px;font-weight:400;line-height:1.4}.hub-heading .hub-heading-note{max-width:330px;font-size:11px;line-height:1.9;color:var(--muted)}.hub-body h2{font-family:var(--song);font-size:23px;font-weight:400;line-height:1.6;margin:28px 0 16px}.hub-body h2:first-child{margin-top:0}.hub-body h3{font-size:13px;font-weight:550;margin-bottom:8px}.hub-body p{font-size:13px;line-height:2}.hub-body .lead{font-family:var(--song);font-size:21px;line-height:1.95;color:#565d45}.overview-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:35px;align-items:start}.overview-image img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.overview-image figcaption{font-size:10px;color:var(--muted);margin-top:9px}.schedule-row{display:grid;grid-template-columns:70px 1fr;gap:15px;border-bottom:1px solid var(--line);padding:18px 0}.schedule-row:first-child{padding-top:0}.schedule-date{font-family:var(--latin);font-size:32px;line-height:1.4;color:var(--olive-dark);white-space:nowrap}.schedule-detail strong{display:block;font-size:13px;font-weight:550}.schedule-detail span{display:block;color:#727b63;font-size:13px;margin-top:3px}.schedule-detail small{font-size:10px;line-height:1.8;color:var(--muted);display:block;margin-top:5px}.venue-line{font-size:11px!important;line-height:1.8!important;color:var(--muted);margin-top:18px;overflow-wrap:anywhere}.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:26px}.resource-entry{display:block;padding:17px 0 20px;border-top:1px solid var(--line)}.resource-entry:hover{text-decoration:none}.resource-entry .resource-kicker{font-size:9px;letter-spacing:.1em;color:var(--muted)}.resource-entry h3{font-family:var(--song);font-size:20px;font-weight:400;margin:8px 0}.resource-entry p{font-size:11px;color:var(--muted);line-height:1.9}.resource-entry .resource-arrow{display:block;color:var(--olive);font-size:17px;margin-top:10px}.task-list{margin-top:12px}.task-row{display:grid;grid-template-columns:25px 1fr auto;gap:14px;padding:17px 0;border-bottom:1px solid var(--line);align-items:start}.task-index{font-family:var(--latin);font-size:11px;font-style:italic;color:#9a9e8d;padding-top:3px}.task-row h3{font-size:12px;line-height:1.8;font-weight:500;margin:0}.task-row p{font-size:11px;color:var(--muted);line-height:1.8;margin-top:5px}.status-label{font-size:9px;color:#7a805e;background:#e5e8d7;white-space:nowrap;padding:3px 8px;line-height:1.8;border-radius:2px}.status-label.tbd{color:#947d59;background:#eee6d4}.status-label.ready{color:#586c48;background:#e2e8d6}.status-label.neutral{color:#7e8472;background:#e7e8df}.info-note{border-left:2px solid #a6ad85;background:#e9eadb;padding:12px 15px;margin:20px 0;color:#737a60;font-size:11px!important;line-height:1.9!important}.hub-characters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:30px}.hub-characters .character{border-top:1px solid var(--line);padding:20px 0 0!important;border-left:0}.hub-characters .character h3{font-size:30px}.hub-characters .character .bio{color:var(--muted);font-size:12px}.hub-characters .character .want{border-color:var(--line);font-size:14px}.hub-characters .character .cast-line{color:var(--muted)}.hub-body .themes-hub{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:30px}.theme-hub{border-top:1px solid var(--line);padding-top:15px}.theme-hub h3{font-family:var(--song);font-size:18px;font-weight:400}.theme-hub p{font-size:12px;color:var(--muted)}.tool-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0 0 16px;flex-wrap:wrap}.tool-toolbar p{font-size:11px;color:var(--muted)}.tool-toolbar a{font-size:11px;text-decoration:underline;min-height:40px;display:inline-flex;align-items:center}.full-tool{display:block;width:100%;height:800px;border:1px solid var(--line);background:#f7f4ec}.full-tool.space-tool{height:760px}.subnav{display:flex;gap:20px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:25px}.subnav a{font-size:12px;color:var(--muted);min-height:44px;padding:9px 0;border-bottom:2px solid transparent}.subnav a[aria-current=page]{color:var(--olive-dark);border-color:var(--olive)}.hub-body .storyboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hub-body .frame-light{color:var(--muted);font-size:10px}.hub-moodboard img{display:block;width:100%;max-height:800px;object-fit:contain;background:#e2ddce}.hub-body .reference-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:30px}.hub-body .reference p,.hub-body .reference-credit{color:var(--muted)}.equipment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.equipment-section{border-top:1px solid var(--line);padding-top:18px}.equipment-section h3{font-family:var(--song);font-size:20px;font-weight:400}.equipment-section p{font-size:12px;color:var(--muted)}.equipment-section ul{font-size:12px;color:var(--muted);line-height:2.1;margin-top:12px}.inline-resource{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin:25px 0}.inline-resource h3{font-family:var(--song);font-size:21px;font-weight:400;margin:0}.inline-resource p{color:var(--muted);font-size:11px;margin-top:5px}.inline-resource a{white-space:nowrap;font-size:12px;color:var(--olive);text-decoration:underline}.crew-table{width:100%;border-collapse:collapse;font-size:12px;margin:5px 0 30px}.crew-table th{text-align:left;font-size:10px;color:var(--muted);font-weight:500;padding:10px 12px 10px 0;border-bottom:1px solid var(--line)}.crew-table td{padding:15px 12px 15px 0;border-bottom:1px solid var(--line);vertical-align:top}.crew-table td:last-child{width:100px}.download-list{display:grid;gap:0}.download-row{display:grid;grid-template-columns:48px 1fr auto;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:18px 0;min-width:0}.file-type{font-size:9px;letter-spacing:.1em;color:var(--muted);border:1px solid var(--line);padding:7px 0;text-align:center;line-height:1.8}.download-row h3{font-size:13px;font-weight:500;margin:0}.download-row p{font-size:10px;color:var(--muted);line-height:1.8;margin-top:3px}.download-row a{font-size:11px;color:var(--olive);min-height:40px;display:flex;align-items:center;white-space:nowrap}.resource-search{width:100%;max-width:430px;padding:10px 12px;background:var(--surface);border:1px solid var(--line);font-size:13px;margin-bottom:20px;color:var(--ink);border-radius:2px}.empty-state{padding:35px 0;color:var(--muted);font-size:13px}.hub-footer{font-size:9px;letter-spacing:.08em;color:#989d88;border-top:1px solid var(--line);margin-top:40px;padding-top:18px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}body[data-mode=center] .site-header{border-color:var(--line);background:var(--paper)}body[data-mode=center] .header-context{opacity:1;color:var(--muted)}body[data-mode=center] .music-control{bottom:20px;background:#f4f1e8ed;border-color:#d5d6c4;color:#596247}body[data-mode=center] .music-popover{background:#f3f1e7;color:#3d4830;border-color:#cdd1be}body[data-mode=center] .music-popover #music-artist,body[data-mode=center] .music-popover #music-status,body[data-mode=center] .music-popover label{color:#889078}dialog{width:min(94vw,1540px);max-height:94svh;overflow:auto;padding:20px;border:1px solid #c6cab8;border-radius:3px;background:#eeeadd;color:var(--ink);box-shadow:0 25px 100px #0006}dialog::backdrop{background:#171e16dd}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:15px}.dialog-top h2{font-family:var(--song);font-size:22px;font-weight:400}.dialog-top button{min-height:44px;font-size:12px;white-space:nowrap}#image-dialog-image{display:block;width:100%;height:auto}#image-dialog-caption{padding-top:16px;font-size:12px;color:#6e775b;line-height:1.9}#image-dialog-caption p{margin-bottom:5px}.no-script{padding:40px;max-width:700px;margin:auto}.load-error{max-width:700px;margin:20vh auto;padding:35px}.load-error h1{font-family:var(--song);font-size:32px;font-weight:400}.load-error p{margin:20px 0;font-size:13px;line-height:2}.load-error a{display:inline-block;margin:10px 20px 10px 0;text-decoration:underline}
@keyframes reveal{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes music-bars{from{transform:scaleY(.4)}to{transform:scaleY(1.2)}}
@media(min-width:1800px){.site-header{padding-left:max(4vw,calc((100vw - 1600px)/2));padding-right:max(4vw,calc((100vw - 1600px)/2))}}
@media(max-width:1100px){.site-header{gap:20px;padding:20px 4vw}.brand small{display:none}.header-context{font-size:9px}.header-actions{gap:15px}.guide-page{padding-left:5vw;padding-right:5vw}.story-layout{gap:5vw}.story-copy .logline{font-size:20px}.reference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 20px}.reference h3{font-size:19px}.space-layout{grid-template-columns:1fr 1.5fr}.storyboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.character{padding-right:20px}.character+.character{padding-left:20px}.character h3{font-size:31px}.character .bio{font-size:12px}.hub-shell{grid-template-columns:170px minmax(0,1fr);gap:30px}.hub-rail{padding-right:20px}.hub-role{font-size:18px}.hub-nav a{font-size:11px}.hub-heading h1{font-size:31px}.hub-heading-note{font-size:10px!important}.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-layout{grid-template-columns:1fr 1fr;gap:24px}.hub-characters{gap:20px}.hub-characters .character h3{font-size:28px}.equipment-grid{gap:22px}.script-excerpt{padding:30px 25px}.journey-footer nav{gap:9px}.step-link{font-size:9px}}
@media(max-width:800px){.site-header{min-height:76px;padding:17px 4vw;gap:15px}.brand>span{font-size:22px}.header-context{display:none}.header-actions{gap:17px}.header-actions button{font-size:10px}.guide-page{padding-top:32px}.cover{min-height:calc(100svh - 76px);padding-top:60px}.cover-copy{width:80%}.cover-image{left:19%;opacity:.75}.cover-image::after{background:linear-gradient(90deg,#191b17 2%,#191b17a3 40%,#191b1710 90%),linear-gradient(0deg,#191b17 0%,transparent 70%)}.cover h1{font-size:clamp(65px,13.5vw,105px)}.cover .cover-tagline{font-size:17px;max-width:330px}.cover .cover-english{font-size:24px}.cover .cover-kicker{font-size:9px;line-height:1.8;max-width:250px;margin-bottom:28px}.story-layout{grid-template-columns:1fr 1.15fr;gap:30px;align-items:start}.story-photo img{aspect-ratio:3/4}.story-copy .logline-label{margin-top:23px}.story-copy .logline{font-size:18px;line-height:1.9}.synopsis{font-size:12px;line-height:2.05}.theme-line{grid-template-columns:1fr;gap:6px}.theme-lines{margin-top:25px}.guide-page h1,.guide-page h2{font-size:35px}.guide-page .chapter-body{font-size:13px}.character-grid{margin-top:25px}.character h3{font-size:28px}.character .cast-line{font-size:9px;margin-bottom:18px}.character .bio{font-size:11px;line-height:2.15}.character .want{font-size:13px;margin-top:20px}.space-layout{grid-template-columns:1fr;gap:25px}.space-layout .chapter-heading{margin-bottom:0}.space-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:18px}.space-facts p{font-size:11px;padding:9px 0}.tool-preview{min-height:330px}.tool-preview>img{height:330px;object-position:center}.tool-preview iframe{height:550px}.storyboard-grid{gap:20px 15px}.story-frame .frame-name{font-size:10px}.story-frame .frame-light{font-size:9px}.script-intro{gap:28px;grid-template-columns:1fr 1fr}.script-excerpt{padding:25px 22px}.script-excerpt .line{font-size:12px}.script-excerpt .translation{font-size:11px}.script-actions{gap:10px}.solid-button{font-size:11px;padding:10px 18px}.text-button{font-size:11px}.guide-reader iframe{height:650px}.journey-footer{gap:15px;padding-left:4vw;padding-right:4vw;min-height:84px}.journey-footer nav{gap:5px}.step-link .step-number{display:none}.step-link{font-size:9px;padding:11px 3px}.quiet-button,.next-button{font-size:10px}.next-button{min-width:58px}.music-control{right:4vw;bottom:100px}.portal-grid{gap:25px;margin-top:35px}.portal h3{font-size:26px}.portal p{font-size:11px}.portal .portal-arrow{right:5px}.hub-shell{display:block;padding-top:24px}.hub-rail{position:static;border-right:0;border-bottom:1px solid var(--line);padding:0 0 16px;margin-bottom:28px}.hub-rail .rail-kicker{font-size:8px;margin:0}.hub-role{font-size:19px;margin-bottom:13px}.hub-nav{display:flex;gap:3px 18px;flex-wrap:wrap}.hub-nav a{min-height:35px;margin:0;padding:5px 0;border-bottom:1px solid transparent;font-size:11px}.hub-nav a span{display:none}.hub-nav a[aria-current=page]{background:transparent;border-bottom-color:var(--olive)}.hub-rail-footer{display:none}.hub-heading{gap:20px;align-items:flex-start}.hub-heading h1{font-size:31px}.hub-heading .hub-heading-note{max-width:280px;font-size:10px}.overview-layout{grid-template-columns:1fr 1.1fr;gap:30px}.hub-body .lead{font-size:20px}.hub-body p{font-size:12px}.schedule-date{font-size:28px}.schedule-row{grid-template-columns:60px 1fr;gap:12px}.schedule-detail strong{font-size:12px}.schedule-detail span{font-size:12px}.schedule-detail small{font-size:9px}.hub-body h2{font-size:22px}.task-row{grid-template-columns:20px 1fr auto;gap:10px}.task-row h3{font-size:11px}.task-row p{font-size:10px}.status-label{font-size:8px;padding:3px 6px}.resource-entry h3{font-size:20px}.hub-characters{gap:22px}.hub-characters .character .bio{font-size:11px}.hub-body .themes-hub{gap:22px}.theme-hub h3{font-size:17px}.theme-hub p{font-size:11px}.full-tool{height:740px}.full-tool.space-tool{height:650px}.hub-body .storyboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:580px){html{scroll-padding-top:75px}.site-header{padding:13px 20px;min-height:67px;gap:12px}.brand>span{font-size:20px;letter-spacing:.08em}.header-actions{gap:15px}.header-actions button{font-size:9px;min-height:40px}.guide-page{padding:30px 22px 155px;min-height:calc(100svh - 67px)}.cover{padding:40px 25px 140px;align-items:center}.cover-copy{width:100%}.cover-image{inset:0;opacity:.6}.cover-image img{object-position:55% center}.cover-image::after{background:linear-gradient(90deg,#191b17bc,#191b1750),linear-gradient(0deg,#191b17 0%,#191b1720 90%)}.cover h1{font-size:clamp(56px,16vw,85px);letter-spacing:.055em}.cover .cover-english{font-size:20px;margin:17px 0 25px}.cover .cover-tagline{font-size:16px;max-width:310px;letter-spacing:.06em}.cover .cover-kicker{font-size:8px;margin-bottom:27px}.cover-actions{margin-top:29px;gap:12px 20px}.cover .cover-credit{font-size:8px;max-width:250px;line-height:2}.guide-page h1,.guide-page h2{font-size:30px;line-height:1.45}.chapter-count{font-size:11px;margin-bottom:11px}.guide-page .eyebrow{font-size:8px;margin-bottom:12px}.guide-page .chapter-body{font-size:12px;line-height:2;margin-top:13px}.guide-page .chapter-heading{margin-bottom:23px}.story-layout{display:flex;flex-direction:column;gap:26px}.story-photo{width:100%}.story-photo img{aspect-ratio:16/9;object-position:50% 45%}.photo-caption{font-size:9px;margin-top:8px}.story-copy .logline-label{font-size:9px;margin-top:20px}.story-copy .logline{font-size:19px}.synopsis{font-size:12px}.theme-line{grid-template-columns:110px 1fr;gap:12px}.theme-line h3{font-size:13px}.theme-line p{font-size:10px}.character-grid{display:block;margin-top:25px}.character,.character+.character{border-left:0;padding:24px 0 29px}.character+.character{border-top:1px solid var(--g-line)}.character .character-number{margin-bottom:12px;font-size:10px}.character h3{font-size:31px}.character .cast-line{font-size:10px;margin-bottom:15px}.character .bio{font-size:12px;line-height:2}.character .want{font-size:14px}.character .want::before{font-size:9px}.chapter-end{font-size:14px;margin-top:25px}.reference-grid{gap:25px 15px;margin-top:20px}.reference h3{font-size:16px;margin-top:9px}.reference .reference-year{font-size:9px;margin-left:5px}.reference p{font-size:10px;line-height:1.9}.reference .reference-credit{font-size:8px}.reference img{aspect-ratio:1.3}.moodboard-overview{display:block;margin-top:25px}.moodboard-overview p{font-size:11px}.image-link{margin-top:10px;font-size:11px}.space-facts{display:block;margin-top:17px}.space-facts p{font-size:11px}.tool-preview{min-height:220px}.tool-preview>img{height:220px}.tool-preview iframe{height:520px}.tool-preview-overlay button{font-size:11px;min-height:44px;padding:10px 17px}.tool-bottom{font-size:9px;align-items:flex-start}.storyboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 13px}.story-frame .frame-name{font-size:10px}.story-frame .frame-light{font-size:8px}.storyboard-note{font-size:10px;margin-top:20px}.script-intro{display:flex;flex-direction:column;align-items:stretch;gap:30px}.script-excerpt{transform:rotate(.6deg);padding:25px 28px}.script-excerpt .line{font-size:12px;max-width:230px}.script-excerpt .translation{font-size:11px}.script-excerpt .page-tag{font-size:8px;margin-bottom:17px}.script-excerpt .character-name{font-size:11px}.guide-reader iframe{height:600px}.entry-page{padding-top:40px;justify-content:flex-start}.entry-page .chapter-body{font-size:12px}.portal-grid{display:block;margin-top:25px}.portal{min-height:0;padding:23px 3px 26px;border-bottom:0}.portal:last-child{border-bottom:1px solid var(--g-line)}.portal h3{font-size:25px;margin:13px 0 9px}.portal p{font-size:11px;max-width:250px}.portal .portal-arrow{top:51px;font-size:24px}.entry-caption{font-size:9px;margin-top:20px}.journey-footer{display:grid;grid-template-columns:1fr 1fr;gap:1px 15px;padding:8px 22px 16px;min-height:96px}.journey-footer nav{grid-column:1/-1;grid-row:1;justify-content:space-between;gap:4px}.quiet-button{justify-self:start}.next-button{justify-self:end;font-size:10px;min-height:35px}.step-link{font-size:8px;min-height:30px;padding:6px 1px}.step-link[aria-current=step]::after{bottom:2px;left:1px;right:1px}.quiet-button{font-size:10px;min-height:35px}.music-control{right:20px;bottom:111px;padding:2px 4px 2px 9px}.music-control>button{font-size:8px;min-height:31px}.music-control details>summary{min-height:31px}.music-popover{width:225px}.hub-shell{padding:24px 20px 90px}.hub-rail{margin-bottom:23px}.hub-role{font-size:20px}.hub-nav{gap:1px 20px}.hub-nav a{font-size:10px;min-height:38px}.hub-heading{display:block;padding-bottom:20px;margin-bottom:23px}.hub-heading h1{font-size:30px}.hub-heading .eyebrow{font-size:8px}.hub-heading .hub-heading-note{margin-top:11px;font-size:11px;max-width:none}.overview-layout{display:flex;flex-direction:column-reverse;gap:25px}.overview-image{width:100%}.overview-image img{aspect-ratio:16/9}.overview-layout>div{width:100%}.schedule-row{grid-template-columns:66px 1fr;padding:15px 0}.schedule-date{font-size:30px}.schedule-detail strong{font-size:12px}.schedule-detail span{font-size:13px}.schedule-detail small{font-size:10px}.venue-line{font-size:10px!important}.resource-grid{gap:20px;grid-template-columns:1fr 1fr;margin-top:20px}.resource-entry{padding:14px 0 16px}.resource-entry .resource-kicker{font-size:8px}.resource-entry h3{font-size:19px;margin:8px 0}.resource-entry p{font-size:10px;line-height:1.9}.resource-entry .resource-arrow{font-size:15px;margin-top:7px}.hub-body h2{font-size:22px;margin:25px 0 15px}.task-row{grid-template-columns:18px 1fr;gap:10px;padding:16px 0}.task-row .status-label{grid-column:2;justify-self:start;margin-top:0}.task-row h3{font-size:12px}.task-row p{font-size:10px}.hub-body .lead{font-size:19px}.hub-characters{display:block;margin-top:25px}.hub-characters .character{padding-bottom:25px!important}.hub-characters .character .bio{font-size:12px}.hub-body .themes-hub{display:block;margin-top:20px}.theme-hub{margin-bottom:22px}.theme-hub h3{font-size:19px}.theme-hub p{font-size:12px}.info-note{font-size:10px!important;padding:10px 12px}.tool-toolbar{gap:10px;align-items:flex-start}.tool-toolbar p{font-size:10px;max-width:230px}.tool-toolbar a{font-size:10px;min-height:32px}.full-tool{height:700px}.full-tool.space-tool{height:600px}.subnav{gap:22px;margin-bottom:20px}.subnav a{font-size:11px}.hub-body .storyboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-body .reference-grid{gap:24px 16px}.equipment-grid{display:block}.equipment-section{margin-bottom:27px}.equipment-section h3{font-size:21px}.equipment-section p,.equipment-section ul{font-size:12px}.inline-resource{display:block;padding:19px 0;margin:22px 0}.inline-resource h3{font-size:21px}.inline-resource a{display:inline-flex;min-height:44px;margin-top:10px;font-size:11px}.crew-table{font-size:11px}.crew-table th{font-size:9px;padding:8px 8px 8px 0}.crew-table td{padding:13px 8px 13px 0}.crew-table td:last-child{width:60px}.crew-table .status-label{font-size:8px;padding:3px 5px}.download-row{grid-template-columns:40px 1fr auto;gap:12px;padding:16px 0}.file-type{font-size:8px;padding:6px 0}.download-row h3{font-size:11px;line-height:1.8}.download-row p{font-size:9px}.download-row a{font-size:10px}.resource-search{font-size:16px}.hub-footer{font-size:8px;line-height:1.9;gap:5px}body[data-mode=center] .music-control{right:20px;bottom:16px}dialog{padding:13px;width:96vw;max-height:96svh}.dialog-top h2{font-size:18px}.dialog-top button{font-size:11px}#image-dialog-caption{font-size:11px}.load-error{margin:15vh 20px;padding:15px}.load-error h1{font-size:27px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.site-header,.journey-footer,.music-control,.hub-rail,.tool-toolbar,.subnav,.skip-link{display:none!important}body,body[data-mode=guide]{background:#fff;color:#222}.hub-shell,.guide-page{display:block;padding:0;max-width:none;min-height:0}.hub-heading h1{font-size:24pt}.hub-body p{font-size:10pt}.full-tool{display:none}.storyboard-grid{grid-template-columns:repeat(2,1fr)}.story-frame{break-inside:avoid}.guide-page .chapter-body,.synopsis{color:#555}.cover-image{display:none}.cover-copy{width:100%}.cover h1{font-size:60pt}.cover .cover-english,.cover .cover-tagline{color:#444}dialog{display:none!important}}

/* Photographic fullscreen home; reading pages retain the flat document layout. */
.scene-music-credit{display:none}
body[data-scene=true]{height:100svh;overflow:hidden;background:#151714;color:#eee9d6}
body[data-scene=true] #main{position:fixed;inset:0;overflow:hidden;outline:0}
.cinematic-home{position:fixed;inset:0;width:100%;height:100svh;overflow:hidden;isolation:isolate;background:#151714}
.cinematic-picture,.cinematic-image{position:absolute;inset:0;display:block;width:100%;height:100%}
.cinematic-image{object-fit:cover;object-position:center center;max-width:none}
.cinematic-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#11150f28 0,transparent 16%,transparent 80%,#11150f2e 100%)}
.scene-hotspots{position:absolute;inset:0;z-index:3;overflow:hidden}
.scene-hotspot{position:absolute;display:block;background:transparent;color:#eee9d6;border:1px solid transparent;text-decoration:none;outline-offset:-3px;-webkit-tap-highlight-color:transparent}
.scene-hotspot:hover{text-decoration:none}
.scene-hotspot:focus-visible{outline:1px solid #f1e9cd8c;border-color:#f1e9cd33;background:#efdfa804}
.scene-hotspot-label{position:absolute;display:block;transform:translate(-50%,-50%);font-family:var(--song);font-size:clamp(14px,1.28vw,21px);font-weight:400;line-height:1.6;letter-spacing:.075em;white-space:nowrap;padding:5px 1px;color:#eee8d6;text-shadow:0 1px 7px #000b,0 0 18px #1119;opacity:.82;transition:opacity .2s,color .2s;z-index:2}
.scene-hotspot:hover .scene-hotspot-label,.scene-hotspot:focus-visible .scene-hotspot-label{opacity:1;color:#fff4d5}
.scene-hotspot-leader{position:absolute;display:block;height:1px;background:#e8e0c899;transform-origin:left center;pointer-events:none;z-index:1;box-shadow:0 1px 2px #0005;opacity:.62;transition:opacity .2s}
.scene-hotspot:hover .scene-hotspot-leader,.scene-hotspot:focus-visible .scene-hotspot-leader{opacity:1}
.scene-dates{position:absolute;left:3vw;bottom:3.1vh;z-index:4;color:#e6dfc7;text-shadow:0 1px 9px #0009;pointer-events:none}
.scene-dates p{display:flex;gap:15px;font-family:var(--song);font-size:clamp(10px,.93vw,15px);line-height:2;letter-spacing:.11em;white-space:nowrap}
.scene-dates p>span:first-child{font-family:var(--latin);letter-spacing:.12em}
.scene-dates p>span:last-child{font-variant-numeric:tabular-nums;letter-spacing:.1em}
.scene-image-error{position:absolute;left:5vw;right:5vw;top:45%;z-index:5;text-align:center;font-size:13px;line-height:2;color:#dfd8c2}
body[data-scene=true] .site-header{position:fixed;left:0;right:0;top:0;z-index:20;min-height:0;padding:25px 3vw;border:0;background:transparent;color:#f1eddb;gap:25px;align-items:flex-start}
body[data-scene=true] .brand{display:flex;flex-direction:column;align-items:flex-start;gap:1px}
body[data-scene=true] .brand>span{font-family:var(--song);font-size:clamp(25px,2.05vw,36px);font-weight:400;letter-spacing:.1em;line-height:1.4;text-shadow:0 1px 10px #0008}
body[data-scene=true] .brand small{display:block;font-family:var(--latin);font-size:8px;line-height:1.8;letter-spacing:.32em;color:#e0d8bf;opacity:.85}
body[data-scene=true] .header-context{display:block;font-family:var(--song);font-size:clamp(11px,1.15vw,18px);letter-spacing:.1em;line-height:1.5;border-left:1px solid #ded8c36b;padding-left:22px;margin-top:10px;color:#eae4ce;opacity:.9;text-shadow:0 1px 9px #0008}
body[data-scene=true] .header-actions{gap:30px;padding-top:3px}
body[data-scene=true] .header-actions button{font-family:var(--song);font-size:clamp(12px,1.05vw,18px);line-height:1.8;letter-spacing:.11em;min-height:44px;padding:3px 0;text-shadow:0 1px 8px #0008;color:#e9e2cc;opacity:.9}
body[data-scene=true] .header-actions button:hover{opacity:1;color:#fff3d2}
body[data-scene=true] .music-control{position:fixed;right:3vw;bottom:2.7vh;z-index:25;background:transparent;backdrop-filter:none;border:0;padding:0;color:#eee6d0;gap:3px}
body[data-scene=true] .music-control>button{min-height:44px;padding:5px 3px;gap:13px;color:#eee6d0}
body[data-scene=true] .music-control #music-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
body[data-scene=true] .music-bars{height:17px;gap:3px}
body[data-scene=true] .music-bars i{width:2px;background:#eee6d0;opacity:.8}
body[data-scene=true] .scene-music-credit{display:block;font-family:var(--latin);font-size:clamp(10px,.95vw,16px);font-weight:400;line-height:1.6;letter-spacing:.04em;max-width:310px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 8px #0009}
body[data-scene=true] .music-control details>summary{font-size:14px;min-height:44px;padding-top:9px;color:#d6d0b9}
body[data-scene=true] .music-popover{background:#252a20f5;border-color:#6d755055;color:#e5dfc7;box-shadow:0 15px 40px #0005;bottom:50px}
body[data-scene=true] .music-popover #music-artist,body[data-scene=true] .music-popover #music-status,body[data-scene=true] .music-popover label{color:#b4b69d}
.scene-menu{position:fixed;inset:0 0 0 auto;margin:0;width:min(430px,94vw);height:100svh;max-width:94vw;max-height:100svh;overflow:auto;border:0;border-left:1px solid #7d826344;border-radius:0;padding:29px 31px 35px;background:#20251df7;color:#e8e3cf;box-shadow:-20px 0 90px #0004}
.scene-menu::backdrop{background:#10150c80;backdrop-filter:blur(3px)}
.scene-menu-header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:23px;border-bottom:1px solid #8a90704d}
.scene-menu-header h2{font-family:var(--song);font-size:25px;font-weight:400;letter-spacing:.08em}
.scene-menu-header button{min-height:44px;font-size:11px;letter-spacing:.05em;color:#b9bda5}
.scene-menu-roles{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:23px 0;border-bottom:1px solid #8a907033}
.scene-menu-roles a{display:flex;align-items:center;justify-content:center;min-height:45px;border:1px solid #8a90703b;font-size:12px;line-height:1.8;color:#b5bea0;padding:7px 8px}
.scene-menu-roles a[aria-current=page]{background:#7d8a5324;border-color:#a2ac7661;color:#e8e4ce}
.scene-menu-links{display:grid;padding-top:10px}
.scene-menu-links>a{display:flex;align-items:center;gap:20px;min-height:58px;border-bottom:1px solid #8a907026;font-family:var(--song);font-size:19px;font-weight:400;line-height:1.8;letter-spacing:.03em;color:#dedfc7}
.scene-menu-links>a>span:first-child{font-family:var(--latin);font-size:10px;font-style:italic;letter-spacing:.15em;color:#818e6c}
.scene-menu-links>a>span:last-child{margin-left:auto;font-size:13px;color:#7e8a6a}
.scene-menu-links>a:hover{color:#fff0ce;text-decoration:none}
.scene-menu-replay{display:inline-flex;align-items:center;min-height:44px;font-size:11px;color:#9ba88a;margin-top:25px}
@media(max-width:1000px){body[data-scene=true] .site-header{padding:23px 25px;gap:19px}body[data-scene=true] .header-context{font-size:12px;padding-left:18px;margin-top:8px}body[data-scene=true] .brand>span{font-size:29px}body[data-scene=true] .header-actions{gap:25px;padding-top:2px}body[data-scene=true] .header-actions button{font-size:13px}body[data-scene=true] .scene-music-credit{font-size:11px;max-width:260px}.scene-dates{left:25px;bottom:24px}.scene-dates p{font-size:11px;gap:12px}.scene-hotspot-label{font-size:16px;letter-spacing:.04em}}
@media(max-width:650px){body[data-scene=true] .site-header{padding:20px 20px;gap:12px}body[data-scene=true] .brand>span{font-size:25px;letter-spacing:.06em}body[data-scene=true] .brand small{font-size:6px;letter-spacing:.24em}body[data-scene=true] .header-context{position:absolute;left:20px;top:74px;border-left:0;padding-left:0;margin-top:0;font-size:10px;letter-spacing:.09em}body[data-scene=true] .header-actions{gap:18px;padding-top:0}body[data-scene=true] .header-actions button{font-size:12px;letter-spacing:.04em;min-height:44px}body[data-scene=true] .music-control{right:17px;bottom:18px;gap:0}body[data-scene=true] .scene-music-credit{max-width:170px;font-size:10px}body[data-scene=true] .music-control>button{gap:9px}body[data-scene=true] .music-control details>summary{padding-left:5px;padding-right:5px;min-width:24px}.scene-dates{left:20px;bottom:72px}.scene-dates p{font-size:10px;gap:11px;line-height:2}.scene-hotspot-label{font-size:14px;line-height:1.7;letter-spacing:.025em}.scene-menu{padding:22px 25px;width:min(390px,94vw)}.scene-menu-links>a{min-height:55px;font-size:18px}}
@media(max-width:380px){body[data-scene=true] .brand>span{font-size:23px}body[data-scene=true] .header-actions{gap:14px}body[data-scene=true] .header-actions button{font-size:11px}.scene-hotspot-label{font-size:13px}body[data-scene=true] .scene-music-credit{max-width:155px}}
@media(prefers-reduced-motion:reduce){.scene-hotspot-label,.scene-hotspot-leader{transition:none!important}.scene-menu::backdrop{backdrop-filter:none}}
@media print{body[data-scene=true]{height:auto;overflow:visible}.cinematic-home{position:static;height:auto;min-height:400px}.scene-hotspots{position:static}.scene-hotspot{position:static!important;display:block;width:auto!important;height:auto!important;min-height:30px}.scene-hotspot-label{position:static!important;transform:none;color:#222;text-shadow:none;opacity:1}.scene-hotspot-leader,.cinematic-picture,.cinematic-scrim,.scene-dates{display:none}.scene-menu{display:none!important}}

/* Dinner entrance. The full photographic plate is separate from the live controls. */
body[data-cover=true]{height:100svh;overflow:hidden;background:#181913;color:#efe6ce}
body[data-cover=true] #main{position:fixed;inset:0;overflow:hidden;outline:0}
.dinner-cover{position:relative;width:100%;height:100svh;min-height:0;overflow:hidden;isolation:isolate;background:#181913}
.dinner-picture,.dinner-image{position:absolute;inset:0;display:block;width:100%;height:100%}
.dinner-image{object-fit:cover;object-position:center center;max-width:none}
.dinner-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#13170d38,transparent 48%),linear-gradient(0deg,#12160c24,transparent 18%,transparent 88%,#11160d17);z-index:1}
.dinner-copy{position:absolute;z-index:2;left:5.6vw;top:22.6svh;width:46%;max-width:730px;color:#f0e5ca;text-shadow:0 2px 14px #070a04a6}
.dinner-kicker{font-family:var(--latin);font-size:clamp(10px,1.05vw,18px);line-height:1.6;letter-spacing:.23em;margin:0 0 29px;font-weight:400;white-space:nowrap}
.dinner-copy h1{font-family:var(--song);font-size:clamp(69px,5.95vw,106px);font-weight:400;line-height:1.3;letter-spacing:.1em;margin:0 0 0 -.025em;white-space:nowrap}
.dinner-english{font-family:var(--latin);font-size:clamp(15px,1.45vw,25px);font-weight:400;line-height:1.7;letter-spacing:.27em;margin-top:10px;white-space:nowrap;color:#e8dcc0}
.dinner-actions{display:flex;flex-direction:column;align-items:flex-start;gap:19px;margin-top:8.1svh}
.dinner-enter{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:54px;padding:9px 24px 11px;border:1px solid #eddfb9c9;border-radius:50px;background:#12160e08;color:#f0e5ca;font-family:var(--song);font-size:clamp(15px,1.4vw,23px);font-weight:400;line-height:1.6;letter-spacing:.15em;box-shadow:0 1px 10px #06090324;text-shadow:0 1px 8px #0009;transition:background .2s,border-color .2s}
.dinner-enter:hover{background:#ede1bc10;border-color:#fff0c9}
.dinner-enter>span{font-family:var(--sans);font-size:1.15em;line-height:1;letter-spacing:0}
.dinner-silent{min-height:44px;padding:6px 7px;color:#e3d7b9;font-family:var(--song);font-size:clamp(14px,1.3vw,21px);font-weight:400;line-height:1.6;letter-spacing:.2em;text-shadow:0 1px 8px #0009}
.dinner-silent:hover{color:#fff0d0}
.dinner-credit{position:absolute;z-index:2;left:2.8vw;bottom:3.8svh;color:#e4d8bb;font-family:var(--latin);font-size:clamp(8px,.85vw,14px);font-weight:400;line-height:1.7;letter-spacing:.2em;text-shadow:0 1px 8px #0009;white-space:nowrap}
body[data-cover=true] .site-header{position:fixed;inset:0 0 auto;min-height:0;padding:23px 2.9vw 0;border:0;background:transparent;z-index:25;justify-content:flex-end;pointer-events:none}
body[data-cover=true] .site-header .brand,body[data-cover=true] .site-header .header-context{display:none}
body[data-cover=true] .header-actions{margin-left:auto;gap:0;pointer-events:auto}
body[data-cover=true] #skip-guide{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:8px 15px;font-family:var(--song);font-size:22px;font-weight:400;line-height:1.6;letter-spacing:.08em;border:1px solid #ded2b02e;border-radius:2px;background:#171b1026;color:#f0e5ca;opacity:1;text-shadow:0 1px 10px #000a}
body[data-cover=true] #skip-guide:hover{background:#242a194f;border-color:#e6d9b66b;color:#fff4d8}
body[data-cover=true] .music-control{position:fixed;right:2.8vw;bottom:2.8svh;z-index:25;background:transparent;backdrop-filter:none;border:0;padding:0;color:#eee2c6;gap:3px}
body[data-cover=true] .music-control>button{min-height:44px;padding:5px 3px;gap:13px;color:#eee2c6}
body[data-cover=true] .music-control #music-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
body[data-cover=true] .music-bars{height:17px;gap:3px}
body[data-cover=true] .music-bars i{width:2px;background:#eee2c6;opacity:.8}
body[data-cover=true] .scene-music-credit{display:block;font-family:var(--latin);font-size:clamp(10px,.95vw,16px);font-weight:400;line-height:1.6;letter-spacing:.04em;max-width:310px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 8px #0009}
body[data-cover=true] .music-control details>summary{font-size:14px;min-height:44px;padding-top:9px;color:#d6c9ac}
body[data-cover=true] .music-popover{background:#252a20f5;border-color:#6d755055;color:#e5dfc7;box-shadow:0 15px 40px #0005;bottom:50px}
body[data-cover=true] .music-popover #music-artist,body[data-cover=true] .music-popover #music-status,body[data-cover=true] .music-popover label{color:#b4b69d}
@media(max-width:1050px) and (min-aspect-ratio:9/10){.dinner-copy{left:5.5vw;top:23svh;width:54%}.dinner-kicker{font-size:11px;margin-bottom:25px}.dinner-copy h1{font-size:clamp(62px,7.5vw,82px)}.dinner-english{font-size:16px;letter-spacing:.23em}.dinner-enter{font-size:17px;min-height:50px;padding:8px 21px 10px}.dinner-silent{font-size:16px}.dinner-actions{margin-top:7svh;gap:14px}.dinner-credit{font-size:9px;left:3vw}.dinner-shade{background:linear-gradient(90deg,#13170d66,transparent 68%),linear-gradient(0deg,#12160c24,transparent 18%)}body[data-cover=true] #skip-guide{font-size:22px}}
@media(max-aspect-ratio:9/10){.dinner-shade{background:linear-gradient(180deg,#11170c42 0,#11170c0a 44%,transparent 64%,#11160d17 100%)}.dinner-copy{left:7vw;top:11svh;width:86%;max-width:none}.dinner-kicker{font-size:11px;line-height:1.6;margin-bottom:20px;letter-spacing:.22em}.dinner-copy h1{font-size:clamp(64px,10vw,94px);line-height:1.22;letter-spacing:.09em}.dinner-english{font-size:clamp(13px,2.15vw,20px);line-height:1.7;letter-spacing:.24em;margin-top:9px}.dinner-actions{flex-direction:row;align-items:center;flex-wrap:wrap;gap:11px 22px;margin-top:28px}.dinner-enter{font-size:17px;min-height:49px;padding:8px 21px 10px;letter-spacing:.12em;gap:13px}.dinner-silent{font-size:16px;letter-spacing:.14em;padding:7px 0}.dinner-credit{left:4vw;bottom:3svh;font-size:10px}body[data-cover=true] .site-header{padding:22px 4vw 0}body[data-cover=true] #skip-guide{font-size:22px;min-height:52px;padding:8px 15px}body[data-cover=true] .music-control{right:3.5vw;bottom:2.4svh}}
@media(max-width:580px){.dinner-copy{left:6.4vw;top:clamp(91px,13.3svh,115px);width:87.2%}.dinner-kicker{font-size:9px;line-height:1.6;letter-spacing:.2em;margin-bottom:15px}.dinner-copy h1{font-size:clamp(53px,14.9vw,74px);line-height:1.2;letter-spacing:.055em}.dinner-english{font-size:12px;line-height:1.6;letter-spacing:.22em;margin-top:9px}.dinner-actions{margin-top:24px;gap:8px 18px;flex-wrap:nowrap}.dinner-enter{min-height:46px;font-size:14px;line-height:1.6;padding:7px 15px 9px;letter-spacing:.075em;gap:9px;white-space:nowrap}.dinner-silent{min-height:44px;font-size:13px;line-height:1.6;letter-spacing:.06em;white-space:nowrap}.dinner-credit{left:20px;bottom:20px;font-size:7.8px;letter-spacing:.15em;max-width:92%}body[data-cover=true] .site-header{padding:17px 18px 0}body[data-cover=true] #skip-guide{font-size:16px;min-height:48px;padding:7px 12px;letter-spacing:.03em;background:#151a102e;border-color:#e6d9b63d}body[data-cover=true] .music-control{right:17px;bottom:42px;gap:0}body[data-cover=true] .music-control>button{gap:9px}body[data-cover=true] .scene-music-credit{font-size:10px;max-width:190px}body[data-cover=true] .music-control details>summary{min-width:24px;padding-left:5px;padding-right:5px}.dinner-shade{background:linear-gradient(180deg,#11170c45 0,#11170c09 48%,transparent 66%,#11160d1c)}}
@media(max-width:370px){.dinner-copy h1{font-size:52px}.dinner-english{font-size:11px;letter-spacing:.2em}.dinner-enter{font-size:13px;padding-left:13px;padding-right:13px}.dinner-silent{font-size:12px}.dinner-actions{gap:8px 14px}body[data-cover=true] #skip-guide{font-size:15px}}
@media(max-height:560px) and (min-aspect-ratio:9/10){.dinner-copy{top:15svh;left:6vw;width:65%;max-width:650px}.dinner-kicker{font-size:9px;line-height:1.6;margin-bottom:12px}.dinner-copy h1{font-size:clamp(50px,11svh,68px);line-height:1.16;letter-spacing:.08em}.dinner-english{font-size:13px;line-height:1.6;margin-top:5px;letter-spacing:.2em}.dinner-actions{margin-top:23px;flex-direction:row;align-items:center;gap:20px}.dinner-enter{min-height:44px;padding:7px 20px;font-size:15px}.dinner-silent{font-size:14px;min-height:44px}.dinner-credit{bottom:14px;font-size:8px}body[data-cover=true] .site-header{padding-top:13px}body[data-cover=true] #skip-guide{font-size:22px;min-height:52px}body[data-cover=true] .music-control{bottom:7px}}
@media(max-height:340px){body[data-cover=true]{height:auto;min-height:100svh;overflow-y:auto}body[data-cover=true] #main{position:relative;inset:auto;height:auto;min-height:350px;overflow:visible}.dinner-cover{height:350px;min-height:100svh}.dinner-copy{top:55px}.dinner-credit{bottom:15px}body[data-cover=true] .music-control{bottom:3px}}
@media(max-width:580px) and (max-height:560px){body[data-cover=true] #skip-guide{font-size:16px;min-height:48px}}
@media(prefers-reduced-motion:reduce){.dinner-enter{transition:none!important}}
@media print{body[data-cover=true]{height:auto;overflow:visible}body[data-cover=true] #main{position:static}.dinner-cover{height:auto;min-height:0;padding:35px;color:#222}.dinner-picture,.dinner-shade,.dinner-actions{display:none}.dinner-copy,.dinner-credit{position:static;width:auto;color:#222;text-shadow:none}.dinner-copy h1{font-size:58pt}.dinner-english,.dinner-credit{color:#444}.dinner-credit{margin-top:45px}}


/* Chapter navigation: edge arrows on desktop; a continuous reading flow on phones. */
html[data-guide-continuous=true]{scroll-padding-top:0}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body[data-guide-layout=desktop] .guide-page{padding-left:max(88px,6vw);padding-right:max(88px,6vw)}
.guide-edge-navigation{position:fixed;inset:0;z-index:22;pointer-events:none}
.guide-edge-button{position:absolute;top:50svh;transform:translateY(-50%);width:56px;height:82px;min-width:52px;min-height:52px;display:flex;align-items:center;justify-content:center;padding:0;pointer-events:auto;color:var(--g-ink);background:color-mix(in srgb,var(--g-ink) 5%,transparent);border:1px solid var(--g-line);border-radius:3px;opacity:.85;transition:opacity .2s,background .2s}
.guide-edge-button>span{font-family:Georgia,"Times New Roman",serif;font-size:60px;font-weight:400;line-height:1;transform:translateY(-4px)}
.guide-edge-previous{left:12px}.guide-edge-next{right:12px}
.guide-edge-button:hover{opacity:1;background:color-mix(in srgb,var(--g-ink) 11%,transparent)}
.guide-edge-button:focus-visible{outline:2px solid currentColor;outline-offset:4px;opacity:1}
body[data-guide-layout=desktop] .journey-footer{display:flex;justify-content:center;min-height:70px;padding:10px 90px 16px}
body[data-guide-layout=desktop] .journey-footer nav{display:flex;justify-content:center;gap:clamp(12px,2.4vw,38px)}
body[data-guide-layout=desktop] .step-link{min-height:44px}
.continuous-next{display:none}
@media(max-width:700px){
 body[data-guide-layout=continuous]{height:auto;min-height:100svh;overflow:visible;overflow-x:hidden;transition:background .25s,color .25s}
 body[data-guide-layout=continuous] #main{position:relative;inset:auto;overflow:visible;min-height:0}
 body[data-guide-layout=continuous] .site-header{position:sticky;top:0;z-index:25;min-height:72px;padding:14px 22px;gap:12px;background:#191b17f5;color:var(--g-ink);border-bottom:1px solid var(--g-line)}
 body[data-guide-layout=continuous][data-tone=paper] .site-header{background:#e7e3d6f5}
 body[data-guide-layout=continuous][data-tone=warm] .site-header{background:#eee9dcf5}
 body[data-guide-layout=continuous] .brand{gap:5px;flex-direction:column;align-items:flex-start}
 body[data-guide-layout=continuous] .brand>span{font-size:20px;line-height:1.3}
 body[data-guide-layout=continuous] .brand small{font-size:6px;letter-spacing:.14em}
 body[data-guide-layout=continuous] .header-context{display:none}
 body[data-guide-layout=continuous] .header-actions{gap:0}
 body[data-guide-layout=continuous] #skip-guide{min-height:44px;padding:5px 0;font-size:12px;letter-spacing:0;line-height:1.5}
 .continuous-guide{padding:0 0 72px}
 .continuous-chapter{position:relative;scroll-margin-top:88px;--g-ink:#efecdf;--g-muted:#b5b4a7;--g-line:#f2eed32b;color:var(--g-ink);background:#191b17;border-bottom:1px solid var(--g-line)}
 .continuous-chapter[data-guide-tone=paper]{--g-ink:#34382b;--g-muted:#7e806f;--g-line:#454f3426;background:#e7e3d6}
 .continuous-chapter[data-guide-tone=warm]{--g-ink:#33382a;--g-muted:#777b65;--g-line:#454f3426;background:#eee9dc}
 .continuous-chapter>.guide-page{width:100%;max-width:none;margin:0;padding:35px 24px 27px;min-height:calc(100svh - 195px);animation:none;color:var(--g-ink)}
 .continuous-chapter .chapter-heading{margin-bottom:24px}
 .continuous-chapter .story-layout{display:flex;flex-direction:column;gap:26px;align-items:stretch}
 .continuous-chapter .story-photo{max-width:none}.continuous-chapter .story-photo img{aspect-ratio:16/10;object-position:center}
 .continuous-chapter .story-copy{width:100%}
 .continuous-chapter .character-grid{display:block;margin-top:25px}
 .continuous-chapter .character{padding:24px 0!important;border-left:0!important;border-bottom:1px solid var(--g-line)}
 .continuous-chapter .character:last-child{border-bottom:0}
 .continuous-chapter .reference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 18px}
 .continuous-chapter .space-layout{display:flex;flex-direction:column;align-items:stretch;gap:24px}
 .continuous-chapter .space-layout>div{width:100%}
 .continuous-chapter .storyboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 15px}
 .continuous-chapter .script-intro{display:flex;flex-direction:column;align-items:stretch;gap:32px}
 .continuous-chapter .script-excerpt{max-width:460px;width:100%;align-self:center;transform:none}
 .continuous-chapter .entry-page{justify-content:flex-start;min-height:calc(100svh - 150px);padding-bottom:50px}
 .continuous-chapter .portal-grid{display:block;margin-top:28px}
 .continuous-chapter .portal{min-height:0;padding:25px 3px 28px;border-bottom:0}
 .continuous-chapter .portal:last-child{border-bottom:1px solid var(--g-line)}
 .continuous-chapter .portal h3{font-size:27px}.continuous-chapter .portal .portal-arrow{top:57px}
 .continuous-next{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:58px;margin:0 24px;padding:10px 0 20px;color:var(--g-muted);font-size:11px;letter-spacing:.06em;text-decoration:none}
 .continuous-next>span:last-child{font-size:24px;line-height:1;min-width:32px;text-align:center;color:var(--g-ink)}
 .continuous-next:hover{color:var(--g-ink);text-decoration:none}
 body[data-guide-layout=continuous] .journey-footer{display:flex;align-items:center;justify-content:center;gap:0;min-height:58px;padding:3px 10px max(6px,env(safe-area-inset-bottom));border-top:1px solid var(--g-line);background:#191b17f5}
 body[data-guide-layout=continuous][data-tone=paper] .journey-footer{background:#e7e3d6f5}
 body[data-guide-layout=continuous][data-tone=warm] .journey-footer{background:#eee9dcf5}
 body[data-guide-layout=continuous] .journey-footer nav{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));width:100%;gap:0;justify-content:stretch}
 body[data-guide-layout=continuous] .step-link{min-width:0;min-height:44px;padding:4px 1px;font-size:10px;letter-spacing:0;line-height:1.5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}
 body[data-guide-layout=continuous] .step-number{font-size:8px;margin:0;opacity:.5}
 body[data-guide-layout=continuous] .step-link[aria-current=step]::after{bottom:1px;left:8px;right:8px}
 body[data-guide-layout=continuous] .music-control{right:16px;bottom:71px;padding:3px 5px 3px 10px}
 body[data-guide-layout=continuous] .music-control>button{min-height:35px;font-size:9px}
 body[data-guide-layout=continuous] .music-control details>summary{min-height:35px}
 body[data-guide-layout=continuous] .guide-edge-navigation{display:none}
 body[data-guide-layout=continuous] .guide-reader{scroll-margin-top:90px}
}
@media(prefers-reduced-motion:reduce){.guide-edge-button{transition:none}body[data-guide-layout=continuous]{transition:none}}
@media print{.guide-edge-navigation,.continuous-next{display:none!important}.continuous-guide{padding:0}.continuous-chapter,.continuous-chapter[data-guide-tone]{--g-ink:#222;--g-muted:#555;--g-line:#ccc;background:#fff;color:#222;break-before:page}.continuous-chapter>.guide-page{min-height:0}}
