/* 색상 (Color) — palette + semantic aliases, transcribed from the Color frame of
   "드림 다자인 스팩". Ramp step labels are as documented in that frame's
   Semantic Token tables (light → dark, top → bottom). */
:root{
  /* ---- Neutral ---- */
  --dm-neutral-white:#FFFFFF;
  --dm-neutral-95:#F7F7F7;
  --dm-neutral-90:#EAEAEA;
  --dm-neutral-80:#D6D6D6;
  --dm-neutral-70:#C1C1C1;
  --dm-neutral-60:#ACACAC;
  --dm-neutral-50:#979797;
  --dm-neutral-40:#838383;
  --dm-neutral-30:#6E6E6E;
  --dm-neutral-20:#595959;
  --dm-neutral-10:#454545;
  --dm-neutral-00:#303030;
  --dm-neutral-black:#000000;

  /* ---- Primary Green (brand) ---- */
  --dm-primary-90:#F8FFE5;
  --dm-primary-80:#F2FFCC;
  --dm-primary-60:#E5FF99;
  --dm-primary-40:#D8FF66;
  --dm-primary:#BEFF00;      /* Primary Green 20 (Main) — the brand green */
  --dm-primary-20:#80F74B;
  --dm-primary-10:#49B51B;
  --dm-primary-00:#1E6100;

  /* ---- Secondary Green ---- */
  --dm-secondary-70:#C9FBE4;
  --dm-secondary-60:#95F9CE;
  --dm-secondary-40:#4FF5AE;
  --dm-secondary-30:#47DC9C;
  --dm-secondary-20:#08996C;
  --dm-secondary-10:#06805A;
  --dm-secondary-00:#056648;

  /* ---- Blue (informational) ---- */
  --dm-blue-60:#B5D4FF;
  --dm-blue-40:#6FAEFF;
  --dm-blue-20:#247CFF;
  --dm-blue-10:#1B63D1;
  --dm-blue-00:#12479C;

  /* ---- Alert Red ---- */
  --dm-alert-red-60:#F9B4B4;
  --dm-alert-red-40:#F56F6F;
  --dm-alert-red-20:#F82626;   /* error */
  --dm-alert-red-10:#D91E1E;
  --dm-alert-red-00:#A30000;
  --dm-alert-red-95:#FEE6E6;

  /* ---- Yellow ---- */
  --dm-yellow-80:#FFF3B0;
  --dm-yellow-60:#FFE85C;
  --dm-yellow-40:#FFDE23;
  --dm-yellow-20:#E0C000;
  --dm-yellow-00:#705F00;

  /* ---- Kiosk-only greys (station) ---- */
  --dm-station-bk:#303030;
  --dm-station-dkgr:#898A8D;

  /* ================= Semantic aliases ================= */
  --text-strong:var(--dm-neutral-black);
  --text-normal:#171719;                     /* Label/Normal — Cool Neutral 10 */
  --text-body:var(--dm-neutral-00);
  --text-muted:var(--dm-neutral-40);
  --text-disabled:var(--dm-neutral-70);
  --text-alternative:rgba(55,56,60,0.61);    /* Label/Alternative */
  --text-inverse:var(--dm-neutral-white);
  --text-on-primary:var(--dm-neutral-00);
  --text-link:var(--dm-blue-20);
  --text-link-hover:var(--dm-blue-10);
  --text-error:var(--dm-alert-red-20);

  --surface-page:var(--dm-neutral-white);
  --surface-subtle:#F7F7F8;                  /* Background/Normal/Alternative */
  --surface-card:var(--dm-neutral-white);
  --surface-sunken:var(--dm-neutral-95);
  --surface-spec:#E7E7E7;                    /* the spec-sheet desk grey */
  --surface-inverse:var(--dm-neutral-00);
  --surface-brand:var(--dm-primary);
  --surface-brand-soft:var(--dm-primary-80);
  --surface-danger:var(--dm-alert-red-20);
  --surface-danger-soft:var(--dm-alert-red-95);
  --surface-info-soft:var(--dm-blue-60);
  --surface-disabled:var(--dm-neutral-95);

  --line-normal:rgba(112,115,124,0.22);      /* Line/Normal/Normal */
  --line-strong:rgba(112,115,124,0.52);
  --line-neutral:var(--dm-neutral-90);       /* button + card hairline */
  --line-rule:var(--dm-neutral-black);       /* 4px section rule */
  --fill-strong:rgba(112,115,124,0.16);

  --icon-normal:var(--dm-neutral-black);
  --icon-muted:var(--dm-neutral-50);
  --icon-on-primary:var(--dm-neutral-00);

  --logo-gradient:linear-gradient(90deg,#BEFF00 0%,#80F74B 100%); /* @kind other */
}

:root[data-theme="dark"],.dark{
  --text-strong:#FFFFFF;
  --text-normal:#F7F7F8;
  --text-body:var(--dm-neutral-90);
  --text-alternative:rgba(174,176,182,0.61);
  --surface-page:#1B1C1E;                    /* Background/Normal/Normal (dark) */
  --surface-subtle:#0F0F10;
  --surface-card:#212225;
  --surface-sunken:#0F0F10;
  --line-normal:rgba(112,115,124,0.32);
  --line-strong:rgba(194,196,200,0.52);
  --line-neutral:#2E2F33;
  --line-rule:#FFFFFF;
  --fill-strong:rgba(112,115,124,0.28);
  --icon-normal:#FFFFFF;
}
