/* k0otkit's original diagrams and teaching model; the frame lives in exhibit.css. */
[hidden]{display:none!important}
.wordmark{font-size:clamp(76px,8vw,112px)}
.hero-art{align-self:center}
.mobile-hero-svg{display:none}
.hero-svg text{font-family:var(--mono);fill:var(--ink);font-size:12px}
.hero-svg .tiny{font-size:10px;fill:var(--muted)}
.hero-svg .blue{fill:var(--blue)}
.hero-svg .orange{fill:var(--orange)}
.hero-svg .node-box{fill:var(--paper);stroke:var(--line);stroke-width:1.3}
.hero-svg .host-box{fill:var(--evidence);stroke:#b6c8bc;stroke-width:1.2}
.hero-svg .sidecar{fill:var(--mint);stroke:#78a89b}
.hero-svg .path{fill:none;stroke:var(--blue);stroke-width:1.4}
.hero-svg .return-path{fill:none;stroke:#78a89b;stroke-width:1.3;stroke-dasharray:4 7}
.hero-svg .pulse-dot{fill:var(--blue)}
.diagram-caption{line-height:1.7;gap:18px}
.research-strip{grid-template-columns:1.25fr 1fr 1fr 1fr;margin-bottom:85px}
.research-strip strong{font:18px var(--mono);letter-spacing:-.03em}
.research-strip .industry strong{font:600 13px var(--sans);letter-spacing:normal}
.industry{display:flex;align-items:center;gap:14px}
.industry-mark{font:27px var(--mono);color:var(--orange)}
.industry span{font-size:11px;color:var(--muted)}
.industry>div>strong,.industry>div>span{display:block}
.industry>.industry-mark{font:27px var(--mono);color:var(--orange)}
.premise,.explore,.boundaries{padding-bottom:88px}
.premise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line)}
.premise-card{padding:27px;border-right:1px solid var(--line);min-width:0}
.premise-card:first-child{padding-left:0}.premise-card:last-child{padding-right:0;border-right:0}
.premise-card .eyebrow{font-size:10px;color:var(--muted)}
.premise-card h3{font-size:19px;letter-spacing:-.025em;margin:13px 0 12px}
.premise-card p{font-size:13px;color:var(--muted);line-height:1.9}
.mini-parts{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:24px;font:10px var(--mono)}
.mini-part{padding:8px 10px;border:1px solid var(--line);background:var(--evidence)}
.mini-part.blue{border-color:#93acd7;color:var(--blue)}
.mini-part.orange{border-color:#d8ad91;color:#a75b35}
.source-note{font-size:11px;line-height:1.85;color:var(--muted);margin-top:22px}
.source-note a{text-decoration:underline;text-underline-offset:4px}
.workbench{background:var(--night);color:#e9eee9;border-radius:4px;overflow:hidden}
.bench-top,.bench-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 28px;font:10px/1.7 var(--mono);color:#a7b7b6}
.bench-top{border-bottom:1px solid #38434c}.bench-top b{color:var(--mint);font-weight:500}
.demo-label{border:1px solid #53625f;padding:4px 8px;font-size:9px}
.step-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0 24px;border-bottom:1px solid #38434c}
.step-tab{display:flex;gap:12px;align-items:center;background:transparent;color:#a4b3ba;min-width:0;text-align:left;border-bottom:2px solid transparent;padding:20px 8px;font-size:12px}
.step-tab small{display:block;font:9px var(--mono);color:#81959f;margin-top:3px}
.step-no{display:grid;place-items:center;width:23px;height:23px;flex-shrink:0;border:1px solid #4c5a63;border-radius:50%;font:10px var(--mono)}
.step-tab[aria-pressed=true]{color:var(--mint);border-color:var(--mint)}
.step-tab[aria-pressed=true] .step-no{background:var(--mint);border-color:var(--mint);color:var(--night)}
.bench-body{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(270px,1fr)}
.cluster-panel{padding:27px 28px 25px;border-right:1px solid #38434c;min-width:0;background-image:radial-gradient(#33414a .65px,transparent .65px);background-size:15px 15px}
.control-row{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:15px}
.object-card{border:1px solid #4c626d;background:#1c2b36;padding:15px;min-width:0}
.object-card b{font:12px var(--mono);color:#d6e4e2;display:block}.object-card span{font-size:10px;color:#95aab3;display:block;margin-top:8px;line-height:1.75}
.object-card.active{border-color:var(--mint);background:#233c37}.object-card.active b{color:var(--mint)}
.template-spec{border-top:1px solid #415660;margin-top:12px;padding-top:9px;font:10px/1.8 var(--mono);color:#a2b6bc;overflow-wrap:anywhere}
.template-spec .injection{color:#e0ac88}
.distributor{height:34px;display:flex;justify-content:center;align-items:center;font:9px var(--mono);color:#91aab3}
.distributor:before,.distributor:after{content:"";height:1px;background:#45615f;flex:1;margin:0 13px}
.node-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cluster-node{position:relative;border:1px solid #4b5e68;background:#1d2c37;padding:14px;min-width:0;transition:background .3s,border-color .3s}
.cluster-node.injected{border-color:#629b8b;background:#203831}
.cluster-node.absent{border-style:dashed;opacity:.6}
.node-heading{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:12px;font:10px var(--mono);color:#a2b7bc}
.node-dot{width:6px;height:6px;border-radius:50%;background:#6b8290}.injected .node-dot{background:var(--mint)}
.pod-box{border:1px solid #526975;padding:10px;min-height:90px;display:flex;flex-direction:column;justify-content:center;gap:7px}
.pod-box strong{font:10px var(--mono);font-weight:400;color:#b4c7cc}
.container-chips{display:flex;gap:6px;flex-wrap:wrap;font:9px var(--mono)}
.container-chip{padding:5px 7px;background:#2c424d;border:1px solid #536975;color:#b6cbd0}
.container-chip.injected-chip{background:#2c5547;border-color:#73af9b;color:var(--mint)}
.node-state{font-size:10px;color:#9fb6b8;margin-top:10px;min-height:18px}
.channel-line{display:none;height:24px;width:1px;background:var(--mint);margin:0 auto;position:relative;opacity:.7}
.channel-line:after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:var(--mint);left:-1.5px;animation:packet 1.7s linear infinite}
.cluster-panel[data-stage="3"] .channel-line{display:block}
.channel-sink{border:1px solid #526975;padding:10px;text-align:center;font:10px var(--mono);color:#a0b6bd;margin-top:15px;background:#17212c}
.channel-sink.active{color:var(--mint);border-color:#629b8b}
@keyframes packet{from{top:0;opacity:0}30%{opacity:1}to{top:20px;opacity:0}}
.graph-key{display:flex;gap:16px;flex-wrap:wrap;color:#9fb6b8;font-size:10px;margin-top:18px}
.graph-key i{display:inline-block;width:7px;height:7px;background:#6b8290;margin-right:6px}.graph-key i.mint{background:var(--mint)}
.stage-aside{padding:29px 28px;background:#1c2732;min-width:0;display:flex;flex-direction:column}
.stage-aside .eyebrow{font-size:10px;color:var(--mint);margin-bottom:16px}
.stage-aside h3{font-size:24px;letter-spacing:-.03em;margin-bottom:14px}
.stage-aside p{color:#a4b3ba;font-size:12px;line-height:1.9}
.model-counts{display:grid;grid-template-columns:1fr 1fr;gap:15px;border-block:1px solid #3c4851;margin:23px 0;padding:15px 0}
.model-counts strong{display:block;font:28px var(--mono);color:var(--mint);letter-spacing:-.06em}
.model-counts span{font-size:10px;color:#a4b3ba;display:block;line-height:1.6}
.action-row{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:auto}
.action-row .btn{min-height:40px;font-size:11px;padding:8px 13px}.reset-btn{background:none;color:#b0c1c7;padding:9px;font-size:11px}
.event-controls{border-top:1px solid #38434c;padding-top:18px;margin-top:20px}
.event-controls>p{font-size:10px;color:#91aab3;margin-bottom:10px}
.event-buttons{display:flex;gap:8px;flex-wrap:wrap}
.event-button{background:transparent;border:1px solid #526771;padding:8px 10px;min-height:36px;color:#c1d1d2;font-size:10px;line-height:1.4}
.event-button:hover{border-color:var(--mint);color:var(--mint)}
.event-button:disabled{opacity:.4;cursor:default}
.bench-status{display:flex;gap:9px;align-items:flex-start}.status-light{background:var(--mint);width:6px;height:6px;border-radius:50%;margin-top:5px;flex-shrink:0}
.bench-bottom{border-top:1px solid #38434c;font-family:var(--sans);min-height:65px}.bench-bottom a{white-space:nowrap;color:#b6cac5}
.evolution{padding:76px 0;background:var(--evidence);margin-bottom:86px}
.version-tabs{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:0;border:1px solid #bdc8b8;margin-bottom:24px}
.version-tab{background:transparent;text-align:left;padding:17px 12px;min-width:0;border-right:1px solid #bdc8b8;color:var(--muted);font-size:10px;line-height:1.6}
.version-tab:last-child{border-right:0}.version-tab strong{display:block;font:15px var(--mono);color:var(--ink);margin-bottom:7px}
.version-tab[aria-pressed=true]{background:var(--ink);color:#a7b7b6}.version-tab[aria-pressed=true] strong{color:var(--mint)}
.version-detail{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);border:1px solid #bdc8b8;background:var(--paper)}
.version-story{padding:30px 34px;min-width:0}.version-story .eyebrow{color:var(--blue);margin-bottom:16px;font-size:10px}
.version-story h3{font-size:27px;letter-spacing:-.04em;margin-bottom:21px}
.version-story dl{margin:0;display:grid;grid-template-columns:64px minmax(0,1fr);gap:15px 18px;font-size:12px;line-height:1.85}
.version-story dt{color:var(--blue);font-weight:500}.version-story dd{margin:0;color:var(--muted)}
.footprint{padding:30px;background:#edf0e8;border-left:1px solid #bdc8b8;min-width:0}
.footprint .eyebrow{font-size:10px;color:var(--muted);margin-bottom:19px}
.footprint-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.footprint-cell{padding:15px 13px;border:1px solid #c8d1c1;min-height:100px;background:var(--paper)}
.footprint-cell span{font:9px var(--mono);color:var(--muted);display:block;margin-bottom:10px}
.footprint-cell p{font-size:12px;line-height:1.8;color:var(--ink)}
.version-source{display:flex;gap:15px;flex-wrap:wrap;font-size:10px;color:var(--muted);margin-top:19px}.version-source a{text-decoration:underline}
.boundary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.boundary-card{border-top:1px solid var(--line);padding-top:22px;min-width:0}
.boundary-card .eyebrow{font-size:10px;color:var(--orange);margin-bottom:13px}
.boundary-card h3{font-size:20px;margin-bottom:13px;letter-spacing:-.035em}
.boundary-card p{font-size:12px;line-height:1.9;color:var(--muted)}
.boundary-card a{display:inline-block;margin-top:16px;font:10px var(--mono);color:var(--blue);overflow-wrap:anywhere}
.boundary-note{padding:20px 24px;border-left:2px solid var(--orange);background:#efe8dc;margin-top:32px;font-size:12px;line-height:1.9;color:var(--muted)}
.resources{padding-top:0}.resource-title{font-size:34px}
.source-details{margin-top:20px;border:1px solid var(--line);font-size:11px}.source-details summary{padding:13px 16px;cursor:pointer;font-weight:500}.source-details summary:focus-visible{outline:3px solid var(--blue)}
.source-details p{padding:0 16px 16px;color:var(--muted);line-height:1.85;overflow-wrap:anywhere}
@media(max-width:620px){.desktop-hero-svg{display:none}.mobile-hero-svg{display:block;max-width:440px;margin:0 auto 8px}.hero-svg.mobile-hero-svg text{font-size:12px}.hero-svg.mobile-hero-svg .tiny{font-size:10px}}
@media(max-width:350px){.research-strip strong{font-size:12px}}
@media(max-width:1100px){.bench-body{grid-template-columns:minmax(0,1.5fr) minmax(245px,1fr)}.cluster-panel,.stage-aside{padding:24px 22px}.version-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.version-tab:nth-child(4){border-right:0}.version-tab:nth-child(-n+4){border-bottom:1px solid #bdc8b8}.version-story{padding:28px}.footprint{padding:25px}.premise-card{padding:23px}.step-tab{font-size:11px;gap:8px}.research-strip>div{padding:0 18px}.research-strip strong{font-size:16px}}
@media(max-width:820px){.hero{grid-template-columns:1fr 1fr;gap:16px;min-height:560px}.wordmark{font-size:78px}.hero-title{font-size:27px}.bench-body{grid-template-columns:1fr}.cluster-panel{border-right:0;border-bottom:1px solid #38434c}.node-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.node-grid:not(:has(.cluster-node:nth-child(4))){grid-template-columns:repeat(3,minmax(0,1fr))}.control-row{max-width:620px;margin:auto}.cluster-node{padding:12px}.pod-box{padding:8px}.stage-aside{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:0 26px}.stage-heading{grid-row:1/3}.model-counts{margin-top:0}.version-detail{grid-template-columns:1fr}.footprint{border-left:0;border-top:1px solid #bdc8b8}.footprint-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.boundary-grid{gap:22px}.research-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 0}.research-strip>div:nth-child(3){padding-left:0;border-left:0}.premise-grid{grid-template-columns:1fr}.premise-card,.premise-card:first-child,.premise-card:last-child{padding:23px 0;border-right:0;border-bottom:1px solid var(--line)}.premise-card:last-child{border-bottom:0}.mini-parts{margin-top:17px}.hero-copy{font-size:13px}.evolution{padding:60px 0}}
@media(max-width:620px){.hero{grid-template-columns:1fr;min-height:0;gap:17px}.wordmark{font-size:84px}.hero-title{font-size:29px}.hero-copy{font-size:13px}.hero-art{margin-top:8px}.research-strip{margin-bottom:60px}.research-strip strong{font-size:14px}.research-strip .industry strong{font-size:12px}.research-strip>div{padding:0 13px}.premise,.explore,.boundaries{padding-bottom:60px}.bench-top,.bench-bottom{padding:17px 19px;align-items:flex-start;flex-direction:column;gap:9px}.step-tabs{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 16px}.step-tab{padding:16px 4px;font-size:11px}.step-tab small{font-size:8px}.step-tab:nth-child(-n+2){border-bottom-width:1px}.cluster-panel{padding:21px 18px}.object-card{padding:12px}.object-card b{font-size:10px}.object-card span{font-size:9px}.template-spec{font-size:9px}.control-row{gap:10px;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.node-grid,.node-grid:not(:has(.cluster-node:nth-child(4))){grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.cluster-node{padding:12px}.stage-aside{display:block;padding:24px 20px}.stage-aside h3{font-size:23px}.model-counts{margin:20px 0}.action-row{margin-top:0}.event-button{font-size:10px}.evolution{padding:54px 0;margin-bottom:58px}.version-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.version-tab{padding:13px 15px}.version-tab:nth-child(2n){border-right:0}.version-tab:nth-child(-n+6){border-bottom:1px solid #bdc8b8}.version-story{padding:23px 20px}.version-story h3{font-size:24px}.version-story dl{grid-template-columns:48px minmax(0,1fr);gap:14px;font-size:11px}.footprint{padding:23px 20px}.footprint-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.footprint-cell{padding:13px 11px;min-height:105px}.footprint-cell p{font-size:11px}.boundary-grid{grid-template-columns:1fr;gap:27px}.boundary-card h3{font-size:22px}.boundary-note{padding:18px;font-size:11px}.resource-title{font-size:29px}.diagram-caption{margin:0;font-size:8px}.source-note{font-size:10px}.hero-svg .tiny{font-size:11px}}
@media(max-width:350px){.wordmark{font-size:76px}.hero-title{font-size:26px}.cluster-panel{padding:20px 14px}.cluster-node{padding:10px}.pod-box{padding:7px}.container-chip{padding:4px 5px;font-size:8px}.research-strip .industry strong{font-size:11px}.industry{gap:8px}.industry span{font-size:10px}.industry-mark{font-size:23px}.research-strip strong{font-size:12px}.version-story dl{grid-template-columns:42px minmax(0,1fr);gap:12px}.footprint{padding:19px 16px}}
