/* Palmeraie tokens. Light on :root, dark via OS preference or user choice (data-theme). See docs/design-system.md. */
@font-face{font-family:"Baloo 2";src:url("../fonts/baloo-2-latin-700-normal.4d7711a795ae.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Baloo 2";src:url("../fonts/baloo-2-latin-800-normal.ac10b2674176.woff2") format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Nunito";src:url("../fonts/nunito-latin-600-normal.b770df7528a1.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Nunito";src:url("../fonts/nunito-latin-700-normal.28a2cf182b19.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Nunito";src:url("../fonts/nunito-latin-800-normal.a28521c77f4a.woff2") format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Readex Pro";src:url("../fonts/readex-pro-arabic-500-normal.23c223b860c9.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Readex Pro";src:url("../fonts/readex-pro-arabic-700-normal.ce9b54583d4d.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Noto Naskh Arabic";src:url("../fonts/noto-naskh-arabic-arabic-500-normal.e9c39d20be11.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Noto Naskh Arabic";src:url("../fonts/noto-naskh-arabic-arabic-700-normal.de2762f6a840.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Amiri";src:url("../fonts/amiri-arabic-700-normal.bb99562a6788.woff2") format("woff2");font-weight:700;font-display:swap}

:root{
  --bg:#FFFBF2; --surface:#FFFFFF; --sunken:#F6F0E2; --line:#ECE3D0; --ink:#2A2620; --muted:#6E6556;
  --primary:#3B8321; --primary-dark:#2B6316; --on-primary:#FFFFFF;
  --accent:#F2B705; --accent-dark:#C49200; --flame:#F2780C; --flame-dark:#A9520A;
  --ok-bg:#DDF3CF; --ok:#2F7A16; --err-bg:#FCE1DE; --err:#B92A20; --err-solid:#B92A20; --mark:#1456A0; --mark2:#B4540A;
  --locked:#E7DFCC; --locked-edge:#D3C8B0; --locked-ink:#A39882; --track:#E7DFCC;
  /* Text variants (>= 4.5:1 on bg, surface, sunken), field borders (>= 3:1), focus ring (>= 3:1 everywhere). */
  /* Logo (brand/README.md): dome face and shade, gold path, "Medina", "Way". */
  --logo-face:#3B8321; --logo-shade:#2B6316; --logo-gold:#F2B705; --logo-word1:#2B6316; --logo-word2:#F2B705;
  --primary-text:#2F7A16; --locked-text:#5E5647; --accent-text:#8A6700; --line-strong:#8F826A; --focus:var(--ink);
  --f-display:"Baloo 2",ui-rounded,system-ui,sans-serif;
  --f-body:"Nunito",ui-rounded,system-ui,sans-serif;
  --f-ar-ui:"Readex Pro","Noto Naskh Arabic",serif;
  --f-ar:"Noto Naskh Arabic","Amiri",serif;
  --f-ar-num:"Amiri","Noto Naskh Arabic",serif;
  --r:16px; --r-sm:12px; --bw:2px;
  /* Motion (docs/design-system.md, Motion): 1 = state change and exits, 2 = entries, 3 = screens and fills. */
  --dur-1:120ms; --dur-2:200ms; --dur-3:320ms;
  --ease-out:cubic-bezier(.2,.8,.3,1); --ease-in:cubic-bezier(.5,0,.75,.4); --ease-std:cubic-bezier(.4,0,.2,1);
  --rise:12px; --slide:32px;
  --top-h:56px; --tabs-h:64px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#131E18; --surface:#1B2921; --sunken:#17231C; --line:#2C3F34; --ink:#F1ECDF; --muted:#A7B2A5;
    --primary-dark:#24561A;
    --ok-bg:#1E3A21; --ok:#93DC70; --err-bg:#43201B; --err:#FF9E8C; --err-solid:#C93A2D; --mark:#8CC8FF; --mark2:#FFB46B;
    --locked:#26362D; --locked-edge:#1C2922; --locked-ink:#768A7D; --track:#3D5547;
    --logo-word1:#F1ECDF;
    --primary-text:#7FCB5C; --locked-text:#A7B2A5; --accent-text:#F2B705; --line-strong:#6B8274;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#131E18; --surface:#1B2921; --sunken:#17231C; --line:#2C3F34; --ink:#F1ECDF; --muted:#A7B2A5;
  --primary-dark:#24561A;
  --ok-bg:#1E3A21; --ok:#93DC70; --err-bg:#43201B; --err:#FF9E8C; --err-solid:#C93A2D; --mark:#8CC8FF; --mark2:#FFB46B;
  --locked:#26362D; --locked-edge:#1C2922; --locked-ink:#768A7D; --track:#3D5547;
  --logo-word1:#F1ECDF;
  --primary-text:#7FCB5C; --locked-text:#A7B2A5; --accent-text:#F2B705; --line-strong:#6B8274;
  color-scheme:dark;
}
/* Reduced motion: every movement becomes a short fade (motion.css redefines the keyframes as opacity only). */
@media (prefers-reduced-motion:reduce){:root{--dur-2:120ms; --dur-3:120ms; --rise:0px; --slide:0px}}
