@import url("https://cdn.jsdelivr.net/npm/@fontsource-variable/geist@5.2.8/index.css");@import url("https://cdn.jsdelivr.net/npm/@fontsource-variable/geist-mono@5.2.8/index.css");


/* All @import statements must be at the top of the file */
@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}
@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}
@property --tw-animation-duration{syntax:"*";inherits:false}
@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}
@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}
@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}
@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}
@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}
@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}
@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}
@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}
@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}
@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}
@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}
@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}
@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}
@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}
@theme inline{--animation-delay-0: 0s; --animation-delay-75: 75ms; --animation-delay-100: .1s; --animation-delay-150: .15s; --animation-delay-200: .2s; --animation-delay-300: .3s; --animation-delay-500: .5s; --animation-delay-700: .7s; --animation-delay-1000: 1s; --animation-repeat-0: 0; --animation-repeat-1: 1; --animation-repeat-infinite: infinite; --animation-direction-normal: normal; --animation-direction-reverse: reverse; --animation-direction-alternate: alternate; --animation-direction-alternate-reverse: alternate-reverse; --animation-fill-mode-none: none; --animation-fill-mode-forwards: forwards; --animation-fill-mode-backwards: backwards; --animation-fill-mode-both: both; --percentage-0: 0; --percentage-5: .05; --percentage-10: .1; --percentage-15: .15; --percentage-20: .2; --percentage-25: .25; --percentage-30: .3; --percentage-35: .35; --percentage-40: .4; --percentage-45: .45; --percentage-50: .5; --percentage-55: .55; --percentage-60: .6; --percentage-65: .65; --percentage-70: .7; --percentage-75: .75; --percentage-80: .8; --percentage-85: .85; --percentage-90: .9; --percentage-95: .95; --percentage-100: 1; --percentage-translate-full: 1; --animate-in: enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-out: exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); @keyframes enter { from { opacity: var(--tw-enter-opacity,1); transform: translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0)); filter: blur(var(--tw-enter-blur,0)); }}@keyframes exit { to { opacity: var(--tw-exit-opacity,1); transform: translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0)); filter: blur(var(--tw-exit-blur,0)); }}--animate-accordion-down: accordion-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-accordion-up: accordion-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-collapsible-down: collapsible-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-collapsible-up: collapsible-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); @keyframes accordion-down { from { height: 0; }to { height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto))))); }}@keyframes accordion-up { from { height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto))))); }to { height: 0; }}@keyframes collapsible-down { from { height: 0; }to { height: var(--radix-collapsible-content-height,var(--bits-collapsible-content-height,var(--reka-collapsible-content-height,var(--kb-collapsible-content-height,auto)))); }}@keyframes collapsible-up { from { height: var(--radix-collapsible-content-height,var(--bits-collapsible-content-height,var(--reka-collapsible-content-height,var(--kb-collapsible-content-height,auto)))); }to { height: 0; }}--animate-caret-blink: caret-blink 1.25s ease-out infinite; @keyframes caret-blink { 0%,70%,100% { opacity: 1; }20%,50% { opacity: 0; }}}
@utility animation-duration-*{--tw-animation-duration: calc(--value(number)*1ms); --tw-animation-duration: --value(--animation-duration-*,[duration],"initial",[*]); animation-duration: calc(--value(number)*1ms); animation-duration: --value(--animation-duration-*,[duration],"initial",[*]);}
@utility delay-*{animation-delay: calc(--value(number)*1ms); animation-delay: --value(--animation-delay-*,[duration],"initial",[*]); --tw-animation-delay: calc(--value(number)*1ms); --tw-animation-delay: --value(--animation-delay-*,[duration],"initial",[*]);}
@utility repeat-*{animation-iteration-count: --value(--animation-repeat-*,number,"initial",[*]); --tw-animation-iteration-count: --value(--animation-repeat-*,number,"initial",[*]);}
@utility direction-*{animation-direction: --value(--animation-direction-*,"initial",[*]); --tw-animation-direction: --value(--animation-direction-*,"initial",[*]);}
@utility fill-mode-*{animation-fill-mode: --value(--animation-fill-mode-*,"initial",[*]); --tw-animation-fill-mode: --value(--animation-fill-mode-*,"initial",[*]);}
@utility running{animation-play-state: running;}
@utility paused{animation-play-state: paused;}
@utility play-state-*{animation-play-state: --value("initial",[*]);}
@utility blur-in{--tw-enter-blur: 20px;}
@utility blur-in-*{--tw-enter-blur: calc(--value(number)*1px); --tw-enter-blur: --value(--blur-*,[*]);}
@utility blur-out{--tw-exit-blur: 20px;}
@utility blur-out-*{--tw-exit-blur: calc(--value(number)*1px); --tw-exit-blur: --value(--blur-*,[*]);}
@utility fade-in{--tw-enter-opacity: 0;}
@utility fade-in-*{--tw-enter-opacity: calc(--value(number)/100); --tw-enter-opacity: --value(--percentage-*,[*]);}
@utility fade-out{--tw-exit-opacity: 0;}
@utility fade-out-*{--tw-exit-opacity: calc(--value(number)/100); --tw-exit-opacity: --value(--percentage-*,[*]);}
@utility zoom-in{--tw-enter-scale: 0;}
@utility zoom-in-*{--tw-enter-scale: calc(--value(number)*1%); --tw-enter-scale: calc(--value(ratio)); --tw-enter-scale: --value(--percentage-*,[*]);}
@utility -zoom-in-*{--tw-enter-scale: calc(--value(number)*-1%); --tw-enter-scale: calc(--value(ratio)*-1); --tw-enter-scale: --value(--percentage-*,[*]);}
@utility zoom-out{--tw-exit-scale: 0;}
@utility zoom-out-*{--tw-exit-scale: calc(--value(number)*1%); --tw-exit-scale: calc(--value(ratio)); --tw-exit-scale: --value(--percentage-*,[*]);}
@utility -zoom-out-*{--tw-exit-scale: calc(--value(number)*-1%); --tw-exit-scale: calc(--value(ratio)*-1); --tw-exit-scale: --value(--percentage-*,[*]);}
@utility spin-in{--tw-enter-rotate: 30deg;}
@utility spin-in-*{--tw-enter-rotate: calc(--value(number)*1deg); --tw-enter-rotate: calc(--value(ratio)*360deg); --tw-enter-rotate: --value(--rotate-*,[*]);}
@utility -spin-in{--tw-enter-rotate: -30deg;}
@utility -spin-in-*{--tw-enter-rotate: calc(--value(number)*-1deg); --tw-enter-rotate: calc(--value(ratio)*-360deg); --tw-enter-rotate: --value(--rotate-*,[*]);}
@utility spin-out{--tw-exit-rotate: 30deg;}
@utility spin-out-*{--tw-exit-rotate: calc(--value(number)*1deg); --tw-exit-rotate: calc(--value(ratio)*360deg); --tw-exit-rotate: --value(--rotate-*,[*]);}
@utility -spin-out{--tw-exit-rotate: -30deg;}
@utility -spin-out-*{--tw-exit-rotate: calc(--value(number)*-1deg); --tw-exit-rotate: calc(--value(ratio)*-360deg); --tw-exit-rotate: --value(--rotate-*,[*]);}
@utility slide-in-from-top{--tw-enter-translate-y: -100%;}
@utility slide-in-from-top-*{--tw-enter-translate-y: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-enter-translate-y: calc(--value(ratio)*-100%); --tw-enter-translate-y: calc(--value(--translate-*,[percentage],[length])*-1);}
@utility slide-in-from-bottom{--tw-enter-translate-y: 100%;}
@utility slide-in-from-bottom-*{--tw-enter-translate-y: calc(--value(integer)*var(--spacing)); --tw-enter-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-enter-translate-y: calc(--value(ratio)*100%); --tw-enter-translate-y: --value(--translate-*,[percentage],[length]);}
@utility slide-in-from-left{--tw-enter-translate-x: -100%;}
@utility slide-in-from-left-*{--tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-enter-translate-x: calc(--value(ratio)*-100%); --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1);}
@utility slide-in-from-right{--tw-enter-translate-x: 100%;}
@utility slide-in-from-right-*{--tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-enter-translate-x: calc(--value(ratio)*100%); --tw-enter-translate-x: --value(--translate-*,[percentage],[length]);}
@utility slide-in-from-start{&:dir(ltr){ --tw-enter-translate-x: -100%; }&:dir(rtl){ --tw-enter-translate-x: 100%; }}
@utility slide-in-from-start-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-enter-translate-x: calc(--value(ratio)*-100%); --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-enter-translate-x: calc(--value(ratio)*100%); --tw-enter-translate-x: --value(--translate-*,[percentage],[length]); }}
@utility slide-in-from-end{&:dir(ltr){ --tw-enter-translate-x: 100%; }&:dir(rtl){ --tw-enter-translate-x: -100%; }}
@utility slide-in-from-end-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-enter-translate-x: calc(--value(ratio)*100%); --tw-enter-translate-x: --value(--translate-*,[percentage],[length]); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-enter-translate-x: calc(--value(ratio)*-100%); --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1); }}
@utility slide-out-to-top{--tw-exit-translate-y: -100%;}
@utility slide-out-to-top-*{--tw-exit-translate-y: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-exit-translate-y: calc(--value(ratio)*-100%); --tw-exit-translate-y: calc(--value(--translate-*,[percentage],[length])*-1);}
@utility slide-out-to-bottom{--tw-exit-translate-y: 100%;}
@utility slide-out-to-bottom-*{--tw-exit-translate-y: calc(--value(integer)*var(--spacing)); --tw-exit-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-exit-translate-y: calc(--value(ratio)*100%); --tw-exit-translate-y: --value(--translate-*,[percentage],[length]);}
@utility slide-out-to-left{--tw-exit-translate-x: -100%;}
@utility slide-out-to-left-*{--tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-exit-translate-x: calc(--value(ratio)*-100%); --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1);}
@utility slide-out-to-right{--tw-exit-translate-x: 100%;}
@utility slide-out-to-right-*{--tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-exit-translate-x: calc(--value(ratio)*100%); --tw-exit-translate-x: --value(--translate-*,[percentage],[length]);}
@utility slide-out-to-start{&:dir(ltr){ --tw-exit-translate-x: -100%; }&:dir(rtl){ --tw-exit-translate-x: 100%; }}
@utility slide-out-to-start-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-exit-translate-x: calc(--value(ratio)*-100%); --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-exit-translate-x: calc(--value(ratio)*100%); --tw-exit-translate-x: --value(--translate-*,[percentage],[length]); }}
@utility slide-out-to-end{&:dir(ltr){ --tw-exit-translate-x: 100%; }&:dir(rtl){ --tw-exit-translate-x: -100%; }}
@utility slide-out-to-end-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-exit-translate-x: calc(--value(ratio)*100%); --tw-exit-translate-x: --value(--translate-*,[percentage],[length]); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-exit-translate-x: calc(--value(ratio)*-100%); --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1); }}
@theme inline {
  @keyframes accordion-down {
    from {
      height: 0;
    }
    to {
      height: var(
        --radix-accordion-content-height,
        var(--accordion-panel-height, auto)
      );
    }
  }

  @keyframes accordion-up {
    from {
      height: var(
        --radix-accordion-content-height,
        var(--accordion-panel-height, auto)
      );
    }
    to {
      height: 0;
    }
  }
}
/* Custom variants */
@custom-variant data-open {
  &:where([data-state="open"]),
  &:where([data-open]:not([data-open="false"])) {
    @slot;
  }
}
@custom-variant data-closed {
  &:where([data-state="closed"]),
  &:where([data-closed]:not([data-closed="false"])) {
    @slot;
  }
}
@custom-variant data-checked {
  &:where([data-state="checked"]),
  &:where([data-checked]:not([data-checked="false"])) {
    @slot;
  }
}
@custom-variant data-unchecked {
  &:where([data-state="unchecked"]),
  &:where([data-unchecked]:not([data-unchecked="false"])) {
    @slot;
  }
}
@custom-variant data-selected {
  &:where([data-selected="true"]) {
    @slot;
  }
}
@custom-variant data-disabled {
  &:where([data-disabled="true"]),
  &:where([data-disabled]:not([data-disabled="false"])) {
    @slot;
  }
}
@custom-variant data-active {
  &:where([data-state="active"]),
  &:where([data-active]:not([data-active="false"])) {
    @slot;
  }
}
@custom-variant data-horizontal {
  &:where([data-orientation="horizontal"]) {
    @slot;
  }
}
@custom-variant data-vertical {
  &:where([data-orientation="vertical"]) {
    @slot;
  }
}
@utility no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;

  &::-webkit-scrollbar {
    display: none;
  }
}
/* geist-cyrillic-ext-wght-normal */
@font-face {
  font-family: 'Geist Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format('woff2-variations');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}
/* geist-cyrillic-wght-normal */
@font-face {
  font-family: 'Geist Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format('woff2-variations');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
/* geist-vietnamese-wght-normal */
@font-face {
  font-family: 'Geist Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2) format('woff2-variations');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}
/* geist-latin-ext-wght-normal */
@font-face {
  font-family: 'Geist Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* geist-latin-wght-normal */
@font-face {
  font-family: 'Geist Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* ==========================================================================
   VIGOR v2 — Phase 1 Tokens
   ========================================================================== */
:root {
  /* Canvas — deep void with violet bias */
  --v2-bg:        #04060d;
  --v2-bg-deep:   #02030a;
  --v2-surface-1: #080b16;
  --v2-surface-2: #0d111e;
  --v2-surface-3: #141a2a;

  /* Cyan-teal accent (single chromatic color) */
  --v2-accent:        #22d3ee;
  --v2-accent-bright: #67e8f9;
  --v2-accent-soft:   #a5f3fc;
  --v2-accent-deep:   #0891b2;
  --v2-accent-glow:   rgba(34, 211, 238, 0.40);

  /* Silver-white text (cool) */
  --v2-text:    #e8eef5;
  --v2-text-2:  rgba(232, 238, 245, 0.70);
  --v2-text-3:  rgba(160, 178, 199, 0.55);
  --v2-text-4:  rgba(160, 178, 199, 0.30);

  /* Borders */
  --v2-border:        rgba(160, 178, 199, 0.08);
  --v2-border-strong: rgba(160, 178, 199, 0.18);
  --v2-border-accent: rgba(34, 211, 238, 0.30);

  /* Semantic */
  --v2-green:  #34d399;
  --v2-red:    #f87171;
  --v2-amber:  #fbbf24;

  /* Asset-class pip indicators — Gold + Bitcoin focus */
  --v2-asset-xau: #fbbf24;
  --v2-asset-btc: #f97316;

  /* Type stack */
  --v2-font-sans: 'Geist Variable', 'Geist', 'Inter', system-ui, sans-serif;
  --v2-font-mono: 'Geist Mono Variable', 'Geist Mono', ui-monospace, monospace;

  /* Motion */
  --v2-ease:        cubic-bezier(0.22, 1, 0.36, 1);
  --v2-ease-cinema: cubic-bezier(0.16, 1, 0.3, 1);
}
.v2-page {
  background: var(--v2-bg);
  color: var(--v2-text);
  font-family: var(--v2-font-sans);
  font-feature-settings: 'tnum' 1, 'cv11' 1;
  -webkit-font-smoothing: antialiased;
}
.v2-tnum { font-feature-settings: 'tnum' 1, 'cv11' 1; }
/* ==========================================================================
   v1 tokens — Phases 2–5 migrate off these gradually
   ========================================================================== */
:root {
  /* ─── VIGOR Midnight Indigo Tokens ─── */

  /* Canvas & surfaces */
  --vigor-bg:        #060612;
  --vigor-surface:   #0b0b1f;
  --vigor-surface-2: #0e0e24;
  --vigor-surface-3: #131330;

  /* Indigo accent system */
  --vigor-indigo:        #6366f1;
  --vigor-indigo-hover:  #4f46e5;
  --vigor-indigo-soft:   #a5b4fc;
  --vigor-indigo-dim:    rgba(99, 102, 241, 0.15);
  --vigor-indigo-glow:   rgba(99, 102, 241, 0.08);

  /* Borders */
  --vigor-border:    rgba(99, 102, 241, 0.10);
  --vigor-border-2:  rgba(99, 102, 241, 0.20);

  /* Text */
  --vigor-text:    #e0e7ff;
  --vigor-text-2:  rgba(165, 180, 252, 0.70);
  --vigor-text-3:  rgba(165, 180, 252, 0.40);

  /* Semantic */
  --vigor-green:   #30D158;
  --vigor-red:     #FF453A;
  --vigor-amber:   #FF9F0A;
  --vigor-cyan:    #22d3ee;

  /* RGB triples — for use with rgba(var(--xxx-rgb), <alpha>) */
  --vigor-bg-rgb:       6, 6, 18;
  --vigor-indigo-rgb:   99, 102, 241;
  --vigor-overlay-rgb:  165, 180, 252;
  --vigor-green-rgb:    48, 209, 88;
  --vigor-red-rgb:      255, 69, 58;
  --vigor-amber-rgb:    255, 159, 10;
  --vigor-text-rgb:         224, 231, 255;
  --vigor-indigo-soft-rgb:  165, 180, 252;
}
/* ─── VIGOR Midnight Indigo Polish Utilities ─── */
/* Hero radial glow — apply to outer hero wrapper */
.vigor-hero-glow {
  position: relative;
  overflow: hidden;
}
.vigor-hero-glow::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 120%;
  max-width: 900px;
  height: 80%;
  background: radial-gradient(
    ellipse at center,
    rgba(var(--vigor-indigo-rgb), 0.22) 0%,
    rgba(var(--vigor-indigo-rgb), 0.06) 35%,
    transparent 70%
  );
  pointer-events: none;
  z-index: 0;
}
.vigor-hero-glow > * {
  position: relative;
  z-index: 1;
}
/* Top indicator line above hero */
.vigor-top-line::before {
  content: '';
  display: block;
  width: 280px;
  height: 1px;
  margin: 0 auto 32px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(var(--vigor-indigo-rgb), 0.4),
    transparent
  );
}
/* Section divider — full-width fade-out line */
.vigor-divider {
  height: 1px;
  border: 0;
  margin: 0;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(var(--vigor-indigo-rgb), 0.18) 50%,
    transparent 100%
  );
}
/* Gradient border for feature cards */
.vigor-grad-border {
  border: 1px solid transparent !important;
  background-image:
    linear-gradient(var(--vigor-surface-2), var(--vigor-surface-2)),
    linear-gradient(
      180deg,
      rgba(var(--vigor-indigo-rgb), 0.35) 0%,
      rgba(var(--vigor-indigo-rgb), 0.05) 100%
    );
  background-origin: border-box;
  background-clip: padding-box, border-box;
}
/* Bottom CTA glow box */
.vigor-cta-box {
  position: relative;
  background: linear-gradient(
    135deg,
    rgba(var(--vigor-indigo-rgb), 0.16) 0%,
    rgba(var(--vigor-indigo-rgb), 0.05) 50%,
    rgba(var(--vigor-indigo-rgb), 0.12) 100%
  );
  border: 1px solid rgba(var(--vigor-indigo-rgb), 0.3);
  border-radius: 16px;
  overflow: hidden;
}
.vigor-cta-box::before {
  content: '';
  position: absolute;
  top: -40%;
  left: 50%;
  transform: translateX(-50%);
  width: 80%;
  height: 200%;
  background: radial-gradient(
    ellipse at center,
    rgba(var(--vigor-indigo-rgb), 0.18) 0%,
    transparent 60%
  );
  pointer-events: none;
}
.vigor-cta-box > * {
  position: relative;
  z-index: 1;
}
/* Tightened display typography */
.vigor-tight        { letter-spacing: -0.025em; }
.vigor-tight-display { letter-spacing: -0.03em; }
*, ::before, ::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */
/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/
*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}
::before,
::after {
  --tw-content: '';
}
/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/
html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}
/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/
body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}
/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/
hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}
/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}
/*
Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}
/*
Reset links to optimize for opt-in styling instead of opt-out.
*/
a {
  color: inherit;
  text-decoration: inherit;
}
/*
Add the correct font weight in Edge and Safari.
*/
b,
strong {
  font-weight: bolder;
}
/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: "JetBrains Mono", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}
/*
Add the correct font size in all browsers.
*/
small {
  font-size: 80%;
}
/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/
table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}
/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}
/*
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
  text-transform: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/
button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}
/*
Use the modern Firefox focus style for all focusable elements.
*/
:-moz-focusring {
  outline: auto;
}
/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/
:-moz-ui-invalid {
  box-shadow: none;
}
/*
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
  vertical-align: baseline;
}
/*
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}
/*
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}
/*
Removes the default spacing and border for appropriate elements.
*/
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}
fieldset {
  margin: 0;
  padding: 0;
}
legend {
  padding: 0;
}
ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}
/*
Prevent resizing textareas horizontally by default.
*/
textarea {
  resize: vertical;
}
/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/
input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
/*
Set the default cursor for buttons.
*/
button,
[role="button"] {
  cursor: pointer;
}
/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}
/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}
/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/
img,
video {
  max-width: 100%;
  height: auto;
}
/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
*, *::before, *::after { box-sizing: border-box; }
html {
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  }
body {
    background: #000000;
    color: #B8D0EE;
    font-family: 'Inter', system-ui, sans-serif;
    overflow-x: hidden;
  }
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: #000; }
::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.12); border-radius: 99px; }
::-moz-selection { background: rgba(41,98,255,0.28); color: #fff; }
::selection { background: rgba(41,98,255,0.28); color: #fff; }
.theme {
    --font-heading:        var(--font-sans);
    --font-sans:        'Geist Variable', sans-serif;
  }
:root {
    --background:        oklch(1 0 0);
    --foreground:        oklch(0.145 0 0);
    --card:        oklch(1 0 0);
    --card-foreground:        oklch(0.145 0 0);
    --popover:        oklch(1 0 0);
    --popover-foreground:        oklch(0.145 0 0);
    --primary:        oklch(0.205 0 0);
    --primary-foreground:        oklch(0.985 0 0);
    --secondary:        oklch(0.97 0 0);
    --secondary-foreground:        oklch(0.205 0 0);
    --muted:        oklch(0.97 0 0);
    --muted-foreground:        oklch(0.556 0 0);
    --accent:        oklch(0.97 0 0);
    --accent-foreground:        oklch(0.205 0 0);
    --destructive:        oklch(0.577 0.245 27.325);
    --border:        oklch(0.922 0 0);
    --input:        oklch(0.922 0 0);
    --ring:        oklch(0.708 0 0);
    --chart-1:        oklch(0.87 0 0);
    --chart-2:        oklch(0.556 0 0);
    --chart-3:        oklch(0.439 0 0);
    --chart-4:        oklch(0.371 0 0);
    --chart-5:        oklch(0.269 0 0);
    --radius:        0.625rem;
    --sidebar:        oklch(0.985 0 0);
    --sidebar-foreground:        oklch(0.145 0 0);
    --sidebar-primary:        oklch(0.205 0 0);
    --sidebar-primary-foreground:        oklch(0.985 0 0);
    --sidebar-accent:        oklch(0.97 0 0);
    --sidebar-accent-foreground:        oklch(0.205 0 0);
    --sidebar-border:        oklch(0.922 0 0);
    --sidebar-ring:        oklch(0.708 0 0);
  }
.dark {
    --background:        oklch(0.145 0 0);
    --foreground:        oklch(0.985 0 0);
    --card:        oklch(0.205 0 0);
    --card-foreground:        oklch(0.985 0 0);
    --popover:        oklch(0.205 0 0);
    --popover-foreground:        oklch(0.985 0 0);
    --primary:        oklch(0.922 0 0);
    --primary-foreground:        oklch(0.205 0 0);
    --secondary:        oklch(0.269 0 0);
    --secondary-foreground:        oklch(0.985 0 0);
    --muted:        oklch(0.269 0 0);
    --muted-foreground:        oklch(0.708 0 0);
    --accent:        oklch(0.269 0 0);
    --accent-foreground:        oklch(0.985 0 0);
    --destructive:        oklch(0.704 0.191 22.216);
    --border:        oklch(1 0 0 / 10%);
    --input:        oklch(1 0 0 / 15%);
    --ring:        oklch(0.556 0 0);
    --chart-1:        oklch(0.87 0 0);
    --chart-2:        oklch(0.556 0 0);
    --chart-3:        oklch(0.439 0 0);
    --chart-4:        oklch(0.371 0 0);
    --chart-5:        oklch(0.269 0 0);
    --sidebar:        oklch(0.205 0 0);
    --sidebar-foreground:        oklch(0.985 0 0);
    --sidebar-primary:        oklch(0.488 0.243 264.376);
    --sidebar-primary-foreground:        oklch(0.985 0 0);
    --sidebar-accent:        oklch(0.269 0 0);
    --sidebar-accent-foreground:        oklch(0.985 0 0);
    --sidebar-border:        oklch(1 0 0 / 10%);
    --sidebar-ring:        oklch(0.556 0 0);
  }
.container{width:100%}
@media (min-width: 640px){
.container{max-width:640px}}
@media (min-width: 768px){
.container{max-width:768px}}
@media (min-width: 1024px){
.container{max-width:1024px}}
@media (min-width: 1280px){
.container{max-width:1280px}}
@media (min-width: 1536px){
.container{max-width:1536px}}
/* ── Glass ──────────────────────────────────────── */
.glass {
    background: rgba(255,255,255,0.04);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
  }
/* ── Borders ────────────────────────────────────── */
/* ── Buttons ────────────────────────────────────── */
/* Primary CTA — VIGOR blue */
.btn-gold {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #2962FF;
    color: #FFFFFF;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 600;
    letter-spacing: -0.01em;
    border-radius: 10px;
    transition: background 0.2s ease, transform 0.2s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.2s ease;
    box-shadow: 0 4px 24px -4px rgba(41,98,255,0.45), 0 2px 8px rgba(0,0,0,0.3);
  }
.btn-gold:hover {
    background: #448AFF;
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 8px 36px -4px rgba(41,98,255,0.65), 0 4px 12px rgba(0,0,0,0.4);
  }
.btn-gold:active { transform: translateY(0) scale(0.99); }
.btn-gold:focus-visible { outline: 2px solid #2962FF; outline-offset: 3px; }
.btn-ghost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.12);
    color: rgba(255,255,255,0.85);
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 500;
    border-radius: 10px;
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
  }
.btn-ghost:hover {
    background: rgba(255,255,255,0.09);
    border-color: rgba(255,255,255,0.2);
    color: #D8ECFF;
    transform: translateY(-1px);
  }
.btn-ghost:active { transform: translateY(0); }
.btn-ghost:focus-visible { outline: 2px solid rgba(255,255,255,0.4); outline-offset: 3px; }
.btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid rgba(184,208,238,0.18);
    color: rgba(184,208,238,0.7);
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 500;
    border-radius: 9999px;
    transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease, transform 0.2s ease;
  }
