/* Rampage — feuille unique. DA : AUDIT-DESIGN.md (noir, rouge rage, orange braise, blanc cassé, gris acier ; Bebas Neue, Inter, JetBrains Mono).
   Une seule audace : la jauge. Le reste reste sobre. Structure de l'accueil : squelette A (apercu/accueils-3). */
:root{--noir:#0B0B0B;--panel:#161514;--rouge:#FF2A1F;--rouge-t:#FF5A4F;--braise:#FF8A00;--blanc:#F5F1EA;--acier:#6B6E73;--acier-t:#9A9DA2;--filet:#2A2826;
--f-titre:"Bebas Neue",Impact,sans-serif;--f-texte:Inter,system-ui,sans-serif;--f-data:"JetBrains Mono",ui-monospace,monospace;--gut:clamp(16px,4vw,56px);color-scheme:dark}
*{box-sizing:border-box}[hidden]{display:none!important}html{background:var(--noir)}
body{margin:0;background:var(--noir);color:var(--blanc);font:16px/1.55 var(--f-texte);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}h1,h2,h3{font-family:var(--f-titre);font-weight:400;letter-spacing:.01em;line-height:.92;margin:0}
h2{font-size:clamp(40px,6vw,72px)}h3{font-size:30px}p{margin:0}
.mut{color:var(--acier-t)}.data{font-family:var(--f-data);font-size:.86em}.ok{color:var(--braise)}.bad{color:var(--rouge-t)}
.wrap{max-width:1280px;margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:8px;top:8px;transform:translateY(-300%);background:var(--blanc);color:var(--noir);padding:8px 12px;z-index:9}.skip:focus{transform:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;background:var(--braise);color:var(--noir);font:700 17px/1 var(--f-texte);padding:16px 26px;text-decoration:none;border:0;cursor:pointer;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%)}
.btn:hover{background:var(--rouge)}.btn:disabled{background:var(--acier);color:var(--noir);cursor:not-allowed}
.btn.ghost{background:none;color:var(--blanc);box-shadow:inset 0 0 0 2px var(--acier);clip-path:none}.btn.ghost:hover{box-shadow:inset 0 0 0 2px var(--blanc)}
.btn.small{padding:11px 16px;font-size:15px}
:focus-visible{outline:3px solid var(--blanc);outline-offset:3px}
.sim{font:600 11px/1 var(--f-data);color:var(--noir);background:var(--acier-t);padding:4px 6px;vertical-align:middle;white-space:nowrap}
.ph{border:1px dashed var(--acier);color:var(--acier-t);font:12px/1.4 var(--f-data);display:grid;place-items:center;text-align:center;padding:8px}
.lead{margin:12px 0 32px;max-width:60ch}
section.band-top{padding-top:72px;padding-bottom:72px;border-top:1px solid var(--filet)}

/* en-tête */
.top{display:flex;justify-content:space-between;align-items:center;padding:18px var(--gut);gap:16px;max-width:1392px;margin:0 auto}
.logo{font:400 30px/1 var(--f-titre);letter-spacing:.04em;text-decoration:none;display:flex;align-items:center;gap:10px}
.logo .ph{min-width:28px;height:28px;padding:0 4px;font-size:11px}
.tabs-main{display:flex;gap:22px;list-style:none;margin:0;padding:0}.tabs-main a{text-decoration:none;color:var(--acier-t);font-size:15px}
.tabs-main a:hover,.tabs-main a[aria-current]{color:var(--blanc)}.tabs-main a[aria-current]{box-shadow:0 2px 0 var(--braise)}
.top-r{display:flex;gap:18px;align-items:center}
.menu{display:none;position:relative}.menu summary{cursor:pointer;list-style:none;font-weight:600;padding:10px 4px}.menu summary::-webkit-details-marker{display:none}
.menu ul{position:absolute;right:0;top:44px;background:var(--panel);border:1px solid var(--filet);list-style:none;margin:0;padding:8px 0;min-width:180px;z-index:5}
.menu li a{display:block;padding:10px 16px;text-decoration:none}
@media (max-width:860px){.top nav{display:none}.menu{display:block}.top .btn{padding:12px 16px;font-size:15px}}

