:root{--bg:#edf2ee;--paper:#fafcf9;--ink:#182831;--muted:#687875;--line:#ced8d1;--accent:#8d2346;--accent-soft:#f3e7eb;--green:#347452;--teal:#217477;--gold:#a98035;--shadow:0 5px 20px #18342908;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",Georgia,serif;--sans:"Yu Gothic UI","Hiragino Kaku Gothic ProN",Meiryo,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.8 var(--sans);-webkit-font-smoothing:antialiased}body.dark{--bg:#152225;--paper:#1e3032;--ink:#e9efe7;--muted:#a4b7af;--line:#3b5150;--accent:#e596ad;--accent-soft:#3e2b35;--green:#72ac88;--teal:#76b5b4;--gold:#d7b777;--shadow:none}button,input,select,textarea{font:inherit;color:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);background:var(--paper);padding:9px 15px;border-radius:5px;line-height:1.5;transition:background .15s,transform .15s}button:hover{background:var(--accent-soft)}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:3px}a{color:var(--teal)}button.primary{background:var(--accent);color:var(--paper);border-color:var(--accent);font-weight:700}button.primary:hover{filter:brightness(1.1)}button.quiet{border-color:transparent;background:transparent;color:var(--muted)}button.small{font-size:12px;padding:6px 10px}button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.5}h2{font-size:18px}h3{font-size:15px}small{font-size:11px}select,input,textarea{border:1px solid var(--line);background:var(--paper);border-radius:4px;padding:10px;width:100%;min-width:0}textarea{resize:vertical}label{display:block}canvas{image-rendering:pixelated;display:block}body.modal-open{overflow:hidden}[hidden]{display:none!important}.skip{position:fixed;top:-70px;left:16px;z-index:100;background:var(--paper);padding:10px}.skip:focus{top:10px}.masthead{max-width:1500px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:20px 36px;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-family:var(--serif);font-weight:700;font-size:19px;white-space:nowrap}.brand small{display:block;font:9px/1.6 var(--sans);letter-spacing:2.4px;color:var(--muted);font-weight:400}.brand-mark{font-size:23px;border:1px solid var(--accent);color:var(--accent);width:37px;height:40px;display:grid;place-items:center}.masthead nav{display:flex;gap:10px;align-items:center}.masthead nav button{font-size:12px}.masthead nav button:first-child span{background:var(--bg);padding:1px 6px;margin-left:4px;border-radius:12px}.icon-button{min-width:39px;padding-inline:9px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:var(--teal)}.muted,.hint{color:var(--muted)}.hint{font-size:11px;line-height:1.9}.paper{background:var(--paper);border:1px solid var(--line);border-radius:4px;box-shadow:var(--shadow)}.landing{max-width:1240px;margin:0 auto;padding:50px 35px}.hero{display:grid;grid-template-columns:1fr .92fr;gap:70px;align-items:center}.hero h1{font-family:var(--serif);font-size:clamp(42px,5.5vw,77px);letter-spacing:-.045em;line-height:1.44;font-weight:600;margin:20px 0 26px}.hero h1 em{font-style:normal;color:var(--accent)}.hero-copy>p:not(.eyebrow){font-size:15px;line-height:2.2;max-width:470px}.hero-stats{display:flex;gap:45px;margin:32px 0}.hero-stats strong{font-family:Georgia,var(--serif);font-size:30px;line-height:1.3;font-weight:400}.hero-stats small{display:block;color:var(--muted)}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.hero-actions .primary{padding:14px 30px}.country-panel{padding:24px 25px 18px;background:linear-gradient(135deg,var(--paper),transparent);border:1px solid var(--line)}.country-panel header{display:flex;justify-content:space-between;align-items:center}.country-panel h2{font:19px var(--serif)}.japan-map{height:310px;width:100%;overflow:visible;margin:12px 0}.japan-map .tile{fill:#d5e0d7;stroke:var(--paper);stroke-width:2}.japan-map .tile-0{fill:#a8c5bb}.japan-map .tile-1{fill:#90b3a7}.japan-map .tile-2{fill:#729a8d}.japan-map .tile-3{fill:#528277}.japan-map .tile-hot{fill:var(--accent)}.japan-map text{fill:var(--paper);font:7px var(--sans);pointer-events:none}.map-caption{border-top:1px solid var(--line);padding-top:12px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted);gap:12px}.map-dot{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;margin-right:5px}.settings-card{margin-top:50px;padding:26px 30px}.settings-head{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-bottom:20px}.settings-grid{display:grid;grid-template-columns:.8fr 1.3fr 1fr;gap:20px}.settings-grid label>span{font-weight:600;display:block;margin-bottom:8px}.settings-grid .hint{display:block;margin-top:6px}.settings-bottom{border-top:1px solid var(--line);padding-top:20px;margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.settings-bottom p{max-width:710px}.settings-bottom button{flex-shrink:0;min-width:170px}.about-strip{margin:32px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.about-strip div{border-top:1px solid var(--line);padding-top:14px}.about-strip b{font-size:13px}.about-strip p{font-size:12px;color:var(--muted);margin-top:5px}.site-footer{max-width:1430px;margin:35px auto 0;padding:24px 30px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);display:flex;gap:20px;align-items:center;justify-content:space-between}.site-footer button{border:0;padding:0;font-size:10px;background:none}.version{margin-left:8px}.birth-wrap{max-width:650px;margin:50px auto;padding:0 20px}.birth-heading{text-align:center;margin-bottom:26px}.birth-heading h1{font:30px/1.6 var(--serif);margin:10px 0}.certificate{padding:30px;position:relative;overflow:hidden}.certificate:after{content:'LIFE';position:absolute;right:15px;top:80px;font:bold 80px Georgia;color:var(--line);opacity:.25;pointer-events:none;transform:rotate(-90deg)}.stamp{border:2px solid var(--accent);color:var(--accent);width:63px;height:63px;display:grid;place-items:center;transform:rotate(8deg);font:13px/1.5 var(--serif);text-align:center}.certificate-top{display:flex;align-items:center;justify-content:space-between}.certificate-person{display:flex;align-items:center;gap:22px;margin:28px 0}.certificate-person canvas{width:74px;height:92px;background:var(--bg)}.certificate-person h2{font:32px/1.6 var(--serif)}.definition{display:grid;grid-template-columns:95px 1fr;row-gap:9px;font-size:12px;margin:0}.definition dt{color:var(--muted)}.definition dd{margin:0;min-width:0;overflow-wrap:anywhere}.certificate-footer{margin-top:25px;border-top:1px dashed var(--line);padding-top:20px;font-size:12px;line-height:2}.full-button{width:100%;margin-top:22px;padding:14px}.play-toolbar{position:sticky;top:0;z-index:12;background:var(--bg);border-bottom:1px solid var(--line);padding:12px 30px;display:flex;align-items:center;gap:20px}.clock{display:flex;align-items:baseline;gap:10px;min-width:205px}.clock strong{font:42px/1 Georgia,serif}.clock strong small{font-size:15px;margin-left:4px}.clock .year{color:var(--muted);font-size:12px}.toolbar-actions{display:flex;align-items:center;gap:7px;flex:1;flex-wrap:wrap}.toolbar-actions button{font-size:12px;padding:8px 11px;white-space:nowrap}.speed-row{display:flex;gap:3px}.speed-row button{padding:8px 10px}.toolbar-end{margin-left:auto;display:flex;gap:6px}.play-grid{max-width:1500px;margin:24px auto;padding:0 30px;display:grid;grid-template-columns:270px minmax(370px,1fr) 270px;gap:20px;align-items:start}.stack{display:grid;gap:17px;min-width:0}.section-card{padding:20px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.section-head small{color:var(--muted);font-size:9px}.id-head{background:var(--accent);color:var(--paper);padding:9px 15px;display:flex;justify-content:space-between;font:10px/1.5 monospace;letter-spacing:1px}.id-body{padding:19px 15px}.id-person{display:flex;align-items:center;gap:12px;margin-bottom:18px}.id-person canvas{width:51px;height:64px;background:var(--bg)}.id-person h2{font:24px/1.5 var(--serif);overflow-wrap:anywhere}.id-person p{font-size:10px;color:var(--muted)}.id-body .definition{grid-template-columns:70px 1fr;row-gap:6px;font-size:11px}.id-foot{padding:10px 15px;border-top:1px dashed var(--line);font:9px/1.9 monospace;color:var(--muted);letter-spacing:1px;overflow:hidden;white-space:nowrap}.status-bar{display:grid;grid-template-columns:50px 1fr 25px;gap:10px;align-items:center;margin:13px 0;font-size:11px}.track{height:7px;background:var(--line);overflow:hidden}.track>i{height:100%;display:block;transition:width .5s}.status-bar strong{text-align:right;font-weight:400}.money-grid{border-top:1px dashed var(--line);padding-top:15px;margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:14px 10px}.money-grid small{display:block;font-size:9px;color:var(--muted)}.money-grid strong{font-size:15px;font-family:Georgia,var(--serif);font-weight:400}.scene-card{overflow:hidden}.scene-card canvas{width:100%;height:auto;aspect-ratio:600/210;background:#b9dbdf}.scene-caption{padding:10px 16px;font-size:11px;display:flex;justify-content:space-between;gap:10px}.season{color:var(--muted);font-size:10px}.focus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:13px}.focus-grid button{padding:9px 3px;font-size:12px}.focus-grid button span{display:block;font-size:10px;color:var(--muted);margin-top:2px}.focus-note{font-size:11px;color:var(--muted);margin-top:11px}.pending-banner{background:var(--accent-soft);border:1px solid var(--accent);padding:15px;margin-bottom:16px;display:flex;align-items:center;gap:15px}.pending-banner p{flex:1;font-size:12px}.timeline{padding:0 20px 10px;max-height:720px;overflow-y:auto;scrollbar-width:thin}.timeline-entry{display:grid;grid-template-columns:32px 1fr;gap:13px;padding:18px 0;border-top:1px solid var(--line);position:relative}.timeline-entry .entry-age{font:12px Georgia,var(--serif);color:var(--muted);padding-top:2px}.timeline-entry h3{font-size:13px;padding-right:24px}.timeline-entry p{font-size:12px;margin-top:7px;line-height:1.9;color:var(--muted)}.timeline-entry button{position:absolute;right:-5px;top:14px;padding:4px 7px;border:0;background:transparent;color:var(--muted)}.timeline-entry button[aria-pressed=true]{color:var(--accent)}.timeline-entry.choice h3,.timeline-entry.milestone h3{color:var(--teal)}.timeline-entry.ending h3{color:var(--accent)}.delta{display:inline-block;font-size:9px;color:var(--teal);background:var(--bg);padding:1px 5px;margin:6px 4px 0 0}.delta.minus{color:var(--muted)}.timeline-head{padding:20px 20px 6px}.person-row{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line);font-size:11px}.person-row:last-child{border:0;padding-bottom:0}.person-row strong{display:block;font-weight:600}.person-row small{display:block;color:var(--muted);font-size:9px}.person-row>span:last-child{text-align:right}.peer-note{font-size:9px;line-height:1.6;color:var(--muted);margin-top:12px}.life-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;margin:12px 0}.life-cell{aspect-ratio:1;min-width:0;padding:0;border:1px solid transparent;background:var(--line);border-radius:1px;cursor:default}.life-cell.past{background:#98b8a6}.life-cell.special{background:var(--teal);cursor:pointer}.life-cell.current{background:var(--paper);border:2px solid var(--accent)}.life-legend{display:flex;gap:10px;font-size:9px;color:var(--muted)}.life-legend i{display:inline-block;width:7px;height:7px;background:var(--teal);margin-right:4px}.saved-label{font-size:9px;color:var(--muted);margin-top:10px;text-align:right}.modal-backdrop{position:fixed;inset:0;background:#12272f66;backdrop-filter:blur(4px);z-index:30;display:grid;place-items:center;padding:24px}.modal{width:min(640px,100%);max-height:calc(100dvh - 48px);overflow:auto;background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:0 20px 80px #15282533}.modal.wide{width:min(900px,100%)}.modal header{position:sticky;top:0;background:var(--paper);border-bottom:1px solid var(--line);padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:1}.modal header h2{font:23px/1.5 var(--serif)}.modal header button{padding:0;width:33px;height:33px;font-size:22px;flex-shrink:0}.modal-content{padding:25px}.modal-content>p{margin-bottom:18px;font-size:13px}.choices{display:grid;gap:11px;margin:23px 0 12px}.choice{display:block;text-align:left;padding:17px 19px;position:relative}.choice strong{display:block;font-size:14px;margin-bottom:4px}.choice span{display:block;font-size:12px;color:var(--muted)}.choice:after{content:'→';position:absolute;right:15px;top:14px;color:var(--accent)}.choice strong{padding-right:20px}.choice:hover{border-color:var(--accent)}.modal .eyebrow{margin-bottom:8px}.modal-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.source-list{display:grid;gap:12px;margin-top:20px}.source-item{border-top:1px solid var(--line);padding-top:12px;font-size:12px}.source-item a{display:block;font-weight:600}.source-item p{font-size:11px;color:var(--muted);margin-top:4px}.record-row{border:1px solid var(--line);margin:10px 0;padding:16px;display:flex;justify-content:space-between;gap:16px;align-items:center}.record-row strong{font:20px var(--serif)}.record-row p{font-size:11px;color:var(--muted);margin-top:6px}.record-row button{flex-shrink:0}.empty{padding:30px 0;text-align:center;color:var(--muted)}.ending{max-width:1040px;margin:50px auto;padding:0 25px}.ending-head{text-align:center;max-width:650px;margin:auto}.ending-head h1{font:42px/1.6 var(--serif);margin:17px 0}.ending-head p{color:var(--muted);font-size:14px;line-height:2.1}.ending-card{margin:34px 0;padding:32px;display:grid;grid-template-columns:1fr 1fr;gap:36px}.ending-name{font:34px var(--serif)}.ending-years{font:22px Georgia,var(--serif);color:var(--muted);margin:12px 0 20px}.ending-card ul{padding-left:19px;font-size:13px;line-height:2.3}.ending-card .life-grid{max-width:350px}.value-chips{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.value-chips span{padding:6px 10px;border:1px solid var(--line);font-size:11px}.end-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.note-area{max-width:650px;margin:30px auto}.note-area label{font-size:12px;margin-bottom:8px}.note-area textarea{min-height:90px}.loading{padding:80px;text-align:center;color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);z-index:60;background:var(--ink);color:var(--paper);padding:10px 20px;border-radius:6px;opacity:0;pointer-events:none;font-size:12px;max-width:min(90vw,600px);transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}.source-alert{padding:12px 15px;border-left:3px solid var(--teal);background:var(--bg);font-size:12px;line-height:1.9;margin:15px 0}.sound-toggle{white-space:nowrap}.restore-actions{display:flex;gap:8px;flex-wrap:wrap}.help-key{border:1px solid var(--line);padding:1px 5px;font-size:10px}.progressline{height:3px;background:var(--line)}.progressline>i{display:block;height:100%;background:var(--accent);transition:width .8s}
@media(min-width:1450px){.play-grid{grid-template-columns:300px minmax(420px,1fr) 290px}.section-card{padding:22px}}@media(max-width:1150px){.play-grid{grid-template-columns:235px minmax(300px,1fr);gap:15px;padding:0 20px}.right-column{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.hero{gap:35px}.play-toolbar{gap:15px;padding:12px 20px}.clock{min-width:150px}.toolbar-end{margin-left:0}.toolbar-actions{gap:5px}.toolbar-actions button{font-size:11px}.masthead{padding:18px 25px}}@media(max-width:760px){.masthead{padding:15px 18px;gap:10px}.brand{font-size:16px;gap:9px}.brand-mark{width:30px;height:34px;font-size:20px}.brand small{font-size:7px;letter-spacing:1.8px}.masthead nav{gap:5px}.masthead nav button{font-size:10px;padding:7px 8px}.masthead nav button:nth-child(2){display:none}.landing{padding:30px 20px}.hero{grid-template-columns:1fr;gap:30px}.hero h1{font-size:51px;margin:15px 0 20px}.hero-copy>p:not(.eyebrow){font-size:13px;max-width:100%}.hero-stats{margin:24px 0;gap:35px}.hero-stats strong{font-size:27px}.country-panel{padding:20px}.japan-map{height:245px}.settings-card{padding:22px;margin-top:30px}.settings-head{display:block}.settings-head .hint{margin-top:5px}.settings-grid{grid-template-columns:1fr;gap:17px}.settings-bottom{display:block}.settings-bottom button{width:100%;margin-top:17px}.about-strip{gap:15px}.about-strip p{font-size:11px}.play-toolbar{padding:10px 14px;display:block}.clock{margin-bottom:10px;min-width:0;display:flex}.clock strong{font-size:34px}.clock .year{font-size:11px}.toolbar-actions{flex-wrap:wrap;gap:5px}.toolbar-actions button{font-size:10px;padding:8px 9px}.speed-row button{padding:8px}.toolbar-end{margin-left:auto}.play-grid{display:flex;flex-direction:column;padding:0 14px;gap:15px;margin-top:16px}.center-column{order:0;width:100%}.left-column{order:1;width:100%;grid-template-columns:1fr 1fr;gap:12px}.right-column{order:2;width:100%;grid-template-columns:1fr 1fr;gap:12px}.right-column>.paper:last-child{grid-column:1/-1}.section-card{padding:16px}.id-body{padding:14px 12px}.id-person{gap:8px;flex-wrap:wrap}.id-person canvas{width:40px;height:50px}.id-person h2{font-size:20px}.id-body .definition{grid-template-columns:1fr;gap:2px}.id-body .definition dd{margin-bottom:6px}.id-foot{font-size:7px;padding:8px 11px}.status-bar{grid-template-columns:1fr 23px;gap:6px}.status-bar label{grid-column:1/-1}.money-grid{grid-template-columns:1fr;margin-top:15px}.money-grid strong{font-size:15px}.section-head h2{font-size:15px}.section-head small{font-size:8px}.timeline{max-height:520px;padding-inline:16px}.timeline-head{padding:16px 16px 5px}.scene-caption{font-size:10px;flex-wrap:wrap;gap:1px;padding:9px 12px}.focus-grid{gap:6px}.focus-grid button{font-size:11px}.focus-grid button span{font-size:9px}.site-footer{display:block;padding:20px;margin-top:25px}.site-footer span{display:block;margin-bottom:5px}.site-footer .version{display:inline}.modal-backdrop{padding:12px}.modal{max-height:calc(100dvh - 24px)}.modal header{padding:15px 18px}.modal header h2{font-size:21px}.modal-content{padding:20px}.choice{padding:15px}.choice strong{font-size:13px}.choice span{font-size:11px}.certificate{padding:25px}.birth-wrap{margin:30px auto}.certificate-person h2{font-size:28px}.ending{margin:30px auto;padding:0 18px}.ending-head h1{font-size:32px}.ending-card{grid-template-columns:1fr;padding:24px;gap:25px}.record-row{padding:12px}.record-row strong{font-size:17px}}@media(max-width:390px){.brand{font-size:14px}.masthead{padding-inline:12px}.hero h1{font-size:45px}.masthead nav button{padding-inline:6px}.toolbar-end{margin-left:0}.toolbar-actions{gap:4px}.speed-row button{padding:7px}.right-column{grid-template-columns:1fr}.right-column>.paper:last-child{grid-column:auto}.about-strip{grid-template-columns:1fr}.settings-card{padding:19px}.clock .person-clock{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* 3つの時代 — v2.0.0 */
body[data-era="postwar"]{--bg:#eee9de;--paper:#faf7ef;--accent:#74523a;--accent-soft:#e9ded0;--teal:#4f7161;--line:#d3cbbd}body[data-era="bubble"]{--bg:#eeedf3;--paper:#fcfafc;--accent:#87365c;--accent-soft:#f0e1ee;--teal:#4c5688;--line:#d4cedd}body.dark[data-era]{--bg:#152225;--paper:#1e3032;--ink:#e9efe7;--muted:#a4b7af;--line:#3b5150;--accent:#e6af8a;--accent-soft:#3e2b35;--teal:#76b5b4}.era-breadcrumb{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;padding:14px 0 0}.era-breadcrumb a,.era-nav{text-decoration:none}.era-nav{font-size:12px;align-self:center;margin-right:10px}.era-hero{padding-top:40px;min-height:480px}.era-hero h1{font-size:clamp(38px,4.6vw,66px);line-height:1.5}.era-start-note{margin-top:22px}.era-home-art{border:1px solid var(--line);background:var(--paper);align-self:center}.era-home-art canvas{width:100%;display:block;image-rendering:pixelated;aspect-ratio:600/210}.era-home-art>div{padding:22px 26px}.era-home-art strong{font-family:var(--serif);font-size:24px;font-weight:500}.era-home-art p{color:var(--muted);margin-top:10px}.era-home-art .era-mini-facts{display:flex;gap:24px;border-top:1px solid var(--line);font-size:11px;padding:13px 26px}.era-settings>div{display:flex;flex-direction:column;gap:8px}.era-settings>div>strong{font-family:var(--serif);font-size:26px;font-weight:500}.era-context{padding:16px 20px}.era-context>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.era-context h3{font-family:var(--serif);font-size:18px;margin:5px 0}.era-context p{font-size:12px;color:var(--muted);line-height:1.9}.era-context>small{display:block;color:var(--muted);margin-top:8px}.source-link{font-size:11px;line-height:1.7;display:inline-block;margin-top:8px;overflow-wrap:anywhere}.history-tag{display:block;font:10px var(--sans);letter-spacing:.08em;color:var(--teal);margin-bottom:6px}.timeline-entry.history{background:var(--accent-soft)}.timeline-entry.history p{font-size:12px}.life-cell.before-start{background:transparent;border:1px dashed var(--line);opacity:.3}.history-list article{display:grid;grid-template-columns:54px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.history-list time{font-family:var(--serif);font-size:24px;color:var(--accent)}.history-list p{margin-top:6px;font-size:13px}.hero-actions{flex-wrap:wrap}.clock .person-clock{font-size:10px}.era-landing .settings-card{margin-top:10px}
@media(max-width:680px){.era-breadcrumb>span{display:none}.era-hero{padding-top:25px}.era-hero h1{font-size:42px}.era-hero .hero-copy>p{font-size:13px}.era-home-art strong{font-size:20px}.era-home-art>div{padding:18px}.era-nav{margin:0;font-size:10px}.masthead{gap:8px}.masthead nav{gap:5px}.masthead nav button{padding:7px 9px;font-size:10px}.masthead .brand{font-size:14px}.masthead .brand-mark{width:28px;height:32px}.masthead .brand small{font-size:8px}.era-context{padding:15px}.era-context .eyebrow{font-size:9px}.era-breadcrumb{font-size:11px}.history-list article{gap:12px}.era-mini-facts{justify-content:space-between}.era-home-art .era-mini-facts{gap:9px;padding:13px 18px}}
/* v3 — 生まれた日から、12の時代 */
body[data-era="jomon"],body[data-era="yayoi"]{--bg:#eeeade;--paper:#faf7eb;--accent:#69523d;--accent-soft:#e8dfcf;--teal:#52735c;--line:#d3cbb9}
body[data-era="kofun"],body[data-era="asuka"],body[data-era="nara"]{--bg:#ece8dc;--paper:#faf7ec;--accent:#915342;--accent-soft:#f0dfd5;--teal:#566b58;--line:#d5c9b5}
body[data-era="heian"]{--bg:#ede9f0;--paper:#fbf8fc;--accent:#735875;--accent-soft:#e9dce8;--teal:#686f86;--line:#d6cbd7}
body[data-era="kamakura"],body[data-era="muromachi"],body[data-era="sengoku"]{--bg:#e8ebe4;--paper:#f8faf2;--accent:#535f42;--accent-soft:#e0e6d4;--teal:#566d77;--line:#cbd1c1}
body[data-era="edo"]{--bg:#e6eced;--paper:#f6faf8;--accent:#315e70;--accent-soft:#d9e8ed;--teal:#5b7568;--line:#c3d3d5}
body[data-era="modern"]{--bg:#eee8df;--paper:#fcf8f0;--accent:#8a4c3e;--accent-soft:#f0dfd8;--teal:#59736b;--line:#d8cbbd}
body.dark[data-era]{--bg:#152225;--paper:#1e3032;--ink:#e9efe7;--muted:#afc1b9;--line:#3b5150;--accent:#e6af8a;--accent-soft:#3e2b35;--teal:#8bc3c0}
.era-hero h1{font-size:clamp(36px,4.2vw,62px)}
.fixed-setting{border:1px solid var(--line);padding:10px;border-radius:4px;min-height:47px;background:var(--bg);font-size:12px}
.home-source-link{margin-top:20px}.finance-note{margin-top:14px}.family-late{opacity:.64}
.birth-v3{max-width:1020px;margin:40px auto 70px}.birth-v3 .birth-heading h1{font-size:clamp(27px,4vw,43px);letter-spacing:.025em}
.birth-landscape{overflow:hidden;margin:28px 0 20px}.birth-landscape canvas{width:100%;height:auto;aspect-ratio:600/210}.birth-landscape .scene-caption{padding:13px 23px}
.birth-columns{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px;align-items:start}.birth-v3 .certificate{height:100%;padding:26px 30px}.birth-v3 .certificate:after{content:none}
.birth-v3 .certificate-person{margin:15px 0 25px}.birth-v3 .certificate-person canvas{width:80px;height:100px}.birth-v3 .certificate-person h2{font-size:30px}.birth-v3 .certificate-person p{font-size:12px}.birth-v3 .definition{grid-template-columns:110px 1fr;row-gap:14px;font-size:12px}.birth-v3 .definition small{display:block;color:var(--muted);margin-top:4px}.birth-family{padding:26px}.birth-family .section-head{border-bottom:1px solid var(--line);padding-bottom:12px}.birth-family .person-row{font-size:12px;padding:11px 0}.birth-family .person-row small{font-size:10px}
.birth-audit-teaser{margin-top:22px;border-top:1px dashed var(--line);padding-top:20px}.birth-audit-teaser>p:not(.eyebrow){margin-top:7px;font:17px/1.8 var(--serif)}.birth-audit-teaser button{margin-top:15px;font-size:12px}.birth-footnote{text-align:center;margin:17px auto 0;max-width:700px}.birth-begin{display:block;max-width:520px;margin:20px auto 0;font-size:16px;padding:17px}
.probability-card{background:linear-gradient(135deg,var(--paper),var(--bg))}.probability-card h2{margin:5px 0 14px;font-family:var(--serif);font-size:22px}.risk-label{font-size:10px;color:var(--muted);line-height:1.8}.risk-number{display:block;font:31px/1.6 Georgia,var(--serif);letter-spacing:-.02em;color:var(--accent)}.probability-card .full-button{margin-top:15px;font-size:11px;padding:11px 7px}
.evidence-badge{display:inline-block;font:10px/1.6 var(--sans);letter-spacing:.05em;border:1px solid var(--line);padding:2px 7px;background:var(--bg);color:var(--muted);border-radius:2px;white-space:nowrap}.evidence-badge.observed{border-color:var(--teal);color:var(--teal)}.evidence-badge.proxy{border-color:var(--gold);color:var(--gold)}.evidence-badge.estimate{border-color:var(--accent);color:var(--accent)}.evidence-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:11px;color:var(--muted);margin:14px 0 20px}.audit-heading{font:24px/1.6 var(--serif);padding-top:18px;margin:20px 0 12px;border-top:1px solid var(--line)}.audit-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:15px 0}.audit-item{border:1px solid var(--line);padding:15px;background:var(--bg);overflow-wrap:anywhere}.audit-item>header{position:static!important;padding:0!important;border:0!important;background:none!important;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:auto!important}.audit-item>header>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.audit-item h3{font-size:13px}.audit-item header>strong{font:22px Georgia,serif;color:var(--accent);white-space:nowrap}.audit-item>p{font-size:11px;color:var(--muted);margin-top:7px}.audit-item .audit-result{font-size:14px;color:var(--ink)}.audit-item dl{display:grid;grid-template-columns:70px 1fr;gap:6px;font-size:10px;margin:13px 0 0;line-height:1.8}.audit-item dt{color:var(--muted)}.audit-item dd{margin:0}.audit-item .source-link{font-size:10px}.audit-log{max-height:500px;overflow:auto;display:grid;gap:10px;padding-right:5px;scrollbar-width:thin}.history-list article{grid-template-columns:90px 1fr}.history-list time{font-size:19px;overflow-wrap:anywhere}
.farewell-card{overflow:hidden;margin:32px 0}.farewell-card canvas{width:100%;height:auto;aspect-ratio:600/300}.farewell-caption{padding:27px 30px;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}.farewell-caption h2{font:25px/1.8 var(--serif);margin:6px 0}.farewell-caption h2 strong{font:42px/1 Georgia,serif;color:var(--accent);margin-left:7px}.farewell-caption p:not(.eyebrow){font-size:12px;color:var(--muted)}.farewell-family{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.farewell-family li{display:grid;gap:2px;padding:8px 10px;border-left:2px solid var(--line);font-size:12px;overflow-wrap:anywhere}.farewell-family li>span,.farewell-family small{font-size:10px;color:var(--muted)}.farewell-note{padding:0 30px 22px}.ending-years{line-height:1.8}.life-legend{flex-wrap:wrap}.section-card .life-grid{grid-template-columns:repeat(10,minmax(0,1fr))}
@media(max-width:1150px){.right-column{grid-template-columns:repeat(3,minmax(0,1fr))}.birth-v3{max-width:900px}}
@media(max-width:760px){.birth-v3{margin:28px auto 45px;padding:0 15px}.birth-columns{grid-template-columns:1fr;gap:15px}.birth-v3 .certificate{padding:22px}.birth-family{padding:22px}.birth-v3 .certificate-person h2{font-size:29px}.birth-landscape .scene-caption{padding:10px 15px}.birth-v3 .definition{grid-template-columns:104px 1fr;font-size:12px}.birth-v3 .birth-heading h1{font-size:27px}.birth-begin{font-size:14px}.audit-grid{grid-template-columns:1fr}.audit-heading{font-size:21px}.audit-item dl{grid-template-columns:65px 1fr}.audit-log{max-height:410px}.evidence-legend{font-size:10px;gap:5px}.right-column{grid-template-columns:1fr 1fr}.risk-number{font-size:27px}.farewell-caption{padding:20px;grid-template-columns:1fr;gap:18px}.farewell-family{grid-template-columns:repeat(2,minmax(0,1fr))}.farewell-caption h2{font-size:22px}.farewell-note{padding:0 20px 20px}.history-list article{grid-template-columns:68px 1fr}.history-list time{font-size:16px}.era-hero h1{font-size:40px}}
@media(max-width:420px){.right-column,.left-column{grid-template-columns:1fr}.id-person{flex-wrap:nowrap}.id-body .definition{grid-template-columns:80px 1fr;gap:6px}.id-body .definition dd{margin:0}.status-bar{grid-template-columns:50px 1fr 25px}.status-bar label{grid-column:auto}.money-grid{grid-template-columns:1fr 1fr}.birth-v3 .certificate-person h2{font-size:26px}.certificate-person{gap:16px}.era-hero h1{font-size:36px}.hero-actions button{width:100%}.hero-actions .primary{padding-inline:15px}.birth-v3 .certificate-person canvas{width:64px;height:80px}}
/* v3.1 — 節目を選び、家族の顔を見る */
.choice-update-notice{margin:20px 0 0;border:1px solid var(--teal);border-left:4px solid var(--teal);padding:14px 18px;background:var(--paper);font-size:12px;color:var(--teal)}
.life-mode-panel{max-width:1440px;margin:20px auto 0;padding:16px 22px;background:var(--paper);border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px}.life-mode-panel strong{display:block;font:21px/1.7 var(--serif);margin:3px 0}.life-mode-panel p:not(.eyebrow){font-size:11px;color:var(--muted)}.life-mode-panel>label{min-width:170px;flex-shrink:0}.life-mode-panel>label>span,.settings-mode-label>span{display:block;color:var(--muted);font-size:11px;margin-bottom:6px}.settings-mode-label{margin-bottom:18px}
.decision-roadmap ol{padding:0;margin:0;list-style:none;display:grid;gap:14px}.decision-roadmap li{border-left:2px solid var(--line);padding-left:12px;display:grid;gap:2px}.decision-roadmap li>span{font:12px Georgia,var(--serif);color:var(--accent)}.decision-roadmap li>strong{font-size:12px;font-weight:500}.decision-roadmap li>small{font-size:9px;color:var(--muted)}.decision-roadmap>p{margin-top:14px}
.choice-result>.eyebrow{margin-bottom:14px}.decision-result-label{font:24px/1.7 var(--serif);margin:8px 0 14px}.decision-result-story{font-size:14px;line-height:2.1;color:var(--muted)}.new-family-portrait{display:flex;align-items:center;gap:24px;padding:22px;background:var(--bg);border:1px solid var(--line);margin:15px 0 24px}.new-family-portrait canvas{width:80px;height:100px;flex-shrink:0;image-rendering:pixelated}.new-family-portrait>div>span{font-size:11px;color:var(--teal)}.new-family-portrait h3{font:30px/1.6 var(--serif);overflow-wrap:anywhere}.new-family-portrait p{font-size:11px;color:var(--muted);margin-top:5px}.family-result .decision-result-label{font-size:20px}.result-effects{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.result-effects>span{padding:7px 10px;background:var(--bg);font-size:11px;border:1px solid var(--line)}.result-effects b{margin-left:5px;font-weight:500;color:var(--teal)}.family-event-label{display:inline-block;margin-bottom:8px;background:var(--accent-soft);border:1px solid var(--line);padding:2px 8px;font:10px/1.7 var(--sans);color:var(--accent)}.family-event-label:after{content:'';display:block}.family-new{border-left:3px solid var(--accent);padding-left:10px;background:var(--accent-soft)}.new-family-badge{display:inline-block;margin-left:5px;font-size:8px;color:var(--accent);letter-spacing:.05em}
@media(max-width:1500px){.life-mode-panel{margin-left:30px;margin-right:30px}}@media(max-width:1150px){.life-mode-panel{margin-left:20px;margin-right:20px}.right-column{grid-template-columns:repeat(2,minmax(0,1fr))}.right-column>.paper:last-child{grid-column:auto}}@media(max-width:760px){.life-mode-panel{margin:15px 14px 0;padding:15px;align-items:start;gap:15px}.life-mode-panel strong{font-size:17px}.life-mode-panel .eyebrow{font-size:8px;letter-spacing:1px}.life-mode-panel>label{min-width:115px;width:115px}.life-mode-panel select{font-size:12px;padding:8px}.life-mode-panel p:not(.eyebrow){font-size:10px}.new-family-portrait{gap:16px;padding:17px}.new-family-portrait canvas{width:64px;height:80px}.new-family-portrait h3{font-size:26px}.decision-result-label{font-size:21px}.decision-result-story{font-size:13px}.choice-update-notice{font-size:11px}}@media(max-width:460px){.life-mode-panel{display:block}.life-mode-panel>label{display:flex;align-items:center;width:100%;gap:12px;margin-top:12px}.life-mode-panel>label>span{white-space:nowrap;margin:0}.life-mode-panel select{flex:1}.right-column{grid-template-columns:1fr}.new-family-portrait h3{font-size:24px}}
/* v3.2 — 家族の別れを、ひとつの物語として残す */
.family-loss-banner{max-width:1440px;margin:20px auto 0;padding:20px 23px;border:1px solid var(--teal);border-left:4px solid var(--teal);background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:24px}.family-loss-banner h2{font:23px/1.7 var(--serif);margin:5px 0}.family-loss-banner p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.9}.family-loss-banner button{flex-shrink:0;font-size:12px}.family-loss-story>.eyebrow{margin-bottom:20px}.loss-person{display:flex;align-items:center;gap:22px;padding:22px;border:1px solid var(--line);background:var(--bg);margin:10px 0 25px}.loss-person canvas{width:80px;height:100px;flex-shrink:0}.loss-person>div>span{font-size:12px;color:var(--teal)}.loss-person h3{font:32px/1.7 var(--serif);overflow-wrap:anywhere}.loss-person p{font-size:13px;margin:4px 0;color:var(--ink)}.loss-person small{font-size:11px;color:var(--muted)}.loss-main-text{font:18px/2.1 var(--serif);white-space:pre-line}.loss-memory{border-left:2px solid var(--line);padding:3px 0 3px 17px;margin:24px 0}.loss-memory>span{font-size:10px;letter-spacing:.08em;color:var(--teal)}.loss-memory p{font-size:13px;line-height:2;margin-top:8px;color:var(--muted);white-space:pre-line}.loss-pause-note{text-align:center;font-size:10px;line-height:1.9;color:var(--muted);margin-top:12px}.family-late{opacity:1}.family-late>span:first-child{color:var(--muted)}.family-loss-replay{font-size:10px;border:0;background:transparent;padding:5px 0 0;color:var(--teal);display:inline-block}.timeline-entry .timeline-loss-replay{position:static;display:block;border:0;padding:8px 0 2px;margin-top:3px;font-size:11px;text-align:left;color:var(--teal);background:none}.timeline-entry.loss h3{color:var(--teal)}.loss-bridge{max-width:900px;padding:35px 25px;margin:20px auto}.loss-bridge h1{font:32px/1.7 var(--serif);margin:14px 0}.loss-bridge>p:not(.eyebrow){font-size:13px;color:var(--muted)}.loss-bridge>.paper{margin-top:24px}.loss-bridge .family-loss-banner{margin:25px 0 0}.loss-bridge .person-row{font-size:13px}.loss-bridge .person-row small{font-size:11px}
@media(max-width:1500px){.family-loss-banner{margin-left:30px;margin-right:30px}}@media(max-width:1150px){.family-loss-banner{margin-left:20px;margin-right:20px}}@media(max-width:760px){.family-loss-banner{margin:15px 14px 0;display:block;padding:17px}.family-loss-banner h2{font-size:21px}.family-loss-banner button{margin-top:14px;width:100%;padding:12px}.family-loss-banner .eyebrow{font-size:9px;letter-spacing:1px}.loss-person{padding:17px;gap:16px}.loss-person canvas{width:64px;height:80px}.loss-person h3{font-size:27px}.loss-person p{font-size:12px}.loss-main-text{font-size:16px;line-height:2}.loss-memory p{font-size:12px}.family-loss-story .full-button{font-size:13px;padding:14px 10px}.loss-bridge{padding:25px 18px}.loss-bridge h1{font-size:27px}}@media(max-width:390px){.loss-person{gap:12px;padding:14px}.loss-person h3{font-size:24px}.loss-person small{font-size:10px}}
/* v3.3: people in the hero, and the final household record. */
#life-scene,#birth-scene,#farewell-scene{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.household-panel{padding:20px 22px 18px;border-top:1px solid var(--line)}
.kin-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}
.kin-heading h2{font:21px/1.6 var(--serif);margin-top:4px}.kin-heading h3{font:20px/1.6 var(--serif)}
.kin-total{white-space:nowrap;color:var(--muted);font-size:12px}.kin-total strong{font:30px/1 Georgia,serif;color:var(--ink);margin-right:3px}.kin-total small{display:block;font-size:9px;margin-top:5px;text-align:right}
.kin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.kin-card{display:flex;align-items:center;gap:10px;min-width:0;padding:11px 10px;background:var(--bg);border:1px solid var(--line);border-radius:4px}
.kin-card.kin-self{border-color:var(--teal)}.kin-face{position:relative;flex-shrink:0}
.kin-card canvas[data-kin-portrait]{width:40px;height:50px;aspect-ratio:4/5;object-fit:contain;border-radius:2px}
.kin-number{position:absolute;left:-5px;bottom:-5px;display:grid;place-items:center;min-width:17px;height:17px;padding:0 3px;background:var(--ink);color:var(--paper);border-radius:50%;font:10px/1 var(--sans);border:1px solid var(--paper)}
.kin-info{min-width:0;display:flex;flex-direction:column;align-items:flex-start;line-height:1.6}
.kin-relation{font-size:10px;color:var(--muted)}.kin-name{font:600 15px/1.65 var(--serif);overflow-wrap:anywhere;word-break:normal}.kin-age{font-size:11px;color:var(--ink)}.kin-death-year{font-size:10px;color:var(--muted)}
.household-note{margin-top:13px;font-size:10px}.kin-deceased{background:transparent;border-style:dashed}.kin-deceased canvas{filter:grayscale(.65);opacity:.82}.kin-empty{font-size:13px;color:var(--muted);padding:12px 0}
.life-recap{padding:27px 30px;margin:28px 0}.life-recap>header h2{font:26px/1.6 var(--serif);margin-top:7px}.life-recap>header>p:last-child{font-size:11px;color:var(--muted);margin-top:6px}
.recap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:24px}.recap-item{min-width:0;border-top:2px solid var(--line);padding-top:15px}.recap-label{display:block;color:var(--muted);font-size:12px;margin-bottom:12px}.recap-main{display:block;font:32px/1.45 Georgia,var(--serif);color:var(--accent);overflow-wrap:anywhere}.recap-main small{font:15px var(--sans);margin-left:7px}.recap-job{font:23px/1.7 var(--serif);color:var(--ink)}.recap-detail,.recap-surviving{font-size:12px;margin-top:12px}.recap-detail>span{margin:0 5px;color:var(--muted)}.recap-surviving{margin-top:6px}.recap-item>.hint{font-size:10px;margin-top:13px}.recap-money{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:11px;margin:15px 0 0}.recap-money dt{color:var(--muted)}.recap-money dd{margin:0;text-align:right;overflow-wrap:anywhere}.recap-possessions{padding-left:18px;font-size:11px}
.farewell-caption{grid-template-columns:1.35fr 1fr}.farewell-caption h2{font-size:24px}.farewell-caption p strong{color:var(--ink);margin:0 4px}
.farewell-protagonist{display:flex;align-items:center;gap:14px;justify-self:end;padding:14px 18px;border-left:2px solid var(--accent);background:var(--bg);min-width:0}.farewell-protagonist canvas{width:48px;height:60px;aspect-ratio:4/5;object-fit:contain;flex-shrink:0}.farewell-protagonist>div{display:flex;flex-direction:column;min-width:0}.farewell-protagonist span{font-size:10px;color:var(--muted)}.farewell-protagonist strong{font:21px/1.7 var(--serif);overflow-wrap:anywhere}.farewell-protagonist small{font-size:10px;color:var(--muted)}
.farewell-living,.farewell-deceased{margin:0 30px;padding:23px 0;border-top:1px solid var(--line)}.farewell-card .kin-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.farewell-living>.hint,.farewell-deceased>.hint{margin-top:15px;font-size:10px}.farewell-note{margin-top:3px}
@media(min-width:1100px){.birth-landscape .kin-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.household-panel{padding:17px 14px}.kin-heading h2{font-size:19px}.kin-heading h3{font-size:18px}.kin-heading .eyebrow{font-size:8px;letter-spacing:1.2px}.kin-total strong{font-size:27px}.kin-grid{gap:7px}.kin-card{padding:9px 8px;gap:8px}.kin-card canvas[data-kin-portrait]{width:32px;height:40px}.kin-name{font-size:14px}.kin-age{font-size:11px}.life-recap{padding:22px 20px}.life-recap>header h2{font-size:23px}.recap-grid{grid-template-columns:1fr;gap:22px;margin-top:20px}.recap-main{font-size:30px}.recap-job{font-size:22px}.recap-item>.hint{margin-top:8px}.farewell-caption{grid-template-columns:1fr}.farewell-protagonist{justify-self:stretch}.farewell-living,.farewell-deceased{margin:0 20px;padding:19px 0}.farewell-card .kin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:350px){.kin-grid,.farewell-card .kin-grid{grid-template-columns:1fr}.kin-card canvas[data-kin-portrait]{width:40px;height:50px}.kin-heading{gap:8px}}
/* v3.4: separate households, housing decisions and clear cause-of-death records. */
.household-address{font-size:12px;color:var(--muted);margin-top:6px}.kin-residence{font-size:10px;border:1px solid var(--line);padding:0 6px;border-radius:3px;margin-top:5px;color:var(--teal);background:var(--paper)}.kin-residence.kin-away{color:var(--muted)}.kin-residence-detail{font-size:10px;color:var(--muted);margin-top:4px;overflow-wrap:anywhere}
.away-family{border-top:1px solid var(--line);padding:14px 22px 18px}.away-family summary{font-size:13px;font-weight:600;cursor:pointer;color:var(--muted)}.away-family summary strong{color:var(--ink);margin-left:6px}.away-family>.hint{margin:12px 0}.away-family .kin-grid{margin-top:14px}.away-family .kin-card{background:transparent}
.housing-panel .section-head{gap:15px;align-items:flex-start}.housing-panel h2{font:23px/1.6 var(--serif);margin-top:5px}.housing-tenure{padding:5px 9px;border:1px solid var(--line);background:var(--bg);font-size:11px;text-align:right;max-width:55%;overflow-wrap:anywhere}.housing-numbers{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,1fr);gap:7px 16px;margin:20px 0;font-size:12px}.housing-numbers dt{color:var(--muted)}.housing-numbers dd{margin:0;text-align:right;font-weight:600;overflow-wrap:anywhere}.housing-model-note{font-size:10px;margin-bottom:14px}.housing-blocked{margin-top:8px;font-size:10px}.housing-panel .full-button{font-size:13px;padding:12px}
.housing-current{font-size:13px;padding:13px 16px;background:var(--bg);margin-bottom:12px}.housing-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.housing-option{display:flex;flex-direction:column;gap:12px;padding:21px;border:1px solid var(--line);border-radius:5px;min-width:0}.housing-option h3{font:21px/1.6 var(--serif)}.housing-option>p{font-size:12px;color:var(--muted);line-height:1.9}.housing-option dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 10px;font-size:11px;margin:0}.housing-option dt{color:var(--muted)}.housing-option dd{margin:0;text-align:right;overflow-wrap:anywhere}.housing-option button{margin-top:auto;width:100%;padding:12px}.housing-option.unavailable{background:var(--bg);border-style:dashed}.housing-option.unavailable h3{color:var(--muted)}.housing-option>.housing-unavailable-reason{font-size:11px;color:var(--accent);margin-top:-5px}.housing-result h3{font:27px/1.6 var(--serif);margin:12px 0}.housing-result>p:not(.eyebrow){font-size:14px;line-height:2}.housing-result-family{padding-top:16px;border-top:1px solid var(--line);margin-bottom:22px}.housing-result-family strong{font-family:Georgia,var(--serif);font-size:24px;margin-left:5px}
.family-residence{color:var(--teal)!important;font-weight:600}.death-cause{border-left:3px solid var(--accent);background:var(--accent-soft);padding:17px 20px;margin:22px 0;color:var(--ink)}.death-cause>span{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}.death-cause>strong{display:block;font:23px/1.6 var(--serif);overflow-wrap:anywhere}.death-cause>p{font-size:13px;line-height:1.9;margin-top:7px}.death-cause>small{display:block;font-size:10px;color:var(--muted);line-height:1.9;margin-top:9px}.death-cause.cause-compact{background:transparent;padding:0;border:0;margin:6px 0 0}.death-cause.cause-compact>span{font:9px/1.6 var(--sans);margin-bottom:0}.death-cause.cause-compact>strong{font:11px/1.7 var(--sans);color:var(--muted);font-weight:500}.person-row .death-cause{text-align:right}.recap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.life-recap>.death-cause{margin-top:26px;margin-bottom:0}.farewell-card .kin-card{align-items:flex-start}.farewell-protagonist .cause-compact{margin-top:8px}.farewell-protagonist .cause-compact strong{font:12px/1.6 var(--sans)}
@media(max-width:760px){.away-family{padding:14px}.housing-panel h2{font-size:21px}.housing-numbers{font-size:11px;gap:7px 10px}.housing-options{grid-template-columns:1fr;gap:12px}.housing-option{padding:18px}.housing-current{font-size:12px}.housing-result h3{font-size:24px}.recap-grid{grid-template-columns:1fr}.death-cause{padding:15px;margin-top:18px}.death-cause>strong{font-size:21px}.death-cause>p{font-size:12px}}

.housing-recent{border-top:1px solid var(--line);margin:18px 0;padding-top:12px}.housing-recent h3{font-size:14px}.housing-recent p{display:grid;gap:4px;font-size:12px;line-height:1.7;margin:12px 0}.housing-recent small{color:var(--muted)}.housing-recent span{color:var(--muted)}.household-change article+article{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.household-change article>p{line-height:1.9}

.kin-origin{display:block;color:var(--muted);font-size:11px;line-height:1.6;margin-top:5px}.family-arrival>p{line-height:1.9}.family-arrival .new-family-portrait+.new-family-portrait,.choice-result .new-family-portrait+.new-family-portrait{margin-top:12px}

/* v3.6: family ties and legible sex symbols, always accompanied by text. */
.sex-badge{display:inline-flex;align-items:center;gap:4px;vertical-align:middle;border:1px solid currentColor;border-radius:4px;padding:1px 5px;font:12px/1.4 var(--sans);white-space:nowrap;margin:4px 0;letter-spacing:0}
.sex-badge>span{font:700 16px/1.1 Arial,sans-serif}.sex-badge>small{font:10px/1.4 var(--sans);margin:0!important;color:inherit!important;display:inline!important}
.sex-male{color:#255c7a;background:#e8f3f7}.sex-female{color:#75415b;background:#f8edf2}.sex-unknown{color:var(--muted);background:var(--paper)}
.dark .sex-male{color:#b3ddf3;background:#243e4a}.dark .sex-female{color:#f1c4d8;background:#482e3c}
.person-row>span:last-child>.sex-badge{display:inline-flex;margin-left:5px}.kin-relationship{display:block;margin-top:5px;font:11px/1.7 var(--sans);color:var(--teal);overflow-wrap:anywhere}
.farewell-former{margin:0 30px;padding:23px 0;border-top:1px solid var(--line)}.farewell-former>.hint{margin-top:15px;font-size:10px}.farewell-former .kin-card{border-style:dashed}
@media(max-width:760px){.farewell-former{margin:0 20px;padding:19px 0}.sex-badge{padding:1px 4px}.kin-relationship{font-size:10px}}
@media(max-width:560px){.kin-grid,.farewell-card .kin-grid{grid-template-columns:1fr}.kin-card{gap:13px;padding:13px}.kin-card canvas[data-kin-portrait]{width:40px;height:50px}.kin-relationship,.kin-origin,.kin-residence-detail{font-size:11px}.kin-name{font-size:16px}}

/* Annual family opportunities and the population behind an era. */
.family-demography .section-head{align-items:baseline;gap:12px}
.family-demography h2{font-size:1.12rem}.population-context{border-left:3px solid var(--teal);padding:3px 0 3px 15px;margin:16px 0 20px}.population-context>span{display:block;font-size:.72rem;letter-spacing:.09em;color:var(--muted)}.population-context>strong{display:block;font-size:1.35rem;margin-top:4px}.population-context p{font-size:.8rem;line-height:1.6;margin:6px 0}.family-rate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px}.family-rate{border:1px solid var(--line);padding:14px;border-radius:8px;min-width:0}.family-rate>span{display:block;font-size:.76rem;color:var(--muted)}.family-rate>strong{display:block;font-size:1.55rem;line-height:1.3;margin:7px 0}.family-rate>small{display:block}.family-rate p{font-size:.72rem;line-height:1.7;margin:8px 0 0;color:var(--muted);overflow-wrap:anywhere}.family-intent{font-size:.83rem;line-height:1.8;padding:12px 0;border-block:1px solid var(--line)}.family-context-events article{margin:16px 0;padding:12px 15px;background:color-mix(in srgb,var(--teal) 7%,transparent);border-radius:6px}.family-context-events strong{font-size:.85rem}.family-context-events p,.family-methods p{font-size:.8rem;line-height:1.8}.family-demography .hint{line-height:1.8}.family-demography .source-link{font-size:.72rem;overflow-wrap:anywhere}.family-methods{border-top:1px solid var(--line);margin-top:16px}.modal .family-demography{margin:22px 0;box-shadow:none}.family-demography .section-head small{white-space:nowrap}
@media(max-width:560px){.family-rate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.family-rate{padding:12px}.family-rate>strong{font-size:1.4rem}.family-demography .section-head{display:block}.family-demography .section-head small{display:block;margin-top:5px}}
/* v3.8 · small lives and the people around you */
.companions-panel,.social-panel{overflow:hidden}.companion-count{font-size:12px;color:var(--muted);white-space:nowrap}.pet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pet-card{display:flex;align-items:center;gap:10px;min-width:0;padding:12px;background:var(--bg);border:1px solid var(--line);border-radius:10px}.pet-card canvas,.friend-card canvas,.pet-option canvas,.social-choice-person canvas,.life-news canvas{flex:none;width:64px;height:80px;image-rendering:pixelated;border-radius:5px;background:#e6ece3}.pet-card div,.friend-card div{min-width:0}.pet-card strong,.pet-card small,.friend-card strong,.friend-card small,.friend-card div>span{display:block;overflow-wrap:anywhere}.pet-card strong{font-size:18px;margin:3px 0}.pet-card small,.pet-card div>span{font-size:11px;color:var(--muted);line-height:1.7}.companion-late{opacity:.74}.companion-late canvas{filter:grayscale(.65)}.companion-empty{color:var(--muted);font-size:13px;line-height:1.9;padding:5px 0 12px}.pet-care{font-size:12px;line-height:1.8;padding:12px;background:var(--bg);border-radius:8px}.pet-care small{display:block;color:var(--muted)}.companion-model{font-size:12px;line-height:1.9;color:var(--muted);margin-top:18px}.companion-model summary{cursor:pointer}.companion-model p{margin:10px 0}.friend-list{display:grid;gap:12px}.friend-card{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.friend-card canvas{width:48px;height:60px}.friend-card strong{font-size:14px;margin:3px 0}.friend-card small{font-size:11px;color:var(--muted);line-height:1.7}.friend-card .sex-badge{display:inline-flex;margin:3px 0}.friend-card .sex-badge small{display:inline}.friend-card div>span{font-size:12px}.episode-list{margin:18px 0}.episode-list h3{font-size:13px;margin-bottom:10px}.episode-list article{border-left:3px solid var(--accent);padding:8px 12px;margin:8px 0;background:var(--bg)}.episode-list article[data-episode-status="recovered"]{border-color:var(--green)}.episode-list span,.episode-list small{display:block;font-size:12px;margin-top:4px;color:var(--muted)}.career-list{font-size:12px;line-height:1.7;margin:15px 0}.career-list summary{cursor:pointer}.career-list p{padding:10px 0;border-bottom:1px solid var(--line)}.career-list p>span,.career-list p>small{display:block;color:var(--muted)}.companion-model-note{font-size:11px;line-height:1.8;margin-top:16px}.pet-name-label{display:block;margin:20px 0;font-weight:600}.pet-name-label small{display:inline-block;margin-left:8px;font-weight:400;color:var(--muted)}.pet-name-label input{display:block;box-sizing:border-box;width:100%;max-width:420px;padding:12px;margin-top:8px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font:inherit}.pet-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pet-option{display:flex;flex-direction:column;gap:10px;border:1px solid var(--line);border-radius:12px;padding:18px}.pet-option.unavailable{background:var(--bg)}.pet-option-heading{display:flex;gap:12px;align-items:center}.pet-option-heading h3{font-size:16px}.pet-option p{font-size:13px;line-height:1.8;margin:0}.pet-option p.hint{font-size:11px}.pet-option .full-button{margin-top:auto}.social-choice-person{display:flex;align-items:center;gap:20px;margin:20px 0}.social-choice-person h3{font-size:22px;margin:0 0 6px}.life-news article{padding:8px 0 22px;margin-bottom:16px;border-bottom:1px solid var(--line);display:flow-root}.life-news article canvas{float:left;margin:6px 18px 10px 0}.life-news h3{font-size:18px;line-height:1.6}.life-news p{line-height:1.9}.life-news .hint{clear:both}.life-news .full-button+.full-button{margin-top:10px}.ending-companions{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:24px 0}.social-history{margin-top:20px}.social-history .timeline-entry{padding:20px 10px}.social-pending{border-left:4px solid var(--teal)}
@media(max-width:700px){.pet-grid,.pet-options,.ending-companions{grid-template-columns:1fr}.pet-card{padding:10px}.pet-option{padding:14px}.pet-option-heading h3{font-size:15px}.companion-count{white-space:normal;text-align:right}.social-history .timeline-entry{padding:16px 0}.social-pending{align-items:stretch}.social-pending button{white-space:normal}}
/* v3.9 · names, relationships and survey context */
.names-panel h2{font-size:16px;margin:7px 0}.name-current{font-family:var(--serif);font-size:19px;margin:10px 0}.names-panel details{font-size:12px;margin-top:16px;line-height:1.8}.names-panel details summary,.pet-evidence summary{cursor:pointer}.names-panel article{padding-top:14px}.names-panel article p{padding:6px 0;border-bottom:1px solid var(--line)}.names-panel article small,.names-panel article span{display:block}.names-panel article small{color:var(--muted)}.name-pending{border-left:4px solid var(--gold)}.pet-evidence{margin-top:18px;font-size:12px;line-height:1.8}.pet-evidence>p{margin:12px 0}.pet-stat-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pet-stat-list article{padding:12px;border:1px solid var(--line);background:var(--bg);border-radius:8px;min-width:0}.pet-stat-list article span,.pet-stat-list article small{display:block;overflow-wrap:anywhere}.pet-stat-list article small{color:var(--muted);line-height:1.8}.pet-stat-list .source-link{font-size:11px}.name-choice>p{line-height:1.9}.farewell-card{margin-top:24px}.farewell-living .kin-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}canvas,.pet-card canvas,.friend-card canvas,.pet-option canvas,.social-choice-person canvas,.life-news canvas{image-rendering:auto!important}
@media(max-width:700px){.pet-stat-list{grid-template-columns:1fr}.farewell-living .kin-grid{grid-template-columns:1fr}.name-pending button{white-space:normal}}
/* v3.10: era scenery previews and clearly labelled birth-house assumptions. */
.scene-preview-controls{display:flex;gap:8px;flex-wrap:wrap;margin:12px 18px 0}
.scene-preview-controls button{padding:7px 13px;font-size:.8rem;border-radius:20px}
.scene-preview-controls button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.era-home-art .scene-preview-note{font-size:.72rem;margin:8px 18px 14px;line-height:1.6}
.origin-card .origin-class{font-family:var(--serif,serif);font-size:1.12rem;font-weight:700;line-height:1.7;margin:8px 0 15px}
.origin-card .definition{margin:12px 0}
.origin-card .definition dt{line-height:1.65}
.origin-card .origin-note{margin:12px 0;line-height:1.8}
.origin-card details{border-top:1px solid var(--line);padding-top:12px;font-size:.76rem;line-height:1.8}
.origin-card summary{cursor:pointer}
.birth-family .origin-card{box-shadow:none;background:transparent;border-radius:0;border:0;border-top:1px solid var(--line);padding:22px 0 0;margin-top:24px}
/* Compact family ledger: keep every detail visible, without reserving a line per field. */
.right-column .family-sidebar{padding:15px 17px}
.right-column .family-sidebar>.section-head{margin-bottom:7px}
.right-column .family-sidebar .person-row{display:block;padding:1px 0;font-size:11px;line-height:1.35;overflow-wrap:anywhere}
.right-column .family-sidebar .person-row>span:first-child{display:inline;white-space:normal;color:var(--muted)}
.right-column .family-sidebar .person-row>span:first-child:after{content:'：'}
.right-column .family-sidebar .person-row>span:last-child{display:inline;text-align:left;min-width:0;overflow-wrap:anywhere}
.right-column .family-sidebar .person-row strong{display:inline;font-size:12px;line-height:1.35}
.right-column .family-sidebar .person-row>span:last-child>small{display:inline;font-size:10px;line-height:1.35;margin:0}
.right-column .family-sidebar .person-row>span:last-child>small:before{content:' · ';color:var(--muted)}
.right-column .family-sidebar .person-row .sex-badge{display:inline-flex;vertical-align:baseline;gap:2px;padding:0 3px;margin:0 3px;font-size:10px;line-height:1.3;border-radius:3px}
.right-column .family-sidebar .person-row .sex-badge small{display:inline;font-size:9px;line-height:1.3}
.right-column .family-sidebar .person-row .cause-compact{display:inline;padding:0;margin:0;line-height:1.35}
.right-column .family-sidebar .person-row .cause-compact>span,.right-column .family-sidebar .person-row .cause-compact>strong{display:inline;font-size:10px;line-height:1.35;margin:0}
.right-column .family-sidebar .person-row .cause-compact:before{content:' · '}
.right-column .family-sidebar .person-row .cause-compact>span:after{content:'：'}
.right-column .family-sidebar .family-loss-replay{display:inline-block;margin:0 0 0 4px;padding:2px 0;min-height:24px;font-size:10px;line-height:1.3}
.right-column .family-sidebar>.peer-note{margin-top:8px;line-height:1.45}
.life-mode-panel{padding-top:9px;padding-bottom:9px;gap:15px}
.life-mode-panel strong{margin:0;font-size:18px;line-height:1.45}
.life-mode-panel p:not(.eyebrow){line-height:1.45}
/* Deceased people keep their sex label, with a neutral badge in every view. */
:is(.family-late,.kin-deceased,.friend-card.companion-late,.loss-person,.farewell-protagonist) .sex-badge{background:#dedede;color:#505050;border-color:#8b8b8b}
.dark :is(.family-late,.kin-deceased,.friend-card.companion-late,.loss-person,.farewell-protagonist) .sex-badge{background:#454545;color:#ededed;border-color:#999}