.btn-outline:hover {
    border-color: rgba(184,208,238,0.36);
    color: #D8ECFF;
    background: rgba(255,255,255,0.05);
    transform: translateY(-1px);
  }
.btn-outline:active { transform: translateY(0) scale(0.99); }
.btn-outline:focus-visible { outline: 2px solid rgba(184,208,238,0.4); outline-offset: 3px; }
/* ── Section label ──────────────────────────────── */
.section-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    border-radius: 999px;
    background: rgba(41,98,255,0.1);
    border: 1px solid rgba(41,98,255,0.25);
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #448AFF;
    text-transform: uppercase;
    font-family: 'Plus Jakarta Sans', sans-serif;
  }
/* ── Data chips ─────────────────────────────────── */
.chip {
    padding: 3px 10px;
    border-radius: 6px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.1);
    color: rgba(255,255,255,0.65);
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.72rem;
  }
.chip-gold {
    padding: 3px 10px;
    border-radius: 6px;
    background: rgba(41,98,255,0.1);
    border: 1px solid rgba(41,98,255,0.25);
    color: #448AFF;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.72rem;
  }
.chip-profit {
    padding: 3px 10px;
    border-radius: 6px;
    background: rgba(48,209,88,0.1);
    border: 1px solid rgba(48,209,88,0.2);
    color: #30D158;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.72rem;
  }
