/* tokens/colors.css */
:root{
  /* أساسية */
  --ink:#0B0B0B;
  --paper:#E8E6E1;
  --signal:#2B2BFF;
  --white:#FFFFFF;
  /* رماديات — للنص والحدود فقط */
  --gray-dark:#3A3F47;
  --gray:#8A9099;
  --gray-light:#D6D3CC;
  /* حالات — لوحات التحكم فقط، ممنوعة في الهوية والتسويق */
  --state-success:#1F7A4D;
  --state-warning:#B45309;
  --state-error:#B42318;
  /* دلالية — سطح ورقي (الافتراضي) */
  --bg-page:var(--paper);
  --surface-card:var(--white);
  --surface-sunken:#DEDBD4;
  --text-primary:var(--ink);
  --text-secondary:var(--gray-dark);
  --text-muted:var(--gray);
  --text-inverse:var(--paper);
  --border-strong:var(--ink);
  --border-hairline:var(--gray-light);
  --accent:var(--signal);
  --accent-text:var(--white);
  --focus-ring:var(--signal);
  --shadow-color:var(--ink);
  --text-success:var(--state-success);
  --text-warning:var(--state-warning);
  --text-error:var(--state-error);
}
[data-theme="ink"]{
  --bg-page:var(--ink);
  --surface-card:#141414;
  --surface-sunken:#000000;
  --text-primary:var(--paper);
  --text-secondary:#B9B6AF;
  --text-muted:var(--gray);
  --text-inverse:var(--ink);
  --border-strong:var(--paper);
  --border-hairline:#2A2A2A;
  --accent:var(--signal);
  --accent-text:var(--white);
  --shadow-color:var(--paper);
  /* نسخ مفتّحة لتحقيق 4.5:1 على الحبر */
  --text-success:#4FCB8B;
  --text-warning:#E8A33D;
  --text-error:#F4776A;
}


/* tokens/typography.css */
:root{
  --font-display:"Archivo","Arial Black",sans-serif;
  --font-latin:"Inter","Helvetica Neue",sans-serif;
  --font-arabic:"IBM Plex Sans Arabic","Segoe UI",sans-serif;
  --font-mono:"IBM Plex Mono","SFMono-Regular",monospace;
  --font-ui:var(--font-arabic);

  --weight-black:900;
  --weight-bold:700;
  --weight-medium:600;
  --weight-regular:400;

  --text-h1:40px;
  --text-h1-sm:32px;
  --text-h2:24px;
  --text-h2-sm:20px;
  --text-body:16px;
  --text-body-sm:15px;
  --text-label:13px;
  --text-label-sm:12px;
  --text-data:13px;

  --leading-h1:1.25;
  --leading-h2:1.4;
  --leading-body:1.7;
  --leading-label:1.4;
  --leading-data:1.5;

  --tracking-display:-0.02em;
  --tracking-label:0.08em;
}


/* tokens/spacing.css */
:root{
  /* شبكة ثمان نقاط — كل مسافة من مضاعفاتها */
  --space-0:0px;
  --space-half:4px;
  --space-1:8px;
  --space-2:16px;
  --space-3:24px;
  --space-4:32px;
  --space-5:40px;
  --space-6:48px;
  --space-8:64px;
  --space-10:80px;
  --space-12:96px;
  --container-narrow:640px;
  --container:960px;
  --container-wide:1200px;
  --control-height:48px;
  --control-height-sm:36px;
}


/* tokens/borders.css */
:root{
  /* صفر تدوير في كل العناصر */
  --radius:0px;
  --border-width:2px;
  --border-width-strong:3px;
  --border-hair:1px;
  --border:var(--border-width) solid var(--border-strong);
  --border-thin:var(--border-hair) solid var(--border-hairline);
  /* ظل صلب مزاح بلا تمويه ولا شفافية — RTL يزيح لليسار */
  --shadow-offset:8px;
  --shadow-hard:calc(var(--shadow-offset) * -1) var(--shadow-offset) 0 0 var(--shadow-color);
  --shadow-hard-sm:-4px 4px 0 0 var(--shadow-color);
  --shadow-none:none;
}


/* tokens/motion.css */
:root{
  /* حركة قصيرة وخطية — لا ارتداد ولا تمويه */
  --duration-instant:0ms; /* @kind other */
  --duration-fast:90ms; /* @kind other */
  --duration-base:140ms; /* @kind other */
  --easing:linear; /* @kind other */
  --easing-step:steps(4,end); /* @kind other */
  --press-translate:2px;
}
/* عدّاد اختفاء رسالة الخطأ — شريط يفرغ من بدايته حتى نهايته */
@keyframes nx-drain{ from{transform:scaleX(1)} to{transform:scaleX(0)} }
.nx-drain{ transform-box:fill-box; transform-origin:right center; animation-name:nx-drain; animation-timing-function:linear; animation-fill-mode:forwards }
[dir="ltr"] .nx-drain{ transform-origin:left center }

@media (prefers-reduced-motion:reduce){
  :root{--duration-fast:0ms; /* @kind other */ --duration-base:0ms; /* @kind other */}
}


/* tokens/base.css */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg-page);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-body);line-height:var(--leading-body);font-weight:var(--weight-regular)}
h1,h2,h3,h4{margin:0;font-weight:var(--weight-bold);line-height:var(--leading-h2)}
h1{font-size:var(--text-h1);line-height:var(--leading-h1);letter-spacing:var(--tracking-display)}
h2{font-size:var(--text-h2);font-weight:var(--weight-medium)}
p{margin:0;text-wrap:pretty}
a{color:var(--text-primary);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;text-decoration-color:var(--accent)}
a:hover{color:var(--accent);text-decoration-color:var(--accent)}
a:active{color:var(--accent)}
:focus-visible{outline:var(--border-width-strong) solid var(--focus-ring);outline-offset:2px}
code,kbd,samp,pre{font-family:var(--font-mono)}
.num,[data-num]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:embed}
.label-caps{font-size:var(--text-label);font-weight:var(--weight-medium);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted)}
hr{border:0;border-top:var(--border-hair) solid var(--border-hairline);margin:var(--space-3) 0}
::selection{background:var(--accent);color:var(--white)}


