/* ============================================
   SALAIRE FACILE — Base Styles
   ============================================ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);min-height:100vh;overflow-x:hidden}
body::before{content:'';position:fixed;top:-200px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(99,102,241,0.08) 0%,transparent 70%);pointer-events:none;z-index:-1}
body::after{content:'';position:fixed;bottom:-300px;left:-200px;width:800px;height:800px;background:radial-gradient(circle,rgba(139,92,246,0.06) 0%,transparent 70%);pointer-events:none;z-index:-1}
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:var(--color-bg-primary)}
::-webkit-scrollbar-thumb{background:var(--color-bg-surface);border-radius:var(--radius-full);border:2px solid var(--color-bg-primary)}
::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}
::selection{background:rgba(99,102,241,0.3);color:var(--color-text-primary)}
h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary)}
h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-extrabold)}
h2{font-size:var(--font-size-2xl)}
h3{font-size:var(--font-size-xl)}
h4{font-size:var(--font-size-lg)}
p{color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}
a{color:var(--color-primary-light);text-decoration:none;transition:color var(--transition-fast)}
a:hover{color:var(--color-primary)}
strong,b{font-weight:var(--font-weight-semibold)}
small{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}
ul,ol{list-style:none}
img,svg{display:block;max-width:100%;height:auto}
input,select,textarea,button{font-family:inherit;font-size:inherit;color:inherit;outline:none;border:none;background:none}
button{cursor:pointer}
table{width:100%;border-collapse:collapse}
:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}
.text-gradient{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.text-success{color:var(--color-success)}
.text-accent{color:var(--color-accent)}
.text-center{text-align:center}
.text-sm{font-size:var(--font-size-sm)}
.text-xs{font-size:var(--font-size-xs)}
.font-mono{font-family:var(--font-mono)}
.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}
.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}
