/* Profil d'aile — animation interactive (variables héritées de app.css) */

.pw-page .page-hero{padding-block:64px 42px}
.pw__stage{padding-bottom:90px}

/* ---------- barre de commande principale, collante ---------- */
.pw__master{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px;align-items:center;margin:24px 0 30px;padding:16px 20px;border:1px solid var(--line2);border-radius:16px;background:linear-gradient(145deg,rgba(11,28,44,.97),rgba(5,16,27,.96));box-shadow:0 18px 40px rgba(0,0,0,.45);backdrop-filter:blur(8px)}
.pw__master-group{display:grid;gap:7px}
.pw__master-group>span{color:#66869b;font:.58rem Bahnschrift,sans-serif;letter-spacing:.13em;text-transform:uppercase}
.pw__profils{display:flex;gap:6px}
.pw__profils .button{min-height:34px;padding:0 11px;font-size:.66rem}
.pw__profils .button.is-active{border-color:var(--cyan);background:linear-gradient(135deg,#76e7ff,#2fc8ed);color:#03121c}

.pw__alpha{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}
.pw__alpha-val{min-width:104px;text-align:right}
.pw__alpha-val b{display:block;font:500 2rem/1 Bahnschrift,sans-serif;color:var(--cyan);font-variant-numeric:tabular-nums}
.pw__alpha-val small{display:block;margin-top:2px;color:#5f798b;font-size:.56rem;letter-spacing:.09em;text-transform:uppercase}
.pw__alpha-val.is-stalled b{color:#ff6b6b}

input[type=range].pw__range{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:linear-gradient(90deg,rgba(85,220,255,.35),rgba(255,189,105,.5) 72%,rgba(255,107,107,.75));outline:none;cursor:pointer}
input[type=range].pw__range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;border:2px solid #03121c;background:linear-gradient(135deg,#76e7ff,#2fc8ed);box-shadow:0 4px 14px rgba(38,194,231,.5);cursor:grab}
input[type=range].pw__range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;border:2px solid #03121c;background:linear-gradient(135deg,#76e7ff,#2fc8ed);cursor:grab}
input[type=range].pw__range:focus-visible{box-shadow:0 0 0 3px rgba(85,220,255,.25)}

.pw__readout{display:flex;gap:8px}
.pw__stat{min-width:78px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:rgba(3,12,20,.5);text-align:center}
.pw__stat span{display:block;margin-bottom:2px;color:#5f798b;font-size:.54rem;letter-spacing:.08em;text-transform:uppercase}
.pw__stat strong{display:block;font:500 1.02rem Bahnschrift,sans-serif;color:var(--text);font-variant-numeric:tabular-nums}
.pw__stat.is-alert strong{color:#ff6b6b}

/* ---------- panneaux ---------- */
.pw__panel{margin-top:38px;padding:24px 24px 26px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(155deg,rgba(13,32,48,.72),rgba(5,16,27,.62))}
.pw__panel>h2{margin:0 0 4px;font:500 1.5rem Bahnschrift,sans-serif}
.pw__panel-lede{margin:0 0 18px;color:#9eb4c1;font-size:.85rem;line-height:1.7;max-width:74ch}
.pw__toggles{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}
.pw__toggle{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border:1px solid var(--line);border-radius:999px;background:rgba(3,12,20,.45);color:#9eb4c1;font-size:.7rem;cursor:pointer;transition:.18s;user-select:none}
.pw__toggle:hover{border-color:var(--line2)}
.pw__toggle input{position:absolute;opacity:0;pointer-events:none}
.pw__toggle i{width:9px;height:9px;border-radius:50%;background:currentColor;opacity:.35;transition:.18s}
.pw__toggle.is-on{border-color:var(--cyan);background:rgba(85,220,255,.1);color:var(--text)}
.pw__toggle.is-on i{opacity:1}

.pw__canvas{position:relative;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:radial-gradient(circle at 42% 45%,rgba(85,220,255,.05),transparent 70%),#061320}
.pw__canvas canvas,.pw__canvas svg{display:block;width:100%;height:auto}
.pw__canvas canvas{position:absolute;inset:0;width:100%;height:100%}
.pw__canvas svg{position:relative;z-index:2}
.pw__caption{margin:10px 0 0;color:#5f798b;font:.6rem Bahnschrift,sans-serif;letter-spacing:.08em;text-transform:uppercase;text-align:center}

/* ---------- traits du dessin ---------- */
.pw-foil{fill:rgba(85,220,255,.1);stroke:#a2efff;stroke-width:2;stroke-linejoin:round}
.pw-chord{stroke:var(--amber);stroke-width:1.8;stroke-dasharray:9 5}
.pw-camber{fill:none;stroke:#5ce6a2;stroke-width:1.6;stroke-dasharray:4 4}
.pw-dim{stroke:#8fb9cc;stroke-width:1.2}
.pw-dim-tick{stroke:#8fb9cc;stroke-width:1.2}
.pw-lead{stroke:rgba(143,196,222,.55);stroke-width:1;stroke-dasharray:3 3}
.pw-wind{stroke:var(--cyan);stroke-width:2.2;stroke-linecap:round}
.pw-horizon{stroke:rgba(143,196,222,.4);stroke-width:1.4;stroke-dasharray:7 5}
.pw-traj{stroke:#5ce6a2;stroke-width:2;stroke-dasharray:8 4}
.pw-axis{stroke:#ffbd69;stroke-width:1.8}
.pw-arc{fill:none;stroke-width:1.6}
.pw-arc--assiette{stroke:#ffbd69}
.pw-arc--pente{stroke:#5ce6a2}
.pw-arc--incidence{stroke:#76e7ff}
.pw-arc--calage{stroke:#c9a0ff}
.pw-lbl{font:.72rem Bahnschrift,sans-serif;fill:var(--text)}
.pw-lbl--sm{font-size:.62rem;fill:#9eb4c1}
.pw-lbl--key{font-size:.66rem;fill:#5f798b;letter-spacing:.08em;text-transform:uppercase}
.pw-vec-lift{stroke:#76e7ff;stroke-width:3.4;stroke-linecap:round}
.pw-vec-res{stroke:#ffbd69;stroke-width:3.4;stroke-linecap:round}
.pw-cp-up{stroke:#76e7ff;stroke-width:1.7;stroke-linecap:round}
.pw-cp-dn{stroke:#ff9f6b;stroke-width:1.7;stroke-linecap:round}
.pw-sep{stroke:#ff6b6b;stroke-width:2;stroke-dasharray:5 4}
.pw-point{fill:#03121c;stroke:#a2efff;stroke-width:2}
.pw-grid{stroke:rgba(143,196,222,.14);stroke-width:1}
.pw-curve{fill:none;stroke:var(--cyan);stroke-width:2.4}
.pw-curve--ghost{stroke:rgba(143,196,222,.3);stroke-width:1.6;stroke-dasharray:5 4}
.pw-curve--tangent{stroke:#5ce6a2;stroke-width:1.6;stroke-dasharray:6 4}
.pw-mark{fill:#ffbd69}
.pw-axis-line{stroke:#5c88a0;stroke-width:1.4}

/* ---------- panneau des angles ---------- */
.pw__angles{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}
.pw__sliders{display:grid;gap:18px;padding:18px;border:1px solid var(--line);border-radius:14px;background:rgba(3,12,20,.42)}
.pw__slider label{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;color:#9eb4c1;font-size:.72rem}
.pw__slider label b{font:500 1.05rem Bahnschrift,sans-serif;color:var(--text);font-variant-numeric:tabular-nums}
.pw__relation{padding:14px 15px;border:1px solid rgba(118,231,255,.3);border-radius:11px;background:rgba(85,220,255,.07);color:#c3d6df;font-size:.78rem;line-height:1.7}
.pw__relation b{color:var(--cyan)}
.pw__relation em{font-style:normal;color:#ffbd69}

/* ---------- légendes de couleur ---------- */
.pw__legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}
.pw__legend-item{display:flex;align-items:center;gap:8px;color:#9eb4c1;font-size:.7rem}
.pw__legend-swatch{width:26px;height:11px;border-radius:3px;border:1px solid rgba(255,255,255,.15)}
.pw__legend-swatch--dep{background:linear-gradient(90deg,#1b3d63,#2f7fd4,#76e7ff)}
.pw__legend-swatch--sur{background:linear-gradient(90deg,#5a2418,#c25a2a,#ffbd69)}

/* ---------- verdict ---------- */
.pw__verdict{margin-top:16px;padding:15px 17px;border-radius:12px;font-size:.83rem;line-height:1.7;border:1px solid var(--line);background:rgba(3,12,20,.42);color:#c3d6df}
.pw__verdict.is-warn{border-color:rgba(255,189,105,.4);background:rgba(255,189,105,.08);color:#ffdfae}
.pw__verdict.is-stall{border-color:rgba(255,107,107,.45);background:rgba(255,107,107,.09);color:#ffc9c9}
.pw__verdict b{color:inherit}

.pw__curves{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.pw__curves .button{min-height:34px;padding:0 12px;font-size:.66rem}
.pw__curves .button.is-active{border-color:var(--cyan);background:linear-gradient(135deg,#76e7ff,#2fc8ed);color:#03121c}

.pw__note{margin-top:26px;padding:15px 17px;border:1px solid var(--line);border-left:3px solid var(--amber);border-radius:0 12px 12px 0;background:rgba(3,12,20,.4);color:#9eb4c1;font-size:.76rem;line-height:1.72}
.pw__note b{color:#ffdfae}

@media (max-width:1000px){
    .pw__master{grid-template-columns:1fr;gap:14px;position:static}
    .pw__readout{flex-wrap:wrap}
    .pw__angles{grid-template-columns:1fr}
}
