:root{--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--bg:#07111f;--panel:rgba(15,28,48,0.88);--panel-2:rgba(22,40,66,0.92);--line:rgba(186,214,236,0.14);--line-strong:rgba(56,189,214,0.45);--text:#f4f8fc;--muted:#9eb0c4;--accent:#38bdf8;--accent-ink:#042033;--warn:#f5b15a;--danger:#fb7185;--success:#34d399;--info:#22d3ee;--surface-app:var(--bg);--surface-card:var(--panel);--surface-elevated:var(--panel-2);--surface-nav:var(--sidebar-bg);--text-primary:var(--text);--text-muted:var(--muted);--border:var(--line);--border-strong:var(--line-strong);--brand:var(--accent);--status-success:var(--success);--status-warning:var(--warn);--status-error:var(--danger);--status-info:var(--info);--domain-sail:#22b8f0;--domain-sc:#18b99a;--domain-ready:#80d65c;--domain-well:#9b8afb;--domain-attn:#f4b544;--domain-critical:#f27473;--domain-neutral:#8ba3b8;--chart-1:var(--domain-sail);--chart-2:var(--domain-sc);--chart-3:var(--domain-ready);--chart-4:var(--domain-well);--glass-blur:18px;--glass-shadow:0 10px 32px rgba(0,0,0,0.45),inset 0 1px 0 rgba(255,255,255,0.08);--page-base:#07111f;--page-image:radial-gradient(900px 420px at 0% -8%,rgba(56,189,248,0.12),transparent 55%),radial-gradient(700px 380px at 100% 0%,rgba(45,212,191,0.08),transparent 48%),linear-gradient(180deg,#0c1a2e,#07111f 48%,#050b16);--sidebar-bg:rgba(8,18,32,0.96);--drawer-bg:rgba(7,17,31,0.98);--nav-toggle-bg:rgba(32,32,32,0.62);--menu-bg:#102033;--scrim:rgba(0,0,0,0.62);--btn-bg:rgba(28,28,28,0.55);--btn-bg-hover:rgba(42,42,42,0.72);--btn-ghost-bg:rgba(24,24,24,0.4);--btn-ghost-hover:rgba(38,38,38,0.6);--period-bg:rgba(26,26,26,0.48);--period-hover:rgba(40,40,40,0.68);--cal-cell-bg:rgba(28,28,28,0.5);--sheet-group-bg:rgba(32,32,32,0.92);--chip-neutral-bg:#2a2a2a;--chip-neutral-fg:#d0d0d0;--chip-neutral-border:#4a4a4a;--gold-soft:rgba(36,32,18,0.55);--danger-soft:rgba(48,18,22,0.7);--danger-fg:#ffc4cb;--locked-row:rgba(255,255,255,0.04);--locked-input:rgba(18,18,18,0.6);--status-ok-bg:rgba(120,160,130,0.22);--status-ok-fg:#d4e8da;--status-warn-bg:rgba(245,177,90,0.18);--status-warn-fg:#fde7c2;--status-miss-bg:rgba(226,59,76,0.2);--status-miss-fg:#f5b4bb;--row-stripe:rgba(255,255,255,0.04);--row-head:rgba(255,255,255,0.06);--shadow:var(--glass-shadow);--btn-duration:180ms;--btn-ease:cubic-bezier(0.22,1,0.36,1);--btn-danger:#e23b4c;--route-duration:280ms;--route-ease:cubic-bezier(0.22,1,0.36,1);--rail:4.5rem;--sidebar:16.5rem;--control:clamp(31px,27.7px + 0.86vw,40px);--control-icon:clamp(13.5px,12.1px + 0.35vw,19px);--mark:clamp(10px,8.3px + 0.43vw,15px);--pin:clamp(12px,10.1px + 0.48vw,18px);--track:clamp(3px,2.25px + 0.19vw,6px);--dot:clamp(5px,4.4px + 0.24vw,8px);--avatar:clamp(26px,22.3px + 0.95vw,40px);font-family:Inter,Segoe UI,system-ui,sans-serif;color-scheme:dark;accent-color:var(--accent)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;color:var(--text)}html{background:var(--page-base);font-size:clamp(15px,12.5px + .42vw,18px)}body,body.app-body{font-size:.9375rem;line-height:1.45;background-color:var(--page-base);background-image:var(--page-image);background-attachment:fixed}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh}.workspace{min-width:0}.workspace-top{align-items:stretch;gap:0;position:-webkit-sticky;position:sticky;top:0;z-index:40;border-bottom:1px solid var(--line)}.sidebar,.workspace-top{display:flex;background:var(--sidebar-bg)}.sidebar{backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-right:1px solid var(--line);box-shadow:inset -1px 0 0 rgba(220,200,150,.06),12px 0 40px rgba(0,0,0,.28);padding:var(--space-4) var(--space-3) var(--space-4);flex-direction:column;min-height:100vh;z-index:30}.brand,.sidebar{gap:var(--space-3)}.brand{display:flex;align-items:center}.brand,.brand-copy{min-width:0}.brand strong{font-size:.875rem;font-weight:750;letter-spacing:.04em}.brand p{margin:0;color:var(--muted);font-size:.6875rem;font-weight:500}.mark{width:3.15rem;height:2.45rem;border-radius:.55rem;background:#0a0a0a;overflow:hidden;display:grid;place-items:center;box-shadow:0 0 18px rgba(56,189,248,.22);border:1px solid rgba(255,255,255,.08);flex-shrink:0}.mark img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}.sidebar-nav{display:flex;flex-direction:column;gap:2px;flex:1 1;overflow-y:auto}.sidebar-nav a,.sidebar-settings{color:var(--muted);text-decoration:none;padding:.42rem var(--space-3);border-radius:.55rem;font-size:.8125rem;font-weight:500;display:flex;align-items:center;gap:.55rem;min-height:var(--control);position:relative}.nav-icon{width:1rem;height:1rem;display:grid;place-items:center;flex-shrink:0;color:var(--domain-neutral)}.sidebar-nav a.active .nav-icon{color:var(--domain-sail)}.nav-abbr{display:none;width:calc(var(--control) * .72);height:calc(var(--control) * .72);flex-shrink:0;place-items:center;border-radius:.4rem;font-size:.62rem;font-weight:800;letter-spacing:.02em;color:var(--accent);background:rgba(56,189,248,.1);border:1px solid rgba(56,189,248,.18)}.sidebar-nav a:hover,.sidebar-settings:hover{background:rgba(56,189,248,.08);color:var(--text)}.sidebar-nav a.active,.sidebar-settings.active{background:rgba(56,189,248,.14);color:var(--accent);font-weight:650;box-shadow:inset 2px 0 0 var(--accent),0 0 16px rgba(56,189,248,.12)}.sidebar-end{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--line);margin-top:auto}.nav-drawer-close,.nav-scrim,.nav-toggle{display:none}button.nav-scrim,button.nav-scrim:active,button.nav-scrim:disabled,button.nav-scrim:hover{min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transform:none;filter:none;color:transparent}.sidebar-settings{align-self:stretch}.role-form{display:grid;grid-gap:var(--space-2);gap:var(--space-2);font-size:.85rem;color:var(--muted)}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}input,select,textarea{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:.5rem;padding:var(--space-2) var(--space-3);font:inherit;width:100%}.assign-form input,.assign-form select,.auth-form input,.auth-form select,.auth-form textarea,.inline-fields input,.inline-fields select,.password-field{width:100%}.password-field{display:block;position:relative}.password-field input{padding-right:calc(var(--control) + .35rem)}.password-toggle{position:absolute;top:50%;right:.2rem;transform:translateY(-50%);width:calc(var(--control) * .9);height:calc(var(--control) * .9);padding:0;border:0;background:transparent;color:var(--muted);box-shadow:none}.password-toggle.is-visible,.password-toggle:hover{background:transparent;color:var(--accent)}textarea{width:100%;resize:vertical}a.button-link,a.ghost,a.ghost-link,button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;width:auto;max-width:100%;padding:.48rem 1rem;border-radius:.72rem;border:1px solid var(--line-strong);background:var(--btn-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--text);font:inherit;font-size:.875rem;font-weight:650;line-height:1.2;text-decoration:none;cursor:pointer;min-height:var(--control);box-shadow:0 8px 20px rgba(0,0,0,.28),inset 0 1px 0 rgba(232,220,180,.16);transition:background var(--btn-duration) var(--btn-ease),border-color var(--btn-duration) var(--btn-ease),box-shadow var(--btn-duration) var(--btn-ease),color var(--btn-duration) var(--btn-ease),transform var(--btn-duration) var(--btn-ease),filter var(--btn-duration) var(--btn-ease),opacity var(--btn-duration) var(--btn-ease)}a.button-link:hover,a.ghost-link:hover,a.ghost:hover,button:hover:not(:disabled){background:var(--btn-bg-hover);border-color:rgba(56,189,248,.52);color:var(--text);box-shadow:0 10px 24px rgba(0,0,0,.34),0 0 18px rgba(56,189,248,.18),inset 0 1px 0 rgba(232,220,180,.22);transform:translateY(-1px) scale(1.02)}a.button-link:active,a.ghost-link:active,a.ghost:active,button:active:not(:disabled){transform:translateY(0) scale(.97);box-shadow:0 2px 10px rgba(0,0,0,.36),inset 0 1px 0 rgba(232,220,180,.08)}button:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.28) saturate(.7);color:var(--muted)}button:disabled,button:disabled:active,button:disabled:hover{box-shadow:inset 0 1px 0 rgba(232,220,180,.06);transform:none}button:disabled:active,button:disabled:hover{background:var(--btn-bg);border-color:var(--line-strong)}.assign-form>button[type=submit]:not(.ghost):not(.danger),.auth-form>button[type=submit]:not(.ghost):not(.danger),a.button-link,button.primary,label.picture-upload{background:linear-gradient(180deg,#7dd3fc,#0284c7);color:#042033;border-color:rgba(232,210,140,.58);box-shadow:0 8px 22px rgba(180,140,40,.32),0 0 22px rgba(56,189,248,.38),inset 0 1px 0 rgba(255,255,255,.38)}.assign-form>button[type=submit]:not(.ghost):not(.danger):hover:not(:disabled),.auth-form>button[type=submit]:not(.ghost):not(.danger):hover:not(:disabled),a.button-link:hover,button.primary:hover:not(:disabled),label.picture-upload:hover{background:linear-gradient(180deg,#38bdf8,#0369a1);filter:brightness(1.04);box-shadow:0 12px 28px rgba(180,140,40,.42),0 0 30px rgba(56,189,248,.52),inset 0 1px 0 rgba(255,255,255,.45)}a.button-link:active,button.primary:active:not(:disabled){filter:brightness(.96)}button.primary:disabled{color:var(--accent-ink);opacity:.45}a.ghost,a.ghost-link,button.ghost{background:var(--btn-ghost-bg);color:var(--muted);border-color:var(--line);box-shadow:inset 0 1px 0 rgba(232,220,180,.1)}a.ghost-link:hover,a.ghost:hover,button.ghost:hover:not(:disabled){background:var(--btn-ghost-hover);color:var(--text)}.confirm-yes,button.danger{background:rgba(255,92,108,.14);color:var(--danger-fg);border-color:rgba(255,92,108,.46);box-shadow:0 8px 20px rgba(70,8,18,.28),0 0 16px rgba(255,92,108,.16),inset 0 1px 0 rgba(255,200,210,.16)}.confirm-yes:hover:not(:disabled),button.danger:hover:not(:disabled){background:rgba(255,92,108,.24);color:var(--danger-fg);border-color:rgba(255,140,150,.7);box-shadow:0 10px 24px rgba(70,8,18,.34),0 0 22px rgba(255,92,108,.28),inset 0 1px 0 rgba(255,210,218,.22)}button.ghost.danger{background:rgba(255,92,108,.08);color:var(--danger-fg);border-color:rgba(255,92,108,.38);box-shadow:inset 0 1px 0 rgba(255,200,210,.1)}.confirm-yes,.confirm-yes:hover:not(:disabled){color:#fff}.confirm-yes{background:linear-gradient(180deg,#ff7d8a,#e23b50);color:#fff;border-color:rgba(255,180,190,.45)}.confirm-yes:hover:not(:disabled){background:linear-gradient(180deg,#ff8f9a,#ee465c);color:#fff}button.password-toggle,button.password-toggle:active,button.password-toggle:disabled,button.password-toggle:hover{position:absolute;width:calc(var(--control) * .9);height:calc(var(--control) * .9);min-height:0;padding:0;border:0;border-radius:.45rem;background:transparent;color:var(--muted);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transform:translateY(-50%);filter:none;opacity:1}button.password-toggle.is-visible,button.password-toggle:hover{background:transparent;color:var(--accent);transform:translateY(-50%) scale(1.06)}button.logout{width:auto}@media (prefers-reduced-motion:reduce){a.button-link,a.ghost,a.ghost-link,button{transition:none}a.button-link:active,a.button-link:hover,a.ghost-link:active,a.ghost-link:hover,a.ghost:active,a.ghost:hover,button:active:not(:disabled),button:hover:not(:disabled){transform:none}}.main{padding:var(--space-4) var(--space-6) calc(var(--space-6) + 3rem);max-width:80rem;overflow-x:clip}.main,.route-scene{min-width:0}.route-scene.is-fade{animation:route-fade-in var(--route-duration) var(--route-ease) both}.route-scene.is-slide-forward{animation:route-slide-forward var(--route-duration) var(--route-ease) both}.route-scene.is-slide-back{animation:route-slide-back var(--route-duration) var(--route-ease) both}.route-scene.is-none{animation:none}@keyframes route-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes route-slide-forward{0%{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}@keyframes route-slide-back{0%{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}@keyframes overlay-rise-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.route-scene.is-fade,.route-scene.is-slide-back,.route-scene.is-slide-forward{animation:route-fade-in .16s ease both}.confirm-box,.confirm-overlay,.crop-overlay,.dialog-backdrop,.dialog-card{animation-duration:.16s}@keyframes route-fade-in{0%{opacity:0;transform:none}to{opacity:1;transform:none}}@keyframes overlay-rise-in{0%{opacity:0;transform:none}to{opacity:1;transform:none}}}h1{font-size:1.5rem;font-weight:750;letter-spacing:-.02em;line-height:1.2}h1,h2{margin:0 0 var(--space-2)}h2{font-size:1rem;font-weight:700}h3{margin:0 0 var(--space-2);font-size:.9375rem;font-weight:650}.lede{margin:0 0 var(--space-4);color:var(--muted);font-size:.875rem;font-weight:400;max-width:42rem}.lede a{color:var(--accent)}.grid{display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}.card{background:var(--panel);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--line);border-radius:.85rem;padding:var(--space-3);box-shadow:var(--glass-shadow);min-width:0;max-width:100%;box-sizing:border-box}.card h2,.card h3{margin:0 0 var(--space-3)}.form-card{max-width:28rem}.muted{color:var(--muted)}.muted,table{font-size:.875rem}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:var(--space-3) var(--space-2);border-bottom:1px solid var(--line);vertical-align:middle}th{color:var(--muted);font-size:.75rem;font-weight:650}.tag,th{text-transform:uppercase;letter-spacing:.04em}.tag{display:inline-block;font-size:.6875rem;font-weight:600;padding:.15rem .45rem;border-radius:999px;background:var(--panel-2);color:var(--accent);border:1px solid var(--line)}.page-kicker{margin:0 0 var(--space-2)}.bars{display:flex;gap:var(--space-2);align-items:flex-end;height:120px}.bar{flex:1 1;background:var(--accent);border-radius:4px 4px 0 0;opacity:.85;min-height:4px}.bar.gym{background:#6a6a6a;opacity:.95}.stack{display:grid;grid-gap:var(--space-4);gap:var(--space-4);min-width:0;max-width:100%}.sheet-card{margin-top:0}.sheet-head{display:flex;justify-content:space-between;gap:var(--space-4);align-items:flex-start}.sheet-head h2{margin-bottom:var(--space-1)}.sheet-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.sheet-row-actions{display:flex;gap:.4rem;align-items:center}.row-btn-edit,.row-btn-save,.row-btn-x{min-width:calc(var(--control) * .9);min-height:calc(var(--control) * .9);height:calc(var(--control) * .9);padding:0 .65rem;border-radius:.6rem;font-size:.75rem;font-weight:700;line-height:1}.row-btn-x{font-size:1.1rem}table.sheet tr.sheet-row-locked td{background:var(--locked-row);color:var(--muted)}table.sheet tr.sheet-row-locked input,table.sheet tr.sheet-row-locked select{background:var(--locked-input);color:var(--muted)}.dialog-backdrop{position:fixed;inset:0;width:100vw;height:100dvh;background:var(--scrim);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;z-index:120;padding:var(--space-4);animation:overlay-fade-in .22s var(--route-ease) both}.dialog-card{background:var(--panel);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--line-strong);border-radius:.9rem;padding:var(--space-4);max-width:28rem;width:100%;box-shadow:var(--glass-shadow);animation:overlay-rise-in .26s var(--route-ease) both}.dialog-card p{margin:0 0 var(--space-4);font-size:1.05rem}.sheet-period{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin:var(--space-3) 0 var(--space-2)}.sheet-period .dash-period,.sheet-period-load{justify-content:flex-start;max-width:none}.sheet-period-load{margin:var(--space-3) 0 var(--space-2)}.sheet-wrap{overflow-x:auto;margin-top:var(--space-3);border:1px solid var(--line);border-radius:.7rem;background:var(--panel);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--glass-shadow)}table.sheet{min-width:980px}table.sheet.sheet-wide{min-width:2400px}table.sheet td,table.sheet th{padding:var(--space-2);vertical-align:middle}table.sheet th{color:var(--muted);font-weight:600;font-size:.75rem;white-space:nowrap;background:var(--panel-2)}table.sheet th.sheet-group{text-align:center;color:var(--accent);background:var(--sheet-group-bg);border-bottom:1px solid var(--line);border-right:1px solid var(--line);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;font-weight:700;padding:.55rem .4rem;position:-webkit-sticky;position:sticky;top:0;z-index:2}table.sheet input,table.sheet select{width:100%;min-width:0}table.sheet select{min-width:7.5rem}table.sheet .sheet-notes{min-width:160px}table.sheet td.sheet-date,table.sheet th.sheet-date{width:13rem;min-width:13rem;max-width:13rem;white-space:nowrap}table.sheet td.sheet-date input,table.sheet td.sheet-date input.sheet-date-input{width:13rem;min-width:13rem;max-width:13rem;box-sizing:border-box}.signed-in{margin:0;font-size:.75rem;color:var(--muted);font-weight:400}.signed-in-row{display:flex;gap:var(--space-3);align-items:center;text-decoration:none;color:inherit}.app-header{justify-content:space-between;flex:1 1;margin:0;padding:.45rem .85rem;min-height:3.25rem;border:0;border-bottom:1px solid var(--line);border-radius:0;background:color-mix(in srgb,var(--sidebar-bg) 92%,transparent);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:none;position:-webkit-sticky;position:sticky;top:0;z-index:20}.app-header,.app-header-identity{display:flex;align-items:center;gap:var(--space-3);min-width:0}.app-header strong{font-size:.9375rem}.app-header .signed-in{margin-top:.1rem}.app-header .team-mark{margin-left:auto;overflow:hidden}.app-header .team-mark-photo img{padding:.28rem;transform:none;width:100%;height:100%;object-fit:contain}.app-header .team-mark-fortyniner.team-mark-photo img,.app-header .team-mark-ilca_7.team-mark-photo img{padding:.2rem;transform:none}.app-header .team-mark-ilca_4.team-mark-photo img{padding:.22rem;transform:none}.app-header .team-mark-novices{font-size:1.05rem}.account-menu{position:relative;flex-shrink:0}.account-menu-trigger,.account-menu-trigger:active,.account-menu-trigger:hover,.account-menu-trigger[aria-expanded=true]{padding:0;min-height:0;border-radius:50%;background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;line-height:0;transform:none;filter:none}.account-menu-trigger:hover,.account-menu-trigger[aria-expanded=true]{filter:brightness(1.08)}.account-menu-panel{position:absolute;left:0;bottom:calc(100% + .4rem);min-width:12.5rem;background:var(--menu-bg);border:1px solid var(--line-strong);border-radius:.75rem;padding:.35rem;z-index:80;box-shadow:0 16px 40px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.08);display:grid;grid-gap:.15rem;gap:.15rem}.app-header .account-menu-panel{left:0;right:auto;bottom:auto;top:calc(100% + .4rem)}.account-menu-item{display:flex;align-items:center;width:100%;min-height:0;text-align:left;justify-content:flex-start;padding:.55rem .7rem;border:0;border-radius:.45rem;background:transparent;color:var(--text);font:inherit;font-size:.875rem;font-weight:600;text-decoration:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transform:none}.account-menu-item.active,.account-menu-item:active,.account-menu-item:hover{background:var(--panel-2);color:var(--accent);transform:none;box-shadow:none}button.account-menu-logout,button.account-menu-logout:active,button.account-menu-logout:hover{background:transparent;color:var(--btn-danger);border:0;justify-content:flex-start;box-shadow:none;transform:none}button.account-menu-logout:hover{background:var(--panel-2)}.avatar-wrap{border-radius:50%;overflow:hidden;flex-shrink:0;border:1px solid rgba(255,255,255,.08);background:#1c1c1c;display:block;line-height:0}.avatar-wrap-sm{width:var(--avatar);height:var(--avatar)}.avatar-wrap-md{width:calc(var(--avatar) * 1.55);height:calc(var(--avatar) * 1.55)}.avatar-wrap-lg{width:calc(var(--avatar) * 1.9);height:calc(var(--avatar) * 1.9)}.avatar-wrap-header{width:calc(var(--avatar) * 1.7);height:calc(var(--avatar) * 1.7)}.avatar-wrap-team{width:calc(var(--avatar) * 1.35);height:calc(var(--avatar) * 1.35)}.avatar-wrap img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.settings-picture{max-width:36rem}.picture-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.picture-actions form{margin:0}.avatar-draft{width:calc(var(--avatar) * 1.9);height:calc(var(--avatar) * 1.9);border-radius:50%;object-fit:cover;border:1px solid rgba(255,255,255,.08)}.choose-avatar{margin:.85rem 0 .45rem;font-size:.95rem;text-decoration:underline;text-underline-offset:.22rem}label.picture-upload{display:inline-flex;align-items:center;justify-content:center;width:-moz-fit-content;width:fit-content;padding:.48rem 1rem;border-radius:.72rem;border:1px solid rgba(232,210,140,.58);cursor:pointer}label.picture-upload:focus-within{outline:2px solid var(--domain-sail);outline-offset:2px}.profile-details{max-width:40rem;margin-top:var(--space-4)}.profile-details-head{display:flex;justify-content:space-between;gap:var(--space-4);align-items:flex-start;margin-bottom:var(--space-3)}.profile-details-head h2{margin:0 0 var(--space-1)}.profile-details-list{display:grid;grid-gap:0;gap:0;margin:0}.profile-details-list>div{display:grid;grid-template-columns:minmax(9rem,13rem) 1fr;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--line)}.profile-details-list dt{margin:0;color:var(--muted);font-size:.8125rem;font-weight:500}.profile-details-list dd{margin:0;font-size:.9375rem}.profile-details-form{margin-top:var(--space-2)}.field-hint{font-size:.75rem;color:var(--muted)}.sail-modules{align-items:flex-end;margin:0 0 var(--space-4);border-bottom:1px solid var(--line)}.sail-modules,.sail-modules-main{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem}.sail-modules-main{min-width:0}.sail-module-end{margin-left:auto}.sail-module{display:inline-flex;align-items:center;gap:.35rem;min-height:2.1rem;padding:.15rem .1rem .45rem;border-radius:0;font-size:.84rem;font-weight:600;color:var(--muted);text-decoration:none;background:transparent;border:0;border-bottom:2px solid transparent}.sail-module:hover{color:var(--text)}.sail-module.is-active{color:var(--text);border-bottom-color:var(--domain-sail,#3b82f6)}.campaign-tile:focus-visible,.chip-add:focus-visible,.sail-btn:focus-visible,.sail-crumbs a:focus-visible,.sail-day:focus-visible,.sail-module:focus-visible{outline:2px solid var(--text);outline-offset:2px}.campaign-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));grid-gap:.85rem;gap:.85rem}.campaign-tile{display:flex;flex-direction:column;gap:.28rem;min-height:8.5rem;padding:.75rem;border-radius:.7rem;text-decoration:none;border:1px solid var(--line);box-shadow:none}.campaign-tile:hover{filter:brightness(.98)}.campaign-new{align-items:center;justify-content:center;background:var(--panel);color:var(--text);border:1px dashed var(--line)}.sail-status{align-self:flex-start;font-size:.64rem;letter-spacing:.04em;text-transform:uppercase;padding:.08rem .35rem;border-radius:.25rem;background:rgba(15,23,42,.08)}.sail-tile-meta{display:flex;gap:.35rem;flex-wrap:wrap}.sail-category{font-size:.68rem;font-weight:650}.sail-crumbs{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;margin-bottom:var(--space-3);font-size:.8125rem;color:var(--muted)}.sail-crumb-home,.sail-crumbs a{color:var(--muted);text-decoration:none;background:none;padding:0;min-height:0;border-radius:0;font-weight:500}.sail-crumb-home:hover,.sail-crumbs a:hover{color:var(--text)}.sail-crumb{display:inline-flex;align-items:center;gap:.3rem}.sail-crumbs .is-current{color:var(--text);font-weight:650}.sail-cal{display:grid;grid-gap:.75rem;gap:.75rem}.sail-cal-wide .sail-cal-months{grid-template-columns:repeat(3,minmax(0,1fr))}.sail-cal-toolbar,.sail-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.sail-cal-months{display:grid;grid-gap:.75rem;gap:.75rem}.sail-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:.2rem;gap:.2rem}.sail-cal-dow{font-size:.68rem;color:var(--muted);text-align:center;letter-spacing:0}.sail-day{min-height:2rem;border-radius:.4rem;background:var(--panel);color:var(--text);border:1px solid var(--line)}.sail-day:disabled{opacity:.28}.sail-day.is-today{box-shadow:inset 0 0 0 2px var(--text)}.sail-legend{display:flex;flex-wrap:wrap;gap:.65rem 1rem;list-style:none;padding:0;margin:0}.sail-swatch{width:.9rem;height:.9rem;display:inline-block;margin-right:.35rem;border-radius:.2rem;vertical-align:-.1rem}.sail-swatch-today{box-shadow:inset 0 0 0 2px #f8fafc}.sail-swatch-free{background:rgba(255,255,255,.08)}.sail-creator,.sail-templates{display:grid;grid-gap:.75rem;gap:.75rem}.sail-templates{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));border:0;padding:0}.sail-templates button{text-align:left}.sail-templates button.is-selected{outline:2px solid var(--text)}.chip-field{position:relative;min-width:0}.chip-row{display:flex;flex-wrap:wrap;gap:.22rem;align-items:center}.sail-chip{display:inline-flex;align-items:center;max-width:100%;gap:.12rem;border-radius:.28rem;padding:.08rem .28rem;font-size:.7rem;line-height:1.2;background:var(--panel-2,rgba(148,163,184,.16));color:var(--text);border:1px solid var(--line)}.sail-chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:9.5rem}.sail-chip-remove{border:0;background:transparent;color:inherit;padding:0;line-height:1;font-size:.78rem}.chip-add{display:inline-flex;align-items:center;height:1.5rem;padding:0 .4rem;border-radius:.28rem;font-size:.7rem;background:var(--panel);color:var(--text);border:1px solid var(--line);box-shadow:none}.chip-add:hover{background:var(--panel-2)}.chip-popover{position:fixed;z-index:200;overflow:hidden;background:#f8fbfe;color:#102033;border:1px solid #c5d2e0;border-radius:.45rem;padding:.35rem;box-shadow:0 12px 28px rgba(15,23,42,.18)}.chip-popover input{width:100%;margin:0 0 .3rem;background:#fff;color:#102033;border:1px solid #c5d2e0}.chip-popover input::placeholder{color:#5c6b7c}.chip-popover ul{list-style:none;margin:0;padding:0;overflow:auto;overscroll-behavior:contain}.chip-option{display:block;width:100%;text-align:left;border:0;background:transparent;color:inherit;border-radius:.25rem;padding:.28rem .4rem;font-size:.78rem}.chip-option:focus-visible,.chip-option:hover{background:#e7eef6}.chip-option.is-selected,.chip-option:disabled{opacity:1;background:#e8eef5;color:#3d5166}html[data-theme=dark] .chip-popover{background:#2a3d57;color:#e7eef6;border-color:#4c6482;box-shadow:0 14px 32px rgba(0,0,0,.45)}html[data-theme=dark] .chip-popover input{background:#1d2e44;color:#e7eef6;border-color:#4c6482}html[data-theme=dark] .chip-popover input::placeholder{color:#b7c6d6}html[data-theme=dark] .chip-option:focus-visible,html[data-theme=dark] .chip-option:hover{background:#3a5270}html[data-theme=dark] .chip-option.is-selected,html[data-theme=dark] .chip-option:disabled{background:#22344c;color:#c5d4e4}.wind-pair{display:flex;align-items:center;gap:.25rem}.wind-pair input{width:2.8rem}.sail-sheet{overflow:visible}table.sheet.sailing-week{width:100%;min-width:0;table-layout:fixed;font-size:.75rem;border-collapse:collapse}table.sheet.sailing-week thead th{background:#102a4c;color:#f8fafc;font-weight:650;white-space:normal;text-align:center;vertical-align:middle;padding:.45rem .4rem;line-height:1.25}table.sheet.sailing-week td,table.sheet.sailing-week th{padding:.28rem .35rem;vertical-align:middle;border:1px solid var(--line);overflow:visible}table.sheet.sailing-week tbody th{width:4.6rem;background:#e8eef5;color:#1e293b;font-weight:650}.sail-col-day{width:4.8rem}.sail-col-drills,.sail-col-focus{width:22%}.sail-col-wind{width:7.6rem}.sail-col-dir{width:6.4rem}table.sheet.sailing-week textarea{min-height:1.6rem;resize:vertical}.sail-read-list{display:flex;flex-wrap:wrap;gap:.22rem}.sail-read-list .sail-chip-label{white-space:normal;overflow:visible;text-overflow:unset;max-width:none}.sail-read-note{white-space:pre-wrap;overflow-wrap:anywhere}.sail-read-missing{color:var(--muted)}.sail-weekbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 1rem;align-items:center;margin:0 0 .75rem}.sail-weekbar-actions,.sail-weekbar-nav{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.sail-weekbar-current{display:inline-flex;align-items:center;gap:.4rem;min-height:2rem;padding:0 .55rem;border:1px solid var(--line);border-radius:.4rem;font-weight:650}.sail-weekbar-current.is-now{box-shadow:inset 0 0 0 1px var(--text)}.sail-btn{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:0 .7rem;border-radius:.4rem;font-size:.8rem;font-weight:650;box-shadow:none}.sail-btn-nav,.sail-btn-secondary{background:var(--panel);color:var(--text);border:1px solid var(--line)}.sail-btn-primary{background:#1d4ed8;color:#f8fafc;border:1px solid #1d4ed8}.sail-copy{gap:.35rem}.sail-copy,.sail-copy label{display:flex;align-items:center}.sail-copy label{gap:.3rem;font-size:.72rem;margin:0}.sail-now,.sail-past{display:inline-flex;align-items:center;gap:.2rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.campaign-tile.is-past,.sail-plan-head.is-past{opacity:.72}.campaign-tile.is-current-week{box-shadow:inset 0 0 0 1px var(--text);opacity:1}.sail-category-form{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end;margin:0 0 .85rem}.sail-category-form label{display:grid;grid-gap:.2rem;gap:.2rem;font-size:.78rem}.sail-dialog{display:grid;grid-gap:1rem;gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:1rem;background:var(--panel)}.sail-dialog-grid{display:grid;grid-template-columns:minmax(16rem,22rem) minmax(0,1fr);grid-gap:1.25rem;gap:1.25rem;align-items:start}.sail-dialog-fields,.sail-dialog-fields label{display:grid;grid-gap:.35rem;gap:.35rem}.sail-dialog-actions{display:flex;justify-content:flex-end;gap:.6rem;align-items:center}.sail-dialog-actions a{text-decoration:none}.sail-range-readout{margin:0;font-weight:700}.sail-plan-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap;margin-bottom:.75rem}.sail-plan-head h1{margin:0 0 .25rem}.phase-tile{position:relative;padding-left:3.4rem}.phase-unscheduled{background:var(--panel);color:var(--text)}.pub-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"phase chevron" "heading chevron" "time chevron";grid-gap:.12rem .75rem;gap:.12rem .75rem;align-items:center;justify-items:start;padding:.7rem .85rem;border:1px solid var(--line);border-left:3px solid var(--pub-bar,var(--line));border-radius:.55rem;text-decoration:none;color:inherit;background:transparent;text-align:start}.pub-card:hover{background:color-mix(in srgb,var(--pub-bar,var(--line)) 14%,transparent)}.pub-phase{grid-area:phase;color:var(--pub-ink,var(--text));font-weight:680;font-size:.95rem}html[data-theme=dark] .pub-phase{color:var(--pub-ink-dark,var(--text))}.pub-card strong{grid-area:heading;font-size:.84rem;font-weight:650}.pub-card .muted{grid-area:time;font-size:.78rem}.pub-chevron{grid-area:chevron;justify-self:end;color:var(--muted)}.ongoing-card{display:grid;grid-gap:.2rem;gap:.2rem;max-width:36rem;padding:.85rem 1rem;border:1px solid var(--line);border-left:3px solid var(--pub-bar,var(--line));border-radius:.55rem}.ongoing-heading{margin:0;color:var(--pub-ink,var(--text));font-size:1.05rem}html[data-theme=dark] .ongoing-heading{color:var(--pub-ink-dark,var(--text))}.ongoing-card .sail-btn{justify-self:start;margin-top:.45rem}.completed-campaign h3,.completed-phase h4{margin:.35rem 0}.completed-phase{margin-left:.75rem}.completed-phase ul{margin:.15rem 0 .6rem;padding-left:1.1rem}.field-error{margin:.2rem 0 0;color:var(--danger);font-size:.75rem}.session-form :is(input,select,textarea)[aria-invalid=true]{border-color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger)}.day-board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:.5rem;gap:.5rem}.day-column{display:grid;grid-gap:.35rem;gap:.35rem;align-content:start;padding:.55rem;border:1px solid var(--line);border-radius:.5rem}.day-column header{display:grid;grid-gap:.1rem;gap:.1rem}.log-row,.session-card{display:grid;grid-gap:.15rem;gap:.15rem;padding:.45rem .5rem;border:1px solid var(--line);border-radius:.4rem;text-decoration:none;color:inherit;font-size:.78rem}.log-row:hover,.session-card:hover{background:color-mix(in srgb,var(--line) 35%,transparent)}.log-row{grid-template-columns:1.2fr .8fr .8fr .6fr .5fr .6fr 1.2fr 1fr;align-items:center}.status-draft,.status-submitted{font-weight:700;letter-spacing:.02em;text-transform:uppercase;font-size:.68rem}.status-submitted{color:#1d4a46}html[data-theme=dark] .status-submitted{color:#d5efec}.session-form{display:grid;grid-gap:.9rem;gap:.9rem;max-width:42rem}.session-form fieldset{display:grid;grid-gap:.55rem;gap:.55rem;margin:0;padding:.75rem;border:1px solid var(--line);border-radius:.5rem}.session-form legend{font-weight:700;padding:0 .25rem}.session-times{display:flex;flex-wrap:wrap;gap:.6rem}.log-filters label,.session-form label,.session-times label{display:grid;grid-gap:.2rem;gap:.2rem;font-size:.78rem}.log-filters,.mode-switch,.session-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:flex-end}.mode-switch button,.sail-templates button{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:.4rem;padding:.35rem .6rem}.mode-switch button.is-selected,.sail-templates button.is-selected{box-shadow:inset 0 0 0 1px var(--text)}.check-line{display:flex;align-items:center;gap:.4rem}.plan-context{display:grid;grid-gap:.2rem;gap:.2rem}@media (max-width:1100px){.day-board{grid-template-columns:1fr}.log-row{grid-template-columns:1fr 1fr}}.phase-index{position:absolute;left:.75rem;top:.9rem;width:1.85rem;height:1.85rem;border-radius:999px;display:grid;place-items:center;background:rgba(15,23,42,.12);font-weight:700}.sail-day-date,.sail-day-name{display:block;line-height:1.15;text-transform:none;letter-spacing:0}.tile-frame{position:relative;min-width:0;display:flex}.tile-frame>.campaign-tile{flex:1 1;width:100%}.campaign-tile.has-tile-action{padding-right:2.1rem}.tile-x{position:absolute;top:.4rem;right:.4rem;z-index:3;width:1.35rem;height:1.35rem;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--text);line-height:1;padding:0}.tile-dialog-backdrop{position:fixed;inset:0;z-index:210;background:rgba(15,23,42,.45);display:grid;place-items:center;padding:1rem}.tile-dialog{width:min(28rem,100%);background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:.7rem;padding:1rem;display:grid;grid-gap:.7rem;gap:.7rem}.tile-dialog h2{margin:0;font-size:1.05rem}.tile-dialog p{margin:0}.tile-dialog-actions{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}.week-dates{display:flex;flex-wrap:wrap;gap:.55rem .8rem;align-items:flex-end;margin:.75rem 0 .2rem}.week-dates label{display:grid;grid-gap:.15rem;gap:.15rem;font-size:.75rem;font-weight:650}.week-dates input{width:8.5rem}.week-dates .auth-error,.week-dates .muted{flex-basis:100%;margin:0}.sail-day-date{color:var(--muted);font-weight:500;font-size:.68rem}.empty-state{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;max-width:36rem;padding:.85rem 0 .35rem}.empty-state-icon{color:var(--muted)}.empty-state-title{margin:0;color:var(--text);font-size:.98rem;line-height:1.4}.empty-state-detail{margin:0;color:var(--muted);font-size:.88rem;line-height:1.4}.empty-state-action{display:inline-flex;align-items:center;margin-top:.45rem;padding:.4rem .75rem;border:1px solid var(--line-strong);border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:.9rem;text-decoration:none;cursor:pointer}.empty-state-action:hover{background:var(--btn-bg-hover)}.sail-day-outside{display:block;color:var(--muted);font-size:.68rem;font-weight:600;text-transform:none}.sail-outside-clear{display:inline-block;margin-top:.25rem;padding:.1rem .35rem;border:1px solid var(--line-strong);border-radius:6px;background:transparent;color:inherit;font:inherit;font-size:.68rem;cursor:pointer}html[data-theme=dark] table.sheet.sailing-week tbody th{background:#1e293b;color:#e2e8f0}table.sheet.sailing-week tr.is-outside td,table.sheet.sailing-week tr.is-outside th{background:#e7edf4;color:#334155}html[data-theme=dark] table.sheet.sailing-week tr.is-outside td,html[data-theme=dark] table.sheet.sailing-week tr.is-outside th{background:#152033;color:#d5e2ef}.earlier-revisions{display:grid;grid-gap:.45rem;gap:.45rem;margin-left:.75rem}.sail-completed{margin-top:1.25rem}.sail-completed summary{cursor:pointer;font-weight:700;margin-bottom:.75rem}table.sheet.sailing-week input,table.sheet.sailing-week select,table.sheet.sailing-week textarea{min-width:0;width:100%}table.sheet.sailing-week tbody th{white-space:normal}@media (max-width:1100px){.sail-dialog-grid{grid-template-columns:1fr}}@media (max-width:800px){.sail-cal-wide .sail-cal-months,.sail-modules{grid-template-columns:1fr}table.sheet.sailing-week,table.sheet.sailing-week tbody,table.sheet.sailing-week td,table.sheet.sailing-week th,table.sheet.sailing-week tr{display:block;width:100%}table.sheet.sailing-week thead{display:none}table.sheet.sailing-week td:before,table.sheet.sailing-week th:before{content:attr(data-label);display:block;font-size:.68rem;color:var(--muted)}}.sailing-pick-list{max-height:9rem;overflow:auto;display:grid;grid-gap:.2rem;gap:.2rem;text-align:left;font-size:.8125rem}.sailing-selected{display:flex;flex-wrap:wrap;gap:.25rem}.sailing-selected span{border:1px solid var(--line);border-radius:999px;padding:.1rem .45rem;font-size:.75rem}.profile-details-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-start}.settings-picture-row{display:flex;gap:var(--space-4);align-items:center;margin:var(--space-3) 0 0}.crop-overlay{position:fixed;inset:0;z-index:80;background:#111111;display:flex;flex-direction:column;touch-action:none;animation:overlay-fade-in .22s var(--route-ease) both}.crop-hint{margin:0;padding:var(--space-4) var(--space-4) var(--space-2);text-align:center;color:var(--muted);font-size:.875rem}.crop-stage{position:relative;flex:1 1;min-height:0;touch-action:none}.crop-error{margin:0;padding:0 var(--space-4);color:var(--danger);text-align:center}.crop-toolbar{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4);padding-bottom:max(var(--space-4),env(safe-area-inset-bottom))}.profile-hero{display:flex;gap:var(--space-4);align-items:center;margin-bottom:var(--space-4)}.profile-hero h1{margin-bottom:.15rem}.auth-page{position:relative;isolation:isolate;min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:clamp(1rem,4vw,2.5rem);overflow:hidden;background:#050505}.auth-photo{position:absolute;inset:0;z-index:0;overflow:hidden}.auth-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 42%;transform:scale(1.14);filter:saturate(.88) contrast(1.08) brightness(.82)}.auth-vignette{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 48%,rgba(0,0,0,.18) 0,rgba(0,0,0,.46) 58%,rgba(0,0,0,.62) 100%),linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.38))}.auth-card{position:relative;z-index:2;width:min(26rem,100%);text-align:center;padding:clamp(1.25rem,4vw,1.85rem);background:rgba(18,18,18,.46);backdrop-filter:blur(22px) saturate(1.25);-webkit-backdrop-filter:blur(22px) saturate(1.25);border:1px solid rgba(56,189,248,.34);box-shadow:0 28px 64px rgba(0,0,0,.5),0 0 32px rgba(56,189,248,.16),inset 0 1px 0 rgba(232,220,180,.18)}.auth-card-wide{width:min(40rem,100%)}.auth-page{padding-bottom:4.75rem}.auth-home{display:flex;align-items:center;gap:.35rem;width:-moz-fit-content;width:fit-content;margin:0 0 1.15rem;color:#d5e2ef;font-size:.8125rem;font-weight:600;line-height:1;text-decoration:none;text-align:left}.auth-home svg{width:14px;height:14px;flex:none}.auth-home:hover{color:#12c8ef}.auth-home:focus-visible{outline:2px solid #12c8ef;outline-offset:3px;border-radius:4px}html[data-theme=light] .auth-home{color:#102a3d}.auth-brand{font-style:italic;letter-spacing:.22em;font-size:.78rem;font-weight:750}.auth-card .lede{margin-left:auto;margin-right:auto;color:var(--muted)}.auth-card .auth-form,.auth-card .forgot-help,.auth-card .forgot-row,.auth-card .lede{text-align:left}.auth-card .lede{margin-bottom:var(--space-4)}.auth-card input,.auth-card select,.auth-card textarea{background:rgba(14,14,14,.84);border-color:rgba(56,189,248,.28);color:var(--text)}.auth-form{display:grid;grid-gap:var(--space-3);gap:var(--space-3);justify-items:start}.auth-form label{display:grid;grid-gap:var(--space-1);gap:var(--space-1);color:var(--muted);font-size:.8125rem;font-weight:500;width:100%}.auth-form label.check{grid-template-columns:auto 1fr;align-items:center;color:var(--text)}.auth-error{color:var(--danger)}.auth-error,.auth-ok{margin:0;font-size:.875rem}.auth-ok{color:var(--accent)}@media (max-width:700px){.auth-photo img{object-position:46% 40%;transform:scale(1.22)}.auth-card{padding:1.15rem 1rem 1.25rem}}@media (min-width:1101px){.auth-photo img{object-position:center 38%;transform:scale(1.1)}}.forgot-row{margin:var(--space-3) 0 0}button.linkish,button.linkish:active,button.linkish:disabled,button.linkish:hover{min-height:0;background:none;border:0;padding:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transform:none;filter:none;opacity:1;color:var(--accent);font:inherit;font-weight:600;cursor:pointer;text-decoration:none}button.linkish:hover{text-decoration:underline;background:none}.forgot-help{margin:var(--space-2) 0 0;color:var(--muted);font-size:.875rem}.user-search{display:grid;grid-gap:var(--space-1);gap:var(--space-1);color:var(--muted);font-size:.8125rem;font-weight:500;margin:0 0 var(--space-4);max-width:20rem}.roster-card{text-decoration:none;color:inherit;display:block}.entity-list{list-style:none;margin:0;padding:0;background:var(--panel);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--line);border-radius:.85rem;overflow:hidden;box-shadow:var(--glass-shadow)}.entity-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.entity-list>.entity-row:last-child,.entity-list>li:last-child .entity-row{border-bottom:0}.entity-row:hover{background:var(--panel-2)}.entity-row strong{font-size:.9375rem}.entity-meta{color:var(--muted);font-size:.8125rem}.data-table-wrap{background:var(--panel);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--line);border-radius:.85rem;overflow:auto;box-shadow:var(--glass-shadow)}.data-table{width:100%}.data-table th{padding:var(--space-2) var(--space-4);background:var(--panel-2)}.data-table td{padding:var(--space-3) var(--space-4)}.data-table tbody tr:hover{background:rgba(56,189,248,.06)}.row-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}.row-expand td{background:var(--panel-2);padding:var(--space-4)}.inline-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));grid-gap:var(--space-3);gap:var(--space-3);align-items:end;width:100%}.inline-fields label{display:grid;grid-gap:var(--space-1);gap:var(--space-1);color:var(--muted);font-size:.8125rem;font-weight:500}.program-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--line)}.program-row:last-child{border-bottom:0;padding-bottom:0}.program-row .sheet-actions{flex-wrap:wrap}.physio-comment{margin:.4rem 0 0;white-space:pre-wrap;color:var(--text);font-size:.9rem}.sc-week-stack{gap:var(--space-4)}.sc-week-card h3{margin:0 0 var(--space-3)}.sc-day-grid{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.sc-day-block.is-focus{outline:2px solid var(--accent);outline-offset:4px}.sc-day-block.is-missed,.sc-day-block.is-partial{background:color-mix(in srgb,var(--accent) 8%,transparent)}.sc-status-complete{background:var(--status-ok-bg);color:var(--status-ok-fg)}.sc-status-partial{background:var(--status-warn-bg);color:var(--status-warn-fg)}.sc-status-missed{background:var(--status-miss-bg);color:var(--status-miss-fg)}.sc-week-switch{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0}.sc-week-switch button{text-decoration:none;min-height:var(--control);padding:.35rem .75rem}.sc-fold{margin-top:var(--space-3)}.sc-day-table td.sc-comment-cell,.sc-day-table th:nth-child(2){min-width:12rem;max-width:18rem}.sc-exercise-comment{min-height:2.6rem;font-size:.8125rem}.sc-tracker{min-width:48rem}.sc-tracker td,.sc-tracker th{vertical-align:top}.sc-tracker-cell strong{display:block}.sc-tracker-notes{margin:.4rem 0 0;padding-left:1rem;font-size:.8rem;color:var(--muted)}.sc-day-feedback{margin-top:var(--space-3);min-width:100%}.sc-day-feedback th[scope=row]{text-align:left;font-weight:600}.sc-day-table{min-width:100%}.sc-confirm-days{display:grid;grid-gap:var(--space-3);gap:var(--space-3);margin-top:var(--space-3)}.skill-priority-list,.skill-rank-list{margin:var(--space-3) 0 0;padding:0;list-style:none;display:grid;grid-gap:.45rem;gap:.45rem}.skill-rank-list li{display:flex;justify-content:space-between;gap:var(--space-3);padding:.35rem 0;border-bottom:1px solid var(--line)}.skill-priority-list{list-style:decimal;padding-left:1.25rem}.sc-confirm-day{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(12rem,16rem);grid-gap:var(--space-3);gap:var(--space-3);align-items:center;padding:var(--space-3) 0;border-top:1px solid var(--line)}.button-link{min-height:var(--control)}.sheet-view-card{background:var(--panel);border:1px solid var(--line);border-radius:.75rem;padding:var(--space-4);box-shadow:var(--shadow)}.sheet-view{overflow:auto;-webkit-overflow-scrolling:touch;max-height:min(70vh,44rem);border:1px solid var(--line);border-radius:.5rem}.sheet-grid{width:max-content;min-width:100%;border-collapse:collapse;font-size:.875rem}.sheet-grid td,.sheet-grid th{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-align:left;vertical-align:top;white-space:pre-wrap;overflow-wrap:anywhere;min-width:5.5rem;max-width:14rem}.sheet-grid th{position:-webkit-sticky;position:sticky;top:0;color:var(--muted);font-weight:650;z-index:1}.sheet-grid th,.sheet-grid tr:nth-child(2n) td{background:var(--panel-2)}.version-list{margin:0;padding-left:var(--space-5)}.version-list a{color:var(--accent)}.history-fold-toggle{color:var(--text);border-color:rgba(56,189,248,.38)}.history-fold-toggle[aria-expanded=true]{color:var(--accent);border-color:rgba(56,189,248,.62);box-shadow:0 10px 24px rgba(0,0,0,.34),0 0 18px rgba(56,189,248,.18),inset 0 1px 0 rgba(232,220,180,.22)}.history-fold-chevron{width:calc(var(--control-icon) * .55);height:calc(var(--control-icon) * .55);transition:transform .16s ease}.history-fold-toggle[aria-expanded=true] .history-fold-chevron{transform:rotate(180deg)}.history-fold-count{min-width:1.35rem;padding:.05rem .42rem;border-radius:999px;background:rgba(56,189,248,.16);color:var(--accent);font-size:.75rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.35}.history-fold-body{max-height:400px;overflow-y:auto;margin-top:var(--space-3);padding-right:.2rem}.history-fold-body::-webkit-scrollbar{width:8px}.history-fold-body::-webkit-scrollbar-thumb{background:rgba(56,189,248,.45);border-radius:999px}.assign-form{display:grid;grid-gap:var(--space-3);gap:var(--space-3);margin-top:0;justify-items:start}.assign-form label{display:grid;grid-gap:var(--space-1);gap:var(--space-1);color:var(--muted);font-size:.8125rem;width:100%}.delete-user-form{margin:0;display:inline-flex;flex-direction:column;align-items:flex-start;gap:var(--space-1)}.delete-user-form button{width:auto}.confirm-overlay{position:fixed;inset:0;width:100vw;height:100dvh;z-index:120;background:rgba(0,0,0,.64);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;padding:var(--space-4);animation:overlay-fade-in .22s var(--route-ease) both}.confirm-box{width:min(26rem,100%);background:var(--panel);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--line-strong);border-radius:.9rem;padding:var(--space-5);box-shadow:var(--glass-shadow);animation:overlay-rise-in .26s var(--route-ease) both}.confirm-box h2{margin:0 0 var(--space-3);font-size:1.125rem}.confirm-box p{color:var(--muted);margin:0 0 var(--space-3);font-size:.875rem}.confirm-box strong{color:var(--text)}.confirm-actions{display:flex;gap:var(--space-2);margin-top:var(--space-4);justify-content:flex-end}.confirm-actions form{width:auto}.confirm-no,.confirm-yes{width:auto;min-height:var(--control)}.settings-tabs{display:flex;flex-wrap:wrap;gap:var(--space-4);margin:0 0 var(--space-6);border-bottom:1px solid var(--line)}.settings-tabs a{color:var(--muted);text-decoration:none;padding:var(--space-2) 0;border-bottom:2px solid transparent;margin-bottom:-1px;font-size:.875rem;font-weight:500}.settings-tabs a:hover{color:var(--text)}.settings-tabs a.active{color:var(--accent);background:none;border-bottom-color:var(--accent);font-weight:650}.entry-list{display:grid;grid-gap:0;gap:0;background:var(--panel);border:1px solid var(--line);border-radius:.75rem;padding:0 var(--space-4);box-shadow:var(--shadow)}.entry-row{padding:var(--space-3) 0;border-bottom:1px solid var(--line)}.entry-list .entry-row:last-child{border-bottom:0}.card .entry-list{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;margin-top:var(--space-4)}.med-entry-head{display:flex;flex-wrap:wrap;gap:.4rem .6rem;align-items:center;margin-bottom:.4rem}.med-entry-head .ghost{margin-left:auto}.med-author{display:flex;flex-wrap:wrap;gap:.35rem .6rem;align-items:center;margin:.45rem 0 0;font-size:.75rem;color:var(--muted)}.med-author strong{color:var(--text)}.med-extra-list{margin:.4rem 0 0;padding:0;list-style:none;color:var(--muted);font-size:.8125rem;display:grid;grid-gap:.15rem;gap:.15rem}.section-gap{margin-top:var(--space-6)}.dash-page{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.dash-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap}.dash-top>div:first-child{flex:1 1;min-width:16rem}.dash-top .lede{margin-bottom:0}.dash-period{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end;max-width:28rem}.dash-period-btn{color:var(--muted);text-decoration:none;font-size:.75rem;font-weight:650;min-height:1.85rem;padding:.28rem .7rem;border-radius:999px;border:1px solid var(--line);background:var(--period-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer;font-family:inherit;box-shadow:inset 0 1px 0 rgba(232,220,180,.1)}.dash-period-btn:hover:not(:disabled){color:var(--text);background:var(--period-hover);transform:translateY(-1px) scale(1.03)}.dash-period-btn.active{color:#042033;background:linear-gradient(180deg,#7dd3fc,#0284c7);border-color:rgba(232,210,140,.55);box-shadow:0 0 16px rgba(56,189,248,.28)}.dash-profile{display:grid;grid-template-columns:auto minmax(8rem,1fr);grid-gap:var(--space-3) var(--space-4);gap:var(--space-3) var(--space-4);align-items:center;padding:var(--space-3) var(--space-4)}.dash-profile-copy h2{margin:0;font-size:1.2rem;letter-spacing:-.02em}.dash-profile-copy p{margin:.1rem 0 0}.dash-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--space-3) var(--space-4);gap:var(--space-3) var(--space-4);margin:0;min-width:0;grid-column:1/-1}.dash-kpis dt{color:var(--muted);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.dash-kpis dd{margin:.15rem 0 0;font-size:1.05rem;font-weight:700;color:var(--text)}.dash-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.dash-metric{border-top:3px solid var(--info)}.dash-metric-hours{border-top-color:var(--domain-sail)}.dash-metric-readiness{border-top-color:var(--domain-ready)}.dash-metric-fitness{border-top-color:var(--domain-sc)}.dash-metric-hydration{border-top-color:var(--domain-sail)}.dash-metric-sleep{border-top-color:var(--domain-well)}.dash-metric-soreness{border-top-color:var(--domain-attn)}.dash-metric-sample{border-top-color:var(--muted)}.dash-metric{min-height:0}.dash-metric-hours{grid-column:span 2}.dash-feedback h2{margin:0 0 var(--space-1)}.dash-feedback-kicker{margin:0 0 var(--space-3)}.dash-feedback-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-3) var(--space-4);gap:var(--space-3) var(--space-4)}.dash-feedback-list p{margin:.3rem 0 0;font-size:.875rem}.dash-feedback-meta{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.dash-feedback-trend{font-size:.6875rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}.dash-feedback-trend.improving{color:var(--accent)}.dash-feedback-trend.declining{color:var(--warn)}.dash-feedback-trend.stable{color:var(--muted)}.dash-chip.feedback-sailing{color:var(--accent);border-color:rgba(56,189,248,.35);background:var(--gold-soft)}.dash-chip.feedback-load{color:var(--warn);border-color:rgba(196,176,138,.35);background:var(--chip-neutral-bg)}.dash-chip.feedback-hydration{color:var(--accent);border-color:rgba(56,189,248,.35);background:var(--gold-soft)}.dash-chip.feedback-nutrition{color:var(--chip-neutral-fg);border-color:var(--chip-neutral-border);background:var(--chip-neutral-bg)}.dash-metric-value{margin:.15rem 0 var(--space-3);font-size:1.75rem;font-weight:750;letter-spacing:-.03em;color:var(--accent)}.dash-metric-value span{font-size:.85rem;font-weight:600;margin-left:.2rem;color:var(--muted)}a.dash-metric-link{text-decoration:none;color:inherit;display:block}a.dash-metric-link:focus-visible,a.dash-metric-link:hover{border-color:var(--accent)}.dash-metric-hint{margin:.15rem 0 0;font-size:.8rem}.dash-trend-wrap{position:relative}.dash-trend-chart{cursor:crosshair}.dash-chart-tooltip{position:absolute;transform:translate(-50%,calc(-100% - 10px));background:var(--panel);border:1px solid var(--line);border-radius:.45rem;padding:.4rem .6rem;pointer-events:none;display:grid;grid-gap:.1rem;gap:.1rem;font-size:.82rem;z-index:3;box-shadow:0 10px 28px rgba(0,0,0,.16);white-space:nowrap}.dash-chart-tooltip strong{display:block}.dash-metric-gauge{display:grid;align-content:start}.dash-spark{width:100%;height:42px;display:block}.dash-spark-line{stroke:var(--domain-sail);stroke-width:2.5}.dash-spark-fill{fill:color-mix(in srgb,var(--domain-sail) 22%,transparent)}.dash-hours-chart{width:100%;height:auto;display:block}.dash-chart-grid{stroke:var(--line);stroke-width:1}.dash-chart-label{fill:var(--muted);font-size:.62rem}.dash-empty-trend{margin:var(--space-2) 0 0;font-size:.75rem}.dash-gauge{text-align:center}.dash-gauge-svg{width:100%;max-width:8.5rem;height:auto}.dash-gauge-track{fill:none;stroke:var(--panel-2);stroke-width:8;stroke-linecap:round}.dash-gauge-arc{fill:none;stroke:var(--domain-ready);stroke-width:8;stroke-linecap:round}.dash-gauge-knob{fill:var(--text)}.dash-gauge-value{margin:0;font-size:1.2rem;font-weight:750;color:var(--accent)}.dash-gauge-label{margin:0}.dash-cal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.dash-cal-nav-wrap{display:flex;flex-direction:column;align-items:stretch;gap:.4rem;min-width:16rem}.dash-cal-nav{display:flex;align-items:center;justify-content:space-between;gap:.35rem;flex-wrap:wrap}.dash-cal-nav .ghost,.dash-select-period{padding:.28rem .55rem;font-size:.8rem}.dash-select-period.active{border-color:var(--accent);color:var(--accent)}.dash-range-picker{display:grid;grid-template-columns:1fr 1fr auto;grid-gap:.45rem;gap:.45rem;align-items:end}.dash-range-picker label{display:grid;grid-gap:.2rem;gap:.2rem;font-size:.7rem;font-weight:650;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.dash-range-picker input{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:.4rem;padding:.28rem .4rem}.dash-cal-head h2{margin:0}.dash-cal-legend{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin:var(--space-3) 0}.dash-chip{display:inline-flex;align-items:center;font-size:.6875rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:.12rem .4rem;border-radius:999px;border:1px solid var(--line)}.dash-chip.task{color:var(--warn);border-color:rgba(196,176,138,.35);background:var(--chip-neutral-bg)}.dash-chip.appointment{color:var(--chip-neutral-fg);border-color:var(--chip-neutral-border);background:var(--chip-neutral-bg)}.dash-chip.event{color:var(--accent);border-color:rgba(56,189,248,.35);background:var(--gold-soft)}.dash-chip.reminder{color:var(--muted);border-color:var(--line);background:var(--chip-neutral-bg)}.dash-cal-grid,.dash-cal-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:4px;gap:4px}.dash-cal-weekdays{margin-bottom:4px;color:var(--muted);font-size:.68rem;font-weight:650;text-align:center}.dash-cal-weekdays span{display:block;padding:.15rem 0 .3rem}.dash-cal-cell{min-height:4.4rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:.12rem .22rem .18rem;background:var(--cal-cell-bg);border:1px solid var(--line);color:var(--text);border-radius:.45rem;width:100%;box-shadow:inset 0 1px 0 rgba(232,220,180,.08)}.dash-cal-cell:hover:not(:disabled){transform:scale(1.02);border-color:rgba(56,189,248,.4)}.dash-cal-cell:active:not(:disabled){transform:scale(.98)}.dash-cal-cell.muted-month{opacity:.45}.dash-cal-cell.out-period{opacity:.55}.dash-cal-cell.selected,.dash-cal-cell.today{border-color:var(--accent)}.dash-cal-cell.selected{background:rgba(56,189,248,.14)}.dash-cal-num{font-size:.72rem;font-weight:650;line-height:1}.dash-cal-dots{display:flex;gap:.15rem;flex-wrap:wrap;align-items:center}.dash-marker{display:inline-flex;align-items:center;min-height:.95rem;padding:0 .28rem;border-radius:999px;font-size:.62rem;font-weight:750;line-height:1.2;color:#042033}.dash-marker.ritual,.dash-marker.task{background:var(--domain-sc)}.dash-marker.appointment,.dash-marker.event{background:var(--domain-sail)}.dash-marker.reminder{background:var(--domain-attn)}.dash-marker.assessment{background:var(--domain-critical);color:#fff}.dash-marker.count{background:var(--domain-neutral)}.dash-dot{width:var(--dot);height:var(--dot);border-radius:50%;display:inline-block}.dash-dot.task{background:var(--warn);border-radius:1px}.dash-dot.appointment{background:transparent;border:1.5px solid var(--chip-neutral-fg);box-sizing:border-box}.dash-dot.event{background:var(--accent);border-radius:1px;transform:rotate(45deg)}.dash-dot.reminder{background:var(--muted)}.dash-cal-detail{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--line)}.dash-cal-detail h3{margin:0 0 var(--space-2)}.dash-cal-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.dash-cal-list strong{display:block;margin:.2rem 0}.dash-add-reminder{display:grid;grid-gap:var(--space-3);gap:var(--space-3);margin-top:var(--space-3)}.dash-add-reminder>.primary{justify-self:start}.appt-day{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.appt-day h3{margin:0}.appt-hours-note{align-items:center;margin:0}.appt-hours-note,.appt-slots{display:flex;flex-wrap:wrap;gap:var(--space-2)}.appt-slot{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:.5rem;padding:.35rem .65rem;font:inherit;box-shadow:var(--glass-shadow)}.appt-slot.picked{border-color:var(--line-strong);color:var(--accent)}.appt-slot.taken,.appt-slot:disabled{color:var(--muted);text-decoration:line-through;cursor:not-allowed;opacity:.7}.dash-day-plain{list-style:none;margin:0;padding:0;display:grid;grid-gap:.55rem;gap:.55rem}.dash-day-plain li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem}.dash-day-kind{color:var(--accent);font-size:.75rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;min-width:6.5rem}.appt-athletes{border:1px solid var(--line);border-radius:.6rem;padding:var(--space-3);margin:0}.appt-athletes legend{padding:0 var(--space-1);color:var(--muted);font-size:.8125rem;font-weight:650}.appt-athlete-list{list-style:none;margin:var(--space-2) 0 0;padding:0;display:grid;grid-gap:.35rem;gap:.35rem}.appt-athlete-list label{display:flex;align-items:center;gap:.5rem;color:var(--text)}.appt-athlete-list input{width:auto}.dash-formula-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.dash-formula-list p{margin:.15rem 0 0}.dash-formula code{color:var(--accent)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.nav-label{display:inline-flex;align-items:center;gap:.4rem;position:relative}.notify-dot{width:var(--dot);height:var(--dot);border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--panel);flex-shrink:0}.spec-chat-avatar{position:relative;display:inline-block}.spec-chat-avatar .notify-dot{position:absolute;top:.1rem;right:.1rem;box-shadow:0 0 0 2px #050505}.spec-chat{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.spec-chat-people{display:flex;flex-wrap:wrap;gap:var(--space-3)}.spec-chat-person{display:grid;justify-items:center;grid-gap:.3rem;gap:.3rem;min-width:5.5rem;min-height:0;padding:var(--space-2);background:var(--btn-ghost-bg);border:1px solid var(--line);border-radius:.7rem;color:var(--text);text-decoration:none;cursor:pointer;box-shadow:inset 0 1px 0 rgba(232,220,180,.08)}.spec-chat-person strong{font-size:.8rem}.spec-chat-person .muted{font-size:.68rem;text-align:center}.spec-chat-person:hover{background:var(--btn-ghost-hover)}.spec-chat-person.selected{border-color:var(--accent);background:rgba(56,189,248,.12);box-shadow:0 0 16px rgba(56,189,248,.18)}.spec-chat-person.dimmed{opacity:.34}.spec-chat-person.has-thread{border-color:rgba(56,189,248,.4)}.spec-chat-person.spec-chat-team{min-width:4.35rem;padding:.15rem .2rem;background:transparent;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.spec-chat-person.spec-chat-team.selected,.spec-chat-person.spec-chat-team:hover{background:transparent;border:0;box-shadow:none;transform:none}.spec-chat-person.spec-chat-team .team-mark{overflow:hidden!important}.spec-chat-person.spec-chat-team:hover .team-mark{transform:translateY(-1px);box-shadow:0 12px 26px rgba(0,0,0,.5),0 0 16px rgba(56,189,248,.2),inset 0 1px 0 rgba(255,255,255,.1)}.spec-chat-person.spec-chat-team.selected .team-mark{box-shadow:0 10px 24px rgba(0,0,0,.45),0 0 0 2px var(--accent),0 0 18px rgba(56,189,248,.28),inset 0 1px 0 rgba(255,255,255,.1)}.spec-chat-athlete{min-width:4.4rem;padding:.35rem}.spec-chat-athlete strong{font-size:.72rem}.spec-chat-chip{font-size:.58rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.spec-chat-row-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-2)}.spec-chat-row-head h2{margin:0;font-size:1rem}.spec-chat-all-threads{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.spec-chat-thread h3{margin:0 0 .15rem;font-size:1rem}.spec-chat-thread.dimmed{opacity:.42}.team-mark{position:relative;display:grid!important;place-items:center;line-height:1!important;font-size:.72rem;font-weight:800;color:var(--accent);background:rgba(42,42,42,.94);letter-spacing:.02em;border:1px solid rgba(255,255,255,.14)!important;border-radius:50%;overflow:hidden;box-shadow:0 10px 22px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:box-shadow var(--btn-duration) var(--btn-ease),transform var(--btn-duration) var(--btn-ease)}.team-mark-photo{background:#111!important}.team-mark.team-mark-photo img{width:100%;height:100%;object-fit:contain!important;object-position:center;padding:0;transform:none;box-sizing:border-box}.team-mark-ilca_7{background:#000!important;border-color:rgba(255,255,255,.12)!important}.team-mark-ilca_7.team-mark-photo img{transform:scale(1.36)}.team-mark-iqfoil{background:#000!important;border-color:rgba(255,255,255,.12)!important}.team-mark-iqfoil.team-mark-photo img{object-fit:cover!important;transform:scale(1.06)}.team-mark-nacra_17{background:#fff!important;border-color:rgba(0,0,0,.16)!important}.team-mark-mixed_470{background:#000!important;border-color:rgba(255,255,255,.12)!important}.team-mark-mixed_470.team-mark-photo img{width:96%;height:96%}.team-mark-fortyniner{background:#fff!important;border-color:rgba(0,0,0,.16)!important}.team-mark-fortyniner.team-mark-photo img{transform:scale(1.18)}.team-mark-wing_foil{background:#000!important;border-color:rgba(255,255,255,.12)!important}.team-mark-wing_foil.team-mark-photo img{width:98%;height:98%}.team-mark-ilca_4{background:#000!important;border-color:rgba(255,255,255,.12)!important}.team-mark-ilca_4.team-mark-photo img{transform:none;width:86%;height:86%}.team-mark-optimist{background:#fff!important;border-color:rgba(0,0,0,.16)!important}.team-mark-optimist.team-mark-photo img{width:78%;height:78%}.team-mark-iqfoil_junior{background:#fff!important;border-color:rgba(0,0,0,.16)!important}.team-mark-iqfoil_junior.team-mark-photo img{object-fit:cover!important;transform:scale(1.04)}.team-mark-techno_293{background:#fff!important;border-color:rgba(0,0,0,.16)!important}.team-mark-techno_293.team-mark-photo img{width:92%;height:92%}.team-mark-class_420{background:#fff!important;border-color:rgba(0,0,0,.16)!important}.team-mark-class_420.team-mark-photo img{width:82%;height:82%}.team-mark-twentyniner{background:#fff!important;border-color:rgba(0,0,0,.16)!important}.team-mark-twentyniner.team-mark-photo img{width:90%;height:90%}.team-mark-novices{background:rgba(42,42,42,.94);color:var(--accent);font-size:.78rem}.spec-chat-thread{display:grid;grid-gap:var(--space-3);gap:var(--space-3);min-height:0;max-width:100%;overflow:hidden}.spec-chat-thread-head h2{margin:0 0 .15rem}.spec-chat-stage{display:grid;grid-template-columns:minmax(0,22rem) minmax(0,1fr);grid-gap:var(--space-3);gap:var(--space-3);width:100%;max-width:100%;align-items:start}.spec-chat-box,.spec-chat-comments{min-width:0;max-width:100%}.spec-chat-box{width:100%}.spec-chat-comments{background:var(--panel);border:1px solid var(--line);border-radius:.7rem;padding:var(--space-3);box-shadow:var(--glass-shadow)}.spec-chat-comments-head h3{margin:0 0 .15rem;font-size:.95rem}.spec-chat-comment-log{display:grid;grid-gap:var(--space-2);gap:var(--space-2);max-height:18rem;overflow-y:auto;margin:var(--space-2) 0 var(--space-3)}.spec-chat-comment{background:rgba(48,40,62,.55);border:1px solid rgba(186,168,220,.28);border-radius:.55rem;padding:.5rem .65rem;color:#d7c8f2}.spec-chat-comment p{margin:.25rem 0 0;white-space:pre-wrap}.spec-chat-log{display:grid;grid-gap:var(--space-2);gap:var(--space-2);max-height:26rem;overflow-y:auto;padding:var(--space-3);background:var(--panel-2);border:1px solid var(--line);border-radius:.6rem;justify-items:start}button.spec-chat-bubble,button.spec-chat-bubble:active,button.spec-chat-bubble:disabled,button.spec-chat-bubble:hover{display:grid;width:100%;max-width:100%;min-height:0;justify-items:start;text-align:left;transform:none;filter:none;backdrop-filter:none;-webkit-backdrop-filter:none;font-weight:400}.spec-chat-bubble{max-width:100%;justify-self:start;background:var(--panel);border:1px solid var(--line);border-radius:.7rem .7rem .7rem .15rem;padding:.55rem .75rem;color:var(--text)}.spec-chat-bubble.theirs{color:var(--text)}.spec-chat-bubble.mine{justify-self:start;background:var(--gold-soft);border-color:var(--line-strong);color:var(--text)}.spec-chat-bubble.selected{outline:2px solid var(--accent);outline-offset:1px}.spec-chat-bubble p{margin:.25rem 0 0;white-space:pre-wrap}.spec-chat-acl{margin:.4rem 0 0;font-size:.68rem;color:var(--muted);font-style:italic}.spec-chat-acl-pick{margin:0;padding:0;border:0}.spec-chat-acl-pick legend{color:var(--muted);font-size:.75rem;font-weight:650;margin-bottom:var(--space-2)}.spec-chat-acl-options{display:flex;flex-wrap:wrap;gap:.35rem .7rem}.spec-chat-acl-options label.check{display:inline-flex;align-items:center;gap:.3rem;color:var(--muted);font-size:.75rem;font-weight:500}.spec-chat-acl-options input{width:auto}.spec-chat-meta{display:flex;flex-wrap:wrap;gap:.35rem .6rem;align-items:center;margin:0;font-size:.75rem;color:var(--muted)}.spec-chat-meta strong{color:inherit}.spec-chat-role{font-size:.65rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--accent);border:1px solid rgba(56,189,248,.35);border-radius:999px;padding:.05rem .4rem}.spec-chat-compose{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.spec-chat-compose textarea{width:100%;resize:vertical}.spec-chat-compose button{justify-self:end}.spec-chat-readonly{margin:0}@media (max-width:900px){.spec-chat-stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media (max-width:700px){.spec-chat-stage{grid-template-columns:minmax(0,1fr)}}@media (max-width:1100px){.dash-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-metric-hours{grid-column:1/-1}.dash-feedback-list{grid-template-columns:1fr}.dash-profile{grid-template-columns:auto 1fr}.dash-kpis{grid-column:1/-1}.shell{grid-template-columns:var(--rail) minmax(0,1fr)}.sidebar{width:var(--rail);overflow:hidden;transition:width .16s ease}.brand-copy,.nav-label,.signed-in{display:none}.nav-abbr{display:grid}.nav-icon{display:none}.sidebar-nav .notify-dot{position:absolute;top:.2rem;right:.2rem;margin:0}.sidebar-nav a,.sidebar-settings{justify-content:center;padding:.45rem .35rem}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:var(--control);height:var(--control);min-height:var(--control);margin:var(--space-3) 0 0 var(--space-4);padding:0;border-radius:.7rem;background:var(--nav-toggle-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--line-strong);box-shadow:var(--glass-shadow);flex-shrink:0}.nav-toggle:hover:not(:disabled){transform:scale(1.04)}.nav-toggle:active:not(:disabled){transform:scale(.96)}.nav-toggle-bars,.nav-toggle-bars:after,.nav-toggle-bars:before{display:block;width:var(--control-icon);height:max(2px,calc(var(--control-icon) * .12));background:var(--text);border-radius:99px;position:relative}.nav-toggle-bars:after,.nav-toggle-bars:before{content:"";position:absolute;left:0}.nav-toggle-bars:before{top:calc(var(--control-icon) * -.42)}.nav-toggle-bars:after{top:calc(var(--control-icon) * .42)}.nav-scrim{display:block;position:fixed;inset:0;width:auto;height:auto;min-height:0;border:0;padding:0;border-radius:0;background:var(--scrim);box-shadow:none;opacity:0;pointer-events:none;z-index:40;transform:none}.nav-open .nav-scrim{opacity:1;pointer-events:auto}.nav-drawer-close{align-items:center;justify-content:center;position:fixed;top:.85rem;left:calc(var(--sidebar) - 2.85rem);width:var(--control);height:var(--control);min-height:var(--control);padding:0;border-radius:.6rem;background:var(--menu-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line-strong);color:var(--text);font-size:1.35rem;line-height:1;z-index:46}.nav-open .nav-drawer-close{display:inline-flex}.nav-open .workspace-top{visibility:hidden}.nav-open .sidebar,.sidebar:focus-within,.sidebar:hover{width:var(--sidebar);position:fixed;left:0;top:0;bottom:0;height:100vh;z-index:45;background:var(--drawer-bg)}.nav-open .brand-copy,.nav-open .nav-label,.nav-open .signed-in,.sidebar:focus-within .brand-copy,.sidebar:focus-within .nav-label,.sidebar:focus-within .signed-in,.sidebar:hover .brand-copy,.sidebar:hover .nav-label,.sidebar:hover .signed-in{display:block}.nav-open .nav-abbr,.sidebar:focus-within .nav-abbr,.sidebar:hover .nav-abbr{display:none}.nav-open .nav-icon,.sidebar:focus-within .nav-icon,.sidebar:hover .nav-icon{display:grid}.nav-open .sidebar-nav a,.sidebar:focus-within .sidebar-nav a,.sidebar:hover .sidebar-nav a{justify-content:flex-start;padding:.42rem var(--space-3)}.app-header{margin-left:0}.home-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.home-summary-grid,.record-row,.roster-filters{grid-template-columns:1fr}.dash-metrics{grid-template-columns:1fr 1fr}.dash-metric-hours{grid-column:1/-1}.dash-profile{grid-template-columns:auto 1fr}.app-header{flex-wrap:nowrap}.shell{grid-template-columns:1fr}.workspace-top{padding:0;position:-webkit-sticky;position:sticky}.nav-toggle{margin:.35rem 0 .35rem .35rem;align-self:center}.app-header{margin:0}.main{padding:var(--space-3) var(--space-3) calc(var(--space-3) + 2.25rem)}.workspace-top{position:relative}.sidebar{inset:0 auto 0 0;transform:translateX(-108%);transition:transform .18s ease;min-height:100vh;overflow:auto;z-index:45;pointer-events:none}.nav-open .sidebar,.sidebar{position:fixed;width:min(18.5rem,86vw)}.nav-open .sidebar{transform:none;pointer-events:auto;background:var(--drawer-bg)}.nav-drawer-close{left:calc(min(18.5rem, 86vw) - 2.85rem)}.brand-copy,.nav-label,.signed-in{display:block}.nav-abbr{display:none}.sidebar-nav a{justify-content:flex-start;padding:.5rem var(--space-3)}.sheet-grid{font-size:.82rem}.sheet-grid td,.sheet-grid th{min-width:4.75rem;max-width:11rem;padding:var(--space-2)}.data-table .row-actions{justify-content:flex-start}.dash-metrics,.dash-profile,.dash-range-picker{grid-template-columns:1fr}.dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-period{justify-content:flex-start}.sc-confirm-day,.skill-map-log{grid-template-columns:1fr}}.splash,html.splash-skip .splash{display:none}.splash{position:fixed;inset:0;z-index:200;display:grid;place-items:center;overflow:hidden;background:#07111f}.splash-stage{position:absolute;inset:0;display:grid;place-items:center}.splash-glow{width:18rem;height:18rem;border-radius:50%;background:radial-gradient(circle,rgba(56,189,248,.22),transparent 68%);filter:blur(8px);animation:splash-pulse 5.2s ease-in-out both}.splash-glow,.splash-ripples{position:absolute;pointer-events:none}.splash-ripples{width:min(28rem,88vw);height:min(28rem,88vw)}.splash-ripples circle{fill:none;stroke:rgba(56,189,248,.28);stroke-width:.6;transform-origin:100px 100px;animation:splash-ripple 4.8s var(--route-ease) both}.splash-ripples circle:nth-child(2){animation-delay:.55s}.splash-ripples circle:nth-child(3){animation-delay:1.1s}.splash-lockup{position:relative;display:grid;justify-items:center;grid-gap:.55rem;gap:.55rem;padding:var(--space-4);animation:splash-float 3.2s ease-in-out 2s infinite alternate}.splash-mark{position:relative;width:min(9.5rem,42vw);border:0;background:transparent}.splash-mark-cut{position:relative;-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0);animation:splash-reveal 1.8s var(--route-ease) .2s both}.splash-mark img{display:block;width:100%;height:auto;border:0}.splash-sheen{position:absolute;inset:-20%;background:linear-gradient(105deg,transparent 38%,rgba(232,210,140,.28) 50%,transparent 62%);transform:translateX(-70%);animation:splash-sheen 1.6s var(--route-ease) 1.4s both;pointer-events:none}.splash-kicker,.splash-sub{margin:0;color:var(--muted);letter-spacing:.28em;text-transform:uppercase;font-size:.62rem;font-weight:650;opacity:0;animation:splash-caption .9s var(--route-ease) both}.splash-kicker{animation-delay:3.5s}.splash-sub{animation-delay:4.2s;letter-spacing:.42em}.splash-word{display:flex;gap:.08em;font-size:clamp(2rem,8vw,3.4rem);font-style:italic;font-weight:800;letter-spacing:.14em;line-height:1;color:#f3f3f3;text-shadow:0 0 18px rgba(56,189,248,.45),0 2px 0 rgba(0,0,0,.35)}.splash-word span{display:inline-block;opacity:0;transform:translateY(.7rem);filter:blur(8px);animation:splash-letter .9s var(--route-ease) both}.splash.is-exit{animation:splash-out .28s var(--route-ease) both;pointer-events:none}@media (prefers-reduced-motion:reduce){.route-scene,.splash,.splash-mark-cut,.splash.is-exit{animation:none}}@keyframes splash-reveal{0%{-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0);opacity:.35;transform:translateY(18px) scale(.96)}to{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0);opacity:1;transform:translateY(0) scale(1)}}@keyframes splash-float{0%{transform:translateY(0)}to{transform:translateY(-10px)}}@keyframes splash-sheen{0%{transform:translateX(-70%)}to{transform:translateX(70%)}}@keyframes splash-letter{0%{opacity:0;transform:translateY(.7rem);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes splash-caption{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes splash-ripple{0%{transform:scale(.55);opacity:.55}to{transform:scale(2.15);opacity:0}}@keyframes splash-pulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes splash-out{0%{opacity:1}to{opacity:0;visibility:hidden}}.race-event-form{max-width:32rem;margin:var(--space-3) 0 var(--space-4)}.event-date-field{display:flex;flex-direction:column;gap:.2rem;align-items:flex-start}.event-date-hint{margin:0;font-size:.78rem}.event-date-field input[type=date]{color-scheme:dark}.race-positions-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}table.sheet.race-positions{min-width:76rem;width:100%;table-layout:fixed;border-collapse:collapse}table.sheet.race-positions.has-actions{min-width:84rem}table.sheet.race-positions.has-leg5{min-width:91rem}table.sheet.race-positions.has-leg5.has-actions{min-width:99rem}table.sheet.race-positions .race-pos-col-no{width:4.75rem}table.sheet.race-positions .race-pos-col-format{width:11.5rem}table.sheet.race-positions .race-pos-col-leg{width:4.5rem}table.sheet.race-positions .race-pos-col-reason{width:10.5rem}table.sheet.race-positions .race-pos-col-actions{width:7.75rem}table.sheet.race-positions td,table.sheet.race-positions th{padding:.45rem .5rem;vertical-align:middle;border-bottom:1px solid var(--line);background:transparent}table.sheet.race-positions tbody td{height:auto;min-height:3.2rem;overflow:visible}table.sheet.race-positions th{height:2.75rem;text-transform:none;letter-spacing:0;font-size:.78rem;font-weight:600;color:var(--muted);white-space:nowrap;line-height:1.25;background:var(--row-head)}table.sheet.race-positions tbody tr:nth-child(2n) td{background:var(--row-stripe)}table.sheet.race-positions tbody tr:hover td{background:rgba(56,189,248,.05)}table.sheet.race-positions tr.sheet-row-locked td{background:var(--locked-row);color:inherit}table.sheet.race-positions tr.sheet-row-locked input,table.sheet.race-positions tr.sheet-row-locked select{background:transparent;color:inherit}table.sheet.race-positions input,table.sheet.race-positions select{width:100%;min-width:0;max-width:none;height:2.15rem;box-sizing:border-box}table.sheet.race-positions select.race-format-select,table.sheet.race-positions select.race-reason-select{min-width:0}table.sheet.race-positions td:first-child{white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:650;color:var(--muted);text-align:center}table.sheet.race-positions .race-pos-leg-head{text-align:center}table.sheet.race-positions .race-pos-outcome{border-left:1px solid rgba(255,255,255,.16)}table.sheet.race-positions .race-reason-shift{display:block;width:100%;height:auto;min-height:0;margin-top:.2rem;padding:0;border:0;background:transparent;color:#d4af37;font-size:.72rem;font-weight:650;line-height:1.2;text-align:center;cursor:pointer}table.sheet.race-positions .race-reason-shift:disabled{cursor:default;opacity:.9}.race-pos-cell{text-align:center}.race-pos-error{display:block;max-width:9rem;margin:.3rem auto 0;color:var(--danger);font-size:.75rem;line-height:1.3;text-align:left}.race-pos-exempt,.race-pos-outcome-label{display:block;margin-top:.25rem;font-size:.72rem;font-weight:650}.outcome-gain{color:#1f8a45}.outcome-loss{color:var(--danger)}.outcome-neutral,.race-pos-exempt{color:var(--muted)}.race-pos-exempt{font-weight:600}.race-reason-picker{position:relative;min-width:8.5rem}.race-reason-picker summary{display:flex;justify-content:space-between;gap:.4rem;cursor:pointer;list-style:none;font-size:.78rem}.race-reason-picker summary::-webkit-details-marker{display:none}.race-reason-count{color:var(--muted)}.race-reason-menu{position:absolute;z-index:5;display:grid;grid-gap:.25rem;gap:.25rem;min-width:14rem;max-height:16rem;overflow:auto;padding:.5rem;background:var(--surface,#fff);border:1px solid var(--line,#ddd);border-radius:.4rem}.race-reason-menu label{display:flex;gap:.4rem;align-items:flex-start;font-size:.8rem}.race-reason-historical{color:var(--muted)}.race-comment-cell textarea{width:min(16rem,70vw);min-height:3.2rem}.race-comment-count,.race-comment-read{display:block;color:var(--muted);font-size:.72rem}.race-status-field{display:grid;grid-gap:.15rem;gap:.15rem;margin-top:.35rem;font-size:.72rem;color:var(--muted)}.race-status-field select{font-size:.8rem}.race-pos-na{min-height:2.15rem;color:var(--muted);opacity:.62;font-size:.78rem;font-weight:600;letter-spacing:.04em}.race-pos-badge,.race-pos-na{display:inline-flex;align-items:center;justify-content:center}.race-pos-badge{min-width:calc(var(--control) * .85);min-height:calc(var(--control) * .7);padding:.12rem .4rem;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04)}.race-pos-badge.has-pos{border-color:transparent;box-shadow:0 4px 10px rgba(0,0,0,.28)}.race-pos-badge input{width:2.6ch;min-width:2.6ch;max-width:3.2ch;height:auto;padding:0;margin:0;border:0;background:transparent!important;color:inherit;text-align:center;font-weight:750;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.2}table.sheet.race-positions tr.sheet-row-locked .race-pos-badge.has-pos{opacity:.92}table.sheet.race-positions .sheet-row-actions{justify-content:flex-end;flex-wrap:nowrap;min-width:0}.race-pos-actions-col{white-space:nowrap}table.sheet.race-positions tfoot td{background:transparent;border-bottom:0;padding-top:.85rem}.race-save-analysis-bar{display:flex;justify-content:center;width:100%;margin-top:.85rem;box-sizing:border-box}.race-save-analysis-bar,.race-save-analysis-shift{max-width:100%;min-width:0}.race-save-analysis{white-space:normal;text-align:left;width:auto;max-width:min(28rem,100%);height:auto;min-height:2.5rem;line-height:1.25;padding:.55rem .9rem}.event-entry{display:flex;align-items:center;gap:.45rem;min-width:0}.event-entry>a:first-child,.event-entry>input,.event-entry>span{min-width:0}.event-report-link{display:inline-flex;flex:none;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.55rem;color:var(--accent);border:1px solid var(--line);background:rgba(56,189,248,.08)}.event-report-link:hover{color:var(--accent);border-color:rgba(56,189,248,.5);background:rgba(56,189,248,.16)}.skill-map-log{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.skill-map-log .auth-error,.skill-map-log .auth-ok,.skill-map-log button{grid-column:1/-1}.skill-map-filters{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-end;margin:var(--space-3) 0}.skill-map-filters label{display:grid;grid-gap:.25rem;gap:.25rem;font-size:.8rem;color:var(--muted);min-width:10rem}.skill-map-wrap{display:block;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding-bottom:.65rem}.skill-map-table{width:max-content;min-width:68rem;border-collapse:collapse;font-size:.78rem}.skill-map-table caption{caption-side:top;text-align:left;padding:0 0 var(--space-2)}.skill-map-table td,.skill-map-table th{padding:.35rem .3rem;border-bottom:1px solid var(--line);vertical-align:middle;text-align:center}.skill-map-table th[scope=row],.skill-map-table thead th:first-child{text-align:left;position:-webkit-sticky;position:sticky;left:0;background:var(--panel-2);min-width:9.5rem;max-width:11rem;padding-left:.6rem;z-index:1}.skill-map-wind-head{border-left:1px solid rgba(255,255,255,.14);font-weight:700;color:var(--text)}.skill-map-sea-head{font-weight:500;font-size:.68rem;color:var(--muted);min-width:4.4rem;border-left:1px solid rgba(255,255,255,.06)}.skill-map-swatch{display:inline-flex;align-items:center;justify-content:center;min-width:2.15rem;min-height:1.65rem;padding:.1rem .28rem;border-radius:.4rem;font-weight:750;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.skill-map-swatch.is-empty{background:rgba(255,255,255,.04);color:var(--muted);font-weight:500}.skill-map-history-item{display:flex;justify-content:space-between;gap:var(--space-3);align-items:flex-start;padding:var(--space-3);border:1px solid var(--line);border-radius:.7rem;background:var(--panel)}.skill-map-history-item.is-pending{border-color:rgba(56,189,248,.35)}.skill-map-history-item.is-rejected{border-color:rgba(226,59,76,.35)}.skill-map-history-item.is-approved{border-color:rgba(34,176,82,.28)}.skill-map-status.is-pending{color:var(--accent)}.skill-map-status.is-rejected{color:var(--danger)}.skill-map-reject-note{margin:.35rem 0 0;color:var(--warn);font-size:.85rem}.skill-map-review-form{display:grid;grid-gap:var(--space-2);gap:var(--space-2);margin-top:var(--space-3)}.skill-map-chart-card{max-width:none}.skill-map-chart{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.skill-map-legend{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;justify-content:flex-start;justify-self:start;width:max-content;max-width:100%;margin:0;padding:.35rem .65rem;border:1px solid var(--line-strong);border-radius:.65rem;background:var(--panel);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--glass-shadow);color:var(--muted);font-size:.75rem}.skill-map-legend-swatch{width:.85rem;height:.85rem;border-radius:.2rem;display:inline-block;margin-right:.25rem;vertical-align:middle;border:1px solid rgba(56,189,248,.35)}.skill-map-legend-swatch.is-empty{background:#5a564c}.skill-map-legend-swatch.is-weak{background:#d73027}.skill-map-legend-swatch.is-strong{background:#1a9850}.skill-map-legend-swatch.is-pending{background:#d4af37}.skill-map-sunburst{width:100%;height:min(58vh,36rem);min-height:22rem;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden;border-radius:.85rem;border:1px solid var(--line-strong);background:radial-gradient(circle at 50% 42%,rgba(56,189,248,.08),transparent 42%),rgba(8,8,8,.72);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--glass-shadow)}.skill-map-sunburst svg{display:block;max-width:100%}.skill-map-stage{position:relative}.skill-map-stage:-webkit-full-screen{width:100%;height:100%;display:flex;flex-direction:column;background:radial-gradient(circle at 50% 42%,rgba(56,189,248,.08),transparent 42%),#070707}.skill-map-stage:-webkit-full-screen,.skill-map-stage:fullscreen{width:100%;height:100%;display:flex;flex-direction:column;background:radial-gradient(circle at 50% 42%,rgba(56,189,248,.08),transparent 42%),#070707}.skill-map-stage.is-maximized{position:fixed;inset:0;z-index:80;width:100%;height:100%;display:flex;flex-direction:column;background:radial-gradient(circle at 50% 42%,rgba(56,189,248,.08),transparent 42%),#070707}.skill-map-stage:-webkit-full-screen .skill-map-sunburst{flex:1 1 auto;width:100%;height:100%;min-height:0;max-height:none;border-radius:0}.skill-map-stage.is-maximized .skill-map-sunburst,.skill-map-stage:-webkit-full-screen .skill-map-sunburst,.skill-map-stage:fullscreen .skill-map-sunburst{flex:1 1 auto;width:100%;height:100%;min-height:0;max-height:none;border-radius:0}.skill-map-fs{position:absolute;top:.6rem;right:.6rem;z-index:5;width:var(--control);min-width:var(--control);height:var(--control);min-height:var(--control);padding:0;color:var(--accent)}.skill-map-fs.is-exit{border-color:rgba(56,189,248,.72);background:rgba(18,16,10,.82);box-shadow:0 10px 24px rgba(0,0,0,.4),0 0 16px rgba(56,189,248,.22)}.skill-map-fs svg{width:var(--control-icon);height:var(--control-icon);display:block}.skill-map-wind-range{font-style:italic;font-weight:400}.skill-map-wind-score{font-style:normal;font-weight:700}.skill-map-sunburst svg path.skill-map-arc{vector-effect:non-scaling-stroke}.skill-map-sunburst svg path.skill-map-label-guide{fill:none!important;stroke:none!important;vector-effect:none}.skill-map-pending{stroke:var(--domain-attn)!important;stroke-width:2.6px!important}.skill-map-pending,.skill-map-pending-dot{animation:skill-map-pending-pulse 1.6s ease-in-out infinite}@keyframes skill-map-pending-pulse{0%,to{opacity:.55}50%{opacity:1}}.skill-map-arc-label{font-weight:700;letter-spacing:.01em}.skill-map-hub-label{font-family:Inter,Segoe UI,system-ui,sans-serif}.skill-map-sunburst g.slice.is-selected>path.skill-map-arc{stroke:var(--domain-sail);stroke-width:1.5px}.skill-map-legend-scale-wrap{display:inline-flex;align-items:center;gap:.4rem}.skill-map-legend-scale{width:6.5rem;height:.7rem;border-radius:999px;border:1px solid rgba(56,189,248,.35);background:linear-gradient(90deg,#a50026,#d73027 12%,#f46d43 24%,#fdae61 36%,#fee08b 48%,#d9ef8b 60%,#a6d96a 72%,#66bd63 84%,#1a9850)}.skill-map-grid-card{scroll-margin-top:.75rem}.skill-map-grid-card.is-expanded{position:fixed;inset:.75rem .75rem 2.8rem;z-index:70;overflow:auto;background:var(--drawer-bg);color:var(--text);border-color:rgba(56,189,248,.45);box-shadow:0 24px 60px rgba(0,0,0,.55),0 0 24px rgba(56,189,248,.14)}.skill-map-grid-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.skill-map-grid-head h2{margin-bottom:.2rem}.skill-map-historical{display:inline-block;margin-left:.45rem;padding:.08rem .4rem;border-radius:999px;color:var(--muted);border:1px solid var(--line,#444);font-size:.68rem;font-weight:650;letter-spacing:.02em;vertical-align:.15rem}@media (max-width:700px){.skill-map-grid-head{flex-direction:column}.skill-map-rate-grid{min-width:34rem}button.skill-map-cell{min-width:3.1rem;min-height:2.7rem;font-size:.92rem}}.skill-map-expand{width:auto;flex:none}.skill-map-rate-wrap{overflow-x:auto}.skill-map-rate-grid{width:100%;border-collapse:separate;border-spacing:.4rem}.skill-map-rate-grid th{text-transform:none;letter-spacing:0;font-size:.75rem;padding:.2rem .35rem .45rem}.skill-map-rate-grid th[scope=row]{text-align:left;white-space:nowrap;width:1%}.skill-map-rate-grid td{padding:0;border:0}button.skill-map-cell{width:100%;min-width:3.6rem;min-height:3.15rem;padding:.35rem;border-radius:.65rem;font-size:1rem;font-weight:750;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}button.skill-map-cell:active:not(:disabled),button.skill-map-cell:hover:not(:disabled){transform:none;filter:brightness(1.06)}button.skill-map-cell.is-empty,button.skill-map-cell.is-empty:hover:not(:disabled){background:#5a564c;color:#f6f1e8;border-color:rgba(255,255,255,.08)}button.skill-map-cell.is-pending,button.skill-map-cell.is-pending:hover:not(:disabled){background:#d4af37;color:#161616;border-color:rgba(56,189,248,.95)}button.skill-map-cell.is-focus{box-shadow:0 0 0 2px #070707,0 0 0 4px #f3e6c4}.skill-map-grid-card.is-expanded .skill-map-rate-grid th{font-size:.95rem}.skill-map-grid-card.is-expanded button.skill-map-cell{min-height:5.75rem;font-size:1.45rem}.race-analysis{margin-top:var(--space-4)}.race-report-stage{position:relative;min-height:12rem}.race-report-content{transition:opacity .22s ease,filter .22s ease}.race-report-stage.is-generating .race-report-content{opacity:.14;filter:blur(1.5px);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.race-report-loading{position:absolute;inset:0;z-index:1;display:grid;place-content:center;justify-items:center;grid-gap:.85rem;gap:.85rem;padding:var(--space-4);text-align:center}.race-report-loading p{max-width:34rem;margin:0;color:var(--text);font-size:.95rem;font-weight:650;line-height:1.5}.race-report-loading-icon{width:2rem;height:2rem;color:var(--accent);animation:race-report-spin .9s linear infinite}@keyframes race-report-spin{to{transform:rotate(1turn)}}.race-analysis-report-title{margin:var(--space-4) 0 var(--space-2)}.race-analysis .race-report-list{grid-template-columns:1fr}.race-report-rich{font-size:.875rem;line-height:1.58}.race-report-rich>:first-child{margin-top:0}.race-report-rich>:last-child{margin-bottom:0}.race-report-rich p{margin:0 0 .9rem;font-size:inherit}.race-report-rich h3,.race-report-rich h4,.race-report-rich h5{margin:1.35rem 0 .55rem;color:var(--text);line-height:1.3}.race-report-rich h3{font-size:1.05rem}.race-report-rich h4,.race-report-rich h5{font-size:.95rem}.race-report-rich ol,.race-report-rich ul{margin:.15rem 0 1rem;padding-left:1.35rem}.race-report-rich li+li{margin-top:.5rem}.race-report-rich strong{color:var(--text)}.race-report-rich blockquote{margin:.25rem 0 1rem;padding:.15rem 0 .15rem .85rem;color:var(--muted);border-left:2px solid var(--line-strong)}.race-report-rich pre{max-width:100%;overflow-x:auto;margin:.25rem 0 1rem;padding:.75rem;border:1px solid var(--line);border-radius:.6rem;background:rgba(0,0,0,.32);white-space:pre-wrap}.race-report-rich code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.race-report-table-wrap{max-width:100%;overflow-x:auto;margin:.25rem 0 1rem}.race-report-table-wrap table{width:100%;border-collapse:collapse}.race-report-table-wrap td,.race-report-table-wrap th{padding:.45rem .55rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.race-report-visual{display:block;width:min(100%,40rem);height:auto;margin-top:.6rem}.race-report-source{margin:-.35rem 0 var(--space-3);font-size:.75rem}@media (prefers-reduced-motion:reduce){.race-report-content{transition:none}.race-report-loading-icon{animation-duration:1.8s}.skill-map-pending,.skill-map-pending-dot{animation:none}.splash-glow,.splash-kicker,.splash-lockup,.splash-mark,.splash-mark-cut,.splash-ripples circle,.splash-sheen,.splash-sub,.splash-word span{animation-duration:.01ms!important;animation-delay:0s!important}}.nutrition-kind-nav{display:flex;gap:var(--space-4);align-items:center;margin:var(--space-5) 0 var(--space-6)}.nutrition-kind-link{display:grid;justify-items:center;grid-gap:var(--space-2);gap:var(--space-2);width:5.75rem;padding:var(--space-4) var(--space-3);border:1px solid var(--line);border-radius:1rem;background:var(--panel);color:var(--text);text-decoration:none;box-shadow:var(--glass-shadow)}.nutrition-kind-link svg{width:calc(var(--control) * .85);height:calc(var(--control) * .85)}.nutrition-kind-link span{font-size:.75rem;font-weight:600;letter-spacing:.02em}.nutrition-kind-link.active,.nutrition-kind-link:hover{border-color:var(--line-strong);color:var(--accent)}.nutrition-audience{border:0;margin:0;padding:0;display:grid;grid-gap:var(--space-2);gap:var(--space-2);width:100%}.nutrition-audience legend{color:var(--muted);font-size:.8125rem;font-weight:500;margin-bottom:var(--space-1)}.nutrition-browser,.nutrition-upload{width:min(100%,40rem)}.nutrition-search{display:grid;grid-gap:var(--space-1);gap:var(--space-1);color:var(--muted);font-size:.8125rem;font-weight:500;margin-bottom:var(--space-4)}.nutrition-list .program-row strong{overflow-wrap:anywhere}.assess-board{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.assess-form{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.assess-form label{display:grid;grid-gap:var(--space-1);gap:var(--space-1);color:var(--muted);font-size:.8125rem;font-weight:500}.assess-form h2{margin:0}.assess-form-grid{display:grid;grid-gap:var(--space-3);gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.assess-form textarea{width:100%}.assess-status{font-size:.75rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.assess-status.due-soon{color:var(--accent)}.assess-status.overdue{color:var(--danger)}.assess-status.current,.assess-status.untested{color:var(--muted)}.assess-mode,.assess-section-nav{justify-content:flex-start;max-width:none;margin-bottom:var(--space-4)}.assess-progress-head{display:flex;justify-content:space-between;gap:var(--space-4);align-items:flex-end;flex-wrap:wrap}.assess-progress-head h1{margin:0}.assess-progress-split{display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:minmax(16rem,22rem) minmax(0,1fr);align-items:start}.assess-chart-grid{display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}.assess-chart-card.overdue,.assess-mini.overdue{box-shadow:inset 3px 0 0 var(--danger)}.assess-chart-title{display:flex;justify-content:space-between;gap:var(--space-2);align-items:baseline}.assess-chart-title h3{margin:0}.assess-query{display:grid;grid-gap:var(--space-1);gap:var(--space-1);color:var(--muted);font-size:.8125rem;font-weight:500;max-width:20rem}.assess-score-list{list-style:none;margin:var(--space-3) 0 0;padding:0;display:grid;grid-gap:.35rem;gap:.35rem}.assess-score-list li{display:flex;gap:var(--space-2);align-items:baseline}.assess-score-list strong{margin-left:auto}.assess-legend{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-3)}.assess-legend li{display:flex;gap:.4rem;align-items:center}.assess-swatch{width:.7rem;height:.7rem;border-radius:50%;display:inline-block}.assess-swatch.benchmark{background:transparent;border-top:2px dashed var(--muted);border-radius:0;width:1rem;height:0}.assess-benchmark{stroke:var(--muted);stroke-width:1.5;stroke-dasharray:5 4}.assess-radar{width:100%;height:auto}.assess-radar-ring{fill:none;stroke:var(--line);stroke-width:1}.assess-radar-mid{fill:none;stroke:var(--muted);stroke-width:1.25;stroke-dasharray:4 3}.assess-radar-label{fill:var(--muted);font-size:.68rem}.assess-tab-dot{width:.45rem;height:.45rem;border-radius:50%;background:var(--danger);display:inline-block;margin-left:.35rem;vertical-align:middle}.assess-cell-overdue{color:var(--danger)}.assess-overdue-flag{color:var(--danger);font-weight:650;margin:0 0 var(--space-3)}.assess-overdue-flag a,.assess-overdue-kind{color:var(--danger)}.dash-dot.assessment{background:var(--danger)}.dash-chip.assessment{color:var(--danger);border-color:rgba(226,59,76,.45);background:var(--danger-soft)}@media (max-width:900px){.assess-progress-split{grid-template-columns:1fr}}.copyright-footer{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.35rem .85rem;margin:0;padding:.38rem 1rem;background:var(--sidebar-bg);border-top:1px solid var(--line);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--muted);font-size:.72rem;letter-spacing:.03em;line-height:1.35}.copyright-footer p{margin:0}.copyright-links{display:flex;gap:.35rem}.copyright-footer a{color:rgba(56,189,248,.82);text-decoration:none}.copyright-footer a:hover{color:var(--accent)}.legal-page{min-height:100dvh;padding:clamp(1.25rem,4vw,2.5rem) clamp(1rem,4vw,2rem) 3.5rem}.legal-sheet{width:min(42rem,100%);margin:0 auto}.legal-copy{display:grid;grid-gap:.85rem;gap:.85rem;color:var(--muted);font-size:.9rem;line-height:1.55;text-align:left}.legal-copy p{margin:0}.legal-copy strong{color:var(--text);font-weight:650}.legal-copy a{color:var(--accent)}.terms-scroll{max-height:min(46vh,22rem);overflow:auto;margin:0 0 var(--space-4);padding:.85rem .95rem;text-align:left;border:1px solid rgba(56,189,248,.22);border-radius:.7rem;background:var(--panel-2);color:var(--text)}.terms-accept-form{display:grid;grid-gap:var(--space-3);gap:var(--space-3);text-align:left}.terms-agree{display:flex;align-items:flex-start;gap:.65rem;color:var(--text);font-size:.875rem;line-height:1.4}.terms-agree input{width:auto;margin-top:.15rem;accent-color:var(--accent)}.terms-accept-form button{width:100%}.video-page{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.video-storage{margin-top:0}.video-upload{max-width:40rem;margin-top:var(--space-3)}.video-upload label.check input{width:auto;margin:0}.video-share-tip{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin:0 0 var(--space-3);max-width:40rem;color:var(--muted);font-size:.8125rem}.video-share-tip button{min-height:var(--control)}.video-shared-files{list-style:none;margin:0;padding:0;display:grid;grid-gap:.35rem;gap:.35rem;width:100%}.video-shared-files li{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.video-review{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.video-review-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-3);align-items:flex-start}.video-review-head h2{margin:.2rem 0}.video-stage{position:relative;background:#000;border-radius:.85rem;overflow:hidden;border:1px solid var(--line);box-shadow:var(--glass-shadow);min-height:min(52vh,28rem)}.video-stage:-webkit-full-screen{display:grid;grid-template-rows:minmax(0,1fr);width:100vw;height:100vh;max-width:none;max-height:none;border:0;border-radius:0;box-shadow:none;background:#000}.video-stage:-webkit-full-screen,.video-stage:fullscreen{display:grid;grid-template-rows:minmax(0,1fr);width:100vw;height:100vh;max-width:none;max-height:none;border:0;border-radius:0;box-shadow:none;background:#000}.video-stage video{display:block;width:100%;height:auto;min-height:min(52vh,28rem);max-height:min(82vh,56rem);background:#000;object-fit:contain;cursor:pointer}.video-flat-viewport{position:relative;overflow:hidden;min-height:min(52vh,28rem);touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.video-flat-viewport.is-zoomed{cursor:-webkit-grab;cursor:grab}.video-flat-viewport.is-zoomed:active{cursor:-webkit-grabbing;cursor:grabbing}.video-flat-scene{position:relative;width:100%;margin-inline:auto;transform-origin:0 0}.video-flat-viewport.is-zoomed .video-flat-scene{will-change:transform}.video-stage:-webkit-full-screen .video-flat-scene,.video-stage:-webkit-full-screen .video-flat-viewport,.video-stage:-webkit-full-screen video{width:100%;height:100%;min-height:0;max-width:none;max-height:none}.video-stage:-webkit-full-screen .video-flat-scene,.video-stage:-webkit-full-screen .video-flat-viewport,.video-stage:-webkit-full-screen video,.video-stage:fullscreen .video-flat-scene,.video-stage:fullscreen .video-flat-viewport,.video-stage:fullscreen video{width:100%;height:100%;min-height:0;max-width:none;max-height:none}.video-zoom-reset,.video-zoom-reset:active:not(:disabled),.video-zoom-reset:hover:not(:disabled){position:absolute;top:.45rem;left:.45rem;z-index:6;width:calc(var(--control) * .82);min-height:calc(var(--control) * .82);padding:0;border-radius:.4rem;background:rgba(0,0,0,.6);color:#fff;transform:none;box-shadow:none}.video-zoom-reset svg{width:var(--control-icon);height:var(--control-icon)}.video-sphere{position:relative;width:100%;height:min(70vh,42rem);min-height:16rem;background:#000;overflow:hidden;touch-action:none;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.video-sphere:active{cursor:-webkit-grabbing;cursor:grabbing}.video-sphere-source{opacity:0;pointer-events:none}.video-sphere-canvas,.video-sphere-source{position:absolute;inset:0;width:100%;height:100%}.video-sphere-canvas{display:block}.video-sphere-tilt,.video-sphere-tilt:active:not(:disabled),.video-sphere-tilt:hover:not(:disabled){position:absolute;top:.45rem;left:.45rem;z-index:6;min-height:1.8rem;padding:.15rem .55rem;border-radius:.4rem;background:rgba(0,0,0,.6);color:#fff;font-size:.75rem;transform:none;box-shadow:none}.video-sphere-tilt.is-on,.video-sphere-tilt.is-on:hover:not(:disabled){background:rgba(56,189,248,.9);color:#16140f}.video-sphere-tilt-note{position:absolute;top:2.55rem;left:.45rem;z-index:6;margin:0;max-width:14rem;color:#fff;font-size:.75rem}.video-stage:-webkit-full-screen .video-sphere{width:100%;height:100%;min-height:0;max-height:none}.video-stage:-webkit-full-screen .video-sphere,.video-stage:fullscreen .video-sphere{width:100%;height:100%;min-height:0;max-height:none}.video-playback-note{margin:0;min-height:16rem;display:grid;place-items:center;padding:1.5rem;text-align:center;color:#fff}.video-tools .muted{margin:0;align-self:center}.video-conditions{position:absolute;top:.55rem;right:.55rem;z-index:4;display:flex;gap:.35rem;pointer-events:none}.video-conditions span{padding:.18rem .42rem;border-radius:.3rem;background:#000;color:#fff;opacity:.6;font-size:.72rem;line-height:1.2;white-space:nowrap}.video-scrub{position:absolute;left:0;right:0;bottom:0;z-index:5;display:flex;align-items:center;gap:.45rem;padding:1.4rem .55rem .45rem;background:linear-gradient(transparent,rgba(0,0,0,.82) 42%);color:#fff}.video-scrub button,.video-scrub button:active:not(:disabled),.video-scrub button:hover:not(:disabled){transform:none;box-shadow:none;background:transparent;border-color:transparent;color:#fff}.video-scrub-btn{flex:none;width:var(--control);min-height:var(--control);padding:0}.video-scrub-btn svg{width:var(--control-icon);height:var(--control-icon)}.video-scrub-track{position:relative;flex:1 1;height:calc(var(--mark) * 2.4);min-width:0;cursor:pointer;touch-action:none}.video-scrub-line{position:absolute;left:0;right:0;top:50%;height:var(--track);margin-top:calc(var(--track) / -2);border-radius:999px;background:rgba(255,255,255,.28);overflow:hidden;pointer-events:none}.video-scrub-played{display:block;height:100%;background:#fff}.video-scrub-range{position:absolute;top:50%;height:var(--track);margin-top:calc(var(--track) / -2);border-radius:999px;background:rgba(56,189,248,.9);pointer-events:none}.video-scrub-head{position:absolute;top:50%;width:var(--mark);height:var(--mark);margin-left:calc(var(--mark) / -2);margin-top:calc(var(--mark) / -2);border-radius:50%;background:#fff;pointer-events:none}.video-scrub button.video-scrub-mark,.video-scrub button.video-scrub-mark:active:not(:disabled),.video-scrub button.video-scrub-mark:hover:not(:disabled),.video-scrub-mark{position:absolute;top:50%;z-index:2;width:var(--mark);height:var(--mark);min-height:0;margin-left:calc(var(--mark) / -2);margin-top:calc(var(--mark) / -2);padding:0;border-radius:50%;border:max(1px,calc(var(--mark) * .16)) solid #fff;background:var(--accent);box-shadow:0 0 0 max(1px,calc(var(--mark) * .28)) rgba(56,189,248,.35);color:#fff;cursor:pointer}.video-scrub-mark:before{content:"";position:absolute;inset:calc(var(--mark) * -.2)}.video-scrub-mark.is-draft{background:transparent;pointer-events:none}.video-scrub-mark:after{content:attr(data-note);display:none;position:absolute;bottom:calc(100% + .45rem);left:50%;transform:translateX(-50%);width:max-content;max-width:14rem;padding:.3rem .5rem;border-radius:.45rem;background:rgba(12,12,12,.94);border:1px solid rgba(56,189,248,.5);color:#f3f3f3;font-size:.75rem;font-weight:550;line-height:1.3;white-space:normal;pointer-events:none}.video-scrub-mark:focus-visible:after,.video-scrub-mark:hover:after{display:block}.video-reticle{top:50%;width:var(--reticle,var(--pin));height:var(--reticle,var(--pin));transform:translate(-50%,-50%);fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 1px rgba(255,255,255,.95)) drop-shadow(0 0 calc(var(--reticle, var(--pin)) * .34) rgba(56,189,248,.95))}.marker-callout,.video-reticle{position:absolute;left:50%;overflow:visible;color:#fff;pointer-events:none}.marker-callout{z-index:3;top:calc(50% + var(--reticle, var(--pin)) * 1.05);transform:translateX(-50%);width:max-content;max-width:min(12rem,42vw);padding:.16em .42em;border-radius:.28rem;background:rgba(6,6,6,.72);font-size:clamp(11px,10px + .18vw,13px);font-weight:550;line-height:1.25;text-align:center;white-space:normal}.marker-callout-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.marker-callout:before{content:"";position:absolute;left:50%;bottom:100%;width:max(1px,calc(var(--reticle, var(--pin)) * .07));height:calc(var(--reticle, var(--pin)) * .55);transform:translateX(-50%);background:#fff;box-shadow:0 0 5px rgba(56,189,248,.85)}.video-pin[data-place~=low] .marker-callout{top:auto;bottom:calc(50% + var(--reticle, var(--pin)) * 1.05)}.video-pin[data-place~=low] .marker-callout:before{bottom:auto;top:100%}.video-pin[data-place~=left] .marker-callout{left:50%;transform:none;text-align:left}.video-pin[data-place~=left] .marker-callout:before{left:0;transform:none}.video-pin[data-place~=right] .marker-callout{left:auto;right:50%;transform:none;text-align:right}.video-pin[data-place~=right] .marker-callout:before{left:auto;right:0;transform:none}.video-scrub-time{flex:none;font-size:.75rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.video-frame{position:absolute;z-index:2;pointer-events:none}.video-frame.is-armed{pointer-events:auto;cursor:crosshair}.video-pin{position:absolute;left:0;top:0;width:var(--pin);height:var(--pin);border:0;background:transparent;pointer-events:none;visibility:hidden;will-change:transform;--reticle:var(--pin)}.video-pin.is-draft{margin-left:calc(var(--pin) / -2);margin-top:calc(var(--pin) / -2);visibility:visible;will-change:auto;z-index:3}.video-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.video-tile{display:grid;grid-gap:.35rem;gap:.35rem;padding:.95rem 1rem;border-radius:.85rem;border:1px solid var(--line);background:var(--panel);color:inherit;text-decoration:none}.video-tile:hover{border-color:rgba(56,189,248,.55)}.video-tile-date{justify-self:start;font-size:.5em;line-height:1.2;color:var(--muted)}.video-tile strong{font-size:1.02rem}.video-draft{position:absolute;z-index:4;pointer-events:auto;width:min(15rem,46%);max-width:calc(100% - 1.6rem);display:grid;grid-gap:.45rem;gap:.45rem;padding:.65rem;border-radius:.7rem;background:rgba(16,16,16,.92);color:#f3f3f3;border:1px solid rgba(56,189,248,.5);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.video-draft input,.video-draft textarea{width:100%;color:#f3f3f3;background:rgba(0,0,0,.35);border-color:rgba(255,255,255,.16)}.video-tools,.video-voice-draft{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:flex-end}.video-voice-draft{padding:var(--space-3);border:1px solid var(--line);border-radius:.75rem;background:var(--panel)}.video-voice-draft label{display:grid;grid-gap:.25rem;gap:.25rem;color:var(--muted);font-size:.8125rem}.video-voice-draft input{width:6.5rem}.video-notes{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.video-notes h3,.video-notes p{margin:0}.video-notes textarea{width:100%}.video-mark-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.video-mark-list li{display:flex;justify-content:space-between;gap:var(--space-3);align-items:center;padding-bottom:var(--space-2);border-bottom:1px solid var(--line)}.video-history-link{display:grid;grid-gap:.15rem;gap:.15rem;color:inherit;text-decoration:none}.video-history-link.is-current strong{color:var(--accent)}.calendar-jump{display:inline-flex;align-items:center;margin-top:.45rem;color:#042033;text-decoration:none;font-size:.75rem;font-weight:700;min-height:var(--control);padding:.2rem .75rem;border-radius:999px;border:1px solid transparent;background:linear-gradient(180deg,#7dd3fc,#0284c7)}.calendar-jump:hover{color:#042033}#dashboard-calendar{scroll-margin-top:5.5rem}.dash-calendar-note{margin:-.5rem 0 var(--space-4);max-width:40rem;color:var(--muted);font-size:.875rem}.roster-panel{grid-gap:var(--space-3)}.roster-filters,.roster-panel{display:grid;gap:var(--space-3)}.roster-filters{grid-template-columns:minmax(0,16rem) minmax(0,14rem);grid-gap:var(--space-3);align-items:end}.avatar-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(3.15rem,1fr));grid-gap:.4rem;gap:.4rem;margin:0 0 .65rem}.avatar-choice,.avatar-choice:active,.avatar-choice:hover{width:100%;aspect-ratio:1;height:auto;min-height:0;padding:0;border-radius:999px;overflow:hidden;border:2px solid var(--line);background:transparent;box-shadow:none;transform:none}.avatar-choice.is-selected{border-color:var(--domain-sail)}.avatar-choice:focus-visible{outline:2px solid var(--domain-sail);outline-offset:2px}.avatar-choice img{width:100%;height:100%;display:block;object-fit:cover}.specialty-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.specialty-head h2,.specialty-head h3{margin:0}.record-list{display:grid;grid-gap:.5rem;gap:.5rem}.record-row{display:grid;grid-template-columns:6.5rem minmax(0,1fr) auto;grid-gap:.75rem;gap:.75rem;align-items:start;padding:.7rem .85rem;border:1px solid var(--line);border-radius:.75rem;background:color-mix(in srgb,var(--surface) 88%,transparent)}.record-row h3{margin:0 0 .2rem;font-size:1rem}.record-preview{margin:0;color:var(--muted);font-size:.875rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.record-meta{margin:.25rem 0 0;font-size:.75rem}.record-editor{margin:.6rem 0;padding:.85rem;border:1px solid var(--line-strong);border-radius:.8rem}.specialty-form textarea{min-height:5.5rem}.home-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--space-3);gap:var(--space-3);margin:0 0 var(--space-5)}.home-summary{min-width:0;min-height:9.5rem;display:flex;flex-direction:column;padding:var(--space-3);border:1px solid var(--line);border-top:3px solid var(--domain-neutral);border-radius:.85rem;background:var(--panel);box-shadow:var(--glass-shadow)}.home-summary.tone-clear{border-top-color:var(--domain-ready)}.home-summary.tone-attention{border-top-color:var(--domain-attn)}.home-summary.tone-critical{border-top-color:var(--domain-critical)}.home-summary.tone-sc{border-top-color:var(--domain-sc)}.home-summary.tone-sail{border-top-color:var(--domain-sail)}.kpi-top{display:flex;align-items:center;gap:.45rem}.kpi-icon{width:1.7rem;height:1.7rem;display:grid;place-items:center;border-radius:.45rem;background:color-mix(in srgb,var(--domain-neutral) 16%,transparent);color:var(--domain-neutral);flex-shrink:0}.tone-clear .kpi-icon{background:color-mix(in srgb,var(--domain-ready) 18%,transparent);color:var(--domain-ready)}.tone-attention .kpi-icon{background:color-mix(in srgb,var(--domain-attn) 18%,transparent);color:var(--domain-attn)}.tone-critical .kpi-icon{background:color-mix(in srgb,var(--domain-critical) 18%,transparent);color:var(--domain-critical)}.tone-sc .kpi-icon{background:color-mix(in srgb,var(--domain-sc) 18%,transparent);color:var(--domain-sc)}.tone-sail .kpi-icon{background:color-mix(in srgb,var(--domain-sail) 18%,transparent);color:var(--domain-sail)}.home-summary h2{margin:0;font-size:.82rem;font-weight:650}.kpi-action{margin-top:auto}.home-summary p,.home-summary ul{margin:.35rem 0 0}.home-summary ul{padding-left:1.1rem}.home-summary li{margin:.15rem 0;overflow-wrap:anywhere}.home-summary-count{font-size:1.65rem;font-weight:750;letter-spacing:-.03em;color:var(--accent);line-height:1.1}.home-summary-error{color:var(--danger)}.home-summary a{font-weight:700}.team-performance-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15.5rem),1fr));grid-gap:var(--space-3);gap:var(--space-3);margin:0 0 var(--space-5)}.team-performance-card{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"mark name" "facts facts" "open open";align-items:center;grid-column-gap:.75rem;column-gap:.75rem;grid-row-gap:.35rem;row-gap:.35rem;min-width:0;padding:var(--space-3);border:1px solid var(--line);border-radius:.85rem;background:var(--panel);color:inherit;text-decoration:none;box-shadow:var(--glass-shadow)}.team-performance-card:focus-visible,.team-performance-card:hover{border-color:var(--domain-sail)}.team-performance-card .team-mark{grid-area:mark}.team-performance-card strong{grid-area:name}.team-performance-card ul{grid-area:facts}.team-card-open{grid-area:open;font-size:.75rem;font-weight:700;color:var(--domain-sail)}.team-performance-card li,.team-performance-card strong,.team-performance-summary li{overflow-wrap:anywhere;min-width:0}.team-performance-card strong{font-size:1rem}.team-performance-card ul,.team-performance-summary ul{margin:0;padding:0;list-style:none;display:grid;grid-gap:.2rem;gap:.2rem;color:var(--muted);font-size:.8125rem}.team-performance-card li,.team-performance-summary li{display:flex;align-items:center;gap:.35rem}.fact-clear{color:var(--domain-ready)}.fact-critical{color:var(--domain-critical)}.fact-sc{color:var(--domain-sc)}.team-performance-summary{margin:0 0 var(--space-4);max-width:40rem}.team-performance-summary h2{margin:0 0 .35rem;font-size:1rem}.performance-links{display:flex;flex-wrap:wrap;gap:.35rem 1rem;margin:0 0 var(--space-4)}.performance-links a{font-weight:700}.sample-banner{margin:0 0 var(--space-4);padding:var(--space-3);border:1px solid var(--line-strong);border-radius:.75rem;background:var(--gold-soft)}.sample-banner strong{display:block;margin-bottom:.2rem}.app-header-tools{display:flex;align-items:center;gap:var(--space-3);margin-left:auto;min-width:0}.theme-toggle{position:relative}.theme-toggle-trigger,.theme-toggle-trigger:active,.theme-toggle-trigger:hover,.theme-toggle-trigger[aria-expanded=true]{width:2.25rem;height:2.25rem;min-height:2.25rem;padding:0;border-radius:999px;display:grid;place-items:center;background:var(--panel-2);color:var(--text);border:1px solid var(--line);box-shadow:none;transform:none}.theme-menu{position:absolute;right:0;top:calc(100% + .35rem);min-width:9.5rem;background:var(--menu-bg);border:1px solid var(--line);border-radius:.7rem;padding:.3rem;z-index:80;box-shadow:var(--glass-shadow)}.theme-menu button,.theme-menu button:active,.theme-menu button:hover,.theme-menu button[aria-checked=true]{width:100%;min-height:2.25rem;justify-content:flex-start;padding:.35rem .65rem;border:0;border-radius:.45rem;background:transparent;color:var(--text);box-shadow:none;transform:none;font-size:.8125rem;font-weight:650}.theme-menu button[aria-checked=true]{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.theme-auth{position:fixed;top:.85rem;right:.85rem;z-index:30}html[data-theme=light]{color-scheme:light;--bg:#f4f7fb;--panel:#ffffff;--panel-2:#eef4fa;--line:rgba(15,35,58,0.1);--line-strong:rgba(3,105,161,0.35);--text:#0f2740;--muted:#52677c;--accent:#0369a1;--accent-ink:#f8fbff;--warn:#8a4b08;--danger:#9f1239;--success:#0f7a45;--info:#185a86;--glass-blur:8px;--glass-shadow:0 1px 2px rgba(28,25,20,0.04),0 10px 28px rgba(28,25,20,0.06);--page-base:#f4f7fb;--page-image:linear-gradient(180deg,#f7fafc,#eef3f8);--sidebar-bg:#ffffff;--drawer-bg:#ffffff;--nav-toggle-bg:#ffffff;--menu-bg:#ffffff;--scrim:rgba(28,25,20,0.38);--btn-bg:#ffffff;--btn-bg-hover:#eef4fa;--btn-ghost-bg:#ffffff;--btn-ghost-hover:#eef4fa;--period-bg:#ffffff;--period-hover:#e8f2fa;--cal-cell-bg:#ffffff;--sheet-group-bg:#e8f0f7;--chip-neutral-bg:#eef3f8;--chip-neutral-fg:#3f3a32;--chip-neutral-border:#d9d0c2;--gold-soft:rgba(56,189,248,0.18);--danger-soft:rgba(159,18,57,0.1);--danger-fg:#9f1239;--locked-row:rgba(28,25,20,0.04);--locked-input:#f7f3eb;--status-ok-bg:rgba(15,122,69,0.12);--status-ok-fg:#0f5132;--status-warn-bg:rgba(138,100,16,0.14);--status-warn-fg:#6d4e09;--status-miss-bg:rgba(159,18,57,0.1);--status-miss-fg:#9f1239;--row-stripe:rgba(28,25,20,0.045);--row-head:rgba(28,25,20,0.06);accent-color:var(--accent)}html[data-theme=light] .auth-card,html[data-theme=light] .auth-card input,html[data-theme=light] .auth-card select,html[data-theme=light] .auth-card textarea{background:var(--panel);color:var(--text)}html[data-theme=light] button.danger:not(.confirm-yes),html[data-theme=light] button.ghost.danger{color:var(--danger-fg)}html[data-theme=light] .account-menu-panel{color:var(--text)}html[data-theme=dark]{color-scheme:dark}.mfa-qr{background:#fff;width:-moz-fit-content;width:fit-content;border-radius:8px;padding:8px;margin-inline:auto}.mfa-qr svg{width:196px;height:196px;display:block}.mfa-secret{letter-spacing:.04em}.mfa-secret,.recovery-codes{font-family:ui-monospace,monospace}.recovery-codes{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;padding:0;list-style:none}.workspace-switcher{display:flex;gap:8px;align-items:flex-end}.workspace-switcher label{display:grid;grid-gap:4px;gap:4px;font-size:.75rem}