@font-face{font-family:Interface;src:local('Inter'),local('Aptos'),local('Arial');font-display:swap}
:root{color-scheme:dark;--bg:#061d18;--surface:#0a2922;--ink:#ecf0df;--muted:#a2b7a9;--gold:#d8be70;--line:#355345;--mint:#a6cbbb}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Interface,Arial,sans-serif;font-size:16px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid #f1d381;outline-offset:4px}button{color:var(--ink)}.skip{position:absolute;left:20px;top:-100px;z-index:10;background:var(--gold);color:var(--bg);padding:12px}.skip:focus{top:10px}.masthead{height:78px;padding:0 36px;border-bottom:1px solid #345041;display:flex;align-items:center;gap:23px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:21px;letter-spacing:.18em;font-weight:650}.brand svg{height:36px;width:36px;stroke:var(--gold);fill:none;stroke-width:2}.brand .umlaut{fill:var(--gold);stroke:none}.mast-divider{width:1px;height:24px;background:var(--line)}.workspace-name{font-size:14px;color:var(--muted)}.private-label{margin-left:auto;display:flex;align-items:center;gap:7px;color:var(--gold);border:1px solid #6a633c;border-radius:20px;padding:7px 12px;font-size:12px;letter-spacing:.02em}.private-label svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.5}main{max-width:1800px;margin:auto;padding:28px 36px 16px}.heading-row{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px;gap:20px}.eyebrow{color:var(--gold);font-size:12px;letter-spacing:.2em;font-weight:600;margin-bottom:9px}h1{font-size:clamp(25px,2.5vw,38px);font-weight:500;letter-spacing:-.04em;margin:0;line-height:1.2}h1 span{color:var(--muted)}.heading-row p{font-size:14px;color:var(--muted);line-height:1.65;margin:0;text-align:right}.lensbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:18px}.lenses{display:flex;gap:5px;background:#0b2a22;padding:5px;border:1px solid #324c3e;border-radius:9px}.lenses button{border:0;border-radius:5px;padding:10px 19px;background:transparent;font-size:14px;color:var(--muted)}.lenses button.active{background:var(--gold);color:#12271b;font-weight:600}.lenses button:not(.active):hover{background:#214032;color:var(--ink)}.quiet-button{border:0;background:transparent;padding:12px 8px;font-size:14px;color:var(--muted)}.quiet-button:hover{color:var(--gold)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;min-height:570px;height:calc(100vh - 320px);max-height:950px;gap:18px}.map-panel{border:1px solid #3a5847;border-radius:14px;overflow:hidden;background:radial-gradient(ellipse at 45% 40%,#103b2d 0%,#09291f 55%,#08271e 100%);position:relative;display:flex;flex-direction:column;min-width:0}.map-topline{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #35513e80;gap:10px;min-height:54px}.map-topline nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:14px}.map-topline nav button{border:0;background:transparent;padding:0;color:var(--muted);font-size:14px}.map-topline nav button:hover{color:var(--gold)}.map-topline nav span{color:var(--gold)}#map-count{font-size:12px;color:var(--muted);white-space:nowrap}.map-viewport{flex:1;position:relative;overflow:hidden;touch-action:none;min-height:360px;cursor:grab}.map-viewport.dragging{cursor:grabbing}.map-viewport svg{display:block;width:100%;height:100%}.canvas-hint{position:absolute;bottom:12px;left:0;right:0;text-align:center;color:#b3c0a9;font-size:12px;pointer-events:none}.map-bottom{display:flex;gap:8px;justify-content:space-between;align-items:center;min-height:58px;padding:11px 16px;border-top:1px solid #35513e80;background:#09271fde}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:#b4c3af}.legend span{display:flex;gap:6px;align-items:center}.legend i{display:inline-block;height:8px;width:8px;border-radius:2px}.legend .industry{background:#d8be70}.legend .technology{border:1px solid #91b7a3}.legend .market{background:#87a980;transform:rotate(45deg)}.legend .project{background:#b6b880;border-radius:50%}.legend .evidence{background:#e9d7a1}.zoom-controls{display:flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:6px;overflow:hidden;flex:none}.zoom-controls button{background:#133126;border:0;min-width:36px;min-height:36px;font-size:21px}.zoom-controls button:hover{background:#40543a;color:#f3dc97}.zoom-controls svg{height:17px;width:17px;stroke:currentColor;fill:none;stroke-width:1.5}.zoom-controls output{font-size:12px;min-width:43px;text-align:center;color:var(--muted)}.detail-panel{border:1px solid #405543;background:#0a2820;border-radius:14px;padding:25px 24px;overflow:auto;scrollbar-color:#446047 transparent}.detail-kicker{display:flex;align-items:center;gap:8px;color:var(--gold);text-transform:uppercase;letter-spacing:.15em;font-size:12px;margin-bottom:18px}.detail-icon{width:44px;height:44px;border:1px solid #6a6b40;border-radius:12px;display:grid;place-items:center;font-size:15px;color:var(--gold);margin-bottom:15px;background:#38463050}.detail-panel h2{font-size:29px;line-height:1.2;font-weight:500;letter-spacing:-.025em;margin:0 0 14px}.detail-panel p{color:#b5c8b9;font-size:15px;line-height:1.65;margin:0 0 18px}.status-note{border-left:2px solid var(--gold);background:#283a2550;padding:10px 12px;font-size:12px;color:#d6d5b6;line-height:1.6;margin-bottom:22px}.detail-panel h3{font-size:12px;letter-spacing:.13em;font-weight:600;text-transform:uppercase;color:#9fb29d;margin:24px 0 12px}.connections{display:flex;flex-direction:column;gap:7px}.connection{border:1px solid #355240;text-align:left;border-radius:7px;background:#113125;padding:11px 12px;display:flex;justify-content:space-between;align-items:center;gap:8px}.connection:hover{border-color:var(--gold);background:#263f29}.connection span:first-child{font-size:14px}.connection small{font-size:12px;color:#acbc9e;white-space:nowrap}.related-link{display:block;padding:12px;border:1px solid #70653b;border-radius:7px;text-align:center;text-decoration:none;color:var(--gold);font-size:14px;margin-top:22px}.related-link:hover{background:#394b2c}.detail-footer{font-size:12px;color:#90a794;line-height:1.6;margin-top:20px;padding-top:16px;border-top:1px solid #35513e}.starter-note{margin-top:22px;border-top:1px solid #35513e;padding-top:18px;line-height:1.8;font-size:14px;color:#b5c8b9}.starter-note strong{color:var(--gold);font-weight:500}.node{cursor:pointer;outline:none}.node .node-shape{fill:#0d3125;stroke:#69806a;stroke-width:1.15;transition:fill .2s,stroke .2s}.node:hover .node-shape,.node:focus-visible .node-shape{stroke:#f0d380;stroke-width:2;fill:#354a2c}.node.selected .node-shape{stroke:#e0c46f;stroke-width:2;fill:#394a29}.node.industry .node-shape{stroke:#a69756}.node.root .node-shape{fill:#a89755;stroke:#e0c680}.node-label{fill:#eef0df;font-size:26px;font-weight:500;pointer-events:none}.node-meta{fill:#a3b39c;font-size:21px;pointer-events:none}.node.root .node-label{fill:#102d20;font-size:24px;font-weight:700;letter-spacing:3px}.node.root .node-meta{fill:#173724}.node.root.selected .node-shape{fill:#dfc77b}.node-symbol{fill:#d4bd76;font-size:12px;font-weight:500;pointer-events:none}.edge{stroke:#537c58;stroke-width:1.3;fill:none;opacity:.7}.edge.highlight{stroke:#d6bc69;stroke-width:2;opacity:1}.edge.dashed{stroke-dasharray:5 5}.edge-label{fill:#a8ba9d;font-size:12px;paint-order:stroke;stroke:#0b2c22;stroke-width:5px;stroke-linejoin:round;pointer-events:none}.column-label{fill:#a8b697;letter-spacing:2px;font-size:12px}.orbit{fill:none;stroke:#486345;stroke-width:1;stroke-dasharray:3 10;opacity:.7}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}footer{display:flex;gap:20px;justify-content:space-between;color:#8ca590;font-size:12px;line-height:1.7;margin-top:15px}footer span:last-child{text-align:right;max-width:680px}@media(min-width:1600px){.workspace{grid-template-columns:minmax(0,1fr) 380px}.detail-panel{padding:30px}.map-bottom .legend{gap:22px}}@media(max-width:1050px){main{padding:24px 20px 14px}.masthead{padding:0 20px}.workspace{grid-template-columns:minmax(0,1fr) 280px}.detail-panel{padding:22px 18px}.legend{gap:8px}.map-bottom{flex-wrap:wrap}.heading-row p{display:none}.lenses button{padding:10px 13px}}@media(max-width:760px){.masthead{height:65px;padding:0 16px;gap:14px}.brand{font-size:17px;gap:8px}.brand svg{width:28px;height:28px}.workspace-name,.mast-divider{display:none}.private-label{padding:6px 9px;font-size:12px}main{padding:22px 12px 12px}.heading-row{margin-bottom:20px}.heading-row h1{font-size:26px;max-width:370px}.heading-row h1 span{display:block;margin-top:3px}.lenses{gap:0;padding:3px;overflow:auto;max-width:100%}.lenses button{font-size:14px;padding:10px 12px;white-space:nowrap}.lensbar{align-items:start;flex-direction:column;gap:3px;padding-bottom:12px}.quiet-button{padding:8px 0}.workspace{display:flex;flex-direction:column;height:auto;max-height:none;gap:12px}.map-panel{height:570px;flex:none}.map-topline{padding:13px 12px}.map-bottom{padding:8px 10px;gap:10px}.legend{gap:10px;font-size:12px}.zoom-controls button{min-width:40px;min-height:40px}.detail-panel{overflow:visible;padding:22px}.detail-panel h2{font-size:27px}.detail-icon{float:right;margin-top:0}.connections{display:grid;grid-template-columns:1fr 1fr}.connection{align-items:start;flex-direction:column}.connection small{white-space:normal}footer{flex-direction:column;gap:5px;padding:0 3px}footer span:last-child{text-align:left}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}@media(min-width:761px) and (max-height:780px){.workspace{height:600px}.heading-row{margin-bottom:18px}main{padding-top:20px}}

@media(max-width:760px){.node-meta{font-size:16px}.map-topline{scroll-margin-top:12px}.detail-panel{scroll-margin-top:12px}.column-label{font-size:14px;letter-spacing:1px}}

.connection{flex-direction:column;align-items:flex-start;gap:5px}.connection small{white-space:normal;text-align:left}

@media(max-width:760px){.node-label{font-size:18px}.node-meta{font-size:16px}}

@media(max-width:760px){.map-viewport{touch-action:pan-y}}

.home-link{text-decoration:none}.home-link:hover{background:#283c29}