/* ── Grid background ────────────────────────────── */
.bg-grid {
    background-image:
      linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
    background-size: 64px 64px;
  }
/* ── Gradient text ──────────────────────────────── */
.text-gold-bright { color: #448AFF; }
.text-gradient-gold {
    background: linear-gradient(135deg, #FFFFFF 60%, #448AFF 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }
/* ── Shadows ────────────────────────────────────── */
.shadow-gold-lg { box-shadow: 0 0 80px -20px rgba(41,98,255,0.35), 0 8px 32px rgba(0,0,0,0.6); }
/* ── Scan line ──────────────────────────────────── */
/* ── Terminal cursor ────────────────────────────── */
.cursor {
    display: inline-block;
    width: 2px;
    height: 0.9em;
    background: #2962FF;
    animation: blink 1.1s step-end infinite;
    vertical-align: middle;
    margin-left: 2px;
    border-radius: 1px;
  }
/* ── Skeleton ───────────────────────────────────── */
.skeleton {
    background: linear-gradient(90deg,
      rgba(255,255,255,0.03) 0%,
      rgba(255,255,255,0.06) 50%,
      rgba(255,255,255,0.03) 100%);
    background-size: 600px 100%;
    animation: shimmer 2s linear infinite;
    border-radius: 6px;
  }
/* ── Section separator ──────────────────────────── */
.pointer-events-none{pointer-events:none}
.\!visible{visibility:visible !important}
.visible{visibility:visible}
.invisible{visibility:hidden}
.collapse{visibility:collapse}
.static{position:static}
.fixed{position:fixed}
.absolute{position:absolute}
.relative{position:relative}
.sticky{position:sticky}
.inset-0{inset:0px}
.inset-x-0{left:0px;right:0px}
.-right-4{right:-1rem}
.bottom-8{bottom:2rem}
.left-0{left:0px}
.left-1\/2{left:50%}
.left-4{left:1rem}
.left-\[12\.5\%\]{left:12.5%}
.right-0{right:0px}
.right-3{right:0.75rem}
.right-\[12\.5\%\]{right:12.5%}
.top-0{top:0px}
.top-1\/2{top:50%}
.top-3{top:0.75rem}
.z-10{z-index:10}
.z-50{z-index:50}
.col-span-2{grid-column:span 2 / span 2}
.mx-5{margin-left:1.25rem;margin-right:1.25rem}
.mx-auto{margin-left:auto;margin-right:auto}
.-mt-1{margin-top:-0.25rem}
.mb-0\.5{margin-bottom:0.125rem}
.mb-1{margin-bottom:0.25rem}
.mb-1\.5{margin-bottom:0.375rem}
.mb-10{margin-bottom:2.5rem}
.mb-12{margin-bottom:3rem}
.mb-14{margin-bottom:3.5rem}
.mb-16{margin-bottom:4rem}
.mb-2{margin-bottom:0.5rem}
.mb-2\.5{margin-bottom:0.625rem}
.mb-20{margin-bottom:5rem}
.mb-3{margin-bottom:0.75rem}
.mb-3\.5{margin-bottom:0.875rem}
.mb-4{margin-bottom:1rem}
.mb-5{margin-bottom:1.25rem}
.mb-6{margin-bottom:1.5rem}
.ml-1{margin-left:0.25rem}
.ml-2{margin-left:0.5rem}
.ml-3{margin-left:0.75rem}
.ml-auto{margin-left:auto}
.mt-0\.5{margin-top:0.125rem}
.mt-1{margin-top:0.25rem}
.mt-1\.5{margin-top:0.375rem}
.mt-12{margin-top:3rem}
.mt-16{margin-top:4rem}
.mt-2{margin-top:0.5rem}
.mt-3{margin-top:0.75rem}
.mt-4{margin-top:1rem}
.mt-5{margin-top:1.25rem}
.mt-6{margin-top:1.5rem}
.mt-7{margin-top:1.75rem}
.mt-8{margin-top:2rem}
.mt-9{margin-top:2.25rem}
.block{display:block}
.inline-block{display:inline-block}
.inline{display:inline}
.flex{display:flex}
.inline-flex{display:inline-flex}
.table{display:table}
.grid{display:grid}
.hidden{display:none}
.size-3{width:0.75rem;height:0.75rem}
.size-3\.5{width:0.875rem;height:0.875rem}
.size-4{width:1rem;height:1rem}
.size-6{width:1.5rem;height:1.5rem}
.size-7{width:1.75rem;height:1.75rem}
.size-8{width:2rem;height:2rem}
.size-9{width:2.25rem;height:2.25rem}
.h-0\.5{height:0.125rem}
.h-1{height:0.25rem}
.h-1\.5{height:0.375rem}
.h-10{height:2.5rem}
.h-12{height:3rem}
.h-14{height:3.5rem}
.h-16{height:4rem}
.h-2\.5{height:0.625rem}
.h-20{height:5rem}
.h-3{height:0.75rem}
.h-4{height:1rem}
.h-5{height:1.25rem}
.h-6{height:1.5rem}
.h-7{height:1.75rem}
.h-8{height:2rem}
.h-9{height:2.25rem}
.h-full{height:100%}
.h-px{height:1px}
.min-h-64{min-height:16rem}
.min-h-80{min-height:20rem}
.w-1\.5{width:0.375rem}
.w-10{width:2.5rem}
.w-12{width:3rem}
.w-14{width:3.5rem}
.w-16{width:4rem}
.w-2\.5{width:0.625rem}
.w-20{width:5rem}
.w-24{width:6rem}
.w-3{width:0.75rem}
.w-32{width:8rem}
.w-5{width:1.25rem}
.w-6{width:1.5rem}
.w-7{width:1.75rem}
.w-fit{width:-moz-fit-content;width:fit-content}
.w-full{width:100%}
.w-px{width:1px}
.min-w-0{min-width:0px}
.max-w-2xl{max-width:42rem}
.max-w-3xl{max-width:48rem}
.max-w-6xl{max-width:72rem}
.max-w-7xl{max-width:80rem}
.max-w-lg{max-width:32rem}
.max-w-xs{max-width:20rem}
.flex-1{flex:1 1 0%}
.flex-shrink{flex-shrink:1}
.flex-shrink-0{flex-shrink:0}
.shrink{flex-shrink:1}
.shrink-0{flex-shrink:0}
.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
.-rotate-90{--tw-rotate:-90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
@keyframes fade-in{
0%{opacity:0}
100%{opacity:1}}
.animate-fade-in{animation:fade-in 0.5s ease both}
@keyframes pulse-gold{
0%,100%{opacity:0.5;transform:scale(1)}
50%{opacity:1;transform:scale(1.05)}}
.animate-pulse-gold{animation:pulse-gold 3s ease-in-out infinite}
@keyframes spin{
to{transform:rotate(360deg)}}
.animate-spin{animation:spin 1s linear infinite}
@keyframes spin-slow{
0%{transform:rotate(0deg)}
100%{transform:rotate(360deg)}}
.animate-spin-slow{animation:spin-slow 12s linear infinite}
@keyframes ticker{
0%{transform:translateX(0)}
100%{transform:translateX(-50%)}}
.animate-ticker{animation:ticker 40s linear infinite}
.cursor-pointer{cursor:pointer}
.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}
.resize{resize:both}
.grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}
.grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}
.grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}
.grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr))}
.flex-col{flex-direction:column}
.flex-wrap{flex-wrap:wrap}
.items-start{align-items:flex-start}
.items-end{align-items:flex-end}
.items-center{align-items:center}
.justify-end{justify-content:flex-end}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.gap-1{gap:0.25rem}
.gap-1\.5{gap:0.375rem}
.gap-10{gap:2.5rem}
.gap-12{gap:3rem}
.gap-2{gap:0.5rem}
.gap-2\.5{gap:0.625rem}
.gap-3{gap:0.75rem}
.gap-4{gap:1rem}
.gap-5{gap:1.25rem}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}
.space-y-0 > :not([hidden]) ~ :not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}
.space-y-1\.5 > :not([hidden]) ~ :not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.375rem * var(--tw-space-y-reverse))}
.space-y-2 > :not([hidden]) ~ :not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.5rem * var(--tw-space-y-reverse))}
.space-y-2\.5 > :not([hidden]) ~ :not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.625rem * var(--tw-space-y-reverse))}
.space-y-3 > :not([hidden]) ~ :not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.75rem * var(--tw-space-y-reverse))}
.space-y-4 > :not([hidden]) ~ :not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}
.self-start{align-self:flex-start}
.overflow-hidden{overflow:hidden}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.whitespace-nowrap{white-space:nowrap}
.rounded{border-radius:0.25rem}
.rounded-2xl{border-radius:1rem}
.rounded-\[min\(var\(--radius-md\)\2c 10px\)\]{border-radius:min(var(--radius-md), 10px)}
.rounded-\[min\(var\(--radius-md\)\2c 12px\)\]{border-radius:min(var(--radius-md), 12px)}
.rounded-full{border-radius:9999px}
.rounded-lg{border-radius:0.5rem}
.rounded-md{border-radius:0.375rem}
.rounded-xl{border-radius:0.75rem}
.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}
.border{border-width:1px}
.border-b{border-bottom-width:1px}
.border-transparent{border-color:transparent}
.bg-clip-padding{background-clip:padding-box}
.p-1{padding:0.25rem}
.p-1\.5{padding:0.375rem}
.p-10{padding:2.5rem}
.p-12{padding:3rem}
.p-2{padding:0.5rem}
.p-2\.5{padding:0.625rem}
.p-3{padding:0.75rem}
.p-4{padding:1rem}
.p-5{padding:1.25rem}
.p-6{padding:1.5rem}
.p-8{padding:2rem}
.px-1\.5{padding-left:0.375rem;padding-right:0.375rem}
.px-2{padding-left:0.5rem;padding-right:0.5rem}
.px-2\.5{padding-left:0.625rem;padding-right:0.625rem}
.px-3{padding-left:0.75rem;padding-right:0.75rem}
.px-3\.5{padding-left:0.875rem;padding-right:0.875rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-5{padding-left:1.25rem;padding-right:1.25rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.px-7{padding-left:1.75rem;padding-right:1.75rem}
.py-0\.5{padding-top:0.125rem;padding-bottom:0.125rem}
.py-1{padding-top:0.25rem;padding-bottom:0.25rem}
.py-1\.5{padding-top:0.375rem;padding-bottom:0.375rem}
.py-14{padding-top:3.5rem;padding-bottom:3.5rem}
.py-2{padding-top:0.5rem;padding-bottom:0.5rem}
.py-2\.5{padding-top:0.625rem;padding-bottom:0.625rem}
.py-20{padding-top:5rem;padding-bottom:5rem}
.py-24{padding-top:6rem;padding-bottom:6rem}
.py-3{padding-top:0.75rem;padding-bottom:0.75rem}
.py-3\.5{padding-top:0.875rem;padding-bottom:0.875rem}
.py-32{padding-top:8rem;padding-bottom:8rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-5{padding-top:1.25rem;padding-bottom:1.25rem}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.pb-1{padding-bottom:0.25rem}
.pb-3{padding-bottom:0.75rem}
.pb-4{padding-bottom:1rem}
.pb-5{padding-bottom:1.25rem}
.pt-1{padding-top:0.25rem}
.pt-2{padding-top:0.5rem}
.pt-3{padding-top:0.75rem}
.pt-4{padding-top:1rem}
.pt-6{padding-top:1.5rem}
.pt-7{padding-top:1.75rem}
.text-left{text-align:left}
.text-center{text-align:center}
.text-right{text-align:right}
.font-body{font-family:"Inter", system-ui, sans-serif}
.font-display{font-family:"Plus Jakarta Sans", system-ui, sans-serif}
.font-mono{font-family:"JetBrains Mono", monospace}
.text-\[0\.55rem\]{font-size:0.55rem}
.text-\[0\.58rem\]{font-size:0.58rem}
.text-\[0\.5rem\]{font-size:0.5rem}
.text-\[0\.65rem\]{font-size:0.65rem}
.text-\[0\.6rem\]{font-size:0.6rem}
.text-\[0\.7rem\]{font-size:0.7rem}
.text-\[0\.8rem\]{font-size:0.8rem}
.text-base{font-size:1rem;line-height:1.5rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-sm{font-size:0.875rem;line-height:1.25rem}
.text-xs{font-size:0.75rem;line-height:1rem}
.font-300{font-weight:300}
.font-400{font-weight:400}
.font-500{font-weight:500}
.font-600{font-weight:600}
.font-700{font-weight:700}
.font-800{font-weight:800}
.font-light{font-weight:300}
.font-medium{font-weight:500}
.uppercase{text-transform:uppercase}
.lowercase{text-transform:lowercase}
.italic{font-style:italic}
.leading-none{line-height:1}
.leading-relaxed{line-height:1.625}
.leading-snug{line-height:1.375}
.tracking-widest{letter-spacing:0.1em}
.text-gold-bright{--tw-text-opacity:1;color:rgb(68 138 255 / var(--tw-text-opacity, 1))}
.text-ink-1{--tw-text-opacity:1;color:rgb(216 236 255 / var(--tw-text-opacity, 1))}
.text-ink-2{--tw-text-opacity:1;color:rgb(184 208 238 / var(--tw-text-opacity, 1))}
.text-ink-3{--tw-text-opacity:1;color:rgb(144 174 206 / var(--tw-text-opacity, 1))}
.text-ink-4{--tw-text-opacity:1;color:rgb(138 170 208 / var(--tw-text-opacity, 1))}
.text-ink-5{--tw-text-opacity:1;color:rgb(74 104 144 / var(--tw-text-opacity, 1))}
.text-loss{--tw-text-opacity:1;color:rgb(255 69 58 / var(--tw-text-opacity, 1))}
.text-profit{--tw-text-opacity:1;color:rgb(48 209 88 / var(--tw-text-opacity, 1))}
.underline{text-decoration-line:underline}
.underline-offset-4{text-underline-offset:4px}
.outline-none{outline:2px solid transparent;outline-offset:2px}
.outline{outline-style:solid}
.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}
.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}
.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) !important}
.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}
.transition{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}
.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}
.transition-colors{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}
.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}
.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}
.duration-150{transition-duration:150ms}
.duration-200{transition-duration:200ms}
.duration-300{transition-duration:300ms}
.duration-500{transition-duration:500ms}
.ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}
/* ── Framer Motion defaults ─────────────────────────── */
[data-framer-appear] { will-change: transform, opacity; }
/* ── Animation delays ──────────────────────────────── */
.delay-100 { animation-delay: 0.1s; }
.delay-200 { animation-delay: 0.2s; }
.delay-300 { animation-delay: 0.3s; }
.delay-400 { animation-delay: 0.4s; }
.delay-500 { animation-delay: 0.5s; }
.delay-600 { animation-delay: 0.6s; }
.delay-700 { animation-delay: 0.7s; }
.delay-800 { animation-delay: 0.8s; }
/* ── Hero fade-in-up ─────────────────────────────── */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}
.animate-fade-in-up { animation: fadeInUp 0.9s cubic-bezier(0.22,1,0.36,1) both; }
/* ── Dashboard entrance ─────────────────────────── */
@keyframes dashboardEnter {
  from { opacity: 0; transform: scale(0.98); }
  to   { opacity: 1; transform: scale(1); }
}
/* ── Pulse (hero badge dot) ──────────────────────── */
@keyframes pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%      { opacity: 0.5; transform: scale(0.85); }
}
/* ── Hero badge pill ─────────────────────────────── */
.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 16px;
  border-radius: 100px;
  background: rgba(41,98,255,0.1);
  border: 1px solid rgba(41,98,255,0.3);
  color: #448AFF;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  margin-bottom: 32px;
  backdrop-filter: blur(12px);
}
.hero-badge::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #2962FF;
  box-shadow: 0 0 10px rgba(41,98,255,0.8);
  animation: pulse 2s infinite;
}
/* ── Stats counter card ──────────────────────────── */
.stat-card-hover { transition: border-color 0.25s ease, transform 0.25s ease; }
.stat-card-hover:hover { transform: scale(1.01); border-color: rgba(255,255,255,0.16); }
/* ── Trust badges row ────────────────────────────── */
.trust-row {
  display: flex; flex-wrap: wrap; justify-content: center;
  align-items: center; gap: 0 24px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
  color: rgba(255,255,255,0.45);
}
.trust-row > span + span::before {
  content: '·'; margin-right: 24px; color: rgba(255,255,255,0.25);
}
/* ── Hero cinematic side chips — hidden below 1260px ─── */
.hero-chip-left,
.hero-chip-right { display: flex; }
@media (max-width: 1260px) {
  .hero-chip-left,
  .hero-chip-right { display: none !important; }
}
/* ── Hero scroll pulse line ──────────────────────── */
.hero-scroll-line {
  width: 1px;
  height: 32px;
  background: linear-gradient(
    180deg,
    rgba(var(--vigor-indigo-rgb), 0.6) 0%,
    transparent 100%
  );
  animation: heroScrollPulse 2.2s ease-in-out infinite;
}
@keyframes heroScrollPulse {
  0%, 100% { opacity: 0.3; transform: scaleY(0.7); }
  50%       { opacity: 0.8; transform: scaleY(1); }
}
/* ── Reduced-motion respect (a11y) ───────────────── */
@media (prefers-reduced-motion: reduce) {
  /* Stop perpetual ambient animations entirely */
  .animate-ticker,
  .animate-glow-orb,
  .animate-float,
  .animate-pulse-gold,
  .animate-spin-slow,
  .animate-border-gold,
  .scan-v,
  .skeleton {
    animation: none !important;
  }

  /* Collapse entrance/state animations to a minimal fade */
  .animate-fade-in-up,
  .animate-fade-up,
  .animate-fade-in,
  .hero-badge::before {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
  }

  /* Belt-and-braces: clamp any inline keyframe usage */
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
.hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
.hover\:bg-white\/\[0\.02\]:hover{background-color:rgb(255 255 255 / 0.02)}
.hover\:text-ink-1:hover{--tw-text-opacity:1;color:rgb(216 236 255 / var(--tw-text-opacity, 1))}
.hover\:text-ink-2:hover{--tw-text-opacity:1;color:rgb(184 208 238 / var(--tw-text-opacity, 1))}
.hover\:underline:hover{text-decoration-line:underline}
.focus-visible\:text-ink-1:focus-visible{--tw-text-opacity:1;color:rgb(216 236 255 / var(--tw-text-opacity, 1))}
.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}
.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}
.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}
.focus-visible\:ring-gold-base:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(41 98 255 / var(--tw-ring-opacity, 1))}
.disabled\:pointer-events-none:disabled{pointer-events:none}
.disabled\:opacity-50:disabled{opacity:0.5}
.group:hover .group-hover\:text-ink-1{--tw-text-opacity:1;color:rgb(216 236 255 / var(--tw-text-opacity, 1))}
@media (min-width: 640px){
.sm\:flex{display:flex}
.sm\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}
.sm\:flex-row{flex-direction:row}}
@media (min-width: 768px){
.md\:col-span-1{grid-column:span 1 / span 1}
.md\:flex{display:flex}
.md\:hidden{display:none}
.md\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}
.md\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}
.md\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}
.md\:grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr))}
.md\:flex-row{flex-direction:row}
.md\:items-end{align-items:flex-end}
.md\:text-right{text-align:right}}
@media (min-width: 1024px){
.lg\:block{display:block}
.lg\:flex{display:flex}
.lg\:flex-shrink-0{flex-shrink:0}
.lg\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}
.lg\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}
.lg\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}
.lg\:grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr))}
.lg\:flex-row{flex-direction:row}
.lg\:items-center{align-items:center}
.lg\:px-10{padding-left:2.5rem;padding-right:2.5rem}
.lg\:py-24{padding-top:6rem;padding-bottom:6rem}
.lg\:py-32{padding-top:8rem;padding-bottom:8rem}
.lg\:py-44{padding-top:11rem;padding-bottom:11rem}}
.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*='size-']){width:0.75rem;height:0.75rem}
.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*='size-']){width:0.875rem;height:0.875rem}
.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*='size-']){width:1rem;height:1rem}
.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}
.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.border-glow-card {
  --edge-proximity: 0;
  --cursor-angle: 45deg;
  --edge-sensitivity: 30;
  --color-sensitivity: calc(var(--edge-sensitivity) + 20);
  --border-radius: 28px;
  --glow-padding: 40px;
  --cone-spread: 25;

  position: relative;
  border-radius: var(--border-radius);
  isolation: isolate;
  transform: translate3d(0, 0, 0.01px);
  display: grid;
  border: 1px solid rgb(255 255 255 / 15%);
  background: var(--card-bg, #120F17);
  overflow: visible;
  box-shadow:
    rgba(0, 0, 0, 0.1) 0px 1px 2px,
    rgba(0, 0, 0, 0.1) 0px 2px 4px,
    rgba(0, 0, 0, 0.1) 0px 4px 8px,
    rgba(0, 0, 0, 0.1) 0px 8px 16px,
    rgba(0, 0, 0, 0.1) 0px 16px 32px,
    rgba(0, 0, 0, 0.1) 0px 32px 64px;
}

.border-glow-card::before,
.border-glow-card::after,
.border-glow-card > .edge-light {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  transition: opacity 0.25s ease-out;
  z-index: -1;
}

.border-glow-card:not(:hover):not(.sweep-active)::before,
.border-glow-card:not(:hover):not(.sweep-active)::after,
.border-glow-card:not(:hover):not(.sweep-active) > .edge-light {
  opacity: 0;
  transition: opacity 0.75s ease-in-out;
}

/* colored mesh-gradient border */
.border-glow-card::before {
  border: 1px solid transparent;
  background:
    linear-gradient(var(--card-bg, #120F17) 0 100%) padding-box,
    linear-gradient(rgb(255 255 255 / 0%) 0% 100%) border-box,
    var(--gradient-one, radial-gradient(at 80% 55%, hsla(268, 100%, 76%, 1) 0px, transparent 50%)) border-box,
    var(--gradient-two, radial-gradient(at 69% 34%, hsla(349, 100%, 74%, 1) 0px, transparent 50%)) border-box,
    var(--gradient-three, radial-gradient(at 8% 6%, hsla(136, 100%, 78%, 1) 0px, transparent 50%)) border-box,
    var(--gradient-four, radial-gradient(at 41% 38%, hsla(192, 100%, 64%, 1) 0px, transparent 50%)) border-box,
    var(--gradient-five, radial-gradient(at 86% 85%, hsla(186, 100%, 74%, 1) 0px, transparent 50%)) border-box,
    var(--gradient-six, radial-gradient(at 82% 18%, hsla(52, 100%, 65%, 1) 0px, transparent 50%)) border-box,
    var(--gradient-seven, radial-gradient(at 51% 4%, hsla(12, 100%, 72%, 1) 0px, transparent 50%)) border-box,
    var(--gradient-base, linear-gradient(#c299ff 0 100%)) border-box;

  opacity: calc((var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));

  -webkit-mask-image:
    conic-gradient(
      from var(--cursor-angle) at center,
      black calc(var(--cone-spread) * 1%),
      transparent calc((var(--cone-spread) + 15) * 1%),
      transparent calc((100 - var(--cone-spread) - 15) * 1%),
      black calc((100 - var(--cone-spread)) * 1%)
    );

          mask-image:
    conic-gradient(
      from var(--cursor-angle) at center,
      black calc(var(--cone-spread) * 1%),
      transparent calc((var(--cone-spread) + 15) * 1%),
      transparent calc((100 - var(--cone-spread) - 15) * 1%),
      black calc((100 - var(--cone-spread)) * 1%)
    );
}

/* colored mesh-gradient background fill near edges */
.border-glow-card::after {
  border: 1px solid transparent;
  background:
    var(--gradient-one, radial-gradient(at 80% 55%, hsla(268, 100%, 76%, 1) 0px, transparent 50%)) padding-box,
    var(--gradient-two, radial-gradient(at 69% 34%, hsla(349, 100%, 74%, 1) 0px, transparent 50%)) padding-box,
    var(--gradient-three, radial-gradient(at 8% 6%, hsla(136, 100%, 78%, 1) 0px, transparent 50%)) padding-box,
    var(--gradient-four, radial-gradient(at 41% 38%, hsla(192, 100%, 64%, 1) 0px, transparent 50%)) padding-box,
    var(--gradient-five, radial-gradient(at 86% 85%, hsla(186, 100%, 74%, 1) 0px, transparent 50%)) padding-box,
    var(--gradient-six, radial-gradient(at 82% 18%, hsla(52, 100%, 65%, 1) 0px, transparent 50%)) padding-box,
    var(--gradient-seven, radial-gradient(at 51% 4%, hsla(12, 100%, 72%, 1) 0px, transparent 50%)) padding-box,
    var(--gradient-base, linear-gradient(#c299ff 0 100%)) padding-box;

  -webkit-mask-image:
    linear-gradient(to bottom, black, black),
    radial-gradient(ellipse at 50% 50%, black 40%, transparent 65%),
    radial-gradient(ellipse at 66% 66%, black 5%, transparent 40%),
    radial-gradient(ellipse at 33% 33%, black 5%, transparent 40%),
    radial-gradient(ellipse at 66% 33%, black 5%, transparent 40%),
    radial-gradient(ellipse at 33% 66%, black 5%, transparent 40%),
    conic-gradient(from var(--cursor-angle) at center, transparent 5%, black 15%, black 85%, transparent 95%);

          mask-image:
    linear-gradient(to bottom, black, black),
    radial-gradient(ellipse at 50% 50%, black 40%, transparent 65%),
    radial-gradient(ellipse at 66% 66%, black 5%, transparent 40%),
    radial-gradient(ellipse at 33% 33%, black 5%, transparent 40%),
    radial-gradient(ellipse at 66% 33%, black 5%, transparent 40%),
    radial-gradient(ellipse at 33% 66%, black 5%, transparent 40%),
    conic-gradient(from var(--cursor-angle) at center, transparent 5%, black 15%, black 85%, transparent 95%);

  -webkit-mask-composite: source-out, source-over, source-over, source-over, source-over, source-over;

          mask-composite: subtract, add, add, add, add, add;
  opacity: calc(var(--fill-opacity, 0.5) * (var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));
  mix-blend-mode: soft-light;
}

/* outer glow layer */
.border-glow-card > .edge-light {
  inset: calc(var(--glow-padding) * -1);
  pointer-events: none;
  z-index: 1;

  -webkit-mask-image:
    conic-gradient(
      from var(--cursor-angle) at center, black 2.5%, transparent 10%, transparent 90%, black 97.5%
    );

          mask-image:
    conic-gradient(
      from var(--cursor-angle) at center, black 2.5%, transparent 10%, transparent 90%, black 97.5%
    );

  opacity: calc((var(--edge-proximity) - var(--edge-sensitivity)) / (100 - var(--edge-sensitivity)));
  mix-blend-mode: plus-lighter;
}

.border-glow-card > .edge-light::before {
  content: "";
  position: absolute;
  inset: var(--glow-padding);
  border-radius: inherit;
  box-shadow:
    inset 0 0 0 1px var(--glow-color, hsl(40deg 80% 80% / 100%)),
    inset 0 0 1px 0 var(--glow-color-60, hsl(40deg 80% 80% / 60%)),
    inset 0 0 3px 0 var(--glow-color-50, hsl(40deg 80% 80% / 50%)),
    inset 0 0 6px 0 var(--glow-color-40, hsl(40deg 80% 80% / 40%)),
    inset 0 0 15px 0 var(--glow-color-30, hsl(40deg 80% 80% / 30%)),
    inset 0 0 25px 2px var(--glow-color-20, hsl(40deg 80% 80% / 20%)),
    inset 0 0 50px 2px var(--glow-color-10, hsl(40deg 80% 80% / 10%)),
    0 0 1px 0 var(--glow-color-60, hsl(40deg 80% 80% / 60%)),
    0 0 3px 0 var(--glow-color-50, hsl(40deg 80% 80% / 50%)),
    0 0 6px 0 var(--glow-color-40, hsl(40deg 80% 80% / 40%)),
    0 0 15px 0 var(--glow-color-30, hsl(40deg 80% 80% / 30%)),
    0 0 25px 2px var(--glow-color-20, hsl(40deg 80% 80% / 20%)),
    0 0 50px 2px var(--glow-color-10, hsl(40deg 80% 80% / 10%));
}

.border-glow-inner {
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: auto;
  z-index: 1;
}
