:root{
  color-scheme:light dark;
  --enny-user-font-scale:1;
  --enny-user-glass-alpha:.72;
  --enny-user-glass-strong-alpha:.84;

  /* Typography */
  --enny-font-system:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","PingFang SC","Helvetica Neue",sans-serif;
  --enny-font-size-caption:11px;
  --enny-font-size-footnote:13px;
  --enny-font-size-body:15px;
  --enny-font-size-title3:18px;
  --enny-font-size-title1:28px;
  --enny-weight-regular:400;
  --enny-weight-medium:560;
  --enny-weight-semibold:650;

  /* Geometry */
  --enny-radius-xs:10px;
  --enny-radius-s:12px;
  --enny-radius-m:18px;
  --enny-radius-l:26px;
  --enny-radius-xl:30px;
  --enny-control-min:44px;
  --enny-tab-height:68px;

  /* Spacing */
  --enny-space-1:4px;
  --enny-space-2:8px;
  --enny-space-3:12px;
  --enny-space-4:16px;
  --enny-space-5:20px;
  --enny-space-6:24px;
  --enny-space-7:32px;

  /* Light surfaces */
  --enny-bg:#f5f5f7;
  --enny-surface:#ffffff;
  --enny-surface-secondary:#f0f0f3;
  --enny-text:#1d1d1f;
  --enny-text-secondary:#6e6e73;
  --enny-separator:rgba(60,60,67,.12);
  --enny-glass:rgba(250,250,252,var(--enny-user-glass-alpha));
  --enny-glass-strong:rgba(250,250,252,var(--enny-user-glass-strong-alpha));
  --enny-accent:#0a84ff;
  --enny-accent-on:#ffffff;
  --enny-danger:#ff3b30;
  --enny-success:#34c759;

  /* Elevation */
  --enny-shadow-float:0 16px 40px rgba(0,0,0,.18);
  --enny-shadow-soft:0 10px 30px rgba(0,0,0,.12);
  --enny-shadow-avatar:0 16px 38px rgba(0,0,0,.16);

  /* Motion */
  --enny-motion-fast:160ms;
  --enny-motion-base:220ms;
  --enny-motion-slow:320ms;
  --enny-ease-standard:cubic-bezier(.2,.8,.2,1);
  --enny-ease-fade:ease;

  /* Glass */
  --enny-glass-blur:26px;
  --enny-glass-saturate:180%;
}

@media(prefers-color-scheme:dark){
  :root{
    --enny-bg:#000000;
    --enny-surface:#1c1c1e;
    --enny-surface-secondary:#2c2c2e;
    --enny-text:#f5f5f7;
    --enny-text-secondary:#98989d;
    --enny-separator:rgba(235,235,245,.13);
    --enny-glass:rgba(28,28,30,var(--enny-user-glass-alpha));
    --enny-glass-strong:rgba(28,28,30,var(--enny-user-glass-strong-alpha));
    --enny-accent:#0a84ff;
    --enny-accent-on:#ffffff;
  }
}

@media(prefers-reduced-motion:reduce){
  :root{
    --enny-motion-fast:0ms;
    --enny-motion-base:0ms;
    --enny-motion-slow:0ms;
  }
}

:root[data-enny-theme="light"]{
  color-scheme:light;
  --enny-bg:#f5f5f7;--enny-surface:#ffffff;--enny-surface-secondary:#f0f0f3;
  --enny-text:#1d1d1f;--enny-text-secondary:#6e6e73;--enny-separator:rgba(60,60,67,.12);
  --enny-glass:rgba(250,250,252,var(--enny-user-glass-alpha));
  --enny-glass-strong:rgba(250,250,252,var(--enny-user-glass-strong-alpha));
}
:root[data-enny-theme="dark"]{
  color-scheme:dark;
  --enny-bg:#000000;--enny-surface:#1c1c1e;--enny-surface-secondary:#2c2c2e;
  --enny-text:#f5f5f7;--enny-text-secondary:#98989d;--enny-separator:rgba(235,235,245,.13);
  --enny-glass:rgba(28,28,30,var(--enny-user-glass-alpha));
  --enny-glass-strong:rgba(28,28,30,var(--enny-user-glass-strong-alpha));
}

/* Native hidden semantics must win over component flex/grid rules, including overlays. */
[class*="enny-v70-"] [hidden]{display:none!important}
[class*="enny-v70-"]{box-sizing:border-box}
[class*="enny-v70-"] input,[class*="enny-v70-"] textarea{min-width:0}
[class*="enny-v70-"] button:focus-visible,[class*="enny-v70-"] input:focus-visible,[class*="enny-v70-"] textarea:focus-visible{outline:2px solid var(--enny-accent);outline-offset:3px}
