/* Frost — base commune (maquettes + site). DA : AUDIT-DESIGN.md */
:root{--night:#0B1622;--panel:#122233;--line:#22384C;--glass:#CFE3F0;--frost:#F7FBFF;--ice:#7FD3FF;--muted:#8FA7BA;--burn:#FFB27A;--cancel:#FF6B6B;
  --t:"Space Grotesk",system-ui,sans-serif;--m:"JetBrains Mono",ui-monospace,Consolas,monospace;--gut:clamp(16px,4vw,56px)}
*{box-sizing:border-box}
html{background:var(--night);color-scheme:dark}
body{margin:0;background:var(--night);color:var(--glass);font:16px/1.55 var(--t);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
h1,h2,h3{font-family:var(--t);color:var(--frost);font-weight:600;letter-spacing:-.02em;margin:0}
h1{font-size:clamp(40px,7vw,104px);line-height:.95}
h2{font-size:clamp(28px,3.6vw,48px);line-height:1.05}
h3{font-size:20px;line-height:1.2}
p{margin:0;max-width:62ch}
.mono,.num{font-family:var(--m);font-feature-settings:"zero" 1}
.muted{color:var(--muted)}
:focus-visible{outline:2px solid var(--ice);outline-offset:3px;border-radius:4px}
.btn{display:inline-flex;align-items:center;gap:10px;font:600 16px/1 var(--t);padding:14px 20px;border-radius:3px;text-decoration:none;cursor:pointer;border:1px solid var(--ice);transition:background .2s,color .2s}
.btn.solid{background:var(--ice);color:var(--night)}
.btn.solid:hover{background:var(--frost);border-color:var(--frost)}
.btn.ghost{background:transparent;color:var(--ice)}
.btn.ghost:hover{background:rgba(127,211,255,.08)}
.btn:disabled{opacity:.38;cursor:not-allowed;pointer-events:none}
.nav{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:28px var(--gut) 0}
.doc .nav{padding:28px 0 0}
.nav .brand{font:600 20px var(--t);color:var(--frost);text-decoration:none;display:flex;align-items:center;gap:10px}
.nav .brand i{width:18px;height:18px;border:1.5px solid var(--frost);border-radius:3px;display:inline-block;background:
  radial-gradient(circle at 30% 70%,var(--frost) 0 1.5px,transparent 2px),radial-gradient(circle at 70% 35%,var(--ice) 0 1.5px,transparent 2px)}
.nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.nav ul a{text-decoration:none;color:var(--glass);font-size:15px}
.nav ul a:hover{color:var(--frost)}
.nav .btn{background:none;border:0;padding:0;color:var(--ice);font:500 15px var(--t)}
.nav .btn:hover{background:none;color:var(--frost)}
.nav ul a[aria-current]{color:var(--frost)}
@media (max-width:760px){.nav ul{gap:16px}.nav ul a{font-size:14px}.nav > .btn{display:none}}
section{padding:clamp(64px,10vw,140px) var(--gut)}
.wrap{max-width:1240px;margin:0 auto}
.rule{border:0;border-top:1px solid var(--line);margin:0}
/* jauge : instrument gradué, seuils de brûlage marqués */
.gauge{position:relative;height:56px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.gauge .fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,rgba(207,227,240,.15),rgba(247,251,255,.5));border-right:2px solid var(--ice);transition:width .4s}
.gauge .tick{position:absolute;top:-1px;bottom:-1px;width:1px;background:var(--line)}
.gauge .tick b{position:absolute;top:calc(100% + 8px);left:0;transform:translateX(-50%);font:500 13px var(--m);color:var(--muted);white-space:nowrap;background:var(--night);padding:0 2px}
.gauge .tick:last-of-type b{transform:translateX(-100%)}
.gauge .tick.hit{background:var(--burn)} .gauge .tick.hit b{color:var(--burn)}
.tag{display:inline-block;font:500 12px/1 var(--m);padding:6px 8px;border-radius:4px;border:1px solid currentColor}
.tag.armed{color:var(--ice)} .tag.burned{color:var(--burn)} .tag.cancelled{color:var(--cancel)}
details.faq{border-top:1px solid var(--line)}
details.faq:last-child{border-bottom:1px solid var(--line)}
details.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;font:500 20px/1.3 var(--t);color:var(--frost)}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"";flex:none;width:14px;height:14px;background:linear-gradient(var(--ice),var(--ice)) center/100% 1.5px no-repeat,linear-gradient(var(--ice),var(--ice)) center/1.5px 100% no-repeat;transition:transform .25s}
details.faq[open] summary::after{transform:rotate(45deg)}
details.faq p{padding:0 0 24px;color:var(--glass)}
.mini{display:block;width:100%;aspect-ratio:1;border:1px solid var(--line);border-radius:4px;background:var(--night)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
/* Notice (accueil retenu) : colonne de lecture, notes en marge, figures numérotées — partagé par toutes les pages */
.doc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,680px) minmax(0,1fr);column-gap:40px;padding:0 var(--gut)}
.doc > *{grid-column:2}
.doc .note{grid-column:3;font:13px/1.55 var(--m);color:var(--muted);align-self:start;max-width:240px;padding-top:8px;border-top:1px solid var(--line)}
@media (max-width:1100px){.doc{grid-template-columns:minmax(0,1fr)}.doc > *,.doc .note{grid-column:1}.doc .note{max-width:none;margin:-2px 0 20px}}
.fig{margin:0}
.fig canvas{border:1px solid var(--line)}
figcaption{font:13px var(--m);color:var(--muted);margin-top:10px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
figcaption b{color:var(--frost);font-weight:500}
canvas.pane{display:block;width:100%;aspect-ratio:1;cursor:crosshair}
a.txt{color:var(--ice);font-size:15px;text-underline-offset:3px}
a.txt:hover{color:var(--frost)}
.slot{display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;border:1px dashed var(--line);color:var(--muted);font:13px/1.4 var(--m)}
footer.site{padding:32px var(--gut);border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:14px}
footer.site a{color:var(--glass)}
/* surfaces navigateur thémées */
::selection{background:var(--ice);color:var(--night)}
html{scrollbar-color:var(--line) var(--night);caret-color:var(--ice)}
h1,h2{text-wrap:balance}
p,li,dd{text-wrap:pretty}
.mono,.num,b,td,dd,dt{font-variant-numeric:tabular-nums}
a{text-underline-offset:3px}
