:root{--bg: #f4f6f4;--panel: #ffffff;--sunken: #eaeeec;--line: #d7dedb;--line2: #b8c4bf;--ink: #16201e;--ink2: #43514d;--ink3: #5d6c67;--accent: #166050;--amber: #7a4f08;--red: #912d16;--radius: 9px;color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme]){--bg: #1e2426;--panel: #27302f;--sunken: #1a2022;--line: #313b3a;--line2: #45514f;--ink: #e6edeb;--ink2: #b3c0bd;--ink3: #93a19d;--accent: #63c8a9;--amber: #e0ad4c;--red: #ea7f68;color-scheme:dark}}:root[data-theme=light]{color-scheme:light}:root[data-theme=paper]{--bg: #f7f4ee;--panel: #fffdf8;--sunken: #efe9df;--line: #ded5c7;--line2: #c3b7a4;--ink: #241f18;--ink2: #514639;--ink3: #6b5f4f;--accent: #7c4a1e;--amber: #7a5308;--red: #912d16;color-scheme:light}:root[data-theme=slate]{--bg: #1e2426;--panel: #27302f;--sunken: #1a2022;--line: #313b3a;--line2: #45514f;--ink: #e6edeb;--ink2: #b3c0bd;--ink3: #93a19d;--accent: #63c8a9;--amber: #e0ad4c;--red: #ea7f68;color-scheme:dark}:root[data-theme=midnight]{--bg: #0e1414;--panel: #151d1d;--sunken: #111818;--line: #253232;--line2: #344544;--ink: #e4ecea;--ink2: #a7b8b4;--ink3: #8b9c98;--accent: #4fc3a1;--amber: #d9a441;--red: #e0705a;color-scheme:dark}:root[data-theme=ember]{--bg: #1b1715;--panel: #241f1c;--sunken: #171310;--line: #332b26;--line2: #4d403a;--ink: #ece5e0;--ink2: #bdaea5;--ink3: #9c8d84;--accent: #e0975c;--amber: #d9a441;--red: #e8836a;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:IBM Plex Sans,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}.app{max-width:1120px;margin:0 auto;padding:26px 22px 64px}.top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px}.brand .dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent)}h1{font-size:17px;font-weight:600;letter-spacing:-.01em;margin:0}.topright{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.scene-pick{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ink2)}select,.play,.themebtn{background:var(--sunken);color:var(--ink);border:1px solid var(--line2);border-radius:7px;padding:7px 11px;font:inherit;font-size:13.5px;cursor:pointer}select:focus-visible,.play:focus-visible,.tick:focus-visible,.themebtn:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.play{font-weight:600;min-width:104px}.play:disabled{opacity:.45;cursor:not-allowed}.themebtn{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;white-space:nowrap}.themebtn svg{width:15px;height:15px;display:block}.summary{color:var(--ink2);margin:16px 0 20px;max-width:78ch}.stage{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px 10px}.stage-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:12px}.vtag{display:inline-block;font-family:ui-monospace,IBM Plex Mono,monospace;font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--accent);border:1px solid var(--accent);border-radius:4px;padding:1px 6px;margin-right:9px}.metrics{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--ink2)}.metrics em{font-style:normal;color:var(--ink3);text-transform:uppercase;letter-spacing:.07em;font-size:10.5px;margin-right:5px}.metrics span{font-variant-numeric:tabular-nums}.banner{border-radius:6px;padding:9px 13px;margin-bottom:12px;font-size:13.5px;border:1px solid}.banner.outage{background:color-mix(in srgb,var(--red) 10%,transparent);border-color:var(--red);color:var(--red)}.canvas{width:100%;height:auto;display:block}.node-shape{fill:var(--sunken);stroke:var(--line2);stroke-width:1.6}.node-label{fill:var(--ink);font-size:12.5px;font-weight:500}.node-note{fill:var(--ink3);font-size:10px}.node-tag{fill:var(--ink3);font-size:9px;font-weight:700;letter-spacing:.1em;font-family:ui-monospace,monospace}.node-tag.warn{fill:var(--amber)}.node-down .node-shape{stroke:var(--red);stroke-dasharray:4 4;opacity:.5}.node-down .node-label,.node-down .node-note{opacity:.4}.node-down .node-tag{fill:var(--red)}.node-bottleneck .node-shape{stroke:var(--amber);stroke-width:2.2}.edge{fill:none;stroke:var(--line2);stroke-width:1.6}.edge-async{stroke-dasharray:6 5}.edge-replication{stroke-dasharray:2 4;stroke-width:2.6;opacity:.8}.edge-dead{stroke:var(--red);opacity:.3}.edge-lit{stroke:var(--accent);stroke-width:2.6}.edge-label{fill:var(--ink3);font-size:10px}.arrowhead{fill:var(--line2)}.arrowhead.async{fill:var(--line2);opacity:.8}.packet-halo{fill:var(--accent);opacity:.2}.packet-core{fill:var(--accent)}.why{margin:22px 0 4px}.why h2{font-size:11px;text-transform:uppercase;letter-spacing:.11em;color:var(--ink3);font-weight:600;margin:0 0 8px}.trigger{font-size:16.5px;line-height:1.5;margin:0 0 10px;max-width:74ch;border-left:2px solid var(--accent);padding-left:14px}.note{color:var(--ink2);max-width:76ch;margin:0;font-size:14.5px}.controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:14px;margin-top:26px}.ctl{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px 16px}.ctl h3{font-size:11px;text-transform:uppercase;letter-spacing:.11em;color:var(--ink3);font-weight:600;margin:0 0 12px}.row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.row select{flex:1 1 130px}input[type=range]{width:100%;accent-color:var(--accent);margin:0 0 9px}.ticks{display:flex;gap:5px;flex-wrap:wrap}.tick{background:var(--sunken);color:var(--ink3);border:1px solid var(--line);border-radius:5px;font:inherit;font-size:11.5px;font-weight:600;padding:3px 8px;cursor:pointer;font-family:ui-monospace,monospace}.tick.on{color:var(--panel);background:var(--accent);border-color:var(--accent)}.hint{color:var(--ink3);font-size:13px;margin:10px 0 0}.toggles{display:flex;flex-direction:column;gap:7px}.tog{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--ink2);cursor:pointer}.tog input{accent-color:var(--red);cursor:pointer}.tog.on{color:var(--red)}.effect{font-size:13px;color:var(--ink2);margin:11px 0 0;border-left:2px solid var(--amber);padding-left:11px}.effect strong{color:var(--amber)}.effect.fatal{border-color:var(--red)}.effect.fatal strong{color:var(--red)}footer{margin-top:34px;padding-top:18px;border-top:1px solid var(--line);color:var(--ink3);font-size:13px}footer p{margin:0;max-width:82ch}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.vwhy{flex:1 1 380px;min-width:0}.vwhy strong{font-size:14.5px}.vwhy .trigger{font-size:14.5px;line-height:1.5;margin:8px 0 0;max-width:68ch;border-left:2px solid var(--accent);padding-left:12px;color:var(--ink2)}.readout{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.lat{display:flex;align-items:baseline;gap:8px;font-variant-numeric:tabular-nums}.lat em{font-style:normal;color:var(--ink3);text-transform:uppercase;letter-spacing:.07em;font-size:10.5px}.lat strong{font-size:26px;font-weight:600;color:var(--accent);font-family:ui-monospace,IBM Plex Mono,monospace;line-height:1}.lat strong span{font-size:13px;margin-left:2px;color:var(--ink3)}.lat.failed strong{color:var(--red)}.simnote{color:var(--ink3);font-size:12.5px;margin:10px 0 4px;max-width:76ch}.simnote em{color:var(--ink2);font-style:normal;font-weight:600}.note{color:var(--ink2);max-width:78ch;margin:18px 0 0;font-size:14.5px}.speeds{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:9px}.speeds .total{margin-left:auto;font-size:12px;color:var(--ink3);font-family:ui-monospace,monospace;font-variant-numeric:tabular-nums}.node-active .node-shape{stroke:var(--accent);stroke-width:2.6}.node-active .node-label{fill:var(--accent)}.packet.failed .packet-halo{fill:var(--red);opacity:.28}.packet.failed .packet-core{fill:var(--red)}.packet-x{stroke:var(--panel);stroke-width:2;stroke-linecap:round}.viewnav{display:flex;gap:5px}.viewnav .tick{padding:5px 12px;font-size:12.5px;font-family:inherit}.scrub{margin-top:10px}.patterns{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:18px;margin-top:20px;align-items:start}@media (max-width: 760px){.patterns{grid-template-columns:1fr}}.pat-side{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px;position:sticky;top:12px;max-height:calc(100vh - 40px);display:flex;flex-direction:column;gap:10px}.pat-search{width:100%;background:var(--sunken);color:var(--ink);border:1px solid var(--line2);border-radius:7px;padding:8px 10px;font:inherit;font-size:13.5px}.pat-fams{display:flex;flex-wrap:wrap;gap:4px}.pat-fams .tick{font-family:inherit;font-size:11px;padding:3px 7px}.pat-fams .tick span{opacity:.6;margin-left:4px}.pat-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}.pat-list li{margin:0}.pat-item{display:block;width:100%;text-align:left;background:none;border:0;border-radius:6px;padding:6px 9px;cursor:pointer;color:var(--ink2);font:inherit;font-size:13.5px}.pat-item:hover{background:var(--sunken)}.pat-item.on{background:var(--sunken);color:var(--ink)}.pat-item strong{font-weight:500}.pat-item.on strong{font-weight:600}.pat-item em{display:block;font-style:normal;font-size:11px;color:var(--ink3);margin-top:1px}.pat-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.pat-detail{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px 26px 26px;min-width:0}.pat-detail h2{margin:0 0 8px;font-size:22px;letter-spacing:-.01em}.pat-what{font-size:16px;color:var(--ink);margin:0 0 18px;max-width:70ch}.pat-bridge{border:1px solid var(--accent);border-radius:8px;padding:13px 16px;margin:0 0 20px;background:color-mix(in srgb,var(--accent) 7%,transparent)}.pat-bridge-h{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-weight:600;margin-bottom:4px}.pat-bridge strong{font-size:15px}.pat-bridge p{margin:6px 0 0;color:var(--ink2);font-size:14px;max-width:68ch}.pat-fields{display:grid;grid-template-columns:130px 1fr;gap:6px 16px;margin:0 0 18px}.pat-fields dt{font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--ink3);font-weight:600;padding-top:3px}.pat-fields dd{margin:0;color:var(--ink2);font-size:14.5px}@media (max-width: 560px){.pat-fields{grid-template-columns:1fr;gap:2px 0}.pat-fields dd{margin-bottom:10px}}.pat-tradeoff{border-left:2px solid var(--amber);padding-left:13px;font-size:15px;margin:0 0 20px;max-width:70ch;font-style:italic;color:var(--ink)}.pat-tradeoff span{display:block;font-style:normal;font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--amber);font-weight:600;margin-bottom:3px}.pat-top1{border-top:1px solid var(--line);padding-top:16px}.pat-top1-h{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink3);font-weight:600;margin-bottom:6px}.pat-top1 p{margin:0;font-size:15px;line-height:1.62;max-width:72ch}.predict{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px 28px 26px;margin-top:20px;max-width:780px}.pq-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.pq-kind{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-weight:600;border:1px solid var(--accent);border-radius:4px;padding:2px 7px}.pq-count{font-family:ui-monospace,monospace;font-size:12px;color:var(--ink3);font-variant-numeric:tabular-nums}.pq-prompt{font-size:19px;line-height:1.45;margin:0 0 18px;letter-spacing:-.008em;text-wrap:balance}.pq-options{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:8px}.pq-opt{display:flex;align-items:flex-start;gap:11px;width:100%;text-align:left;background:var(--sunken);color:var(--ink2);border:1px solid var(--line);border-radius:8px;padding:11px 14px;font:inherit;font-size:14.5px;line-height:1.5;cursor:pointer}.pq-opt:hover:not(:disabled){border-color:var(--line2);color:var(--ink)}.pq-opt:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pq-opt:disabled{cursor:default}.pq-mark{font-family:ui-monospace,monospace;font-size:13px;line-height:1.6;flex:0 0 auto;color:var(--ink3)}.pq-opt.picked{border-color:var(--accent);color:var(--ink)}.pq-opt.picked .pq-mark{color:var(--accent)}.pq-opt.right{border-color:var(--accent);color:var(--ink);background:color-mix(in srgb,var(--accent) 10%,var(--sunken))}.pq-opt.right .pq-mark{color:var(--accent)}.pq-opt.wrong{border-color:var(--red)}.pq-opt.wrong .pq-mark{color:var(--red)}.pq-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.pq-actions .hint{margin:0}.pq-result{border-left:3px solid var(--accent);padding:2px 0 2px 16px;margin-top:4px}.pq-result.wrong{border-color:var(--red)}.pq-result strong{display:block;font-size:16px;margin-bottom:6px;color:var(--accent)}.pq-result.wrong strong{color:var(--red)}.pq-result p{margin:0 0 8px;color:var(--ink2);font-size:14.5px;max-width:68ch}.pq-was em{font-style:normal;font-weight:600;color:var(--ink)}.starbtn{display:inline-flex;align-items:center;gap:7px;background:var(--sunken);color:var(--ink);border:1px solid var(--line2);border-radius:7px;padding:7px 11px;font-size:13.5px;font-weight:500;text-decoration:none;white-space:nowrap}.starbtn:hover{border-color:var(--accent);color:var(--accent)}.starbtn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.starbtn svg{width:14px;height:14px;fill:currentColor;display:block}.starcount{font-family:ui-monospace,IBM Plex Mono,monospace;font-size:12px;font-variant-numeric:tabular-nums;color:var(--ink3);border-left:1px solid var(--line2);padding-left:7px;margin-left:1px}.starbtn:hover .starcount{color:var(--accent);border-color:var(--accent)}.edge-label-bg{fill:var(--panel)}.canvas-scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;margin:0 -4px;padding:0 4px}.canvas-scroll .canvas{min-width:620px}@media (max-width: 900px){.app{padding:18px 16px 48px}.stage{padding:14px 14px 8px}.stage-head{flex-direction:column;align-items:flex-start;gap:12px}.readout{align-items:flex-start}.vwhy{flex:1 1 auto}.predict{padding:20px 18px 22px}}@media (max-width: 680px){.top{flex-direction:column;align-items:stretch;gap:12px}.brand{justify-content:flex-start}.viewnav{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.viewnav::-webkit-scrollbar{display:none}.viewnav .tick{flex:0 0 auto}.topright{justify-content:space-between}.scene-pick{flex:1 1 auto}.scene-pick select{flex:1 1 auto;min-width:0}.pq-prompt{font-size:17px}.vwhy .trigger{font-size:14px}.lat strong{font-size:22px}.metrics{gap:12px;font-size:12.5px}.controls{gap:12px}.ctl{padding:12px 13px 14px}.pat-side{position:static;max-height:none}.pat-list{max-height:260px}.pat-detail{padding:18px 16px 20px}.pat-detail h2{font-size:19px}}@media (max-width: 420px){.app{padding:14px 12px 40px}h1{font-size:15.5px}.play{min-width:0;flex:1 1 auto}.row{gap:7px}.speeds{gap:4px}.speeds .total{margin-left:0;width:100%}.starbtn span:not(.starcount){display:none}}.bridge-svg{width:100%;height:auto;max-width:470px;display:block;margin:0 0 12px}.bridge-box{fill:var(--sunken);stroke:var(--line2);stroke-width:1.4}.bridge-box.to{stroke:var(--accent)}.bridge-txt{fill:var(--ink);font-size:13px;font-weight:500}.bridge-txt.to{fill:var(--accent)}.bridge-cap{fill:var(--ink3);font-size:8.5px;font-weight:600;letter-spacing:.1em;font-family:ui-monospace,monospace}.bridge-cap.to{fill:var(--accent)}.bridge-cap.mid{letter-spacing:.04em;font-size:8px}.bridge-arrow{stroke:var(--line2);stroke-width:1.4}.bridge-tip{fill:var(--line2)}.iv-levels{display:flex;gap:4px}.iv-levels .tick{flex:1 1 auto;font-family:inherit;font-size:11px;padding:4px 6px}.pat-item .lv{display:inline-block;font-style:normal;font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;font-family:ui-monospace,monospace;margin-top:3px}.lv-basic{color:var(--accent)}.lv-intermediate{color:var(--amber)}.lv-advanced{color:var(--red)}.iv-lv{display:inline-block;margin-bottom:6px;font-size:10px;letter-spacing:.11em;text-transform:uppercase;font-weight:600;font-family:ui-monospace,monospace;border:1px solid currentColor;border-radius:4px;padding:2px 7px}.iv .pat-detail h2{font-size:19px;line-height:1.4;margin-bottom:14px}.iv-asking{border-left:2px solid var(--accent);padding-left:13px;margin:0 0 18px}.iv-asking span{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-weight:600;margin-bottom:4px}.iv-asking p{margin:0;font-size:15px;color:var(--ink);max-width:70ch}.iv-h{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink3);font-weight:600;margin-bottom:6px}.iv-answer{margin:18px 0}.iv-answer p{margin:0;font-size:15px;line-height:1.62;max-width:72ch;color:var(--ink2)}.iv-flags{margin:0 0 18px}.iv-flags ul{margin:0;padding-left:20px}.iv-flags li{color:var(--red);font-size:14px;margin-bottom:4px}.iv-followups{border-top:1px solid var(--line);padding-top:16px;margin-bottom:16px}.iv-fu{border-left:2px solid var(--line2);padding-left:13px;margin:0 0 14px}.iv-fu strong{display:block;font-size:15px;margin-bottom:4px}.iv-fu p{margin:0;color:var(--ink2);font-size:14.5px;max-width:70ch}.iv-count{grid-column:1 / -1;color:var(--ink3);font-size:12.5px;margin:4px 0 0}.themer{position:relative}.themer-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:40;background:var(--panel);border:1px solid var(--line2);border-radius:9px;padding:5px;min-width:208px;box-shadow:0 8px 26px #00000038;display:flex;flex-direction:column;gap:1px}.themer-item{display:grid;grid-template-columns:16px 1fr auto;align-items:center;gap:9px;background:none;border:0;border-radius:6px;padding:7px 9px;cursor:pointer;text-align:left;font:inherit;font-size:13.5px;color:var(--ink2)}.themer-item:hover{background:var(--sunken);color:var(--ink)}.themer-item.on{background:var(--sunken);color:var(--ink);font-weight:600}.themer-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.themer-hint{font-size:11px;color:var(--ink3);font-weight:400}.swatch{width:16px;height:16px;border-radius:50%;border:1px solid var(--line2);display:block}.sw-system{background:linear-gradient(135deg,#f4f6f4 0,#f4f6f4 50%,#1e2426 50%,#1e2426)}.sw-light{background:linear-gradient(135deg,#f4f6f4 0,#f4f6f4 60%,#166050 60%,#166050)}.sw-paper{background:linear-gradient(135deg,#f7f4ee 0,#f7f4ee 60%,#7c4a1e 60%,#7c4a1e)}.sw-slate{background:linear-gradient(135deg,#1e2426 0,#1e2426 60%,#63c8a9 60%,#63c8a9)}.sw-midnight{background:linear-gradient(135deg,#0e1414 0,#0e1414 60%,#4fc3a1 60%,#4fc3a1)}.sw-ember{background:linear-gradient(135deg,#1b1715 0,#1b1715 60%,#e0975c 60%,#e0975c)}@media (max-width: 420px){.themebtn span{display:none}.themer-menu{right:auto;left:0}}.pat-case{border:1px solid var(--line2);border-radius:8px;padding:12px 15px;margin:0 0 20px;background:var(--sunken)}.pat-case-h{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink3);font-weight:600;margin-bottom:5px}.pat-case p{margin:0;font-size:14.5px;color:var(--ink2);max-width:68ch}.pat-diagram{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:14px;margin:0 0 20px;overflow-x:auto}.mmd svg{max-width:100%;height:auto;display:block;margin:0 auto}.mmd-fallback{background:var(--sunken);border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin:0 0 20px;overflow-x:auto;font-family:ui-monospace,IBM Plex Mono,monospace;font-size:12px;color:var(--ink3);line-height:1.5}.cs-scale{font-family:ui-monospace,IBM Plex Mono,monospace;font-size:12.5px;color:var(--ink3);margin:0 0 18px}.cs-block{margin:0 0 20px}.cs-block p{margin:0;font-size:15px;line-height:1.62;color:var(--ink2);max-width:72ch}.cs-list{margin:0;padding-left:20px}.cs-list li{color:var(--ink2);font-size:14.5px;margin-bottom:4px}.cs-warn{border:1px solid var(--amber);border-radius:8px;background:color-mix(in srgb,var(--amber) 8%,transparent);padding:13px 16px;margin:0 0 22px}.cs-warn .iv-h{color:var(--amber)}.cs-warn p{margin:0;font-size:14.5px;color:var(--ink);max-width:70ch}.cs-decisions{display:flex;flex-direction:column;gap:12px}.cs-dec{border-left:2px solid var(--line2);padding-left:13px}.cs-dec strong{display:block;font-size:15px;margin-bottom:4px}.cs-dec p{margin:0 0 3px;font-size:14px;color:var(--ink2);max-width:70ch}.cs-dec em{font-style:normal;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--ink3);font-weight:600;margin-right:7px}.cs-cost em{color:var(--amber)}.cs-source{margin:22px 0 8px;font-size:14px}.cs-source a{color:var(--accent)}.studio{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px 26px 24px;margin-top:20px;max-width:860px}.st-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.st-brief{border-left:3px solid var(--accent);padding-left:16px;margin:0 0 22px}.st-brief p{margin:0 0 7px;font-size:15px;color:var(--ink2);max-width:74ch}.st-brief strong{color:var(--ink)}.st-symptom{font-size:16px!important;color:var(--ink)!important}.st-traffic{font-family:ui-monospace,IBM Plex Mono,monospace;font-size:14px!important}.st-palette{margin:0 0 18px}.st-opts{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.st-opt{display:flex;align-items:baseline;gap:8px;background:var(--sunken);color:var(--ink2);border:1px solid var(--line);border-radius:8px;padding:9px 13px;font:inherit;font-size:14px;cursor:pointer}.st-opt:hover:not(:disabled){border-color:var(--line2);color:var(--ink)}.st-opt:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.st-opt:disabled{cursor:default}.st-opt em{font-style:normal;font-size:11px;color:var(--ink3)}.st-mark{font-family:ui-monospace,monospace;font-size:12px;color:var(--ink3)}.st-opt.picked{border-color:var(--accent);color:var(--ink)}.st-opt.picked .st-mark{color:var(--accent)}.st-opt.right{border-color:var(--accent);color:var(--ink);background:color-mix(in srgb,var(--accent) 10%,var(--sunken))}.st-opt.right .st-mark{color:var(--accent)}.st-opt.wrong{border-color:var(--red)}.st-opt.wrong .st-mark{color:var(--red)}.st-opt.missedopt{border-color:var(--accent);border-style:dashed}.st-result{border-top:1px solid var(--line);padding-top:16px;margin-top:6px}.st-result>strong{display:block;font-size:17px;margin-bottom:4px;color:var(--red)}.st-result.good>strong{color:var(--accent)}.st-result>p{margin:0 0 16px;color:var(--ink2);font-size:14.5px;max-width:72ch}.st-fb{margin:0 0 16px}.st-fb ul{margin:0;padding-left:20px}.st-fb li{font-size:14.5px;color:var(--ink2);margin-bottom:6px;max-width:72ch}.st-fb p{margin:0;font-size:14.5px;color:var(--ink2);max-width:72ch}.st-fb.over .iv-h{color:var(--amber)}.pq-headright{display:flex;align-items:center;gap:10px}.pq-headright .tick{font-family:inherit;font-size:11px;padding:3px 8px}.st-decide{border-top:1px solid var(--line);padding-top:18px}.st-dhead{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.st-rev{display:flex;flex-direction:column;gap:3px;border-left:3px solid var(--line2);background:var(--sunken);border-radius:0 var(--radius) var(--radius) 0;padding:10px 14px;margin:0 0 18px;max-width:72ch}.st-rev strong{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink3)}.st-rev span{font-size:14px;color:var(--ink2)}.st-rev.cheap{border-left-color:var(--accent)}.st-rev.cheap strong{color:var(--accent)}.st-rev.costly{border-left-color:var(--amber)}.st-rev.costly strong{color:var(--amber)}.st-rev.one-way{border-left-color:var(--red);background:color-mix(in srgb,var(--red) 7%,var(--sunken))}.st-rev.one-way strong{color:var(--red)}.pq-opt.maybe{border-color:var(--amber)}.pq-opt.maybe .pq-mark{color:var(--amber)}.st-decide .st-result>strong{color:var(--red)}.st-decide .st-result.good>strong{color:var(--accent)}.st-again{font-style:normal;font-size:11px;letter-spacing:.04em;color:var(--amber);margin-right:10px}.pal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:color-mix(in srgb,#000 55%,transparent);display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 16px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.pal{width:min(680px,100%);max-height:70vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line2);border-radius:var(--radius);box-shadow:0 24px 60px color-mix(in srgb,#000 45%,transparent);overflow:hidden}.pal-input{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}.pal-input>span{color:var(--ink3);font-size:16px}.pal-input input{flex:1;background:none;border:0;outline:none;color:var(--ink);font:inherit;font-size:15px}.pal-input input::placeholder{color:var(--ink3)}.pal-list{list-style:none;margin:0;padding:6px;overflow-y:auto;flex:1}.pal-group{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);padding:10px 10px 4px}.pal-item{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;padding:8px 10px;border:0;border-radius:6px;background:none;color:var(--ink2);cursor:pointer;font:inherit}.pal-item.on{background:var(--sunken);color:var(--ink)}.pal-item.on .pal-title{color:var(--accent)}.pal-title{font-size:14px}.pal-sub{font-size:12px;color:var(--ink3);line-height:1.4}.pal-empty{padding:24px 12px;color:var(--ink3);font-size:14px;text-align:center}.pal-foot{display:flex;align-items:center;gap:16px;padding:9px 14px;border-top:1px solid var(--line);font-size:11px;color:var(--ink3)}.pal-count{margin-left:auto;font-family:ui-monospace,monospace}.pal kbd,.pal-open kbd{font-family:ui-monospace,monospace;font-size:10px;border:1px solid var(--line2);border-radius:4px;padding:1px 5px;margin-left:2px;color:var(--ink3)}.pal-open{display:inline-flex;align-items:center;gap:6px}.bench{margin-top:22px}.bn-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.bn-title{font-size:20px;margin:4px 0 0;line-height:1.25}.bn-lede{color:var(--ink2);font-size:15px;max-width:74ch;margin:12px 0 20px}.bn-grid{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:22px}@media (max-width: 860px){.bn-grid{grid-template-columns:1fr}}.bn-ctl{display:block;margin-bottom:14px}.bn-ctl>span{display:block;font-size:13px;color:var(--ink2);margin-bottom:5px}.bn-ctl>span strong{color:var(--ink);font-family:ui-monospace,monospace}.bn-ctl input[type=range]{width:100%}.bn-mode{margin:18px 0}.bn-mode .speeds{margin-top:7px}.bn-readout{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 0;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--sunken)}.bn-readout div{margin:0}.bn-readout dt{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}.bn-readout dd{margin:2px 0 0;font-family:ui-monospace,monospace;font-size:19px;color:var(--ink)}.bn-readout dd.warn{color:var(--amber)}.bn-readout dd.danger,.bn-readout dd.over{color:var(--red)}.bn-readout dd.ok{color:var(--accent)}.bn-charts{display:flex;flex-direction:column;gap:16px}.bn-chart{display:flex;flex-direction:column;gap:6px}.bn-canvas{width:100%;display:block;border:1px solid var(--line);border-radius:var(--radius);background:var(--sunken)}.bn-canvas.depth{height:140px}.bn-canvas.curve{height:170px}.bn-verdict{margin:22px 0;padding:14px 16px;border-left:3px solid var(--line2);border-radius:0 var(--radius) var(--radius) 0;background:var(--sunken)}.bn-verdict strong{display:block;font-size:15px;margin-bottom:5px}.bn-verdict p{margin:0;color:var(--ink2);font-size:14.5px;max-width:74ch}.bn-verdict.ok{border-left-color:var(--accent)}.bn-verdict.ok strong{color:var(--accent)}.bn-verdict.warn{border-left-color:var(--amber)}.bn-verdict.warn strong{color:var(--amber)}.bn-verdict.danger,.bn-verdict.over{border-left-color:var(--red);background:color-mix(in srgb,var(--red) 7%,var(--sunken))}.bn-verdict.danger strong,.bn-verdict.over strong{color:var(--red)}.bn-table{border-collapse:collapse;margin:8px 0 10px;font-size:14px}.bn-table th,.bn-table td{text-align:left;padding:6px 20px 6px 0}.bn-table thead th{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}.bn-table tbody th{font-weight:600;color:var(--ink3);font-size:12px}.bn-table td{font-family:ui-monospace,monospace;color:var(--ink)}.bn-table td.hot{color:var(--red)}.bn-table td.dim,.bn-table .dim{color:var(--ink3)}.bn-note{margin:22px 0;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius)}.bn-note p{margin:0 0 9px;color:var(--ink2);font-size:14.5px;max-width:74ch}.bn-note p:last-child{margin-bottom:0}.sd{margin:0 0 20px}.sd-title,.sd-caption{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink3)}.sd-title{margin-bottom:7px}.sd-caption{margin-top:7px;text-transform:none;letter-spacing:0;font-size:12.5px}.sd-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--sunken);padding:8px}.sd-compact .sd-scroll{padding:4px}.sd-compact .canvas{max-height:190px}.sd-empty{border:1px dashed var(--line2);border-radius:var(--radius);padding:18px;margin-bottom:20px}.sd-empty .hint{margin:0}.st-compare{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}@media (max-width: 820px){.st-compare{grid-template-columns:1fr}}.sd-added .node-shape{stroke:var(--accent);stroke-width:2.4}.sd-answer .node-shape{stroke:var(--accent);stroke-width:2.6}.sd-answer .node-label{fill:var(--accent);font-weight:600}.sd-missing .node-shape{stroke:var(--amber);stroke-width:2.4;stroke-dasharray:5 4}.sd-missing .node-label,.sd-missing .node-note{opacity:.55}.sd-extra .node-shape{stroke:var(--red);stroke-width:2;opacity:.65}.sd-extra .node-label,.sd-extra .node-note{opacity:.5}.sd-down .node-shape{stroke:var(--red);stroke-dasharray:4 4;opacity:.5}.sd-down .node-label,.sd-down .node-note{opacity:.4}.sd-tag-added,.sd-tag-answer{fill:var(--accent)}.sd-tag-missing{fill:var(--amber)}.sd-tag-extra,.sd-tag-down{fill:var(--red)}.edge-faint{opacity:.3}.iv-diagram{margin:0 0 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--sunken)}.iv-diagram>summary{cursor:pointer;padding:9px 13px;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink3);list-style:none}.iv-diagram>summary::-webkit-details-marker{display:none}.iv-diagram>summary:before{content:"▾ "}.iv-diagram:not([open])>summary:before{content:"▸ "}.iv-diagram>summary:hover{color:var(--ink)}.iv-diagram>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.iv-diagram .mmd{padding:4px 13px 14px;overflow-x:auto}.iv-diagram svg{max-width:100%;height:auto;display:block;margin:0 auto}
