.prose .chart-figure,.prose .diagram{overflow:visible}.chart-viewport,.diagram-viewport,.prose .mermaid{overscroll-behavior-x:contain;max-width:100%;overflow-x:auto}.chart-viewport>.echart{min-width:720px}.prose .mermaid{border-radius:0;margin:0;font-family:inherit}.mermaid svg{max-width:none;margin:auto;display:block}.prose .mermaid p{word-break:normal;margin:0}.visual-scroll-hint{margin-top:6px;display:none}[data-wide=true]>figcaption .visual-scroll-hint{display:block}.chart-viewport:focus-visible,.mermaid:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.diagram-viewport svg{width:var(--diagram-width);max-width:none;display:block}.diagram-viewport:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.explanation-lab{letter-spacing:normal;word-break:keep-all;overflow-wrap:anywhere;--lab-gap:20px;border-top:2px solid var(--accent);border-bottom:1px solid var(--line);--latency-0:#697cb3;--latency-1:#458bba;--latency-2:#b58a4e;--latency-3:#087f8b;margin:56px 0;padding:28px 0 32px;font-size:16px;line-height:1.7}.article-body>.explanation-lab{border-bottom:0;margin-bottom:0;padding-bottom:0}.explanation-lab>*{margin:0}.explanation-lab>*+*{margin-top:var(--lab-gap)}.explanation-lab>header+*{margin-top:24px}.explanation-lab>.latency-parts{margin-top:12px}.explanation-lab header .category-label{display:block}.explanation-lab h2{letter-spacing:-.015em;margin:8px 0;font-size:26px;line-height:1.4}.explanation-lab header p{margin:0}.explanation-lab header p,.lab-limit{color:var(--muted);font-size:14px}.lab-controls{flex-wrap:wrap;align-items:flex-end;gap:16px 24px;display:flex}.lab-controls label{flex:1;gap:8px;min-width:180px;font-size:14px;font-weight:600;display:grid}.lab-controls select{width:100%;min-width:0;height:44px;font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:6px;margin:0;padding:0 12px}.lab-controls input{accent-color:var(--accent)}.lab-controls .lab-checkbox{align-items:center;gap:10px;min-height:44px;display:flex}.lab-checkbox input{flex-shrink:0;width:18px;height:18px;margin:0}.lab-sliders{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px;display:grid}.lab-sliders label{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:6px 12px;min-width:0}.lab-sliders output{color:var(--accent);font-variant-numeric:tabular-nums}.lab-sliders input{grid-column:1/-1;width:100%;min-height:30px;margin:0}.explanation-lab button{min-height:44px;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:10px 14px;font-size:14px;line-height:1.5}.explanation-lab button:disabled{opacity:.5;cursor:default}.explanation-lab button:hover{border-color:var(--accent)}.lab-actions{flex-wrap:wrap;gap:8px;display:flex}.explanation-lab>.lab-actions+.lab-result{margin-top:12px}.lab-result{background:var(--surface);border-left:3px solid var(--accent);align-items:center;min-height:65px;padding:14px 18px;font-weight:600;line-height:1.75;display:flex}.file-ledger{gap:12px;display:grid}.file-ledger>div{grid-template-columns:80px 1fr;align-items:center;gap:12px;display:grid}.file-ledger strong{font-size:14px}.file-cells{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;display:grid}.file-cells span{text-align:center;border:1px solid var(--accent);color:var(--ink);background:var(--accent-soft);font-variant-numeric:tabular-nums;border-radius:4px;padding:8px 0}.file-cells .absent{border:1px dashed var(--muted);color:var(--muted);background:0 0;text-decoration:line-through}.lab-request{overflow-wrap:anywhere;background:var(--surface);border-radius:6px;padding:14px 16px;display:block}.request-stages{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;font-size:14px;list-style:none;display:grid}.request-stages li{border-top:1px solid var(--line);margin:0;padding-top:12px}.request-stages strong{color:var(--accent);margin-top:4px;display:block}.latency-track{background:var(--surface);border-radius:4px;gap:2px;height:28px;display:flex;overflow:hidden}.latency-track span{background:var(--part-color);flex-basis:0}.latency-parts{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;font-size:13px;display:grid}.latency-parts dd{font-variant-numeric:tabular-nums;margin:4px 0 0;font-weight:700}.explanation-lab select:focus-visible,.explanation-lab input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.lab-choices{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.lab-choices button{text-align:left;align-content:center;gap:2px;display:grid}.lab-choices button strong{font-weight:700}.lab-choices button span{color:var(--muted);font-size:13px}.lab-choices button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.lab-choices button:focus-visible,.lab-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.lab-panel{gap:8px;display:grid}.lab-panel>*{margin:0}.lab-panel h3{letter-spacing:normal;font-size:19px;line-height:1.45}.lab-example{color:var(--muted);font-size:14px}.cutover-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.cutover-side{border:1px solid var(--line);border-left:4px solid var(--line);border-radius:6px;gap:8px;padding:14px 16px;display:grid}.cutover-board[data-writer=source] [data-side=source],.cutover-board[data-writer=target] [data-side=target]{border-left-color:var(--accent);background:var(--accent-soft)}.cutover-side dl,.cutover-flow{gap:6px;margin:0;font-size:14px;display:grid}.cutover-side dl>div,.cutover-flow>div{grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:12px;display:grid}.cutover-side dt,.cutover-flow dt{color:var(--muted);font-weight:600}.cutover-side dd,.cutover-flow dd{margin:0}.cutover-flow{background:var(--surface);border-radius:6px;grid-column:1/-1;padding:12px 16px}.cutover-flow>div{grid-template-columns:96px minmax(0,1fr)}@media (width<=520px){.lab-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-steps,.cutover-board{grid-template-columns:1fr}.cutover-flow>div{grid-template-columns:1fr;gap:2px}.explanation-lab h2{font-size:23px}.file-ledger>div{grid-template-columns:1fr;gap:8px}.file-ledger>div+div{margin-top:4px}.file-cells{gap:5px}.request-stages{grid-template-columns:1fr;gap:0}.request-stages li{justify-content:space-between;gap:12px;padding:10px 0;display:flex}.request-stages li:last-child{border-bottom:1px solid var(--line)}.request-stages strong{margin:0}.lab-sliders{grid-template-columns:1fr;gap:20px}.latency-parts{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-actions button{flex-grow:1}}
