:root{--zv-elevation-none: 0px;--zv-elevation-sm: 2px;--zv-elevation-md: 4px;--zv-elevation-lg: 8px;--zv-elevation-xl: 16px;--zv-elevation-2xl: 24px;--zv-font-display: "Cormorant Garamond";--zv-font-body: Inter;--zv-font-mono: "JetBrains Mono";--zv-opacity-0: 0;--zv-opacity-5: .05;--zv-opacity-10: .1;--zv-opacity-20: .2;--zv-opacity-40: .4;--zv-opacity-60: .6;--zv-opacity-80: .8;--zv-opacity-100: 1;--zv-color-gold-50: #fff9eb;--zv-color-gold-100: #fff0cc;--zv-color-gold-200: #ffdf99;--zv-color-gold-300: #ffce66;--zv-color-gold-400: #d4a847;--zv-color-gold-500: #c49a3b;--zv-color-gold-600: #a37e2e;--zv-color-gold-700: #7d5f22;--zv-color-gold-800: #574218;--zv-color-gold-900: #3b2c10;--zv-color-gold-950: #1f1708;--zv-color-green-50: #f0f7ed;--zv-color-green-100: #dcefd5;--zv-color-green-200: #b9dfab;--zv-color-green-300: #8fca7a;--zv-color-green-400: #6db556;--zv-color-green-500: #5a9e45;--zv-color-green-600: #478036;--zv-color-green-700: #366228;--zv-color-green-800: #26441c;--zv-color-green-900: #1a3013;--zv-color-green-950: #0d1a09;--zv-color-purple-50: #f5f0ff;--zv-color-purple-100: #ebe0ff;--zv-color-purple-200: #d4bfff;--zv-color-purple-300: #bd9eff;--zv-color-purple-400: #a67dff;--zv-color-purple-500: #8b5cf6;--zv-color-purple-600: #7c3aed;--zv-color-purple-700: #6d28d9;--zv-color-purple-800: #5b21b6;--zv-color-purple-900: #4c1d95;--zv-color-purple-950: #2e1065;--zv-color-navy-50: #eff4ff;--zv-color-navy-100: #dbe6fe;--zv-color-navy-200: #bfcffe;--zv-color-navy-300: #93aefd;--zv-color-navy-400: #6083fa;--zv-color-navy-500: #3b5ef5;--zv-color-navy-600: #1e3fea;--zv-color-navy-700: #1730d7;--zv-color-navy-800: #1929af;--zv-color-navy-900: #1a278a;--zv-color-navy-950: #0f1754;--zv-color-neutral-0: #ffffff;--zv-color-neutral-50: #faf9f7;--zv-color-neutral-100: #f5f3f0;--zv-color-neutral-200: #e8e5e0;--zv-color-neutral-300: #d4d0c9;--zv-color-neutral-400: #b8b2a8;--zv-color-neutral-500: #9c9588;--zv-color-neutral-600: #7a7368;--zv-color-neutral-700: #5c564d;--zv-color-neutral-800: #3d3935;--zv-color-neutral-900: #262320;--zv-color-neutral-950: #141210;--zv-color-neutral-1000: #000000;--zv-color-status-success: #16a34a;--zv-color-status-warning: #eab308;--zv-color-status-error: #dc2626;--zv-color-status-info: #0ea5e9;--zv-radius-none: 0px;--zv-radius-xs: 4px;--zv-radius-sm: 8px;--zv-radius-md: 12px;--zv-radius-lg: 16px;--zv-radius-xl: 20px;--zv-radius-2xl: 24px;--zv-radius-3xl: 32px;--zv-radius-4xl: 40px;--zv-radius-full: 9999px;--zv-space-0: 0px;--zv-space-1: 4px;--zv-space-2: 8px;--zv-space-3: 12px;--zv-space-4: 16px;--zv-space-5: 20px;--zv-space-6: 24px;--zv-space-8: 32px;--zv-space-10: 40px;--zv-space-12: 48px;--zv-space-16: 64px;--zv-space-20: 80px;--zv-space-24: 96px;--zv-space-32: 128px;--zv-space-40: 160px;--zv-space-48: 192px;--zv-font-size-xs: 12px;--zv-font-size-sm: 14px;--zv-font-size-base: 16px;--zv-font-size-lg: 18px;--zv-font-size-xl: 20px;--zv-font-size-2xl: 24px;--zv-font-size-3xl: 30px;--zv-font-size-4xl: 36px;--zv-font-size-5xl: 48px;--zv-font-size-6xl: 60px;--zv-font-size-7xl: 72px;--zv-line-height-tight: 1.2;--zv-line-height-snug: 1.3;--zv-line-height-normal: 1.5;--zv-line-height-relaxed: 1.6;--zv-line-height-loose: 1.8;--zv-letter-spacing-tighter: -.8px;--zv-letter-spacing-tight: -.4px;--zv-letter-spacing-normal: 0px;--zv-letter-spacing-wide: .4px;--zv-letter-spacing-wider: .8px;--zv-letter-spacing-widest: 1.6px}:root{--zv-text-on-accent: #ffffff;--zv-surface-background: var(--zv-color-neutral-0);--zv-surface-primary: var(--zv-color-neutral-50);--zv-surface-secondary: var(--zv-color-neutral-200);--zv-surface-tertiary: var(--zv-color-neutral-200);--zv-surface-elevated: var(--zv-color-neutral-0);--zv-surface-inverse: var(--zv-color-neutral-950);--zv-text-primary: var(--zv-color-neutral-950);--zv-text-secondary: var(--zv-color-neutral-700);--zv-text-tertiary: var(--zv-color-neutral-500);--zv-text-disabled: var(--zv-color-neutral-400);--zv-text-inverse: var(--zv-color-neutral-0);--zv-border-default: var(--zv-color-neutral-300);--zv-border-subtle: var(--zv-color-neutral-200);--zv-border-strong: var(--zv-color-neutral-400);--zv-status-success: var(--zv-color-status-success);--zv-status-warning: var(--zv-color-status-warning);--zv-status-error: var(--zv-color-status-error);--zv-status-info: var(--zv-color-status-info);--zv-surface-accent: #f0f7ed;--zv-surface-accent-subtle: #dcefd5;--zv-text-accent: #478036;--zv-border-accent: #5a9e45;--zv-interactive-default: #5a9e45;--zv-interactive-hover: #478036;--zv-interactive-pressed: #366228}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--zv-text-on-accent: #ffffff;--zv-surface-background: var(--zv-color-neutral-950);--zv-surface-primary: var(--zv-color-neutral-900);--zv-surface-secondary: var(--zv-color-neutral-800);--zv-surface-tertiary: var(--zv-color-neutral-700);--zv-surface-elevated: var(--zv-color-neutral-800);--zv-surface-inverse: var(--zv-color-neutral-50);--zv-text-primary: var(--zv-color-neutral-50);--zv-text-secondary: var(--zv-color-neutral-300);--zv-text-tertiary: var(--zv-color-neutral-400);--zv-text-disabled: var(--zv-color-neutral-600);--zv-text-inverse: var(--zv-color-neutral-950);--zv-border-default: var(--zv-color-neutral-700);--zv-border-subtle: var(--zv-color-neutral-800);--zv-border-strong: var(--zv-color-neutral-500);--zv-status-success: var(--zv-color-status-success);--zv-status-warning: var(--zv-color-status-warning);--zv-status-error: var(--zv-color-status-error);--zv-status-info: var(--zv-color-status-info);--zv-surface-accent: #0d1a09;--zv-surface-accent-subtle: #1a3013;--zv-text-accent: #6db556;--zv-border-accent: #6db556;--zv-interactive-default: #6db556;--zv-interactive-hover: #8fca7a;--zv-interactive-pressed: #b9dfab}}:root[data-theme=dark]{--zv-text-on-accent: #ffffff;--zv-surface-background: var(--zv-color-neutral-950);--zv-surface-primary: var(--zv-color-neutral-900);--zv-surface-secondary: var(--zv-color-neutral-800);--zv-surface-tertiary: var(--zv-color-neutral-700);--zv-surface-elevated: var(--zv-color-neutral-800);--zv-surface-inverse: var(--zv-color-neutral-50);--zv-text-primary: var(--zv-color-neutral-50);--zv-text-secondary: var(--zv-color-neutral-300);--zv-text-tertiary: var(--zv-color-neutral-400);--zv-text-disabled: var(--zv-color-neutral-600);--zv-text-inverse: var(--zv-color-neutral-950);--zv-border-default: var(--zv-color-neutral-700);--zv-border-subtle: var(--zv-color-neutral-800);--zv-border-strong: var(--zv-color-neutral-500);--zv-status-success: var(--zv-color-status-success);--zv-status-warning: var(--zv-color-status-warning);--zv-status-error: var(--zv-color-status-error);--zv-status-info: var(--zv-color-status-info);--zv-surface-accent: #0d1a09;--zv-surface-accent-subtle: #1a3013;--zv-text-accent: #6db556;--zv-border-accent: #6db556;--zv-interactive-default: #6db556;--zv-interactive-hover: #8fca7a;--zv-interactive-pressed: #b9dfab}:root{color-scheme:light dark}body{margin:0;background:var(--zv-surface-background);color:var(--zv-text-primary);font-family:var(--zv-font-body),system-ui,sans-serif}.topbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;border-bottom:1px solid var(--zv-border-subtle)}.topbar h1{font-family:var(--zv-font-display),Georgia,serif;font-weight:400;font-size:1.25rem;margin:0}main{max-width:46rem;margin:0 auto;padding:1.5rem;display:grid;gap:2rem}h2,h3,h4{margin:0 0 .75rem;font-weight:500}form{display:grid;gap:.75rem;justify-items:start}label{display:grid;gap:.25rem;width:100%;max-width:28rem}input,textarea,select{font:inherit;padding:.4rem .5rem;border:1px solid var(--zv-border-subtle);border-radius:4px;background:var(--zv-surface-background);color:var(--zv-text-primary)}button{font:inherit;padding:.4rem .9rem;border:1px solid var(--zv-border-subtle);border-radius:4px;background:var(--zv-surface-raised);color:var(--zv-text-primary);cursor:pointer}ul.clubs{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.5rem}ul.clubs button{display:grid;justify-items:start;width:100%;text-align:left}ul.clubs span{color:var(--zv-text-secondary);font-size:.875rem}.course{border:1px solid var(--zv-border-subtle);border-radius:4px;padding:.75rem;margin-bottom:.75rem}.course form,.season-row,.season-actions,.course-add{display:flex;flex-wrap:wrap;gap:.5rem;align-items:end}.season-row label,.course-add label{width:auto}.seasons{margin-top:.75rem;border-top:1px solid var(--zv-border-subtle);padding-top:.75rem;display:grid;gap:.75rem}.tee-times{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}[role=alert]{color:var(--zv-text-danger, #b3261e)}
