/* Thea's intended multi-model system, drawn with readable HTML and SVG. */
.hero-art.thea-map{margin:0 0 0 -5%;height:550px;padding:18px 12px 0;isolation:isolate}
.thea-map::before{content:"";position:absolute;z-index:-1;inset:12% 3% 10%;background:radial-gradient(ellipse,rgba(255,110,37,.12),transparent 70%);pointer-events:none}
.map-header{height:35px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;color:var(--text-soft);font-size:12px;font-weight:500}
.map-development{display:flex;align-items:center;gap:7px;flex-shrink:0;color:var(--quiet);font-size:7px;font-weight:500;letter-spacing:.1em;padding-top:3px}
.map-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.map-body{position:relative;height:444px;margin-top:3px}
.map-wires{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.map-wire{fill:none;stroke:#bb814d;stroke-width:1.2;vector-effect:non-scaling-stroke}
.map-feedback{stroke:var(--quiet);stroke-dasharray:3 4}
.map-arrowhead{fill:#bb814d;stroke:none}
.map-stream{fill:none;stroke:var(--accent-pale);stroke-width:2;stroke-dasharray:3 14;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:0}
.map-running .map-stream[data-active="true"]{opacity:1;animation:map-flow 2.1s linear infinite}
.map-node{position:absolute;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:9px 12px;border:1px solid #594332;border-radius:10px;background:linear-gradient(135deg,var(--surface-2),var(--surface));box-shadow:0 8px 26px #03030333;transition:border-color .5s,box-shadow .5s,background-color .5s}
.map-node[data-active="true"]{border-color:var(--accent-light);box-shadow:0 0 0 3px #ffae6214,0 0 25px #ff7a2f1c}
.map-kicker{color:var(--muted);font-size:8px;line-height:1.3;letter-spacing:.055em;text-transform:uppercase}
.map-node strong{display:block;color:var(--text);font-size:11px;font-weight:500;line-height:1.35}
.map-detail{color:var(--muted);font-size:9px;line-height:1.4}
.map-node-title{display:flex;align-items:center;gap:7px}
.map-node-title svg{width:14px;height:14px;flex-shrink:0;color:var(--accent-light);stroke-width:1.5}
.map-request{left:20%;top:0;width:60%;height:62px;padding-block:8px;gap:3px;background:#1e1a17;text-align:center;align-items:center}
.map-request .map-detail{font-size:8px}
.map-core{left:27%;top:86px;width:46%;height:72px;padding-block:8px;gap:3px;background:linear-gradient(125deg,#372116,#241912);border-color:var(--accent-light);box-shadow:0 0 30px rgba(var(--accent-rgb),.1);align-items:center;text-align:center}
.map-core strong{font-family:var(--heading);font-size:clamp(12px,1.3vw,19px);white-space:nowrap;letter-spacing:.025em;font-weight:600;background:var(--gradient-accent);-webkit-background-clip:text;background-clip:text;color:transparent}
.map-core .map-kicker{color:var(--accent-pale)}
.map-core .map-detail{color:var(--text-soft);font-size:8px}
.map-agent{top:183px;width:30%;height:68px;align-items:center;text-align:center;padding:9px 7px}
.map-agent .map-kicker{font-size:7px}
.map-agent .map-detail{font-size:8px}
.map-agent-reasoning{left:0}
.map-agent-research{left:35%}
.map-agent-review{left:70%}
.map-synthesis{left:27%;top:278px;width:46%;height:64px;padding-block:8px;gap:3px;align-items:center;text-align:center;border-color:#9b673d;background:linear-gradient(125deg,#2b2018,#1d1915)}
.map-synthesis .map-kicker{color:var(--accent-pale)}
.map-synthesis .map-detail{font-size:8px}
.map-review{left:4%;top:370px;width:42%;height:62px;background:#1e1a17}
.map-output{left:54%;top:370px;width:42%;height:62px;background:#211a15}
.map-review .map-kicker,.map-output .map-kicker{font-size:7px}
.map-review .map-detail,.map-output .map-detail{font-size:8px}
.map-revise-label{position:absolute;left:2%;top:330px;color:var(--muted);font-size:8px;line-height:1.5;padding:2px 5px;background:var(--bg);border-radius:3px}
.map-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:40px;border-top:1px solid #76573c55}
.map-phase{font-size:9px;color:var(--muted);line-height:1.5}
.map-note{font-size:8px;color:var(--quiet);white-space:nowrap}
@keyframes map-flow{to{stroke-dashoffset:-34}}
@media(min-width:721px) and (max-width:1200px){
  .map-node{padding-inline:9px}.map-node strong{font-size:10px}.map-core strong{font-size:clamp(12px,1.3vw,17px)}.map-kicker{font-size:7px}.map-detail{font-size:8px}.map-header{font-size:11px}.map-phase{font-size:8px}.map-note{font-size:7px}
}
@media(min-width:721px) and (max-width:960px){
  .hero-art.thea-map{width:118%;margin-left:-8%;padding-inline:8px}.map-agent .map-kicker{font-size:6px;letter-spacing:.025em}.map-development{font-size:6px;gap:4px}.map-header{font-size:10px;gap:5px}.map-node-title svg{display:none}.map-footer{align-items:flex-start;padding-top:10px;gap:5px}.map-note{font-size:6px}
}
@media(max-width:720px){
  .hero-art.thea-map{width:100%;height:auto;margin:25px 0 0;padding:25px 0 0;transform:none}.map-header{height:40px;font-size:12px;align-items:flex-start}.map-development{font-size:7px}.map-body{height:472px;margin-top:8px}
  .map-request{left:8%;width:84%;height:62px}.map-core{left:20%;top:86px;width:60%;height:72px}.map-core strong{font-size:clamp(13px,4vw,19px)}
  .map-agent{top:183px;width:31%;height:72px;padding-inline:6px}.map-agent-research{left:34.5%}.map-agent-review{left:69%}.map-agent .map-kicker{font-size:6px;letter-spacing:.025em}.map-agent strong{font-size:10px}.map-agent .map-detail{font-size:8px}
  .map-synthesis{left:20%;top:289px;width:60%;height:70px}.map-review{left:4%;top:393px;width:42%;height:68px}.map-output{left:54%;top:393px;width:42%;height:68px}.map-review,.map-output{padding-inline:8px}.map-review strong,.map-output strong{font-size:10px}.map-review .map-node-title svg,.map-output .map-node-title svg{display:none}.map-revise-label{top:348px;font-size:7px}.map-footer{min-height:40px;gap:10px}.map-phase{font-size:8px}.map-note{font-size:7px}
}
@media(max-width:390px){.map-header{font-size:11px}.map-agent .map-detail{font-size:7px}.map-node-title svg{display:none}.map-footer{gap:8px}.map-note{font-size:6px}}
@media(prefers-reduced-motion:reduce){html:not([data-motion-choice="running"]) .map-node{transition:none}html:not([data-motion-choice="running"]) .map-stream{display:none}}
html[data-motion="paused"] .map-node{transition:none}
