/* ==========================================================================
   LiveGolfMaps v2 "Floodlit" — app token contract
   Every colour, type, radius, shadow and motion value used by the v2 pack.
   Nothing outside this file may declare a literal.
   Loaded AFTER css/tokens.css. Does not touch --lm-* / --gm-* (map renderer).
   ========================================================================== */

:root {
  /* ---- surfaces (dark only; v2 has no light chrome) ---------------------- */
  --v2-bg:            #07080B;   /* page ground, every surface */
  --v2-surface:       #0A0C11;   /* sidebar, table rows, phone body */
  --v2-surface-2:     #0B0D12;   /* raised card interior (inside a gradient border) */
  --v2-surface-3:     #0E1016;   /* map wells, top bars, sunken panels */
  --v2-footer:        #05060A;   /* landing footer only */
  --v2-scrim:         rgba(7,8,11,.72);   /* sticky nav behind blur(18px) */
  --v2-scrim-heavy:   rgba(7,8,11,.6);    /* badges over imagery, blur(14px) */

  /* ---- hairlines: there are exactly four ------------------------------- */
  --v2-line:          rgba(255,255,255,.07);  /* structural dividers */
  --v2-line-2:        rgba(255,255,255,.09);  /* card borders */
  --v2-line-3:        rgba(255,255,255,.12);  /* pills, inputs */
  --v2-line-4:        rgba(255,255,255,.16);  /* secondary buttons */

  /* ---- fills ----------------------------------------------------------- */
  --v2-fill-1:        rgba(255,255,255,.025);
  --v2-fill-2:        rgba(255,255,255,.04);
  --v2-fill-3:        rgba(255,255,255,.06);
  --v2-fill-4:        rgba(255,255,255,.07);  /* selected nav row */

  /* ---- ink ------------------------------------------------------------- */
  --v2-ink:           #E8EAF0;
  --v2-ink-82:        rgba(232,234,240,.82);
  --v2-ink-72:        rgba(232,234,240,.72);
  --v2-ink-60:        rgba(232,234,240,.6);
  --v2-ink-55:        rgba(232,234,240,.55);
  --v2-ink-45:        rgba(232,234,240,.45);
  --v2-ink-38:        rgba(232,234,240,.38);
  --v2-ink-32:        rgba(232,234,240,.32);

  /* ---- brand ----------------------------------------------------------- */
  --v2-accent:        #3EE68B;   /* the single brand colour */
  --v2-accent-light:  #7CF5B5;   /* hover, headline gradient stop, big status type */
  --v2-indigo:        #6366F1;   /* the ONLY secondary; gradients + member-view tint */
  --v2-indigo-light:  #8B90F5;
  --v2-violet:        #7C3AED;   /* aurora mesh third stop only — never a UI colour */

  /* ---- status (never decorative) ---------------------------------------- */
  --v2-open:          #3EE68B;
  --v2-open-light:    #7CF5B5;
  --v2-warn:          #F5C24E;
  --v2-warn-deep:     #D99A21;
  --v2-warn-ink:      #1A1405;   /* type on an amber fill */
  --v2-bad:           #F2545B;
  --v2-bad-deep:      #C9333A;
  --v2-bad-light:     #FF8A8F;
  --v2-on-accent:     #07080B;   /* type on any green fill — never white */

  /* ---- gradients ------------------------------------------------------- */
  --v2-grad-mark:     linear-gradient(140deg, #3EE68B, #6366F1);
  --v2-grad-cta:      linear-gradient(160deg, #7CF5B5, #3EE68B);
  --v2-grad-warn:     linear-gradient(150deg, #F5C24E, #D99A21);
  --v2-grad-bad:      linear-gradient(150deg, #F2545B, #C9333A);
  --v2-grad-glass:    linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,.015));
  --v2-grad-border:   linear-gradient(160deg, rgba(255,255,255,.22), rgba(255,255,255,.03));
  --v2-grad-featured: linear-gradient(160deg, #3EE68B, #6366F1 60%, rgba(99,102,241,.2));
  --v2-grad-headline: linear-gradient(170deg, #FFFFFF 30%, #8E96A8 100%);
  --v2-grad-fade:     linear-gradient(180deg, transparent 55%, #07080B 100%);

  /* ---- aurora mesh (hero + closing CTA only, max twice per page) -------- */
  --v2-aurora:
    radial-gradient(40% 55% at 22% 30%, #6366F1 0%, transparent 70%),
    radial-gradient(38% 50% at 72% 22%, #3EE68B 0%, transparent 72%),
    radial-gradient(45% 45% at 50% 65%, #7C3AED 0%, transparent 70%);
  --v2-aurora-blur:   90px;   /* CTA band uses 100px, craft band 110px */
  --v2-aurora-op:     .55;    /* CTA band .42, craft band .32 */

  /* ---- type ------------------------------------------------------------ */
  --v2-font-ui:   'Instrument Sans', system-ui, -apple-system, sans-serif;
  --v2-font-mono: 'JetBrains Mono', ui-monospace, monospace;
  /* Google-hosted, no licence. There is NO serif in v2. */

  --v2-display:      clamp(44px, 5vw, 72px);  /* weight 600, -.045em, 1.02 */
  --v2-h2:           clamp(30px, 3.2vw, 42px);/* weight 600, -.04em,  1.08 */
  --v2-h2-cta:       clamp(32px, 3.6vw, 46px);/* weight 600, -.04em,  1.06 */
  --v2-h3:           24px;                    /* weight 600, -.03em,  1.15 */
  --v2-quote:        clamp(22px, 2.4vw, 30px);/* weight 500, -.03em,  1.35 */
  --v2-stat:         26px;                    /* weight 600, -.04em         */
  --v2-title:        18px;                    /* weight 600, -.02em         */
  --v2-title-sm:     16px;                    /* weight 600, -.02em         */
  --v2-lead:         17.5px;                  /* 1.65, ink-60, max 52ch     */
  --v2-body:         16.5px;                  /* 1.7,  ink-58, max 60ch     */
  --v2-body-sm:      15px;                    /* 1.65, ink-55               */
  --v2-small:        14.5px;                  /* 1.65, ink-55               */
  --v2-small-2:      13.5px;
  --v2-meta:         11.5px;  /* mono, no transform — the "// section" eyebrow */
  --v2-meta-sm:      10.5px;  /* mono, CAPS, .02em                            */
  --v2-meta-xs:      9px;     /* mono, CAPS — sidebar + phone labels only     */
  --v2-track-mono:   .02em;
  --v2-track-caps:   .14em;   /* mono caps inside map furniture and legends   */

  /* ---- radii ----------------------------------------------------------- */
  --v2-r-xs:   3px;    /* tee marks, swatches */
  --v2-r-sm:   8px;    /* nav button, brand tile */
  --v2-r-md:   9px;    /* small buttons, sidebar rows */
  --v2-r-lg:   11px;   /* primary CTA, presets, segmented control */
  --v2-r-xl:   12px;   /* inner cards, save bar */
  --v2-r-2xl:  16px;   /* feature cards */
  --v2-r-3xl:  20px;   /* panels, phone-frame wells */
  --v2-r-4xl:  22px;   /* featured pricing card (1px gradient border) */
  --v2-r-pill: 999px;

  /* ---- elevation: glow, not shadow ------------------------------------- */
  --v2-glow-cta:      0 14px 40px -12px rgba(62,230,139,.75);
  --v2-glow-cta-hi:   0 14px 34px -12px rgba(62,230,139,.85);
  --v2-glow-nav:      0 6px 22px -6px rgba(62,230,139,.6);
  --v2-glow-warn:     0 10px 26px -10px rgba(245,194,78,.6);
  --v2-glow-bad:      0 10px 26px -10px rgba(242,84,91,.6);
  --v2-glow-indigo:   0 40px 80px -40px rgba(99,102,241,.9);
  --v2-shadow-card:   0 40px 90px -30px rgba(0,0,0,.9), 0 0 90px -40px rgba(99,102,241,.7);
  --v2-shadow-phone:  0 30px 60px -20px rgba(0,0,0,.9);
  --v2-dot-glow:      0 0 10px currentColor;  /* live/status dots */

  /* ---- layout ---------------------------------------------------------- */
  --v2-max:           1200px;
  --v2-gutter:        clamp(18px, 4vw, 36px);
  --v2-section:       96px;   /* vertical rhythm between landing sections */
  --v2-band:          88px;   /* padding inside a full-bleed band */
  --v2-sidebar:       232px;
  --v2-rail:          312px;
  --v2-phone:         390px;

  /* ---- motion ---------------------------------------------------------- */
  --v2-drift:  drift 18s ease-in-out infinite;   /* hero mesh; CTA uses 22s */
  --v2-pulse:  pulse 2.4s ease-in-out infinite;  /* live dots; alarm dots 2s */
  --v2-ease:   cubic-bezier(.2,.7,.2,1);
  --v2-fast:   140ms;
  --v2-med:    240ms;

  /* ---- targets --------------------------------------------------------- */
  --v2-target:        44px;
  --v2-target-gloved: 52px;   /* club-admin preset tiles */
  --v2-target-seg:    56px;   /* club-admin segmented rows */
}

@keyframes drift {
  0%   { transform: translate3d(0,0,0) scale(1); }
  50%  { transform: translate3d(4%,-3%,0) scale(1.08); }
  100% { transform: translate3d(0,0,0) scale(1); }
}
@keyframes pulse { 0%,100% { opacity:1 } 50% { opacity:.35 } }

/* ==========================================================================
   MAP PALETTES — v2 repaints of the two house styles.
   These replace the v1 map palettes. Consumed by js/map-renderer.jsx via
   [data-theme]; the renderer's geometry constants are unchanged.
   ========================================================================== */

[data-theme="floodlit"] {
  --map-bg:           #07090B;
  --map-rough:        #12241A;
  --map-fairway:      #1D3F2C;
  --map-fairway-edge: #3EE68B;   /* at 34% over the fairway, never solid */
  --map-green:        #5CF7A6;
  --map-green-ring:   #0B1F14;
  --map-collar:       #2C6B45;   /* 55% */
  --map-sand:         #FFD98A;
  --map-sand-edge:    #8A6F2E;
  --map-water:        #19C6FF;
  --map-water-deep:   #0A6E93;
  --map-halo:         #FFFFFF;   /* 55%, 9px — the signature water halo */
  --map-wood:         #0C1811;
  --map-wood-dot:     #1E4A31;
  --map-path:         #38424E;
  --map-ink:          #EAF2EC;
  --map-dim:          rgba(234,242,236,.5);
  --map-faint:        rgba(234,242,236,.16);
  --map-marker:       #3EE68B;
  --map-marker-ink:   #04120A;
  --map-oob:          #F2545B;
  --map-card-bg:      #0B1015;
  --map-display:      'Barlow Condensed', sans-serif;
  --map-body:         'Archivo', sans-serif;
}

[data-theme="estate"] {
  --map-bg:           #EFE4C9;
  --map-rough:        #DCCFA8;
  --map-rough-outer:  #E6DABB;
  --map-fairway:      #C8D2A0;
  --map-fairway-edge: #8E9A6C;
  --map-green:        #B6C68C;
  --map-green-ring:   #7E8A5E;
  --map-collar:       #CBD5A6;
  --map-sand:         #F6EDD2;
  --map-sand-edge:    #B8A473;
  --map-water:        #B7CBD0;   /* hatched at 35deg in --map-water-deep */
  --map-water-deep:   #93AEB5;
  --map-halo:         #F7F0DE;
  --map-wood:         #9DAE81;   /* stipple pattern ground */
  --map-wood-dot:     #78895E;
  --map-path:         #DCC9A0;
  --map-ink:          #43351F;
  --map-dim:          rgba(67,53,31,.62);
  --map-faint:        rgba(67,53,31,.22);
  --map-marker:       #43351F;
  --map-marker-ink:   #EFE4C9;
  --map-oob:          #8A3B2A;
  --map-accent:       #8A3B2A;
  --map-building:     #D8C6A2;
  --map-card-bg:      #E7DBBB;
  --map-display:      'EB Garamond', serif;
  --map-body:         'EB Garamond', serif;
}
