/* The compass opens a quiet map of lived learning, using the same Life type and palette. */
dialog.life-detail.life-detail-area-map{width:min(100%,960px);max-width:960px;height:100dvh;max-height:100dvh;margin:0 auto;border:0;border-radius:0;padding:0;background-color:rgb(var(--spirit-paper,246,249,252));background-image:linear-gradient(180deg,rgba(var(--spirit-paper,246,249,252),.50),rgba(var(--spirit-paper,246,249,252),.70) 36%,rgba(var(--spirit-paper,246,249,252),.93) 72%,rgba(var(--spirit-paper,246,249,252),.98)),radial-gradient(ellipse 65% 48% at 50% 49%,rgba(var(--spirit-paper,246,249,252),.60),transparent 90%),var(--spirit-world-image,none);background-position:center,center,var(--world-image-position,center center);background-size:cover;background-repeat:no-repeat;color:var(--spirit-ink,#30425f);overflow:auto;overscroll-behavior:contain;box-shadow:0 0 90px rgba(var(--spirit-rgb,133,160,193),.12)}
dialog.life-detail-area-map::backdrop{background:rgba(var(--spirit-rgb,133,160,193),.20);backdrop-filter:blur(4px)}
.life-detail-area-map .life-detail-inner{max-width:880px;margin:0 auto;padding:calc(24px + env(safe-area-inset-top)) 23px calc(32px + env(safe-area-inset-bottom));background:none;border:0;border-radius:0;box-shadow:none;min-height:100%;position:relative}
.life-detail-area-map .life-lane-back{font:12px/1.6 var(--font-ui,system-ui);color:var(--spirit-muted,#6e7f96);margin:0 0 17px;padding:0 0 8px;min-height:32px;background:none;border:0}
.life-detail-area-map #lifeDetailTitle{font:var(--type-heading-weight,600) 36px/1.35 var(--font-letter,serif);letter-spacing:.04em;margin:0 0 23px;color:var(--spirit-ink,#30425f)}
.life-detail-area-map .life-detail-close{position:absolute;right:19px;top:calc(20px + env(safe-area-inset-top));width:40px;height:40px;border:0;border-radius:50%;background:#ffffff80;color:var(--spirit-muted,#6e7f96);font:300 25px/1 system-ui;z-index:2}
.life-area-map{position:relative;--lam-ink:var(--spirit-ink,#30425f);--lam-muted:var(--spirit-muted,#71829b);font-family:var(--font-ui,system-ui)}
.life-area-map button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.life-area-map button:focus-visible{outline:2px solid var(--spirit-accent,#6283a8);outline-offset:5px}
.lam-scopebar{display:flex;justify-content:space-between;align-items:center;gap:12px}
.lam-scopes{display:flex;padding:3px;border-radius:30px;background:rgba(var(--spirit-rgb,133,160,193),.15)}
.lam-scopes button{min-height:38px;min-width:65px;padding:7px 16px;border:0;border-radius:28px;background:none;font-size:12px;color:var(--lam-muted)}
.lam-scopes button[aria-pressed=true]{background:#fffffff0;color:var(--lam-ink);box-shadow:0 2px 8px rgba(var(--spirit-rgb,133,160,193),.03)}
.lam-scopebar>time{font-size:11px;color:var(--lam-muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.lam-stage{position:relative;height:540px;margin:5px -3px 0;isolation:isolate;background:radial-gradient(ellipse 40% 28% at 50% 49%,#fff8,transparent 90%)}
.lam-orbits{position:absolute;inset:0;width:100%;height:100%;z-index:-1;overflow:visible;stroke:none;fill:none;pointer-events:none}
.lam-orbits ellipse{stroke:rgba(var(--spirit-rgb,133,160,193),.33);stroke-width:.65;vector-effect:non-scaling-stroke}
.lam-orbits .lam-outer-orbit{stroke:rgba(var(--spirit-rgb,133,160,193),.23);stroke-dasharray:1 7;stroke-width:.7}
.lam-orbits path{stroke:color-mix(in srgb,var(--topic-color) 65%,var(--spirit-mist,#dce8f5));stroke-width:.8;vector-effect:non-scaling-stroke;opacity:.65;transition:opacity .22s}
.lam-orbits path.is-selected{opacity:1;stroke-width:1.5}
.lam-stage.has-selection .lam-orbits path:not(.is-selected){opacity:.25}
.lam-center{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);width:117px;height:126px;border:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;isolation:isolate}
.lam-center::before{content:"";position:absolute;inset:-23px;z-index:-2;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse at 27% 34%,rgba(var(--spirit-glow,145,176,208),.40),transparent 65%),radial-gradient(ellipse at 76% 64%,var(--spirit-mist,#dce8f5),transparent 64%);filter:blur(16px)}
.lam-pearl{position:absolute;left:50%;top:50%;width:calc(100% + 20px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:48% 52% 49% 51% / 52% 47% 53% 48%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 42% 34%,#ffffffef,transparent 63%),radial-gradient(ellipse at 16% 49%,#c6dff1b8,transparent 65%),radial-gradient(ellipse at 77% 31%,#d8cce9a8,transparent 61%),radial-gradient(ellipse at 74% 86%,#edcfd99c,transparent 62%),radial-gradient(ellipse at 24% 88%,#c9e1d9a6,transparent 62%),var(--spirit-pearl,#f2f7ff);box-shadow:inset 0 2px 7px #ffffffd6,inset 0 -7px 15px rgba(var(--spirit-rgb,133,160,193),.12),0 8px 28px rgba(var(--spirit-rgb,133,160,193),.13)}
.lam-pearl::after{content:"";position:absolute;inset:6% 9% 43% 13%;border-radius:50%;background:radial-gradient(ellipse at 40% 25%,#ffffffad,transparent 75%);filter:blur(3px)}
.lam-center strong{font:var(--type-heading-weight,600) 21px/1.4 var(--font-letter,serif);letter-spacing:.03em;color:var(--lam-ink);text-shadow:0 1px 5px #fffe;white-space:nowrap}
.lam-center small{font:12px/1.5 var(--font-ui,system-ui);margin:0;color:var(--lam-muted);text-shadow:0 1px 5px #fffe}
.lam-topic{position:absolute;left:var(--x);top:var(--y);transform:translateX(-50%);width:105px;min-height:80px;background:none;border:0;border-radius:24px;display:flex;align-items:center;flex-direction:column;gap:8px;padding:0 4px 9px;transition:opacity .22s}
.lam-topic-light{position:relative;display:block;width:50px;height:31px;isolation:isolate;pointer-events:none;transition:transform .22s}
.lam-topic-light::before{content:"";position:absolute;inset:-13px -10px;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--topic-color) 58%,transparent),transparent 73%);filter:blur(5px);z-index:-1}
.lam-topic-light b,.lam-topic-light em{position:absolute;width:33px;height:24px;left:5px;top:4px;border-radius:66% 34% 58% 42% / 42% 48% 52% 58%;background:linear-gradient(145deg,#fffd,color-mix(in srgb,var(--topic-color) 65%,#fff));box-shadow:inset 0 1px 2px #fff;transform:rotate(-27deg)}
.lam-topic-light em{width:28px;height:18px;left:19px;top:4px;transform:rotate(36deg);opacity:.6}
.lam-topic-light::after{content:"";position:absolute;left:18px;top:1px;width:15px;height:21px;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);background:#fff;filter:drop-shadow(0 0 6px #fff)}
.lam-topic strong{font:var(--type-heading-weight,600) 18px/1.5 var(--font-letter,serif);color:var(--lam-ink);letter-spacing:.045em}
.lam-topic.is-selected .lam-topic-light{transform:scale(1.2)}
.lam-stage.has-selection .lam-topic:not(.is-selected){opacity:.55}
.lam-empty{position:absolute;top:76%;left:0;right:0;font:13px/1.8 var(--font-ui,system-ui);text-align:center;color:var(--lam-muted)}
.lam-panel{position:absolute;z-index:10;border-radius:27px;border:1px solid #fff;background:rgba(var(--spirit-paper,246,249,252),.98);box-shadow:0 15px 54px rgba(var(--spirit-rgb,133,160,193),.16),0 2px 9px rgba(var(--spirit-rgb,133,160,193),.04);overflow:auto;overscroll-behavior:contain;padding:23px 22px;color:var(--lam-ink);outline:none}
.lam-panel[hidden]{display:none!important}
.lam-panel-heading{position:relative;margin:0 0 15px}
.lam-panel .lam-kicker{font-size:10px;letter-spacing:.09em;color:var(--lam-muted)}
.life-detail-area-map .lam-panel h3{font:var(--type-heading-weight,600) 27px/1.5 var(--font-letter,serif);color:var(--lam-ink);margin:4px 28px 0 0}
.life-detail-area-map .lam-topic-duration{font:11px/1.6 var(--font-ui,system-ui);color:var(--lam-muted);margin:6px 0 0;white-space:normal}
.lam-panel-close{position:absolute;right:10px;top:10px;border:0;background:none;border-radius:50%;width:38px;height:38px;color:var(--lam-muted);font:300 24px/1 system-ui!important}
.lam-panel-heading .lam-panel-close{right:-12px;top:-13px}
.lam-activity-overview{margin:22px 0 0}
.lam-panel details{margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.lam-panel summary{list-style:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.lam-panel summary::-webkit-details-marker{display:none}
.lam-panel summary:focus-visible{outline:2px solid var(--spirit-accent,#6283a8);outline-offset:4px;border-radius:14px}
.lam-activity>summary{display:flex;gap:10px;align-items:center;min-height:63px;padding:12px 4px;border-top:1px solid rgba(var(--spirit-rgb,133,160,193),.23)}
.lam-activity-label{display:flex;gap:10px;align-items:center;flex:1;font:400 17px/1.7 var(--font-rounded,system-ui)}
.lam-activity-label i{width:9px;height:9px;border-radius:50%;background:var(--activity-color);box-shadow:0 0 12px var(--activity-color);flex-shrink:0}
.lam-activity>summary>strong{font:400 24px/1.3 var(--font-ui,system-ui);font-variant-numeric:tabular-nums;color:var(--lam-ink)}
.lam-disclosure{width:6px;height:6px;flex-shrink:0;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);color:var(--lam-muted);margin:0 4px 4px 2px;opacity:.65}
.lam-panel details[open]>summary>.lam-disclosure{transform:rotate(225deg);margin-bottom:0}
.lam-activity-records{padding:3px 12px 8px 19px;margin:0 0 13px;border-radius:18px;background:linear-gradient(105deg,color-mix(in srgb,var(--activity-color) 15%,transparent),#ffffff5c)}
.life-detail-area-map .lam-traces{margin-top:15px;border-top:1px solid rgba(var(--spirit-rgb,133,160,193),.23)}
.lam-traces>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 3px 5px;font:14px/1.7 var(--font-ui,system-ui)}
.life-detail-area-map .lam-traces>summary small{display:block;font:11px/1.6 var(--font-ui,system-ui);margin:5px 0 0;color:var(--lam-muted)}
.lam-traces .lam-evidence-groups{margin-top:16px}
.life-detail-area-map .lam-evidence-group{padding:12px 0 3px;margin:0;border-top:1px solid rgba(var(--spirit-rgb,133,160,193),.23)}
.lam-evidence-group h4{display:flex;align-items:center;justify-content:space-between;font:500 11px/1.6 var(--font-ui,system-ui);letter-spacing:.04em;color:var(--lam-muted);margin:0 0 3px}
.lam-evidence-group h4>span{font-weight:400;font-variant-numeric:tabular-nums}
.lam-evidence{display:block;width:100%;background:none;border:0;border-radius:6px;padding:8px 0;text-align:left}
.lam-evidence>span{display:block;font:400 14px/1.8 var(--font-rounded,system-ui);white-space:normal;overflow-wrap:anywhere}
.lam-traces .lam-evidence>span{font-family:var(--font-letter,serif)}
.lam-evidence>time{display:block;font-size:10px;line-height:1.6;color:var(--lam-muted);margin-top:3px;font-variant-numeric:tabular-nums}
.lam-record-back{display:block;border:0;background:none;font-size:12px!important;padding:0 10px 10px 0;min-height:36px;margin-bottom:13px;color:var(--lam-muted)!important}
.lam-record>time{display:block;font-size:11px;line-height:1.7;color:var(--lam-muted);margin:13px 0}
.lam-record .lam-original,.lam-record blockquote{font:400 14px/1.95 var(--font-letter,serif);white-space:pre-wrap;overflow-wrap:anywhere;margin:17px 0 0}
.lam-record blockquote{padding-left:13px;border-left:2px solid rgba(var(--spirit-rgb,133,160,193),.32);color:var(--lam-muted)}
/* Match the current Life chapter and short-summary typography without changing global roles. */
.life-detail-area-map :is(#lifeDetailTitle,.lam-center strong,.lam-topic strong,.lam-panel h3,.lam-activity-label,.lam-evidence>span,.lam-original,.lam-record blockquote){font-synthesis:none}
@media(min-width:760px){.life-detail-area-map .life-detail-inner{padding:32px 40px 40px}.life-detail-area-map #lifeDetailTitle{font-size:40px}.lam-stage{height:620px;max-width:770px;margin-inline:auto}.lam-center{width:134px;height:142px}.lam-center strong{font-size:23px}.lam-topic strong{font-size:21px}.lam-topic-light{transform:scale(1.13)}.lam-topic.is-selected .lam-topic-light{transform:scale(1.3)}}
@media(max-width:360px){.life-detail-area-map .life-detail-inner{padding-inline:20px}.life-detail-area-map #lifeDetailTitle{font-size:32px}.lam-scopebar>time{font-size:10px}.lam-scopes button{min-width:58px;padding-inline:12px}.lam-topic{width:89px}.lam-topic strong{font-size:17px}.lam-center{width:105px;height:116px}.lam-center strong{font-size:19px}.lam-panel{padding:20px}}
@media(prefers-reduced-motion:no-preference){.life-detail-area-map[open]{animation:area-map-arrive .35s ease both}@keyframes area-map-arrive{from{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}}
@media(prefers-reduced-motion:reduce){.lam-topic,.lam-topic-light,.lam-orbits path{transition:none}}
