.fp{--fp-sea:#1d5f8a;--fp-sea-tint:#eaf2f6;--fp-road:#173c3a;--fp-isle:#59643f;--fp-wait:#8a958f;font-variant-numeric:tabular-nums}.fp-grid{grid-template-columns:minmax(300px,380px) minmax(0,1fr);align-items:start;gap:clamp(20px,3vw,44px);display:grid}.fp-controls{background:var(--cream);border-radius:6px;padding:22px 22px 8px;position:sticky;top:16px}.fp-field{border:0;min-width:0;margin:0 0 20px;padding:0}.fp-field legend,.fp-label{color:var(--ink);margin:0 0 8px;padding:0;font-size:13px;font-weight:600;display:block}.fp-sub{color:var(--muted);margin-top:14px;font-weight:400}.fp-chips{flex-wrap:wrap;gap:6px;display:flex}.fp-chip,.fp-airport{cursor:pointer;position:relative}.fp-chip input,.fp-airport input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.fp-chip span{background:var(--white);border:1px solid #c3cbc0;border-radius:999px;padding:6px 12px;font-size:14px;transition:background .15s,color .15s,border-color .15s;display:block}.fp-chip input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--white)}.fp-chip input:focus-visible+span,.fp-airport input:focus-visible+span{outline:3px solid var(--clay);outline-offset:2px}.fp-chip:hover span{border-color:var(--ink)}.fp-guests{grid-template-columns:1fr 84px;align-items:center;gap:12px;display:grid}.fp-guests input[type=range]{--fill:24%;-webkit-appearance:none;appearance:none;background:linear-gradient(90deg,var(--ink) var(--fill),#cfd6cc var(--fill));border-radius:3px;height:6px;margin:0}.fp-guests input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--white);border:2px solid var(--ink);border-radius:50%;width:22px;height:22px;box-shadow:0 1px 3px #173c3a4d}.fp-guests input[type=range]::-moz-range-thumb{background:var(--white);border:2px solid var(--ink);border-radius:50%;width:20px;height:20px}.fp-guests input[type=range]:focus-visible{outline:3px solid var(--clay);outline-offset:4px}.fp input[type=number],.fp input[type=time],.fp select{background:var(--white);border:1px solid #b9c3b6;border-radius:4px;width:100%;min-height:40px;padding:6px 10px;font-size:15px}.fp #fp-guests{font-family:var(--serif);text-align:center;font-size:20px}.fp-airports{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.fp-airport span{background:var(--white);text-align:center;border:1px solid #c3cbc0;border-radius:4px;flex-direction:column;align-items:center;padding:8px 4px 7px;line-height:1.2;transition:background .15s,color .15s;display:flex}.fp-airport b{font-family:var(--serif);letter-spacing:.02em;font-size:18px;font-weight:400}.fp-airport small{color:var(--muted);margin-top:2px;font-size:11px}.fp-airport input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--white)}.fp-airport input:checked+span small{color:#d5ded9}.fp-assume{border-top:1px solid #dcd6c8;grid-template-columns:1fr 1fr;align-items:end;gap:12px 14px;padding-top:16px;display:grid}.fp-assume>div:first-child{grid-column:1/-1}.fp-assume .fp-label{color:var(--muted);align-items:flex-end;min-height:2.6em;font-size:12.5px;font-weight:400;display:flex}.fp-assume>div:first-child .fp-label{min-height:0}.fp-unit{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:flex}.fp-out{gap:18px;min-width:0;display:grid}.fp-card{border-top:2px solid var(--ink);padding-top:14px}.fp-h{font-family:var(--serif);margin:0 0 12px;font-size:22px;font-weight:400;line-height:1.25}.fp-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 18px;display:flex}.fp-head a{color:var(--blue);text-underline-offset:3px;font-size:14px;text-decoration:underline}.fp-routes{margin:0;padding:0;list-style:none}.fp-route{border-bottom:1px solid var(--line);position:relative}.fp-route.is-on{background:var(--fp-sea-tint);box-shadow:inset 3px 0 0 var(--fp-sea)}.fp-pick{text-align:left;width:100%;color:inherit;background:0 0;border:0;grid-template-columns:118px minmax(0,1fr) 120px 128px;align-items:center;gap:12px;padding:14px 12px 6px;display:grid}.fp-pick:focus-visible{outline:3px solid var(--clay);outline-offset:-3px}.fp-pick strong{font-size:15px;font-weight:600;line-height:1.3;display:block}.fp-pick span>span,.fp-leg>span,.fp-mins>span,.fp-total>span{color:var(--muted);font-size:12.5px;line-height:1.35;display:block}.fp-type{align-items:center;gap:7px;font-size:13px;display:flex}.fp-type svg{fill:none;width:24px;height:24px;stroke:var(--ink);stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round;flex:none}.fp-type span{color:var(--ink)!important;font-size:13px!important}.fp-mins strong,.fp-total strong{font-family:var(--serif);font-size:18px;font-weight:400}.fp-meta{color:var(--muted);flex-wrap:wrap;gap:4px 14px;margin:0;padding:0 12px 12px 142px;font-size:12.5px;display:flex}.fp-meta a{color:var(--blue);text-underline-offset:2px;text-decoration:underline}.fp-meta .fp-cite{color:var(--muted)}.fp-more{border:1px solid var(--ink);background:var(--white);color:var(--ink);border-radius:999px;margin-top:12px;padding:8px 16px;font-size:14px}.fp-more:focus-visible{outline:3px solid var(--clay);outline-offset:2px}.fp-also a{color:var(--blue);text-decoration:underline}.fp-bridge p{max-width:68ch;margin:0 0 6px}.fp-src a{color:var(--blue);font-size:13px;text-decoration:underline}.fp-runs-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.fp-runs-grid p{background:var(--cream);border-radius:4px;margin:0;padding:12px 14px}.fp-runs-grid strong{font-family:var(--serif);font-size:26px;font-weight:400;line-height:1.15;display:block}.fp-runs-grid span{color:var(--muted);font-size:13px}.fp-note{color:var(--muted);max-width:72ch;margin:10px 0 0;font-size:13.5px}.fp-empty{background:var(--cream);border-radius:4px;margin:0;padding:18px}.fp-bar{gap:2px;height:46px;margin:6px 0 16px;display:flex}.fp-seg{min-width:6px;color:var(--white);justify-content:center;align-items:center;font-size:12.5px;font-style:normal;transition:flex-grow .45s cubic-bezier(.2,.7,.2,1);display:flex}.fp-seg:first-child{border-radius:4px 0 0 4px}.fp-seg:last-child{border-radius:0 4px 4px 0}.fp-seg i{white-space:nowrap;padding:0 4px;font-style:normal;overflow:hidden}.fp-road{background:var(--fp-road)}.fp-wait{background:repeating-linear-gradient(135deg,#dfe3dc 0 5px,#c4cbc2 5px 7px)}.fp-seg.fp-wait{color:var(--ink)}.fp-sea{background:var(--fp-sea) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='10'%3E%3Cpath d='M0 7q6-5 12 0t12 0' fill='none' stroke='%23ffffff' stroke-opacity='.28' stroke-width='1.4'/%3E%3C/svg%3E") repeat}.fp-isle{background:var(--fp-isle)}.fp-legs{counter-reset:none;margin:0;padding:0;list-style:none}.fp-legs li{border-bottom:1px solid var(--line);grid-template-columns:14px 52px minmax(0,1fr) auto;align-items:baseline;gap:10px;padding:7px 0;font-size:14px;display:grid}.fp-sw{border-radius:2px;align-self:center;width:12px;height:12px}.fp-end .fp-sw{border:2px solid var(--ink);border-radius:50%}.fp-clock{font-family:var(--serif);font-size:15px}.fp-d{text-align:right;white-space:nowrap}.fp-d small{color:var(--muted);font-size:11.5px;display:block}@media (width<=900px){.fp-grid{grid-template-columns:1fr}.fp-controls{position:static}}@media (width<=640px){.fp-controls{margin:0 -2px;padding:18px 16px 4px}.fp-pick{grid-template-columns:1fr auto;grid-template-areas:"type type""leg leg""mins total";gap:6px 12px;padding:12px 10px 4px}.fp-type{grid-area:type}.fp-leg{grid-area:leg}.fp-mins{grid-area:mins}.fp-total{text-align:right;grid-area:total}.fp-meta{padding:2px 10px 12px}.fp-legs li{grid-template-columns:14px 46px minmax(0,1fr)}.fp-legs .fp-d{text-align:left;grid-column:3}.fp-bar{height:38px}}@media (prefers-reduced-motion:reduce){.fp-seg,.fp-chip span,.fp-airport span{transition:none}}@media print{.fp-grid{display:block}.fp-controls{background:0 0;border-bottom:1px solid #999;grid-template-columns:repeat(3,auto);justify-content:start;gap:4px 28px;margin-bottom:12px;padding:0 0 8px;display:grid;position:static}.fp-field{margin:0}.fp-field legend,.fp-label{margin:0 0 2px;font-size:11px;min-height:0!important}.fp input[type=number],.fp input[type=time],.fp select{background:0 0;border:0;width:auto;min-height:0;padding:0;font-size:14px}.fp #fp-guests{text-align:left;width:5em;font-size:14px}.fp-guests{display:block}.fp-assume{border:0;grid-column:1/-1;grid-template-columns:repeat(3,auto);justify-content:start;gap:4px 28px;padding:0}.fp-airport b{font-size:14px}.fp-airport small,.fp-route:not(.is-on),.fp-also,.fp-chip:not(:has(input:checked)),.fp-airport:not(:has(input:checked)),.fp-guests input[type=range],#fp-city:not(:has(option:checked:not([value=""]))),.fp-sub{display:none}.fp-chips,.fp-airports{display:inline-flex}.fp-chip span,.fp-airport span{border:0;padding:0;color:#000!important;background:0 0!important}.fp-route.is-on{background:0 0;box-shadow:inset 3px 0 #000}.fp-seg{-webkit-print-color-adjust:exact;print-color-adjust:exact}.fp-more{display:none}.fp-meta a:after{content:" (" attr(href) ")";word-break:break-all}}
