.life-panel{border:1px solid #dce4d6;border-radius:14px;background:#fffefa;padding:16px 18px;color:#2c453c}
.life-panel>header,.life-story-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}
.life-panel>header h3{font:700 19px/1.15 Georgia,serif;margin:3px 0 0;color:#264c40}
.life-panel>header .eyebrow{font-size:9px;color:#557363}
.life-play,.life-story-controls button{border:0;background:transparent;color:#30634f;font:700 11px/1.3 system-ui,sans-serif;padding:7px 4px;cursor:pointer}
.life-picks{display:flex;flex-wrap:wrap;gap:5px;margin:13px 0 10px}
.life-picks button{display:inline-flex;align-items:center;gap:4px;border:1px solid #d0dbcd;border-radius:6px;background:#fffefa;color:#445c4e;font:650 11px/1.3 system-ui,sans-serif;padding:6px 8px;cursor:pointer}
.life-picks button[aria-pressed=true]{border-color:#397158;background:#e6f0df;color:#274e3c}
.life-picks svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.life-story{border-left:3px solid #a2b08a;background:#f2f5eb;border-radius:0 7px 7px 0;padding:9px 11px}
.life-scene-type,.life-step{color:#546b59;font:700 9px/1.3 system-ui,sans-serif;letter-spacing:.055em}
.life-scene-type{text-transform:uppercase;margin-bottom:4px}
.life-story strong{display:block;color:#294e3c;font:700 13px/1.4 system-ui,sans-serif}
.life-story p{margin:3px 0 0;font:400 12px/1.5 system-ui,sans-serif;color:#405646}
.life-story-controls{margin-top:3px}
.life-step{font-weight:600;letter-spacing:0}
.life-panel button:focus-visible{outline:2px solid #8c6830;outline-offset:2px}
.life-world,.life-world *{pointer-events:none}
.life-tag{fill:#fefbef;color:#345644}
.life-tag rect{stroke:#6d8874;stroke-width:1}
.life-tag text{fill:currentColor;font:700 11.5px/1.1 system-ui,sans-serif;letter-spacing:0}
.life-tag-patrol{fill:#244757;color:#fff8e5}
.life-tag-patrol rect{stroke:#83b4be}
.life-tag-rescue{fill:#23665f;color:#fffbe8}
.life-tag-rescue rect{stroke:#a0c4a2}
.life-tag-destination{fill:#f4ebce;color:#34584d}
.life-tag-destination rect{stroke:#889d77;stroke-dasharray:3 2}
.life-route{fill:none;stroke:#177f79;stroke-width:3.6;stroke-dasharray:7 6;stroke-linecap:round;opacity:.8}
@media(max-width:560px){.life-panel{padding:13px}.life-picks button{font-size:10.5px}.life-story p{font-size:12px}}