/* la jauge (public/js/live.js) */
.rg-svg{width:100%;height:100%;display:block;overflow:visible}
.rg-seg{fill:var(--acier);opacity:.28;transition:fill .15s,opacity .15s}
.rg-seg.heat{fill:var(--braise);opacity:.38}.rg-seg.on-1{fill:var(--braise);opacity:1}.rg-seg.on-2{fill:#FF5A10;opacity:1}.rg-seg.on-3{fill:var(--rouge);opacity:1}
.rg-max .rg-seg{fill:var(--rouge);opacity:1}.rg-dead .rg-seg{fill:var(--acier)!important;opacity:.3!important}
.blow{animation:blow .9s ease-out}
@keyframes blow{0%{filter:brightness(3) saturate(2);transform:scale(1.03)}30%{filter:brightness(1.6)}100%{filter:none;transform:none}}
.slices{display:grid;grid-template-columns:repeat(12,1fr);gap:6px}
.sl{height:14px;border:2px solid var(--acier);display:block}.sl-burned{background:var(--rouge);border-color:var(--rouge)}
.sl-cancelled{border-color:var(--rouge-t);background:repeating-linear-gradient(135deg,transparent 0 4px,var(--rouge-t) 4px 6px)}

/* l'objet : jauge géante + chiffre (accueil, fiche, aperçu du studio) */
.fighter{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:baseline;margin-bottom:14px}
.who b{font:400 clamp(30px,3.4vw,44px)/1 var(--f-titre);letter-spacing:.02em}
.meter{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}
.meter .rg{height:clamp(64px,10vw,128px)}
.big{text-align:right;min-width:3.2ch}.big span{display:block;font:400 clamp(72px,11vw,168px)/.8 var(--f-titre);color:var(--braise);font-variant-numeric:tabular-nums}
.big small{display:block;font:600 13px/1 var(--f-data);color:var(--acier-t);margin-top:8px}
.meter.hot .big span{color:var(--rouge)}.meter.dead .big span{color:var(--acier-t)}
.row2{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;margin-top:18px}.row2 .slices{max-width:520px}

/* accueil */
.hero{padding-top:clamp(16px,4vh,48px);padding-bottom:72px}
.pitch{margin-top:clamp(28px,6vh,64px);display:grid;grid-template-columns:1.1fr 1fr;gap:16px 48px;align-items:end}
.pitch h1{font-size:clamp(64px,9vw,140px);grid-row:span 2}.pitch p{max-width:46ch;font-size:18px;color:var(--acier-t)}
.ctas{display:flex;gap:14px;flex-wrap:wrap}
.ladder ol{list-style:none;margin:0;padding:0;counter-reset:r}
.ladder li{counter-increment:r;display:grid;grid-template-columns:56px minmax(140px,1.1fr) 2fr 130px;gap:20px;align-items:center;padding:16px 0;border-top:1px solid var(--filet)}
.ladder li::before{content:counter(r);font:400 44px/1 var(--f-titre);color:var(--acier)}.ladder li:first-child::before{color:var(--braise)}
.ladder .nm{text-decoration:none}.ladder .nm b{font:400 28px/1 var(--f-titre);display:block}.ladder .nm span{font:12px var(--f-data);color:var(--acier-t)}
.ladder .nm:hover b{color:var(--braise)}
.ladder .mini{height:28px}.ladder .st{font:600 13px/1.3 var(--f-data);text-align:right;white-space:pre-line}
.st.dead{color:var(--rouge-t)}.st.max{color:var(--rouge)}
.feed{padding:72px 0;border-top:1px solid var(--filet)}
.band{overflow:hidden;border-block:2px solid var(--rouge);padding:18px 0;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.track{display:flex;gap:48px;width:max-content;animation:mq 60s linear infinite}.band:hover .track{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}
.ev{display:flex;gap:14px;align-items:baseline;white-space:nowrap;text-decoration:none}.ev b{font:400 30px/1 var(--f-titre);color:var(--rouge)}.ev span{font:13px var(--f-data);color:var(--acier-t)}
.launch{display:grid;grid-template-columns:1fr 1.3fr;gap:48px}
.adv{list-style:none;margin:0;padding:0}.adv li{padding:18px 0;border-top:1px solid var(--filet);display:grid;gap:4px}.adv b{font-size:18px}.adv span{color:var(--acier-t)}
details.q{border-top:1px solid var(--filet)}details.q:last-child{border-bottom:1px solid var(--filet)}
details.q summary{cursor:pointer;list-style:none;padding:22px 0;font:600 19px/1.3 var(--f-texte);display:flex;justify-content:space-between;gap:16px}
details.q summary::-webkit-details-marker{display:none}details.q summary::after{content:"+";font:400 30px/.8 var(--f-titre);color:var(--braise)}details.q[open] summary::after{content:"−"}
details.q p{padding:0 0 24px;max-width:68ch;color:var(--acier-t)}
.faq h2{margin-bottom:24px}

/* pied */
.foot{border-top:1px solid var(--filet);margin-top:24px}
.foot .wrap{padding-top:40px;padding-bottom:40px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px;color:var(--acier-t);font-size:14px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.foot a{text-decoration:none}.foot a:hover{color:var(--blanc)}
.foot .legal{grid-column:1/-1;display:flex;gap:24px;flex-wrap:wrap;justify-content:space-between;border-top:1px solid var(--filet);padding-top:20px}

/* pages intérieures */
.page-h{padding-top:clamp(20px,5vh,56px);padding-bottom:36px}.page-h h1{font-size:clamp(56px,8vw,112px)}.page-h p{margin-top:16px;max-width:62ch;color:var(--acier-t);font-size:18px}

/* fiche d'un coin */
.coin-top{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;margin-bottom:24px}
.coin-img{width:88px;height:88px;background:var(--panel) center/cover no-repeat;border:1px solid var(--filet)}
.coin-top h1{font-size:clamp(48px,6vw,88px)}.coin-top .links{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;font-size:14px}
.coin-desc{max-width:68ch;color:var(--acier-t);margin-top:28px}
.replay{display:flex;gap:12px;align-items:center;margin-top:20px;font:13px var(--f-data);color:var(--acier-t)}
.replay progress{flex:1;max-width:420px;height:6px;accent-color:var(--braise)}
.readouts{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:32px 0 0}
.readouts div{border-top:1px solid var(--filet);padding:14px 16px 14px 0}.readouts dt{color:var(--acier-t);font-size:14px}.readouts dd{margin:4px 0 0;font:400 34px/1 var(--f-titre)}
.twelve{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;list-style:none;padding:0;margin:0}
.twelve li{border:2px solid var(--acier);padding:12px;display:grid;gap:4px;min-height:112px;align-content:start}
.twelve li b{font:400 30px/1 var(--f-titre)}.twelve li span{font:12px/1.4 var(--f-data);color:var(--acier-t);overflow-wrap:anywhere}
.twelve li .stt{font:600 12px var(--f-data);color:var(--blanc)}
.twelve li.burned{border-color:var(--rouge);background:rgba(255,42,31,.12)}.twelve li.burned .stt{color:var(--rouge-t)}
.twelve li.cancelled{border-color:var(--rouge-t)}.twelve li.cancelled .stt{color:var(--rouge-t)}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.kv{list-style:none;margin:0;padding:0}.kv li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--filet)}
.kv li span:first-child{color:var(--acier-t)}.kv li span:last-child{font-family:var(--f-data);font-size:14px;text-align:right;overflow-wrap:anywhere}
.flag{display:inline-block;font:600 13px var(--f-data);padding:6px 10px;border:2px solid var(--braise);color:var(--braise)}.flag.bad{border-color:var(--rouge-t);color:var(--rouge-t)}

/* explorer */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.filters button{background:none;border:2px solid var(--acier);color:var(--blanc);font:600 15px var(--f-texte);padding:10px 16px;cursor:pointer}
.filters button[aria-pressed=true]{background:var(--blanc);color:var(--noir);border-color:var(--blanc)}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:0 32px}
.card{display:grid;grid-template-columns:56px 1fr;gap:6px 14px;padding:18px 0;border-top:1px solid var(--filet);text-decoration:none;align-items:center}
.card .ci{width:56px;height:56px;background:var(--panel) center/cover;grid-row:span 2;border:1px solid var(--filet)}
.card b{font:400 28px/1 var(--f-titre)}.card:hover b{color:var(--braise)}.card .cm{font:12px var(--f-data);color:var(--acier-t)}
.card .g{grid-column:1/-1;height:26px}.card .cs{grid-column:1/-1;font:600 13px var(--f-data)}
.empty{color:var(--acier-t);padding:24px 0}

