:root{font-size:16px;--muted:#596b60;--serif:var(--sans)}
.decision-card h2,.decision-card .story-text,.choice strong,.choice small,.choice-summary,.comparison-caption,.comparison-note,.fact-label{word-break:keep-all;overflow-wrap:anywhere}
.choice-option{min-width:0}.choice-option>.choice{width:100%;margin:0}.choice-option>.choice>span:nth-child(2){min-width:0;flex:1}.choice-comparison{display:block;margin-top:12px;text-align:left}.comparison-caption{display:block;font-size:14px;color:#526b5a;line-height:1.5;margin-bottom:8px}.comparison-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px}.choice-fact{display:flex;flex-direction:column;min-width:0;gap:3px}.choice-fact:first-child{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;padding-bottom:8px;border-bottom:1px solid #d4dfc6}.fact-label{font-size:14px;color:#536651;line-height:1.5}.fact-values{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px;font-size:16px;line-height:1.5;overflow-wrap:anywhere}.fact-values>b{font-size:17px;color:#254e43;font-weight:700}.fact-arrow{color:#718369}.choice small.comparison-note{font-size:14px;line-height:1.6;margin-top:10px}.choice-details{padding:0 12px 0 44px;font-size:15px;margin-top:0;border:0}.choice-details>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:7px;color:#47614f;list-style:none;text-decoration:underline;text-underline-offset:3px}.choice-details>summary::before{content:'+';font-size:18px;text-decoration:none}.choice-details[open]>summary::before{content:'−'}.choice-details>p{margin:0 0 14px;padding:12px 14px;background:#f5f8ee;border-left:3px solid #b7cbb0;line-height:1.8;overflow-wrap:anywhere}.choice-details>summary:focus-visible{outline:2px solid #4f7b65;outline-offset:2px;border-radius:4px}
@media(max-width:760px){.choice-option>.choice{gap:10px;padding:14px 12px}.choice-details{padding-left:38px}.comparison-facts{gap:8px 10px}.fact-values{font-size:15px}.fact-values>b{font-size:16px}}
body{font-size:16px;line-height:1.7}
button,input,select,textarea{font:inherit}
.reference-game{max-width:1680px}
.reference-grid{grid-template-columns:255px minmax(0,1fr) 280px;gap:22px}
.reference-grid>*,.life-pulse>*{min-width:0}
.reference-left,.reference-center{grid-template-columns:minmax(0,1fr)}
.reference-left>*,.reference-center>*,.reference-right>*{min-width:0;max-width:100%}
.passport-code{overflow-wrap:anywhere}.passport dd,.family-panel dd{min-width:0;margin-left:0}
.panel h2,.section-label strong{font-size:18px;letter-spacing:-.025em}
.story-card h2{font-size:27px;line-height:1.45}
.story-text,.modal-body>p{font-size:17px;line-height:1.85}
.choice{padding:18px;min-height:88px;gap:14px}
.choice strong{font-size:17px;line-height:1.6}
.choice small{font-size:15px;line-height:1.7;margin-top:6px}
.button,.focus-chip,.control-button,.plan-actions button{font-size:15px;min-height:44px}
.text-button,.focus-hint,.understated,.modal small,.modal label,.saved{font-size:14px;line-height:1.75}
.section-label{flex-wrap:wrap;gap:6px}
.section-label>span{font-size:14px}
.focus-options{gap:10px;flex-wrap:wrap}
.focus-chip{padding:9px 13px}
.focus-hint{margin-top:16px}
.stat>div:first-child,.passport dl,.family-panel dl,.peer small,.scene-weather{font-size:14px}
.stat strong{font-size:17px}
.control-age strong{font-size:40px}
.control-age small{font-size:14px}
.game-controls{gap:9px;flex-wrap:wrap}
.flow-state{font-size:14px}
.year-flow{height:7px}.year-flow>span{transition:width .25s linear}
.everyday-card{background:#f5f8ef;border-color:#b6cbb4;min-height:270px}
.everyday-card .plan-actions{margin:18px 0 12px;flex-wrap:wrap}
.age-finance{border-top:1px solid var(--line);margin-top:20px;padding-top:18px;font-size:15px}
.age-finance p{font-size:14px;color:var(--muted);margin-top:8px}
.modal{font-size:16px}.modal h3{font-size:19px}.modal td,.modal th{font-size:14px}
.modal-body p{line-height:1.8}.life-entry strong{font-size:15px}.life-entry small{font-size:14px}
@media(max-width:1250px){.reference-grid{grid-template-columns:220px minmax(0,1fr)}.reference-right{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.reference-right>.panel{margin:0}}
@media(max-width:760px){.reference-grid{display:flex;flex-direction:column;gap:18px}.reference-center{order:0;width:100%}.reference-left{order:1;width:100%}.reference-right{order:2;display:block;width:100%}.reference-right>.panel{margin-bottom:16px}.reference-game{padding:14px 12px 28px}.story-card{padding:22px 18px}.story-card h2{font-size:23px}.story-text{font-size:17px}.choice strong{font-size:17px}.choice small{font-size:15px}.game-controls{position:static}.focus-options{gap:8px}.focus-chip{font-size:15px;padding:8px 10px}.life-pulse{grid-template-columns:repeat(2,minmax(0,1fr))}.life-pulse>button:last-child{grid-column:1/-1}.modal{padding:20px 16px}.pixel-bubble{font-size:14px}.scene-weather{font-size:14px}.scene-weather>span:last-child{display:none}}

/* Every row is a decade. Text line-height must not force ten square cells beyond the card. */
.life-map .map-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;width:100%}
.life-map .map-grid>span{min-width:0;min-height:0;line-height:1;aspect-ratio:1}
@media(max-width:760px){.modal{padding:0}.current-direction{padding:18px 14px}.goal-next-step{padding:14px 12px}.journey-hero{padding:8px 0 18px}.journey-hero h3{margin:12px 0}.journey-hero p{margin-bottom:8px}}
.modal .spent-time p{font-size:17px;line-height:1.8}.modal .spent-time small{font-size:14px;line-height:1.75}

@media(max-width:760px){.topbar{flex-wrap:wrap;gap:14px;padding:18px 16px}.topbar .brand{font-size:27px;white-space:normal;flex-shrink:1}.topbar nav{flex-wrap:wrap;gap:14px;max-width:100%}.journey-pulse{gap:8px}.journey-pulse>span{min-width:0}.journey-pulse>span:last-child{white-space:normal;flex-shrink:0;max-width:75px}}

/* Decisions stay together, with a separate result-reading pause. */
.decision-card{scroll-margin-top:24px}.decision-card h2:focus{outline:none}.decision-agenda{font-size:15px;margin:14px 0 20px;border:1px solid #c7d9c9;border-radius:10px;background:#f3f8ed;padding:12px 15px}.decision-agenda summary{cursor:pointer;font-weight:600}.decision-agenda ol{padding-left:24px;margin:12px 0 0}.decision-agenda li{padding:5px 0}.decision-agenda li>span{color:#526f57;font-size:13px}.decision-agenda small{display:block;color:var(--muted)}.decision-result{background:#f5faf1}.decision-result .button{margin-top:12px}.decision-card .story-meta{gap:8px;flex-wrap:wrap}
@media(min-width:761px){.decision-card{scroll-margin-top:155px}}

.incident-link{display:inline;text-align:left;border:0;background:none;padding:5px;color:#315d4b;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:15px;min-height:44px}.choice-impact{margin:18px 0;padding:15px;border-radius:12px;background:#fffef6;border:1px solid #d7e3ca}.choice-impact>strong{font-size:15px}.choice-impact>div{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.choice-impact span{padding:4px 10px;border-radius:18px;background:#e6f2e2;font-size:15px}.choice-impact .cost{background:#faece2;color:#835b41}.choice-impact small{display:block;font-size:14px;color:var(--muted)}.decision-agenda>p{font-size:14px;margin:12px 0 4px}
.incident-navigation,.play-stage .decision-agenda.incident-navigation{padding:14px}.agenda-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}.agenda-heading strong{font-size:16px}.agenda-heading small{font-size:14px;color:#456451}.incident-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.incident-shortcut{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;min-height:48px;width:100%;text-align:left;font:inherit;font-size:16px;line-height:1.5;padding:10px 12px;border:1px solid #c4d7c5;border-radius:9px;background:#fffef7;color:#294f40;box-shadow:none;cursor:pointer}.incident-shortcut>span:first-child{overflow-wrap:anywhere}.incident-shortcut:focus-visible,.incident-navigation summary:focus-visible{outline:3px solid #487960;outline-offset:3px}.incident-shortcut:hover{background:#e5f0df}.incident-navigation details{margin:8px 0 0;padding:0;border:0;background:none;box-shadow:none}.incident-navigation summary{font-size:15px;line-height:1.5;min-height:44px;padding:0;display:flex;align-items:center;cursor:pointer}.incident-navigation summary::before{content:'＋';margin-right:8px}.incident-navigation details[open]>summary::before{content:'−'}.agenda-history ul{list-style:none;margin:4px 0;padding:0}.agenda-history li{font-size:15px;line-height:1.6}.agenda-history li>span{display:block}.agenda-history small{font-size:14px}@media(max-width:600px){.incident-shortcuts{grid-template-columns:minmax(0,1fr)}.incident-navigation,.play-stage .decision-agenda.incident-navigation{padding:12px}}

/* Existing commitments remain readable without preceding the current question. */
.progress-notes{margin:22px 0 0;border-top:1px solid #c7d9c9;padding:16px 0 0}
.progress-notes h3{font-size:16px;margin:0 0 8px;line-height:1.6}.progress-notes h3 small{font-size:14px;font-weight:400;color:var(--muted)}
.progress-entry{border:1px solid #c7d9c9;border-radius:10px;background:#f3f8ed;margin:8px 0;padding:0 12px}
.progress-entry>summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:16px;line-height:1.6;overflow-wrap:anywhere}
.progress-notes-body{padding:0 0 12px}.progress-notes-body .info-box{margin:8px 0 0;background:#fffef6}.progress-notes-body p{font-size:16px;line-height:1.8}.progress-notes-body small{font-size:14px;line-height:1.75}
.progress-entry.needs-attention{border-color:#c39a64;background:#fff6e5}.progress-entry.needs-attention>summary{color:#80551d;font-weight:600}
.progress-entry>summary:focus-visible,.decision-agenda>summary:focus-visible,.decision-notes>summary:focus-visible{outline:3px solid #487960;outline-offset:4px;border-radius:4px}
.progress-entry{scroll-margin-top:155px}.progress-attention{margin:12px 0;display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;font-size:15px}.progress-attention>span{color:#80551d;font-weight:600}.progress-attention button{border:0;background:transparent;color:#80551d;text-align:left;font:inherit;min-height:44px;padding:6px 2px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.progress-return{min-height:44px;margin:12px 0 0;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.progress-entry{scroll-margin-top:24px}.progress-attention button{font-size:15px}.progress-notes-body .info-box{padding:12px}}
.choice-preview-note{font-size:15px;line-height:1.7;color:#52644e;margin:16px 0 10px}.choice small.choice-preview{font-size:15px;line-height:1.7;margin-top:8px;padding-top:8px;border-top:1px dashed #c7d9c9;color:#375d46;overflow-wrap:anywhere}.choice small.choice-preview.at-risk{color:#825016;border-color:#d9bd91;font-weight:600}
.period-investment-note{padding:16px;margin:18px 0;border:1px solid #bfd2bb;border-radius:12px;background:#f2f7ec}.period-investment-note h4{font-size:18px;margin:0 0 10px}.period-investment-note p,.period-investment-note strong{font-size:16px;line-height:1.7}.period-investment-note small{display:block;font-size:15px;line-height:1.7;margin:8px 0}.period-investment-note .button{min-height:44px;margin:8px 0}

/* Choice receipts: show two concrete changes, retain the rest on request. */
.decision-changes{margin:16px 0;padding:12px 14px;border:1px solid #d7e3ca;border-radius:12px;background:#f6faf0}.decision-changes>strong{font-size:16px}.decision-changes ul{list-style:none;padding:0;margin:8px 0}.decision-changes li{padding:8px 0;border-top:1px solid #e0e8d8;overflow-wrap:anywhere;font-size:16px;line-height:1.55}.decision-changes li>strong{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px}.decision-changes li>strong small{font-size:13px;font-weight:400;color:var(--muted)}.decision-changes del{display:inline;margin-right:6px;color:var(--muted);font-size:14px;text-decoration:none}.decision-changes li>span{display:inline;color:#315d4b;font-weight:600}.decision-changes summary{font-size:15px;cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:3px}.decision-changes>small{display:block;font-size:14px;line-height:1.6;color:var(--muted)}

/* Goal pages remain within the paused decision, with a separate browse control. */
.goal-menu{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;margin:16px 0;padding:14px;border:1px solid #c8d8bf;border-radius:12px;background:#f4f8ed;font-size:16px}
.goal-menu .button{font-size:16px;min-height:44px;margin-left:auto;white-space:normal}
.goal-menu small{flex-basis:100%;font-size:15px;line-height:1.5}
@media(max-width:480px){.goal-menu .button{width:100%;margin-left:0}}

/* Results stay beside the next choice; every incident remains paused. */
.decision-flow-toggle{display:flex;align-items:center;gap:10px;min-height:44px;margin:12px 0;font-size:15px;line-height:1.5;cursor:pointer;color:#405c48}.decision-flow-toggle input{width:20px;height:20px;flex:none;accent-color:#527c65;margin:0}.decision-flow-toggle:focus-within{outline:3px solid #6f927b;outline-offset:4px;border-radius:5px}
.inline-result{padding:16px 18px;margin:0 0 24px;border:1px solid #c7d8be;border-left:4px solid #719976;border-radius:12px;background:#f2f7eb;overflow-wrap:anywhere}.inline-result:focus-visible{outline:3px solid #527c65;outline-offset:4px}.inline-result-label{font-size:14px;color:#41604a}.inline-result h3{font-size:18px;margin:8px 0;line-height:1.6}.inline-result p,.earlier-results p{font-size:16px;line-height:1.75;margin:8px 0}.inline-result>small{display:block;font-size:14px;line-height:1.6;margin-top:10px;color:#52654c}.inline-result summary,.earlier-results>summary{min-height:44px;display:flex;align-items:center;font-size:15px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.inline-impact{display:flex;gap:8px;flex-wrap:wrap;font-size:15px;margin:12px 0}.inline-impact span{padding:4px 8px;border-radius:6px;background:#fffdf4}.inline-impact .cost{color:#8c4c3d}.inline-impact .gain{color:#356344}.earlier-results{margin:12px 0}.earlier-results>section{padding:12px 0;border-top:1px solid #ccd9c5}.earlier-results h3{font-size:17px;line-height:1.6;margin:0 0 8px}
@media(max-width:480px){.inline-result{padding:14px;margin-bottom:18px}.decision-flow-toggle{font-size:15px}.inline-result h3{font-size:18px}}

/* Keep the previous result short enough to leave the next decision in view. */
.inline-result{padding:12px 16px}.inline-result>.inline-result-label{display:inline}.inline-result>h3{display:inline;margin:0 0 0 10px}.inline-result>p{margin:8px 0;line-height:1.65}.inline-result>.inline-impact{margin:6px 0}.inline-result>details{margin:4px 0 0;padding:0;border:0}.inline-result>small{display:none}
.social-book .care-grid .action-card strong,.social-book .care-grid .action-card small{font-size:16px;line-height:1.65;word-break:keep-all;overflow-wrap:anywhere}
.result-details>summary,.decision-display-settings>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:16px;color:#405c48}.result-details p,.decision-display-settings small{font-size:16px;line-height:1.65}.decision-display-settings{margin-top:12px;border-top:1px solid #d7e3ca}.everyday-card h2:focus-visible{outline:3px solid #527c65;outline-offset:5px}
.growth-guide{font-size:16px;line-height:1.75;overflow-wrap:anywhere}.growth-guide p,.growth-guide small{font-size:16px;line-height:1.75}.growth-guide h3{font-size:20px;margin:24px 0 10px}.growth-strength{padding:16px;background:#f0f5e8;border:1px solid #c7d7bd;border-radius:12px}.growth-strength span,.growth-strength strong,.growth-strength small{display:block}.growth-strength strong{font-size:20px;margin:4px 0;color:#315840}.growth-fields{display:grid;gap:12px;margin:16px 0}.growth-field{border:1px solid #c7d7bd;border-radius:12px;margin:0;padding:0 16px;background:#fcfcf5}.growth-field>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:17px;min-height:76px;margin:0;padding:12px 0;list-style:none}.growth-field>summary b,.growth-field>summary small{display:block}.growth-field>summary small{font-weight:400;color:#4d624e}.growth-field[open]>summary{border-bottom:1px solid #d5dfce}.growth-field dl{display:flex;flex-wrap:wrap;gap:12px 24px}.growth-field dl div{display:flex;gap:10px}.growth-field dd{margin:0;font-weight:700}.growth-field .button{font-size:16px;min-height:48px;white-space:normal;margin:0 0 16px}.growth-guide>.button{font-size:16px;min-height:48px;white-space:normal}.growth-gate{padding:12px;background:#f5f1e5;border-radius:8px}.growth-history summary{font-size:16px;min-height:44px;display:flex;align-items:center}.growth-history ul{list-style:none;padding:0;font-size:16px}.growth-history li{display:flex;justify-content:space-between;gap:16px}.growth-history p{color:#4d624e}
@media(max-width:480px){.care-grid{grid-template-columns:1fr}.social-household .period-cash-note{padding:14px}.social-household .period-cash-note p,.social-household .period-cash-note small{font-size:16px;line-height:1.65;word-break:keep-all;overflow-wrap:anywhere}}

/* A completed choice must not push the current decision below the fold. */
.inline-result .compact-last-result>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;font-size:16px;line-height:1.6;cursor:pointer}.compact-last-result>summary>small{font-size:14px;white-space:nowrap;color:#405c48}.inline-result:has(.compact-last-result){margin-bottom:16px;padding:8px 12px}.compact-last-result[open]>summary{padding-bottom:10px;border-bottom:1px solid #d7e3ca}
@media(max-width:480px){.inline-result .compact-last-result>summary{display:block}.compact-last-result>summary>small{display:block;margin-top:4px}}

/* Optional support is not a mutually exclusive event decision. */
.friend-support-choice{margin:16px 0;padding:12px 16px;border:1px solid #cbdac8;border-radius:12px;background:#f3f7ef}
.friend-support-choice summary{cursor:pointer;font-size:1rem;font-weight:700;line-height:1.55;color:#28535a}
.friend-support-choice p{font-size:1rem;line-height:1.65;margin:10px 0}
.friend-support-choice .button{white-space:normal;text-align:left;max-width:100%;line-height:1.5}
