/* Thème Synapse Support : indigo → cyan, verre dépoli, mouvement discret. */
:root{
  --bg:#f4f6fb;--bg2:#eaeefa;--card:rgba(255,255,255,.78);--card-solid:#fff;--tx:#0f172a;--mut:#5b6478;--bd:rgba(15,23,42,.10);
  --ac:#4f46e5;--ac2:#06b6d4;--ac-soft:rgba(79,70,229,.10);--ok:#16a34a;--warn:#f59e0b;--bad:#dc2626;
  --p1:#dc2626;--p2:#ea580c;--p3:#d97706;--p4:#64748b;--shadow:0 10px 30px -12px rgba(30,41,90,.25);--r:16px;
  --blob1:rgba(99,102,241,.35);--blob2:rgba(6,182,212,.30);--blob3:rgba(236,72,153,.18);
}
@media(prefers-color-scheme:dark){:root{
  --bg:#0b1020;--bg2:#10162b;--card:rgba(24,30,54,.72);--card-solid:#171e38;--tx:#e8ecf8;--mut:#9aa6c3;--bd:rgba(255,255,255,.09);
  --ac:#818cf8;--ac2:#22d3ee;--ac-soft:rgba(129,140,248,.14);--shadow:0 14px 40px -14px rgba(0,0,0,.6);
  --blob1:rgba(99,102,241,.38);--blob2:rgba(6,182,212,.22);--blob3:rgba(236,72,153,.16);
}}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;color:var(--tx);background:linear-gradient(160deg,var(--bg),var(--bg2));
  font:16px/1.5 "Segoe UI Variable","Segoe UI",system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}
.aurora{position:fixed;inset:0;overflow:hidden;z-index:-1;pointer-events:none}
.aurora i{position:absolute;width:48vmax;height:48vmax;border-radius:50%;filter:blur(70px);opacity:.9;animation:drift 22s ease-in-out infinite alternate}
.aurora i:nth-child(1){background:var(--blob1);left:-12vmax;top:-14vmax}
.aurora i:nth-child(2){background:var(--blob2);right:-14vmax;top:8vmax;animation-delay:-7s}
.aurora i:nth-child(3){background:var(--blob3);left:30vmax;bottom:-20vmax;animation-delay:-13s}
@keyframes drift{to{transform:translate(6vmax,4vmax) scale(1.12)}}
h1,h2,h3{line-height:1.2;margin:0 0 .4em;letter-spacing:-.02em}
a{color:var(--ac);text-decoration:none}a:hover{text-decoration:underline}
.mut{color:var(--mut)}.small{font-size:13.5px}.grow{flex:1;min-width:0}
.card{background:var(--card);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);
  border:1px solid var(--bd);border-radius:var(--r);padding:20px;box-shadow:var(--shadow);margin:14px 0;
  animation:rise .5s cubic-bezier(.2,.8,.2,1) both}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
label.f{display:block;margin:14px 0 6px;font-weight:600;font-size:14px}
input,select,textarea{width:100%;padding:12px 14px;border:1.5px solid var(--bd);border-radius:12px;background:var(--card-solid);color:var(--tx);
  font:inherit;transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--ac);box-shadow:0 0 0 4px var(--ac-soft)}
textarea{resize:vertical}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border:0;border-radius:12px;cursor:pointer;
  background:linear-gradient(135deg,var(--ac),var(--ac2));color:#fff;font:inherit;font-weight:650;box-shadow:0 8px 20px -8px var(--ac);
  transition:transform .15s,box-shadow .2s,filter .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px -8px var(--ac);filter:brightness(1.06)}
.btn:active{transform:translateY(0) scale(.98)}
.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.btn.sec{background:transparent;color:var(--ac);border:1.5px solid var(--bd);box-shadow:none}
.btn.sec:hover{background:var(--ac-soft);border-color:var(--ac)}
.btn.danger{background:linear-gradient(135deg,#dc2626,#f97316)}
.btn.sm{padding:7px 12px;font-size:14px;border-radius:10px}
.chip{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:650;background:var(--ac-soft);color:var(--ac)}
.p{display:inline-grid;place-items:center;min-width:38px;height:28px;border-radius:9px;color:#fff;font-weight:800;font-size:13px}
.p1{background:var(--p1);animation:pulse 1.8s infinite}.p2{background:var(--p2)}.p3{background:var(--p3)}.p4{background:var(--p4)}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(220,38,38,.5)}50%{box-shadow:0 0 0 7px rgba(220,38,38,0)}}
.late{color:var(--bad);font-weight:700}
.row{display:flex;align-items:center;gap:14px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
