/* seismo — DA validée le 04/11 : mix 06 × 16 (garde de nuit en lumière rouge seule × loi de Gutenberg-Richter).
   Typographie revue le 04/11 (« plus professionnel ») : Geist pour titres, interface et texte ; Geist Mono UNIQUEMENT pour les
   données (magnitudes, coordonnées, heures, comptes, libellés de mesure). Corps 16 px, mesure ≤ 65ch.
   Échelle de rôles : display (h1) · section (h2) · titre de bloc (h3) · lead 17 · corps 16 · interface 14 · donnée 13 · libellé 12.
   Contraste : --mute 5:1 et --ink 6:1 sur --bg (impeccable craft-floor). */
:root{--bg:#090303;--panel:#0f0505;--ink:#ff4a36;--hi:#ff7a5c;--text:#ffb3a3;--mute:#d0583f;--dim:#4a140f;--line:#2a0c08;--line2:#4a1a12;--on:#090303;
  --f-sans:'Geist',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;--f-mono:'Geist Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  --t-lead:17px;--t-body:16px;--t-ui:14px;--t-data:13px;--t-label:12px;color-scheme:dark}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body{min-height:100vh;background:var(--bg);color:var(--text);font:400 var(--t-body)/1.65 var(--f-sans);letter-spacing:.005em;font-feature-settings:"ss01","cv11";overflow-x:hidden}
::selection{background:var(--ink);color:var(--bg)} :focus-visible{outline:2px solid var(--hi);outline-offset:3px}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--line2);border:3px solid var(--bg);border-radius:6px}
a{color:inherit;text-underline-offset:.24em;text-decoration-thickness:1px;text-decoration-color:var(--line2)} a:hover{color:var(--hi);text-decoration-color:currentColor}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
canvas{display:block;position:absolute;inset:0;width:100%;height:100%}
.plot{position:relative}
.wrap{max-width:1440px;margin:0 auto;padding:0 56px}
/* data role: every number, coordinate, time and measure label */
.mono,.facts b,.facts span,.axis,.plab,.notes,.status,td.n,th,.tag,dl.kv dt,.small.data,.log,.card h3 small,#cd,[data-end]{font-family:var(--f-mono);font-variant-numeric:tabular-nums slashed-zero;letter-spacing:0}

/* header */
.top{display:flex;align-items:center;gap:28px;height:68px;border-bottom:1px solid var(--line)}
.brand{font:700 21px/1 var(--f-sans);letter-spacing:-.035em;text-decoration:none;color:var(--ink)}
.top nav{display:flex;gap:26px;margin-left:auto;align-items:center;font:500 var(--t-ui)/1 var(--f-sans)}
.top nav a{text-decoration:none;color:var(--mute);transition:color .15s} .top nav a[aria-current]{color:var(--ink)} .top nav a:hover{color:var(--hi)}
.xbtn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line2);border-radius:6px;padding:8px 12px;color:var(--ink)!important}
.xbtn svg{width:13px;height:13px;fill:currentColor}
.cta{border:1px solid var(--ink);border-radius:6px;padding:8px 14px;color:var(--ink)!important;font-weight:600}
.cta:hover{background:var(--ink);color:var(--bg)!important}
.status{display:inline-flex;align-items:center;gap:8px;font-size:var(--t-label);color:var(--mute);text-transform:lowercase}
.status i{width:7px;height:7px;border-radius:50%;background:var(--mute)} .status.on i{background:var(--ink);box-shadow:0 0 0 3px rgba(255,74,54,.18)}

