:root{color-scheme:light;--paper:#f3efe4;--card:#fffdf7;--ink:#25493f;--muted:#7c8376;--line:#dddccc;--ochre:#a98a4d;--coral:#b97e68;--safe-top:max(env(safe-area-inset-top,0px),var(--host-top,0px));--safe-bottom:max(env(safe-area-inset-bottom,0px),var(--host-bottom,0px),var(--platform-ad-space,0px));--safe-left:max(env(safe-area-inset-left,0px),var(--host-left,0px));--safe-right:max(env(safe-area-inset-right,0px),var(--host-right,0px));--play-height:calc(var(--viewport-height,100dvh) - var(--safe-top) - var(--safe-bottom));font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);height:var(--viewport-height,100dvh);overflow:hidden}button,input,select,textarea{font:inherit}button,a,select,input{touch-action:manipulation}button{color:inherit;cursor:pointer}button{min-height:44px;border:0;background:none}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--ochre);outline-offset:2px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:"Songti SC","STSong","Noto Serif CJK SC",serif}h2{font-size:25px;font-weight:650;line-height:1.3}h3{font-size:20px}a{color:inherit}img{display:block;max-width:100%}svg{display:block;width:100%}[hidden]{display:none!important}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{font-size:10px;letter-spacing:1.2px;font-weight:600;color:var(--muted)}.panel{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden}.game-shell{height:var(--play-height);max-width:1180px;margin:0 auto;display:flex;flex-direction:column;padding:0 20px 12px;min-width:0}.site-header{height:64px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:10px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;white-space:nowrap;font-family:"Songti SC",serif;font-size:24px;font-weight:700;letter-spacing:2px}.brand small{display:block;font:8px/1.7 sans-serif;letter-spacing:2px;color:var(--muted)}.brand-symbol{display:flex;align-items:center;gap:3px;transform:rotate(-12deg);height:32px;width:34px}.brand-symbol i{display:block;background:var(--ink);height:17px;width:4px;position:relative}.brand-symbol i:before{content:"";position:absolute;background:currentColor;width:1px;height:27px;top:-5px;left:1.5px;opacity:.6}.brand-symbol i:nth-child(2n){background:#a2b193;height:23px}.site-header nav{display:flex;align-items:center;gap:8px}.quiet-button{font-size:12px;letter-spacing:1px}.quiet-button span{font:14px Georgia;color:var(--ochre);margin-left:4px}.icon-button{width:44px;min-width:44px;border:1px solid var(--line);border-radius:50%;font-family:Georgia;font-size:18px}.page{display:grid;grid-template-columns:310px minmax(0,1fr);grid-template-rows:minmax(180px,.85fr) minmax(290px,1.3fr) 52px;gap:12px;flex:1;min-height:0}.identity-panel{grid-column:1;grid-row:1/3;position:relative;display:flex;flex-direction:column;isolation:isolate}.stage-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.48}.identity-panel:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#fffdf700 0%,#fffdf7cc 50%,#fffdf7 85%)}.identity-content{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px;padding:38px 22px 22px;flex:1;justify-content:center;min-height:0}.portrait-button{padding:0;flex-shrink:0;border-radius:50%;border:4px solid #fff8e9;box-shadow:0 4px 24px #2a3e321c;width:160px;height:160px;overflow:hidden}.moment-avatar{height:100%;width:100%;display:flex;align-items:center;justify-content:center;font:58px "Songti SC",serif;background:#ede5cf}.moment-avatar img,.person-avatar img{width:100%;height:100%;object-fit:cover;object-position:50% 34%}.identity-copy{min-width:0}.identity-copy h1{font-size:34px;display:flex;justify-content:center;align-items:baseline;gap:14px;margin:6px 0}.age{font:30px/1 Georgia;color:var(--ochre);white-space:nowrap}.age small{font:11px sans-serif;margin-left:4px}.identity-copy>p:not(.eyebrow){font-size:12px;line-height:1.6;color:#697767}.identity-tags{display:flex;justify-content:center;gap:6px;margin-top:10px;flex-wrap:wrap}.identity-tags span{font-size:11px;padding:4px 8px;background:#fffdf7a3;border:1px solid #dedbc4;border-radius:4px}.dream-strip{display:flex;gap:10px;align-items:center;text-align:left;margin:0 18px;padding:12px 0;border-top:1px solid var(--line)}.dream-glyph{font-size:28px;color:var(--ochre)}.dream-strip>span:nth-child(2){flex:1;min-width:0}.dream-strip small{display:block;font-size:10px;color:var(--muted);margin-bottom:4px}.dream-strip strong{font:15px "Songti SC",serif}.dream-progress{width:32px;height:32px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--ochre) var(--progress,0%),#e9e4d5 0)}.dream-progress:before{content:"";width:24px;height:24px;border-radius:50%;background:var(--card)}.dream-progress i{display:none}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 16px 20px}.metric-name{font-size:10px;color:var(--muted)}.metric-score{display:flex;align-items:baseline;gap:3px}.metric-score strong{font:24px Georgia}.metric-score span{font-size:9px;color:var(--muted)}.metric-bar{height:3px;background:#eae6da;margin-top:5px;border-radius:4px;overflow:hidden}.metric-bar i{display:block;background:var(--metric-color);height:100%;transition:width .4s}.chart-panel{grid-column:2;grid-row:1;display:flex;flex-direction:column;padding:14px 18px 8px;min-height:0;position:relative}.chart-heading{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-shrink:0}.chart-heading h2{font-size:22px}.live-pill{font:9px sans-serif;color:var(--muted);margin-left:6px}.chart-score{text-align:right;display:flex;align-items:baseline;gap:8px}.chart-score strong{font:30px Georgia}.chart-score span{font-size:10px;color:var(--muted)}.up{color:#4d7e68}.down{color:#b47862}.chart-tabs{display:flex;gap:4px;margin-top:4px;flex-shrink:0}.chart-tabs button{min-width:44px;padding:0 9px;font-size:11px;position:relative}.chart-tabs button.active{font-weight:650;color:var(--ink)}.chart-tabs button.active:after{content:"";position:absolute;height:2px;bottom:6px;left:11px;right:11px;background:var(--ochre)}.chart-wrap{flex:1;min-height:36px}.chart-wrap svg{height:100%;overflow:visible;touch-action:pan-y}.year-detail{display:flex;align-items:center;gap:10px;text-align:left;border-top:1px solid var(--line);width:100%;padding:6px 0;flex-shrink:0;min-height:44px}.year-stamp{font:14px Georgia;color:var(--ochre);flex-shrink:0}.year-detail>div{min-width:0;flex:1}.year-detail strong{display:block;font-size:11px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.year-detail p{font-size:10px;color:var(--muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-top:3px}.year-detail:after{content:"↗";font-size:13px;color:var(--ochre)}.chart-scrubber{display:flex;align-items:center;gap:8px;font-size:9px;color:var(--muted);height:18px;flex-shrink:0}.chart-scrubber input{width:100%;min-width:0;height:18px;accent-color:var(--ink);margin:0}.chart-scrubber span{white-space:nowrap}.decision-panel{grid-column:2;grid-row:2;display:flex;flex-direction:column;padding:18px;min-height:0;gap:10px}.decision-copy{flex-shrink:1;min-height:40px;overflow:auto;scrollbar-width:thin}.section-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.decision-tag{font-size:10px;color:var(--ochre);white-space:nowrap}.decision-panel h2{margin:5px 0 7px;font-size:27px}.event-text{font-size:13px;line-height:1.75;color:#6b7569}.first-steps{font-size:10px;color:var(--ochre);margin-top:5px;line-height:1.5}.step-dots{display:none}.choices{display:grid;gap:6px;flex-shrink:0;margin-top:auto}.choice{position:relative;display:grid;grid-template-columns:26px 1fr;column-gap:8px;text-align:left;align-content:center;min-height:57px;padding:9px 13px;border:1px solid var(--line);border-radius:10px;background:#f9f7ef;transition:border-color .2s,background .2s,transform .2s}.choice:hover{border-color:#9baf99;background:#f0f2e6}.choice:active{transform:translateY(1px)}.choice-index{grid-row:1/3;align-self:center;font:17px Georgia;color:var(--ochre);border-right:1px solid var(--line)}.choice-index>span{display:none}.choice>strong{font-size:13px;font-weight:600}.choice-description{font-size:10px;line-height:1.5;color:var(--muted);margin-top:4px}.choice-effects{display:none}.life-rewards{display:flex;gap:8px;flex-shrink:0}.reward-button{flex:1;min-width:0;font-size:11px;min-height:44px;text-align:center;border:1px solid #c8bca1;background:#f0e9d8;border-radius:8px;color:#7f6746}.reward-button:before{content:"▷";margin-right:5px}.choice-feedback{display:none}.life-navigation{grid-column:1/-1;display:flex;justify-content:space-around;border-top:1px solid var(--line);gap:4px;align-items:stretch}.life-navigation button{flex:1;display:flex;gap:8px;align-items:center;justify-content:center;font-size:12px;white-space:nowrap;min-width:0}.life-navigation button>span{font:22px Georgia;color:var(--ochre)}.life-navigation button:hover{background:#e9e6d8;border-radius:8px}.primary-button,.secondary-button{padding:10px 16px;min-height:44px;border-radius:9px;font-size:13px;border:1px solid var(--line);background:var(--card)}.primary-button{background:var(--ink);border-color:var(--ink);color:#fffdf2}.text-button{font-size:12px;color:var(--ochre);padding:0}.end-actions{display:flex;gap:8px;margin-top:10px}.ending-highlights{display:flex;gap:6px;flex-wrap:wrap}.ending-highlights span{font-size:11px;background:#f0eddf;padding:6px;border-radius:4px}.decision-panel:has(.ending-highlights){overflow:auto}.decision-panel:has(.ending-highlights) .choices{margin-top:0}.toast{position:fixed;left:50%;transform:translate(-50%,12px);bottom:calc(var(--safe-bottom) + 18px);opacity:0;pointer-events:none;padding:12px 18px;background:#284b40f2;color:#fff9e9;border-radius:10px;max-width:min(90vw,500px);width:max-content;font-size:12px;line-height:1.6;transition:.2s;z-index:100}.toast.visible{opacity:1;transform:translate(-50%,0)}
/* Secondary pages share the same paper, portrait, typography and spacing. */
dialog{position:fixed;inset:calc(var(--safe-top) + 8px) 0 calc(var(--safe-bottom) + 8px);margin:auto;width:min(620px,calc(100% - 24px));max-height:calc(var(--play-height) - 16px);border:1px solid #d5d4c3;border-radius:20px;padding:36px 28px 28px;background:var(--card);color:var(--ink);box-shadow:0 16px 80px #253f3830;overscroll-behavior:contain}dialog::backdrop{background:#273d364a;backdrop-filter:blur(4px)}.close-button{position:sticky;top:0;float:right;margin:-26px -18px -44px 0;width:44px;height:44px;z-index:2;border-radius:50%;background:var(--card);font-size:26px;color:var(--muted)}#modal-content{clear:none;min-width:0}#modal-content>.eyebrow,.reference-panel>.eyebrow{margin-bottom:10px}#modal-content>h2,.reference-panel>h2{padding-right:20px;margin-bottom:16px}#modal-content p{font-size:13px;line-height:1.9;color:#738071;margin:12px 0}#modal-content h3{margin-top:22px;margin-bottom:10px}#modal-content small{font-family:inherit}.modal-actions{display:flex;gap:8px;margin-top:20px}.modal-actions>*{flex:1}.modal-footnote,.money-note,.context-note{font-size:11px!important;color:#8c8e7e!important}.context-note{background:#f2f0e5;border-left:2px solid #b5a275;padding:10px 14px}.person-heading{display:flex;gap:18px;align-items:center;margin:24px 0}.person-avatar{width:86px;height:86px;flex-shrink:0;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#eee5d2;font:32px "Songti SC",serif}.person-heading h3{margin:0!important;font-size:28px}.person-heading p{margin:4px 0!important}.world-facts{margin:18px 0;padding:0}.world-facts>div{display:flex;gap:18px;justify-content:space-between;padding:13px 0;border-bottom:1px solid #e7e4d7;font-size:12px}.world-facts dt{color:var(--muted);flex-shrink:0}.world-facts dd{margin:0;text-align:right;line-height:1.7}.profile-line{display:flex;gap:18px;font-size:12px}.profile-line>span{color:var(--muted)}.profile-line p{margin:0!important}.profile-line b{display:block}.profile-line p span{display:block}.dream-note,.welcome-dream{background:#f0ead9;border:1px solid #ded1af;border-radius:12px;padding:16px 20px;margin:20px 0}.dream-note>span{font-size:10px;color:var(--ochre)}.dream-note h3{margin-top:5px!important}.place-heading{padding:28px 22px;border:1px solid #d6ddcb;background:linear-gradient(120deg,#e9efdf,#f5efdc);border-radius:12px}.place-heading span{font:32px "Songti SC",serif;display:block}.place-heading strong{font-size:12px;display:block;margin-top:8px;font-weight:400;color:var(--muted)}.birth-odds{display:flex;gap:18px;align-items:center;margin:20px 0}.birth-odds>strong{font:44px Georgia;color:var(--ochre)}.birth-odds small{font-size:18px}.birth-odds>span{font-size:11px;line-height:1.8;color:var(--muted)}.family-origin{padding:22px;border-bottom:1px solid var(--line);background:#f4f0e3;border-radius:12px}.family-origin span{font-size:10px;color:var(--ochre);display:block;margin-bottom:10px}.family-origin strong{font:21px "Songti SC",serif}.family-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:20px 0}.family-list>div{display:flex;gap:8px;align-items:center;padding:12px 8px;border:1px solid var(--line);border-radius:10px;font-size:12px}.relative-mark{width:32px;height:32px;display:grid;place-items:center;background:#e6eadb;color:#6d7c5d;border-radius:50%;font-family:"Songti SC",serif}.family-list b{font-size:11px;font-weight:400;color:var(--muted);margin-left:auto}.budget-grid,.certificate-grid,.source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.budget-grid>div:first-child{grid-column:1/-1}.budget-grid span,.certificate-grid span,.source-grid span{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}.budget-grid strong{font:34px Georgia}.budget-grid b,.certificate-grid b,.source-grid b{font-size:13px;font-weight:500}.spending-actions{display:grid;gap:8px}.spending-actions button{border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;font-size:12px;background:#f7f5ed;gap:12px}.spending-actions small{font-size:10px;color:var(--muted)}.form-label{display:block;font-size:12px;margin:20px 0 8px}select{min-height:44px;max-width:100%;border:1px solid var(--line);background:#f9f7ef;border-radius:8px;color:var(--ink);padding:8px 12px;font-size:12px}#annual-focus,#birth-sampling,#comparison-country{width:100%}.time-controls{display:flex;align-items:center;gap:8px}.time-controls>*{flex:1;min-width:0}.auto-choice{display:flex;align-items:center;gap:8px;font-size:12px;margin-top:12px;min-height:44px}.auto-choice input{width:20px;height:20px;accent-color:var(--ink)}.settings-links{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.settings-links button{text-align:left}.timeline-entry{padding:18px 0 18px 20px;border-left:1px solid #d7dcc9;position:relative}.timeline-entry:before{content:"";position:absolute;left:-4px;top:23px;width:7px;height:7px;border-radius:50%;background:var(--ochre)}.timeline-entry strong{font-size:14px}.timeline-entry strong span{display:block;font:11px Georgia;color:var(--ochre);margin-bottom:8px}.timeline-entry p{margin-bottom:0!important}.reflection-memory{margin:16px 0;padding:15px 20px;border-left:2px solid var(--ochre);background:#f6f1e4}.help-rule{display:flex;align-items:flex-start;gap:18px;margin:22px 0;font-size:13px;line-height:1.8;color:#738071}.help-rule b{font:30px Georgia;color:var(--ochre)}.memoir-title{padding:20px 0;border-bottom:1px solid var(--line)}.memoir-title>span{font-size:11px;color:var(--ochre)}.memoir-title h2{margin-top:10px;font-size:30px}.memoir-summary{display:flex;gap:20px;justify-content:space-around;margin:24px 0}.memoir-summary strong{display:block;font:32px Georgia}.memoir-summary span{font-size:10px;color:var(--muted)}.archive-item{display:flex;align-items:center;gap:15px;padding:16px 0;border-bottom:1px solid var(--line)}.archive-age{font:36px Georgia;color:var(--ochre)}.archive-item>div{flex:1}.archive-item strong{font:20px "Songti SC",serif}.archive-item p{margin:4px 0!important;font-size:11px!important}.archive-item button{font-size:12px}.achievement{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--line);opacity:.5}.achievement.unlocked{opacity:1}.achievement>span{width:36px;height:36px;background:#efecd9;border-radius:50%;display:grid;place-items:center;color:var(--ochre)}.achievement p{margin:5px 0 0!important;font-size:12px!important}.birth-welcome{text-align:center}.welcome-avatar{display:block;width:120px;height:120px;overflow:hidden;border:3px solid #e9dfc9;border-radius:50%;margin:20px auto}.welcome-avatar img{width:100%;height:100%;object-fit:cover}.welcome-dream span{display:block;font-size:10px;color:var(--ochre);margin-bottom:8px}.welcome-dream strong{font:21px "Songti SC",serif}.birth-stat-details{border-top:1px solid var(--line);margin-top:20px;padding-top:10px}.birth-stat-details summary{font-size:12px;cursor:pointer;min-height:44px;align-content:center}.insight-options>section{padding:16px 0;border-top:1px solid var(--line)}.insight-options h3{margin:0!important}.insight-options>section>div{font-size:12px}.goal-targets{display:grid;gap:16px;margin:24px 0}.goal-targets>div{display:grid;grid-template-columns:1fr auto;gap:8px;font-size:12px}.goal-meter{grid-column:1/-1;height:6px;background:#e9e6d8;border-radius:8px;overflow:hidden}.goal-meter i{display:block;height:100%;background:var(--ochre);border-radius:8px}.year-deltas{display:flex;gap:12px;flex-wrap:wrap;font-size:12px}.peer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.peer-card{border:1px solid var(--line);border-radius:12px;background:#f5f3e8;padding:16px}.peer-number{font:11px Georgia;color:var(--ochre)}.peer-card h3{margin:8px 0!important}.peer-card p{font-size:11px!important;margin:6px 0!important}.peer-card>strong{font:28px Georgia}.peer-card small{font-size:10px}.peer-meter{height:3px;background:#e6e5d8;margin:10px 0}.peer-meter i{display:block;height:100%;background:#97a482}.life-map{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px}.life-cell{min-height:0;aspect-ratio:1;border:1px solid #d8ddcc;background:#f1f0e5;border-radius:3px;font-size:8px;padding:0}.life-cell.lived{background:#a3b592;border-color:#a3b592}.life-cell.present{background:var(--ochre);color:#fff}.life-cell:disabled{opacity:.5}.life-map+h3{margin-top:24px}#survival-label{font-size:11px!important}#reflection-note{flex-shrink:0;font-size:11px}textarea{width:100%;height:50px;background:#f8f5ea;border:1px solid var(--line);border-radius:7px;padding:8px;margin-top:4px;resize:vertical}
@media(max-width:760px){.game-shell{padding:0 12px 6px}.site-header{height:50px}.brand{font-size:20px;letter-spacing:1px;gap:7px}.brand small{display:none}.brand-symbol{width:28px;gap:2px;height:26px}.site-header nav{gap:2px}.icon-button{border:0}.page{grid-template-columns:minmax(0,1fr);grid-template-rows:112px 208px minmax(0,1fr) 48px;gap:8px}.identity-panel{grid-column:1;grid-row:1;border-radius:14px;display:grid;grid-template-columns:minmax(0,1fr) 132px;grid-template-rows:72px 40px}.identity-panel:after{background:linear-gradient(90deg,#fffdf7 8%,#fffdf7ef 48%,#fffdf71a 100%)}.stage-image{left:auto;width:50%;object-position:50% 38%;opacity:.7}.identity-content{grid-column:1/-1;grid-row:1;flex-direction:row;justify-content:flex-start;text-align:left;gap:10px;padding:6px 14px}.portrait-button{width:56px;height:56px;border-width:2px}.moment-avatar{font-size:30px}.identity-copy h1{justify-content:flex-start;font-size:27px;margin:3px 0;gap:12px}.age{font-size:27px}.identity-copy>.eyebrow{font-size:9px}.identity-copy>p:not(.eyebrow){font-size:10px;max-width:230px}.identity-tags{margin-top:4px;gap:4px;justify-content:flex-start}.identity-tags span{font-size:9px;padding:2px 6px}.dream-strip{grid-column:1;grid-row:2;margin:0 0 0 12px;padding:5px 0;gap:6px}.dream-strip small{display:none}.dream-strip strong{font-size:11px}.dream-glyph{font-size:21px}.dream-progress{width:20px;height:20px}.dream-progress:before{width:14px;height:14px}.metrics{grid-column:2;grid-row:2;margin:0;padding:7px 8px 6px;gap:5px;border-top:1px solid var(--line)}.metric-name{font-size:8px}.metric-score{gap:1px}.metric-score strong{font-size:17px}.metric-score span{display:none}.metric-bar{height:2px;margin-top:3px}.chart-panel{grid-column:1;grid-row:2;padding:8px 12px 4px;border-radius:14px}.chart-heading h2{font-size:19px}.chart-heading .eyebrow{display:none}.live-pill{font-size:8px}.chart-score{gap:5px}.chart-score strong{font-size:24px}.chart-score span{font-size:8px}.chart-tabs{margin:0;height:44px}.chart-tabs button{min-height:44px;flex:1;font-size:10px;padding:0 4px}.chart-tabs button.active:after{bottom:2px;left:20%;right:20%}.chart-scrubber{display:none}.year-detail{padding:5px 0}.decision-panel{grid-column:1;grid-row:3;padding:12px;gap:8px;border-radius:14px}.decision-panel h2{font-size:24px;margin:5px 0}.event-text{font-size:12px;line-height:1.6}.choice{min-height:49px;padding:8px 10px}.choice>strong{font-size:12px}.choice-description{margin-top:2px}.life-navigation{grid-row:4;grid-column:1;gap:0}.life-navigation button{flex-direction:column;gap:1px;font-size:9px;padding:2px 1px}.life-navigation button>span{font-size:19px}.reward-button{font-size:10px}.first-steps{font-size:9px;margin-top:4px}.family-list{gap:6px}.family-list>div{padding:10px 6px;gap:5px}.family-list b{font-size:10px}.relative-mark{width:26px;height:26px}dialog{padding:34px 20px 24px;border-radius:16px}.modal-actions{flex-wrap:wrap}.modal-actions button{font-size:12px}.source-grid{grid-template-columns:1fr}.life-map{gap:3px}}
@media(max-width:760px) and (max-height:740px){.game-shell{padding:0 10px 4px}.site-header{height:44px}.page{grid-template-rows:88px 110px minmax(0,1fr) 44px;gap:6px}.identity-panel{grid-template-rows:58px 30px;grid-template-columns:minmax(0,1fr) 120px}.identity-content{padding:5px 10px;gap:8px}.portrait-button{width:47px;height:47px}.identity-copy h1{font-size:22px;margin:1px 0}.age{font-size:23px}.identity-copy>.eyebrow{display:none}.identity-tags{display:none}.identity-copy>p:not(.eyebrow){font-size:9px}.dream-strip{min-height:30px}.dream-strip strong{font-size:10px}.dream-glyph{font-size:17px}.dream-progress{width:16px;height:16px}.dream-progress:before{width:12px;height:12px}.metrics{padding:3px 6px}.metric-score strong{font-size:15px}.metric-bar{display:none}.chart-panel{padding:5px 10px 0}.chart-heading h2{font-size:16px}.chart-score strong{font-size:20px}.chart-tabs,.chart-scrubber{display:none}.chart-heading{height:24px}.chart-wrap{min-height:28px}.year-detail{min-height:44px}.year-detail p{display:none}.year-detail strong{font-size:10px}.decision-panel{padding:8px 10px;gap:5px}.decision-panel h2{font-size:20px;margin:3px 0}.decision-copy{min-height:30px}.decision-copy .section-top{display:none}.event-text{font-size:11px;line-height:1.5}.first-steps{display:none}.choices{gap:4px}.choice{min-height:44px;padding:6px 10px;grid-template-columns:22px 1fr}.choice-description{display:none}.reward-button{font-size:9px}.life-rewards{gap:6px}.life-navigation button{font-size:9px}.life-navigation button>span{font-size:16px}}
@media(min-width:520px) and (max-height:500px){.game-shell{padding:0 10px 4px}.site-header{height:40px}.brand{font-size:18px}.brand small{display:none}.site-header nav{gap:0}.page{grid-template-columns:minmax(190px,.8fr) minmax(0,1.2fr);grid-template-rows:70px minmax(0,1fr) 44px;gap:6px}.identity-panel{grid-column:1;grid-row:1;display:flex}.identity-content{padding:7px 10px;flex-direction:row;gap:8px;text-align:left;justify-content:flex-start}.portrait-button{width:48px;height:48px;border-width:2px}.identity-copy h1{font-size:22px;margin:2px 0;justify-content:flex-start}.identity-copy>.eyebrow,.identity-tags,.identity-panel .metrics,.dream-strip{display:none}.identity-copy>p:not(.eyebrow){font-size:9px}.age{font-size:21px}.chart-panel{grid-column:1;grid-row:2;padding:5px 10px 0}.chart-heading h2{font-size:16px}.chart-heading .eyebrow,.chart-tabs,.chart-scrubber{display:none}.chart-score strong{font-size:18px}.chart-score span,.live-pill{display:none}.chart-heading{height:22px}.chart-wrap{min-height:25px}.year-detail{min-height:44px}.year-detail p{display:none}.year-detail strong{font-size:10px}.decision-panel{grid-column:2;grid-row:1/3;padding:8px;gap:5px}.decision-panel h2{font-size:19px;margin:2px 0}.decision-copy .section-top,.first-steps{display:none}.decision-copy{min-height:26px}.event-text{font-size:10px;line-height:1.5}.choices{gap:4px}.choice{min-height:44px;padding:5px 9px;grid-template-columns:22px 1fr}.choice-description{display:none}.choice>strong{font-size:11px}.reward-button{font-size:9px}.life-navigation{grid-column:1/-1;grid-row:3}.life-navigation button{flex-direction:row;gap:5px;font-size:10px}.life-navigation button>span{font-size:18px}dialog{width:min(700px,calc(100% - 24px))}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

#modal-content .chart-tabs{display:flex;height:auto}#modal-content .chart-tabs button{min-height:44px} .chart-wrap svg rect{transition:y .28s,height .28s} @media(prefers-reduced-motion:reduce){.chart-wrap svg rect{transition:none}}

#event-title{font:inherit;line-height:1.3;text-align:left;padding:0;min-height:0;width:100%;position:relative;padding-right:18px}#event-title:after{content:"↗";font:12px sans-serif;color:var(--ochre);position:absolute;right:0;top:7px}.identity-panel{grid-template-rows:minmax(0,1fr) 40px}.life-navigation button{font-size:11px}
@media(max-width:760px){.life-navigation button{font-size:9px}.metrics{min-height:0}.metric-name{line-height:1}.metric-score{line-height:1.1}}
@media(max-width:760px) and (max-height:740px){.identity-panel{grid-template-rows:minmax(0,1fr) 30px}.metrics{padding:3px 6px}.decision-panel{gap:5px}.decision-copy{flex-shrink:0;height:44px;min-height:44px;overflow:hidden}.decision-panel h2{margin:0;font-size:19px}#event-title{min-height:44px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.decision-copy .event-text,.life-rewards{display:none}.choices{margin-top:auto}}
@media(min-width:520px) and (max-height:500px){.life-rewards{display:none}.decision-copy{height:44px;min-height:44px;flex-shrink:0;overflow:hidden}.decision-copy .event-text{display:none}.decision-panel h2{margin:0;font-size:18px}#event-title{min-height:44px}.choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.choice{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;min-height:64px;padding:6px}.choice-index{font-size:11px;border:0;align-self:flex-start}.choice>strong{font-size:11px;line-height:1.5}.life-navigation button{font-size:10px}}

.memory-scene{height:150px;border-radius:12px;background-size:cover;background-position:50% 34%;margin:14px 0 24px}.year-deltas i{font-style:normal}

@media(min-width:520px) and (max-height:500px){.page{grid-template-rows:58px minmax(0,1fr) 44px}.chart-wrap{min-height:16px}.chart-heading{height:20px}.portrait-button{width:42px;height:42px}.identity-content{padding:5px 10px}}

@media(min-width:761px) and (min-height:501px){.page{grid-template-rows:minmax(0,1.05fr) minmax(0,1.1fr) 52px}.decision-panel{padding:14px;gap:8px}.decision-panel h2{font-size:24px;margin:4px 0}.decision-copy{min-height:36px}.choice{min-height:48px;padding:7px 12px}.chart-heading>.eyebrow{display:none}}
@media(min-width:761px) and (min-height:501px){.decision-copy{min-height:52px}.choice{height:44px;min-height:44px;padding:4px 12px}.choice-description{margin-top:1px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.decision-panel h2{margin:2px 0}}
@media(max-width:760px) and (min-height:501px){.decision-panel{gap:6px}.decision-copy{min-height:44px}.decision-copy .section-top{height:10px;line-height:10px}.decision-copy .eyebrow,.decision-tag{font-size:9px;line-height:10px}.decision-panel h2{font-size:22px;line-height:1.3;margin:2px 0}.choice{height:44px;min-height:44px;padding:4px 10px}.choice-description{margin-top:1px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}

/* Candle details retain enough height; tiny layouts use a labelled sparkline. */
.chart-panel>.chart-tabs{display:none}.chart-heading{gap:6px;min-height:44px}.chart-heading>div:first-child{flex:1;min-width:0}.scale-caption{display:block;font-size:9px;line-height:1.4;color:var(--muted)}.chart-score{flex-direction:column;align-items:flex-end;gap:1px;flex-shrink:0}.chart-score span{white-space:nowrap}.chart-heading .live-pill{display:none}.expand-chart-button{width:44px;min-width:44px;font-size:24px;color:var(--ochre);padding:0}.expanded-chart-wrap{height:clamp(180px,38vh,320px);margin:12px 0}.expanded-chart-wrap svg{height:100%;touch-action:pan-y}.expanded-chart-year{font-size:13px;line-height:1.6;border-top:1px solid var(--line);padding-top:14px}.expanded-chart-year strong{font-family:"Songti SC",serif;font-size:17px}.range-toggle{margin-top:12px}.detail-chart-tabs{margin:0}
@media(max-width:760px){.chart-heading h2{font-size:18px}.chart-score strong{font-size:23px}.chart-heading{height:44px}.chart-score span{font-size:8px}.scale-caption{font-size:8px}}
@media(max-width:760px) and (max-height:740px){.chart-panel{padding-top:0}.chart-heading h2{font-size:15px}.scale-caption{display:none}.chart-heading{height:44px;min-height:44px}.chart-score span{display:none}}
@media(min-width:520px) and (max-height:500px){.chart-panel{padding-top:0}.chart-heading{height:44px;min-height:44px}.scale-caption,.chart-score span{display:none}.chart-heading h2{font-size:14px}.chart-score strong{font-size:18px}.chart-wrap{min-height:16px}.expanded-chart-wrap{height:180px}}

.expand-chart-button{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.expand-chart-button span{font-size:20px}.expand-chart-button small{font-size:8px;margin-top:3px}@media(min-width:520px) and (max-height:500px){.chart-panel>.year-detail{display:none}}

.chart-dialog{padding:28px 20px 20px}.chart-dialog h2{margin-bottom:8px!important}.chart-dialog>.eyebrow{margin-bottom:6px}.chart-rangebar{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);margin-top:4px}.chart-rangebar span{font-size:10px;color:var(--muted);line-height:1.6}.chart-rangebar button{font-size:10px;white-space:nowrap;background:none;border:0;padding:6px}.chart-dialog .expanded-chart-wrap{height:clamp(180px,30vh,260px);margin:10px 0}.expanded-chart-year p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:11px!important;line-height:1.6!important;margin:6px 0!important}.chart-explanation summary{min-height:44px;align-content:center;cursor:pointer;font-size:11px;color:var(--muted)}.chart-dialog .modal-actions{margin-top:10px}
#life-chart:focus-visible,#expanded-life-chart:focus-visible{outline:2px solid var(--ochre);outline-offset:3px;border-radius:6px}#life-chart:focus:not(:focus-visible),#expanded-life-chart:focus:not(:focus-visible){outline:none}
