@charset "UTF-8";
:root{--navy:#10264b;--night:#081731;--blue:#375d8b;--pink:#edb3c7;--cream:#fff6d7;--paper:#fbfcfd;--serif:"Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--navy);background:var(--paper);font-family:var(--sans);font-size:16px}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;width:100%;height:auto}figure{margin:0}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid #d98aab;outline-offset:6px}.skip-link{position:fixed;left:16px;top:-100px;background:white;padding:16px;z-index:100}.skip-link:focus{top:16px}.site-header{position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:25px 4%;color:white;transition:background .3s,color .3s,padding .3s}.site-header.scrolled{background:rgba(251,252,253,.96);color:var(--navy);padding-top:16px;padding-bottom:16px;box-shadow:0 1px 0 #10264b12}.brand{font-family:var(--serif);font-weight:600;letter-spacing:.14em;font-size:24px}.brand span{display:block;font:10px var(--sans);letter-spacing:.24em;margin-top:5px}.site-header nav{display:flex;gap:30px}.site-header nav a{font-size:12px;letter-spacing:.16em;position:relative;padding:8px 0}.site-header nav a:after{content:"";height:1px;background:currentColor;position:absolute;inset:auto 0 0;transform:scaleX(0);transition:transform .25s}.site-header nav a:hover:after,.site-header nav a[aria-current]:after{transform:scaleX(1)}.menu-toggle{display:none}.hero{position:relative;min-height:760px;height:100svh;max-height:1200px;background:#102d58;color:white;overflow:hidden}.hero-image{height:100%;position:absolute;inset:0;object-fit:cover;object-position:42% center}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#05132650,transparent 32%,#08173112 65%,#081731a0),linear-gradient(90deg,transparent 35%,#08173130 70%,#08173150)}.hero-content{position:absolute;top:35%;right:7%;width:48%;text-align:center;text-shadow:0 2px 24px #05132670}.hero-copy{font:clamp(18px,1.85vw,29px)/2.2 var(--serif);letter-spacing:.12em;margin:0 0 38px}.hero h1{font:500 clamp(42px,5.2vw,84px)/1.5 var(--serif);letter-spacing:.12em;margin:0;white-space:nowrap}.hero-subtitle{font:clamp(14px,1.35vw,21px)/2 var(--serif);letter-spacing:.13em;margin:2px 0 28px}.hero-label{font-size:11px;letter-spacing:.3em}.hero-label span{margin:0 10px;color:var(--cream)}.hero-side{position:absolute;left:30px;top:40%;writing-mode:vertical-rl;font:13px var(--serif);letter-spacing:.3em}.scroll-cue{position:absolute;bottom:35px;left:50%;display:grid;justify-items:center;gap:15px;transform:translateX(-50%)}.scroll-cue span{font-size:10px;letter-spacing:.3em}.scroll-cue i{height:48px;width:1px;background:linear-gradient(white,transparent)}section:not(.hero){padding:120px max(6%,calc((100% - 1280px)/2));position:relative}.section-heading{margin-bottom:65px}.eyebrow{font-size:12px;letter-spacing:.25em;line-height:1.7;margin:0 0 22px;font-weight:600}.section-heading h2{font:500 clamp(30px,3vw,45px)/1.8 var(--serif);letter-spacing:.1em;margin:0}.centered{text-align:center}.night-section{background:var(--night);color:#f4f6fc}.story{background-image:radial-gradient(ellipse at 90% 25%,#24477840,transparent 50%)}.story-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:8%;align-items:start}.story-scene{padding-top:35px}.story-scene img{aspect-ratio:1.5;object-fit:cover}.story-scene figcaption,.story-detail figcaption{font-size:12px;letter-spacing:.2em;margin-top:18px;color:#b5c8e3}.story-text{padding-top:0}.story-text>p:first-of-type{font:19px/2.5 var(--serif);white-space:pre-line;letter-spacing:.05em}.tiny-star{display:block;color:#ffe8a4;font-size:24px;margin-bottom:30px}.placeholder-note{font-size:14px;line-height:2;color:#73819a;letter-spacing:.04em}.story .placeholder-note{color:#a7b7cd}.story-detail{width:86%;margin:55px 0 0 auto}.story-detail img{aspect-ratio:1.5;object-fit:cover}.daylight{background:#fcfaf6 url('assets/daylight.png') center top / 100% auto no-repeat}.play:before{content:"";height:85px;position:absolute;top:-1px;left:0;right:0;background:linear-gradient(var(--night),transparent);pointer-events:none}.section-subtitle{font-size:12px;letter-spacing:.3em;margin:28px 0 0}.section-subtitle span{padding:0 16px;color:#b8a5bd}.play-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.play-card{background:#fff;border:1px solid #dde5ee;box-shadow:0 15px 45px #34497708;overflow:hidden}.play-art,.sns-art{height:290px;position:relative;overflow:hidden}.play-art>img{height:100%;object-fit:cover}.art-label{position:absolute;left:24px;top:22px;font-size:12px;letter-spacing:.24em;background:#ffffffdb;padding:9px 17px}.sns-art{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,#edf3ff,#ddeafb 60%,#f6e8f1);}.sns-art>img{height:225px;width:225px;object-fit:contain;filter:drop-shadow(0 15px 18px #6a89bc30)}.sns-orbit{position:absolute;right:25px;bottom:20px;font:18px var(--serif);letter-spacing:.2em;color:#718eae}.play-body{padding:38px 42px 44px}.play-body .eyebrow{font-size:10px;color:#6d80a0;min-height:18px}.play-body h3{font:500 clamp(25px,2.3vw,35px)/1.7 var(--serif);letter-spacing:.04em;min-height:118px;margin:0 0 18px}.play-description{font-size:16px;line-height:2;min-height:64px;margin:0 0 30px}.pill-button{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:16px 28px;background:var(--navy);color:white;border-radius:40px;font-size:14px;letter-spacing:.05em;transition:background .25s,transform .25s;cursor:pointer}.pill-button:hover{background:#42698e;transform:translateY(-2px)}.sns-card .pill-button{background:#956b8c}.sns-card .pill-button:hover{background:#aa809f}.characters{background:linear-gradient(145deg,#eaf5ff 0%,#f9fbff 55%,#fff0f6 100%);overflow:hidden}.character-tabs{display:flex;gap:12px;flex-wrap:wrap;position:relative;z-index:2}.character-tabs button{border:1px solid #b7c7da;background:transparent;padding:13px 26px;border-radius:30px;font-size:14px;transition:background .2s}.character-tabs button[aria-selected="true"]{background:var(--navy);border-color:var(--navy);color:white}.character-stage{display:grid;grid-template-columns:1.15fr .85fr;gap:7%;align-items:center;min-height:570px;margin-top:45px}.character-art{position:relative;height:530px;display:flex;align-items:center;justify-content:center}.character-halo{position:absolute;width:400px;height:400px;max-width:90%;border-radius:50%;background:#d3e8fa;box-shadow:0 0 100px #fff9}.character-crop{height:490px;width:195px;overflow:hidden;position:relative;z-index:1;box-shadow:0 18px 45px #b9c8dc20}.character-crop img{width:auto;max-width:none;height:550px;position:absolute;top:-15px;left:-29%}.character-backname{position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);font-size:clamp(60px,7vw,100px);font-weight:500;letter-spacing:.06em;color:#c6dbe980;white-space:nowrap}.character-info h3{font:500 48px/1.6 var(--serif);letter-spacing:.12em;margin:0}.character-rule{display:block;width:50px;height:1px;background:#8ea5bd;margin:28px 0}.character-info .placeholder-note{min-height:70px;white-space:pre-line}.text-button{display:inline-block;border:0;border-bottom:1px solid #94a8bd;padding:10px 0;background:transparent;font-size:14px;letter-spacing:.1em}.character-art.alien .character-crop{height:170px;width:310px;box-shadow:none}.character-art.alien .character-crop img{height:650px;top:-98px}.character-art.alien .character-halo{background:#f8edee}.novel{background:#fffdf8}.novel-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:12%;align-items:center;max-width:940px;margin:auto}.book-cover{aspect-ratio:2/3;background:linear-gradient(#16366590,#081b3cd0),url('assets/pepupepu-key-visual-revised.png') 30% center / auto 100%;color:white;padding:35px 18px;display:flex;flex-direction:column;justify-content:space-between;text-align:center;box-shadow:10px 14px 25px #17294720,inset 6px 0 8px #ffffff25;position:relative}.book-top{font-size:11px;letter-spacing:.3em;color:#e6d79d}.book-cover p{font:28px/2 var(--serif);letter-spacing:.08em}.book-cover p span{display:block;font-size:12px;letter-spacing:.03em}.book-bottom{font-size:12px;letter-spacing:.15em;color:#d7dfeb}.book-cover.has-cover{padding:0;background:none}.book-cover.has-cover img{height:100%;object-fit:contain}.novel-info h3{font:500 32px/1.8 var(--serif);letter-spacing:.08em;margin:0 0 20px}.novel-info dl{margin:30px 0}.novel-info dl>div{display:grid;grid-template-columns:90px 1fr;padding:14px 0;border-bottom:1px solid #dce2e9;font-size:14px;line-height:1.8}.novel-info dt{color:#6d7d91}.novel-info dd{margin:0}.world{background:#edf4fc}.world-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.world-shot{border:0;padding:0;background:#152744;position:relative;overflow:hidden;text-align:left}.world-shot.wide{grid-column:span 2}.world-shot img{width:100%;height:290px;object-fit:cover;transition:transform .6s}.world-shot:hover img{transform:scale(1.035)}.world-shot span{position:absolute;bottom:0;left:0;right:0;padding:40px 22px 20px;color:white;background:linear-gradient(transparent,#081731bb);font-size:14px;letter-spacing:.12em}footer{padding:75px 24px 60px;text-align:center;background:var(--night);color:#e7eefb}.footer-title{font:30px/1.7 var(--serif);letter-spacing:.15em}.footer-title span{display:block;font-size:13px;letter-spacing:.1em}footer>p{font-size:11px;letter-spacing:.24em;margin:25px 0;color:#9caec7}footer .text-button{font-size:12px}dialog{border:0;padding:55px 24px 20px;max-width:min(1200px,94vw);width:max-content;max-height:94svh;background:#fff;color:var(--navy)}dialog::backdrop{background:#06142be8;backdrop-filter:blur(7px)}dialog img{max-height:76svh;width:auto;max-width:100%;object-fit:contain;margin:auto}dialog p{font-size:14px;text-align:center;letter-spacing:.1em;line-height:1.7}.dialog-close{position:absolute;right:15px;top:8px;width:42px;height:42px;background:none;border:0;font-size:30px}.reveal{opacity:1;transform:none}.motion .reveal{opacity:0;transform:translateY(24px);transition:opacity .75s,transform .75s}.motion .reveal.visible{opacity:1;transform:none}
@media(min-width:1600px){.hero-content{right:9%;width:43%}}@media(max-width:1000px){.site-header nav{gap:18px}.hero{min-height:680px}.hero-content{right:4%;width:54%;top:38%}.hero-copy{font-size:20px}.hero h1{font-size:48px}.hero-subtitle{font-size:15px}section:not(.hero){padding:90px 6%}.play-grid{gap:24px}.play-body{padding:28px}.play-art,.sns-art{height:240px}.play-body h3{font-size:28px;min-height:100px}.character-stage{gap:3%;grid-template-columns:1fr 1fr}.character-info h3{font-size:40px}.world-shot img{height:230px}}
@media(max-width:700px){html{scroll-padding-top:85px}.site-header{padding:18px 22px}.brand{font-size:20px}.brand span{font-size:9px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;width:44px;height:44px;padding:10px;border:0;background:transparent}.menu-toggle span{height:1px;width:24px;background:currentColor;transition:transform .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:28px;background:#fbfcfdf7;color:var(--navy);flex-direction:column;gap:18px}.site-header nav.open{display:flex}.site-header nav a{font-size:14px;width:max-content}.hero{min-height:750px;height:100svh;max-height:1000px}.hero-image{object-position:29% center}.hero-shade{background:linear-gradient(#07183235,transparent 35%,#081731aa 70%,#081731f0)}.hero-content{top:auto;bottom:120px;left:5%;right:5%;width:90%;}.hero-copy{font-size:18px;line-height:2;margin-bottom:18px;letter-spacing:.07em}.hero h1{font-size:clamp(32px,9vw,54px);letter-spacing:.06em}.hero-subtitle{font-size:13px;letter-spacing:.03em;margin:5px 0 18px}.hero-label{font-size:10px}.hero-side{display:none}.scroll-cue{bottom:22px;gap:10px}.scroll-cue i{height:32px}section:not(.hero){padding:75px 7%}.section-heading{margin-bottom:35px}.section-heading h2{font-size:29px;line-height:1.8}.eyebrow{font-size:11px;margin-bottom:15px}.story-layout{grid-template-columns:1fr;gap:30px}.story-scene{padding-top:0}.story-text>p:first-of-type{font-size:17px}.tiny-star{margin-bottom:15px}.story-detail{margin-top:28px;width:82%}.daylight{background-size:auto 410px}.play-grid{grid-template-columns:1fr;gap:30px}.play-art,.sns-art{height:230px}.play-body{padding:28px}.play-body h3{font-size:28px;min-height:0;margin-bottom:20px}.play-description{min-height:0}.pill-button{width:100%;padding:16px 18px;font-size:14px}.sns-art>img{height:190px;width:190px}.character-tabs{gap:8px}.character-tabs button{font-size:13px;padding:11px 17px}.character-stage{display:flex;flex-direction:column;gap:30px;margin-top:24px;min-height:0}.character-art{width:100%;height:460px}.character-crop{height:420px;width:165px}.character-crop img{height:475px;top:-12px}.character-halo{height:300px;width:300px}.character-info{width:100%;padding:0 6%}.character-info h3{font-size:36px}.character-info .placeholder-note{min-height:0;margin-bottom:22px}.character-backname{bottom:-5px;font-size:62px}.character-art.alien{height:330px}.character-art.alien .character-crop{width:270px;height:150px}.character-art.alien .character-crop img{height:570px;top:-86px}.novel-layout{grid-template-columns:1fr;gap:45px}.book-cover{width:70%;max-width:290px;margin:auto}.novel-info h3{font-size:28px}.world-grid{grid-template-columns:1fr 1fr;gap:12px}.world-shot.wide{grid-column:span 2}.world-shot img{height:180px}.world-shot.wide img{height:230px}.world-shot span{font-size:12px;padding:30px 12px 12px}.footer-title{font-size:26px}dialog{padding:50px 12px 15px}dialog img{max-height:70svh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.motion .reveal{opacity:1;transform:none}}

/* Display crops from copied design sheets; source images stay intact. */
.character-art:not(.alien) .character-crop img{height:1300px;top:-52px;left:0}.character-art.alien .character-crop img{left:0}
@media(max-width:700px){.character-art:not(.alien) .character-crop img{height:1110px;top:-45px}}

.character-art:not(.alien) .character-crop img{top:-80px}.character-art.alien .character-crop{width:220px;height:120px}.character-art.alien .character-crop img{top:-104px}
@media(max-width:700px){.hero-image{object-position:18% center}.character-art:not(.alien) .character-crop img{top:-68px}.character-art.alien .character-crop{width:190px;height:105px}.character-art.alien .character-crop img{top:-91px}}

/* Official publication copy */
.play-description,.published-copy,#novel-details{white-space:pre-line}.published-copy{font-size:16px;line-height:2.15;letter-spacing:.035em;color:var(--navy)}.character-info .published-copy{max-width:34em}.story-text>p:first-of-type{font-size:17px;line-height:2.3}.world-shot strong{display:block;font-size:14px;font-weight:500;margin-bottom:6px}.world-shot small{display:block;font-size:13px;line-height:1.7;letter-spacing:.03em}.world-shot img{height:320px}.novel-layout{align-items:start}.novel-info #novel-synopsis{margin:24px 0}.play-body .play-description{min-height:105px}
@media(max-width:700px){.world-grid{grid-template-columns:1fr}.world-shot.wide{grid-column:auto}.world-shot img,.world-shot.wide img{height:240px}.story-text>p:first-of-type{font-size:16px}.play-body .play-description{min-height:0}.published-copy{font-size:16px}.section-heading h2{overflow-wrap:anywhere}}

/* Dedicated front images: show the complete supplied artwork. */
.character-art.front .character-crop{width:100%;height:100%;overflow:visible;box-shadow:none}.character-art.front .character-crop img,.character-art.front:not(.alien) .character-crop img,.character-art.front.alien .character-crop img{position:relative;top:0;left:0;width:100%;height:100%;max-width:100%;object-fit:contain;transform:none}.character-art.front.alien .character-crop{width:85%;height:65%}.character-art.front .character-halo{z-index:0}
@media(max-width:700px){.character-art.front{height:460px}.character-art.front.alien{height:330px}.character-art.front.alien .character-crop{width:95%;height:70%}}

/* STORY: equal scenes above the copy; mobile follows encounter, copy, development. */
section.story{padding-top:75px;padding-bottom:80px}.story .section-heading{margin-bottom:35px}.story-layout{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"encounter development" "copy copy";gap:30px 32px;align-items:start}.story-scene{grid-area:encounter;padding:0}.story-detail{grid-area:development;width:100%;margin:0}.story-text{grid-area:copy;padding:0;max-width:960px;margin:8px auto 0;width:100%}.story-scene img,.story-detail img{width:100%;aspect-ratio:3/2;object-fit:cover}.story-text>p:first-of-type{font-size:20px;line-height:2.15;letter-spacing:.04em;margin:0;white-space:pre-line}.story-scene figcaption,.story-detail figcaption{margin-top:12px}
@media(max-width:700px){section.story{padding-top:52px;padding-bottom:58px}.story .section-heading{margin-bottom:26px}.story .section-heading h2{font-size:28px}.story-layout{grid-template-columns:1fr;grid-template-areas:"encounter" "copy" "development";gap:27px}.story-text{margin:0}.story-text>p:first-of-type{font-size:18px;line-height:2}.story-detail{width:100%;margin:0}}
.play-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.play-grid .play-body{padding:30px 24px 34px;display:flex;flex-direction:column;height:calc(100% - 290px)}.play-grid .play-body h3{font-size:clamp(23px,2.1vw,30px);min-height:102px}.play-grid .pill-button{margin-top:auto;width:100%;text-align:center;justify-content:center;font-size:13px;padding-inline:12px;white-space:normal}.fortune-art{background:#2877bf}.fortune-art>img:first-child{width:100%;object-fit:cover}.fortune-art .fortune-logo{position:absolute;left:8%;top:50%;transform:translateY(-50%);width:84%;height:auto;object-fit:contain}@media(max-width:1000px){.play-grid .play-body{height:calc(100% - 240px)}}@media(max-width:900px){.play-grid{grid-template-columns:1fr;max-width:560px;margin-inline:auto}.play-grid .play-body{height:auto}.play-grid .play-body h3{min-height:0}.play-grid .play-description{min-height:0}.play-grid .pill-button{margin-top:18px}}
.site-header .brand{font-size:clamp(14px,1.8vw,22px);letter-spacing:.06em;line-height:1.5}.site-header .menu-toggle{flex-shrink:0}@media(max-width:700px){.site-header .brand{font-size:14px;max-width:calc(100% - 54px)}}
.hero h1{font-size:clamp(28px,3.5vw,56px);line-height:1.65;letter-spacing:.08em;white-space:normal}.hero h1>span{display:block}.hero-subtitle{font-size:clamp(15px,1.5vw,22px);margin:12px 0 28px;letter-spacing:.12em}@media(max-width:700px){.hero h1{font-size:clamp(27px,8vw,40px);line-height:1.65;letter-spacing:.06em}.hero-subtitle{font-size:16px;margin:12px 0 20px}}
