/* ═══ LEX DESIGN — base.css : reset, typo, fond ambiant ═══ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{color-scheme:dark light}
body{
  background:var(--bg);color:var(--text);font-family:var(--font);
  font-size:14px;min-height:100dvh;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:var(--muted);text-decoration:none}
a:hover{color:var(--text)}
hr{border:none;border-top:1px solid var(--glass-border);margin:18px 0}
h1,h2,h3{letter-spacing:-.02em}
h2{font-size:18px;font-weight:800;margin-bottom:14px}
h3{font-size:15px;font-weight:700;margin-bottom:10px}
p{margin-bottom:8px}
.muted{color:var(--muted)}
.hide{display:none!important}

/* ── fond ambiant commun (injecté par lex-glass.js si absent) ──
   dégradés colorés + grille de points : c'est lui qui rend le
   verre et la réfraction visibles. Teinté par --accent-app.     */
.lexbg{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;
  background:
    radial-gradient(48vmax 48vmax at 12% -8%, color-mix(in srgb,var(--accent-app) 30%,transparent), transparent 62%),
    radial-gradient(44vmax 44vmax at 105% 20%, var(--bg-tint2), transparent 60%),
    radial-gradient(50vmax 50vmax at 65% 115%, var(--bg-tint3), transparent 62%),
    var(--bg);
}
.lexbg-grid{position:absolute;inset:0;
  background-image:radial-gradient(var(--bg-grid-dot) 1px, transparent 1.5px);
  background-size:26px 26px;opacity:.5}
/* marque LEX en filigrane (contour teinté par l'accent de l'app) */
.lexbg-word{position:absolute;top:5%;left:32%;line-height:.85;font-weight:900;letter-spacing:-.04em;
  color:transparent;-webkit-text-stroke:1.5px color-mix(in srgb,var(--accent-app) 50%,transparent);
  user-select:none;pointer-events:none;display:flex;flex-direction:column;align-items:flex-end;font-family:var(--font)}
.lexbg-word b{font-size:21vmax;font-weight:900}
.lexbg-word small{font-size:4.2vmax;font-weight:900;letter-spacing:.14em;margin-top:.6vmax;margin-right:.5vmax;
  -webkit-text-stroke:1px color-mix(in srgb,var(--accent-app) 45%,transparent)}
@media (max-width:640px){.lexbg-word{left:8%;top:3%}}
.lexbg-blob{position:absolute;border-radius:50%;filter:blur(16px);opacity:.4;
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent-app) 80%,#fff),color-mix(in srgb,var(--accent-app) 50%,#324));
  animation:lexbg-drift 26s ease-in-out infinite alternate}
@keyframes lexbg-drift{from{transform:translate(0,0) scale(1)}to{transform:translate(5vw,4vh) scale(1.1)}}
@media (prefers-reduced-motion: reduce){.lexbg-blob{animation:none}}

/* scrollbar discrète */
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:8px;border:2px solid transparent;background-clip:content-box}
::-webkit-scrollbar-track{background:transparent}
