.tech-page{--tp-ink:#122b38;--tp-text:#374e55;--tp-teal:#00695e;--tp-rule:#b9c8bd;--tp-paper:#f9f9f3;color:var(--tp-ink);width:min(1120px,calc(100% - 56px));margin:0 auto 6rem}
.tech-page *{box-sizing:border-box}
.tp-intro{padding:clamp(3rem,7vw,6.5rem) 0 1.7rem}
.tech-page .tp-label,.tp-state,.tp-explorer figcaption span,.tp-ledger figcaption span,.tp-blueprint figcaption span,.tp-blueprint-body>div>span,.tp-role,.tp-index,.tp-totals small,.nt-flow nav button span,.nt-calc span{font-family:ui-monospace,"SFMono-Regular",Consolas,monospace;font-size:.71rem;line-height:1.5;letter-spacing:.075em}
.tech-page .tp-label{color:var(--tp-teal);text-transform:uppercase;margin:0 0 .8rem}
.tech-page h1,.tech-page h2,.tech-page h3{color:inherit;margin:0;text-wrap:balance}
.tp-intro h1,.tp-case h2,.tp-next h2{font-family:var(--serif,Georgia,serif);font-weight:400}.tp-intro h1{font-size:clamp(2.9rem,7vw,6rem);line-height:1.02;letter-spacing:-.065em}
.tp-deck,.tp-lead{font-size:clamp(1.06rem,1.8vw,1.35rem);line-height:1.55;color:var(--tp-text);max-width:64ch;margin:.9rem 0 0}
.tp-jump{display:flex;flex-wrap:wrap;gap:5px 22px;border-top:1px solid var(--tp-rule);border-bottom:1px solid var(--tp-rule);padding:9px 0}
.tp-jump a{display:inline-block;color:var(--tp-ink);font-weight:600;font-size:.875rem;text-decoration:none;padding:7px 0}
.tp-jump a:hover,.tp-jump a:focus-visible{color:var(--tp-teal);text-decoration:underline}
.tp-case{padding:clamp(3rem,6vw,5.5rem) 0 0;scroll-margin-top:86px}
.tp-case h2,.tp-next h2{font-size:clamp(2rem,4vw,3.65rem);line-height:1.08;letter-spacing:-.045em}
.tp-case .tp-lead{margin-bottom:1.7rem}
.tech-page figure{margin:1.5rem 0}
.tp-blueprint,.tp-explorer,.tp-ledger,.tp-lab{border:1px solid var(--tp-rule);border-radius:4px;overflow:hidden}
.tech-page figcaption,.tp-lab>header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.3rem 1rem;padding:13px 20px;background:#ecf0e7;color:var(--tp-ink);border-bottom:1px solid var(--tp-rule)}
.tech-page figcaption span{color:#3c5854}
.tp-blueprint{background:#122e37;color:#f6f8ed}
.tp-blueprint figcaption{background:#122e37;color:#f6f8ed;border-bottom:1px solid #49656a}
.tp-blueprint figcaption span{color:#c7d9ce}
.tp-blueprint-body{display:grid;grid-template-columns:1fr auto minmax(0,1.55fr) auto 1fr;gap:1rem;align-items:center;padding:2.3rem clamp(1rem,3vw,2.75rem);background-image:radial-gradient(#57716e 1px,transparent 1px);background-size:15px 15px}
.tp-blueprint-body>div{background:#173a42;border:1px solid #729489;padding:1rem;box-shadow:4px 4px 0 #10282f;min-width:0}
.tp-blueprint-body>div>span,.tp-blueprint-body small{color:#c9ded2}
.tp-blueprint-body b,.tp-blueprint-body small{display:block}
.tp-blueprint-body b{margin:.4rem 0 0}.tp-blueprint-body i{font-style:normal;color:#a5d8bb}
.tp-blueprint-body>div.tp-core{background:#d5e8ce;color:#183b36;border-color:#d5e8ce}
.tp-blueprint-body .tp-core>span,.tp-blueprint-body .tp-core small{color:#31574b}
.tp-blueprint-body .tp-core b{font-size:1.45rem}
.tp-medal{display:flex;flex-wrap:wrap;gap:4px;margin:.7rem 0}
.tp-medal em{border:1px solid #8ba693;background:#eef5e7;padding:2px 5px;font:normal .76rem ui-monospace,monospace}
.tp-annotation{padding:.85rem 1.25rem;margin:0;font-size:.88rem;line-height:1.6}
.tp-blueprint .tp-annotation{border-top:1px solid #49656a;color:#d8e7dd}
.tp-explorer,.tp-ledger,.tp-lab,.nt-panel{background:var(--tp-paper)}
.tp-layer{border-bottom:1px solid var(--tp-rule)}
.tp-layer:last-child{border-bottom:0}
.tp-layer summary{padding:13px 20px;display:grid;align-items:center;grid-template-columns:2.2rem minmax(0,1fr) auto 1rem;gap:10px;list-style:none;cursor:pointer}
.tp-layer summary::-webkit-details-marker{display:none}
.tp-layer[open]{border-left:3px solid var(--tp-teal);background:#edf3e9}
.tp-layer[open] summary{padding-left:17px}
.tp-index,.tp-role{color:#486458}
.tp-toggle{width:.75rem;height:.75rem;position:relative;display:inline-block}
.tp-toggle:before,.tp-toggle:after{content:"";position:absolute;left:0;top:50%;width:100%;height:1px;background:#42665e}
.tp-toggle:after{transform:rotate(90deg)}.tp-layer[open] .tp-toggle:after{display:none}
.tp-layer p{margin:0;padding:0 1.5rem 1rem 4.55rem;color:var(--tp-text);max-width:83ch;line-height:1.6}
.tp-notes{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:1.4rem 0}
.tp-notes>div{border-top:1px solid var(--tp-rule);padding-top:1rem}
.tp-notes h3{font-size:1.03rem;font-weight:700}.tp-notes p,.tp-next p,.nt-panel p{line-height:1.6;color:var(--tp-text);margin:.55rem 0}
.tp-table-wrap{max-width:100%;overflow-x:auto}
.tech-page table{border-collapse:collapse;width:100%;font-size:.9rem;text-align:left;font-variant-numeric:tabular-nums}
.tech-page table th,.tech-page table td{padding:11px 14px;border-bottom:1px solid var(--tp-rule);text-align:left;vertical-align:top}
.tech-page table thead th{background:#f1f4eb;color:#425c54;font-size:.75rem}
.tp-next{display:flex;justify-content:space-between;gap:2rem;align-items:center;margin-top:4rem;border-top:1px solid var(--tp-rule);padding-top:2rem}
.tech-page .tp-action,.nt-actions button,.nt-flow nav button{font:inherit;cursor:pointer}
.tech-page .tp-action{display:inline-flex;gap:.8rem;align-items:center;justify-content:center;background:var(--tp-ink);color:#fff;padding:.75rem 1.05rem;font-weight:600;font-size:.9rem;text-decoration:none;border:1px solid var(--tp-ink);border-radius:3px}
.tp-action:hover{background:#264a4b}
.tp-lab>header{background:var(--tp-ink);color:#f7f8ef;border:none}
.tp-state{color:#d3e7d3}
.tp-totals{display:grid;grid-template-columns:repeat(3,1fr);background:#1d3c42;color:#f7f9ed;padding:1.5rem 1.25rem}
.tp-totals div{padding-left:clamp(.6rem,2vw,1.6rem);border-left:1px solid #607b74}.tp-totals div:first-child{padding-left:0;border-left:0}
.tp-totals small{display:block;color:#d4e7da}.tp-totals b{font-size:clamp(1.55rem,3.5vw,3rem);letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.tp-totals div:last-child b{color:#b1e4b9}
.nt-flow{display:grid;grid-template-columns:minmax(145px,23%) minmax(0,1fr)}
.nt-flow nav{display:flex;flex-direction:column;border-right:1px solid var(--tp-rule);background:#f0f3e9}
.nt-flow nav button{border:none;background:transparent;display:flex;align-items:center;gap:12px;text-align:left;padding:12px 16px;color:#344e47;font-size:.85rem}
.nt-flow nav button span{font-size:.68rem}
.nt-flow nav button[aria-current]{background:#d9e8d7;color:#153c34;font-weight:700;border-left:3px solid #00695e;padding-left:13px}
.nt-flow nav button:disabled{color:#5d6a63;cursor:default}
.nt-panel{padding:clamp(1rem,2.6vw,2rem);min-height:320px}
.nt-panel h3{font-size:1.7rem;letter-spacing:-.03em}
.nt-panel .tp-table-wrap,.nt-calc{margin:1rem 0}.nt-panel table th,.nt-panel table td{padding:8px}
.nt-calc{display:flex;justify-content:space-between;gap:1rem;align-items:center;background:#eef2e8;border:1px solid var(--tp-rule);padding:.8rem}
.nt-calc strong{font-variant-numeric:tabular-nums}
.nt-evidence{list-style:none;padding:0}.nt-evidence li{border-top:1px solid var(--tp-rule);padding:.75rem 0}.nt-evidence li span{display:block;margin-top:4px;color:var(--tp-text);line-height:1.5}
.nt-check{display:flex;align-items:baseline;gap:.6rem;line-height:1.5}.nt-check input{accent-color:var(--tp-teal)}
.nt-actions{display:flex;align-items:center;gap:.55rem;margin-top:1.2rem;flex-wrap:wrap}.nt-actions button[data-back]{background:transparent;color:var(--tp-ink);border:1px solid var(--tp-rule);padding:.75rem;border-radius:3px;font-size:.9rem}
.nt-actions button:disabled{background:#d4dbd1;border-color:#d4dbd1;color:#526058;cursor:default}
.tp-lab>footer{border-top:1px solid var(--tp-rule);padding:.8rem 1.1rem;color:#465e53;font-size:.8rem;line-height:1.5;background:#eef2e8}
.tech-page :focus-visible{outline:3px solid #b05a24;outline-offset:3px}
@media(max-width:760px){
 .tech-page{width:calc(100% - 32px)}.tp-blueprint-body{grid-template-columns:1fr;gap:.4rem;padding:1rem}.tp-blueprint-body i{transform:rotate(90deg);justify-self:center}
 .tp-blueprint-body>div{width:100%}.tp-layer summary{grid-template-columns:1.65rem minmax(0,1fr) 1rem}.tp-role{display:none}.tp-layer p{padding-left:3.1rem}
 .tp-notes{grid-template-columns:1fr;gap:1rem}.tp-next{align-items:start;flex-direction:column}
 .nt-flow{display:block}.nt-flow nav{display:grid;grid-template-columns:repeat(3,1fr);border-right:none;border-bottom:1px solid var(--tp-rule)}
 .nt-flow nav button{padding:8px;gap:5px;font-size:.74rem}.nt-flow nav button[aria-current]{padding-left:5px}
 .nt-panel{min-height:280px}.nt-calc{flex-wrap:wrap}.tp-lab>header,.tech-page figcaption{padding:12px 14px}
}
@media(max-width:420px){.tp-totals{padding:1rem .7rem}.nt-flow nav button span{display:none}.tp-totals small{font-size:.61rem}.nt-calc{flex-wrap:wrap}}
