:root { --life-line: rgba(207,178,114,.25); }
.life-style { border: 0; padding: 0; margin: 18px 0; display: flex; flex-wrap: wrap; gap: 8px; min-width: 0; }
.life-style legend { font-size: 1rem; padding: 0 0 10px; color: #f1eadb; }
.life-style button, .life-space__toggle, .life-keep { font: inherit; color: inherit; cursor: pointer; }
.life-style button { flex: 1 1 130px; min-height: 44px; padding: 10px 12px; border: 1px solid var(--life-line); border-radius: 16px; color: #eee5d3; background: rgba(14,13,24,.82); font-size: .9rem; }
.life-style button[aria-pressed=true] { border-color: #d4b362; background: rgba(169,125,39,.2); box-shadow: inset 0 0 0 1px #d4b362; }
.life-style button:focus-visible, .life-space button:focus-visible, .life-checkpoint summary:focus-visible, .life-keep:focus-visible { outline: 2px solid #e8ca85; outline-offset: 3px; }
.life-space { margin: 20px 0; border: 1px solid var(--life-line); border-radius: 18px; background: rgba(15,14,26,.92); color: #e9e1d3; overflow-wrap: anywhere; min-width: 0; }
.life-space__toggle { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; width: 100%; text-align: left; background: none; border: 0; padding: 16px 20px; font-size: 1rem; cursor: pointer; }
.life-space__body { padding: 0 20px 20px; }
.life-space p, .life-checkpoint p { font-size: 1rem; line-height: 1.65; white-space: pre-wrap; }
.life-note { padding: 18px 0; border-bottom: 1px solid var(--life-line); }
.life-note__step { padding: 14px; border-left: 2px solid #d1ac59; background: rgba(186,143,54,.06); }
.life-note-editor, .life-checkpoint form { display: grid; gap: 10px; margin: 14px 0; min-width: 0; }
.life-note-editor label, .life-checkpoint label { display: grid; gap: 8px; font-size: .94rem; }
.life-note-editor input, .life-note-editor textarea, .life-checkpoint input, .life-checkpoint textarea, .life-checkpoint select { box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; min-height: 44px; padding: 12px; border-radius: 10px; border: 1px solid var(--life-line); background: #100f1c; color: #f2ead9; font: inherit; font-size: 1rem; }
.life-note-editor textarea, .life-checkpoint textarea { resize: vertical; }
.life-space .mtn-actions, .life-checkpoint .mtn-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.life-space button, .life-checkpoint button { min-height: 44px; white-space: normal; }
.life-checkpoint { margin: 12px 0; min-width: 0; }
.life-checkpoint summary { cursor: pointer; color: #e2c67c; padding: 10px 0; font-size: .9rem; min-height: 44px; box-sizing: border-box; }
.life-continuity { margin-top: 20px; padding: 18px; border-radius: 14px; background: rgba(172,128,39,.08); }
.life-import { margin-top: 18px; display: grid; gap: 8px; }
.life-keep { display: block; min-height: 44px; border: 0; border-bottom: 1px solid var(--life-line); background: transparent; color: #e5c87d; font-size: .88rem; padding: 10px 0; margin-top: 8px; text-align: left; }
.guide-core__checkpoint-group li > div { min-width: 0; width: 100%; }
.guide-core__checkpoint-group .life-checkpoint { font-style: normal; }
@media (max-width: 600px) { .life-space__body { padding: 0 14px 16px; } .life-space__toggle { padding: 14px; } .life-checkpoint .mtn-actions > button { flex: 1 1 100%; } .life-style button { flex-basis: 100%; } }
@media (forced-colors: active) {
  .life-space, .life-note__step, .life-style button, .life-note-editor input, .life-note-editor textarea, .life-checkpoint input, .life-checkpoint textarea, .life-checkpoint select { background: Canvas; color: CanvasText; border-color: ButtonText; }
  .life-style button[aria-pressed=true] { outline: 2px solid Highlight; }
  .life-style legend, .life-checkpoint summary, .life-keep { color: LinkText; }
}