/* type roles */
h1{font:600 clamp(44px,5.4vw,84px)/1.02 var(--f-sans);letter-spacing:-.045em;color:var(--ink);max-width:13ch;text-wrap:balance}
h1 i,h2 i{font-style:normal;color:var(--hi)}
h2{font:600 clamp(28px,2.8vw,40px)/1.1 var(--f-sans);letter-spacing:-.035em;color:var(--ink);margin-bottom:14px;text-wrap:balance}
h3{font:600 19px/1.3 var(--f-sans);letter-spacing:-.015em;color:var(--ink);margin-bottom:8px}
.lead{font-size:var(--t-lead);line-height:1.65;color:var(--text);max-width:62ch;text-wrap:pretty} .lead b,.lead strong{color:var(--ink);font-weight:500}
.small{font-size:var(--t-ui);line-height:1.6;color:var(--mute);text-wrap:pretty}
.demo{opacity:.7;font-size:.82em}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--ink);border-radius:8px;color:var(--ink);padding:14px 22px;font:600 15px/1 var(--f-sans);letter-spacing:-.005em;text-decoration:none;transition:background .18s,color .18s,border-color .18s}
.btn:hover:not(:disabled):not([aria-disabled=true]){background:var(--ink);color:var(--bg)}
.btn.solid{background:var(--ink);color:var(--on)} .btn.solid:hover:not(:disabled):not([aria-disabled=true]){background:var(--hi);border-color:var(--hi)}
.btn:disabled,.btn[aria-disabled=true]{background:transparent;border-color:var(--line2);color:var(--mute);cursor:not-allowed}
.ghost{border:1px solid var(--line2);border-radius:6px;padding:9px 14px;font:500 var(--t-ui)/1.2 var(--f-sans);color:var(--ink)} .ghost:hover:not(:disabled){border-color:var(--ink)}
.ghost[aria-pressed=true]{border-color:var(--ink);background:rgba(255,74,54,.08)}

/* hero (home) */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:64px;min-height:calc(100vh - 68px);padding:36px 0 32px}
.hero .l{display:flex;flex-direction:column;min-height:0}
.hero h1{margin:auto 0 24px}
.facts{display:grid;grid-template-columns:repeat(4,auto);justify-content:start;gap:6px 36px;margin:26px 0;padding-top:18px;border-top:1px solid var(--line)}
.facts span{display:block;color:var(--mute);font-size:11px;margin-bottom:6px;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}
.facts b{font-weight:500;font-size:21px;line-height:1.2;color:var(--ink);white-space:nowrap;letter-spacing:-.01em}
.hero .r{display:grid;grid-template-rows:minmax(0,1.25fr) auto minmax(0,1fr) auto;gap:10px;min-height:520px}
.axis{display:flex;justify-content:space-between;color:var(--mute);font-size:var(--t-label);padding:8px 6px 0;border-top:1px solid var(--line)}
.plab{position:absolute;top:0;right:0;text-align:right;color:var(--mute);font-size:var(--t-label);line-height:1.6;pointer-events:none} .plab b{color:var(--ink);font-weight:500}
.notes{color:var(--mute);font-size:var(--t-label);line-height:1.7;border-top:1px solid var(--line);padding-top:8px;display:flex;justify-content:space-between;gap:24px}
.acts{display:flex;gap:18px;align-items:center;flex-wrap:wrap}

/* sections */
section.band{padding:80px 0;border-top:1px solid var(--line)}
.cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px}
.cols p{color:var(--text);opacity:.86;line-height:1.7;max-width:46ch}
table{width:100%;border-collapse:collapse;font-size:var(--t-ui)}
th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);white-space:nowrap} th{color:var(--mute);font-weight:400;font-size:var(--t-label);text-transform:uppercase;letter-spacing:.06em}
td{color:var(--text)} td.n,th.n{text-align:right} tr.x td{color:#9a3b2a} tr.x td:first-child{text-decoration:line-through}
tbody tr:hover td{background:rgba(255,74,54,.035)}
.tag{display:inline-block;border:1px solid var(--line2);border-radius:999px;padding:2px 10px;font-size:var(--t-label);color:var(--mute)} .tag.on{border-color:var(--ink);color:var(--ink)}
.scroll{overflow-x:auto}
.empty{border:1px dashed var(--line2);border-radius:10px;padding:28px;color:var(--mute);text-align:center}
.faq details{border-bottom:1px solid var(--line);padding:18px 0} .faq summary{cursor:pointer;font:500 18px/1.4 var(--f-sans);letter-spacing:-.01em;color:var(--ink);list-style:none} .faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--mute);font-weight:400} .faq details[open] summary::after{content:"−"} .faq p{margin-top:10px;color:var(--text);opacity:.86;max-width:68ch}
.pagehead{padding:56px 0 36px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:end;border-bottom:1px solid var(--line)}

