/* GEOF PV — Jeu Cymatique M-bit */
/* v2.0.1: appareils analogiques HP / voltmètre. */
.geof-cym-mbit-game{
  --bg:#020706;--panel:#03120f;--panel2:#020b09;--green:#00ff9a;--cyan:#00e5ff;--yellow:#ffe95b;--pink:#ff3f7f;--violet:#b94cff;--muted:#9fb6ad;--orange:#ff9d3b;--border:rgba(0,255,154,.36);--white:#eafff7;
  width:100%;max-width:1880px;min-height:0;margin:0 auto;transform:none;box-sizing:border-box;
  background:radial-gradient(circle at 17% 0%,rgba(0,255,154,.09),transparent 34%),radial-gradient(circle at 88% 12%,rgba(0,229,255,.07),transparent 28%),linear-gradient(135deg,#000,#04130f 42%,#000806);
  color:var(--white);font-family:Consolas,Menlo,Monaco,monospace;padding:14px;overflow:visible;isolation:isolate;
}
.geof-cym-mbit-game *{box-sizing:border-box}.geof-cym-mbit-game button,.geof-cym-mbit-game input,.geof-cym-mbit-game select,.geof-cym-mbit-game textarea{font-family:Consolas,Menlo,Monaco,monospace}.geof-cym-mbit-shell{max-width:1880px;margin:0 auto}.geof-cym-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:12px}.geof-cym-head h1{margin:0;color:var(--green);font-size:clamp(20px,2vw,32px);letter-spacing:.08em;text-transform:uppercase;text-shadow:0 0 16px rgba(0,255,154,.65)}.geof-cym-head p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.35}.geof-cym-badge{border:1px solid var(--border);padding:10px 13px;border-radius:13px;color:var(--yellow);background:rgba(0,0,0,.35);white-space:nowrap;font-weight:800;box-shadow:0 0 18px rgba(255,233,91,.08)}
.geof-cym-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px}.geof-cym-step{border:1px solid rgba(0,255,154,.22);border-radius:13px;padding:10px;background:rgba(0,0,0,.28);color:var(--muted);min-height:62px}.geof-cym-step b{display:block;color:var(--green);font-size:13px;text-transform:uppercase}.geof-cym-step span{font-size:11px}.geof-cym-step.active{border-color:var(--yellow);box-shadow:0 0 20px rgba(255,233,91,.12);color:var(--white)}.geof-cym-step.active b{color:var(--yellow)}.geof-cym-stage{display:grid;grid-template-columns:minmax(820px,1.35fr) minmax(430px,.65fr);gap:14px}.geof-panel{border:1px solid var(--border);border-radius:18px;background:rgba(0,10,8,.84);box-shadow:0 0 36px rgba(0,255,154,.08),inset 0 0 50px rgba(0,255,154,.035);overflow:hidden}.geof-panel-pad{padding:14px}.geof-toolbar{display:flex;gap:8px;flex-wrap:wrap;padding:12px;border-bottom:1px solid rgba(0,255,154,.20);background:rgba(0,0,0,.16)}.geof-btn,.geof-cym-mbit-game button{border:1px solid var(--border);border-radius:11px;background:#00100d;color:var(--green);font-weight:900;padding:10px 13px;cursor:pointer;text-transform:lowercase;letter-spacing:.04em}.geof-btn:hover,.geof-cym-mbit-game button:hover{border-color:var(--yellow);color:var(--yellow)}.geof-btn.yellow{color:var(--yellow);border-color:rgba(255,233,91,.62)}.geof-btn.pink{color:#ff8fbc;border-color:rgba(255,63,127,.55)}.geof-btn.violet{color:#e3b7ff;border-color:rgba(185,76,255,.55)}.geof-btn[disabled]{opacity:.42;cursor:not-allowed}.geof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.geof-grid.two{grid-template-columns:repeat(2,1fr)}.geof-grid.four{grid-template-columns:repeat(4,1fr)}.geof-field{border:1px solid rgba(0,255,154,.2);border-radius:13px;padding:10px;background:rgba(0,255,154,.035)}.geof-field label{display:block;color:var(--muted);font-size:11px;font-weight:900;margin-bottom:6px;text-transform:uppercase}.geof-field input,.geof-field select,.geof-field textarea{width:100%;border:1px solid var(--border);border-radius:10px;background:#00100d;color:var(--green);font:800 15px Consolas,monospace;padding:9px 10px;outline:none}.geof-field textarea{resize:vertical;color:var(--white);min-height:74px}.geof-field small{display:block;margin-top:5px;color:var(--muted);font-size:10px}.geof-note{border:1px dashed rgba(255,233,91,.35);background:rgba(255,233,91,.045);border-radius:13px;padding:12px;color:#fff7bd;font-size:13px;line-height:1.52}.geof-note strong{color:var(--yellow)}.geof-canvasbox{position:relative;padding:14px}.geof-main-canvas{width:100%;height:auto;display:block;background:#020807;border:1px solid rgba(0,255,154,.35);border-radius:16px}.geof-hint{position:absolute;left:31px;bottom:28px;color:#d7fff2;background:rgba(0,0,0,.60);border:1px dashed rgba(0,255,154,.35);border-radius:10px;padding:9px;max-width:760px;font-size:12px;line-height:1.45}.geof-side{display:flex;flex-direction:column;gap:13px}.geof-section h2{margin:0 0 9px;color:var(--green);font-size:15px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid rgba(0,255,154,.22);padding-bottom:8px}.geof-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.geof-card{border:1px solid rgba(0,255,154,.25);border-radius:10px;padding:9px;background:rgba(0,255,154,.035);min-width:0}.geof-card b{display:block;color:var(--yellow);font-size:16px;overflow-wrap:anywhere}.geof-card span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.geof-formula{color:var(--yellow);font-size:12px;line-height:1.58;border:1px solid rgba(255,233,91,.25);border-radius:10px;padding:10px;background:rgba(255,233,91,.04);white-space:pre-wrap}.geof-log{height:190px;overflow:auto;border:1px solid rgba(0,255,154,.25);border-radius:12px;background:#000d0a;padding:10px;font-size:12px;line-height:1.5}.geof-log div{white-space:pre-wrap}.geof-tablewrap{max-height:270px;overflow:auto;border:1px solid rgba(0,255,154,.2);border-radius:10px}.geof-cym-mbit-game table{width:100%;border-collapse:collapse;font-size:11px}.geof-cym-mbit-game th,.geof-cym-mbit-game td{padding:6px 7px;border-bottom:1px solid rgba(0,255,154,.16);text-align:left;white-space:nowrap}.geof-cym-mbit-game th{color:var(--yellow);position:sticky;top:0;background:#00100d}.geof-cym-mbit-game td{color:#eafff7}.geof-mono{font-size:11px;color:#eafff7;overflow-wrap:anywhere;word-break:break-all}.geof-mbit-grid{display:grid;gap:2px;align-content:start;max-width:430px}.geof-bit{width:10px;height:10px;border:1px solid rgba(0,255,154,.18);background:rgba(0,255,154,.02);display:block}.geof-bit.inside{background:rgba(0,255,154,.08)}.geof-bit.on{background:var(--yellow);box-shadow:0 0 8px rgba(255,233,91,.75);border-color:var(--yellow)}.geof-bit.probe{outline:2px solid var(--pink)}.geof-scanbox{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:8px}.geof-progress{height:8px;background:rgba(0,255,154,.09);border:1px solid rgba(0,255,154,.24);border-radius:999px;overflow:hidden}.geof-progress div{height:100%;width:0%;background:linear-gradient(90deg,var(--green),var(--yellow))}.geof-letter-strip{display:flex;gap:8px;overflow:auto;padding:8px;border:1px solid rgba(185,76,255,.28);border-radius:12px;background:rgba(185,76,255,.035);max-height:190px}.geof-letter-tile{min-width:104px;border:1px solid rgba(0,255,154,.28);border-radius:12px;padding:8px;background:rgba(0,0,0,.38)}.geof-letter-tile.active{border-color:var(--yellow);box-shadow:0 0 18px rgba(255,233,91,.22)}.geof-letter-tile b{display:block;color:var(--yellow);font-size:18px;margin-bottom:3px}.geof-letter-glyph{display:grid;gap:1px;margin-top:6px}.geof-glyph-bit{width:4px;height:4px;background:rgba(0,255,154,.08);border-radius:1px}.geof-glyph-bit.on{background:var(--yellow);box-shadow:0 0 4px rgba(255,233,91,.45)}.geof-project-status{border:1px solid rgba(0,229,255,.28);border-radius:12px;padding:10px;background:rgba(0,229,255,.04);color:#eafff7;font-size:13px;min-height:42px}.geof-project-status b{color:var(--yellow)}.geof-encoded-item{border:1px solid rgba(185,76,255,.35);border-radius:10px;padding:8px;margin:6px 0;background:rgba(185,76,255,.05)}.geof-hidden{display:none!important}.geof-warn{color:var(--orange)}
@media(max-width:1260px){.geof-cym-stage{grid-template-columns:1fr}.geof-grid.four{grid-template-columns:repeat(2,1fr)}.geof-cym-steps{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.geof-cym-mbit-game{padding:8px;width:100%!important}.geof-cym-head{display:block}.geof-cym-badge{display:inline-block;margin-top:10px}.geof-cym-steps{grid-template-columns:1fr}.geof-grid,.geof-grid.two,.geof-grid.four,.geof-scanbox{grid-template-columns:1fr}.geof-cards{grid-template-columns:1fr 1fr}.geof-hint{position:static;margin-top:10px}.geof-canvasbox{padding:9px}.geof-toolbar .geof-btn{flex:1}.geof-stage{display:block}}

.geof-cym-mbit-game .geof-side .geof-card b{font-size:14px}.geof-cym-mbit-game .geof-side .geof-mbit-grid{max-width:360px;overflow:auto}.geof-cym-mbit-game .geof-side .geof-bit{width:9px;height:9px}.geof-cym-mbit-game .geof-side .geof-letter-tile{min-width:92px}.geof-cym-mbit-game .geof-side .geof-glyph-bit{width:3px;height:3px}


.geof-guidebox{display:flex;align-items:center;gap:12px;border:1px solid rgba(0,255,154,.40);border-radius:14px;padding:10px 13px;margin:0 0 12px;background:linear-gradient(90deg,rgba(0,255,154,.10),rgba(0,0,0,.18));box-shadow:0 0 18px rgba(0,255,154,.08)}
.geof-guidebox strong{color:var(--green);text-transform:uppercase;letter-spacing:.10em;white-space:nowrap}.geof-guidebox span{color:#d9fff3;font-size:13px;line-height:1.35}.geof-cym-mbit-game button.geof-guide-target,.geof-cym-mbit-game .geof-btn.geof-guide-target{background:linear-gradient(180deg,rgba(0,255,154,.30),rgba(0,80,52,.75));border-color:var(--green)!important;color:#00180f!important;box-shadow:0 0 0 2px rgba(0,255,154,.18),0 0 24px rgba(0,255,154,.45);text-shadow:none;animation:geofGuidePulse 1.15s infinite alternate}.geof-cym-mbit-game button.geof-guide-target:hover,.geof-cym-mbit-game .geof-btn.geof-guide-target:hover{color:#00180f!important;border-color:var(--yellow)!important;box-shadow:0 0 0 2px rgba(255,233,91,.22),0 0 26px rgba(255,233,91,.42)}
@keyframes geofGuidePulse{from{filter:brightness(1)}to{filter:brightness(1.25)}}
.geof-project-status span{display:block;margin-top:4px;color:#d8fff2;line-height:1.4}
.geof-cym-mbit-game .geof-note em{color:#ffe95b;font-style:normal;font-weight:700}
.geof-lang-field{border-color:rgba(255,233,91,.65)!important;background:rgba(255,233,91,.055)!important}
.geof-lang-field select{color:#ffe95b!important;border-color:rgba(255,233,91,.70)!important}

/* v1.5 — vraie page d'introduction langue */
.geof-lang-start{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:34px 18px}
.geof-lang-start h2{font-size:clamp(28px,4vw,58px);color:var(--green);margin:0 0 10px;text-transform:uppercase;letter-spacing:.10em;text-shadow:0 0 24px rgba(0,255,154,.55)}
.geof-lang-start p{max-width:820px;color:#dfffee;line-height:1.5;margin:0 auto 24px;font-size:15px}
.geof-lang-cards{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:14px;width:min(980px,100%)}
.geof-lang-card{min-height:142px;border:1px solid rgba(0,255,154,.45)!important;border-radius:18px!important;background:linear-gradient(180deg,rgba(0,255,154,.12),rgba(0,0,0,.40))!important;color:#eafff7!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;box-shadow:0 0 26px rgba(0,255,154,.10)}
.geof-lang-card:hover{border-color:var(--yellow)!important;box-shadow:0 0 34px rgba(255,233,91,.20);transform:translateY(-2px)}
.geof-lang-card span{font-size:38px;line-height:1}.geof-lang-card b{font-size:18px;color:var(--yellow)}.geof-lang-card small{font-size:11px;color:var(--muted)}
.geof-project-status span{display:block;margin-top:4px;color:#d8fff2;line-height:1.4}
.geof-cym-mbit-game .geof-note em{color:#ffe95b;font-style:normal;font-weight:700}
.geof-cym-mbit-game textarea[data-key="encodeText"],.geof-cym-mbit-game textarea[data-key="carrierImport"]{min-height:96px;line-height:1.45}
@media(max-width:920px){.geof-lang-cards{grid-template-columns:1fr 1fr}.geof-lang-card{min-height:118px}}
@media(max-width:520px){.geof-lang-cards{grid-template-columns:1fr}}

.geof-mp3-box{border:1px solid rgba(0,229,255,.32);border-radius:14px;background:rgba(0,229,255,.035);padding:12px;margin:10px 0 12px;box-shadow:inset 0 0 26px rgba(0,229,255,.035)}
.geof-mp3-box h3{margin:0 0 6px;color:#00e5ff;text-transform:uppercase;letter-spacing:.10em;font-size:14px}.geof-mp3-box p{margin:0 0 10px;color:#d8fff2;font-size:12px;line-height:1.45}.geof-mp3-box input[type=file]{display:block;width:100%;border:1px dashed rgba(0,229,255,.42);border-radius:10px;padding:10px;background:#000d0a;color:#eafff7;margin-bottom:8px}.geof-mp3-box .geof-cards{margin:8px 0}


/* v1.7 — galeries XP réelles */
.geof-xp-gallery-wrap{border:1px solid rgba(0,255,154,.22);border-radius:15px;background:rgba(0,255,154,.025);padding:12px;margin-top:4px}
.geof-xp-gallery-wrap h3{margin:0 0 10px;color:var(--yellow);font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.geof-xp-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.geof-xp-card{margin:0;border:1px solid rgba(0,255,154,.22);border-radius:14px;overflow:hidden;background:rgba(0,0,0,.34);display:flex;flex-direction:column;min-width:0}
.geof-xp-card img{display:block;width:100%;height:220px;object-fit:contain;background:#06100d;padding:6px}
.geof-xp-card figcaption{padding:9px 10px 11px}
.geof-xp-card b{display:block;color:var(--green);font-size:12px;line-height:1.35;margin-bottom:4px}
.geof-xp-card span{display:block;color:#d8fff2;font-size:11px;line-height:1.4}
@media(max-width:760px){.geof-xp-card img{height:170px}}


/* v1.7.1 — zoom images XP + meilleure lisibilité */
.geof-xp-card img{cursor:zoom-in;transition:transform .18s ease,filter .18s ease}
.geof-xp-card:hover img{transform:scale(1.02);filter:brightness(1.04)}
.geof-lightbox[hidden]{display:none!important}
.geof-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.86);backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:26px}
.geof-lightbox img{max-width:min(94vw,1400px);max-height:78vh;width:auto;height:auto;border:1px solid rgba(0,255,154,.45);border-radius:18px;box-shadow:0 0 42px rgba(0,255,154,.18);background:#02100c}
.geof-lightbox-cap{max-width:min(94vw,1100px);margin-top:12px;padding:10px 14px;border:1px solid rgba(0,255,154,.25);border-radius:12px;background:rgba(0,0,0,.52);color:#eafff7;text-align:center}
.geof-lightbox-cap strong{display:block;color:var(--yellow);margin-bottom:4px}
.geof-lightbox-cap span{display:block;color:#d8fff2;font-size:13px;line-height:1.45}
.geof-lightbox-close{position:absolute;top:18px;right:18px;width:54px;height:54px;border-radius:999px!important;font-size:28px!important;line-height:1!important;padding:0!important;background:#00120f!important;color:#ffe95b!important;border:1px solid rgba(255,233,91,.55)!important;box-shadow:0 0 18px rgba(255,233,91,.18)}
body.geof-lightbox-open{overflow:hidden}


/* v1.7.2 — lightbox hors template WP + images non coupées */
.geof-xp-card img{object-fit:contain!important;background:#06100d!important}
.geof-lightbox-global{position:fixed;inset:0;z-index:2147483647;background:rgba(0,0,0,.90);backdrop-filter:blur(5px);display:none;align-items:center;justify-content:center;flex-direction:column;padding:30px 22px}
.geof-lightbox-global.open{display:flex}
.geof-lightbox-global img{max-width:min(96vw,1500px);max-height:78vh;width:auto;height:auto;object-fit:contain;border:1px solid rgba(0,255,154,.55);border-radius:18px;background:#06100d;box-shadow:0 0 48px rgba(0,255,154,.22)}
.geof-lightbox-global .geof-lightbox-cap{max-width:min(96vw,1180px);margin-top:12px;padding:10px 14px;border:1px solid rgba(0,255,154,.25);border-radius:12px;background:rgba(0,0,0,.65);color:#eafff7;text-align:center}
.geof-lightbox-global .geof-lightbox-cap strong{display:block;color:#ffe95b;margin-bottom:5px}.geof-lightbox-global .geof-lightbox-cap span{display:block;color:#d8fff2;font-size:13px;line-height:1.45}
.geof-lightbox-global .geof-lightbox-close{position:absolute;top:18px;right:18px;width:58px;height:58px;border-radius:999px!important;font-size:30px!important;line-height:1!important;padding:0!important;background:#00120f!important;color:#ffe95b!important;border:1px solid rgba(255,233,91,.65)!important;box-shadow:0 0 20px rgba(255,233,91,.24)}

/* v1.7.6 — cadres visuels de couplage */
.geof-coupling-frame{border:1px solid rgba(255,233,91,.34);border-radius:16px;background:linear-gradient(180deg,rgba(255,233,91,.055),rgba(0,0,0,.16));padding:12px;box-shadow:inset 0 0 34px rgba(255,233,91,.03)}
.geof-coupling-title{color:var(--yellow);font-weight:900;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;font-size:14px}
.geof-coupling-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.geof-couple-card{border:1px solid rgba(0,255,154,.22);border-radius:14px;background:rgba(0,0,0,.28);padding:11px;min-width:0}
.geof-couple-card h4{margin:0 0 9px;color:var(--green);font-size:13px;letter-spacing:.05em;text-transform:uppercase}
.geof-couple-tip{margin-top:8px;padding:8px 9px;border:1px dashed rgba(0,255,154,.24);border-radius:10px;background:rgba(0,255,154,.03);color:#dbfff3;font-size:12px;line-height:1.45}
.geof-couple-formula{border:1px solid rgba(255,233,91,.22);border-radius:10px;background:rgba(255,233,91,.04);padding:8px 9px;color:var(--yellow);font-size:12px;line-height:1.45;margin-bottom:8px}
.geof-resline{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:8px 0}
.geof-resline .tag{color:#dfffee;font-size:12px;font-weight:700;white-space:nowrap}
.geof-resline .meta{color:#fff7bd;font-size:12px;text-align:right}
.geof-resline .resistor{display:block;height:16px;position:relative;border-top:2px solid currentColor;border-bottom:2px solid currentColor;color:var(--green)}
.geof-resline .resistor::before,.geof-resline .resistor::after{content:'';position:absolute;top:50%;width:16px;height:2px;background:currentColor;transform:translateY(-50%)}
.geof-resline .resistor::before{left:-16px}.geof-resline .resistor::after{right:-16px}
.geof-resline.c1{color:var(--yellow)}.geof-resline.c2{color:var(--cyan)}.geof-resline.c3{color:var(--green)}.geof-resline.c4{color:var(--pink)}
.geof-mini-triangle{position:relative;height:185px;border:1px solid rgba(0,255,154,.18);border-radius:12px;background:radial-gradient(circle at 20% 20%,rgba(0,255,154,.06),transparent 35%),rgba(0,0,0,.24)}
.geof-mini-triangle::before,.geof-mini-triangle::after{content:'';position:absolute;background:transparent}
.geof-mini-triangle .p{position:absolute;width:26px;height:26px;border-radius:999px;border:2px solid var(--green);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;background:#00110d;color:#ffe95b;box-shadow:0 0 12px rgba(0,255,154,.18)}
.geof-mini-triangle .a{left:28px;top:18px}.geof-mini-triangle .o{left:28px;bottom:26px}.geof-mini-triangle .b{right:28px;bottom:26px}
.geof-mini-triangle .lab{position:absolute;font-size:11px;font-weight:700;padding:4px 7px;border-radius:8px;background:rgba(0,0,0,.58);border:1px solid rgba(0,255,154,.22)}
.geof-mini-triangle .lab.opp{left:72px;bottom:6px;color:var(--yellow)}
.geof-mini-triangle .lab.adj{left:0px;top:86px;color:var(--cyan);transform:rotate(-90deg);transform-origin:left top}
.geof-mini-triangle .lab.hyp{right:14px;top:56px;color:var(--green);transform:rotate(-33deg);transform-origin:right top}
.geof-mini-triangle::before{left:40px;top:31px;width:2px;height:118px;background:var(--cyan);box-shadow:0 0 12px rgba(0,229,255,.18)}
.geof-mini-triangle::after{left:40px;bottom:38px;width:190px;height:2px;background:var(--yellow);box-shadow:0 0 12px rgba(255,233,91,.18)}
.geof-mini-triangle{overflow:hidden}
.geof-mini-triangle .a,.geof-mini-triangle .o,.geof-mini-triangle .b{z-index:2}
.geof-mini-triangle > .p + .p + .p{}
.geof-mini-triangle{--hyp:rgba(0,255,154,.95)}
.geof-mini-triangle:after{}
.geof-mini-triangle .b::before{content:'';position:absolute;left:-176px;top:-92px;width:210px;height:2px;background:var(--green);transform:rotate(-146deg);transform-origin:left center;box-shadow:0 0 12px rgba(0,255,154,.18)}
.geof-couple-schema{border:1px solid rgba(0,255,154,.18);border-radius:12px;padding:10px;background:rgba(0,255,154,.03);margin-bottom:8px}
.geof-couple-schema .top,.geof-couple-schema .bottom{display:flex;justify-content:center;gap:16px;align-items:center}
.geof-couple-schema .top{margin-bottom:16px}.geof-couple-schema .bottom{margin-top:10px}
.geof-couple-schema .legend{margin-top:12px;text-align:center;color:#dfffee;font-size:12px}
.geof-couple-schema .rbox{display:inline-flex;align-items:center;justify-content:center;flex-direction:column;min-width:74px;min-height:56px;padding:6px 8px;border-radius:10px;border:1px solid rgba(0,255,154,.28);font-weight:800;line-height:1.25;background:rgba(0,0,0,.42)}
.geof-couple-schema .rbox.c1{color:var(--yellow)}.geof-couple-schema .rbox.c2{color:var(--cyan)}.geof-couple-schema .rbox.c3{color:var(--green)}.geof-couple-schema .rbox.c4{color:var(--pink)}
@media(max-width:980px){.geof-coupling-grid{grid-template-columns:1fr}.geof-mini-triangle .lab.adj{transform:none;left:54px;top:78px}}

/* v1.7.7 — correction XP A : hyp triangle ≠ barre hyp, couplage explicite dans le tableau */
.geof-mini-triangle::before,
.geof-mini-triangle::after,
.geof-mini-triangle .b::before{display:none!important}
.geof-mini-triangle{height:205px!important;overflow:hidden!important}
.geof-mini-tri-lines{position:absolute;inset:0;width:100%;height:100%;z-index:1;overflow:visible}
.geof-mini-tri-lines .side{stroke-width:6;stroke-linecap:round;fill:none;filter:drop-shadow(0 0 7px rgba(0,255,154,.18))}
.geof-mini-tri-lines .side.adj{stroke:var(--cyan)}
.geof-mini-tri-lines .side.opp{stroke:var(--yellow)}
.geof-mini-tri-lines .side.hyp{stroke:var(--green)}
.geof-mini-triangle .p,.geof-mini-triangle .lab{z-index:3}
.geof-mini-triangle .a{left:28px!important;top:18px!important}
.geof-mini-triangle .o{left:28px!important;bottom:34px!important}
.geof-mini-triangle .b{right:16px!important;bottom:34px!important}
.geof-mini-triangle .lab.opp{left:78px!important;bottom:14px!important;color:var(--yellow)!important}
.geof-mini-triangle .lab.adj{left:4px!important;top:93px!important;color:var(--cyan)!important;transform:rotate(-90deg)!important;transform-origin:left top!important}
.geof-mini-triangle .lab.hyp{right:8px!important;top:64px!important;color:var(--green)!important;transform:rotate(31deg)!important;transform-origin:right top!important;border-color:rgba(0,255,154,.36)!important}
.geof-couple-schema.is-coupling{position:relative;border-color:rgba(255,233,91,.35);background:linear-gradient(180deg,rgba(255,233,91,.055),rgba(0,255,154,.025))}
.geof-couple-schema .coupling-stamp{position:absolute;top:7px;left:9px;color:var(--yellow);font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;opacity:.9}
.geof-coupling-table{max-height:none!important;overflow:auto!important}
.geof-coupling-table th:nth-child(3),.geof-coupling-table td:nth-child(3){min-width:330px;white-space:normal!important}
.geof-coupling-table td{vertical-align:top;line-height:1.35}
.geof-coupling-table td small{display:block;color:#b7d8ce;font-size:10px;margin-top:3px;white-space:normal}
.geof-coup-cell{display:flex;flex-direction:column;gap:3px;padding:3px 0;white-space:normal!important}
.geof-coup-cell b{display:inline-block;width:max-content;color:var(--yellow);font-size:10px;letter-spacing:.12em;border:1px solid rgba(255,233,91,.34);border-radius:999px;padding:2px 7px;background:rgba(255,233,91,.055)}
.geof-coup-cell span{color:#eafff7;font-weight:800}
.geof-coup-cell small{color:#bfeee0!important;font-size:10px!important;line-height:1.35!important}


/* v1.7.8 — distinction forte entre barres séparées et triangle objet unique */
.geof-couple-card h4 .dim{opacity:.78;font-weight:700}
.geof-mini-triangle .lab{max-width:140px;line-height:1.2}
.geof-mini-triangle .lab.opp{left:74px!important;bottom:12px!important}
.geof-mini-triangle .lab.adj{left:6px!important;top:96px!important}
.geof-mini-triangle .lab.hyp{right:8px!important;top:62px!important}

/* v1.7.9 — valeurs ohmiques du triangle affichées sur ses côtés */
.geof-mini-triangle .lab{padding:5px 7px!important;font-size:10px!important;line-height:1.18!important;text-align:center}
.geof-mini-triangle .lab.opp{left:80px!important;bottom:10px!important}
.geof-mini-triangle .lab.adj{left:-6px!important;top:94px!important}
.geof-mini-triangle .lab.hyp{right:2px!important;top:58px!important}


/* v1.8.0 — formulaire U/I/R complet depuis la calculatrice XP A */
.geof-measure-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.geof-ir-row{display:grid;grid-template-columns:120px 1fr 1fr;gap:8px;align-items:end;margin-top:10px;padding-top:8px;border-top:1px solid rgba(0,255,154,.12)}
.geof-ir-row>b{color:#ffe95b;font-size:12px;line-height:1.2;padding-bottom:17px}
.geof-ir-row .geof-field{margin:0}
@media(max-width:980px){.geof-measure-grid{grid-template-columns:1fr}.geof-ir-row{grid-template-columns:1fr}}


/* v1.8.1 — barres proportionnelles + vrai schéma électrique de couplage */
.geof-resline{grid-template-columns:auto minmax(90px,1fr) auto!important;gap:10px!important}
.geof-resline .bar-track{height:18px;position:relative;display:flex;align-items:center;border-radius:3px;background:rgba(255,255,255,.025);border-top:1px dashed rgba(234,255,247,.08);border-bottom:1px dashed rgba(234,255,247,.08);overflow:visible}
.geof-resline .resistor{height:14px!important;min-width:26px;display:block!important;position:relative!important;border-top:2px solid currentColor!important;border-bottom:2px solid currentColor!important;border-left:2px solid currentColor!important;border-right:2px solid currentColor!important;border-radius:0!important;background:rgba(0,0,0,.18)!important;box-shadow:0 0 8px rgba(0,255,154,.10)}
.geof-resline .resistor::before,.geof-resline .resistor::after{content:none!important}
.geof-circuit-real{margin:8px 0}
.geof-circuit-svg{width:100%;height:auto;min-height:190px;border:1px solid rgba(0,255,154,.22);border-radius:12px;background:radial-gradient(circle at 50% 20%,rgba(0,255,154,.055),transparent 42%),rgba(0,0,0,.28);display:block}
.geof-circuit-svg .wire{fill:none;stroke:#dfffee;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:url(#glowWire)}
.geof-circuit-svg .node{fill:#020807;stroke:#00ff9a;stroke-width:3}
.geof-circuit-svg .res{stroke-width:2.5;fill:rgba(0,0,0,.68)}
.geof-circuit-svg .res.r3{stroke:#00ff9a}.geof-circuit-svg .res.r2{stroke:#00e5ff}.geof-circuit-svg .res.r1{stroke:#ffe95b}
.geof-circuit-svg text{font-family:Consolas,monospace;font-weight:800;dominant-baseline:middle;text-anchor:middle}
.geof-circuit-svg .c-title{fill:#ffe95b;font-size:12px;text-anchor:start;letter-spacing:.08em}
.geof-circuit-svg .terminal{fill:#00ff9a;font-size:15px;text-anchor:start}
.geof-circuit-svg .rtext{fill:#eafff7;font-size:12px}.geof-circuit-svg .rtext.strong{fill:#ffe95b;font-size:14px}
.geof-circuit-svg .branch{fill:#bfffe9;font-size:11px}


/* v1.8.2 — triangle plus lisible + branche série explicite */
.geof-circuit-svg .junction{fill:#dfffee;stroke:none;filter:url(#glowWire)}
.geof-circuit-svg .branch.strong{fill:#ffe95b;font-size:12px}
.geof-mini-triangle .lab{min-width:58px;max-width:118px;padding:4px 6px!important;font-size:9.5px!important;line-height:1.15!important}
.geof-mini-triangle .lab.opp{left:76px!important;bottom:8px!important}
.geof-mini-triangle .lab.adj{left:-4px!important;top:92px!important}
.geof-mini-triangle .lab.hyp{right:0!important;top:52px!important}


/* v1.8.3 — principe du calcul série clarifié */
.geof-circuit-svg .wire{stroke-width:4.5}
.geof-circuit-svg .res{fill:rgba(0,0,0,.82)}
.geof-circuit-svg .branch{font-size:10.5px}
.geof-circuit-svg .branch.strong{font-size:12.5px}


/* v1.8.4 — schéma série/parallèle plus explicite */
.geof-circuit-svg.is-parallel .rail{stroke-width:5.5}
.geof-circuit-svg.is-parallel .wire{stroke:#f4fff9}
.geof-circuit-svg.is-parallel .junction{fill:#f4fff9;filter:url(#glowWire)}
.geof-circuit-svg.is-parallel .branch{font-size:10.5px}
.geof-circuit-svg.is-parallel .branch.strong{font-size:12px}


/* v1.8.5 — double lecture du couplage : électrique + géométrique */
.geof-geo-couple{margin:8px 0}
.geof-geo-couple-svg{width:100%;height:auto;min-height:190px;border:1px solid rgba(255,233,91,.22);border-radius:12px;background:rgba(255,233,91,.04);display:block}
.geof-geo-couple-svg text{font-family:Consolas,monospace;font-weight:800;dominant-baseline:middle;text-anchor:middle}
.geof-geo-couple-svg .g-title{fill:#ffe95b;font-size:12px;text-anchor:start;letter-spacing:.08em}
.geof-geo-couple-svg .g-source{fill:#ffd93d;stroke:#b88a00;stroke-width:2}
.geof-geo-couple-svg .g-stext{fill:#111;font-size:28px}
.geof-geo-couple-svg .g-dash{fill:none;stroke:#ff8f2a;stroke-width:4;stroke-dasharray:14 10;opacity:.85}
.geof-geo-couple-svg .g-wire{stroke:#cc9b62;stroke-width:3;fill:none}
.geof-geo-couple-svg .g-res{stroke:#0b5cb8;fill:#1f78d1;stroke-width:2.5}
.geof-geo-couple-svg .g-rlabel{fill:#eafff7;font-size:11px}
.geof-geo-couple-svg .g-foot{fill:#d5eadf;font-size:10px}


/* v1.8.6 — schéma classique propre + distances selon l’ancienne calculatrice */
.geof-circuit-svg.is-classic{min-height:230px;background:radial-gradient(circle at 50% 50%,rgba(0,255,154,.045),transparent 45%),rgba(0,0,0,.32)}
.geof-circuit-svg.is-classic .wire{stroke:#eafff7;stroke-width:5;stroke-linecap:square;stroke-linejoin:miter;fill:none;filter:url(#glowWire)}
.geof-circuit-svg.is-classic .rail{stroke-width:6}
.geof-circuit-svg.is-classic .junction{fill:#eafff7;stroke:#eafff7;filter:url(#glowWire)}
.geof-circuit-svg.is-classic .res{fill:#020807;stroke-width:3}
.geof-circuit-svg.is-classic .res.r3{stroke:#00ff9a}.geof-circuit-svg.is-classic .res.r2{stroke:#00e5ff}.geof-circuit-svg.is-classic .res.r1{stroke:#ffe95b}
.geof-circuit-svg.is-classic .branch{font-size:12px;fill:#cffff1}.geof-circuit-svg.is-classic .branch.strong{font-size:13px;fill:#ffe95b}
.geof-distance-eq{margin-top:8px;border:1px solid rgba(255,233,91,.26);border-radius:12px;padding:8px;background:rgba(255,233,91,.035)}


/* v1.8.6 — finition triangle rectangle + anti-crash template WP */
.geof-cym-mbit-game{contain:layout style paint;}
.geof-cym-mbit-game .geof-coupling-grid{align-items:stretch;}
.geof-cym-mbit-game .geof-proof-wide{grid-column:1/-1;border:1px solid rgba(255,233,91,.34);border-radius:14px;background:rgba(255,233,91,.035);padding:12px;margin-top:2px;}
.geof-cym-mbit-game .geof-proof-wide h4{margin:0 0 10px;color:var(--yellow);letter-spacing:.08em;text-transform:uppercase;font-size:13px;}
.geof-cym-mbit-game .geof-proof-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.geof-cym-mbit-game .geof-proof-card{border:1px solid rgba(0,255,154,.22);border-radius:12px;background:rgba(0,0,0,.28);padding:10px;color:#eafff7;font-size:12px;line-height:1.45;}
.geof-cym-mbit-game .geof-proof-card>b{display:block;color:var(--green);margin-bottom:7px;text-transform:uppercase;letter-spacing:.06em;}
.geof-cym-mbit-game .geof-proof-card.final{border-color:rgba(255,233,91,.45);background:rgba(255,233,91,.055);}
.geof-cym-mbit-game .geof-proof-line{margin:5px 0;color:#dbfff3;}
.geof-cym-mbit-game .geof-proof-line b{color:var(--yellow);}
.geof-cym-mbit-game .geof-final-formula{font-size:18px;font-weight:900;color:var(--yellow);padding:8px 10px;border:1px solid rgba(255,233,91,.35);border-radius:10px;background:rgba(0,0,0,.35);margin:7px 0;}
.geof-cym-mbit-game .geof-circuit-svg.is-classic{min-height:215px;background:rgba(0,0,0,.32);}
.geof-cym-mbit-game .geof-circuit-svg.is-classic .wire{stroke:#eafff7;stroke-width:4.25;filter:none;}
.geof-cym-mbit-game .geof-circuit-svg.is-classic .rail{stroke-width:5.5;}
.geof-cym-mbit-game .geof-circuit-svg.is-classic .junction{fill:#eafff7;filter:none;}
.geof-cym-mbit-game .geof-circuit-svg.is-classic .rtext{font-size:12px;}
.geof-cym-mbit-game .geof-circuit-svg.is-classic .rtext.strong{font-size:15px;}
.geof-cym-mbit-game .geof-circuit-svg.is-classic .branch{font-size:12px;fill:#bfffe9;}
.geof-cym-mbit-game .geof-geo-couple-svg{min-height:170px;margin-top:10px;}
@media(max-width:980px){.geof-cym-mbit-game .geof-proof-cols{grid-template-columns:1fr}.geof-cym-mbit-game{contain:layout style;}}


/* v1.8.7 — vrai plein écran local au jeu, sans casser le template WordPress */
.geof-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.geof-fullscreen-btn{white-space:nowrap;color:var(--cyan)!important;border-color:rgba(0,229,255,.55)!important}
.geof-fullscreen-btn:hover{color:var(--yellow)!important;border-color:rgba(255,233,91,.75)!important}
.geof-cym-mbit-game.geof-is-fullscreen,
.geof-cym-mbit-game.geof-soft-fullscreen{
  position:fixed!important;inset:0!important;z-index:2147483000!important;
  width:100vw!important;max-width:none!important;height:100vh!important;min-height:100vh!important;
  margin:0!important;padding:14px!important;overflow:auto!important;border-radius:0!important;
}
.geof-cym-mbit-game.geof-is-fullscreen .geof-cym-mbit-shell,
.geof-cym-mbit-game.geof-soft-fullscreen .geof-cym-mbit-shell{max-width:none!important;width:100%!important;margin:0!important}
.geof-cym-mbit-game.geof-is-fullscreen .geof-cym-stage,
.geof-cym-mbit-game.geof-soft-fullscreen .geof-cym-stage{grid-template-columns:minmax(920px,1.45fr) minmax(470px,.55fr);gap:16px}
.geof-cym-mbit-game.geof-is-fullscreen .geof-main-canvas,
.geof-cym-mbit-game.geof-soft-fullscreen .geof-main-canvas{max-height:calc(100vh - 250px);object-fit:contain}
.geof-cym-mbit-game.geof-is-fullscreen .geof-panel,
.geof-cym-mbit-game.geof-soft-fullscreen .geof-panel{border-radius:14px}
.geof-cym-mbit-game.geof-is-fullscreen .geof-cym-head,
.geof-cym-mbit-game.geof-soft-fullscreen .geof-cym-head{position:sticky;top:0;z-index:5;background:rgba(0,10,8,.92);padding:8px 10px;border:1px solid rgba(0,255,154,.22);border-radius:14px;backdrop-filter:blur(6px)}
.geof-cym-mbit-game.geof-is-fullscreen .geof-cym-head h1,
.geof-cym-mbit-game.geof-soft-fullscreen .geof-cym-head h1{font-size:clamp(18px,1.5vw,28px)}
@media(max-width:1260px){
  .geof-cym-mbit-game.geof-is-fullscreen .geof-cym-stage,
  .geof-cym-mbit-game.geof-soft-fullscreen .geof-cym-stage{grid-template-columns:1fr}
  .geof-cym-mbit-game.geof-is-fullscreen .geof-main-canvas,
  .geof-cym-mbit-game.geof-soft-fullscreen .geof-main-canvas{max-height:none}
}


/* v1.8.8 — plein écran direct dans la page, sans bouton/mode fullscreen */
.geof-cym-mbit-game{
  width:100vw!important;
  max-width:none!important;
  min-height:100vh!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  margin-top:0!important;
  margin-bottom:0!important;
  padding:16px clamp(10px,1.2vw,24px)!important;
  border-radius:0!important;
}
.geof-cym-mbit-game .geof-cym-mbit-shell{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.geof-cym-mbit-game .geof-cym-stage{
  grid-template-columns:minmax(900px,1.45fr) minmax(440px,.55fr);
  gap:16px;
}
.geof-cym-mbit-game .geof-main-canvas{
  width:100%!important;
}
.geof-cym-mbit-game .geof-head-actions{
  display:flex;
  align-items:center;
  gap:10px;
}
.geof-fullscreen-btn{display:none!important;}
@media(max-width:1260px){
  .geof-cym-mbit-game .geof-cym-stage{grid-template-columns:1fr!important;}
}
@media(max-width:760px){
  .geof-cym-mbit-game{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;min-height:0!important;}
}


/* v1.8.9 — application plein écran directe, sans bouton et sans chrome WordPress */
html.geof-cym-app-active,
body.geof-cym-app-active{
  overflow:hidden!important;
  background:#020706!important;
}
body.geof-cym-app-active #wpadminbar{
  display:none!important;
}
.geof-cym-mbit-game.geof-auto-page-app{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  width:100vw!important;
  max-width:none!important;
  height:100vh!important;
  height:100dvh!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  margin:0!important;
  padding:10px clamp(10px,1.2vw,22px)!important;
  border-radius:0!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
}
.geof-cym-mbit-game.geof-auto-page-app .geof-cym-mbit-shell{
  width:100%!important;
  max-width:none!important;
  min-height:calc(100dvh - 20px)!important;
  margin:0!important;
}
.geof-cym-mbit-game.geof-auto-page-app .geof-cym-head{
  margin-bottom:10px!important;
}
.geof-cym-mbit-game.geof-auto-page-app .geof-cym-stage{
  grid-template-columns:minmax(900px,1.45fr) minmax(430px,.55fr)!important;
  gap:14px!important;
}
.geof-cym-mbit-game.geof-auto-page-app .geof-main-canvas{
  max-height:calc(100dvh - 260px)!important;
  object-fit:contain!important;
}
@media(max-width:1260px){
  .geof-cym-mbit-game.geof-auto-page-app .geof-cym-stage{grid-template-columns:1fr!important;}
  .geof-cym-mbit-game.geof-auto-page-app .geof-main-canvas{max-height:none!important;}
}
@media(max-width:760px){
  .geof-cym-mbit-game.geof-auto-page-app{padding:8px!important;}
}


/* v1.9.0 — dessins plus fins + vraie structure math avec distances */
.geof-cym-mbit-game .geof-circuit-svg.is-clean-classic{min-height:190px;max-height:260px;background:rgba(0,0,0,.30);}
.geof-cym-mbit-game .geof-circuit-svg.is-clean-classic .wire{stroke:#eafff7;stroke-width:4;stroke-linecap:square;stroke-linejoin:miter;fill:none;filter:none;}
.geof-cym-mbit-game .geof-circuit-svg.is-clean-classic .rail{stroke-width:5;}
.geof-cym-mbit-game .geof-circuit-svg.is-clean-classic .feed{stroke-width:4.5;}
.geof-cym-mbit-game .geof-circuit-svg.is-clean-classic .junction{fill:#eafff7;stroke:#eafff7;filter:none;}
.geof-cym-mbit-game .geof-circuit-svg.is-clean-classic .res{fill:#020807;stroke-width:3;}
.geof-cym-mbit-game .geof-circuit-svg.is-clean-classic .res.r3{stroke:#00ff9a}.geof-cym-mbit-game .geof-circuit-svg.is-clean-classic .res.r2{stroke:#00e5ff}.geof-cym-mbit-game .geof-circuit-svg.is-clean-classic .res.r1{stroke:#ffe95b}
.geof-cym-mbit-game .geof-circuit-svg.is-clean-classic text{font-family:Consolas,monospace;font-weight:800;dominant-baseline:middle;text-anchor:middle;}
.geof-cym-mbit-game .geof-circuit-svg.is-clean-classic .c-title{fill:#ffe95b;font-size:15px;text-anchor:start;letter-spacing:.06em;}
.geof-cym-mbit-game .geof-circuit-svg.is-clean-classic .terminal{fill:#00ff9a;font-size:18px;}
.geof-cym-mbit-game .geof-circuit-svg.is-clean-classic .rtext{fill:#eafff7;font-size:15px;}.geof-cym-mbit-game .geof-circuit-svg.is-clean-classic .rtext.strong{fill:#ffe95b;font-size:18px;}
.geof-cym-mbit-game .geof-circuit-svg.is-clean-classic .branch{fill:#cffff1;font-size:14px;}.geof-cym-mbit-game .geof-circuit-svg.is-clean-classic .branch.strong{fill:#ffe95b;font-size:15px;}

.geof-cym-mbit-game .geof-distance-demo{margin:8px 0 12px;border:1px solid rgba(255,233,91,.28);border-radius:12px;background:rgba(255,233,91,.035);overflow:hidden;}
.geof-cym-mbit-game .geof-distance-svg{width:100%;height:auto;max-height:300px;display:block;background:rgba(0,0,0,.18);}
.geof-cym-mbit-game .geof-distance-svg text{font-family:Consolas,monospace;font-weight:800;dominant-baseline:middle;text-anchor:middle;}
.geof-cym-mbit-game .geof-distance-svg .d-title{fill:#ffe95b;font-size:22px;text-anchor:start;letter-spacing:.08em;}
.geof-cym-mbit-game .geof-distance-svg .d-sub{fill:#dfffee;font-size:13px;}
.geof-cym-mbit-game .geof-distance-svg .d-label{fill:#eafff7;font-size:15px;}.geof-cym-mbit-game .geof-distance-svg .d-label.main{fill:#ffe95b;}
.geof-cym-mbit-game .geof-distance-svg .d-txt{font-size:14px;}.geof-cym-mbit-game .geof-distance-svg .d-txt.l1{fill:#ff7878}.geof-cym-mbit-game .geof-distance-svg .d-txt.l2{fill:#87d96c}.geof-cym-mbit-game .geof-distance-svg .d-txt.l12{fill:#ff9f55}.geof-cym-mbit-game .geof-distance-svg .d-txt.l3{fill:#7fb6ff}.geof-cym-mbit-game .geof-distance-svg .d-txt.leq{fill:#6f77ff;}
.geof-cym-mbit-game .geof-distance-svg .d-formula{fill:#eafff7;font-size:18px;}
.geof-cym-mbit-game .geof-distance-svg .d-plus{fill:#eafff7;font-size:26px;}
.geof-cym-mbit-game .geof-distance-svg .d-measure{stroke-width:5;stroke-linecap:square;marker-start:none;marker-end:none;}
.geof-cym-mbit-game .geof-distance-svg .d-measure.l1{stroke:#ff7878}.geof-cym-mbit-game .geof-distance-svg .d-measure.l2{stroke:#87d96c}.geof-cym-mbit-game .geof-distance-svg .d-measure.l12{stroke:#ff9f55}.geof-cym-mbit-game .geof-distance-svg .d-measure.l3{stroke:#7fb6ff}.geof-cym-mbit-game .geof-distance-svg .d-measure.leq{stroke:#6f77ff;stroke-width:6;}
.geof-cym-mbit-game .geof-proof-wide{padding:10px!important;}
.geof-cym-mbit-game .geof-proof-cols{grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:980px){.geof-cym-mbit-game .geof-distance-svg{max-height:none}.geof-cym-mbit-game .geof-proof-cols{grid-template-columns:1fr!important}}


/* v1.9.1 — code réel : couleurs sémantiques et schémas dynamiques */
.geof-cym-mbit-game{
  --c-opp:#ff6b6b;   /* R1 / L1 / Opp */
  --c-adj:#7fdc69;   /* R2 / L2 / Adj */
  --c-hyp:#74a7ff;   /* R3 / L3 / Hyp */
  --c-ser:#ff9d3b;   /* série */
  --c-eq:#6f77ff;    /* équivalent */
}
.geof-key{font-weight:900;padding:2px 7px;border-radius:999px;background:rgba(0,0,0,.35);border:1px solid currentColor;white-space:nowrap}
.geof-key.opp{color:var(--c-opp)}.geof-key.adj{color:var(--c-adj)}.geof-key.hyp{color:var(--c-hyp)}.geof-key.ser{color:var(--c-ser)}.geof-key.eq{color:var(--c-eq)}
.geof-resline.c1{color:var(--c-opp)!important}.geof-resline.c2{color:var(--c-adj)!important}.geof-resline.c3{color:var(--c-hyp)!important}
.geof-mini-tri-lines .side.opp{stroke:var(--c-opp)!important}.geof-mini-tri-lines .side.adj{stroke:var(--c-adj)!important}.geof-mini-tri-lines .side.hyp{stroke:var(--c-hyp)!important}
.geof-mini-triangle .lab.opp{color:var(--c-opp)!important;border-color:color-mix(in srgb,var(--c-opp) 50%,transparent)!important}
.geof-mini-triangle .lab.adj{color:var(--c-adj)!important;border-color:color-mix(in srgb,var(--c-adj) 50%,transparent)!important}
.geof-mini-triangle .lab.hyp{color:var(--c-hyp)!important;border-color:color-mix(in srgb,var(--c-hyp) 50%,transparent)!important}
.geof-circuit-classic{width:100%;height:auto;min-height:235px;border:1px solid rgba(0,255,154,.22);border-radius:12px;background:rgba(0,0,0,.28);display:block}
.geof-circuit-classic text{font-family:Consolas,monospace;font-weight:800;dominant-baseline:middle;text-anchor:middle}.geof-circuit-classic .c-title{fill:#ffe95b;font-size:14px;text-anchor:start;letter-spacing:.08em}.geof-circuit-classic .terminal{fill:#00ff9a;font-size:16px}.geof-circuit-classic .wire{stroke:#eafff7;stroke-width:5;stroke-linecap:round;fill:none;filter:url(#glowWireClassic)}.geof-circuit-classic .rail{stroke-width:6}.geof-circuit-classic .node{fill:#020807;stroke:#00ff9a;stroke-width:3}.geof-circuit-classic .junction{fill:#eafff7}.geof-circuit-classic .res{fill:rgba(0,0,0,.82);stroke-width:3}.geof-circuit-classic .res.r1{stroke:var(--c-opp)}.geof-circuit-classic .res.r2{stroke:var(--c-adj)}.geof-circuit-classic .res.r3{stroke:var(--c-hyp)}.geof-circuit-classic .rtext{fill:#eafff7;font-size:14px}.geof-circuit-classic .rtext.strong{fill:#ffe95b;font-size:18px}.geof-circuit-classic .branch{fill:#dfffee;font-size:13px}.geof-circuit-classic .branch.hyp{fill:var(--c-hyp)}.geof-circuit-classic .branch.ser{fill:var(--c-ser)}
.geof-distance-dynamic{width:100%;height:auto;max-height:none!important;display:block;background:rgba(0,0,0,.20)}
.geof-distance-dynamic text{font-family:Consolas,monospace;font-weight:800;dominant-baseline:middle;text-anchor:middle}.geof-distance-dynamic .d-title{fill:#ffe95b;font-size:22px;text-anchor:start;letter-spacing:.08em}.geof-distance-dynamic .d-sub{fill:#dfffee;font-size:13px}.geof-distance-dynamic .d-label{fill:#eafff7;font-size:16px}.geof-distance-dynamic .d-label.main{fill:#ffe95b}.geof-distance-dynamic .d-plus{fill:#eafff7;font-size:22px}.geof-distance-dynamic .d-formula{fill:#eafff7;font-size:15px}.geof-distance-dynamic .d-sep{stroke:rgba(234,255,247,.28);stroke-width:2;stroke-dasharray:9 7}.geof-distance-dynamic .d-measure{stroke-width:5;stroke-linecap:square}.geof-distance-dynamic .d-measure.l1{stroke:var(--c-opp)}.geof-distance-dynamic .d-measure.l2{stroke:var(--c-adj)}.geof-distance-dynamic .d-measure.l12{stroke:var(--c-ser)}.geof-distance-dynamic .d-measure.l3{stroke:var(--c-hyp)}.geof-distance-dynamic .d-measure.leq{stroke:var(--c-eq);stroke-width:7}.geof-distance-dynamic .d-txt{font-size:14px}.geof-distance-dynamic .d-txt.l1{fill:var(--c-opp)}.geof-distance-dynamic .d-txt.l2{fill:var(--c-adj)}.geof-distance-dynamic .d-txt.l12{fill:var(--c-ser)}.geof-distance-dynamic .d-txt.l3{fill:var(--c-hyp)}.geof-distance-dynamic .d-txt.leq{fill:var(--c-eq)}


/* v1.9.2 — triangle: console en ligne + schémas restaurés et plus compacts */
.geof-cym-mbit-shell.stage-triangle-inline .geof-cym-stage,.geof-cym-mbit-shell.stage-cone-inline .geof-cym-stage{grid-template-columns:1fr!important;}
.geof-cym-mbit-shell.stage-triangle-inline .geof-side,.geof-cym-mbit-shell.stage-cone-inline .geof-side{display:none!important;}
.geof-cym-mbit-shell.stage-triangle-inline .geof-panel,.geof-cym-mbit-shell.stage-cone-inline .geof-panel{max-width:none!important;}
.geof-inline-console{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px;}
.geof-inline-console .geof-section{border:1px solid rgba(0,255,154,.22);border-radius:12px;background:rgba(0,255,154,.025);padding:10px;min-width:0;}
.geof-inline-console .geof-formula{font-size:11px;line-height:1.5;max-height:260px;overflow:auto;}
.geof-diagram-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:start;}
.geof-diagram-pair .geof-couple-formula{font-size:10px;line-height:1.35;padding:7px;margin-top:6px;}
.geof-circuit-compact,.geof-geo-compact{min-width:0;}
.geof-circuit-compact .geof-circuit-svg,.geof-geo-compact .geof-geo-couple-svg{min-height:0!important;max-height:220px!important;overflow:visible!important;}
.geof-circuit-svg.is-classic .junction{fill:#eafff7;stroke:none;filter:url(#glowWire)}
.geof-circuit-svg.is-classic .res{fill:rgba(0,0,0,.86)!important;stroke-width:2.5!important;}
.geof-circuit-svg.is-classic .res.r3{stroke:var(--c-hyp)!important}.geof-circuit-svg.is-classic .res.r2{stroke:var(--c-adj)!important}.geof-circuit-svg.is-classic .res.r1{stroke:var(--c-opp)!important}
.geof-circuit-svg.is-classic .c-title{font-size:11px!important}.geof-circuit-svg.is-classic .branch{font-size:10px!important}.geof-circuit-svg.is-classic .branch.strong{fill:var(--c-ser)!important;font-size:11px!important}.geof-circuit-svg.is-classic .rtext{font-size:10px!important}.geof-circuit-svg.is-classic .rtext.strong{font-size:12px!important}
.geof-geo-couple-svg .g-rlabel.l1{fill:var(--c-opp)!important}.geof-geo-couple-svg .g-rlabel.l2{fill:var(--c-adj)!important}.geof-geo-couple-svg .g-rlabel.l3{fill:var(--c-hyp)!important}
.geof-distance-board{border:1px solid rgba(255,233,91,.30);border-radius:14px;background:rgba(255,233,91,.035);padding:14px;margin:8px 0 12px;overflow:hidden;}
.geof-distance-board h3{margin:0 0 6px;color:var(--yellow);font-size:22px;letter-spacing:.12em;text-transform:uppercase;}
.geof-distance-board p{margin:0 0 14px;color:#eafff7;text-align:center;font-size:13px;}
.geof-distance-step{margin:10px 0 14px;}
.geof-distance-step>b{display:block;text-align:center;color:var(--yellow);font-size:15px;margin-bottom:8px;}
.geof-distance-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center;}
.geof-distance-row.parallel-line{grid-template-columns:minmax(0,1.35fr) auto minmax(0,1fr) auto minmax(0,.8fr);}
.dist-seg{display:block;height:28px;min-width:46px;border-top:5px solid currentColor;position:relative;justify-self:start;color:#eafff7;max-width:100%;}
.dist-seg em{position:absolute;left:50%;top:-24px;transform:translateX(-50%);font-style:normal;font-weight:900;font-size:12px;white-space:nowrap;color:currentColor;}
.dist-seg.l1{color:var(--c-opp)}.dist-seg.l2{color:var(--c-adj)}.dist-seg.l12{color:var(--c-ser)}.dist-seg.l3{color:var(--c-hyp)}.dist-seg.leq{color:var(--c-eq);border-top-width:7px}
.geof-distance-row strong{color:#eafff7;font-size:24px;line-height:1;}
.geof-distance-sep{height:1px;border-top:2px dashed rgba(234,255,247,.24);margin:16px auto 20px;max-width:72%;}
.geof-distance-formula{text-align:center;color:#eafff7;font-weight:900;font-size:15px;margin-top:8px;}
.geof-proof-cols-inline{grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:1100px){.geof-diagram-pair,.geof-inline-console,.geof-proof-cols-inline{grid-template-columns:1fr}.geof-distance-row,.geof-distance-row.parallel-line{grid-template-columns:1fr;gap:18px}.dist-seg{width:100%!important}.dist-seg em{top:-20px}.geof-distance-row strong{text-align:center}.geof-distance-board h3{font-size:18px}}


/* v1.9.3 — alignements propres triangle/couplage/distances */
.geof-cym-mbit-game .geof-coupling-grid{grid-template-columns:1.05fr 1fr 1.05fr!important;gap:12px!important;align-items:stretch!important}
.geof-cym-mbit-game .geof-couple-card{display:flex;flex-direction:column;min-height:0}
.geof-cym-mbit-game .geof-couple-card h4{min-height:22px;display:flex;align-items:center}
.geof-triangle-v193{border:1px solid rgba(0,255,154,.18);border-radius:12px;background:radial-gradient(circle at 35% 35%,rgba(0,255,154,.045),transparent 42%),rgba(0,0,0,.24);overflow:hidden;margin-bottom:8px}
.geof-triangle-v193-svg{width:100%;height:auto;display:block;max-height:238px}.geof-triangle-v193-svg text{font-family:Consolas,monospace;font-weight:900;text-anchor:middle;dominant-baseline:middle}.geof-triangle-v193-svg .t-title{text-anchor:start;fill:#00ff9a;font-size:13px;letter-spacing:.06em}.geof-triangle-v193-svg .side{stroke-width:8;stroke-linecap:round;fill:none}.geof-triangle-v193-svg .side.opp{stroke:var(--c-opp)}.geof-triangle-v193-svg .side.adj{stroke:var(--c-adj)}.geof-triangle-v193-svg .side.hyp{stroke:var(--c-hyp)}.geof-triangle-v193-svg .node{fill:#00110d;stroke:#00ff9a;stroke-width:3}.geof-triangle-v193-svg .node-t{fill:#ffe95b;font-size:11px}.geof-triangle-v193-svg .lab{fill:rgba(0,0,0,.72);stroke-width:1.5}.geof-triangle-v193-svg .lab.opp{stroke:var(--c-opp)}.geof-triangle-v193-svg .lab.adj{stroke:var(--c-adj)}.geof-triangle-v193-svg .lab.hyp{stroke:var(--c-hyp)}.geof-triangle-v193-svg .lab-t{font-size:11px}.geof-triangle-v193-svg .lab-t.opp{fill:var(--c-opp)}.geof-triangle-v193-svg .lab-t.adj{fill:var(--c-adj)}.geof-triangle-v193-svg .lab-t.hyp{fill:var(--c-hyp)}.geof-triangle-v193-svg .lab-v{fill:#eafff7;font-size:10px}
.geof-cym-mbit-game .geof-diagram-pair{grid-template-columns:1.08fr .92fr!important;gap:8px!important;align-items:stretch!important}.geof-cym-mbit-game .geof-diagram-pair>div{min-width:0}.geof-cym-mbit-game .geof-circuit-real,.geof-cym-mbit-game .geof-geo-couple{margin:0!important}.geof-cym-mbit-game .geof-circuit-svg.is-classic-v193{width:100%;height:auto;max-height:255px;min-height:0!important;background:rgba(0,0,0,.30);border:1px solid rgba(0,255,154,.24);border-radius:12px;display:block}.geof-cym-mbit-game .geof-circuit-svg.is-classic-v193 text{font-family:Consolas,monospace;font-weight:900;dominant-baseline:middle;text-anchor:middle}.geof-cym-mbit-game .geof-circuit-svg.is-classic-v193 .c-title{fill:#ffe95b;font-size:13px;text-anchor:start;letter-spacing:.06em}.geof-cym-mbit-game .geof-circuit-svg.is-classic-v193 .wire{stroke:#eafff7;stroke-width:4.6;stroke-linecap:square;stroke-linejoin:miter;fill:none;filter:none}.geof-cym-mbit-game .geof-circuit-svg.is-classic-v193 .rail{stroke-width:6}.geof-cym-mbit-game .geof-circuit-svg.is-classic-v193 .feed{stroke-width:5}.geof-cym-mbit-game .geof-circuit-svg.is-classic-v193 .node{fill:#020807;stroke:#00ff9a;stroke-width:3}.geof-cym-mbit-game .geof-circuit-svg.is-classic-v193 .terminal{fill:#00ff9a;font-size:16px}.geof-cym-mbit-game .geof-circuit-svg.is-classic-v193 .junction{fill:#eafff7;stroke:none}.geof-cym-mbit-game .geof-circuit-svg.is-classic-v193 .res{fill:#020807;stroke-width:3}.geof-cym-mbit-game .geof-circuit-svg.is-classic-v193 .res.r3{stroke:var(--c-hyp)}.geof-cym-mbit-game .geof-circuit-svg.is-classic-v193 .res.r2{stroke:var(--c-adj)}.geof-cym-mbit-game .geof-circuit-svg.is-classic-v193 .res.r1{stroke:var(--c-opp)}.geof-cym-mbit-game .geof-circuit-svg.is-classic-v193 .rtext{fill:#eafff7;font-size:12px}.geof-cym-mbit-game .geof-circuit-svg.is-classic-v193 .rtext.strong{fill:#ffe95b;font-size:15px}.geof-cym-mbit-game .geof-circuit-svg.is-classic-v193 .branch{font-size:12px;fill:#dfffee}.geof-cym-mbit-game .geof-circuit-svg.is-classic-v193 .branch.hyp{fill:var(--c-hyp)}.geof-cym-mbit-game .geof-circuit-svg.is-classic-v193 .branch.ser{fill:var(--c-ser)}.geof-cym-mbit-game .geof-circuit-svg.is-classic-v193 .branch.strong{fill:var(--c-ser);font-size:13px}.geof-tight-formula{margin-top:5px!important;padding:6px 7px!important;font-size:10px!important;line-height:1.28!important}
.geof-cym-mbit-game .geof-geo-compact .geof-geo-couple-svg{max-height:178px!important;min-height:0!important}.geof-cym-mbit-game .geof-geo-couple-svg .g-title{font-size:11px!important}.geof-cym-mbit-game .geof-geo-couple-svg .g-foot{font-size:9px!important}.geof-cym-mbit-game .geof-geo-couple-svg .g-rlabel{font-size:9px!important}
.geof-distance-board-v193{max-width:1180px;margin:6px auto 10px!important;padding:10px!important}.geof-distance-v193{width:100%;height:auto;display:block;background:rgba(0,0,0,.18);border-radius:10px}.geof-distance-v193 text{font-family:Consolas,monospace;font-weight:900;text-anchor:middle;dominant-baseline:middle}.geof-distance-v193 .d-title{fill:#ffe95b;font-size:20px;text-anchor:start;letter-spacing:.09em}.geof-distance-v193 .d-sub{fill:#eafff7;font-size:12px}.geof-distance-v193 .d-label{fill:#ffe95b;font-size:15px}.geof-distance-v193 .seg{stroke-width:6;stroke-linecap:square}.geof-distance-v193 .seg.l1{stroke:var(--c-opp)}.geof-distance-v193 .seg.l2{stroke:var(--c-adj)}.geof-distance-v193 .seg.l12{stroke:var(--c-ser)}.geof-distance-v193 .seg.l3{stroke:var(--c-hyp)}.geof-distance-v193 .seg.leq{stroke:var(--c-eq);stroke-width:8}.geof-distance-v193 .txt{font-size:12px}.geof-distance-v193 .txt.l1{fill:var(--c-opp)}.geof-distance-v193 .txt.l2{fill:var(--c-adj)}.geof-distance-v193 .txt.l12{fill:var(--c-ser)}.geof-distance-v193 .txt.l3{fill:var(--c-hyp)}.geof-distance-v193 .txt.leq{fill:var(--c-eq)}.geof-distance-v193 .op{fill:#eafff7;font-size:24px}.geof-distance-v193 .sep{stroke:rgba(234,255,247,.24);stroke-width:2;stroke-dasharray:9 7}.geof-distance-v193 .formula{fill:#eafff7;font-size:16px}
@media(max-width:1100px){.geof-cym-mbit-game .geof-coupling-grid{grid-template-columns:1fr!important}.geof-cym-mbit-game .geof-diagram-pair{grid-template-columns:1fr!important}.geof-distance-board-v193{max-width:100%}}


/* v1.9.5 — étape 2 : slider 0.1°, cône auto, B par clic direct, fils alim */
.geof-cone-stage{display:block}
.geof-cone-hero{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}
.geof-cone-control-card,.geof-cone-visual-card{border:1px solid rgba(0,255,154,.24);border-radius:15px;background:rgba(0,0,0,.28);padding:12px;min-width:0}
.geof-cone-control-card h3,.geof-cone-visual-card h3{margin:0 0 8px;color:#00ff9a;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.geof-cone-control-card p{margin:0 0 10px;color:#dfffee;font-size:12px;line-height:1.45}
.geof-angle-control{border:1px solid rgba(255,233,91,.25);border-radius:12px;padding:10px;background:rgba(255,233,91,.04)}
.geof-angle-control label{display:block;color:#ffe95b;font-weight:900;margin-bottom:8px}
.geof-angle-control input[type=range]{width:100%;accent-color:#ffe95b}
.geof-angle-scale{display:flex;justify-content:space-between;color:#bfeee0;font-size:10px;gap:8px}
.geof-cone-mini-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.geof-cone-kpi{display:inline-flex;flex-direction:column;border:1px solid rgba(0,229,255,.22);border-radius:10px;padding:8px 10px;margin:3px 5px 3px 0;background:rgba(0,229,255,.035)}.geof-cone-kpi b{color:#ffe95b;font-size:17px}.geof-cone-kpi span{font-size:10px;color:#bfeee0}.geof-cone-formula{border:1px solid rgba(255,233,91,.25);border-radius:10px;padding:8px;margin-top:7px;color:#ffe95b;background:rgba(255,233,91,.04);font-weight:900;font-size:12px}
.geof-cone-visual-frame{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:12px;margin-bottom:14px}
.geof-cone-visual-card .geof-triangle-v193-svg{min-height:230px}.geof-diagram-pair-cone{grid-template-columns:1fr!important}.geof-diagram-pair-cone .geof-circuit-real,.geof-diagram-pair-cone .geof-geo-couple{margin:0 0 8px}.geof-diagram-pair-cone svg{min-height:160px!important}
.geof-cone-inline-math{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.geof-cone-inline-math .geof-proof-card{min-height:auto}
.geof-cone-sweep-diagram{border:1px solid rgba(255,233,91,.24);border-radius:12px;background:rgba(255,233,91,.035);padding:6px}.geof-cone-sweep-diagram svg{width:100%;height:auto;display:block}.geof-cone-sweep-diagram text{font-family:Consolas,monospace;font-weight:900}.geof-cone-sweep-diagram .cs-title{fill:#ffe95b;font-size:15px;letter-spacing:.08em}.geof-cone-sweep-diagram .axis{stroke:#e9c58a;stroke-width:3}.geof-cone-sweep-diagram .lamella{fill:url(#coneSweepGrad);stroke:rgba(0,255,154,.28);stroke-width:2}.geof-cone-sweep-diagram .side{stroke-width:5;stroke-linecap:round}.geof-cone-sweep-diagram .side.hyp{stroke:#6ea5ff}.geof-cone-sweep-diagram .side.hyp.faint{opacity:.22}.geof-cone-sweep-diagram .side.adj{stroke:#7eff6e}.geof-cone-sweep-diagram .base{fill:rgba(0,0,0,.10);stroke:rgba(255,255,255,.16);stroke-width:2;stroke-dasharray:7 7}.geof-cone-sweep-diagram .sweep{fill:none;stroke:#ffe95b;stroke-width:6;stroke-linecap:round}.geof-cone-sweep-diagram .b-range{fill:none;stroke:#ff6970;stroke-width:3;stroke-linecap:round}.geof-cone-sweep-diagram .b-dot{fill:#ff6970;stroke:#fff;stroke-width:2}.geof-cone-sweep-diagram .b-label{fill:#ffb1b4;font-size:12px}.geof-cone-sweep-diagram .cs-lab{font-size:11px}.geof-cone-sweep-diagram .cs-lab.hyp{fill:#8db5ff}.geof-cone-sweep-diagram .cs-lab.adj{fill:#8cff84}.geof-cone-sweep-diagram .cs-lab.opp{fill:#ff8a8a}.geof-cone-sweep-diagram .cs-foot{fill:#dfffee;font-size:11px}
@media(max-width:1100px){.geof-cone-hero,.geof-cone-visual-frame,.geof-cone-inline-math{grid-template-columns:1fr}.geof-cym-mbit-shell.stage-cone-inline .geof-main-canvas{max-height:none}}


/* v1.9.5 — finitions étape cône */
.geof-angle-scale{grid-template-columns:repeat(4,1fr);display:grid;gap:6px}
.geof-cone-mini-actions .geof-btn[data-action="autoCone"]{border-color:rgba(0,255,154,.55);color:#00ff9a;background:rgba(0,255,154,.08)}


/* v1.9.6 — étape cône : suivant verrouillé + B pilote le rayon Opp/onde */
.geof-btn[disabled]{filter:grayscale(.35);opacity:.36!important;box-shadow:none!important}
.geof-cone-mini-actions .geof-btn[data-action="autoCone"]{border-color:rgba(0,255,154,.75)!important;color:#00180f!important;background:linear-gradient(180deg,rgba(0,255,154,.92),rgba(0,155,95,.75))!important;text-shadow:none}


/* v1.9.7 — HP / voltmètre : étoile, tension calculée, membrane oscillante */
.geof-hp-proof .geof-note{min-height:86px}
.geof-coupling-frame .geof-tablewrap table th,
.geof-coupling-frame .geof-tablewrap table td{white-space:nowrap}


/* v2.0.0 — stepper maintenu + interface scan plus stable */
.geof-stepper{display:grid;grid-template-columns:42px 1fr 42px;gap:6px;align-items:center}
.geof-stepper input{min-width:0}
.geof-stepper button{height:42px;border:1px solid rgba(0,255,154,.35);border-radius:10px;background:rgba(0,255,154,.06);color:#00ff9a;font:900 18px Consolas,monospace;cursor:pointer;user-select:none}
.geof-stepper button:hover{background:rgba(0,255,154,.13)}
.geof-stepper button:active{transform:translateY(1px);filter:brightness(1.25)}


/* v2.0.1 — appareils de mesure HP / tension */
.geof-measure-apparatus{border:1px solid rgba(255,233,91,.34);border-radius:16px;background:linear-gradient(180deg,rgba(255,233,91,.045),rgba(0,255,154,.018));padding:12px;margin:4px 0 14px;box-shadow:inset 0 0 38px rgba(255,233,91,.03)}
.geof-meter-controls{margin-bottom:10px}
.geof-meter-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.geof-meter-card{border:1px solid rgba(0,255,154,.24);border-radius:14px;background:rgba(0,0,0,.30);padding:10px;min-width:0}
.geof-meter-card h4{margin:0 0 8px;color:var(--green);font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.geof-meter-card p{margin:8px 0 0;color:#dfffee;font-size:12px;line-height:1.45}.geof-meter-card b{color:var(--yellow)}
.geof-meter-canvas{width:100%;height:auto;display:block;border:1px solid rgba(0,255,154,.28);border-radius:12px;background:#020807;max-height:360px}
@media(max-width:980px){.geof-meter-grid{grid-template-columns:1fr}}


/* v2.0.2 — étape appareils séparée + steppers temps réel */
.geof-cym-steps{grid-template-columns:repeat(6,1fr)!important}
.geof-cym-mbit-shell.stage-measure-inline .geof-cym-stage{grid-template-columns:1fr!important}
.geof-cym-mbit-shell.stage-measure-inline .geof-side{display:none!important}
.geof-cym-mbit-shell.stage-measure-inline .geof-panel{max-width:none!important}
.geof-cym-mbit-shell.stage-measure-inline .geof-main-canvas{max-height:480px;object-fit:contain}
.geof-measure-apparatus .geof-coupling-title{font-size:14px;color:#ffe95b;margin-bottom:10px;letter-spacing:.09em}
.geof-meter-card p{min-height:36px}
@media(max-width:1260px){.geof-cym-steps{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:760px){.geof-cym-steps{grid-template-columns:1fr!important}}

/* v2.0.6 — étape appareils : un seul vrai affichage, plus de doublon top/bottom */
.geof-cym-mbit-shell.stage-measure-inline .geof-canvasbox{display:none!important}
.geof-cym-mbit-shell.stage-measure-inline .geof-panel-pad[data-main]{padding-top:14px}
.geof-cym-mbit-shell.stage-measure-inline .geof-meter-canvas{max-height:none;image-rendering:auto}
.geof-cym-mbit-shell.stage-measure-inline .geof-meter-card{background:rgba(0,0,0,.42)}

/* v2.0.8 — appareils analogiques plus compacts + LED strobo */
.geof-measure-mini-note{border:1px solid rgba(0,255,154,.22);border-radius:12px;background:rgba(0,255,154,.035);color:#eafff7;padding:8px 10px;margin:0 0 10px;font:800 12px Consolas,monospace;line-height:1.35}
.geof-meter-headline{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(0,255,154,.22);border-radius:12px;background:rgba(0,0,0,.30);padding:8px 10px;margin-bottom:10px}
.geof-meter-headline b{color:#ffe95b;font:900 13px Consolas,monospace;letter-spacing:.08em}.geof-meter-headline span{color:#dfffee;font:800 11px Consolas,monospace;text-align:right}
.geof-meter-controls.compact{gap:8px!important;margin-bottom:8px!important}
.geof-meter-controls.compact .geof-field{padding:7px!important}.geof-meter-controls.compact .geof-field label{font-size:10px!important}.geof-meter-controls.compact .geof-field small{font-size:9px!important}
.geof-cym-mbit-shell.stage-measure-inline .geof-measure-apparatus{padding:10px!important;margin-top:0!important}
@media(max-width:980px){.geof-meter-headline{display:block}.geof-meter-headline span{display:block;text-align:left;margin-top:4px}}

/* v2.1.0 — étape audio épurée */
.geof-cym-steps{grid-template-columns:repeat(7,1fr)!important}
.geof-audio-clean .geof-note{display:none!important}
.geof-audio-clean .geof-audio-line{border:1px solid rgba(0,255,154,.25);border-radius:12px;background:rgba(0,255,154,.035);padding:9px 12px;margin:0 0 10px;display:flex;justify-content:space-between;gap:14px;align-items:center;font-family:Consolas,monospace}
.geof-audio-clean .geof-audio-line b{color:#ffe95b;font-size:12px;letter-spacing:.04em}.geof-audio-clean .geof-audio-line span{color:#eafff7;font-size:12px;text-align:right}
.geof-audio-clean .geof-audio-fileline{border:1px solid rgba(0,255,154,.22);border-radius:12px;background:rgba(0,0,0,.30);padding:8px 10px;margin:0 0 10px;display:grid;grid-template-columns:180px 1fr 1.4fr;gap:10px;align-items:center}
.geof-audio-clean .geof-audio-fileline label{color:#00ff9a;font:900 11px Consolas,monospace;text-transform:uppercase;letter-spacing:.08em}.geof-audio-clean .geof-audio-fileline small{color:#bfeee0;font:800 10px Consolas,monospace}.geof-audio-clean .geof-audio-kpi{margin-top:10px}
@media(max-width:1000px){.geof-cym-steps{grid-template-columns:repeat(3,1fr)!important}.geof-audio-clean .geof-audio-line{display:block}.geof-audio-clean .geof-audio-line span{display:block;text-align:left;margin-top:4px}.geof-audio-clean .geof-audio-fileline{grid-template-columns:1fr}}
@media(max-width:760px){.geof-cym-steps{grid-template-columns:1fr!important}}

/* v2.1.1 — audio déclencheur épuré */
.geof-audio-trigger-stage{padding-top:10px!important}
.geof-audio-statusline{border:1px solid rgba(0,255,154,.24);border-radius:12px;background:rgba(0,255,154,.035);padding:8px 10px;margin:0 0 10px;display:flex;justify-content:space-between;gap:14px;align-items:center;font-family:Consolas,monospace}
.geof-audio-statusline b{color:#ffe95b;font-size:12px}.geof-audio-statusline span{color:#dfffee;font-size:11px;text-align:right}
.geof-audio-trigger-row{display:grid;grid-template-columns:1.2fr 260px 1fr;gap:10px;align-items:stretch;margin-bottom:10px}
.geof-audio-trigger-row .geof-field{margin:0!important;padding:8px!important}
.geof-audio-trigger-row input[type=text]{width:100%;border:1px solid rgba(0,255,154,.35);border-radius:10px;background:#00140f;color:#00ff9a;padding:10px;font:900 15px Consolas,monospace}
.geof-audio-bulb{border:1px solid rgba(255,233,91,.32);border-radius:14px;background:radial-gradient(circle at 50% 35%,rgba(255,233,91,.08),rgba(0,0,0,.30) 60%);display:grid;grid-template-columns:64px 1fr;grid-template-rows:auto auto auto;gap:2px 10px;align-items:center;padding:8px 10px;min-height:86px;box-shadow:inset 0 0 30px rgba(255,233,91,.04)}
.geof-audio-bulb .bulb-glass{grid-row:1/4;width:50px;height:50px;border-radius:50%;border:2px solid rgba(255,233,91,.50);background:radial-gradient(circle at 35% 30%,rgba(255,255,210,.25),rgba(255,233,91,.10) 42%,rgba(0,0,0,.45) 75%);box-shadow:0 0 10px rgba(255,233,91,.18)}
.geof-audio-bulb.on .bulb-glass{background:radial-gradient(circle at 35% 30%,#fffbd0,#ffe95b 45%,#ff9f2e 78%);box-shadow:0 0 32px rgba(255,233,91,.95),0 0 70px rgba(255,150,40,.45)}
.geof-audio-bulb b{color:#ffe95b;font:900 20px Consolas,monospace;letter-spacing:.12em}.geof-audio-bulb.on b{color:#00140f;background:#ffe95b;border-radius:7px;padding:2px 6px;width:max-content}.geof-audio-bulb span,.geof-audio-bulb small{color:#dfffee;font:800 10px Consolas,monospace;line-height:1.25}.geof-audio-bulb small{color:#bfeee0}
.geof-audio-meters .geof-meter-card p{display:none!important}
@media(max-width:1050px){.geof-audio-trigger-row{grid-template-columns:1fr}.geof-audio-statusline{display:block}.geof-audio-statusline span{display:block;text-align:left;margin-top:4px}}


/* v2.3.0 — theme-safe : le thème GEOF PV gère le plein écran, pas le plugin. */
.geof-cym-mbit-game.geof-theme-safe-app{
  width:100%;max-width:none;margin:0;padding:12px;min-height:100vh;border:0;border-radius:0;
}
.geof-cym-mbit-game.geof-theme-safe-app .geof-cym-mbit-shell{max-width:none;width:100%;}
.geof-cym-mbit-game.geof-theme-safe-app .geof-cym-stage{min-height:calc(100vh - 190px);}
@media(max-width:1200px){.geof-cym-mbit-game.geof-theme-safe-app .geof-cym-stage{grid-template-columns:1fr}.geof-cym-mbit-game.geof-theme-safe-app .geof-side{order:2}}

/* FTP v1.1.0 — étape audio : lecture texte détecté dans la musique */
.geof-audio-decoder{border:1px solid rgba(255,233,91,.42);background:rgba(255,233,91,.06);border-radius:14px;padding:12px 14px;margin:12px 0 14px;display:flex;gap:14px;align-items:center;font-family:Consolas,monospace;box-shadow:0 0 18px rgba(255,233,91,.08)}
.geof-audio-decoder b{color:#ffe95b;text-transform:uppercase;letter-spacing:.08em;font-size:12px;white-space:nowrap}.geof-audio-decoder span{color:#eafff7;font-size:24px;font-weight:900;letter-spacing:.12em;min-height:28px}.geof-audio-trigger-row{grid-template-columns:2fr .75fr .65fr 1.1fr!important}.geof-audio-file{margin-top:10px;border:1px solid rgba(0,255,154,.25);border-radius:12px;background:rgba(0,0,0,.32);color:#eafff7;padding:10px;width:100%;box-sizing:border-box}
.geof-audio-pipeline{margin:8px 0 6px}.geof-audio-clean .geof-audio-pipeline .geof-note{display:block!important;padding:8px 10px;min-height:auto;font-size:11px;line-height:1.35}.geof-audio-clean .geof-audio-pipeline .geof-note b{color:#ffe95b}
@media(max-width:1100px){.geof-audio-trigger-row{grid-template-columns:1fr!important}.geof-audio-decoder{display:block}.geof-audio-decoder span{display:block;margin-top:6px;font-size:18px}}

/* FTP v1.2.0 — décryptage visuel : cymatiques enregistrées + film musique */
.geof-audio-cymatic-stage{border:1px solid rgba(0,255,154,.24);border-radius:16px;background:linear-gradient(180deg,rgba(0,255,154,.035),rgba(0,0,0,.24));padding:10px;margin:10px 0 12px;box-shadow:inset 0 0 22px rgba(0,255,154,.035)}
.geof-audio-strip-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:3px 0 7px;font-family:Consolas,monospace}
.geof-audio-strip-head b{color:#00ff9a;text-transform:uppercase;letter-spacing:.08em;font-size:11px}.geof-audio-strip-head span{color:#ffe95b;font:900 11px Consolas,monospace;text-align:right}
.geof-audio-live-strip,.geof-audio-cym-track{display:flex;gap:7px;overflow-x:auto;scrollbar-color:#00ff9a rgba(0,0,0,.3);padding:5px 2px 10px;margin-bottom:8px;scroll-behavior:smooth}
.geof-audio-frame-tile,.geof-audio-cym-tile{flex:0 0 auto;min-width:58px;border:1px solid rgba(234,255,247,.14);border-radius:10px;background:rgba(0,0,0,.34);padding:6px 6px 5px;text-align:center;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;position:relative}
.geof-audio-frame-tile b,.geof-audio-cym-tile b{display:block;color:#dfffee;font:900 12px Consolas,monospace;margin-bottom:4px}.geof-audio-frame-tile small,.geof-audio-cym-tile small{display:block;color:#9edbcf;font:800 9px Consolas,monospace;margin-top:4px;white-space:nowrap}
.geof-audio-frame-tile.active{border-color:#ffe95b;background:rgba(255,233,91,.12);box-shadow:0 0 22px rgba(255,233,91,.22);transform:translateY(-2px) scale(1.05)}
.geof-audio-cym-tile.active{border-color:#59e0ff;background:rgba(89,224,255,.10);box-shadow:0 0 24px rgba(89,224,255,.25);transform:translateY(-2px) scale(1.07)}
.geof-audio-cym-tile.done{border-color:#ffe95b;background:rgba(255,233,91,.10);box-shadow:0 0 16px rgba(255,233,91,.16)}.geof-audio-cym-tile.done:after{content:'✓';position:absolute;top:-6px;right:-5px;background:#ffe95b;color:#00140f;border-radius:50%;width:18px;height:18px;display:grid;place-items:center;font:900 12px Consolas,monospace}
.geof-audio-mini-glyph{display:grid;gap:1px;justify-content:center}.geof-audio-mini-glyph i{width:3px;height:3px;border-radius:1px;background:rgba(234,255,247,.10)}.geof-audio-mini-glyph i.on{background:#00ff9a;box-shadow:0 0 5px rgba(0,255,154,.65)}
.geof-audio-frame-tile.active .geof-audio-mini-glyph i.on{background:#ffe95b;box-shadow:0 0 8px rgba(255,233,91,.80)}.geof-audio-cym-tile.active .geof-audio-mini-glyph i.on{background:#59e0ff;box-shadow:0 0 8px rgba(89,224,255,.75)}.geof-audio-cym-tile.done .geof-audio-mini-glyph i.on{background:#ffe95b;box-shadow:0 0 6px rgba(255,233,91,.70)}
.geof-empty-strip{width:100%;border:1px dashed rgba(0,255,154,.22);border-radius:10px;color:#bfeee0;padding:12px;text-align:center;font:800 11px Consolas,monospace;background:rgba(0,0,0,.18)}
@media(max-width:900px){.geof-audio-frame-tile,.geof-audio-cym-tile{min-width:52px;padding:5px}.geof-audio-strip-head{display:block}.geof-audio-strip-head span{display:block;text-align:left;margin-top:3px}}


/* FTP v1.3.0 — scène audio simplifiée */
.geof-toolbar-stage-note{align-self:center;border:1px solid rgba(0,255,154,.25);border-radius:999px;background:rgba(0,255,154,.05);color:#dfffee;padding:8px 12px;font:900 11px Consolas,monospace;letter-spacing:.06em;text-transform:uppercase}
.geof-audio-v130 h2{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.geof-audio-v130 h2:after{content:'musique analysée · fichier non modifié';color:#ffe95b;font:900 11px Consolas,monospace;border:1px solid rgba(255,233,91,.25);border-radius:999px;padding:6px 10px;background:rgba(255,233,91,.05)}
.geof-audio-scene-flow{display:grid;grid-template-columns:1fr 36px 1fr 36px 1fr 36px 1fr;gap:8px;align-items:stretch;margin:4px 0 10px}.geof-audio-scene-flow .scene-node{border:1px solid rgba(234,255,247,.16);border-radius:14px;background:rgba(0,0,0,.28);padding:9px 10px;display:grid;grid-template-columns:34px 1fr;gap:2px 8px;align-items:center;min-height:58px}.geof-audio-scene-flow .scene-node b{grid-row:1/3;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(0,255,154,.08);border:1px solid rgba(0,255,154,.35);color:#00ff9a;font:900 15px Consolas,monospace}.geof-audio-scene-flow .scene-node span{color:#eafff7;font:900 12px Consolas,monospace;text-transform:uppercase;letter-spacing:.08em}.geof-audio-scene-flow .scene-node small{color:#9edbcf;font:800 10px Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.geof-audio-scene-flow .scene-node.ready{border-color:rgba(0,255,154,.42);box-shadow:0 0 18px rgba(0,255,154,.08)}.geof-audio-scene-flow .scene-node.ready b{background:#00ff9a;color:#00140f}.geof-audio-scene-flow .scene-node.active{border-color:#ffe95b;box-shadow:0 0 24px rgba(255,233,91,.17);background:rgba(255,233,91,.055)}.geof-audio-scene-flow .scene-arrow{display:grid;place-items:center;color:#ffe95b;font:900 20px Consolas,monospace;opacity:.75}
.geof-audio-scene-grid{display:grid;grid-template-columns:1.15fr 1fr .85fr;gap:10px;margin:10px 0 12px}.geof-audio-panel{border:1px solid rgba(0,255,154,.22);border-radius:15px;background:linear-gradient(180deg,rgba(0,255,154,.035),rgba(0,0,0,.25));padding:10px;min-width:0}.geof-audio-panel h3{margin:0 0 8px;color:#00ff9a;font:900 12px Consolas,monospace;letter-spacing:.08em;text-transform:uppercase}.geof-audio-panel p{margin:7px 0 0;color:#bfeee0;font:800 11px Consolas,monospace;line-height:1.35}.geof-audio-fileline-v130{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center}.geof-audio-fileline-v130 .geof-audio-file{margin:0!important;min-width:0}.geof-audio-message-grid{display:grid;grid-template-columns:1fr 82px 82px;gap:8px}.geof-audio-message-grid .geof-field{margin:0!important;padding:7px!important}.geof-audio-message-grid input[type=text]{width:100%;border:1px solid rgba(0,255,154,.35);border-radius:10px;background:#00140f;color:#00ff9a;padding:10px;font:900 15px Consolas,monospace}.geof-audio-big-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.geof-audio-big-actions .big{font-size:16px!important;padding:14px 12px!important;letter-spacing:.08em}.geof-audio-big-actions .pink{grid-column:1/3}.geof-audio-small-actions{display:flex;gap:7px;flex-wrap:wrap}.geof-audio-stage-readout{display:grid;grid-template-columns:minmax(280px,.9fr) 1.3fr;gap:10px;margin:10px 0 12px}.geof-audio-stage-readout .geof-audio-decoder{margin:0!important;height:100%;box-sizing:border-box}.geof-audio-stage-readout .geof-audio-bulb{min-height:0!important}.geof-audio-v130 .geof-audio-file{width:100%;box-sizing:border-box}.geof-audio-v130 .geof-audio-pipeline{display:none!important}.geof-audio-v130 .geof-audio-trigger-row{display:none!important}.geof-audio-v130 .geof-audio-kpi{margin-top:10px}
@media(max-width:1180px){.geof-audio-scene-grid{grid-template-columns:1fr}.geof-audio-scene-flow{grid-template-columns:1fr}.geof-audio-scene-flow .scene-arrow{display:none}.geof-audio-stage-readout{grid-template-columns:1fr}.geof-audio-fileline-v130{grid-template-columns:1fr}.geof-audio-message-grid{grid-template-columns:1fr}.geof-audio-v130 h2{display:block}.geof-audio-v130 h2:after{display:inline-block;margin-top:6px}}


/* FTP v1.5.0 — scène audio simplifiée + saisie stable */
.geof-cym-mbit-shell.stage-early-zoomout .geof-cym-stage{
  grid-template-columns:1fr!important;
  min-height:auto!important;
}
.geof-cym-mbit-shell.stage-early-zoomout .geof-side{
  display:none!important;
}
.geof-cym-mbit-shell.stage-early-zoomout .geof-panel{
  max-width:min(1560px,100%);
  margin:0 auto;
}
.geof-cym-mbit-shell.stage-early-zoomout .geof-canvasbox{
  display:flex;
  justify-content:center;
  align-items:center;
  padding:10px 12px!important;
  max-height:62vh;
  overflow:hidden;
}
.geof-cym-mbit-shell.stage-early-zoomout .geof-main-canvas{
  width:auto!important;
  max-width:100%!important;
  max-height:min(62vh,620px)!important;
  object-fit:contain!important;
}
.geof-cym-mbit-shell.stage-protocol-inline .geof-main-canvas{
  max-height:min(48vh,480px)!important;
}
.geof-cym-mbit-shell.stage-triangle-inline .geof-main-canvas{
  max-height:min(58vh,560px)!important;
}
.geof-cym-mbit-shell.stage-cone-inline .geof-main-canvas{
  max-height:min(60vh,600px)!important;
}
.geof-cym-mbit-shell.stage-early-zoomout .geof-hint{
  left:22px!important;
  bottom:18px!important;
  max-width:min(880px,calc(100% - 44px));
  font-size:11px!important;
  padding:7px 9px!important;
}
.geof-cym-mbit-shell.stage-early-zoomout .geof-panel-pad[data-main]{
  padding-top:10px!important;
}
.geof-cym-mbit-shell.stage-early-zoomout .geof-guidebox{
  margin-bottom:8px!important;
}
.geof-audio-v140-note{color:#bfeee0;font:800 11px Consolas,monospace;line-height:1.35;margin-top:7px;}
.geof-audio-v130 .geof-audio-small-actions .geof-btn[data-action="autoStrobo"]{display:none!important;}
@media(max-height:820px){
  .geof-cym-mbit-shell.stage-early-zoomout .geof-main-canvas{max-height:52vh!important;}
  .geof-cym-mbit-shell.stage-early-zoomout .geof-canvasbox{max-height:52vh;}
  .geof-cym-head{margin-bottom:7px!important}.geof-cym-steps{margin-bottom:7px!important}.geof-guidebox{margin-bottom:7px!important}.geof-toolbar{padding:8px!important}
}


/* FTP v1.5.0 — scène audio simplifiée */
.geof-audio-v150 .geof-audio-flow-simple{grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;margin-bottom:12px;}
.geof-audio-v150 .geof-audio-stage-control-v150{display:grid;grid-template-columns:minmax(300px,1fr) minmax(360px,1.2fr) minmax(230px,.8fr);gap:12px;margin:12px 0 16px;}
.geof-audio-v150 .geof-audio-panel{min-height:unset;}
.geof-audio-v150 .geof-audio-fileline-v130{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.geof-audio-v150 .geof-audio-file{min-width:240px;flex:1;}
.geof-audio-v150 .text-wide{grid-column:1 / -1;}
.geof-audio-v150 .text-wide input{font-size:18px;letter-spacing:.08em;}
.geof-audio-v150 .play-panel{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-content:start;}
.geof-audio-v150 .play-panel h3,.geof-audio-v150 .play-panel .geof-progress,.geof-audio-v150 .play-panel .geof-note{grid-column:1/-1;}
.geof-audio-v150 .geof-play-hero{font-size:20px;min-height:56px;box-shadow:0 0 24px rgba(194,105,255,.25);grid-column:1/-1;}
.geof-audio-v150 .compact{padding:9px 10px;font-size:12px;}
.geof-audio-v150 input:focus{outline:2px solid rgba(255,233,91,.85);box-shadow:0 0 0 4px rgba(255,233,91,.12),0 0 18px rgba(0,255,154,.22);}
@media(max-width:1050px){.geof-audio-v150 .geof-audio-stage-control-v150{grid-template-columns:1fr}.geof-audio-v150 .geof-audio-flow-simple{grid-template-columns:1fr}.geof-audio-v150 .scene-arrow{display:none}}

/* v1.7.0 — médiathèque audio + textes liés */
.geof-audio-v180 .geof-audio-stage-control-v180{display:grid;grid-template-columns:minmax(360px,1.05fr) minmax(420px,1.25fr) minmax(240px,.75fr);gap:12px;margin:12px 0 16px;align-items:start}
.geof-audio-v180 .geof-media-pickline{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;gap:8px;align-items:center;margin-bottom:8px}
.geof-audio-v180 .geof-media-list{display:flex;gap:8px;overflow:auto;padding:7px;border:1px solid rgba(0,255,154,.18);border-radius:12px;background:rgba(0,0,0,.22);min-height:46px;max-height:78px}
.geof-audio-v180 .geof-media-chip{min-width:120px;border:1px solid rgba(0,255,154,.24);border-radius:11px;background:rgba(0,16,13,.88);color:#00ff9a;padding:7px 9px;text-align:left;cursor:pointer;font:900 11px Consolas,monospace}
.geof-audio-v180 .geof-media-chip b{display:block;color:#eafff7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}
.geof-audio-v180 .geof-media-chip small{display:block;color:#ffe95b;margin-top:2px;font-size:9px;text-transform:uppercase;opacity:.9}
.geof-audio-v180 .geof-media-chip.active{border-color:#ffe95b;box-shadow:0 0 18px rgba(255,233,91,.16);background:rgba(255,233,91,.06)}
.geof-audio-v180 .geof-audio-message-grid-v180{display:grid;grid-template-columns:1fr auto auto 88px 76px;gap:8px;align-items:end}
.geof-audio-v180 .geof-audio-message-grid-v180 .text-wide{grid-column:auto;min-width:0}
.geof-audio-v180 .geof-saved-texts{margin-top:8px;display:grid;gap:6px;max-height:110px;overflow:auto;border:1px solid rgba(255,233,91,.18);border-radius:12px;padding:7px;background:rgba(255,233,91,.035)}
.geof-audio-v180 .geof-saved-text{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:7px;align-items:center;border:1px solid rgba(0,255,154,.16);border-radius:10px;padding:5px;background:rgba(0,0,0,.22)}
.geof-audio-v180 .geof-saved-text span{color:#eafff7;font:900 13px Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.geof-btn.tiny{font-size:10px!important;padding:5px 7px!important;border-radius:8px!important;letter-spacing:.02em!important}
.geof-audio-meters-visible{margin-top:14px;min-height:260px;align-items:stretch}
.geof-audio-meters-visible .geof-meter-card{border:1px solid rgba(0,255,154,.22);border-radius:14px;background:rgba(0,0,0,.28);padding:10px;min-height:260px;display:flex;flex-direction:column}
.geof-audio-meters-visible .geof-meter-card h4{margin:0 0 8px;color:#eafff7;font:900 15px Consolas,monospace}
.geof-audio-meters-visible .geof-meter-canvas{display:block!important;width:100%!important;height:clamp(260px,28vh,380px)!important;max-height:none!important;background:#020807;border:1px solid rgba(0,255,154,.36);border-radius:12px;image-rendering:auto}
.geof-audio-v180 code{color:#ffe95b;background:rgba(0,0,0,.25);padding:1px 4px;border-radius:5px}
@media(max-width:1200px){.geof-audio-v180 .geof-audio-stage-control-v180{grid-template-columns:1fr}.geof-audio-v180 .geof-audio-message-grid-v180{grid-template-columns:1fr 1fr}.geof-audio-v180 .geof-audio-message-grid-v180 .text-wide{grid-column:1/-1}.geof-audio-v180 .geof-media-pickline{grid-template-columns:1fr}.geof-audio-v180 .geof-media-pickline .geof-btn{width:100%}}


/* v1.8.0 — playlist textes par musique */
.geof-audio-v180 .geof-audio-message-grid-v180{grid-template-columns:1fr auto auto 88px;}
.geof-audio-v180 .geof-playlist-text{grid-template-columns:34px minmax(0,1fr) auto;}
.geof-audio-v180 .geof-playlist-text>b{display:grid;place-items:center;width:26px;height:26px;border-radius:9px;background:rgba(255,233,91,.12);border:1px solid rgba(255,233,91,.42);color:#ffe95b;font:900 12px Consolas,monospace;}
.geof-audio-v180 .geof-text-start{display:block;margin:-2px 0 4px;color:#ffe95b;font:900 8px Consolas,monospace;text-transform:uppercase;font-style:normal;letter-spacing:.08em;opacity:.9;}
.geof-audio-v180 .geof-audio-decoder span:empty::after{content:'';}
@media(max-width:1200px){.geof-audio-v180 .geof-audio-message-grid-v180{grid-template-columns:1fr 1fr}.geof-audio-v180 .geof-audio-message-grid-v180 .text-wide{grid-column:1/-1}}


/* v2.4.0 — interface finale structurée + popup À venir */
.geof-cym-mbit-shell.stage-final-mbit .geof-cym-stage{grid-template-columns:1.15fr .85fr}
.geof-final-hero{display:grid;grid-template-columns:1.4fr repeat(3,.55fr);gap:10px;margin:4px 0 12px}
.geof-final-hero>div{border:1px solid rgba(255,233,91,.28);border-radius:15px;background:linear-gradient(180deg,rgba(255,233,91,.065),rgba(0,0,0,.25));padding:11px;min-height:66px}
.geof-final-hero b{display:block;color:#ffe95b;font-size:20px;line-height:1.05}.geof-final-hero span{display:block;color:#dfffee;font-size:11px;line-height:1.35;margin-top:5px}
.geof-final-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:12px}.geof-final-grid.second{grid-template-columns:.9fr 1.1fr;margin-top:12px}.geof-final-card{border:1px solid rgba(0,255,154,.24);border-radius:16px;background:rgba(0,16,13,.68);padding:12px;min-width:0;box-shadow:inset 0 0 28px rgba(0,255,154,.035)}
.geof-final-card h3{margin:0 0 10px;color:#00ff9a;font:900 13px Consolas,monospace;text-transform:uppercase;letter-spacing:.10em;border-bottom:1px solid rgba(0,255,154,.18);padding-bottom:8px}.geof-source-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.source-pill{border:1px solid rgba(0,229,255,.28);border-radius:13px;background:rgba(0,229,255,.035);padding:9px}.source-pill.music{border-color:rgba(255,233,91,.35);background:rgba(255,233,91,.04)}.source-pill b{display:block;color:#ffe95b;text-transform:uppercase;font-size:12px}.source-pill span{display:block;color:#bfeee0;font-size:10px;margin-top:3px}.geof-scanbox-final{grid-template-columns:repeat(5,minmax(120px,1fr))!important}.geof-mbit-media-pick{margin-top:10px;border:1px dashed rgba(255,233,91,.28);border-radius:14px;padding:10px;background:rgba(255,233,91,.025)}.geof-mbit-media-pick .geof-media-list{max-height:86px}.geof-mbit-media-pick .geof-audio-file{width:100%;border:1px dashed rgba(0,255,154,.28);border-radius:10px;padding:9px;background:#000d0a;color:#eafff7;margin:8px 0}.geof-toolbar.mini{padding:0!important;margin-top:8px;border:0!important;background:transparent!important}.geof-toolbar.mini .geof-btn,.geof-toolbar.mini button{padding:8px 10px;font-size:11px}.geof-coming-soon-global{position:fixed;inset:0;z-index:999999;display:none;place-items:center;background:radial-gradient(circle at 50% 30%,rgba(0,255,154,.13),rgba(0,0,0,.88) 58%);backdrop-filter:blur(4px)}.geof-coming-soon-global.open{display:grid}.geof-coming-soon-card{position:relative;width:min(760px,calc(100vw - 36px));border:1px solid rgba(255,233,91,.58);border-radius:24px;background:linear-gradient(145deg,#020706,#061710 55%,#010403);padding:26px;box-shadow:0 0 80px rgba(255,233,91,.16),inset 0 0 60px rgba(0,255,154,.055);text-align:center;color:#eafff7}.geof-coming-close{position:absolute;right:14px;top:12px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:#00100d;color:#ffe95b;font:900 22px Consolas,monospace;width:40px;height:36px;cursor:pointer}.geof-coming-kicker{color:#00ff9a;text-transform:uppercase;letter-spacing:.16em;font:900 12px Consolas,monospace}.geof-coming-soon-card h2{margin:6px 0 10px;color:#ffe95b;font-size:clamp(34px,6vw,76px);letter-spacing:.08em;text-transform:uppercase;text-shadow:0 0 26px rgba(255,233,91,.35)}.geof-coming-soon-card p{max-width:620px;margin:0 auto 18px;color:#dfffee;line-height:1.5}.geof-coming-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0 18px}.geof-coming-grid span{border:1px solid rgba(0,255,154,.24);border-radius:12px;background:rgba(0,255,154,.045);padding:10px;color:#00ff9a;font-weight:900;text-transform:uppercase;font-size:11px}
@media(max-width:1180px){.geof-cym-mbit-shell.stage-final-mbit .geof-cym-stage,.geof-final-grid,.geof-final-grid.second,.geof-final-hero{grid-template-columns:1fr}.geof-scanbox-final{grid-template-columns:1fr!important}.geof-source-choice,.geof-coming-grid{grid-template-columns:1fr}}

/* v2.5.0 — finale : remettre les commandes RUN / onde / bits visibles */
.geof-final-run-card-disabled{margin-bottom:12px;border-color:rgba(255,233,91,.34)!important;background:linear-gradient(135deg,rgba(255,233,91,.045),rgba(0,255,154,.03))!important}
.geof-final-run-toolbar{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-bottom:10px!important}
.geof-final-control-grid{grid-template-columns:repeat(4,minmax(150px,1fr))!important;margin-top:8px!important}
.geof-cym-mbit-shell.stage-final-mbit .geof-canvasbox{display:block!important;max-height:none!important;padding:14px!important;overflow:visible!important}
.geof-cym-mbit-shell.stage-final-mbit .geof-main-canvas{max-height:64vh;object-fit:contain}
.geof-cym-mbit-shell.stage-final-mbit .geof-toolbar[data-toolbar]{align-items:center}
@media(max-width:1180px){.geof-final-control-grid{grid-template-columns:repeat(2,minmax(140px,1fr))!important}}
@media(max-width:760px){.geof-final-control-grid{grid-template-columns:1fr!important}}


/* v2.6.0 — finale propre : une seule barre de pilotage, sticky, sans doublons */
.geof-cym-mbit-shell.stage-final-mbit .geof-toolbar[data-toolbar]{
  position:sticky;top:0;z-index:50;align-items:center;background:rgba(0,9,7,.96)!important;
  backdrop-filter:blur(7px);border-bottom:1px solid rgba(255,233,91,.28)!important;
  box-shadow:0 10px 26px rgba(0,0,0,.35);
}
.geof-final-dock{display:grid;grid-template-columns:auto minmax(360px,1fr) auto;gap:8px;align-items:center;width:100%;}
.geof-final-dock-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center;}
.geof-final-dock-actions.secondary{justify-content:flex-end;}
.geof-final-dock-fields{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:center;}
.geof-quick-field{display:flex;align-items:center;gap:5px;border:1px solid rgba(0,255,154,.22);border-radius:10px;background:rgba(0,255,154,.035);padding:5px 7px;}
.geof-quick-field span{color:#bfeee0;font:900 10px Consolas,monospace;text-transform:uppercase;letter-spacing:.06em;}
.geof-quick-field input{width:72px!important;border:1px solid rgba(0,255,154,.28)!important;border-radius:8px!important;background:#00100d!important;color:#ffe95b!important;font:900 12px Consolas,monospace!important;padding:5px 6px!important;}
.geof-final-control-note{border:1px dashed rgba(255,233,91,.34);border-radius:13px;background:rgba(255,233,91,.035);color:#eafff7;padding:10px 12px;margin:0 0 12px;font-size:12px;}
.geof-final-control-note b{color:#ffe95b;}
.geof-cym-mbit-shell.stage-final-mbit .geof-final-run-card-disabled{display:none!important;}
@media(max-width:1180px){
  .geof-final-dock{grid-template-columns:1fr;}
  .geof-final-dock-actions.secondary{justify-content:flex-start;}
  .geof-final-dock-fields{justify-content:flex-start;}
}
@media(max-width:760px){.geof-quick-field input{width:60px!important}.geof-final-dock-actions .geof-btn{flex:1 1 auto;}}


/* v2.8.2 — triphasé recâblé propre */
.geof-cym-mbit-shell.stage-final-mbit .geof-cym-stage{
  grid-template-columns:1fr!important;
  gap:14px!important;
}
.geof-cym-mbit-shell.stage-final-mbit .geof-side{
  display:grid!important;
  grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr)!important;
  gap:14px!important;
}
.geof-cym-mbit-shell.stage-final-mbit .geof-toolbar[data-toolbar]{
  position:sticky;top:0;z-index:60;display:block!important;padding:10px 12px!important;
  background:linear-gradient(180deg,rgba(0,13,10,.98),rgba(0,7,6,.96))!important;
  border-bottom:1px solid rgba(255,233,91,.34)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.45)!important;
}
.geof-final-dock.clean-v270{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;width:100%!important;}
.geof-final-dock.clean-v270 .geof-final-dock-actions.main{
  display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important;justify-content:flex-start!important;
}
.geof-final-dock.clean-v270 .geof-btn{padding:9px 12px!important;border-radius:11px!important;white-space:nowrap!important;}
.geof-final-dock-fields.clean{
  display:grid!important;grid-template-columns:repeat(6,minmax(145px,1fr))!important;gap:8px!important;width:100%!important;
}
.geof-final-pilot-field{border:1px solid rgba(0,255,154,.24);border-radius:12px;background:rgba(0,255,154,.04);padding:8px;min-width:0;}
.geof-final-pilot-field label{display:block;color:#ffe95b;font:900 10px Consolas,monospace;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.geof-final-pilot-field .geof-stepper{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;gap:5px;align-items:center;}
.geof-final-pilot-field .geof-stepper button{padding:6px 0!important;border-radius:8px!important;min-width:0!important;}
.geof-final-pilot-field input{width:100%!important;min-width:0!important;text-align:center!important;border:1px solid rgba(0,255,154,.38)!important;border-radius:8px!important;background:#00100d!important;color:#00ff9a!important;font:900 13px Consolas,monospace!important;padding:7px 5px!important;}
.geof-final-pilot-field small{display:block;height:12px;color:#9fb6ad;font-size:9px;margin-top:3px;text-align:right;}
.geof-cym-mbit-shell.stage-final-mbit .geof-canvasbox{padding:14px!important;overflow:visible!important;}
.geof-cym-mbit-shell.stage-final-mbit .geof-main-canvas{max-height:72vh!important;width:100%!important;object-fit:contain!important;}
.geof-final-control-note.v270{border-color:rgba(0,229,255,.28)!important;background:rgba(0,229,255,.035)!important;margin:0 0 12px!important;}
.geof-final-grid{grid-template-columns:1fr 1fr!important;gap:12px!important;}
.geof-final-grid.second{grid-template-columns:1fr 1fr!important;}
.geof-final-card{padding:14px!important;}
.geof-scanbox-final{grid-template-columns:repeat(5,minmax(130px,1fr))!important;}
.geof-mbit-media-pick .geof-media-pickline{grid-template-columns:auto minmax(360px,1fr) auto!important;}
.geof-mbit-media-pick .geof-media-list{max-height:74px!important;}
.geof-project-status{min-height:72px!important;}
@media(max-width:1320px){
  .geof-final-dock-fields.clean{grid-template-columns:repeat(3,minmax(145px,1fr))!important;}
  .geof-final-grid,.geof-final-grid.second{grid-template-columns:1fr!important;}
  .geof-scanbox-final{grid-template-columns:repeat(2,minmax(130px,1fr))!important;}
  .geof-cym-mbit-shell.stage-final-mbit .geof-side{grid-template-columns:1fr!important;}
}
@media(max-width:760px){
  .geof-final-dock-fields.clean,.geof-scanbox-final{grid-template-columns:1fr!important;}
  .geof-final-dock.clean-v270 .geof-btn{flex:1 1 auto!important;}
}

.geof-canvas-split{display:grid;grid-template-columns:1fr;gap:14px;align-items:start}
.geof-coupling-canvas{display:none;width:100%;height:auto;background:#020807;border:1px solid rgba(255,233,91,.25);border-radius:16px;box-shadow:inset 0 0 28px rgba(255,233,91,.03)}
.geof-canvas-split.final-coupling-layout{grid-template-columns:minmax(0,1.55fr) minmax(340px,.72fr)}
.geof-cym-mbit-shell.stage-final-mbit .geof-main-canvas{max-height:none!important;min-height:420px;}
.geof-cym-mbit-shell.stage-final-mbit .geof-coupling-canvas{display:block;min-height:420px;}
@media(max-width:1180px){.geof-canvas-split.final-coupling-layout{grid-template-columns:1fr}}

/* v2.8.6 hotfix: force final canvas split and right couplage visible */
.geof-cym-mbit-shell.stage-final-mbit .geof-cym-stage{grid-template-columns:1fr!important;}
.geof-cym-mbit-shell.stage-final-mbit .geof-side{display:none!important;}
.geof-cym-mbit-shell.stage-final-mbit .geof-canvas-split.final-coupling-layout{grid-template-columns:minmax(0,1.35fr) minmax(430px,.65fr)!important;}
.geof-cym-mbit-shell.stage-final-mbit .geof-coupling-canvas{display:block!important;visibility:visible!important;opacity:1!important;}
@media(max-width:1180px){.geof-cym-mbit-shell.stage-final-mbit .geof-canvas-split.final-coupling-layout{grid-template-columns:1fr!important;}}

/* v2.8.22 — interface finale : pods M-bit comme étape 5 */
.geof-final-bit-pods{margin-top:12px!important;border-color:rgba(255,233,91,.34)!important;background:linear-gradient(180deg,rgba(255,233,91,.035),rgba(0,255,154,.025),rgba(0,0,0,.24))!important;}
.geof-final-bit-pods .geof-audio-strip-head b{color:#ffe95b!important;}
.geof-final-bit-pods .geof-audio-live-strip,.geof-final-bit-pods .geof-audio-cym-track{max-width:100%;}
.geof-final-bit-pods .geof-audio-frame-tile,.geof-final-bit-pods .geof-audio-cym-tile{min-width:62px;}


/* v2.8.24 — bloc texte lu simple en étape 6 */
.geof-final-text-readout{margin-top:12px!important;border-color:rgba(255,233,91,.58)!important;background:linear-gradient(90deg,rgba(255,233,91,.09),rgba(0,255,154,.04),rgba(0,0,0,.24))!important;align-items:flex-start!important;min-height:68px;}
.geof-final-text-readout span{display:block;flex:1;white-space:pre-wrap;word-break:break-word;letter-spacing:.04em!important;line-height:1.35;color:#eafff7!important;}
.geof-final-text-readout small{color:#9fffd7;font:900 11px Consolas,monospace;white-space:nowrap;margin-top:7px;}
@media(max-width:900px){.geof-final-text-readout{display:block!important}.geof-final-text-readout span{margin-top:8px}.geof-final-text-readout small{display:block;margin-top:8px}}

/* v2.8.25 — bloc texte lu simple bien visible */
.geof-final-text-readout{margin:14px 0 10px;padding:14px 16px;border:1px solid rgba(255,233,91,.45);border-radius:12px;background:rgba(255,233,91,.055);display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;}
.geof-final-text-readout b{color:#ffe95b;text-transform:uppercase;letter-spacing:.08em;}
.geof-final-text-readout span{font-size:22px;font-weight:900;color:#eafff7;min-height:28px;white-space:pre-wrap;}
.geof-final-text-readout small{color:#00ff9a;font-weight:800;}
