/* Article-specific styles. The shared blog stylesheet remains unchanged. */
/* Linked observations, not a map or packet trace. */
.dc19490 .network-headings{display:grid;grid-template-columns:minmax(0,1fr) minmax(5rem,.9fr) minmax(0,1fr);gap:1.1rem;font:500 .75rem/1.5 var(--mono);color:var(--mute);margin:1.4rem 0 .5rem}
.dc19490 .network-headings>span:nth-child(2){text-align:center}
.dc19490 .network-lanes{list-style:none;margin:0;padding:0}
.dc19490 .network-lane{--route-color:var(--teal);display:grid;grid-template-columns:minmax(0,1fr) minmax(5rem,.9fr) minmax(0,1fr);gap:1.1rem;align-items:center;margin:0;padding:.95rem 0;border-top:1px solid var(--line)}
.dc19490 .network-lane.cross{--route-color:var(--amber)}
.dc19490 .network-node{min-width:0;border-left:2px solid var(--route-color);padding:.1rem 0 .1rem .7rem}
.dc19490 .network-node strong{display:block;font:600 .9375rem/1.4 var(--disp);color:var(--off)}
.dc19490 .network-node small{display:block;font:.75rem/1.4 var(--mono);color:var(--mute);margin-top:.3rem}
.dc19490 .network-role{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.dc19490 .network-connection{min-width:0;position:relative;text-align:center;padding-bottom:.7rem}
.dc19490 .network-count{display:block;font:.8125rem/1.5 var(--sans);color:var(--mute);margin-bottom:.45rem}
.dc19490 .network-count b{color:var(--route-color);font:600 1.1rem/1 var(--disp)}
.dc19490 .network-track{display:block;position:relative;margin:0 .4rem;height:1px;background:var(--route-color);opacity:.9}
.dc19490 .network-track:before{content:"";position:absolute;width:.4rem;height:.4rem;top:50%;left:0;transform:translate(-50%,-50%);border-radius:50%;background:var(--route-color)}
.dc19490 .network-arrival{position:absolute;right:0;top:50%;transform:translate(50%,-50%);width:.6rem;height:.6rem;border:1px solid var(--route-color);border-radius:50%;background:var(--route-color)}
.dc19490 .motion-controls button[hidden]{display:none}
.dc19490 .network-pulse{display:none;position:absolute;left:0;top:50%;transform:translate(-50%,-50%);height:.45rem;width:.45rem;border-radius:50%;background:var(--route-color);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--route-color) 28%,transparent);z-index:2}
.dc19490 .motion-active .network-pulse{display:block}
.dc19490 .network-legend{padding-top:.25rem}
@media(max-width:640px){
 .dc19490 .network-headings{display:none}
 .dc19490 .network-lane{grid-template-columns:minmax(0,1fr) minmax(3.7rem,.6fr) minmax(0,1fr);gap:.5rem;padding:1rem 0}
 .dc19490 .network-role{position:static;width:auto;height:auto;clip-path:none;white-space:normal;display:block;font:.75rem/1.4 var(--sans);color:var(--mute);margin:0 0 .4rem}
 .dc19490 .network-node{padding-left:.4rem}
 .dc19490 .network-node strong{font-size:.875rem}
 .dc19490 .network-count{font-size:.75rem}
 .dc19490 .network-count b{display:block;font-size:1.1rem;margin-bottom:.2rem}
}
@media(prefers-reduced-motion:reduce){.dc19490 .network-pulse{display:none!important}}
@media print{.dc19490 .network-pulse{display:none!important}}
/* Data graphics stay complete without JavaScript; motion is progressive enhancement. */
.dc19490 .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.dc19490 .timing-distribution{padding:1.1rem 0 .6rem;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}
.dc19490 .distribution-key{font-size:.875rem;color:var(--mute);margin:0;line-height:1.6}
.dc19490 .distribution-key b{display:block;color:var(--off);font-family:var(--disp);font-size:1rem;margin-bottom:.3rem}
.dc19490 .interval-chart{padding:2rem .65rem .5rem}
.dc19490 .interval-plot{position:relative;height:calc(var(--rows)*.9rem + 2rem);border-bottom:1px solid var(--mute)}
.dc19490 .plot-guide{position:absolute;left:var(--x);top:.5rem;bottom:0;border-left:1px dashed rgba(148,163,184,.24)}
.dc19490 .median-rule{position:absolute;left:var(--x);top:0;bottom:0;border-left:2px solid var(--amber)}
.dc19490 .median-rule>span{position:absolute;top:-1.7rem;left:0;transform:translateX(-50%);white-space:nowrap;color:var(--amber);font:500 .8125rem/1.4 var(--mono)}
.dc19490 .interval-dot{position:absolute;left:var(--x);bottom:calc(var(--row)*.9rem + .7rem);width:.625rem;height:.625rem;margin-left:-.3125rem;background:var(--teal);border-radius:50%;z-index:2}
.dc19490 .interval-dot:hover{outline:2px solid var(--off);outline-offset:2px}
.dc19490 .reveal-sweep{display:none;position:absolute;top:0;bottom:0;width:1px;background:var(--off);box-shadow:0 0 10px rgba(247,250,252,.25);left:0;z-index:3;pointer-events:none}
.dc19490 .motion-active .reveal-sweep{display:block}
.dc19490 .plot-ticks{display:flex;justify-content:space-between;font:.8125rem/1.4 var(--mono);color:var(--mute);margin:.6rem -.35rem 0}
.dc19490 .axis-label{text-align:center;font-size:.8125rem;color:var(--mute);margin:.65rem 0}
.dc19490 .motion-controls{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;padding:.7rem 0 1rem}
.dc19490 .motion-controls[hidden]{display:none}
.dc19490 .motion-controls button{appearance:none;min-height:44px;padding:.55rem .85rem;border:1px solid var(--dash);background:transparent;color:var(--off);font:500 .8125rem/1.4 var(--mono);cursor:pointer;white-space:nowrap}
.dc19490 .motion-controls button:hover{background:rgba(0,212,170,.09);border-color:var(--teal)}
.dc19490 .motion-controls button:disabled{opacity:.5;cursor:default}
.dc19490 .motion-controls [data-motion-toggle]{border-color:var(--teal);color:var(--teal)}
.dc19490 .motion-status{font-size:.8125rem;color:var(--mute);flex:1 1 12rem;margin-left:.25rem}
.dc19490 .chart-data{padding:.7rem .9rem;margin:1rem 0 0}
.dc19490 .chart-data p{font-size:.875rem;color:var(--mute);margin:.6rem 0}
.dc19490 .interval-values{font-family:var(--mono);line-height:1.9}
.dc19490 .calendar-heading{display:flex;justify-content:space-between;gap:.5rem 1rem;flex-wrap:wrap;margin:1.2rem 0 .8rem;color:var(--mute);font:500 .8125rem/1.5 var(--mono)}
.dc19490 .calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;color:var(--mute);font:500 .8125rem/1.5 var(--mono);margin-bottom:.45rem}
.dc19490 .calendar-weekdays>span:last-child{color:var(--teal)}
.dc19490 .callback-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem;list-style:none;margin:0;padding:0}
.dc19490 .callback-calendar li{position:relative;min-width:0;height:5rem;padding:.35rem .45rem;border:1px solid var(--line);background:rgba(148,163,184,.025)}
.dc19490 .callback-calendar time{font:.8125rem/1.2 var(--mono);color:var(--mute);position:relative;z-index:2}
.dc19490 .callback-calendar .has-callback{border-color:rgba(0,212,170,.7)}
.dc19490 .callback-calendar .has-callback.sunday{border-color:rgba(255,184,0,.6)}
.dc19490 .calendar-event{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding-bottom:.4rem;background:rgba(0,212,170,.075);color:var(--teal)}
.dc19490 .sunday .calendar-event{color:var(--amber);background:rgba(255,184,0,.055)}
.dc19490 .calendar-event strong{font:700 1.8rem/1 var(--disp)}
.dc19490 .calendar-takeaway{border-left:2px solid var(--teal);padding:.6rem 1rem;margin:1rem 0 0;font-size:.875rem;color:var(--mute)}
.dc19490 .calendar-takeaway b{display:block;font-family:var(--disp);color:var(--off);font-size:1rem;margin-bottom:.3rem}
@media(max-width:640px){
 .dc19490 .timing-distribution{grid-template-columns:1fr;gap:.8rem}
 .dc19490 .callback-calendar{gap:.2rem}
 .dc19490 .callback-calendar li{height:4.1rem;padding:.25rem}
 .dc19490 .calendar-event strong{font-size:1.45rem}
 .dc19490 .calendar-weekdays{font-size:.75rem}
}
@media(prefers-reduced-motion:reduce){
 .dc19490 .motion-controls,.dc19490 .reveal-sweep{display:none!important}
 .dc19490 .interval-dot,.dc19490 .calendar-event{opacity:1!important;transform:none!important}
}
@media print{
 .dc19490 .motion-controls,.dc19490 .reveal-sweep{display:none!important}
 .dc19490 .interval-dot,.dc19490 .calendar-event{opacity:1!important;transform:none!important}
}
body.dc19490{--dim:#94A3B8;overflow-wrap:break-word}
.dc19490 .skip-link{position:absolute;top:-5rem;left:1rem;z-index:10;padding:.7rem 1rem;background:var(--amber);color:var(--navy)}
.dc19490 .skip-link:focus{top:1rem}
.dc19490 :focus-visible{outline:3px solid var(--amber);outline-offset:4px}
.dc19490 h1 .pay{color:var(--teal)}
.dc19490 .kicker,.dc19490 .lab{font-size:.75rem}
.dc19490 .meta{font-size:.75rem}
.dc19490 .dc-back{font-size:.75rem}
.dc19490 .bluf{font-size:1rem;line-height:1.65}
.dc19490 .bluf p:first-of-type{color:var(--off);font-weight:600}
.dc19490 .bluf .chk{margin-bottom:0}
.dc19490 .bluf .chk li:last-child{border:0}
.dc19490 .jump-links{display:flex;gap:.5rem 1rem;flex-wrap:wrap;margin:1.3rem 0 2rem;font-size:.875rem}
.dc19490 .jump-links a,.dc19490 p a,.dc19490 li a,.dc19490 figcaption a{text-decoration:underline;text-underline-offset:3px}
.dc19490 section{scroll-margin-top:1.2rem}
.dc19490 figure{padding:1.25rem;border:1px solid var(--line);background:var(--panel);margin:1.75rem 0}
.dc19490 figure h3{font:600 1.1rem/1.4 var(--disp);margin:0 0 .35rem;color:var(--off)}
.dc19490 .figure-intro{font-size:.875rem;color:var(--mute);margin:0 0 1.1rem}
.dc19490 figcaption{font:400 .8125rem/1.6 var(--sans);color:var(--mute);text-align:left;margin-top:1.2rem;padding-top:.8rem;border-top:1px solid var(--line)}
.dc19490 .flow{list-style:none;counter-reset:step;padding:0;margin:1rem 0 0}
.dc19490 .flow li{display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}
.dc19490 .flow li:last-child{border:0;padding-bottom:0}
.dc19490 .flow li:before{counter-increment:step;content:counter(step,decimal-leading-zero);font:600 .875rem/2.5rem var(--mono);width:2.5rem;height:2.5rem;text-align:center;color:var(--amber);border:1px solid rgba(255,184,0,.45)}
.dc19490 .flow strong{display:block;font:600 1.05rem/1.4 var(--disp)}
.dc19490 .flow p{margin:.4rem 0;color:var(--mute);font-size:.9375rem;line-height:1.6}
.dc19490 .outcome{display:inline-block;margin:.35rem 0 0;color:var(--teal);font-size:.875rem;font-weight:600}
.dc19490 .next{color:var(--amber)}
.dc19490 .table-scroll{max-width:100%;overflow-x:auto;overflow-y:hidden;border:1px solid var(--line);margin:1.4rem 0}
.dc19490 .table-scroll table{border:0;margin:0;font-size:.9375rem}
@media(max-width:640px){.dc19490 .table-scroll table{min-width:600px}}
.dc19490 table caption{text-align:left;padding:.8rem 1rem;font-weight:600;color:var(--off)}
.dc19490 table th{font-size:.8125rem;line-height:1.4;color:var(--mute);letter-spacing:0;text-transform:none;font-family:var(--sans)}
.dc19490 table td{vertical-align:top;line-height:1.6}
.dc19490 table td:first-child{font-family:var(--sans);font-size:.9375rem;color:var(--off);letter-spacing:0}
.dc19490 code{font-size:.875rem;overflow-wrap:anywhere;white-space:normal}
.dc19490 .build-code{white-space:nowrap;font-family:var(--mono);font-size:.875rem;color:var(--amber)}
.dc19490 .small-note{font-size:.875rem;color:var(--mute)}
.dc19490 .config{background:var(--panel);border-left:2px solid var(--teal);padding:1rem 1.2rem;font-size:.9375rem}
.dc19490 .config ul{padding-left:1.2rem;margin:.4rem 0}
.dc19490 .dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0 0}
.dc19490 .dates>div{border-top:2px solid var(--amber);padding-top:.8rem}
.dc19490 .dates dt{font:600 .875rem var(--mono);color:var(--amber)}
.dc19490 .dates dd{margin:.4rem 0 0;font-size:.9375rem;line-height:1.5;color:var(--mute)}
.dc19490 .dates dd b{display:block;color:var(--off)}
.dc19490 .snapshot{margin:1.1rem 0 0;padding:.9rem 1rem;border:1px solid var(--line);font-size:.9375rem;color:var(--mute)}
.dc19490 .snapshot strong{color:var(--teal)}
.dc19490 .probe-bars{list-style:none;padding:0;margin:1.2rem 0 0}
.dc19490 .probe-bars li{display:grid;grid-template-columns:5rem minmax(0,1fr) 1.8rem;gap:.8rem;align-items:center;margin:.65rem 0;font:.875rem/1.5 var(--mono)}
.dc19490 .bar-track{height:.8rem;background:rgba(148,163,184,.1)}
.dc19490 .bar-track span{display:block;height:100%;width:var(--value);background:var(--teal);transform-origin:left center}
@media(prefers-reduced-motion:reduce){.dc19490 .bar-track span{transform:none!important;width:var(--value)!important}}
@media print{.dc19490 .bar-track span{transform:none!important;width:var(--value)!important}}
.dc19490 .probe-bars .after{border-top:1px dashed var(--dash);padding-top:.8rem;margin-top:.8rem}
.dc19490 .probe-bars .after .bar-track span{background:var(--amber)}
.dc19490 .legend{display:flex;gap:.7rem 1.4rem;flex-wrap:wrap;font-size:.8125rem;color:var(--mute);margin-top:1rem}
.dc19490 .legend i{display:inline-block;width:.6rem;height:.6rem;background:var(--teal);margin-right:.45rem}
.dc19490 .legend i.amber{background:var(--amber)}
.dc19490 .paths{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem 1rem;margin:0}
.dc19490 .paths dt,.dc19490 .paths dd{margin:0;padding:.5rem 0;border-bottom:1px solid var(--line)}
.dc19490 .paths dd{color:var(--amber);font-family:var(--mono)}
.dc19490 details{margin:1.25rem 0;border:1px solid var(--line);padding:1rem 1.2rem;background:rgba(6,14,26,.55)}
.dc19490 summary{cursor:pointer;color:var(--teal);font-weight:600;font-size:.9375rem;line-height:1.6}
.dc19490 details[open] summary{margin-bottom:1rem}
.dc19490 .query-list{margin:1rem 0 0}
.dc19490 .query-row{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:1rem;padding:1.05rem 0;border-top:1px solid var(--line)}
.dc19490 .query-row dt{font:700 1.8rem/1.1 var(--disp);color:var(--amber);margin:0;font-variant-numeric:tabular-nums}
.dc19490 .query-row dd{margin:0;min-width:0;font-size:.9375rem;color:var(--mute)}
.dc19490 .query-row strong{display:block;color:var(--off);margin-bottom:.25rem}
.dc19490 .query-row code{display:block;font-size:.8125rem;margin-top:.5rem;padding:.4rem .6rem}
.dc19490 .query-row p{font-size:.875rem;margin:.4rem 0 0}
.dc19490 .tell-list{padding-left:1.2rem}
.dc19490 .tell-list li{margin:.6rem 0}
.dc19490 .timing{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:1.4rem;align-items:center;padding:1rem 0 1.5rem}
.dc19490 .timing-number{font:700 3.3rem/1 var(--disp);color:var(--teal);font-variant-numeric:tabular-nums}
.dc19490 .timing-label{margin:.5rem 0 0;font-size:.875rem;color:var(--mute)}
.dc19490 .callback-flow{display:flex;align-items:center;gap:.8rem;justify-content:center;font-size:.9375rem;font-weight:600}
.dc19490 .callback-flow .endpoint{border:1px solid var(--line);padding:.9rem;flex:1;text-align:center}
.dc19490 .callback-flow .arrow{color:var(--teal);font-size:1.5rem}
.dc19490 .callback-flow small{display:block;font-size:.8125rem;font-weight:400;color:var(--mute);margin-top:.3rem}
.dc19490 .cohort-facts{display:flex;gap:.5rem 1.5rem;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:1rem;font-size:.875rem;color:var(--mute)}
.dc19490 .cohort-facts b{color:var(--off)}
.dc19490 .saturdays{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:1rem 0}
.dc19490 .saturdays>div{border-top:2px solid var(--teal);background:rgba(0,212,170,.05);padding:.9rem .7rem}
.dc19490 .saturdays time{font:.8125rem var(--mono);color:var(--mute)}
.dc19490 .saturdays strong{display:block;font:700 1.8rem var(--disp);color:var(--teal);margin-top:.25rem}
.dc19490 .saturdays span{font-size:.8125rem;color:var(--mute)}
.dc19490 .actions{list-style:none;padding:0;margin:1.3rem 0;border-top:1px solid var(--line)}
.dc19490 .actions li{padding:1.1rem 0;border-bottom:1px solid var(--line)}
.dc19490 .actions h3{font-size:1.05rem;margin:0 0 .4rem;color:var(--off)}
.dc19490 .actions p{margin:0;font-size:.9375rem;color:var(--mute)}
.dc19490 .endbio{font-size:1rem}
.dc19490 .cta{display:inline-block;padding:.65rem 1rem;background:var(--teal);color:var(--navy);font-weight:700;font-size:.875rem;margin-top:.5rem;border-radius:4px}
.dc19490 .cta:hover{background:var(--green);color:var(--navy)}
.dc19490 .sources{font-size:.875rem}
.dc19490 .sources li{margin:.6rem 0}
.dc19490 footer{font-size:.8125rem}
@media(max-width:640px){
 .dc19490 h1{font-size:2rem;line-height:1.15;letter-spacing:-.7px}
 .dc19490 figure{padding:1rem}
 .dc19490 .flow li{grid-template-columns:2rem minmax(0,1fr);gap:.75rem}
 .dc19490 .flow li:before{width:2rem;height:2rem;line-height:2rem}
 .dc19490 .dates{grid-template-columns:1fr;gap:.8rem}
 .dc19490 .dates>div{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:.8rem}
 .dc19490 .dates dd{margin:0}
 .dc19490 .query-row{grid-template-columns:1fr;gap:.4rem}
 .dc19490 .query-row dt{font-size:1.7rem}
 .dc19490 .timing{grid-template-columns:1fr;gap:1.2rem}
 .dc19490 .saturdays{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dc19490 .probe-bars li{grid-template-columns:4.2rem minmax(0,1fr) 1.3rem;gap:.5rem}
 .dc19490 .dc-back{letter-spacing:0}
 .dc19490 .brandbar{gap:.5rem}
}
@media(max-width:360px){.dc19490 .dc-wordmark{font-size:.875rem}.dc19490 .dc-back{font-size:.6875rem}}
@media print{.dc19490 .jump-links,.dc19490 .skip-link{display:none}.dc19490 details{break-inside:avoid}.dc19490 .table-scroll{overflow:visible}}