/* forms (launch) */
.grid3{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,.9fr);gap:24px;padding:32px 0 56px}
.card{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:24px;display:flex;flex-direction:column}
.card h3{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:18px} .card h3 small{font-size:var(--t-label);font-weight:400;color:var(--mute)}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px} .field label{font:500 var(--t-label)/1.2 var(--f-sans);color:var(--mute)}
.inp{background:var(--bg);border:1px solid var(--line2);border-radius:8px;color:var(--ink);font:400 15px/1.3 var(--f-sans);padding:11px 12px;width:100%;transition:border-color .15s}
.inp:focus{border-color:var(--ink);outline:none} .inp::placeholder{color:#8a3322} select.inp{appearance:none}
#ticker,#dev{font-family:var(--f-mono)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tick{position:relative}.tick::before{content:"$";position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--mute);font-family:var(--f-mono)}.tick .inp{padding-left:24px}
.sig{position:relative;height:150px;border:1px solid var(--line);border-radius:8px;margin-bottom:14px;overflow:hidden}
dl.kv{display:grid;grid-template-columns:auto 1fr;gap:9px 16px;font-size:var(--t-ui);margin-bottom:16px} dl.kv dt{color:var(--mute);font-size:var(--t-label);padding-top:2px} dl.kv dd{overflow-wrap:anywhere;color:var(--text)}
ul.checks{list-style:none;font-size:var(--t-ui);color:var(--text);opacity:.9;margin-bottom:16px} ul.checks li{padding:5px 0 5px 18px;position:relative}
ul.checks li::before{content:"";position:absolute;left:0;top:14px;width:8px;height:1px;background:var(--ink)} ul.checks b{color:var(--ink);font-weight:500}
.agree{display:grid;grid-template-columns:auto 1fr;gap:10px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line);font-size:var(--t-ui);cursor:pointer}
.agree input{accent-color:var(--ink);width:17px;height:17px;margin-top:2px}
.log{list-style:none;margin-top:14px;font-size:var(--t-data);color:var(--mute)} .log li{padding:6px 0;border-bottom:1px solid var(--line)} .log li.ok{color:var(--ink)} .log li.bad{color:#ffb4a4}
.banner{border:1px solid var(--line2);border-radius:10px;padding:14px 18px;margin-top:24px;color:var(--text)} .banner b{color:var(--ink);font-weight:500}

footer.foot{border-top:1px solid var(--line);padding:28px 0 40px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:var(--t-ui);color:var(--mute)}
footer.foot nav{display:flex;gap:20px}

@media (max-width:1100px){.hero{grid-template-columns:1fr;gap:36px;min-height:0}.hero .r{min-height:560px}.grid3{grid-template-columns:1fr 1fr}.grid3 .card:last-child{grid-column:1/-1}.cols{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.wrap{padding:0 16px}.top{gap:12px}.top nav{gap:14px;font-size:13px}.top nav .hide-s,.top .status,.top nav a[href="/coins"]{display:none}
  .hero{padding-top:24px}.hero h1{margin-top:8px;letter-spacing:-.04em}.facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}.facts b{white-space:normal;overflow-wrap:anywhere;font-size:18px}.hero .r{min-height:460px}
  .grid3,.two,.cols,.pagehead{grid-template-columns:1fr}.notes{flex-direction:column;gap:4px}section.band{padding:52px 0}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
