:root{color-scheme:light dark;--fg:light-dark(#111,#e8e8e8);--muted:light-dark(#666,#9a9a9a)}
body{font:16px/1.4 system-ui,sans-serif;max-width:36rem;margin:0 auto;padding:.5rem 1rem;color:var(--fg);background:light-dark(#fff,#141414)}
a{color:light-dark(#0645ad,#8ab4f8)}
nav{display:flex;justify-content:space-between;align-items:baseline}
h1{font-size:1.3rem;margin:.6rem 0}
h2{font-size:.8rem;text-transform:uppercase;margin:1.2rem 0 .3rem}
.dir{font-size:1.05rem;text-transform:none}
.alert p{margin:0}
details,.alert{background:light-dark(#fff7e0,#33290f);padding:.4rem .6rem;margin:.4rem 0}
.season{margin:.4rem 0;font-size:.9em}
.notice{background:none;padding:0;margin:.6rem 0;font-size:.85em}
summary{display:block;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[open] summary{white-space:normal}
summary::before{content:"▸ "}[open] summary::before{content:"▾ "}summary::-webkit-details-marker{display:none}
table{width:100%;border-collapse:collapse}
th{text-align:left;font-weight:400;font-size:.8rem}
.day{padding-top:.6rem;color:var(--fg);font-weight:600}
.head th{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid light-dark(#ddd,#333);padding-bottom:.2rem}
td{padding:.2rem .5rem .2rem 0}.sailing td{padding:0 .5rem .15rem 0;vertical-align:top}.boat td{padding:.15rem 0 0;line-height:1}.boat small{font-size:.75em}
.s:nth-child(even of .s){background:light-dark(#f4f4f4,#1e1e1e)}.s td:first-child,.head th:first-child{padding-left:.3rem}
ul{list-style:none;padding:0}
li{margin-bottom:.4rem}
.dot{display:inline-block;width:.6em;height:.6em;border-radius:50%;margin-right:.3em;border:1px solid #0003}
.late,.full,.alerts{color:light-dark(#b45309,#f59e0b)}[class="on time"]{color:light-dark(#15803d,#4ade80)}.cancelled{color:light-dark(#b91c1c,#f87171)}
.stale{opacity:.6}.offline{display:none}.stale .offline{display:inline}
form{display:inline}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.actions{margin:-.3rem 0 .6rem}.fav button{color:light-dark(#ca8a04,#facc15);font-size:1.4rem;line-height:1;padding:.4rem .5rem;margin:-.4rem 0;vertical-align:-.05em}li .fav button{font-size:1.1rem}
nav a,.actions a,li>a,.cams a{padding:.5rem 0}.cams{margin:.4rem 0}.term{margin:0 0 .9rem;line-height:1.5}.term>a{font-weight:600}.term small a{padding:.4rem 0}.up{padding:.5rem .8rem;margin:-.5rem 0}
.actions a,.term small a,li>span,.grid span{white-space:nowrap}
sup{font-size:.7em}footer{margin:2rem 0 1rem}.updated{margin:0 0 .6rem}
.grid{table-layout:fixed;line-height:1.25}.grid td,.grid th{padding-block:.1rem}.aside{text-transform:none;font-weight:400}.grid th:first-child{width:2.5rem;text-align:right;padding-right:.8rem}
h2,th,small,.notice,summary::before,.departed,.scheduled,.unavailable,.past,.actions button,.actions a,.up,li .fav [aria-label^=add]{color:var(--muted)}
.notify p{margin:.5rem 0}.notify label{white-space:nowrap}.notify input{margin:0 .15rem 0 0}.notify select{font:inherit}.notify button{color:light-dark(#0645ad,#8ab4f8);text-decoration:underline}.rm{color:var(--muted);text-decoration:underline;font-size:.85em;padding:.4rem 0;margin:-.4rem 0}
