/* PolyMind × Lidl — socle visuel commun (accueil et expérience). Noir et blanc, touches de bleu électrique. */
:root{
  --noir:#000;--fond:#050608;--carte:rgba(14,16,20,.72);--carte-pleine:#0c0e12;
  --blanc:#f5f7fa;--gris:#9aa1ad;--gris2:#5d6470;--trait:rgba(255,255,255,.1);--trait2:rgba(255,255,255,.18);
  --bleu:#3b8cff;--bleu-vif:#6fb0ff;--bleu-lueur:rgba(59,140,255,.45);--vert:#3ddc84;--orange:#ffb347;--rouge:#ff5d5d;
  --mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace;
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Inter,Roboto,"Helvetica Neue",Arial,sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;height:100%;background:var(--noir);color:var(--blanc);font:400 16px/1.5 var(--sans);-webkit-font-smoothing:antialiased}
button,input{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--bleu-vif);outline-offset:3px;border-radius:6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
canvas.reseau{position:fixed;inset:0;width:100%;height:100%;z-index:0;opacity:0;transition:opacity 2.4s ease}
canvas.reseau.on{opacity:1}

/* Noyau PolyMind (repris du site polyrobotics.fr/polymind) */
.noyau{position:relative;width:min(420px,72vw);aspect-ratio:1;margin:0 auto}
.noyau svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.tourne{transform-origin:50% 50%;transform-box:view-box;animation:tourne 40s linear infinite}
.tourne.inverse{animation-direction:reverse;animation-duration:26s}
.tourne.vite{animation-duration:9s}
.pulse{transform-origin:50% 50%;transform-box:view-box;animation:pulse 2.8s ease-in-out infinite}
@keyframes tourne{to{transform:rotate(360deg)}}
@keyframes pulse{50%{transform:scale(1.08);opacity:.7}}
.noyau .anneau{stroke-dasharray:var(--l) var(--l);stroke-dashoffset:var(--l);transition:stroke-dashoffset 1.6s cubic-bezier(.6,0,.2,1)}
.noyau.allume .anneau{stroke-dashoffset:0}
.noyau .bleu{stroke:var(--bleu-vif)}
.noyau-centre{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.noyau-centre .logo{width:27%;color:#fff;opacity:0;transform:scale(.6);transition:opacity 1.2s ease .8s,transform 1.6s cubic-bezier(.2,.8,.2,1) .8s;filter:drop-shadow(0 0 18px rgba(255,255,255,.5))}
.noyau.allume .noyau-centre .logo{opacity:1;transform:scale(1)}
.noyau-centre .logo svg{position:static;display:block;width:100%;height:auto}
.noyau.parle .noyau-centre .logo{animation:parle .38s ease-in-out infinite alternate}
@keyframes parle{to{filter:drop-shadow(0 0 30px var(--bleu-lueur)) drop-shadow(0 0 8px #fff);transform:scale(1.045)}}
.noyau .voyant{transition:stroke-opacity .6s,stroke .6s}
.noyau-etiquette{position:absolute;font:500 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#c7ccd4;white-space:nowrap;padding:5px 9px;border:1px solid var(--trait2);border-radius:999px;background:rgba(0,0,0,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transform:translate(-50%,-50%) scale(.9);transition:opacity .6s,transform .6s}
.noyau-etiquette.on{opacity:1;transform:translate(-50%,-50%) scale(1)}
.noyau-etiquette::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--vert);margin-right:8px;vertical-align:1px;box-shadow:0 0 8px var(--vert)}

.verre{background:var(--carte);border:1px solid var(--trait2);border-radius:18px;backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2)}
.bouton{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--trait2);background:rgba(255,255,255,.04);border-radius:999px;padding:12px 22px;font-weight:600;letter-spacing:.02em;transition:background .25s,border-color .25s,box-shadow .25s,transform .15s}
.bouton:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.35)}
.bouton:active{transform:scale(.98)}
.bouton.principal{background:#fff;color:#000;border-color:#fff}
.bouton.principal:hover{box-shadow:0 0 0 6px rgba(59,140,255,.18),0 0 40px var(--bleu-lueur)}
.bouton.discret{border-color:transparent;background:none;color:var(--gris);font-weight:500;padding:8px 12px}
.bouton.discret:hover{color:#fff}
.mono{font-family:var(--mono)}
.surtitre{font:600 11px var(--mono);letter-spacing:.28em;text-transform:uppercase;color:var(--gris)}
.surtitre .b{color:var(--bleu-vif)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
