#bottleneck{--ink:#0b1f3a;--muted:#4a5a70;--line:#d7dee8;--bg:#f4f6f9;--blue:#1f5fbf;--teal:#0d7a6c;--amber:#a85400;--amber-t:#fdf3e7;--teal-t:#e6f4f1;--blue-t:#eaf1fb}
#bottleneck, #bottleneck *{box-sizing:border-box}
html.bot19-lock{overflow:hidden}
#bottleneck{margin:0;font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:#fff;overflow-wrap:break-word}
#bottleneck h2,#bottleneck h3,#bottleneck h4,#bottleneck p{margin:0}
#bottleneck h2,#bottleneck h3,#bottleneck h4{line-height:1.2}
#bottleneck ol,#bottleneck ul{margin:0;padding:0;list-style:none}
#bottleneck :focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:4px}
#bottleneck .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#bottleneck .wrap{max-width:1080px;margin:0 auto;padding:0 1rem}
#bottleneck .skip{position:absolute;left:-999px;top:0}
#bottleneck .skip:focus{left:1rem;top:1rem;z-index:20;background:#fff;padding:.5rem .75rem}
#bottleneck .top{background:#fff;border-bottom:1px solid var(--line)}
#bottleneck .top-in{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem 1rem;min-height:3.5rem;padding-top:.4rem;padding-bottom:.4rem}
#bottleneck .brand{font-weight:800;font-size:1.1rem}
#bottleneck .ctx{font-size:.8rem;font-weight:700;color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:.2rem .7rem}
#bottleneck.alt{background:var(--bg);padding:2.5rem 0 3rem}
#bottleneck .eyebrow{text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-size:.8rem;color:var(--teal);margin-bottom:.5rem}
#bottleneck h2{font-size:clamp(1.4rem,3.8vw,2rem)}
#bottleneck .lead{color:var(--muted);font-size:1.05rem;margin-top:.5rem}
#bottleneck .line{margin:1.25rem 0 0}
#bottleneck .note{color:var(--muted);font-size:.875rem;margin-top:.75rem}
#bottleneck .won{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem;background:#fff;border:1px solid var(--line);border-left:5px solid var(--blue);border-radius:.6rem;padding:.6rem .9rem}
#bottleneck .won-l{font-weight:800}
#bottleneck .won-t{display:flex;gap:.3rem}
#bottleneck .won-t li{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--blue);color:#fff;font-weight:700;font-size:.875rem}
#bottleneck .won-r{color:var(--muted);font-size:.875rem}
#bottleneck .hyp{margin-left:auto;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;border:1.5px solid var(--ink);border-radius:999px;padding:.12rem .6rem}
#bottleneck .fd{position:relative;height:18px}
#bottleneck .fd::before,#bottleneck .fd::after{content:"";position:absolute;top:0;bottom:0;border-left:3px solid var(--blue);left:50%}
#bottleneck .fd::after{display:none}
#bottleneck .pair{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr)}
#bottleneck .lane{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--line);border-radius:.75rem;padding:1rem}
#bottleneck .lane-b{border-top:5px solid var(--amber)}
#bottleneck .lane-a{border-top:5px solid var(--teal)}
#bottleneck .lane h3{font-size:1.05rem}
#bottleneck .flagrow{text-align:center;margin:.6rem 0 .5rem}
#bottleneck .flag{position:relative;display:inline-block;padding:.15rem .7rem;border-radius:.35rem;background:var(--amber);color:#fff;font-size:.8rem;font-weight:800}
#bottleneck .flag::after{content:"";position:absolute;left:50%;top:100%;margin-left:-6px;border:6px solid transparent;border-top-color:var(--amber);border-bottom:0}
#bottleneck .flag-clear{background:var(--teal)}
#bottleneck .flag-clear::after{border-top-color:var(--teal)}
#bottleneck .heads,#bottleneck .tr{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr)}
#bottleneck .heads{align-items:end}
#bottleneck .hd{font-size:.9rem;font-weight:700;line-height:1.15}
#bottleneck .hd b{display:block;font-size:2.4rem;font-weight:800;line-height:1}
#bottleneck .hd-w{grid-column:1;text-align:right;padding-right:.5rem;color:var(--amber)}
#bottleneck .hd-s{grid-column:3;padding-left:.5rem;color:var(--teal)}
#bottleneck .hd-z{color:var(--muted)}
#bottleneck .tracks{margin-top:.5rem}
#bottleneck .tr{position:relative;align-items:center;min-height:44px}
#bottleneck .tr::before{content:"";position:absolute;left:0;top:50%;height:3px;margin-top:-1.5px}
#bottleneck .go::before{right:calc(50% - 32px);background:var(--teal)}
#bottleneck .wait::before{right:calc(50% + 40px);background:#e3b98c}
#bottleneck .g{position:relative;z-index:1;align-self:stretch;border-inline:4px solid var(--ink)}
#bottleneck .wait .g{background:var(--ink);box-shadow:inset 0 -2px 0 #fff}
#bottleneck .tr:first-child .g{border-top:4px solid var(--ink);border-radius:4px 4px 0 0}
#bottleneck .tr:last-child .g{border-bottom:4px solid var(--ink);border-radius:0 0 4px 4px}
#bottleneck .tok{position:relative;z-index:2;display:inline-flex;align-items:center;min-height:34px;padding:0 .7rem;border-radius:999px;color:#fff;font-weight:700;font-size:.875rem;white-space:nowrap}
#bottleneck .wait .tok{justify-self:end;margin-right:4px;background:var(--amber)}
#bottleneck .go .tok,#bottleneck .here{justify-self:start;margin-left:8px;background:var(--teal)}
#bottleneck .from{justify-self:start;position:relative;z-index:1;width:11px;height:11px;border-radius:50%;background:var(--teal)}
#bottleneck .ghost{justify-self:start;margin-left:8px;width:70px;height:34px;border:1.5px dashed #b4c0cf;border-radius:999px}
#bottleneck .ann{font-size:.925rem;color:var(--muted);margin:.8rem 0}
#bottleneck .lane .open{margin-top:auto}
#bottleneck .open{display:flex;align-items:center;gap:.6rem;width:100%;min-height:48px;padding:.55rem .8rem;background:#fff;border:1.5px solid var(--blue);border-radius:.5rem;color:var(--blue);font:inherit;font-weight:700;line-height:1.25;text-align:left;text-decoration:none;cursor:pointer}
#bottleneck .open:hover{background:var(--blue-t)}
#bottleneck .plus{flex:none;display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--blue);color:#fff;font-weight:800;line-height:1}
#bottleneck .stem{position:relative;height:38px}
#bottleneck .stem::before{content:"";position:absolute;left:50%;top:0;bottom:6px;border-left:3px dashed var(--amber)}
#bottleneck .stem::after{content:"";position:absolute;left:50%;bottom:0;margin-left:-6px;border:7px solid transparent;border-top-color:var(--amber);border-bottom:0}
#bottleneck .down{background:#fff;border:2px dashed var(--amber);border-radius:.75rem;padding:1rem}
#bottleneck .down-h{display:flex;gap:.8rem;align-items:center;margin-bottom:1rem}
#bottleneck .qm{flex:none;display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;background:var(--amber);color:#fff;font-size:1.5rem;font-weight:800}
#bottleneck .down-h h3{font-size:1.2rem}
#bottleneck .down-h p{color:var(--muted);font-size:.925rem;margin-top:.15rem}
#bottleneck .rail{display:grid;gap:44px;grid-template-columns:minmax(0,1fr)}
#bottleneck .st{position:relative;display:flex;flex-direction:column;gap:.1rem;padding:.7rem .8rem;border:1.5px dashed #9aa8ba;border-radius:.6rem;background:#fff}
#bottleneck .st+.st::before{content:"?";position:absolute;left:50%;top:-40px;margin-left:-32px;width:64px;height:36px;display:grid;place-items:center;border-inline:3px dashed var(--amber);color:var(--amber);font-weight:800;font-size:1.1rem}
#bottleneck .st-n{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
#bottleneck .st strong{font-size:1.1rem;line-height:1.25}
#bottleneck .st-q{font-size:.875rem;color:var(--muted)}
#bottleneck .st-k{border:2px solid var(--teal);background:var(--teal-t)}
#bottleneck .st-k strong{color:var(--teal)}
#bottleneck .unk{color:var(--amber)}
#bottleneck .loop{position:relative;margin:.9rem 8% 0;padding:.9rem 1rem 1rem;border:3px solid var(--blue);border-top:0;border-radius:0 0 .9rem .9rem}
#bottleneck .loop::before{content:"";position:absolute;left:-9px;top:-11px;border:7.5px solid transparent;border-bottom-color:var(--blue);border-top:0}
#bottleneck .loop-t{font-weight:700;text-align:center;margin-bottom:.7rem}
#bottleneck .acts{display:grid;gap:.6rem;grid-template-columns:minmax(0,1fr)}
#bottleneck .nojs-h{font-weight:800;font-size:1.2rem;margin-bottom:.75rem}
#bottleneck.bot19-js .nojs-h{display:none}
#bottleneck .readers{padding:0;border:0;background:#fff;color:var(--ink)}
#bottleneck.bot19-js .readers{width:min(96vw,1240px);max-width:none;height:94vh;height:94dvh;max-height:none;margin:auto;border-radius:.9rem;overflow:hidden;box-shadow:0 18px 50px rgba(11,31,58,.35)}
#bottleneck.bot19-js .readers[open]{display:flex;flex-direction:column}
#bottleneck .readers::backdrop{background:rgba(11,31,58,.6)}
#bottleneck:not(.bot19-js) .readers{display:block;position:static;width:auto;max-width:none;height:auto;margin:2.5rem 0 0;background:transparent}
#bottleneck:not(.bot19-js) .rd-bar{display:none}
#bottleneck:not(.bot19-js) .rd{background:#fff;border:1px solid var(--line);border-radius:.75rem;margin-bottom:1rem}
#bottleneck .rd-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.55rem .8rem;border-bottom:1px solid var(--line);background:#fff}
#bottleneck .rd-btn{min-height:44px;min-width:44px;padding:.35rem .85rem;background:#fff;border:1.5px solid var(--ink);border-radius:.5rem;color:var(--ink);font:inherit;font-weight:700;cursor:pointer}
#bottleneck .rd-btn:hover{background:var(--bg)}
#bottleneck .rd-close{margin-left:auto}
#bottleneck .rd-tabs{order:3;flex:1 1 100%;display:flex;gap:.35rem}
#bottleneck .rd-tabs button{flex:1 1 0;min-width:0;min-height:44px;padding:.3rem .45rem;background:var(--bg);border:1px solid var(--line);border-radius:.5rem;color:var(--ink);font:inherit;font-size:.85rem;font-weight:700;line-height:1.15;cursor:pointer}
#bottleneck .rd-tabs button[aria-current]{background:var(--ink);border-color:var(--ink);color:#fff}
#bottleneck .rd-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
#bottleneck .rd{max-width:1120px;margin:0 auto;padding:1.25rem 1rem 2rem}
#bottleneck .rd[hidden]{display:none}
#bottleneck .rd-eb{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--teal);margin-bottom:.4rem}
#bottleneck .rd h3{font-size:clamp(1.35rem,3.2vw,1.9rem);max-width:32ch}
#bottleneck .rd h3:focus{outline:none}
#bottleneck .rd-lead{color:var(--muted);font-size:1.05rem;max-width:64ch;margin:.5rem 0 1.1rem}
#bottleneck .rd h4{font-size:1.02rem;margin-bottom:.5rem}
#bottleneck .fig{margin:0 0 1.5rem;padding:1rem;background:var(--bg);border-radius:.75rem}
#bottleneck .fig figcaption{color:var(--muted);font-size:.875rem;margin-top:.75rem}
#bottleneck .cols{display:grid;gap:1.25rem;grid-template-columns:minmax(0,1fr);margin-bottom:1.5rem}
#bottleneck .conds{display:grid;gap:.5rem}
#bottleneck .conds li{padding-left:.8rem;border-left:3px solid var(--amber)}
#bottleneck .conds strong{display:block}
#bottleneck .decide{background:var(--blue-t);border-left:4px solid var(--blue);padding:.8rem 1rem;border-radius:.35rem;margin-bottom:1rem}
#bottleneck .rd-next{display:grid;gap:.6rem;grid-template-columns:minmax(0,1fr)}
#bottleneck .zoom{display:grid;gap:1rem 1.5rem;grid-template-columns:minmax(0,1fr);align-items:center}
#bottleneck .sel .tok{outline:3px solid var(--ink);outline-offset:2px}
#bottleneck .rec-w{position:relative}
#bottleneck .rec{margin:0;background:#fff;border:1px solid var(--line);border-radius:.6rem;overflow:hidden}
#bottleneck .rec-h{background:var(--ink);color:#fff;font-weight:700;font-size:.9rem;padding:.5rem .8rem}
#bottleneck .rec div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.1rem 1rem;padding:.5rem .8rem;border-top:1px solid var(--line)}
#bottleneck .rec dt{color:var(--muted);font-size:.9rem}
#bottleneck .rec dd{margin:0;font-weight:700;font-size:.925rem}
#bottleneck .rec .fl{background:var(--amber-t)}
#bottleneck .rec .fl dd{color:var(--amber)}
#bottleneck .tbl{width:100%;border-collapse:collapse;font-size:.925rem}
#bottleneck .tbl caption{text-align:left;font-weight:700;margin-bottom:.4rem}
#bottleneck .tbl th,#bottleneck .tbl td{padding:.45rem .5rem;border-bottom:1px solid var(--line);text-align:left}
#bottleneck .tbl thead th{font-size:.8rem;color:var(--muted)}
#bottleneck .tbl .u{color:var(--amber);font-weight:700}
#bottleneck .feed{display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr);align-items:center}
#bottleneck .lead-tag{display:inline-block;margin-bottom:.5rem;font-size:.85rem;font-weight:800}
#bottleneck .pipe{display:block;background:#fff;border:1px solid var(--line);border-left:7px solid var(--blue);border-radius:.5rem;padding:.65rem .85rem;margin-bottom:.5rem}
#bottleneck .pipe-p{border-left-color:var(--teal);margin-bottom:0}
#bottleneck .pipe strong{display:block}
#bottleneck .pipe span{font-size:.9rem;color:var(--muted)}
#bottleneck .dr{justify-self:center;display:grid;gap:4px;width:64px;padding:6px 8px;border-inline:4px solid var(--ink)}
#bottleneck .dr i{display:block;height:12px;border-radius:999px;background:var(--teal)}
#bottleneck .res{background:#fff;border:2px solid var(--teal);border-radius:.5rem;padding:.65rem .85rem}
#bottleneck .res strong{display:block}
#bottleneck .res span{font-size:.9rem;color:var(--muted)}
#bottleneck .chain{display:grid;grid-template-columns:minmax(0,1fr)}
#bottleneck .ch{position:relative;padding:0 0 1rem 1.9rem;font-size:.9rem}
#bottleneck .ch::before{content:"";position:absolute;z-index:1;left:.2rem;top:.3rem;width:14px;height:14px;border-radius:50%;background:var(--teal)}
#bottleneck .ch::after{content:"";position:absolute;left:calc(.2rem + 5.5px);top:.9rem;bottom:-.3rem;border-left:3px solid var(--teal)}
#bottleneck .ch-u::before{background:#fff;border:3px solid var(--amber)}
#bottleneck .ch-u::after{border-left:3px dashed #9aa8ba}
#bottleneck .ch:last-child::after{display:none}
#bottleneck .ch h4{margin:0 0 .2rem}
#bottleneck .slot{display:block;font-weight:700;margin-bottom:.3rem}
#bottleneck .slot-u{color:var(--amber)}
#bottleneck .here{display:inline-flex;margin-left:0;padding:.1rem .6rem;border-radius:999px;color:#fff;font-size:.8rem}
#bottleneck .ch dl{margin:0}
#bottleneck .ch dt{display:inline;font-weight:700}
#bottleneck .ch dd{display:inline;margin:0;color:var(--muted)}
#bottleneck .ch dd::after{content:"";display:block;margin-bottom:.15rem}
#bottleneck .card{background:#fff;border:1px solid var(--line);border-radius:.6rem;padding:.9rem}
#bottleneck .weak{border-top:5px solid var(--amber)}
#bottleneck .clear{border-top:5px solid var(--teal)}
#bottleneck .msg{background:var(--bg);border-radius:.6rem;padding:.5rem .75rem;font-weight:700;margin-bottom:.6rem}
#bottleneck .asks li{padding:.25rem 0;color:var(--amber);font-weight:700;font-size:.925rem}
#bottleneck .res-l{margin-top:.6rem;font-size:.925rem;color:var(--muted)}
#bottleneck .sigs{display:grid;gap:1.75rem .75rem;grid-template-columns:minmax(0,1fr);margin-top:1rem}
#bottleneck .sg{position:relative;border-top:3px dashed var(--amber);padding-top:1.5rem;font-size:.925rem}
#bottleneck .door{position:absolute;left:.25rem;top:-18px;width:32px;height:34px;display:grid;place-items:center;background:var(--bg);border-inline:3px dashed var(--amber);color:var(--amber);font-weight:800}
#bottleneck .sg p{margin-top:.25rem}
#bottleneck .sg b{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;display:block}
#bottleneck .up{margin-top:1.25rem;padding:.7rem .9rem;background:#fff;border:2px solid var(--blue);border-radius:.5rem;font-size:.95rem}
#bottleneck .evs{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0}
#bottleneck .evs li{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:.2rem .7rem;font-size:.875rem;font-weight:700}
@media (min-width:760px){#bottleneck .pair{grid-template-columns:repeat(2,minmax(0,1fr))}
#bottleneck .fd::before{left:25%}
#bottleneck .fd::after{display:block;left:75%}
#bottleneck .stem::before,#bottleneck .stem::after{left:75%}
#bottleneck .rail{grid-template-columns:repeat(4,minmax(0,1fr));gap:48px}
#bottleneck .st+.st::before{left:-41px;top:50%;margin:-34px 0 0;width:34px;height:68px}
#bottleneck .acts,#bottleneck .rd-next{grid-template-columns:repeat(2,minmax(0,1fr))}
#bottleneck .loop{margin-inline:10%}
#bottleneck .rd-tabs{order:0;flex:1 1 auto;max-width:640px}
#bottleneck .rd{padding:1.75rem 2rem 2.25rem}
#bottleneck .cols{grid-template-columns:repeat(2,minmax(0,1fr))}
#bottleneck .zoom{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}
#bottleneck .rec-w::before{content:"";position:absolute;right:100%;top:50%;width:1.5rem;height:3px;background:var(--amber)}
#bottleneck .feed{grid-template-columns:minmax(0,1.5fr) 80px minmax(0,1fr)}
#bottleneck .sigs{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:900px){#bottleneck .chain{grid-template-columns:repeat(6,minmax(0,1fr))}
#bottleneck .ch{padding:2rem .75rem 0 0}
#bottleneck .ch::before{left:0;top:.25rem}
#bottleneck .ch::after{left:14px;right:0;top:calc(.25rem + 5.5px);bottom:auto;border-left:0;border-top:3px solid var(--teal)}
#bottleneck .ch-u::after{border-left:0;border-top:3px dashed #9aa8ba}
#bottleneck .slot{min-height:1.7rem}}
@media (max-width:759px){#bottleneck.bot19-js .readers{width:100vw;height:100vh;height:100dvh;border-radius:0}}
@media (prefers-reduced-motion:no-preference){#bottleneck .lane-a .tok{animation:bot19-through .6s ease-out both}
#bottleneck .lane-a .tr:nth-child(2) .tok{animation-delay:.08s}
#bottleneck .lane-a .tr:nth-child(3) .tok{animation-delay:.16s}
#bottleneck .lane-a .tr:nth-child(4) .tok{animation-delay:.24s}
#bottleneck .lane-a .tr:nth-child(5) .tok{animation-delay:.32s}
@keyframes bot19-through{from{opacity:0;transform:translateX(-46px)}to{opacity:1;transform:none}}}
@media print{#bottleneck, #bottleneck *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
#bottleneck .open,#bottleneck .rd-bar,#bottleneck .skip,#bottleneck .plus{display:none!important}
#bottleneck.alt{background:#fff;padding:0}
#bottleneck.bot19-js .readers,#bottleneck:not(.bot19-js) .readers{display:block!important;position:static!important;width:auto!important;height:auto!important;margin:1rem 0 0;box-shadow:none;overflow:visible}
#bottleneck .readers::backdrop{display:none}
#bottleneck .rd[hidden]{display:block!important}
#bottleneck .rd-scroll{overflow:visible}
#bottleneck .lane,#bottleneck .down,#bottleneck .fig,#bottleneck .card,#bottleneck .decide{break-inside:avoid}
#bottleneck .rd{break-before:page}}
#bottleneck h2,#bottleneck .lead{max-width:none}
#bottleneck .pair{margin:0}
#bottleneck .loop{display:block}
#bottleneck .flag{margin-left:0;border:0}
#bottleneck .bot19-inline-1{border-radius:.6rem .6rem 0 0}
#bottleneck .bot19-inline-2{border-top:0;border-radius:0 0 .6rem .6rem}
#bottleneck .bot19-inline-3{margin-top:.6rem}
#bottleneck .bot19-inline-4{margin-top:.6rem}
#bottleneck .bot19-inline-5{margin-top:.6rem}
