:root{--paper:#eeeae1;--ink:#203b33;--muted:#627268;--accent:#ac4d34;--line:#c7cbbd;--white:#faf8f2;--serif:'Yu Mincho','Hiragino Mincho ProN',Georgia,serif;--sans:'Yu Gothic UI','Hiragino Kaku Gothic ProN',Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.9}button,input,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait}a{color:inherit;text-underline-offset:5px}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button{border:0;background:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.6}h1:focus,h2:focus{outline:none}p{margin-bottom:20px}.masthead{display:flex;align-items:center;justify-content:space-between;margin:0 4.5%;padding:24px 0;border-bottom:1px solid var(--line);gap:20px}.masthead>a{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:Georgia,serif;font-size:18px;letter-spacing:.06em;line-height:1.3}.brand-mark{font-size:34px;color:var(--accent)}.masthead small{display:block;font:10px var(--sans);letter-spacing:.16em;padding-top:5px}.masthead nav{display:flex;gap:22px;align-items:center}.masthead nav button{font-size:13px;padding:9px 0}.masthead #about-button{border:1px solid #8d9c8c;border-radius:50%;width:28px;height:28px;padding:0;font-family:Georgia,serif}#shelf-count{margin-left:7px;color:var(--muted)}.hero{position:relative;display:grid;grid-template-columns:1fr 1.08fr;gap:0 6%;max-width:1440px;margin:auto;padding:65px 5% 70px;min-height:820px}.eyebrow{font:11px var(--sans);font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:25px}.japanese-title{font:clamp(25px,3.2vw,45px) var(--serif);letter-spacing:.2em;margin:25px 0 0}.given{font-size:.6em;color:var(--muted);letter-spacing:.1em}.hero-number{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(95px,12.4vw,178px);letter-spacing:-.065em;line-height:1.05;margin:4px 0 28px;white-space:nowrap}.hero-number>span{font:clamp(29px,3vw,45px) var(--serif);margin-left:12px;letter-spacing:0}.hero-question{font:clamp(30px,3.1vw,44px)/1.65 var(--serif);letter-spacing:.06em;margin-bottom:24px}.hero-description{font:15px/2.3 var(--sans);color:#526454}.hero-art{align-self:center;margin-top:10px}.landscape{display:block;width:100%;height:auto;mix-blend-mode:multiply}.hero-art .landscape{border-radius:48% 48% 2px 2px;max-height:470px;object-fit:cover}.art-caption{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.06em;color:var(--muted);margin-top:15px;gap:10px}.start-panel{position:absolute;right:5%;bottom:83px;width:44%;max-width:580px;border-top:1px solid var(--line);padding-top:20px}.edition{font-size:11px;letter-spacing:.1em;display:block;margin-bottom:12px}.primary{background:var(--accent);color:#fffaf3;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:56px;padding:15px 27px;font-size:16px;letter-spacing:.04em;font-weight:600;transition:background .15s,transform .15s}.primary:hover{background:#8f3c27;transform:translateY(-1px)}.start.primary{width:100%;justify-content:space-between;font-size:18px;padding:22px 28px}.start-panel>p{font-size:10px;color:var(--muted);margin-top:12px;margin-bottom:0}.resume{padding:12px 0;text-decoration:underline;text-underline-offset:6px;font-size:14px}.intro-section{max-width:1296px;border-top:1px solid var(--line);margin:0 auto;padding:60px 5% 80px}.intro-section h2{font-size:clamp(26px,3vw,40px)}.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:70px;color:#566956;font-size:15px}.feature-strip{display:flex;gap:38px;align-items:baseline;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:30px;padding-top:30px;font-size:12px;color:var(--muted)}.feature-strip b{font:32px Georgia,serif;font-weight:400;color:var(--ink);margin-right:8px}.site-footer{display:flex;gap:25px;flex-wrap:wrap;justify-content:center;margin:0 4.5%;padding:24px 0;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.site-footer button{padding:0;font-size:10px}.birth-page{max-width:840px;margin:50px auto 80px;padding:0 24px;text-align:center}.birth-art{max-width:480px;margin:auto}.birth-art .landscape{border-radius:48% 48% 0 0}.birth-place{font-size:13px;letter-spacing:.15em;margin-top:25px}.birth-page h1{font-size:clamp(30px,4vw,47px)}.lead{font-size:17px;line-height:2;max-width:580px;margin:0 auto 24px}.birth-page small{display:block;margin-top:20px;font-size:11px;color:var(--muted)}.game-shell{max-width:1380px;padding:30px 5% 20px;margin:auto;min-height:80vh}.life-topline{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:13px}.life-topline small{color:var(--muted);margin-left:16px}.life-topline button{font-size:12px;margin-left:15px;text-decoration:underline;text-underline-offset:5px}.life-progress{height:2px;background:#d6d8cb;margin:20px 0 40px}.life-progress i{display:block;background:var(--accent);height:100%;transition:width .5s}.game-grid{display:grid;grid-template-columns:260px 1fr;gap:7%}.age-number{font:100px/1.1 Georgia,serif;letter-spacing:-.06em}.age-number span{font:24px var(--serif);letter-spacing:0;margin-left:10px}.time-label{font-size:11px;color:var(--muted);margin-top:15px}.mini-landscape{margin:20px -10px}.mini-landscape svg{border-radius:48% 48% 0 0}.metrics{display:grid;gap:15px;margin-top:25px}.metrics>div{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:4px 8px}.metrics span{font-size:11px}.metrics small{font-size:9px;color:var(--muted)}.metric-track{grid-column:1/-1;grid-row:2;height:3px;background:#d1d5c7}.metric-track i{display:block;height:100%;background:#72876e}.metric-help{font-size:10px;color:var(--muted);margin-top:17px}.metric-help summary{cursor:pointer}.metric-help p{margin-top:10px}.scene{max-width:750px}.scene>.eyebrow{display:flex;justify-content:space-between;margin-bottom:20px}.scene>.eyebrow span{font-size:10px;color:var(--accent)}.scene h1{font-size:clamp(29px,3vw,42px);margin-bottom:26px}.scene-body{font:18px/2.2 var(--serif);max-width:650px}.carry{padding:16px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted);margin-bottom:22px}.carry summary{cursor:pointer}.carry p{margin:13px 0 0}.carry.first{font-size:12px;line-height:1.9}.choices{display:grid;gap:12px}.choice{display:flex;align-items:center;gap:20px;width:100%;background:var(--white);border:1px solid #c8cdbd;border-radius:4px;text-align:left;padding:20px 22px;transition:border .15s,background .15s}.choice:hover{border-color:var(--accent);background:#fffdf8}.choice-number{font:17px Georgia,serif;color:#a78467;flex:none}.choice b{display:block;font-weight:600;font-size:15px}.choice small{display:block;color:var(--muted);font-size:11px;line-height:1.9;margin-top:5px}.choice-arrow{margin-left:auto;color:var(--accent);flex:none;font-size:23px}.quiet{font-size:11px;color:var(--muted);margin-top:20px}.game-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:40px;padding:20px 0;gap:15px;font-size:10px;color:var(--muted)}.game-bottom button{font-size:11px}.outcome{max-width:780px;margin:65px auto 80px;padding:0 30px}.outcome h1{font-size:clamp(26px,3.7vw,42px);line-height:1.8}.outcome-body{font:18px/2.2 var(--serif);margin-bottom:30px}.ripples{display:flex;flex-wrap:wrap;gap:20px;border-block:1px solid var(--line);padding:18px 0;margin-bottom:25px;font-size:10px;color:var(--muted)}.ripples b{display:block;font:14px/2 var(--sans);color:var(--ink)}.unexpected{padding:20px;border-left:2px solid var(--accent);background:#e7e6d9;margin:25px 0}.unexpected>span{font-size:10px;letter-spacing:.12em;color:var(--accent)}.unexpected p{font-size:13px;margin:8px 0 0}.reflection-label{display:block;font-size:13px;margin-top:35px}.reflection-label small{display:block;color:var(--muted);font-size:10px;margin-top:3px}textarea{display:block;resize:vertical;width:100%;padding:15px;border:1px solid #adbba6;background:#f8f6ed;border-radius:3px;font-size:14px;line-height:1.9;margin:10px 0 22px}.outcome .primary{margin-top:8px}.ending{max-width:1040px;margin:55px auto 75px;text-align:center;padding:0 25px}.ending-day{font:clamp(75px,12vw,130px)/1.2 Georgia,serif;color:var(--accent);letter-spacing:-.06em}.ending-day>span{font:30px var(--serif);margin-left:12px}.ending>h1{font-size:clamp(25px,3.8vw,40px);margin:20px 0}.ending-text{max-width:660px;margin:0 auto 22px;font:16px/2.2 var(--serif)}.value-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:20px 0 35px}.value-chips span{border:1px solid #b9c3af;border-radius:30px;padding:6px 18px;font-size:11px}.life-map{display:grid;grid-template-columns:repeat(6,1fr);gap:25px 15px;padding:30px 0;border-block:1px solid var(--line)}.life-map button{display:flex;flex-direction:column;align-items:center;padding:4px}.life-map span{font:20px Georgia,serif}.life-map i{display:block;width:9px;height:9px;background:var(--accent);border-radius:50%;margin:12px}.life-map small{font-size:10px;line-height:1.7}.bring-home{text-align:left;background:#e5e8da;padding:35px;max-width:750px;margin:45px auto}.bring-home h2{font-size:30px}.bring-home p{font-size:13px}.bring-home label{font-size:12px}.secondary{border:1px solid #8e9f87;border-radius:3px;padding:12px 20px;font-size:13px}.secondary:hover{background:#e1e6d7}.ending-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;max-width:800px;margin:auto}.text-button{text-decoration:underline;text-underline-offset:5px;padding:12px;font-size:12px}.goodlife-link{display:block;max-width:650px;margin:45px auto 10px;font-size:12px;padding-top:30px;border-top:1px solid var(--line);line-height:2.4}.goodlife-link b{font-size:14px}dialog{width:min(680px,92vw);max-height:87dvh;border:1px solid #a9b39d;border-radius:5px;background:var(--white);color:var(--ink);padding:42px 35px;box-shadow:0 24px 90px #203b3340;overflow-y:auto}dialog::backdrop{background:#172d2880;backdrop-filter:blur(4px)}dialog .close{position:absolute;right:12px;top:8px;padding:8px;font-size:26px;line-height:1}dialog h2{font-size:30px}dialog h3{font-size:20px;margin-top:25px}dialog p{font-size:14px}dialog .primary{margin-top:15px}blockquote{margin:20px 0;padding:15px 20px;border-left:2px solid var(--accent);background:#e9ecdf;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.memory{border-top:1px solid var(--line);padding-top:22px;margin:25px 0}.memory>span{font-size:11px;color:var(--accent)}.memory h3{margin:8px 0}.memory>b{font-size:13px}.memory p{font-size:13px;margin-top:10px}.shelf-item{display:block;text-align:left;width:100%;border-top:1px solid var(--line);padding:20px 0}.shelf-item span,.shelf-item small{display:block;font-size:11px;color:var(--muted)}.shelf-item b{display:block;font:20px/1.8 var(--serif);margin:7px 0}.danger{color:#a13e32}.share-card{border:1px solid #bac2ad;background:#e6e8da;text-align:center;padding:35px 20px}.share-card>span{font-size:15px;letter-spacing:.15em}.share-card>strong{display:block;font:82px/1.6 Georgia,serif;letter-spacing:-.06em;color:var(--accent)}.share-card>strong>span{font:24px var(--serif)}.share-card h2{font-size:25px}.share-card>small{font-size:12px}.storage-warning{background:#f2dfc5;border:1px solid #c5a57d;padding:15px 20px;font-size:12px}.empty{padding:20px;color:var(--muted)}#toast{position:fixed;z-index:20;bottom:25px;left:50%;transform:translateX(-50%);max-width:90vw;width:max-content;background:#243d33;color:#fff;padding:12px 22px;border-radius:3px;font-size:12px;pointer-events:none;box-shadow:0 5px 20px #0002}#toast:empty{display:none}
@media(min-width:1500px){.hero{min-height:880px}.hero-art{align-self:start;padding-top:35px}.start-panel{bottom:95px}}@media(max-width:1000px){.hero{padding-top:45px;gap:3%;min-height:770px}.hero-art{align-self:start;padding-top:65px}.hero-number{font-size:13vw}.hero-description{font-size:13px}.start-panel{bottom:75px}.game-grid{grid-template-columns:210px 1fr;gap:5%}.choice{padding:17px;gap:14px}.scene-body{font-size:17px}.intro-columns{gap:35px}}
@media(max-width:700px){body{font-size:15px}.masthead{padding:18px 0;margin:0 6%}.masthead>a{font-size:14px}.brand-mark{font-size:29px}.masthead nav{gap:17px}.masthead nav button{font-size:11px}.hero{display:block;padding:34px 6% 45px;min-height:0}.hero .eyebrow{font-size:10px;margin-bottom:20px}.japanese-title{font-size:28px;margin-top:18px}.hero-number{font-size:22vw;letter-spacing:-.07em;margin:8px 0 20px}.hero-number>span{font-size:30px;margin-left:10px}.hero-question{font-size:31px;line-height:1.65}.hero-question br{display:none}.hero-description{font-size:13px;line-height:2.1;margin-bottom:25px}.hero-description br:nth-child(2){display:none}.hero-art{padding:0;max-width:460px;margin:15px auto 25px}.hero-art .landscape{max-height:235px;border-radius:45% 45% 0 0}.art-caption{font-size:8px}.start-panel{position:static;width:auto;max-width:none;border-top:0;padding-top:12px}.start.primary{font-size:16px;padding:19px 20px}.start-panel>p{font-size:9px}.edition{font-size:10px}.intro-section{padding:40px 6% 45px}.intro-section h2{font-size:27px}.intro-columns{display:block;font-size:13px}.feature-strip{gap:18px 25px;font-size:10px}.feature-strip b{font-size:26px}.site-footer{font-size:9px;gap:10px 20px}.site-footer button{font-size:9px}.game-shell{padding:22px 6%}.life-topline{font-size:12px}.life-topline small{display:block;margin-left:0;font-size:9px}.life-topline button{font-size:10px;margin-left:8px}.life-progress{margin:18px 0 25px}.game-grid{display:block}.life-sidebar{display:grid;grid-template-columns:100px 1fr;gap:0 20px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:27px}.life-sidebar>.eyebrow{display:none}.age-number{font-size:66px;grid-row:1/3}.age-number>span{font-size:19px;margin-left:5px}.time-label{font-size:9px;margin:0;grid-column:2}.mini-landscape{display:none}.metrics{margin:9px 0 0;grid-template-columns:1fr 1fr;gap:8px 15px;grid-column:2}.metrics span{font-size:9px}.metrics small{display:none}.metric-help{grid-column:1/-1;margin-top:10px;font-size:9px}.scene>.eyebrow{font-size:9px}.scene>.eyebrow span{font-size:9px}.scene h1{font-size:28px;margin-bottom:20px}.scene-body{font-size:16px;line-height:2.1}.carry{font-size:11px}.choice{padding:16px 14px;gap:13px}.choice b{font-size:14px}.choice small{font-size:10px}.choice-number{font-size:15px}.choice-arrow{font-size:20px}.quiet{font-size:10px}.game-bottom{gap:10px;font-size:9px}.game-bottom button{font-size:10px}.outcome{margin:40px auto 55px;padding:0 6%}.outcome h1{font-size:28px;line-height:1.8}.outcome-body{font-size:16px}.outcome .primary{width:100%}.ending{margin-top:35px;padding:0 6%}.ending-day{font-size:80px}.ending>h1{font-size:28px}.ending-text{font-size:14px}.life-map{grid-template-columns:repeat(3,1fr);gap:20px 12px}.life-map small{font-size:9px}.bring-home{padding:25px 20px}.bring-home h2{font-size:24px}.ending-actions{display:grid;grid-template-columns:1fr}.ending-actions button{width:100%}.birth-page{margin-top:35px}.birth-page h1{font-size:31px}.birth-art{max-width:330px}.lead{font-size:15px}.birth-page .primary{width:100%}dialog{padding:40px 22px 25px}dialog h2{font-size:26px}dialog p{font-size:13px}.share-card>strong{font-size:65px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.primary:hover{transform:none}}

/* Keep the start panel in normal flow so it never overlaps the landscape caption. */
@media(min-width:701px){.hero-copy{grid-row:1 / span 2}.hero-art{align-self:end}.start-panel{position:static;right:auto;bottom:auto;width:auto;max-width:none;grid-column:2;margin-top:24px}}

/* PHANTOM_30000DAYS_ART3D_V1 */
.landscape.life-art-3d{display:block;mix-blend-mode:normal;object-fit:cover;background:#d9d2bf;box-shadow:0 12px 30px #203b3314}.landscape.life-art-3d.night{filter:brightness(.9) saturate(.88)}.hero-art .landscape.life-art-3d{aspect-ratio:1.5;object-position:center;max-height:none}.birth-art .landscape.life-art-3d{aspect-ratio:1.5}.mini-landscape .landscape.life-art-3d{border-radius:45% 45% 0 0;aspect-ratio:1.5;object-fit:cover}.hero-art .art-caption{margin-top:18px}@media(max-width:700px){.hero-art .landscape.life-art-3d{max-height:none;aspect-ratio:1.7;object-position:center 58%}}
