/* Calculateur coaxial HB9V · hb9v.ch (design netVD). Tout est préfixé .hc : rien ne déborde sur la page. */
.hc{--hc-noir:var(--h9-noir,#0d0d0e);--hc-encre:var(--h9-encre,#1b1b1d);--hc-gris:var(--h9-gris,#6f6f74);--hc-ligne:var(--h9-ligne,#e4e2de);--hc-blanc:var(--h9-blanc,#fbfaf8);--hc-pierre:var(--h9-pierre,#eeedea);--hc-signal:var(--h9-signal,#ff5b1f);
  --hc-mono:"IBM Plex Mono",ui-monospace,monospace;--hc-titre:var(--h9-titre,system-ui);--hc-texte:var(--h9-texte,system-ui);
  position:relative;left:50%;width:min(1240px,calc(100vw - 32px));transform:translateX(-50%);margin:10px 0 60px;font:400 15.5px/1.55 var(--hc-texte);color:var(--hc-encre)}
.hc *,.hc *::before,.hc *::after{box-sizing:border-box}
.hc :where(h2,h3,p,ul,dl,table){margin:0}
.hc button{font:inherit;cursor:pointer}

/* ---------- panneau d'instrument ---------- */
.hc-pan{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);background:var(--hc-noir);color:#f4f2ee}
.hc-saisie{padding:clamp(20px,3vw,34px);display:flex;flex-direction:column;gap:16px;border-right:1px solid #2a2a2e}
.hc-lecture{padding:clamp(20px,3vw,34px);display:flex;flex-direction:column;gap:14px;background:radial-gradient(120% 90% at 100% 0,#1d1d21 0,var(--hc-noir) 60%)}
.hc-ch{display:flex;flex-direction:column;gap:6px;min-width:0}
.hc-ch > span:first-child{font:500 10.5px/1.3 var(--hc-texte);letter-spacing:.2em;text-transform:uppercase;color:#a9a9ae}
.hc-in{display:flex;align-items:stretch;border-bottom:1px solid #3a3a3f;transition:border-color .2s}
.hc-in:focus-within{border-color:var(--hc-signal)}
.hc-in input{flex:1;min-width:0;background:none;border:0;outline:0;color:inherit;font:500 24px/1.2 var(--hc-mono);padding:6px 0;margin:0;box-shadow:none;border-radius:0}
.hc-in i,.hc-unite{font:400 13px/1 var(--hc-mono);font-style:normal;color:#a9a9ae;align-self:center;padding-left:8px}
.hc-unite{background:none;border:1px solid #3a3a3f;color:#f4f2ee;padding:6px 10px;margin:4px 0 4px 8px}
.hc-unite:hover{border-color:var(--hc-signal)}
.hc select{width:100%;background:transparent;color:inherit;border:0;border-bottom:1px solid #3a3a3f;font:500 16px/1.3 var(--hc-texte);padding:8px 26px 8px 0;border-radius:0;-webkit-appearance:none;appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 7px) 55%;background-size:5px 5px;background-repeat:no-repeat}
.hc-pan select option,.hc-pan select optgroup{background:var(--hc-noir);color:#f4f2ee}
.hc-large select{font:500 19px/1.3 var(--hc-titre)}
.hc-deux{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hc-puces{display:flex;flex-wrap:wrap;gap:6px;margin-top:-6px}
.hc-puces button{background:none;border:1px solid #3a3a3f;color:#d9d7d2;font:500 12px/1 var(--hc-mono);padding:7px 9px;transition:all .2s}
.hc-puces button:hover{border-color:var(--hc-signal);color:#fff}
.hc-puces button.hc-on{background:var(--hc-signal);border-color:var(--hc-signal);color:var(--hc-noir)}
.hc-fin{border-top:1px solid #2a2a2e;padding-top:12px}
.hc-fin summary{cursor:pointer;font:500 10.5px/1.3 var(--hc-texte);letter-spacing:.2em;text-transform:uppercase;color:#d9d7d2;list-style:none}
.hc-fin summary::before{content:"+";display:inline-block;width:16px;color:var(--hc-signal);font-family:var(--hc-mono)}
.hc-fin[open] summary::before{content:"−"}
.hc-fin > div{margin-top:16px}

.hc-l-etiq{font:500 10.5px/1.3 var(--hc-texte);letter-spacing:.24em;text-transform:uppercase;color:#a9a9ae}
.hc-l-grand{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.hc-l-grand b{font:500 clamp(46px,6.4vw,84px)/1 var(--hc-mono);letter-spacing:-.03em;color:#fff}
.hc-l-grand small{font:400 18px/1 var(--hc-mono);color:#8b8b90}
.hc-barre{display:flex;height:14px;background:#26262a;overflow:hidden}
.hc-barre span{display:block;height:100%;transition:width .45s cubic-bezier(.2,.7,.1,1)}
.hc-b-ant{background:var(--hc-signal)}.hc-b-cab{background:#77777d}.hc-b-con{background:#4b4b50}.hc-b-ros{background:repeating-linear-gradient(45deg,#8b8b90 0 4px,#4b4b50 4px 8px)}
.hc-leg,.hc-leg2{display:flex;flex-wrap:wrap;gap:6px 16px;font:400 12px/1.4 var(--hc-texte);color:#a9a9ae}
.hc-leg i,.hc-leg2 i{display:inline-block;width:10px;height:10px;margin-right:6px;vertical-align:-1px}
.hc-l-chiffres{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #2a2a2e;border-bottom:1px solid #2a2a2e;margin-top:6px}
.hc-l-chiffres div{padding:12px 0;display:flex;flex-direction:column;gap:4px}
.hc-l-chiffres div + div{padding-left:14px;border-left:1px solid #2a2a2e}
.hc-l-chiffres small::first-letter{text-transform:uppercase}
.hc-l-chiffres small{font:400 11.5px/1.3 var(--hc-texte);color:#a9a9ae}
.hc-l-chiffres b{font:500 21px/1.1 var(--hc-mono);color:#fff}
.hc-verdict{align-self:flex-start;font:500 13px/1.35 var(--hc-texte);padding:7px 12px;border:1px solid}
.hc-v0,.hc-v1{color:#9be3a9;border-color:#3d6b46}.hc-v2{color:#f4f2ee;border-color:#55555b}.hc-v3{color:#ffb98f;border-color:#8a4a24}.hc-v4{color:#fff;background:#a8321a;border-color:#a8321a}
.hc-l-cable{margin-top:auto;font:400 12.5px/1.4 var(--hc-mono);color:#8b8b90}

/* ---------- alertes, tuiles, conseils ---------- */
#hc-alertes{display:flex;flex-direction:column;gap:1px}
.hc-alerte{padding:11px 16px 11px 40px;position:relative;font-size:14.5px;background:var(--hc-pierre)}
.hc-alerte::before{content:"!";position:absolute;left:14px;top:11px;width:16px;height:16px;border-radius:50%;font:700 11px/16px var(--hc-mono);text-align:center;color:#fff;background:var(--hc-gris)}
.hc-alerte.hc-rouge{background:#fbe6df}.hc-alerte.hc-rouge::before{background:#c2381b}
.hc-alerte.hc-orange{background:#fff1e6}.hc-alerte.hc-orange::before{background:var(--hc-signal)}
.hc-tuiles{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--hc-ligne)}
.hc-tuile{padding:18px 18px 20px;border-right:1px solid var(--hc-ligne);border-bottom:1px solid var(--hc-ligne);display:flex;flex-direction:column;gap:6px;min-width:0}
.hc-tuile small{font:500 10.5px/1.35 var(--hc-texte);letter-spacing:.16em;text-transform:uppercase;color:var(--hc-gris)}
.hc-tuile b{font:500 25px/1.1 var(--hc-mono);color:var(--hc-noir)}
.hc-tuile span{font-size:13px;line-height:1.45;color:var(--hc-gris)}
.hc-tuile.hc-cle b{color:var(--hc-signal)}
.hc-jauge{display:block;height:6px;background:var(--hc-pierre);margin-top:8px}
.hc-jauge i{display:block;height:100%;background:var(--hc-noir)}
.hc-jauge i.hc-orange{background:var(--hc-signal)}.hc-jauge i.hc-rouge{background:#c2381b}
.hc-sug{margin-top:22px;padding:20px 22px;border:1px solid var(--hc-noir);display:flex;flex-direction:column;gap:10px}
.hc-sug h3{font:500 11px/1.3 var(--hc-texte);letter-spacing:.24em;text-transform:uppercase}
.hc-sug ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:6px}
.hc-sug li button{background:none;border:0;padding:0 0 0 22px;text-align:left;position:relative;color:var(--hc-encre);font-size:15.5px;line-height:1.5}
.hc-sug li button::before{content:"→";position:absolute;left:0;color:var(--hc-signal);font-family:var(--hc-mono)}
.hc-sug li button:hover{text-decoration:underline;text-decoration-color:var(--hc-signal);text-underline-offset:3px}
.hc-sug p{font-size:14.5px;color:var(--hc-gris)}
.hc-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.hc-actions button{background:none;border:1px solid var(--hc-noir);color:var(--hc-noir);font:500 11px/1 var(--hc-texte);letter-spacing:.2em;text-transform:uppercase;padding:13px 18px;transition:all .2s}
.hc-actions button:hover{background:var(--hc-noir);color:#fff}

/* ---------- sections ---------- */
.hc-sec{margin-top:clamp(48px,6vw,80px)}
.hc-sec h2{display:flex;align-items:baseline;gap:16px;font:500 clamp(24px,2.8vw,34px)/1.15 var(--hc-titre);letter-spacing:.01em;margin:0 0 20px;padding-bottom:14px;border-bottom:1px solid var(--hc-noir)}
.hc-sec h2 b{font:500 13px/1 var(--hc-mono);color:var(--hc-signal)}
.hc-sec h3{font:500 11px/1.3 var(--hc-texte);letter-spacing:.22em;text-transform:uppercase;margin:24px 0 10px}
.hc-note{font-size:13.5px;line-height:1.55;color:var(--hc-gris);margin:0 0 12px}
.hc-note a{color:var(--hc-noir);text-decoration-color:var(--hc-signal);text-underline-offset:3px}
.hc-sec .hc-ch > span:first-child{color:var(--hc-gris)}
.hc-sec .hc-in{border-color:var(--hc-ligne)}
.hc-sec .hc-in input{font-size:20px}
.hc-sec select{border-color:var(--hc-ligne)}
.hc-filtres{display:grid;grid-template-columns:1fr 1fr auto;gap:16px 22px;align-items:end;margin-bottom:16px}
.hc-coche{display:flex;align-items:center;gap:8px;font-size:14px;padding-bottom:10px;cursor:pointer}
.hc-coche input{accent-color:var(--hc-signal);width:16px;height:16px;margin:0}
.hc-tab{overflow-x:auto;-webkit-overflow-scrolling:touch}
.hc table{width:100%;border-collapse:collapse;font-size:14px;min-width:620px}
.hc th{text-align:left;font:500 10px/1.3 var(--hc-texte);letter-spacing:.16em;text-transform:uppercase;color:var(--hc-gris);padding:10px 12px;border-bottom:1px solid var(--hc-noir);white-space:nowrap;background:none}
.hc td{padding:11px 12px;border-bottom:1px solid var(--hc-ligne);font-family:var(--hc-mono);font-size:13.5px;white-space:nowrap;vertical-align:top;background:none}
.hc td:first-child{font-family:var(--hc-texte);white-space:normal}
.hc td b{font-weight:600;display:block;font-family:var(--hc-texte);font-size:14.5px}
.hc td small{display:block;color:var(--hc-gris);font-size:12px}
#hc-cmp tbody tr{cursor:pointer;transition:background .15s}
#hc-cmp tbody tr:hover,#hc-cmp tbody tr:focus{background:var(--hc-pierre);outline:0}
.hc tr.hc-actuel td{background:#fff1e6}
.hc tr.hc-actuel td:first-child{box-shadow:inset 3px 0 0 var(--hc-signal)}

/* graphique */
.hc-graphe{margin-bottom:22px}
.hc-graphe svg{display:block;max-width:100%;height:auto}
.hc-graphe text{font:400 11px var(--hc-mono);fill:var(--hc-gris)}
.hc-g1{stroke:#d6d3cd;stroke-width:1}.hc-g2{stroke:#ecebe7;stroke-width:1}
.hc-c{fill:none;stroke:var(--hc-noir);stroke-width:2.2}
.hc-c-est{fill:none;stroke:var(--hc-noir);stroke-width:1.6;stroke-dasharray:5 5;opacity:.6}
.hc-pts circle{fill:var(--hc-blanc);stroke:var(--hc-noir);stroke-width:1.6}
.hc-repere{stroke:var(--hc-signal);stroke-width:1;stroke-dasharray:3 3}
.hc-ici{fill:var(--hc-signal);stroke:#fff;stroke-width:2}
.hc-sec .hc-leg2{color:var(--hc-gris);margin-top:8px}
.hc-li{height:2px!important;width:18px!important;background:var(--hc-noir);vertical-align:3px!important}
.hc-li-est{background:repeating-linear-gradient(90deg,var(--hc-noir) 0 5px,transparent 5px 9px);opacity:.6}
.hc-pt{border-radius:50%;border:1.6px solid var(--hc-noir);background:var(--hc-blanc)}
.hc-pt-s{background:var(--hc-signal);border-color:var(--hc-signal)}

/* atelier */
.hc-onglets{display:flex;flex-wrap:wrap;gap:0;border-bottom:1px solid var(--hc-ligne);margin-bottom:20px}
.hc-onglets button{background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:12px 16px;font:500 14px/1.2 var(--hc-texte);color:var(--hc-gris)}
.hc-onglets button:hover{color:var(--hc-noir)}
.hc-onglets button.hc-on{color:var(--hc-noir);border-color:var(--hc-signal)}
#hc-atelier{max-width:980px}
.hc-grille5{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.hc-mes{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:30px;align-items:start}
.hc-z{padding:16px 0;border-bottom:1px solid var(--hc-ligne);display:flex;flex-direction:column;gap:4px}
.hc-z small{font:500 10.5px/1.3 var(--hc-texte);letter-spacing:.16em;text-transform:uppercase;color:var(--hc-gris)}
.hc-z b{font:500 26px/1.15 var(--hc-mono)}
.hc-z + .hc-z b{color:var(--hc-signal)}
.hc-z span{font-size:13.5px;color:var(--hc-gris)}
.hc-smith svg{display:block;width:100%;height:auto}
.hc-s0{fill:#fff;stroke:var(--hc-noir);stroke-width:1.2}
.hc-s1{fill:none;stroke:#d6d3cd;stroke-width:.8}
.hc-s-ch{fill:none;stroke:var(--hc-noir);stroke-width:1.6;stroke-dasharray:4 3}
.hc-s-ch.hc-s-long{stroke-width:.6;stroke-dasharray:none;opacity:.45}
.hc-s-shack{fill:var(--hc-signal)}
.hc-s-ant{fill:#fff;stroke:var(--hc-noir);stroke-width:2}
.hc-ligne{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-bottom:1px solid var(--hc-ligne)}
.hc-ligne span{font-size:15px}
.hc-ligne small{display:block;font-size:12.5px;color:var(--hc-gris)}
.hc-ligne b{font:500 19px/1.2 var(--hc-mono);white-space:nowrap}
#hc-atelier .hc-ch{margin-bottom:6px}

/* fiche */
.hc-fiche{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(24px,4vw,56px)}
.hc-fiche h3{font:500 26px/1.2 var(--hc-titre);letter-spacing:0;text-transform:none;margin:0 0 4px}
.hc-fiche dl{display:grid;grid-template-columns:auto 1fr;gap:0 18px;margin-top:10px}
.hc-fiche dt,.hc-fiche dd{padding:9px 0;border-bottom:1px solid var(--hc-ligne);margin:0;font-size:14.5px}
.hc-fiche dt{color:var(--hc-gris)}
.hc-fiche dd{font-family:var(--hc-mono);font-size:13.5px;text-align:right}
.hc-fiche em{color:var(--hc-gris-c,#a9a9ae);font-style:normal;font-family:var(--hc-texte)}
.hc-att{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));border-left:1px solid var(--hc-ligne);border-top:1px solid var(--hc-ligne);margin-bottom:14px}
.hc-att span{padding:10px 12px;border-right:1px solid var(--hc-ligne);border-bottom:1px solid var(--hc-ligne);font:400 13px/1.4 var(--hc-mono)}
.hc-att b{display:block;font:500 11px/1.3 var(--hc-texte);letter-spacing:.1em;color:var(--hc-gris)}
.hc-methode summary{list-style:none;cursor:pointer}
.hc-methode summary::-webkit-details-marker,.hc-fin summary::-webkit-details-marker{display:none}
.hc-methode summary h2::after{content:"+";margin-left:auto;font:400 22px/1 var(--hc-mono);color:var(--hc-signal)}
.hc-methode[open] summary h2::after{content:"−"}
.hc-methode p{max-width:820px;font-size:15px;line-height:1.7;margin:0 0 14px;color:var(--hc-encre)}

/* ---------- petits écrans ---------- */
@media (max-width:980px){
  .hc-pan{grid-template-columns:1fr}
  .hc-saisie{border-right:0;border-bottom:1px solid #2a2a2e}
  .hc-tuiles{grid-template-columns:repeat(2,1fr)}
  .hc-mes,.hc-fiche{grid-template-columns:1fr}
  .hc-smith{max-width:320px}
  .hc-grille5{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  .hc{width:calc(100vw - 24px)}
  .hc-deux,.hc-filtres{grid-template-columns:1fr}
  .hc-tuile{padding:14px 12px 16px}
  .hc-tuile b{font-size:21px}
  .hc-l-chiffres b{font-size:17px}
  .hc-onglets button{padding:10px 10px;font-size:13px}
}
@media (prefers-reduced-motion:reduce){.hc *{transition:none!important}}
.hc .hc-err{color:#c0392b}
