:root{
  --bg:#070a10;
  --bg2:#0d1420;
  --card:#121b2a;
  --card2:#172338;
  --text:#f8fafc;
  --muted:#a9b5c5;
  --line:rgba(255,255,255,.12);
  --line2:rgba(255,255,255,.2);
  --gold:#d8b45b;
  --gold2:#ffe29a;
  --blue:#67d4ff;
  --green:#72e3a0;
  --danger:#ff7b7b;
  --shadow:0 22px 60px rgba(0,0,0,.35);
  --radius:24px;
  --header-h:77px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;background:radial-gradient(circle at top left,rgba(216,180,91,.16),transparent 28rem),radial-gradient(circle at 85% 10%,rgba(103,212,255,.12),transparent 24rem),var(--bg);color:var(--text);line-height:1.6;min-height:100vh}
a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}
.site-header{position:sticky;top:0;z-index:50;background:rgba(7,10,16,.84);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.nav-shell{max-width:1180px;margin:0 auto;padding:14px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:12px}.brand-logo{width:48px;height:48px;border-radius:16px;box-shadow:0 0 28px rgba(216,180,91,.22)}.brand strong{display:block;letter-spacing:.3px}.brand small{display:block;color:var(--gold2);font-size:12px;text-transform:uppercase;letter-spacing:1.6px}.nav-links{display:flex;gap:18px;align-items:center;color:var(--muted);font-weight:650}.nav-links a{padding:8px 0;transition:.2s}.nav-links a:hover{color:var(--gold2)}.menu-toggle{display:none;border:1px solid var(--line);background:transparent;color:var(--text);border-radius:14px;padding:8px 12px}
.hero{max-width:1180px;margin:0 auto;padding:84px 22px 48px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:34px;align-items:stretch}.compact-hero{padding-bottom:34px}.hero-copy{padding:42px;border:1px solid var(--line);border-radius:calc(var(--radius) + 8px);background:linear-gradient(145deg,rgba(18,27,42,.92),rgba(13,20,32,.72));box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-copy:after{content:"";position:absolute;inset:auto -12% -30% auto;width:320px;height:320px;background:radial-gradient(circle,rgba(216,180,91,.18),transparent 68%);pointer-events:none}.eyebrow{color:var(--gold2);text-transform:uppercase;letter-spacing:2.3px;font-size:12px;font-weight:800;margin-bottom:12px}.hero h1,.page-hero h1{font-size:clamp(36px,6vw,68px);line-height:1.02;max-width:920px;letter-spacing:-2px}.hero-text,.page-hero p{margin-top:24px;color:var(--muted);font-size:18px;max-width:780px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.btn{border:1px solid var(--line);border-radius:999px;padding:12px 18px;background:rgba(255,255,255,.04);color:var(--text);font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s}.btn:hover{transform:translateY(-1px);border-color:rgba(216,180,91,.48)}.btn.primary{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#111827;border-color:transparent}.btn.secondary{background:rgba(103,212,255,.08);border-color:rgba(103,212,255,.26)}.btn.ghost{background:transparent}.btn.tiny{padding:8px 12px;font-size:13px}.btn.danger{border-color:rgba(255,123,123,.35);color:#fecaca}.hero-panel{display:grid;gap:16px}.stat-card{border:1px solid var(--line);border-radius:var(--radius);padding:28px;background:linear-gradient(180deg,rgba(23,35,56,.88),rgba(18,27,42,.72));box-shadow:var(--shadow)}.stat-card span{display:block;font-size:44px;line-height:1;font-weight:900;color:var(--gold2)}.stat-card small{color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:1.4px}
.section{max-width:1180px;margin:0 auto;padding:44px 22px}.reduced-top{padding-top:18px}.section-head{margin-bottom:24px}.section-head.center{text-align:center;max-width:760px;margin-inline:auto}.section-head h2{font-size:clamp(28px,4vw,44px);line-height:1.1;letter-spacing:-1px}.section-head p{margin-top:12px;color:var(--muted)}.section-head.split{display:flex;justify-content:space-between;align-items:end;gap:18px}.page-hero{max-width:1180px;margin:0 auto;padding:58px 22px 28px}.back-link{display:inline-flex;align-items:center;gap:8px;color:var(--gold2);font-weight:800;margin-bottom:22px}.back-link:hover{text-decoration:underline}.empty-state{color:var(--muted);padding:18px;border:1px dashed var(--line);border-radius:18px;background:rgba(255,255,255,.03)}
.course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.course-grid.large{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.course-card,.module-card,.practice-card{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:linear-gradient(160deg,rgba(23,35,56,.92),rgba(18,27,42,.76));box-shadow:var(--shadow);position:relative;overflow:hidden}.course-card:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--gold),var(--blue));opacity:.8}.course-card h3,.module-card h3,.practice-card h3{font-size:24px;line-height:1.15;margin:12px 0}.course-card p,.module-card p,.practice-card p{color:var(--muted)}.course-card .count{margin:18px 0;color:var(--gold2);font-weight:900}.badge{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(216,180,91,.35);background:rgba(216,180,91,.11);color:var(--gold2);padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:1px}.badge.done-badge{border-color:rgba(114,227,160,.36);background:rgba(114,227,160,.1);color:#bbf7d0}.card-actions,.module-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:18px}.module-card.done{outline:1px solid rgba(114,227,160,.28)}.module-top{display:flex;justify-content:space-between;gap:10px}.module-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;color:var(--muted);font-size:13px;border-top:1px solid var(--line);padding-top:14px;margin-top:18px}.module-meta strong{color:var(--text)}
.search-box{position:relative;width:min(100%,460px)}.search-box input{width:100%;border:1px solid var(--line);border-radius:999px;padding:14px 46px 14px 18px;background:rgba(255,255,255,.06);color:var(--text);outline:none}.search-box input:focus{border-color:rgba(216,180,91,.6)}.search-box.small{max-width:360px}.search-icon{position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--gold2)}.chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.chip{border:1px solid var(--line);border-radius:999px;padding:9px 13px;background:rgba(255,255,255,.04);color:var(--muted);font-weight:800}.chip.active,.chip:hover{color:#111827;background:linear-gradient(135deg,var(--gold),var(--gold2));border-color:transparent}
.reader-shell{max-width:1440px;margin:0 auto;padding:30px 22px 60px;display:grid;grid-template-columns:300px minmax(0,920px);gap:24px;align-items:start}.toc-panel{position:sticky;top:calc(var(--header-h) + 18px);max-height:calc(100vh - var(--header-h) - 36px);overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(23,35,56,.94),rgba(18,27,42,.78));padding:20px;box-shadow:var(--shadow)}.toc-list{display:grid;gap:6px}.toc-list a{display:block;padding:9px 10px;border-radius:12px;color:var(--muted);font-size:14px;line-height:1.25;border:1px solid transparent}.toc-list a:hover{color:var(--gold2);background:rgba(255,255,255,.05);border-color:var(--line)}.toc-list a.level-1{font-weight:900;color:var(--text)}.toc-list a.level-2{padding-left:18px}.toc-list a.level-3{padding-left:28px;font-size:13px}.toc-empty{color:var(--muted);font-size:14px}.reader-card{border:1px solid var(--line);border-radius:calc(var(--radius) + 8px);background:rgba(18,27,42,.82);box-shadow:var(--shadow);overflow:hidden}.reader-head{padding:34px;border-bottom:1px solid var(--line);background:linear-gradient(150deg,rgba(23,35,56,.95),rgba(13,20,32,.82))}.reader-head h1{font-size:clamp(30px,4.6vw,54px);line-height:1.08;letter-spacing:-1px}.reader-head p{color:var(--muted);margin-top:14px}.reader-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.reader-content{padding:34px}.mobile-toc{display:none;padding:18px 24px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.03)}.mobile-toc summary{font-weight:900;color:var(--gold2);cursor:pointer}.module-nav{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;border-top:1px solid var(--line);padding:22px 34px;background:rgba(255,255,255,.03)}
.content{color:#eef2f7}.content h1,.content h2,.content h3{line-height:1.15;letter-spacing:-.5px;scroll-margin-top:96px}.content h1{font-size:34px;margin:6px 0 24px}.content h2{font-size:28px;margin:38px 0 14px;color:var(--gold2)}.content h3{font-size:22px;margin:28px 0 10px;color:#d9f3ff}.content p{margin:14px 0;color:#dbe4ee}.content ul,.content ol{margin:14px 0 18px 22px}.content li{margin:7px 0}.content strong{color:#fff}.content em{color:#d7e8ff}.content code{background:rgba(255,255,255,.08);border:1px solid var(--line);border-radius:8px;padding:2px 6px}.content blockquote{margin:18px 0;padding:14px 18px;border-left:4px solid var(--gold);background:rgba(216,180,91,.08);border-radius:14px;color:#fff}.content table{width:100%;border-collapse:collapse;margin:20px 0;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:block;overflow-x:auto}.content th,.content td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top;min-width:130px}.content th{background:rgba(216,180,91,.13);color:var(--gold2);text-align:left}.content tr:last-child td{border-bottom:0}.content a{color:var(--blue);text-decoration:underline}.practice-list{display:grid;gap:18px}.practice-card details{border:1px solid var(--line);border-radius:18px;margin-top:14px;background:rgba(255,255,255,.03);overflow:hidden}.practice-card summary{padding:14px 16px;color:var(--gold2);font-weight:900;cursor:pointer}.practice-card .content{padding:0 16px 16px}.notice{border:1px dashed rgba(216,180,91,.4);border-radius:18px;padding:16px;background:rgba(216,180,91,.08);color:#fff;margin:12px 0}.toast{position:fixed;right:22px;bottom:22px;z-index:80;background:#111827;color:#fff;border:1px solid var(--line2);border-radius:16px;padding:12px 16px;box-shadow:var(--shadow);font-weight:800}
.footer{max-width:1180px;margin:40px auto 0;padding:28px 22px 40px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;color:var(--muted)}.footer strong{display:block;color:var(--text);margin-bottom:6px}.footer-links{display:flex;gap:16px;flex-wrap:wrap}.footer a{color:var(--gold2);font-weight:800}
@media (max-width:920px){.hero{grid-template-columns:1fr;padding-top:44px}.hero-panel{grid-template-columns:repeat(3,1fr)}.section-head.split{display:block}.search-box.small{margin-top:16px;width:100%;max-width:100%}.reader-shell{grid-template-columns:1fr;padding-top:18px}.toc-panel{display:none}.mobile-toc{display:block}.reader-content{padding:24px}.reader-head{padding:26px}.module-nav{padding:18px 24px}.footer{display:block}.footer-links{margin-top:16px}.nav-links{display:none;position:absolute;right:22px;top:70px;background:#0b111d;border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:var(--shadow);min-width:220px}.nav-links.open{display:grid}.menu-toggle{display:block}}
@media (max-width:620px){.nav-shell{padding-inline:14px}.brand small{display:none}.brand-logo{width:42px;height:42px}.hero,.section,.page-hero,.reader-shell{padding-left:14px;padding-right:14px}.hero-copy{padding:26px}.hero-panel{grid-template-columns:1fr}.stat-card{padding:20px}.course-grid.large,.module-grid{grid-template-columns:1fr}.hero h1,.page-hero h1{font-size:36px}.content h1{font-size:28px}.content h2{font-size:24px}.content h3{font-size:20px}.card-actions,.module-actions,.reader-actions{display:grid}.btn{width:100%}.footer{padding-inline:14px}}


/* v3: plans de modules + banque QCM/cas */
.module-plan{margin:12px 0 14px;padding:12px 13px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.66)}
.module-plan strong{display:block;margin-bottom:8px;color:var(--ink)}
.module-plan ol{margin:0;padding-left:20px;color:var(--muted);font-size:.92rem;line-height:1.45}
.module-plan li{margin:3px 0}
.module-plan li.etc{list-style:none;margin-left:-10px;font-weight:800;color:var(--accent)}
.quiz-card h3{margin-top:10px}
.quiz-head{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.case-stem{padding:14px 16px;border-left:4px solid var(--accent);background:rgba(0,84,166,.06);border-radius:14px;color:var(--ink)}
.options{display:grid;gap:10px;margin:14px 0}
.option{display:flex;gap:12px;align-items:flex-start;width:100%;padding:13px 14px;border-radius:14px;border:1px solid var(--line);background:#fff;color:var(--ink);text-align:left;cursor:pointer;font:inherit;transition:.18s ease}
.option:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(11,31,58,.08)}
.option span{display:inline-grid;place-items:center;min-width:28px;height:28px;border-radius:999px;background:rgba(0,84,166,.10);font-weight:800;color:var(--accent)}
.option.correct{border-color:#1f9d55;background:rgba(31,157,85,.10)}
.option.correct span{background:#1f9d55;color:white}
.option.wrong{border-color:#d64545;background:rgba(214,69,69,.10)}
.option.wrong span{background:#d64545;color:white}
.answer-panel{margin:12px 0 4px;padding:14px 16px;border-radius:16px;background:rgba(20,31,58,.06);border:1px solid var(--line)}
.answer-panel p{margin:8px 0 0;color:var(--muted)}
.answer-panel ul{margin:8px 0 0;padding-left:20px;color:var(--muted)}
.module-actions.slim{margin-top:12px}
@media (max-width: 720px){.quiz-head{align-items:flex-start}.option{font-size:.94rem}.module-plan ol{font-size:.88rem}}


/* v6: correction contraste + QCM 5 par 5 + niveaux */
.module-plan{
  margin:14px 0 16px;
  padding:14px 15px;
  border:1px solid rgba(216,180,91,.22);
  border-radius:18px;
  background:linear-gradient(160deg,rgba(10,17,29,.92),rgba(23,35,56,.72));
  color:var(--text);
  min-height:142px;
}
.module-plan strong{display:block;margin-bottom:8px;color:var(--gold2);font-size:13px;text-transform:uppercase;letter-spacing:.9px}
.module-plan ol{margin:0;padding-left:20px;color:#dbe4ee;font-size:.91rem;line-height:1.45;max-height:7.2em;overflow:hidden}
.module-plan li{margin:3px 0;color:#dbe4ee}
.module-plan li.etc{list-style:none;margin-left:-10px;font-weight:900;color:var(--gold2)}
.module-plan .plan-empty{color:var(--muted);margin:0;font-size:.92rem}
.practice-headbox{display:grid;gap:14px;margin-bottom:4px}
.practice-toolbar{border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.035);padding:14px 16px}
.eyebrow.mini{font-size:11px;margin-bottom:8px}.level-chips{margin-bottom:0}
.practice-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border:1px solid var(--line);border-radius:18px;padding:12px 14px;background:rgba(255,255,255,.035);margin:6px 0 10px}.page-status{color:var(--muted);font-weight:800}.page-status strong{color:var(--gold2)}.page-buttons{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.page-pill{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:9px 12px;color:var(--text);font-weight:900;background:rgba(255,255,255,.05)}.btn.disabled{opacity:.42;pointer-events:none}
.quiz-card{background:linear-gradient(160deg,rgba(23,35,56,.95),rgba(12,19,32,.92));border-color:rgba(255,255,255,.14)}
.case-stem{padding:14px 16px;border-left:4px solid var(--gold);background:rgba(216,180,91,.08);border-radius:14px;color:#e9f1fb!important}
.options{display:grid;gap:10px;margin:16px 0}.option{display:flex;gap:12px;align-items:flex-start;width:100%;padding:14px 15px;border-radius:16px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.045);color:#eef2f7;text-align:left;cursor:pointer;font:inherit;transition:.18s ease}.option em{font-style:normal;color:#eef2f7}.option:hover{transform:translateY(-1px);border-color:rgba(216,180,91,.38);box-shadow:0 12px 28px rgba(0,0,0,.22);background:rgba(255,255,255,.075)}.option span{display:inline-grid;place-items:center;min-width:30px;height:30px;border-radius:999px;background:rgba(216,180,91,.16);font-weight:900;color:var(--gold2);border:1px solid rgba(216,180,91,.24)}.option.correct{border-color:rgba(114,227,160,.65);background:rgba(31,157,85,.16)}.option.correct span{background:#1f9d55;color:white;border-color:#1f9d55}.option.wrong{border-color:rgba(255,123,123,.65);background:rgba(214,69,69,.16)}.option.wrong span{background:#d64545;color:white;border-color:#d64545}.answer-panel{margin:12px 0 4px;padding:15px 17px;border-radius:18px;background:rgba(216,180,91,.08);border:1px solid rgba(216,180,91,.25);color:#eef2f7}.answer-panel strong{color:var(--gold2)}.answer-panel p{margin:8px 0 0;color:#dbe4ee}.answer-panel ul{margin:8px 0 0;padding-left:20px;color:#dbe4ee}.level-base{border-color:rgba(114,227,160,.36);background:rgba(114,227,160,.10);color:#bbf7d0}.level-moyen{border-color:rgba(103,212,255,.36);background:rgba(103,212,255,.10);color:#baeaff}.level-examen{border-color:rgba(255,226,154,.36);background:rgba(255,226,154,.10);color:var(--gold2)}
@media (max-width:720px){.practice-pagination{display:grid}.page-buttons{display:grid;grid-template-columns:1fr;width:100%}.page-pill{text-align:center;justify-content:center}.module-plan{min-height:auto}.option{font-size:.94rem}}


/* v7: contraste forcé + navigation cours/QCM/cas */
.module-plan{background:linear-gradient(160deg,rgba(10,17,29,.96),rgba(23,35,56,.86))!important;border:1px solid rgba(216,180,91,.32)!important;color:#eef2f7!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.module-plan strong{color:var(--gold2)!important}.module-plan ol,.module-plan li{color:#e7edf7!important}.module-plan .etc{color:var(--gold2)!important}
.option{background:linear-gradient(160deg,rgba(15,25,42,.96),rgba(24,35,55,.90))!important;color:#eef2f7!important;border:1px solid rgba(255,255,255,.16)!important}.option em{color:#eef2f7!important;font-style:normal!important}.option.correct{background:rgba(31,157,85,.20)!important;border-color:rgba(114,227,160,.75)!important}.option.wrong{background:rgba(214,69,69,.20)!important;border-color:rgba(255,123,123,.75)!important}
.answer-panel{background:rgba(216,180,91,.10)!important;color:#eef2f7!important;border-color:rgba(216,180,91,.28)!important}.answer-panel p,.answer-panel li{color:#dbe4ee!important}
.mode-nav{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 10px}.mode-tab{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.045);color:var(--text);font-weight:900;text-decoration:none;transition:.18s ease}.mode-tab:hover{transform:translateY(-1px);border-color:rgba(216,180,91,.45);background:rgba(216,180,91,.08)}.mode-tab.active{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#111827;border-color:transparent}.practice-card .module-actions.slim{gap:8px;margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.practice-card .badge{text-transform:none;letter-spacing:.2px}@media(max-width:720px){.mode-nav{display:grid;grid-template-columns:1fr}.mode-tab{width:100%}}


/* v8: lisibilité renforcée des questions */
.practice-card h3{line-height:1.35!important;font-size:clamp(1.08rem,1.7vw,1.42rem)!important;max-width:980px}.case-stem{font-size:1rem!important;line-height:1.65!important;color:#dbe4ee!important;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.10);border-radius:18px;padding:14px 16px}.option em{line-height:1.45!important}.answer-panel{line-height:1.55!important}.quiz-head{align-items:flex-start}.practice-headbox .notice{line-height:1.55}.mode-nav{position:sticky;top:74px;z-index:12;backdrop-filter:blur(18px);padding:8px 0;background:linear-gradient(180deg,rgba(11,18,32,.92),rgba(11,18,32,.70))}


/* v9: questions type examen + lecture claire */
.practice-card h3{white-space:pre-line!important;line-height:1.48!important;font-size:clamp(1.08rem,1.65vw,1.36rem)!important}.option{align-items:flex-start!important;gap:12px!important}.option span{flex:0 0 auto}.option{font-size:.98rem!important;line-height:1.48!important}.case-stem{white-space:normal!important;line-height:1.65!important}.badge{line-height:1.25}.answer-panel p{line-height:1.6!important}.mode-nav .btn{white-space:nowrap}


/* v12: mode question par question, sans filtre de niveau visible */
.practice-list{gap:18px}
.session-dashboard{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:14px;border:1px solid rgba(255,255,255,.13);border-radius:24px;background:linear-gradient(160deg,rgba(23,35,56,.82),rgba(11,18,32,.92));padding:16px;margin:4px 0 14px;box-shadow:0 18px 50px rgba(0,0,0,.18)}
.session-stat{border:1px solid rgba(255,255,255,.10);border-radius:18px;background:rgba(255,255,255,.045);padding:13px 14px}.session-stat span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.9px;font-weight:900}.session-stat strong{display:block;color:var(--gold2);font-size:28px;line-height:1.05;margin:4px 0}.session-stat small{color:#dbe4ee;font-weight:800}.session-bars{grid-column:1/-1;display:grid;gap:10px}.session-bars span{display:block;color:#dbe4ee;font-size:12px;font-weight:900;margin-bottom:6px}.progress-track{height:12px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);overflow:hidden}.progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),var(--gold2));transition:width .25s ease}.progress-track.success i{background:linear-gradient(90deg,#22c55e,#a7f3d0)}
.single-question-card{max-width:980px;margin:0 auto;padding:24px}.single-question-card h3{font-size:clamp(1.18rem,2vw,1.55rem)!important;line-height:1.55!important;margin:18px 0!important}.single-question-card .case-stem{font-size:1.02rem!important;line-height:1.7!important;margin-top:16px}.options.answered .option{cursor:default}.single-nav-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:18px;border-top:1px solid rgba(255,255,255,.12);padding-top:16px}.single-nav-actions .btn[disabled], .checkpoint-actions .btn[disabled]{opacity:.45;cursor:not-allowed;filter:grayscale(.2)}
.checkpoint-card{margin:16px 0;padding:16px 18px;border-radius:20px;border:1px solid rgba(216,180,91,.30);background:linear-gradient(160deg,rgba(216,180,91,.11),rgba(255,255,255,.045));color:#eef2f7}.checkpoint-card strong{display:block;color:var(--gold2);font-size:1.05rem;margin-bottom:7px}.checkpoint-card p{margin:0;color:#dbe4ee;line-height:1.6}.checkpoint-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.level-up-card{border-color:rgba(34,197,94,.35);background:linear-gradient(160deg,rgba(34,197,94,.11),rgba(255,255,255,.045))}.level-up-card strong{color:#bbf7d0}.completion-card{max-width:820px;margin:0 auto;text-align:center;padding:28px}.completion-card h2{font-size:clamp(1.5rem,3vw,2.2rem);margin:8px 0 10px}.completion-score{margin:18px auto;max-width:520px}.practice-toolbar{display:none!important}.level-chips{display:none!important}.quiz-head .badge + .badge{display:none!important}
@media(max-width:760px){.session-dashboard{grid-template-columns:1fr}.single-question-card{padding:18px}.single-nav-actions,.checkpoint-actions{display:grid}.single-nav-actions .btn,.checkpoint-actions .btn{width:100%}}


.batch-summary-card .batch-review-list{margin:16px auto;max-width:760px;text-align:left;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);border-radius:18px;padding:14px 16px;color:#e8eef7}
.batch-summary-card .batch-review-list strong{display:block;color:var(--gold2);margin-bottom:8px}
.batch-summary-card .batch-review-list ul{margin:8px 0 0 18px;padding:0;display:grid;gap:6px}
.batch-summary-card .batch-review-list li{line-height:1.45;color:#dbe4ee}
.session-dashboard{grid-template-columns:repeat(4,minmax(140px,1fr))}
@media(max-width:900px){.session-dashboard{grid-template-columns:repeat(2,minmax(140px,1fr))}}
@media(max-width:760px){.session-dashboard{grid-template-columns:1fr}}


/* v13 — mode question centrée et progression en pourcentage */
.practice-focus .practice-hero{display:none!important}
.practice-focus .practice-focus-section{padding-top:12px!important;max-width:980px}
.practice-focus #courseFilters{display:none!important}
.practice-focus-topbar{position:sticky;top:76px;z-index:30;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 0 12px;margin-bottom:10px;background:linear-gradient(180deg,rgba(11,18,32,.96),rgba(11,18,32,.78));backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}
.practice-focus-topbar .mode-nav{position:static!important;top:auto!important;margin:0!important;padding:0!important;background:transparent!important;backdrop-filter:none!important;display:flex;flex-wrap:wrap;gap:10px}.back-tab{border-color:rgba(216,180,91,.35);color:var(--gold2)}
.practice-focus .practice-headbox{margin-bottom:10px}.practice-focus .session-dashboard{margin:0 0 12px}.practice-focus .single-question-card{scroll-margin-top:156px;min-height:calc(100vh - 220px);display:flex;flex-direction:column;justify-content:flex-start}.practice-focus .quiz-card h3{font-size:clamp(1.25rem,2.4vw,1.8rem)!important;line-height:1.45!important}.practice-focus .option{padding:15px 16px!important}.practice-focus .options{gap:10px}.bar-label{display:flex!important;justify-content:space-between;align-items:center;gap:14px}.bar-label strong{color:var(--gold2);font-size:13px}.session-stat strong{white-space:nowrap}.session-dashboard{scroll-margin-top:140px}
@media(max-width:760px){.practice-focus-topbar{top:64px;display:grid}.practice-focus-topbar .mode-nav{display:grid;grid-template-columns:1fr}.practice-focus .practice-focus-section{padding-left:14px;padding-right:14px}.practice-focus .single-question-card{min-height:auto}.back-tab{width:100%}}


/* v16 — vrai/faux + feedback 20 niveaux + options aérées */
.practice-focus .practice-headbox{margin-bottom:6px!important}
.practice-focus .session-dashboard.compact-dashboard{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(92px,1fr));
  gap:7px!important;
  padding:7px!important;
  border-radius:15px!important;
  margin:0 0 6px!important;
  box-shadow:0 10px 24px rgba(0,0,0,.13)!important;
}
.compact-dashboard .session-stat{
  padding:6px 8px!important;
  border-radius:12px!important;
  min-height:auto!important;
}
.compact-dashboard .session-stat span{
  font-size:9px!important;
  letter-spacing:.55px!important;
  line-height:1.05!important;
}
.compact-dashboard .session-stat strong{
  font-size:18px!important;
  line-height:1!important;
  margin:2px 0 0!important;
}
.compact-dashboard .session-stat small{
  font-size:10px!important;
  line-height:1.1!important;
}
.compact-dashboard .session-bars{
  grid-column:1 / -1!important;
  display:grid!important;
  grid-template-columns:1fr 1fr;
  gap:7px!important;
  align-self:center;
  margin-top:0!important;
}
.compact-dashboard .session-bars span{
  font-size:10px!important;
  margin-bottom:3px!important;
}
.compact-dashboard .progress-track{
  height:7px!important;
}
.coach-banner{
  width:100%;
  max-width:980px;
  margin:0 auto 8px!important;
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(255,255,255,.065),rgba(255,255,255,.035));
  color:#eaf2ff;
  font-weight:850;
  font-size:13.5px;
  line-height:1.38;
  padding:9px 12px;
  box-shadow:0 10px 28px rgba(0,0,0,.16);
}
.coach-banner.legend{border-color:rgba(250,204,21,.42);background:linear-gradient(135deg,rgba(250,204,21,.16),rgba(34,197,94,.08));color:#fff7cc}
.coach-banner.excellent{border-color:rgba(34,197,94,.32);background:rgba(34,197,94,.10);color:#d9ffe8}
.coach-banner.good{border-color:rgba(125,211,252,.28);background:rgba(125,211,252,.08);color:#e0f6ff}
.coach-banner.ok{border-color:rgba(216,180,91,.28);background:rgba(216,180,91,.08);color:#fff5d6}
.coach-banner.warn{border-color:rgba(251,191,36,.30);background:rgba(251,191,36,.08);color:#fff2c7}
.coach-banner.low,.coach-banner.danger{border-color:rgba(248,113,113,.32);background:rgba(248,113,113,.08);color:#ffe4e6}
.practice-focus .single-question-card{
  min-height:calc(100vh - 168px)!important;
  padding-top:18px!important;
}
.practice-focus .quiz-card h3{
  margin-top:10px!important;
}
.practice-focus-topbar{
  padding:7px 0 8px!important;
  margin-bottom:6px!important;
}
.practice-focus-topbar .mode-tab{
  min-height:34px!important;
  padding:7px 12px!important;
  font-size:13px!important;
}
@media(max-width:760px){
  .practice-focus .session-dashboard.compact-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;padding:7px!important}
  .compact-dashboard .session-stat strong{font-size:17px!important}
  .compact-dashboard .session-bars{grid-column:1 / -1!important;grid-template-columns:1fr!important}
  .coach-banner{font-size:12px!important;padding:8px 10px!important;margin-bottom:7px!important}
  .practice-focus .single-question-card{padding:15px!important;min-height:auto!important}
}


/* v16 — Vrai/Faux, messages progressifs et meilleure lisibilité des questions */
.practice-focus .practice-headbox{
  position:relative;
  z-index:5;
}
.coach-banner{
  margin:8px auto 10px!important;
  border-radius:16px!important;
  padding:10px 14px!important;
  font-size:13.5px!important;
  line-height:1.42!important;
  max-width:980px!important;
}
.question-prompt h3{
  margin-bottom:12px!important;
}
.structured-prompt h3{
  margin-bottom:14px!important;
}
.roman-statements{
  display:grid;
  gap:10px;
  margin:12px 0 14px;
}
.roman-statement{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px;
  align-items:start;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.045);
  color:#eaf2ff;
  font-size:clamp(.98rem,1.3vw,1.08rem);
  line-height:1.55;
}
.roman-statement strong{
  color:var(--gold2);
  font-weight:900;
}
.question-command{
  margin:10px 0 4px!important;
  color:var(--gold2)!important;
  font-weight:900!important;
  letter-spacing:.02em;
  text-transform:uppercase;
  font-size:.92rem!important;
}
.option{
  margin-bottom:4px!important;
  border-radius:18px!important;
}
.option em{
  display:block!important;
  width:100%;
  line-height:1.58!important;
}
.option-line{
  display:block;
  padding:1px 0;
}
.tf-options{
  grid-template-columns:1fr 1fr;
}
.tf-options .option{
  justify-content:center;
  align-items:center!important;
  min-height:64px;
  font-weight:900;
  font-size:1.05rem!important;
}
.tf-options .option em{
  width:auto;
}
.vf-prompt h3{
  font-size:clamp(1.25rem,2.2vw,1.75rem)!important;
}
@media(max-width:760px){
  .roman-statement{grid-template-columns:34px 1fr;padding:10px 12px;font-size:.95rem}
  .tf-options{grid-template-columns:1fr}
  .coach-banner{font-size:12.5px!important;line-height:1.36!important}
}

/* v18: global search + language + unknown button */
.site-header{position:sticky;top:0;z-index:80;background:rgba(7,10,22,.86);backdrop-filter:blur(16px)}
.nav-shell{gap:14px!important;align-items:center!important}
.global-tools{display:flex;align-items:center;gap:10px;margin-left:auto;min-width:360px;max-width:620px;flex:1;justify-content:flex-end;position:relative}
.global-search{position:relative;flex:1;max-width:420px;min-width:210px}
.global-search input{width:100%;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.055);color:#eef4ff;border-radius:999px;padding:10px 14px;font-weight:700;outline:none;font-size:.88rem}
.global-search input:focus{border-color:rgba(255,217,91,.58);box-shadow:0 0 0 4px rgba(255,217,91,.09)}
.global-search-results{position:absolute;right:0;top:calc(100% + 8px);width:min(520px,90vw);background:rgba(12,18,35,.98);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:8px;box-shadow:0 24px 70px rgba(0,0,0,.45);z-index:120;max-height:60vh;overflow:auto}
.global-result{display:grid;gap:4px;padding:12px 13px;border-radius:14px;text-decoration:none;color:#eaf2ff;border:1px solid transparent}
.global-result:hover{background:rgba(255,255,255,.07);border-color:rgba(255,217,91,.25)}
.global-result strong{font-size:.95rem;color:#fff}.global-result span{font-size:.78rem;color:var(--gold2);font-weight:900}.global-result small{color:#b9c5d7;line-height:1.35}.global-result-empty{padding:12px;color:#b9c5d7;font-weight:700}
.lang-switch{display:flex;gap:4px;padding:4px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.045)}
.lang-switch button{border:0;background:transparent;color:#c7d2e6;border-radius:999px;padding:7px 9px;font-weight:900;font-size:.75rem;cursor:pointer}.lang-switch button.active{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#111827}
.ultra-compact-dashboard{padding:8px!important;gap:8px!important}.ultra-compact-dashboard .session-stat{padding:8px 10px!important;min-height:auto!important}.ultra-compact-dashboard .session-stat strong{font-size:1rem!important}.ultra-compact-dashboard .session-stat span,.ultra-compact-dashboard .session-stat small{font-size:.68rem!important}.ultra-compact-dashboard .session-bars{padding:6px 8px!important}.coach-banner{display:block;text-align:left;border-left:4px solid rgba(255,217,91,.85);background:rgba(255,255,255,.055)!important}.coach-banner.danger,.coach-banner.low{border-left-color:#ff6b6b}.coach-banner.excellent,.coach-banner.legend{border-left-color:#72ef9d}.unknown-action-wrap{margin:12px 0 4px;display:flex;justify-content:flex-start}.unknown-btn{border:1px dashed rgba(255,217,91,.55)!important;background:rgba(255,217,91,.08)!important;color:var(--gold2)!important}.unknown-panel{border-left-color:rgba(255,217,91,.75)!important}.search-hit{background:rgba(255,217,91,.35);color:#fff;border-radius:6px;padding:0 .15em}.practice-focus #courseFilters[hidden]{display:none!important}
@media(max-width:920px){.global-tools{order:3;flex-basis:100%;max-width:none;min-width:0;justify-content:stretch}.global-search{max-width:none}.nav-shell{flex-wrap:wrap}.nav-links{margin-left:0!important}}
@media(max-width:560px){.global-tools{gap:6px}.lang-switch button{padding:6px 7px}.global-search input{font-size:.8rem}.global-search-results{left:0;right:auto;width:92vw}}


/* v19 — recherche corrigée, message “je ne sais pas” spécifique, UI i18n */
.global-tools{z-index:150!important}.global-search-results{display:block!important;z-index:999!important}.global-search-results[hidden]{display:none!important}
.global-result span{display:block;margin-top:2px}.global-result small{display:block;margin-top:4px}.global-result-empty{font-size:.86rem;line-height:1.35}
.coach-banner.unknown{border-left-color:#facc15!important;background:linear-gradient(135deg,rgba(250,204,21,.16),rgba(255,255,255,.045))!important;color:#fff6d5!important}
.tf-options .option em{font-size:1.02rem!important}.vf-prompt h3{font-size:clamp(1.25rem,2.25vw,1.75rem)!important;line-height:1.42!important}.question-command{margin-top:10px!important;color:var(--gold2)!important;font-weight:950!important;letter-spacing:.08em;text-transform:uppercase}.option-line{display:block;margin:.18rem 0 .35rem;line-height:1.45}.option em{white-space:normal!important}.practice-card.quiz-card{max-width:1040px!important}.global-search input{min-height:40px}.lang-switch button.active{box-shadow:0 0 0 2px rgba(255,255,255,.08) inset}
@media(max-width:700px){.global-tools{order:2;flex-basis:100%;display:grid;grid-template-columns:1fr auto}.global-search-results{left:0;right:auto;width:calc(100vw - 32px)}}

/* v20 — accueil isolé, catalogue séparé, recherche lisible, traduction interface */
.home-only-main{min-height:calc(100vh - 90px)}
.home-landing{padding-top:70px;padding-bottom:24px;grid-template-columns:minmax(0,1.25fr) minmax(290px,.75fr)}
.home-landing .hero-copy{min-height:360px;display:flex;flex-direction:column;justify-content:center}
.compact-stats{align-content:center}.compact-stats .stat-card{padding:22px}.compact-stats .stat-card span{font-size:38px}.compact-stats .stat-card small{font-size:11px}
.home-overview{padding-top:8px;padding-bottom:34px}.compact-head{margin-bottom:14px}.subject-progress-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.subject-progress-card{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(18,27,42,.68);padding:14px 16px;box-shadow:0 12px 30px rgba(0,0,0,.16)}.subject-progress-card strong{display:block;color:#fff;font-size:.98rem}.subject-progress-card span{display:block;color:var(--muted);font-size:.78rem;font-weight:800}.subject-progress-pct{color:var(--gold2);font-weight:950;font-size:1.15rem}.mini-progress{grid-column:1/-1;height:7px;border-radius:999px;background:rgba(255,255,255,.09);overflow:hidden;border:1px solid rgba(255,255,255,.10)}.mini-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),var(--gold2));transition:width .2s ease}.compact-page-hero{padding-bottom:12px}.compact-footer{padding-top:28px;padding-bottom:28px}
.course-card .mini-progress{margin:10px 0 4px}.course-card .count{margin-bottom:2px}
.global-tools{display:flex;align-items:center;gap:10px;flex:1;max-width:560px}.global-search{max-width:440px!important;z-index:500}.global-search-results{position:fixed!important;top:76px!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:min(720px,calc(100vw - 28px))!important;max-height:min(68vh,560px)!important;z-index:2000!important;padding:10px!important}.global-result{grid-template-columns:1fr;gap:5px;border-bottom:1px solid rgba(255,255,255,.06)}.global-result strong{font-size:1rem!important}.global-result span{font-size:.84rem!important}.global-result small{font-size:.82rem!important}.global-result-empty{padding:16px!important;text-align:center}.nav-links a[href="#metodo"],.nav-links a[href="#contact"]{display:none!important}
[data-lang="br"].active, .lang-switch button.active{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#111827;border-color:transparent!important}.lang-switch button{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.045);color:#eaf2ff;border-radius:999px;padding:8px 10px;font-weight:950;font-size:.78rem}.lang-switch{display:flex;gap:6px;align-items:center}
@media(max-width:920px){.home-landing{grid-template-columns:1fr}.subject-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.global-search-results{top:126px!important}.global-tools{order:3;flex-basis:100%;max-width:100%;display:grid;grid-template-columns:1fr auto}.global-search{max-width:100%!important}}
@media(max-width:620px){.home-landing .hero-copy{min-height:auto}.subject-progress-grid{grid-template-columns:1fr}.compact-stats{grid-template-columns:1fr}.global-search-results{top:128px!important}.home-landing{padding-top:32px}.global-tools{grid-template-columns:1fr}.lang-switch{justify-content:flex-start}}


/* v21: accueil compact réellement séparé */
.home-only-main{min-height:calc(100vh - 78px);display:flex;align-items:center;}
.home-landing{padding-top:42px!important;padding-bottom:34px!important;align-items:center!important;grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr)!important;}
.home-landing .hero-copy{min-height:0!important;padding:38px!important;}
.home-landing .hero-copy h1{font-size:clamp(38px,5.4vw,64px)!important;}
.compact-stats{display:grid;gap:12px!important;align-content:center;}
.stat-row-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.stat-row-mini .stat-card{padding:16px 14px!important;border-radius:18px!important;}
.stat-row-mini .stat-card span{font-size:30px!important;}
.stat-row-mini .stat-card small{font-size:10px!important;letter-spacing:1px!important;}
.home-progress-card{border:1px solid rgba(255,255,255,.12);border-radius:22px;background:rgba(18,27,42,.66);padding:14px;box-shadow:0 18px 38px rgba(0,0,0,.18);}
.home-progress-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;}
.home-progress-head strong{font-size:.92rem;color:#fff;}
.home-mini-progress.subject-progress-grid{display:grid;grid-template-columns:1fr;gap:8px;max-height:270px;overflow:auto;padding-right:2px;}
.home-mini-progress .subject-progress-card{padding:9px 10px!important;border-radius:14px!important;grid-template-columns:1fr auto;gap:6px;background:rgba(255,255,255,.035);}
.home-mini-progress .subject-progress-card strong{font-size:.82rem!important;}
.home-mini-progress .subject-progress-card span{font-size:.68rem!important;}
.home-mini-progress .subject-progress-pct{font-size:.88rem!important;}
.home-mini-progress .mini-progress{height:5px!important;}
@media(max-width:980px){.home-only-main{display:block}.home-landing{grid-template-columns:1fr!important}.stat-row-mini{grid-template-columns:repeat(3,1fr)}.home-mini-progress.subject-progress-grid{max-height:none}.global-search-results{top:126px!important}}
@media(max-width:620px){.home-landing .hero-copy{padding:26px!important}.stat-row-mini{grid-template-columns:1fr}.home-mini-progress.subject-progress-grid{grid-template-columns:1fr}.home-progress-head{display:grid}.home-progress-head .btn{width:100%}}

/* v22: search result clarity */
.global-result em{font-style:normal;color:var(--gold2);font-weight:950;font-size:.78rem;margin-top:2px}.global-result span b{color:#fff}.global-search input::placeholder{color:#aebbd0}.lang-switch button{min-width:38px}.nav-links a[href="matieres.html"]{font-weight:950}

/* v23: résultats de recherche compacts + surlignage + reset par matière */
.subject-progress-card{color:inherit;text-decoration:none;position:relative;}
.subject-progress-link{display:contents;color:inherit;text-decoration:none;}
.subject-reset-btn{grid-column:1/-1;justify-self:start;border:1px solid rgba(255,217,91,.32);background:rgba(255,217,91,.075);color:var(--gold2);border-radius:999px;padding:4px 8px;font-size:.66rem;font-weight:950;cursor:pointer;line-height:1;}
.subject-reset-btn:hover{background:rgba(255,217,91,.16);border-color:rgba(255,217,91,.55)}
.subject-reset-btn:disabled{opacity:.45;cursor:not-allowed}
.home-progress-card{padding:10px!important;border-radius:18px!important;}
.home-progress-head{margin-bottom:7px!important;}
.home-progress-head strong{font-size:.82rem!important;}
.home-progress-head .btn.tiny{padding:6px 8px!important;font-size:.68rem!important;}
.home-mini-progress.subject-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;max-height:none!important;overflow:visible!important;padding-right:0!important;}
.home-mini-progress .subject-progress-card{padding:7px 8px!important;border-radius:12px!important;gap:4px!important;box-shadow:none!important;}
.home-mini-progress .subject-progress-card strong{font-size:.70rem!important;line-height:1.08!important;white-space:normal;}
.home-mini-progress .subject-progress-card span{font-size:.56rem!important;line-height:1.1!important;}
.home-mini-progress .subject-progress-pct{font-size:.76rem!important;}
.home-mini-progress .mini-progress{height:3px!important;margin-top:1px!important;}
.home-mini-progress .subject-reset-btn{font-size:.54rem!important;padding:3px 6px!important;margin-top:1px!important;}
.global-search-results{width:min(620px,calc(100vw - 28px))!important;max-height:min(56vh,430px)!important;padding:6px!important;border-radius:14px!important;}
.global-result{padding:8px 10px!important;border-radius:10px!important;gap:2px!important;}
.global-result strong{font-size:.86rem!important;line-height:1.18!important;}
.global-result span{font-size:.70rem!important;line-height:1.2!important;margin-top:1px!important;}
.global-result small{font-size:.70rem!important;line-height:1.28!important;margin-top:2px!important;}
.global-result em{font-size:.68rem!important;margin-top:1px!important;}
.global-result-empty{padding:10px!important;font-size:.78rem!important;}
.global-hit{background:rgba(255,217,91,.42);color:#fff;border-radius:4px;padding:0 .12em;font-weight:950;}
@media(max-width:620px){.home-mini-progress.subject-progress-grid{grid-template-columns:1fr!important}.global-search-results{max-height:60vh!important}}


/* v24: recherche contextuelle stricte + résultats encore plus compacts */
.global-search-results{width:min(560px,calc(100vw - 30px))!important;max-height:min(50vh,360px)!important;padding:5px!important;border-radius:12px!important;}
.global-result{padding:6px 8px!important;border-radius:9px!important;gap:1px!important;}
.global-result strong{font-size:.78rem!important;line-height:1.12!important;}
.global-result span{font-size:.61rem!important;line-height:1.12!important;margin-top:0!important;}
.global-result small{font-size:.63rem!important;line-height:1.2!important;margin-top:1px!important;}
.global-result em{font-size:.60rem!important;margin-top:0!important;}
.global-hit{font-weight:950;background:rgba(255,217,91,.36);color:#fff;border-radius:4px;padding:0 .10em;}

/* v25 - contrôles de difficulté et compteur de banque */
#courseFilters {
  align-items: center;
  gap: .45rem;
}
.difficulty-select-wrap {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .34rem .55rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  background: rgba(255,255,255,.045);
  font-size: .76rem;
  font-weight: 800;
  color: var(--muted, #cbd5e1);
}
.difficulty-select-wrap span {
  color: var(--accent, #f5d84d);
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: .66rem;
}
.difficulty-select-wrap small {
  opacity: .8;
  font-size: .66rem;
}
.difficulty-select {
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  background: rgba(5, 10, 24, .92);
  color: #fff;
  font-weight: 900;
  padding: .34rem .65rem;
  outline: none;
  max-width: 180px;
}
.question-count-stat strong {
  color: var(--accent, #f5d84d);
}
.quiz-head {
  gap: .35rem;
  flex-wrap: wrap;
}
.quiz-head .badge {
  font-size: .7rem;
  padding: .28rem .5rem;
}
.structured-prompt h3,
.question-prompt h3 {
  line-height: 1.34;
}
@media (max-width: 760px){
  .difficulty-select-wrap { width: 100%; justify-content: space-between; border-radius: 18px; }
  .difficulty-select { max-width: 56%; }
}


/* v26 — difficulté modifiable dans la session + badge de niveau visible */
.practice-focus-topbar .inline-difficulty-control{
  margin-left:auto;
  flex:0 0 auto;
  min-height:42px;
  padding:.42rem .7rem;
  border-color:rgba(216,180,91,.24);
  background:linear-gradient(160deg,rgba(216,180,91,.10),rgba(255,255,255,.045));
}
.practice-focus-topbar .inline-difficulty-control span{
  color:var(--gold2);
  white-space:nowrap;
}
.practice-focus-topbar .inline-difficulty-control select{
  min-width:170px;
}
.practice-focus .quiz-head .badge,
.quiz-head .question-level-badge{
  display:inline-flex!important;
}
.quiz-head .question-level-badge{
  border-color:rgba(103,212,255,.34)!important;
  background:rgba(103,212,255,.10)!important;
  color:#d9f3ff!important;
}
.practice-focus .quiz-head{
  justify-content:flex-start!important;
}
@media(max-width:760px){
  .practice-focus-topbar .inline-difficulty-control{width:100%;margin-left:0;justify-content:space-between;}
  .practice-focus-topbar .inline-difficulty-control select{min-width:0;max-width:62%;}
}

/* v27 — tableau de session ultra-compact + adaptation mobile/tablette */
html, body { max-width:100%; overflow-x:hidden; }
.practice-focus .practice-focus-section{
  max-width:1080px!important;
  padding-top:6px!important;
}
.practice-focus .practice-headbox{
  margin-bottom:4px!important;
  gap:4px!important;
}
.practice-focus .session-dashboard.compact-dashboard,
.practice-focus .session-dashboard.ultra-compact-dashboard{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:stretch!important;
  gap:5px!important;
  padding:6px!important;
  margin:0 0 5px!important;
  border-radius:14px!important;
  background:linear-gradient(160deg,rgba(23,35,56,.70),rgba(11,18,32,.86))!important;
  box-shadow:none!important;
}
.practice-focus .session-dashboard.compact-dashboard .session-stat,
.practice-focus .session-dashboard.ultra-compact-dashboard .session-stat{
  flex:1 1 112px!important;
  min-width:108px!important;
  padding:5px 7px!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.035)!important;
  border-color:rgba(255,255,255,.10)!important;
}
.practice-focus .session-dashboard.compact-dashboard .session-stat span,
.practice-focus .session-dashboard.ultra-compact-dashboard .session-stat span{
  font-size:8px!important;
  line-height:1!important;
  letter-spacing:.45px!important;
  font-weight:750!important;
  opacity:.88!important;
}
.practice-focus .session-dashboard.compact-dashboard .session-stat strong,
.practice-focus .session-dashboard.ultra-compact-dashboard .session-stat strong{
  font-size:15px!important;
  line-height:1!important;
  margin:1px 0!important;
  font-weight:900!important;
}
.practice-focus .session-dashboard.compact-dashboard .session-stat small,
.practice-focus .session-dashboard.ultra-compact-dashboard .session-stat small{
  display:block!important;
  font-size:8.5px!important;
  line-height:1.05!important;
  font-weight:700!important;
  opacity:.92!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.practice-focus .session-dashboard.compact-dashboard .session-bars,
.practice-focus .session-dashboard.ultra-compact-dashboard .session-bars{
  flex:1 0 100%!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:6px!important;
  padding:0!important;
  margin:0!important;
}
.practice-focus .session-dashboard.compact-dashboard .session-bars span,
.practice-focus .session-dashboard.ultra-compact-dashboard .session-bars span{
  font-size:8.5px!important;
  margin-bottom:1px!important;
  line-height:1!important;
  opacity:.9!important;
}
.practice-focus .session-dashboard.compact-dashboard .progress-track,
.practice-focus .session-dashboard.ultra-compact-dashboard .progress-track{
  height:5px!important;
}
.practice-focus .coach-banner{
  margin:4px auto 6px!important;
  padding:6px 9px!important;
  border-radius:12px!important;
  font-size:11.5px!important;
  line-height:1.22!important;
  box-shadow:none!important;
}
.practice-focus .single-question-card{
  padding:16px!important;
  min-height:auto!important;
}
.practice-focus .quiz-card h3,
.practice-focus .practice-card h3{
  margin:8px 0 12px!important;
}
.practice-focus .case-stem{
  padding:10px 12px!important;
  line-height:1.45!important;
  font-size:.92rem!important;
}
.practice-focus .option{
  padding:11px 12px!important;
  line-height:1.35!important;
}
.practice-focus-topbar{
  top:66px!important;
  padding:6px 0!important;
  gap:6px!important;
  margin-bottom:4px!important;
}
.practice-focus-topbar .mode-tab{
  min-height:31px!important;
  padding:6px 10px!important;
  font-size:12px!important;
}
.practice-focus-topbar .inline-difficulty-control{
  min-height:31px!important;
  padding:5px 8px!important;
  font-size:11px!important;
}
.practice-focus-topbar .inline-difficulty-control select{
  min-width:150px!important;
  padding:4px 7px!important;
  font-size:11px!important;
}

/* Tablette */
@media(max-width:900px){
  .site-header{position:sticky!important;top:0!important;}
  .nav-shell{gap:10px!important;flex-wrap:wrap!important;align-items:center!important;}
  .brand{min-width:0!important;}
  .brand strong{font-size:.92rem!important;white-space:nowrap!important;}
  .global-tools{order:3!important;width:100%!important;max-width:100%!important;display:grid!important;grid-template-columns:1fr auto!important;gap:8px!important;}
  .global-search{max-width:100%!important;}
  .global-search input{min-height:36px!important;font-size:14px!important;}
  .practice-focus .practice-focus-section{padding-left:10px!important;padding-right:10px!important;}
  .practice-focus .session-dashboard.compact-dashboard .session-stat,
  .practice-focus .session-dashboard.ultra-compact-dashboard .session-stat{
    flex:1 1 94px!important;
    min-width:94px!important;
  }
}

/* Téléphone */
@media(max-width:620px){
  body{font-size:15px!important;}
  .site-header{position:sticky!important;top:0!important;}
  .nav-shell{padding:8px 10px!important;gap:8px!important;}
  .brand-logo{width:34px!important;height:34px!important;border-radius:10px!important;}
  .brand strong{font-size:.85rem!important;}
  .global-tools{grid-template-columns:1fr!important;order:3!important;width:100%!important;}
  .lang-switch{justify-content:center!important;}
  .lang-switch button{min-width:38px!important;min-height:32px!important;padding:4px 8px!important;}
  .global-search-results{left:8px!important;right:8px!important;top:112px!important;max-height:58vh!important;border-radius:14px!important;}
  .practice-focus-topbar{
    top:112px!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    padding:5px 0!important;
  }
  .practice-focus-topbar .back-tab,
  .practice-focus-topbar .inline-difficulty-control{grid-column:1 / -1!important;width:100%!important;}
  .practice-focus-topbar .mode-nav{grid-column:1 / -1!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;}
  .practice-focus-topbar .mode-tab{width:100%!important;padding:6px 7px!important;font-size:11px!important;min-height:30px!important;}
  .practice-focus-topbar .inline-difficulty-control{display:flex!important;justify-content:space-between!important;gap:7px!important;}
  .practice-focus-topbar .inline-difficulty-control select{min-width:0!important;max-width:64%!important;font-size:11px!important;}
  .practice-focus .practice-focus-section{padding-left:8px!important;padding-right:8px!important;padding-top:4px!important;}
  .practice-focus .session-dashboard.compact-dashboard,
  .practice-focus .session-dashboard.ultra-compact-dashboard{
    gap:4px!important;
    padding:5px!important;
  }
  .practice-focus .session-dashboard.compact-dashboard .session-stat,
  .practice-focus .session-dashboard.ultra-compact-dashboard .session-stat{
    flex:1 1 calc(50% - 4px)!important;
    min-width:0!important;
    padding:5px 6px!important;
  }
  .practice-focus .session-dashboard.compact-dashboard .session-stat span,
  .practice-focus .session-dashboard.ultra-compact-dashboard .session-stat span{font-size:7.5px!important;}
  .practice-focus .session-dashboard.compact-dashboard .session-stat strong,
  .practice-focus .session-dashboard.ultra-compact-dashboard .session-stat strong{font-size:14px!important;}
  .practice-focus .session-dashboard.compact-dashboard .session-stat small,
  .practice-focus .session-dashboard.ultra-compact-dashboard .session-stat small{font-size:8px!important;}
  .practice-focus .session-dashboard.compact-dashboard .session-bars,
  .practice-focus .session-dashboard.ultra-compact-dashboard .session-bars{grid-template-columns:1fr!important;gap:4px!important;}
  .practice-focus .coach-banner{font-size:10.5px!important;padding:6px 8px!important;margin:3px auto 5px!important;}
  .practice-focus .single-question-card{padding:12px!important;border-radius:18px!important;}
  .practice-focus .quiz-head .badge{font-size:.56rem!important;padding:.22rem .38rem!important;}
  .practice-focus .quiz-card h3,
  .practice-focus .practice-card h3{font-size:1.06rem!important;line-height:1.32!important;}
  .practice-focus .case-stem{font-size:.86rem!important;padding:9px 10px!important;}
  .practice-focus .option{font-size:.86rem!important;padding:9px 10px!important;gap:8px!important;}
  .practice-focus .option span{min-width:25px!important;height:25px!important;font-size:.8rem!important;}
  .single-nav-actions{gap:8px!important;margin-top:10px!important;padding-top:10px!important;}
}

/* v28 — difficulté placée juste au-dessus de la question + onglets cours complet/fiche */
.practice-focus-topbar .inline-difficulty-control{display:none!important;}
.question-difficulty-panel{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:fit-content!important;
  max-width:100%!important;
  margin:6px 0 8px 0!important;
  padding:5px 7px!important;
  border:1px solid rgba(216,180,91,.22)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.035)!important;
  box-shadow:none!important;
}
.question-difficulty-panel .question-difficulty-control{
  display:inline-flex!important;
  width:auto!important;
  min-height:30px!important;
  padding:3px 6px!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
}
.question-difficulty-panel .difficulty-select{
  max-width:230px!important;
  min-width:190px!important;
  padding:4px 8px!important;
  font-size:11px!important;
}
.question-difficulty-panel small{
  font-size:10.5px!important;
  color:rgba(229,235,255,.78)!important;
  white-space:nowrap!important;
}
.reader-view-tabs{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0 0 14px!important;
  padding:6px!important;
  border:1px solid rgba(255,255,255,.11)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.04)!important;
  width:fit-content!important;
  max-width:100%!important;
}
.reader-tab{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:34px!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  color:var(--text)!important;
  text-decoration:none!important;
  font-weight:900!important;
  font-size:13px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  background:rgba(255,255,255,.04)!important;
}
.reader-tab.active{
  color:#1b1403!important;
  background:linear-gradient(135deg,var(--gold),var(--gold2))!important;
  border-color:rgba(255,217,91,.8)!important;
}
body[data-reader-mode="fiche"] .reader-card{max-width:980px!important;}
body[data-reader-mode="full"] .reader-content h1:first-child::after{
  content:"Cours complet";
  display:inline-block;
  margin-left:8px;
  padding:3px 8px;
  border-radius:999px;
  background:rgba(216,180,91,.16);
  color:var(--gold2);
  font-size:11px;
  vertical-align:middle;
}
@media(max-width:760px){
  .question-difficulty-panel{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:4px!important;
    margin:6px 0 8px!important;
  }
  .question-difficulty-panel .question-difficulty-control{
    width:100%!important;
    justify-content:space-between!important;
  }
  .question-difficulty-panel .difficulty-select{
    min-width:0!important;
    max-width:62%!important;
  }
  .question-difficulty-panel small{white-space:normal!important;font-size:10px!important;}
  .reader-view-tabs{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important;}
  .reader-tab{font-size:12px!important;padding:7px 8px!important;}
}


/* v29 learning system */
.learning-dashboard{max-width:1180px;margin:0 auto 24px;padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:24px;background:rgba(9,14,30,.68);box-shadow:0 18px 45px rgba(0,0,0,.22)}
.dashboard-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px}.dashboard-head h2{margin:.1rem 0;font-size:clamp(1.2rem,2vw,1.8rem)}
.dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dash-card{border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:14px;background:rgba(255,255,255,.045);display:flex;flex-direction:column;gap:6px;min-height:135px}.dash-card.priority{border-color:rgba(255,222,89,.45);background:linear-gradient(180deg,rgba(255,222,89,.13),rgba(255,255,255,.04))}.dash-card span{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:var(--muted)}.dash-card strong{font-size:1.6rem;color:var(--accent)}.dash-card small{color:var(--muted);line-height:1.35}.dash-card .btn{margin-top:auto;align-self:flex-start}.weak-strip{margin-top:12px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.04);color:var(--muted)}.weak-strip a{color:var(--accent);text-decoration:none}
.mistakes-list{max-width:980px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.mistakes-summary{padding:12px 14px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(255,255,255,.05)}.mistake-card{padding:16px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(13,18,36,.78)}.mistake-card h3{font-size:1.05rem;line-height:1.35;margin:10px 0 14px}.detailed-correction{margin-top:12px;padding:14px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1)}.detailed-correction h4{margin:.1rem 0 .7rem;color:var(--accent)}.detailed-correction section{margin:10px 0}.detailed-correction p,.detailed-correction li{line-height:1.45}.detailed-correction ul{margin:.5rem 0 0 1.1rem}.detailed-correction small{color:var(--muted)}.correction-note{padding:8px 10px;border-radius:12px;background:rgba(255,222,89,.09);border:1px solid rgba(255,222,89,.16)}.compact-correction{font-size:.92rem}.exam-hidden-note{display:inline-flex;margin:0 0 12px;padding:8px 11px;border-radius:999px;border:1px dashed rgba(255,222,89,.35);color:var(--accent);background:rgba(255,222,89,.08);font-size:.84rem}.option.chosen{outline:2px solid rgba(255,222,89,.45)}.exam-review-list{margin-top:18px;display:flex;flex-direction:column;gap:12px;text-align:left}.exam-review-item{padding:12px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04)}.exam-review-item.ok{border-color:rgba(57,214,138,.3)}.exam-review-item.ko{border-color:rgba(255,105,105,.35)}.exam-setup-card{max-width:760px;margin:0 auto;padding:22px;border:1px solid rgba(255,255,255,.12);border-radius:24px;background:rgba(13,18,36,.78)}.exam-setup-card h1{font-size:clamp(1.8rem,4vw,3rem);margin:.2rem 0 .7rem}.exam-setup-card .difficulty-select-wrap{max-width:360px;margin:18px 0}.reader-view-tabs{flex-wrap:wrap}
@media(max-width:900px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-dashboard{padding:14px;border-radius:18px}.dash-card{min-height:120px}.detailed-correction{padding:12px}.mistake-card{padding:13px}}
@media(max-width:560px){.dashboard-grid{grid-template-columns:1fr}.dashboard-head{display:block}.dash-card{min-height:auto}.mistakes-list{gap:12px}.mistake-card h3{font-size:1rem}.detailed-correction{font-size:.9rem}.exam-setup-card{padding:16px;border-radius:18px}}


/* ==========================================================
   v30 — refonte visuelle : header propre, langue sous logo,
   cartes compactes, dashboard optimisé, focus study, mobile.
   ========================================================== */
:root{
  --radius:18px;
  --header-h:92px;
  --shadow:0 12px 34px rgba(0,0,0,.24);
  --soft-card:linear-gradient(160deg,rgba(20,31,49,.86),rgba(12,18,31,.72));
}
body{
  background:
    radial-gradient(circle at 4% 0%,rgba(216,180,91,.13),transparent 28rem),
    radial-gradient(circle at 84% 2%,rgba(103,212,255,.10),transparent 24rem),
    linear-gradient(180deg,#070a10,#080d16 42%,#070a10)!important;
}
.site-header{
  background:rgba(7,10,16,.88)!important;
  backdrop-filter:blur(22px)!important;
}
.nav-shell{
  max-width:1320px!important;
  padding:8px 20px 9px!important;
  display:grid!important;
  grid-template-columns:minmax(178px,225px) minmax(280px,1fr) auto!important;
  grid-template-areas:
    "brand tools toggle"
    "lang nav nav"!important;
  align-items:center!important;
  gap:4px 18px!important;
}
.brand{grid-area:brand!important;gap:9px!important;min-width:0!important;align-self:end!important;}
.brand-logo{width:38px!important;height:38px!important;border-radius:12px!important;}
.brand strong{font-size:.92rem!important;line-height:1!important;white-space:nowrap!important;}
.brand small{font-size:9px!important;line-height:1.1!important;letter-spacing:1.25px!important;max-width:160px!important;}
.brand-lang{
  grid-area:lang!important;
  justify-self:start!important;
  align-self:start!important;
  margin-left:47px!important;
  transform:translateY(-1px);
}
.compact-lang{padding:2px!important;gap:3px!important;background:rgba(255,255,255,.035)!important;border-color:rgba(255,255,255,.10)!important;}
.compact-lang button{min-width:28px!important;min-height:24px!important;padding:3px 6px!important;font-size:.62rem!important;line-height:1!important;}
.global-tools{grid-area:tools!important;max-width:540px!important;width:100%!important;margin-left:0!important;justify-self:stretch!important;display:block!important;min-width:0!important;}
.global-search{max-width:none!important;width:100%!important;}
.global-search input{height:38px!important;border-radius:999px!important;padding:0 15px!important;font-size:.86rem!important;background:rgba(255,255,255,.045)!important;}
.nav-links{
  grid-area:nav!important;
  justify-self:end!important;
  display:flex!important;
  gap:4px!important;
  align-items:center!important;
  color:#d3ddea!important;
  font-size:.82rem!important;
  overflow-x:auto!important;
  scrollbar-width:none;
  max-width:100%!important;
}
.nav-links::-webkit-scrollbar{display:none;}
.nav-links a{
  padding:6px 9px!important;
  border-radius:999px!important;
  border:1px solid transparent!important;
  white-space:nowrap!important;
  line-height:1.05!important;
}
.nav-links a:hover{background:rgba(255,255,255,.055)!important;border-color:rgba(255,255,255,.10)!important;}
.nav-links a[href="qcm.html"],.nav-links a[href="cas-cliniques.html"],.nav-links a[href="vrai-faux.html"]{background:rgba(103,212,255,.065)!important;}
.menu-toggle{grid-area:toggle!important;justify-self:end!important;padding:7px 10px!important;}
.global-search-results{top:76px!important;border-radius:20px!important;box-shadow:0 24px 70px rgba(0,0,0,.58)!important;}
.global-result{padding:9px 11px!important;border-radius:14px!important;}
.global-result strong{font-size:.94rem!important;}
.global-result span,.global-result small{font-size:.78rem!important;line-height:1.35!important;}

/* Accueil : hero/dashboard plus lisible */
.hero,.section,.page-hero,.reader-shell,.footer{max-width:1320px!important;}
.home-landing{
  padding-top:28px!important;
  padding-bottom:22px!important;
  grid-template-columns:minmax(280px,.78fr) minmax(520px,1.22fr)!important;
  gap:20px!important;
  align-items:start!important;
}
.home-landing .hero-copy{
  padding:26px!important;
  border-radius:24px!important;
  min-height:0!important;
}
.home-landing .hero-copy h1,
.hero h1,.page-hero h1{
  font-size:clamp(30px,4.2vw,52px)!important;
  line-height:1.02!important;
  letter-spacing:-1.35px!important;
}
.home-landing .hero-text,.hero-text,.page-hero p{font-size:15px!important;margin-top:14px!important;line-height:1.5!important;}
.eyebrow{font-size:10px!important;letter-spacing:1.7px!important;margin-bottom:9px!important;}
.hero-actions{gap:8px!important;margin-top:18px!important;}
.btn{padding:9px 14px!important;font-size:.86rem!important;line-height:1.1!important;box-shadow:none!important;}
.btn.tiny{padding:5px 9px!important;font-size:.72rem!important;}
.compact-stats{gap:10px!important;}
.stat-row-mini{gap:8px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.stat-card{padding:15px!important;border-radius:16px!important;}
.stat-card span{font-size:28px!important;}
.stat-card small{font-size:9px!important;letter-spacing:.9px!important;}
.home-progress-card{padding:12px!important;border-radius:17px!important;}
.home-progress-head{margin-bottom:7px!important;}
.home-progress-head strong{font-size:.88rem!important;}
.subject-progress-grid.home-mini-progress{gap:6px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;max-height:none!important;}
.subject-progress-card{padding:7px 8px!important;border-radius:12px!important;display:grid!important;grid-template-columns:1fr auto!important;gap:2px 7px!important;}
.subject-progress-card strong{font-size:.75rem!important;line-height:1.1!important;}
.subject-progress-card span{font-size:.65rem!important;}
.subject-progress-pct{font-size:.74rem!important;}
.subject-progress-card .mini-progress{grid-column:1/-1!important;height:5px!important;margin-top:2px!important;}
.learning-dashboard{margin-top:0!important;padding:12px!important;border-radius:19px!important;background:rgba(9,14,30,.54)!important;}
.dashboard-head{margin-bottom:9px!important;}
.dashboard-head h2{font-size:clamp(1.05rem,1.7vw,1.45rem)!important;}
.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;}
.dash-card{min-height:105px!important;padding:11px!important;border-radius:14px!important;gap:4px!important;}
.dash-card span{font-size:.61rem!important;letter-spacing:.06em!important;}
.dash-card strong{font-size:1.25rem!important;}
.dash-card small{font-size:.75rem!important;}
.weak-strip{margin-top:8px!important;padding:8px 10px!important;font-size:.8rem!important;}
.footer.compact-footer{padding:20px!important;font-size:.86rem!important;}

/* Pages catalogues/matières/modules : cartes moins massives */
.page-hero{padding-top:34px!important;padding-bottom:14px!important;}
.back-link{margin-bottom:12px!important;font-size:.9rem!important;}
.section{padding-top:26px!important;padding-bottom:30px!important;}
.section-head{margin-bottom:16px!important;}
.section-head h2{font-size:clamp(24px,3.2vw,36px)!important;}
.course-grid{grid-template-columns:repeat(auto-fit,minmax(235px,1fr))!important;gap:14px!important;}
.course-grid.large{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;}
.module-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;gap:14px!important;}
.course-card,.module-card,.practice-card,.mistake-card,.exam-setup-card{
  padding:17px!important;
  border-radius:18px!important;
  background:var(--soft-card)!important;
  box-shadow:0 12px 34px rgba(0,0,0,.22)!important;
}
.course-card h3,.module-card h3,.practice-card h3{font-size:clamp(1.05rem,1.7vw,1.32rem)!important;line-height:1.2!important;margin:8px 0!important;}
.course-card p,.module-card p,.practice-card p{font-size:.86rem!important;line-height:1.43!important;}
.course-card .count{margin:10px 0 7px!important;font-size:.86rem!important;}
.badge{font-size:.62rem!important;padding:4px 7px!important;letter-spacing:.7px!important;}
.module-top{gap:6px!important;}
.module-plan{padding:10px!important;border-radius:13px!important;margin:9px 0!important;max-height:126px!important;overflow:hidden!important;position:relative!important;}
.module-plan strong{font-size:.72rem!important;letter-spacing:.7px!important;}
.module-plan ol{margin-top:5px!important;padding-left:18px!important;}
.module-plan li{font-size:.76rem!important;line-height:1.33!important;margin:1px 0!important;}
.module-plan:after{content:"";position:absolute;left:0;right:0;bottom:0;height:24px;background:linear-gradient(180deg,rgba(20,31,49,0),rgba(20,31,49,.96));pointer-events:none;}
.module-meta{padding-top:10px!important;margin-top:10px!important;font-size:.75rem!important;}
.card-actions,.module-actions{gap:7px!important;margin-top:12px!important;}
.card-actions .btn:first-child,.module-actions .btn.primary,.module-actions .btn.secondary:first-child{font-weight:950!important;}
.card-actions .btn:not(.primary),.module-actions .btn:not(.primary){background:rgba(255,255,255,.035)!important;}
.search-box input{height:40px!important;font-size:.9rem!important;}

/* Lecture du cours : plus propre */
.reader-shell{grid-template-columns:250px minmax(0,1fr)!important;gap:16px!important;padding-top:22px!important;}
.toc-panel,.reader-content,.reader-head{border-radius:18px!important;}
.reader-head{padding:22px!important;}
.reader-content{padding:24px!important;}
.reader-view-tabs{gap:7px!important;margin-top:13px!important;}
.content{font-size:.98rem!important;line-height:1.62!important;}
.content h1{font-size:clamp(1.55rem,3vw,2.25rem)!important;}
.content h2{font-size:clamp(1.22rem,2.2vw,1.62rem)!important;margin-top:1.25rem!important;}
.content h3{font-size:clamp(1.05rem,1.8vw,1.25rem)!important;}
.content table{font-size:.88rem!important;}

/* Mode questions : focus compact et lisible */
.practice-focus .practice-focus-section{max-width:1040px!important;padding-top:6px!important;}
.practice-focus-topbar{top:72px!important;padding:5px 0 6px!important;margin-bottom:5px!important;}
.practice-focus-topbar .mode-tab{min-height:30px!important;padding:6px 10px!important;font-size:.78rem!important;}
.question-difficulty-panel{
  max-width:1040px!important;
  margin:6px auto 8px!important;
  padding:8px 10px!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(255,255,255,.10)!important;
}
.question-difficulty-panel small{font-size:.72rem!important;}
.question-difficulty-control span{font-size:.67rem!important;}
.difficulty-select{height:32px!important;font-size:.78rem!important;padding:0 8px!important;}
.practice-focus .session-dashboard.compact-dashboard,
.practice-focus .session-dashboard.ultra-compact-dashboard{
  grid-template-columns:repeat(5,minmax(80px,1fr))!important;
  padding:6px!important;
  gap:6px!important;
  border-radius:14px!important;
  margin-bottom:5px!important;
}
.practice-focus .session-dashboard .session-stat{padding:6px 7px!important;border-radius:11px!important;}
.practice-focus .session-dashboard .session-stat span{font-size:7.6px!important;letter-spacing:.45px!important;}
.practice-focus .session-dashboard .session-stat strong{font-size:15px!important;margin:1px 0!important;}
.practice-focus .session-dashboard .session-stat small{font-size:8.5px!important;}
.practice-focus .session-dashboard .session-bars{grid-column:1/-1!important;grid-template-columns:1fr 1fr!important;gap:6px!important;padding:0 2px!important;}
.practice-focus .session-dashboard .progress-track{height:5px!important;}
.coach-banner{max-width:1040px!important;margin-bottom:7px!important;padding:7px 10px!important;font-size:.78rem!important;border-radius:12px!important;}
.practice-focus .single-question-card{max-width:1040px!important;padding:18px!important;border-radius:20px!important;min-height:auto!important;}
.practice-focus .quiz-card h3{font-size:clamp(1.18rem,2.05vw,1.55rem)!important;line-height:1.38!important;margin:10px 0 14px!important;}
.case-stem{padding:10px 12px!important;border-radius:14px!important;font-size:.9rem!important;line-height:1.5!important;}
.practice-focus .options{gap:8px!important;}
.practice-focus .option{padding:11px 12px!important;border-radius:14px!important;font-size:.9rem!important;}
.option span{width:28px!important;height:28px!important;min-width:28px!important;font-size:.8rem!important;}
.single-nav-actions{margin-top:13px!important;padding-top:12px!important;}
.module-actions.slim{margin-top:9px!important;}
.answer-panel,.detailed-correction{border-radius:15px!important;padding:12px!important;font-size:.9rem!important;}

/* Mobile/tablette : une colonne, pas de page blanche/overflow */
@media(max-width:1020px){
  .nav-shell{grid-template-columns:minmax(150px,1fr) auto!important;grid-template-areas:"brand toggle" "lang lang" "tools tools" "nav nav"!important;gap:6px 10px!important;padding:8px 14px!important;}
  .brand-lang{margin-left:47px!important;}
  .global-tools{width:100%!important;max-width:100%!important;}
  .menu-toggle{display:block!important;}
  .nav-links{display:none!important;position:static!important;background:rgba(10,16,28,.95)!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:14px!important;padding:8px!important;justify-self:stretch!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important;}
  .nav-links.open{display:grid!important;}
  .nav-links a{text-align:center!important;background:rgba(255,255,255,.035)!important;}
  .global-search-results{top:138px!important;}
  .home-landing{grid-template-columns:1fr!important;}
  .dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .reader-shell{grid-template-columns:1fr!important;}
}
@media(max-width:720px){
  :root{--header-h:128px;}
  .brand-logo{width:34px!important;height:34px!important;}
  .brand strong{font-size:.86rem!important;}
  .brand small{font-size:8px!important;}
  .brand-lang{margin-left:43px!important;}
  .hero,.section,.page-hero,.reader-shell{padding-left:12px!important;padding-right:12px!important;}
  .home-landing{padding-top:18px!important;gap:12px!important;}
  .home-landing .hero-copy{padding:18px!important;}
  .home-landing .hero-copy h1,.hero h1,.page-hero h1{font-size:32px!important;}
  .hero-actions,.card-actions,.module-actions{display:grid!important;grid-template-columns:1fr 1fr!important;}
  .hero-actions .btn,.card-actions .btn,.module-actions .btn{width:100%!important;}
  .subject-progress-grid.home-mini-progress{grid-template-columns:1fr!important;}
  .stat-row-mini{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .stat-card{padding:11px!important;}
  .stat-card span{font-size:22px!important;}
  .dashboard-grid,.course-grid,.course-grid.large,.module-grid{grid-template-columns:1fr!important;}
  .dash-card{min-height:auto!important;}
  .global-search-results{top:152px!important;max-height:60vh!important;}
  .practice-focus-topbar{top:126px!important;}
  .practice-focus .session-dashboard.compact-dashboard,.practice-focus .session-dashboard.ultra-compact-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .practice-focus .session-dashboard .session-bars{grid-template-columns:1fr!important;}
  .question-difficulty-panel{display:grid!important;gap:5px!important;}
  .single-nav-actions{display:grid!important;grid-template-columns:1fr!important;}
  .practice-focus .option{font-size:.86rem!important;}
}
@media(max-width:420px){
  .nav-links{grid-template-columns:1fr!important;}
  .hero-actions,.card-actions,.module-actions{grid-template-columns:1fr!important;}
  .stat-row-mini{grid-template-columns:1fr!important;}
  .compact-lang button{min-width:26px!important;font-size:.58rem!important;}
  .global-search input{font-size:.8rem!important;}
  .page-hero{padding-top:20px!important;}
}


/* ==========================================================
   v31 — Accueil lisible + bouton Accueil + hiérarchie plus douce
   ========================================================== */
:root{
  --v31-max:1320px;
}

/* Navigation : bouton Accueil clair, langue plus discrète */
.nav-links a[href="index.html"]{
  background:rgba(216,180,91,.10)!important;
  border-color:rgba(216,180,91,.22)!important;
  color:#ffe89a!important;
  font-weight:950!important;
}
.brand-lang{
  margin-left:46px!important;
  opacity:.92;
}
.compact-lang button{
  min-width:24px!important;
  min-height:20px!important;
  padding:2px 5px!important;
  font-size:.56rem!important;
  letter-spacing:.02em!important;
}
.brand-logo{box-shadow:0 0 16px rgba(216,180,91,.18)!important;}

/* Accueil v31 : on supprime le côté “carte énorme + vide” */
.home-only-main.home-v31{
  display:block!important;
  min-height:auto!important;
  max-width:var(--v31-max)!important;
  margin:0 auto!important;
  padding:24px 20px 38px!important;
}
.home-v31-hero{
  padding:0!important;
  margin:0!important;
}
.home-v31-copy{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:20px!important;
  align-items:center!important;
  min-height:0!important;
  padding:28px 32px!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 92% 18%,rgba(216,180,91,.18),transparent 14rem),
    linear-gradient(145deg,rgba(24,35,54,.92),rgba(11,17,29,.78))!important;
}
.home-v31-copy:after{display:none!important;}
.home-v31-copy h1{
  max-width:860px!important;
  font-size:clamp(36px,4.7vw,60px)!important;
  line-height:1.02!important;
  letter-spacing:-1.55px!important;
}
.home-v31-copy .hero-text{
  max-width:760px!important;
  margin-top:12px!important;
  font-size:clamp(14px,1.25vw,16px)!important;
}
.home-v31-actions{
  margin-top:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  min-width:190px!important;
}
.home-v31-actions .btn{
  width:100%!important;
  white-space:nowrap!important;
}
.home-v31-dashboard-shell{
  display:grid!important;
  grid-template-columns:minmax(560px,1.1fr) minmax(430px,.9fr)!important;
  gap:18px!important;
  margin-top:18px!important;
  align-items:stretch!important;
}
.home-v31-study-map,
.learning-slot-v31,
.learning-dashboard-v31{
  min-width:0!important;
}
.home-v31-study-map{
  display:grid!important;
  gap:10px!important;
  align-content:start!important;
}
.home-v31-study-map .stat-row-mini{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.home-v31-study-map .stat-card{
  min-height:84px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.home-v31-study-map .home-progress-card{
  min-height:0!important;
}
.home-v31-study-map .home-mini-progress.subject-progress-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.home-v31-study-map .subject-progress-card{
  min-height:76px!important;
}
.learning-dashboard-v31{
  height:100%!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
}
.dashboard-head-v31{
  align-items:center!important;
}
.dashboard-grid-v31{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.dashboard-grid-v31 .dash-card{
  min-height:118px!important;
}
.dashboard-grid-v31 .dash-card .btn{
  padding:7px 10px!important;
  font-size:.78rem!important;
}

/* Pages générales : un peu moins “grossières”, plus premium */
.page-hero.compact-page-hero,
.page-hero.practice-hero{
  padding-top:26px!important;
}
.page-hero h1{max-width:980px!important;}
.course-card,.module-card,.practice-card,.mistake-card,.exam-setup-card,.reader-card,.toc-panel{
  border-color:rgba(255,255,255,.10)!important;
}
.course-card:hover,.module-card:hover,.dash-card:hover{
  transform:translateY(-2px)!important;
  border-color:rgba(216,180,91,.25)!important;
  transition:.18s ease!important;
}
.module-actions .btn,.card-actions .btn{
  min-height:32px!important;
}
.module-card .module-actions,
.course-card .card-actions{
  display:flex!important;
  flex-wrap:wrap!important;
}
.module-card .module-actions .btn.primary,
.course-card .card-actions .btn.primary{
  flex:1 1 100%!important;
}
.module-card .module-actions .btn:not(.primary),
.course-card .card-actions .btn:not(.primary){
  flex:1 1 30%!important;
  padding:8px 10px!important;
  font-size:.80rem!important;
}

/* Focus exercice : moins d’éléments qui distraient */
.practice-focus .page-hero.practice-hero{
  padding-bottom:8px!important;
}
.practice-focus .practice-focus-section{
  padding-top:0!important;
}
.practice-focus .single-question-card{
  border-color:rgba(255,255,255,.11)!important;
}
.question-difficulty-panel{
  justify-content:space-between!important;
}

@media(max-width:1120px){
  .home-v31-dashboard-shell{grid-template-columns:1fr!important;}
  .home-v31-study-map .home-mini-progress.subject-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .dashboard-grid-v31{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  .dashboard-grid-v31 .dash-card{min-height:105px!important;}
}
@media(max-width:900px){
  .nav-links a[href="index.html"]{grid-column:auto!important;}
  .home-v31-copy{grid-template-columns:1fr!important;}
  .home-v31-actions{flex-direction:row!important;flex-wrap:wrap!important;min-width:0!important;}
  .home-v31-actions .btn{width:auto!important;}
  .dashboard-grid-v31{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:680px){
  .home-only-main.home-v31{padding:14px 12px 28px!important;}
  .home-v31-copy{padding:20px!important;border-radius:22px!important;}
  .home-v31-copy h1{font-size:31px!important;letter-spacing:-.8px!important;}
  .home-v31-actions{display:grid!important;grid-template-columns:1fr!important;}
  .home-v31-actions .btn{width:100%!important;}
  .home-v31-study-map .stat-row-mini{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .home-v31-study-map .home-mini-progress.subject-progress-grid{grid-template-columns:1fr!important;}
  .dashboard-grid-v31{grid-template-columns:1fr!important;}
  .dashboard-grid-v31 .dash-card{min-height:auto!important;}
  .brand-lang{margin-left:42px!important;}
}
@media(max-width:460px){
  .home-v31-study-map .stat-row-mini{grid-template-columns:1fr!important;}
}


/* v32 — Ultimate question experience */
.v32-question-card{max-width:980px;margin-inline:auto!important;}
.question-study-strip{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 12px;padding:8px;border:1px solid rgba(216,180,91,.16);background:rgba(216,180,91,.055);border-radius:14px}
.question-study-strip span{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.question-study-strip b{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:999px;background:rgba(216,180,91,.22);color:var(--accent)}
.clinical-clue-card{margin:10px 0 12px!important;padding:12px 14px!important;border:1px solid rgba(255,255,255,.10)!important;background:rgba(255,255,255,.045)!important;border-radius:16px!important;color:var(--text)!important}
.clinical-clue-card span{display:block;color:var(--accent);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;margin-bottom:4px}
.clinical-clue-card p{margin:0!important;line-height:1.45!important;font-size:.96rem!important}
.preanswer-tools{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 8px}
.tool-btn{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);color:var(--text);border-radius:999px;padding:8px 11px;font-weight:800;font-size:.78rem;cursor:pointer}
.tool-btn:hover,.tool-btn.active{border-color:rgba(216,180,91,.45);background:rgba(216,180,91,.13);color:var(--accent)}
.tool-btn:disabled{opacity:.5;cursor:not-allowed}
.hint-panel{margin:8px 0 10px;padding:11px 13px;border-radius:14px;background:rgba(89,162,255,.09);border:1px solid rgba(89,162,255,.22)}
.hint-panel strong{display:block;color:#bcd9ff;margin-bottom:4px;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}
.hint-panel p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.45}
.option.eliminated{opacity:.38;filter:grayscale(.4);border-style:dashed!important}
.option.eliminated em::after{content:' — éliminé';color:var(--muted);font-size:.76rem;font-weight:800;margin-left:8px;text-transform:uppercase;letter-spacing:.04em}
.option-state{display:inline-block;margin-left:8px;padding:2px 6px;border-radius:999px;font-size:.65rem;font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.option-state.ok{background:rgba(72,211,138,.16);color:#7ee0ad}.option-state.ko{background:rgba(255,107,107,.15);color:#ff9a9a}
.question-shortcuts{margin:8px 0 0;color:var(--muted);font-size:.72rem;opacity:.82}
.v32-correction{border-top:1px solid rgba(255,255,255,.08);padding-top:12px}
.correction-verdict{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:14px;margin-bottom:10px;border:1px solid rgba(255,255,255,.10)}
.correction-verdict strong{font-size:.9rem;text-transform:uppercase;letter-spacing:.06em}.correction-verdict span{color:var(--muted);font-size:.86rem;line-height:1.4;text-align:right}
.correction-verdict.ok{background:rgba(72,211,138,.10);border-color:rgba(72,211,138,.24)}.correction-verdict.ok strong{color:#83e9b3}
.correction-verdict.ko{background:rgba(255,107,107,.09);border-color:rgba(255,107,107,.24)}.correction-verdict.ko strong{color:#ff9a9a}
.correction-verdict.unknown{background:rgba(216,180,91,.10);border-color:rgba(216,180,91,.26)}.correction-verdict.unknown strong{color:var(--accent)}
.answer-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
.answer-compare>div{border:1px solid rgba(255,255,255,.10);border-radius:14px;padding:10px;background:rgba(255,255,255,.035)}
.answer-compare span{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;font-weight:900}.answer-compare strong{display:block;color:var(--accent);font-size:1.1rem;margin:2px 0}.answer-compare p{margin:0;font-size:.9rem;line-height:1.35}
.correction-diagnosis{background:rgba(216,180,91,.06);border:1px solid rgba(216,180,91,.16);border-radius:14px;padding:10px 12px;margin:10px 0}.correction-diagnosis p{margin:.35rem 0 0!important}
.distractor-list{display:grid;gap:8px;margin-top:8px!important}.distractor-list li{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:9px 10px}.distractor-list small{display:block;margin-top:3px;color:var(--muted);line-height:1.35}
.takeaway-box{background:rgba(72,211,138,.07);border:1px solid rgba(72,211,138,.17);border-radius:14px;padding:10px 12px;margin-top:10px}.takeaway-box p{margin:.35rem 0 0!important}
@media(max-width:680px){.question-study-strip{display:grid;grid-template-columns:1fr 1fr}.answer-compare{grid-template-columns:1fr}.correction-verdict{display:block}.correction-verdict span{text-align:left;display:block;margin-top:5px}.preanswer-tools{display:grid;grid-template-columns:1fr}.tool-btn{width:100%}.question-shortcuts{display:none}}


/* v33 — accueil moins vide, plus lisible, plus motivant */
body{overflow-x:hidden;}
.site-header{border-bottom:1px solid rgba(255,255,255,.06);}
.nav-shell{max-width:1280px; gap:14px;}
.brand{min-width:170px;}
.brand span small{letter-spacing:.08em; line-height:1.05;}
.brand-lang.compact-lang{align-self:center; transform:scale(.88); transform-origin:left center; margin-left:-6px;}
.nav-links a{padding:.48rem .62rem; border-radius:999px;}
.nav-links a:hover,.nav-links a[aria-current="page"]{background:rgba(255,214,80,.12); color:#ffe06a;}
.home-only-main.home-v32{max-width:1240px; margin:0 auto; padding:28px 22px 34px; display:grid; gap:18px;}
.home-v32-hero{margin:0; padding:0; min-height:unset;}
.home-v32-copy{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:end; min-height:unset; padding:24px; border:1px solid rgba(255,255,255,.10); background:linear-gradient(135deg, rgba(37,56,92,.78), rgba(16,22,38,.92)); border-radius:26px; box-shadow:0 18px 45px rgba(0,0,0,.22);}
.home-v32-copy h1{font-size:clamp(2rem,4vw,4rem); max-width:760px; line-height:.98; margin:.18rem 0 .65rem;}
.home-v32-copy .hero-text{font-size:clamp(.92rem,1.15vw,1.05rem); max-width:760px; color:rgba(255,255,255,.78);}
.home-v32-actions{display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; min-width:300px;}
.home-v32-dashboard-shell{display:grid; grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr); gap:18px; align-items:start;}
.home-v32-study-map{order:1; padding:18px; border-radius:24px;}
.learning-slot-v32{order:2; min-width:0;}
.stat-row-mini{grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px;}
.stat-card{padding:16px 14px; border-radius:18px; min-height:unset;}
.stat-card span{font-size:clamp(1.55rem,2.2vw,2.25rem);}
.home-progress-card{margin-top:12px; padding:14px; border-radius:18px;}
.home-progress-head{margin-bottom:10px;}
.subject-progress-grid.home-mini-progress{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; max-height:none; overflow:visible;}
.subject-progress-card{padding:9px 10px; border-radius:14px; gap:4px;}
.subject-progress-card strong{font-size:.82rem;}
.subject-progress-card span{font-size:.68rem;}
.learning-dashboard-v31{padding:18px; border-radius:24px; height:auto;}
.dashboard-grid-v31{grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;}
.dash-card{min-height:120px; padding:14px; border-radius:18px;}
.dash-card strong{font-size:1.45rem;}
.weak-strip{margin-top:10px; padding:10px 12px; border-radius:14px;}
.page-hero.compact-page-hero{padding:24px; border-radius:24px;}
.course-grid,.module-grid{gap:16px;}
.course-card,.module-card{border-radius:22px;}
.question-study-strip::before{content:attr(aria-label); font-weight:900; color:#ffe06a; text-transform:uppercase; letter-spacing:.12em; font-size:.62rem; margin-right:4px;}
@media(max-width:1040px){.home-v32-dashboard-shell{grid-template-columns:1fr}.learning-slot-v32{order:1}.home-v32-study-map{order:2}.home-v32-copy{grid-template-columns:1fr}.home-v32-actions{justify-content:flex-start; min-width:0}.global-tools{order:3; flex-basis:100%;}.nav-links{flex-wrap:wrap;}}
@media(max-width:760px){.home-only-main.home-v32{padding:16px 12px 76px}.home-v32-copy{padding:18px; border-radius:20px}.home-v32-copy h1{font-size:2.05rem}.home-v32-dashboard-shell{gap:12px}.subject-progress-grid.home-mini-progress,.dashboard-grid-v31,.stat-row-mini{grid-template-columns:1fr}.site-header{position:sticky; top:0}.nav-shell{padding:8px 10px}.brand{min-width:145px}.brand-logo{width:34px;height:34px}.brand span strong{font-size:.9rem}.brand span small{font-size:.55rem}.brand-lang.compact-lang{transform:scale(.78);}.global-search input{min-height:38px}.nav-links.open{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px;}.nav-links a{font-size:.78rem; padding:.56rem .6rem}.footer{padding-bottom:76px;}}


/* ==========================================================
   v34 — passe éditoriale complète : accueil rééquilibré + lecture plus propre
   ========================================================== */
.home-only-main.home-v34,
.home-only-main.home-v32.home-v34{
  max-width:1360px!important;
  margin:0 auto!important;
  padding:18px 22px 34px!important;
  display:grid!important;
  grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr)!important;
  grid-template-areas:"hero dash"!important;
  gap:18px!important;
  align-items:start!important;
}
.home-v34 .home-v32-hero{grid-area:hero!important;position:sticky;top:86px;}
.home-v34 .home-v32-copy{
  min-height:380px!important;
  height:auto!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:18px!important;
  padding:30px!important;
  border-radius:30px!important;
  background:
    radial-gradient(circle at 20% 0%, rgba(255,222,101,.18), transparent 18rem),
    linear-gradient(165deg, rgba(34,51,84,.98), rgba(13,19,32,.92))!important;
  box-shadow:0 24px 70px rgba(0,0,0,.32)!important;
}
.home-v34 .home-v32-copy h1{
  font-size:clamp(2.65rem,5.1vw,5.1rem)!important;
  line-height:.93!important;
  max-width:520px!important;
  letter-spacing:-.055em!important;
  margin:.2rem 0 .75rem!important;
}
.home-v34 .home-v32-copy .hero-text{font-size:1.02rem!important;line-height:1.52!important;max-width:500px!important;}
.home-v34 .home-v32-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important;min-width:0!important;}
.home-v34 .home-v32-actions .btn{justify-content:center!important;width:100%!important;min-height:42px!important;}
.home-v34 .home-v32-actions .editorial-action{border-color:rgba(126,224,173,.22)!important;color:#b7ffd6!important;background:rgba(72,211,138,.07)!important;}
.home-v34 .home-v32-dashboard-shell{
  grid-area:dash!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:14px!important;
  margin:0!important;
}
.home-v34 .home-v32-study-map{padding:16px!important;border-radius:24px!important;}
.home-v34 .stat-row-mini{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.home-v34 .stat-card{min-height:74px!important;padding:13px!important;border-radius:17px!important;}
.home-v34 .stat-card span{font-size:1.85rem!important;}
.home-v34 .subject-progress-grid.home-mini-progress{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;}
.home-v34 .subject-progress-card{min-height:72px!important;border-radius:14px!important;}
.home-v34 .learning-dashboard-v31{padding:16px!important;border-radius:24px!important;}
.home-v34 .dashboard-grid-v31{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
.home-v34 .dashboard-grid-v31 .dash-card{min-height:112px!important;padding:12px!important;}
.home-v34 .dashboard-grid-v31 .dash-card strong{font-size:1.35rem!important;}
.reader-card{max-width:1040px!important;margin-inline:auto!important;}
.reader-view-tabs{position:sticky;top:76px;z-index:10;background:rgba(11,17,29,.86);backdrop-filter:blur(14px);padding:8px;border-radius:18px;border:1px solid rgba(255,255,255,.08);}
.reader-card blockquote{border-left:4px solid var(--gold2)!important;background:rgba(216,180,91,.08)!important;border-radius:14px!important;padding:12px 14px!important;color:rgba(255,255,255,.86)!important;}
.reader-card table th{font-size:.78rem!important;text-transform:uppercase;letter-spacing:.06em;}
.reader-card table td{font-size:.92rem!important;line-height:1.42!important;}
.reader-card h1,.reader-card h2,.reader-card h3{letter-spacing:-.02em!important;}
.question-prompt h3{line-height:1.18!important;}
.option em{line-height:1.32!important;}
.nav-links a[href="index.html"]::before{content:"⌂ ";}
@media(max-width:1160px){
  .home-only-main.home-v34,.home-only-main.home-v32.home-v34{grid-template-columns:1fr!important;grid-template-areas:"hero" "dash"!important;padding-top:14px!important;}
  .home-v34 .home-v32-hero{position:static!important;}
  .home-v34 .home-v32-copy{min-height:auto!important;}
  .home-v34 .home-v32-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .home-v34 .dashboard-grid-v31{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  .home-only-main.home-v34,.home-only-main.home-v32.home-v34{padding:12px 10px 86px!important;gap:12px!important;}
  .home-v34 .home-v32-copy{padding:22px!important;border-radius:22px!important;}
  .home-v34 .home-v32-copy h1{font-size:2.35rem!important;max-width:100%!important;}
  .home-v34 .home-v32-actions{grid-template-columns:1fr!important;}
  .home-v34 .stat-row-mini,.home-v34 .subject-progress-grid.home-mini-progress,.home-v34 .dashboard-grid-v31{grid-template-columns:1fr!important;}
  .reader-view-tabs{top:64px;}
}


/* v35 — correctifs de chargement et alias visuels */
.home-only-main.home-v35,
.home-only-main.home-v32.home-v35{
  display:grid!important;
  grid-template-columns:minmax(280px,0.72fr) minmax(520px,1.45fr)!important;
  grid-template-areas:"hero dash"!important;
  gap:26px!important;
  align-items:start!important;
  padding-top:22px!important;
}
.home-v35 .home-v32-hero{grid-area:hero!important;position:sticky;top:86px;}
.home-v35 .home-v32-copy{min-height:430px!important;border-radius:28px!important;padding:30px!important;}
.home-v35 .home-v32-copy h1{font-size:clamp(2.35rem,4vw,4.6rem)!important;line-height:.96!important;max-width:530px!important;}
.home-v35 .home-v32-copy .hero-text{font-size:1.02rem!important;line-height:1.52!important;max-width:500px!important;}
.home-v35 .home-v32-actions{display:flex!important;flex-wrap:wrap!important;gap:10px!important;width:100%!important;min-width:0!important;}
.home-v35 .home-v32-actions .btn{justify-content:center!important;min-height:40px!important;}
.home-v35 .home-v32-actions .editorial-action{border-color:rgba(126,224,173,.22)!important;color:#b7ffd6!important;background:rgba(72,211,138,.07)!important;}
.home-v35 .home-v32-dashboard-shell{grid-area:dash!important;display:grid!important;grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr)!important;gap:18px!important;align-items:start!important;}
.home-v35 .home-v32-study-map{padding:16px!important;border-radius:24px!important;}
.home-v35 .stat-row-mini{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.home-v35 .stat-card{min-height:74px!important;padding:13px!important;border-radius:17px!important;}
.home-v35 .stat-card span{font-size:1.85rem!important;}
.home-v35 .subject-progress-grid.home-mini-progress{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;}
.home-v35 .subject-progress-card{min-height:72px!important;border-radius:14px!important;}
.home-v35 .learning-dashboard-v31{padding:16px!important;border-radius:24px!important;}
.home-v35 .dashboard-grid-v31{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
.home-v35 .dashboard-grid-v31 .dash-card{min-height:112px!important;padding:12px!important;}
.home-v35 .dashboard-grid-v31 .dash-card strong{font-size:1.35rem!important;}
@media (max-width:1180px){.home-only-main.home-v35,.home-only-main.home-v32.home-v35{grid-template-columns:1fr!important;grid-template-areas:"hero" "dash"!important;padding-top:14px!important}.home-v35 .home-v32-hero{position:static!important}.home-v35 .home-v32-copy{min-height:auto!important}.home-v35 .home-v32-dashboard-shell{grid-template-columns:1fr!important}.home-v35 .dashboard-grid-v31{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:680px){.home-only-main.home-v35,.home-only-main.home-v32.home-v35{padding:12px 10px 86px!important;gap:12px!important}.home-v35 .home-v32-copy{padding:22px!important;border-radius:22px!important}.home-v35 .home-v32-copy h1{font-size:2.35rem!important;max-width:100%!important}.home-v35 .home-v32-actions{display:grid!important;grid-template-columns:1fr!important}.home-v35 .stat-row-mini,.home-v35 .subject-progress-grid.home-mini-progress,.home-v35 .dashboard-grid-v31{grid-template-columns:1fr!important}}

.fatal-render-error{margin:18px auto;max-width:980px;border:1px solid rgba(255,200,80,.35);background:rgba(255,200,80,.10);color:#ffe6a3;border-radius:18px;padding:14px 16px;box-shadow:var(--shadow-soft)}


/* v36 — Passe au peigne fin des pages de cours */
.reader-content{font-size:1rem!important;line-height:1.68!important;}
.reader-content p{max-width:84ch!important;line-height:1.68!important;margin:0.85rem 0!important;color:rgba(238,242,247,.92)!important;}
.reader-content h1{font-size:1.65rem!important;margin:0 0 1rem!important;color:var(--gold2)!important;}
.reader-content h2{font-size:1.38rem!important;margin:1.55rem 0 .75rem!important;color:var(--gold2)!important;border-top:1px solid rgba(255,255,255,.08);padding-top:1rem;}
.reader-content h2:first-child{border-top:0;padding-top:0;margin-top:.2rem!important;}
.reader-content h3{font-size:1.08rem!important;margin:1.15rem 0 .55rem!important;color:#d9f3ff!important;}
.reader-content ul,.reader-content ol{max-width:84ch!important;line-height:1.6!important;margin:.7rem 0 1rem 1.15rem!important;}
.reader-content li{margin:.35rem 0!important;}
.reader-content table{font-size:.93rem!important;margin:1rem 0 1.2rem!important;}
.reader-content blockquote{max-width:84ch!important;}
.reader-head h1{font-size:clamp(2rem,4vw,3.3rem)!important;}
body[data-reader-mode="fiche"] .reader-content,
body[data-reader-mode="ultra"] .reader-content{font-size:1.04rem!important;}
body[data-reader-mode="fiche"] .reader-content h2,
body[data-reader-mode="ultra"] .reader-content h2{font-size:1.34rem!important;}
@media (max-width:720px){
  .reader-content{padding:18px!important;font-size:.98rem!important;}
  .reader-head h1{font-size:2rem!important;}
  .reader-content h2{font-size:1.22rem!important;}
  .reader-content h3{font-size:1.04rem!important;}
}


/* v38 homepage polish + Pix support */
.home-only-main.home-v38,
.home-only-main.home-v32.home-v35.home-v38{
  max-width:1280px!important;
  margin:0 auto!important;
  padding:24px 22px 34px!important;
  display:grid!important;
  gap:18px!important;
  grid-template-columns:1fr!important;
  grid-template-areas:none!important;
}
.home-v38-top-grid{
  display:grid;
  grid-template-columns:minmax(0,1.03fr) minmax(360px,.97fr);
  gap:18px;
  align-items:stretch;
}
.home-v38 .home-v32-hero{
  margin:0!important;
  padding:0!important;
  min-height:unset!important;
  position:static!important;
  top:auto!important;
}
.home-v38 .home-v32-copy{
  min-height:100%!important;
  padding:32px!important;
  border-radius:28px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  gap:20px!important;
}
.home-v38 .home-v32-copy h1{
  font-size:clamp(2.7rem,4.5vw,5rem)!important;
  line-height:.95!important;
  max-width:760px!important;
}
.home-v38 .home-v32-copy .hero-text{
  max-width:700px!important;
  font-size:1.06rem!important;
  line-height:1.6!important;
}
.home-v38 .home-v32-actions{
  justify-content:flex-start!important;
  min-width:0!important;
}
.home-v38 .home-v32-actions .btn{
  min-height:44px!important;
}
.home-v38-support-card{
  border:1px solid rgba(255,255,255,.10);
  border-radius:28px;
  background:linear-gradient(145deg, rgba(16,22,38,.94), rgba(11,17,31,.92));
  box-shadow:0 18px 45px rgba(0,0,0,.22);
  padding:24px;
  display:grid;
  gap:18px;
  align-content:start;
}
.home-v38-support-card h2{
  font-size:clamp(1.6rem,2.1vw,2.4rem);
  line-height:1.08;
  letter-spacing:-.02em;
}
.support-copy{display:grid;gap:14px}
.support-text{margin-top:0!important;font-size:1rem!important;line-height:1.58!important;max-width:none!important}
.pix-label{
  font-size:.86rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--gold2);
}
.pix-payload-field{
  width:100%;
  min-height:96px;
  resize:none;
  border-radius:18px;
  border:1px solid rgba(103,212,255,.18);
  background:rgba(255,255,255,.035);
  color:var(--text);
  padding:14px 16px;
  line-height:1.45;
  font-size:.9rem;
}
.pix-payload-field:focus{outline:2px solid rgba(216,180,91,.42);border-color:rgba(216,180,91,.42)}
.support-actions{display:flex;flex-wrap:wrap;gap:10px}
.support-note{color:var(--muted);font-size:.92rem;line-height:1.5}
.support-art{
  position:relative;
  overflow:hidden;
  border-radius:26px;
  border:1px solid rgba(103,212,255,.18);
  background:radial-gradient(circle at center, rgba(103,212,255,.12), transparent 55%), #08101d;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);
}
.support-image{width:100%;height:auto;display:block}
.support-bubble{
  position:absolute;
  left:34%;
  top:8%;
  width:43%;
  min-height:34%;
  display:grid;
  align-content:center;
  gap:8px;
  padding:18px 20px;
  color:#eef5ff;
  text-shadow:0 4px 18px rgba(0,0,0,.48);
}
.support-bubble strong{font-size:1.08rem;line-height:1.22}
.support-bubble p{font-size:.93rem;line-height:1.45;color:rgba(240,246,255,.88)}
.qr-copy-hotspot{
  position:absolute;
  left:73%;
  top:56%;
  width:23%;
  height:36%;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.05);
  background:transparent;
  box-shadow:0 0 0 0 rgba(216,180,91,0);
  transition:.2s ease;
}
.qr-copy-hotspot:hover,.qr-copy-hotspot:focus-visible{
  border-color:rgba(216,180,91,.58);
  box-shadow:0 0 0 4px rgba(216,180,91,.16);
  outline:none;
}
.home-v38 .home-v32-dashboard-shell{
  grid-template-columns:minmax(0,1.12fr) minmax(290px,.88fr)!important;
  gap:18px!important;
}
@media (max-width:1180px){
  .home-v38-top-grid{grid-template-columns:1fr!important}
  .home-v38 .home-v32-dashboard-shell{grid-template-columns:1fr!important}
}
@media (max-width:760px){
  .home-only-main.home-v38,.home-only-main.home-v32.home-v35.home-v38{padding:12px 10px 86px!important;gap:12px!important}
  .home-v38 .home-v32-copy{padding:22px!important;border-radius:22px!important}
  .home-v38 .home-v32-copy h1{font-size:2.45rem!important;max-width:100%!important}
  .home-v38 .home-v32-actions{display:grid!important;grid-template-columns:1fr!important}
  .home-v38-support-card{padding:18px;border-radius:22px}
  .support-bubble{position:static;width:auto;min-height:0;padding:14px 0 2px}
  .qr-copy-hotspot{left:71%;top:55%;width:24%;height:34%;border-radius:16px}
}


/* v39 — homepage layout hard reset and clean rebuild */
body[data-page="home"]{
  overflow-x:hidden;
}

body[data-page="home"] .home-only-main.home-v39{
  width:min(1240px, calc(100% - 44px))!important;
  max-width:none!important;
  margin:0 auto!important;
  padding:28px 0 44px!important;
  display:block!important;
}

.home-v39-hero,
.home-v39-dashboard{
  display:grid!important;
  gap:20px!important;
  width:100%!important;
  margin:0!important;
}

.home-v39-hero{
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr)!important;
  align-items:stretch!important;
  margin-bottom:20px!important;
}

.home-v39-dashboard{
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)!important;
  align-items:start!important;
}

.home-v39-hero-card,
.home-v39-donate-card,
.home-v39-study-map,
.learning-dashboard-v31{
  border:1px solid rgba(255,255,255,.11)!important;
  border-radius:28px!important;
  background:linear-gradient(145deg, rgba(23,35,56,.90), rgba(11,17,31,.88))!important;
  box-shadow:0 18px 45px rgba(0,0,0,.24)!important;
  min-width:0!important;
}

.home-v39-hero-card{
  padding:36px!important;
  min-height:430px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  overflow:hidden!important;
  position:relative!important;
}

.home-v39-hero-card::after{
  content:"";
  position:absolute;
  inset:auto -10% -30% auto;
  width:340px;
  height:340px;
  background:radial-gradient(circle, rgba(216,180,91,.18), transparent 68%);
  pointer-events:none;
}

.home-v39-hero-card h1{
  position:relative;
  z-index:1;
  font-size:clamp(3.1rem,5.1vw,5.8rem)!important;
  line-height:.94!important;
  letter-spacing:-.055em!important;
  max-width:820px!important;
  margin:.18rem 0 .85rem!important;
}

.home-v39-hero-card .eyebrow,
.home-v39-hero-card .hero-text,
.home-v39-hero-card .home-v39-actions{
  position:relative;
  z-index:1;
}

.home-v39-hero-card .hero-text{
  max-width:720px!important;
  font-size:1.08rem!important;
  line-height:1.6!important;
  color:rgba(255,255,255,.78)!important;
  margin-top:0!important;
}

.home-v39-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-top:26px!important;
}

.home-v39-actions .btn{
  min-height:44px!important;
}

.home-v39-donate-card{
  padding:20px!important;
  display:grid!important;
  grid-template-columns:minmax(0,.92fr) minmax(230px,.78fr)!important;
  gap:18px!important;
  align-items:stretch!important;
}

.home-v39-donate-card h2{
  font-size:clamp(1.55rem,2.05vw,2.35rem)!important;
  line-height:1.08!important;
  letter-spacing:-.03em!important;
  margin:0!important;
}

.donate-text{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
}

.donate-text p:not(.eyebrow),
.support-note{
  color:rgba(255,255,255,.74)!important;
  font-size:.96rem!important;
  line-height:1.48!important;
}

.pix-label{
  color:var(--gold2)!important;
  font-size:.76rem!important;
  line-height:1.1!important;
  letter-spacing:.11em!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  margin-top:4px!important;
}

.pix-payload-field{
  width:100%!important;
  min-height:74px!important;
  max-height:112px!important;
  resize:none!important;
  border-radius:16px!important;
  border:1px solid rgba(103,212,255,.20)!important;
  background:rgba(255,255,255,.04)!important;
  color:var(--text)!important;
  padding:11px 12px!important;
  font-size:.78rem!important;
  line-height:1.35!important;
  word-break:break-all!important;
}

.pix-payload-field:focus{
  outline:2px solid rgba(216,180,91,.42)!important;
  border-color:rgba(216,180,91,.42)!important;
}

.support-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:9px!important;
}

.support-actions .btn{
  min-height:39px!important;
  padding:9px 13px!important;
  font-size:.86rem!important;
}

.support-note{
  font-size:.83rem!important;
  margin:0!important;
}

.donate-visual{
  position:relative!important;
  overflow:hidden!important;
  min-height:100%!important;
  border:1px solid rgba(103,212,255,.18)!important;
  border-radius:22px!important;
  background:#08101d!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
}

.donate-visual img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  min-height:260px!important;
}

.donate-visual figcaption{
  position:absolute!important;
  left:12px!important;
  right:12px!important;
  bottom:12px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:16px!important;
  padding:11px 12px!important;
  background:rgba(6,10,18,.72)!important;
  backdrop-filter:blur(10px)!important;
  display:grid!important;
  gap:4px!important;
}

.donate-visual figcaption strong{
  font-size:.92rem!important;
  line-height:1.22!important;
}

.donate-visual figcaption span{
  color:rgba(255,255,255,.76)!important;
  font-size:.78rem!important;
  line-height:1.28!important;
}

.qr-copy-hotspot{
  position:absolute!important;
  right:5%!important;
  bottom:6%!important;
  width:25%!important;
  height:30%!important;
  min-width:74px!important;
  min-height:74px!important;
  border:1px solid rgba(255,255,255,.05)!important;
  border-radius:18px!important;
  background:transparent!important;
  box-shadow:none!important;
}

.qr-copy-hotspot:hover,
.qr-copy-hotspot:focus-visible{
  border-color:rgba(216,180,91,.70)!important;
  box-shadow:0 0 0 4px rgba(216,180,91,.17)!important;
  outline:none!important;
}

.home-v39-study-map{
  padding:18px!important;
  display:grid!important;
  gap:14px!important;
}

.home-v39-stat-row{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}

.home-v39-stat-row .stat-card{
  min-height:84px!important;
  padding:15px!important;
  border-radius:18px!important;
}

.home-v39-stat-row .stat-card span{
  font-size:2rem!important;
}

.home-v39 .subject-progress-grid.home-mini-progress,
.home-v39 .subject-progress-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px!important;
}

.home-v39 .subject-progress-card{
  min-height:76px!important;
  padding:10px!important;
  border-radius:15px!important;
}

.home-v39 .learning-dashboard-v31{
  padding:18px!important;
  min-width:0!important;
}

.home-v39 .dashboard-grid-v31{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
}

.home-v39 .dash-card{
  min-height:126px!important;
  padding:13px!important;
  border-radius:18px!important;
}

.home-v39 .dash-card strong{
  font-size:1.38rem!important;
}

@media (max-width:1180px){
  body[data-page="home"] .home-only-main.home-v39{
    width:min(100% - 28px, 980px)!important;
    padding-top:18px!important;
  }
  .home-v39-hero,
  .home-v39-dashboard{
    grid-template-columns:1fr!important;
  }
  .home-v39-hero-card{
    min-height:auto!important;
  }
  .home-v39-donate-card{
    grid-template-columns:1fr!important;
  }
  .donate-visual img{
    max-height:360px!important;
  }
  .home-v39 .dashboard-grid-v31{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media (max-width:760px){
  body[data-page="home"] .home-only-main.home-v39{
    width:calc(100% - 20px)!important;
    padding:12px 0 86px!important;
  }
  .home-v39-hero,
  .home-v39-dashboard{
    gap:12px!important;
    margin-bottom:12px!important;
  }
  .home-v39-hero-card,
  .home-v39-donate-card,
  .home-v39-study-map,
  .learning-dashboard-v31{
    border-radius:22px!important;
  }
  .home-v39-hero-card{
    padding:22px!important;
  }
  .home-v39-hero-card h1{
    font-size:2.55rem!important;
    letter-spacing:-.035em!important;
    line-height:.98!important;
  }
  .home-v39-actions,
  .support-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .home-v39-donate-card{
    padding:16px!important;
  }
  .pix-payload-field{
    min-height:86px!important;
  }
  .donate-visual img{
    min-height:240px!important;
    max-height:none!important;
  }
  .home-v39-stat-row,
  .home-v39 .subject-progress-grid.home-mini-progress,
  .home-v39 .subject-progress-grid,
  .home-v39 .dashboard-grid-v31{
    grid-template-columns:1fr!important;
  }
  .home-v39 .dash-card,
  .home-v39 .subject-progress-card{
    min-height:auto!important;
  }
}


/* v40 — cleaner Pix donation: no visible payload + visible full image */
.home-v40 .home-v39-donate-card{
  display:flex!important;
  flex-direction:column!important;
  gap:16px!important;
  justify-content:space-between!important;
}
.home-v40 .donate-text{
  gap:13px!important;
}
.pix-integrated-note{
  border:1px solid rgba(216,180,91,.28)!important;
  background:rgba(216,180,91,.08)!important;
  color:rgba(255,244,208,.95)!important;
  border-radius:16px!important;
  padding:11px 13px!important;
  font-size:.9rem!important;
  line-height:1.42!important;
  font-weight:750!important;
}
.home-v40 .pix-payload-field,
.home-v40 .pix-label{
  display:none!important;
}
.home-v40 .donate-visual{
  width:100%!important;
  min-height:0!important;
  aspect-ratio:16/9!important;
  display:block!important;
  overflow:hidden!important;
  border-radius:22px!important;
  background:#050914!important;
}
.home-v40 .donate-visual img{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#050914!important;
}
.home-v40 .donate-visual figcaption{
  position:absolute!important;
  left:39%!important;
  top:10%!important;
  right:6%!important;
  bottom:auto!important;
  min-height:34%!important;
  padding:16px 18px!important;
  display:grid!important;
  align-content:center!important;
  gap:6px!important;
  border:0!important;
  background:transparent!important;
  backdrop-filter:none!important;
  text-shadow:0 5px 20px rgba(0,0,0,.66)!important;
}
.home-v40 .donate-visual figcaption strong{
  font-size:clamp(.86rem,1.1vw,1.05rem)!important;
  line-height:1.2!important;
}
.home-v40 .donate-visual figcaption span{
  font-size:clamp(.72rem,.9vw,.88rem)!important;
  line-height:1.36!important;
}
.home-v40 .qr-copy-hotspot{
  right:3.8%!important;
  bottom:11.8%!important;
  width:22.5%!important;
  height:31.5%!important;
  min-width:72px!important;
  min-height:72px!important;
  cursor:pointer!important;
}
.home-v40 .support-actions .btn.primary::before{
  content:'📋';
  font-size:1rem;
  line-height:1;
}
@media (max-width:1180px){
  .home-v40 .donate-visual figcaption{left:38%!important;top:9%!important;right:7%!important;}
}
@media (max-width:760px){
  .home-v40 .donate-visual{aspect-ratio:16/9!important;}
  .home-v40 .donate-visual figcaption{
    left:38%!important;
    top:6%!important;
    right:6%!important;
    padding:8px 10px!important;
  }
  .home-v40 .donate-visual figcaption strong{font-size:.72rem!important;}
  .home-v40 .donate-visual figcaption span{display:none!important;}
  .home-v40 .qr-copy-hotspot{right:3.7%!important;bottom:11.5%!important;width:23%!important;height:31%!important;}
}


/* v41 — landing page finale: cleaner Pix + steps + stable dashboard */
body[data-page="home"]{
  overflow-x:hidden;
}

body[data-page="home"] .home-only-main.home-v41{
  width:min(1240px, calc(100% - 44px))!important;
  max-width:none!important;
  margin:0 auto!important;
  padding:28px 0 44px!important;
  display:grid!important;
  gap:18px!important;
}

.home-v41-hero,
.home-v41-dashboard{
  display:grid!important;
  gap:20px!important;
  width:100%!important;
}

.home-v41-hero{
  grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr)!important;
  align-items:stretch!important;
}

.home-v41-dashboard{
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)!important;
  align-items:start!important;
}

.home-v41-hero-card,
.home-v41-donate-card,
.home-v41-study-map,
.home-v41-steps,
.home-v41-bottom,
.home-v41 .learning-dashboard-v31{
  border:1px solid rgba(255,255,255,.11)!important;
  border-radius:28px!important;
  background:linear-gradient(145deg, rgba(23,35,56,.90), rgba(11,17,31,.88))!important;
  box-shadow:0 18px 45px rgba(0,0,0,.24)!important;
  min-width:0!important;
}

.home-v41-hero-card{
  padding:36px!important;
  min-height:430px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  overflow:hidden!important;
  position:relative!important;
}

.home-v41-hero-card::after{
  content:"";
  position:absolute;
  inset:auto -9% -32% auto;
  width:370px;
  height:370px;
  background:radial-gradient(circle, rgba(216,180,91,.16), transparent 68%);
  pointer-events:none;
}

.home-v41-copy,
.home-v41-actions{
  position:relative;
  z-index:1;
}

.home-v41-hero-card h1{
  font-size:clamp(3rem,5vw,5.7rem)!important;
  line-height:.94!important;
  letter-spacing:-.055em!important;
  max-width:850px!important;
  margin:.18rem 0 .9rem!important;
}

.home-v41-hero-card .hero-text{
  max-width:720px!important;
  font-size:1.08rem!important;
  line-height:1.6!important;
  color:rgba(255,255,255,.78)!important;
  margin-top:0!important;
}

.home-v41-proof{
  margin-top:22px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.home-v41-proof span{
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.045);
  border-radius:999px;
  padding:8px 11px;
  display:inline-flex;
  align-items:baseline;
  gap:6px;
}

.home-v41-proof strong{
  color:var(--gold2);
  font-size:1.04rem;
  line-height:1;
}

.home-v41-proof em{
  font-style:normal;
  color:rgba(255,255,255,.74);
  font-size:.82rem;
  font-weight:800;
}

.home-v41-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-top:26px!important;
}

.home-v41-actions .btn{
  min-height:44px!important;
}

.home-v41-donate-card{
  padding:20px!important;
  display:grid!important;
  grid-template-rows:auto minmax(210px,1fr)!important;
  gap:16px!important;
  align-items:stretch!important;
}

.home-v41-donate-card h2{
  font-size:clamp(1.5rem,2.05vw,2.25rem)!important;
  line-height:1.08!important;
  letter-spacing:-.03em!important;
  margin:0!important;
}

.donate-text{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
}

.donate-text p:not(.eyebrow),
.support-note{
  color:rgba(255,255,255,.74)!important;
  font-size:.94rem!important;
  line-height:1.48!important;
}

.support-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:9px!important;
}

.support-actions .btn{
  min-height:40px!important;
  padding:9px 13px!important;
  font-size:.87rem!important;
}

.support-note{
  font-size:.82rem!important;
  margin:0!important;
}

.pix-payload-field,
.pix-label,
.pix-integrated-note{
  display:none!important;
}

.donate-visual{
  position:relative!important;
  overflow:hidden!important;
  border:1px solid rgba(103,212,255,.18)!important;
  border-radius:22px!important;
  background:#08101d!important;
  display:block!important;
  min-height:225px!important;
}

.donate-visual img{
  width:100%!important;
  height:100%!important;
  min-height:225px!important;
  max-height:300px!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
  background:#08101d!important;
}

.donate-visual figcaption{
  display:none!important;
}

.qr-copy-hotspot{
  position:absolute!important;
  right:5%!important;
  bottom:6%!important;
  width:26%!important;
  height:34%!important;
  min-width:78px!important;
  min-height:78px!important;
  border:1px solid rgba(255,255,255,.05)!important;
  border-radius:18px!important;
  background:transparent!important;
  box-shadow:none!important;
}

.qr-copy-hotspot:hover,
.qr-copy-hotspot:focus-visible{
  border-color:rgba(216,180,91,.70)!important;
  box-shadow:0 0 0 4px rgba(216,180,91,.17)!important;
  outline:none!important;
}

.home-v41-steps{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  padding:16px!important;
}

.home-v41-steps article{
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;
  background:rgba(255,255,255,.035);
  padding:16px;
  display:grid;
  gap:8px;
}

.home-v41-steps span{
  width:30px;
  height:30px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:#111827;
  display:inline-grid;
  place-items:center;
  font-weight:950;
}

.home-v41-steps h3{
  font-size:1.05rem;
  letter-spacing:-.01em;
}

.home-v41-steps p{
  color:rgba(255,255,255,.72);
  font-size:.92rem;
  line-height:1.45;
}

.home-v41-study-map{
  padding:18px!important;
  display:grid!important;
  gap:14px!important;
}

.home-v41-stat-row{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}

.home-v41-stat-row .stat-card{
  min-height:84px!important;
  padding:15px!important;
  border-radius:18px!important;
}

.home-v41-stat-row .stat-card span{
  font-size:2rem!important;
}

.home-v41 .subject-progress-grid.home-mini-progress,
.home-v41 .subject-progress-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px!important;
}

.home-v41 .subject-progress-card{
  min-height:76px!important;
  padding:10px!important;
  border-radius:15px!important;
}

.home-v41 .learning-dashboard-v31{
  padding:18px!important;
  min-width:0!important;
}

.home-v41 .dashboard-grid-v31{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
}

.home-v41 .dash-card{
  min-height:126px!important;
  padding:13px!important;
  border-radius:18px!important;
}

.home-v41 .dash-card strong{
  font-size:1.38rem!important;
}

.home-v41-bottom{
  padding:22px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:18px!important;
}

.home-v41-bottom h2{
  font-size:clamp(1.5rem,2.3vw,2.4rem);
  line-height:1.08;
  letter-spacing:-.03em;
  margin:.2rem 0 .55rem;
}

.home-v41-bottom p:not(.eyebrow){
  color:rgba(255,255,255,.74);
  max-width:720px;
}

.home-v41-bottom-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}

@media (max-width:1180px){
  body[data-page="home"] .home-only-main.home-v41{
    width:min(100% - 28px, 980px)!important;
    padding-top:18px!important;
  }
  .home-v41-hero,
  .home-v41-dashboard,
  .home-v41-bottom{
    grid-template-columns:1fr!important;
  }
  .home-v41-hero-card{
    min-height:auto!important;
  }
  .home-v41 .dashboard-grid-v31{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .home-v41-bottom-actions{
    justify-content:flex-start!important;
  }
}

@media (max-width:760px){
  body[data-page="home"] .home-only-main.home-v41{
    width:calc(100% - 20px)!important;
    padding:12px 0 86px!important;
    gap:12px!important;
  }
  .home-v41-hero,
  .home-v41-dashboard{
    gap:12px!important;
  }
  .home-v41-hero-card,
  .home-v41-donate-card,
  .home-v41-study-map,
  .home-v41-steps,
  .home-v41-bottom,
  .home-v41 .learning-dashboard-v31{
    border-radius:22px!important;
  }
  .home-v41-hero-card{
    padding:22px!important;
  }
  .home-v41-hero-card h1{
    font-size:2.45rem!important;
    letter-spacing:-.035em!important;
    line-height:.98!important;
  }
  .home-v41-actions,
  .support-actions,
  .home-v41-bottom-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .home-v41-donate-card{
    padding:16px!important;
  }
  .donate-visual,
  .donate-visual img{
    min-height:235px!important;
  }
  .home-v41-steps,
  .home-v41-stat-row,
  .home-v41 .subject-progress-grid.home-mini-progress,
  .home-v41 .subject-progress-grid,
  .home-v41 .dashboard-grid-v31{
    grid-template-columns:1fr!important;
  }
  .home-v41 .dash-card,
  .home-v41 .subject-progress-card{
    min-height:auto!important;
  }
}


/* v42 — final homepage refinements before publishing */
:root{--header-real-h:86px;}
.site-header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:1000!important;
  background:rgba(7,10,16,.88)!important;
  backdrop-filter:blur(20px)!important;
  -webkit-backdrop-filter:blur(20px)!important;
}
body{
  padding-top:var(--header-real-h)!important;
}
html{
  scroll-padding-top:calc(var(--header-real-h) + 18px)!important;
}
body[data-page="home"] .home-only-main.home-v42{
  padding-top:16px!important;
}
.home-v42 .home-v41-hero{
  grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr)!important;
}
.home-v42 .home-v41-hero-card{
  min-height:405px!important;
  padding:34px!important;
}
.home-v42 .home-v41-hero-card h1{
  font-size:clamp(2.85rem,4.7vw,5.25rem)!important;
  max-width:850px!important;
}
.home-v42 .home-v41-proof{
  margin-top:18px!important;
}
.home-v42 .home-v41-proof span{
  padding:7px 10px!important;
  background:rgba(255,255,255,.04)!important;
}
.home-v42-donate-card{
  grid-template-rows:auto minmax(235px,1fr)!important;
}
.home-v42-donate-card .donate-text{
  gap:13px!important;
}
.home-v42-donate-card h2{
  font-size:clamp(1.65rem,2.2vw,2.45rem)!important;
}
.home-v42-donate-card .support-note{
  display:none!important;
}
.home-v42-donate-card .donate-visual{
  min-height:255px!important;
}
.home-v42-donate-card .donate-visual img{
  min-height:255px!important;
  max-height:330px!important;
  object-fit:contain!important;
}
.home-v42-donate-card .donate-fun-bubble{
  display:grid!important;
  position:absolute!important;
  left:22px!important;
  top:24px!important;
  max-width:min(52%, 280px)!important;
  border:1px solid rgba(103,212,255,.22)!important;
  border-radius:20px 20px 20px 6px!important;
  padding:14px 16px!important;
  background:rgba(6,10,18,.72)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  color:#f8fafc!important;
  gap:5px!important;
  box-shadow:0 16px 38px rgba(0,0,0,.28)!important;
}
.home-v42-donate-card .donate-fun-bubble strong{
  font-size:.98rem!important;
  line-height:1.18!important;
}
.home-v42-donate-card .donate-fun-bubble span{
  font-size:.82rem!important;
  line-height:1.32!important;
  color:rgba(255,255,255,.80)!important;
}
.home-v42-donate-card .qr-copy-hotspot{
  right:5%!important;
  bottom:7%!important;
  width:25%!important;
  height:32%!important;
}
.home-v42 .home-v41-steps{
  padding:14px!important;
}
.home-v42 .home-v41-steps article{
  min-height:130px!important;
}
.home-v42 .home-v41-bottom{
  margin-bottom:4px!important;
}
@media(max-width:1100px){
  :root{--header-real-h:94px;}
  .home-v42 .home-v41-hero{
    grid-template-columns:1fr!important;
  }
  .home-v42-donate-card{
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto!important;
  }
}
@media(max-width:760px){
  :root{--header-real-h:76px;}
  body[data-page="home"] .home-only-main.home-v42{
    padding-top:10px!important;
  }
  .home-v42 .home-v41-hero-card{
    min-height:auto!important;
    padding:22px!important;
  }
  .home-v42 .home-v41-hero-card h1{
    font-size:2.38rem!important;
  }
  .home-v42-donate-card .donate-fun-bubble{
    left:12px!important;
    top:12px!important;
    max-width:60%!important;
    padding:10px 12px!important;
    border-radius:16px 16px 16px 5px!important;
  }
  .home-v42-donate-card .donate-fun-bubble strong{font-size:.86rem!important;}
  .home-v42-donate-card .donate-fun-bubble span{font-size:.72rem!important;}
  .home-v42-donate-card .donate-visual,
  .home-v42-donate-card .donate-visual img{
    min-height:245px!important;
  }
}


/* v43 — last homepage polish before publishing */
body[data-page="home"] .site-header{
  position:sticky!important;
  top:0!important;
  z-index:1000!important;
  background:rgba(7,10,16,.88)!important;
  backdrop-filter:blur(18px)!important;
}

body[data-page="home"] .home-only-main.home-v43{
  width:min(1240px, calc(100% - 44px))!important;
  max-width:none!important;
  margin:0 auto!important;
  padding:28px 0 44px!important;
  display:grid!important;
  gap:18px!important;
}

.home-v43 .home-v41-hero,
.home-v43 .home-v42-hero,
.home-v43 .home-v39-hero,
.home-v43-hero,
.home-v43 .home-v41-dashboard,
.home-v43 .home-v42-dashboard,
.home-v43 .home-v39-dashboard{
  display:grid!important;
  gap:20px!important;
  width:100%!important;
}

.home-v43 .home-v41-hero,
.home-v43 .home-v42-hero,
.home-v43 .home-v39-hero{
  grid-template-columns:minmax(0,1.08fr) minmax(365px,.92fr)!important;
  align-items:stretch!important;
}

.home-v43 .home-v41-dashboard,
.home-v43 .home-v42-dashboard,
.home-v43 .home-v39-dashboard{
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)!important;
  align-items:start!important;
}

.home-v43 .home-v41-hero-card,
.home-v43 .home-v42-hero-card,
.home-v43 .home-v39-hero-card{
  min-height:390px!important;
  padding:34px!important;
}

.home-v43 .home-v41-hero-card h1,
.home-v43 .home-v42-hero-card h1,
.home-v43 .home-v39-hero-card h1{
  font-size:clamp(2.9rem,4.6vw,5.35rem)!important;
  line-height:.95!important;
  max-width:840px!important;
}

.home-v43 .home-v41-proof,
.home-v43 .home-v42-proof{
  margin-top:20px!important;
  gap:8px!important;
}

.home-v43 .home-v41-proof span,
.home-v43 .home-v42-proof span{
  padding:7px 10px!important;
}

.home-v43 .home-v41-donate-card,
.home-v43 .home-v42-donate-card,
.home-v43 .home-v39-donate-card{
  padding:20px!important;
  display:grid!important;
  grid-template-rows:auto minmax(230px,1fr)!important;
  gap:14px!important;
}

.home-v43 .home-v41-donate-card h2,
.home-v43 .home-v42-donate-card h2,
.home-v43 .home-v39-donate-card h2{
  font-size:clamp(1.6rem,2.25vw,2.45rem)!important;
}

.home-v43 .support-actions .btn.secondary,
.home-v43 a[data-i18n="scanPix"]{
  display:none!important;
}

.home-v43 .donate-text{
  gap:12px!important;
}

.home-v43 .donate-text p:not(.eyebrow){
  font-size:.98rem!important;
  line-height:1.5!important;
  max-width:94%!important;
}

.home-v43 .support-note{
  display:none!important;
}

.home-v43 .donate-visual{
  position:relative!important;
  min-height:240px!important;
  overflow:hidden!important;
  border-radius:22px!important;
  border:1px solid rgba(103,212,255,.18)!important;
  background:#08101d!important;
}

.home-v43 .donate-visual img{
  width:100%!important;
  height:100%!important;
  min-height:240px!important;
  max-height:315px!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:.95!important;
  display:block!important;
}

.home-v43 .donate-julius-bubble,
.home-v43 .donate-visual figcaption{
  display:grid!important;
  position:absolute!important;
  left:18px!important;
  top:18px!important;
  width:min(58%,360px)!important;
  min-height:118px!important;
  gap:10px!important;
  align-content:center!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:18px!important;
  padding:16px 18px!important;
  background:rgba(5,8,15,.74)!important;
  backdrop-filter:blur(10px)!important;
  box-shadow:0 18px 45px rgba(0,0,0,.26)!important;
}

.home-v43 .donate-julius-bubble strong,
.home-v43 .donate-visual figcaption strong{
  font-size:1.02rem!important;
  line-height:1.22!important;
  letter-spacing:-.01em!important;
}

.home-v43 .donate-julius-bubble span,
.home-v43 .donate-visual figcaption span{
  color:rgba(255,255,255,.78)!important;
  font-size:.88rem!important;
  line-height:1.35!important;
}

.home-v43 .qr-copy-hotspot{
  right:4.5%!important;
  bottom:6%!important;
  width:25%!important;
  height:34%!important;
  min-width:76px!important;
  min-height:76px!important;
}

.home-v43 .home-v41-steps,
.home-v43 .home-v42-steps{
  padding:14px!important;
  gap:10px!important;
}

.home-v43 .home-v41-steps article,
.home-v43 .home-v42-steps article{
  padding:14px!important;
  border-radius:18px!important;
}

.home-v43 .home-v41-bottom,
.home-v43 .home-v42-bottom{
  padding:20px!important;
}

@media (max-width:1180px){
  body[data-page="home"] .home-only-main.home-v43{
    width:min(100% - 28px, 980px)!important;
  }
  .home-v43 .home-v41-hero,
  .home-v43 .home-v42-hero,
  .home-v43 .home-v39-hero,
  .home-v43 .home-v41-dashboard,
  .home-v43 .home-v42-dashboard,
  .home-v43 .home-v39-dashboard{
    grid-template-columns:1fr!important;
  }
  .home-v43 .home-v41-hero-card,
  .home-v43 .home-v42-hero-card,
  .home-v43 .home-v39-hero-card{
    min-height:auto!important;
  }
}

@media (max-width:760px){
  body[data-page="home"] .home-only-main.home-v43{
    width:calc(100% - 20px)!important;
    padding:12px 0 86px!important;
    gap:12px!important;
  }
  .home-v43 .home-v41-hero-card,
  .home-v43 .home-v42-hero-card,
  .home-v43 .home-v39-hero-card,
  .home-v43 .home-v41-donate-card,
  .home-v43 .home-v42-donate-card,
  .home-v43 .home-v39-donate-card{
    border-radius:22px!important;
    padding:20px!important;
  }
  .home-v43 .home-v41-hero-card h1,
  .home-v43 .home-v42-hero-card h1,
  .home-v43 .home-v39-hero-card h1{
    font-size:2.35rem!important;
    line-height:.98!important;
  }
  .home-v43 .donate-visual,
  .home-v43 .donate-visual img{
    min-height:250px!important;
  }
  .home-v43 .donate-julius-bubble,
  .home-v43 .donate-visual figcaption{
    left:12px!important;
    top:12px!important;
    width:62%!important;
    min-height:100px!important;
    padding:12px!important;
  }
  .home-v43 .donate-julius-bubble strong,
  .home-v43 .donate-visual figcaption strong{
    font-size:.88rem!important;
  }
  .home-v43 .donate-julius-bubble span,
  .home-v43 .donate-visual figcaption span{
    font-size:.76rem!important;
  }
}


/* v44 — donation bubble reposition + more original Julius-style line */
.home-v43 .donate-visual figcaption,
.home-v43 .home-v42-donate-card .donate-fun-bubble{
  left:38%!important;
  top:11%!important;
  width:35%!important;
  min-height:auto!important;
  padding:0!important;
  border:none!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  gap:8px!important;
  align-content:start!important;
}
.home-v43 .donate-visual figcaption strong,
.home-v43 .home-v42-donate-card .donate-fun-bubble strong{
  font-size:1rem!important;
  line-height:1.22!important;
  color:#ffffff!important;
  text-shadow:0 2px 18px rgba(0,0,0,.65)!important;
  font-weight:900!important;
}
.home-v43 .donate-visual figcaption span,
.home-v43 .home-v42-donate-card .donate-fun-bubble span{
  font-size:.88rem!important;
  line-height:1.38!important;
  color:rgba(255,255,255,.88)!important;
  text-shadow:0 2px 18px rgba(0,0,0,.6)!important;
}
.home-v43 .donate-visual{
  min-height:250px!important;
}
.home-v43 .donate-visual img{
  object-position:center center!important;
}
@media (max-width:760px){
  .home-v43 .donate-visual figcaption,
  .home-v43 .home-v42-donate-card .donate-fun-bubble{
    left:36%!important;
    top:10%!important;
    width:38%!important;
  }
  .home-v43 .donate-visual figcaption strong,
  .home-v43 .home-v42-donate-card .donate-fun-bubble strong{
    font-size:.78rem!important;
    line-height:1.18!important;
  }
  .home-v43 .donate-visual figcaption span,
  .home-v43 .home-v42-donate-card .donate-fun-bubble span{
    font-size:.68rem!important;
    line-height:1.25!important;
  }
}


/* v45 — force-correct Pix visual alignment */
body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual{
  position:relative!important;
  min-height:270px!important;
  aspect-ratio:16/9!important;
  overflow:hidden!important;
  background:#08101d!important;
  border-radius:22px!important;
}
body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > img.support-image{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
}
body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > figcaption.donate-fun-bubble{
  position:absolute!important;
  left:35.5%!important;
  top:14%!important;
  right:auto!important;
  bottom:auto!important;
  width:35%!important;
  max-width:250px!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  color:#f8fbff!important;
  z-index:5!important;
  pointer-events:none!important;
}
body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > figcaption.donate-fun-bubble strong{
  font-size:1rem!important;
  line-height:1.18!important;
  font-weight:900!important;
  letter-spacing:-0.01em!important;
  color:#ffffff!important;
  text-shadow:0 3px 16px rgba(0,0,0,.72)!important;
}
body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > figcaption.donate-fun-bubble span{
  font-size:.86rem!important;
  line-height:1.3!important;
  color:rgba(255,255,255,.9)!important;
  text-shadow:0 3px 16px rgba(0,0,0,.66)!important;
}
body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > .qr-copy-hotspot{
  position:absolute!important;
  top:auto!important;
  left:auto!important;
  right:4.1%!important;
  bottom:10.2%!important;
  width:22.5%!important;
  height:29%!important;
  min-width:82px!important;
  min-height:82px!important;
  z-index:6!important;
  border-radius:18px!important;
  background:transparent!important;
  border:1px solid rgba(255,255,255,.03)!important;
  box-shadow:none!important;
}
body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > .qr-copy-hotspot:hover,
body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > .qr-copy-hotspot:focus-visible{
  border-color:rgba(216,180,91,.75)!important;
  box-shadow:0 0 0 4px rgba(216,180,91,.16)!important;
  outline:none!important;
}
@media (max-width:760px){
  body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual{
    min-height:245px!important;
  }
  body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > figcaption.donate-fun-bubble{
    left:35%!important;
    top:14.5%!important;
    width:37%!important;
    max-width:none!important;
  }
  body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > figcaption.donate-fun-bubble strong{
    font-size:.74rem!important;
    line-height:1.14!important;
  }
  body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > figcaption.donate-fun-bubble span{
    font-size:.65rem!important;
    line-height:1.2!important;
  }
  body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > .qr-copy-hotspot{
    right:4.5%!important;
    bottom:10.5%!important;
    width:23%!important;
    height:29%!important;
    min-width:70px!important;
    min-height:70px!important;
  }
}


/* v46 — lightweight question feedback and confidence tools */
.question-difficulty-panel{
  align-items:center!important;
}
.question-errors-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:7px 11px;
  border-radius:999px;
  border:1px solid rgba(216,180,91,.24);
  color:var(--gold2);
  background:rgba(216,180,91,.06);
  font-size:.78rem;
  font-weight:850;
  white-space:nowrap;
}
.report-tool,.report-btn{
  opacity:.82;
}
.report-tool:hover,.report-btn:hover{
  opacity:1;
}
.preanswer-tools{
  gap:8px!important;
}
.preanswer-tools .tool-btn{
  min-height:32px!important;
  padding:7px 10px!important;
  font-size:.78rem!important;
}
.confidence-panel{
  margin-top:12px;
  padding:12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  background:rgba(255,255,255,.035);
  display:grid;
  gap:7px;
}
.confidence-panel strong{font-size:.9rem;color:var(--gold2)}
.confidence-panel small{color:var(--muted);font-size:.78rem;line-height:1.35}
.confidence-panel div{display:flex;flex-wrap:wrap;gap:7px}
.confidence-btn{
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.045);
  color:var(--text);
  border-radius:999px;
  padding:7px 10px;
  font-size:.78rem;
  font-weight:850;
}
.confidence-btn.active,
.confidence-btn:hover{
  border-color:rgba(216,180,91,.50);
  background:rgba(216,180,91,.15);
  color:var(--gold2);
}
.correction-actions{gap:8px!important;flex-wrap:wrap!important}
.feedback-modal[hidden]{display:none!important}
.feedback-modal{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:18px}
.feedback-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(8px)}
.feedback-dialog{position:relative;width:min(620px,100%);max-height:calc(100vh - 36px);overflow:auto;border:1px solid rgba(255,255,255,.14);border-radius:24px;background:linear-gradient(145deg,rgba(18,27,42,.98),rgba(10,15,26,.98));box-shadow:0 28px 90px rgba(0,0,0,.46);padding:20px}
.feedback-dialog form{display:grid;gap:13px}
.feedback-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.feedback-head h2{font-size:1.55rem;line-height:1.1}
.feedback-x{width:34px;height:34px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:var(--text);font-size:1.4rem;line-height:1}
.feedback-intro{color:var(--muted);font-size:.92rem;line-height:1.45}
.feedback-dialog label{display:grid;gap:7px;color:var(--text);font-weight:850;font-size:.88rem}
.feedback-dialog select,.feedback-dialog textarea{width:100%;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.045);color:var(--text);border-radius:14px;padding:11px 12px;outline:none}
.feedback-dialog textarea{resize:vertical;min-height:96px}
.feedback-dialog select:focus,.feedback-dialog textarea:focus{border-color:rgba(216,180,91,.52);box-shadow:0 0 0 3px rgba(216,180,91,.12)}
.feedback-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.hidden{display:none!important}
@media(max-width:760px){
  .preanswer-tools{grid-template-columns:1fr 1fr!important;display:grid!important}
  .preanswer-tools .tool-btn{width:100%}
  .question-errors-link{width:100%}
  .feedback-dialog{padding:16px;border-radius:20px}
  .feedback-actions{display:grid;grid-template-columns:1fr}
}


/* v47 — QCM clarity polish + Pix bubble alignment */

body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > figcaption.donate-fun-bubble{
  left:32.3%!important;
  top:13.6%!important;
  width:33.5%!important;
  max-width:238px!important;
}
body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > figcaption.donate-fun-bubble strong{
  font-size:.97rem!important;
  line-height:1.14!important;
}
body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > figcaption.donate-fun-bubble span{
  font-size:.84rem!important;
  line-height:1.24!important;
}
@media (max-width:760px){
  body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > figcaption.donate-fun-bubble{
    left:31.8%!important;
    top:13.8%!important;
    width:35.2%!important;
  }
  body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > figcaption.donate-fun-bubble strong{
    font-size:.71rem!important;
    line-height:1.11!important;
  }
  body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > figcaption.donate-fun-bubble span{
    font-size:.63rem!important;
    line-height:1.16!important;
  }
}

body[data-page="practice"] .practice-focus .single-question-card{
  max-width:1020px!important;
  padding:22px 22px 20px!important;
  border-radius:24px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.24)!important;
}
body[data-page="practice"] .practice-focus .quiz-head{
  gap:8px!important;
  margin-bottom:8px!important;
  flex-wrap:wrap!important;
}
body[data-page="practice"] .practice-focus .quiz-head .badge{
  font-size:.73rem!important;
  padding:7px 10px!important;
  border-radius:999px!important;
}
body[data-page="practice"] .practice-focus .practice-card h3{
  font-size:clamp(1.36rem,2.45vw,1.95rem)!important;
  line-height:1.34!important;
  margin-top:10px!important;
  margin-bottom:18px!important;
}
body[data-page="practice"] .question-shortcuts{
  margin-top:12px!important;
  font-size:.75rem!important;
  color:rgba(232,238,245,.68)!important;
}
body[data-page="practice"] .preanswer-tools{
  gap:10px!important;
  margin-top:10px!important;
  margin-bottom:10px!important;
}
body[data-page="practice"] .preanswer-tools .tool-btn,
body[data-page="practice"] .module-actions.slim .btn,
body[data-page="practice"] .single-nav-actions .btn,
body[data-page="practice"] .unknown-action-wrap .btn{
  min-height:42px!important;
}
body[data-page="practice"] .practice-focus .options{
  gap:12px!important;
  margin:16px 0!important;
}
body[data-page="practice"] .practice-focus .option{
  padding:14px 15px!important;
  border-radius:16px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  background:linear-gradient(180deg,rgba(19,28,45,.96),rgba(23,33,52,.92))!important;
  box-shadow:0 10px 24px rgba(0,0,0,.12)!important;
}
body[data-page="practice"] .practice-focus .option:hover{
  border-color:rgba(216,180,91,.45)!important;
  background:linear-gradient(180deg,rgba(24,35,55,.98),rgba(29,41,63,.95))!important;
  transform:translateY(-1px)!important;
}
body[data-page="practice"] .practice-focus .option span{
  min-width:31px!important;
  width:31px!important;
  height:31px!important;
  font-size:.83rem!important;
}
body[data-page="practice"] .practice-focus .option em{
  line-height:1.42!important;
  font-size:.98rem!important;
}
body[data-page="practice"] .unknown-action-wrap{
  margin:14px 0 6px!important;
}
body[data-page="practice"] .unknown-btn{
  border-style:dashed!important;
}
body[data-page="practice"] .module-actions.slim{
  gap:10px!important;
  margin-top:16px!important;
  flex-wrap:wrap!important;
}
body[data-page="practice"] .single-nav-actions{
  margin-top:16px!important;
  padding-top:14px!important;
}
@media (max-width:760px){
  body[data-page="practice"] .practice-focus .single-question-card{
    padding:18px 14px 16px!important;
    border-radius:20px!important;
  }
  body[data-page="practice"] .practice-focus .practice-card h3{
    font-size:1.28rem!important;
    line-height:1.32!important;
  }
  body[data-page="practice"] .practice-focus .option{
    padding:12px 12px!important;
  }
  body[data-page="practice"] .practice-focus .option em{
    font-size:.92rem!important;
  }
  body[data-page="practice"] .module-actions.slim .btn,
  body[data-page="practice"] .single-nav-actions .btn,
  body[data-page="practice"] .unknown-action-wrap .btn,
  body[data-page="practice"] .preanswer-tools .tool-btn{
    font-size:.82rem!important;
  }
}


/* v49 — mobile polish, search label, language visibility */
.global-search{
  display:grid!important;
  gap:6px!important;
  align-content:start!important;
}
.global-search-label{
  display:block;
  padding-left:14px;
  color:var(--gold2);
  font-size:.76rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.brand-lang.compact-lang{transform:none!important}
.lang-switch{
  gap:8px!important;
}
.lang-switch button{
  min-width:40px!important;
  min-height:38px!important;
  padding:8px 12px!important;
  font-size:.84rem!important;
}

/* Make duplicate navigation less likely to feel crowded */
.nav-links{
  flex-wrap:wrap;
}

/* Home donation visual: shift text a bit more inside the speech bubble */
body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > figcaption.donate-fun-bubble,
body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > figcaption.donate-fun-bubble{
  left:29.8%!important;
  top:13.1%!important;
  width:34.2%!important;
  max-width:236px!important;
}
body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > figcaption.donate-fun-bubble strong{
  font-size:.95rem!important;
  line-height:1.12!important;
}
body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > figcaption.donate-fun-bubble span{
  font-size:.82rem!important;
  line-height:1.22!important;
}
body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > .qr-copy-hotspot{
  right:5.1%!important;
}

@media (max-width:760px){
  .global-search-label{padding-left:12px;font-size:.72rem}
  .lang-switch{justify-content:flex-start!important}
  .lang-switch button{
    min-width:42px!important;
    min-height:40px!important;
    padding:8px 12px!important;
    font-size:.86rem!important;
  }
  body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > figcaption.donate-fun-bubble{
    left:28.8%!important;
    top:12.8%!important;
    width:35.8%!important;
    max-width:none!important;
  }
  body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > figcaption.donate-fun-bubble strong{
    font-size:.70rem!important;
    line-height:1.08!important;
  }
  body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > figcaption.donate-fun-bubble span{
    font-size:.60rem!important;
    line-height:1.14!important;
  }
  body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > .qr-copy-hotspot{
    right:3.2%!important;
    bottom:10.8%!important;
    width:24%!important;
    height:30%!important;
  }
}

@media (max-width:560px){
  .nav-shell{padding:8px 10px!important}
  .brand{min-width:138px!important}
  .brand-logo{width:34px!important;height:34px!important}
  .brand strong{font-size:.95rem!important}
  .global-tools{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .global-search input{
    min-height:42px!important;
    font-size:.88rem!important;
  }
  .nav-links.open{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    width:min(92vw,340px);
    right:10px!important;
    top:62px!important;
  }
  .nav-links a{
    font-size:.80rem!important;
    padding:.56rem .64rem!important;
  }

  /* Home mobile layout */
  body[data-page="home"] .home-only-main.home-v43{
    padding:12px 10px 86px!important;
    gap:12px!important;
  }
  .home-v43 .home-v41-hero-card,
  .home-v43 .home-v41-donate-card,
  .home-v43 .home-v42-donate-card{
    padding:16px!important;
    border-radius:20px!important;
  }
  .home-v43 .home-v41-hero-card h1{
    font-size:2.05rem!important;
    line-height:1.02!important;
  }
  .home-v43 .home-v41-donate-card h2,
  .home-v43 .home-v42-donate-card h2{
    font-size:2rem!important;
    line-height:1.04!important;
  }
  .home-v43 .donate-text p:not(.eyebrow),
  .home-v43 .home-v41-hero-card .hero-text{
    font-size:1rem!important;
    line-height:1.45!important;
  }
  .home-v43 .support-actions .btn,
  .home-v43 .home-v41-actions .btn{
    min-height:50px!important;
  }
  body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual{
    min-height:212px!important;
  }

  /* Practice / list pages */
  .page-hero{
    padding:14px 12px 10px!important;
  }
  .page-hero h1{
    font-size:1.9rem!important;
    line-height:1.04!important;
  }
  .page-hero p{
    font-size:.96rem!important;
    line-height:1.42!important;
  }
  .practice-focus-topbar{
    top:118px!important;
    padding:5px 0 6px!important;
    margin-bottom:6px!important;
  }
  .practice-focus-topbar .back-tab{
    display:none!important;
  }
  .practice-focus-topbar .mode-nav{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
  }
  .practice-focus-topbar .mode-tab{
    min-height:32px!important;
    padding:7px 7px!important;
    font-size:11px!important;
  }
  body[data-page="practice"] .practice-focus .single-question-card{
    padding:16px!important;
    border-radius:20px!important;
  }
  .question-difficulty-panel{
    gap:8px!important;
    padding:10px 12px!important;
  }
  .question-difficulty-panel small{
    font-size:.78rem!important;
  }
  .quiz-head .badge{
    font-size:.72rem!important;
  }
  .vf-prompt h3,
  .question-stem,
  .single-question-card h2{
    font-size:1.15rem!important;
    line-height:1.38!important;
  }
  .option{
    padding:12px 12px!important;
  }
  .option em,
  .option-line,
  .question-shortcuts{
    font-size:.92rem!important;
  }

  /* Reader pages */
  .reader-shell{
    padding:12px 10px 36px!important;
  }
  .reader-head{
    padding:18px!important;
  }
  .reader-head h1{
    font-size:1.82rem!important;
    line-height:1.04!important;
    letter-spacing:-.02em!important;
  }
  .reader-head p,
  #moduleSummary{
    font-size:.96rem!important;
    line-height:1.48!important;
  }
  .reader-content{
    padding:18px 16px!important;
  }
  .reader-actions,
  .module-nav{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .mobile-toc{
    padding:14px 16px!important;
  }
  .content p,
  .content li{
    font-size:.98rem!important;
    line-height:1.66!important;
  }
}


/* v50 — final Pix bubble alignment based on real desktop/mobile capture */
body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > figcaption.donate-fun-bubble{
  left:39.2%!important;
  top:15.8%!important;
  width:31.5%!important;
  max-width:245px!important;
  transform:none!important;
  text-align:left!important;
}

body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > figcaption.donate-fun-bubble strong{
  font-size:.88rem!important;
  line-height:1.10!important;
  letter-spacing:-.018em!important;
  max-width:100%!important;
}

body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > figcaption.donate-fun-bubble span{
  font-size:.75rem!important;
  line-height:1.18!important;
  max-width:100%!important;
}

@media (max-width:760px){
  body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > figcaption.donate-fun-bubble{
    left:38.6%!important;
    top:16.2%!important;
    width:33.2%!important;
    max-width:none!important;
  }

  body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > figcaption.donate-fun-bubble strong{
    font-size:.58rem!important;
    line-height:1.08!important;
    letter-spacing:-.015em!important;
  }

  body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > figcaption.donate-fun-bubble span{
    font-size:.50rem!important;
    line-height:1.10!important;
  }
}

@media (max-width:420px){
  body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > figcaption.donate-fun-bubble{
    left:38.4%!important;
    top:15.8%!important;
    width:33.5%!important;
  }

  body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > figcaption.donate-fun-bubble strong{
    font-size:.54rem!important;
  }

  body[data-page="home"] .home-only-main.home-v43 #pixDonationVisual > figcaption.donate-fun-bubble span{
    font-size:.47rem!important;
  }
}


/* v51 — discreet global support ribbon */
.support-ribbon{
  max-width:1280px;
  margin:0 auto;
  padding:0 18px 10px;
}
.support-ribbon[hidden]{display:none!important}
.support-ribbon-inner{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:38px;
  padding:8px 14px;
  border-radius:16px;
  border:1px solid rgba(216,180,91,.20);
  background:linear-gradient(135deg, rgba(16,22,38,.94), rgba(10,14,24,.9));
  box-shadow:0 10px 24px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.04);
}
.support-ribbon-prefix{
  flex:0 0 auto;
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--gold2);
  white-space:nowrap;
}
.support-ribbon-message-wrap{flex:1 1 auto; min-width:0; overflow:hidden;}
.support-ribbon-message{
  display:block;
  font-size:.86rem;
  line-height:1.35;
  color:rgba(235,243,255,.88);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  transition:opacity .28s ease, transform .28s ease;
}
.support-ribbon-message.is-changing{opacity:0; transform:translateY(-4px)}
.support-ribbon-cta{
  width:auto!important;
  min-width:auto!important;
  flex:0 0 auto;
  padding:7px 12px!important;
  border-radius:999px!important;
  border:1px solid rgba(216,180,91,.28)!important;
  background:rgba(216,180,91,.12)!important;
  color:var(--gold2)!important;
  font-size:.78rem!important;
  font-weight:900!important;
  line-height:1!important;
  white-space:nowrap;
}
.support-ribbon-cta:hover{background:rgba(216,180,91,.2)!important; transform:translateY(-1px)}
.support-ribbon-close{
  width:28px;
  height:28px;
  flex:0 0 auto;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.04);
  color:rgba(235,243,255,.74);
  font-size:1rem;
  line-height:1;
  cursor:pointer;
}
.support-ribbon-close:hover{background:rgba(255,255,255,.08); color:#fff}
body[data-page="practice"] .support-ribbon,
body[data-page="exam"] .support-ribbon{padding:0 14px 7px}
body[data-page="practice"] .support-ribbon-inner,
body[data-page="exam"] .support-ribbon-inner{
  min-height:34px;
  padding:6px 10px;
  gap:9px;
  background:rgba(10,14,24,.9);
  border-color:rgba(216,180,91,.12);
}
body[data-page="practice"] .support-ribbon-prefix,
body[data-page="exam"] .support-ribbon-prefix{font-size:.6rem}
body[data-page="practice"] .support-ribbon-message,
body[data-page="exam"] .support-ribbon-message{font-size:.78rem}
body[data-page="practice"] .support-ribbon-cta,
body[data-page="exam"] .support-ribbon-cta{padding:6px 10px!important; font-size:.72rem!important}
body[data-page="practice"] .support-ribbon-close,
body[data-page="exam"] .support-ribbon-close{width:26px; height:26px}
body[data-page="home"] #supportProject.ribbon-target-highlight{box-shadow:0 0 0 1px rgba(216,180,91,.28), 0 22px 42px rgba(0,0,0,.32)}
@media (max-width:760px){
  .support-ribbon{padding:0 10px 8px}
  .support-ribbon-inner{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    gap:8px;
    padding:8px 10px;
    min-height:auto;
    align-items:center;
  }
  .support-ribbon-prefix{grid-column:1 / -1; font-size:.58rem; letter-spacing:.12em}
  .support-ribbon-message{font-size:.75rem; white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical}
  .support-ribbon-cta{padding:6px 10px!important; font-size:.7rem!important}
  .support-ribbon-close{width:26px; height:26px}
  body[data-page="practice"] .support-ribbon,
  body[data-page="exam"] .support-ribbon{padding:0 8px 6px}
  body[data-page="practice"] .support-ribbon-inner,
  body[data-page="exam"] .support-ribbon-inner{grid-template-columns:minmax(0,1fr) auto auto; padding:7px 9px}
  body[data-page="practice"] .support-ribbon-prefix,
  body[data-page="exam"] .support-ribbon-prefix{display:none}
  body[data-page="practice"] .support-ribbon-message,
  body[data-page="exam"] .support-ribbon-message{-webkit-line-clamp:1; font-size:.7rem}
}


/* v52 contact page */
.contact-section-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.85fr);gap:20px;align-items:start;max-width:1180px;margin:0 auto}
.contact-card{padding:22px;border:1px solid rgba(255,255,255,.12);border-radius:24px;background:rgba(13,18,36,.78);box-shadow:var(--shadow)}
.contact-card-head h2{margin:.15rem 0 .45rem;font-size:clamp(1.35rem,2.5vw,1.9rem)}
.contact-card-head p{color:var(--muted);line-height:1.55}
.contact-form{margin-top:18px}
.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.field-label{display:flex;flex-direction:column;gap:8px;font-weight:700;color:var(--text)}
.field-label span{font-size:.95rem}
.field-label input,.field-label select,.field-label textarea{width:100%;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.045);color:var(--text);border-radius:14px;padding:12px 13px;outline:none}
.field-label textarea{resize:vertical;min-height:140px}
.field-label input:focus,.field-label select:focus,.field-label textarea:focus{border-color:rgba(216,180,91,.52);box-shadow:0 0 0 3px rgba(216,180,91,.12)}
.field-full{grid-column:1/-1}
.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.contact-tips{margin:0;padding-left:1.15rem;display:flex;flex-direction:column;gap:12px;color:var(--muted)}
.contact-tips li{line-height:1.55}
.contact-note{margin-top:18px;padding:14px 15px;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04)}
.contact-note strong{display:block;margin-bottom:6px;color:var(--accent)}
.contact-note p{margin:0;color:var(--muted);line-height:1.5}
@media(max-width:900px){.contact-section-grid{grid-template-columns:1fr}.contact-card{padding:18px}}
@media(max-width:640px){.contact-grid{grid-template-columns:1fr}.contact-actions .btn{width:100%;justify-content:center}.contact-card{border-radius:20px;padding:16px}.field-label input,.field-label select,.field-label textarea{padding:11px 12px}}


/* v55 nav dedup active state */
.nav-links a[aria-current="page"]{
  color:var(--gold2)!important;
  font-weight:950!important;
}


/* v56 credibility pages */
.info-grid-v56{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.info-card-v56,.legal-list-v56 article{
  border:1px solid rgba(255,255,255,.12);
  border-radius:24px;
  background:rgba(13,18,36,.78);
  padding:22px;
  box-shadow:var(--shadow);
}
.info-card-v56 span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:999px;
  background:rgba(216,180,91,.14);
  color:var(--gold2);
  font-weight:950;
  margin-bottom:14px;
}
.info-card-v56 h2,.legal-list-v56 h2{
  margin:.1rem 0 .55rem;
  font-size:clamp(1.24rem,2.2vw,1.75rem);
}
.info-card-v56 p,.legal-list-v56 p{
  color:var(--muted);
  line-height:1.58;
}
.info-card-v56 .btn{margin-top:12px}
.legal-list-v56{
  max-width:960px;
  margin:0 auto;
  display:grid;
  gap:16px;
}
@media(max-width:760px){
  .info-grid-v56{grid-template-columns:1fr;gap:14px}
  .info-card-v56,.legal-list-v56 article{padding:18px;border-radius:20px}
}


/* v57 editorial about legal polish */
.editorial-hero-v57{
  max-width:980px;
  padding-bottom:22px!important;
}
.editorial-hero-v57 h1{
  max-width:880px;
  letter-spacing:-.045em;
  font-size:clamp(2.25rem,5vw,4.65rem)!important;
  line-height:.98!important;
}
.editorial-hero-v57 p:not(.eyebrow){
  max-width:760px;
  font-size:clamp(1rem,1.35vw,1.16rem)!important;
  line-height:1.62!important;
}
.editorial-layout-v57{
  max-width:1120px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:28px;
  align-items:start;
}
.editorial-article-v57{
  padding:0;
}
.editorial-article-v57 p{
  color:rgba(232,240,255,.82);
  font-size:1.03rem;
  line-height:1.78;
  margin:0 0 1.15rem;
}
.editorial-article-v57 .lead{
  color:#fff;
  font-size:1.18rem;
  line-height:1.72;
}
.editorial-article-v57 h2{
  font-size:clamp(1.45rem,2.4vw,2.1rem);
  margin:2rem 0 .85rem;
  letter-spacing:-.025em;
}
.editorial-quote-v57{
  margin:2rem 0;
  padding:20px 22px;
  border-left:3px solid var(--gold2);
  border-radius:0 20px 20px 0;
  background:linear-gradient(135deg,rgba(216,180,91,.10),rgba(255,255,255,.035));
}
.editorial-quote-v57 p{
  margin:0;
  color:#fff;
  font-weight:850;
  font-size:1.25rem;
  line-height:1.45;
  letter-spacing:-.02em;
}
.editorial-side-v57{
  display:grid;
  gap:16px;
  position:sticky;
  top:128px;
}
.creator-card-v57,.quiet-list-v57,.compact-cta-v57{
  border:1px solid rgba(255,255,255,.11);
  background:linear-gradient(145deg,rgba(17,23,42,.80),rgba(9,13,24,.72));
  border-radius:24px;
  padding:20px;
  box-shadow:0 18px 38px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.035);
}
.creator-avatar-v57{
  width:58px;
  height:58px;
  border-radius:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:#111827;
  font-weight:1000;
  letter-spacing:.04em;
  margin-bottom:14px;
}
.creator-card-v57 h2{
  font-size:1.25rem;
  line-height:1.2;
  margin:.2rem 0 .75rem;
  letter-spacing:-.02em;
}
.creator-card-v57 p,.quiet-list-v57 li{
  color:rgba(232,240,255,.76);
  line-height:1.6;
}
.creator-card-v57 .btn{margin-top:12px}
.quiet-list-v57 h3{
  margin:.1rem 0 .8rem;
  font-size:1rem;
  color:var(--gold2);
  text-transform:uppercase;
  letter-spacing:.08em;
}
.quiet-list-v57 ul{
  padding:0;
  margin:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.quiet-list-v57 li{
  padding-left:18px;
  position:relative;
}
.quiet-list-v57 li::before{
  content:"";
  position:absolute;
  left:0;
  top:.68em;
  width:6px;
  height:6px;
  border-radius:999px;
  background:var(--gold2);
}
.compact-cta-v57{
  max-width:1120px;
  margin:24px auto 0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:22px;
}
.compact-cta-v57 h2{
  margin:.2rem 0 .55rem;
  font-size:clamp(1.45rem,2.6vw,2.2rem);
  letter-spacing:-.03em;
}
.compact-cta-v57 p{
  color:var(--muted);
  line-height:1.58;
  max-width:720px;
}
.legal-document-v57{
  max-width:960px;
  margin:0 auto;
  display:grid;
  gap:0;
  border:1px solid rgba(255,255,255,.10);
  border-radius:26px;
  background:rgba(11,16,30,.68);
  box-shadow:0 20px 46px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.035);
  overflow:hidden;
}
.legal-document-v57 article{
  padding:26px 30px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.legal-document-v57 article:last-child{border-bottom:0}
.legal-document-v57 h2{
  margin:0 0 .85rem;
  font-size:clamp(1.18rem,2vw,1.55rem);
  letter-spacing:-.02em;
}
.legal-document-v57 p{
  color:rgba(232,240,255,.80);
  line-height:1.72;
  margin:0 0 .85rem;
}
.legal-document-v57 p:last-child{margin-bottom:0}
.legal-final-note-v57{
  background:linear-gradient(135deg,rgba(216,180,91,.10),rgba(255,255,255,.025));
}
.legal-final-note-v57 h2{color:var(--gold2)}
@media(max-width:900px){
  .editorial-layout-v57{grid-template-columns:1fr;gap:18px}
  .editorial-side-v57{position:static}
  .compact-cta-v57{display:grid}
}
@media(max-width:640px){
  .editorial-hero-v57 h1{font-size:2.35rem!important}
  .editorial-article-v57 p{font-size:.98rem;line-height:1.7}
  .editorial-article-v57 .lead{font-size:1.06rem}
  .creator-card-v57,.quiet-list-v57,.compact-cta-v57{border-radius:20px;padding:17px}
  .legal-document-v57{border-radius:20px}
  .legal-document-v57 article{padding:19px 17px}
}


/* v58 semester scope and DOS signature */
.current-scope-v58{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin:.2rem 0 1rem;
  padding:7px 10px;
  border:1px solid rgba(216,180,91,.24);
  border-radius:999px;
  background:rgba(216,180,91,.08);
  color:rgba(235,243,255,.88);
  max-width:100%;
}
.current-scope-v58 span,.semester-note-v58 span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:4px 8px;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:#111827;
  font-size:.72rem;
  font-weight:950;
  white-space:nowrap;
}
.current-scope-v58 strong{
  font-size:.78rem;
  line-height:1.25;
  font-weight:850;
}
.semester-note-v58{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin:18px auto 0;
  max-width:820px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:rgba(255,255,255,.035);
}
.semester-note-v58 p{
  margin:0!important;
  color:rgba(232,240,255,.78)!important;
  font-size:.92rem!important;
  line-height:1.5!important;
}
.creator-avatar-dos-v58{
  width:64px!important;
  letter-spacing:.025em!important;
  font-size:1.05rem!important;
}
@media(max-width:640px){
  .current-scope-v58{
    align-items:flex-start;
    border-radius:18px;
  }
  .current-scope-v58 strong{font-size:.74rem}
  .semester-note-v58{display:grid;gap:9px}
}


/* v59 smart Pix modal and responsive audit */
.pix-modal-overlay{
  position:fixed;
  inset:0;
  z-index:5000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(0,0,0,.68);
  backdrop-filter:blur(10px);
}
.pix-modal-overlay[hidden]{display:none!important}
.pix-modal-open{overflow:hidden}
.pix-modal-card{
  position:relative;
  width:min(920px,calc(100vw - 32px));
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(300px,1.1fr);
  gap:20px;
  align-items:center;
  border:1px solid rgba(216,180,91,.22);
  border-radius:28px;
  background:linear-gradient(145deg,rgba(15,21,39,.98),rgba(8,12,22,.98));
  box-shadow:0 30px 90px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.05);
  padding:24px;
}
.pix-modal-close{
  position:absolute;
  top:14px;
  right:14px;
  width:36px;
  height:36px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:#fff;
  font-size:1.3rem;
  line-height:1;
}
.pix-modal-copy h2{
  font-size:clamp(1.6rem,3vw,2.4rem);
  line-height:1.05;
  margin:.25rem 0 .8rem;
  letter-spacing:-.035em;
}
.pix-modal-copy p:not(.eyebrow){
  color:rgba(232,240,255,.78);
  line-height:1.6;
  margin:0 0 1.2rem;
}
.pix-modal-copy .btn{
  width:auto!important;
}
.pix-modal-qr{
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  background:#050812;
}
.pix-modal-qr img{
  width:100%;
  height:auto;
  display:block;
}

/* responsive safeguards */
@media(max-width:900px){
  .pix-modal-card{
    grid-template-columns:1fr;
    max-height:88vh;
    overflow:auto;
  }
  .pix-modal-qr{max-width:520px;margin:0 auto}
}
@media(max-width:640px){
  .pix-modal-overlay{padding:14px}
  .pix-modal-card{padding:18px;border-radius:22px}
  .pix-modal-copy .btn{width:100%!important}
}
@media(max-width:480px){
  .nav-shell{max-width:100vw!important}
  .global-tools{max-width:100%!important}
  .support-ribbon-message{font-size:.68rem!important}
}


/* v63 uploaded QR modal image */
.pix-modal-qr{
  background:#fff!important;
  padding:14px!important;
}
.pix-modal-qr img{
  border-radius:10px!important;
  background:#fff!important;
  object-fit:contain!important;
}


/* v65 Pix dropdown under support ribbon */
.support-ribbon{
  position:relative;
}
.support-pix-dropdown{
  width:100%;
  display:flex;
  justify-content:flex-end;
  margin-top:8px;
}
.support-pix-dropdown[hidden]{
  display:none!important;
}
.support-pix-dropdown-card{
  width:min(320px,100%);
  border:1px solid rgba(216,180,91,.24);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(13,18,36,.98),rgba(6,10,20,.98));
  box-shadow:0 18px 46px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.05);
  padding:14px;
}
.support-pix-dropdown-card img{
  width:100%;
  display:block;
  border-radius:14px;
  background:#fff;
  padding:10px;
  border:1px solid rgba(255,255,255,.1);
}
.support-pix-dropdown-card p{
  margin:10px 0 12px;
  color:rgba(232,240,255,.78);
  font-size:.82rem;
  line-height:1.45;
}
.support-pix-copy{
  width:100%!important;
  justify-content:center!important;
  min-height:38px!important;
}
@media(max-width:760px){
  .support-pix-dropdown{
    justify-content:center;
  }
  .support-pix-dropdown-card{
    width:min(300px,100%);
    padding:12px;
  }
}


/* v66 Pix dropdown overlay no layout shift */
.support-ribbon{
  position:relative;
  z-index:80;
}
.support-pix-dropdown{
  position:absolute!important;
  top:calc(100% - 2px)!important;
  right:18px!important;
  width:auto!important;
  min-width:280px!important;
  max-width:min(330px,calc(100vw - 28px))!important;
  display:block!important;
  justify-content:initial!important;
  margin-top:0!important;
  z-index:1600!important;
}
.support-pix-dropdown[hidden]{
  display:none!important;
}
.support-pix-dropdown-card{
  width:100%!important;
  animation:pixDropInV66 .14s ease-out;
}
@keyframes pixDropInV66{
  from{opacity:0; transform:translateY(-6px) scale(.985)}
  to{opacity:1; transform:translateY(0) scale(1)}
}
@media(max-width:760px){
  .support-pix-dropdown{
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
    top:calc(100% + 4px)!important;
    min-width:min(300px,calc(100vw - 24px))!important;
    max-width:min(300px,calc(100vw - 24px))!important;
  }
}


/* v67 premium about legal visual upgrade */
.premium-page-v67 main{
  background:
    radial-gradient(circle at 18% 8%, rgba(216,180,91,.075), transparent 28%),
    radial-gradient(circle at 82% 18%, rgba(87,108,255,.075), transparent 28%);
}
.premium-kicker-row-v67{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:16px;
  flex-wrap:wrap;
}
.premium-kicker-row-v67 > span{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:5px 10px;
  background:rgba(216,180,91,.12);
  border:1px solid rgba(216,180,91,.24);
  color:var(--gold2);
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.premium-about-hero-v67{
  max-width:1120px!important;
  padding-top:54px!important;
}
.premium-about-hero-v67 h1{
  max-width:980px!important;
  font-size:clamp(2.2rem,4.35vw,4.35rem)!important;
  line-height:1.03!important;
  letter-spacing:-.055em!important;
  text-wrap:balance;
}
.premium-about-hero-v67 p:not(.eyebrow):not(.back-link){
  max-width:730px!important;
  color:rgba(232,240,255,.78)!important;
}
.premium-hero-metrics-v67{
  display:flex;
  gap:10px;
  margin-top:24px;
  flex-wrap:wrap;
}
.premium-hero-metrics-v67 div{
  min-width:112px;
  padding:11px 14px;
  border-radius:18px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.09);
}
.premium-hero-metrics-v67 strong{
  display:block;
  color:#fff;
  font-size:1.18rem;
  line-height:1;
}
.premium-hero-metrics-v67 span{
  display:block;
  margin-top:5px;
  color:rgba(232,240,255,.58);
  font-size:.74rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.editorial-layout-v57{
  gap:42px!important;
}
.editorial-article-v57{
  max-width:735px;
}
.editorial-article-v57 p{
  color:rgba(232,240,255,.76)!important;
}
.editorial-article-v57 .lead{
  color:rgba(255,255,255,.94)!important;
}
.editorial-article-v57 h2{
  padding-top:8px;
  border-top:1px solid rgba(255,255,255,.08);
}
.editorial-quote-v57{
  border-left:0!important;
  border:1px solid rgba(216,180,91,.18)!important;
  border-radius:26px!important;
  background:linear-gradient(135deg,rgba(216,180,91,.12),rgba(255,255,255,.035))!important;
}
.editorial-quote-v57 p{
  font-family:ui-serif, Georgia, "Times New Roman", serif!important;
  font-weight:700!important;
}
.premium-creator-card-v67{
  padding:18px!important;
  border-radius:26px!important;
  background:
    linear-gradient(145deg,rgba(18,24,43,.88),rgba(8,12,22,.82)),
    radial-gradient(circle at top left,rgba(216,180,91,.12),transparent 38%)!important;
}
.creator-top-v67{
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin-bottom:10px;
}
.creator-top-v67 .eyebrow{
  margin:0 0 6px!important;
}
.creator-top-v67 h2{
  margin:0!important;
  font-size:1.08rem!important;
  line-height:1.25!important;
}
.premium-creator-card-v67 p{
  font-size:.93rem!important;
}
.creator-signature-v67{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 0 14px;
  border-top:1px solid rgba(255,255,255,.08);
  margin-top:14px;
}
.creator-signature-v67 span{
  color:var(--gold2);
  font-weight:950;
  letter-spacing:.14em;
}
.creator-signature-v67 small{
  color:rgba(232,240,255,.55);
}
.quiet-list-v57{
  box-shadow:none!important;
  background:rgba(255,255,255,.035)!important;
}
.compact-cta-v57{
  border-radius:30px!important;
}
.premium-legal-hero-v67{
  max-width:960px!important;
  padding-bottom:10px!important;
}
.premium-legal-hero-v67 h1{
  font-size:clamp(2.1rem,3.8vw,3.85rem)!important;
  line-height:1.04!important;
}
.legal-shell-v67{
  max-width:1120px;
  margin:0 auto;
  display:grid;
  grid-template-columns:255px minmax(0,1fr);
  gap:24px;
  align-items:start;
}
.legal-sidebar-v67{
  position:sticky;
  top:126px;
  padding:18px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(10,14,25,.62);
}
.legal-sidebar-v67 h2{
  margin:.2rem 0 1rem;
  font-size:1.2rem;
}
.legal-sidebar-v67 nav{
  display:grid;
  gap:8px;
}
.legal-sidebar-v67 a{
  color:rgba(232,240,255,.68);
  text-decoration:none;
  font-size:.86rem;
  line-height:1.35;
  padding:8px 9px;
  border-radius:12px;
  border:1px solid transparent;
}
.legal-sidebar-v67 a:hover{
  color:#fff;
  border-color:rgba(216,180,91,.18);
  background:rgba(216,180,91,.07);
}
.premium-legal-document-v67{
  border-radius:30px!important;
  background:rgba(9,13,24,.72)!important;
}
.premium-legal-document-v67 article{
  padding:30px 34px!important;
}
.premium-legal-document-v67 h2{
  color:#fff;
  font-size:clamp(1.16rem,1.75vw,1.45rem)!important;
}
.premium-legal-document-v67 p{
  color:rgba(232,240,255,.75)!important;
}
@media(max-width:900px){
  .legal-shell-v67{
    grid-template-columns:1fr;
  }
  .legal-sidebar-v67{
    position:static;
  }
}
@media(max-width:640px){
  .premium-about-hero-v67{
    padding-top:34px!important;
  }
  .premium-about-hero-v67 h1{
    font-size:2.2rem!important;
    letter-spacing:-.045em!important;
  }
  .premium-hero-metrics-v67 div{
    min-width:calc(50% - 6px);
  }
  .creator-top-v67{
    display:grid;
  }
  .premium-legal-document-v67 article{
    padding:20px 17px!important;
  }
}


/* v79 — Mobile home action refactor */
.home-quick-actions {
  margin: 18px auto 18px;
  padding: 20px;
  border: 1px solid rgba(244, 211, 129, 0.20);
  border-radius: 28px;
  background:
    radial-gradient(circle at 12% 0%, rgba(244, 211, 129, 0.15), transparent 30%),
    linear-gradient(145deg, rgba(17, 25, 43, 0.96), rgba(7, 10, 16, 0.96));
  box-shadow: 0 22px 70px rgba(0, 0, 0, 0.38);
}

.home-quick-eyebrow {
  margin: 0 0 8px;
  color: #f6d77e;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.home-quick-actions h1 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(2rem, 8.5vw, 3.75rem);
  line-height: 0.96;
  letter-spacing: -0.06em;
}

.home-quick-subtitle {
  margin: 12px 0 18px;
  max-width: 720px;
  color: rgba(235, 240, 255, 0.78);
  font-size: clamp(1rem, 3.8vw, 1.18rem);
  line-height: 1.45;
}

.home-action-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.home-action-card {
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 72px;
  padding: 14px 15px;
  border-radius: 22px;
  text-decoration: none;
  color: #f8fbff;
  border: 1px solid rgba(255, 255, 255, 0.11);
  background: rgba(255, 255, 255, 0.055);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.07);
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.home-action-card:active {
  transform: scale(0.985);
}

.home-action-card.primary {
  background: linear-gradient(135deg, rgba(246, 215, 126, 0.28), rgba(255, 255, 255, 0.07));
  border-color: rgba(246, 215, 126, 0.46);
}

.home-action-icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: rgba(0, 0, 0, 0.20);
  font-size: 1.35rem;
}

.home-action-card strong {
  display: block;
  font-size: 1.02rem;
  line-height: 1.05;
  letter-spacing: -0.015em;
}

.home-action-card small {
  display: block;
  margin-top: 5px;
  color: rgba(235, 240, 255, 0.66);
  font-size: 0.86rem;
  font-weight: 650;
}

@media (max-width: 720px) {
  body.home .hero,
  body.home .hero-card,
  body.home .landing-hero,
  body.home .home-hero {
    margin-top: 12px !important;
  }

  body.home .hero h1,
  body.home .hero-card h1,
  body.home .landing-hero h1,
  body.home .home-hero h1 {
    font-size: clamp(1.7rem, 7vw, 2.6rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.055em !important;
  }

  body.home .hero p,
  body.home .hero-card p,
  body.home .landing-hero p,
  body.home .home-hero p {
    font-size: 1rem !important;
    line-height: 1.45 !important;
  }

  body.home .stats,
  body.home .hero-stats,
  body.home .home-stats {
    gap: 8px !important;
  }

  body.home .stat,
  body.home .stat-pill,
  body.home .hero-stat {
    transform: scale(0.92);
    transform-origin: left center;
  }

  .home-quick-actions {
    margin: 14px 18px 16px;
    padding: 18px;
    border-radius: 26px;
  }

  .home-action-grid {
    grid-template-columns: 1fr;
  }

  .home-action-card {
    min-height: 68px;
  }
}

@media (min-width: 721px) {
  .home-action-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .home-quick-actions {
    max-width: 1180px;
  }
}


/* v80 — Practice mobile UX refactor */
@media (max-width: 720px) {
  body.practice-page,
  body.qcm-page,
  body.cases-page,
  body.vf-page {
    --practice-mobile-gap: 10px;
  }

  body.practice-page .site-header,
  body.qcm-page .site-header,
  body.cases-page .site-header,
  body.vf-page .site-header,
  body.practice-page header,
  body.qcm-page header,
  body.cases-page header,
  body.vf-page header {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  body.practice-page main,
  body.qcm-page main,
  body.cases-page main,
  body.vf-page main,
  main.practice-shell,
  .practice-shell,
  .quiz-shell,
  .training-shell {
    padding-top: 8px !important;
  }

  .practice-intro,
  .quiz-intro,
  .training-intro,
  .practice-hero,
  .quiz-hero {
    margin-top: 8px !important;
    margin-bottom: 12px !important;
    padding: 0 6px !important;
  }

  .practice-intro p,
  .quiz-intro p,
  .training-intro p,
  .practice-hero p,
  .quiz-hero p {
    font-size: 0.98rem !important;
    line-height: 1.42 !important;
    margin: 0 0 10px !important;
  }

  .practice-tabs,
  .mode-tabs,
  .quiz-tabs,
  .training-tabs,
  [role="tablist"] {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding: 8px 4px !important;
    margin: 6px 0 8px !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .practice-tabs::-webkit-scrollbar,
  .mode-tabs::-webkit-scrollbar,
  .quiz-tabs::-webkit-scrollbar,
  .training-tabs::-webkit-scrollbar,
  [role="tablist"]::-webkit-scrollbar {
    display: none;
  }

  .practice-tabs a,
  .practice-tabs button,
  .mode-tabs a,
  .mode-tabs button,
  .quiz-tabs a,
  .quiz-tabs button,
  .training-tabs a,
  .training-tabs button,
  [role="tablist"] a,
  [role="tablist"] button {
    flex: 0 0 auto !important;
    min-width: auto !important;
    width: auto !important;
    min-height: 44px !important;
    padding: 10px 16px !important;
    border-radius: 999px !important;
    font-size: 0.92rem !important;
    line-height: 1 !important;
    scroll-snap-align: start;
  }

  .practice-filter-panel,
  .quiz-filter-panel,
  .filters-panel,
  .practice-filters,
  .quiz-filters,
  .training-filters {
    margin: 8px 0 14px !important;
    padding: 10px !important;
    border-radius: 22px !important;
  }

  .practice-filter-panel .chips,
  .quiz-filter-panel .chips,
  .filters-panel .chips,
  .practice-filters .chips,
  .quiz-filters .chips,
  .training-filters .chips,
  .subject-chips,
  .course-chips,
  .filter-chips {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    gap: 8px !important;
    padding: 2px 2px 8px !important;
    -webkit-overflow-scrolling: touch;
  }

  .subject-chips::-webkit-scrollbar,
  .course-chips::-webkit-scrollbar,
  .filter-chips::-webkit-scrollbar,
  .practice-filters .chips::-webkit-scrollbar,
  .quiz-filters .chips::-webkit-scrollbar {
    display: none;
  }

  .subject-chips button,
  .course-chips button,
  .filter-chips button,
  .practice-filters .chips button,
  .quiz-filters .chips button,
  .filters-panel button {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: auto !important;
    min-height: 42px !important;
    padding: 9px 14px !important;
    border-radius: 999px !important;
    font-size: 0.88rem !important;
    white-space: nowrap !important;
  }

  .difficulty-row,
  .difficulty-filter,
  .bank-row,
  .practice-meta-row {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    margin-top: 8px !important;
  }

  .difficulty-row select,
  .difficulty-filter select,
  .practice-meta-row select,
  select[name*="difficulty"],
  select[id*="difficulty"] {
    min-height: 42px !important;
    border-radius: 999px !important;
    padding: 0 36px 0 14px !important;
    font-size: 0.88rem !important;
    max-width: 100% !important;
  }

  .bank-total,
  .practice-bank-total,
  .total-bank,
  .bank-count {
    font-size: 0.78rem !important;
    opacity: 0.8 !important;
    white-space: nowrap !important;
  }

  .question-card,
  .quiz-card,
  .practice-question-card,
  .training-card,
  .exam-card {
    margin-top: 12px !important;
    border-radius: 24px !important;
    padding: 16px !important;
  }

  .question-card .question-label,
  .quiz-card .question-label,
  .practice-question-card .question-label,
  .question-label,
  .question-counter,
  .practice-counter {
    font-size: 0.82rem !important;
    letter-spacing: 0.12em !important;
    margin-bottom: 4px !important;
  }

  .question-card h2,
  .quiz-card h2,
  .practice-question-card h2,
  .question-text,
  .quiz-question,
  .practice-question {
    font-size: clamp(1.12rem, 4.7vw, 1.45rem) !important;
    line-height: 1.28 !important;
  }
}

/* v80 dynamic compact practice header */
.practice-quick-header {
  margin: 10px 0 12px;
  padding: 14px 16px;
  border-radius: 24px;
  border: 1px solid rgba(246, 215, 126, 0.20);
  background:
    radial-gradient(circle at 10% 0%, rgba(246, 215, 126, 0.14), transparent 28%),
    linear-gradient(145deg, rgba(17, 25, 43, 0.92), rgba(6, 9, 14, 0.92));
  box-shadow: 0 18px 52px rgba(0, 0, 0, 0.28);
}

.practice-quick-kicker {
  margin: 0 0 6px;
  color: #f6d77e;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.practice-quick-title {
  margin: 0;
  color: #fff;
  font-size: clamp(1.55rem, 6vw, 2.25rem);
  line-height: 1.02;
  letter-spacing: -0.05em;
}

.practice-quick-subtitle {
  margin: 8px 0 0;
  color: rgba(235, 240, 255, 0.72);
  font-size: 0.96rem;
  line-height: 1.4;
}

.practice-compact-controls {
  position: relative;
  z-index: 2;
  display: flex;
  gap: 8px;
  align-items: center;
  overflow-x: auto;
  padding: 2px 0 10px;
  margin: 4px 0 6px;
  -webkit-overflow-scrolling: touch;
}

.practice-compact-controls::-webkit-scrollbar {
  display: none;
}

.practice-compact-pill {
  flex: 0 0 auto;
  border: 1px solid rgba(255, 255, 255, 0.13);
  background: rgba(255, 255, 255, 0.055);
  color: rgba(245, 248, 255, 0.92);
  min-height: 42px;
  border-radius: 999px;
  padding: 9px 13px;
  font-size: 0.86rem;
  font-weight: 800;
  white-space: nowrap;
}

.practice-compact-pill strong {
  color: #f6d77e;
}

.practice-compact-pill.is-primary {
  border-color: rgba(246, 215, 126, 0.44);
  background: rgba(246, 215, 126, 0.14);
}

@media (min-width: 721px) {
  .practice-quick-header,
  .practice-compact-controls {
    display: none;
  }
}


/* v81 — Mobile practice question-first refactor */
@media (max-width: 720px) {
  /* On practice screens, the global search is useful on home but too heavy during training. */
  body.practice-page .global-search,
  body.qcm-page .global-search,
  body.cas-cliniques-page .global-search,
  body.vrai-faux-page .global-search,
  body.erreurs-page .global-search,
  body.examen-page .global-search {
    display: none !important;
  }

  body.practice-page .global-tools,
  body.qcm-page .global-tools,
  body.cas-cliniques-page .global-tools,
  body.vrai-faux-page .global-tools,
  body.erreurs-page .global-tools,
  body.examen-page .global-tools {
    flex-basis: auto !important;
    max-width: none !important;
    display: flex !important;
    justify-content: flex-start !important;
    gap: 8px !important;
  }

  body.practice-page .nav-shell,
  body.qcm-page .nav-shell,
  body.cas-cliniques-page .nav-shell,
  body.vrai-faux-page .nav-shell,
  body.erreurs-page .nav-shell,
  body.examen-page .nav-shell {
    padding: 8px 12px !important;
    gap: 8px !important;
  }

  body.practice-page .brand,
  body.qcm-page .brand,
  body.cas-cliniques-page .brand,
  body.vrai-faux-page .brand,
  body.erreurs-page .brand,
  body.examen-page .brand {
    min-width: auto !important;
  }

  body.practice-page .brand-logo,
  body.qcm-page .brand-logo,
  body.cas-cliniques-page .brand-logo,
  body.vrai-faux-page .brand-logo,
  body.erreurs-page .brand-logo,
  body.examen-page .brand-logo {
    width: 38px !important;
    height: 38px !important;
  }

  body.practice-page .brand span small,
  body.qcm-page .brand span small,
  body.cas-cliniques-page .brand span small,
  body.vrai-faux-page .brand span small,
  body.erreurs-page .brand span small,
  body.examen-page .brand span small {
    display: none !important;
  }

  body.practice-page .brand-lang.compact-lang,
  body.qcm-page .brand-lang.compact-lang,
  body.cas-cliniques-page .brand-lang.compact-lang,
  body.vrai-faux-page .brand-lang.compact-lang,
  body.erreurs-page .brand-lang.compact-lang,
  body.examen-page .brand-lang.compact-lang {
    transform: scale(.78) !important;
    transform-origin: left center !important;
  }

  /* If user already entered QCM/Casos/VF with a matter/module, remove intro blocks. */
  body.practice-focus .practice-quick-header,
  body.practice-focus .page-hero.practice-hero {
    display: none !important;
  }

  body.practice-focus main {
    padding-top: 4px !important;
  }

  /* Keep only the v80 compact mode navigation. Hide the old duplicated nav row. */
  body.practice-focus .practice-focus-topbar,
  body.practice-focus #practiceModeNav,
  body.practice-focus #practiceBackLink {
    display: none !important;
  }

  body.practice-focus .practice-compact-controls {
    margin: 6px 0 8px !important;
    padding: 4px 14px 8px !important;
    border-bottom: 1px solid rgba(246, 215, 126, .12);
  }

  body.practice-focus .practice-compact-pill {
    min-height: 38px !important;
    padding: 8px 12px !important;
    font-size: .84rem !important;
  }

  body.practice-focus .practice-focus-section {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body.practice-focus #courseFilters,
  body.practice-focus .practice-mobile-filter-hint {
    display: none !important;
  }

  /* Question first: render order becomes difficulty summary → question → stats. */
  body.practice-focus #practiceList {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  body.practice-focus .question-difficulty-panel {
    order: 0 !important;
    margin: 4px 14px 0 !important;
    padding: 9px 10px !important;
    border-radius: 18px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    background: rgba(255,255,255,.035) !important;
  }

  body.practice-focus .question-difficulty-panel::-webkit-scrollbar {
    display: none;
  }

  body.practice-focus .question-difficulty-panel .difficulty-select-wrap {
    flex: 0 0 auto !important;
    min-width: 145px !important;
    margin: 0 !important;
  }

  body.practice-focus .question-difficulty-panel .difficulty-select-wrap span {
    display: none !important;
  }

  body.practice-focus .question-difficulty-panel select {
    min-height: 36px !important;
    height: 36px !important;
    max-width: 190px !important;
    font-size: .78rem !important;
    border-radius: 999px !important;
    padding: 0 28px 0 10px !important;
  }

  body.practice-focus .question-difficulty-panel small {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    max-width: none !important;
    font-size: .76rem !important;
    opacity: .78 !important;
  }

  body.practice-focus .question-errors-link {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    font-size: .76rem !important;
  }

  body.practice-focus .single-question-card {
    order: 1 !important;
    margin: 8px 14px 0 !important;
    padding: 16px 14px !important;
    border-radius: 24px !important;
  }

  body.practice-focus .single-question-card .quiz-head {
    gap: 6px !important;
    margin-bottom: 10px !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    padding-bottom: 2px !important;
  }

  body.practice-focus .single-question-card .quiz-head::-webkit-scrollbar {
    display: none;
  }

  body.practice-focus .single-question-card .badge {
    flex: 0 0 auto !important;
    font-size: .72rem !important;
    padding: 6px 9px !important;
    border-radius: 999px !important;
    max-width: 240px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.practice-focus .study-strip,
  body.practice-focus .question-shortcuts {
    display: none !important;
  }

  body.practice-focus .question-prompt,
  body.practice-focus .vf-prompt,
  body.practice-focus .case-stem {
    margin-top: 8px !important;
  }

  body.practice-focus .question-prompt h3,
  body.practice-focus .vf-prompt h3,
  body.practice-focus .question-text,
  body.practice-focus .quiz-question,
  body.practice-focus .practice-question {
    font-size: clamp(1.18rem, 5vw, 1.58rem) !important;
    line-height: 1.28 !important;
  }

  body.practice-focus .options {
    gap: 9px !important;
    margin-top: 12px !important;
  }

  body.practice-focus .option {
    min-height: 54px !important;
    padding: 10px !important;
    border-radius: 17px !important;
  }

  body.practice-focus .option span {
    width: 32px !important;
    height: 32px !important;
    flex: 0 0 32px !important;
  }

  body.practice-focus .preanswer-tools {
    display: flex !important;
    overflow-x: auto !important;
    gap: 8px !important;
    padding-bottom: 2px !important;
  }

  body.practice-focus .preanswer-tools::-webkit-scrollbar {
    display: none;
  }

  body.practice-focus .tool-btn,
  body.practice-focus .unknown-btn {
    min-height: 38px !important;
    padding: 8px 11px !important;
    border-radius: 999px !important;
    font-size: .78rem !important;
    white-space: nowrap !important;
  }

  body.practice-focus .single-nav-actions {
    margin-top: 12px !important;
    gap: 8px !important;
  }

  body.practice-focus .single-nav-actions .btn {
    min-height: 42px !important;
    border-radius: 999px !important;
    padding: 9px 12px !important;
    font-size: .85rem !important;
  }

  body.practice-focus .module-actions.slim {
    display: none !important;
  }

  /* Move detailed stats below the question and make them secondary. */
  body.practice-focus .practice-headbox {
    order: 2 !important;
    margin: 2px 14px 0 !important;
  }

  body.practice-focus .session-dashboard {
    padding: 10px !important;
    border-radius: 20px !important;
    gap: 7px !important;
    background: rgba(255,255,255,.035) !important;
  }

  body.practice-focus .session-stat {
    min-height: 58px !important;
    padding: 8px 9px !important;
    border-radius: 16px !important;
  }

  body.practice-focus .session-stat span {
    font-size: .62rem !important;
    letter-spacing: .10em !important;
  }

  body.practice-focus .session-stat strong {
    font-size: 1.1rem !important;
  }

  body.practice-focus .session-stat small {
    font-size: .66rem !important;
  }

  body.practice-focus .session-bars {
    display: none !important;
  }

  body.practice-focus .coach-banner.neutral {
    display: none !important;
  }

  body.practice-focus .coach-banner {
    margin: 8px 0 0 !important;
    padding: 9px 12px !important;
    border-radius: 16px !important;
    font-size: .82rem !important;
    line-height: 1.3 !important;
  }
}

/* v81 micro-summary shown above question on focused mobile practice pages */
.practice-live-summary {
  display: none;
}

@media (max-width: 720px) {
  body.practice-focus .practice-live-summary {
    order: -1 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    overflow-x: auto !important;
    margin: 4px 14px 2px !important;
    padding: 0 0 2px !important;
    -webkit-overflow-scrolling: touch;
  }

  body.practice-focus .practice-live-summary::-webkit-scrollbar {
    display: none;
  }

  body.practice-focus .practice-live-summary span {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 10px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.11);
    background: rgba(255,255,255,.045);
    color: rgba(245,248,255,.86);
    font-size: .78rem;
    font-weight: 850;
    white-space: nowrap;
  }

  body.practice-focus .practice-live-summary span:first-child {
    color: #10141d;
    background: linear-gradient(135deg, #e8c55f, #ffe195);
    border-color: transparent;
  }
}


/* v82 — Practice ultra compact mobile: question truly first */
@media (max-width: 720px) {
  /* Remove the large app header only when user is already inside focused practice. */
  body.practice-focus .nav-shell {
    padding: 6px 12px 4px !important;
    min-height: 50px !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
  }

  body.practice-focus .brand-logo {
    width: 32px !important;
    height: 32px !important;
    border-radius: 12px !important;
  }

  body.practice-focus .brand span,
  body.practice-focus .brand-title,
  body.practice-focus .brand-name {
    font-size: 0 !important;
    max-width: 0 !important;
    overflow: hidden !important;
  }

  body.practice-focus .brand::after {
    content: "Med Cursos";
    display: inline-block;
    color: #fff;
    font-size: 1rem;
    font-weight: 900;
    letter-spacing: -0.02em;
    margin-left: 8px;
  }

  body.practice-focus .brand-lang,
  body.practice-focus .compact-lang,
  body.practice-focus .language-switcher,
  body.practice-focus .lang-switch {
    transform: scale(.68) !important;
    transform-origin: left center !important;
    margin-left: -6px !important;
  }

  body.practice-focus .menu-toggle,
  body.practice-focus .hamburger,
  body.practice-focus [aria-label*="menu" i] {
    width: 42px !important;
    height: 42px !important;
    border-radius: 16px !important;
  }

  /* Make mode nav a micro strip. */
  body.practice-focus .practice-compact-controls {
    position: sticky !important;
    top: 0 !important;
    z-index: 20 !important;
    margin: 0 !important;
    padding: 6px 10px 7px !important;
    background: rgba(5, 8, 13, .88) !important;
    backdrop-filter: blur(18px) !important;
    border-top: 1px solid rgba(255,255,255,.04) !important;
    border-bottom: 1px solid rgba(246, 215, 126, .12) !important;
  }

  body.practice-focus .practice-compact-pill {
    min-height: 34px !important;
    padding: 7px 10px !important;
    font-size: .76rem !important;
    border-radius: 999px !important;
  }

  body.practice-focus .practice-compact-pill[href="matieres.html"] {
    max-width: 92px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* Hide old duplicated tabs and filter panels more aggressively. */
  body.practice-focus #practiceModeNav,
  body.practice-focus #practiceBackLink,
  body.practice-focus #courseFilters,
  body.practice-focus .practice-mobile-filter-hint,
  body.practice-focus .practice-tabs,
  body.practice-focus .mode-tabs,
  body.practice-focus .quiz-tabs,
  body.practice-focus .training-tabs,
  body.practice-focus [role="tablist"]:not(.keep-visible) {
    display: none !important;
  }

  /* Move content up. */
  body.practice-focus main,
  body.practice-focus .practice-shell,
  body.practice-focus .practice-focus-section {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  body.practice-focus #practiceList {
    gap: 7px !important;
  }

  /* Replace the ugly difficulty block with a clean compact row. */
  body.practice-focus .question-difficulty-panel {
    order: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 6px 12px 0 !important;
    padding: 7px 8px !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.035) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    overflow: hidden !important;
  }

  body.practice-focus .question-difficulty-panel::before {
    content: "Dificultad";
    color: #f6d77e;
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
    white-space: nowrap;
  }

  body.practice-focus .question-difficulty-panel .difficulty-select-wrap {
    grid-column: 2 !important;
    min-width: 0 !important;
    width: auto !important;
  }

  body.practice-focus .question-difficulty-panel .difficulty-select-wrap span {
    display: none !important;
  }

  body.practice-focus .question-difficulty-panel select {
    width: auto !important;
    max-width: 144px !important;
    min-height: 32px !important;
    height: 32px !important;
    padding: 0 26px 0 10px !important;
    font-size: .73rem !important;
    font-weight: 850 !important;
    border-radius: 999px !important;
  }

  body.practice-focus .question-difficulty-panel small,
  body.practice-focus .question-difficulty-panel .question-errors-link {
    display: none !important;
  }

  /* New top summary: short course name, not the entire long module title. */
  body.practice-focus .practice-live-summary {
    margin: 7px 12px 0 !important;
    gap: 6px !important;
    padding: 0 !important;
  }

  body.practice-focus .practice-live-summary span {
    min-height: 31px !important;
    padding: 6px 9px !important;
    font-size: .73rem !important;
    max-width: 150px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.practice-focus .practice-live-summary span.course-pill {
    max-width: 168px !important;
  }

  body.practice-focus .practice-live-summary span.bank-pill {
    max-width: 110px !important;
  }

  /* Question card higher and lighter. */
  body.practice-focus .single-question-card {
    margin: 7px 12px 0 !important;
    padding: 14px 12px !important;
    border-radius: 22px !important;
  }

  body.practice-focus .single-question-card .quiz-head {
    margin-bottom: 8px !important;
    gap: 5px !important;
  }

  body.practice-focus .single-question-card .quiz-head .badge {
    font-size: .68rem !important;
    padding: 5px 8px !important;
    max-width: 185px !important;
  }

  body.practice-focus .method-box,
  body.practice-focus .question-method,
  body.practice-focus [class*="method"] {
    max-height: 46px !important;
    overflow: hidden !important;
    padding: 8px 10px !important;
    border-radius: 15px !important;
    margin-bottom: 10px !important;
  }

  body.practice-focus .method-box *,
  body.practice-focus .question-method *,
  body.practice-focus [class*="method"] * {
    font-size: .68rem !important;
    line-height: 1.1 !important;
  }

  body.practice-focus .question-prompt h3,
  body.practice-focus .vf-prompt h3,
  body.practice-focus .question-text,
  body.practice-focus .quiz-question,
  body.practice-focus .practice-question {
    font-size: clamp(1.1rem, 4.75vw, 1.42rem) !important;
    line-height: 1.25 !important;
  }

  body.practice-focus .question-prompt,
  body.practice-focus .vf-prompt,
  body.practice-focus .case-stem {
    margin-top: 6px !important;
  }

  /* Detailed stats stay available but secondary below question. */
  body.practice-focus .practice-headbox {
    margin: 0 12px !important;
    opacity: .82 !important;
  }

  body.practice-focus .session-dashboard {
    padding: 8px !important;
    gap: 6px !important;
    border-radius: 18px !important;
  }

  body.practice-focus .session-stat {
    min-height: 46px !important;
    padding: 6px 8px !important;
    border-radius: 14px !important;
  }

  body.practice-focus .session-stat span {
    font-size: .55rem !important;
  }

  body.practice-focus .session-stat strong {
    font-size: .92rem !important;
  }

  body.practice-focus .session-stat small {
    font-size: .58rem !important;
  }
}


/* v83 — QCM ultra focus mobile */
@media (max-width: 720px) {
  /* Ultra thin header on focused practice pages */
  body.practice-focus .site-header {
    position: relative !important;
    min-height: 42px !important;
  }

  body.practice-focus .nav-shell {
    min-height: 42px !important;
    height: 42px !important;
    padding: 4px 12px !important;
    gap: 8px !important;
    border-bottom: 1px solid rgba(255,255,255,.045) !important;
  }

  body.practice-focus .brand {
    gap: 7px !important;
    min-width: 0 !important;
  }

  body.practice-focus .brand-logo {
    width: 29px !important;
    height: 29px !important;
    border-radius: 10px !important;
  }

  body.practice-focus .brand span,
  body.practice-focus .brand span strong,
  body.practice-focus .brand span small {
    display: none !important;
  }

  body.practice-focus .brand::after {
    content: "Med Cursos";
    color: #fff;
    font-size: .92rem;
    font-weight: 900;
    letter-spacing: -.02em;
    white-space: nowrap;
  }

  body.practice-focus .brand-lang,
  body.practice-focus .compact-lang,
  body.practice-focus .lang-switch,
  body.practice-focus .language-switcher {
    display: none !important;
  }

  body.practice-focus .menu-toggle {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    border-radius: 13px !important;
    font-size: .96rem !important;
  }

  body.practice-focus .nav-links {
    top: 45px !important;
  }

  /* Keep the practice mode strip, but make it much thinner */
  body.practice-focus .practice-compact-controls {
    position: sticky !important;
    top: 0 !important;
    z-index: 30 !important;
    margin: 0 !important;
    padding: 4px 8px 5px !important;
    gap: 6px !important;
    background: rgba(5, 8, 13, .92) !important;
    backdrop-filter: blur(18px) !important;
    border-top: 1px solid rgba(255,255,255,.035) !important;
    border-bottom: 1px solid rgba(246, 215, 126, .12) !important;
  }

  body.practice-focus .practice-compact-pill {
    min-height: 30px !important;
    padding: 6px 9px !important;
    font-size: .72rem !important;
    line-height: 1 !important;
    border-radius: 999px !important;
  }

  body.practice-focus .practice-compact-pill[href="matieres.html"] {
    max-width: 82px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* Hide duplicated / noisy controls. */
  body.practice-focus #practiceModeNav,
  body.practice-focus #practiceBackLink,
  body.practice-focus #courseFilters,
  body.practice-focus .practice-mobile-filter-hint,
  body.practice-focus .practice-quick-header,
  body.practice-focus .practice-hero,
  body.practice-focus .page-hero.practice-hero {
    display: none !important;
  }

  /* Hide original broken difficulty panel completely. A clean mini select is injected in the live summary. */
  body.practice-focus .question-difficulty-panel {
    display: none !important;
  }

  body.practice-focus main,
  body.practice-focus .practice-shell,
  body.practice-focus .practice-focus-section {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body.practice-focus #practiceList {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
  }

  /* Live summary becomes the only top information line. */
  body.practice-focus .practice-live-summary {
    order: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    overflow-x: auto !important;
    margin: 6px 10px 0 !important;
    padding: 0 0 1px !important;
    -webkit-overflow-scrolling: touch;
  }

  body.practice-focus .practice-live-summary::-webkit-scrollbar {
    display: none;
  }

  body.practice-focus .practice-live-summary span,
  body.practice-focus .practice-live-summary .practice-mini-difficulty {
    flex: 0 0 auto !important;
    min-height: 29px !important;
    height: 29px !important;
    display: inline-flex !important;
    align-items: center !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.11) !important;
    background: rgba(255,255,255,.05) !important;
    color: rgba(245,248,255,.88) !important;
    font-size: .70rem !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
  }

  body.practice-focus .practice-live-summary span {
    padding: 6px 8px !important;
  }

  body.practice-focus .practice-live-summary span:first-child {
    color: #10141d !important;
    background: linear-gradient(135deg, #e8c55f, #ffe195) !important;
    border-color: transparent !important;
  }

  body.practice-focus .practice-live-summary .course-pill {
    max-width: 104px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.practice-focus .practice-live-summary .bank-pill {
    max-width: 92px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.practice-focus .practice-mini-difficulty-wrap {
    flex: 0 0 auto !important;
    position: relative !important;
  }

  body.practice-focus .practice-mini-difficulty {
    appearance: none !important;
    -webkit-appearance: none !important;
    max-width: 118px !important;
    padding: 0 23px 0 9px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.practice-focus .practice-mini-difficulty-wrap::after {
    content: "▾";
    position: absolute;
    right: 9px;
    top: 50%;
    transform: translateY(-52%);
    color: #f6d77e;
    font-size: .68rem;
    pointer-events: none;
  }

  /* Question immediately after summary. */
  body.practice-focus .single-question-card {
    order: 1 !important;
    margin: 6px 10px 0 !important;
    padding: 13px 11px !important;
    border-radius: 21px !important;
  }

  /* Hide duplicated question badges because the live summary already says QCM · Cardio · 1/20 · Banco. */
  body.practice-focus .single-question-card .quiz-head {
    display: none !important;
  }

  /* Hide method box by default so the question starts higher. */
  body.practice-focus .question-study-strip,
  body.practice-focus .study-strip,
  body.practice-focus .question-method,
  body.practice-focus .method-box,
  body.practice-focus [class*="method-box"],
  body.practice-focus [class*="study-strip"] {
    display: none !important;
  }

  body.practice-focus .question-prompt,
  body.practice-focus .vf-prompt,
  body.practice-focus .case-stem {
    margin-top: 0 !important;
  }

  body.practice-focus .question-prompt h3,
  body.practice-focus .vf-prompt h3,
  body.practice-focus .question-text,
  body.practice-focus .quiz-question,
  body.practice-focus .practice-question {
    font-size: clamp(1.12rem, 4.8vw, 1.44rem) !important;
    line-height: 1.25 !important;
    margin-top: 0 !important;
  }

  body.practice-focus .options {
    margin-top: 12px !important;
    gap: 8px !important;
  }

  body.practice-focus .option {
    min-height: 51px !important;
    padding: 9px 10px !important;
    border-radius: 16px !important;
  }

  body.practice-focus .option span {
    width: 31px !important;
    height: 31px !important;
    flex: 0 0 31px !important;
  }

  body.practice-focus .option em {
    font-size: .92rem !important;
    line-height: 1.25 !important;
  }

  /* Keep tools available but less dominant. */
  body.practice-focus .preanswer-tools {
    margin-top: 9px !important;
    gap: 6px !important;
    overflow-x: auto !important;
  }

  body.practice-focus .tool-btn,
  body.practice-focus .unknown-btn {
    min-height: 35px !important;
    padding: 7px 10px !important;
    border-radius: 999px !important;
    font-size: .73rem !important;
    white-space: nowrap !important;
  }

  body.practice-focus .unknown-action-wrap {
    margin-top: 8px !important;
  }

  body.practice-focus .single-nav-actions {
    margin-top: 10px !important;
    gap: 7px !important;
  }

  body.practice-focus .single-nav-actions .btn {
    min-height: 39px !important;
    padding: 8px 11px !important;
    border-radius: 999px !important;
    font-size: .80rem !important;
  }

  /* Detailed stats remain below question, but very secondary. */
  body.practice-focus .practice-headbox {
    order: 2 !important;
    margin: 0 10px !important;
    opacity: .70 !important;
  }

  body.practice-focus .session-dashboard {
    padding: 7px !important;
    gap: 5px !important;
    border-radius: 17px !important;
  }

  body.practice-focus .session-stat {
    min-height: 42px !important;
    padding: 5px 7px !important;
    border-radius: 13px !important;
  }

  body.practice-focus .session-stat span {
    font-size: .52rem !important;
    letter-spacing: .08em !important;
  }

  body.practice-focus .session-stat strong {
    font-size: .86rem !important;
  }

  body.practice-focus .session-stat small {
    font-size: .56rem !important;
  }

  body.practice-focus .session-bars,
  body.practice-focus .coach-banner.neutral,
  body.practice-focus .question-shortcuts,
  body.practice-focus .module-actions.slim {
    display: none !important;
  }
}


/* v84 — Remove mobile top dead space on practice pages */
@media (max-width: 720px) {
  html,
  body {
    scroll-padding-top: 0 !important;
  }

  body.practice-focus {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  body.practice-focus::before,
  body.practice-focus::after,
  body.practice-focus .page-bg,
  body.practice-focus .hero-bg,
  body.practice-focus .top-bg,
  body.practice-focus .background-glow,
  body.practice-focus .site-bg {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body.practice-focus .app,
  body.practice-focus .page,
  body.practice-focus .site,
  body.practice-focus .site-wrap,
  body.practice-focus .layout,
  body.practice-focus .shell,
  body.practice-focus .main-shell {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  /* Remove the empty decorative area before the header. */
  body.practice-focus .site-header,
  body.practice-focus header.site-header,
  body.practice-focus header {
    margin-top: 0 !important;
    padding-top: 0 !important;
    top: 0 !important;
    transform: translateY(0) !important;
  }

  body.practice-focus .site-header::before,
  body.practice-focus .site-header::after,
  body.practice-focus header::before,
  body.practice-focus header::after {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
  }

  body.practice-focus .nav-shell {
    margin-top: 0 !important;
    padding-top: 3px !important;
    padding-bottom: 3px !important;
    min-height: 38px !important;
    height: 38px !important;
  }

  body.practice-focus .brand-logo {
    width: 27px !important;
    height: 27px !important;
  }

  body.practice-focus .brand::after {
    font-size: .86rem !important;
  }

  body.practice-focus .menu-toggle {
    width: 31px !important;
    height: 31px !important;
    min-width: 31px !important;
    border-radius: 12px !important;
  }

  /* Remove residual top margins before the mode bar and question. */
  body.practice-focus .practice-compact-controls {
    top: 0 !important;
    margin-top: 0 !important;
    padding-top: 3px !important;
    padding-bottom: 4px !important;
  }

  body.practice-focus main,
  body.practice-focus .practice-shell,
  body.practice-focus .practice-focus-section,
  body.practice-focus #practiceList {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body.practice-focus .practice-live-summary {
    margin-top: 4px !important;
  }

  body.practice-focus .single-question-card {
    margin-top: 5px !important;
  }

  /* On mobile practice pages, remove any hero spacer accidentally left above content. */
  body.practice-focus .hero,
  body.practice-focus .landing-hero,
  body.practice-focus .home-hero,
  body.practice-focus .practice-hero,
  body.practice-focus .page-hero,
  body.practice-focus .hero-spacer,
  body.practice-focus .top-spacer,
  body.practice-focus .intro-spacer {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
  }
}


/* v85 — Compact correction and one-line tools on mobile */
@media (max-width: 720px) {
  body.practice-focus .preanswer-tools {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
    margin-top: 9px !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body.practice-focus .preanswer-tools .tool-btn,
  body.practice-focus .preanswer-tools button,
  body.practice-focus .tool-btn,
  body.practice-focus .unknown-btn {
    width: 100% !important;
    min-height: 34px !important;
    padding: 7px 6px !important;
    border-radius: 999px !important;
    font-size: 0.68rem !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.practice-focus .unknown-action-wrap {
    margin-top: 7px !important;
  }

  body.practice-focus .unknown-action-wrap .unknown-btn,
  body.practice-focus button.unknown-btn {
    min-height: 40px !important;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    font-size: 0.78rem !important;
  }

  /* Original correction blocks become compact when JS tags them. */
  body.practice-focus .compact-feedback-card {
    margin-top: 10px !important;
    padding: 12px !important;
    border-radius: 20px !important;
    border: 1px solid rgba(255, 255, 255, .10) !important;
    background: rgba(255, 255, 255, .045) !important;
  }

  body.practice-focus .compact-feedback-card.is-correct {
    border-color: rgba(64, 214, 132, .34) !important;
    background: linear-gradient(145deg, rgba(42, 132, 89, .22), rgba(255, 255, 255, .04)) !important;
  }

  body.practice-focus .compact-feedback-card.is-wrong {
    border-color: rgba(255, 119, 119, .34) !important;
    background: linear-gradient(145deg, rgba(160, 57, 57, .20), rgba(255, 255, 255, .04)) !important;
  }

  body.practice-focus .compact-feedback-title {
    margin: 0 0 6px !important;
    font-size: .92rem !important;
    font-weight: 950 !important;
    letter-spacing: .02em !important;
    color: #fff !important;
  }

  body.practice-focus .compact-feedback-line {
    margin: 3px 0 !important;
    font-size: .83rem !important;
    line-height: 1.35 !important;
    color: rgba(238, 243, 255, .86) !important;
  }

  body.practice-focus .compact-feedback-line strong {
    color: #f6d77e !important;
  }

  body.practice-focus .compact-feedback-why {
    margin-top: 8px !important;
    padding: 9px 10px !important;
    border-radius: 15px !important;
    background: rgba(0, 0, 0, .18) !important;
    border: 1px solid rgba(255, 255, 255, .08) !important;
  }

  body.practice-focus .compact-feedback-why strong {
    display: block !important;
    margin-bottom: 3px !important;
    color: #f6d77e !important;
    font-size: .72rem !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
  }

  body.practice-focus .compact-feedback-why p {
    margin: 0 !important;
    font-size: .84rem !important;
    line-height: 1.38 !important;
    color: rgba(238, 243, 255, .84) !important;
  }

  body.practice-focus details.compact-option-details {
    margin-top: 8px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255, 255, 255, .10) !important;
    background: rgba(255, 255, 255, .035) !important;
    overflow: hidden !important;
  }

  body.practice-focus details.compact-option-details summary {
    cursor: pointer !important;
    min-height: 38px !important;
    padding: 10px 12px !important;
    list-style: none !important;
    color: #f6d77e !important;
    font-size: .80rem !important;
    font-weight: 900 !important;
    letter-spacing: .02em !important;
  }

  body.practice-focus details.compact-option-details summary::-webkit-details-marker {
    display: none !important;
  }

  body.practice-focus details.compact-option-details summary::after {
    content: " ▾";
    float: right;
    color: rgba(246, 215, 126, .85);
  }

  body.practice-focus details.compact-option-details[open] summary::after {
    content: " ▴";
  }

  body.practice-focus .compact-option-list {
    padding: 0 10px 10px !important;
    display: grid !important;
    gap: 7px !important;
  }

  body.practice-focus .compact-option-row {
    padding: 8px 9px !important;
    border-radius: 13px !important;
    background: rgba(0, 0, 0, .16) !important;
    border: 1px solid rgba(255, 255, 255, .07) !important;
    font-size: .78rem !important;
    line-height: 1.32 !important;
    color: rgba(238, 243, 255, .82) !important;
  }

  body.practice-focus .compact-option-row strong {
    color: #f6d77e !important;
  }

  body.practice-focus .compact-next-bar {
    display: flex !important;
    gap: 7px !important;
    margin-top: 9px !important;
  }

  body.practice-focus .compact-next-bar .btn,
  body.practice-focus .compact-next-bar button {
    flex: 1 1 auto !important;
    min-height: 39px !important;
    border-radius: 999px !important;
    font-size: .78rem !important;
    padding: 8px 10px !important;
  }

  /* Hide noisy original result details once compact replacement is inserted. */
  body.practice-focus .compact-feedback-ready > *:not(.compact-feedback-card):not(.compact-option-details):not(.compact-next-bar) {
    display: none !important;
  }

  body.practice-focus .compact-feedback-ready {
    margin-top: 10px !important;
  }

  body.practice-focus .compact-feedback-ready .compact-feedback-card,
  body.practice-focus .compact-feedback-ready .compact-option-details,
  body.practice-focus .compact-feedback-ready .compact-next-bar {
    display: block !important;
  }

  body.practice-focus .compact-feedback-ready .compact-next-bar {
    display: flex !important;
  }

  /* Fallback: make existing feedback blocks smaller even if DOM differs. */
  body.practice-focus .feedback,
  body.practice-focus .answer-feedback,
  body.practice-focus .correction,
  body.practice-focus .result-panel,
  body.practice-focus .explanation-panel,
  body.practice-focus [class*="feedback"],
  body.practice-focus [class*="correction"],
  body.practice-focus [class*="explanation"] {
    border-radius: 18px !important;
  }
}


/* v86 — Label and translation cleanup */
@media (max-width: 720px) {
  body.practice-focus details.compact-option-details summary {
    text-transform: none !important;
  }
}


/* v87 — Compact progress tracker */
@media (max-width: 720px) {
  body.practice-focus .practice-compact-tracker {
    order: 2 !important;
    display: grid !important;
    gap: 6px !important;
    margin: 8px 10px 0 !important;
    padding: 10px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    background:
      radial-gradient(circle at 0% 0%, rgba(246,215,126,.10), transparent 35%),
      rgba(255,255,255,.040) !important;
  }

  body.practice-focus .practice-compact-tracker-row {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch;
  }

  body.practice-focus .practice-compact-tracker-row::-webkit-scrollbar {
    display: none !important;
  }

  body.practice-focus .practice-track-pill {
    flex: 0 0 auto !important;
    min-height: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 5px 8px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    background: rgba(0,0,0,.16) !important;
    color: rgba(244,247,255,.88) !important;
    font-size: .70rem !important;
    font-weight: 850 !important;
  }

  body.practice-focus .practice-track-pill.is-main {
    color: #10141d !important;
    background: linear-gradient(135deg, #e8c55f, #ffe195) !important;
    border-color: transparent !important;
  }

  body.practice-focus .practice-track-pill.is-good {
    border-color: rgba(60,210,130,.28) !important;
    color: #b8ffd8 !important;
  }

  body.practice-focus .practice-track-pill.is-bad {
    border-color: rgba(255,116,116,.26) !important;
    color: #ffd1d1 !important;
  }

  body.practice-focus .practice-track-pill.is-neutral {
    color: rgba(244,247,255,.74) !important;
  }

  body.practice-focus .practice-mini-progress {
    display: grid !important;
    gap: 4px !important;
  }

  body.practice-focus .practice-mini-progress-line {
    display: grid !important;
    grid-template-columns: 74px 1fr 42px !important;
    align-items: center !important;
    gap: 7px !important;
    color: rgba(244,247,255,.74) !important;
    font-size: .66rem !important;
    font-weight: 850 !important;
  }

  body.practice-focus .practice-mini-progress-bar {
    height: 5px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.10) !important;
    overflow: hidden !important;
  }

  body.practice-focus .practice-mini-progress-fill {
    display: block !important;
    height: 100% !important;
    width: var(--w, 0%) !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, rgba(232,197,95,.75), rgba(90,210,145,.75)) !important;
  }

  body.practice-focus details.practice-stats-details {
    order: 3 !important;
    margin: 6px 10px 0 !important;
    border-radius: 17px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    background: rgba(255,255,255,.030) !important;
    overflow: hidden !important;
  }

  body.practice-focus details.practice-stats-details summary {
    min-height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 9px 11px !important;
    cursor: pointer !important;
    list-style: none !important;
    color: #f6d77e !important;
    font-size: .76rem !important;
    font-weight: 950 !important;
    letter-spacing: .02em !important;
  }

  body.practice-focus details.practice-stats-details summary::-webkit-details-marker {
    display: none !important;
  }

  body.practice-focus details.practice-stats-details summary::after {
    content: "▾";
    color: rgba(246,215,126,.85);
  }

  body.practice-focus details.practice-stats-details[open] summary::after {
    content: "▴";
  }

  body.practice-focus .practice-stats-details-body {
    padding: 0 8px 8px !important;
  }

  body.practice-focus .practice-stats-details-body .practice-headbox {
    display: block !important;
    margin: 0 !important;
    opacity: .85 !important;
  }

  body.practice-focus .practice-stats-details-body .session-dashboard {
    padding: 7px !important;
    gap: 5px !important;
    border-radius: 15px !important;
  }

  body.practice-focus .practice-stats-details-body .session-stat {
    min-height: 40px !important;
    padding: 5px 7px !important;
    border-radius: 12px !important;
  }

  body.practice-focus .practice-stats-details-body .session-bars {
    display: none !important;
  }

  /* Hide the original big stats panel only after the compact tracker is created. */
  body.practice-focus .practice-headbox.practice-stats-original-hidden {
    display: none !important;
  }

  /* Make motivation message a tiny toast instead of a full block. */
  body.practice-focus .coach-banner,
  body.practice-focus .coach-banner.neutral {
    display: none !important;
  }

  body.practice-focus .practice-mini-toast {
    order: 4 !important;
    margin: 6px 10px 0 !important;
    min-height: 32px !important;
    padding: 8px 10px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(246,215,126,.22) !important;
    background: rgba(246,215,126,.075) !important;
    color: rgba(244,247,255,.88) !important;
    font-size: .72rem !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
}


/* v88 — Clarify bank scope: subject bank vs current module */
@media (max-width: 720px) {
  body.practice-focus .practice-live-summary {
    flex-wrap: wrap !important;
    row-gap: 5px !important;
  }

  body.practice-focus .practice-live-summary .scope-pill {
    border-color: rgba(246,215,126,.28) !important;
    color: #f6d77e !important;
    background: rgba(246,215,126,.08) !important;
  }

  body.practice-focus .practice-live-summary .module-pill {
    max-width: 160px !important;
    border-color: rgba(72,177,255,.24) !important;
    color: rgba(218,238,255,.94) !important;
    background: rgba(72,177,255,.075) !important;
  }

  body.practice-focus .practice-live-summary .bank-pill {
    max-width: 170px !important;
  }

  body.practice-focus .practice-live-summary .bank-pill.is-subject-bank {
    color: rgba(244,247,255,.88) !important;
    border-color: rgba(255,255,255,.12) !important;
  }

  body.practice-focus .practice-track-pill.bank-scope-pill {
    max-width: 168px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.practice-focus .practice-bank-note {
    order: 2 !important;
    margin: 3px 10px 0 !important;
    padding: 7px 10px !important;
    border-radius: 14px !important;
    border: 1px solid rgba(246,215,126,.14) !important;
    background: rgba(246,215,126,.045) !important;
    color: rgba(244,247,255,.72) !important;
    font-size: .68rem !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
  }

  body.practice-focus .practice-bank-note strong {
    color: #f6d77e !important;
  }
}


/* v90 — Interactive materia/module scope filters */
@media (max-width: 720px) {
  body.practice-focus .practice-live-summary {
    align-items: center !important;
    gap: 6px !important;
    margin-top: 5px !important;
  }

  body.practice-focus .practice-live-summary .mode-pill,
  body.practice-focus .practice-live-summary span:first-child.mode-pill {
    display: none !important;
  }

  body.practice-focus .scope-select-wrap {
    flex: 0 0 auto !important;
    position: relative !important;
    max-width: 100% !important;
  }

  body.practice-focus .scope-select-wrap::after {
    content: "▾";
    position: absolute;
    right: 9px;
    top: 50%;
    transform: translateY(-52%);
    color: #f6d77e;
    font-size: .67rem;
    pointer-events: none;
  }

  body.practice-focus .scope-select {
    appearance: none !important;
    -webkit-appearance: none !important;
    height: 31px !important;
    min-height: 31px !important;
    max-width: 172px !important;
    padding: 0 24px 0 9px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(246,215,126,.28) !important;
    background: rgba(246,215,126,.08) !important;
    color: #f6d77e !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.practice-focus .scope-select.module-select {
    max-width: 192px !important;
    border-color: rgba(72,177,255,.24) !important;
    color: rgba(218,238,255,.96) !important;
    background: rgba(72,177,255,.075) !important;
  }

  body.practice-focus .scope-select option {
    color: #111827 !important;
    background: #ffffff !important;
  }

  body.practice-focus .practice-live-summary .question-pill,
  body.practice-focus .practice-live-summary .total-pill {
    flex: 0 0 auto !important;
    min-height: 31px !important;
    padding: 6px 9px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.11) !important;
    background: rgba(255,255,255,.05) !important;
    color: rgba(245,248,255,.88) !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
  }

  body.practice-focus .practice-live-summary .question-pill {
    color: #10141d !important;
    background: linear-gradient(135deg, #e8c55f, #ffe195) !important;
    border-color: transparent !important;
  }

  body.practice-focus .practice-live-summary .total-pill {
    max-width: 116px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.practice-focus .practice-bank-note {
    display: none !important;
  }

  body.practice-focus .practice-track-pill.bank-scope-pill {
    max-width: 110px !important;
  }
}


/* v91 — Scope pills readability fix */
@media (max-width: 720px) {
  body.practice-focus .practice-live-summary {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 6px !important;
    margin: 6px 10px 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body.practice-focus .scope-select-wrap {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.practice-focus .subject-select-wrap {
    grid-column: 1 / 2 !important;
    grid-row: 1 !important;
  }

  body.practice-focus .module-select-wrap {
    grid-column: 1 / 2 !important;
    grid-row: 2 !important;
  }

  body.practice-focus .practice-live-summary .question-pill {
    grid-column: 2 / 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    min-width: 64px !important;
    justify-content: center !important;
  }

  body.practice-focus .practice-live-summary .total-pill {
    grid-column: 2 / 3 !important;
    grid-row: 2 !important;
    justify-self: end !important;
    min-width: 92px !important;
    max-width: 104px !important;
    justify-content: center !important;
  }

  body.practice-focus .practice-mini-difficulty-wrap {
    grid-column: 1 / 3 !important;
    grid-row: 3 !important;
    width: max-content !important;
    max-width: 100% !important;
  }

  body.practice-focus .scope-select {
    width: 100% !important;
    max-width: 100% !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 26px 0 10px !important;
    border-radius: 999px !important;
    font-size: 0.76rem !important;
    font-weight: 900 !important;
    letter-spacing: -0.01em !important;
    text-overflow: ellipsis !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    color: rgba(255, 236, 171, 0.98) !important;
    background: rgba(246, 215, 126, 0.095) !important;
    border: 1px solid rgba(246, 215, 126, 0.34) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
  }

  body.practice-focus .scope-select.module-select {
    color: rgba(222, 241, 255, 0.98) !important;
    background: rgba(72, 177, 255, 0.075) !important;
    border-color: rgba(72, 177, 255, 0.28) !important;
  }

  body.practice-focus .scope-select-wrap::after {
    right: 10px !important;
    color: rgba(246, 215, 126, 0.95) !important;
  }

  body.practice-focus .module-select-wrap::after {
    color: rgba(158, 216, 255, 0.95) !important;
  }

  body.practice-focus .scope-select option {
    color: #111827 !important;
    background: #ffffff !important;
  }

  body.practice-focus .practice-live-summary span:first-child:not(.question-pill):not(.total-pill),
  body.practice-focus .practice-live-summary span.mode-pill {
    background: transparent !important;
    color: inherit !important;
    border-color: inherit !important;
  }

  body.practice-focus .practice-live-summary .question-pill {
    color: #111827 !important;
    background: linear-gradient(135deg, #e8c55f, #ffe195) !important;
    border-color: transparent !important;
    font-size: 0.76rem !important;
    font-weight: 950 !important;
  }

  body.practice-focus .practice-live-summary .total-pill {
    color: rgba(245,248,255,.92) !important;
    background: rgba(255,255,255,.055) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    font-size: 0.72rem !important;
    font-weight: 900 !important;
  }

  body.practice-focus .practice-mini-difficulty {
    height: 31px !important;
    min-height: 31px !important;
    max-width: 138px !important;
    font-size: .72rem !important;
    color: rgba(245,248,255,.90) !important;
    background: rgba(255,255,255,.045) !important;
    border-color: rgba(255,255,255,.12) !important;
  }

  body.practice-focus .single-question-card {
    margin-top: 8px !important;
  }
}


/* v92 — fix overlapping scope filters on iPhone */
@media (max-width: 720px) {
  body.practice-focus .practice-live-summary .scope-select-wrap,
  body.practice-focus .practice-live-summary .practice-mini-difficulty-wrap {
    display: block !important;
    align-self: stretch !important;
    min-height: auto !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    z-index: 2 !important;
  }

  body.practice-focus .practice-live-summary .scope-select-wrap::before,
  body.practice-focus .practice-live-summary .practice-mini-difficulty-wrap::before {
    content: none !important;
    display: none !important;
  }

  body.practice-focus .scope-select-wrap::after,
  body.practice-focus .practice-mini-difficulty-wrap::after {
    pointer-events: none !important;
    z-index: 3 !important;
  }

  body.practice-focus .scope-select,
  body.practice-focus .practice-mini-difficulty {
    position: relative !important;
    z-index: 4 !important;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    cursor: pointer !important;
    touch-action: manipulation !important;
  }

  body.practice-focus .subject-select-wrap,
  body.practice-focus .module-select-wrap {
    isolation: isolate !important;
  }
}


/* v93 — Desktop/tablet practice clean layout */
@media (min-width: 721px) {
  body.practice-focus {
    overflow-x: hidden !important;
  }

  body.practice-focus .site-header,
  body.practice-focus header.site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 50 !important;
    background: rgba(5, 8, 13, .88) !important;
    backdrop-filter: blur(18px) !important;
    border-bottom: 1px solid rgba(255,255,255,.075) !important;
  }

  body.practice-focus .nav-shell {
    max-width: 1280px !important;
    min-height: 68px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  /* During practice, search/support/landing text are distractions. */
  body.practice-focus .global-search,
  body.practice-focus .home-search,
  body.practice-focus .site-search,
  body.practice-focus .support-ribbon,
  body.practice-focus .donation-panel,
  body.practice-focus .support-panel,
  body.practice-focus .pix-panel,
  body.practice-focus .project-support,
  body.practice-focus .solidarity,
  body.practice-focus .donation-card,
  body.practice-focus .practice-quick-header,
  body.practice-focus .practice-hero,
  body.practice-focus .page-hero.practice-hero,
  body.practice-focus .practice-mobile-filter-hint,
  body.practice-focus #courseFilters,
  body.practice-focus #practiceModeNav,
  body.practice-focus #practiceBackLink {
    display: none !important;
  }

  body.practice-focus main,
  body.practice-focus .practice-shell,
  body.practice-focus .practice-focus-section {
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 18px 24px 40px !important;
  }

  body.practice-focus .practice-compact-controls {
    position: sticky !important;
    top: 69px !important;
    z-index: 45 !important;
    max-width: 1280px !important;
    margin: 0 auto 14px !important;
    padding: 10px 24px !important;
    display: flex !important;
    gap: 10px !important;
    overflow-x: auto !important;
    background: rgba(5, 8, 13, .82) !important;
    backdrop-filter: blur(18px) !important;
    border-bottom: 1px solid rgba(246,215,126,.10) !important;
  }

  body.practice-focus .practice-compact-pill {
    min-height: 38px !important;
    padding: 9px 16px !important;
    border-radius: 999px !important;
    font-size: .88rem !important;
    font-weight: 900 !important;
  }

  body.practice-focus #practiceList {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 330px !important;
    grid-template-areas:
      "summary side"
      "question side"
      "feedback side" !important;
    column-gap: 24px !important;
    row-gap: 14px !important;
    align-items: start !important;
  }

  body.practice-focus .practice-live-summary {
    grid-area: summary !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 12px !important;
    border-radius: 22px !important;
    border: 1px solid rgba(255,255,255,.09) !important;
    background: rgba(255,255,255,.035) !important;
    overflow: visible !important;
  }

  body.practice-focus .scope-select-wrap,
  body.practice-focus .practice-mini-difficulty-wrap {
    flex: 0 1 auto !important;
    position: relative !important;
    min-width: 180px !important;
    max-width: 260px !important;
    display: block !important;
  }

  body.practice-focus .scope-select-wrap::after,
  body.practice-focus .practice-mini-difficulty-wrap::after {
    content: "▾" !important;
    position: absolute !important;
    right: 11px !important;
    top: 50% !important;
    transform: translateY(-52%) !important;
    color: #f6d77e !important;
    pointer-events: none !important;
    font-size: .72rem !important;
  }

  body.practice-focus .scope-select,
  body.practice-focus .practice-mini-difficulty {
    width: 100% !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 30px 0 13px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(246,215,126,.28) !important;
    background: rgba(246,215,126,.08) !important;
    color: rgba(255,236,171,.98) !important;
    font-size: .88rem !important;
    font-weight: 900 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    cursor: pointer !important;
  }

  body.practice-focus .scope-select.module-select {
    border-color: rgba(72,177,255,.26) !important;
    background: rgba(72,177,255,.075) !important;
    color: rgba(222,241,255,.98) !important;
  }

  body.practice-focus .practice-live-summary .question-pill,
  body.practice-focus .practice-live-summary .total-pill {
    min-height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 9px 15px !important;
    border-radius: 999px !important;
    font-size: .88rem !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
  }

  body.practice-focus .practice-live-summary .question-pill {
    color: #111827 !important;
    background: linear-gradient(135deg, #e8c55f, #ffe195) !important;
  }

  body.practice-focus .practice-live-summary .total-pill {
    color: rgba(245,248,255,.92) !important;
    background: rgba(255,255,255,.055) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
  }

  body.practice-focus .practice-bank-note {
    display: none !important;
  }

  body.practice-focus .single-question-card {
    grid-area: question !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 28px !important;
    border-radius: 30px !important;
  }

  body.practice-focus .single-question-card .quiz-head {
    display: none !important;
  }

  body.practice-focus .question-study-strip,
  body.practice-focus .study-strip,
  body.practice-focus .question-method,
  body.practice-focus .method-box,
  body.practice-focus [class*="method-box"],
  body.practice-focus [class*="study-strip"] {
    display: none !important;
  }

  body.practice-focus .question-prompt h3,
  body.practice-focus .vf-prompt h3,
  body.practice-focus .question-text,
  body.practice-focus .quiz-question,
  body.practice-focus .practice-question {
    max-width: 920px !important;
    font-size: clamp(2rem, 3.2vw, 3.25rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.055em !important;
  }

  body.practice-focus .options {
    max-width: 920px !important;
    gap: 12px !important;
    margin-top: 22px !important;
  }

  body.practice-focus .option {
    min-height: 64px !important;
    padding: 14px 18px !important;
    border-radius: 20px !important;
  }

  body.practice-focus .option span {
    width: 40px !important;
    height: 40px !important;
    flex: 0 0 40px !important;
  }

  body.practice-focus .option em {
    font-size: 1.08rem !important;
    line-height: 1.35 !important;
  }

  body.practice-focus .preanswer-tools {
    display: flex !important;
    gap: 10px !important;
    margin-top: 16px !important;
  }

  body.practice-focus .tool-btn,
  body.practice-focus .unknown-btn {
    min-height: 42px !important;
    padding: 10px 16px !important;
    border-radius: 999px !important;
    font-size: .9rem !important;
  }

  body.practice-focus .unknown-action-wrap {
    margin-top: 12px !important;
  }

  body.practice-focus .practice-compact-tracker,
  body.practice-focus details.practice-stats-details,
  body.practice-focus .practice-mini-toast,
  body.practice-focus .practice-headbox {
    grid-column: 2 !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body.practice-focus .practice-compact-tracker {
    grid-area: side !important;
    position: sticky !important;
    top: 134px !important;
    padding: 16px !important;
    border-radius: 24px !important;
    align-self: start !important;
  }

  body.practice-focus .practice-compact-tracker-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    overflow: visible !important;
  }

  body.practice-focus .practice-track-pill {
    min-height: 36px !important;
    justify-content: center !important;
    font-size: .82rem !important;
    padding: 8px 10px !important;
  }

  body.practice-focus .practice-mini-progress {
    margin-top: 10px !important;
  }

  body.practice-focus .practice-mini-progress-line {
    grid-template-columns: 72px 1fr 42px !important;
    font-size: .78rem !important;
  }

  body.practice-focus details.practice-stats-details {
    display: block !important;
    grid-area: side !important;
    margin-top: 172px !important;
  }

  body.practice-focus .compact-feedback-ready,
  body.practice-focus .compact-feedback-card,
  body.practice-focus .compact-option-details,
  body.practice-focus .compact-next-bar {
    grid-area: feedback !important;
    max-width: 920px !important;
  }
}

/* Tablet narrower desktop fallback */
@media (min-width: 721px) and (max-width: 1050px) {
  body.practice-focus #practiceList {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "summary"
      "question"
      "side"
      "feedback" !important;
  }

  body.practice-focus .practice-compact-tracker,
  body.practice-focus details.practice-stats-details,
  body.practice-focus .practice-mini-toast,
  body.practice-focus .practice-headbox {
    grid-column: 1 !important;
  }

  body.practice-focus .practice-compact-tracker {
    position: relative !important;
    top: auto !important;
  }

  body.practice-focus details.practice-stats-details {
    margin-top: 8px !important;
  }
}


/* v94 — Desktop/laptop cleanup after v93 */
@media (min-width: 721px) {
  /* Desktop practice must look like an app, not like a full site page. */
  body.practice-focus .global-search,
  body.practice-focus .home-search,
  body.practice-focus .site-search,
  body.practice-focus .support-ribbon,
  body.practice-focus .support-panel,
  body.practice-focus .donation-panel,
  body.practice-focus .pix-panel,
  body.practice-focus .project-support,
  body.practice-focus .solidarity,
  body.practice-focus .donation-card,
  body.practice-focus .practice-mobile-filter-hint,
  body.practice-focus #courseFilters,
  body.practice-focus #practiceModeNav,
  body.practice-focus #practiceBackLink,
  body.practice-focus .question-difficulty-panel,
  body.practice-focus .coach-banner,
  body.practice-focus .coach-banner.neutral,
  body.practice-focus .question-study-strip,
  body.practice-focus .study-strip,
  body.practice-focus .question-method,
  body.practice-focus .method-box,
  body.practice-focus [class*="method-box"],
  body.practice-focus [class*="study-strip"],
  body.practice-focus .module-actions.slim {
    display: none !important;
  }

  body.practice-focus main,
  body.practice-focus .practice-shell,
  body.practice-focus .practice-focus-section {
    max-width: 1120px !important;
    padding: 16px 22px 40px !important;
  }

  body.practice-focus .practice-compact-controls {
    top: 66px !important;
    max-width: 1120px !important;
    padding: 8px 22px !important;
    margin-bottom: 12px !important;
  }

  body.practice-focus .practice-compact-pill {
    min-height: 34px !important;
    padding: 8px 13px !important;
    font-size: .82rem !important;
  }

  /* Laptop default: one centered column. The v93 two-column layout was too spread out on MacBook. */
  body.practice-focus #practiceList {
    max-width: 980px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }

  body.practice-focus .practice-live-summary {
    order: 0 !important;
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 10px !important;
    border-radius: 20px !important;
    border: 1px solid rgba(255,255,255,.09) !important;
    background: rgba(255,255,255,.035) !important;
  }

  body.practice-focus .scope-select-wrap,
  body.practice-focus .practice-mini-difficulty-wrap {
    flex: 1 1 180px !important;
    min-width: 170px !important;
    max-width: 260px !important;
    position: relative !important;
    display: block !important;
  }

  body.practice-focus .scope-select-wrap::after,
  body.practice-focus .practice-mini-difficulty-wrap::after {
    content: "▾" !important;
    position: absolute !important;
    right: 10px !important;
    top: 50% !important;
    transform: translateY(-52%) !important;
    pointer-events: none !important;
    color: #f6d77e !important;
    font-size: .7rem !important;
  }

  body.practice-focus .scope-select,
  body.practice-focus .practice-mini-difficulty {
    width: 100% !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 28px 0 12px !important;
    border-radius: 999px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    cursor: pointer !important;
    font-size: .82rem !important;
    font-weight: 900 !important;
    text-overflow: ellipsis !important;
    overflow: hidden !important;
    white-space: nowrap !important;
  }

  body.practice-focus .practice-live-summary .question-pill,
  body.practice-focus .practice-live-summary .total-pill {
    flex: 0 0 auto !important;
    min-height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 13px !important;
    border-radius: 999px !important;
    font-size: .82rem !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
  }

  body.practice-focus .single-question-card {
    order: 1 !important;
    width: 100% !important;
    max-width: 980px !important;
    margin: 0 auto !important;
    padding: 24px !important;
    border-radius: 28px !important;
  }

  body.practice-focus .single-question-card .quiz-head {
    display: none !important;
  }

  body.practice-focus .question-prompt h3,
  body.practice-focus .vf-prompt h3,
  body.practice-focus .question-text,
  body.practice-focus .quiz-question,
  body.practice-focus .practice-question {
    max-width: 900px !important;
    font-size: clamp(1.75rem, 2.9vw, 2.85rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.05em !important;
  }

  body.practice-focus .options {
    max-width: 900px !important;
    gap: 10px !important;
    margin-top: 18px !important;
  }

  body.practice-focus .option {
    min-height: 58px !important;
    padding: 12px 16px !important;
    border-radius: 19px !important;
  }

  body.practice-focus .option span {
    width: 36px !important;
    height: 36px !important;
    flex: 0 0 36px !important;
  }

  body.practice-focus .option em {
    font-size: 1rem !important;
    line-height: 1.34 !important;
  }

  body.practice-focus .preanswer-tools {
    display: flex !important;
    gap: 8px !important;
    margin-top: 14px !important;
  }

  body.practice-focus .tool-btn,
  body.practice-focus .unknown-btn {
    min-height: 38px !important;
    padding: 8px 13px !important;
    border-radius: 999px !important;
    font-size: .84rem !important;
  }

  body.practice-focus .single-nav-actions {
    margin-top: 12px !important;
  }

  /* Compact tracker is now right below the question, not isolated in a far-right column. */
  body.practice-focus .practice-compact-tracker {
    order: 2 !important;
    position: relative !important;
    top: auto !important;
    width: 100% !important;
    max-width: 980px !important;
    margin: 0 auto !important;
    padding: 12px !important;
    border-radius: 20px !important;
  }

  body.practice-focus .practice-compact-tracker-row {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    overflow-x: auto !important;
  }

  body.practice-focus .practice-track-pill {
    flex: 0 0 auto !important;
    min-height: 31px !important;
    padding: 6px 9px !important;
    border-radius: 999px !important;
    font-size: .76rem !important;
  }

  body.practice-focus .practice-mini-progress {
    margin-top: 7px !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  body.practice-focus .practice-mini-progress-line {
    grid-template-columns: 62px 1fr 38px !important;
    font-size: .72rem !important;
  }

  body.practice-focus details.practice-stats-details {
    order: 3 !important;
    width: 100% !important;
    max-width: 980px !important;
    margin: 0 auto !important;
    grid-area: auto !important;
  }

  body.practice-focus .practice-mini-toast {
    order: 4 !important;
    width: 100% !important;
    max-width: 980px !important;
    margin: 0 auto !important;
  }

  body.practice-focus .practice-headbox.practice-stats-original-hidden {
    display: none !important;
  }

  body.practice-focus .compact-feedback-ready {
    order: 5 !important;
  }

  /* Remove old bottom bars that survived v93. */
  body.practice-focus body > .question-difficulty-panel,
  body.practice-focus .question-difficulty-panel,
  body.practice-focus .difficulty-row,
  body.practice-focus .difficulty-filter,
  body.practice-focus .bank-row,
  body.practice-focus .practice-meta-row {
    display: none !important;
  }
}

/* Only very large desktop gets a soft two-column layout. */
@media (min-width: 1450px) {
  body.practice-focus #practiceList {
    max-width: 1320px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 300px !important;
    grid-template-areas:
      "summary summary"
      "question tracker"
      "feedback stats" !important;
    column-gap: 22px !important;
    align-items: start !important;
  }

  body.practice-focus .practice-live-summary {
    grid-area: summary !important;
  }

  body.practice-focus .single-question-card {
    grid-area: question !important;
  }

  body.practice-focus .practice-compact-tracker {
    grid-area: tracker !important;
    position: sticky !important;
    top: 126px !important;
  }

  body.practice-focus details.practice-stats-details {
    grid-area: stats !important;
  }

  body.practice-focus .compact-feedback-ready {
    grid-area: feedback !important;
  }
}


/* v95 — Practice HUD clean: filters + stats above the question */
@media (min-width: 721px) {
  body.practice-focus #practiceList {
    max-width: 1040px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  /* Filters row */
  body.practice-focus .practice-live-summary {
    order: 0 !important;
    margin: 0 !important;
    padding: 10px !important;
    border-radius: 22px 22px 14px 14px !important;
    border: 1px solid rgba(255,255,255,.09) !important;
    border-bottom-color: rgba(246,215,126,.10) !important;
    background: rgba(255,255,255,.035) !important;
  }

  body.practice-focus .scope-select-wrap,
  body.practice-focus .practice-mini-difficulty-wrap {
    flex: 1 1 190px !important;
    min-width: 175px !important;
    max-width: 280px !important;
  }

  body.practice-focus .scope-select,
  body.practice-focus .practice-mini-difficulty {
    height: 34px !important;
    min-height: 34px !important;
    font-size: .80rem !important;
  }

  body.practice-focus .practice-live-summary .question-pill,
  body.practice-focus .practice-live-summary .total-pill {
    display: none !important;
  }

  /* New HUD row */
  body.practice-focus .practice-hud-row {
    order: 1 !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    overflow-x: auto !important;
    margin: -4px 0 2px !important;
    padding: 9px 10px !important;
    border-radius: 14px 14px 22px 22px !important;
    border: 1px solid rgba(255,255,255,.085) !important;
    border-top: 0 !important;
    background:
      linear-gradient(135deg, rgba(246,215,126,.06), rgba(72,177,255,.035)),
      rgba(255,255,255,.030) !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body.practice-focus .practice-hud-row::-webkit-scrollbar {
    height: 0 !important;
    display: none !important;
  }

  body.practice-focus .hud-pill {
    flex: 0 0 auto !important;
    min-height: 31px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 6px 9px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    background: rgba(0,0,0,.14) !important;
    color: rgba(244,247,255,.82) !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
  }

  body.practice-focus .hud-pill strong {
    color: #ffffff !important;
    font-weight: 950 !important;
  }

  body.practice-focus .hud-pill.main {
    color: #111827 !important;
    background: linear-gradient(135deg, #e8c55f, #ffe195) !important;
    border-color: transparent !important;
  }

  body.practice-focus .hud-pill.main strong {
    color: #111827 !important;
  }

  body.practice-focus .hud-pill.success {
    border-color: rgba(66,214,132,.28) !important;
    color: rgba(190,255,218,.92) !important;
  }

  body.practice-focus .hud-pill.error {
    border-color: rgba(255,116,116,.28) !important;
    color: rgba(255,210,210,.92) !important;
  }

  body.practice-focus .hud-pill.neutral {
    color: rgba(244,247,255,.72) !important;
  }

  body.practice-focus .hud-pill.accent {
    border-color: rgba(246,215,126,.22) !important;
    color: rgba(255,236,171,.94) !important;
  }

  /* Hide old tracker/stat blocks on desktop because HUD replaces them. */
  body.practice-focus .practice-compact-tracker,
  body.practice-focus details.practice-stats-details,
  body.practice-focus .practice-mini-toast,
  body.practice-focus .practice-headbox,
  body.practice-focus .coach-banner,
  body.practice-focus .coach-banner.neutral {
    display: none !important;
  }

  body.practice-focus .single-question-card {
    order: 2 !important;
    max-width: 1040px !important;
    padding: 23px !important;
  }

  /* Laptop question title was too big. */
  body.practice-focus .question-prompt h3,
  body.practice-focus .vf-prompt h3,
  body.practice-focus .question-text,
  body.practice-focus .quiz-question,
  body.practice-focus .practice-question {
    font-size: clamp(1.55rem, 2.35vw, 2.35rem) !important;
    line-height: 1.13 !important;
    letter-spacing: -0.045em !important;
    max-width: 940px !important;
  }

  body.practice-focus .options {
    margin-top: 16px !important;
    max-width: 940px !important;
    gap: 9px !important;
  }

  body.practice-focus .option {
    min-height: 54px !important;
    padding: 11px 14px !important;
  }

  body.practice-focus .option span {
    width: 34px !important;
    height: 34px !important;
    flex: 0 0 34px !important;
  }

  body.practice-focus .option em {
    font-size: .96rem !important;
  }

  body.practice-focus .preanswer-tools {
    margin-top: 12px !important;
  }

  body.practice-focus .tool-btn,
  body.practice-focus .unknown-btn {
    min-height: 36px !important;
    padding: 8px 12px !important;
    font-size: .80rem !important;
  }
}

/* Keep very large screens centered too; no forced right column by default. */
@media (min-width: 1450px) {
  body.practice-focus #practiceList {
    max-width: 1120px !important;
    display: flex !important;
    flex-direction: column !important;
  }

  body.practice-focus .single-question-card {
    max-width: 1120px !important;
  }
}


/* v96 — Scope labels + invisible gap fix */
@media (min-width: 721px) {
  /* Remove the empty/interfering band between mode bar and filters. */
  body.practice-focus .practice-compact-controls {
    margin-bottom: 6px !important;
    padding-bottom: 7px !important;
  }

  body.practice-focus main,
  body.practice-focus .practice-shell,
  body.practice-focus .practice-focus-section {
    padding-top: 8px !important;
  }

  body.practice-focus #practiceList {
    gap: 7px !important;
  }

  body.practice-focus .practice-live-summary {
    margin-top: 0 !important;
  }

  body.practice-focus .practice-quick-header,
  body.practice-focus .practice-hero,
  body.practice-focus .page-hero.practice-hero,
  body.practice-focus .practice-mobile-filter-hint,
  body.practice-focus #courseFilters,
  body.practice-focus #practiceModeNav,
  body.practice-focus #practiceBackLink,
  body.practice-focus .question-difficulty-panel,
  body.practice-focus .difficulty-row,
  body.practice-focus .difficulty-filter,
  body.practice-focus .bank-row,
  body.practice-focus .practice-meta-row {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
    overflow: hidden !important;
  }

  body.practice-focus .scope-select-wrap,
  body.practice-focus .practice-mini-difficulty-wrap {
    pointer-events: auto !important;
  }

  body.practice-focus .scope-select,
  body.practice-focus .practice-mini-difficulty {
    pointer-events: auto !important;
  }

  /* Better wording for totals. */
  body.practice-focus .hud-pill.total-subject,
  body.practice-focus .hud-pill.total-module,
  body.practice-focus .practice-live-summary .total-pill.total-subject,
  body.practice-focus .practice-live-summary .total-pill.total-module {
    border-color: rgba(246,215,126,.22) !important;
    color: rgba(255,236,171,.95) !important;
  }

  body.practice-focus .hud-pill.total-module {
    border-color: rgba(72,177,255,.24) !important;
    color: rgba(222,241,255,.95) !important;
  }
}

@media (max-width: 720px) {
  body.practice-focus .practice-compact-controls {
    margin-bottom: 4px !important;
  }

  body.practice-focus main,
  body.practice-focus .practice-shell,
  body.practice-focus .practice-focus-section,
  body.practice-focus #practiceList {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  body.practice-focus .practice-quick-header,
  body.practice-focus .practice-hero,
  body.practice-focus .page-hero.practice-hero,
  body.practice-focus .practice-mobile-filter-hint,
  body.practice-focus #courseFilters,
  body.practice-focus #practiceModeNav,
  body.practice-focus #practiceBackLink,
  body.practice-focus .question-difficulty-panel,
  body.practice-focus .difficulty-row,
  body.practice-focus .difficulty-filter,
  body.practice-focus .bank-row,
  body.practice-focus .practice-meta-row {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
    overflow: hidden !important;
  }
}


/* v97 — Remove clickable ghost gap + fix practice counter display */
@media (min-width: 721px) {
  body.practice-focus .practice-compact-controls {
    margin-bottom: 0 !important;
    padding-bottom: 5px !important;
    border-bottom-color: rgba(246,215,126,.08) !important;
  }

  body.practice-focus main,
  body.practice-focus .practice-shell,
  body.practice-focus .practice-focus-section {
    padding-top: 2px !important;
  }

  body.practice-focus #practiceList {
    gap: 5px !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body.practice-focus .practice-live-summary {
    margin-top: 0 !important;
  }

  body.practice-focus .practice-live-summary,
  body.practice-focus .practice-hud-row,
  body.practice-focus .single-question-card {
    position: relative !important;
    z-index: 3 !important;
  }

  /* Absolute anti-ghost rule: old hidden rows cannot capture pointer events. */
  body.practice-focus #courseFilters,
  body.practice-focus #practiceModeNav,
  body.practice-focus #practiceBackLink,
  body.practice-focus .practice-mobile-filter-hint,
  body.practice-focus .practice-quick-header,
  body.practice-focus .practice-hero,
  body.practice-focus .page-hero,
  body.practice-focus .question-difficulty-panel,
  body.practice-focus .difficulty-row,
  body.practice-focus .difficulty-filter,
  body.practice-focus .bank-row,
  body.practice-focus .practice-meta-row,
  body.practice-focus .practice-headbox.practice-stats-original-hidden,
  body.practice-focus .practice-bank-note {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    max-height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    pointer-events: none !important;
    overflow: hidden !important;
    position: absolute !important;
    left: -9999px !important;
    top: -9999px !important;
  }

  body.practice-focus .hud-pill.main strong,
  body.practice-focus .hud-pill.main {
    white-space: nowrap !important;
  }
}

@media (max-width: 720px) {
  body.practice-focus .practice-compact-controls {
    margin-bottom: 0 !important;
    padding-bottom: 4px !important;
  }

  body.practice-focus main,
  body.practice-focus .practice-shell,
  body.practice-focus .practice-focus-section,
  body.practice-focus #practiceList {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  body.practice-focus #courseFilters,
  body.practice-focus #practiceModeNav,
  body.practice-focus #practiceBackLink,
  body.practice-focus .practice-mobile-filter-hint,
  body.practice-focus .practice-quick-header,
  body.practice-focus .practice-hero,
  body.practice-focus .page-hero,
  body.practice-focus .question-difficulty-panel,
  body.practice-focus .difficulty-row,
  body.practice-focus .difficulty-filter,
  body.practice-focus .bank-row,
  body.practice-focus .practice-meta-row,
  body.practice-focus .practice-headbox.practice-stats-original-hidden,
  body.practice-focus .practice-bank-note {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    max-height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    pointer-events: none !important;
    overflow: hidden !important;
  }
}



/* v98 — single-line compact top bar on desktop */
@media (min-width: 1180px) {
  body.practice-focus .practice-summary-combined {
    max-width: 1040px !important;
    margin: 0 auto 8px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    overflow: visible !important;
  }

  body.practice-focus .practice-summary-combined .practice-live-summary,
  body.practice-focus .practice-summary-combined .practice-hud-row {
    margin: 0 !important;
  }

  body.practice-focus .practice-summary-combined .practice-live-summary {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    padding: 6px 8px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    background: rgba(255,255,255,.03) !important;
  }

  body.practice-focus .practice-summary-combined .practice-hud-row {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    overflow: visible !important;
  }

  body.practice-focus .practice-summary-combined .scope-select-wrap,
  body.practice-focus .practice-summary-combined .practice-mini-difficulty-wrap,
  body.practice-focus .practice-summary-combined .subject-select-wrap,
  body.practice-focus .practice-summary-combined .module-select-wrap {
    flex: 0 0 auto !important;
    min-width: unset !important;
    max-width: none !important;
    width: auto !important;
  }

  body.practice-focus .practice-summary-combined .scope-select {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 30px !important;
    min-height: 30px !important;
    padding: 5px 28px 5px 12px !important;
    font-size: .78rem !important;
    font-weight: 900 !important;
    letter-spacing: -.01em !important;
  }

  body.practice-focus .practice-summary-combined .scope-select-wrap::before,
  body.practice-focus .practice-summary-combined .practice-mini-difficulty-wrap::before {
    display: none !important;
  }

  body.practice-focus .practice-summary-combined .scope-select-wrap::after,
  body.practice-focus .practice-summary-combined .practice-mini-difficulty-wrap::after {
    right: 10px !important;
    font-size: .62rem !important;
  }

  body.practice-focus .practice-summary-combined .hud-pill {
    flex: 0 0 auto !important;
    min-height: 30px !important;
    padding: 5px 8px !important;
    gap: 4px !important;
    font-size: .69rem !important;
    line-height: 1 !important;
  }

  body.practice-focus .practice-summary-combined .hud-pill.main {
    padding-inline: 10px !important;
  }

  body.practice-focus .practice-summary-combined + .single-question-card {
    margin-top: 0 !important;
  }
}


/* v99 — Desktop header single main line + language row */
@media (min-width: 1041px) {
  body:not(.practice-focus) .site-header .nav-shell,
  body:not(.practice-focus) header.site-header .nav-shell {
    display: grid !important;
    grid-template-columns: max-content minmax(210px, 270px) minmax(0, 1fr) !important;
    grid-template-areas:
      "brand tools nav"
      "lang lang lang" !important;
    align-items: center !important;
    column-gap: 14px !important;
    row-gap: 8px !important;
    max-width: 1320px !important;
    padding: 12px 18px 10px !important;
  }

  body:not(.practice-focus) .site-header .brand,
  body:not(.practice-focus) header.site-header .brand {
    grid-area: brand !important;
    min-width: 0 !important;
    align-self: center !important;
  }

  body:not(.practice-focus) .site-header .brand span small,
  body:not(.practice-focus) header.site-header .brand span small {
    white-space: nowrap !important;
  }

  body:not(.practice-focus) .site-header .global-tools,
  body:not(.practice-focus) header.site-header .global-tools {
    grid-area: tools !important;
    margin-left: 0 !important;
    min-width: 0 !important;
    max-width: 270px !important;
    width: 100% !important;
    display: block !important;
    justify-self: stretch !important;
  }

  body:not(.practice-focus) .site-header .global-search,
  body:not(.practice-focus) header.site-header .global-search {
    max-width: none !important;
    width: 100% !important;
    display: block !important;
  }

  body:not(.practice-focus) .site-header .global-search-label,
  body:not(.practice-focus) header.site-header .global-search-label {
    display: none !important;
  }

  body:not(.practice-focus) .site-header .global-search input,
  body:not(.practice-focus) header.site-header .global-search input {
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 14px !important;
    font-size: .84rem !important;
    border-radius: 999px !important;
  }

  body:not(.practice-focus) .site-header .global-search-results,
  body:not(.practice-focus) header.site-header .global-search-results {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 0 !important;
    right: auto !important;
    transform: none !important;
    width: min(560px, 72vw) !important;
    max-height: min(60vh, 430px) !important;
  }

  body:not(.practice-focus) .site-header .nav-links,
  body:not(.practice-focus) header.site-header .nav-links {
    grid-area: nav !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 6px !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    scrollbar-width: none !important;
  }

  body:not(.practice-focus) .site-header .nav-links::-webkit-scrollbar,
  body:not(.practice-focus) header.site-header .nav-links::-webkit-scrollbar {
    display: none !important;
  }

  body:not(.practice-focus) .site-header .nav-links a,
  body:not(.practice-focus) header.site-header .nav-links a {
    white-space: nowrap !important;
    padding: .42rem .56rem !important;
    font-size: .84rem !important;
    line-height: 1.1 !important;
  }

  body:not(.practice-focus) .site-header .brand-lang,
  body:not(.practice-focus) header.site-header .brand-lang {
    grid-area: lang !important;
    margin-left: 0 !important;
    justify-self: start !important;
    align-self: start !important;
  }

  body:not(.practice-focus) .site-header .brand-lang.compact-lang,
  body:not(.practice-focus) header.site-header .brand-lang.compact-lang {
    transform: none !important;
  }

  body:not(.practice-focus) .site-header .compact-lang,
  body:not(.practice-focus) header.site-header .compact-lang {
    padding: 3px !important;
    gap: 4px !important;
  }

  body:not(.practice-focus) .site-header .compact-lang button,
  body:not(.practice-focus) header.site-header .compact-lang button {
    min-width: 36px !important;
    min-height: 32px !important;
    padding: 6px 10px !important;
    font-size: .76rem !important;
  }

  body:not(.practice-focus) .site-header .menu-toggle,
  body:not(.practice-focus) header.site-header .menu-toggle {
    display: none !important;
  }
}


/* v100 — Header final polish desktop */
@media (min-width: 1041px) {
  body:not(.practice-focus) .site-header .nav-shell,
  body:not(.practice-focus) header.site-header .nav-shell {
    grid-template-columns: max-content minmax(190px, 240px) minmax(0, 1fr) !important;
    column-gap: 20px !important;
    row-gap: 5px !important;
    padding: 10px 18px 8px !important;
    max-width: 1320px !important;
  }

  body:not(.practice-focus) .site-header .brand,
  body:not(.practice-focus) header.site-header .brand {
    padding-right: 4px !important;
  }

  body:not(.practice-focus) .site-header .brand-logo,
  body:not(.practice-focus) header.site-header .brand-logo {
    width: 42px !important;
    height: 42px !important;
    border-radius: 14px !important;
  }

  body:not(.practice-focus) .site-header .brand strong,
  body:not(.practice-focus) header.site-header .brand strong {
    font-size: .98rem !important;
    line-height: 1.05 !important;
  }

  body:not(.practice-focus) .site-header .brand small,
  body:not(.practice-focus) header.site-header .brand small {
    font-size: .56rem !important;
    letter-spacing: 1.15px !important;
    line-height: 1.05 !important;
  }

  body:not(.practice-focus) .site-header .global-tools,
  body:not(.practice-focus) header.site-header .global-tools {
    max-width: 240px !important;
    justify-self: start !important;
  }

  body:not(.practice-focus) .site-header .global-search input,
  body:not(.practice-focus) header.site-header .global-search input {
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 13px !important;
    font-size: .79rem !important;
  }

  body:not(.practice-focus) .site-header .global-search input::placeholder,
  body:not(.practice-focus) header.site-header .global-search input::placeholder {
    color: rgba(190, 202, 222, .78) !important;
  }

  body:not(.practice-focus) .site-header .nav-links,
  body:not(.practice-focus) header.site-header .nav-links {
    gap: 5px !important;
    align-self: center !important;
  }

  body:not(.practice-focus) .site-header .nav-links a,
  body:not(.practice-focus) header.site-header .nav-links a {
    padding: .38rem .50rem !important;
    font-size: .80rem !important;
    border-radius: 999px !important;
  }

  body:not(.practice-focus) .site-header .brand-lang,
  body:not(.practice-focus) header.site-header .brand-lang {
    margin-left: 56px !important;
    margin-top: -2px !important;
  }

  body:not(.practice-focus) .site-header .compact-lang,
  body:not(.practice-focus) header.site-header .compact-lang {
    padding: 2px !important;
    gap: 3px !important;
    transform: scale(.86) !important;
    transform-origin: left top !important;
  }

  body:not(.practice-focus) .site-header .compact-lang button,
  body:not(.practice-focus) header.site-header .compact-lang button {
    min-width: 32px !important;
    min-height: 28px !important;
    padding: 4px 8px !important;
    font-size: .68rem !important;
  }

  /* Reduce vertical weight below the header. */
  body:not(.practice-focus) main {
    margin-top: 0 !important;
  }

  body:not(.practice-focus) .page-hero,
  body:not(.practice-focus) .home-only-main,
  body:not(.practice-focus) .section:first-child {
    padding-top: 26px !important;
  }

  /* On subject/module listing pages, the top backlink duplicates the main nav.
     Keep it as a very discreet breadcrumb instead of a large action. */
  body:not(.practice-focus) .back-link,
  body:not(.practice-focus) a[href="index.html"].back-link,
  body:not(.practice-focus) .page-back,
  body:not(.practice-focus) .breadcrumb-back {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 24px !important;
    padding: 2px 0 !important;
    margin: 0 0 10px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: rgba(246, 215, 126, .82) !important;
    font-size: .76rem !important;
    font-weight: 850 !important;
    letter-spacing: .01em !important;
  }
}

/* v100 — keep tablet safe */
@media (min-width: 1041px) and (max-width: 1180px) {
  body:not(.practice-focus) .site-header .nav-shell,
  body:not(.practice-focus) header.site-header .nav-shell {
    grid-template-columns: max-content minmax(170px, 210px) minmax(0, 1fr) !important;
    column-gap: 14px !important;
  }

  body:not(.practice-focus) .site-header .nav-links a,
  body:not(.practice-focus) header.site-header .nav-links a {
    font-size: .76rem !important;
    padding-inline: .42rem !important;
  }
}


/* v101 — Header search compact + menu fit */
@media (min-width: 1041px) {
  body:not(.practice-focus) .site-header .nav-shell,
  body:not(.practice-focus) header.site-header .nav-shell {
    grid-template-columns: max-content minmax(160px, 205px) minmax(0, 1fr) !important;
    column-gap: 18px !important;
    row-gap: 4px !important;
    padding-top: 9px !important;
    padding-bottom: 7px !important;
  }

  body:not(.practice-focus) .site-header .global-tools,
  body:not(.practice-focus) header.site-header .global-tools {
    max-width: 205px !important;
    width: 205px !important;
  }

  body:not(.practice-focus) .site-header .global-search,
  body:not(.practice-focus) header.site-header .global-search {
    position: relative !important;
    max-width: 205px !important;
    width: 205px !important;
  }

  body:not(.practice-focus) .site-header .global-search::before,
  body:not(.practice-focus) header.site-header .global-search::before {
    content: "⌕" !important;
    position: absolute !important;
    left: 10px !important;
    top: 50% !important;
    transform: translateY(-52%) !important;
    color: rgba(246,215,126,.92) !important;
    font-size: .82rem !important;
    font-weight: 950 !important;
    pointer-events: none !important;
    z-index: 2 !important;
  }

  body:not(.practice-focus) .site-header .global-search input,
  body:not(.practice-focus) header.site-header .global-search input {
    height: 32px !important;
    min-height: 32px !important;
    padding: 0 34px 0 28px !important;
    font-size: .74rem !important;
    font-weight: 850 !important;
    border-radius: 999px !important;
  }

  body:not(.practice-focus) .site-header .global-search input::placeholder,
  body:not(.practice-focus) header.site-header .global-search input::placeholder {
    font-size: .74rem !important;
    color: rgba(195,205,223,.75) !important;
  }

  body:not(.practice-focus) .site-header .global-search-submit-v101,
  body:not(.practice-focus) header.site-header .global-search-submit-v101 {
    position: absolute !important;
    right: 5px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 24px !important;
    height: 24px !important;
    border: 1px solid rgba(246,215,126,.20) !important;
    border-radius: 999px !important;
    background: rgba(246,215,126,.09) !important;
    color: rgba(246,215,126,.98) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: .74rem !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    padding: 0 !important;
  }

  body:not(.practice-focus) .site-header .global-search-submit-v101:hover,
  body:not(.practice-focus) header.site-header .global-search-submit-v101:hover {
    background: rgba(246,215,126,.16) !important;
    border-color: rgba(246,215,126,.36) !important;
  }

  body:not(.practice-focus) .site-header .nav-links,
  body:not(.practice-focus) header.site-header .nav-links {
    gap: 4px !important;
  }

  body:not(.practice-focus) .site-header .nav-links a,
  body:not(.practice-focus) header.site-header .nav-links a {
    padding: .34rem .43rem !important;
    font-size: .735rem !important;
    font-weight: 850 !important;
    letter-spacing: -.01em !important;
  }

  body:not(.practice-focus) .site-header .brand-logo,
  body:not(.practice-focus) header.site-header .brand-logo {
    width: 40px !important;
    height: 40px !important;
  }

  body:not(.practice-focus) .site-header .brand strong,
  body:not(.practice-focus) header.site-header .brand strong {
    font-size: .94rem !important;
  }

  body:not(.practice-focus) .site-header .brand small,
  body:not(.practice-focus) header.site-header .brand small {
    font-size: .52rem !important;
    letter-spacing: 1.05px !important;
  }

  body:not(.practice-focus) .site-header .compact-lang,
  body:not(.practice-focus) header.site-header .compact-lang {
    transform: scale(.82) !important;
  }
}

/* v101 — tighter fallback for MacBook widths */
@media (min-width: 1041px) and (max-width: 1220px) {
  body:not(.practice-focus) .site-header .nav-shell,
  body:not(.practice-focus) header.site-header .nav-shell {
    grid-template-columns: max-content minmax(145px, 180px) minmax(0, 1fr) !important;
    column-gap: 12px !important;
  }

  body:not(.practice-focus) .site-header .global-tools,
  body:not(.practice-focus) header.site-header .global-tools,
  body:not(.practice-focus) .site-header .global-search,
  body:not(.practice-focus) header.site-header .global-search {
    width: 180px !important;
    max-width: 180px !important;
  }

  body:not(.practice-focus) .site-header .nav-links a,
  body:not(.practice-focus) header.site-header .nav-links a {
    padding-inline: .36rem !important;
    font-size: .70rem !important;
  }
}


/* v102 — Compact answer feedback + inline confidence */
body.practice-focus .punto-clave-hidden-v102,
body.practice-focus .confidence-hidden-v102 {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.practice-focus .preanswer-tools {
  flex-wrap: wrap !important;
  align-items: center !important;
}

body.practice-focus .confidence-inline-v102 {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-left: 6px !important;
  padding-left: 8px !important;
  border-left: 1px solid rgba(255,255,255,.10) !important;
}

body.practice-focus .confidence-label-v102 {
  color: rgba(190,202,222,.74) !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  letter-spacing: .03em !important;
  text-transform: uppercase !important;
}

body.practice-focus .confidence-inline-v102 button {
  min-height: 32px !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  background: rgba(255,255,255,.045) !important;
  color: rgba(245,248,255,.84) !important;
  font-size: .74rem !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}

body.practice-focus .confidence-inline-v102 button.active {
  border-color: rgba(246,215,126,.38) !important;
  background: rgba(246,215,126,.12) !important;
  color: #f6d77e !important;
}

body.practice-focus .feedback-v102-ready {
  margin-top: 12px !important;
  display: grid !important;
  gap: 8px !important;
}

body.practice-focus .answer-compact-v102 {
  border-radius: 18px !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(255,255,255,.045) !important;
}

body.practice-focus .answer-compact-v102.is-correct {
  border-color: rgba(66,214,132,.30) !important;
  background:
    linear-gradient(135deg, rgba(66,214,132,.14), rgba(255,255,255,.035)) !important;
}

body.practice-focus .answer-compact-v102.is-wrong {
  border-color: rgba(255,116,116,.30) !important;
  background:
    linear-gradient(135deg, rgba(255,116,116,.12), rgba(255,255,255,.035)) !important;
}

body.practice-focus .answer-topline-v102 {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin-bottom: 5px !important;
}

body.practice-focus .answer-topline-v102 strong {
  color: #ffffff !important;
  font-size: .95rem !important;
  font-weight: 950 !important;
}

body.practice-focus .answer-topline-v102 span {
  color: rgba(245,248,255,.82) !important;
  font-size: .84rem !important;
  font-weight: 850 !important;
}

body.practice-focus .answer-topline-v102 b {
  color: #f6d77e !important;
}

body.practice-focus .answer-compact-v102 p {
  margin: 0 !important;
  color: rgba(245,248,255,.82) !important;
  font-size: .86rem !important;
  line-height: 1.38 !important;
}

body.practice-focus .answer-compact-v102 p b {
  color: #f6d77e !important;
}

body.practice-focus details.answer-details-v102 {
  border: 1px solid rgba(255,255,255,.09) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.030) !important;
  overflow: hidden !important;
}

body.practice-focus details.answer-details-v102 summary {
  list-style: none !important;
  cursor: pointer !important;
  padding: 9px 12px !important;
  color: #f6d77e !important;
  font-size: .82rem !important;
  font-weight: 950 !important;
}

body.practice-focus details.answer-details-v102 summary::-webkit-details-marker {
  display: none !important;
}

body.practice-focus details.answer-details-v102 summary::after {
  content: "▾";
  float: right;
  opacity: .85;
}

body.practice-focus details.answer-details-v102[open] summary::after {
  content: "▴";
}

body.practice-focus .answer-details-body-v102 {
  padding: 0 10px 10px !important;
  color: rgba(245,248,255,.78) !important;
  font-size: .82rem !important;
  line-height: 1.38 !important;
}

body.practice-focus .answer-details-body-v102 .punto-clave-hidden-v102 {
  display: none !important;
}

body.practice-focus .distractor-row-v102 {
  padding: 8px 9px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(0,0,0,.15) !important;
  margin-top: 6px !important;
}

body.practice-focus .distractor-row-v102 strong {
  color: #f6d77e !important;
}

body.practice-focus .distractor-row-v102 small {
  display: block !important;
  margin-top: 3px !important;
  color: rgba(190,202,222,.74) !important;
  font-size: .72rem !important;
  line-height: 1.3 !important;
}

body.practice-focus .next-v102 {
  justify-self: start !important;
  min-height: 36px !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
}

@media (max-width: 720px) {
  body.practice-focus .confidence-inline-v102 {
    width: 100% !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    border-left: 0 !important;
    gap: 5px !important;
  }

  body.practice-focus .confidence-label-v102 {
    display: none !important;
  }

  body.practice-focus .confidence-inline-v102 button {
    flex: 1 1 0 !important;
    min-height: 34px !important;
    padding: 6px 6px !important;
    font-size: .70rem !important;
  }

  body.practice-focus .answer-compact-v102 {
    padding: 11px 12px !important;
  }

  body.practice-focus .answer-compact-v102 p {
    font-size: .82rem !important;
  }
}


/* v103 — feedback why promoted + confidence first person */
body.practice-focus .details-noise-hidden-v103 {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.practice-focus .answer-compact-v102 p {
  max-width: 980px !important;
}

body.practice-focus details.answer-details-v102.explanation-v102 .answer-details-body-v102 {
  max-height: 340px !important;
  overflow: auto !important;
}

body.practice-focus .confidence-inline-v102 button {
  white-space: nowrap !important;
}

@media (min-width: 721px) {
  body.practice-focus .confidence-inline-v102 button {
    padding-inline: 9px !important;
    font-size: .72rem !important;
  }
}


/* v104 — Useful explanation fix */
body.practice-focus .useful-v104-ready {
  padding: 10px 12px !important;
}

body.practice-focus .useful-explanation-v104 {
  display: grid !important;
  gap: 9px !important;
}

body.practice-focus .useful-block-v104 {
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 14px !important;
  background: rgba(0,0,0,.13) !important;
  padding: 10px 11px !important;
}

body.practice-focus .useful-block-v104 strong {
  display: block !important;
  margin-bottom: 5px !important;
  color: #f6d77e !important;
  font-size: .82rem !important;
  font-weight: 950 !important;
  letter-spacing: .01em !important;
}

body.practice-focus .useful-block-v104 p {
  margin: 0 !important;
  color: rgba(245,248,255,.82) !important;
  font-size: .84rem !important;
  line-height: 1.42 !important;
}

body.practice-focus .useful-block-v104 p + p {
  margin-top: 6px !important;
}

body.practice-focus .useful-block-v104 b {
  color: #ffffff !important;
}

body.practice-focus .useful-block-v104 ul {
  margin: 0 !important;
  padding-left: 18px !important;
  color: rgba(245,248,255,.80) !important;
  font-size: .82rem !important;
  line-height: 1.38 !important;
}

body.practice-focus .useful-block-v104 li + li {
  margin-top: 4px !important;
}

body.practice-focus details.answer-details-v102.explanation-v102 .answer-details-body-v102 {
  max-height: 440px !important;
  overflow: auto !important;
}


/* v105 — remove redundant useful explanation detail */
body.practice-focus .removed-useful-explanation-v105,
body.practice-focus details.answer-details-v102.explanation-v102,
body.practice-focus details.explanation-v102 {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

body.practice-focus .feedback-v102-ready {
  gap: 7px !important;
}

body.practice-focus .answer-compact-v102 {
  margin-bottom: 0 !important;
}

body.practice-focus details.answer-details-v102.distractors-v102 {
  margin-top: 0 !important;
}


/* v106 — Better distractor justifications */
body.practice-focus .distractors-v106-ready .answer-details-body-v102 {
  display: grid !important;
  gap: 8px !important;
}

body.practice-focus .distractor-row-v106 {
  padding: 10px 11px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  background: rgba(0,0,0,.15) !important;
}

body.practice-focus .distractor-option-v106 {
  color: rgba(245,248,255,.88) !important;
  font-size: .83rem !important;
  line-height: 1.35 !important;
  font-weight: 850 !important;
}

body.practice-focus .distractor-option-v106 strong {
  color: #f6d77e !important;
  font-weight: 950 !important;
}

body.practice-focus .distractor-reason-v106 {
  margin-top: 6px !important;
  padding-top: 6px !important;
  border-top: 1px solid rgba(255,255,255,.07) !important;
  color: rgba(205,216,235,.82) !important;
  font-size: .79rem !important;
  line-height: 1.38 !important;
}

body.practice-focus .distractor-reason-v106 b {
  color: rgba(255,210,150,.95) !important;
  font-weight: 950 !important;
}


/* v107 — authoritative stable counters */
body.practice-focus .practice-hud-row .hud-pill.stable-v107 {
  white-space: nowrap !important;
  flex: 0 0 auto !important;
}

body.practice-focus .practice-hud-row .hud-pill.stable-v107 strong {
  white-space: nowrap !important;
}

@media (min-width: 721px) {
  body.practice-focus .practice-summary-combined .practice-hud-row {
    overflow: visible !important;
  }

  body.practice-focus .practice-summary-combined .hud-pill.stable-v107 {
    min-width: auto !important;
    padding-inline: 8px !important;
  }
}

@media (max-width: 720px) {
  body.practice-focus .practice-hud-row {
    overflow-x: auto !important;
  }
}


/* v108 — QCM/cases answer distribution shuffled and audited */


/* =========================
   v208 — Lecture confortable + modules déroulants
   ========================= */

.course-card{
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.course-card.expanded{
  border-color: rgba(216,180,91,.46)!important;
  box-shadow: 0 22px 60px rgba(0,0,0,.36)!important;
}
.v208-module-toggle{
  justify-content:center;
  font-weight:900!important;
}
.course-module-drawer{
  margin-top:16px;
  padding:16px;
  border:1px solid rgba(216,180,91,.22);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(14,22,36,.94),rgba(11,17,29,.86));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.course-module-drawer[hidden]{
  display:none!important;
}
.course-module-drawer-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.course-module-drawer-head strong{
  display:block;
  color:var(--gold2);
  font-size:1rem;
  line-height:1.25;
}
.course-module-drawer-head small{
  display:block;
  margin-top:4px;
  color:rgba(238,242,247,.66);
  line-height:1.35;
}
.subject-page-link{
  flex:0 0 auto;
  color:var(--gold2);
  text-decoration:none;
  border:1px solid rgba(216,180,91,.22);
  background:rgba(216,180,91,.07);
  border-radius:999px;
  padding:8px 11px;
  font-size:.82rem;
  font-weight:800;
}
.subject-page-link:hover{
  background:rgba(216,180,91,.14);
}
.inline-module-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.inline-module-card{
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.035);
  border-radius:16px;
  overflow:hidden;
}
.inline-module-card:hover{
  border-color:rgba(216,180,91,.34);
  background:rgba(216,180,91,.055);
}
.inline-module-card.is-seen{
  border-color:rgba(74,222,128,.24);
}
.inline-module-main{
  display:block;
  padding:12px 12px 9px;
  text-decoration:none;
  color:var(--text);
}
.inline-module-number{
  display:inline-flex;
  margin-bottom:7px;
  padding:4px 7px;
  border-radius:999px;
  color:#111827;
  background:linear-gradient(135deg,var(--gold2),#ffe7a0);
  font-size:.72rem;
  font-weight:900;
}
.inline-module-main strong{
  display:block;
  font-size:.93rem;
  line-height:1.28;
}
.inline-module-main small{
  display:block;
  margin-top:6px;
  color:rgba(238,242,247,.62);
  line-height:1.35;
  font-size:.78rem;
}
.inline-module-main em{
  display:inline-block;
  margin-top:8px;
  color:#86efac;
  font-style:normal;
  font-size:.76rem;
  font-weight:800;
}
.inline-module-actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  padding:0 12px 12px;
}
.inline-module-actions a{
  flex:1 1 auto;
  min-width:48px;
  text-align:center;
  color:rgba(238,242,247,.88);
  text-decoration:none;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.045);
  border-radius:999px;
  padding:6px 8px;
  font-size:.74rem;
  font-weight:800;
}
.inline-module-actions a:hover{
  color:var(--gold2);
  border-color:rgba(216,180,91,.28);
  background:rgba(216,180,91,.08);
}
.course-module-empty{
  color:rgba(238,242,247,.68);
  padding:10px;
  text-align:center;
}

/* Reader comfort */
body.v208-reader-comfort .reader-shell{
  max-width:1540px!important;
  grid-template-columns:minmax(220px,270px) minmax(0,1080px)!important;
  gap:22px!important;
}
body.v208-reader-comfort .reader-card{
  border-radius:28px!important;
  background:linear-gradient(180deg,rgba(17,26,42,.92),rgba(10,16,28,.96))!important;
}
body.v208-reader-comfort .reader-head{
  padding:28px 34px 24px!important;
}
body.v208-reader-comfort .reader-head h1{
  font-size:clamp(2.05rem,3.7vw,3.6rem)!important;
  line-height:1.05!important;
  max-width:1000px!important;
}
body.v208-reader-comfort .reader-head p{
  max-width:92ch!important;
  font-size:1rem!important;
  line-height:1.55!important;
}
body.v208-reader-comfort .reader-view-tabs{
  margin:14px 24px 0!important;
  padding:9px!important;
  border-radius:18px!important;
  background:rgba(4,10,22,.72)!important;
  border:1px solid rgba(255,255,255,.10)!important;
}
body.v208-reader-comfort .reader-tab{
  min-height:40px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:13px!important;
  font-weight:900!important;
  color:rgba(238,242,247,.72)!important;
}
body.v208-reader-comfort .reader-tab.active,
body.v208-reader-comfort .reader-tab[aria-current="page"]{
  color:#101827!important;
  background:linear-gradient(135deg,var(--gold2),#ffe7a0)!important;
  box-shadow:0 8px 22px rgba(216,180,91,.22)!important;
}
body.v208-reader-comfort .reader-content{
  max-width:980px!important;
  margin:0 auto!important;
  padding:34px 42px 44px!important;
  font-size:1.105rem!important;
  line-height:1.86!important;
  letter-spacing:.003em!important;
}
body.v208-reader-comfort .reader-content p{
  max-width:88ch!important;
  margin:1.05rem 0 1.15rem!important;
  color:rgba(238,242,247,.91)!important;
  line-height:1.86!important;
  font-weight:430!important;
}
body.v208-reader-comfort .reader-content .reader-long-paragraph{
  padding:14px 16px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.035)!important;
  border:1px solid rgba(255,255,255,.08)!important;
}
body.v208-reader-comfort .reader-content .reader-soft-block{
  white-space:normal!important;
}
body.v208-reader-comfort .reader-content strong{
  color:#f5d77a!important;
  font-weight:850!important;
}
body.v208-reader-comfort .reader-content h1{
  color:var(--gold2)!important;
  font-size:1.9rem!important;
  margin:0 0 1.25rem!important;
  line-height:1.17!important;
}
body.v208-reader-comfort .reader-content h2{
  color:#ffe39b!important;
  font-size:1.46rem!important;
  line-height:1.22!important;
  margin:2rem 0 1rem!important;
  padding:16px 18px!important;
  border:1px solid rgba(216,180,91,.18)!important;
  border-left:4px solid var(--gold2)!important;
  border-radius:18px!important;
  background:linear-gradient(90deg,rgba(216,180,91,.12),rgba(255,255,255,.025))!important;
}
body.v208-reader-comfort .reader-content h3{
  color:#d7f7ff!important;
  font-size:1.18rem!important;
  line-height:1.32!important;
  margin:1.45rem 0 .72rem!important;
}
body.v208-reader-comfort .reader-content ul,
body.v208-reader-comfort .reader-content ol{
  max-width:88ch!important;
  line-height:1.75!important;
  margin:1rem 0 1.25rem 1.35rem!important;
}
body.v208-reader-comfort .reader-content li{
  margin:.52rem 0!important;
}
body.v208-reader-comfort .reader-content table{
  display:block!important;
  overflow:auto!important;
  border-radius:18px!important;
  margin:1.35rem 0 1.55rem!important;
  font-size:1rem!important;
}
body.v208-reader-comfort .toc-panel{
  padding:16px!important;
}
body.v208-reader-comfort .toc-list a{
  font-size:.86rem!important;
  line-height:1.3!important;
}

@media (max-width:920px){
  .inline-module-list{grid-template-columns:1fr;}
  .course-module-drawer-head{display:block;}
  .subject-page-link{display:inline-flex;margin-top:10px;}
  body.v208-reader-comfort .reader-shell{grid-template-columns:1fr!important;}
  body.v208-reader-comfort .reader-content{padding:24px 20px 34px!important;font-size:1.03rem!important;line-height:1.78!important;}
  body.v208-reader-comfort .reader-content p{line-height:1.78!important;}
  body.v208-reader-comfort .reader-view-tabs{margin:10px 14px 0!important;}
}
@media (max-width:620px){
  .course-module-drawer{padding:12px;margin-top:12px;}
  .inline-module-actions{display:grid;grid-template-columns:repeat(4,1fr);}
  .inline-module-actions a{min-width:0;padding:7px 5px;font-size:.7rem;}
  body.v208-reader-comfort .reader-head{padding:22px 18px!important;}
  body.v208-reader-comfort .reader-head h1{font-size:1.75rem!important;}
  body.v208-reader-comfort .reader-content{padding:20px 16px 30px!important;}
  body.v208-reader-comfort .reader-content h2{font-size:1.18rem!important;padding:13px 14px!important;}
}


/* =========================
   v209 — Petit menu modules compact
   ========================= */

.course-card{
  position:relative;
  overflow:visible!important;
}
.course-card.v209-open{
  z-index:50;
}
.course-card .course-module-drawer{
  display:none!important;
}
.v209-toggle{
  position:relative;
  z-index:52;
  justify-content:center;
  font-weight:900!important;
}
.v209-module-menu{
  position:absolute;
  left:18px;
  right:18px;
  top:calc(100% - 18px);
  z-index:60;
  border:1px solid rgba(216,180,91,.35);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(13,20,34,.98),rgba(8,13,24,.98));
  box-shadow:0 24px 70px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.045) inset;
  padding:10px;
  max-height:min(440px,62vh);
  overflow:auto;
}
.v209-module-menu[hidden]{
  display:none!important;
}
.v209-module-menu-list{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.v209-module-link{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:10px 11px;
  border-radius:13px;
  text-decoration:none;
  color:rgba(238,242,247,.94);
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
}
.v209-module-link:hover{
  color:#111827;
  background:linear-gradient(135deg,var(--gold2),#ffe7a0);
  border-color:rgba(216,180,91,.65);
  transform:translateY(-1px);
}
.v209-module-link span{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  white-space:nowrap;
  border-radius:999px;
  padding:4px 7px;
  font-size:.72rem;
  font-weight:900;
  color:#111827;
  background:linear-gradient(135deg,var(--gold2),#ffe7a0);
}
.v209-module-link:hover span{
  background:rgba(17,24,39,.12);
  color:#111827;
}
.v209-module-link strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.88rem;
  line-height:1.2;
  font-weight:850;
}
.v209-module-empty{
  text-align:center;
  padding:12px;
  color:rgba(238,242,247,.72);
  font-weight:800;
}
.course-card.v209-open .v209-toggle{
  background:linear-gradient(135deg,#ffe7a0,var(--gold2))!important;
  color:#111827!important;
}
.course-card.v209-open::after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:-8px;
  height:10px;
  background:rgba(216,180,91,.16);
  filter:blur(12px);
  pointer-events:none;
}

@media (max-width:720px){
  .v209-module-menu{
    left:10px;
    right:10px;
    top:calc(100% - 10px);
    max-height:58vh;
  }
  .v209-module-link{
    grid-template-columns:58px minmax(0,1fr);
    padding:9px 10px;
  }
  .v209-module-link strong{
    font-size:.84rem;
  }
}


/* =========================
   v210 — Module picker overlay robuste
   ========================= */

.course-card .course-module-drawer,
.course-card .v209-module-menu{
  display:none!important;
}
.course-card.v209-open,
.course-card.expanded{
  z-index:auto!important;
}
.v210-toggle{
  justify-content:center;
  font-weight:950!important;
}
body.v210-picker-open{
  overflow:hidden;
}
.v210-picker[hidden]{
  display:none!important;
}
.v210-picker{
  position:fixed;
  inset:0;
  z-index:99999;
}
.v210-picker-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.62);
  backdrop-filter:blur(8px);
}
.v210-picker-panel{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(620px,calc(100vw - 28px));
  max-height:min(720px,calc(100vh - 42px));
  overflow:hidden;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(216,180,91,.36);
  border-radius:26px;
  background:linear-gradient(180deg,rgba(14,22,36,.99),rgba(7,12,22,.99));
  box-shadow:0 34px 120px rgba(0,0,0,.70), inset 0 1px 0 rgba(255,255,255,.06);
}
.v210-picker-head{
  flex:0 0 auto;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:20px 20px 16px;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.v210-picker-head small{
  display:block;
  margin-bottom:6px;
  color:var(--gold2);
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.72rem;
}
.v210-picker-head h2{
  margin:0;
  color:var(--text);
  font-size:1.25rem;
  line-height:1.18;
  letter-spacing:-.02em;
}
.v210-picker-close{
  flex:0 0 auto;
  width:42px;
  height:42px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:rgba(238,242,247,.94);
  font-size:1.65rem;
  line-height:1;
  cursor:pointer;
}
.v210-picker-close:hover{
  color:#111827;
  background:linear-gradient(135deg,var(--gold2),#ffe7a0);
}
.v210-picker-list{
  padding:12px;
  overflow:auto;
}
.v210-picker-link{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  align-items:center;
  gap:12px;
  min-height:48px;
  margin-bottom:8px;
  padding:10px 12px;
  border-radius:16px;
  text-decoration:none;
  color:rgba(238,242,247,.96);
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.035);
}
.v210-picker-link:hover,
.v210-picker-link:focus{
  outline:none;
  color:#111827;
  background:linear-gradient(135deg,var(--gold2),#ffe7a0);
  border-color:rgba(216,180,91,.75);
  transform:translateY(-1px);
}
.v210-picker-link span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  border-radius:999px;
  padding:5px 8px;
  font-size:.75rem;
  font-weight:1000;
  color:#111827;
  background:linear-gradient(135deg,var(--gold2),#ffe7a0);
}
.v210-picker-link:hover span,
.v210-picker-link:focus span{
  background:rgba(17,24,39,.13);
}
.v210-picker-link strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  line-height:1.22;
  font-size:.94rem;
  font-weight:900;
}
.v210-picker-empty{
  padding:22px;
  text-align:center;
  color:rgba(238,242,247,.72);
  font-weight:850;
}

@media (max-width:620px){
  .v210-picker-panel{
    width:calc(100vw - 20px);
    max-height:calc(100vh - 26px);
    border-radius:22px;
  }
  .v210-picker-head{
    padding:17px 16px 13px;
  }
  .v210-picker-head h2{
    font-size:1.08rem;
  }
  .v210-picker-list{
    padding:10px;
  }
  .v210-picker-link{
    grid-template-columns:64px minmax(0,1fr);
    min-height:46px;
    padding:9px 10px;
  }
  .v210-picker-link strong{
    font-size:.86rem;
  }
}


/* =========================
   v218 — Reader typography fine / premium
   Objectif : rendu moins massif, plus éditorial
   ========================= */

body[data-page="module"] .module-shell,
body[data-page="module"] .module-detail,
body[data-page="module"] .reader-layout{
  --reader-max-width: 880px;
}

/* Zone globale du cours : moins "bloc", plus document */
body[data-page="module"] .module-content,
body[data-page="module"] .reader-content,
body[data-page="module"] .markdown-body,
body[data-page="module"] #moduleContent{
  max-width: var(--reader-max-width);
  margin-left: auto;
  margin-right: auto;
}

/* Texte plus fin et respirant */
body[data-page="module"] #moduleContent p,
body[data-page="module"] #moduleContent li{
  font-size: clamp(0.98rem, 0.42vw + 0.86rem, 1.06rem) !important;
  line-height: 1.78 !important;
  font-weight: 470 !important;
  letter-spacing: -0.006em;
  color: rgba(238,242,247,.88) !important;
}

/* Paragraphes moins lourds */
body[data-page="module"] #moduleContent p{
  margin: 0.72rem 0 1.02rem !important;
}

/* Titres niveau 1 : sobre, pas énormes */
body[data-page="module"] #moduleContent h1{
  margin: 2.35rem 0 1.1rem !important;
  padding: 0 0 0.62rem !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(216,180,91,.24) !important;
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(255,241,196,.96) !important;
  font-size: clamp(1.58rem, 1.8vw + 0.95rem, 2.35rem) !important;
  line-height: 1.15 !important;
  font-weight: 820 !important;
  letter-spacing: -0.035em !important;
}

/* Titres niveau 2 : suppression du gros cartouche */
body[data-page="module"] #moduleContent h2{
  margin: 1.9rem 0 0.75rem !important;
  padding: 0 0 0.18rem 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(255,229,157,.94) !important;
  font-size: clamp(1.18rem, 0.9vw + 0.9rem, 1.55rem) !important;
  line-height: 1.22 !important;
  font-weight: 780 !important;
  letter-spacing: -0.018em !important;
}

/* Petit accent discret avant h2 */
body[data-page="module"] #moduleContent h2::before{
  content: "";
  display: inline-block;
  width: 3px;
  height: 1.05em;
  margin-right: 0.55rem;
  vertical-align: -0.13em;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(216,180,91,.95), rgba(216,180,91,.32));
}

/* Titres niveau 3 : doux */
body[data-page="module"] #moduleContent h3{
  margin: 1.25rem 0 0.48rem !important;
  color: rgba(194,215,255,.90) !important;
  font-size: 1.03rem !important;
  line-height: 1.3 !important;
  font-weight: 720 !important;
  letter-spacing: -0.012em !important;
}

/* Blockquotes plus éditoriaux, moins bloc IA */
body[data-page="module"] #moduleContent blockquote{
  margin: 1.12rem 0 1.2rem !important;
  padding: 0.88rem 1.05rem !important;
  border-radius: 14px !important;
  border: 1px solid rgba(216,180,91,.16) !important;
  border-left: 3px solid rgba(216,180,91,.72) !important;
  background: rgba(216,180,91,.055) !important;
  box-shadow: none !important;
  color: rgba(255,238,194,.92) !important;
  font-weight: 560 !important;
}

/* Listes sobres */
body[data-page="module"] #moduleContent ul,
body[data-page="module"] #moduleContent ol{
  margin: 0.7rem 0 1.05rem !important;
  padding-left: 1.25rem !important;
}

body[data-page="module"] #moduleContent li{
  margin: 0.28rem 0 !important;
}

/* Tableaux plus fins */
body[data-page="module"] #moduleContent table{
  font-size: 0.92rem !important;
  line-height: 1.45 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

body[data-page="module"] #moduleContent th,
body[data-page="module"] #moduleContent td{
  padding: 0.62rem 0.76rem !important;
  border-color: rgba(255,255,255,.075) !important;
  vertical-align: top !important;
}

body[data-page="module"] #moduleContent th{
  color: rgba(255,231,166,.92) !important;
  font-weight: 740 !important;
  background: rgba(216,180,91,.075) !important;
  text-transform: none !important;
  letter-spacing: .005em !important;
}

body[data-page="module"] #moduleContent td{
  color: rgba(238,242,247,.84) !important;
  font-weight: 460 !important;
  background: rgba(255,255,255,.018) !important;
}

/* Conteneur des tableaux plus discret */
body[data-page="module"] #moduleContent .table-wrap,
body[data-page="module"] #moduleContent table{
  border-radius: 13px !important;
}

/* Code/pre : ne doit plus ressembler à un gros pavé technique */
body[data-page="module"] #moduleContent pre{
  margin: 1rem 0 1.15rem !important;
  padding: 0.9rem 1rem !important;
  border-radius: 13px !important;
  border: 1px solid rgba(255,255,255,.085) !important;
  background: rgba(5,10,18,.66) !important;
  box-shadow: none !important;
  font-size: 0.88rem !important;
  line-height: 1.55 !important;
}

body[data-page="module"] #moduleContent code{
  font-size: 0.88em !important;
  border-radius: 6px !important;
  padding: 0.08em 0.28em !important;
  background: rgba(255,255,255,.055) !important;
  color: rgba(245,247,250,.92) !important;
}

/* Card principale du reader moins lourde */
body[data-page="module"] .reader-card,
body[data-page="module"] .module-reader,
body[data-page="module"] .content-card{
  border-color: rgba(255,255,255,.08) !important;
  box-shadow: 0 14px 55px rgba(0,0,0,.22) !important;
}

/* Onglets plus fins */
body[data-page="module"] .reader-tab,
body[data-page="module"] .tab-btn{
  font-size: 0.88rem !important;
  font-weight: 720 !important;
  border-radius: 999px !important;
}

/* Header module moins massif */
body[data-page="module"] .module-hero h1,
body[data-page="module"] .module-title{
  letter-spacing: -0.045em !important;
}

body[data-page="module"] .module-hero p,
body[data-page="module"] .module-summary{
  max-width: 74ch !important;
  line-height: 1.58 !important;
  font-size: 0.98rem !important;
  color: rgba(238,242,247,.74) !important;
}

/* Sidebar : plus sobre */
body[data-page="module"] .module-toc,
body[data-page="module"] .course-index{
  font-size: 0.84rem !important;
}

body[data-page="module"] .module-toc a,
body[data-page="module"] .course-index a{
  line-height: 1.28 !important;
  padding-top: 0.42rem !important;
  padding-bottom: 0.42rem !important;
}

/* Mobile : moins d'effet gros bloc */
@media (max-width: 760px){
  body[data-page="module"] #moduleContent{
    max-width: 100% !important;
  }
  body[data-page="module"] #moduleContent h1{
    font-size: 1.45rem !important;
    margin-top: 1.85rem !important;
  }
  body[data-page="module"] #moduleContent h2{
    font-size: 1.12rem !important;
    margin-top: 1.55rem !important;
  }
  body[data-page="module"] #moduleContent p,
  body[data-page="module"] #moduleContent li{
    font-size: 0.98rem !important;
    line-height: 1.72 !important;
  }
  body[data-page="module"] #moduleContent th,
  body[data-page="module"] #moduleContent td{
    padding: 0.56rem 0.62rem !important;
    font-size: 0.86rem !important;
  }
}


/* =========================
   v219 — Course figures integration
   ========================= */
body[data-page="module"] #moduleContent figure.course-figure{
  margin: 1.25rem auto 1.65rem !important;
  max-width: 100% !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  border: 1px solid rgba(216,180,91,.20) !important;
  background: rgba(5,10,18,.42) !important;
  box-shadow: 0 18px 60px rgba(0,0,0,.26) !important;
}

body[data-page="module"] #moduleContent figure.course-figure img{
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  background: #06101c !important;
}

body[data-page="module"] #moduleContent figure.course-figure figcaption{
  padding: 0.78rem 0.95rem 0.85rem !important;
  border-top: 1px solid rgba(216,180,91,.16) !important;
  color: rgba(238,242,247,.76) !important;
  font-size: 0.88rem !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
  background: rgba(255,255,255,.026) !important;
}

@media (max-width: 760px){
  body[data-page="module"] #moduleContent figure.course-figure{
    border-radius: 14px !important;
    margin: 1rem auto 1.35rem !important;
  }
  body[data-page="module"] #moduleContent figure.course-figure figcaption{
    font-size: 0.82rem !important;
    padding: 0.66rem 0.75rem !important;
  }
}


/* =========================
   v220 — Course figure refinement
   ========================= */

/* Make figures integrated but not overwhelming */
body[data-page="module"] #moduleContent figure.course-figure{
  margin: 1rem auto 1.15rem !important;
  border-radius: 16px !important;
  max-width: 920px !important;
}

/* Standardized short captions */
body[data-page="module"] #moduleContent figure.course-figure figcaption{
  font-size: .84rem !important;
  line-height: 1.35 !important;
  color: rgba(238,242,247,.68) !important;
  padding: .62rem .8rem !important;
}

/* Make "Lectura de la figura:" paragraphs feel like a refined note */
body[data-page="module"] #moduleContent p{
  max-width: 78ch;
}

body[data-page="module"] #moduleContent p:has(+ table){
  margin-bottom: .7rem !important;
}

/* Browser support is good; if :has is ignored, normal rendering remains fine */
body[data-page="module"] #moduleContent figure.course-figure + p{
  margin-top: .35rem !important;
  margin-bottom: 1.05rem !important;
  padding: .72rem .9rem !important;
  border-radius: 13px !important;
  border: 1px solid rgba(216,180,91,.13) !important;
  background: rgba(216,180,91,.045) !important;
  color: rgba(238,242,247,.82) !important;
  font-size: .95rem !important;
  line-height: 1.58 !important;
}

/* Sidebar less crowded: section titles only */
body[data-page="module"] .module-toc a,
body[data-page="module"] .course-index a{
  font-size: .81rem !important;
}

@media (max-width: 760px){
  body[data-page="module"] #moduleContent figure.course-figure{
    border-radius: 12px !important;
    margin: .85rem auto 1rem !important;
  }
  body[data-page="module"] #moduleContent figure.course-figure + p{
    font-size: .9rem !important;
    padding: .62rem .72rem !important;
  }
}


/* =========================
   v221 — Premium finish for course reader
   ========================= */

/* Softer global course typography */
body[data-page="module"] #moduleContent{
  --v221-text: rgba(238,242,247,.82);
  --v221-text-strong: rgba(245,247,250,.90);
  --v221-gold: rgba(255,225,150,.92);
  --v221-gold-soft: rgba(216,180,91,.16);
}

body[data-page="module"] #moduleContent p,
body[data-page="module"] #moduleContent li{
  color: var(--v221-text) !important;
  font-weight: 430 !important;
  line-height: 1.72 !important;
}

/* Course h1 more editorial, less massive */
body[data-page="module"] #moduleContent h1{
  font-size: clamp(1.42rem, 1.15vw + 1.02rem, 2.02rem) !important;
  line-height: 1.18 !important;
  font-weight: 760 !important;
  margin-top: 2.15rem !important;
  margin-bottom: .78rem !important;
  padding-bottom: .42rem !important;
  color: var(--v221-gold) !important;
  border-bottom: 1px solid rgba(216,180,91,.18) !important;
  letter-spacing: -0.026em !important;
}

/* Part headings feel like section dividers, not giant headers */
body[data-page="module"] #moduleContent h1[id^="parte-"]{
  margin-top: 2.65rem !important;
  padding-top: .65rem !important;
  padding-bottom: .55rem !important;
  border-top: 1px solid rgba(216,180,91,.18) !important;
  border-bottom: 1px solid rgba(216,180,91,.14) !important;
  font-size: clamp(1.34rem, 1vw + .98rem, 1.86rem) !important;
  color: rgba(255,231,166,.88) !important;
}

/* Subtitles finer */
body[data-page="module"] #moduleContent h2{
  font-size: clamp(1.04rem, .62vw + .86rem, 1.34rem) !important;
  font-weight: 720 !important;
  margin-top: 1.55rem !important;
  margin-bottom: .58rem !important;
  color: rgba(255,229,157,.88) !important;
}

body[data-page="module"] #moduleContent h2::before{
  width: 2px !important;
  height: .92em !important;
  margin-right: .45rem !important;
  opacity: .75 !important;
}

/* Figures: smaller, centered, less dominant */
body[data-page="module"] #moduleContent figure.course-figure{
  width: min(84%, 760px) !important;
  max-width: 760px !important;
  margin: 1.05rem auto 1.12rem !important;
  border-radius: 14px !important;
  border-color: rgba(216,180,91,.14) !important;
  box-shadow: 0 12px 42px rgba(0,0,0,.20) !important;
  background: rgba(5,10,18,.32) !important;
}

body[data-page="module"] #moduleContent figure.course-figure img{
  border-radius: 13px 13px 0 0 !important;
}

/* Caption thinner and very discreet */
body[data-page="module"] #moduleContent figure.course-figure figcaption{
  padding: .52rem .72rem .58rem !important;
  font-size: .78rem !important;
  line-height: 1.32 !important;
  color: rgba(238,242,247,.55) !important;
  background: rgba(255,255,255,.015) !important;
  border-top: 1px solid rgba(216,180,91,.10) !important;
}

/* Reading after figure: no box effect, professor note style */
body[data-page="module"] #moduleContent figure.course-figure + p{
  max-width: min(84%, 760px) !important;
  margin: -.15rem auto 1.25rem !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: rgba(238,242,247,.72) !important;
  font-size: .92rem !important;
  line-height: 1.58 !important;
  font-weight: 420 !important;
}

body[data-page="module"] #moduleContent figure.course-figure + p strong{
  color: rgba(255,225,150,.82) !important;
  font-weight: 680 !important;
}

/* Tables: still readable but lighter */
body[data-page="module"] #moduleContent table{
  font-size: .88rem !important;
}
body[data-page="module"] #moduleContent th,
body[data-page="module"] #moduleContent td{
  padding: .52rem .68rem !important;
}
body[data-page="module"] #moduleContent th{
  color: rgba(255,231,166,.82) !important;
  background: rgba(216,180,91,.055) !important;
}
body[data-page="module"] #moduleContent td{
  color: rgba(238,242,247,.76) !important;
}

/* Intro should look like clean editorial opening */
body[data-page="module"] #moduleContent h1#introducción + p{
  font-size: 1rem !important;
  line-height: 1.68 !important;
  color: rgba(238,242,247,.78) !important;
}

/* Mobile: figures full width for readability */
@media (max-width: 760px){
  body[data-page="module"] #moduleContent figure.course-figure{
    width: 100% !important;
    max-width: 100% !important;
    margin: .95rem auto 1rem !important;
  }
  body[data-page="module"] #moduleContent figure.course-figure + p{
    max-width: 100% !important;
    font-size: .88rem !important;
  }
  body[data-page="module"] #moduleContent h1{
    font-size: 1.32rem !important;
  }
  body[data-page="module"] #moduleContent h2{
    font-size: 1.02rem !important;
  }
}


/* =========================
   v222 — Vector figures finish
   ========================= */
body[data-page="module"] #moduleContent figure.course-figure{
  width: min(86%, 790px) !important;
  max-width: 790px !important;
  background: rgba(5,10,18,.22) !important;
}

body[data-page="module"] #moduleContent figure.course-figure img[src$=".svg"]{
  background: #07111f !important;
}

/* SVG figures are cleaner and can be slightly sharper */
body[data-page="module"] #moduleContent figure.course-figure figcaption{
  color: rgba(238,242,247,.50) !important;
}

@media (max-width:760px){
  body[data-page="module"] #moduleContent figure.course-figure{
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* =========================
   v223 — Validated rich figures + zoom
   ========================= */

body[data-page="module"] #moduleContent figure.course-figure{
  width: min(96%, 1060px) !important;
  max-width: 1060px !important;
  margin: 1.2rem auto 1.35rem !important;
  border-radius: 18px !important;
  border-color: rgba(216,180,91,.22) !important;
  background: rgba(5,10,18,.35) !important;
  box-shadow: 0 18px 62px rgba(0,0,0,.30) !important;
}

body[data-page="module"] #moduleContent figure.course-figure .course-figure-zoom{
  display:block !important;
  width:100% !important;
  padding:0 !important;
  border:0 !important;
  margin:0 !important;
  cursor: zoom-in !important;
  background: transparent !important;
  border-radius: 17px 17px 0 0 !important;
  overflow:hidden !important;
}

body[data-page="module"] #moduleContent figure.course-figure img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  background:#07111f !important;
  transition: transform .18s ease, filter .18s ease !important;
}

body[data-page="module"] #moduleContent figure.course-figure .course-figure-zoom:hover img{
  transform: scale(1.01) !important;
  filter: brightness(1.03) !important;
}

body[data-page="module"] #moduleContent figure.course-figure figcaption{
  padding: .62rem .82rem .7rem !important;
  font-size: .82rem !important;
  line-height: 1.35 !important;
  color: rgba(238,242,247,.62) !important;
  background: rgba(255,255,255,.018) !important;
  border-top: 1px solid rgba(216,180,91,.12) !important;
}

body[data-page="module"] #moduleContent figure.course-figure + p{
  max-width: min(96%, 1060px) !important;
}

/* Fullscreen figure lightbox */
.figure-lightbox{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 28px;
  background: rgba(3,7,14,.90);
  backdrop-filter: blur(10px);
}

.figure-lightbox.open{
  display: flex;
}

.figure-lightbox img{
  max-width: min(96vw, 1500px);
  max-height: 92vh;
  width: auto;
  height: auto;
  border-radius: 18px;
  box-shadow: 0 30px 110px rgba(0,0,0,.65);
  border: 1px solid rgba(216,180,91,.28);
  background: #07111f;
}

.figure-lightbox-close{
  position: fixed;
  top: 18px;
  right: 22px;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(216,180,91,.35);
  background: rgba(8,14,24,.86);
  color: rgba(255,235,180,.96);
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
}

.figure-lightbox-close:hover{
  background: rgba(216,180,91,.16);
}

@media (max-width: 760px){
  body[data-page="module"] #moduleContent figure.course-figure{
    width: 100% !important;
    max-width: 100% !important;
    margin: 1rem auto 1.2rem !important;
  }
  .figure-lightbox{
    padding: 10px;
  }
  .figure-lightbox img{
    max-width: 98vw;
    max-height: 88vh;
    border-radius: 12px;
  }
}


/* =========================
   v224 — Compact figures with zoom retained
   ========================= */

/* Default reading view: figures support the course, they do not dominate it */
body[data-page="module"] #moduleContent figure.course-figure{
  width: min(78%, 820px) !important;
  max-width: 820px !important;
  margin: 1.05rem auto 1.18rem !important;
  border-radius: 16px !important;
  box-shadow: 0 14px 46px rgba(0,0,0,.24) !important;
}

/* Important wide scientific figures can still breathe */
body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="05_potenciales"]),
body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="06_canales"]),
body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="07_fases"]),
body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="08_periodos"]),
body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="10_sinapsis"]){
  width: min(86%, 930px) !important;
  max-width: 930px !important;
}

/* Caption plus useful and discreet */
body[data-page="module"] #moduleContent figure.course-figure figcaption{
  font-size: .78rem !important;
  color: rgba(238,242,247,.54) !important;
  padding: .52rem .72rem .62rem !important;
}

/* Micro hint for zoom */
body[data-page="module"] #moduleContent figure.course-figure figcaption::after{
  content: " · Clic para ampliar";
  color: rgba(255,225,150,.55);
  font-weight: 600;
}

/* Figure reading note should be a short line, not another block */
body[data-page="module"] #moduleContent figure.course-figure + p{
  max-width: min(78%, 820px) !important;
  margin: -.18rem auto 1.08rem !important;
  font-size: .88rem !important;
  line-height: 1.52 !important;
  color: rgba(238,242,247,.68) !important;
}

/* For wide figures, align the reading note with the figure */
body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="05_potenciales"]) + p,
body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="06_canales"]) + p,
body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="07_fases"]) + p,
body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="08_periodos"]) + p,
body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="10_sinapsis"]) + p{
  max-width: min(86%, 930px) !important;
}

/* Fullscreen zoom stays large and readable */
.figure-lightbox img{
  max-width: min(96vw, 1600px) !important;
  max-height: 92vh !important;
}

/* Mobile: image stays full width because the screen itself is narrow */
@media (max-width: 760px){
  body[data-page="module"] #moduleContent figure.course-figure,
  body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="05_potenciales"]),
  body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="06_canales"]),
  body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="07_fases"]),
  body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="08_periodos"]),
  body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="10_sinapsis"]){
    width: 100% !important;
    max-width: 100% !important;
  }
  body[data-page="module"] #moduleContent figure.course-figure + p{
    max-width: 100% !important;
    font-size: .86rem !important;
  }
}


/* =========================
   v225 — Ficha rápida / ultra-rápida figures
   ========================= */
body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="physio-module1-sheets-v225"]){
  width: min(82%, 880px) !important;
  max-width: 880px !important;
  margin: 1.08rem auto 1.18rem !important;
}
body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="ultra_01"]){
  width: min(86%, 940px) !important;
  max-width: 940px !important;
}
body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="physio-module1-sheets-v225"]) figcaption::after{
  content: " · Clic para ampliar";
  color: rgba(255,225,150,.55);
  font-weight: 600;
}
@media (max-width:760px){
  body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="physio-module1-sheets-v225"]),
  body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="ultra_01"]){
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* =========================
   v227 — Fisiología Módulo 2 course + fast sheets
   ========================= */

body[data-page="module"] #moduleContent figure.course-figure{
  width: min(78%, 820px) !important;
  max-width: 820px !important;
  margin: 1.05rem auto 1.18rem !important;
  border-radius: 16px !important;
  box-shadow: 0 14px 46px rgba(0,0,0,.24) !important;
  border-color: rgba(216,180,91,.18) !important;
  background: rgba(5,10,18,.30) !important;
}

body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="02_clasificacion"]),
body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="03_difusion"]),
body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="05_bombas"]),
body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="06_activo"]),
body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="07_epitelial"]),
body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="08_endocitosis"]){
  width: min(86%, 930px) !important;
  max-width: 930px !important;
}

body[data-page="module"] #moduleContent figure.course-figure .course-figure-zoom{
  display:block !important;
  width:100% !important;
  padding:0 !important;
  border:0 !important;
  margin:0 !important;
  cursor: zoom-in !important;
  background: transparent !important;
  border-radius: 15px 15px 0 0 !important;
  overflow:hidden !important;
}

body[data-page="module"] #moduleContent figure.course-figure img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  background:#07111f !important;
}

body[data-page="module"] #moduleContent figure.course-figure figcaption{
  font-size: .78rem !important;
  color: rgba(238,242,247,.54) !important;
  padding: .52rem .72rem .62rem !important;
  border-top: 1px solid rgba(216,180,91,.12) !important;
}

body[data-page="module"] #moduleContent figure.course-figure figcaption::after{
  content: " · Clic para ampliar";
  color: rgba(255,225,150,.55);
  font-weight: 600;
}

.figure-lightbox{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 28px;
  background: rgba(3,7,14,.90);
  backdrop-filter: blur(10px);
}
.figure-lightbox.open{ display:flex; }
.figure-lightbox img{
  max-width: min(96vw, 1600px);
  max-height: 92vh;
  width: auto;
  height: auto;
  border-radius: 18px;
  box-shadow: 0 30px 110px rgba(0,0,0,.65);
  border: 1px solid rgba(216,180,91,.28);
  background: #07111f;
}
.figure-lightbox-close{
  position: fixed;
  top: 18px;
  right: 22px;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(216,180,91,.35);
  background: rgba(8,14,24,.86);
  color: rgba(255,235,180,.96);
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
}

@media (max-width: 760px){
  body[data-page="module"] #moduleContent figure.course-figure,
  body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="02_clasificacion"]),
  body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="03_difusion"]),
  body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="05_bombas"]),
  body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="06_activo"]),
  body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="07_epitelial"]),
  body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="08_endocitosis"]){
    width: 100% !important;
    max-width: 100% !important;
  }
  .figure-lightbox{ padding:10px; }
  .figure-lightbox img{ max-width:98vw; max-height:88vh; border-radius:12px; }
}


/* =========================
   v228 — module image path fix + inline module switcher
   ========================= */

.v228-module-switcher{
  margin: 0.85rem 0 1rem;
  padding: .85rem;
  border: 1px solid rgba(216,180,91,.22);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(216,180,91,.085), rgba(255,255,255,.026)),
    rgba(5,10,18,.28);
  box-shadow: 0 12px 42px rgba(0,0,0,.18);
}

.v228-switcher-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap: 1rem;
  margin-bottom: .62rem;
}

.v228-switcher-head strong{
  color: rgba(255,232,169,.95);
  font-size: .96rem;
  letter-spacing: -.01em;
}

.v228-switcher-kicker{
  color: rgba(238,242,247,.52);
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 800;
}

.v228-switcher-row{
  display:grid;
  grid-template-columns: auto minmax(260px,1fr) auto;
  gap: .62rem;
  align-items:end;
}

.v228-switcher-btn{
  display:inline-flex;
  min-height: 42px;
  align-items:center;
  justify-content:center;
  padding: .56rem .82rem;
  border-radius: 999px;
  border: 1px solid rgba(216,180,91,.22);
  background: rgba(255,255,255,.035);
  color: rgba(255,235,184,.92);
  text-decoration:none;
  font-weight: 750;
  font-size: .88rem;
  white-space: nowrap;
}

.v228-switcher-btn:hover{
  border-color: rgba(216,180,91,.42);
  background: rgba(216,180,91,.10);
}

.v228-switcher-btn.disabled{
  opacity: .38;
  pointer-events:none;
}

.v228-switcher-select-wrap{
  display:flex;
  flex-direction:column;
  gap: .28rem;
}

.v228-switcher-select-wrap span{
  color: rgba(238,242,247,.58);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.v228-module-select{
  width:100%;
  appearance:auto;
  color: rgba(248,250,252,.94);
  background: rgba(8,14,24,.86);
  border: 1px solid rgba(216,180,91,.28);
  border-radius: 14px;
  padding: .74rem .78rem;
  font-weight: 760;
  font-size: .95rem;
  outline: none;
}

.v228-module-select:focus{
  border-color: rgba(255,225,150,.62);
  box-shadow: 0 0 0 3px rgba(216,180,91,.12);
}

@media (max-width: 760px){
  .v228-module-switcher{
    margin: .7rem 0 .9rem;
    padding: .72rem;
    border-radius: 15px;
  }
  .v228-switcher-head{
    display:block;
    margin-bottom: .55rem;
  }
  .v228-switcher-head strong{
    display:block;
    margin-top: .15rem;
  }
  .v228-switcher-row{
    grid-template-columns: 1fr;
    align-items:stretch;
  }
  .v228-switcher-btn{
    min-height: 38px;
    font-size: .84rem;
  }
  .v228-module-select{
    font-size: .88rem;
  }
}

/* Restore figure behavior after fixed paths */
body[data-page="module"] #moduleContent figure.course-figure .course-figure-zoom{
  display:block !important;
  width:100% !important;
  padding:0 !important;
  border:0 !important;
  margin:0 !important;
  cursor: zoom-in !important;
  background: transparent !important;
}


/* =========================
   v232 — Fisiología Module 3 integrated
   ========================= */

body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="physio-module3-v232"]){
  width: min(82%, 880px) !important;
  max-width: 880px !important;
  margin: 1.05rem auto 1.18rem !important;
  border-radius: 16px !important;
  box-shadow: 0 14px 46px rgba(0,0,0,.24) !important;
  border-color: rgba(216,180,91,.18) !important;
  background: rgba(5,10,18,.30) !important;
}

body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="03_calculo"]),
body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="05_hipotonico"]),
body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="06_osmolaridad"]),
body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="07_isoosmolaridad"]){
  width: min(88%, 960px) !important;
  max-width: 960px !important;
}

@media (max-width: 760px){
  body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="physio-module3-v232"]),
  body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="03_calculo"]),
  body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="05_hipotonico"]),
  body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="06_osmolaridad"]),
  body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="07_isoosmolaridad"]){
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* =========================
   v236 — Fisiología Module 4 integrated
   ========================= */

body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="physio-module4-v241"]){
  width: min(84%, 920px) !important;
  max-width: 920px !important;
  margin: 1.05rem auto 1.18rem !important;
  border-radius: 16px !important;
  box-shadow: 0 14px 46px rgba(0,0,0,.24) !important;
  border-color: rgba(216,180,91,.18) !important;
  background: rgba(5,10,18,.30) !important;
}

body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="01_mapa"]),
body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="04_arteriolas"]),
body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="05_formacion"]),
body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="06_asa"]),
body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="08_sraa"]){
  width: min(88%, 980px) !important;
  max-width: 980px !important;
}

@media (max-width: 760px){
  body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="physio-module4-v241"]),
  body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="01_mapa"]),
  body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="04_arteriolas"]),
  body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="05_formacion"]),
  body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="06_asa"]),
  body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="08_sraa"]){
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* =========================
   v237 — reader polish: normal lists + premium module switcher
   ========================= */

body[data-page="module"] #moduleContent ol,
body[data-page="module"] #moduleContent ul{
  margin: .65rem 0 1rem 1.25rem !important;
  padding-left: 1.05rem !important;
}

body[data-page="module"] #moduleContent li{
  font-size: clamp(.94rem, .96vw, 1.02rem) !important;
  line-height: 1.68 !important;
  color: rgba(244,247,251,.82) !important;
  font-weight: 520 !important;
  margin: .22rem 0 !important;
}

body[data-page="module"] #moduleContent li::marker{
  color: rgba(239,209,138,.78) !important;
  font-weight: 700 !important;
}

body[data-page="module"] #moduleContent p + ul,
body[data-page="module"] #moduleContent p + ol{
  margin-top: .35rem !important;
}

.v228-module-switcher{
  display:none !important;
}

.v237-module-switcher{
  margin: .9rem 0 1.05rem;
  padding: .82rem;
  border: 1px solid rgba(216,180,91,.20);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(216,180,91,.070), rgba(255,255,255,.022)),
    rgba(5,10,18,.24);
  box-shadow: 0 12px 38px rgba(0,0,0,.18);
  position: relative;
  z-index: 20;
}

.v237-switcher-main{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 1rem;
}

.v237-switcher-copy{
  min-width: 0;
}

.v237-switcher-kicker{
  display:block;
  color: rgba(238,242,247,.48);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:850;
  margin-bottom:.16rem;
}

.v237-switcher-copy strong{
  display:block;
  color: rgba(255,232,169,.96);
  font-size:.98rem;
  line-height:1.18;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width: 46vw;
}

.v237-switcher-actions{
  display:flex;
  align-items:center;
  gap:.5rem;
  flex: 0 0 auto;
}

.v237-nav-mini,
.v237-dropdown-btn{
  min-height: 40px;
  border-radius:999px;
  border:1px solid rgba(216,180,91,.24);
  background:rgba(255,255,255,.035);
  color:rgba(255,235,184,.94);
  padding:.56rem .78rem;
  text-decoration:none;
  font-weight:780;
  font-size:.86rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.38rem;
  white-space:nowrap;
}

.v237-nav-mini:hover,
.v237-dropdown-btn:hover{
  border-color:rgba(216,180,91,.45);
  background:rgba(216,180,91,.10);
}

.v237-nav-mini.disabled{
  opacity:.35;
  pointer-events:none;
}

.v237-dropdown{
  position:relative;
}

.v237-dropdown-btn{
  cursor:pointer;
  min-width: 172px;
}

.v237-dropdown-menu{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  width:min(390px, 78vw);
  max-height: 360px;
  overflow:auto;
  display:none;
  padding:.48rem;
  border-radius:18px;
  border:1px solid rgba(216,180,91,.24);
  background:rgba(7,12,22,.98);
  box-shadow:0 22px 70px rgba(0,0,0,.45);
  backdrop-filter:blur(12px);
  z-index:999;
}

.v237-dropdown.open .v237-dropdown-menu{
  display:block;
}

.v237-module-option{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:.62rem;
  align-items:center;
  padding:.68rem .72rem;
  border-radius:13px;
  text-decoration:none;
  color:rgba(244,247,251,.82);
  border:1px solid transparent;
}

.v237-module-option:hover{
  background:rgba(255,255,255,.045);
  border-color:rgba(216,180,91,.16);
}

.v237-module-option.active{
  background:rgba(216,180,91,.12);
  border-color:rgba(216,180,91,.28);
  color:rgba(255,235,184,.98);
}

.v237-option-num{
  color:rgba(255,232,169,.94);
  font-weight:900;
  font-size:.79rem;
  white-space:nowrap;
}

.v237-option-title{
  font-weight:720;
  font-size:.9rem;
  line-height:1.22;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

@media(max-width:760px){
  .v237-switcher-main{
    display:block;
  }
  .v237-switcher-copy strong{
    max-width:100%;
    white-space:normal;
  }
  .v237-switcher-actions{
    margin-top:.7rem;
    display:grid;
    grid-template-columns:1fr;
    gap:.45rem;
  }
  .v237-dropdown-btn,
  .v237-nav-mini{
    width:100%;
  }
  .v237-dropdown-menu{
    left:0;
    right:0;
    width:100%;
    max-height:330px;
  }
}


/* =========================
   v241 — Module 4 replaced images, clean root package
   ========================= */

body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="physio-module4-v241"]){
  width: min(84%, 920px) !important;
  max-width: 920px !important;
  margin: 1.05rem auto 1.18rem !important;
  border-radius: 16px !important;
  box-shadow: 0 14px 46px rgba(0,0,0,.24) !important;
  border-color: rgba(216,180,91,.18) !important;
  background: rgba(5,10,18,.30) !important;
}

body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="physio-module4-v241/01_mapa"]),
body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="physio-module4-v241/04_arteriolas"]),
body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="physio-module4-v241/05_formacion"]),
body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="physio-module4-v241/06_asa"]),
body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="physio-module4-v241/08_sraa"]){
  width: min(88%, 980px) !important;
  max-width: 980px !important;
}

@media (max-width: 760px){
  body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="physio-module4-v241"]){
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* =========================
   v244 — Fisiología Module 6 integrated
   ========================= */

body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="physio-module6-v244"]){
  width: min(80%, 860px) !important;
  max-width: 860px !important;
  margin: 1.1rem auto 1.22rem !important;
  border-radius: 16px !important;
  box-shadow: 0 14px 46px rgba(0,0,0,.24) !important;
  border-color: rgba(216,180,91,.18) !important;
  background: rgba(5,10,18,.30) !important;
}

@media (max-width: 760px){
  body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="physio-module6-v244"]){
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* =========================
   v247 — Fisiología Module 7 integrated
   ========================= */

body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="physio-module7-v247"]){
  width: min(82%, 900px) !important;
  max-width: 900px !important;
  margin: 1.1rem auto 1.22rem !important;
  border-radius: 16px !important;
  box-shadow: 0 14px 46px rgba(0,0,0,.24) !important;
  border-color: rgba(216,180,91,.18) !important;
  background: rgba(5,10,18,.30) !important;
}

@media (max-width: 760px){
  body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="physio-module7-v247"]){
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* =========================
   v248 — Fix Fisiología Module 5 clean course
   ========================= */

body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="physio-module5-v248"]){
  width: min(80%, 860px) !important;
  max-width: 860px !important;
  margin: 1.1rem auto 1.22rem !important;
  border-radius: 16px !important;
  box-shadow: 0 14px 46px rgba(0,0,0,.24) !important;
  border-color: rgba(216,180,91,.18) !important;
  background: rgba(5,10,18,.30) !important;
}

@media (max-width: 760px){
  body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="physio-module5-v248"]){
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* =========================
   v251 — Fisiología Module 8 integrated
   ========================= */

body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="physio-module8-v251"]){
  width: min(82%, 900px) !important;
  max-width: 900px !important;
  margin: 1.1rem auto 1.22rem !important;
  border-radius: 16px !important;
  box-shadow: 0 14px 46px rgba(0,0,0,.24) !important;
  border-color: rgba(216,180,91,.18) !important;
  background: rgba(5,10,18,.30) !important;
}

@media (max-width: 760px){
  body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="physio-module8-v251"]){
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* =========================
   v255 — Fisiología Module 9 integrated
   ========================= */

body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="physio-module9-v255"]){
  width: min(82%, 900px) !important;
  max-width: 900px !important;
  margin: 1.1rem auto 1.22rem !important;
  border-radius: 16px !important;
  box-shadow: 0 14px 46px rgba(0,0,0,.24) !important;
  border-color: rgba(216,180,91,.18) !important;
  background: rgba(5,10,18,.30) !important;
}

@media (max-width: 760px){
  body[data-page="module"] #moduleContent figure.course-figure:has(img[src*="physio-module9-v255"]){
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* =========================
   v259 — Practice next button higher
   ========================= */

body[data-page="practice"] .single-question-card .single-nav-actions[data-v259-moved="1"]{
  margin: 12px 0 10px !important;
  padding: 10px 0 12px !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
}

body[data-page="practice"] .single-question-card .single-nav-actions[data-v259-moved="1"] .btn.secondary{
  box-shadow: 0 10px 30px rgba(216,180,91,.14) !important;
}

body[data-page="practice"] .answer-panel:not([hidden]){
  margin-top: 10px !important;
}

@media(max-width:760px){
  body[data-page="practice"] .single-question-card .single-nav-actions[data-v259-moved="1"]{
    position: sticky !important;
    bottom: 10px !important;
    z-index: 20 !important;
    background: linear-gradient(180deg, rgba(10,16,30,.72), rgba(10,16,30,.96)) !important;
    backdrop-filter: blur(14px) !important;
    border-radius: 18px !important;
    padding: 10px !important;
    box-shadow: 0 12px 38px rgba(0,0,0,.30) !important;
  }
}


/* =========================
   v261 — Weak points dashboard
   ========================= */

body[data-page="practice"] .adaptive-weak-dashboard.v261{
  margin: 14px 0 18px !important;
  padding: 16px !important;
  border: 1px solid rgba(216,180,91,.20) !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(216,180,91,.10), transparent 36%),
    linear-gradient(180deg, rgba(12,18,34,.74), rgba(8,13,26,.62)) !important;
  box-shadow: 0 18px 52px rgba(0,0,0,.22) !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-head{
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin-bottom: 12px !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .eyebrow{
  margin: 0 0 5px !important;
  font-size: .72rem !important;
  text-transform: uppercase !important;
  letter-spacing: .14em !important;
  color: rgba(216,180,91,.78) !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 h2{
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  font-size: clamp(1.05rem, 1.8vw, 1.35rem) !important;
  color: rgba(255,244,207,.94) !important;
  letter-spacing: -.02em !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-stats{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(72px, 1fr)) !important;
  gap: 8px !important;
  min-width: min(520px, 58%) !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-stats span{
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.035) !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-stats strong{
  font-size: 1rem !important;
  color: rgba(255,244,207,.96) !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-stats small{
  color: rgba(221,229,245,.58) !important;
  font-size: .68rem !important;
  white-space: nowrap !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-body{
  display: grid !important;
  gap: 7px !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-row{
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 32px minmax(150px, 1fr) minmax(78px, 16%) 54px 96px !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 9px 10px !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  border-radius: 15px !important;
  background: rgba(255,255,255,.030) !important;
  color: inherit !important;
  text-align: left !important;
  cursor: default !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-rank{
  display: grid !important;
  place-items: center !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  background: rgba(216,180,91,.15) !important;
  color: rgba(255,244,207,.96) !important;
  font-weight: 800 !important;
  font-size: .78rem !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-main{
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  min-width: 0 !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-main strong{
  color: rgba(246,249,255,.92) !important;
  font-size: .9rem !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-main small{
  color: rgba(221,229,245,.50) !important;
  font-size: .68rem !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-meter{
  height: 7px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.08) !important;
  overflow: hidden !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-meter i{
  display: block !important;
  height: 100% !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg, rgba(216,180,91,.95), rgba(255,238,177,.95)) !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-score{
  color: rgba(255,244,207,.90) !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  text-align: right !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-status{
  justify-self: end !important;
  padding: 5px 8px !important;
  border-radius: 999px !important;
  font-size: .68rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
  border: 1px solid rgba(255,255,255,.10) !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-status.bad{
  color: #ffc4c4 !important;
  background: rgba(255,72,72,.12) !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-status.warn{
  color: #ffe4a8 !important;
  background: rgba(216,180,91,.13) !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-status.mid{
  color: #cddfff !important;
  background: rgba(108,145,255,.12) !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-status.good{
  color: #bfffd1 !important;
  background: rgba(70,210,120,.11) !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-empty{
  padding: 14px !important;
  border-radius: 16px !important;
  border: 1px dashed rgba(216,180,91,.24) !important;
  color: rgba(221,229,245,.66) !important;
  background: rgba(255,255,255,.025) !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-foot{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-top: 12px !important;
  padding-top: 10px !important;
  border-top: 1px solid rgba(255,255,255,.075) !important;
  color: rgba(221,229,245,.50) !important;
  font-size: .72rem !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-reset{
  border: 1px solid rgba(216,180,91,.20) !important;
  background: rgba(216,180,91,.08) !important;
  color: rgba(255,244,207,.88) !important;
  border-radius: 999px !important;
  padding: 7px 10px !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}

@media(max-width:860px){
  body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-head{
    flex-direction: column !important;
  }
  body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-stats{
    width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-row{
    grid-template-columns: 28px minmax(0, 1fr) 54px !important;
  }
  body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-meter,
  body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-status{
    display: none !important;
  }
}

@media(max-width:520px){
  body[data-page="practice"] .adaptive-weak-dashboard.v261{
    padding: 12px !important;
    border-radius: 18px !important;
    margin-top: 10px !important;
  }
  body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-stats{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}


/* v262 — Official uploaded Med Cursos logo */
.brand.brand-official{gap:12px;min-width:auto;align-items:center}
.brand-logo-official{width:178px!important;height:auto!important;max-height:72px!important;border-radius:0!important;box-shadow:none!important;display:block;object-fit:contain;background:transparent}
.brand-official .brand-context{display:flex;align-items:center}
.brand-official .brand-context small{display:block;color:var(--gold2);font-size:11px;text-transform:uppercase;letter-spacing:1.3px;line-height:1.1;max-width:180px}
body.practice-focus .brand-logo-official{width:146px!important;max-height:56px!important}
body:not(.practice-focus) .site-header .brand-logo-official, body:not(.practice-focus) header.site-header .brand-logo-official{width:178px!important;height:auto!important;max-height:72px!important;border-radius:0!important;box-shadow:none!important}
body.practice-page .brand-logo-official, body.qcm-page .brand-logo-official, body.cas-cliniques-page .brand-logo-official, body.vrai-faux-page .brand-logo-official, body.erreurs-page .brand-logo-official, body.examen-page .brand-logo-official{width:150px!important;max-height:58px!important}
body.practice-page .brand-official .brand-context small, body.qcm-page .brand-official .brand-context small, body.cas-cliniques-page .brand-official .brand-context small, body.vrai-faux-page .brand-official .brand-context small, body.erreurs-page .brand-official .brand-context small, body.examen-page .brand-official .brand-context small{font-size:9px!important;max-width:110px!important}
@media(max-width:980px){.brand-logo-official{width:154px!important;max-height:62px!important}.brand-official .brand-context small{font-size:10px;max-width:130px}}
@media(max-width:760px){.brand-logo-official{width:132px!important;max-height:54px!important}.brand-official .brand-context small{display:none!important}.nav-shell{gap:10px!important}}
@media(max-width:520px){.brand-logo-official{width:118px!important;max-height:48px!important}}


/* =========================
   v263 — Reader Premium Step 1
   Official identity band for module reader
   ========================= */

body[data-page="module"].reader-premium-v263 #readerPremiumBandV263,
body[data-page="module"] #readerPremiumBandV263{
  width: min(1180px, calc(100vw - 32px)) !important;
  margin: 18px auto 18px !important;
  padding: clamp(18px, 2vw, 28px) !important;
  display: grid !important;
  grid-template-columns: minmax(150px, 220px) minmax(0, 1fr) !important;
  gap: clamp(18px, 3vw, 34px) !important;
  align-items: center !important;
  border: 1px solid rgba(216,180,91,.24) !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at 16% 12%, rgba(216,180,91,.18), transparent 34%),
    radial-gradient(circle at 92% 18%, rgba(112,130,255,.10), transparent 28%),
    linear-gradient(135deg, rgba(8,12,22,.94), rgba(11,16,30,.72) 58%, rgba(5,8,14,.92)) !important;
  box-shadow: 0 22px 74px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.05) !important;
  position: relative !important;
  overflow: hidden !important;
}

body[data-page="module"] #readerPremiumBandV263::after{
  content:"" !important;
  position:absolute !important;
  inset:auto 24px 0 24px !important;
  height:1px !important;
  background: linear-gradient(90deg, transparent, rgba(216,180,91,.62), transparent) !important;
  opacity:.78 !important;
}

body[data-page="module"] #readerPremiumBandV263 .reader-premium-brand-v263{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height: 142px !important;
  border-radius: 24px !important;
  background: radial-gradient(circle at 50% 28%, rgba(216,180,91,.12), transparent 58%), rgba(255,255,255,.018) !important;
  border: 1px solid rgba(216,180,91,.13) !important;
}

body[data-page="module"] #readerPremiumBandV263 .reader-premium-logo-v263{
  width: min(190px, 100%) !important;
  height: auto !important;
  max-height: 150px !important;
  object-fit: contain !important;
  display:block !important;
  filter: drop-shadow(0 18px 26px rgba(0,0,0,.30)) !important;
}

body[data-page="module"] #readerPremiumBandV263 .reader-premium-copy-v263{
  min-width:0 !important;
}

body[data-page="module"] #readerPremiumBandV263 .reader-premium-eyebrow-v263{
  margin:0 0 10px !important;
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:8px !important;
  color: rgba(255,231,173,.72) !important;
  text-transform: uppercase !important;
  letter-spacing:.13em !important;
  font-size:.72rem !important;
  font-weight:800 !important;
}

body[data-page="module"] #readerPremiumBandV263 .reader-premium-eyebrow-v263 i{
  width:5px !important;
  height:5px !important;
  border-radius:999px !important;
  background: rgba(216,180,91,.64) !important;
  display:inline-block !important;
}

body[data-page="module"] #readerPremiumBandV263 h1{
  margin:0 !important;
  max-width: 920px !important;
  font-size: clamp(2rem, 4vw, 4rem) !important;
  line-height: .96 !important;
  letter-spacing: -.055em !important;
  color: rgba(255,247,226,.98) !important;
  text-shadow: 0 10px 34px rgba(0,0,0,.28) !important;
}

body[data-page="module"] #readerPremiumBandV263 .reader-premium-actions-v263{
  margin-top:18px !important;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
}

body[data-page="module"] #readerPremiumBandV263 .reader-premium-actions-v263 button,
body[data-page="module"] #readerPremiumBandV263 .reader-premium-actions-v263 a{
  appearance:none !important;
  text-decoration:none !important;
  border: 1px solid rgba(216,180,91,.22) !important;
  background: rgba(255,255,255,.045) !important;
  color: rgba(255,247,226,.90) !important;
  border-radius: 999px !important;
  padding: 9px 13px !important;
  font-size: .78rem !important;
  font-weight: 850 !important;
  letter-spacing: .015em !important;
  cursor:pointer !important;
  transition: transform .18s ease, border-color .18s ease, background .18s ease !important;
}

body[data-page="module"] #readerPremiumBandV263 .reader-premium-actions-v263 button:hover,
body[data-page="module"] #readerPremiumBandV263 .reader-premium-actions-v263 a:hover{
  transform: translateY(-1px) !important;
  border-color: rgba(216,180,91,.46) !important;
  background: rgba(216,180,91,.10) !important;
}

@media(max-width:820px){
  body[data-page="module"] #readerPremiumBandV263{
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    width: min(100vw - 22px, 1180px) !important;
    border-radius: 22px !important;
  }
  body[data-page="module"] #readerPremiumBandV263 .reader-premium-brand-v263{
    min-height: 116px !important;
  }
  body[data-page="module"] #readerPremiumBandV263 .reader-premium-logo-v263{
    max-height: 108px !important;
  }
  body[data-page="module"] #readerPremiumBandV263 h1{
    font-size: clamp(1.8rem, 9vw, 3rem) !important;
  }
}

@media(max-width:520px){
  body[data-page="module"] #readerPremiumBandV263{
    padding: 14px !important;
    margin-top: 10px !important;
  }
  body[data-page="module"] #readerPremiumBandV263 .reader-premium-actions-v263{
    display:grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap:8px !important;
  }
  body[data-page="module"] #readerPremiumBandV263 .reader-premium-actions-v263 button,
  body[data-page="module"] #readerPremiumBandV263 .reader-premium-actions-v263 a{
    width:100% !important;
    text-align:center !important;
    padding: 10px 8px !important;
    font-size:.72rem !important;
  }
}


/* =========================
   v267 — Reader Premium Compact
   Fix: premium header no longer takes the whole top space
   ========================= */

body[data-page="module"] #readerPremiumBandV263.reader-premium-compact-v267,
body[data-page="module"].reader-premium-compact-active-v267 #readerPremiumBandV263{
  width: min(1180px, calc(100vw - 28px)) !important;
  min-height: 0 !important;
  margin: 8px auto 10px !important;
  padding: 8px 12px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  border-radius: 18px !important;
  background:
    linear-gradient(90deg, rgba(8,12,22,.92), rgba(13,19,34,.76), rgba(8,12,22,.92)) !important;
  border: 1px solid rgba(216,180,91,.16) !important;
  box-shadow: 0 10px 32px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.04) !important;
  overflow: visible !important;
}

body[data-page="module"] #readerPremiumBandV263.reader-premium-compact-v267::after,
body[data-page="module"].reader-premium-compact-active-v267 #readerPremiumBandV263::after{
  display: none !important;
}

body[data-page="module"] #readerPremiumBandV263.reader-premium-compact-v267 .reader-premium-brand-v263,
body[data-page="module"].reader-premium-compact-active-v267 #readerPremiumBandV263 .reader-premium-brand-v263{
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex: 0 0 auto !important;
}

body[data-page="module"] #readerPremiumBandV263.reader-premium-compact-v267 .reader-premium-logo-v263,
body[data-page="module"].reader-premium-compact-active-v267 #readerPremiumBandV263 .reader-premium-logo-v263{
  width: 92px !important;
  max-width: 92px !important;
  height: auto !important;
  max-height: 42px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 8px 15px rgba(0,0,0,.25)) !important;
}

body[data-page="module"] #readerPremiumBandV263.reader-premium-compact-v267 .reader-premium-copy-v263,
body[data-page="module"].reader-premium-compact-active-v267 #readerPremiumBandV263 .reader-premium-copy-v263{
  min-width: 0 !important;
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

body[data-page="module"] #readerPremiumBandV263.reader-premium-compact-v267 .reader-premium-eyebrow-v263,
body[data-page="module"].reader-premium-compact-active-v267 #readerPremiumBandV263 .reader-premium-eyebrow-v263{
  margin: 0 !important;
  flex: 0 0 auto !important;
  font-size: .58rem !important;
  letter-spacing: .12em !important;
  color: rgba(255,231,173,.68) !important;
  gap: 6px !important;
  max-width: 260px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

body[data-page="module"] #readerPremiumBandV263.reader-premium-compact-v267 .reader-premium-eyebrow-v263 span:first-child,
body[data-page="module"].reader-premium-compact-active-v267 #readerPremiumBandV263 .reader-premium-eyebrow-v263 span:first-child{
  display: inline !important;
}

body[data-page="module"] #readerPremiumBandV263.reader-premium-compact-v267 h1,
body[data-page="module"].reader-premium-compact-active-v267 #readerPremiumBandV263 h1{
  margin: 0 !important;
  padding: 0 !important;
  max-width: 410px !important;
  flex: 1 1 auto !important;
  font-size: clamp(.92rem, 1.45vw, 1.18rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
  color: rgba(255,247,226,.94) !important;
  text-shadow: none !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body[data-page="module"] #readerPremiumBandV263.reader-premium-compact-v267 .reader-premium-actions-v263,
body[data-page="module"].reader-premium-compact-active-v267 #readerPremiumBandV263 .reader-premium-actions-v263{
  margin: 0 !important;
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

body[data-page="module"] #readerPremiumBandV263.reader-premium-compact-v267 .reader-premium-actions-v263 button,
body[data-page="module"] #readerPremiumBandV263.reader-premium-compact-v267 .reader-premium-actions-v263 a,
body[data-page="module"].reader-premium-compact-active-v267 #readerPremiumBandV263 .reader-premium-actions-v263 button,
body[data-page="module"].reader-premium-compact-active-v267 #readerPremiumBandV263 .reader-premium-actions-v263 a{
  padding: 6px 9px !important;
  font-size: .66rem !important;
  border-radius: 999px !important;
  min-height: 0 !important;
  line-height: 1.1 !important;
  background: rgba(255,255,255,.035) !important;
  border-color: rgba(216,180,91,.16) !important;
  color: rgba(255,247,226,.82) !important;
  box-shadow: none !important;
}

body[data-page="module"] #readerPremiumBandV263.reader-premium-compact-v267 .reader-premium-actions-v263 button:hover,
body[data-page="module"] #readerPremiumBandV263.reader-premium-compact-v267 .reader-premium-actions-v263 a:hover{
  transform: none !important;
  background: rgba(216,180,91,.08) !important;
}

/* Make sure the original reader area does not get pushed sideways */
body[data-page="module"].reader-premium-compact-active-v267 .reader-shell,
body[data-page="module"].reader-premium-compact-active-v267 .reader-layout,
body[data-page="module"].reader-premium-compact-active-v267 main{
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Mobile/tablet: one compact row, no giant logo block */
@media(max-width:900px){
  body[data-page="module"] #readerPremiumBandV263.reader-premium-compact-v267,
  body[data-page="module"].reader-premium-compact-active-v267 #readerPremiumBandV263{
    width: min(100vw - 18px, 1180px) !important;
    padding: 7px 9px !important;
    gap: 8px !important;
    border-radius: 16px !important;
  }

  body[data-page="module"] #readerPremiumBandV263.reader-premium-compact-v267 .reader-premium-logo-v263,
  body[data-page="module"].reader-premium-compact-active-v267 #readerPremiumBandV263 .reader-premium-logo-v263{
    width: 68px !important;
    max-width: 68px !important;
    max-height: 32px !important;
  }

  body[data-page="module"] #readerPremiumBandV263.reader-premium-compact-v267 .reader-premium-copy-v263,
  body[data-page="module"].reader-premium-compact-active-v267 #readerPremiumBandV263 .reader-premium-copy-v263{
    gap: 7px !important;
  }

  body[data-page="module"] #readerPremiumBandV263.reader-premium-compact-v267 .reader-premium-eyebrow-v263,
  body[data-page="module"].reader-premium-compact-active-v267 #readerPremiumBandV263 .reader-premium-eyebrow-v263{
    display: none !important;
  }

  body[data-page="module"] #readerPremiumBandV263.reader-premium-compact-v267 h1,
  body[data-page="module"].reader-premium-compact-active-v267 #readerPremiumBandV263 h1{
    max-width: none !important;
    font-size: .9rem !important;
  }

  body[data-page="module"] #readerPremiumBandV263.reader-premium-compact-v267 .reader-premium-actions-v263,
  body[data-page="module"].reader-premium-compact-active-v267 #readerPremiumBandV263 .reader-premium-actions-v263{
    gap: 5px !important;
  }

  body[data-page="module"] #readerPremiumBandV263.reader-premium-compact-v267 .reader-premium-actions-v263 button,
  body[data-page="module"] #readerPremiumBandV263.reader-premium-compact-v267 .reader-premium-actions-v263 a,
  body[data-page="module"].reader-premium-compact-active-v267 #readerPremiumBandV263 .reader-premium-actions-v263 button,
  body[data-page="module"].reader-premium-compact-active-v267 #readerPremiumBandV263 .reader-premium-actions-v263 a{
    padding: 6px 7px !important;
    font-size: .6rem !important;
  }
}

@media(max-width:620px){
  body[data-page="module"] #readerPremiumBandV263.reader-premium-compact-v267 h1,
  body[data-page="module"].reader-premium-compact-active-v267 #readerPremiumBandV263 h1{
    display:none !important;
  }

  body[data-page="module"] #readerPremiumBandV263.reader-premium-compact-v267 .reader-premium-copy-v263,
  body[data-page="module"].reader-premium-compact-active-v267 #readerPremiumBandV263 .reader-premium-copy-v263{
    justify-content: flex-end !important;
  }

  body[data-page="module"] #readerPremiumBandV263.reader-premium-compact-v267 .reader-premium-actions-v263 button,
  body[data-page="module"] #readerPremiumBandV263.reader-premium-compact-v267 .reader-premium-actions-v263 a,
  body[data-page="module"].reader-premium-compact-active-v267 #readerPremiumBandV263 .reader-premium-actions-v263 button,
  body[data-page="module"].reader-premium-compact-active-v267 #readerPremiumBandV263 .reader-premium-actions-v263 a{
    padding: 6px 6px !important;
    font-size: .58rem !important;
  }
}


/* =========================
   v275 — Safe left TOC from v267
   Base: v267 where clicks worked.
   CSS-only display fix. No JS navigation/classification added.
   ========================= */

/* 1) Ultra-compact reader premium band */
body[data-page="module"] #readerPremiumBandV263{
  width: min(1180px, calc(100vw - 28px)) !important;
  min-height: 0 !important;
  max-height: 42px !important;
  margin: 4px auto 7px !important;
  padding: 4px 9px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  border-radius: 13px !important;
  overflow: hidden !important;
  background: linear-gradient(90deg, rgba(8,12,22,.92), rgba(13,19,34,.76), rgba(8,12,22,.92)) !important;
  border: 1px solid rgba(216,180,91,.14) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.16) !important;
}

body[data-page="module"] #readerPremiumBandV263::after{
  display: none !important;
}

body[data-page="module"] #readerPremiumBandV263 .reader-premium-brand-v263{
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  flex: 0 0 auto !important;
}

body[data-page="module"] #readerPremiumBandV263 .reader-premium-logo-v263{
  width: 48px !important;
  max-width: 48px !important;
  height: auto !important;
  max-height: 24px !important;
  object-fit: contain !important;
  filter: none !important;
}

body[data-page="module"] #readerPremiumBandV263 .reader-premium-eyebrow-v263,
body[data-page="module"] #readerPremiumBandV263 h1{
  display: none !important;
}

body[data-page="module"] #readerPremiumBandV263 .reader-premium-copy-v263{
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
}

body[data-page="module"] #readerPremiumBandV263 .reader-premium-actions-v263{
  margin: 0 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 5px !important;
}

body[data-page="module"] #readerPremiumBandV263 .reader-premium-actions-v263 button,
body[data-page="module"] #readerPremiumBandV263 .reader-premium-actions-v263 a{
  padding: 4px 7px !important;
  font-size: .55rem !important;
  line-height: 1.05 !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.035) !important;
  border-color: rgba(216,180,91,.15) !important;
  color: rgba(255,247,226,.82) !important;
  box-shadow: none !important;
  transform: none !important;
}

/* 2) Compact top nav on module only */
body[data-page="module"] .nav-shell{
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

body[data-page="module"] .brand-logo-official{
  width: 78px !important;
  max-width: 78px !important;
  max-height: 34px !important;
}

/* 3) Left TOC only for known TOC/outline classes.
   IMPORTANT: exclude dialogs, module pickers and overlays to avoid breaking clicks. */
body[data-page="module"] :is(.toc, .toc-panel, .reader-toc, .reader-index, .module-toc, .chapter-list, .reader-outline, .outline-panel):not([role="dialog"]):not(.module-picker-overlay):not(.module-picker-panel):not(.reader-module-picker):not(.reader-switcher):not(.module-switcher):not(.v210-overlay):not(.v210-panel){
  position: fixed !important;
  left: max(10px, calc((100vw - 1180px) / 2 + 8px)) !important;
  top: 108px !important;
  width: 180px !important;
  max-width: 180px !important;
  max-height: calc(100vh - 132px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  z-index: 22 !important;
  margin: 0 !important;
  padding: 10px 9px !important;
  border-radius: 15px !important;
  background: rgba(8,13,24,.72) !important;
  border: 1px solid rgba(216,180,91,.16) !important;
  box-shadow: 0 12px 38px rgba(0,0,0,.24) !important;
  backdrop-filter: blur(12px) !important;
  scrollbar-width: thin !important;
}

body[data-page="module"] :is(.toc, .toc-panel, .reader-toc, .reader-index, .module-toc, .chapter-list, .reader-outline, .outline-panel):not([role="dialog"]):not(.module-picker-overlay):not(.module-picker-panel):not(.reader-module-picker):not(.reader-switcher):not(.module-switcher):not(.v210-overlay):not(.v210-panel),
body[data-page="module"] :is(.toc, .toc-panel, .reader-toc, .reader-index, .module-toc, .chapter-list, .reader-outline, .outline-panel):not([role="dialog"]):not(.module-picker-overlay):not(.module-picker-panel):not(.reader-module-picker):not(.reader-switcher):not(.module-switcher):not(.v210-overlay):not(.v210-panel) *{
  font-size: .68rem !important;
  line-height: 1.25 !important;
}

body[data-page="module"] :is(.toc, .toc-panel, .reader-toc, .reader-index, .module-toc, .chapter-list, .reader-outline, .outline-panel):not([role="dialog"]):not(.module-picker-overlay):not(.module-picker-panel):not(.reader-module-picker):not(.reader-switcher):not(.module-switcher):not(.v210-overlay):not(.v210-panel) a,
body[data-page="module"] :is(.toc, .toc-panel, .reader-toc, .reader-index, .module-toc, .chapter-list, .reader-outline, .outline-panel):not([role="dialog"]):not(.module-picker-overlay):not(.module-picker-panel):not(.reader-module-picker):not(.reader-switcher):not(.module-switcher):not(.v210-overlay):not(.v210-panel) button,
body[data-page="module"] :is(.toc, .toc-panel, .reader-toc, .reader-index, .module-toc, .chapter-list, .reader-outline, .outline-panel):not([role="dialog"]):not(.module-picker-overlay):not(.module-picker-panel):not(.reader-module-picker):not(.reader-switcher):not(.module-switcher):not(.v210-overlay):not(.v210-panel) li,
body[data-page="module"] :is(.toc, .toc-panel, .reader-toc, .reader-index, .module-toc, .chapter-list, .reader-outline, .outline-panel):not([role="dialog"]):not(.module-picker-overlay):not(.module-picker-panel):not(.reader-module-picker):not(.reader-switcher):not(.module-switcher):not(.v210-overlay):not(.v210-panel) p{
  display: block !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  color: rgba(240,245,255,.78) !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

/* 4) Content breathing room if a real TOC exists */
body[data-page="module"] main,
body[data-page="module"] .reader-shell,
body[data-page="module"] .reader-layout,
body[data-page="module"] .module-shell{
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-top: 0 !important;
}

/* Desktop only: reserve a small left space so TOC does not cover the title card */
@media(min-width:1051px){
  body[data-page="module"] main,
  body[data-page="module"] .reader-shell,
  body[data-page="module"] .reader-layout,
  body[data-page="module"] .module-shell{
    padding-left: 204px !important;
  }
}

/* Medium screens: keep layout safe; do not force left TOC if too narrow */
@media(max-width:1050px){
  body[data-page="module"] :is(.toc, .toc-panel, .reader-toc, .reader-index, .module-toc, .chapter-list, .reader-outline, .outline-panel):not([role="dialog"]):not(.module-picker-overlay):not(.module-picker-panel):not(.reader-module-picker):not(.reader-switcher):not(.module-switcher):not(.v210-overlay):not(.v210-panel){
    position: sticky !important;
    top: 0 !important;
    left: auto !important;
    width: min(100%, calc(100vw - 20px)) !important;
    max-width: min(100%, calc(100vw - 20px)) !important;
    max-height: 92px !important;
    margin: 6px auto 8px !important;
    display: flex !important;
    gap: 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    z-index: 20 !important;
  }

  body[data-page="module"] :is(.toc, .toc-panel, .reader-toc, .reader-index, .module-toc, .chapter-list, .reader-outline, .outline-panel):not([role="dialog"]):not(.module-picker-overlay):not(.module-picker-panel):not(.reader-module-picker):not(.reader-switcher):not(.module-switcher):not(.v210-overlay):not(.v210-panel) *{
    white-space: nowrap !important;
    flex: 0 0 auto !important;
  }
}

/* 5) Absolutely do NOT affect module picker / overlays */
body[data-page="module"] .module-picker-overlay,
body[data-page="module"] .module-picker-panel,
body[data-page="module"] .reader-module-picker,
body[data-page="module"] .reader-switcher,
body[data-page="module"] .module-switcher,
body[data-page="module"] .v210-overlay,
body[data-page="module"] .v210-panel,
body[data-page="module"] [role="dialog"]{
  pointer-events: auto !important;
}

body[data-page="module"] .module-picker-overlay *,
body[data-page="module"] .module-picker-panel *,
body[data-page="module"] .reader-module-picker *,
body[data-page="module"] .reader-switcher *,
body[data-page="module"] .module-switcher *,
body[data-page="module"] .v210-overlay *,
body[data-page="module"] .v210-panel *,
body[data-page="module"] [role="dialog"] *{
  pointer-events: auto !important;
}


/* =========================
   v276 — Reader centered + TOC fully left
   Base: v275. CSS-only. No navigation/click logic changed.
   ========================= */

/* A. Put the mini TOC really at the far left */
body[data-page="module"] :is(.toc, .toc-panel, .reader-toc, .reader-index, .module-toc, .chapter-list, .reader-outline, .outline-panel):not([role="dialog"]):not(.module-picker-overlay):not(.module-picker-panel):not(.reader-module-picker):not(.reader-switcher):not(.module-switcher):not(.v210-overlay):not(.v210-panel){
  left: 10px !important;
  top: 126px !important;
  width: 154px !important;
  max-width: 154px !important;
  max-height: calc(100vh - 150px) !important;
  padding: 9px 8px !important;
  border-radius: 14px !important;
  z-index: 18 !important;
  opacity: .92 !important;
}

/* B. Make TOC visually more discreet */
body[data-page="module"] :is(.toc, .toc-panel, .reader-toc, .reader-index, .module-toc, .chapter-list, .reader-outline, .outline-panel):not([role="dialog"]):not(.module-picker-overlay):not(.module-picker-panel):not(.reader-module-picker):not(.reader-switcher):not(.module-switcher):not(.v210-overlay):not(.v210-panel),
body[data-page="module"] :is(.toc, .toc-panel, .reader-toc, .reader-index, .module-toc, .chapter-list, .reader-outline, .outline-panel):not([role="dialog"]):not(.module-picker-overlay):not(.module-picker-panel):not(.reader-module-picker):not(.reader-switcher):not(.module-switcher):not(.v210-overlay):not(.v210-panel) *{
  font-size: .62rem !important;
  line-height: 1.22 !important;
}

body[data-page="module"] :is(.toc, .toc-panel, .reader-toc, .reader-index, .module-toc, .chapter-list, .reader-outline, .outline-panel):not([role="dialog"]):not(.module-picker-overlay):not(.module-picker-panel):not(.reader-module-picker):not(.reader-switcher):not(.module-switcher):not(.v210-overlay):not(.v210-panel) a,
body[data-page="module"] :is(.toc, .toc-panel, .reader-toc, .reader-index, .module-toc, .chapter-list, .reader-outline, .outline-panel):not([role="dialog"]):not(.module-picker-overlay):not(.module-picker-panel):not(.reader-module-picker):not(.reader-switcher):not(.module-switcher):not(.v210-overlay):not(.v210-panel) button,
body[data-page="module"] :is(.toc, .toc-panel, .reader-toc, .reader-index, .module-toc, .chapter-list, .reader-outline, .outline-panel):not([role="dialog"]):not(.module-picker-overlay):not(.module-picker-panel):not(.reader-module-picker):not(.reader-switcher):not(.module-switcher):not(.v210-overlay):not(.v210-panel) li,
body[data-page="module"] :is(.toc, .toc-panel, .reader-toc, .reader-index, .module-toc, .chapter-list, .reader-outline, .outline-panel):not([role="dialog"]):not(.module-picker-overlay):not(.module-picker-panel):not(.reader-module-picker):not(.reader-switcher):not(.module-switcher):not(.v210-overlay):not(.v210-panel) p{
  margin-bottom: 5px !important;
  color: rgba(226,234,250,.62) !important;
}

/* C. Re-center the course. Remove the previous left padding that pushed it to the right. */
body[data-page="module"] main,
body[data-page="module"] .reader-shell,
body[data-page="module"] .reader-layout,
body[data-page="module"] .module-shell{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1180px !important;
}

/* D. Center the main reader/hero cards themselves */
body[data-page="module"] .module-hero,
body[data-page="module"] .reader-header,
body[data-page="module"] .course-hero,
body[data-page="module"] .module-card,
body[data-page="module"] #moduleContent,
body[data-page="module"] .reader-content,
body[data-page="module"] article{
  margin-left: auto !important;
  margin-right: auto !important;
}

/* The visible course area should sit in the central reading column */
body[data-page="module"] .module-hero,
body[data-page="module"] .reader-header,
body[data-page="module"] .course-hero,
body[data-page="module"] .module-card{
  width: min(880px, calc(100vw - 240px)) !important;
  max-width: 880px !important;
}

/* Main course text can be a bit wider than the hero but still centered */
body[data-page="module"] #moduleContent,
body[data-page="module"] .reader-content,
body[data-page="module"] article{
  width: min(920px, calc(100vw - 240px)) !important;
  max-width: 920px !important;
}

/* E. The premium reader toolbar must not hide behind the top navigation */
body[data-page="module"] #readerPremiumBandV263{
  position: relative !important;
  top: auto !important;
  z-index: 12 !important;
  width: min(880px, calc(100vw - 240px)) !important;
  max-width: 880px !important;
  margin: 12px auto 12px !important;
  max-height: none !important;
  min-height: 42px !important;
  padding: 7px 10px !important;
  overflow: visible !important;
  border-radius: 15px !important;
}

/* Keep it compact, but not crushed */
body[data-page="module"] #readerPremiumBandV263 .reader-premium-logo-v263{
  width: 56px !important;
  max-width: 56px !important;
  max-height: 30px !important;
}

body[data-page="module"] #readerPremiumBandV263 .reader-premium-actions-v263{
  gap: 6px !important;
  align-items: center !important;
}

body[data-page="module"] #readerPremiumBandV263 .reader-premium-actions-v263 button,
body[data-page="module"] #readerPremiumBandV263 .reader-premium-actions-v263 a{
  padding: 5px 8px !important;
  font-size: .60rem !important;
  line-height: 1.05 !important;
}

/* F. Course navigation buttons inside the hero should not be too high/hidden */
body[data-page="module"] .module-hero .btn,
body[data-page="module"] .reader-header .btn,
body[data-page="module"] .module-card .btn,
body[data-page="module"] .course-hero .btn{
  position: relative !important;
  z-index: 10 !important;
}

/* G. Keep overlay and module picker untouched/clickable */
body[data-page="module"] .module-picker-overlay,
body[data-page="module"] .module-picker-panel,
body[data-page="module"] .reader-module-picker,
body[data-page="module"] .reader-switcher,
body[data-page="module"] .module-switcher,
body[data-page="module"] .v210-overlay,
body[data-page="module"] .v210-panel,
body[data-page="module"] [role="dialog"]{
  z-index: 9999 !important;
  pointer-events: auto !important;
}

/* H. Responsive: on smaller screens, do not force central column with a left fixed TOC */
@media(max-width:1050px){
  body[data-page="module"] :is(.toc, .toc-panel, .reader-toc, .reader-index, .module-toc, .chapter-list, .reader-outline, .outline-panel):not([role="dialog"]):not(.module-picker-overlay):not(.module-picker-panel):not(.reader-module-picker):not(.reader-switcher):not(.module-switcher):not(.v210-overlay):not(.v210-panel){
    position: sticky !important;
    top: 0 !important;
    left: auto !important;
    width: min(100%, calc(100vw - 18px)) !important;
    max-width: min(100%, calc(100vw - 18px)) !important;
    max-height: 82px !important;
    margin: 6px auto 8px !important;
    display: flex !important;
    gap: 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  body[data-page="module"] .module-hero,
  body[data-page="module"] .reader-header,
  body[data-page="module"] .course-hero,
  body[data-page="module"] .module-card,
  body[data-page="module"] #moduleContent,
  body[data-page="module"] .reader-content,
  body[data-page="module"] article,
  body[data-page="module"] #readerPremiumBandV263{
    width: min(100%, calc(100vw - 24px)) !important;
    max-width: min(100%, calc(100vw - 24px)) !important;
  }
}

@media(max-width:760px){
  body[data-page="module"] #readerPremiumBandV263{
    min-height: 36px !important;
    margin-top: 8px !important;
    margin-bottom: 8px !important;
  }

  body[data-page="module"] #readerPremiumBandV263 .reader-premium-logo-v263{
    display: none !important;
  }

  body[data-page="module"] #readerPremiumBandV263 .reader-premium-actions-v263{
    justify-content: center !important;
    width: 100% !important;
  }
}


/* =========================
   v277 — Reader below fixed header + better centering
   Base: v276. CSS-only. No navigation/click logic changed.
   ========================= */

body[data-page="module"]{
  --module-fixed-header-clearance: 92px;
  --module-left-toc-width: 150px;
  --module-reading-width: 820px;
}

/* 1) Make sure reader starts BELOW the fixed main nav/search bar */
body[data-page="module"] main{
  padding-top: var(--module-fixed-header-clearance) !important;
}

/* Some builds wrap reader in shells that had padding-top:0 in previous versions. Restore safe clearance. */
body[data-page="module"] .reader-shell,
body[data-page="module"] .reader-layout,
body[data-page="module"] .module-shell{
  padding-top: 0 !important;
}

/* 2) Premium mini-toolbar: visible under the main nav, not behind it */
body[data-page="module"] #readerPremiumBandV263{
  position: relative !important;
  z-index: 30 !important;
  top: auto !important;
  width: min(var(--module-reading-width), calc(100vw - 270px)) !important;
  max-width: var(--module-reading-width) !important;
  min-height: 44px !important;
  max-height: none !important;
  margin: 0 auto 18px !important;
  padding: 8px 12px !important;
  overflow: visible !important;
  border-radius: 16px !important;
  background: linear-gradient(90deg, rgba(8,12,22,.96), rgba(14,21,37,.82), rgba(8,12,22,.96)) !important;
  border: 1px solid rgba(216,180,91,.18) !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.20) !important;
}

/* keep this bar compact but usable */
body[data-page="module"] #readerPremiumBandV263 .reader-premium-logo-v263{
  width: 58px !important;
  max-width: 58px !important;
  max-height: 30px !important;
}

body[data-page="module"] #readerPremiumBandV263 h1,
body[data-page="module"] #readerPremiumBandV263 .reader-premium-eyebrow-v263{
  display: none !important;
}

body[data-page="module"] #readerPremiumBandV263 .reader-premium-actions-v263{
  gap: 7px !important;
  margin: 0 !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

body[data-page="module"] #readerPremiumBandV263 .reader-premium-actions-v263 button,
body[data-page="module"] #readerPremiumBandV263 .reader-premium-actions-v263 a{
  padding: 6px 9px !important;
  font-size: .62rem !important;
  line-height: 1.08 !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
}

/* 3) Sommaire: fully left and below nav, never over the nav */
body[data-page="module"] :is(.toc, .toc-panel, .reader-toc, .reader-index, .module-toc, .chapter-list, .reader-outline, .outline-panel):not([role="dialog"]):not(.module-picker-overlay):not(.module-picker-panel):not(.reader-module-picker):not(.reader-switcher):not(.module-switcher):not(.v210-overlay):not(.v210-panel){
  left: 8px !important;
  top: calc(var(--module-fixed-header-clearance) + 38px) !important;
  width: var(--module-left-toc-width) !important;
  max-width: var(--module-left-toc-width) !important;
  max-height: calc(100vh - var(--module-fixed-header-clearance) - 62px) !important;
  z-index: 18 !important;
  opacity: .90 !important;
}

/* 4) Recenter course in the readable zone.
      The course column is centered in the viewport, not pushed by the TOC. */
body[data-page="module"] .module-hero,
body[data-page="module"] .reader-header,
body[data-page="module"] .course-hero,
body[data-page="module"] .module-card,
body[data-page="module"] #moduleContent,
body[data-page="module"] .reader-content,
body[data-page="module"] article{
  width: min(var(--module-reading-width), calc(100vw - 270px)) !important;
  max-width: var(--module-reading-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 5) Move the main hero/course block down a little more so its buttons are never hidden. */
body[data-page="module"] .module-hero,
body[data-page="module"] .reader-header,
body[data-page="module"] .course-hero,
body[data-page="module"] .module-card{
  margin-top: 0 !important;
  padding-top: 24px !important;
}

/* 6) Buttons near top must stay above decorative layers. */
body[data-page="module"] .module-hero .btn,
body[data-page="module"] .reader-header .btn,
body[data-page="module"] .module-card .btn,
body[data-page="module"] .course-hero .btn,
body[data-page="module"] #readerPremiumBandV263 button,
body[data-page="module"] #readerPremiumBandV263 a{
  position: relative !important;
  z-index: 35 !important;
}

/* 7) Ensure dialogs/module picker appear above TOC and remain clickable. */
body[data-page="module"] .module-picker-overlay,
body[data-page="module"] .module-picker-panel,
body[data-page="module"] .reader-module-picker,
body[data-page="module"] .reader-switcher,
body[data-page="module"] .module-switcher,
body[data-page="module"] .v210-overlay,
body[data-page="module"] .v210-panel,
body[data-page="module"] [role="dialog"]{
  z-index: 9999 !important;
  pointer-events: auto !important;
}

/* 8) Medium screens: reduce clearance and use full-width centered column. */
@media(max-width:1050px){
  body[data-page="module"]{
    --module-fixed-header-clearance: 84px;
    --module-reading-width: 860px;
  }

  body[data-page="module"] #readerPremiumBandV263,
  body[data-page="module"] .module-hero,
  body[data-page="module"] .reader-header,
  body[data-page="module"] .course-hero,
  body[data-page="module"] .module-card,
  body[data-page="module"] #moduleContent,
  body[data-page="module"] .reader-content,
  body[data-page="module"] article{
    width: min(100%, calc(100vw - 28px)) !important;
    max-width: min(100%, calc(100vw - 28px)) !important;
  }
}

/* 9) Small screens: no fixed left TOC; keep a horizontal strip below nav. */
@media(max-width:760px){
  body[data-page="module"]{
    --module-fixed-header-clearance: 74px;
  }

  body[data-page="module"] main{
    padding-top: var(--module-fixed-header-clearance) !important;
  }

  body[data-page="module"] :is(.toc, .toc-panel, .reader-toc, .reader-index, .module-toc, .chapter-list, .reader-outline, .outline-panel):not([role="dialog"]):not(.module-picker-overlay):not(.module-picker-panel):not(.reader-module-picker):not(.reader-switcher):not(.module-switcher):not(.v210-overlay):not(.v210-panel){
    position: sticky !important;
    top: 0 !important;
    left: auto !important;
    width: min(100%, calc(100vw - 18px)) !important;
    max-width: min(100%, calc(100vw - 18px)) !important;
    max-height: 82px !important;
    margin: 8px auto 10px !important;
    display: flex !important;
    gap: 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  body[data-page="module"] #readerPremiumBandV263{
    min-height: 38px !important;
    margin-bottom: 12px !important;
    padding: 6px 8px !important;
  }

  body[data-page="module"] #readerPremiumBandV263 .reader-premium-logo-v263{
    display: none !important;
  }

  body[data-page="module"] #readerPremiumBandV263 .reader-premium-actions-v263{
    width: 100% !important;
    justify-content: center !important;
    gap: 5px !important;
  }

  body[data-page="module"] #readerPremiumBandV263 .reader-premium-actions-v263 button,
  body[data-page="module"] #readerPremiumBandV263 .reader-premium-actions-v263 a{
    padding: 5px 7px !important;
    font-size: .58rem !important;
  }
}


/* =========================
   v278 — Reader column alignment
   Base: v277. CSS-only. No navigation/click logic changed.
   Goal: remove the huge empty gap between left TOC and course.
   ========================= */

body[data-page="module"]{
  --module-fixed-header-clearance: 96px;
  --module-left-toc-width: 168px;
  --module-left-toc-left: 10px;
  --module-course-left: 218px;
  --module-course-width: 820px;
}

/* Keep the page below the fixed header */
body[data-page="module"] main{
  padding-top: var(--module-fixed-header-clearance) !important;
}

/* TOC: far left, slightly wider but still compact */
body[data-page="module"] :is(.toc, .toc-panel, .reader-toc, .reader-index, .module-toc, .chapter-list, .reader-outline, .outline-panel):not([role="dialog"]):not(.module-picker-overlay):not(.module-picker-panel):not(.reader-module-picker):not(.reader-switcher):not(.module-switcher):not(.v210-overlay):not(.v210-panel){
  left: var(--module-left-toc-left) !important;
  top: calc(var(--module-fixed-header-clearance) + 32px) !important;
  width: var(--module-left-toc-width) !important;
  max-width: var(--module-left-toc-width) !important;
  max-height: calc(100vh - var(--module-fixed-header-clearance) - 56px) !important;
  z-index: 18 !important;
}

/* Main course column: align just to the right of the TOC instead of being pushed far right */
body[data-page="module"] #readerPremiumBandV263,
body[data-page="module"] .module-hero,
body[data-page="module"] .reader-header,
body[data-page="module"] .course-hero,
body[data-page="module"] .module-card,
body[data-page="module"] #moduleContent,
body[data-page="module"] .reader-content,
body[data-page="module"] article{
  width: min(var(--module-course-width), calc(100vw - var(--module-course-left) - 28px)) !important;
  max-width: var(--module-course-width) !important;
  margin-left: var(--module-course-left) !important;
  margin-right: auto !important;
}

/* The premium toolbar must align exactly with the course card */
body[data-page="module"] #readerPremiumBandV263{
  min-height: 44px !important;
  margin-top: 0 !important;
  margin-bottom: 14px !important;
  padding: 8px 12px !important;
  z-index: 32 !important;
}

/* Reduce empty visual mass around the toolbar */
body[data-page="module"] #readerPremiumBandV263 .reader-premium-brand-v263{
  flex: 0 0 auto !important;
}

body[data-page="module"] #readerPremiumBandV263 .reader-premium-logo-v263{
  width: 52px !important;
  max-width: 52px !important;
  max-height: 28px !important;
}

body[data-page="module"] #readerPremiumBandV263 .reader-premium-actions-v263{
  justify-content: flex-start !important;
  flex: 1 1 auto !important;
}

/* Hero/card top spacing: not hidden, not too low */
body[data-page="module"] .module-hero,
body[data-page="module"] .reader-header,
body[data-page="module"] .course-hero,
body[data-page="module"] .module-card{
  margin-top: 0 !important;
  padding-top: 22px !important;
}

/* Make sure old centering rules do not re-push everything */
body[data-page="module"] main,
body[data-page="module"] .reader-shell,
body[data-page="module"] .reader-layout,
body[data-page="module"] .module-shell{
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: none !important;
}

/* Course text remains aligned with the hero, not floating independently */
body[data-page="module"] #moduleContent,
body[data-page="module"] .reader-content,
body[data-page="module"] article{
  margin-top: 12px !important;
}

/* Overlays stay fully above and clickable */
body[data-page="module"] .module-picker-overlay,
body[data-page="module"] .module-picker-panel,
body[data-page="module"] .reader-module-picker,
body[data-page="module"] .reader-switcher,
body[data-page="module"] .module-switcher,
body[data-page="module"] .v210-overlay,
body[data-page="module"] .v210-panel,
body[data-page="module"] [role="dialog"]{
  z-index: 9999 !important;
  pointer-events: auto !important;
}

/* Medium laptop screens */
@media(max-width:1180px){
  body[data-page="module"]{
    --module-left-toc-width: 154px;
    --module-course-left: 190px;
    --module-course-width: 760px;
  }
}

/* Tablet/small: no fixed left column, keep safe full-width reader */
@media(max-width:900px){
  body[data-page="module"]{
    --module-fixed-header-clearance: 82px;
  }

  body[data-page="module"] #readerPremiumBandV263,
  body[data-page="module"] .module-hero,
  body[data-page="module"] .reader-header,
  body[data-page="module"] .course-hero,
  body[data-page="module"] .module-card,
  body[data-page="module"] #moduleContent,
  body[data-page="module"] .reader-content,
  body[data-page="module"] article{
    width: min(100%, calc(100vw - 24px)) !important;
    max-width: min(100%, calc(100vw - 24px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body[data-page="module"] :is(.toc, .toc-panel, .reader-toc, .reader-index, .module-toc, .chapter-list, .reader-outline, .outline-panel):not([role="dialog"]):not(.module-picker-overlay):not(.module-picker-panel):not(.reader-module-picker):not(.reader-switcher):not(.module-switcher):not(.v210-overlay):not(.v210-panel){
    position: sticky !important;
    top: 0 !important;
    left: auto !important;
    width: min(100%, calc(100vw - 18px)) !important;
    max-width: min(100%, calc(100vw - 18px)) !important;
    max-height: 82px !important;
    margin: 8px auto 10px !important;
    display: flex !important;
    gap: 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }
}

@media(max-width:760px){
  body[data-page="module"]{
    --module-fixed-header-clearance: 74px;
  }

  body[data-page="module"] #readerPremiumBandV263 .reader-premium-logo-v263{
    display: none !important;
  }

  body[data-page="module"] #readerPremiumBandV263 .reader-premium-actions-v263{
    justify-content: center !important;
  }
}


/* =========================
   v279 — Reader grid final alignment
   Base: v278. CSS-only. No navigation/click logic changed.
   Goal:
   - TOC fixed/visual column on far left of reader grid
   - premium toolbar starts at same height as TOC
   - course card starts just below toolbar
   - no huge empty gap
   ========================= */

@media(min-width:901px){
  body[data-page="module"]{
    --reader-header-clearance-v279: 104px;
    --reader-toc-w-v279: 160px;
    --reader-course-w-v279: 820px;
    --reader-gap-v279: 18px;
  }

  /* Main starts below fixed top nav */
  body[data-page="module"] main{
    padding-top: var(--reader-header-clearance-v279) !important;
  }

  /* The whole reader becomes a clean 2-column grid */
  body[data-page="module"] .reader-shell{
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 14px 70px 10px !important;
    display: grid !important;
    grid-template-columns: var(--reader-toc-w-v279) minmax(0, var(--reader-course-w-v279)) !important;
    grid-template-rows: auto auto !important;
    gap: 12px var(--reader-gap-v279) !important;
    align-items: start !important;
    justify-content: start !important;
  }

  /* TOC: left column, same vertical start as toolbar */
  body[data-page="module"] .reader-shell > .toc-panel{
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    position: sticky !important;
    left: auto !important;
    top: calc(var(--reader-header-clearance-v279) + 10px) !important;
    width: var(--reader-toc-w-v279) !important;
    max-width: var(--reader-toc-w-v279) !important;
    max-height: calc(100vh - var(--reader-header-clearance-v279) - 26px) !important;
    margin: 0 !important;
    padding: 10px 9px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    z-index: 18 !important;
    border-radius: 15px !important;
    opacity: .94 !important;
  }

  body[data-page="module"] .reader-shell > .toc-panel,
  body[data-page="module"] .reader-shell > .toc-panel *{
    font-size: .63rem !important;
    line-height: 1.23 !important;
  }

  body[data-page="module"] .reader-shell > .toc-panel .toc-list a,
  body[data-page="module"] .reader-shell > .toc-panel a,
  body[data-page="module"] .reader-shell > .toc-panel p,
  body[data-page="module"] .reader-shell > .toc-panel li{
    margin-bottom: 4px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }

  /* Premium toolbar: top of course column, aligned with TOC top */
  body[data-page="module"] .reader-shell > #readerPremiumBandV263{
    grid-column: 2 !important;
    grid-row: 1 !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 42px !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 7px 11px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    z-index: 20 !important;
    border-radius: 15px !important;
    overflow: visible !important;
  }

  body[data-page="module"] .reader-shell > #readerPremiumBandV263 .reader-premium-brand-v263{
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    flex: 0 0 auto !important;
  }

  body[data-page="module"] .reader-shell > #readerPremiumBandV263 .reader-premium-logo-v263{
    width: 50px !important;
    max-width: 50px !important;
    max-height: 26px !important;
    object-fit: contain !important;
  }

  body[data-page="module"] .reader-shell > #readerPremiumBandV263 h1,
  body[data-page="module"] .reader-shell > #readerPremiumBandV263 .reader-premium-eyebrow-v263{
    display: none !important;
  }

  body[data-page="module"] .reader-shell > #readerPremiumBandV263 .reader-premium-copy-v263{
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    justify-content: flex-start !important;
  }

  body[data-page="module"] .reader-shell > #readerPremiumBandV263 .reader-premium-actions-v263{
    margin: 0 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 7px !important;
  }

  body[data-page="module"] .reader-shell > #readerPremiumBandV263 .reader-premium-actions-v263 button,
  body[data-page="module"] .reader-shell > #readerPremiumBandV263 .reader-premium-actions-v263 a{
    padding: 6px 9px !important;
    font-size: .62rem !important;
    line-height: 1.06 !important;
    white-space: nowrap !important;
  }

  /* Course card: directly under toolbar in same column */
  body[data-page="module"] .reader-shell > .reader-card{
    grid-column: 2 !important;
    grid-row: 2 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    align-self: start !important;
  }

  /* Reset previous forced margin-left rules on the real reader internals */
  body[data-page="module"] .reader-card,
  body[data-page="module"] .reader-head,
  body[data-page="module"] #moduleContent,
  body[data-page="module"] .reader-content,
  body[data-page="module"] article.reader-card,
  body[data-page="module"] .module-nav{
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: auto !important;
    max-width: none !important;
  }

  body[data-page="module"] .reader-head{
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }

  body[data-page="module"] .reader-content{
    padding-top: 30px !important;
  }

  /* On very wide screens, keep the whole module area a bit more centered while preserving left TOC */
  @media(min-width:1280px){
    body[data-page="module"] .reader-shell{
      padding-left: max(10px, calc((100vw - 1180px) / 2)) !important;
    }
  }

  /* Keep module picker/dialogs above everything */
  body[data-page="module"] .module-picker-overlay,
  body[data-page="module"] .module-picker-panel,
  body[data-page="module"] .reader-module-picker,
  body[data-page="module"] .reader-switcher,
  body[data-page="module"] .module-switcher,
  body[data-page="module"] .v210-overlay,
  body[data-page="module"] .v210-panel,
  body[data-page="module"] [role="dialog"]{
    z-index: 9999 !important;
    pointer-events: auto !important;
  }
}

/* Tablet/mobile: single-column safe fallback, do not force left TOC */
@media(max-width:900px){
  body[data-page="module"] main{
    padding-top: 82px !important;
  }

  body[data-page="module"] .reader-shell{
    grid-template-columns: 1fr !important;
    padding: 0 12px 60px !important;
    gap: 10px !important;
  }

  body[data-page="module"] .reader-shell > #readerPremiumBandV263,
  body[data-page="module"] .reader-shell > .reader-card{
    grid-column: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body[data-page="module"] .reader-shell > .toc-panel{
    position: sticky !important;
    top: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: 86px !important;
    display: flex !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    margin: 0 !important;
    z-index: 20 !important;
  }
}


/* =========================
   v282 — Practice interactivity safety
   ========================= */

body[data-page="practice"] .option,
body[data-page="practice"] .tool-btn,
body[data-page="practice"] .single-nav-actions .btn,
body[data-page="practice"] .unknown-btn,
body[data-page="practice"] .report-btn,
body[data-page="practice"] .practice-card button,
body[data-page="practice"] .practice-card a{
  pointer-events: auto !important;
  position: relative !important;
  z-index: 20 !important;
}

body[data-page="practice"] .single-question-card,
body[data-page="practice"] #practiceList{
  pointer-events: auto !important;
}

body[data-page="practice"] .v282-next-visible{
  box-shadow: 0 0 0 2px rgba(216,180,91,.24), 0 12px 30px rgba(0,0,0,.24) !important;
}

/* =========================
   v283 — Mes points faibles déroulant compact
   ========================= */
body[data-page="practice"] .adaptive-weak-dashboard.v261{
  padding: 12px 14px !important;
  margin: 10px 0 14px !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-head{
  align-items: center !important;
  margin-bottom: 0 !important;
  cursor: pointer !important;
  user-select: none !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-title{
  min-width: 170px !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-summary{
  margin: 4px 0 0 !important;
  color: rgba(221,229,245,.58) !important;
  font-size: .72rem !important;
  line-height: 1.25 !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-stats{
  min-width: min(460px, 52%) !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-stats span{
  padding: 7px 9px !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-toggle{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  flex: 0 0 auto !important;
  min-width: 96px !important;
  border: 1px solid rgba(216,180,91,.26) !important;
  background: rgba(216,180,91,.10) !important;
  color: rgba(255,244,207,.92) !important;
  border-radius: 999px !important;
  padding: 8px 11px !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
  cursor: pointer !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-toggle:hover{
  background: rgba(216,180,91,.16) !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-chevron{
  display: inline-block !important;
  font-size: .92rem !important;
  line-height: 1 !important;
  transform: rotate(0deg) !important;
  transition: transform .18s ease !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261.is-open .weak-chevron{
  transform: rotate(180deg) !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-collapsible{
  max-height: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  margin-top: 0 !important;
  transition: max-height .24s ease, opacity .18s ease, margin-top .24s ease !important;
}

body[data-page="practice"] .adaptive-weak-dashboard.v261.is-open .weak-collapsible{
  max-height: 760px !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  margin-top: 12px !important;
}

@media(max-width:860px){
  body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-head{
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 10px !important;
  }
  body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-stats{
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
    order: 3 !important;
  }
  body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-toggle{
    justify-self: end !important;
  }
}

@media(max-width:520px){
  body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-stats{
    gap: 6px !important;
  }
  body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-toggle{
    min-width: 86px !important;
    padding: 7px 9px !important;
  }
  body[data-page="practice"] .adaptive-weak-dashboard.v261 .weak-summary{
    font-size: .68rem !important;
  }
}

/* =========================
   v284 — Mobile header léger
   Objectif: réduire fortement la hauteur du bloc supérieur sur téléphone.
   Logo plus discret, langues sur la même ligne, recherche en une seule pilule.
   ========================= */
@media (max-width: 760px){
  :root{ --header-h: 112px; }

  body:not(.practice-focus) .site-header,
  body:not(.practice-focus) header.site-header{
    background: rgba(7,10,16,.92) !important;
    backdrop-filter: blur(16px) !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
  }

  body:not(.practice-focus) .site-header .nav-shell,
  body:not(.practice-focus) header.site-header .nav-shell{
    display: grid !important;
    grid-template-columns: auto minmax(0,1fr) auto !important;
    grid-template-areas:
      "brand lang toggle"
      "tools tools tools"
      "nav nav nav" !important;
    align-items: center !important;
    justify-content: stretch !important;
    gap: 6px 8px !important;
    padding: 6px 10px 8px !important;
    max-width: 100vw !important;
    width: 100% !important;
    flex-wrap: unset !important;
  }

  body:not(.practice-focus) .site-header .brand,
  body:not(.practice-focus) header.site-header .brand{
    grid-area: brand !important;
    min-width: 0 !important;
    width: auto !important;
    gap: 0 !important;
  }

  body:not(.practice-focus) .site-header .brand-logo-official,
  body:not(.practice-focus) header.site-header .brand-logo-official{
    width: 76px !important;
    height: auto !important;
    max-width: 76px !important;
    max-height: 76px !important;
    object-fit: contain !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  body:not(.practice-focus) .site-header .brand-context,
  body:not(.practice-focus) header.site-header .brand-context,
  body:not(.practice-focus) .site-header .brand-context small,
  body:not(.practice-focus) header.site-header .brand-context small{
    display: none !important;
  }

  body:not(.practice-focus) .site-header .brand-lang,
  body:not(.practice-focus) header.site-header .brand-lang,
  body:not(.practice-focus) .site-header .brand-lang.compact-lang,
  body:not(.practice-focus) header.site-header .brand-lang.compact-lang{
    grid-area: lang !important;
    justify-self: center !important;
    align-self: center !important;
    margin: 0 !important;
    transform: none !important;
  }

  body:not(.practice-focus) .site-header .compact-lang,
  body:not(.practice-focus) header.site-header .compact-lang,
  body:not(.practice-focus) .site-header .lang-switch,
  body:not(.practice-focus) header.site-header .lang-switch{
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: auto !important;
    max-width: max-content !important;
    padding: 2px !important;
    gap: 3px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.04) !important;
    border: 1px solid rgba(255,255,255,.11) !important;
  }

  body:not(.practice-focus) .site-header .compact-lang button,
  body:not(.practice-focus) header.site-header .compact-lang button,
  body:not(.practice-focus) .site-header .lang-switch button,
  body:not(.practice-focus) header.site-header .lang-switch button{
    min-width: 34px !important;
    min-height: 30px !important;
    padding: 3px 7px !important;
    font-size: .72rem !important;
    line-height: 1 !important;
  }

  body:not(.practice-focus) .site-header .menu-toggle,
  body:not(.practice-focus) header.site-header .menu-toggle{
    grid-area: toggle !important;
    justify-self: end !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 16px !important;
    font-size: 1.15rem !important;
  }

  body:not(.practice-focus) .site-header .global-tools,
  body:not(.practice-focus) header.site-header .global-tools{
    grid-area: tools !important;
    order: unset !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    display: block !important;
    margin: 0 !important;
  }

  body:not(.practice-focus) .site-header .global-search,
  body:not(.practice-focus) header.site-header .global-search{
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    display: block !important;
  }

  body:not(.practice-focus) .site-header .global-search-label,
  body:not(.practice-focus) header.site-header .global-search-label{
    display: none !important;
  }

  body:not(.practice-focus) .site-header .global-search input,
  body:not(.practice-focus) header.site-header .global-search input{
    width: 100% !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 42px 0 14px !important;
    border-radius: 999px !important;
    font-size: .88rem !important;
    font-weight: 800 !important;
    background: rgba(255,255,255,.045) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    color: var(--text) !important;
  }

  body:not(.practice-focus) .site-header .global-search-submit-v101,
  body:not(.practice-focus) header.site-header .global-search-submit-v101{
    position: absolute !important;
    right: 4px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(246,215,126,.12) !important;
    border: 1px solid rgba(246,215,126,.22) !important;
    color: rgba(246,215,126,.96) !important;
    font-size: .78rem !important;
    line-height: 1 !important;
    box-shadow: none !important;
  }

  body:not(.practice-focus) .site-header .nav-links,
  body:not(.practice-focus) header.site-header .nav-links{
    grid-area: nav !important;
    position: static !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 8px !important;
    border-radius: 14px !important;
    background: rgba(10,16,28,.96) !important;
  }

  body:not(.practice-focus) .global-search-results{
    top: 108px !important;
  }
}

@media (max-width: 520px){
  :root{ --header-h: 104px; }

  body:not(.practice-focus) .site-header .nav-shell,
  body:not(.practice-focus) header.site-header .nav-shell{
    padding: 5px 9px 7px !important;
    gap: 5px 7px !important;
  }

  body:not(.practice-focus) .site-header .brand-logo-official,
  body:not(.practice-focus) header.site-header .brand-logo-official{
    width: 64px !important;
    max-width: 64px !important;
    max-height: 64px !important;
  }

  body:not(.practice-focus) .site-header .menu-toggle,
  body:not(.practice-focus) header.site-header .menu-toggle{
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    border-radius: 15px !important;
  }

  body:not(.practice-focus) .site-header .compact-lang button,
  body:not(.practice-focus) header.site-header .compact-lang button,
  body:not(.practice-focus) .site-header .lang-switch button,
  body:not(.practice-focus) header.site-header .lang-switch button{
    min-width: 32px !important;
    min-height: 28px !important;
    padding: 3px 6px !important;
    font-size: .68rem !important;
  }

  body:not(.practice-focus) .site-header .global-search input,
  body:not(.practice-focus) header.site-header .global-search input{
    height: 32px !important;
    min-height: 32px !important;
    font-size: .84rem !important;
  }

  body:not(.practice-focus) .site-header .global-search-submit-v101,
  body:not(.practice-focus) header.site-header .global-search-submit-v101{
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    min-height: 26px !important;
  }

  body:not(.practice-focus) .global-search-results{
    top: 101px !important;
  }
}
