.board{max-width:80rem;margin:0 auto}.chart-col h1{font:italic 400 1rem/1.3 var(--serif);color:var(--ink-2);padding:14px var(--gutter) 10px}.chart{margin:0 var(--gutter);border:1px solid var(--ink);padding:3px;background:var(--paper)}.chart svg{display:block;width:100%;height:auto;border:1px solid var(--ink)}.chart figcaption{display:flex;flex-wrap:wrap;gap:4px 14px;padding:8px 4px 4px;font:italic 400 .8125rem/1.3 var(--serif);color:var(--ink-2)}.key{font-style:normal;font-family:var(--sans);display:inline-flex;align-items:center;gap:6px}.key i{display:inline-block;width:18px;border-top:2px solid var(--magenta)}.key .k-ferry{border-top-style:dashed}.key .k-iso{border-top:1px dashed #7fa5b6}.shallows{fill:none;stroke:var(--shallow);stroke-width:9;stroke-linejoin:round}.deep50{fill:#e0edf1}.deep100{fill:#eaf2f3}.iso{fill:none;stroke:#7fa5b6;stroke-width:.7;stroke-dasharray:1.5 2.5}.iso100{stroke-dasharray:6 3}.grat path{stroke:var(--grat);stroke-width:.6}.grat text{font:400 10px var(--sans);fill:#4f6f80}.grat text,.names text,.plot text,.scale text{paint-order:stroke;stroke:var(--paper);stroke-width:3px;stroke-opacity:.85;stroke-linejoin:round}.scale path{fill:none;stroke:var(--ink);stroke-width:1.2}.scale text{font:italic 400 11px var(--serif);fill:var(--ink)}.land{fill:var(--land);stroke:var(--ink);stroke-width:1;stroke-linejoin:round}.names text{font:italic 400 15px var(--serif);fill:var(--ink)}.names .sm{font-size:12px}.names .lg{font-size:22px;letter-spacing:.08em}.port-names text{font-size:13px;font-weight:600}.course path{fill:none;stroke:var(--magenta);stroke-width:2.2;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.1s var(--ease-out) .15s forwards}.course .ferry{stroke-dasharray:5 4;stroke-dashoffset:0;animation:none}.course .reveal{stroke:#fff;stroke-width:8}.ports circle{fill:var(--paper);stroke:var(--magenta);stroke-width:2}.plot text{font:italic 600 14px var(--serif);fill:var(--magenta)}.plot .rose{fill:var(--paper);fill-opacity:.6;stroke:var(--ink);stroke-width:1}.plot .rose-tick{stroke:var(--ink);stroke-width:1}.plot .rose-n{font:600 10px var(--sans);fill:var(--ink)}.plot .wind{fill:none;stroke:var(--magenta);stroke-width:2.5;stroke-linejoin:round}.plot,.day,.roster{animation:settle .24s var(--ease-out)}@keyframes draw{to{stroke-dashoffset:0}}@keyframes settle{0%{opacity:0;filter:blur(2px)}}.legend{padding:20px var(--gutter) 0}.day-h{font:italic 400 1.375rem/1.2 var(--serif);margin-bottom:4px}.day-h span{color:var(--ink-2)}.answer{display:grid;grid-template-columns:6.5rem 1fr;column-gap:12px;padding:14px 0;border-top:1px solid var(--hair)}.answer:first-of-type{border-top-color:var(--ink);margin-top:12px}.answer>:not(.a-label){grid-column:2}.a-label{font:600 .8125rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);padding-top:.6em}.a-word{display:flex;align-items:center;gap:10px;font:700 clamp(1.75rem,7vw,2.25rem)/1.1 var(--sans);letter-spacing:-.02em}.a-word .mark{width:18px;height:18px}.a-why{margin-top:4px;max-width:46ch}.a-metric{margin-top:4px;font-size:.875rem;color:var(--ink-2)}.days{border:0;margin:20px 0 0;padding:0 var(--gutter);min-width:0}.days legend{font:600 .8125rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);padding:0;margin-bottom:10px}.day-row{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px}.plate{position:relative;display:grid;justify-items:center;gap:3px;padding:10px 0 9px;cursor:pointer;border:1px solid var(--hair);border-radius:2px;background:transparent;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform .14s var(--ease-out),border-color .14s ease,background-color .14s ease}.plate:active{transform:scale(.97)}.plate:has(:checked){border-color:var(--ink);background:#fff}.plate:has(:checked):before{content:"";position:absolute;inset:-1px -1px auto;height:3px;background:var(--magenta)}.plate:has(:focus-visible){outline:2px solid var(--magenta);outline-offset:3px}@media(hover:hover)and (pointer:fine){.plate:hover:not(:has(:checked)){border-color:var(--ink-2)}}.p-day{font:600 .75rem/1 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2)}.plate:has(:checked) .p-day{color:var(--ink)}.p-num{font:700 1.25rem/1 var(--sans)}.p-marks{display:flex;gap:2px;margin-top:3px}.p-marks svg{width:9px;height:9px}.source{margin:12px var(--gutter) 0;font-size:.8125rem;color:var(--ink-2);max-width:60ch}.side>section,.trips{padding:0 var(--gutter)}.side h2,.trips h2{font:700 1.5rem/1.15 var(--sans);letter-spacing:-.015em;margin:48px 0 6px}.now{font-size:.875rem;color:var(--ink-2);max-width:60ch;margin-bottom:14px}.now time{color:var(--magenta);font-weight:700}td.t{font:700 1.375rem/1.1 var(--sans);white-space:nowrap;width:5.5rem}.arr{font-weight:600}tr[data-past]{color:var(--ink-2)}tr[data-past] td.t{font-weight:400}.tag{display:block;font:600 .6875rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;margin-top:4px}tr[data-next] td.t{color:var(--magenta)}tr[data-next] td{border-bottom-color:var(--ink)}.board[data-other-day] tr[data-past]{color:inherit}.board[data-other-day] tr[data-past] td.t{font-weight:700}.board[data-other-day] tr[data-next] td.t{color:inherit}.board[data-other-day] .tag{display:none}.roster{list-style:none;padding:0;margin:14px 0 0;border-top:1px solid var(--ink)}.trip{padding:16px 0;border-bottom:1px solid var(--hair)}.trip-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.trip h3{font:600 1.125rem/1.25 var(--sans)}.trip.stay h3{color:var(--ink-2)}.trip-state{display:inline-flex;align-items:center;gap:6px;flex:none;font-size:.8125rem;font-weight:600}.trip-state .mark{width:11px;height:11px}.trip-facts{font-size:.875rem;color:var(--ink-2);margin-top:2px}.trip-link{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:8px 12px;border:1px solid var(--ink);border-radius:2px;font:600 .875rem/1 var(--sans);text-decoration:none;transition:transform .14s var(--ease-out),background-color .14s ease,color .14s ease}.trip-link:active{transform:scale(.97)}@media(hover:hover)and (pointer:fine){.trip-link:hover{background:var(--ink);color:var(--paper)}}@media(max-width:600px){.names text{font-size:24px}.names .sm{font-size:19px}.names .lg{font-size:30px}.port-names text{font-size:20px}.plot text{font-size:22px}.grat text{font-size:15px}.scale text{font-size:17px}.plot .rose-n{font-size:15px}}@media(prefers-reduced-motion:reduce){.course path{animation:none;stroke-dashoffset:0}.plot,.day,.roster{animation-name:none}}@media(min-width:960px){.board{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:8px;align-items:start}.chart-col{padding-bottom:24px}.chart-col{border-right:1px solid var(--hair)}.side{position:sticky;top:0}.side h2{margin-top:24px}.trips{grid-column:1 / -1;border-top:1px solid var(--hair);margin-top:8px}.roster{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:24px;border-top:0}.trip{display:flex;flex-direction:column;border-bottom:0;border-top:1px solid var(--ink)}.trip-head{flex-wrap:wrap;gap:4px 12px}.trip-facts{flex:1}.trip-link{align-self:start}}
