:root{--paper:#f4f1e8;--ink:#18231d;--muted:#6e746d;--line:#d6d2c6;--green:#2e5b46;--lime:#d7e35d;--coral:#e66a4e;--white:#fffdf6;--mono:"DM Mono",monospace;--serif:"Noto Serif SC",serif}
*{box-sizing:border-box}[hidden]{display:none!important}html{background:#d6d2c6}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);min-height:100svh}.game-shell{width:min(100%,560px);min-height:100svh;margin:auto;position:relative;overflow:hidden;background:var(--paper);box-shadow:0 0 60px #1c241b1c}.topbar{height:68px;padding:env(safe-area-inset-top) 22px 0;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:9px;font-weight:900;font-size:17px}.brand-mark{display:grid;place-items:center;width:27px;height:27px;background:var(--ink);color:var(--paper);border-radius:50%;font-size:15px}.icon-btn{border:1px solid var(--line);background:transparent;border-radius:50%;width:38px;height:38px;padding:9px;color:var(--ink);cursor:pointer}.icon-btn svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon-btn.muted svg{opacity:.35}.screen{display:none;min-height:calc(100svh - 68px);padding:14px 22px calc(28px + env(safe-area-inset-bottom));animation:fade .45s ease}.screen.active{display:flex;flex-direction:column}@keyframes fade{from{opacity:0;transform:translateY(8px)}}
.life-art{height:37svh;min-height:250px;max-height:360px;margin:0 -22px;position:relative}.life-art canvas{width:100%;height:100%;display:block}.year-stamp{position:absolute;left:22px;top:34%;font:500 10px/1.3 var(--mono);letter-spacing:0;color:var(--muted);text-transform:uppercase}.year-stamp strong{font-size:22px;color:var(--ink)}.intro-copy{margin-top:-5px}.eyebrow,.step-label{font:500 10px/1.4 var(--mono);letter-spacing:.12em;color:var(--green);text-transform:uppercase}.intro-copy h1,.section-head h2,#endingTitle{font-size:46px;line-height:1.14;letter-spacing:0;margin:10px 0 14px;font-weight:900}.intro-copy h1 em,#endingTitle em{font-style:normal;color:var(--coral)}.lede{color:var(--muted);font-size:14px;line-height:1.8;margin:0;max-width:420px}.primary-btn{width:100%;min-height:58px;margin-top:auto;border:0;border-radius:4px;background:var(--ink);color:var(--white);font:700 16px var(--serif);display:flex;align-items:center;justify-content:space-between;padding:0 20px;cursor:pointer;transition:.2s}.primary-btn:hover{background:var(--green)}.primary-btn:active{transform:scale(.985)}.primary-btn:disabled{opacity:.35;cursor:not-allowed}.tiny-note{text-align:center;font:400 10px var(--mono);color:#8d918b;margin:12px 0 0}
.section-head{padding:2vh 0 10px}.section-head h2{font-size:36px;margin:8px 0 10px}.section-head>p:last-child{font-size:13px;color:var(--muted)}.section-head>p strong{font:500 18px var(--mono);color:var(--coral)}.origin-card{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted)}.origin-card strong{color:var(--ink);font-size:13px;text-align:right}.attribute-list{margin:10px 0 18px}.attribute-row{display:grid;grid-template-columns:80px 1fr 78px;align-items:center;border-bottom:1px solid var(--line);padding:14px 0}.attr-name strong{display:block;font-size:15px}.attr-name span{font:400 9px var(--mono);color:var(--muted)}.attr-track{height:5px;background:#dedbd2;margin:0 13px}.attr-fill{height:100%;background:var(--green);transition:.25s}.stepper{display:grid;grid-template-columns:28px 22px 28px;align-items:center;text-align:center;font:500 14px var(--mono)}.stepper button{width:28px;height:28px;border:1px solid var(--line);background:var(--white);border-radius:50%;font-size:18px;line-height:1;cursor:pointer;color:var(--ink)}
.portrait-progress{display:flex;align-items:center;gap:14px;padding:2vh 0 7vh;font:500 9px var(--mono);color:var(--green)}.portrait-progress>div{height:3px;flex:1;background:var(--line)}.portrait-progress i{display:block;height:100%;width:16%;background:var(--coral);transition:width .45s ease}.portrait-question{animation:questionIn .4s ease}.portrait-question h2,.profile-heading h2{font-size:38px;line-height:1.25;letter-spacing:0;margin:11px 0 12px}.portrait-question>p:last-child,.profile-heading>p:last-child{font-size:12px;line-height:1.7;color:var(--muted);margin:0}.portrait-options{display:grid;gap:9px;margin:5vh 0 22px}.portrait-option{width:100%;min-height:58px;border:1px solid var(--line);border-radius:3px;background:var(--white);color:var(--ink);display:flex;align-items:center;justify-content:space-between;text-align:left;padding:11px 16px;font:700 14px/1.5 var(--serif);cursor:pointer;transition:.2s}.portrait-option i{font:400 13px var(--mono);font-style:normal;color:var(--coral)}.portrait-option:hover,.portrait-option:focus-visible{background:var(--ink);border-color:var(--ink);color:white;transform:translateX(2px)}.profile-preview{animation:questionIn .5s ease}.profile-heading{margin-bottom:20px}.profile-origin{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-block:1px solid var(--line);font-size:11px;color:var(--muted)}.profile-origin strong{text-align:right;color:var(--ink);font-size:13px}.family-file{margin:8px 0 15px}.family-file>div{display:grid;grid-template-columns:78px 1fr;padding:7px 0;border-bottom:1px solid #dedbd2}.family-file dt{font:400 9px var(--mono);color:var(--muted)}.family-file dd{margin:0;text-align:right;font-size:11px;line-height:1.45}.profile-stats{margin-bottom:20px}.profile-stats>div{display:grid;grid-template-columns:42px 1fr 20px;gap:10px;align-items:center;margin:8px 0;font:500 10px var(--mono)}.profile-stats i{height:4px;background:var(--line)}.profile-stats b{display:block;height:100%;background:var(--green)}.profile-stats strong{color:var(--coral)}@keyframes questionIn{from{opacity:0;transform:translateY(8px)}}
.portrait-option.selected{border-color:var(--green);box-shadow:inset 3px 0 var(--green)}.portrait-back{align-self:flex-start;border:0;background:transparent;color:var(--muted);padding:10px 0;margin:0 0 12px;font:500 10px var(--mono);cursor:pointer}.portrait-back:hover{color:var(--green)}.profile-preview blockquote{margin:0 0 18px;padding:0 0 0 13px;border-left:2px solid var(--coral);color:var(--muted);font-size:12px;line-height:1.8}.profile-stats small{grid-column:2/-1;color:var(--muted);font:400 8px/1.4 var(--mono);margin-top:-7px}.profile-stats>div{grid-template-columns:42px 1fr 20px;row-gap:7px}
.life-intentions{display:grid;gap:18px;margin:18px 0}.life-intentions section{display:grid;grid-template-columns:1fr 1fr;gap:7px}.life-intentions section>span{grid-column:1/-1;font:500 9px var(--mono);color:var(--green)}.life-intentions button{min-height:64px;padding:9px;text-align:left;border:1px solid var(--line);border-radius:3px;background:var(--white);color:var(--ink);cursor:pointer}.life-intentions button strong,.life-intentions button small{display:block}.life-intentions button strong{font:700 12px/1.5 var(--serif)}.life-intentions button small{font:400 8px/1.45 var(--mono);color:var(--muted);margin-top:2px}.life-intentions button.selected{border-color:var(--green);box-shadow:inset 3px 0 var(--green);background:#e9eee8}.choice-btn.locked{opacity:.55;background:#ebe8df;border-style:dashed;cursor:not-allowed}.choice-btn.locked:after{content:'锁';font:500 9px var(--mono);color:var(--muted)}.choice-btn.locked .effect{color:var(--muted)}
.profile-name{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:12px;margin:0 0 16px;padding:10px 0;border-block:1px solid var(--line)}.profile-name span{font:500 9px var(--mono);color:var(--green)}.profile-name input{width:100%;border:0;border-bottom:1px solid var(--green);background:transparent;padding:7px 2px;color:var(--ink);font:700 18px var(--serif);outline:none}.profile-name input:focus{border-color:var(--coral)}
#setupScreen{overflow-y:auto}#setupScreen .primary-btn{flex:none;margin-top:auto}
.life-header{display:flex;align-items:flex-start;justify-content:space-between;padding-top:1vh}.life-header h2{font:900 clamp(56px,18vw,82px)/.9 var(--serif);margin:4px 0 10px}.life-header h2 small{font-size:17px;margin-left:4px}.life-progress{width:86px;height:5px;background:var(--line);margin-top:17px}.life-progress span{height:100%;display:block;background:var(--coral);width:2%;transition:width .5s}.stats-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:14px}.mini-stat{padding:10px 4px;border-right:1px solid var(--line);text-align:center}.mini-stat:last-child{border:0}.mini-stat span{display:block;font:400 9px var(--mono);color:var(--muted);margin-bottom:3px}.mini-stat strong{font:500 14px var(--mono)}.mini-stat.flash strong{color:var(--coral)}.scene-art{height:150px;position:relative;overflow:hidden;background:#cad9c9;border-radius:3px;margin-bottom:0;transition:background .5s}.sun{width:54px;height:54px;border-radius:50%;background:var(--lime);position:absolute;right:15%;top:17%}.horizon{position:absolute;width:120%;height:72%;left:-10%;bottom:-50%;border-radius:50% 50% 0 0;background:var(--green);opacity:.92}.figure{position:absolute;width:12px;height:48px;bottom:25px;left:50%;background:var(--ink);border-radius:8px 8px 2px 2px;transform-origin:bottom;transition:.5s}.figure:before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:var(--ink);left:-3px;top:-14px}.scene-year{position:absolute;left:13px;bottom:8px;color:#fff;font:500 10px var(--mono);opacity:.8}.event-panel{background:var(--white);padding:18px;margin:0;border:1px solid var(--line);border-top:0}.event-meta{display:flex;justify-content:space-between;font:500 9px var(--mono);color:var(--green);text-transform:uppercase}.event-panel h3{font-size:24px;line-height:1.35;margin:10px 0 8px}.event-panel>p{font-size:13px;color:var(--muted);line-height:1.75;margin:0 0 15px}.choices{display:grid;gap:8px}.choice-btn{min-height:47px;text-align:left;border:1px solid #c9c5ba;border-radius:3px;background:transparent;padding:10px 38px 10px 12px;font:600 13px/1.5 var(--serif);color:var(--ink);cursor:pointer;position:relative}.choice-btn:after{content:"→";position:absolute;right:14px;top:50%;transform:translateY(-50%);font-family:var(--mono)}.choice-btn:hover{background:var(--ink);border-color:var(--ink);color:white}.effect{display:block;color:var(--coral);font:400 9px var(--mono);margin-top:2px}.choice-btn:hover .effect{color:var(--lime)}
.ending-visual{height:27svh;min-height:205px;background:var(--green);margin:0 -22px 20px;position:relative;overflow:hidden}.ending-visual:before,.ending-visual:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #f4f1e84a;border-radius:50%;width:330px;height:330px}.ending-visual:after{width:250px;height:250px}.final-ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:150px;height:150px;border:1px solid var(--lime);border-radius:50%;display:grid;place-content:center;text-align:center;color:white;z-index:1}.final-ring span,.final-ring small{font:400 10px var(--mono)}.final-ring strong{font:500 50px/.95 var(--mono)}#endingTitle{font-size:34px;margin:6px 0 10px}.endingQuote{font-size:13px;line-height:1.7;color:var(--muted);border-left:2px solid var(--coral);padding-left:12px}.final-stats{display:grid;grid-template-columns:repeat(4,1fr);margin:8px 0 14px}.final-stat{text-align:center;border-right:1px solid var(--line)}.final-stat:last-child{border:0}.final-stat span{display:block;font:400 9px var(--mono);color:var(--muted)}.final-stat strong{font:500 18px var(--mono)}.life-summary{padding:12px 0;border-top:1px solid var(--line);margin-bottom:14px}.life-summary span{font:500 9px var(--mono);color:var(--green)}.life-summary p{font-size:12px;line-height:1.7;margin:5px 0;color:var(--muted)}.toast{position:fixed;left:50%;top:76px;transform:translate(-50%,-15px);background:var(--ink);color:white;padding:9px 14px;border-radius:3px;font:500 11px var(--mono);opacity:0;pointer-events:none;transition:.25s;z-index:50;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:700px){body{padding:24px 0}.game-shell{min-height:calc(100vh - 48px);border-radius:8px}.screen{min-height:calc(100vh - 116px)}.topbar{padding-top:0}.life-art{height:320px}.scene-art{height:170px}}@media(max-height:700px){.life-art{height:31svh;min-height:205px}.intro-copy h1{font-size:34px}.lede{line-height:1.55}.attribute-row{padding:9px 0}.scene-art{height:115px}.event-panel{padding:14px}.event-panel h3{font-size:20px;margin:7px 0 4px}.event-panel>p{line-height:1.5;margin-bottom:8px}.choice-btn{min-height:42px;padding-top:7px;padding-bottom:7px}.ending-visual{height:24svh;min-height:155px}.final-ring{width:120px;height:120px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.secondary-btn{width:100%;min-height:50px;border:1px solid var(--ink);border-radius:4px;background:transparent;color:var(--ink);font:700 14px var(--serif);display:flex;align-items:center;justify-content:space-between;padding:0 18px;cursor:pointer}.saved-life{margin:18px 0 9px}.saved-life+ .primary-btn{margin-top:0}.saved-life span:last-child{font:500 10px var(--mono);color:var(--coral)}
.status-line{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;min-height:29px;margin:-4px 0 8px}.status-chip{display:flex;align-items:center;justify-content:space-between;background:#e9e5da;padding:6px 8px;font:500 9px var(--mono);white-space:nowrap;min-width:0}.status-chip:last-child{grid-column:1/-1}.status-chip strong{font-size:10px;overflow:hidden;text-overflow:ellipsis}.status-chip.good strong{color:var(--green)}.status-chip.warn strong{color:var(--coral)}
.life-dossier{border-block:1px solid var(--line);margin:0 0 10px;background:#eeeae0}.life-dossier summary{list-style:none;min-height:36px;padding:0 10px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font:500 9px var(--mono);color:var(--green)}.life-dossier summary::-webkit-details-marker{display:none}.life-dossier summary i{font-style:normal;color:var(--muted)}.life-dossier[open] summary i{font-size:0}.life-dossier[open] summary i:after{content:'收起';font-size:9px}.life-dossier>div{padding:4px 11px 12px;border-top:1px solid var(--line)}.life-dossier>div>div{padding:8px 0;border-bottom:1px solid #d9d5ca}.life-dossier>div>div:last-child{border:0}.life-dossier span{font:500 8px var(--mono);color:var(--green)}.life-dossier p{margin:4px 0;font-size:10px;line-height:1.6;color:var(--muted)}.dossier-people p{display:grid;grid-template-columns:68px 1fr}.dossier-people strong{font-size:11px;color:var(--ink)}.dossier-people small{font:400 8px var(--mono)}.dossier-people em{grid-column:1/-1;font-style:normal;color:var(--muted)}.dossier-open p{color:var(--coral)}
.result-sheet{position:absolute;z-index:20;left:22px;right:22px;bottom:calc(22px + env(safe-area-inset-bottom));background:var(--ink);color:var(--white);padding:22px;border-radius:4px;box-shadow:0 18px 45px #18231d4d;animation:sheetIn .55s cubic-bezier(.2,.8,.2,1)}.result-sheet>span{font:500 9px var(--mono);color:var(--lime);letter-spacing:.1em}.result-sheet h3{font-size:22px;margin:9px 0 8px}.result-sheet p{font-size:13px;line-height:1.7;color:#dadbd5;margin:0 0 14px}.result-effects{display:flex;gap:7px;flex-wrap:wrap}.result-effects span{font:500 9px var(--mono);padding:5px 7px;border:1px solid #ffffff35;animation:effectIn .45s .25s both}.result-effects .up{color:var(--lime)}.result-effects .down{color:#f29a85}@keyframes sheetIn{from{opacity:0;transform:translateY(36px) scale(.98)}}@keyframes effectIn{from{opacity:0;transform:translateY(6px)}}
.year-transition{position:absolute;inset:68px 0 0;z-index:30;background:var(--green);color:white;display:grid;place-content:center;text-align:center;padding:40px;overflow:hidden;animation:transitionIn .65s cubic-bezier(.2,.8,.2,1)}.year-transition[hidden],.result-sheet[hidden]{display:none}.year-transition>span{font:500 9px var(--mono);letter-spacing:.15em;color:var(--lime);position:relative;z-index:1}.year-transition p{font-size:13px;line-height:1.7;color:#dce5df;max-width:310px;margin:10px 0 0;position:relative;z-index:1;animation:copyIn .7s .35s both}.transition-rings,.transition-rings:before,.transition-rings:after{position:absolute;left:50%;top:44%;width:260px;height:260px;border:1px solid #f4f1e838;border-radius:50%;transform:translate(-50%,-50%);content:""}.transition-rings{animation:ringGrow 1.7s ease-out both}.transition-rings:before{width:380px;height:380px}.transition-rings:after{width:520px;height:520px}.age-shift{height:100px;display:flex;align-items:center;justify-content:center;gap:14px;position:relative;z-index:1}.age-shift small{font:500 28px var(--mono);color:#ffffff66;animation:oldAgeOut .8s .15s both}.age-shift i{font:400 16px var(--mono);font-style:normal;color:var(--lime)}.age-shift strong{font:900 68px/1 var(--serif);animation:newAgeIn .85s .2s both}.age-shift small:after,.age-shift strong:after{content:"岁";font-size:11px;margin-left:3px}@keyframes transitionIn{from{opacity:0}}@keyframes ringGrow{from{opacity:0;transform:translate(-50%,-50%) scale(.45)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes oldAgeOut{to{opacity:.35;transform:translateX(-10px)}}@keyframes newAgeIn{from{opacity:0;transform:translateX(18px)}}@keyframes copyIn{from{opacity:0;transform:translateY(8px)}}
.timeline-wrap{border-top:1px solid var(--line);padding-top:13px;margin-bottom:18px;overflow:visible}.timeline-label{font:500 9px var(--mono);color:var(--green)}.timeline{position:relative;margin-top:12px;padding-left:54px}.timeline:before{content:"";position:absolute;left:43px;top:5px;bottom:6px;width:1px;background:var(--line)}.timeline-item{position:relative;padding:0 0 17px 12px;min-height:36px}.timeline-item:before{content:"";position:absolute;left:-15px;top:4px;width:9px;height:9px;border-radius:50%;background:var(--paper);border:2px solid var(--coral)}.timeline-item strong{position:absolute;left:-66px;top:0;width:48px;text-align:right;font:500 10px var(--mono);color:var(--muted);white-space:nowrap}.timeline-item span{display:block;font-size:13px;font-weight:700;line-height:1.45}.timeline-item small{display:block;font:400 9px/1.55 var(--mono);color:var(--muted);margin-top:2px;overflow-wrap:anywhere}

/* Polished decision hierarchy and interruptible transitions. */
.choices{counter-reset:choice}.choice-btn{counter-increment:choice;min-height:54px;padding:10px 40px 10px 42px;transition:background .22s,color .22s,border-color .22s,transform .22s}.choice-btn:before{content:counter(choice,upper-alpha);position:absolute;left:12px;top:50%;transform:translateY(-50%);width:20px;height:20px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font:500 9px var(--mono);color:var(--green)}.choice-btn:hover{transform:translateX(2px)}.choice-btn:hover:before{border-color:#ffffff55;color:var(--lime)}.choice-btn:disabled{pointer-events:none}#lifeScreen.is-resolving .event-panel,#lifeScreen.is-resolving .scene-art{filter:saturate(.72);transition:filter .45s}#lifeScreen.is-resolving .choices{opacity:.34;transition:opacity .35s}
.result-sheet{background:#142019f5;backdrop-filter:blur(8px);animation-duration:.58s;max-height:calc(100svh - 100px);overflow-y:auto}.sheet-continue{width:100%;border:0;border-top:1px solid #ffffff25;background:transparent;color:white;margin:17px 0 -6px;padding:13px 0 2px;display:flex;justify-content:space-between;font:600 12px var(--serif);cursor:pointer}.sheet-continue span{color:var(--lime)}
.trajectory-changes{border-block:1px solid #ffffff25;padding:10px 0;margin:4px 0 13px}.trajectory-changes>span{display:block;color:var(--lime);font:500 8px var(--mono);letter-spacing:.08em;margin-bottom:7px}.trajectory-changes p{display:grid;grid-template-columns:34px 1fr 12px 1fr;align-items:center;gap:5px;margin:5px 0!important;font:400 9px/1.45 var(--mono)!important;color:#bfc4bf!important}.trajectory-changes strong{color:white}.trajectory-changes del{opacity:.65;overflow-wrap:anywhere}.trajectory-changes i{font-style:normal;color:var(--lime);text-align:center}.trajectory-changes b{color:white;font-weight:500;overflow-wrap:anywhere}
.year-transition{animation:transitionWipe .72s cubic-bezier(.2,.8,.2,1)}.transition-rings{animation-duration:2.15s}.transition-grain{position:absolute;inset:0;opacity:.1;background-image:radial-gradient(#fff 0.6px,transparent .7px);background-size:7px 7px;animation:grainDrift 5s linear infinite}.year-transition>span,.year-transition .age-shift,.year-transition>p{z-index:2}.transition-skip{position:absolute;z-index:3;bottom:calc(28px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);border:0;background:transparent;color:#ffffff8c;font:500 9px var(--mono);padding:12px 24px;cursor:pointer;animation:skipIn .5s 1s both}@keyframes transitionWipe{from{opacity:0;clip-path:inset(0 0 100% 0)}to{opacity:1;clip-path:inset(0)}}@keyframes grainDrift{to{background-position:21px 14px}}@keyframes skipIn{from{opacity:0}}

/* Dynamic editorial scenes and clean, unlettered decisions. */
.scene-art{height:auto;aspect-ratio:2.12/1;min-height:150px;background:#cad9c9;border:1px solid #bdc9bd;border-bottom:0;isolation:isolate}.scene-art canvas{display:block;width:100%;height:100%}.scene-art:after{content:"";position:absolute;inset:0;pointer-events:none;border:8px solid #f4f1e81a}.scene-caption{position:absolute;left:13px;top:10px;color:#183226;font:500 8px var(--mono);letter-spacing:.08em;background:#f4f1e8c7;padding:4px 6px}.scene-year{left:auto;right:13px;bottom:9px;background:#183226;color:var(--white);padding:4px 6px;opacity:1}.choices{counter-reset:none}.choice-btn{counter-increment:none;padding:11px 40px 11px 14px;min-height:52px}.choice-btn:before{display:none!important;content:none!important}.event-panel{border-top:0}@media(max-height:700px){.scene-art{min-height:125px;aspect-ratio:2.45/1}.choice-btn{min-height:46px;padding-top:8px;padding-bottom:8px}}

/* UI coherence pass: preserve the editorial palette while clarifying hierarchy. */
body{background:#d9d6cc}.game-shell{border-inline:1px solid #cbc7bb}.topbar{height:66px;background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(9px)}.brand-mark{box-shadow:0 0 0 1px #18231d12}.icon-btn{background:#f8f5ec;border-color:#d3cfc3;transition:background .2s,border-color .2s,transform .2s}.icon-btn:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.icon-btn:active{transform:scale(.94)}
.screen{padding-inline:22px}.eyebrow,.step-label{letter-spacing:.1em}.intro-copy{padding-top:3px}.intro-copy h1{max-width:350px}.lede{max-width:370px}.primary-btn,.secondary-btn{transition:background .2s,color .2s,border-color .2s,transform .16s,box-shadow .2s}.primary-btn:hover{box-shadow:0 8px 18px #18231d20}.secondary-btn:hover{background:#ebe7dc}.primary-btn:focus-visible,.secondary-btn:focus-visible,.choice-btn:focus-visible,.portrait-option:focus-visible,.icon-btn:focus-visible,.portrait-back:focus-visible,.sheet-continue:focus-visible,.transition-skip:focus-visible{outline:2px solid var(--coral);outline-offset:3px}
.portrait-progress{padding-bottom:6vh}.portrait-progress>div{border-radius:2px;overflow:hidden}.portrait-question h2{max-width:430px}.portrait-options{gap:10px}.portrait-option{min-height:60px;padding-inline:17px;border-color:#ccc7ba;box-shadow:0 1px 0 #18231d08}.portrait-option span{max-width:calc(100% - 28px)}.profile-heading h2{margin-bottom:8px}.profile-preview blockquote{background:#eee9dd;padding:12px 13px;margin-bottom:16px}.family-file>div{min-height:32px;align-items:center}.profile-stats>div{padding-block:2px}
.life-header{align-items:flex-start;padding-top:3px}.life-header h2{font-size:72px;letter-spacing:0;margin-bottom:12px}.life-header h2 small{color:var(--muted);font-weight:700}.life-progress{width:104px;height:4px;margin-top:18px}.stats-strip{background:#f0ece2;margin-bottom:12px}.mini-stat{padding:9px 4px}.mini-stat strong{font-size:15px}.status-line{gap:4px;margin-bottom:7px}.status-chip{min-height:28px;background:#e6e2d8;padding-inline:9px}.status-chip:last-child{background:transparent;border:1px solid var(--line);padding-block:7px}.status-chip:last-child strong{font-family:var(--serif);font-size:10px}.life-dossier{margin-bottom:10px;background:transparent;border-color:#cbc7ba}.life-dossier summary{min-height:38px;padding-inline:9px}.life-dossier summary i{color:var(--coral)}.life-dossier[open]{background:#eeeae0}.life-dossier>div{background:#f7f4eb}.dossier-people p{padding-block:2px}
.scene-art{border-color:#aebdaf;border-radius:2px 2px 0 0}.scene-caption{top:9px;left:10px}.scene-year{right:10px}.event-panel{padding:19px 18px 18px;border-color:#cbc7ba}.event-meta{padding-bottom:2px}.event-panel h3{font-size:25px;line-height:1.32;margin:11px 0 9px}.event-panel>p{font-size:13px;line-height:1.85;margin-bottom:17px;color:#626961}.choices{gap:9px}.choice-btn{min-height:56px;background:#fffdf8;border-color:#c9c4b7;padding:11px 42px 11px 14px;box-shadow:0 1px 0 #18231d08}.choice-btn:after{right:15px;color:var(--green)}.choice-btn:hover{transform:translateY(-1px);box-shadow:0 5px 12px #18231d15}.choice-btn:hover:after{color:var(--lime)}.effect{margin-top:3px;line-height:1.45}.result-sheet{border:1px solid #ffffff12;padding:23px}.result-sheet h3{line-height:1.35}.sheet-continue{min-height:40px;align-items:flex-end}.year-transition p{font-size:14px;line-height:1.85}.transition-skip{border:1px solid #ffffff22;border-radius:3px;bottom:calc(24px + env(safe-area-inset-bottom))}
.ending-visual{border-bottom:5px solid var(--lime)}.final-ring{background:#2e5b46d9;backdrop-filter:blur(3px)}#endingTitle{line-height:1.28}.endingQuote{background:#eee9dd;padding:10px 12px;border-left-width:3px}.final-stats{padding-block:5px}.life-summary p{line-height:1.85}.timeline-item{padding-bottom:19px}.timeline-item span{line-height:1.55}.timeline-item small{font-family:var(--serif);font-size:10px;line-height:1.65}
@media(max-width:370px){.event-panel{padding-inline:15px}.life-header h2{font-size:55px}.status-chip{padding-inline:6px}.status-chip strong{font-size:9px}.portrait-question h2{font-size:29px}.choice-btn{font-size:12px}}
@media(max-height:700px){.topbar{height:60px}.screen{min-height:calc(100svh - 60px);padding-top:8px}.life-header h2{font-size:52px;margin-bottom:7px}.stats-strip{margin-bottom:8px}.mini-stat{padding-block:7px}.status-line{margin-bottom:5px}.life-dossier summary{min-height:32px}.event-panel h3{font-size:21px}.event-panel>p{font-size:12px;line-height:1.65}.choice-btn{min-height:48px}.portrait-progress{padding-bottom:3vh}.portrait-options{margin-top:3vh}}

.dossier-relationship p{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.dossier-relationship strong{font-size:11px;color:var(--ink)}.dossier-relationship small{font:400 8px/1.5 var(--mono);color:var(--coral);text-align:right}
@media(min-width:700px){.game-shell{border:1px solid #c9c5b9}.topbar{padding-inline:28px}.screen{padding-inline:28px}.life-art,.ending-visual{margin-inline:-28px}.event-panel{padding:22px}.portrait-options{max-width:500px;width:100%}}

/* Calmer home composition. */
#introScreen{padding-top:0}.life-art{height:34svh;min-height:232px;max-height:318px;isolation:isolate}.life-art canvas{transform:translateZ(0);backface-visibility:hidden}.intro-copy{margin-top:0;padding-top:18px}.intro-copy .eyebrow{margin:0 0 8px}.intro-copy h1{font-size:43px;line-height:1.16;margin:0 0 13px;max-width:330px}.intro-copy .lede{font-size:13px;line-height:1.75;max-width:350px}.saved-life{min-height:46px;margin:24px 0 9px;padding-inline:17px;font-size:13px;background:transparent;border-color:#aaa69b}.saved-life+ .primary-btn{min-height:56px}.tiny-note{margin-top:14px;color:#888d86}
@media(max-height:760px){.life-art{height:31svh;min-height:205px}.intro-copy{padding-top:13px}.intro-copy h1{font-size:38px;margin-bottom:9px}.intro-copy .lede{line-height:1.6}.saved-life{margin-top:17px}.tiny-note{margin-top:10px}}
@media(max-width:370px){.intro-copy h1{font-size:38px}.intro-copy .lede{font-size:12px}.saved-life{margin-top:17px}}
.dossier-career p strong{color:var(--ink)}.dossier-modifiers p{display:flex;justify-content:space-between;gap:12px;padding:4px 0}.dossier-modifiers strong{font-size:10px;color:var(--coral)}.dossier-modifiers small{font:400 8px/1.5 var(--mono);color:var(--muted);text-align:right}.share-archive{border-block:1px solid var(--line);padding:13px 0;margin:3px 0 18px}.share-archive>div{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.share-archive span{font:500 9px var(--mono);color:var(--green)}.share-archive strong{font:500 12px var(--mono);color:var(--coral)}.share-archive .secondary-btn{min-height:46px;font-size:13px}.share-archive .secondary-btn span:last-child{font-size:16px;color:var(--coral)}

/* Major life documents: an admission letter, offer, marriage record or farewell page. */
.milestone-overlay{position:absolute;inset:66px 0 0;z-index:40;background:#15221c;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 24px calc(30px + env(safe-area-inset-bottom));overflow:hidden;animation:milestoneFade .45s ease}.milestone-atmosphere{position:absolute;inset:0;background:linear-gradient(165deg,#2e5b46 0 42%,#17251e 42%);opacity:.92}.milestone-atmosphere:after{content:"";position:absolute;inset:0;background-image:radial-gradient(#fff 0.55px,transparent .7px);background-size:8px 8px;opacity:.08;animation:grainDrift 6s linear infinite}.milestone-document{position:relative;width:min(100%,430px);min-height:0;background:#fffdf6;color:var(--ink);padding:34px 32px 30px;border:10px solid #fffdf6;box-shadow:inset 0 0 0 1px #c8c3b5,0 24px 70px #0007;transform-origin:50% 100%;animation:documentOpen .9s cubic-bezier(.16,.8,.2,1) both;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#b9b3a5 transparent}.milestone-document:before{display:none}.document-fold{position:absolute;inset:0;background:#e8e2d5;clip-path:polygon(0 0,100% 0,50% 55%);transform-origin:top;animation:foldAway .8s .2s cubic-bezier(.2,.8,.2,1) both;z-index:4}.milestone-document header,.milestone-document footer{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;z-index:2}.milestone-document header>span{font:500 8px/1.5 var(--mono);letter-spacing:.08em;color:var(--green)}.milestone-document header i{width:48px;height:48px;flex:0 0 48px;border:2px solid var(--coral);border-radius:50%;display:grid;place-items:center;font:700 10px var(--mono);font-style:normal;color:var(--coral);transform:rotate(-11deg);animation:sealStamp .45s 1s both}.document-to{margin:24px 0 8px!important;font:500 10px var(--mono)!important;color:var(--muted)!important}.milestone-document h3{font-size:28px;line-height:1.3;margin:0 0 18px}.milestone-document>p:not(.document-to){font-size:13px;line-height:1.9;color:#555e57;margin:0}.milestone-document footer{position:relative;border-top:1px solid var(--line);padding-top:13px;margin-top:18px;font:500 9px var(--mono);color:var(--muted)}.milestone-document footer strong{font-weight:500;color:var(--ink);text-align:right}.milestone-document.offer{border-top-color:var(--lime)}.milestone-document.offer header i{border-radius:3px;border-color:var(--green);color:var(--green);transform:rotate(0)}.milestone-document.marriage{background:#fff9f3;border-color:#fff9f3;box-shadow:inset 0 0 0 1px #d99b8c,0 24px 70px #0007}.milestone-document.marriage header i{font:900 25px var(--serif);border-color:#b83d2d;color:#b83d2d}.milestone-document.marriage h3{color:#9f3125}.milestone-document.farewell{background:#e9e7df;color:#202620;border-color:#e9e7df}.milestone-document.farewell header i{border-color:#59625c;color:#59625c}.milestone-document.farewell h3{font-size:24px}.milestone-continue{position:relative;width:min(100%,430px);min-height:50px;margin-top:18px;border:1px solid #ffffff40;background:transparent;color:white;padding:0 17px;display:flex;align-items:center;justify-content:space-between;font:600 13px var(--serif);cursor:pointer;animation:copyIn .5s 1.25s both}.milestone-continue span{color:var(--lime)}@keyframes milestoneFade{from{opacity:0}}@keyframes documentOpen{from{opacity:0;transform:translateY(80px) rotateX(18deg) scale(.94)}}@keyframes foldAway{0%{opacity:1;transform:rotateX(0)}80%,100%{opacity:0;transform:rotateX(150deg)}}@keyframes sealStamp{from{opacity:0;transform:scale(2) rotate(-18deg)}to{opacity:1;transform:scale(1) rotate(-11deg)}}
@media(max-height:700px){.milestone-overlay{inset:60px 0 0;padding-block:18px}.milestone-document{min-height:0;padding:24px}.document-to{margin-top:16px!important}.milestone-document h3{font-size:23px;margin-bottom:12px}.milestone-document>p:not(.document-to){font-size:12px;line-height:1.7}.milestone-document footer{left:auto;right:auto;bottom:auto}}

.milestone-document{max-height:calc(100svh - 175px)}.milestone-details{margin:18px 0 0;border-top:1px solid var(--line)}.milestone-details>div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:12px;padding:7px 0;border-bottom:1px solid #dfdbcf}.milestone-details dt{font:500 8px/1.5 var(--mono);color:var(--muted)}.milestone-details dd{margin:0;text-align:right;font-size:10px;line-height:1.55;color:var(--ink);overflow-wrap:anywhere}.milestone-document.offer .milestone-details{border-color:#bfc9b9}.milestone-document.marriage .milestone-details{border-color:#deb7ad}.milestone-document.farewell .milestone-details{border-color:#c5c5bd}@media(max-height:700px){.milestone-document{min-height:0;max-height:calc(100svh - 145px)}.document-to{margin-top:16px!important}.milestone-details{margin-top:12px}.milestone-details>div{padding:5px 0}.milestone-document footer{margin-top:12px}}
.document-archive{border:1px solid #c8c3b6;margin:0 0 10px;padding:10px;background:#f8f5ec}.document-archive>span{display:block;font:500 8px var(--mono);color:var(--green);margin-bottom:7px}.document-archive>div{display:grid;gap:5px}.document-archive button{width:100%;display:grid;grid-template-columns:70px 1fr 30px;align-items:center;gap:8px;border:0;border-top:1px solid var(--line);background:transparent;padding:8px 0;text-align:left;color:var(--ink);cursor:pointer}.document-archive button span{font:500 7px var(--mono);color:var(--coral)}.document-archive button strong{font-size:10px;line-height:1.4}.document-archive button i{font:500 8px var(--mono);font-style:normal;color:var(--muted);text-align:right}.document-archive button:hover i{color:var(--coral)}

/* Two transition rhythms: a same-year chapter turn and a true passage of years. */
.year-transition{inset:66px 0 0;background:#183027;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:42px 34px calc(82px + env(safe-area-inset-bottom));animation:transitionReveal .52s cubic-bezier(.2,.75,.2,1);clip-path:none}.transition-rings,.transition-grain{display:none}.transition-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff0b 1px,transparent 1px),linear-gradient(90deg,#ffffff0b 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,transparent,#000 24%,#000 76%,transparent);opacity:.55}.year-transition>span{font:500 9px var(--mono);letter-spacing:.12em;color:var(--lime);position:relative;z-index:2}.transition-years{width:min(100%,360px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:26px 0 4px;position:relative;z-index:2}.transition-years small{font:500 10px var(--mono);color:#ffffff8f}.transition-years i{height:1px;background:#ffffff35;position:relative}.transition-years i b{position:absolute;left:0;top:-2px;width:5px;height:5px;border-radius:50%;background:var(--lime);animation:timeDot 1.1s .15s cubic-bezier(.2,.8,.2,1) both}.age-shift{height:122px;gap:18px}.age-shift small{font-size:24px;color:#ffffff70;animation:ageLeave .55s .08s both}.age-shift i{font-size:0;width:38px;height:1px;background:#ffffff45;position:relative}.age-shift i:after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid var(--lime);border-right:1px solid var(--lime);transform:rotate(45deg)}.age-shift strong{font:900 76px/1 var(--serif);color:#fff;animation:ageArrive .65s .12s both}.chapter-shift{display:none;position:relative;z-index:2;align-items:baseline;justify-content:center;flex-wrap:wrap;margin:24px 0 13px;max-width:360px}.chapter-shift small{font:500 10px var(--mono);color:var(--muted);margin-right:9px}.chapter-shift strong{font:900 82px/1 var(--serif);color:var(--ink);animation:chapterAge .58s .08s both}.chapter-shift i{font:500 12px var(--mono);font-style:normal;color:var(--coral);margin-left:4px}.chapter-shift span{flex-basis:100%;font:700 18px/1.5 var(--serif);color:var(--ink);margin-top:13px}.year-transition p{font-size:13px;line-height:1.8;color:#d8e0db;max-width:340px;margin:5px 0 0;animation:copyIn .5s .22s both}.transition-skip{bottom:calc(25px + env(safe-area-inset-bottom));min-width:132px;min-height:42px;border:1px solid #ffffff42!important;background:#ffffff08!important;color:#fff!important;animation:copyIn .45s .35s both}.same-year.year-transition{background:var(--paper);color:var(--ink);border-top:5px solid var(--coral)}.same-year .transition-grid{background-image:linear-gradient(#18231d0a 1px,transparent 1px),linear-gradient(90deg,#18231d0a 1px,transparent 1px)}.same-year>span{color:var(--green)}.same-year .transition-years{margin-top:22px}.same-year .transition-years small{color:var(--muted)}.same-year .transition-years i{background:var(--line)}.same-year .transition-years i b{left:50%;background:var(--coral);animation:sameYearPulse .7s .1s both}.same-year .age-shift{display:none}.same-year .chapter-shift{display:flex}.same-year p{color:var(--muted);max-width:325px}.same-year .transition-skip{border-color:var(--ink)!important;background:transparent!important;color:var(--ink)!important}.year-gap .chapter-shift{display:none}@keyframes transitionReveal{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes timeDot{from{left:0}to{left:calc(100% - 5px)}}@keyframes sameYearPulse{from{opacity:0;transform:scale(.2)}60%{opacity:1;transform:scale(1.8)}to{opacity:1;transform:scale(1)}}@keyframes ageLeave{to{opacity:.28;transform:translateX(-8px)}}@keyframes ageArrive{from{opacity:0;transform:translateX(16px)}}@keyframes chapterAge{from{opacity:0;transform:translateY(10px)}}@media(max-height:700px){.year-transition{inset:60px 0 0;padding-top:25px}.transition-years{margin-top:17px}.age-shift{height:92px}.age-shift strong{font-size:62px}.chapter-shift{margin-top:15px}.chapter-shift strong{font-size:66px}.year-transition p{font-size:12px;line-height:1.65}}

/* Event importance stays visible without making every moment theatrical. */
.event-panel[data-importance="major"]{border-top:3px solid var(--green)}.event-panel[data-importance="critical"]{border-top:4px solid var(--coral);background:#fff9f4}.event-panel[data-importance="critical"] .event-meta{color:var(--coral)}.event-panel[data-importance="critical"] h3{color:#9e392b}.event-panel[data-importance="minor"]{background:#faf8f1}.event-panel[data-importance="minor"] h3{font-size:22px}

/* Personal history is summarized first; people and stories open by relationship layer. */
.dossier-overview{padding:14px 13px 12px;border-bottom:1px solid var(--line);background:#f7f4eb}.dossier-overview>span{display:block;font:500 8px var(--mono);color:var(--green);margin-bottom:5px}.dossier-overview>strong{display:block;font:700 18px/1.35 var(--serif);color:var(--ink)}.dossier-overview>p{margin:5px 0 0;font-size:10px;line-height:1.65;color:var(--muted)}.dossier-now{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.dossier-now>p{min-width:0;margin:0;padding:11px 12px}.dossier-now>p+ p{border-left:1px solid var(--line)}.dossier-now span,.dossier-group-body>span{display:block;font:500 8px var(--mono);color:var(--muted)}.dossier-now strong{display:block;margin:4px 0 2px;font-size:10px;line-height:1.5;color:var(--ink)}.dossier-now small{display:block;font:400 7px/1.55 var(--mono);color:var(--muted);overflow-wrap:anywhere}.dossier-group{border-bottom:1px solid var(--line);background:#f7f4eb}.dossier-group>summary{list-style:none;display:grid;grid-template-columns:auto minmax(0,1fr) 16px;align-items:center;gap:9px;min-height:43px;padding:0 12px;cursor:pointer}.dossier-group>summary::-webkit-details-marker{display:none}.dossier-group>summary span{font:700 11px var(--serif);color:var(--ink)}.dossier-group>summary small{font:400 7px/1.45 var(--mono);color:var(--muted);text-align:right;overflow-wrap:anywhere}.dossier-group>summary i{font:500 12px var(--mono);font-style:normal;color:var(--coral);text-align:center;transition:transform .2s}.dossier-group[open]>summary i{transform:rotate(180deg)}.dossier-group-body{padding:0 12px 12px;background:#fffdf8}.dossier-person{padding:10px 0;border-top:1px solid #ded9cd}.dossier-person>div{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.dossier-person strong{font-size:11px;color:var(--ink)}.dossier-person small{font:400 7px/1.5 var(--mono);color:var(--coral);text-align:right}.dossier-person p,.dossier-interest p{margin:5px 0 0;font-size:9px;line-height:1.7;color:#606860}.dossier-interest{padding:11px 0 8px}.dossier-interest strong{display:block;font-size:12px;color:var(--ink)}.dossier-interest small{display:block;margin-top:3px;font:400 8px/1.5 var(--mono);color:var(--coral)}.dossier-moment{display:grid;grid-template-columns:45px minmax(0,1fr);gap:8px;margin:0;padding:7px 0;border-top:1px solid #e2ded3;font-size:9px;line-height:1.55;color:#606860}.dossier-moment b{font:500 8px var(--mono);color:var(--green)}.dossier-tags,.dossier-empty{margin:0;padding:10px 0;font-size:9px;line-height:1.75;color:var(--muted)}.dossier-state{display:flex;justify-content:space-between;gap:10px;margin:0;padding:7px 0;border-top:1px solid #e2ded3}.dossier-state strong{font-size:9px;color:var(--coral)}.dossier-state small{font:400 7px/1.5 var(--mono);color:var(--muted);text-align:right}@media(max-width:370px){.dossier-now{grid-template-columns:1fr}.dossier-now>p+ p{border-left:0;border-top:1px solid var(--line)}.dossier-person>div{display:block}.dossier-person small{display:block;margin-top:2px;text-align:left}}

@media(max-width:430px){.milestone-document{padding:26px 22px 24px;border-width:8px}.milestone-details>div{grid-template-columns:72px minmax(0,1fr)}.milestone-document h3{font-size:24px}.milestone-document footer{gap:10px}}

/* Achievements remain a compact record, not a second event feed. */
.achievement-drawer{margin:0 0 10px;border:1px solid #cbc7ba;background:#f7f4eb}.achievement-drawer>summary{list-style:none;min-height:38px;padding:0 10px;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.achievement-drawer>summary::-webkit-details-marker{display:none}.achievement-drawer>summary span{font:700 10px var(--serif);color:var(--ink)}.achievement-drawer>summary b{font:600 9px var(--mono);color:var(--coral);margin-right:6px}.achievement-drawer>summary i{font:500 8px var(--mono);font-style:normal;color:var(--green)}.achievement-progress{height:3px;background:#ded9cc}.achievement-progress i{display:block;width:0;height:100%;background:var(--coral);transition:width .35s ease}.achievement-groups{padding:9px;background:#fffdf8;border-top:1px solid var(--line)}.achievement-groups section+section{margin-top:12px}.achievement-groups header{display:flex;align-items:center;justify-content:space-between;padding:0 2px 5px}.achievement-groups header strong{font:700 10px var(--serif);color:var(--green)}.achievement-groups header span{font:500 7px var(--mono);color:var(--muted)}.achievement-item{display:grid;grid-template-columns:20px minmax(0,1fr);gap:7px;align-items:center;min-height:42px;border-top:1px solid #e2ded3;padding:6px 2px}.achievement-item>i{width:18px;height:18px;border:1px solid #c9c4b7;border-radius:50%;display:grid;place-items:center;font:700 9px var(--mono);font-style:normal;color:#aaa59a}.achievement-item strong{display:block;font-size:10px;line-height:1.4;color:var(--ink)}.achievement-item small{display:block;margin-top:2px;font:400 7px/1.55 var(--mono);color:var(--muted)}.achievement-item.unlocked>i{border-color:var(--coral);background:var(--coral);color:white}.achievement-item.unlocked small{color:#656d66}.achievement-item.locked{opacity:.7}.achievement-item.locked strong{color:var(--muted)}

/* Important events expose the facts a player needs before deciding. */
.event-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:-5px 0 16px;border:1px solid #d6d1c5;background:#f5f1e7}.event-facts>div{min-width:0;padding:8px 9px}.event-facts>div:nth-child(even){border-left:1px solid #d6d1c5}.event-facts>div:nth-child(n+3){border-top:1px solid #d6d1c5}.event-facts span{display:block;font:500 7px/1.4 var(--mono);color:var(--muted)}.event-facts strong{display:block;margin-top:3px;font:700 10px/1.5 var(--serif);color:var(--green);overflow-wrap:anywhere}.event-panel[data-importance="critical"] .event-facts strong{color:#9e392b}@media(max-width:370px){.event-facts{grid-template-columns:1fr}.event-facts>div:nth-child(even){border-left:0}.event-facts>div+div{border-top:1px solid #d6d1c5}}

/* Save positions, finite resources and causal feedback. */
.save-slots{margin:8px 0 10px;border-block:1px solid var(--line);background:#f7f4eb}.save-slots>summary{list-style:none;min-height:39px;padding:0 10px;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.save-slots>summary::-webkit-details-marker{display:none}.save-slots>summary span{font:700 10px var(--serif)}.save-slots>summary i{font:500 8px var(--mono);font-style:normal;color:var(--green)}#saveSlotList{border-top:1px solid var(--line)}.save-slot-row{display:grid;grid-template-columns:minmax(0,1fr) 38px;border-bottom:1px solid #dfdbcf;background:var(--white)}.save-slot-row:last-child{border-bottom:0}.save-slot-row.active{box-shadow:inset 3px 0 var(--coral)}.save-slot-select,.save-slot-delete{border:0;background:transparent;color:var(--ink);cursor:pointer}.save-slot-select{min-width:0;padding:9px 11px;text-align:left}.save-slot-select span,.save-slot-select strong,.save-slot-select small{display:block;overflow-wrap:anywhere}.save-slot-select span{font:500 7px var(--mono);color:var(--coral)}.save-slot-select strong{margin-top:3px;font:700 10px/1.45 var(--serif)}.save-slot-select small{margin-top:2px;font:400 7px/1.45 var(--mono);color:var(--muted)}.save-slot-delete{font:400 20px/1 var(--mono);color:#9a5a50;border-left:1px solid var(--line)}.save-slot-delete:hover{background:#f4e5df}.profile-identity-inputs{margin-bottom:16px}.profile-identity-inputs .profile-name{margin-bottom:0}.profile-name.life-seed{grid-template-columns:72px minmax(0,1fr);position:relative;padding-bottom:19px}.profile-name.life-seed small{position:absolute;left:84px;bottom:4px;font:400 7px/1.4 var(--mono);color:var(--muted)}.profile-name.life-seed input{font:500 13px var(--mono);letter-spacing:0}.resource-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:-5px 0 9px;border:1px solid var(--line);background:#ece9df}.resource-strip p{min-width:0;margin:0;padding:7px 5px;text-align:center}.resource-strip p+ p{border-left:1px solid var(--line)}.resource-strip span,.resource-strip strong{display:block}.resource-strip span{font:500 7px var(--mono);color:var(--muted)}.resource-strip strong{margin-top:3px;font:700 9px/1.35 var(--serif);color:var(--green);overflow-wrap:anywhere}.causal-notice{margin:-4px 0 14px;padding:9px 10px;border-left:3px solid var(--green);background:#e8eee8;font-size:10px;line-height:1.65;color:#4e5b53}.result-causality{margin:12px 0 0;padding:8px 10px;border-left:3px solid var(--green);background:#e8eee8}.result-causality p{margin:0;font-size:9px;line-height:1.65;color:#506057}.result-causality p+ p{margin-top:3px}.alternative-preview{margin-top:9px;padding-top:9px;border-top:1px solid var(--line);font-size:9px;line-height:1.65;color:var(--muted)}.ending-causal,.meta-progress{margin:0 0 16px;border-block:1px solid var(--line);padding:12px 0}.ending-causal>span,.meta-progress>span{display:block;margin-bottom:8px;font:500 8px var(--mono);color:var(--green)}.ending-causal p{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;margin:0;padding:7px 0;border-top:1px solid #dfdbcf}.ending-causal strong{font-size:10px}.ending-causal small{font:400 8px/1.55 var(--mono);color:var(--muted)}.meta-progress{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);padding:1px}.meta-progress>span{grid-column:1/-1;background:var(--paper);margin:0;padding:10px}.meta-progress>div{background:var(--white);padding:10px}.meta-progress strong,.meta-progress small{display:block}.meta-progress strong{font:600 15px var(--mono);color:var(--coral)}.meta-progress small{margin-top:3px;font:400 7px var(--mono);color:var(--muted)}
@media(max-width:370px){.resource-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-strip p:nth-child(3){border-left:0}.resource-strip p:nth-child(n+3){border-top:1px solid var(--line)}.ending-causal p{grid-template-columns:1fr}.profile-name.life-seed small{left:0}.profile-name.life-seed{padding-bottom:27px}}