/* comment ça marche */
.seq{list-style:none;padding:0;margin:32px 0 0;display:grid;grid-template-columns:repeat(4,1fr);counter-reset:s}
.seq li{counter-increment:s;display:grid;gap:8px;align-content:start;border-left:2px solid var(--filet);padding:0 24px 0 20px}
.seq li::before{content:counter(s);font:400 64px/1 var(--f-titre);color:var(--acier)}.seq li:last-child::before{color:var(--rouge)}
.seq b{font-size:19px}.seq span{color:var(--acier-t)}
.rules{display:grid;grid-template-columns:260px 1fr;margin:28px 0 0;max-width:980px}
.rules dt,.rules dd{border-top:1px solid var(--filet);padding:16px 0;margin:0}.rules dt{font-weight:700;padding-right:24px}.rules dd{color:var(--acier-t)}

/* studio */
.form-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:start}
.field{display:grid;gap:6px;margin-bottom:20px}.field label,.field legend{font-weight:600;display:flex;justify-content:space-between;gap:12px}
.field input[type=text],.field input[type=url],.field select,.field textarea{background:var(--panel);border:1px solid var(--acier);color:var(--blanc);font:16px var(--f-texte);padding:12px 14px;width:100%;border-radius:0}
.field textarea{min-height:96px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--braise);outline:none;box-shadow:0 0 0 2px var(--braise)}
.field input[type=file]{font:14px var(--f-texte);color:var(--acier-t)}
.field input[type=range]{accent-color:var(--braise);width:100%;margin:0}
.hint{font-size:14px;color:var(--acier-t)}.out{font:600 15px var(--f-data);color:var(--braise)}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}
fieldset{border:1px solid var(--filet);padding:18px;margin:8px 0 20px}fieldset legend{padding:0 8px;font-weight:700}
.bw{display:grid;grid-template-columns:1fr 110px 110px auto;gap:10px;align-items:end;margin-bottom:12px}
.bw input{background:var(--panel);border:1px solid var(--acier);color:var(--blanc);font:14px var(--f-data);padding:10px;width:100%;border-radius:0}
.bw label{font-size:13px;color:var(--acier-t);display:grid;gap:4px}
.bw button{background:none;border:1px solid var(--acier);color:var(--acier-t);padding:10px 12px;cursor:pointer}
.check{display:flex;gap:10px;align-items:center;font-weight:600;margin-bottom:12px}.check input{accent-color:var(--braise);width:18px;height:18px}
.net{border-left:3px solid var(--braise);padding:10px 14px;background:var(--panel);margin-bottom:24px}
.admin-flag{border-left:3px solid var(--rouge);padding:10px 14px;background:var(--panel);margin-bottom:12px}
.msg{min-height:1.5em;margin-top:14px}
.steps-l{list-style:none;padding:0;margin:20px 0 0}.steps-l li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--filet);font-size:15px}
.steps-l li.done span:last-child{color:var(--braise)}.steps-l li.bad span:last-child{color:var(--rouge-t)}
.pv{position:sticky;top:16px;border:1px solid var(--filet);padding:20px;background:var(--panel)}
.pv-head{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center;margin-bottom:16px}
.pv-img{width:64px;height:64px;background:var(--noir) center/cover;border:1px dashed var(--acier)}
.pv-head b{font:400 34px/1 var(--f-titre);display:block;overflow-wrap:anywhere}.pv-head span{font:13px var(--f-data);color:var(--acier-t)}
.pv .meter{gap:16px}.pv .meter .rg{height:56px}.pv .big span{font-size:72px}
.pv dl{margin:18px 0 0;display:grid;grid-template-columns:1fr auto;font-size:14px}.pv dt,.pv dd{border-top:1px solid var(--filet);padding:9px 0;margin:0}.pv dt{color:var(--acier-t)}.pv dd{font-family:var(--f-data);text-align:right;padding-left:12px}
.pv-note{font-size:13px;color:var(--acier-t);margin-top:12px}

