/* Electrical chapter 6 — Bored Aviator */
:root{--elec:#0E0152;--elec-fg:#ffffff;--elec-dim:#020010;--elec-wash:#c8e6c9;--amber:#ffb020;--blue-lt:#3aa0ff;}

.elec-chapter-bar{
  display:flex;align-items:center;justify-content:flex-end;gap:8px;
  background:var(--elec);color:var(--elec-fg);
  font-family:"D-DIN","Arial Narrow",Arial,sans-serif;
  font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  font-size:15px;padding:10px 16px;margin:0;
}
.elec-chapter-bar .plug{
  width:18px;height:18px;border:2px solid var(--elec-fg);border-radius:4px;
  position:relative;flex-shrink:0;
}
.elec-chapter-bar .plug:before{
  content:"";position:absolute;left:3px;right:3px;top:-5px;height:4px;
  border-left:2px solid var(--elec-fg);border-right:2px solid var(--elec-fg);
}

.elec-pill{
  display:inline-block;font-size:13px;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;padding:6px 12px;border-radius:999px;margin:0 6px 8px 0;
}
.elec-pill.gnd{background:#3d2a00;color:#ffb020;border:1px solid #ffb020;}
.elec-pill.flt{background:#0a2540;color:#3aa0ff;border:1px solid #3aa0ff;}
.elec-pill.nnc{background:var(--elec-wash);color:var(--elec);border:1px solid var(--elec);}
.elec-pill.app{background:#1a1030;color:#ce93d8;border:1px solid #ce93d8;}

.elec-cond,.elec-obj{
  background:#000;border:1px solid #2a2a2a;border-radius:14px;padding:16px 18px;margin:12px 0;
}
.elec-cond .lbl,.elec-obj .lbl{
  color:#E10600;font-size:14px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;
}
.elec-cond .txt,.elec-obj .txt{color:#fff;font-size:19px;line-height:1.45;}

.elec-warn{
  background:#1a0808;border:1.5px solid #E10600;border-radius:12px;
  padding:16px 18px;margin:12px 0;color:#ffffff;font-size:18px;line-height:1.45;
}
.elec-note{
  background:#111;border-left:3px solid var(--elec);border-radius:10px;
  padding:14px 16px;margin:12px 0;color:#ddd;font-size:18px;line-height:1.5;
}
.elec-amber{
  background:#1a1408;border:1.5px solid #ffb020;border-radius:12px;
  padding:16px 18px;margin:12px 0;color:#ffe0a0;font-size:18px;line-height:1.45;
}

.elec-light{
  display:inline-block;border:1.5px solid #ffb020;color:#ffb020;background:#120e00;
  font-size:15px;font-weight:800;letter-spacing:.04em;padding:8px 12px;border-radius:8px;
  margin:3px 4px 3px 0;text-align:center;
}
.elec-light.blue{border-color:#3aa0ff;color:#3aa0ff;background:#061018;}
.elec-light.red{border-color:#E10600;color:#ff8a80;background:#180808;}

.elec-and,.elec-or{
  background:#121212;border:1px solid #2a2a2a;border-radius:14px;padding:14px;margin:12px 0;
}
.elec-and .gate,.elec-or .gate{
  font-size:22px;font-weight:800;letter-spacing:.06em;color:var(--elec);margin-bottom:10px;
  background:var(--elec-wash);display:inline-block;padding:8px 12px;border-radius:10px;
}
.elec-and ul,.elec-or ul{margin:0;padding-left:22px;color:#eee;font-size:18px;line-height:1.5;}
.elec-out{margin-top:10px;text-align:right;}

.elec-h{
  font-size:22px;font-weight:800;letter-spacing:.04em;color:#fff;
  border-bottom:2px solid var(--elec);padding-bottom:6px;margin:20px 0 12px;
}
.elec-card{
  background:#0c0c0c;border:1px solid #222;border-radius:14px;padding:14px 16px;margin:10px 0;
  color:#ddd;font-size:18px;line-height:1.5;
}
.elec-card h3{color:#fff;font-size:19px;margin:0 0 8px;}
.elec-card ul{margin:6px 0 0;padding-left:18px;}
.elec-card p{margin:0 0 8px;}
.elec-card p:last-child{margin:0;}

.elec-bus{
  display:inline-flex;align-items:center;gap:6px;background:#0d1a28;border:1px solid #1a3a55;
  color:#7EC8FF;font-size:15px;font-weight:700;padding:8px 12px;border-radius:8px;margin:3px 4px 3px 0;
}
.elec-bus:before{content:"";width:8px;height:8px;border-radius:50%;background:#3aa0ff;box-shadow:0 0 8px #3aa0ff;}

.elec-tbl{width:100%;border-collapse:collapse;font-size:16px;margin:8px 0 4px;}
.elec-tbl th{text-align:left;color:var(--elec);background:var(--elec-wash);font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:8px 8px;border-bottom:1px solid #333;}
.elec-tbl td{padding:7px 8px;border-bottom:1px solid #1e1e1e;color:#eee;vertical-align:top;}
.elec-tbl tr:nth-child(even) td{background:#0e0e0e;}

.elec-step{
  background:#141414;border:1px solid #2a2a2a;border-radius:12px;padding:12px 14px;margin:8px 0;
  color:#eee;font-size:18px;line-height:1.45;
}
.elec-step strong{color:#ffb020;}

.elec-qrh{
  display:block;text-align:center;background:#1a1a1a;border:1px solid #E10600;color:#E10600;
  padding:12px;border-radius:12px;font-weight:700;text-decoration:none;margin:14px 0;
}

.elec-toc{display:flex;flex-direction:column;gap:8px;margin:8px 0 18px;}
.elec-toc a{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:linear-gradient(180deg,#161616 0%,#0e0e0e 100%);
  border:1px solid #2a2a2a;border-left:4px solid var(--elec);
  border-radius:14px;padding:14px 14px;color:#fff;text-decoration:none;
  font-size:17px;font-weight:700;min-height:56px;
}
.elec-toc a .pg{color:#c8c8d0;font-size:12px;font-weight:800;flex-shrink:0;}
.elec-toc a.crit{border-left-color:#E10600;background:#1a1010;}
.elec-toc a.form{
  border-left-color:#ffb020;
  background:linear-gradient(180deg,#1a160c 0%,#100e08 100%);
}
.elec-ico-book{
  width:28px;height:22px;flex-shrink:0;position:relative;
  border:2px solid #ffb020;border-radius:2px 8px 8px 2px;margin-right:4px;
}
.elec-ico-book:before{
  content:"";position:absolute;left:8px;top:3px;bottom:3px;width:2px;background:#ffb020;
}

.elec-flow{display:flex;flex-direction:column;gap:8px;margin:10px 0;}
.elec-flow .box{
  background:#1a1a1a;border:1px solid #444;border-radius:10px;padding:12px 14px;color:#fff;font-size:17px;
}
.elec-flow .if{
  align-self:center;background:var(--elec-wash);border:1px solid var(--elec);color:var(--elec);
  font-weight:800;font-size:16px;letter-spacing:.10em;padding:8px 16px;border-radius:4px;
  transform:rotate(0deg);
}
.elec-flow .row{display:flex;gap:8px;}
.elec-flow .row > div{flex:1;}

.elec-lp{display:flex;gap:4px;margin:6px 0 10px;}
.elec-lp span{
  flex:1;text-align:center;border:1px solid #444;color:#666;font-size:12px;font-weight:800;
  letter-spacing:.02em;padding:8px 2px;border-radius:4px;
}
.elec-lp span.on{border-color:#ffb020;color:#ffb020;background:#1a1400;}

.elec-load span{
  display:inline-block;font-size:13px;font-weight:800;padding:6px 10px;border-radius:6px;margin:3px 4px 3px 0;
}
.elec-load .b{background:#1565c0;color:#fff;}
.elec-load .r{background:#c62828;color:#fff;}
.elec-load .o{background:#ef6c00;color:#fff;}
.elec-load .y{background:#f9a825;color:#111;}
.elec-load .g{background:#2e7d32;color:#fff;}
.elec-load .w{background:#eceff1;color:#111;}

.elec-form-topic{
  background:#0c0c0c;border:1px solid #222;border-radius:14px;padding:16px;margin:0 0 12px;
}
.elec-form-topic h2{
  color:var(--elec);font-size:20px;letter-spacing:.05em;text-transform:uppercase;
  margin:0 0 12px;font-weight:800;
  background:var(--elec-wash);display:inline-block;padding:6px 10px;border-radius:8px;
}
.elec-form-topic .tip{
  background:#101010;border-left:3px solid #ffb020;border-radius:8px;
  padding:12px 14px;margin:8px 0;color:#ddd;font-size:18px;line-height:1.5;
}
.elec-form-topic .tip p{margin:0 0 6px;}
.elec-form-topic .tip p:last-child{margin:0;}

.elec-link{color:var(--elec);font-weight:700;text-decoration:none;background:var(--elec-wash);padding:2px 8px;border-radius:6px;}
.elec-link.red{color:#ff8a80;}

a.mel-go{
  display:inline-block;vertical-align:middle;
  background:#1a0000;border:1.5px solid #E10600;color:#fff;
  font-family:"D-DIN","Arial Narrow",Arial,sans-serif;
  font-weight:800;font-size:16px;letter-spacing:.04em;
  padding:10px 14px;border-radius:10px;text-decoration:none;
  white-space:nowrap;line-height:1.15;margin:2px 2px;min-height:44px;box-sizing:border-box;
}
a.mel-go:active{filter:brightness(1.2);}

/* elec-read — cockpit type, pinch-zoom backup */
.page-header h1, h1{font-size:26px !important;line-height:1.2 !important;}
.back-link{font-size:16px;}
.cl .t{font-size:17px !important;line-height:1.35 !important;}
.cl .p{font-size:15px !important;}
.step-card,.choice-title{font-size:18px;}
.choice-btn{font-size:16px;min-height:52px;}
.src,.note{font-size:15px;}

.elec-cb{
  display:inline-flex;align-items:center;gap:6px;
  background:#1a0808;border:1.5px solid #E10600;color:#fff;
  font-weight:800;font-size:15px;letter-spacing:.04em;
  padding:6px 10px;border-radius:8px;white-space:nowrap;
}
.elec-cb:before{
  content:"";width:10px;height:10px;border-radius:50%;
  background:#E10600;box-shadow:0 0 8px #E10600;flex-shrink:0;
}

a.elec-cb{text-decoration:none;color:#fff;}
.cb-hub{display:flex;flex-direction:column;gap:10px;margin:12px 0 20px;}
.cb-hub a{
  display:block;background:#0c0c0c;border:1px solid #2a2a2a;border-left:4px solid var(--elec);
  border-radius:14px;padding:16px 16px;color:#fff;text-decoration:none;
}
.cb-hub a .k{font-size:22px;font-weight:800;letter-spacing:.06em;}
.cb-hub a .d{color:#bbb;font-size:16px;margin-top:6px;line-height:1.4;}
.cb-find{width:100%;box-sizing:border-box;padding:14px 16px;border-radius:12px;border:1.5px solid #333;
  background:#141414;color:#fff;font-size:17px;font-weight:700;margin:8px 0 14px;}
.cb-find:focus{outline:none;border-color:var(--elec);}
.cb-tbl{width:100%;border-collapse:collapse;margin:0 0 18px;}
.cb-tbl th{text-align:left;color:var(--elec);background:var(--elec-wash);font-size:13px;letter-spacing:.08em;text-transform:uppercase;
  padding:10px 8px;border-bottom:1px solid #333;}
.cb-tbl td{padding:12px 8px;border-bottom:1px solid #1e1e1e;color:#eee;font-size:17px;vertical-align:top;}
.cb-tbl tr:target td{background:#1a0000;outline:1px solid #E10600;}
.cb-tbl .id{color:#E10600;font-weight:800;white-space:nowrap;}
.cb-sub{font-size:18px;font-weight:800;color:var(--elec);letter-spacing:.08em;text-transform:uppercase;
  margin:22px 0 8px;padding:6px 10px;border-bottom:2px solid var(--elec);background:var(--elec-wash);display:inline-block;border-radius:8px;}

/* Original figures / SVG panels — chapter 06 */
.elec-fig{
  background:#0a0a0a;border:1px solid #2a2a2a;border-radius:14px;
  padding:14px 12px;margin:14px 0;overflow-x:auto;
}
.elec-fig figcaption{
  color:#f0f0f5;font-size:15px;line-height:1.4;margin-top:10px;
  border-top:1px solid #222;padding-top:10px;
}
.elec-fig svg{display:block;width:100%;height:auto;max-width:560px;margin:0 auto;}
.elec-fig-wide svg{max-width:720px;}
.elec-legend{
  display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0;padding:0;list-style:none;
}
.elec-legend li{
  font-size:13px;font-weight:700;letter-spacing:.04em;color:#ccc;
  background:#151515;border:1px solid #333;border-radius:8px;padding:6px 10px;
}
.elec-remarks{width:100%;border-collapse:collapse;font-size:16px;margin:8px 0;}
.elec-remarks th{
  text-align:left;background:#1a2430;color:#7EC8FF;font-size:13px;
  letter-spacing:.08em;text-transform:uppercase;padding:10px 10px;border-bottom:1px solid #333;
}
.elec-remarks td{padding:10px;border-bottom:1px solid #1e1e1e;color:#eee;vertical-align:top;line-height:1.45;}
.elec-remarks td.cat{color:#ffb020;font-weight:800;white-space:nowrap;width:28%;}
.elec-or-list{margin:0;padding:0;list-style:none;}
.elec-or-list li{
  border-left:3px solid #2e7d32;background:#101410;padding:8px 12px;margin:4px 0;
  color:#eee;font-size:16px;line-height:1.35;
}
.elec-panel-sim{
  background:#3a3a3a;border:2px solid #555;border-radius:8px;padding:12px;color:#111;
  font-family:"D-DIN","Arial Narrow",Arial,sans-serif;
}

/* P5 overhead panel photos — chapter 06 */
.elec-photo-grid{
  display:flex;flex-direction:column;gap:14px;margin:14px 0 18px;
}
.elec-photo{
  margin:0;padding:0;background:#0a0a0a;
  border:1px solid #222;border-radius:12px;overflow:hidden;
}
.elec-photo img{
  display:block;width:100%;height:auto;max-width:100%;
  vertical-align:middle;
}
.elec-photo figcaption{
  color:#f0f0f5;font-size:14px;line-height:1.4;font-weight:600;
  padding:10px 12px 12px;margin:0;
  border-top:1px solid #1e1e1e;
}

/* ===== P5 LIVE — professional cockpit trainer ===== */

/* Hub: photos behind discrete button */
.elec-reveal{margin:8px 0 18px;}
.elec-reveal-btn{
  appearance:none;-webkit-appearance:none;width:100%;box-sizing:border-box;
  min-height:48px;padding:12px 16px;border-radius:12px;cursor:pointer;
  background:#0c0c0c;border:1px solid #3a3a3a;color:#ffffff;
  font-family:inherit;font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
}
.elec-reveal-btn:active{opacity:.85;}
.elec-reveal-btn[aria-expanded="true"]{border-color:#3ecbff;color:#3ecbff;background:#061018;}
.elec-reveal-panel{margin-top:12px;}

/* Hub LIVE chip — cyan sci-fi, one grid cell */
.actions-grid a.action-btn.live-chip{
  background:linear-gradient(160deg,#061018 0%,#0a1e2e 55%,#071420 100%)!important;
  border:1.5px solid #3ecbff!important;
  color:#e8f7ff!important;
  box-shadow:0 0 14px rgba(62,203,255,.28), inset 0 1px 0 rgba(255,255,255,.06);
  min-height:72px;
}
/* Hub chips: geometric glyphs only — muted, no toy emoji tint */
.actions-grid a.action-btn .glyph,
.actions-grid a.action-btn .emoji{font-size:22px;filter:none;color:#e8e8ee;line-height:1;}
.actions-grid a.action-btn.tests .glyph,
.actions-grid a.action-btn.tests .emoji{color:#ff8a80;}
.actions-grid a.action-btn.graph .glyph,
.actions-grid a.action-btn.graph .emoji{color:#9e9e9e;}
.actions-grid a.action-btn.quiz .glyph,
.actions-grid a.action-btn.quiz .emoji{color:#c9a227;}
.actions-grid a.action-btn.live-chip .glyph,
.actions-grid a.action-btn.live-chip .emoji{color:#3ecbff;filter:none;}
.actions-grid a.action-btn.live-chip .live-chip-sub{
  display:block;font-size:10px;letter-spacing:.14em;color:#3ecbff;opacity:.9;margin-top:4px;font-weight:700;
}
/* kill old full-width LIVE dump styles if residual markup exists */
.p5-live-cta{display:none!important;}
.actions-grid a.action-btn.p5-live-tile{display:none!important;}

.p5-live-wrap{max-width:560px;margin:0 auto;}
.p5-live-kicker{
  color:#e8e8ee;font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  text-align:center;margin:0 0 12px;font-weight:700;
}
.p5-control-strip{
  background:#050505;border:1px solid #1c1c1c;border-radius:14px;
  padding:12px;margin:0 0 12px;
}
.p5-live-toolbar{
  display:flex;gap:8px;justify-content:stretch;flex-wrap:nowrap;margin:10px 0 0;
}
.p5-live-toolbar .p5-btn{flex:1;}
.p5-btn{
  appearance:none;-webkit-appearance:none;border:1px solid #2a2a2a;background:#101010;color:#e8e8ee;
  font-family:inherit;font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  padding:12px 14px;border-radius:12px;min-height:48px;cursor:pointer;
}
.p5-btn:active{transform:scale(.97);opacity:.9;}
.p5-btn.reset{border-color:#4a4a4a;color:#ffffff;}
.p5-btn#btnSettings{
  border-color:#3ecbff;color:#e8f7ff;background:linear-gradient(160deg,#061018,#0a1e2e);
  box-shadow:0 0 12px rgba(62,203,255,.22);
}

.p5-reveal-row{
  display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px;
}
.p5-reveal-chip{
  appearance:none;flex:1;min-width:96px;min-height:44px;
  border:1px solid #3a3a3a;background:#0c0c0c;color:#f0f0f5;
  font-family:inherit;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  border-radius:999px;padding:10px 12px;cursor:pointer;
}
.p5-reveal-chip.on,.p5-reveal-chip[aria-expanded="true"]{
  border-color:#3ecbff;color:#3ecbff;background:#061018;
}
.p5-reveal-chip:active{transform:scale(.97);}

.p5-pannes{margin:10px 0 14px;}
.p5-pannes .lbl{
  color:#e8e8ee;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  margin:0 0 10px;
}
.p5-chips{display:flex;flex-wrap:wrap;gap:8px;}
.p5-chip{
  appearance:none;border:1px solid #444;background:#121212;color:#ffffff;
  font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.03em;
  padding:11px 14px;border-radius:10px;min-height:44px;cursor:pointer;
}
.p5-chip:active{transform:scale(.97);}
.p5-chip.on{border-color:#ffb020;color:#ffe0a0;background:#1a1400;}
.p5-chip.blue-chip{border-color:#2a4a66;color:#9ed0ff;}
.p5-chip.blue-chip.on{border-color:#3aa0ff;color:#fff;background:#061828;}
.p5-chip.clear{border-color:#3ecbff;color:#3ecbff;background:#061018;}

.p5-situ{
  background:#080808;border:1px solid #222;border-radius:12px;
  padding:12px 14px;margin:0;
}
.p5-situ .k{
  color:#e0e0e8;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin:0 0 6px;
}
.p5-situ .t{color:#f0f0f5;font-size:16px;font-weight:650;line-height:1.4;margin:0;}
.p5-situ .note{display:none;}

.p5-panel{
  position:relative;margin:0 0 14px;padding:0;background:#0a0a0a;
  border:1px solid #1e1e1e;border-radius:12px;overflow:hidden;
  touch-action:manipulation;-webkit-tap-highlight-color:transparent;
  perspective:600px;
}
.p5-panel > img{display:block;width:100%;height:auto;pointer-events:none;user-select:none;-webkit-user-drag:none;}
.p5-panel .p5-img-fallback{display:none;padding:24px 16px;text-align:center;color:#3ecbff;font-weight:700;}
.p5-panel.img-missing > img{display:none;}
.p5-panel.img-missing .p5-img-fallback{display:block;}
.p5-overlay{position:absolute;inset:0;z-index:2;}
.p5-flow{position:absolute;inset:0;z-index:1;pointer-events:none;width:100%;height:100%;}
.p5-flow .flow-line{
  fill:none;stroke:#3ecbff;stroke-width:2.5;stroke-linecap:round;
  opacity:0;filter:drop-shadow(0 0 4px #3ecbff);
  transition:opacity .25s,stroke .25s;
}
.p5-flow .flow-line.alive{opacity:.7;stroke:#3ecbff;}
.p5-flow .flow-line.dead{opacity:.25;stroke:#444;filter:none;stroke-dasharray:5 4;}

/* Annunciators — real P5 caption look (amber/blue saturated) */
.p5-ann{
  position:absolute;box-sizing:border-box;border-radius:2px;
  background:transparent;border:0;padding:0;margin:0;cursor:default;
  display:flex;align-items:flex-end;justify-content:center;
  font-size:0;color:transparent;overflow:visible;
  transition:background .18s,box-shadow .18s,border-color .18s;
}
.p5-ann.amber{background:rgba(0,0,0,.12);border:1px solid rgba(255,176,32,.22);}
.p5-ann.blue{background:rgba(0,0,0,.12);border:1px solid rgba(58,160,255,.22);}
.p5-ann.lit.amber{
  background:linear-gradient(180deg,rgba(255,176,32,.78),rgba(220,120,0,.72));
  border:1px solid #ffb020;
  box-shadow:0 0 16px rgba(255,176,32,.7), inset 0 0 8px rgba(255,220,120,.45);
}
.p5-ann.lit.blue{
  background:linear-gradient(180deg,rgba(70,150,255,.82),rgba(30,90,220,.78));
  border:1px solid #5eb0ff;
  box-shadow:0 0 16px rgba(58,160,255,.65), inset 0 0 8px rgba(180,220,255,.4);
}
.p5-ann.lit[data-href]{cursor:pointer;}
.p5-ann .qrh-cue{
  display:none;position:absolute;bottom:-2px;right:2px;
  font-size:8px;font-weight:800;letter-spacing:.04em;color:#3ecbff;
  text-shadow:0 0 6px #000;pointer-events:none;white-space:nowrap;
}
.p5-ann.lit[data-href] .qrh-cue{display:block;}

/* Hit areas: transparent — no cyan dashed boxes */
.p5-hit{
  position:absolute;box-sizing:border-box;border:0;padding:0;margin:0;
  background:transparent;cursor:pointer;border-radius:6px;
  -webkit-tap-highlight-color:transparent;
  perspective:400px;transform-style:preserve-3d;
}
.p5-hit.ghost{background:transparent;border:0;}
.p5-hit:focus-visible{outline:2px solid rgba(62,203,255,.5);outline-offset:2px;}
.p5-hit.debug{background:rgba(62,203,255,.12);border:1px dashed rgba(62,203,255,.35);}

/* ===== CSS 3D metal toggle (chrome lever) ===== */
.ba-toggle{
  position:absolute;left:50%;top:50%;width:42%;height:78%;
  transform:translate(-50%,-50%);
  pointer-events:none;transform-style:preserve-3d;
  perspective:300px;
}
.ba-toggle .ba-nut{
  position:absolute;left:50%;bottom:2%;width:78%;height:26%;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#c8c8c8,#555 55%,#222);
  box-shadow:0 1px 2px rgba(0,0,0,.8), inset 0 1px 1px rgba(255,255,255,.35);
}
.ba-toggle .ba-nut::after{
  content:"";position:absolute;left:50%;top:50%;width:70%;height:55%;
  transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle at 40% 30%,#a01010,#5a0000 70%,#2a0000);
  box-shadow:inset 0 0 2px #000, 0 0 0 1px #400;
}
.ba-toggle .ba-lever{
  position:absolute;left:50%;top:10%;width:34%;height:72%;
  transform:translateX(-50%) rotateX(-32deg);
  transform-origin:50% 85%;
  border-radius:999px 999px 8px 8px;
  background:
    linear-gradient(90deg,#6a6a6a 0%,#f0f0f0 26%,#ffffff 48%,#c0c0c0 64%,#4a4a4a 100%);
  box-shadow:
    0 3px 7px rgba(0,0,0,.7),
    inset 1px 0 1px rgba(255,255,255,.65),
    inset -1px 0 1px rgba(0,0,0,.4);
  transition:transform .22s cubic-bezier(.34,1.56,.64,1);
}
.ba-toggle .ba-lever::before{
  content:"";position:absolute;left:50%;top:-6%;width:120%;height:28%;
  transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(circle at 40% 35%,#fff,#aaa 50%,#666);
  box-shadow:0 1px 2px rgba(0,0,0,.5);
}
.p5-hit.off .ba-toggle .ba-lever{
  transform:translateX(-50%) rotateX(38deg) translateY(-6%);
}
.p5-hit.on .ba-toggle .ba-lever{
  transform:translateX(-50%) rotateX(-42deg) translateY(8%);
}
.p5-hit.ba-spring .ba-toggle .ba-lever{
  animation:baToggleSpring .28s cubic-bezier(.34,1.56,.64,1);
}
@keyframes baToggleSpring{
  0%{filter:brightness(1.15);}
  40%{filter:brightness(1.05);}
  100%{filter:brightness(1);}
}

/* ===== 3D rocker ===== */
.ba-rocker{
  position:absolute;inset:10% 16%;border-radius:6px;
  background:linear-gradient(180deg,#3a3a3a,#0e0e0e);
  border:1px solid #5a5a5a;
  box-shadow:inset 0 2px 5px rgba(0,0,0,.75), 0 1px 0 rgba(255,255,255,.12), 0 2px 4px rgba(0,0,0,.4);
  transform-style:preserve-3d;perspective:240px;
  pointer-events:none;
  transition:transform .2s cubic-bezier(.34,1.4,.64,1);
}
.ba-rocker .ba-rocker-face{
  position:absolute;left:10%;right:10%;top:16%;bottom:16%;
  border-radius:4px;
  background:linear-gradient(180deg,#7a7a7a,#2a2a2a 40%,#121212 70%,#2e2e2e);
  box-shadow:0 2px 0 #000, inset 0 1px 0 rgba(255,255,255,.28), inset 0 -1px 0 rgba(0,0,0,.4);
  transform:translateZ(4px);
}
.ba-rocker.flat{inset:18% 12%;}
.p5-hit.pos-off .ba-rocker{transform:rotateX(26deg);transform-origin:center top;}
.p5-hit.pos-mid .ba-rocker,.p5-hit.pos-bat .ba-rocker{transform:rotateX(0);}
.p5-hit.pos-on .ba-rocker,.p5-hit.pos-auto .ba-rocker{transform:rotateX(-26deg);transform-origin:center bottom;}
.p5-hit.pos-bat-stby .ba-rocker{transform:rotateX(26deg);transform-origin:center top;}
.p5-hit.off .ba-rocker{transform:rotateX(20deg);transform-origin:center top;}
.p5-hit.on .ba-rocker{transform:rotateX(-20deg);transform-origin:center bottom;}
.p5-hit.ba-spring .ba-rocker{animation:baRockerKick .24s ease;}
@keyframes baRockerKick{
  0%{filter:brightness(1.2);}
  100%{filter:brightness(1);}
}

/* Legacy rocker/toggle kept for safety but visually replaced */
.p5-rocker,.p5-toggle{display:none!important;}

/* Guard covers — flip open */
.ba-guard,.p5-guard{
  position:absolute;inset:0;z-index:3;
  background:linear-gradient(180deg,rgba(28,28,28,.92),rgba(12,12,12,.78));
  border:1px solid rgba(70,70,70,.75);border-radius:6px;
  cursor:pointer;
  transition:transform .28s cubic-bezier(.4,.0,.2,1), opacity .28s;
  transform-origin:top center;
  transform-style:preserve-3d;
  display:flex;align-items:center;justify-content:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.ba-guard::after,.p5-guard::after{
  content:"";width:36%;height:3px;border-radius:2px;background:#666;
  box-shadow:0 8px 0 #555;
}
.ba-guard.open,.p5-guard.open{
  transform:rotateX(-118deg);opacity:.12;pointer-events:none;
}
.ba-guard.red,.p5-guard.red-g{
  background:linear-gradient(180deg,rgba(160,24,24,.88),rgba(70,0,0,.72));
  border-color:rgba(200,40,40,.75);
  box-shadow:inset 0 1px 0 rgba(255,180,180,.15), 0 2px 6px rgba(0,0,0,.35);
}
.ba-guard.red::after,.p5-guard.red-g::after{background:#fcc;box-shadow:0 8px 0 #c88;}

.p5-sel-knob{
  position:absolute;inset:12% 14%;border-radius:50%;
  border:1.5px solid rgba(180,180,180,.25);pointer-events:none;
  background:radial-gradient(circle at 40% 35%,rgba(80,80,80,.25),transparent 60%);
}
.p5-sel-knob .ptr{
  position:absolute;left:50%;top:10%;width:3px;height:36%;
  background:#ffffff;border-radius:2px;
  transform-origin:bottom center;transform:translateX(-50%) rotate(0deg);
  box-shadow:0 0 4px rgba(0,0,0,.7), 0 0 1px #fff;transition:transform .2s ease;
}

.p5-form-note{
  color:#e8e8ee;font-size:12px;line-height:1.45;text-align:center;
  margin:10px 4px 8px;padding:10px;border:1px solid #2a2a2a;border-radius:10px;
  background:#080808;
}
.p5-form-note.short{border-style:solid;}

.p5-schematic-card{
  background:#050505;border:1px solid #1e1e1e;border-radius:14px;overflow:hidden;
  margin:0 0 14px;
}
.p5-schematic-card .hd{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:10px 12px;border-bottom:1px solid #1a1a1a;
  background:#0a0a0a;
}
.p5-schematic-card .hd h2{
  margin:0;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#ffffff;
}
.p5-schematic-card .hd .tools{display:flex;gap:6px;}
.p5-icon-btn{
  appearance:none;width:40px;height:40px;border-radius:10px;cursor:pointer;
  border:1px solid #444;background:#121212;color:#f0f0f5;
  font-size:16px;font-weight:800;line-height:1;
}
.p5-icon-btn.tip{border-color:#4a4a4a;color:#ffffff;}
.p5-icon-btn.subtle{border-color:#3a3a3a;color:#c8c8d0;}
.p5-icon-btn.subtle.on{border-color:#3ecbff;color:#3ecbff;background:#061018;}
.p5-icon-btn:active{transform:scale(.95);}
.p5-schematic{display:block;width:100%;height:auto;background:#030303;}
.p5-schematic .wire{
  fill:none;stroke:#3ecbff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;
  transition:stroke .2s,opacity .2s,filter .2s;
  filter:drop-shadow(0 0 3px rgba(62,203,255,.4));
}
.p5-schematic .wire.dead{stroke:#333;opacity:.5;filter:none;stroke-dasharray:5 4;}
.p5-schematic .wire.warn{stroke:#ff9800;filter:drop-shadow(0 0 4px rgba(255,152,0,.5));}
.p5-schematic .node-box{
  fill:#0c0c0c;stroke:#3a3a3a;stroke-width:1.5;rx:6;
  transition:fill .2s,stroke .2s,opacity .2s;
}
.p5-schematic .node-box:not(.dead){stroke:#2a5a72;fill:#061018;}
.p5-schematic .node-box.dead{fill:#0a0a0a;stroke:#2a2a2a;opacity:.75;}
.p5-schematic .node-box.warn{stroke:#ff9800;fill:#1a1408;}
.p5-schematic .node-box.bat{fill:#0a1218;stroke:#3a5a70;}
.p5-schematic .node-lbl{
  fill:#ffffff;font-family:"D-DIN",Arial,sans-serif;font-size:11px;font-weight:800;
  letter-spacing:.04em;pointer-events:none;
}
.p5-schematic .node-lbl.dead{fill:#9a9aa2;}
.p5-schematic .plus-hit{cursor:pointer;}
.p5-schematic .plus-hit circle{
  fill:#0a1a28;stroke:#3a5a70;stroke-width:1.2;
}
.p5-schematic .plus-hit text{
  fill:#e8f7ff;font-size:13px;font-weight:800;font-family:Arial,sans-serif;
  text-anchor:middle;dominant-baseline:central;pointer-events:none;
}
/* Hide childish + by default; show only in advanced mode */
body.p5-hide-plus .p5-schematic .plus-hit{display:none;}

.p5-drawer-bg{
  display:none;position:fixed;inset:0;z-index:80;
  background:rgba(0,0,0,.7);
}
.p5-drawer-bg.open{display:block;}
.p5-drawer{
  position:fixed;left:0;right:0;bottom:0;z-index:90;
  max-height:78vh;overflow:auto;-webkit-overflow-scrolling:touch;
  background:#0a0a0a;border-radius:18px 18px 0 0;
  border:1px solid #222;border-bottom:0;
  transform:translateY(110%);transition:transform .28s ease;
  padding:14px 14px calc(22px + env(safe-area-inset-bottom));
  box-shadow:0 -8px 40px rgba(0,0,0,.6);
}
.p5-drawer.open{transform:translateY(0);}
.p5-drawer .dh{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px;}
.p5-drawer .dh h3{
  margin:0;color:#ffffff;font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;
}
.p5-drawer .close{
  appearance:none;border:1px solid #444;background:#141414;color:#ffffff;
  width:40px;height:40px;border-radius:10px;font-size:18px;cursor:pointer;
}
.p5-info-pop,.p5-tip-pop{
  display:none;position:fixed;left:12px;right:12px;z-index:95;
  background:#0c0c0c;border:1px solid #2a2a2a;border-radius:14px;
  padding:14px 16px;box-shadow:0 8px 32px rgba(0,0,0,.55);
  max-width:520px;margin:0 auto;
}
.p5-info-pop{bottom:calc(96px + env(safe-area-inset-bottom,0px));border-color:#2a4a66;}
.p5-tip-pop{top:72px;border-color:#333;}
.p5-info-pop.open,.p5-tip-pop.open{display:block;}
.p5-info-pop .ttl{color:#3ecbff;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;}
.p5-tip-pop .ttl{color:#ffffff;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;}
.p5-info-pop .bd,.p5-tip-pop .bd{color:#f0f0f5;font-size:15px;line-height:1.45;margin:0 0 10px;}
.p5-info-pop button,.p5-tip-pop button{
  appearance:none;border:1px solid #444;background:#141414;color:#ffffff;
  padding:10px 14px;border-radius:10px;font-weight:700;cursor:pointer;min-height:44px;
}

.p5-collapsible[hidden]{display:none!important;}

/* ===== Ch.6 DEMO pedagogy — hub / APPRENDRE / PANNES ===== */
:root{
  --ba-cyan:#3ecbff;
  --ba-violet:#8b5cf6;
  --ba-amber:#ffb020;
}

body.elec-hub-demo,
body.elec-learn-page,
body.elec-pannes-page{background:#000!important;color:#fff;}

.elec-hub-wrap,
.elec-pannes-wrap{
  max-width:560px;margin:0 auto;
  padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))!important;
}
.elec-hub-kicker{
  color:#6a6a72;font-size:11px;font-weight:800;letter-spacing:.16em;
  text-transform:uppercase;text-align:center;margin:0 0 16px;
}

.elec-paths{display:flex;flex-direction:column;gap:12px;margin:0 0 22px;}
.elec-path{
  display:flex;flex-direction:column;gap:4px;
  text-decoration:none;color:#fff;
  border-radius:18px;padding:22px 20px;min-height:96px;
  box-sizing:border-box;
  border:1.5px solid #222;
  -webkit-tap-highlight-color:transparent;
  transition:transform .12s ease, filter .12s ease;
}
.elec-path:active{transform:scale(.985);filter:brightness(1.08);}
.elec-path .path-tag{
  font-size:11px;font-weight:800;letter-spacing:.18em;opacity:.7;
}
.elec-path .path-name{
  font-size:28px;font-weight:800;letter-spacing:.04em;line-height:1.1;
}
.elec-path .path-sub{
  font-size:14px;font-weight:600;opacity:.85;margin-top:4px;
}
.elec-path.apprendre{
  background:linear-gradient(145deg,#041018 0%,#0a2436 55%,#061820 100%);
  border-color:var(--ba-cyan);
  box-shadow:0 0 28px rgba(62,203,255,.18), inset 0 1px 0 rgba(255,255,255,.06);
}
.elec-path.apprendre .path-tag,
.elec-path.apprendre .path-sub{color:var(--ba-cyan);}
.elec-path.apprendre .path-name{color:#e8f7ff;}
.elec-path.jouer{
  background:linear-gradient(145deg,#0c0618 0%,#1a0f36 50%,#0a1830 100%);
  border-color:#7c6cff;
  box-shadow:0 0 28px rgba(139,92,246,.22), inset 0 1px 0 rgba(255,255,255,.06);
}
.elec-path.jouer .path-tag{color:#c4b5fd;}
.elec-path.jouer .path-name{color:#f3e8ff;}
.elec-path.jouer .path-sub{color:var(--ba-cyan);}
.elec-path.pannes{
  background:linear-gradient(145deg,#140e04 0%,#2a1c08 55%,#120c04 100%);
  border-color:var(--ba-amber);
  box-shadow:0 0 28px rgba(255,176,32,.16), inset 0 1px 0 rgba(255,255,255,.05);
}
.elec-path.pannes .path-tag,
.elec-path.pannes .path-sub{color:var(--ba-amber);}
.elec-path.pannes .path-name{color:#fff3d6;}

.elec-biblio{
  margin:8px 0 24px;border:1px solid #222;border-radius:14px;background:#080808;
  overflow:hidden;
}
.elec-biblio > summary{
  list-style:none;cursor:pointer;user-select:none;
  padding:16px 16px;font-size:15px;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;color:#c8c8d0;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  min-height:52px;
}
.elec-biblio > summary::-webkit-details-marker{display:none;}
.elec-biblio > summary::after{
  content:"+";color:var(--ba-cyan);font-size:22px;font-weight:700;line-height:1;
}
.elec-biblio[open] > summary::after{content:"–";}
.elec-biblio .bib-hint{
  font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:none;
  color:#666;margin-left:auto;margin-right:10px;
}
.elec-biblio-body{padding:0 12px 16px;}
.elec-biblio .bib-grid{margin-top:4px;}

/* APPRENDRE full-screen beats */
body.elec-learn-page{
  margin:0;min-height:100dvh;overflow:hidden;
  padding:0!important;
}
body.elec-learn-page .offline-banner{z-index:40;}
.learn-top{
  position:fixed;top:0;left:0;right:0;z-index:30;
  display:flex;align-items:center;justify-content:space-between;
  padding:calc(10px + env(safe-area-inset-top,0px)) 16px 10px;
  background:linear-gradient(180deg,rgba(0,0,0,.75),transparent);
  pointer-events:none;
}
.learn-top a,.learn-top .learn-progress{pointer-events:auto;}
.learn-back{
  color:var(--ba-cyan);text-decoration:none;font-weight:800;font-size:14px;
  letter-spacing:.06em;padding:10px 12px;min-height:44px;display:inline-flex;align-items:center;
}
.learn-progress{
  color:#9a9aa2;font-size:13px;font-weight:800;letter-spacing:.12em;
  padding:10px 12px;
}
.learn-stage{
  position:fixed;inset:0;z-index:1;
  touch-action:pan-y;outline:none;
}
.learn-beat{
  position:absolute;inset:0;opacity:0;pointer-events:none;
  transition:opacity .28s ease;
}
.learn-beat.is-on{opacity:1;pointer-events:auto;}
.learn-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center top;
  background-repeat:no-repeat;filter:saturate(1.05) contrast(1.05);
  transform:scale(1.02);
}
.learn-veil{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.15) 35%, rgba(0,0,0,.82) 72%, #000 100%);
}
.learn-copy{
  position:absolute;left:0;right:0;bottom:0;
  padding:0 22px calc(118px + env(safe-area-inset-bottom,0px));
  z-index:2;
}
.learn-copy h2{
  margin:0 0 10px;font-size:clamp(22px,6.2vw,30px);font-weight:800;
  letter-spacing:.02em;line-height:1.15;color:#fff;
  text-shadow:0 2px 18px rgba(0,0,0,.85);
}
.learn-line{
  margin:0 0 12px;font-size:clamp(17px,4.6vw,20px);font-weight:650;
  line-height:1.35;color:#f0f0f5;
  text-shadow:0 2px 12px rgba(0,0,0,.8);
}
.learn-cue{
  display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ba-cyan);
  border:1px solid rgba(62,203,255,.35);background:rgba(6,16,24,.65);
  padding:7px 10px;border-radius:999px;
}
.learn-dots{
  position:fixed;left:0;right:0;bottom:calc(72px + env(safe-area-inset-bottom,0px));
  z-index:25;display:flex;justify-content:center;gap:7px;pointer-events:none;
}
.learn-dots span{
  width:7px;height:7px;border-radius:50%;background:#333;
}
.learn-dots span.on{background:var(--ba-cyan);box-shadow:0 0 8px rgba(62,203,255,.6);}
.learn-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:30;
  display:flex;gap:10px;
  padding:10px 14px calc(14px + env(safe-area-inset-bottom,0px));
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.92) 30%,#000);
}
.learn-nav{
  appearance:none;flex:1;min-height:52px;border-radius:14px;cursor:pointer;
  font-family:inherit;font-size:15px;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;border:1px solid #333;background:#121212;color:#ddd;
}
.learn-nav:disabled{opacity:.35;cursor:default;}
.learn-nav.primary{
  border-color:var(--ba-cyan);color:#e8f7ff;
  background:linear-gradient(160deg,#061018,#0a2436);
  box-shadow:0 0 16px rgba(62,203,255,.22);
}
.learn-nav:active:not(:disabled){transform:scale(.98);}

/* PANNES cards */
.panne-cards{display:flex;flex-direction:column;gap:10px;margin:0 0 18px;}
.panne-card{
  background:#0a0a0a;border:1px solid #222;border-radius:14px;overflow:hidden;
}
.panne-card.crit{border-color:#5a1010;}
.panne-card > summary{
  list-style:none;cursor:pointer;user-select:none;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:14px 14px;min-height:56px;
}
.panne-card > summary::-webkit-details-marker{display:none;}
.panne-card > summary::after{
  content:"›";color:#666;font-size:22px;font-weight:700;transform:rotate(90deg);
  transition:transform .15s ease;
}
.panne-card[open] > summary::after{transform:rotate(-90deg);color:var(--ba-amber);}
.panne-light{
  display:inline-block;font-size:14px;font-weight:800;letter-spacing:.04em;
  padding:8px 11px;border-radius:8px;border:1.5px solid;
}
.panne-light.amber{border-color:var(--ba-amber);color:var(--ba-amber);background:#1a1400;}
.panne-light.blue{border-color:#3aa0ff;color:#9ed0ff;background:#061828;}
.panne-light.red{border-color:#E10600;color:#ff8a80;background:#180808;}
.panne-pg{color:#666;font-size:12px;font-weight:800;margin-left:auto;}
.panne-body{padding:0 14px 16px;border-top:1px solid #1a1a1a;}
.panne-see,.panne-act{
  margin:12px 0 0;font-size:16px;line-height:1.4;color:#ddd;
}
.panne-act{color:#ffe0a0;}
.panne-qrh{
  display:block;margin:14px 0 0;text-align:center;text-decoration:none;
  min-height:48px;line-height:48px;border-radius:12px;font-weight:800;
  letter-spacing:.06em;text-transform:uppercase;font-size:13px;
  color:#e8f7ff;border:1px solid var(--ba-cyan);
  background:linear-gradient(160deg,#061018,#0a1e2e);
}
.elec-pannes-foot{
  text-align:center;color:#666;font-size:13px;margin:8px 0 20px;
}
.elec-pannes-foot a{color:var(--ba-cyan);font-weight:700;text-decoration:none;}

.p5-chip-group{
  width:100%;margin:10px 0 4px;padding:0 2px;
  font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:#3ecbff;opacity:.9;
}
.p5-panne-note{
  margin:12px 2px 0;font-size:11px;line-height:1.35;color:#d0d0d8;
}


/* ===== LIVE status rails ===== */
.p5-status-rails{display:flex;flex-direction:column;gap:10px;margin:0 0 14px;}
.p5-pos-rail{
  display:grid;grid-template-columns:repeat(3,1fr);gap:6px;
}
.pos-item{
  background:#0a0a0a;border:1px solid #222;border-radius:10px;
  padding:8px 8px 7px;text-align:center;
}
.pos-item .pk{
  display:block;font-size:9px;font-weight:800;letter-spacing:.14em;color:#e0e0e8;margin-bottom:3px;
}
.pos-item .pv{
  display:block;font-size:13px;font-weight:800;letter-spacing:.06em;color:#ffffff;
}
.pos-item.ok{border-color:#1a3a2a;}
.pos-item.ok .pv{color:#7dffa0;}
.pos-item.warn{border-color:#5a3a00;}
.pos-item.warn .pv{color:#ffb020;}
.pos-item.off{border-color:#333;}
.pos-item.off .pv{color:#c8c8d0;}

.p5-tr-rail{
  display:grid;grid-template-columns:auto 1fr 1fr 1fr;gap:8px;align-items:stretch;
  background:#050505;border:1px solid #1c1c1c;border-radius:14px;padding:10px;
}
.p5-tr-rail .tr-hd{
  writing-mode:vertical-rl;transform:rotate(180deg);
  font-size:10px;font-weight:800;letter-spacing:.16em;color:#3ecbff;
  display:flex;align-items:center;justify-content:center;padding:0 2px;
}
.tr-pill{
  appearance:none;border:1.5px solid #2a2a2a;background:#0c0c0c;border-radius:12px;
  padding:10px 8px;cursor:default;text-align:center;
  display:flex;flex-direction:column;gap:2px;min-height:64px;
  transition:border-color .2s, box-shadow .2s, background .2s;
}
.tr-pill .tr-n{font-size:11px;font-weight:800;letter-spacing:.12em;color:#e0e0e8;}
.tr-pill .tr-v{font-size:16px;font-weight:800;color:#ffffff;}
.tr-pill .tr-s{font-size:10px;font-weight:800;letter-spacing:.1em;color:#c8c8d0;}
.tr-pill.alive{
  border-color:#3ecbff;background:linear-gradient(160deg,#061018,#0a1e2e);
  box-shadow:0 0 12px rgba(62,203,255,.22);
}
.tr-pill.alive .tr-n,.tr-pill.alive .tr-s{color:#3ecbff;}
.tr-pill.alive .tr-v{color:#e8f7ff;}
.tr-pill.fail{
  border-color:#ffb020;background:#1a1400;
  box-shadow:0 0 12px rgba(255,176,32,.25);
}
.tr-pill.fail .tr-n,.tr-pill.fail .tr-s,.tr-pill.fail .tr-v{color:#ffb020;}
.tr-pill.dead{border-color:#333;background:#0a0a0a;opacity:.7;}
.tr-pill.dead .tr-v,.tr-pill.dead .tr-s{color:#9a9aa2;}

/* ===== Position labels on switches ===== */
.ba-pos-labels{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;
  padding:1px 2px;font-size:8px;font-weight:800;letter-spacing:.05em;color:#ffffff;
  text-shadow:0 0 3px #000, 0 1px 2px #000, 0 0 1px #000;
}
.ba-pos-labels i{font-style:normal;line-height:1;color:#ffffff;}
.ba-pos-labels.thin{font-size:7px;align-items:center;color:#ffffff;}
.ba-pos-labels.two{justify-content:space-between;}
.sw-3pos .ba-rocker{z-index:2;}

/* ===== Guards: CLOSED (baissée) = ROUGE · OPEN (haussée) = BLEU ===== */
.ba-guard,.p5-guard{
  background:linear-gradient(165deg,#c62828 0%,#8e0000 45%,#5a0000 100%)!important;
  border:1.5px solid #ff6659!important;
  box-shadow:
    inset 0 1px 0 rgba(255,200,200,.25),
    0 3px 8px rgba(0,0,0,.45)!important;
}
.ba-guard::after,.p5-guard::after{
  background:#ffcdd2!important;
  box-shadow:0 7px 0 #e57373!important;
}
.ba-guard.open,.p5-guard.open{
  background:linear-gradient(165deg,#29b6f6 0%,#0288d1 45%,#01579b 100%)!important;
  border-color:#81d4fa!important;
  box-shadow:
    inset 0 1px 0 rgba(200,240,255,.35),
    0 0 14px rgba(62,203,255,.45)!important;
  transform:rotateX(-112deg);
  opacity:.92;
  pointer-events:none;
}
.ba-guard.open::after,.p5-guard.open::after{
  background:#e1f5fe!important;
  box-shadow:0 7px 0 #4fc3f7!important;
}

/* 2-pos toggle: red hinge collar when ON (like real P5) */
.p5-hit.on .ba-toggle .ba-nut::after{
  background:radial-gradient(circle at 40% 30%,#ff5252,#b71c1c 70%,#4a0000);
  box-shadow:inset 0 0 2px #000, 0 0 6px rgba(229,57,53,.45);
}
.p5-hit.off .ba-toggle .ba-nut::after{
  background:radial-gradient(circle at 40% 30%,#666,#333 70%,#111);
  box-shadow:inset 0 0 2px #000;
}
/* clearer lever throw */
.p5-hit.off .ba-toggle .ba-lever{
  transform:translateX(-50%) rotateX(48deg) translateY(-10%);
}
.p5-hit.on .ba-toggle .ba-lever{
  transform:translateX(-50%) rotateX(-48deg) translateY(12%);
}

/* 3-pos rocker clearer angles */
.p5-hit.pos-off .ba-rocker{transform:rotateX(32deg);transform-origin:center top;}
.p5-hit.pos-mid .ba-rocker,.p5-hit.pos-bat .ba-rocker{transform:rotateX(0);}
.p5-hit.pos-on .ba-rocker,.p5-hit.pos-auto .ba-rocker{transform:rotateX(-32deg);transform-origin:center bottom;}
.p5-hit.pos-bat-stby .ba-rocker{transform:rotateX(32deg);transform-origin:center top;}
.p5-hit.off .ba-rocker{transform:rotateX(28deg);transform-origin:center top;}
.p5-hit.on .ba-rocker{transform:rotateX(-28deg);transform-origin:center bottom;}


/* ===== Momentary 3-pos (GEN / APU / GRD) — spring to center ===== */
.p5-hit.sw-mom .ba-pos-labels,
.p5-hit.sw-mom-drv .ba-pos-labels{z-index:1;}
.p5-hit.pos-ctr .ba-toggle .ba-lever{
  transform:translateX(-50%) rotateX(0deg) translateY(0);
}
.p5-hit.mom-on .ba-toggle .ba-lever{
  transform:translateX(-50%) rotateX(-52deg) translateY(14%);
}
.p5-hit.mom-off .ba-toggle .ba-lever{
  transform:translateX(-50%) rotateX(52deg) translateY(-12%);
}
.p5-hit.sw-mom.latched .ba-toggle .ba-nut::after,
.p5-hit.sw-mom-drv.latched .ba-toggle .ba-nut::after{
  background:radial-gradient(circle at 40% 30%,#ff5252,#b71c1c 70%,#4a0000);
  box-shadow:inset 0 0 2px #000, 0 0 6px rgba(229,57,53,.45);
}
.p5-hit.sw-mom:not(.latched) .ba-toggle .ba-nut::after,
.p5-hit.sw-mom-drv:not(.latched) .ba-toggle .ba-nut::after{
  background:radial-gradient(circle at 40% 30%,#888,#444 70%,#1a1a1a);
}


/* ===== Poster B737NG contrast pass (Steve / Rocky) — elec hub + P5 LIVE only ===== */
body.p5-live-page .p5-live-kicker,
body.p5-live-page .p5-situ .k,
body.p5-live-page .p5-form-note,
body.p5-live-page .pos-item .pk,
body.p5-live-page .ba-pos-labels,
body.p5-live-page .ba-pos-labels i{color:#ffffff!important;}
body.p5-live-page .ba-pos-labels{
  text-shadow:0 0 3px #000,0 1px 2px #000!important;
}
body.p5-live-page .p5-schematic .node-lbl{fill:#ffffff;}
body.p5-live-page .p5-schematic-card .hd h2{color:#ffffff;}
body.p5-live-page .p5-reveal-chip{color:#f0f0f5;}
body.p5-live-page .p5-drawer .dh h3,
body.p5-live-page .p5-drawer .close,
body.p5-live-page .p5-panne-note{color:#e8e8ee;}
.elec-photo figcaption{color:#f0f0f5!important;}
.elec-reveal-btn{color:#ffffff;}
.elec-toc a .pg{color:#c8c8d0;}
.elec-note{color:#e8e8ee;}
.elec-card{color:#e8e8ee;}

/* ===== Poster fidelity micro-pass 2 (Rocky · 737 NG ELECTRICAL) ===== */
/* Condensed overhead labels */
body.p5-live-page .ba-pos-labels,
body.p5-live-page .ba-pos-labels i{
  font-family:"D-DIN","Arial Narrow",Arial,sans-serif!important;
  font-weight:700!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
  font-stretch:condensed;
}
body.p5-live-page .ba-pos-labels{font-size:7.5px!important;}
body.p5-live-page .ba-pos-labels.thin{font-size:6.5px!important;}
body.p5-live-page .pos-item .pk,
body.p5-live-page .tr-pill .tr-n,
body.p5-live-page .tr-pill .tr-s,
body.p5-live-page .p5-situ .k,
body.p5-live-page .p5-live-kicker{
  font-family:"D-DIN","Arial Narrow",Arial,sans-serif;
  letter-spacing:.08em;
  font-weight:700;
  text-transform:uppercase;
}
body.p5-live-page .pos-item .pv{
  font-family:"D-DIN","Arial Narrow",Arial,sans-serif;
  letter-spacing:.04em;
  font-weight:800;
  text-transform:uppercase;
}

/* Annunciator windows — recessed plate, solid amber/blue when lit, black/white caption */
body.p5-live-page .p5-ann{
  border-radius:1px!important;
  overflow:hidden;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.55), inset 0 1px 2px rgba(0,0,0,.35);
}
body.p5-live-page .p5-ann.amber{
  background:rgba(0,0,0,.28)!important;
  border:1px solid rgba(255,176,32,.32)!important;
}
body.p5-live-page .p5-ann.blue{
  background:rgba(0,0,0,.28)!important;
  border:1px solid rgba(58,160,255,.32)!important;
}
body.p5-live-page .p5-ann.lit.amber{
  background:linear-gradient(180deg,#ffcc55 0%,#ff9f14 42%,#e07800 100%)!important;
  border:1px solid #ffb020!important;
  box-shadow:
    0 0 14px rgba(255,176,32,.78),
    inset 0 1px 0 rgba(255,240,180,.55),
    inset 0 -2px 5px rgba(100,40,0,.4)!important;
}
body.p5-live-page .p5-ann.lit.blue{
  background:linear-gradient(180deg,#5aa8ff 0%,#2a78e8 45%,#1650c0 100%)!important;
  border:1px solid #5eb0ff!important;
  box-shadow:
    0 0 14px rgba(58,160,255,.7),
    inset 0 1px 0 rgba(200,230,255,.45),
    inset 0 -2px 5px rgba(0,30,90,.45)!important;
}
body.p5-live-page .p5-ann-cap{
  display:none;
  pointer-events:none;
  text-align:center;
  font-family:"D-DIN","Arial Narrow",Arial,sans-serif;
  font-weight:700;
  font-size:clamp(5.5px,1.55vw,8.5px);
  line-height:1.05;
  letter-spacing:.015em;
  text-transform:uppercase;
  padding:1px 2px;
  max-width:100%;
}
body.p5-live-page .p5-ann.lit .p5-ann-cap{display:block;}
body.p5-live-page .p5-ann.lit.amber .p5-ann-cap{
  color:#111!important;
  text-shadow:0 0 1px rgba(255,220,150,.35);
}
body.p5-live-page .p5-ann.lit.blue .p5-ann-cap{
  color:#fff!important;
  text-shadow:0 1px 1px rgba(0,0,0,.45);
}
body.p5-live-page .p5-ann .qrh-cue{
  bottom:0;right:1px;font-size:6px;letter-spacing:.02em;opacity:.85;
}

/* White-stripe rocker (BAT / STBY) — less toy, matte black + sharp stripe */
body.p5-live-page .ba-rocker{
  border-radius:3px!important;
  background:linear-gradient(180deg,#2a2a2a,#0a0a0a)!important;
  border:1px solid #3a3a3a!important;
  box-shadow:
    inset 0 2px 4px rgba(0,0,0,.85),
    0 1px 0 rgba(255,255,255,.08),
    0 2px 3px rgba(0,0,0,.5)!important;
}
body.p5-live-page .ba-rocker .ba-rocker-face{
  left:12%;right:12%;top:14%;bottom:14%;
  border-radius:2px!important;
  background:linear-gradient(180deg,#4a4a4a,#1a1a1a 38%,#0c0c0c 72%,#222)!important;
  box-shadow:
    0 1px 0 #000,
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 -1px 0 rgba(0,0,0,.5)!important;
}
body.p5-live-page .ba-rocker .ba-rocker-face::before{
  content:"";
  position:absolute;
  left:50%;top:7%;
  width:22%;height:38%;
  transform:translateX(-50%);
  border-radius:1px;
  background:linear-gradient(90deg,#bdbdbd 0%,#ffffff 42%,#e8e8e8 58%,#9a9a9a 100%);
  box-shadow:0 0 1px rgba(255,255,255,.8), inset 0 0 1px rgba(0,0,0,.25);
}

/* Chrome toggle — sharper specular cylinder */
body.p5-live-page .ba-toggle .ba-lever{
  background:
    linear-gradient(90deg,#4a4a4a 0%,#c8c8c8 18%,#ffffff 46%,#d0d0d0 62%,#7a7a7a 78%,#3a3a3a 100%)!important;
  box-shadow:
    0 3px 6px rgba(0,0,0,.75),
    inset 1px 0 1px rgba(255,255,255,.75),
    inset -1px 0 2px rgba(0,0,0,.45)!important;
}
body.p5-live-page .ba-toggle .ba-lever::before{
  background:radial-gradient(circle at 38% 32%,#ffffff,#c0c0c0 48%,#6a6a6a)!important;
  box-shadow:0 1px 2px rgba(0,0,0,.55), inset 0 0 1px rgba(255,255,255,.6)!important;
}
body.p5-live-page .ba-toggle .ba-nut{
  background:radial-gradient(circle at 35% 28%,#d8d8d8,#6a6a6a 55%,#1a1a1a)!important;
  box-shadow:0 1px 2px rgba(0,0,0,.85), inset 0 1px 1px rgba(255,255,255,.4)!important;
}

/* Guard chrome sheen (keep red closed / blue open UX) */
body.p5-live-page .ba-guard,
body.p5-live-page .p5-guard{
  border-radius:4px!important;
}
body.p5-live-page .ba-guard::before,
body.p5-live-page .p5-guard::before{
  content:"";
  position:absolute;left:8%;right:8%;top:10%;height:28%;
  border-radius:2px;
  background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,0));
  pointer-events:none;
}

/* Density — tighter LIVE stack vs soft card UI */
body.p5-live-page .p5-control-strip{
  margin:0 0 8px!important;padding:10px!important;border-radius:10px!important;
}
body.p5-live-page .p5-status-rails{margin:0 0 8px!important;gap:6px!important;}
body.p5-live-page .p5-reveal-row{margin:0 0 8px!important;gap:6px!important;}
body.p5-live-page .p5-panel{
  margin:0 0 8px!important;border-radius:8px!important;border-color:#2a2a2a!important;
}
body.p5-live-page .p5-schematic-card{margin:0 0 8px!important;border-radius:10px!important;}
body.p5-live-page .p5-form-note{
  margin:6px 2px 4px!important;padding:8px!important;border-radius:8px!important;
  color:#f0f0f5!important;
}
body.p5-live-page .p5-pos-rail{gap:5px;}
body.p5-live-page .pos-item{border-radius:8px;padding:6px 6px 5px;}
body.p5-live-page .p5-tr-rail{border-radius:10px;padding:8px;gap:6px;}
body.p5-live-page .tr-pill{border-radius:8px;min-height:58px;padding:8px 6px;}
body.p5-live-page .p5-btn,
body.p5-live-page .p5-reveal-chip{border-radius:10px;}
body.p5-live-page .tr-pill.dead .tr-v,
body.p5-live-page .tr-pill.dead .tr-s,
body.p5-live-page .pos-item.off .pv{color:#d0d0d8!important;}

/* Hub Système — kill remaining soft / pale accents */
.actions-grid a.action-btn.graph .glyph,
.actions-grid a.action-btn.graph .emoji{color:#d8d8de!important;}
.elec-toc a{
  background:linear-gradient(180deg,#141414 0%,#0a0a0a 100%)!important;
  border-color:#2e2e2e!important;
  color:#ffffff!important;
}
.elec-toc a .pg{color:#d0d0d8!important;}
.elec-photo{border-radius:8px!important;border-color:#2a2a2a!important;}
.elec-photo figcaption{
  font-family:"D-DIN","Arial Narrow",Arial,sans-serif;
  letter-spacing:.06em;text-transform:uppercase;font-weight:700;font-size:12px!important;
  color:#f0f0f5!important;
}
.elec-reveal-btn{border-radius:10px!important;letter-spacing:.1em;}
.elec-hub-kicker{color:#c8c8d0!important;}
