:root{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:#202020;background:#fff;font-synthesis:none;color-scheme:light;--muted:#626262;--rule:#dedede;--tile:#f0f0f0;--route:#7c858c;--route-text:#fff}
*{box-sizing:border-box}body{margin:0}main{max-width:820px;margin:auto;padding:28px 30px 32px}a{color:inherit;text-underline-offset:3px}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button,a,summary,select{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #202020;outline-offset:4px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:24px;border-bottom:2px solid #202020}.wordmark{display:flex;gap:10px;align-items:center;text-decoration:none;font-size:25px;letter-spacing:-1px;font-weight:750;white-space:nowrap}.wordmark-dot{display:grid;place-items:center;border-radius:50%;background:#202020;color:#fff;width:28px;height:28px;font-size:22px;letter-spacing:0}nav{display:flex;gap:8px}.icon-button{width:42px;height:42px;display:grid;place-items:center;text-decoration:none;color:#555;border:1px solid transparent;border-radius:6px}.icon-button:hover{background:var(--tile)}.icon-button svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2.5}.help-link{font-weight:750;font-size:24px}
.intro{text-align:center;padding:32px 0 26px}h1{margin:0 0 9px;font-size:clamp(26px,4vw,34px);line-height:1.15;letter-spacing:-1.1px}p{line-height:1.5}.intro p{margin:0;color:var(--muted);font-size:16px}.line-picker{border:0;padding:0;margin:0}.line-picker legend{font-weight:650;font-size:14px;margin-bottom:12px}.route-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.extra-routes{grid-column:1/-1;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px}.route-key{min-height:65px;display:flex;align-items:center;justify-content:center;gap:5px;flex-direction:column;background:var(--tile);border:2px solid transparent;border-radius:6px;padding:8px 2px;color:#202020;position:relative}.route-key:hover{background:#e5e5e5}.route-key[aria-pressed=true]{border-color:#202020;background:#e5e5e5}.route-key[aria-pressed=true]::after{content:"";position:absolute;bottom:3px;width:12px;height:3px;background:#202020;border-radius:2px}.route-bullet{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--route);color:var(--route-text);font-size:24px;font-weight:750;line-height:1;flex-shrink:0}.route-bullet.small-type{font-size:16px}.route-bullet.express{border-radius:3px;transform:rotate(45deg);width:28px;height:28px;margin:4px}.route-bullet.express span{transform:rotate(-45deg);font-size:21px}.route-name{font-size:10px;line-height:1.1}.route-key.shuttle{min-height:70px}.journey-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px;margin-top:26px}.field{min-width:0}label{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:650;margin-bottom:9px}label>span{width:12px;text-align:center}.station-dot{height:10px!important;width:10px!important;border:2px solid #202020;border-radius:50%;margin-right:2px}select{width:100%;min-height:50px;border:1px solid #b7b7b7;border-radius:5px;color:inherit;background:#fff;padding:10px 30px 10px 12px;text-overflow:ellipsis}select:disabled{background:#f7f7f7;color:#777;border-color:#dedede}.primary-button{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:14px;min-height:50px;background:#202020;color:white;border:0;border-radius:5px;font-weight:650;padding:12px 18px}.primary-button:hover:not(:disabled){background:#404040}.primary-button span{font-size:21px}.text-button{padding:8px 2px;min-height:44px;border:0;background:none;text-decoration:underline;text-underline-offset:3px;font-size:14px}.notice{font-size:14px;line-height:1.5;margin:14px 0}.notice:empty{display:none}.result{margin-top:32px;border-top:6px solid var(--route);padding:23px 0 25px}.result-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:26px}.journey-heading{display:flex;align-items:center;gap:11px;min-width:0}.journey-heading p{margin:0;font-size:14px;font-weight:600;line-height:1.4}.journey-heading small{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:3px}.wait-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}.wait{font-size:clamp(48px,9vw,70px);line-height:1;letter-spacing:-3px;font-weight:750;margin:0;white-space:nowrap}.wait-label{margin:10px 0 0;font-size:14px;color:var(--muted)}.comparison{font-size:24px;line-height:1.22;letter-spacing:-.5px;margin:0 0 9px}.comparison strong{font-size:1.35em;font-weight:750}.muted{color:var(--muted);font-size:13px;line-height:1.55;margin:0}.updated{font-size:12px;line-height:1.5;color:var(--muted);margin:25px 0 12px}details summary{cursor:pointer;font-size:13px;font-weight:600;min-height:34px;line-height:1.5;padding:7px 0}dl{display:grid;grid-template-columns:1fr auto;gap:8px 20px;font-size:13px;padding:14px 0;margin:8px 0;color:var(--muted)}dt,dd{margin:0}dd{text-align:right;color:#202020}
.distribution{border-top:2px solid #202020;margin-top:32px;padding-top:25px;scroll-margin-top:24px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}h2{font-size:23px;letter-spacing:-.65px;margin:0 0 7px;line-height:1.2}.scope-switch{display:inline-flex;background:var(--tile);padding:4px;border-radius:6px;gap:3px;max-width:100%}.scope-switch button{background:transparent;color:var(--muted);border:1px solid transparent;border-radius:4px;min-height:38px;padding:7px 16px;font-size:13px;font-weight:600}.scope-switch button[aria-pressed=true]{background:#fff;color:#202020;border-color:#d0d0d0}.chart-window{font-size:12px;color:var(--muted);line-height:1.5;margin:14px 0 25px}.chart-message{font-size:14px;color:var(--muted);padding:25px 0;margin:0}.histogram{margin:0}.histogram figcaption{font-size:12px;color:var(--muted);margin:0 0 45px}.plot-layout{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px}.y-axis{height:185px;display:flex;flex-direction:column;justify-content:space-between;text-align:right;font-size:10px;color:var(--muted);transform:translateY(-6px)}.plot-main{min-width:0}.plot{height:180px;position:relative;background:linear-gradient(to bottom,#e4e4e4 1px,transparent 1px);background-size:100% 50%;border-bottom:1px solid #a8a8a8}.bars{height:100%;display:grid;grid-template-columns:repeat(31,minmax(0,1fr));gap:3px;align-items:end;position:relative;z-index:1}.bar{align-self:stretch;display:flex;align-items:flex-end;position:relative;min-width:0;padding:0;border:0;background:transparent;outline-offset:1px}.bar-fill{display:block;width:100%;height:var(--height);min-height:0;background:var(--bar-route,var(--route));border-radius:2px 2px 0 0;opacity:1;pointer-events:none}.bar:hover .bar-fill,.bar.selected .bar-fill,.bar:focus-visible .bar-fill{filter:brightness(.8)}.bar.selected{outline:2px solid #202020;outline-offset:2px}.bar.overflow .bar-fill{background:repeating-linear-gradient(135deg,var(--bar-route,var(--route)) 0,var(--bar-route,var(--route)) 3px,#fff 3px,#fff 5px)}.wait-marker{position:absolute;top:-9px;bottom:0;width:0;border-left:2px dashed #202020;pointer-events:none;z-index:2}.wait-marker span{position:absolute;left:0;bottom:100%;white-space:nowrap;background:#202020;color:white;border-radius:3px;font-size:11px;font-weight:600;padding:5px 7px;transform:translateX(var(--marker-shift,-50%));margin-bottom:2px}.x-axis{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:10px;padding-right:1px}.axis-title{font-size:12px;color:var(--muted);text-align:center;margin:12px 0 0}.bin-readout{min-height:42px;text-align:center;font-size:13px;margin:16px 0 0;color:var(--muted)}.chart-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;padding:20px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.chart-stat strong{display:block;font-size:23px;letter-spacing:-.6px;line-height:1.2}.chart-stat span{display:block;color:var(--muted);font-size:12px;line-height:1.4;margin-top:5px}.chart-note{font-size:12px;line-height:1.6;color:var(--muted);margin:17px 0 8px}.data-details summary{color:var(--muted);font-weight:400}.table-scroll{max-height:300px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}caption{text-align:left;color:var(--muted);padding:8px 0}th,td{padding:9px;border-bottom:1px solid var(--rule);text-align:left}th:last-child,td:last-child{text-align:right}.method{border-top:1px solid var(--rule);margin-top:30px;padding-top:14px;scroll-margin-top:25px}.method-body{color:var(--muted);font-size:13px;line-height:1.65;max-width:66ch}.method-body p{margin:12px 0}.sources{font-size:12px}footer{border-top:1px solid var(--rule);padding-top:19px;margin-top:23px;font-size:12px;color:var(--muted);line-height:1.7}footer span{display:block}
@media(max-width:580px){main{padding:20px 16px}.wordmark{font-size:21px;letter-spacing:-.7px;gap:6px}.wordmark-dot{width:24px;height:24px;font-size:19px}.masthead{padding-bottom:17px}nav{gap:2px}.icon-button{width:36px;height:38px}.intro{padding:27px 0 25px}h1{font-size:28px;max-width:310px;margin-left:auto;margin-right:auto}.route-grid{gap:5px}.extra-routes{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.route-key{min-height:54px;padding:7px 1px}.route-bullet{width:32px;height:32px;font-size:22px}.route-bullet.express{width:25px;height:25px;margin:3px}.route-bullet.express span{font-size:19px}.route-key.shuttle{min-height:60px}.journey-fields{grid-template-columns:1fr;gap:16px;margin-top:24px}.wait-grid{grid-template-columns:1fr;gap:23px}.wait{font-size:64px}.comparison{font-size:22px;max-width:300px}.comparison-block{padding-top:20px;border-top:1px solid var(--rule)}.bars{gap:2px}.chart-stats{gap:10px}.chart-stat strong{font-size:21px}.plot-layout{grid-template-columns:29px minmax(0,1fr);gap:5px}.plot{height:160px}.y-axis{height:165px}.section-heading h2{font-size:22px}}
@media(max-width:365px){.route-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.wordmark{font-size:19px}.wordmark-dot{display:none}.intro h1{font-size:26px}.scope-switch button{padding-left:12px;padding-right:12px}.route-key{min-height:56px}.chart-stat strong{font-size:19px}}
@media(prefers-reduced-motion:no-preference){.route-key,.scope-switch button{transition:background-color .12s}.bar-fill{transition:opacity .1s}}