@media (max-width:860px){
 .meter{grid-template-columns:1fr;gap:6px}.big{text-align:left;display:flex;align-items:baseline;gap:12px}.big small{margin:0}
 .row2{grid-template-columns:1fr;gap:8px}.pitch{grid-template-columns:1fr}.pitch h1{grid-row:auto}.hero{padding-bottom:48px}
 .ladder li{grid-template-columns:32px 1fr auto;grid-template-areas:'n nm st' 'n mini mini';gap:8px 12px}.ladder li::before{font-size:32px;grid-area:n;align-self:start}
 .ladder .nm{grid-area:nm}.ladder .st{grid-area:st;white-space:pre}.ladder .mini{grid-area:mini;height:20px}
 .launch,.cols2,.form-grid{grid-template-columns:1fr;gap:28px}.pv{position:static}
 .readouts{grid-template-columns:1fr 1fr}.twelve{grid-template-columns:repeat(3,1fr)}
 .seq{grid-template-columns:1fr 1fr;gap:28px 0}.rules{grid-template-columns:1fr}.rules dd{border-top:0;padding-top:0}
 .foot .wrap{grid-template-columns:1fr 1fr}.foot .wrap>p{grid-column:1/-1}
 .pair{grid-template-columns:1fr}.bw{grid-template-columns:1fr 1fr}.bw label:first-child{grid-column:1/-1}
}
@media (max-width:420px){.twelve{grid-template-columns:repeat(2,1fr)}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
