.perspective.explorer{--graph-line:#a3b795;--graph-accent:#a6472d;--graph-ink:#294838;--graph-paper:#f1f5e7;padding:20px 20px 16px;background:var(--graph-paper);border:1px solid #dce5d2;border-radius:6px;overflow:hidden}
html[data-theme=lab] .perspective.explorer{background:var(--graph-paper);padding:20px 20px 16px;border-color:#dce5d2;border-radius:6px}
.explorer-symbol{font-size:19px;color:var(--graph-accent);line-height:1}
.explorer-path{display:flex;align-items:center;gap:6px;min-height:48px;font-size:11px;color:var(--muted);flex-wrap:wrap;padding-top:8px}
.explorer-path button{border:0;background:none;padding:7px 3px;color:var(--graph-ink);font-size:inherit;min-height:32px;text-align:left}
.explorer-path button:last-child{color:var(--graph-accent)}
.knowledge-scene{height:420px;position:relative;isolation:isolate;touch-action:pan-y}
.knowledge-lines,.knowledge-nodes{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.knowledge-lines{pointer-events:none}
.knowledge-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;color:var(--graph-ink);transition:opacity .3s,transform .5s cubic-bezier(.2,.7,.2,1)}
.knowledge-center>span{font-size:11px;letter-spacing:.23em;display:block;margin-bottom:8px}
.knowledge-center strong{font:500 47px/.95 'Avenir Next','Trebuchet MS',sans-serif;letter-spacing:-.055em}
.knowledge-center em{font-style:normal;color:var(--graph-accent)}
.knowledge-center small{display:block;font-size:10px;letter-spacing:.01em;margin-top:16px;color:#607056;white-space:nowrap}
.explorer[data-depth]:not([data-depth="0"]) .knowledge-center{opacity:0;transform:translate(-50%,-50%) scale(.82)}
.knowledge-node{position:absolute;left:0;top:0;width:116px;min-height:56px;background:none;border:0;border-radius:50%;padding:8px 6px;text-align:center;color:var(--graph-ink);font-family:var(--body);cursor:pointer;transform:translate(calc(var(--x) - 50%),calc(var(--y) - 50%));transition:transform .65s cubic-bezier(.16,1,.3,1),opacity .25s;z-index:2;opacity:1;-webkit-tap-highlight-color:transparent}
.knowledge-node .node-inner{display:flex;flex-direction:column;align-items:center;gap:8px;transform:scale(var(--proximity,1));transition:transform .25s cubic-bezier(.2,.8,.2,1);position:relative}
.knowledge-node .node-dot{display:block;width:7px;height:7px;border-radius:50%;background:#6f8d63;box-shadow:0 0 0 5px #dfe8d57a;transition:box-shadow .35s,transform .35s,background .25s;flex-shrink:0}
.knowledge-node .node-name{font-size:12px;line-height:1.35;font-weight:500;text-wrap:balance;max-width:100%;text-shadow:0 1px 3px var(--graph-paper),0 -1px 3px var(--graph-paper),2px 0 3px var(--graph-paper),-2px 0 3px var(--graph-paper)}
.knowledge-node .node-count{font-size:9px;line-height:1;color:#66765c;letter-spacing:.025em}
.knowledge-node:hover .node-inner,.knowledge-node:focus-visible .node-inner{transform:scale(1.12)}
.knowledge-node:hover .node-dot,.knowledge-node:focus-visible .node-dot{background:var(--graph-accent);box-shadow:0 0 0 8px #b8623220,0 0 0 17px #b862320b;transform:scale(1.2)}
.knowledge-node:focus-visible{outline:1.5px dashed var(--graph-accent);outline-offset:3px;border-radius:12px}
.knowledge-node[data-kind="dimension"] .node-name{font-size:13px}
.knowledge-node[data-current="true"]{z-index:4}
.knowledge-node[data-current="true"] .node-dot{background:var(--graph-accent);width:10px;height:10px;box-shadow:0 0 0 8px #b8623218,0 0 0 17px #b8623209}
.knowledge-node[data-current="true"] .node-name{font-size:15px;font-weight:600;color:var(--graph-accent)}
.knowledge-node[data-kind="concept"]{width:110px}
.knowledge-node[data-kind="concept"] .node-dot{width:5px;height:5px;background:#a57645;box-shadow:0 0 0 4px #b88a4d0f}
.knowledge-node[data-kind="concept"] .node-name{font-size:11px;font-weight:400;line-height:1.4}
.knowledge-node[data-kind="concept"][aria-pressed="true"] .node-name{font-weight:600;color:var(--graph-accent)}
.knowledge-node[data-kind="context"]{width:100px;opacity:.7}
.knowledge-node[data-kind="context"] .node-name{font-size:12px}
.branch-path{fill:none;stroke:var(--graph-line);stroke-width:1.1;vector-effect:non-scaling-stroke;opacity:.65;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0;animation:branch-unfold .75s cubic-bezier(.25,.8,.25,1) both}
.branch-path.active{stroke:var(--graph-accent);opacity:.6;stroke-width:1.3}
.branch-signal{fill:none;stroke:var(--graph-accent);stroke-width:2;opacity:0;stroke-linecap:round;stroke-dasharray:.025 .975;animation:branch-signal 1.5s ease-out .18s 1 both}
@keyframes branch-unfold{from{stroke-dashoffset:1;opacity:0}to{stroke-dashoffset:0;opacity:.65}}
@keyframes branch-signal{0%{stroke-dashoffset:1;opacity:0}25%{opacity:.8}90%{opacity:.6}100%{stroke-dashoffset:0;opacity:0}}
.ambient-orbits{opacity:.42;transition:opacity .4s;transform-origin:center}
.ambient-orbits ellipse,.ambient-orbits circle{fill:none;stroke:#adbea1;stroke-width:.6;vector-effect:non-scaling-stroke}
.ambient-orbits .orbital-speck{fill:#8f9f7e;stroke:none}
.explorer:not([data-depth="0"]) .ambient-orbits{opacity:.12}
.explorer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #d8e1cf;padding-top:9px;min-height:52px}
#explorer-help{font-size:11px;line-height:1.6;color:#586b4f}
#explorer-back{background:none;border:0;color:var(--graph-ink);min-width:65px;min-height:42px;font-size:15px;padding:8px 2px;white-space:nowrap}
#explorer-back span{font-size:12px;margin-left:5px}
#explorer-back:disabled{opacity:.3;cursor:default}
.explorer-detail{min-height:116px;padding:15px 0 8px;max-width:100%}
.explorer-level{font-size:10px;line-height:1.6;color:var(--graph-accent);letter-spacing:.04em;display:block;margin-bottom:7px}
.explorer-detail .detail-title{font-size:16px;line-height:1.4;font-weight:500;letter-spacing:-.02em;color:var(--graph-ink)}
.explorer-detail p{font-size:13px;line-height:1.65;color:#52644b;margin-top:7px;max-width:54ch}
.explorer-source{font-size:10px;line-height:1.6;color:#617255;margin-top:9px}
@media(min-width:741px) and (max-width:1000px){html[data-theme=lab] .hero{grid-template-columns:1fr;max-width:660px}html[data-theme=lab] .hero-copy{padding-bottom:0}html[data-theme=lab] .hero h1{font-size:88px}html[data-theme=lab] .perspective.explorer{margin-top:35px}html[data-theme=lab] .hero-links{flex-direction:row}}
@media(max-width:620px){html[data-theme=lab] .perspective.explorer{padding:16px 12px 12px}.knowledge-scene{height:395px}.explorer-path{font-size:11px;gap:5px;padding-top:4px;min-height:48px}.explorer-path button{min-height:40px}.knowledge-node{width:94px;min-height:58px;padding:7px 2px}.knowledge-node[data-kind="dimension"] .node-name{font-size:12px}.knowledge-node[data-current="true"] .node-name{font-size:14px}.knowledge-node[data-kind="concept"]{width:120px}.knowledge-node[data-kind="concept"] .node-name{font-size:12px}.knowledge-node[data-kind="theme"]{width:124px}.knowledge-node .node-name{font-size:12px}.knowledge-node .node-count{font-size:10px}.knowledge-center strong{font-size:34px}.knowledge-center small{font-size:9px;max-width:90px;white-space:normal;line-height:1.5}.knowledge-node .node-inner{gap:7px}#explorer-help{font-size:12px;max-width:210px}#explorer-back{min-height:44px}.explorer-detail{min-height:135px;padding-top:12px}.explorer-detail p{font-size:14px}.explorer-level{font-size:11px}.explorer-source{font-size:11px}.explorer-detail .detail-title{font-size:17px}}
@media(prefers-reduced-motion:reduce){.knowledge-node,.knowledge-node .node-inner,.knowledge-node .node-dot,.knowledge-center,.ambient-orbits{transition:none!important}.branch-path{animation:none!important;stroke-dashoffset:0}.branch-signal{display:none}}

/* Spatial study: a shared animation clock keeps labels and branch endpoints attached. */
.space-field{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.knowledge-node{transition:none}
.branch-path{animation:none;transition:stroke .25s;stroke-width:.9}
.branch-path.active{stroke-width:1.1}
.knowledge-center strong{font-family:var(--display,'Avenir Next'),sans-serif;font-size:48px}
.knowledge-center{transition:opacity .25s,transform .55s cubic-bezier(.22,1,.36,1)}
.knowledge-center small{background:var(--graph-paper);padding:2px 4px}
.knowledge-node .node-name{background:var(--graph-paper);border-radius:2px;padding-inline:2px}
.knowledge-node[data-current="true"] .node-dot{box-shadow:0 0 0 7px #b8623212,0 0 0 14px #b8623208}
#explorer-motion{background:none;border:0;border-bottom:1px dotted #91a383;padding:7px 0;color:#52644b;font-size:10px;min-height:36px;white-space:nowrap;margin-left:auto}
#explorer-motion:hover{color:var(--graph-accent)}
#explorer-motion:focus-visible{outline:1px dashed var(--graph-accent);outline-offset:4px}
html[data-theme=space] .perspective.explorer{--graph-paper:#202c27;--graph-ink:#d2dac5;--graph-accent:#d7b887;--graph-line:#87957b;background:var(--graph-paper);border-color:#435046}
html[data-theme=space] .explorer-detail p,html[data-theme=space] #explorer-help,html[data-theme=space] #explorer-motion,html[data-theme=space] .explorer-source,html[data-theme=space] .knowledge-node .node-count,html[data-theme=space] .knowledge-center small{color:#abb9a3}
html[data-theme=space] .explorer-toolbar{border-color:#435046}
html[data-theme=space] .knowledge-node .node-dot{background:#b5c497;box-shadow:0 0 0 5px #b5c49712}
html[data-theme=space] .knowledge-node[data-current="true"] .node-dot{background:var(--graph-accent)}
@media(max-width:620px){.knowledge-center strong{font-size:36px}.explorer-toolbar{gap:8px}#explorer-help{font-size:10px;max-width:135px}#explorer-motion{font-size:10px;min-height:44px}#explorer-back{min-width:52px}.knowledge-node[data-kind="dimension"] .node-count{font-size:9px}}
@media(prefers-reduced-motion:reduce){#explorer-motion{display:none}}

.knowledge-scene{user-select:none;-webkit-user-select:none}
.explorer[data-motion="off"] .knowledge-center,.explorer[data-motion="off"] .node-inner,.explorer[data-motion="off"] .node-dot{transition:none}
.explorer[data-motion="off"] .knowledge-node:hover .node-inner{transform:none}

/* A quiet reading layer, with direct paths for visitors who prefer words. */
.explorer-detail{padding:21px 3px 2px;min-height:172px}
.explorer-level{font-size:11px;letter-spacing:.025em;margin-bottom:9px;line-height:1.6}
.explorer-level[hidden]{display:none}
.explorer-detail .detail-title{font-size:22px;font-weight:500;line-height:1.3;letter-spacing:-.025em;max-width:30ch}
.explorer-detail .detail-title:focus{outline:none}
.explorer-detail p{font-size:15px;line-height:1.75;max-width:54ch;margin-top:10px;color:var(--graph-ink)}
.detail-actions{display:flex;align-items:center;gap:4px 18px;flex-wrap:wrap;margin-top:13px;padding-bottom:3px}
.detail-link{border:0;border-bottom:1px solid color-mix(in srgb,var(--graph-ink) 22%,transparent);background:none;padding:9px 0;min-height:42px;color:var(--graph-ink);font:500 12px/1.45 var(--body);text-align:left;cursor:pointer;transition:color .2s,border-color .2s}
.detail-link span{display:inline-block;margin-left:5px;transition:transform .2s}
.detail-link:hover{color:var(--graph-accent);border-color:var(--graph-accent)}
.detail-link:hover span{transform:translate(2px,-2px)}
.detail-link:focus-visible{outline:1.5px dashed var(--graph-accent);outline-offset:4px}
.detail-link[data-action=previous]{border-bottom-color:transparent;font-weight:400}
.detail-link[data-action=themes]{margin-left:auto;font-weight:400}
#explorer-help{font-size:11px;max-width:none}
.knowledge-node .node-name{font-size:13px}
.knowledge-node[data-kind=concept] .node-name{font-size:12px;line-height:1.45}
@media(max-width:620px){.explorer-detail{padding-top:19px;min-height:190px}.explorer-detail .detail-title{font-size:21px}.explorer-detail p{font-size:15px;line-height:1.7}.detail-link{font-size:12px;min-height:44px}.detail-actions{gap:2px 16px}.detail-link[data-action=themes]{margin-left:0}#explorer-help{font-size:11px;max-width:140px}.knowledge-node .node-name{font-size:12px}}
@media(prefers-reduced-motion:reduce){.detail-link,.detail-link span{transition:none}.detail-link:hover span{transform:none}}
.explorer[data-motion=off] .detail-link span{transition:none;transform:none}

/* Keep the whole study steady as short introductions become longer interpretations. */
.explorer-path{height:48px;min-height:48px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
.explorer-path>*{flex-shrink:0;white-space:nowrap}
.explorer-toolbar{height:48px;min-height:48px}
.explorer-detail{height:192px;min-height:0;padding:12px 3px 8px;overflow-y:auto;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#b5c3a8 transparent;display:flex;flex-direction:column;gap:8px;overflow-anchor:none}
.detail-copy,.detail-actions{flex-shrink:0}
.explorer-detail .detail-actions{margin-top:0;gap:2px 15px;padding-bottom:0}
.explorer-detail:focus-visible{outline:1px dashed var(--graph-accent);outline-offset:-2px}
@media(max-width:620px){.explorer-detail{height:232px;padding-top:12px}.explorer-path{height:52px;min-height:52px}}

/* Supporting text links stay secondary to the spatial branches above. */
.explorer-detail .detail-title{font-size:20px;line-height:1.3}
.explorer-detail p{font-size:14px;line-height:1.65;margin-top:7px}
.explorer-detail .detail-link{font-size:11px;font-weight:400;line-height:1.5;min-height:28px;padding:5px 0;border-bottom:0;color:var(--muted);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px}
.explorer-detail .detail-link:hover{color:var(--graph-accent);text-decoration-color:currentColor}
.detail-link[data-action^=theme] span,.detail-link[data-action^=concept] span{display:none}
@media(max-width:620px){.explorer-detail .detail-link{min-height:32px;font-size:11px}.explorer-detail .detail-actions{gap:2px 13px}.explorer-detail p{font-size:14px;line-height:1.65}}

.explorer .node-count{color:#526659;fill:#526659}

/* Room for two explicitly scoped motion controls. */
.explorer-toolbar{height:auto;min-height:48px;flex-wrap:wrap;justify-content:flex-start;gap:4px 8px}
.explorer-toolbar #explorer-help{flex:1 0 100%;max-width:none}
.explorer-toolbar #explorer-back{margin-left:auto}
html body .explorer-toolbar .ui-utility{min-height:40px}
