/* ETTOY 玩具宇宙 · design tokens — v9 "Glowing Jelly" (approved mockups rounds 2–4, /workspace/mockups-jelly)
   Deep violet → indigo gradient, faint fading checker, one huge faded word per screen, frosted glass panels with a 1px light rim,
   lime / yellow highlight words + small ticks + action buttons + tags, glassy Magic Button CTA with a rainbow refraction edge,
   our own jelly mascot family (SVG, common.js). Rounded fonts only (Fredoka + Huninn 粉圓), no emoji.
   Rule (Noreen, v8 → kept): at most ONE shadow / glow layer per element. app.css only uses var(--…). */
:root{
  color-scheme:dark;
  /* ---- type ---- */
  --font:'Fredoka','Huninn','jf-openhuninn','Arial Rounded MT Bold','PingFang TC',system-ui,sans-serif;
  --font-num:'Fredoka','Huninn',system-ui,sans-serif;
  --fw-reg:400; --fw-med:500; --fw-bold:600; --fw-black:700;
  --t11:11px; --t12:12px; --t13:13px; --t14:14px; --t15:15px; --t16:16px; --t18:18px; --t20:20px; --t24:24px; --t32:32px;
  --fs-body:var(--t15); --lh-body:1.6; --lh-tight:1.4; --lh-head:1.28; --ls-body:.03em; --ls-head:.02em;

  /* ---- background: deep violet → indigo ---- */
  --v1:#5530C4; --v2:#3A20A0; --v3:#24157A; --v4:#150E4A;
  --bg:#150E4A;
  --bg-grad:linear-gradient(180deg,var(--v1) 0%,var(--v2) 30%,var(--v3) 62%,var(--v4) 100%);
  --bg-admin:linear-gradient(180deg,#2C1C86 0%,#1E1462 45%,#150E4A 100%);
  --checker:repeating-conic-gradient(rgba(255,255,255,.035) 0 25%,transparent 0 50%) 0 0/32px 32px;
  --bgword:rgba(255,255,255,.055);

  /* ---- ink ---- */
  --ink:#1B1530; --fg:#FFFFFF; --fg-mute:rgba(255,255,255,.68); --fg-dim:rgba(255,255,255,.46);

  /* ---- colour lives only on glowing things ---- */
  --lime:#D6FF55; --yel:#FFE45C; --cyan:#7FF0F5; --pink:#FF9ACB; --orange:#FFB24A; --violet:#9479FF; --lav:#C9B5FF;
  --ok:#B9F03A; --warn:#FFE45C; --bad:#FF8F9E; --price:#FFE45C;
  --iris:linear-gradient(100deg,#FFC0D2,#FFE9A8 30%,#BFF7CF 54%,#AEE7FF 76%,#D9BCFF);
  --rainbow:linear-gradient(90deg,#FFE45C 0%,#9CFF7A 18%,#FF9A5C 34%,#7C8CFF 52%,#FF9AD8 70%,#A6EEFF 86%,#FFE45C 100%);
  --magic-body:radial-gradient(60% 120% at 16% 115%,rgba(255,120,200,.6),transparent 60%),radial-gradient(50% 120% at 86% 115%,rgba(90,230,255,.6),transparent 60%),linear-gradient(180deg,#9479FF 0%,#5D3DEB 55%,#4628D2 100%);
  --violet-body:linear-gradient(180deg,#7556F5 0%,#5D3DEB 55%,#4628D2 100%);   /* v10.1: top stop #9479FF→#7556F5 so white text is ≥4.5:1 everywhere */
  --line-green:#06C755;

  /* ---- glass ---- */
  --glass:rgba(255,255,255,.09); --glass-2:rgba(255,255,255,.14); --glass-3:rgba(255,255,255,.2);
  --line:rgba(255,255,255,.16); --line-2:rgba(255,255,255,.3); --rim:rgba(255,255,255,.38);
  --dark:rgba(16,10,52,.42); --well:rgba(10,6,40,.32); --sheet:linear-gradient(180deg,#4A2DBE 0%,#2E1C93 45%,#1D1266 100%);
  --cc-bg:linear-gradient(160deg,rgba(255,255,255,.30),rgba(255,255,255,.08) 55%,rgba(180,140,255,.16));
  --blur:blur(20px) saturate(140%); --blur-sm:blur(10px);
  --scrim:rgba(12,6,44,.62);

  /* ---- ONE shadow / glow per element ---- */
  --sh-card:0 18px 34px rgba(8,4,40,.45);
  --sh-soft:0 10px 22px rgba(8,4,40,.32);
  --sh-up:0 -10px 26px rgba(8,4,40,.4);
  --glow-lime:0 0 14px rgba(214,255,85,.55);
  --glow-magic:0 16px 34px rgba(140,100,255,.6);
  --glow-ped:0 0 50px rgba(170,140,255,.55);
  --glow-shelf:0 10px 22px rgba(150,120,255,.35);
  --glow-iris:0 0 26px rgba(255,214,240,.55);

  /* ---- progress ---- */
  --bar-track:rgba(10,6,40,.42);
  --bar-fill:linear-gradient(90deg,#EFFFB0,#B9F03A);
  --bar-fill-cyan:linear-gradient(90deg,#9FF6FF,#5FD5FF);
  --bar-fill-pink:linear-gradient(90deg,#FFC0DF,#FF6FA8);
  --bar-fill-warm:linear-gradient(90deg,#FFD27A,#FF9A3D);

  /* ---- shape / spacing / motion ---- */
  --r-pill:999px; --r-panel:26px; --r-card:20px; --r-well:16px; --r-sm:12px; --r-tag:7px;
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px;
  --hud:60px; --tabbar:66px; --tab-gap:14px; --wrap:640px; --wrap-wide:1200px;
  --ease-pop:cubic-bezier(.34,1.56,.64,1); --ease-out:cubic-bezier(.22,1,.36,1);
  --t-fast:.15s; --t-med:.3s;
  --theme-color:#3A20A0;
}
