:root{--night:#071521;--deep:#0b1e2e;--signal:#4df0e0;--paper:#eef2f3;--surface:#fff;--sunk:#e3e9ec;--ink:#0b1e2e;--ink-2:#445361;--ink-3:#66737e;--line:#d3dce0;--accent:#0b7a70;--accent-wash:#ddf3f0;--flag:#c2471f;--flag-fill:#ff7a59;--flag-wash:#fde9e2;--good:#1d7a3e;--radius-lg:18px;--radius:12px;--radius-sm:8px;--display:"Unbounded", "Inter", system-ui, sans-serif;--body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#071521;--surface:#0e2233;--sunk:#0a1b29;--ink:#eaf1f4;--ink-2:#a9b8c3;--ink-3:#8697a4;--line:#1f3547;--accent:#4df0e0;--accent-wash:#0f3436;--flag:#ff8f6e;--flag-wash:#3a1e17;--good:#6fd69a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--paper:#071521;--surface:#0e2233;--sunk:#0a1b29;--ink:#eaf1f4;--ink-2:#a9b8c3;--ink-3:#8697a4;--line:#1f3547;--accent:#4df0e0;--accent-wash:#0f3436;--flag:#ff8f6e;--flag-wash:#3a1e17;--good:#6fd69a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.5}body{min-height:100vh}a{color:var(--accent);text-underline-offset:3px}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2.5px solid var(--accent);outline-offset:2px;border-radius:6px}.tnum{font-variant-numeric:tabular-nums}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.shell{background:linear-gradient(to right, var(--deep) 252px, transparent 252px);grid-template-columns:252px minmax(0,1fr);min-height:100vh;display:grid}.rail{background:var(--deep);color:#dce6ec;--paper:var(--deep);flex-direction:column;gap:4px;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{color:#fff;align-items:center;gap:10px;padding:4px 10px 18px;text-decoration:none;display:flex}.brand-word{font-family:var(--display);letter-spacing:.24em;font-size:15px;font-weight:500}.boat-switch{border-radius:var(--radius);color:#fff;text-align:left;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff17;width:calc(100% - 12px);margin:0 6px 14px;padding:10px 12px}.boat-switch small{color:#9fb3c1;font-size:12px;display:block}.boat-switch select{all:unset;cursor:pointer;width:100%;font-weight:600}.nav-group{color:#8da2b1;margin:14px 10px 6px;font-size:12px}.nav a{color:#dce6ec;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;font-size:15px;font-weight:500;text-decoration:none;display:flex}.nav a:hover{background:#ffffff0f}.nav a[aria-current=page]{color:#fff;background:#4df0e01f}.nav a[aria-current=page] svg{color:var(--signal)}.nav a .lock{opacity:.55;margin-left:auto}.rail-foot{color:#9fb3c1;flex-direction:column;gap:6px;margin-top:auto;padding:14px 10px 0;font-size:13px;display:flex}.rail-foot button{all:unset;cursor:pointer;color:#c8d6df}.rail-foot button:hover{color:#fff;text-decoration:underline}.main{min-width:0;padding:32px 40px 80px}.page{flex-direction:column;gap:22px;max-width:920px;margin:0 auto;display:flex}.page-wide{max-width:1180px}.tabbar{display:none}@media (width<=860px){.shell{background:0 0;grid-template-columns:minmax(0,1fr)}.rail{display:none}.main{padding:18px 16px 104px}.tabbar{grid-template-columns:repeat(var(--tabs,4), minmax(0, 1fr));z-index:20;background:var(--deep);padding:8px 6px calc(8px + env(safe-area-inset-bottom));display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:#a9bcc9;border-radius:10px;flex-direction:column;align-items:center;gap:3px;padding:6px 0;font-size:11.5px;font-weight:500;text-decoration:none;display:flex}.tabbar a[aria-current=page]{color:#fff}.tabbar a[aria-current=page] svg{color:var(--signal)}.mobile-top{display:flex!important}}.mobile-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;display:none}.mobile-top select{border:1px solid var(--line);background:var(--surface);border-radius:10px;max-width:70vw;padding:8px 10px;font-weight:600}h1,h2,h3{margin:0;line-height:1.15}.h-display{font-family:var(--display);letter-spacing:-.01em;font-size:clamp(26px,4vw,36px);font-weight:600}.h-section{letter-spacing:-.005em;font-size:19px;font-weight:700}.h-card{font-size:16px;font-weight:650}.muted{color:var(--ink-2)}.faint{color:var(--ink-3);font-size:14px}.small{font-size:14px}p{margin:0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px 22px}.panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.panel-head .h-section{align-items:center;gap:10px;display:flex}.panel-head .h-section svg{color:var(--accent)}.stack{flex-direction:column;gap:14px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}@media (width<=720px){.grid-2,.grid-3{grid-template-columns:minmax(0,1fr)}.panel{padding:16px}}.divider{background:var(--line);height:1px;margin:4px 0}.btn{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--ink-3)}.btn-primary{background:var(--deep);color:#fff;border-color:var(--deep)}.btn-primary:hover{background:#12304a}:root[data-theme=dark] .btn-primary{background:var(--signal);color:var(--deep);border-color:var(--signal)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .btn-primary{background:var(--signal);color:var(--deep);border-color:var(--signal)}}.btn-quiet{background:0 0;border-color:#0000}.btn-quiet:hover{background:var(--sunk)}.btn-sm{min-height:36px;padding:0 14px;font-size:14px}.btn[disabled]{opacity:.5;cursor:not-allowed}.icon-btn{cursor:pointer;width:40px;height:40px;color:var(--ink-2);background:0 0;border:1px solid #0000;border-radius:999px;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--sunk);color:var(--ink)}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--ink-2);font-size:14px;font-weight:600}.field small{color:var(--ink-3);font-size:13px}.input,.select,.textarea{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);width:100%;min-height:44px;padding:10px 12px}.textarea{resize:vertical;min-height:88px;line-height:1.45}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:#0000}.seg{background:var(--sunk);border-radius:999px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.seg button{cursor:pointer;color:var(--ink-2);background:0 0;border:0;border-radius:999px;min-height:36px;padding:7px 14px;font-size:14px;font-weight:600}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0b1e2e1f}.chip{background:var(--sunk);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:13px;font-weight:600;display:inline-flex}.chip-accent{background:var(--accent-wash);color:var(--accent)}.chip-flag{background:var(--flag-wash);color:var(--flag)}.chip-good{background:color-mix(in srgb, var(--good) 14%, transparent);color:var(--good)}.notice{border-radius:var(--radius);background:var(--sunk);color:var(--ink-2);align-items:flex-start;gap:12px;padding:12px 14px;font-size:14px;display:flex}.notice-flag{background:var(--flag-wash);color:var(--flag)}.error{color:var(--flag);font-size:14px;font-weight:500}.empty{text-align:center;border:1.5px dashed var(--line);border-radius:var(--radius-lg);color:var(--ink-2);flex-direction:column;align-items:center;gap:12px;padding:28px 20px;display:flex}.toast{background:var(--deep);color:#fff;z-index:50;border-radius:999px;align-items:center;gap:8px;padding:12px 18px;font-size:14px;font-weight:600;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0715214d}.toast svg{color:var(--signal)}@media (width<=860px){.toast{bottom:96px}}.hero{background:var(--deep);color:#fff;border-radius:22px;grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:26px 28px;display:grid;position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;border:1px solid #4df0e024;border-radius:50%;width:340px;height:340px;position:absolute;inset:auto -60px -120px auto;box-shadow:0 0 0 40px #4df0e008,0 0 0 80px #4df0e005}.hero .meta{color:#a9bcc9;font-size:14px}.hero h1{font-family:var(--display);letter-spacing:-.01em;margin:6px 0 8px;font-size:clamp(24px,3.6vw,34px);font-weight:600}.hero .headline{color:#dce6ec;max-width:54ch;font-size:16px}.hero .clock{text-align:right;z-index:1;align-self:end;position:relative}.hero .clock b{font-family:var(--display);color:var(--signal);font-size:clamp(30px,5vw,48px);font-weight:500;line-height:1;display:block}.hero .clock span{color:#a9bcc9;font-size:13px}@media (width<=640px){.hero{grid-template-columns:minmax(0,1fr);padding:22px 20px}.hero .clock{text-align:left}}.tabs{border-bottom:1px solid var(--line);gap:4px;display:flex;overflow-x:auto}.tabs a{color:var(--ink-2);white-space:nowrap;border-bottom:2.5px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:12px 16px;font-weight:600;text-decoration:none;display:inline-flex}.tabs a[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}.tabs a svg{color:var(--ink-3)}.tabs a[aria-current=page] svg{color:var(--accent)}.wind-now{align-items:center;gap:18px;display:flex}.wind-now .big{font-family:var(--display);font-size:40px;font-weight:500;line-height:1}.wind-now .big small{font-family:var(--body);color:var(--ink-2);margin-left:4px;font-size:15px;font-weight:600}.windchart text{font-family:var(--body)}.legs{flex-direction:column;display:flex}.leg{border-top:1px solid var(--line);grid-template-columns:34px 64px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 0;display:grid}.leg:first-child{border-top:0}.leg-n{background:var(--deep);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:14px;font-weight:700;display:grid}:root[data-theme=dark] .leg-n{background:var(--signal);color:var(--deep)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .leg-n{background:var(--signal);color:var(--deep)}}.leg-title{font-weight:650}.leg-sub{color:var(--ink-2);font-size:14px}@media (width<=560px){.leg{grid-template-columns:30px 56px minmax(0,1fr)}.leg>:last-child{grid-column:3}}.leg-edit{border-top:1px solid var(--line);grid-template-columns:1fr 1fr 100px 100px 100px 40px;align-items:end;gap:8px;padding:10px 0;display:grid}@media (width<=720px){.leg-edit{grid-template-columns:1fr 1fr}}.list{flex-direction:column;display:flex}.list-item{border-top:1px solid var(--line);color:inherit;align-items:center;gap:14px;padding:14px 4px;text-decoration:none;display:flex}.list-item:first-child{border-top:0}a.list-item:hover{background:var(--sunk);border-radius:10px}.date-tile{text-align:center;background:var(--sunk);border-radius:12px;flex:none;width:54px;padding:6px 0}.date-tile b{font-family:var(--display);font-size:20px;font-weight:500;line-height:1.1;display:block}.date-tile span{color:var(--ink-2);font-size:12px;font-weight:600}.lesson{border-top:1px solid var(--line);gap:12px;padding:12px 0;display:flex}.lesson:first-child{border-top:0}.lesson-dot{background:var(--accent);border-radius:50%;flex:none;width:10px;height:10px;margin-top:7px}.lesson-dot.change{background:var(--flag-fill)}.rating{grid-template-columns:130px minmax(0,1fr);align-items:center;gap:12px;padding:8px 0;display:grid}.rating .dots{gap:6px;display:flex}.rating .dots button{border:1.5px solid var(--line);background:var(--surface);cursor:pointer;width:40px;height:40px;color:var(--ink-2);border-radius:50%;font-weight:700}.rating .dots button[aria-pressed=true]{background:var(--deep);border-color:var(--deep);color:#fff}:root[data-theme=dark] .rating .dots button[aria-pressed=true]{background:var(--signal);border-color:var(--signal);color:var(--deep)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .rating .dots button[aria-pressed=true]{background:var(--signal);border-color:var(--signal);color:var(--deep)}}@media (width<=480px){.rating{grid-template-columns:minmax(0,1fr);gap:6px}}.avatar{background:var(--accent-wash);width:34px;height:34px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.rsvp{gap:6px;display:inline-flex}.rsvp button{border:1.5px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;min-height:40px;padding:0 14px;font-size:14px;font-weight:600}.rsvp button[aria-pressed=true][data-v=in]{background:var(--good);border-color:var(--good);color:#fff}.rsvp button[aria-pressed=true][data-v=maybe]{color:#fff;background:#b7791f;border-color:#b7791f}.rsvp button[aria-pressed=true][data-v=out]{background:var(--ink-3);border-color:var(--ink-3);color:#fff}.module{border-top:1px solid var(--line);grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 0;display:grid}.module:first-child{border-top:0}.module-icon{background:var(--deep);width:52px;height:52px;color:var(--signal);border-radius:15px;place-items:center;display:grid}.module-icon.core{background:var(--accent-wash);color:var(--accent)}@media (width<=560px){.module{grid-template-columns:52px minmax(0,1fr)}.module>:last-child{grid-column:2;justify-self:start}}.switch{background:var(--line);cursor:pointer;border:0;border-radius:999px;flex:none;width:52px;height:30px;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0003}.switch[aria-checked=true]{background:var(--accent)}.switch[aria-checked=true]:after{transform:translate(22px)}@media (prefers-reduced-motion:reduce){.switch:after{transition:none}}.season{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);overflow-x:auto}.season table{border-collapse:collapse;min-width:100%;font-size:14px}.season th,.season td{border-bottom:1px solid var(--line);text-align:center;white-space:nowrap;padding:10px 12px}.season th:first-child,.season td:first-child{text-align:left;background:var(--surface);position:sticky;left:0}.season thead th{color:var(--ink-2);vertical-align:bottom;font-size:13px;font-weight:600}.cell-btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:8px;width:40px;height:34px;font-weight:700}.cell-btn[data-v=in]{background:color-mix(in srgb, var(--good) 16%, transparent);color:var(--good);border-color:#0000}.cell-btn[data-v=maybe]{color:#8a5a12;background:#f6e7c8;border-color:#0000}.cell-btn[data-v=out]{background:var(--sunk);color:var(--ink-3);border-color:#0000}.auth{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:100vh;display:grid}.auth-art{background:var(--deep);color:#fff;flex-direction:column;justify-content:space-between;padding:48px;display:flex;position:relative;overflow:hidden}.auth-art h1{font-family:var(--display);letter-spacing:-.015em;max-width:13ch;font-size:clamp(30px,4vw,46px);font-weight:600;line-height:1.08}.auth-art p{color:#b9c9d4;max-width:42ch;font-size:17px}.auth-form{place-items:center;padding:32px 20px;display:grid}.auth-form form{flex-direction:column;gap:16px;width:100%;max-width:380px;display:flex}@media (width<=860px){.auth{grid-template-columns:minmax(0,1fr)}.auth-art{gap:28px;min-height:0;padding:28px 22px}.auth-art .loop{display:none}}@media print{@page{margin:12mm}:root{--paper:#fff;--surface:#fff;--ink:#000;--ink-2:#333;--line:#bbb;--accent:#0b5f57}.rail,.tabbar,.tabs,.no-print,.toast,.mobile-top{display:none!important}.shell{display:block}.main{padding:0}.hero{color:#000;border:2px solid #000;background:#fff!important}.hero .meta,.hero .headline,.hero .clock span{color:#333}.hero .clock b{color:#000}.hero:after{display:none}.panel{break-inside:avoid;border-color:#999}.leg-n{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#fff!important;background:#000!important}}.callout{background:color-mix(in srgb, var(--accent) 10%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:14px;padding:12px 14px;font-size:14px;line-height:1.5}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px;font-size:11px;font-weight:700}.targets{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.target{background:var(--sunk);border-radius:14px;padding:12px 14px}.target-big{color:var(--ink);font-family:Unbounded,system-ui,sans-serif;font-size:30px;font-weight:600;line-height:1.1}.target-big small{color:var(--ink-3);margin-left:3px;font-family:Inter,system-ui,sans-serif;font-size:13px}.target-row{color:var(--ink-2);flex-wrap:wrap;gap:4px 12px;margin-top:4px;font-size:13px;display:flex}.target-row b{color:var(--ink)}@media (width<=560px){.targets.three{grid-template-columns:1fr 1fr}.targets.three .target:nth-child(2){order:3;grid-column:1/-1}}.polar-wrap{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.polar-key{color:var(--ink-2);flex-direction:column;gap:6px;font-size:13px;display:flex}.polar-key i{vertical-align:middle;border-radius:2px;width:16px;height:4px;margin-right:8px;display:inline-block}@media (width<=560px){.polar-key{flex-flow:wrap;gap:6px 14px}}.table{border-collapse:collapse;width:100%;font-size:14px}.table caption{text-align:left;color:var(--ink);padding-bottom:6px;font-weight:700}.table th{text-align:right;color:var(--ink-3);border-bottom:1px solid var(--line);padding:6px 8px;font-size:12px;font-weight:600}.table td{text-align:right;border-bottom:1px solid var(--line);padding:6px 8px}.table th:first-child,.table td:first-child{text-align:left}.rating-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.rating{background:var(--sunk);border-radius:12px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.rating>span{color:var(--ink);font-size:22px;font-weight:700}.rating small{color:var(--ink-2);font-size:12.5px}.spec{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px 18px;margin:0;display:grid}.spec dt{color:var(--ink-3);font-size:12px}.spec dd{color:var(--ink);margin:0;font-size:14px;font-weight:600}.leg-target{color:var(--ink-2);margin-top:3px;font-size:13px}.leg-target b{color:var(--ink)}
