:root{--serif:"Shippori Mincho","Hiragino Mincho ProN",serif;--sans:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;--portal-bg:#10141e;--portal-surface:#1a2230;--portal-ink:#f2f0ea;--portal-muted:#b6beca;--portal-gold:#d9bd86;--forest:#b8ceaf;--blue:#a2cdeb;--radius:4px}
html{scroll-padding-top:112px}body{font-size:16px;line-height:1.85;line-break:strict;overflow-wrap:break-word}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--portal-gold);outline-offset:5px}h1,h2,h3{font-family:var(--serif);font-weight:500}p{max-width:40em}button:active,.world-cta:active,.world-door:active{transform:translateY(1px)}
.universe-header{position:sticky;top:0;z-index:50;height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 4.5%;background:var(--portal-bg);color:var(--portal-ink);border-bottom:1px solid #f2f0ea24}.universe-brand{display:flex;align-items:center;gap:16px;font:500 24px/1.4 var(--serif);letter-spacing:.14em;white-space:nowrap;min-height:48px}.universe-brand small{display:block;font:500 9px/1.6 var(--sans);letter-spacing:.22em;color:var(--portal-muted);margin-top:4px}.crescent{width:26px;height:29px;display:inline-block;border-radius:50%;box-shadow:-6px 4px 0 0 var(--portal-gold);transform:rotate(-20deg);margin:0 6px 8px 4px}.universe-nav{display:flex;gap:32px;font-size:13px;align-items:center}.universe-nav a{min-height:48px;display:flex;align-items:center;border-bottom:1px solid transparent}.universe-nav a:hover,.universe-nav a[aria-current]{color:var(--portal-gold);border-bottom-color:var(--portal-gold)}.universe-header .menu-toggle{border:1px solid #f2f0ea50;background:none;color:var(--portal-ink);width:48px;height:48px;padding:12px}.universe-header .menu-toggle span{height:1px;background:currentColor;display:block;width:100%;margin:6px 0}.universe-header .mobile-nav{position:absolute;top:100%;left:0;right:0;max-height:calc(100svh - 80px);overflow-y:auto;background:var(--portal-bg);border-bottom:1px solid #f2f0ea30;padding:16px 6%;color:var(--portal-ink)}.universe-header .mobile-nav a{display:block;padding:12px 8px;min-height:48px;font-size:16px}.universe-header .mobile-nav:not([hidden]){display:block}
.portal-home{background:var(--portal-bg);color:var(--portal-ink)}.portal-home main{overflow:clip}.portal-opening,.quick-reads,.world-chapter,.creator-note,.lab-note{width:min(1400px,91%);margin-inline:auto}.portal-opening{padding-top:32px}.opening-copy{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}.kicker{font:500 12px/1.8 var(--sans);letter-spacing:.13em;color:var(--portal-gold);margin-bottom:12px}.opening-copy h1{font-size:clamp(32px,4.5vw,56px);line-height:1.4;letter-spacing:.06em}.opening-note{font:400 14px/1.9 var(--serif);letter-spacing:.06em;color:var(--portal-muted);padding-bottom:6px}.world-doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.world-door{height:clamp(390px,37vw,580px);position:relative;overflow:hidden;background:var(--portal-surface);display:block;isolation:isolate}.world-door:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#10141e 0%,#10141ef5 8%,#10141e88 36%,transparent 65%)}.world-door>img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;z-index:-2;transition:transform 400ms ease-out}.door-wataten>img{object-position:44% 45%}.door-alice>img{object-position:44% 35%}.door-nemuku>img{object-position:67% 45%}.world-door:hover>img{transform:scale(1.035)}.door-copy{position:absolute;inset:auto 24px 24px}.door-index{font-size:11px;letter-spacing:.1em;color:var(--portal-ink)}.door-copy h2{font-size:clamp(27px,2.8vw,40px);line-height:1.5;letter-spacing:.07em;margin:8px 0}.door-copy p{font-size:13px;color:var(--portal-ink);line-height:1.85;margin:0 0 16px}.door-enter{display:flex;justify-content:space-between;align-items:center;max-width:200px;min-height:44px;border:1px solid var(--portal-gold);padding:7px 16px;font-size:13px;color:var(--portal-gold);background:#10141e99}.door-wataten .door-enter{color:var(--forest);border-color:var(--forest)}.door-alice .door-enter{color:var(--blue);border-color:var(--blue)}.opening-foot{display:flex;justify-content:space-between;gap:16px;padding:16px 0 24px;font-size:12px;letter-spacing:.04em;color:var(--portal-muted);border-bottom:1px solid #f2f0ea30}.opening-foot a{color:var(--portal-gold);min-height:32px;display:flex;align-items:center}.opening-foot span{align-self:center}
.quick-reads{display:grid;grid-template-columns:180px 1fr;gap:32px;padding:32px 0 40px}.quick-label .kicker{margin-bottom:4px}.quick-label h2{font-size:24px;letter-spacing:.04em}.quick-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.quick-links a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding-bottom:16px;border-bottom:1px solid #f2f0ea30;font-size:16px}.quick-links small{display:block;font-size:11px;line-height:1.8;color:var(--portal-muted);margin-top:6px}.quick-links a>span:last-child{color:var(--portal-gold);font-size:20px}.quick-links a:hover{border-bottom-color:var(--portal-gold)}
.world-chapter{--world:var(--portal-gold);padding-top:56px;padding-bottom:32px;scroll-margin-top:32px}.chapter-wataten{--world:var(--forest)}.chapter-alice{--world:var(--blue)}.chapter-heading{display:flex;align-items:center;gap:20px;margin-bottom:32px}.chapter-number{font:500 40px/1.2 var(--serif);color:var(--world)}.chapter-heading>p{font:500 24px/1.6 var(--serif);letter-spacing:.07em;white-space:nowrap}.chapter-line{height:1px;flex:1;background:#f2f0ea30}.chapter-genre{font-size:12px;color:var(--portal-muted);letter-spacing:.1em}.chapter-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:64px;align-items:center}.chapter-image{display:block;position:relative;border:0;background:var(--portal-surface);padding:0;width:100%;aspect-ratio:16/10;overflow:hidden}.chapter-image img{width:100%;height:100%;object-fit:cover;transition:transform 400ms ease-out}.chapter-image:hover img{transform:scale(1.02)}.image-expand{position:absolute;right:12px;bottom:12px;padding:8px 12px;background:#10141ef2;color:var(--portal-ink);font-size:12px;min-height:40px;display:flex;align-items:center}.scene-caption{font-size:12px;color:var(--portal-muted);margin-top:12px}.chapter-copy .kicker{color:var(--world);letter-spacing:.05em;font-size:13px}.chapter-copy h2{font-size:clamp(25px,2.5vw,36px);line-height:1.6;letter-spacing:.04em}.chapter-description{font-size:16px;line-height:1.85;color:var(--portal-muted);margin:24px 0}.world-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--portal-surface);color:var(--portal-ink);border:1px solid var(--world);padding:16px 24px;min-height:80px;max-width:420px;font-size:16px;transition:transform 240ms ease-out}.world-cta small{display:block;font-size:12px;font-weight:400;margin-top:4px;color:var(--portal-muted)}.world-cta>span:last-child{color:var(--world);font-size:24px}.world-cta:hover{transform:translateX(4px)}.chapter-links{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px 24px;font-size:13px}.chapter-links a{display:flex;align-items:center;min-height:44px;color:var(--world)}.chapter-links a:hover{text-decoration:underline;text-underline-offset:6px}.chapter-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:24px}.chapter-gallery button{padding:0;background:none;border:0;position:relative;text-align:left}.chapter-gallery img{aspect-ratio:16/8;height:auto;object-fit:cover}.chapter-gallery button>span{font-size:12px;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:8px 0;min-height:44px;color:var(--portal-muted)}.chapter-gallery b{color:var(--world);font-weight:400;font-size:20px}.chapter-gallery button:hover>span{color:var(--portal-ink)}.world-extra{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 32px;background:var(--portal-surface);margin-top:24px}.world-extra small{display:block;color:var(--blue);font-size:12px;margin-bottom:4px}.world-extra>span:last-child{color:var(--blue);font-size:14px}.night-teasers{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}.night-teasers>a{display:flex;gap:24px;align-items:center;background:var(--portal-surface);padding:24px}.night-teasers img{width:96px;height:128px;object-fit:contain;background:var(--portal-bg)}.night-teasers small{display:block;color:var(--portal-muted);font-size:12px;margin-bottom:8px}.night-teasers b{display:block;font-weight:400;font-size:14px;color:var(--portal-gold);margin-top:16px}.creator-note{padding:96px 0 64px;text-align:center;border-top:1px solid #f2f0ea30;margin-top:64px}.creator-note h2{font-size:32px;letter-spacing:.08em}.creator-note>p:not(.kicker){font-size:16px;color:var(--portal-muted);line-height:2;max-width:40em;margin:24px auto}.creator-note>a{min-height:44px;display:inline-flex;align-items:center;color:var(--portal-gold);font-size:14px}.lab-note{border-top:1px solid #f2f0ea30;padding:40px 0 64px;display:flex;justify-content:space-between;gap:40px;align-items:center}.lab-note h2{font-size:24px;letter-spacing:.04em}.lab-note p:not(.kicker){font-size:14px;color:var(--portal-muted);margin-top:16px}.lab-note>a{font-size:14px;flex-shrink:0;color:var(--portal-gold);min-height:48px;padding:12px 0}.lab-note small{display:block;color:var(--portal-muted);font-size:11px;margin-top:4px}
.universe-footer{padding:48px 4.5% 24px;background:#10141e;color:var(--portal-ink);border-top:1px solid #f2f0ea30;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px}.universe-footer nav{display:flex;gap:24px;flex-wrap:wrap;font-size:13px}.universe-footer nav a{min-height:44px;display:flex;align-items:center}.footer-colophon{width:100%;display:flex;justify-content:space-between;gap:24px;border-top:1px solid #f2f0ea24;padding-top:24px;font-size:11px;color:var(--portal-muted);letter-spacing:.08em}.footer-colophon a{min-height:44px;display:flex;align-items:center}.footer-colophon>span{align-self:center}.lightbox{border-radius:4px}.lightbox-top button{min-height:48px}.lightbox-bottom button{width:48px;height:48px}.lightbox img{background:#10141e}.btn{font-size:14px;min-height:48px}.story-hero .hero-summary,.story-intro-copy>p:not(.eyebrow),.cast-copy p,.cast-panel-copy p,.game-copy p:not(.eyebrow),.quiet-moment-copy>p:not(.eyebrow){font-size:16px;line-height:1.85}.eyebrow{font-size:12px}.chapter-nav{font-size:13px;gap:32px}.chapter-nav a{min-height:32px;display:flex;align-items:center}.theme-wataten{--muted:#56634f}.image-caption{font-size:12px}.cast-tabs button{min-height:48px}.manga-reader .manga-header{gap:16px;min-height:72px;font-size:14px}.manga-reader .manga-title{padding-top:48px}.manga-reader .manga-title h1{font-size:clamp(26px,3vw,40px)}.manga-reader .manga-title p,.manga-reader .reader-help{font-size:14px}.manga-reader .width-toggle{min-height:48px;font-size:14px}.manga-reader .reader-status{font-size:13px;min-height:48px}.page-jumps nav a{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}.page-jumps summary{min-height:44px;padding:8px;cursor:pointer}.resume-reading{display:block;padding:12px;font-size:14px;color:var(--portal-gold)}.manga-reader .manga-page{scroll-margin-top:80px}.reader-status a{min-height:44px;display:flex;align-items:center}.reader-home{min-height:48px;display:inline-flex;align-items:center}.manga-end .end-actions{flex-wrap:wrap}.media-error{padding:24px;color:var(--portal-ink);background:var(--portal-surface);font-size:14px}.media-error a{color:var(--portal-gold);display:inline-flex;min-height:44px;align-items:center;text-decoration:underline}
@media(min-width:1600px){.portal-opening{padding-top:40px}.opening-copy{margin-bottom:32px}}
@media(max-width:1050px){.universe-nav{gap:20px;font-size:12px}.chapter-layout{gap:32px}.chapter-copy h2{font-size:28px}.quick-reads{grid-template-columns:140px 1fr;gap:24px}.quick-links{gap:16px}.door-copy{left:20px;right:20px}.door-copy p{font-size:12px}.door-copy h2{font-size:28px}.world-door{height:410px}.chapter-description{font-size:15px}.universe-brand{font-size:22px}}
@media(max-width:800px){html{scroll-padding-top:88px}.universe-header{height:72px;padding:0 5%}.universe-header .universe-nav{display:none}.universe-header .menu-toggle{display:block;position:static}.universe-brand{font-size:22px}.opening-copy{margin-bottom:24px}.opening-note{display:none}.portal-opening{padding-top:24px}.opening-copy .kicker{font-size:11px;margin-bottom:8px}.opening-copy h1{font-size:34px}.world-door{height:360px}.door-copy{left:16px;right:16px;bottom:16px}.door-copy h2{font-size:24px;letter-spacing:.02em}.door-index{font-size:10px}.door-copy p{display:none}.door-enter{margin-top:16px;padding-inline:12px}.chapter-layout{grid-template-columns:1fr;gap:24px}.chapter-copy{max-width:620px}.chapter-copy h2{font-size:32px}.chapter-copy h2 br{display:none}.chapter-copy h2{max-width:17em}.chapter-description{font-size:16px}.chapter-image{aspect-ratio:16/9}.chapter-copy .world-cta{max-width:none}.chapter-gallery{gap:16px}.quick-reads{grid-template-columns:1fr;gap:16px;padding-bottom:24px}.quick-label{display:flex;align-items:baseline;gap:16px}.quick-label h2{font-size:22px}.chapter-genre{font-size:11px}.chapter-heading>p{font-size:22px}.night-teasers>a{padding:16px;gap:16px}.night-teasers img{width:72px;height:96px}.night-teasers>a>span{font-size:14px}.lab-note{display:block}.lab-note>a{display:inline-block;margin-top:24px}.creator-note h2{font-size:28px}.universe-footer{padding-inline:5%}.universe-footer nav{gap:8px 24px}.chapter-nav{gap:20px;overflow-x:auto;justify-content:flex-start;white-space:nowrap}.chapter-nav a{flex-shrink:0}.world-chapter{scroll-margin-top:16px}.footer-colophon{letter-spacing:0}.lightbox{padding:12px}.lightbox-caption{font-size:12px}}
@media(max-width:600px){.portal-opening,.quick-reads,.world-chapter,.creator-note,.lab-note{width:90%}.world-doors{grid-template-columns:1fr;gap:12px}.world-door{height:164px;display:flex;align-items:center}.world-door:after{background:linear-gradient(90deg,#10141ef2 0%,#10141eda 35%,#10141e30 75%,transparent)}.world-door>img{object-position:50% 32%;width:100%;height:100%}.door-wataten>img{object-position:60% 34%}.door-alice>img{object-position:50% 32%}.door-nemuku>img{object-position:75% 42%}.door-copy{position:static;padding:16px 20px;width:100%}.door-copy h2{font-size:26px;margin:4px 0}.door-index{font-size:10px}.door-enter{border:0;padding:0;min-height:32px;margin:2px 0 0;background:transparent;justify-content:flex-start;gap:24px;font-size:12px}.opening-copy h1{font-size:32px}.opening-foot{font-size:11px;padding-bottom:12px;gap:8px}.opening-foot>span{max-width:18em}.opening-foot a{white-space:nowrap}.quick-links{grid-template-columns:1fr;gap:0}.quick-links a{padding:16px 0;min-height:72px}.quick-links small{font-size:12px}.quick-reads{padding-top:24px}.quick-label{gap:16px}.quick-label .kicker{margin:0}.world-chapter{padding-top:40px;padding-bottom:16px}.chapter-heading{gap:12px;margin-bottom:24px}.chapter-number{font-size:32px}.chapter-heading>p{font-size:22px}.chapter-genre{display:none}.chapter-copy h2{font-size:28px;line-height:1.6}.chapter-copy .kicker{font-size:12px}.chapter-copy h2 br{display:block}.chapter-description{margin:20px 0}.chapter-gallery{gap:12px;margin-top:24px}.chapter-gallery img{aspect-ratio:4/3}.chapter-gallery button>span{font-size:11px;align-items:flex-start;line-height:1.6}.chapter-gallery b{display:none}.chapter-gallery button>span{min-height:48px}.world-extra{padding:20px;gap:16px;align-items:flex-start;flex-direction:column}.world-extra>span:last-child{align-self:flex-end;min-height:32px}.night-teasers{grid-template-columns:1fr;gap:16px;margin-top:24px}.night-teasers>a{padding:20px;gap:24px}.night-teasers img{width:80px;height:106px}.night-teasers>a>span{font-size:16px}.creator-note{padding-top:64px;margin-top:48px}.creator-note h2{font-size:24px}.creator-note>p:not(.kicker){font-size:14px}.creator-note br{display:none}.lab-note h2{font-size:22px}.lab-note p:not(.kicker){font-size:14px}.universe-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;font-size:12px}.universe-footer nav a:last-child{grid-column:1/-1}.footer-colophon{font-size:10px}.manga-reader .manga-header{font-size:12px;gap:12px;padding-inline:5%;flex-wrap:wrap}.manga-reader .reader-brand{font-size:16px}.manga-reader .manga-title{padding-inline:5%}.manga-reader .manga-title h1{font-size:26px}.manga-end .end-actions{display:flex;flex-direction:column;align-items:stretch}.manga-end .btn{font-size:13px}.story-hero-copy{max-width:85%}.hero-actions{gap:12px}.story-hero .hero-summary{font-size:14px}.story-intro-copy>p:not(.eyebrow){font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important}.world-door:hover>img,.chapter-image:hover img,.world-cta:hover{transform:none}}

/* Polish: direct manga actions in every first-screen world door. */
.door-actions{display:flex;gap:12px}.door-actions .door-enter{flex:1;gap:8px;padding-inline:12px;max-width:none;font-size:12px;white-space:nowrap}.door-actions .door-read{border-color:transparent;background:#10141ee6}.door-actions a:hover{color:var(--portal-ink);text-decoration:underline;text-underline-offset:4px}.door-copy h2 a{display:inline-block}.door-copy h2 a:focus-visible{outline-offset:0}.door-copy h2 a:hover{color:var(--portal-gold)}
@media(max-width:1050px) and (min-width:601px){.door-actions{gap:8px}.door-actions .door-enter{font-size:11px;padding-inline:8px}}
@media(max-width:600px){.door-actions{gap:24px;max-width:290px}.door-actions .door-enter{flex:0 1 auto;font-size:12px;min-height:36px;padding:0;background:none}.door-actions .door-read{color:var(--portal-ink)}.door-copy{padding-top:12px;padding-bottom:12px}}

/* Final interaction and image-fit refinement after mobile inspection. */
.door-actions .door-enter{min-height:44px}.door-copy h2 a{min-height:44px}.door-index{font-size:12px}.opening-foot a{min-height:44px}.chapter-nav a{min-height:44px}.lightbox>img{height:auto;max-height:72svh;object-fit:contain}.manga-header a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:600px){.door-index{font-size:12px}.door-actions .door-enter{min-height:44px}.door-copy h2 a{min-height:40px}.door-copy{padding:12px 20px}}

@media(max-width:600px){.opening-copy h1{font-size:clamp(26px,8vw,32px)}.wataten-hero h1{font-size:clamp(24px,7vw,32px);line-height:1.6;letter-spacing:.04em}.wataten-hero{min-height:760px}.door-copy h2 a{min-height:44px}}

.story-hero .btn.primary{background:#1a2230;color:#f2f0ea;border-color:var(--portal-gold)}.story-hero .btn.outline{color:#f2f0ea;background:#10141e99;border-color:#f2f0ea66}
@media(max-width:600px){.wataten-hero{height:calc(100svh - 72px);min-height:760px}.story-hero .hero-actions{display:flex;flex-wrap:wrap;gap:12px}.story-hero .hero-actions .btn{font-size:13px;min-height:48px}}

/* Keep hero art in a normal stacking layer so async image paints cannot fall behind the surface. */
.world-door>img{z-index:0}.world-door:after{z-index:1;pointer-events:none}.door-copy{z-index:2}
.chapter-nav{top:88px}html:has(.chapter-nav){scroll-padding-top:184px}@media(max-width:800px){.chapter-nav{top:72px}html:has(.chapter-nav){scroll-padding-top:160px}}
