.tech-toc{position:sticky;top:84px;border-left:1px solid var(--line);padding:4px 0 4px 22px;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.12em;color:var(--ink-3);display:flex;flex-direction:column;gap:14px}.tech-toc a{color:var(--ink-3);display:block;padding-left:10px;border-left:2px solid transparent;text-decoration:none}.tech-toc a.active,.tech-toc a:hover{color:var(--ink);border-left-color:var(--brand)}.tech-section{padding:96px 0;border-top:1px solid var(--line);scroll-margin-top:96px}.tech-section:first-of-type{border-top:0}.tech-head{display:grid;grid-template-columns:64px 1fr;gap:24px;align-items:flex-start;margin-bottom:40px}.tech-num{font-family:"Instrument Serif",serif;font-size:56px;line-height:.9;color:var(--brand);font-style:italic;letter-spacing:-.02em}.tech-head .meta{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--ink-3);letter-spacing:.14em;margin-bottom:6px}.tech-head h2{font-size:clamp(36px,4.2vw,56px);font-weight:700;letter-spacing:-.03em;line-height:1.04}.tech-head h2 em{font-family:"Instrument Serif",serif;font-style:italic;color:var(--brand)}.tech-head .lede{color:var(--ink-3);font-size:18px;line-height:1.55;max-width:720px;margin:18px 0 0}.proxy-flow{background:#0A1628;border-radius:var(--radius-xl);padding:32px;color:white;position:relative;overflow:hidden}.proxy-flow:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(74,149,226,.05) 1px,transparent 0) 0 0 /32px 32px,linear-gradient(90deg,rgba(74,149,226,.05) 1px,transparent 0) 0 0 /32px 32px;pointer-events:none}.proxy-step{position:relative;display:grid;grid-template-columns:110px 1fr;gap:18px;padding:18px 0;border-top:1px dashed rgba(74,149,226,.2)}.proxy-step:first-child{border-top:0}.proxy-step .lhs{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--brand);letter-spacing:.14em;padding-top:4px}.proxy-step .rhs h4{color:white;font-size:16px;font-weight:600;margin:0 0 6px}.proxy-step .rhs p{color:rgba(255,255,255,.7);font-size:14px;margin:0;line-height:1.55}.proxy-step .rhs .demo{margin-top:12px;padding:12px 14px;background:rgba(255,255,255,.04);border-left:2px solid var(--brand);border-radius:0 6px 6px 0;font-family:JetBrains Mono,monospace;font-size:12px;color:rgba(255,255,255,.85);line-height:1.5}.proxy-step .rhs .demo .ent{color:var(--accent)}.perim-tag{display:inline-flex;align-items:center;gap:6px;font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.14em;padding:3px 8px;border-radius:3px}.perim-in{background:rgba(34,184,92,.15);color:#5BD68C}.perim-out{background:rgba(232,168,92,.15);color:var(--accent)}.route-table{background:white;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.route-table table{width:100%;border-collapse:collapse}.route-table th{background:var(--paper);padding:14px 16px;text-align:left;font-family:JetBrains Mono,monospace;font-size:11px;color:var(--ink-3);letter-spacing:.14em;font-weight:500;border-bottom:1px solid var(--line)}.route-table td{padding:16px;font-size:14px;color:var(--ink-2);border-top:1px solid var(--line);vertical-align:middle}.route-table tr:first-child td{border-top:0}.route-table .pill{display:inline-flex;padding:3px 10px;border-radius:100px;font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.1em}.route-table .pill.cost{background:var(--brand-soft);color:var(--brand-deep)}.route-table .pill.priv{background:var(--ink);color:white}.route-table .meter{display:inline-block;width:100px;height:6px;background:var(--line);border-radius:3px;overflow:hidden;vertical-align:middle;margin-right:8px}.route-table .meter>span{display:block;height:100%;background:var(--brand)}.own-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:stretch}.own-card{padding:32px;border-radius:var(--radius-xl)}.own-card.them{background:#FBF6F4;border:1px solid #efe3dc}.own-card.us{background:#0A1628;color:white;border:1px solid rgba(255,255,255,.08)}.own-card .tag{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.14em}.own-card.them .tag{color:#C2705A}.own-card.us .tag{color:var(--accent)}.own-card h3{font-size:24px;line-height:1.2;margin:12px 0 18px}.own-card.us h3{color:white}.own-rows{list-style:none;padding:18px 0 0;margin:0;border-top:1px dashed}.own-card.them .own-rows{border-top-color:#EFE3DC}.own-card.us .own-rows{border-top-color:rgba(255,255,255,.1)}.own-rows li{display:grid;grid-template-columns:130px 1fr;gap:14px;padding:12px 0;font-size:14px}.own-rows li+li{border-top:1px dashed}.own-card.them .own-rows li+li{border-top-color:#EFE3DC}.own-card.us .own-rows li+li{border-top-color:rgba(255,255,255,.1)}.own-rows li .key{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.14em}.own-card.them .own-rows li .key{color:#6B4A42}.own-card.us .own-rows li .key{color:rgba(255,255,255,.5)}.evo{background:white;border:1px solid var(--line);border-radius:var(--radius-xl);padding:36px 32px}.evo-track{position:relative}.evo-line{position:absolute;left:0;right:0;top:30px;height:2px;background:linear-gradient(90deg,rgba(10,22,40,.2),var(--brand) 50%,var(--accent))}.evo-stages{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.evo-stage{padding-top:56px;position:relative}.evo-stage:before{content:"";position:absolute;top:22px;left:0;width:18px;height:18px;border-radius:50%;background:white;border:2px solid var(--brand);box-shadow:0 0 0 4px rgba(74,149,226,.12)}.evo-stage.now:before{background:var(--brand);box-shadow:0 0 0 5px rgba(74,149,226,.2)}.evo-stage .yr{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--brand);letter-spacing:.14em}.evo-stage .ttl{font-size:16px;font-weight:600;color:var(--ink);margin:6px 0;line-height:1.25}.evo-stage .desc{font-size:13px;color:var(--ink-3);line-height:1.5}.evo-stage.now .yr{background:var(--brand);padding:2px 6px;border-radius:3px;color:white;display:inline-block}.tech-layout{display:grid;grid-template-columns:200px 1fr;gap:60px;padding-top:32px}@media (max-width:960px){.tech-layout{grid-template-columns:1fr;gap:24px}.tech-toc{position:static;border-left:0;padding-left:0;flex-direction:row;flex-wrap:wrap}.own-grid{grid-template-columns:1fr}.evo-stages{grid-template-columns:repeat(2,1fr)}.evo-line{display:none}}