.life-app{--paper:#f2eddf;--ink:#263b35;--muted:#686657;--line:#ccc3b0;--red:#a34b3b;--life-stage:#263b35;--life-gold:#c1a56c;--life-focus:#9b4d36;background:var(--paper);color:var(--ink);min-height:100dvh;font-family:"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.7;isolation:isolate}
.life-app *{box-sizing:border-box}.life-app [hidden]{display:none!important}.life-app button,.life-app a{touch-action:manipulation}.life-app button{font:inherit;color:inherit;cursor:pointer;min-height:44px;border:0;background:transparent;padding:8px 12px;border-radius:4px;transition:background-color .18s,color .18s,box-shadow .18s,translate .12s}.life-app button:disabled{cursor:not-allowed;opacity:.55}.life-app button:focus-visible,.life-app a:focus-visible,.life-app input:focus-visible{outline:3px solid #9f513d;outline-offset:3px}.life-app a{color:inherit;text-decoration:none}.life-app p{margin:0 0 16px}.life-app h1,.life-app h2,.life-brand{font-family:"Kaiti SC","STKaiti","KaiTi","Noto Serif CJK SC",serif;font-weight:500;line-height:1.25}.life-brand{display:flex;align-items:center;gap:12px;white-space:nowrap;font-size:29px;letter-spacing:3px}.life-brand i{display:flex;align-items:center;justify-content:center;width:20px;height:36px;flex-shrink:0;line-height:1;background:var(--red);font-size:11px;color:#fff6df;font-style:normal;writing-mode:vertical-rl;letter-spacing:2px;padding:5px 3px;border-radius:2px}.life-header button:hover,.life-header a:hover{color:#ffe2a8;background:#ffffff0d}.life-status[data-error=true]{color:#9d352e}.life-primary{background:var(--ink)!important;color:#fff9ed!important;border:1px solid var(--ink)!important;padding:13px 22px!important;min-height:50px!important;letter-spacing:1px;box-shadow:inset 0 1px #ffffff24,0 3px 0 #172820}.life-primary:hover{background:#3b5548!important}.life-eyebrow{font-size:12px;letter-spacing:2px;color:var(--muted);margin:0 0 14px!important}.life-fine{font-size:12px;color:var(--muted);line-height:1.9}.life-birth{max-width:1440px;margin:16px auto 40px;display:grid;grid-template-columns:1.4fr 1fr;gap:38px;padding:0 32px;align-items:start}.life-birth-art{position:sticky;top:24px;padding-top:30px}.life-birth-art img{width:100%;height:auto;display:block}.life-birth-paper{padding:24px 12px}.life-birth h1{font-size:50px;margin:10px 0}.life-birth-year{font-size:17px;color:var(--red)}.life-birth-paper>p{font-size:14px}.life-goals{border:0;padding:16px 0;margin:0}.life-goals legend{font-size:15px;margin-bottom:8px}.life-goals label{display:flex;gap:12px;align-items:center;padding:10px 8px;border-bottom:1px solid var(--line);cursor:pointer;min-height:58px}.life-goals input{accent-color:var(--ink);width:18px;height:18px}.life-goals span{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:16px}.life-goals small{font:12px sans-serif;color:var(--muted)}.life-first-step{border-left:2px solid var(--red);padding:0 0 0 16px;margin:18px 0 24px}.life-first-step b{font-size:13px}.life-first-step p{font-size:13px;line-height:1.9;margin:6px 0}.life-birth .life-primary{width:100%}
.life-play{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:22px;max-width:1800px;margin:0 auto;height:100%;min-height:0;padding:18px 24px}.life-world{min-width:0;display:flex;flex-direction:column;padding:14px;min-height:0;background:var(--life-stage);border:1px solid #3d5145;border-radius:6px;box-shadow:inset 0 0 0 3px #ffffff08}.life-future{background:#ece2ca;color:#725b30;font-size:11px;padding:1px 8px;white-space:nowrap}.life-scene-space{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;container-type:size}.life-scene{position:relative;max-width:100%;width:min(100cqw,150cqh);aspect-ratio:3/2;overflow:hidden;background:#e4ddcd}.life-scene>img{width:100%;height:100%;object-fit:contain;display:block}.life-scene-light{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 25% 0%,#fff7c51c,transparent 60%);animation:life-light 11s ease-in-out infinite alternate;mix-blend-mode:screen}.life-hotspots{position:absolute;inset:0}.life-hotspot{position:absolute;transform:translate(-50%,-50%);border:1px solid #eee4ce!important;background:#fbf6e8ee!important;box-shadow:0 3px 12px #17231c26;display:flex;align-items:center;gap:7px;white-space:nowrap;padding:7px 12px!important;min-height:44px!important;font-size:13px!important;border-radius:2px!important}.life-hotspot:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px #a34b3b12}.life-hotspot[aria-pressed=true]{background:var(--ink)!important;color:#fff8e8!important;border-color:#698074!important}.life-hotspot[data-seen=true]:before{background:#5c8973}.life-hotspot:hover{box-shadow:0 3px 15px #17231c59}.life-scene-caption{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:var(--muted);min-height:48px}.life-scene-caption>span{min-width:0}.life-scene-caption button{white-space:nowrap;font-size:12px;text-decoration:underline;text-underline-offset:4px}.life-stats{display:grid;grid-template-columns:repeat(4,1fr) 1.5fr;border-top:1px solid var(--line);padding-top:9px;gap:14px;min-height:64px}.life-stat{font-size:11px;color:var(--muted)}.life-stat strong{display:block;font-size:17px;font-weight:500;font-family:serif;color:var(--ink);line-height:1.4}.life-stat meter{display:block;width:100%;height:5px;accent-color:#698674;margin-top:4px}.life-stat meter::-webkit-meter-bar{background:#e0d9c9;border:0;height:3px}.life-stat meter::-webkit-meter-optimum-value{background:#6c8777}.life-action-panel{border-left:0;min-width:0;min-height:0;display:flex;flex-direction:column;padding-left:0}.life-action-scroll{overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1;padding:4px 8px 16px 0;scrollbar-width:thin;scrollbar-color:#c1b79f transparent}.life-action-scroll h1{font-size:29px;margin:0 0 12px;line-height:1.4}.life-story{font-size:14px;line-height:1.8}.life-object-detail{border-left:2px solid var(--red);padding:0 0 0 14px;margin:22px 0}.life-object-detail h2{font:600 14px sans-serif;margin:0 0 8px}.life-object-detail p{font-size:13px;margin:0;line-height:1.9}.life-person{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0 8px;margin:20px 0}.life-person>div{display:flex;align-items:baseline;gap:9px}.life-person b{font-family:serif;font-size:17px;font-weight:500}.life-person span{font-size:11px;color:var(--muted)}.life-person p{font-size:13px;margin:8px 0 3px;line-height:1.85}.life-person button{font-size:12px;color:var(--red);padding:4px 0!important;text-decoration:underline;text-underline-offset:5px}.life-objective{font-size:12px;color:var(--muted)}.life-choices{scroll-margin-bottom:120px;display:flex;flex-direction:column;gap:9px}.life-choice{border:1px solid var(--line)!important;text-align:left;padding:12px 16px!important;background:#faf6eb!important;box-shadow:0 2px 0 #d2c9b8;position:relative}.life-choice:not(:disabled):hover{border-color:var(--ink)!important;background:#fffcf5!important}.life-choice strong{display:block;font-weight:600;font-size:15px}.life-choice span{display:block;font-size:13px;color:var(--muted);line-height:1.75;margin-top:5px}.life-choice em{display:block;font-size:11px;font-style:normal;color:#946950;margin-top:4px}.life-choice:disabled{opacity:.72!important}.life-feedback{border-top:1px solid var(--red);padding-top:20px}.life-feedback>p{line-height:1.95;font-size:15px}.life-feedback #lifeChanges{font-size:12px;color:#466855}.life-feedback .life-primary{width:100%;margin-top:6px}.life-ending{max-width:1350px;display:grid;grid-template-columns:1.2fr 1fr;gap:52px;align-items:center;padding:36px;margin:auto;min-height:calc(100dvh - 96px)}.life-ending-art img{width:100%;height:auto}.life-ending h1{font-size:54px;margin:18px 0}.life-ending #lifeEndingYears{font-family:serif;color:var(--red);font-size:18px}.life-recollection{font-size:15px;line-height:2.1}.life-ending-fact{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:10px 0;font-size:13px;gap:18px}.life-ending-fact span{color:var(--muted)}.life-ending-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.life-ending-actions>button{font-size:13px}
.life-dialog{margin:auto;background:var(--paper);color:var(--ink);border:1px solid #b9af9b;padding:0;width:min(800px,calc(100vw - 32px));max-height:86dvh;border-radius:4px;box-shadow:0 24px 80px #0f1e1655;font:14px/1.8 "PingFang SC","Microsoft YaHei",sans-serif}.life-dialog::backdrop{background:#172a236e;backdrop-filter:blur(4px)}.life-dialog>header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:3}.life-dialog h2{font-size:24px;margin:0}.life-dialog-body{padding:24px;overflow:auto;max-height:calc(86dvh - 78px);overscroll-behavior:contain}.life-dialog-body h3{font:500 20px serif;margin:18px 0 8px}.life-dialog-body p{line-height:1.9}.life-dialog-body a{color:#376e63;text-decoration:underline;overflow-wrap:anywhere}.life-dialog-body button{border:1px solid var(--line);min-height:44px;padding:8px 13px;font:inherit;color:inherit;background:transparent;cursor:pointer}.life-dialog header button{font:14px sans-serif;min-height:44px;padding:10px;border:0;background:transparent;color:var(--ink);cursor:pointer}.life-dialog button:focus-visible,.life-dialog textarea:focus-visible{outline:3px solid var(--red);outline-offset:3px}.life-rules-step{border-top:1px solid var(--line);padding:14px 0}.life-rules-step b{font-family:serif;font-size:19px;font-weight:500}.life-rules-step p{margin:6px 0;font-size:14px}.life-history-row{display:block;width:100%;text-align:left;border:0!important;border-bottom:1px solid var(--line)!important;padding:14px 4px!important}.life-history-row strong{font:21px serif}.life-history-row span{display:block;font-size:12px;color:var(--muted)}.life-memory{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}.life-memory img{width:110px;height:74px;object-fit:cover}.life-memory h3{margin:0 0 7px;font-size:18px}.life-memory p{font-size:13px;margin:0 0 8px}.life-memory small{font-size:11px;color:var(--muted)}.life-memory button{font-size:12px;margin-top:8px}.life-research-source{border-top:1px solid var(--line);padding:18px 0}.life-research-source h3{font:500 17px/1.6 sans-serif}.life-research-source p{white-space:pre-line;font-size:13px}.life-research-source summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:#726342}.life-research-note{font-size:12px;color:#786b51;padding:12px;border-left:2px solid #ac8b54;background:#eee5d5}.life-chat-line{padding:12px 0;border-bottom:1px solid var(--line)}.life-chat-line strong{font-size:12px;font-weight:500;color:var(--red)}.life-chat-line p{font-size:14px;margin:4px 0;white-space:pre-line;overflow-wrap:anywhere}.life-chat-line small{font-size:11px;color:var(--muted)}.life-talk-form{margin-top:18px;display:flex;flex-direction:column;gap:10px}.life-talk-form textarea{width:100%;resize:vertical;min-height:90px;padding:12px;font:16px/1.7 sans-serif;color:var(--ink);border:1px solid #bfb59f;border-radius:3px;background:#fffaf0}.life-talk-form p{font-size:12px;color:var(--muted);margin:0}.life-confirm{width:min(500px,calc(100vw - 30px))}.life-confirm-actions{display:flex;flex-direction:column;gap:10px}.life-share-preview{max-width:100%;max-height:60dvh;display:block;margin:auto}.life-share-actions{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}.life-share-actions a{min-height:44px;padding:9px 15px;border:1px solid var(--line);text-decoration:none}.life-album-view{height:340px;width:100%;position:relative;background:#e9dfca;touch-action:none}.life-album-view canvas{display:block;width:100%;height:100%}.life-album-controls{display:flex;gap:8px;justify-content:center;margin:12px 0}.life-album-caption{text-align:center;font-size:13px}
@keyframes life-light{from{opacity:.35}to{opacity:1}}@keyframes life-page{from{opacity:.25;transform:translateY(5px)}to{opacity:1;transform:none}}.life-page-change{animation:life-page .5s ease-out}
@media(min-width:1800px){.life-play{padding-bottom:30px;grid-template-columns:minmax(0,1fr) 410px}.life-action-panel{padding-left:34px}.life-action-scroll h1{font-size:36px}.life-story{font-size:16px}}
@media(max-width:1100px){.life-play{grid-template-columns:minmax(0,1fr) 350px;padding:14px;gap:16px}.life-world{padding:10px}.life-action-panel{padding-left:0}.life-hotspot{font-size:12px!important;padding:6px 8px!important}.life-birth{gap:20px;padding:0 22px}}
@media(max-width:820px){.life-brand{font-size:25px}.life-birth{display:flex;flex-direction:column;margin-top:8px;padding:0 20px;gap:4px}.life-birth-art{position:static;padding:0;width:100%}.life-birth-art img{max-height:36dvh;object-fit:cover;object-position:center}.life-birth-paper{padding:12px 0;width:100%}.life-birth h1{font-size:38px}.life-birth-paper .life-eyebrow{margin-bottom:5px!important}.life-play{display:flex;flex-direction:column;height:auto;min-height:0;padding:0 16px 20px}.life-world{padding:8px}.life-future{font-size:10px;padding:1px 5px}.life-scene-space{display:block;container-type:normal}.life-scene{width:100%;aspect-ratio:3/2}.life-hotspot{font-size:12px!important;padding:6px!important;gap:4px}.life-hotspot:before{width:5px;height:5px;box-shadow:none}.life-scene-caption{min-height:40px;font-size:11px;gap:4px}.life-scene-caption>span{max-width:none}.life-scene-caption button{font-size:11px;padding:5px 0}.life-stats{gap:10px;min-height:58px;padding-top:7px;margin-bottom:10px}.life-stat{font-size:12px}.life-stat strong{font-size:16px}.life-action-panel{padding:0;border-left:0;border-top:1px solid var(--line)}.life-action-scroll{padding:16px 0;overflow:visible}.life-action-scroll h1{font-size:28px;margin:0 0 12px}.life-story{font-size:14px;line-height:1.9}.life-person{margin:14px 0;padding:12px 0 4px}.life-object-detail{margin:15px 0}.life-choice{padding:12px 14px!important}.life-choice strong{font-size:15px}.life-choice span{font-size:12px}.life-ending{display:flex;flex-direction:column;gap:22px;padding:16px 22px 36px;min-height:0}.life-ending-art{width:100%}.life-ending-art img{max-height:35dvh;object-fit:cover}.life-ending-copy{width:100%}.life-ending h1{font-size:42px;margin:10px 0}.life-dialog{width:calc(100vw - 20px);max-height:90dvh}.life-dialog>header{padding:10px 16px}.life-dialog h2{font-size:22px}.life-dialog-body{padding:16px;max-height:calc(90dvh - 68px)}.life-memory{grid-template-columns:82px 1fr;gap:12px}.life-memory img{width:82px;height:60px}.life-memory h3{font-size:17px}.life-album-view{height:290px}}
@media(max-width:390px){.life-brand{font-size:22px;gap:7px;letter-spacing:1px}.life-brand i{font-size:9px}.life-play{padding-left:12px;padding-right:12px}.life-hotspot{font-size:12px!important;gap:3px}.life-hotspot:before{display:none}.life-stats{gap:7px}.life-stat strong{font-size:15px}.life-goals small{font-size:11px}}
@media(min-width:821px) and (max-height:760px){.life-play{height:100%;min-height:0}.life-action-scroll{padding-top:8px}.life-action-scroll h1{font-size:27px}.life-person{margin:12px 0}.life-story{font-size:13px}.life-scene-caption{min-height:40px}.life-stats{min-height:54px}.life-stat strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){.life-scene-light,.life-page-change{animation:none!important}.life-app *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.life-place-link{display:block;margin:12px 0 0;padding:8px 0!important;color:var(--life-jade,#355d4b);text-decoration:underline;text-underline-offset:4px}
.life-place-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:24px 0}
.life-place-group h3{font-size:18px;margin:0 0 8px;border-bottom:1px solid #d9d4c7;padding-bottom:8px}
.life-place-group ul{list-style:none;padding:0;margin:0}
.life-place-group li{display:flex;justify-content:space-between;gap:12px;padding:5px 0}
.life-place-group li span{color:#736f60;font-size:13px}
@media(max-width:420px){.life-place-groups{gap:16px}.life-place-group h3{font-size:16px}}

/* One shared place for identity, save state and session controls. */
.life-header{width:100%;max-width:1800px;margin:auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px 28px;padding:16px 24px;border-bottom:1px solid #536154;background:var(--life-stage);color:#faf3df}
.life-overview{min-width:0}
.life-brand{min-height:44px}
.life-overview>p{margin:0;font-family:serif;font-size:16px;letter-spacing:.4px}
.life-overview-meta{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;min-height:24px;font-size:12px;color:#d1cbb7}
#lifeGoal{color:#efd292}
.life-status{margin:0!important;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.life-header nav{display:flex;align-items:center;justify-content:flex-end;gap:2px;flex-wrap:wrap;font-size:13px}
.life-header nav a{min-width:44px;min-height:44px;display:flex;align-items:center;padding:8px 12px}
.life-header nav button{min-width:44px;padding:8px 10px}
#lifeRestart{color:#d1cbb7}
.life-scene-tools{display:flex;align-items:center;flex-shrink:0;gap:10px}
.life-scene-tools #lifeResearch{color:var(--red)}
.life-app[data-view=lifePlay]{height:100dvh;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr)}
.life-app[data-view=lifePlay]>main{min-height:0}
.life-app[data-view=lifePlay] .life-overview-meta{align-items:flex-start;gap:4px 12px;min-height:42px}
.life-app[data-view=lifePlay] .life-status{flex:1 1 180px}
.life-app[data-view=lifeWelcome] .life-header{grid-template-columns:minmax(0,1fr) auto;min-height:76px}
.life-app[data-view=lifeWelcome] .life-overview{justify-self:end}
.life-app[data-view=lifeWelcome] .life-brand{display:none}
/* The opening screen is a menu; birth details appear only after entering a life. */
.life-welcome{position:relative;isolation:isolate;max-width:1680px;min-height:calc(100dvh - 76px);margin:auto;display:flex;align-items:center;justify-content:flex-end;padding:48px clamp(32px,5vw,88px);overflow:hidden}
.life-welcome-art{position:absolute;inset:0;z-index:-2}
.life-welcome-art picture,.life-welcome-art img{display:block;width:100%;height:100%}
.life-welcome-art img{object-fit:cover;object-position:center}
.life-welcome:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent 30%,#f5f0e4b8 52%,var(--paper) 75%)}
.life-welcome-copy{width:min(380px,100%);padding:24px 0}
.life-welcome h1{font-size:clamp(56px,4.8vw,76px);letter-spacing:6px;margin:12px 0 22px;white-space:nowrap}
.life-welcome h1 span{color:var(--red)}
.life-lede{font-family:serif;font-size:19px;line-height:1.9;margin-bottom:28px!important}
.life-menu-actions{display:grid;gap:12px}
.life-menu-actions>button,.life-resume-entry>button{width:100%;font-size:16px}
.life-secondary{border:1px solid #a99f8c!important;background:#f5f0e48c!important;min-height:50px!important}
.life-secondary:hover,.life-menu-secondary button:hover{background:#ebe3d2!important}
.life-menu-secondary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.life-menu-secondary button{border:1px solid #bfb49f;min-height:48px;padding:8px 4px;background:#f5f0e480}
.life-resume-entry>p{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:4px 10px;margin:0 0 14px;padding:0 0 12px;border-bottom:1px solid #c4b8a2}
.life-resume-entry strong{font:500 22px serif;color:var(--ink)}
.life-resume-entry span{font-size:12px;color:var(--muted);text-align:right}
.life-resume-entry small{grid-column:1/-1;font-size:13px;color:var(--muted)}
.life-welcome .life-fine{margin:12px 0 0}
@media(min-width:821px) and (max-width:1250px){
  .life-header{grid-template-columns:auto 1fr;gap:4px 24px;padding:10px 18px}
  .life-overview{grid-column:1;grid-row:2}
  .life-header nav{grid-column:2;grid-row:1/3;align-self:start;max-width:440px;justify-self:end}
  .life-app[data-view=lifeWelcome] .life-overview{grid-row:1}
}
@media(max-width:820px){
  .life-header{grid-template-columns:auto minmax(0,1fr);gap:6px 12px;padding:8px 12px}
  .life-header .life-brand{font-size:21px;letter-spacing:1px;gap:6px}
  .life-overview>p{font-size:13px}
  .life-header nav{grid-column:1/-1;justify-content:space-between;gap:0}
  .life-header nav button,.life-header nav a{padding:4px;font-size:12px;justify-content:center}
  .life-app[data-view=lifePlay]{display:block;height:auto;min-height:100dvh}
  .life-app[data-view=lifeWelcome] .life-header{min-height:60px;gap:8px;display:flex;justify-content:flex-end}
  .life-welcome{min-height:calc(100dvh - 64px);align-items:flex-end;justify-content:center;padding:150px 24px 24px}
  .life-welcome-art{height:min(72vw,440px)}
  .life-welcome-art img{object-position:center 30%}
  .life-welcome:before{background:linear-gradient(180deg,transparent 50px,#f5f0e4e8 210px,var(--paper) 330px)}
  .life-welcome-copy{width:min(420px,100%);padding:16px 0 0}
  .life-welcome .life-eyebrow{margin-bottom:6px!important}
  .life-welcome h1{font-size:48px;letter-spacing:5px;margin:6px 0 12px}
  .life-lede{font-size:17px;margin-bottom:20px!important}
  .life-menu-actions{gap:8px}
  .life-resume-entry>p{margin-bottom:10px;padding-bottom:8px}
  .life-scene-caption{align-items:flex-start;flex-direction:column;gap:0;padding-top:8px}
  .life-scene-tools{justify-content:space-between;width:100%}
}
@media(min-width:821px) and (max-height:760px){
  .life-header{padding-top:8px;padding-bottom:8px;gap:12px}
  .life-welcome{padding-top:24px;padding-bottom:24px}
  .life-welcome-copy{padding:0}
  .life-welcome h1{margin:6px 0 14px;font-size:58px}
  .life-lede{margin-bottom:18px!important}
}

/* The same selection and press language runs from the title menu to choices. */
.life-app button:not(:disabled):active{translate:0 2px}
.life-app .life-primary:not(:disabled):active{box-shadow:inset 0 2px 4px #11251b40}
.life-header .life-status[data-error=true]{color:#ffd1b7}
.life-header :is(button,a):focus-visible{outline-color:#efd292}
.life-welcome .life-primary,.life-welcome .life-secondary{text-align:left;padding-left:30px!important;position:relative}
.life-welcome :is(.life-primary,.life-secondary):before{content:"";display:inline-block;width:7px;height:7px;margin:0 15px 2px 0;border-top:2px solid currentColor;border-right:2px solid currentColor;rotate:45deg}
.life-welcome button:focus-visible{outline:2px solid var(--life-focus);outline-offset:4px;box-shadow:0 0 0 7px #f2eddfbd}
.life-welcome .life-primary:hover{translate:3px 0}
.life-input-hint{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);margin:18px 0 0!important}
.life-input-hint kbd{font-family:inherit;font-size:11px;line-height:1.4;border:1px solid #bfb49f;border-bottom-width:2px;border-radius:3px;padding:2px 5px;margin-left:7px}
.life-world .life-scene-caption,.life-world .life-stat{color:#ddd7c4}
.life-world .life-scene-tools #lifeResearch,.life-world .life-stat strong{color:#fff1cc}
.life-world .life-stats{border-color:#627063}
.life-world .life-stat meter::-webkit-meter-bar{background:#4b5c50}
.life-world .life-stat meter::-webkit-meter-optimum-value{background:#c7b889}
.life-hotspot:focus-visible{outline-color:#fff5d2!important;outline-offset:5px!important}
.life-hotspot[aria-pressed=true]{box-shadow:0 0 0 2px #dfca97,0 4px 18px #12291c55}
.life-choice[aria-pressed=true]{border-color:#355647!important;background:#e4e9d9!important;box-shadow:inset 4px 0 #355647,0 2px 0 #aab8a2}
.life-choice[aria-pressed=true] strong:after{content:"已选";display:inline-block;margin-left:8px;font-size:11px;color:#355647;font-weight:500}
.life-choice:focus-visible{outline-color:var(--life-focus);outline-offset:2px;background:#fffaf0!important}
.life-decision{flex-shrink:0;padding:12px 0 2px;border-top:1px solid #ad9e7b;background:var(--paper)}
.life-decision p{font-size:12px;min-height:22px;margin:0 0 7px;color:var(--muted);overflow-wrap:anywhere}
.life-decision button{width:100%}
.life-scoring-rules{font-size:13px;border-block:1px solid var(--line);margin:14px 0}
.life-scoring-rules summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;padding:8px 0;color:var(--ink)}
.life-scoring-rules summary:before{content:"+";font-size:18px;color:var(--red)}
.life-scoring-rules[open] summary:before{content:"−"}
.life-scoring-rules summary:focus-visible{outline:2px solid var(--life-focus);outline-offset:2px}
.life-scoring-rules p{font-size:13px;margin-bottom:12px}
.life-score{border-block:1px solid #ad9e7b;margin:20px 0;padding:16px 0 4px}
.life-score-heading{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.life-score-heading>span{font-size:13px;margin-right:auto}
.life-score-heading>strong{font-size:42px;line-height:1;font-weight:600;font-variant-numeric:tabular-nums}
.life-score-heading>small{color:var(--muted)}
.life-score-breakdown{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:18px 0 8px;font-size:12px}
.life-score-breakdown dt{color:var(--muted)}
.life-score-breakdown dd{margin:2px 0 0;font-variant-numeric:tabular-nums;font-weight:600}
.life-score .life-fine{margin-bottom:10px}
.life-history-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}
.life-history-heading b{font-size:15px;font-variant-numeric:tabular-nums;color:var(--red)}
.life-history-row small{display:block;margin-top:6px;font-size:13px;line-height:1.6}
.life-dialog-body .life-history-row:hover{background:#e6dfcc}
.life-history-more{display:block;margin:18px auto 0}
.life-leaderboard{width:min(680px,calc(100vw - 24px))}
.life-leaderboard[open]{display:flex;flex-direction:column}
.life-leaderboard>header{flex-shrink:0}
.life-leaderboard .life-eyebrow{margin:0 0 6px!important}
.life-leaderboard .life-dialog-body{min-height:0;flex:1;max-height:none}
.life-leaderboard table{width:100%;border-collapse:collapse;margin-top:16px;font-size:14px}
.life-leaderboard :is(th,td){text-align:left;padding:12px 8px;border-bottom:1px solid var(--line)}
.life-leaderboard th{font-size:12px;font-weight:500;color:var(--muted)}
.life-leaderboard td:first-child{font:22px serif;width:56px}
.life-leaderboard td:last-child{white-space:nowrap;text-align:right}
.life-leaderboard td small{display:block;font-size:11px;color:var(--muted)}
.life-leaderboard tr[data-self=true]{background:#e4e9d9}
.life-leaderboard .community-user-card-trigger{max-width:100%;overflow-wrap:anywhere;border:0;padding:4px 0;text-align:left;min-height:44px}
.life-leaderboard>footer{flex-shrink:0;border-top:1px solid #ad9e7b;background:#e9e1ce;padding:14px 24px;font-size:13px}
.life-app .life-danger{background:#963e31!important;border-color:#963e31!important;box-shadow:0 3px 0 #642a20}
@media(max-width:820px){
  .life-input-hint{display:none}
  .life-play{gap:14px}
  .life-decision{position:sticky;bottom:0;z-index:2;padding:10px 0 calc(12px + env(safe-area-inset-bottom));box-shadow:0 -8px 16px #f2eddfeb}
  .life-action-scroll{padding-bottom:10px}
  .life-action-panel{border-top:0}
  .life-app[data-view=lifePlay] .life-overview-meta{min-height:0;gap:2px 8px}
  .life-app[data-view=lifePlay] .life-status{flex-basis:100%;height:3.4em;min-height:3.4em;overflow-y:auto;scrollbar-width:thin}
  .life-scene-caption{padding-top:4px}
  .life-scene-tools{gap:4px}
  .life-world .life-stats{margin-bottom:0}
  .life-choice span{font-size:13px}
  .life-leaderboard>footer{padding:12px 16px}
  .life-leaderboard :is(th,td){padding:10px 4px}
  .life-score-heading>strong{font-size:36px}
}
@media(max-width:820px) and (max-height:740px){
  .life-welcome{padding-top:100px;padding-bottom:16px;min-height:calc(100dvh - 60px)}
  .life-welcome h1{font-size:42px;margin-bottom:8px}
  .life-lede{margin-bottom:14px!important}
  .life-welcome .life-fine{margin-top:8px}
  .life-welcome .life-place-link{margin-top:6px}
}
@media(prefers-reduced-motion:reduce){.life-app button{translate:none!important;transition:none!important}}
