/* ===== Plumme – delte design-tokens ===== */
:root{
  --bg:#EFE7FB;
  --bg-2:#E6D8F8;
  --bg-soft:#F6F1FD;
  --surface:#FFFFFF;
  --ink:#2A2342;
  --ink-soft:#6B6385;
  --purple:#8B3DE1;
  --purple-deep:#5E2CA5;
  --purple-press:#49207F;
  --purple-ink:#3A1D6E;
  --green:#2F9B79;
  --green-fill:#E7F6F0;
  --amber:#C9882A;
  --amber-fill:#FFF4E2;
  --line:rgba(58,29,110,.10);
  --ring:rgba(139,61,225,.30);
  --r-card:24px;
  --r-md:16px;
  --r-sm:12px;
  --r-pill:999px;
  --shadow-sm:0 4px 14px -8px rgba(70,30,120,.30);
  --shadow:0 18px 44px -22px rgba(70,30,120,.40);
  --shadow-lg:0 40px 80px -30px rgba(70,30,120,.45);
  --maxw:1440px;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;color:var(--ink);background:var(--bg);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit;}
h1,h2,h3,h4,p{margin:0;}
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:28px;}
::selection{background:var(--purple);color:#fff;}

/* base buttons (each direction may restyle) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  border-radius:var(--r-pill);font-weight:600;line-height:1;cursor:pointer;
  transition:transform .14s ease, box-shadow .2s ease, background .2s ease;}
.btn:active{transform:translateY(1px) scale(.99);}
.btn-primary{background:var(--purple-deep);color:#fff;padding:15px 26px;
  box-shadow:0 10px 22px -10px rgba(94,44,165,.7);}
.btn-primary:hover{background:var(--purple-press);box-shadow:0 14px 28px -10px rgba(94,44,165,.8);}
.btn-ghost{background:#fff;color:var(--purple-deep);padding:14px 24px;
  box-shadow:inset 0 0 0 1.5px var(--line);}
.btn-ghost:hover{box-shadow:inset 0 0 0 1.5px var(--purple);}

/* language toggle */
.lang{display:inline-flex;align-items:center;background:rgba(58,29,110,.07);
  border-radius:var(--r-pill);padding:3px;gap:2px;}
.lang button{font-size:13px;font-weight:700;padding:6px 11px;border-radius:var(--r-pill);
  color:var(--ink-soft);transition:.18s;}
.lang button[aria-pressed="true"]{background:#fff;color:var(--purple-deep);box-shadow:var(--shadow-sm);}

@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;}}
