:root{--bg:#0b1724;--bg2:#10202f;--ink:#f3ead9;--sub:#f3ead9bd;--mute:#f3ead98c;--edge:#f3ead924;--gold:#e9b872;--accent:#e9b872;--serif:"Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif;--sans:"Hiragino Sans", "Yu Gothic", "Noto Sans JP", system-ui, sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-height:100svh;color:var(--ink);background:radial-gradient(1200px 700px at 70% -10%, #1b3448 0%, transparent 60%), linear-gradient(180deg, var(--bg) 0%, var(--bg2) 100%);font:400 16px/1.9 var(--sans);overflow-wrap:anywhere;margin:0}a{color:var(--gold);text-underline-offset:3px}main{max-width:680px;margin:0 auto;padding:56px 20px 32px}.eyebrow{font:600 12px/1 var(--sans);letter-spacing:.24em;color:var(--accent);margin:0 0 18px}h1{font:700 clamp(30px, 7vw, 44px)/1.35 var(--serif);letter-spacing:.01em;margin:0 0 16px}.nb{display:inline-block}.start h1{letter-spacing:.02em;font-size:clamp(30px,8.4vw,64px);line-height:1.3}.lead{color:var(--sub);margin:0 0 8px;font-size:17px}.cite{color:var(--mute);margin-top:4px;font-size:11.5px;line-height:1.6;display:block}.note{color:var(--mute);margin:12px 0 0;font-size:13.5px}button,.btn{font:600 15px/1.2 var(--sans);color:var(--ink);border:1px solid var(--edge);cursor:pointer;background:0 0;border-radius:999px;padding:13px 20px;text-decoration:none;display:inline-block}button:hover,.btn:hover{border-color:var(--gold)}button:focus-visible,.btn:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button.primary{background:var(--gold);color:#1a1206;border-color:var(--gold);margin-top:28px;padding:16px 34px;font-size:17px}button.primary:hover{filter:brightness(1.06)}.chips{flex-wrap:wrap;gap:8px;margin:28px 0 0;padding:0;list-style:none;display:flex}.chip{border:1px dashed var(--edge);color:var(--mute);border-radius:999px;padding:6px 12px;font-size:13px}.chip.on{border-style:solid;border-color:var(--gold);color:var(--ink)}.scenes{margin:28px 0 0;padding:0;list-style:none}.scene{border-left:2px solid var(--accent);margin:0 0 26px;padding:4px 0 4px 18px;animation:.6s both rise}.scene .stage{font:700 12px/1 var(--sans);letter-spacing:.2em;color:var(--accent);margin:0 0 8px}.scene p{font:500 17px/2 var(--serif);margin:0}.scene.death{border-left-style:dotted}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.scene{animation:none}}.choice{gap:10px;margin-top:16px;display:grid}.choice .q{font:700 15px/1.7 var(--sans);color:var(--ink)}.choice .picked{font:700 14px/1.6 var(--sans);color:var(--gold)}.choice button{text-align:left;border-radius:14px}.result .age{font:800 96px/1 var(--sans);color:var(--accent);margin:0 0 12px}.result .age small{color:var(--ink);margin-left:6px;font-size:28px}.result h1{font-size:clamp(22px,5vw,30px)}.context{color:var(--sub)}.actions{flex-wrap:wrap;align-items:center;gap:10px;margin:24px 0 6px;display:flex}.actions .primary{margin-top:0}.status{min-height:1.6em;color:var(--gold);margin:6px 0 0;font-size:13.5px}.box{border:1px solid var(--edge);background:#ffffff06;border-radius:18px;margin:22px 0 0;padding:20px 22px}.box h2{font:700 17px/1.5 var(--serif);margin:0 0 12px}.stats{gap:14px;margin:0;display:grid}.stats dt{color:var(--mute);font-size:12.5px}.stats dd{margin:2px 0 0;font-size:15.5px}.facts{margin:0;padding-left:1.2em}.facts li{margin-bottom:12px}.next{color:var(--gold);margin:14px 0 0;font-weight:600}.sources summary{cursor:pointer;font:700 15px/1.6 var(--serif)}.sources p,.sources li{color:var(--sub);font-size:13.5px}.sources ul{padding-left:1.2em}.foot{border-top:1px solid var(--edge);max-width:680px;color:var(--sub);margin:0 auto;padding:28px 20px 48px;font-size:13.5px}.foot p{margin:0 0 8px}.foot .fine{color:var(--mute);margin-top:14px;font-size:11.5px}.art{width:100%;height:auto;display:block}.art-wrap{border:1px solid var(--edge);aspect-ratio:800/320;background:#0b1724;border-radius:18px;overflow:hidden}.art-wrap .art{width:100%;height:100%}.strip{grid-template-columns:repeat(5,1fr);gap:6px;margin:0 0 30px;display:grid}.strip .art{aspect-ratio:1/1.1;object-fit:cover;border-radius:10px}@media (width<=520px){.strip{gap:4px}.strip .art{border-radius:8px}}.modes{gap:14px;margin:28px 0 8px;display:grid}.mode{gap:8px;display:grid}.mode p{color:var(--mute);margin:0;font-size:13.5px}.mode button{justify-self:start;margin-top:0}.life{padding-top:12px}.stage-head{z-index:5;background:var(--bg);border-bottom:1px solid var(--edge);padding:10px 0 12px;position:sticky;top:0;box-shadow:0 14px 18px -10px #050c14f2}.stage-head .art-wrap{aspect-ratio:800/190;border-radius:14px}@media (width<=520px){.stage-head .art-wrap{aspect-ratio:800/230}.counter .age-now{font-size:34px}.ctls{margin-top:8px}}.head-text{flex-wrap:wrap;align-items:baseline;gap:2px 14px;margin-top:10px;display:flex}.head-text .eyebrow{width:100%;margin:0}.counter{align-items:baseline;gap:10px;margin:0;display:flex}.counter .year{font:600 14px/1 var(--sans);color:var(--sub)}.counter .age-now{font:800 40px/1 var(--sans);color:var(--accent);font-variant-numeric:tabular-nums}.counter .age-unit{font:700 15px/1 var(--sans)}.who{color:var(--mute);margin:0;font-size:13px}.ctls{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}button.ctl{padding:8px 14px;font-size:12.5px}button:disabled{opacity:.4;cursor:default}.intro{margin:10px 0 0;font-size:15px}.feed{margin:22px 0 0;padding:0;list-style:none}.entry{margin:0 0 20px;padding:2px 0 2px 64px;animation:.55s both rise;position:relative}.entry .when{text-align:right;width:52px;font:700 12.5px/1.6 var(--sans);color:var(--accent);margin:0;position:absolute;top:3px;left:0}.entry .text{font:500 16.5px/1.95 var(--serif);margin:0}.entry:before{content:"";background:var(--edge);width:1px;position:absolute;top:10px;bottom:-22px;left:58px}.entry:last-child:before{display:none}.entry.birth .text{font-size:18px}.entry.death{margin-top:26px}.entry.death .text{color:var(--ink)}.entry.event.st-childhood .text,.entry.event.st-adult .text,.entry.event.st-old .text{color:#f3ead9e6}.entry.milestone{padding-top:10px;padding-bottom:10px}.entry.milestone .ms-num{font:800 34px/1 var(--sans);color:var(--accent);margin:0 0 6px}.entry.milestone p{color:var(--sub);margin:0;font-size:14.5px}.fact{color:var(--ink);background:#e9b87214;border:1px solid #e9b87238;border-radius:12px;margin:10px 0 0;padding:10px 12px;font-size:13.5px;line-height:1.75}.fact-label{font:700 10.5px/1 var(--sans);letter-spacing:.14em;color:#1a1206;background:var(--gold);vertical-align:1px;border-radius:4px;margin-right:8px;padding:3px 6px;display:inline-block}.letter-in{border-left:2px solid var(--gold);background:#ffffff08;border-radius:0 12px 12px 0;margin:12px 0 0;padding:12px 14px}.letter-in p{font:500 16px/1.8 var(--serif);margin:0}.letter-in .from{font:700 11.5px/1.4 var(--sans);color:var(--gold);letter-spacing:.08em;margin-bottom:4px}.entry .choice{margin-top:12px}.after{border:1px solid var(--edge);background:#ffffff06;border-radius:18px;margin:30px 0 0;padding:22px}.after .q{font:700 17px/1.6 var(--serif);margin:0 0 6px}.after p{color:var(--sub);margin:0 0 10px}.after input{width:100%;font:500 16px/1.6 var(--sans);color:var(--ink);border:1px solid var(--edge);background:#00000040;border-radius:12px;padding:12px 14px}.after input:focus{outline:2px solid var(--gold);outline-offset:2px}.after .actions{margin-top:14px}.interlude{text-align:left}.interlude .art-wrap{margin-bottom:24px}.interlude .lead{font:500 18px/2 var(--serif);color:var(--ink)}.result .art-wrap{margin-bottom:22px}.family h1{font-size:clamp(22px,5.4vw,32px)}.tree{gap:14px;margin:26px 0 0;padding:0;list-style:none;display:grid}.tree-row{border:1px solid var(--edge);background:#ffffff06;border-radius:16px;grid-template-columns:132px 1fr;align-items:start;gap:14px;padding:12px;display:grid}.tree-art .art{aspect-ratio:4/3;border-radius:10px}.tree-body .eyebrow{color:var(--accent);margin:0 0 6px}.tree-body p{color:var(--sub);margin:0 0 6px;font-size:14px}.tree-name{font:700 19px/1.4 var(--serif)!important;color:var(--ink)!important}.tree-name span{font:800 16px/1 var(--sans);color:var(--accent)}.tree-letter{color:var(--gold)!important;font-family:var(--serif)!important}@media (width<=520px){.tree-row{grid-template-columns:92px 1fr;gap:10px}}.invite p{color:var(--sub)}.invite .primary{margin-top:6px}.jump{left:50%;bottom:calc(18px + env(safe-area-inset-bottom));z-index:20;background:var(--gold);color:#1a1206;border-color:var(--gold);padding:11px 20px;font-size:14px;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #00000073}.jump[hidden]{display:none}.foot .motto{font:700 15px/1.7 var(--serif);color:var(--ink);margin:4px 0 10px}.maker{background:#e9b8720f;border-color:#e9b87266}.maker-big{font:700 clamp(19px, 4.6vw, 24px)/1.6 var(--serif);color:var(--ink)!important;margin:0 0 8px!important}.maker p{color:var(--sub);margin:0 0 14px}.t-care{--t:#e69a8a}.t-curious{--t:#7fc4e0}.t-grit{--t:#d9b25f}.t-cheer{--t:#9fd48a}.meter{font:600 11.5px/1.4 var(--sans);color:var(--mute);flex-wrap:wrap;gap:4px 12px;margin:8px 0 0;display:flex}.meter .m{color:var(--t);letter-spacing:.02em}.grew{flex-wrap:wrap;gap:6px;margin:8px 0 0;display:flex}.chip-t{font:700 11.5px/1 var(--sans);color:#0b1724;background:var(--t);border-radius:999px;padding:5px 9px}.epitaph{font:500 16px/1.9 var(--serif);color:var(--ink);margin:12px 0 0}.entry.death .epitaph{border-left:2px solid var(--accent);background:#ffffff08;border-radius:0 10px 10px 0;padding:10px 14px}.way h2{font-size:19px}.bars{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.bars li{color:var(--sub);grid-template-columns:86px 1fr 24px;align-items:center;gap:10px;font-size:13.5px;display:grid}.bars .bt{background:#ffffff0f;border-radius:99px;height:8px;overflow:hidden}.bars .bar{height:100%;width:var(--w);background:var(--t);border-radius:99px;display:block}.bars .bn{text-align:right;font-variant-numeric:tabular-nums}.tree-way{font-weight:700;color:var(--t)!important;font-size:13px!important}.meter .m b{font:800 12.5px/1 var(--sans);margin-left:2px}.echo{background:#e9b8721a;border:1px solid #e9b8724d;border-radius:6px;padding:3px 9px;display:inline-block;font:700 11.5px/1.5 var(--sans)!important;color:var(--gold)!important;margin:0 0 6px!important}.entry.event:has(.echo) .text{color:var(--ink)!important}.sib-in{border-left:2px solid var(--gold);font:500 16px/1.8 var(--serif);background:#ffffff08;border-radius:0 12px 12px 0;margin:12px 0 0;padding:12px 14px}.after.sibling .note{margin-top:4px;font-size:13.5px}.compare .eyebrow{color:var(--accent);margin-bottom:6px}.compare .cmp{margin:0 0 18px}.compare .cmp p{margin:0}.compare .cmp-big{font:800 40px/1.2 var(--sans);color:var(--accent);letter-spacing:.01em;margin-bottom:4px!important}.compare .cmp-big.cmp-other{color:#7cc4ee}.compare .cmp-note{color:var(--sub);font-size:13px;line-height:1.7;margin-top:6px!important}.tree-rare{font:700 13px/1.5 var(--sans);color:var(--gold);margin:2px 0 0}.next-chapter{margin:14px 0 0}.next-chapter p{color:var(--sub);margin:0 0 8px}.life-share{border-top:1px solid var(--edge);margin-top:18px;padding-top:14px}.life-share .actions{margin-top:8px}.life-share button.primary{color:var(--ink);border-color:var(--edge);background:0 0;padding:13px 20px;font-size:15px}.ctls{align-items:center;gap:6px}button.ctl-pause{min-width:40px;padding:8px 10px;font-size:12px}.speeds{border:1px solid var(--edge);border-radius:999px;display:inline-flex;overflow:hidden}.speeds button.ctl-speed{border:0;border-radius:0;min-width:40px;padding:8px 10px;font-size:12.5px}.speeds button.ctl-speed+button.ctl-speed{border-left:1px solid var(--edge)}.speeds button.ctl-speed[aria-pressed=true]{background:var(--accent);color:#0b1724;font-weight:800}button.ctl-next{padding:8px 12px}button.ctl:disabled{opacity:.45;cursor:default}@media (width<=430px){.speeds button.ctl-speed{min-width:36px;padding:8px 7px}button.ctl-auto{flex-basis:100%}}body.ep-open{overflow:hidden}.epilogue{z-index:50;color:var(--ink);background:#05090f;justify-content:center;align-items:flex-start;padding:0 20px;display:flex;position:fixed;inset:0;overflow-y:auto}.ep-panel{text-align:center;width:100%;max-width:560px;padding:clamp(72px,16vh,140px) 0 64px}.ep-era{font:600 12px/1 var(--sans);letter-spacing:.24em;color:var(--accent);margin:0 0 14px}.ep-name{font:700 clamp(34px, 8vw, 48px)/1.3 var(--serif);letter-spacing:.04em;margin:0 0 8px}.ep-years{font:500 15px/1.6 var(--sans);letter-spacing:.18em;color:var(--accent);margin:0 0 40px}.ep-l{font:500 16px/2 var(--sans);color:var(--sub);margin:0 0 12px}.ep-odds{color:var(--ink)}.ep-close{font:500 clamp(19px, 4.6vw, 23px)/1.9 var(--serif);margin:40px 0 44px}.ep-actions{flex-direction:column;align-items:center;gap:12px;display:flex}.ep-actions button.primary{margin-top:0}.ep-actions .link-btn{color:var(--sub);background:0 0;border:0;padding:6px;font-size:13.5px;text-decoration:underline}.ep-now-btn{z-index:51;background:#05090fb3;padding:8px 14px;font-size:12.5px;position:absolute;top:16px;right:16px}.ep-share{text-align:left;border:1px solid var(--edge);background:#ffffff08;border-radius:18px;margin:0 0 32px;padding:20px}.ep-share .ep-q{font:700 15px/1.7 var(--sans);margin:0 0 10px}.ep-share input{width:100%;font:500 16px/1.6 var(--sans);color:var(--ink);border:1px solid var(--edge);background:#0000004d;border-radius:12px;padding:12px 14px}.ep-share input:focus{outline:2px solid var(--gold);outline-offset:2px}.ep-share .note{color:var(--sub);margin:8px 0 12px;font-size:12.5px}.ep-details summary{cursor:pointer;color:var(--sub);font-size:13.5px}.ep-preview{overflow-wrap:anywhere;background:#0000004d;border-radius:10px;margin:8px 0 0;padding:10px 12px;font-size:13.5px;line-height:1.8}.ep-share .actions{margin-top:14px}.ep-share .actions .primary{margin-top:0}.ep-lines>*,.ep-actions{opacity:0;animation:.9s forwards ep-in}.ep-lines>:first-child{animation-delay:.1s}.ep-lines>:nth-child(2){animation-delay:.3s}.ep-lines>:nth-child(3){animation-delay:.9s}.ep-lines>:nth-child(4){animation-delay:1.9s}.ep-lines>:nth-child(5){animation-delay:2.9s}.ep-lines>:nth-child(6){animation-delay:3.9s}.ep-lines>:nth-child(7){animation-delay:4.9s}.ep-lines>:nth-child(8){animation-delay:5.9s}.ep-actions{animation-delay:6.8s}@keyframes ep-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.ep-now .ep-lines>*,.ep-now .ep-actions{opacity:1;animation:none}@media (prefers-reduced-motion:reduce){.ep-lines>*,.ep-actions{opacity:1;animation:none}}.meter{margin-top:6px}.stats-bars{grid-template-columns:repeat(4,1fr);gap:4px 12px;margin:0;padding:0;list-style:none;display:grid}.stats-bars .sb{color:var(--sub);grid-template-columns:1fr auto;align-items:baseline;gap:0 6px;font-size:11.5px;display:grid}.stats-bars .sb-n{font:800 13px/1.2 var(--sans);color:var(--ink)}.stats-bars .sb-t{background:#ffffff14;border-radius:4px;grid-column:1/-1;height:4px;margin-top:2px;overflow:hidden}.stats-bars .sb-f{border-radius:4px;height:100%;transition:width .4s;display:block}.sb-kurashi .sb-f{background:#e9b872}.sb-manabi .sb-f{background:#7cc4ee}.sb-tsunagari .sb-f{background:#f0a38a}.sb-shiawase .sb-f{background:#8fd6a8}.sb-f.w0{width:2%}.sb-f.w10{width:10%}.sb-f.w20{width:20%}.sb-f.w30{width:30%}.sb-f.w40{width:40%}.sb-f.w50{width:50%}.sb-f.w60{width:60%}.sb-f.w70{width:70%}.sb-f.w80{width:80%}.sb-f.w90{width:90%}.sb-f.w100{width:100%}.stats-bars.big{grid-template-columns:repeat(2,1fr);gap:12px 20px}.stats-bars.big .sb{font-size:13.5px}.stats-bars.big .sb-n{font-size:20px}.stats-bars.big .sb-t{height:8px}@media (width<=380px){.stats-bars{gap:4px 8px}.stats-bars .sb{font-size:10.5px}}.chip-s{font:700 11.5px/1 var(--sans);border-radius:999px;margin:0 6px 4px 0;padding:4px 8px;display:inline-block}.chip-s.up{color:#a9e6bd;background:#8fd6a829}.chip-s.down{color:#f3b8a4;background:#f0a38a29}.home{color:var(--sub);margin:8px 0 0;font-size:13px}.home b{color:var(--gold);letter-spacing:.1em;margin:0 2px}.choice button.opt{text-align:left;flex-direction:column;align-items:flex-start;gap:4px;display:flex}.choice .opt-h{font:500 11.5px/1.5 var(--sans);color:var(--sub)}.choice button.opt.locked{opacity:.5;cursor:not-allowed;border-style:dashed}.outcome{font:800 13px/1.4 var(--sans);margin:4px 0 0}.outcome.success{color:#a9e6bd}.outcome.fail{color:#f3b8a4}.ask{border:1px solid var(--gold);background:#e9b8720f;border-radius:14px;margin-top:14px;padding:16px}.ask-q{font:600 15px/1.8 var(--serif);color:var(--ink);margin:0 0 10px}.ask input{width:100%;font:500 16px/1.6 var(--sans);color:var(--ink);border:1px solid var(--edge);background:#0000004d;border-radius:12px;padding:10px 12px}.ask .actions{margin-top:10px}.ask .actions .primary{margin-top:0}.ask .note{color:var(--sub);margin:8px 0 0;font-size:12px}.ask.done{border-color:var(--edge);background:0 0;padding:10px 14px}.ask-a{font:500 15px/1.8 var(--serif);margin:0}.ask-a .from,.notes .from{font:700 11.5px/1.4 var(--sans);color:var(--gold);letter-spacing:.06em;display:block}.notes ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.notes li{font:500 15px/1.8 var(--serif)}.stats-bars .sb-l{white-space:nowrap;text-overflow:clip;overflow:hidden}@media (width<=430px){.stats-bars{gap:4px 8px}.stats-bars .sb{gap:0 4px;font-size:10.5px}.stats-bars .sb-n{font-size:12px}}.dex-new{background:var(--gold);border-radius:999px;padding:3px 10px;display:inline-block;font:700 11.5px/1.6 var(--sans)!important;color:#0b1724!important;margin:8px 0 0!important}.dex-open{margin-top:18px;font-size:14px}.box.dex .dex-got{margin:0;padding:0;list-style:none}.box.dex .dex-got li{font:600 15px/1.8 var(--serif)}.dex-dialog{z-index:60;background:#05090f;justify-content:center;align-items:flex-start;padding:0 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.dex-panel{width:100%;max-width:640px;padding:20px 0 64px}.dex-panel h2{font:700 30px/1.3 var(--serif);margin:0}.dex-close{float:right;z-index:1;background:var(--bg2);padding:10px 18px;font-size:14px;position:sticky;top:12px}.dex-panel .eyebrow{margin-top:18px}.dex-era{margin:28px 0 0}.dex-era h3{font:700 16px/1.4 var(--serif);color:var(--accent);border-bottom:1px solid var(--edge);justify-content:space-between;gap:12px;margin:0 0 10px;padding-bottom:6px;display:flex}.dex-era h3 span{font:600 13px/1.4 var(--sans);color:var(--sub)}.dex-era ul{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.dex-era li{border:1px dashed var(--edge);color:var(--mute);border-radius:10px;padding:9px 12px;font-size:13.5px;line-height:1.5}.dex-era li.on{border-style:solid;border-color:var(--accent);color:var(--ink);background:#ffffff08}.turn-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.turn-list li{border-left:2px solid var(--accent);padding:2px 0 2px 14px}.turn-list .t-from{font:700 15px/1.6 var(--serif);color:var(--gold);margin:0}.turn-list .t-to{color:var(--sub);margin:4px 0 0;font-size:14.5px;line-height:1.8}.turn-list .t-age{font:700 11.5px/1.6 var(--sans);color:var(--mute);display:block}
