:root{--paper:#fff5f7;--ink:#352738;--wine:#9f3559;--rose:#df91a8;--blue:#273b57;--gold:#c6a479;--muted:#766572;--line:#ebd9e0;--white:#fff;--serif:'Hiragino Mincho ProN','Yu Mincho','YuMincho','Noto Serif JP',serif;--sans:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.75;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:5px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.5}button[disabled]{cursor:default}button,a{touch-action:manipulation}.wrap{width:min(1120px,calc(100% - 48px));margin:auto}.skip{position:fixed;left:12px;top:-90px;z-index:10;background:white;padding:14px}.skip:focus{top:12px}.masthead{background:#fffafc;border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:89px}.brand{display:flex;align-items:center;gap:11px;min-height:54px}.brand-symbol{width:35px;height:40px;color:var(--wine)}.brand-name{font-family:var(--serif);font-size:28px;letter-spacing:.08em;line-height:1.2}.brand-kind{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.18em;color:var(--muted);margin-top:6px}.header-link{display:flex;align-items:center;gap:9px;min-height:44px;font-size:13px;white-space:nowrap}.header-link:after{content:'↗';color:var(--wine);font-size:17px}.navline{background:#fffafc;border-bottom:1px solid var(--line)}.nav-inner{display:flex;gap:30px;min-height:49px;align-items:center;overflow-x:auto;scrollbar-width:none}.nav-inner::-webkit-scrollbar{display:none}.nav-inner a{font-size:12px;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:48px;position:relative}.nav-inner a[aria-current=page]{color:var(--wine)}.nav-inner a[aria-current=page]:after{content:'';position:absolute;bottom:0;height:2px;background:var(--wine);width:100%}.hero{margin-top:36px;display:grid;grid-template-columns:1fr 1fr;min-height:560px;background:#f4e4eb;border:1px solid #e8ced9;overflow:hidden;position:relative;border-radius:4px 4px 44px 4px}.hero-art{grid-column:2;grid-row:1;min-height:560px;position:relative;background:#ead5df}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center 25%;position:absolute;inset:0}.hero-copy{padding:48px 38px 44px;align-self:center;grid-column:1;grid-row:1}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--wine);display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';height:1px;width:25px;background:var(--rose)}.hero h1{font-size:37px;letter-spacing:.015em;margin:22px 0 18px;line-height:1.65;text-wrap:balance}.hero-desc{font-size:14px;line-height:1.95;max-width:28em;color:#5b4759}.hero .button{margin-top:26px}.button{min-height:50px;padding:12px 25px;display:inline-flex;justify-content:center;align-items:center;gap:22px;border:1px solid var(--wine);border-radius:3px;background:var(--wine);color:white;font-size:13px;font-weight:600}.button:after{content:'→';font-size:19px;line-height:1}.button:hover{background:#842546}.button.secondary{background:white;color:var(--wine)}.button.secondary:hover{background:#fff0f4}.hero-note{font-size:11px;color:var(--muted);margin-top:14px}.section{margin-top:64px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--line)}.section h2{font-size:26px;letter-spacing:.04em}.section-sub{font-size:11px;color:var(--muted);margin-top:6px;letter-spacing:.03em}.text-link{min-height:44px;display:inline-flex;align-items:center;color:var(--wine);font-size:12px;white-space:nowrap}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.feature-card{display:grid;grid-template-columns:104px 1fr;gap:16px;align-items:center}.feature-card img{width:104px;height:144px;object-fit:cover;object-position:center 25%;border-radius:2px}.tag{font-size:10px;color:var(--wine);letter-spacing:.06em}.feature-card h3{font-size:17px;margin-top:7px;line-height:1.65}.feature-card p{font-size:11px;color:var(--muted);margin-top:8px}.topics{display:flex;flex-wrap:wrap;gap:10px}.topic{border:1px solid #e5cbd6;min-height:44px;display:inline-flex;align-items:center;padding:9px 19px;background:#fffafc;color:#674255;font-size:12px;border-radius:30px}.topic[aria-current=page]{background:var(--wine);border-color:var(--wine);color:white}.story-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 25px;margin-top:28px}.story-card{min-width:0}.cover{overflow:hidden;background:#ecdce3;border-radius:3px;position:relative}.cover img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 25%;transition:transform .3s}.story-card a:hover img{transform:scale(1.025)}.card-body{padding-top:14px}.story-card h3{font-size:18px;line-height:1.75;margin-top:6px;overflow-wrap:anywhere}.story-card .description{font-size:12px;line-height:1.9;color:var(--muted);margin-top:10px}.read-label{display:flex;justify-content:space-between;font-size:10px;color:var(--wine);margin-top:13px;padding-top:10px;border-top:1px solid var(--line)}.result-note{font-size:12px;margin-top:20px;color:var(--muted)}.empty{padding:40px 0}.footer{margin-top:78px;border-top:1px solid var(--line);background:#fffafc;padding:35px 0 25px}.footer-inner{display:flex;justify-content:space-between;gap:24px;align-items:start}.footer-brand{font-family:var(--serif);font-size:23px;letter-spacing:.08em}.footer p{font-size:11px;color:var(--muted);max-width:35em;margin-top:12px;line-height:1.9}.footer a{display:inline-flex;min-height:44px;align-items:center;font-size:12px;color:var(--wine)}.copyright{border-top:1px solid var(--line);margin-top:25px;padding-top:18px;font-size:10px;color:var(--muted)}.listing-head{padding:45px 0 8px}.listing-head h1{font-size:35px;margin-top:12px}.listing-head p{font-size:13px;color:var(--muted);margin-top:12px}.breadcrumb{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:10px;min-height:44px;flex-wrap:wrap}.breadcrumb a{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center}.story-intro{display:grid;grid-template-columns:380px 1fr;gap:52px;align-items:center;margin-top:22px}.story-intro img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 25%;border-radius:3px}.story-intro h1{font-size:34px;line-height:1.75;margin:19px 0}.story-intro .description{font-size:14px;line-height:2;color:#695263}.story-meta{display:flex;gap:15px;flex-wrap:wrap;margin-top:22px;font-size:11px;color:var(--muted)}.reading{width:min(680px,calc(100% - 48px));margin:48px auto 0}.reading .chapter{margin-top:48px}.chapter-heading{display:flex;gap:13px;align-items:baseline;margin-bottom:26px}.chapter-number{font-family:var(--serif);font-size:14px;color:var(--wine);white-space:nowrap}.reading h2{font-size:24px;line-height:1.7}.prose p{font-size:17px;line-height:2.1;margin-bottom:1.45em;letter-spacing:.035em;overflow-wrap:anywhere}.prose p.dialogue{margin-bottom:1.15em}.finish-mark{display:flex;align-items:center;gap:20px;justify-content:center;margin:50px 0;color:var(--wine);font-family:var(--serif);font-size:14px}.finish-mark:before,.finish-mark:after{content:'';width:45px;height:1px;background:var(--rose)}.reading-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:30px}.ad-slot[hidden]{display:none!important}.ad-slot{display:none}.ad-slot[data-ad-preview]{display:grid;place-items:center;min-height:120px;background:#f0e5e9;color:var(--muted);font-size:11px;border:1px dashed var(--rose);margin:56px 0}.choice-flow .ad-slot[data-ad-preview]{margin:64px 0}.story-progress{display:flex;gap:9px;align-items:center;margin:0 0 28px;color:var(--wine);font-size:11px}.progress-dots{display:flex;gap:5px}.progress-dots span{width:27px;height:3px;background:#e6cbd5}.progress-dots span.active{background:var(--wine)}.choice-box{margin:44px 0 56px;padding:28px;background:#f7e7ee;border:1px solid #e5c9d5;border-radius:3px;scroll-margin-top:24px}.choice-label{color:var(--wine);font-size:11px;letter-spacing:.08em;margin-bottom:12px}.choice-box h2{font-size:22px;margin-bottom:22px}.option-list{display:grid;gap:12px}.option{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:16px 19px;text-align:left;background:white;border:1px solid #c78aa0;color:var(--wine);font-size:14px;border-radius:3px;line-height:1.75}.option:after{content:'→';font-size:20px}.option:hover{background:#fff7fa;border-color:var(--wine)}.response{border-left:2px solid var(--rose);padding:1px 0 1px 22px;margin:34px 0}.response-label{font-size:11px!important;color:var(--wine);margin-bottom:10px!important;line-height:1.7!important}.response p:last-child{margin-bottom:0}.choice-history{border-top:1px solid var(--line);margin-top:36px;padding-top:20px}.choice-history summary{min-height:44px;cursor:pointer;font-size:12px;color:var(--wine);display:list-item}.choice-history li{font-size:12px;color:var(--muted);line-height:1.9;margin-top:10px}.flow-controls{display:flex;justify-content:space-between;gap:15px;margin:26px 0 0}.quiet-button{border:1px solid #d4b4c1;background:transparent;min-height:44px;padding:10px 15px;color:var(--wine);font-size:12px;border-radius:3px}.quiet-button:disabled{opacity:.45}.ending-banner{border-top:1px solid #d9b7c5;padding-top:30px;margin-top:48px}.ending-banner .eyebrow{margin-bottom:14px}.consequence{background:#fffafd;border:1px solid var(--line);padding:22px;margin:24px 0}.consequence p{font-size:15px}.choice-status{min-height:24px;font-size:11px;color:var(--muted);margin-top:15px}.noscript{padding:24px;border:1px solid var(--rose);margin:25px 0;font-size:14px}.back-top{min-height:44px;display:inline-flex;align-items:center;gap:8px;color:var(--wine);font-size:12px}.about-copy{max-width:680px;padding:42px 0}.about-copy h1{font-size:30px;margin-bottom:24px}.about-copy h2{font-size:21px;margin:30px 0 17px}.about-copy p{font-size:15px;line-height:2.1;margin-bottom:20px}.about-copy .button{margin-top:15px}.not-found{text-align:center;padding:70px 0}.not-found h1{font-size:30px;margin-bottom:20px}.not-found p{font-size:14px;margin-bottom:28px}
@media(max-width:1000px){.feature-grid{gap:20px}.feature-card{grid-template-columns:88px 1fr;gap:12px}.feature-card img{width:88px;height:124px}.feature-card h3{font-size:15px}.story-intro{grid-template-columns:320px 1fr;gap:36px}.hero h1{font-size:32px}.hero-copy{padding:36px 28px}.story-grid{gap:28px 20px}.story-card h3{font-size:17px}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.header-inner{min-height:76px}.brand-name{font-size:25px}.brand-symbol{width:29px;height:35px}.brand-kind{font-size:9px}.header-link{font-size:11px;gap:5px}.nav-inner{gap:26px;min-height:47px}.nav-inner a{min-height:47px}.hero{margin-top:20px;display:flex;flex-direction:column;min-height:0;border-radius:3px 3px 28px 3px}.hero-art{min-height:0;aspect-ratio:1.13;order:0}.hero-art img{object-position:center 29%}.hero-copy{padding:25px 24px 28px;order:1}.eyebrow{font-size:10px}.hero h1{font-size:27px;line-height:1.65;margin:15px 0 13px;max-width:15em}.hero-desc{font-size:12px;line-height:1.95}.hero .button{margin-top:21px;min-height:49px;max-width:100%}.hero-note{font-size:10px;margin-top:12px}.section{margin-top:42px}.section-heading{gap:12px;padding-bottom:13px;margin-bottom:19px}.section h2{font-size:22px}.section-sub{font-size:10px}.text-link{font-size:11px}.feature-grid{display:flex;flex-direction:column;gap:18px}.feature-card{grid-template-columns:88px 1fr;gap:17px;padding-bottom:18px;border-bottom:1px solid var(--line)}.feature-card img{height:118px;width:88px}.feature-card h3{font-size:17px}.feature-card p{font-size:11px}.topic{padding:8px 16px;font-size:11px}.topics{gap:8px}.story-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px;margin-top:23px}.story-card h3{font-size:16px;line-height:1.7}.story-card .description{font-size:11px;line-height:1.85;margin-top:8px}.card-body{padding-top:11px}.read-label{font-size:9px;margin-top:12px}.tag{font-size:9px}.footer{margin-top:50px;padding-top:26px}.footer-inner{display:block}.footer a{margin-top:12px}.footer p{font-size:10px}.copyright{font-size:9px}.listing-head{padding:28px 0 8px}.listing-head h1{font-size:29px}.listing-head p{font-size:12px}.story-intro{display:flex;flex-direction:column;gap:25px;margin-top:12px;align-items:stretch}.story-intro img{max-height:480px;aspect-ratio:1.03;object-position:center 27%}.story-intro h1{font-size:28px;line-height:1.7;margin:14px 0}.story-intro .description{font-size:13px;line-height:2}.story-meta{font-size:10px;margin-top:18px;gap:11px}.reading{width:calc(100% - 44px);margin-top:34px}.reading .chapter{margin-top:36px}.chapter-heading{margin-bottom:22px;gap:11px}.reading h2{font-size:22px}.chapter-number{font-size:12px}.prose p{font-size:17px;line-height:2.05;letter-spacing:.025em;margin-bottom:1.4em}.choice-box{margin:34px -4px 45px;padding:24px 18px}.choice-box h2{font-size:21px}.option{font-size:13px;padding:16px;min-height:64px}.response{padding-left:17px}.consequence{padding:19px}.consequence p{font-size:15px}.flow-controls{gap:12px}.quiet-button{font-size:11px;padding:10px 12px}.finish-mark{margin:38px 0}.about-copy{padding:28px 0}.about-copy h1{font-size:26px}.footer-brand{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Ad containers stay absent until the exact production host and CMP allow ads. */
.ad-slot[data-site-ad]{display:block;grid-column:1/-1;min-height:300px;margin:48px 0;padding:12px 0 18px;text-align:center;background:#fffafc;overflow:clip;overflow-anchor:none}.ad-slot[data-site-ad][hidden]{display:none!important}.ad-label{display:block;margin-bottom:9px;color:var(--muted);font-size:10px;line-height:1.5}.ad-slot [data-ad-surface]{min-height:250px;width:100%;max-width:100%}.ad-slot ins{width:100%;max-width:100%}.prose .ad-slot{margin:56px 0}.privacy-controls,.trust-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.privacy-controls [hidden]{display:none!important}.privacy-controls button{font-size:11px}.story-grid>.ad-slot{margin:24px 0}.feature-grid+.ad-slot{margin-top:44px}.choice-flow .ad-slot{margin:64px 0}.choice-flow .ad-slot+p{margin-top:0}
