/* FanClub production tokens. Extracted verbatim from the final boards (final-hybrid/vm.js HUE / DARK / LIGHT and the
   final-coverage lib.js files). Purple follows the owner's D3 rule: buttons, fills, icons, headings, highlights and large
   text use #9D00FF (--p, --pFill); small purple text uses --pT. The booking ticket (--tkP) keeps its #D000FF gradient.
   Roles: p = primary (fuchsia), s = secondary (blue), z = tertiary / ok (yellow). Dark is the default appearance;
   [data-theme] is set by the Settings sheet (Dark / Light / System). There is no reviewer palette switch in product. */
:root{
  --f:#9D00FF;--fFill:#9D00FF;--onF:#FFFFFF;--pPressed:#8900DF;
  /* D3 switch: small purple text (under 24px regular or 18.66px bold) on dark surfaces. Set #9D00FF to use one purple. */
  --pTextSmall:#B640FF;
  --b:#3060F0;--bFill:#3060F0;--onB:#FFFFFF;
  --y:#F5C430;--yFill:#F5C430;--onY:#0B0B10;
  --p:var(--f);--pFill:var(--fFill);--onP:var(--onF);
  --s:var(--b);--sFill:var(--bFill);--onS:var(--onB);
  --z:var(--y);--zFill:var(--yFill);--onZ:var(--onY);
  /* Club Pass ticket surfaces */
  --tkP:linear-gradient(0deg,rgba(24,0,40,.12),rgba(24,0,40,.12)),linear-gradient(150deg,#D000FF 0%,#A800E8 55%,#7A2BFF 100%);
  --tkPfg:#FFFFFF;--tkPdash:rgba(255,255,255,.62);--tkPtrack:rgba(255,255,255,.26);--tkPfill:#FFFFFF;--tkPchip:rgba(255,255,255,.2);--tkPbtn:rgba(11,11,16,.34);
  --tkS:linear-gradient(0deg,rgba(0,8,40,.1),rgba(0,8,40,.1)),linear-gradient(150deg,#3A6CFF 0%,#3060F0 45%,#4A3AE6 100%);
  --tkSfg:#FFFFFF;--tkSdash:rgba(255,255,255,.62);--tkStrack:rgba(255,255,255,.26);--tkSchip:rgba(255,255,255,.2);
  /* type: Urbanist (display + body), Geist Mono (kickers, codes, countdowns) */
  --font-sans:'Urbanist',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-mono:'Geist Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --fs-body:16px;--fs-small:13px;--fs-kicker:11px;--track-kicker:.12em;
  /* geometry */
  --r-sm:10px;--r:10px;--r-lg:16px;--r-xl:16px;--r-pill:999px;
  /* motion (movement collapses to 0 under reduced motion; fades stay) */
  --dur-fast:120ms;--dur-base:200ms;--dur-slow:320ms;--dur-tear:420ms;--dur-spring:380ms;--dur-fade:150ms;
  --ease:cubic-bezier(.2,0,0,1);--ease-exit:cubic-bezier(.4,0,1,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);
  --tear-threshold:.72;
  /* layout */
  --topbar-h:64px;--tabbar-h:78px;--max:1280px;--gutter:clamp(16px,3vw,40px);
}
/* --controlLine keeps the 3:1 boundary of inputs and controls. --cardLine is the subtle Oct 8 border that only
   classic screens use (classic-oct8.css). --pinkText is only for meeting-type labels such as "1:1 video call" (R1). */
:root,[data-theme="dark"]{color-scheme:dark;
  --bg:#0B0B10;--sur:#14141C;--sur2:#1C1C27;--sur3:#272734;--controlLine:#766D85;--line:var(--controlLine);--cardLine:#2B2B3A;--fg:#F4F2FA;--dim:#A39FB8;--dim2:#A39FB8;
  --sheet:#16161F;--navBg:rgba(22,22,31,.94);--navPill:#312F3E;--navIdle:#A39FB8;--segOn:#34323F;--shade:rgba(0,0,0,.62);--tkShadow:0 16px 36px rgba(0,0,0,.42);
  --pT:var(--pTextSmall);--pTint:rgba(157,0,255,.16);--pLine:rgba(182,64,255,.55);--pinkText:#E070FF;
  --sT:#9DB8FF;--sTint:rgba(48,96,240,.22);--sLine:rgba(120,156,255,.55);
  --zT:#F5C430;--zTint:rgba(245,196,48,.16);--zLine:rgba(245,196,48,.55);
  --navOn:var(--pTextSmall);--ring:var(--pTextSmall);
}
[data-theme="light"]{color-scheme:light;
  --bg:#F7F5FF;--sur:#FFFFFF;--sur2:#EFEBFB;--sur3:#E4DFF4;--controlLine:#898197;--line:var(--controlLine);--cardLine:#DCD6EE;--fg:#14101F;--dim:#5B556F;--dim2:#5B556F;
  --sheet:#FFFFFF;--navBg:rgba(255,255,255,.95);--navPill:#2A2833;--navIdle:#5B556F;--segOn:#FFFFFF;--shade:rgba(20,16,31,.45);--tkShadow:0 14px 30px rgba(60,20,90,.22);
  --pT:#9D00FF;--pTint:rgba(157,0,255,.10);--pLine:rgba(157,0,255,.42);--pinkText:#8500AD;
  --sT:#2148C8;--sTint:rgba(48,96,240,.12);--sLine:rgba(33,72,200,.42);
  --zT:#7A5C00;--zTint:rgba(245,196,48,.28);--zLine:rgba(122,92,0,.42);
  --navOn:#9D00FF;--ring:#9D00FF;
}
@media (prefers-reduced-motion:reduce){:root{--dur-fast:0ms;--dur-base:0ms;--dur-slow:0ms;--dur-tear:0ms;--dur-spring:0ms}}
html[data-motion="reduced"]{--dur-fast:0ms;--dur-base:0ms;--dur-slow:0ms;--dur-tear:0ms;--dur-spring:0ms}
