/* ============================================================
   LILOU — Design tokens
   ============================================================ */
/* @brand:light */
:root{
  --navy:#22395B;
  --navy-deep:#16273F;
  --navy-soft:#3A5680;
  --navy-mist:#E8EDF4;
  --rose:#D09773;
  --rose-light:#EFC9AE;
  --rose-deep:#B0754F;
  --rose-mist:#FBEDE2;
  --cream:#FBF6F1;
  --cream-2:#F4EAE1;
  --cream-3:#EFE2D6;
  --paper:#FFFFFF;
  --ink:#2B2723;
  --ink-2:#5C544C;
  --muted:#93867A;
  --line:#E9DCCF;
  --line-strong:#DCC9B7;
  --good:#2F6B4F;
  --good-bg:#E6F1EB;
  --warn:#9A6714;
  --warn-bg:#FBF0DC;
  --danger:#A63C33;
  --danger-bg:#FAE9E6;
  --info:#2A588A;
  --info-bg:#E8F0F8;
  --on-accent:#FFFFFF;
  --on-primary:#F2E9E0;
  --on-accent-ink:#2B2016;
  --on-accent-soft:#5A3A22;
  --surface-dark:#111820;
  --logo-plate:#FBF6F1;
  --r-sm:8px; --r-md:14px; --r-lg:22px; --r-xl:30px;
  --sp1:4px; --sp2:8px; --sp3:12px; --sp4:16px; --sp5:24px; --sp6:32px; --sp7:48px;
  --shadow-s:0 1px 2px rgba(34,57,91,.06), 0 2px 8px rgba(34,57,91,.05);
  --shadow-m:0 4px 12px rgba(34,57,91,.08), 0 12px 32px rgba(34,57,91,.07);
  --shadow-l:0 12px 32px rgba(34,57,91,.12), 0 28px 68px rgba(34,57,91,.10);
  --fa:'Vazirmatn','IRANSans','Segoe UI',Tahoma,Arial,sans-serif;
  --serif:'Cormorant Garamond','Vazirmatn',Georgia,serif;
  --tap:44px;
}
/* @end */
/* @brand:dark */
html[data-theme="dark"]{
  --navy:#8FB0DA;
  --navy-deep:#C6D8EE;
  --navy-soft:#7C9AC4;
  --navy-mist:#1D2A3D;
  --rose:#DCA57F;
  --rose-light:#8A5C3D;
  --rose-deep:#EFC9AE;
  --rose-mist:#2C221B;
  --cream:#15181D;
  --cream-2:#1C2027;
  --cream-3:#242932;
  --paper:#1A1E24;
  --ink:#ECE5DD;
  --ink-2:#BDB4AA;
  --muted:#8C837A;
  --line:#2C323B;
  --line-strong:#3A424E;
  --good:#7BC49C;
  --good-bg:#1A2A22;
  --warn:#E0B15E;
  --warn-bg:#2B2416;
  --danger:#E58C82;
  --danger-bg:#2E1D1B;
  --info:#7FB0E0;
  --info-bg:#182432;
  --on-accent:#14202F;
  --on-primary:#ECE5DD;
  --on-accent-ink:#1A1208;
  --on-accent-soft:#EFC9AE;
  --surface-dark:#111820;
  --logo-plate:#FBF6F1;
  --shadow-s:0 1px 2px rgba(0,0,0,.3);
  --shadow-m:0 4px 14px rgba(0,0,0,.4);
  --shadow-l:0 14px 40px rgba(0,0,0,.55);
}
/* @end */

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  font-family:var(--fa); background:var(--cream); color:var(--ink);
  font-size:15px; line-height:1.7; font-weight:400;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:0; opacity:.5;
  background:
    radial-gradient(1100px 620px at 88% -8%, var(--rose-mist), transparent 62%),
    radial-gradient(900px 520px at 4% 4%, var(--navy-mist), transparent 60%);
}
input,select,textarea,button{font-family:inherit; font-size:inherit; color:inherit}
button{cursor:pointer; border:0; background:none}
a{color:var(--navy); text-decoration:none}
::selection{background:var(--rose-light); color:var(--ink)}

*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:var(--line-strong); border-radius:99px; border:3px solid var(--cream)}
*::-webkit-scrollbar-thumb:hover{background:var(--rose)}
