:root{
  --sky1:#DBEAFE;
  --sky2:#BFDBFE;
  --ink:#1E3A8A;
  --ink2:#3B5A97;
  --mute:#63799C;
  --line:#C7DCF7;
  --card:#FFFFFF;
  --blue:#2563EB;
  --blue2:#1D4ED8;
  --blueLite:#EFF6FF;
  --green:#10B981;
  --orange:#F59E0B;
  --red:#EF4444;

  --ui:"Plus Jakarta Sans",system-ui,-apple-system,sans-serif;
  --data:"IBM Plex Mono",ui-monospace,Consolas,monospace;

  --fs-xs:12.5px;
  --fs-sm:13.5px;
  --fs-base:15px;
  --fs-md:16px;
  --fs-xl:clamp(21px,2.6vw,25px);
  --fs-num:clamp(28px,3.4vw,34px);

  --pad:clamp(14px,2.4vw,24px);
  --gap:clamp(12px,1.6vw,18px);
  --tap:44px;
  --side:284px;

  --shadow:0 10px 30px rgba(30,58,138,.10);
  --shadowUp:0 16px 40px rgba(30,58,138,.18);
  --radius:20px;
  --radiusSm:12px;
}

@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes pop{0%{transform:scale(.94);opacity:0}60%{transform:scale(1.02)}
  100%{transform:scale(1);opacity:1}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.35;transform:scale(.82)}}
