.life-dialog{--ink:#273b34;--muted:#67776e;--paper:#f8f9f1;--line:#c6d0c5;box-sizing:border-box;max-width:none;max-height:none;width:100vw;height:100dvh;margin:0;padding:0;border:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow:hidden}
.life-dialog[open]{display:flex;flex-direction:column}.life-dialog::backdrop{background:#263c32}.life-dialog *{box-sizing:border-box}.life-dialog [hidden]{display:none!important}
.life-dialog button{font:inherit;cursor:pointer;transition:background .18s,color .18s,box-shadow .18s}.life-dialog button:focus-visible,.life-canvas:focus-visible{outline:3px solid #df9452;outline-offset:3px}.life-dialog button:hover{filter:brightness(.94)}
.life-header{height:82px;flex:none;padding:0 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);background:var(--paper);z-index:2}
.life-brand{display:flex;align-items:center;gap:16px}.life-mark{width:44px;height:48px;display:grid;place-items:center;font-size:35px;font-weight:850;color:#edede0;background:#315846;border-radius:14px 4px 14px 4px;transform:rotate(-4deg)}
.life-eyebrow{font-size:10px;font-weight:750;letter-spacing:.16em;line-height:1.5}.life-brand .life-eyebrow{color:var(--muted)}.life-header h1{font-size:17px;letter-spacing:-.02em;margin:4px 0 0;font-weight:550}
.life-header-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}.life-functions{color:var(--ink);font-size:12px;white-space:nowrap;text-underline-offset:4px;padding:10px 0}.life-functions:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.life-close{display:flex;align-items:center;gap:23px;padding:12px 16px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--ink);font-size:12px!important}.life-close span{font-size:22px;line-height:18px}
.life-navigation{height:64px;position:relative;display:flex;align-items:center;justify-content:center;gap:20px;padding:8px 20px;border-bottom:1px solid var(--line);flex:none;background:var(--paper)}.life-tier-slot{display:flex}.life-mapping-state{position:absolute;right:24px;font-size:11px;color:#54675b}.life-dialog .visual-tier-controls button{color:#a9c0c9}.life-dialog .visual-tier-controls button[aria-pressed=true]{color:#ecfcff}.life-dialog[data-camera=mapped] .life-location{top:16px;left:22px}.life-dialog[data-camera=mapped] .life-location h2{display:none}.life-dialog[data-camera=mapped] .life-location p{margin-top:6px}
.life-stage{flex:none;width:min(calc(100vw - 48px),calc((100dvh - 196px)*1.6));aspect-ratio:8/5;margin:0 auto;position:relative;background:#e7e8dc;isolation:isolate;overflow:hidden;border:1px solid var(--line);border-radius:10px}.life-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}.life-canvas:active{cursor:grabbing}
.life-location{position:absolute;top:28px;left:38px;pointer-events:none;color:#304a3c}.life-location .life-eyebrow{color:#627365}.life-location h2{font-size:clamp(22px,2.8vw,38px);line-height:1.08;letter-spacing:-.055em;font-weight:650;margin:11px 0 14px}.life-location h2 span{display:block;font-weight:400;color:#627766}.life-location p{display:flex;align-items:center;gap:7px;font-size:10px;margin:0;color:#647164}.life-location i{width:6px;height:6px;border-radius:50%;background:#60965b;box-shadow:0 0 0 3px #60965b17}
.life-toolbar{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);display:flex;align-items:center;gap:9px;max-width:calc(100% - 40px)}.life-lights,.life-camera{display:flex;align-items:center;gap:3px;padding:5px;border:1px solid #ffffff90;background:#f7f8efee;box-shadow:0 8px 28px #283d3312;border-radius:13px;backdrop-filter:blur(16px)}
.life-toolbar button{border:0;background:transparent;color:#67796c;border-radius:9px;padding:11px 13px;font-size:11px;white-space:nowrap}.life-lights button{font-size:17px;padding:7px 11px;display:flex;align-items:center;gap:7px}.life-lights span{font-size:11px}.life-toolbar button[aria-pressed=true]{background:#355b46;color:#f7ffe9}.life-toolbar [data-zoom]{font-size:20px;padding:5px 11px}.life-divider{height:18px;width:1px;background:#cdd6c8;margin:0 4px}
.life-compass{position:absolute;bottom:35px;right:39px;display:flex;flex-direction:column;align-items:center;color:#738575;pointer-events:none}.life-compass span{font:600 10px system-ui}.life-compass b{font-size:32px;font-weight:300;transform:rotate(-35deg)}
.life-footer{height:50px;flex:none;padding:0 30px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted);letter-spacing:.015em}.life-footer b{color:#415947;font-weight:600}.life-footnote{white-space:nowrap}
.life-selection{position:absolute;right:26px;top:28px;width:240px;background:#fafbf3f2;border:1px solid #fff9;box-shadow:0 12px 42px #29413315;padding:24px;border-radius:17px;color:#2f4b3a;backdrop-filter:blur(12px)}.life-selection h2{font-size:20px;margin:8px 0 10px;letter-spacing:-.03em}.life-selection p{font-size:12px;line-height:1.6;margin:0;color:#748074}.life-selection-close{position:absolute;top:7px;right:10px;border:0;background:transparent;font-size:20px!important;color:#7b8c7f}
.life-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;background:#e7e8dc;z-index:3;text-align:center;padding:30px}.life-loading h2{font-size:24px;font-weight:500;letter-spacing:-.04em;margin:8px 0 0}.life-loading p{font-size:13px;color:var(--muted);max-width:380px;line-height:1.7;margin:0}.life-spinner{width:35px;height:35px;border:2px solid #c8d3c6;border-top-color:#547459;border-radius:50%;animation:life-spin 1s linear infinite}.life-error .life-spinner{display:none}.life-retry{padding:10px 20px;border:0;border-radius:7px;background:#355b46;color:white;margin-top:10px}@keyframes life-spin{to{transform:rotate(360deg)}}
.life-dialog[data-light=night] .life-stage{background:#202d3d}.life-dialog[data-light=night] .life-location{color:#e0e9db}.life-dialog[data-light=night] .life-location :is(.life-eyebrow,h2 span,p){color:#b7c5b7}.life-dialog[data-light=night] .life-compass{color:#cad9c5}
.life-dialog[data-camera=detail] .life-location{padding:13px 17px;top:20px;left:22px;background:#f7f8efed;border:1px solid #fff8;border-radius:12px;backdrop-filter:blur(14px)}.life-dialog[data-camera=detail] .life-location h2{display:none}.life-dialog[data-camera=detail] .life-location p{margin-top:7px}.life-dialog[data-camera=detail][data-light=night] .life-location{background:#1e3245e8;border-color:#64787255}
@media(max-width:760px){.life-header{height:77px;padding:0 20px}.life-header h1{font-size:13px}.life-brand{gap:12px}.life-mark{width:34px;height:38px;font-size:29px}.life-eyebrow{font-size:9px}.life-close{gap:10px;padding:9px 11px;font-size:10px!important}.life-location{left:22px;top:25px}.life-location h2{font-size:29px}.life-toolbar{bottom:18px;flex-direction:column;gap:6px}.life-toolbar button{padding:10px 13px}.life-lights button{padding:6px 12px}.life-footer{height:38px;padding:0 20px;font-size:9px;justify-content:center}.life-footnote{display:none}.life-compass{right:21px;bottom:120px}.life-selection{top:auto;bottom:122px;right:16px;width:220px;padding:20px}}
@media(max-width:440px){.life-header{padding:0 15px}.life-header h1{font-size:12px}.life-close{font-size:0!important;padding:10px}.life-close span{font-size:20px}.life-location h2{font-size:26px}.life-location p{font-size:9px}.life-toolbar{max-width:calc(100% - 20px)}.life-footer{font-size:8px;padding:0 10px}.life-location{top:24px}}
@media(prefers-reduced-motion:reduce){.life-dialog button{transition:none}.life-spinner{animation-duration:2s}}
@media(max-width:760px){.life-navigation{flex-direction:column;gap:7px;padding:8px 12px}.life-mapping-state{font-size:9px}.life-camera{flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 24px)}.life-toolbar button{padding:8px}.life-camera [data-preset]{font-size:10px}.life-location{top:16px}.life-header-actions{gap:10px}.life-functions{font-size:10px}}
.life-dialog.visual-tier-surface{background:transparent}.life-dialog.visual-tier-surface .life-stage{background:#e7e8dc}.life-dialog.visual-tier-surface .life-mapping-state{position:static;color:inherit}
