.discovery-figure{margin:36px 0 0;color:var(--text)}
.discovery-caption{display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding-bottom:18px;font:500 11px/1.5 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.discovery-play{font:500 12px var(--font-body);color:var(--text);background:none;border:1px solid var(--line-strong);padding:10px 14px;cursor:pointer}
.discovery-play[hidden]{display:none}
.discovery-play:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.discovery-workbench{display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,.95fr) 48px minmax(0,1.1fr);gap:12px;align-items:center;padding:36px 0}
.discovery-panel-label{min-height:34px;margin:0 0 20px;font:500 10px/1.6 var(--font-mono);letter-spacing:.055em;text-transform:uppercase;color:var(--muted)}
.app-window{position:relative;overflow:hidden;border:1px solid var(--line-strong);background:var(--panel)}
.app-toolbar{display:flex;align-items:center;gap:4px;padding:12px;border-bottom:1px solid var(--line);font:500 10px var(--font-body);color:var(--muted)}
.app-toolbar>span:last-child{margin-left:auto}
.app-dot{width:4px;height:4px;background:var(--gold);border-radius:50%}
.app-tabs{display:flex;gap:16px;padding:14px 12px 10px;font:500 10px var(--font-body);color:var(--muted)}
.app-tabs>button[aria-pressed="true"]{color:var(--blue);border-bottom:2px solid var(--blue);padding-bottom:6px}
.app-record{display:grid;grid-template-columns:1fr 1.4fr;gap:14px 8px;padding:20px 12px;font:400 11px/1.4 var(--font-body)}
.app-record>span{color:var(--muted)}
.app-record>strong{font-weight:500}
.app-operations{display:flex;flex-wrap:wrap;gap:6px;padding:12px;border-top:1px solid var(--line)}
.app-operations>button{border:1px solid var(--line-strong);padding:6px;font:500 9px var(--font-body)}
.app-scan{display:none;position:absolute;left:0;right:0;top:60px;height:64px;background:linear-gradient(transparent,var(--blue-soft));border-bottom:2px solid var(--blue);pointer-events:none}
.discovery-evidence{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:7px;font:400 11px/1.5 var(--font-body);color:var(--text-soft)}
.discovery-evidence li:before{content:'+';margin-right:8px;color:var(--blue)}
.discovery-transfer{position:relative;display:flex;align-items:center;color:var(--blue);border-top:1px solid var(--blue)}
.discovery-transfer>span{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);white-space:nowrap;font:400 9px var(--font-mono);color:var(--muted)}
.discovery-transfer::after{content:"";position:absolute;right:0;top:-4px;width:6px;height:6px;border-top:1px solid var(--blue);border-right:1px solid var(--blue);transform:rotate(45deg)}
.discovery-transfer>i{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--gold);left:0;top:-4px}
.discovery-knowledge svg{display:block;width:100%;height:auto;overflow:visible}
.graph-links path{fill:none;stroke:var(--blue);stroke-width:.6;opacity:.4}
.graph-nodes circle{fill:var(--blue);stroke:var(--bg);stroke-width:.7}.graph-nodes .is-brass{fill:var(--gold)}
.graph-center{fill:#1b5945;stroke:var(--gold);stroke-width:1}
.discovery-knowledge svg text{fill:#fbfaf6;font:600 16px var(--font-body)}
.discovery-knowledge svg .graph-center-sub{font:400 10px var(--font-body)}
.graph-packet{fill:var(--gold);opacity:0}
.discovery-actions ol{display:grid;gap:12px;list-style:none;padding:0;margin:0}
.discovery-action{border-left:2px solid var(--line-strong);padding:12px 14px;background:var(--panel);display:grid;gap:9px;transition:border-color .25s,background-color .25s}
.action-query{color:var(--muted);font:400 11px/1.45 var(--font-body)}
.action-trigger>strong{font:600 15px/1.3 var(--font-body)}
.action-result{font:400 10px/1.5 var(--font-body);color:var(--blue)}
.discovery-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:24px 0 0;margin:0;border-top:1px solid var(--line);list-style:none}
.discovery-stages span{font:500 12px var(--font-mono);color:var(--gold)}
.discovery-stages p{font:400 13px/1.65 var(--font-body);color:var(--text-soft);margin:9px 0}
.discovery-figure>figcaption{margin-top:18px;font:400 11px/1.5 var(--font-body);color:var(--muted)}
.is-enhanced[data-step='0'] .app-scan,.is-enhanced[data-step='1'] .app-scan,.is-enhanced[data-step='2'] .app-scan{display:block;animation:application-scan 2.4s ease-in-out infinite}
.is-enhanced .discovery-evidence li{transition:opacity .3s,transform .3s}
.is-enhanced[data-step='0'] .discovery-evidence li{opacity:.35;transform:translateY(4px)}
.is-enhanced[data-step='1'] .discovery-evidence li:nth-child(n+2){opacity:.35}
.is-enhanced[data-step='2'] .discovery-evidence li:nth-child(3){opacity:.35}
.is-enhanced[data-step='3'] .graph-links path{stroke-dasharray:6 4;animation:graph-flow 1s linear infinite}
.is-enhanced .discovery-transfer>i{animation:packet-flow 1.6s linear infinite}
.is-enhanced[data-query='0'] .discovery-action[data-action='0'],.is-enhanced[data-query='1'] .discovery-action[data-action='1'],.is-enhanced[data-query='2'] .discovery-action[data-action='2']{border-left-color:var(--blue);background:var(--blue-soft)}

.is-enhanced:not(.is-running) *{animation-play-state:paused!important}
@keyframes application-scan{0%,100%{transform:translateY(0)}50%{transform:translateY(130px)}}
@keyframes packet-flow{from{left:0;opacity:0}20%,80%{opacity:1}to{left:90%;opacity:0}}
@keyframes packet-flow-vertical{from{top:0;opacity:0}20%,80%{opacity:1}to{top:calc(100% - 4px);opacity:0}}
@keyframes graph-flow{to{stroke-dashoffset:-20}}
@media(max-width:960px){.discovery-workbench{grid-template-columns:1fr;gap:26px;max-width:560px;margin:auto}.discovery-panel-label{min-height:0;margin-bottom:12px}.discovery-transfer{height:25px;width:1px;border-top:0;border-left:1px solid var(--blue);justify-self:center}.discovery-transfer::after{transform:rotate(135deg);top:auto;bottom:0;right:-3px}.discovery-transfer>span{left:24px;bottom:8px;transform:none}.discovery-transfer>i{left:-4px;top:0}.is-enhanced .discovery-transfer>i{animation-name:packet-flow-vertical}.discovery-knowledge svg{max-width:290px;margin:auto}.discovery-actions ol{gap:10px}.discovery-action{grid-template-columns:1fr 1fr}.action-query{grid-column:1/-1}.discovery-stages{gap:16px}}
@media(max-width:560px){.discovery-stages{grid-template-columns:1fr;gap:12px}.discovery-caption{font-size:9px}.discovery-action{grid-template-columns:1fr}.discovery-workbench{padding:24px 0}.app-record{font-size:12px}.app-operations>button{font-size:10px}}
@media(prefers-reduced-motion:reduce){.discovery-figure *{animation:none!important;transition:none!important}.app-scan{display:none!important}}

/* Circular constellation and working application controls. */
.app-tabs button{font:inherit;color:inherit;padding:0 0 6px;background:none;border:0;border-bottom:2px solid transparent;cursor:pointer}
.app-operations button{color:var(--text);background:none;cursor:pointer}
.app-tabs button:hover,.app-operations button:hover{color:var(--blue)}
.app-tabs button:focus-visible,.app-operations button:focus-visible,.action-trigger:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.discovery-action{padding:0;display:block}
.action-trigger{display:grid;gap:9px;width:100%;min-height:110px;text-align:left;padding:14px;background:none;border:0;color:var(--text);cursor:pointer}
.action-trigger:hover{background:var(--blue-soft)}
.action-query{font-size:12px}.action-result{font-size:11px}
.discovery-feedback{min-height:20px;margin:0 0 12px;font:400 12px/1.5 var(--font-body);color:var(--text-soft)}
.discovery-knowledge svg text{font-size:14px}.discovery-knowledge svg .graph-center-sub{font-size:9px}
@media(max-width:960px){.action-trigger{min-height:0}.discovery-knowledge svg{max-width:340px}}


/* Common heading and content starts across all three desktop columns. */
.discovery-workbench{align-items:start}
.discovery-app,.discovery-knowledge,.discovery-actions{min-width:0}
.discovery-panel-label{height:34px;margin:0 0 20px;display:flex;align-items:flex-start}
.discovery-transfer{align-self:start;margin-top:204px}
@media(max-width:960px){.discovery-panel-label{height:auto;margin:0 0 12px}.discovery-transfer{margin-top:0}}

@media(min-width:961px){.discovery-knowledge svg{height:300px;width:100%}}

/* Keep direct manipulation separate from the slow orbit and fixed centre. */
.graph-orbit{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.graph-orbit.is-dragging{cursor:grabbing}
.graph-orbit:focus,.graph-orbit:focus-visible{outline:none}
.sphere-rim{fill:none;stroke:var(--line-strong);stroke-width:.6;stroke-dasharray:2 5;opacity:.4}
.graph-orbit:focus-visible:not(.is-pointer-input) .sphere-rim{stroke:var(--gold);stroke-width:1.4;opacity:1;stroke-dasharray:none}
