/* =====================================================================
   base.css — إعادة الضبط · الطباعة · الحاويات · الحركات · الوصول
   يُحمَّل بعد tokens.css. كل الألوان من var(--sf-*).
   ===================================================================== */
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--sf-bg);font-family:var(--sf-font);color:var(--sf-ink);}
button{font-family:inherit;}

/* حاويات التطبيق (تُبنى بالـJS) */
#sf-app{min-height:100vh;height:100vh;}
/* تخطيط سطح المكتب يتدفّق بدل أن يُحبَس في 100vh (1.88.7): مع الارتفاع الثابت كان
   كلّ ما لا يتّسع يُضغط، وأوّل الخاسرين قطعة القراءة — تنكمش إلى حدّها الأدنى ويُولَد
   تمريران متداخلان. الآن `height:auto` مع `min-height:100vh`: الشاشة تُملأ كما كانت
   حين يتّسع المحتوى، فإن لم يتّسع (شاشة قصيرة، تكبير صفحة، خطّ أكبر) نمت الصفحة
   ومُرّرت مرّةً واحدة بدل أن يختفي النصّ. الجوال يبقى محبوسًا: شريطه السفليّ مثبَّت. */
#sf-app.sf-app--flow{height:auto;}
#sf-landing,#sf-assessment{min-height:100vh;}

/* الحركات */
@keyframes sf-bars{0%,100%{transform:scaleY(.35);}50%{transform:scaleY(1);}}
@keyframes sf-sheet{from{transform:translateY(100%);}to{transform:translateY(0);}}
@keyframes sf-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
@keyframes sf-spin{to{transform:rotate(360deg);}}

/* أشرطة التمرير */
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-thumb{background:var(--sf-border-line);border-radius:var(--sf-r-pill);}
::-webkit-scrollbar-track{background:var(--sf-bg);}
.sf-scroll::-webkit-scrollbar{width:5px;height:5px;}
.sf-scroll::-webkit-scrollbar-thumb{background:var(--sf-border-line);border-radius:var(--sf-r-pill);}
.sf-scroll::-webkit-scrollbar-track{background:transparent;}

::selection{background:var(--sf-surface-warm);color:var(--sf-ink);}

/* صفحة الهبوط (Landing) */
.sf-nav a{color:var(--sf-ink-2);text-decoration:none;font-weight:700;font-size:15px;transition:color .15s;}
.sf-nav a:hover{color:var(--sf-gold);}
/* قائمة تذييل الهبوط (1.86.0) — sf-nav أُزيل من الصفحة، والتحويم يبقى كما كان */
@media (hover:hover){ .sf-foot-nav a:hover{color:var(--sf-gold);} }
.sf-lift{transition:transform .2s ease,box-shadow .2s ease;}
/* الرفعة للمؤشّر وحده: على اللمس «يعلق» التحويم بعد النقر فتبقى البطاقة مرفوعة (1.79.0) */
@media (hover:hover){ .sf-lift:hover{transform:translateY(-5px);box-shadow:var(--sf-sh-lift);} }

/* الوصول */
:focus-visible{outline:2px solid var(--sf-gold);outline-offset:2px;}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;}
  .sf-lift{transition:none!important;}
}
