.life-dialog{width:min(620px,calc(100vw - 24px));max-height:88dvh;overflow:auto;box-sizing:border-box;border:1px solid #b49a58;border-radius:20px;padding:24px;background:var(--paper,#fff);color:var(--ink,#333)}.life-dialog::backdrop{background:#0008}.life-dialog button,.life-result button{min-height:44px;padding:10px 18px;margin:6px 6px 6px 0;border:1px solid #b49a58;border-radius:10px;cursor:pointer;font:inherit}.life-close{float:right}.life-dialog select{display:block;width:100%;padding:12px;font-size:16px}.life-note,.life-dialog details{font-size:13px;line-height:1.65}.life-result{border:1px solid #b49a58;border-radius:16px;padding:20px;margin-bottom:20px}.life-result[hidden],.life-hud[hidden]{display:none}#lifeTypingMenu{font-size:inherit}.life-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.life-chip{display:flex;gap:8px;flex-wrap:wrap;border:1px solid #b49a58;border-radius:16px;padding:8px 12px;animation:life-reveal .3s ease}.life-chip b{color:#967024}.life-hud{padding:12px 16px;margin-bottom:12px;border:1px solid #b49a5860;border-radius:14px;background:var(--paper,#fff)}.life-stage-label{display:flex;justify-content:space-between;gap:12px}.life-age-track{height:6px;background:#b49a5830;border-radius:6px;overflow:hidden;margin-top:8px}.life-age-track i{display:block;height:100%;background:#b48b32;transition:width .3s}.life-fact{border-left:3px solid #41966b;padding-left:12px;font-size:14px;line-height:1.6;margin:10px 0}.life-summary{font-size:22px;font-weight:700}.life-result table{width:100%;border-collapse:collapse}.life-result th,.life-result td{text-align:left;padding:10px 6px;border-bottom:1px solid #b49a5830;vertical-align:top;overflow-wrap:anywhere}.life-result th{width:40%;font-size:14px;font-weight:500}.life-actions{display:flex;flex-wrap:wrap;margin-top:12px}@keyframes life-reveal{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.life-chip{animation:none}.life-age-track i{transition:none}}@media(max-width:600px){.life-dialog{padding:18px}.life-hud{padding:8px 12px}.life-fact{font-size:12px;margin:6px 0}.life-hud .life-note{font-size:11px;margin:4px 0}.life-result{padding:16px}.life-summary{font-size:19px}}

/* v283: retain the standard sentence-practice workspace and viewport budget. */
body.practice-playing #practiceScreen > .life-hud{display:none!important;}

/* v285: draw and result polish; the standard practice workspace is unchanged. */
.life-dialog h2{font-size:clamp(22px,5vw,28px);line-height:1.35;margin:6px 40px 12px 0;letter-spacing:-.02em}
.life-dialog #lifeIntro{font-size:15px;line-height:1.7;opacity:.85}
.life-chips{gap:10px;margin:18px 0 12px}
.life-chip{border-radius:999px;padding:9px 14px;background:color-mix(in srgb,var(--brass,#b38b34) 9%,var(--paper,#fff));border-color:color-mix(in srgb,var(--brass,#b38b34) 35%,var(--paper,#fff));font-size:14px;max-width:100%;overflow-wrap:anywhere}
.life-chip>span{opacity:.8}.life-chip b{color:var(--ink,#333)}
.life-dialog #lifeDraw,.life-dialog #lifeBegin,.life-actions button:first-child{background:var(--brass,#b38b34);color:#17130b;border-color:var(--brass,#b38b34);font-weight:700;min-height:48px}
.life-dialog #lifeBegin{display:block;width:100%;margin:12px 0 0}.life-dialog #lifeBegin[hidden]{display:none}
.life-dialog button:disabled{opacity:.55;cursor:wait}.life-dialog button:focus-visible,.life-result button:focus-visible{outline:3px solid var(--brass,#b38b34);outline-offset:3px}
#lifeProbability{font-size:13px;opacity:.8}#lifeStatus{font-size:14px}
.life-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}
.life-metric{display:flex;flex-direction:column;gap:5px;padding:14px;border:1px solid #b49a5845;border-radius:14px;background:color-mix(in srgb,var(--brass,#b38b34) 7%,var(--paper,#fff))}
.life-metric span{font-size:13px;opacity:.8}.life-metric b{font-size:clamp(20px,5vw,26px);line-height:1.25;overflow-wrap:anywhere}
.life-actions button{flex:1 1 140px;background:var(--paper,#fff);color:var(--ink,#333)}
@media(max-width:600px){.life-dialog .life-chip{padding:8px 12px;font-size:13px}.life-metrics{gap:8px}.life-metric{padding:12px}.life-result th{width:38%}}

/* v288: keep the close control separate from a naturally wrapped heading. */
.life-dialog{position:fixed!important;padding-top:24px!important;}
.life-dialog form{margin:0!important;padding:0!important;height:0!important;}
.life-dialog .life-close{position:absolute!important;top:14px!important;right:14px!important;float:none!important;width:40px!important;height:40px!important;min-height:40px!important;padding:0!important;margin:0!important;line-height:1!important;font-size:25px!important;display:grid!important;place-items:center;border-radius:10px!important;}
.life-dialog #lifeTitle{margin:4px 48px 14px 0!important;font-size:clamp(21px,5vw,28px)!important;word-break:keep-all;overflow-wrap:normal;}
.life-dialog #lifeDraw,.life-dialog #lifeBegin{background:var(--brass,#b38b34)!important;color:#17130b!important;font-size:16px!important;padding:12px 18px!important;}
.life-dialog #lifeStatus{overflow-wrap:anywhere;}
