/* Shared design tokens + theme + primitives. Used by the stage page and the admin panel. */
@font-face{font-family:Vazirmatn;src:url(/fonts/vazirmatn.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{
  color-scheme:dark;
  --bg:#0a0e17;--bg2:#0f1626;--surface:#121a2b;--surface2:#1a2438;--text:#eef2fb;--muted:#8d9bb5;--line:#26324a;
  --accent:#ffb12b;--accent2:#7c5cff;--on-accent:#1a1204;--ok:#2fd18b;--danger:#ff5d6c;
  --glow:0 0 60px rgba(255,177,43,.25);--shadow:0 10px 40px rgba(0,0,0,.45);--r:18px;
  --font:Vazirmatn,"Segoe UI",Tahoma,"Noto Sans Arabic",system-ui,sans-serif;
}
:root[data-theme=light]{
  color-scheme:light;
  --bg:#f6f3ec;--bg2:#efe9dc;--surface:#fff;--surface2:#f1ece1;--text:#14182a;--muted:#5d6783;--line:#ddd5c4;
  --accent:#d98200;--accent2:#5b3df5;--on-accent:#fff;--ok:#12915e;--danger:#d93a4a;
  --glow:0 0 50px rgba(217,130,0,.22);--shadow:0 10px 30px rgba(60,45,10,.12);
}
*{box-sizing:border-box;margin:0}
html{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%}
body{min-height:100vh;min-height:100dvh;line-height:1.6}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:.6em 1.2em;border-radius:12px;border:1px solid var(--line);background:var(--surface2);font-weight:600;transition:transform .12s,background .15s,border-color .15s}
.btn:hover{border-color:var(--accent)}
.btn:active{transform:scale(.97)}
.btn-primary{background:var(--accent);color:var(--on-accent);border-color:transparent}
.btn-danger{background:transparent;color:var(--danger);border-color:var(--danger)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.icon-btn{width:42px;height:42px;padding:0;border-radius:12px;border:1px solid var(--line);background:var(--surface);display:inline-grid;place-items:center}
.icon-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
