.tcp-article{--tcp-ink:#e7eef7;--tcp-muted:#9dafc2;--tcp-panel:#101923;--tcp-panel-2:#172330;--tcp-line:#94a3b847;--tcp-blue:#38bdf8;--tcp-green:#34d399;--tcp-amber:#f59e0b;--tcp-red:#fb7185}.tcp-lede{max-width:48rem;font-size:1.1rem}.tcp-article>.research-link{display:block}.tcp-route-map,.tcp-principles,.tcp-controls,.tcp-metrics,.tcp-ack-panel,.tcp-engine{gap:.75rem;display:grid}.tcp-route-map{border-block:1px solid #94a3b859;grid-template-columns:repeat(11,auto);align-items:center;margin-top:2rem;padding:1rem 0;overflow-x:auto}.tcp-route-map span{color:#cbd5e1;text-transform:uppercase;white-space:nowrap;font-size:.72rem;font-weight:700}.tcp-route-map b{color:var(--tcp-amber)}.tcp-principles{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:1.4rem}.tcp-principles>div{border:1px solid var(--tcp-line);border-radius:.5rem;gap:.45rem;min-width:0;padding:.9rem;display:grid}.tcp-principles span{background:var(--tcp-amber);color:#111827;border-radius:50%;justify-content:center;align-items:center;width:1.65rem;height:1.65rem;font-size:.72rem;font-weight:700;display:flex}.tcp-principles strong{color:#e2e8f0;font-size:.85rem}.tcp-principles small{color:var(--tcp-muted);font-size:.72rem;line-height:1.5}.tcp-chapter{text-transform:uppercase;font-weight:700;color:var(--tcp-amber)!important;font-size:.78rem!important}.tcp-article mark{color:#fde68a;background:#f59e0b2e;padding:.06rem .18rem}.tcp-sequence-space{border:1px solid var(--tcp-line);border-radius:.5rem;margin-top:1.4rem;overflow:hidden}.tcp-sequence-space>div{grid-template-columns:1fr 1.25fr 1.25fr 1fr;display:grid}.tcp-sequence-space span{color:#071019;overflow-wrap:anywhere;text-align:center;border-right:1px solid #0b1018;min-width:0;padding:1rem .45rem;font-size:.72rem;font-weight:700}.tcp-sequence-space span:first-child{color:#fff;background:#64748b}.tcp-sequence-space span:nth-child(2){background:var(--tcp-blue)}.tcp-sequence-space span:nth-child(3){background:var(--tcp-green)}.tcp-sequence-space span:nth-child(4){background:#cbd5e1}.tcp-sequence-space p{justify-content:space-around;margin:0;padding:.55rem;display:flex}.tcp-sequence-space b{color:var(--tcp-muted);font-size:.66rem}.tcp-lab{color:var(--tcp-ink);background-color:#0b121b;background-image:linear-gradient(#38bdf80e 1px,#0000 1px),linear-gradient(90deg,#38bdf80e 1px,#0000 1px);background-size:24px 24px;border:1px solid #38bdf859;border-radius:.5rem;margin-top:2.5rem;padding:1.25rem;overflow:hidden;box-shadow:0 24px 70px #00000038}.tcp-lab-header>p{color:var(--tcp-amber);text-transform:uppercase;margin:0;font-size:.74rem;font-weight:700}.tcp-lab-header h2{color:#f8fafc;margin:.4rem 0 0}.tcp-lab-header div p{color:var(--tcp-muted);margin:.65rem 0 0}.tcp-controls{grid-template-columns:1fr;margin-top:1.25rem}.tcp-controls-two{grid-template-columns:repeat(2,minmax(0,1fr))}.tcp-controls-four{grid-template-columns:repeat(4,minmax(0,1fr))}.tcp-controls label{background:var(--tcp-panel);border:1px solid var(--tcp-line);color:var(--tcp-muted);text-transform:uppercase;border-radius:.4rem;gap:.45rem;padding:.75rem;font-size:.72rem;font-weight:700;display:grid}.tcp-controls strong{color:var(--tcp-ink)}.tcp-controls input[type=range]{accent-color:var(--tcp-amber);width:100%}.tcp-packet-stack{margin-top:1rem}.tcp-packet-stack div{color:#071019;max-width:calc(100% - var(--inset,0rem));border:1px solid #0f172aa6;justify-content:space-between;align-items:center;gap:1rem;margin:-1px auto 0;padding:.7rem .9rem;display:flex}.tcp-packet-stack div:first-child{--inset:9rem;background:#e2e8f0}.tcp-packet-stack div:nth-child(2){--inset:6rem;background:#7dd3fc}.tcp-packet-stack div:nth-child(3){--inset:3rem;background:#fbbf24}.tcp-packet-stack div:nth-child(4){background:#6ee7b7}.tcp-packet-stack span{text-transform:uppercase;font-size:.7rem;font-weight:700}.tcp-packet-stack strong{text-align:right;font-size:.76rem}.tcp-segment-row{gap:.45rem;margin-top:1rem;display:flex;overflow-x:auto}.tcp-segment-row>div{background:var(--tcp-panel-2);border:1px solid #38bdf873;gap:.25rem;min-width:8rem;padding:.75rem;display:grid}.tcp-segment-row small,.tcp-segment-row span{color:var(--tcp-muted);font-size:.65rem}.tcp-segment-row strong{color:var(--tcp-blue)}.tcp-observation{border-left:3px solid var(--tcp-amber);padding-left:.85rem;color:#cbd5e1!important;margin-bottom:0!important;font-size:.82rem!important;line-height:1.65!important}.tcp-pipe-shell{background:#071019;border:2px solid #64748b;border-radius:999px;height:5rem;margin-top:1.25rem;position:relative;overflow:hidden}.tcp-pipe-shell>span{color:#dbeafe;text-align:center;z-index:2;width:100%;font-size:.65rem;position:absolute;bottom:.3rem;left:0}.tcp-pipe-fill{background:#38bdf838;justify-content:center;align-items:center;gap:.3rem;min-width:.5rem;height:100%;transition:width .22s;display:flex}.tcp-pipe-fill i{background:var(--tcp-blue);border-radius:.2rem;width:1rem;height:1.5rem}.tcp-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:1rem}.tcp-metrics-three{grid-template-columns:repeat(3,minmax(0,1fr))}.tcp-metrics>div,.tcp-ack-panel>div{background:var(--tcp-panel);border:1px solid var(--tcp-line);border-radius:.4rem;gap:.35rem;min-width:0;padding:.8rem;display:grid}.tcp-metrics span,.tcp-ack-panel span{color:var(--tcp-muted);text-transform:uppercase;font-size:.66rem}.tcp-metrics strong,.tcp-ack-panel strong{color:var(--tcp-green);overflow-wrap:anywhere;font-size:.84rem}.tcp-ack-panel small{color:var(--tcp-muted);font-size:.65rem;line-height:1.4}.tcp-chart{border:1px solid var(--tcp-line);background:#071019;grid-template-columns:repeat(12,minmax(2rem,1fr));align-items:end;gap:.35rem;height:16rem;margin-top:1rem;padding:2rem .75rem .75rem;display:grid;overflow-x:auto}.tcp-chart-column{grid-template-rows:1fr auto auto;align-items:center;min-width:2rem;height:100%;display:grid}.tcp-chart-column span{background:var(--tcp-blue);border-radius:.2rem .2rem 0 0;align-self:end;width:100%;min-height:.4rem;display:block}.tcp-chart-column strong{color:#e2e8f0;text-align:center;font-size:.65rem}.tcp-chart-column small{color:var(--tcp-muted);text-align:center;font-size:.58rem}.tcp-chart-loss span{background:var(--tcp-red)}.tcp-legend{flex-wrap:wrap;gap:1rem;margin-top:.75rem;display:flex}.tcp-legend span{color:var(--tcp-muted);align-items:center;gap:.4rem;font-size:.68rem;display:flex}.tcp-legend i{border-radius:50%;width:.7rem;height:.7rem}.tcp-dot-blue{background:var(--tcp-blue)}.tcp-dot-red{background:var(--tcp-red)}.tcp-rtt-track{border:1px solid var(--tcp-line);background:#071019;grid-template-columns:repeat(5,1fr);align-items:end;gap:1rem;height:12rem;margin-top:1rem;padding:1rem;display:grid}.tcp-rtt-track div{grid-template-rows:1fr auto auto;align-items:center;height:100%;display:grid}.tcp-rtt-track span{background:var(--tcp-green);border-radius:.25rem .25rem 0 0;place-self:end center;width:min(3rem,75%);max-height:7rem;display:block}.tcp-rtt-track strong{color:#f8fafc;text-align:center;font-size:.72rem}.tcp-rtt-track small{color:var(--tcp-muted);text-align:center;font-size:.62rem}.tcp-timer{grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;margin-top:1rem;display:grid}.tcp-timer span,.tcp-timer strong{color:var(--tcp-muted);font-size:.68rem}.tcp-timer>div{background:#293544;border-radius:999px;height:.75rem;overflow:hidden}.tcp-timer i{background:var(--tcp-amber);height:100%;display:block}.tcp-packet-picker{grid-template-columns:repeat(6,1fr);gap:.5rem;margin-top:1.2rem;display:grid}.tcp-packet-picker button{border:1px solid var(--tcp-blue);color:#e0f2fe;cursor:pointer;font:inherit;background:#15304a;border-radius:.35rem;place-items:center;gap:.15rem;min-height:3.4rem;font-size:1rem;display:grid}.tcp-packet-picker button span{font-size:.55rem}.tcp-packet-picker button.is-lost{border-color:var(--tcp-red);color:#fecdd3;background:#411824;text-decoration:line-through}.tcp-toggle{color:#cbd5e1;align-items:center;gap:.6rem;margin-top:1rem;font-size:.74rem;display:flex}.tcp-toggle input{accent-color:var(--tcp-amber);width:1rem;height:1rem}.tcp-sequence-lanes{border:1px solid var(--tcp-line);text-align:center;background:#071019;margin-top:1rem;padding:1rem;overflow-x:auto}.tcp-sequence-lanes>div{grid-template-columns:6rem repeat(6,minmax(2.8rem,1fr));align-items:center;gap:.35rem;min-width:34rem;display:grid}.tcp-sequence-lanes>b{color:var(--tcp-muted);margin:.55rem 0;font-size:.65rem;display:block}.tcp-sequence-lanes strong{color:#cbd5e1;text-align:left;font-size:.7rem}.tcp-sequence-lanes span{border:1px solid var(--tcp-blue);color:#dbeafe;border-radius:.25rem;padding:.6rem .2rem;font-size:.68rem}.tcp-sequence-lanes .is-lost,.tcp-sequence-lanes .is-gap{border-color:var(--tcp-red);color:var(--tcp-red)}.tcp-sequence-lanes .is-received{border-color:var(--tcp-green);color:#a7f3d0;background:#34d39929}.tcp-ack-panel{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1rem}.tcp-option-row{flex-wrap:wrap;gap:1.5rem;display:flex}.tcp-path{grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:.65rem;margin-top:1.2rem;display:grid}.tcp-path>div{background:var(--tcp-panel);border:1px solid var(--tcp-line);text-align:center;border-radius:.4rem;place-content:center;gap:.35rem;min-height:5rem;padding:.8rem;display:grid}.tcp-path strong{color:#f8fafc;font-size:.78rem}.tcp-path span{color:var(--tcp-muted);font-size:.65rem}.tcp-path i{font-size:1.6rem;font-style:normal}.tcp-path i.is-open{color:var(--tcp-green)}.tcp-path i.is-blocked{color:var(--tcp-red)}.tcp-result{border:1px solid;border-radius:.4rem;padding:.85rem;font-size:.78rem!important}.tcp-result-good{border-color:var(--tcp-green);background:#34d3991f;color:#a7f3d0!important}.tcp-result-warn{border-color:var(--tcp-amber);background:#f59e0b1f;color:#fde68a!important}.tcp-result-bad{border-color:var(--tcp-red);background:#fb71851f;color:#fecdd3!important}.tcp-queue-scene{grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;margin-top:1rem;display:grid}.tcp-queue-in,.tcp-queue-out{text-align:center;display:grid}.tcp-queue-in strong{color:var(--tcp-red)}.tcp-queue-out strong{color:var(--tcp-green)}.tcp-queue-in span,.tcp-queue-out span{color:var(--tcp-muted);font-size:.65rem}.tcp-queue{background:#071019;border:2px solid #64748b;grid-template-columns:repeat(20,minmax(.4rem,1fr));gap:.2rem;min-height:5rem;padding:.7rem;display:grid;position:relative}.tcp-queue i{background:#1e293b;align-self:center;height:2rem}.tcp-queue i.is-filled{background:var(--tcp-amber)}.tcp-queue span{color:#cbd5e1;text-align:center;width:100%;font-size:.6rem;position:absolute;bottom:.15rem;left:0}.tcp-lab-final{border-color:#f59e0b8c}.tcp-engine{grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;margin-top:1.2rem}.tcp-engine-node{border:1px solid var(--tcp-blue);background:#11263a;border-radius:.45rem;gap:.35rem;min-height:9rem;padding:.8rem;display:grid}.tcp-engine-node strong{color:#e0f2fe}.tcp-engine-node>span{color:var(--tcp-muted);min-height:2rem;font-size:.62rem}.tcp-engine-node>div{flex-wrap:wrap;align-content:end;gap:.25rem;display:flex}.tcp-engine-node i{background:var(--tcp-blue);border-radius:.15rem;width:1.25rem;height:1.25rem}.tcp-engine-router{border-color:var(--tcp-amber);background:#35250d}.tcp-engine-router i{background:var(--tcp-amber)}.tcp-engine-receiver{border-color:var(--tcp-green);background:#0d3026}.tcp-engine-receiver i{background:var(--tcp-green)}.tcp-engine-link{color:var(--tcp-muted);justify-items:center;gap:.3rem;font-size:.58rem;display:grid}.tcp-engine-link b{color:#e2e8f0;font-size:1.5rem}.tcp-step-copy{background:var(--tcp-panel);border:1px solid var(--tcp-line);border-radius:.4rem;gap:.35rem;margin-top:1rem;padding:.9rem;display:grid}.tcp-step-copy span{color:var(--tcp-amber);text-transform:uppercase;font-size:.65rem}.tcp-step-copy strong{color:#f8fafc}.tcp-step-copy p{color:var(--tcp-muted);margin:0;font-size:.76rem}.tcp-step-actions{justify-content:flex-end;gap:.6rem;margin-top:.8rem;display:flex}.tcp-step-actions button{background:var(--tcp-panel-2);border:1px solid var(--tcp-line);color:#f8fafc;cursor:pointer;font:inherit;text-transform:uppercase;border-radius:.35rem;min-height:2.6rem;padding:.55rem .8rem;font-size:.72rem;font-weight:700}.tcp-step-actions button:last-child{background:var(--tcp-amber);border-color:var(--tcp-amber);color:#111827}.tcp-step-actions button:disabled{cursor:not-allowed;opacity:.4}.tcp-truth-table>div{border-top:1px solid #94a3b847;grid-template-columns:minmax(11rem,.7fr) 1.3fr;gap:.75rem;padding:.9rem 0;display:grid}.tcp-truth-table strong{color:#fde68a}.tcp-truth-table span{color:#b8c5d5;font-size:.86rem;line-height:1.6}@media (max-width:760px){.tcp-principles,.tcp-controls-four,.tcp-controls-two,.tcp-metrics,.tcp-metrics-three,.tcp-ack-panel{grid-template-columns:1fr 1fr}.tcp-packet-stack div:nth-child(n){max-width:100%}.tcp-path,.tcp-engine{grid-template-columns:1fr}.tcp-path i,.tcp-engine-link b{transform:rotate(90deg)}.tcp-engine-link{min-height:2.5rem}.tcp-queue-scene{grid-template-columns:1fr}.tcp-queue{min-height:5.5rem}}@media (max-width:480px){.tcp-lab{padding:.85rem}.tcp-article>.research-link{margin-top:1.2rem}.tcp-principles,.tcp-controls-four,.tcp-controls-two,.tcp-metrics,.tcp-metrics-three,.tcp-ack-panel{grid-template-columns:1fr}.tcp-route-map{grid-template-columns:repeat(11,max-content)}.tcp-packet-picker{grid-template-columns:repeat(3,1fr)}.tcp-rtt-track{gap:.4rem}.tcp-timer,.tcp-truth-table>div{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.tcp-pipe-fill{transition:none}}
