:root{
  --bg:#0b0f14;--panel:#121923;--panel2:#18212e;--line:#243044;--fg:#e8eef6;--muted:#8d9bb0;
  --up:#2fcf8d;--down:#f0545a;--accent:#f6b93b;--accent-fg:#1b1300;--info:#5aa9ff;
  --sans:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,"Cascadia Mono","SF Mono",Consolas,monospace;
  --r:14px;--shadow:0 6px 24px rgba(0,0,0,.35);
}
:root[data-theme="light"],.pv[data-theme="light"]{
  --bg:#f5f7fa;--panel:#ffffff;--panel2:#eef2f7;--line:#d6dde8;--fg:#142033;--muted:#566479;
  --up:#0e9f6e;--down:#d63a42;--accent:#9a6200;--accent-fg:#fff;--info:#1f6fd1;--shadow:0 6px 20px rgba(20,32,51,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font:1rem/1.6 var(--sans);-webkit-text-size-adjust:100%}
a{color:var(--info)}
h1,h2,h3,h4{line-height:1.2;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(1.8rem,5vw,2.8rem)}h2{font-size:1.5rem}h3{font-size:1.15rem}
p{margin:0 0 .9em}
code,.mono{font-family:var(--mono)}
code{background:var(--panel2);padding:.1em .35em;border-radius:5px;font-size:.9em}
.muted{color:var(--muted)}.pad{padding:1rem}.small{font-size:.85rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--accent);color:var(--accent-fg);padding:.5rem 1rem;z-index:99}
.skip:focus{left:8px;top:8px}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}
.c-up{fill:var(--up)}.c-down{fill:var(--down)}
.up{color:var(--up)}.down{color:var(--down)}

.top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem 1rem;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--fg);font-weight:600;font-size:1.05rem}
.brand b{color:var(--accent);margin-left:.1em;font-weight:800}
.stats{display:flex;align-items:center;gap:.75rem;font-family:var(--mono);font-size:.9rem}
.stat{display:flex;align-items:center;gap:.3rem;text-decoration:none;color:var(--fg)}
.flame{width:26px;height:26px}
.flame.lit .f-out{fill:#ff8a1f}.flame.lit .f-in{fill:#ffd23f}
.flame:not(.lit) .f-out,.flame:not(.lit) .f-in{fill:var(--line)}
.flame.lit{animation:flick 2.4s ease-in-out infinite;transform-origin:50% 90%}
@keyframes flick{0%,100%{transform:scale(1) rotate(-1deg)}50%{transform:scale(1.07) rotate(2deg)}}
.ring{width:30px;height:30px}
.ring circle{fill:none;stroke-width:4}
.ring .bg{stroke:var(--line)}.ring .fg{stroke:var(--accent);stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .6s}
.xpbar{display:none;width:80px;height:6px;background:var(--line);border-radius:9px;overflow:hidden}
.xpbar i{display:block;height:100%;background:var(--info)}
@media(min-width:700px){.xpbar{display:block}}

.nav{display:flex;flex-wrap:wrap;gap:.25rem;padding:.4rem .8rem;border-bottom:1px solid var(--line);scrollbar-width:thin}
.nav a{white-space:nowrap;padding:.45rem .8rem;border-radius:999px;text-decoration:none;color:var(--muted);font-weight:600;font-size:.92rem}
.nav a:hover{color:var(--fg)}
.nav a.on{background:var(--accent);color:var(--accent-fg)}

main{max-width:1080px;margin:0 auto;padding:1.25rem 1rem 3rem;outline:none}
.foot{max-width:1080px;margin:0 auto;padding:1rem;color:var(--muted);font-size:.85rem;border-top:1px solid var(--line);text-align:center}
.warn-line{color:var(--accent);font-weight:600}

.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:1.1rem 1.2rem;margin-bottom:1rem}
.card.flat{background:var(--panel2)}
.grid{display:grid;gap:1rem}
.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr))}
.row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.between{justify-content:space-between}
.btn{font:inherit;font-weight:700;cursor:pointer;border:1px solid var(--line);background:var(--panel2);color:var(--fg);padding:.6rem 1rem;border-radius:10px;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;min-height:44px}
.btn:hover{border-color:var(--accent)}
.btn.pri{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}
.btn.buy{background:var(--up);border-color:var(--up);color:#04140c}
.btn.sell{background:var(--down);border-color:var(--down);color:#fff}
.btn.sm{padding:.3rem .65rem;min-height:40px;font-size:.88rem}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.chip{display:inline-block;padding:.1rem .6rem;border-radius:999px;background:var(--panel2);border:1px solid var(--line);font-size:.78rem;color:var(--muted)}
.chip.ok{color:var(--up);border-color:var(--up)}
label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.25rem}
input,select,textarea{font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:.55rem .7rem;width:100%;min-height:42px}
input[type=range]{padding:0;min-height:28px;accent-color:var(--accent)}
input[type=checkbox],input[type=radio]{width:auto;min-height:0;accent-color:var(--accent)}
textarea{min-height:90px}
.field{margin-bottom:.8rem}
.inline-check{display:flex;gap:.5rem;align-items:flex-start;font-weight:400;cursor:pointer;padding:.35rem 0}

.hero{display:grid;gap:1.2rem;align-items:center;margin-bottom:1.5rem}
@media(min-width:860px){.hero{grid-template-columns:1fr 1.15fr}}
.hero h1 span{color:var(--accent)}
.hero canvas,.chart-box canvas{width:100%;display:block;touch-action:pan-y;background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}
.hero canvas{height:300px}
.chart-box canvas{height:340px}
.chart-box.tall canvas{height:420px}
.tip{min-height:3.2em;font-size:.9rem;color:var(--muted);font-family:var(--mono)}

.prog{height:8px;background:var(--line);border-radius:99px;overflow:hidden}
.prog i{display:block;height:100%;background:var(--up);border-radius:99px;transition:width .5s}
.mods{display:grid;gap:.8rem}
.mod h3{display:flex;gap:.5rem;align-items:center}
.lesson-list{list-style:none;margin:.5rem 0 0;padding:0}
.lesson-list li a{display:flex;justify-content:space-between;gap:.75rem;padding:.55rem .6rem;border-radius:9px;text-decoration:none;color:var(--fg)}
.lesson-list li a:hover{background:var(--panel2)}
.lesson-list .done{color:var(--up)}
.lesson-list .lock{opacity:.5}

.lesson{max-width:760px;margin:0 auto}
.lesson h3{margin-top:1.4em}
.lesson blockquote{margin:1em 0;padding:.7rem 1rem;border-left:4px solid var(--accent);background:var(--panel2);border-radius:0 10px 10px 0}
.lesson ul,.lesson ol{padding-left:1.3rem}
.box{border-radius:12px;padding:.9rem 1.1rem;margin:1.2rem 0;border:1px solid var(--line)}
.box.fail{border-color:var(--down);background:color-mix(in srgb,var(--down) 8%,var(--panel))}
.box.evid{border-color:var(--info);background:color-mix(in srgb,var(--info) 8%,var(--panel))}
.box.act{border-color:var(--up);background:color-mix(in srgb,var(--up) 8%,var(--panel))}
.box h4{margin:0 0 .3em}
.tbl{overflow-x:auto;margin:1em 0}
table{border-collapse:collapse;width:100%;font-size:.92rem}
th,td{border:1px solid var(--line);padding:.45rem .6rem;text-align:left}
th{background:var(--panel2)}
.mono-num{font-family:var(--mono)}

.q{margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:12px}
.opt{display:block;width:100%;text-align:left;font:inherit;background:var(--panel2);color:var(--fg);border:2px solid transparent;border-radius:10px;padding:.65rem .9rem;margin:.35rem 0;cursor:pointer;min-height:44px}
.opt:hover{border-color:var(--accent)}
.opt.right{border-color:var(--up);background:color-mix(in srgb,var(--up) 15%,var(--panel2))}
.opt.wrong{border-color:var(--down);background:color-mix(in srgb,var(--down) 15%,var(--panel2))}
.expl{margin-top:.6rem;display:flex;gap:.7rem;align-items:flex-start;font-size:.93rem}
.mascot{width:44px;height:44px;flex:none}

.kpi{background:var(--panel2);border-radius:12px;padding:.7rem .9rem}
.kpi b{display:block;font-family:var(--mono);font-size:1.35rem}
.kpi span{font-size:.8rem;color:var(--muted)}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;max-width:420px}
.cal div{aspect-ratio:1;display:grid;place-items:center;border-radius:8px;background:var(--panel2);font-size:.8rem;color:var(--muted)}
.cal .hit{background:var(--up);color:#04140c;font-weight:800}
.cal .frz{background:var(--info);color:#fff}
.cal .rest{outline:1px dashed var(--muted)}
.cal .today{outline:2px solid var(--accent)}
.cal .h{background:none;font-weight:700}
.badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem}
.badge{padding:.7rem;border-radius:12px;background:var(--panel2);text-align:center;font-size:.85rem}
.badge.off{opacity:.4;filter:grayscale(1)}
.badge .ic{font-size:1.8rem;display:block}

.sim-bar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.7rem 0}
.alert{border:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--panel));padding:.7rem 1rem;border-radius:10px;margin:.6rem 0}
.alert.bad{border-color:var(--down);background:color-mix(in srgb,var(--down) 10%,var(--panel))}
.toast{position:fixed;left:50%;bottom:18px;transform:translate(-50%,120px);background:var(--panel);border:1px solid var(--accent);padding:.7rem 1.1rem;border-radius:12px;box-shadow:var(--shadow);transition:transform .35s;z-index:60;max-width:92vw}
.toast.show{transform:translate(-50%,0)}
#confetti{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:50}
dialog{border:1px solid var(--line);background:var(--panel);color:var(--fg);border-radius:var(--r);max-width:min(560px,92vw);padding:1.4rem;box-shadow:var(--shadow)}
dialog::backdrop{background:rgba(0,0,0,.6)}
.steps{display:flex;gap:.3rem;margin-bottom:1rem}.steps i{flex:1;height:5px;border-radius:9px;background:var(--line)}.steps i.on{background:var(--accent)}
.choice{display:grid;gap:.5rem}
.choice label{display:flex;gap:.6rem;align-items:center;padding:.7rem .9rem;border:2px solid var(--line);border-radius:10px;cursor:pointer;font-weight:600;margin:0}
.choice label:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--panel))}
.flash{min-height:180px;display:grid;place-items:center;text-align:center;font-size:1.25rem;padding:1.4rem;cursor:pointer}
.cert{background:#fffdf5;color:#222;border:6px double #b8860b;padding:2.2rem;text-align:center;max-width:820px;margin:0 auto;font-family:Georgia,serif}
.cert h1{color:#7a5200}
.cert .nm{font-size:2rem;border-bottom:1px solid #999;display:inline-block;min-width:60%;padding:.2em}
.legal{font-size:.8rem;color:#555}

@media print{
  body{background:#fff}.top,.nav,.foot,.noprint,#confetti{display:none!important}
  main{max-width:none;padding:0}.cert{border-color:#b8860b}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ---- Entrada fácil y navegación ---- */
.btn.big{font-size:1.15rem;padding:.9rem 1.6rem;min-height:56px;border-radius:14px}
.bigcard{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 14%,var(--panel)),var(--panel))}
.narrow{max-width:640px;margin:1rem auto}
.choice.big{display:grid;gap:.6rem}
.bigopt{font:inherit;font-weight:700;font-size:1.05rem;text-align:left;cursor:pointer;color:var(--fg);background:var(--panel2);border:2px solid var(--line);border-radius:14px;padding:1rem 1.1rem;min-height:60px}
.bigopt:hover,.bigopt.sel{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--panel2))}
.tile{display:flex;flex-direction:column;gap:.3rem;text-decoration:none;color:var(--fg);background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:1.1rem 1.2rem;min-height:96px}
.tile:hover{border-color:var(--accent);transform:translateY(-2px)}
.tile b{font-size:1.05rem}.tile span{color:var(--muted);font-size:.9rem}
.lessonbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;align-items:center;gap:.75rem;padding:.55rem 1rem calc(.55rem + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(8px);border-top:1px solid var(--line)}
.lessonbar .lb-mid{flex:1;font-size:.8rem;color:var(--muted)}
.lessonbar a[aria-disabled=true]{opacity:.35;pointer-events:none}
.lesson{padding-bottom:4.5rem}
.jump{display:flex;gap:.4rem;flex-wrap:wrap;margin:.5rem 0 1rem}
.jump a{padding:.3rem .8rem;border-radius:999px;background:var(--panel2);border:1px solid var(--line);color:var(--fg);text-decoration:none;font-size:.85rem;font-weight:600}
.jump a:hover{border-color:var(--accent)}
.box.demo{border-color:var(--info);background:color-mix(in srgb,var(--info) 8%,var(--panel))}
.opt-l{opacity:.55}
.doneC{border-color:var(--up)}
.mission{border-bottom:1px solid var(--line);padding:.6rem 0}
/* ---- Ayuda rápida ---- */
.fab{position:fixed;right:16px;bottom:78px;z-index:40;width:48px;height:48px;border-radius:50%;border:2px solid var(--accent);background:var(--accent);color:var(--accent-fg);font:800 1.4rem var(--sans);cursor:pointer;box-shadow:var(--shadow)}
.fab:hover{transform:scale(1.07)}
dialog.wide{max-width:min(760px,95vw);width:95vw;max-height:88vh;overflow:auto}
.ayuda-grid{display:grid;gap:1rem}
@media(min-width:900px){.ayuda-grid{grid-template-columns:1.4fr 1fr;align-items:start}}
.faq{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:.6rem .9rem;margin-bottom:.5rem}
.faq summary{cursor:pointer;font-weight:600}
.faq-a{margin-top:.5rem;color:var(--fg)}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--line)}
.dot.on{background:var(--up);box-shadow:0 0 6px var(--up)}
kbd{font-family:var(--mono);background:var(--panel2);border:1px solid var(--line);border-bottom-width:3px;border-radius:6px;padding:.05em .4em}
.flashq{font-size:1.2rem;text-align:center;padding:1.6rem}
.opt.sel{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--panel2))}
/* ---- Simulador MT5 ---- */
.mt5-top{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin-bottom:.6rem}
.mt5-grid{display:grid;gap:.8rem}
@media(min-width:820px){.mt5-grid{grid-template-columns:300px 1fr}}
.mt5-watch table{font-size:.85rem}.mt5-watch tr[data-s]{cursor:pointer}.mt5-watch tr.sel{background:color-mix(in srgb,var(--accent) 18%,var(--panel))}
.mt5-box{margin-top:.8rem}.mt5-mission{margin-top:.8rem;border-color:var(--accent)}
.mt5-form{border-color:var(--accent);margin-top:.8rem}

/* ---- Avisos legales y aceptación obligatoria ---- */
.topwrap{position:sticky;top:0;z-index:20}
.top{position:static}
.legalbar{background:color-mix(in srgb,var(--accent) 16%,var(--bg));color:var(--fg);border-bottom:1px solid var(--accent);font-size:.74rem;line-height:1.3;text-align:center;padding:.3rem .6rem;font-weight:600}
.legalnote{border:1px solid var(--accent);border-left-width:5px;background:color-mix(in srgb,var(--accent) 9%,var(--panel));border-radius:10px;padding:.6rem .9rem;margin:.8rem 0;font-size:.85rem}
.legalnote.strong{margin-top:1.4rem}
.gate .doc.scroll{max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:.6rem 1rem;background:var(--bg);font-size:.9rem}
.gate details{margin:.4rem 0}.gate summary{cursor:pointer;font-weight:700;padding:.4rem 0}
.gate .checks{margin:1rem 0}
.gated .nav,.gated .stats,.gated .fab,.gated .lessonbar{display:none!important}
.gated .brand{pointer-events:none}

/* lecciones más claras: resumen simple, palabras clave y guía de práctica */
.box.simple{border-left-color:var(--accent,#4cc38a)}
.box.simple p{font-size:1.05rem}
.box.kw dl{margin:.4rem 0 0;display:grid;gap:.5rem}
.box.kw dt{font-weight:700}
.box.kw dd{margin:0 0 .2rem;color:var(--muted,inherit)}
.guide{border:1px solid var(--line);border-left:4px solid var(--accent,#4cc38a);border-radius:10px;padding:.8rem 1rem;margin:.6rem 0 1rem;background:rgba(76,195,138,.07)}
.guide ol{margin:.3rem 0 .6rem 1.2rem}
.guide .goal{background:rgba(255,200,60,.12);border-radius:8px;padding:.5rem .7rem}

/* acceso: pasos y puntos esenciales */
.stepno{font-size:.85rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent,#4cc38a);margin:0 0 .3rem}
.essentials{list-style:none;padding:0;margin:.6rem 0 1rem;display:grid;gap:.6rem}
.essentials li{display:flex;gap:.7rem;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:.6rem .8rem}
.essentials li>span{font-size:1.5rem;line-height:1}
.docsbox{margin:.5rem 0 1rem}
.docsbox>summary{cursor:pointer;font-weight:600}
.need{font-weight:600;margin:.6rem 0}
.need.ok{color:var(--up,#4cc38a)}
.gate .h3{font-size:1.1rem;margin:1rem 0 .4rem}

/* ilustraciones SVG de las lecciones */
.figs{border-left-color:var(--info)}
.figs h4{margin-bottom:.6rem}
.fig{margin:0 0 1.4rem;padding:.7rem .8rem;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.fig figcaption{margin-bottom:.4rem;font-size:1.02rem}
.fig svg{display:block;width:100%;max-width:640px;height:auto;margin:0 auto;overflow:visible}
.fig .fig-p{margin:.6rem 0 0;color:var(--muted);font-size:.92rem}
.fig .t{fill:var(--fg);font:12px var(--sans)}
.fig .t.b{font-weight:700}
.fig .t.tm{fill:var(--muted)}
.fig .t.w{fill:#fff}
.fig .t.big{font-size:20px;font-weight:700}
.fig .t.mono{font-family:var(--mono)}
.fig text.warn{fill:var(--accent)}
.fig text.up{fill:var(--up)}
.fig text.dn{fill:var(--down)}
.fig .em{font-size:20px}
.fig line,.fig polyline,.fig path{vector-effect:non-scaling-stroke}
.fig .ln{stroke:var(--fg);stroke-width:1.6;fill:none}
.fig .lnm{stroke:var(--muted);stroke-width:1;stroke-dasharray:4 3;fill:none}
.fig .lng{stroke:var(--up);stroke-width:1.8;fill:none}
.fig .lnr{stroke:var(--down);stroke-width:1.8;fill:none}
.fig polyline.acc,.fig line.acc{stroke:var(--info);stroke-width:2.2;fill:none}
.fig polyline.warn,.fig line.warn{stroke:var(--accent);stroke-width:2;fill:none}
.fig .accl{stroke:var(--info);stroke-width:1.5}
.fig .plank{stroke:var(--accent);stroke-width:9;stroke-linecap:round}
.fig .inkf{fill:var(--fg)}
.fig .accf{fill:var(--info);stroke:none}
.fig .accf2{fill:var(--info)}
.fig .warnf{fill:var(--accent)}
.fig .upf{fill:var(--up)}
.fig .dnf{fill:var(--down)}
.fig .zaccf{fill:color-mix(in srgb,var(--info) 30%,transparent)}
.fig .bx{fill:var(--panel2);stroke:var(--line)}
.fig .bx2{fill:color-mix(in srgb,var(--panel2) 60%,transparent)}
.fig .zdn{fill:color-mix(in srgb,var(--down) 22%,transparent);stroke:none}
.fig .zup{fill:color-mix(in srgb,var(--up) 22%,transparent);stroke:none}
.fig .zacc{fill:color-mix(in srgb,var(--info) 24%,transparent);stroke:none}
.fig .zneu{fill:color-mix(in srgb,var(--muted) 30%,transparent);stroke:none}
.fig .zdn2{fill:color-mix(in srgb,var(--down) 55%,transparent);stroke:none}
.fig .zup2{fill:color-mix(in srgb,var(--up) 55%,transparent);stroke:none}
.fig .vol{fill:color-mix(in srgb,var(--muted) 55%,transparent);stroke:none}
.fig .baracc{fill:var(--info);stroke:none}
.fig .barw{fill:var(--accent);stroke:none}
.fig .cu{fill:var(--up);stroke:var(--up)}
.fig .cd{fill:var(--down);stroke:var(--down)}
.fig .wu{stroke:var(--up);stroke-width:1.6}
.fig .wd{stroke:var(--down);stroke-width:1.6}

.fig .t.sm{font-size:10.5px}

/* tamaño de letra elegible */
html[data-size="sm"]{font-size:87.5%}
html[data-size="md"]{font-size:100%}
html[data-size="lg"]{font-size:118.75%}
html[data-size="xl"]{font-size:137.5%}
/* apariencia: opciones y vista previa */
.pv[data-theme="dark"]{--bg:#0b0f14;--panel:#121923;--panel2:#18212e;--line:#243044;--fg:#e8eef6;--muted:#8d9bb0;--up:#2fcf8d;--down:#f0545a;--accent:#f6b93b;--accent-fg:#1b1300;--info:#5aa9ff}
.pv{background:var(--bg);color:var(--fg);border:1px solid var(--line);border-radius:10px}
.pv.mini{display:block;height:54px;padding:8px;position:relative;margin-bottom:.4rem}
.pv.mini i{display:block;border-radius:3px;height:7px;margin-bottom:5px}
.pv.mini .b1{width:45%;background:var(--accent)}
.pv.mini .b2{width:90%;background:var(--fg);opacity:.75}
.pv.mini .b3{width:70%;background:var(--muted);opacity:.7}
.pv.mini .b4{width:30%;background:var(--info)}
.look h3{font-size:1rem;margin:1rem 0 .5rem}
.look-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.6rem}
.look-opt{display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:.15rem;background:var(--panel);color:var(--fg);border:2px solid var(--line);border-radius:12px;padding:.6rem;cursor:pointer;font:inherit}
.look-opt.on{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent)}
.look-sizes{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}
.look-size{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.15rem;min-height:4.2rem;background:var(--panel);color:var(--fg);border:2px solid var(--line);border-radius:12px;padding:.4rem;cursor:pointer;font:inherit}
.look-size.on{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent)}
.look-size small{font-size:.72rem;color:var(--muted)}
.sample{padding:1rem}
.sample .sample-t{display:block;font-size:1.2rem;margin-bottom:.4rem}
.sample p{margin:0 0 .7rem}
.look-btn{margin-left:auto;margin-right:.5rem;background:var(--panel);color:var(--fg);border:1px solid var(--line);border-radius:999px;padding:.3rem .8rem;cursor:pointer;font:inherit;font-size:.9rem;white-space:nowrap}
.look-btn:hover{border-color:var(--accent)}

.guide .try{background:color-mix(in srgb,var(--info) 14%,transparent);border-radius:8px;padding:.5rem .7rem;margin:.5rem 0 0}

/* glosario */
.gl-top input{width:100%;font-size:1.05rem;padding:.7rem .9rem;margin-bottom:.5rem}
.gl-chips,.gl-letters{display:flex;flex-wrap:wrap;gap:.4rem}
.btnchip{cursor:pointer;font:inherit;font-size:.85rem;background:var(--panel2);color:var(--fg);border:1px solid var(--line)}
.btnchip:hover,.btnchip.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,var(--panel2))}

.toolgroup{margin:1.6rem 0 .5rem;font-size:1.2rem}
.toolcard{display:flex;flex-direction:column;gap:.3rem;text-decoration:none;color:inherit}
.toolcard:hover{border-color:var(--accent)}
.toolcard .btn{margin-top:auto;align-self:flex-start}

/* lección guiada por pasos */
.lstep{display:none}
.lstep.on,.lessonall .lstep{display:block}
.stepper{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:.4rem;margin:.8rem 0 .4rem}
.stp{display:flex;align-items:center;justify-content:center;gap:.4rem;background:var(--panel);color:var(--muted);border:2px solid var(--line);border-radius:12px;padding:.5rem .4rem;cursor:pointer;font:inherit;font-size:.9rem;font-weight:600;min-height:2.8rem}
.stp .n{display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--panel2);font-size:.8rem}
.stp.on{border-color:var(--accent);color:var(--fg);background:color-mix(in srgb,var(--accent) 14%,var(--panel))}
.stp.on .n{background:var(--accent);color:var(--accent-fg)}
.stp.seen .n{background:var(--up);color:#fff}
.stp.seen .n::before{content:"✓"}
.stp.seen .n{font-size:0}.stp.seen .n::before{font-size:.8rem}
.stepnav{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin:1.4rem 0 .4rem;padding-top:1rem;border-top:1px solid var(--line);flex-wrap:wrap}
.lessonall .stepper{margin-top:.2rem}
.lessonall .stp .n{background:var(--panel2);color:var(--fg)}
.lessonall .stp.seen .n{font-size:.8rem}.lessonall .stp.seen .n::before{content:none}
.lessonall .stp.on{border-color:var(--line);background:var(--panel);color:var(--muted)}
.lessonall .stepnav{display:none}
@media (max-width:600px){.stp .t{font-size:.78rem}.stp{flex-direction:column;gap:.1rem;padding:.4rem .2rem}}

/* coach de simuladores */
.coach{border:1px solid var(--line);border-left:4px solid var(--info);background:color-mix(in srgb,var(--info) 9%,var(--panel));border-radius:10px;padding:.7rem .9rem;margin:.6rem 0;font-size:.95rem;line-height:1.5}
.coach b{font-weight:700}
.explain{border:1px solid var(--line);border-left:4px solid var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--panel));border-radius:10px;padding:.7rem .9rem;margin:.8rem 0;font-size:.95rem}
.explain h4{margin:0 0 .3rem}
.pulse{animation:pulse 1.4s ease-in-out infinite;outline:3px solid var(--accent);outline-offset:2px}
@keyframes pulse{50%{outline-color:transparent}}
@media (prefers-reduced-motion:reduce){.pulse{animation:none}}

/* palabras tocables */
.term{background:none;border:0;border-bottom:2px dotted var(--info);color:inherit;font:inherit;padding:0;cursor:help}
.term:hover,.term:focus-visible{background:color-mix(in srgb,var(--info) 18%,transparent)}
.term.demo{cursor:default;display:inline}
.termpop{position:fixed;left:50%;bottom:5.2rem;transform:translateX(-50%);width:min(94vw,26rem);background:var(--panel);color:var(--fg);border:2px solid var(--info);border-radius:14px;padding:.9rem 1rem;box-shadow:var(--shadow);z-index:60}
.termpop .tp-t{display:block;font-size:1.1rem;margin-bottom:.3rem;padding-right:2rem}
.termpop p{margin:0 0 .6rem}
.termpop .tp-x{position:absolute;top:.4rem;right:.5rem;background:none;border:0;color:var(--muted);font-size:1.1rem;cursor:pointer}
/* retos */
.retos .reto{position:relative;border:1px solid var(--line);border-radius:12px;padding:.8rem .9rem .8rem 2.6rem;margin:.7rem 0;background:var(--panel2)}
.reto .rnum{position:absolute;left:.7rem;top:.8rem;display:grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--accent);color:var(--accent-fg);font-size:.8rem;font-weight:700}
.reto.ok{border-color:var(--up)}.reto.bad{border-color:var(--down)}
.reto.ok .rnum{background:var(--up);color:#fff}
.reto .rq{font-weight:600;margin-bottom:.5rem}
.reto .row{gap:.4rem}
.reto .rin{width:9rem}
.reto .rfb{margin-top:.5rem;font-size:.95rem}
.rpicked{margin:.3rem 0 .5rem 1.2rem;padding:0}
.ritem{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:space-between;align-items:center;padding:.4rem 0;border-bottom:1px dashed var(--line)}
.ritem.rok{background:color-mix(in srgb,var(--up) 14%,transparent)}
.ritem.rno{background:color-mix(in srgb,var(--down) 14%,transparent)}
.rcats{display:flex;flex-wrap:wrap;gap:.3rem}
.rcandles{display:grid;grid-template-columns:repeat(auto-fit,minmax(5rem,1fr));gap:.5rem}
.rcandle{display:flex;flex-direction:column;align-items:center;background:var(--panel);border:2px solid var(--line);border-radius:12px;padding:.4rem;cursor:pointer;color:var(--fg);font:inherit}
.rcandle svg{width:100%;max-width:4.5rem;height:auto}
.rcandle.rok{border-color:var(--up)}.rcandle.rno{border-color:var(--down)}
.rcandle .rname{font-size:.7rem;color:var(--muted);min-height:1.8em;text-align:center}
.rcandle .cu{fill:var(--up);stroke:var(--up)}.rcandle .cd{fill:var(--down);stroke:var(--down)}.rcandle .wu{stroke:var(--up);stroke-width:1.6}.rcandle .wd{stroke:var(--down);stroke-width:1.6}
.rfig{margin:.3rem 0 .6rem}
.rfig svg{display:block;width:100%;max-width:560px;margin:0 auto;overflow:visible}

/* menú «Más» */
.nav .more{position:relative;display:inline-block}
.nav .more summary{list-style:none;cursor:pointer;padding:.5rem .8rem;border-radius:999px;color:var(--muted);font-weight:500;white-space:nowrap}
.nav .more summary::-webkit-details-marker{display:none}
.nav .more[open] summary,.nav .more summary:hover{color:var(--fg)}
.nav .more .morelist{position:fixed;z-index:30;min-width:12rem;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:.3rem;box-shadow:var(--shadow)}
.nav .more .morelist a{display:block;padding:.55rem .8rem;border-radius:8px;white-space:nowrap}

.nav .more.has-on summary{background:var(--accent);color:var(--accent-fg)}

/* selector de vista de la lección */
.viewmode{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin:.6rem 0 .4rem;padding:.25rem;background:var(--panel2);border:1px solid var(--line);border-radius:14px}
.vm{display:flex;flex-direction:column;align-items:center;gap:.1rem;background:transparent;color:var(--muted);border:2px solid transparent;border-radius:11px;padding:.55rem .5rem;cursor:pointer;font:inherit}
.vm small{font-size:.75rem;opacity:.85}
.vm[aria-pressed="true"]{background:var(--panel);color:var(--fg);border-color:var(--accent);box-shadow:0 1px 6px rgba(0,0,0,.2)}
.vm:hover{color:var(--fg)}
.lstep-h{display:none}
.lessonall .lstep-h{display:block;margin:1.8rem 0 .8rem;padding:.6rem .8rem;border-radius:10px;background:color-mix(in srgb,var(--accent) 14%,var(--panel));font-size:1.15rem;scroll-margin-top:4.5rem}
.lessonall .lstep:first-of-type .lstep-h{margin-top:.6rem}

/* pulido de experiencia */
@media (pointer:coarse){.btn.sm,.look-btn,.btnchip,.chip.btnchip,.term{min-height:44px}.btnchip{padding:.5rem .8rem}.term{min-height:0}}
.fab{width:44px;height:44px;font-size:1.2rem;opacity:.92}
body.has-lessonbar main{padding-bottom:7rem}
.lstep:focus{outline:none}
.qprog{display:flex;align-items:center;gap:.8rem;margin:.4rem 0 .8rem;font-size:.9rem;color:var(--muted)}
.qprog .prog{flex:1;height:8px;border-radius:99px;background:var(--panel2);overflow:hidden}
.qprog .prog i{display:block;height:100%;background:var(--up);transition:width .3s}
@media (max-width:600px){.top{padding:.35rem .8rem}.legalbar{font-size:.66rem;padding:.2rem .5rem}.nav a,.nav .more summary{padding:.4rem .6rem;font-size:.86rem}}
@media (prefers-reduced-motion:reduce){.qprog .prog i{transition:none}}

.btnchip{min-height:38px;display:inline-flex;align-items:center}
@media (max-width:600px){.nav{gap:.1rem;padding:.25rem .5rem}.nav a,.nav .more summary{padding:.3rem .55rem;font-size:13.5px}}
@media (max-width:600px){.top{gap:.4rem}.brand{font-size:.95rem;gap:.35rem}.brand svg{width:24px;height:24px}.stats{white-space:nowrap;gap:.35rem;font-size:.78rem;min-width:0}.look-btn{margin:0 0 0 .2rem;padding:.35rem .6rem;flex:none}.look-btn b{display:none}}
@media (max-width:600px){.top{gap:.4rem}.brand{font-size:.95rem;gap:.35rem}.brand svg{width:24px;height:24px}.stats{white-space:nowrap;gap:.35rem;font-size:.78rem;min-width:0}.look-btn{margin:0 0 0 .2rem;padding:.35rem .6rem;flex:none}.look-btn b{display:none}}

.lessonbar .lb-mid{min-width:0;overflow:hidden}.lessonbar .btn{flex:none}
@media (max-width:600px){.hide-sm{display:none}.lessonbar{gap:.5rem;padding-left:.6rem;padding-right:.6rem}}

@media (max-width:430px){.stats .stat:last-child{display:none}.brand{font-size:.9rem}.top{padding:.35rem .6rem}}
#updbar{position:fixed;left:50%;transform:translateX(-50%);bottom:5.5rem;z-index:70;background:var(--panel);color:var(--fg);border:2px solid var(--info);border-radius:14px;padding:.6rem .8rem;box-shadow:var(--shadow);display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:center;width:min(94vw,30rem);font-size:.92rem}

/* evitar desbordes en pantallas angostas */
.mods,.grid{min-width:0}.mods>*,.grid>*,.mt5-grid>*{min-width:0}
.mods{grid-template-columns:minmax(0,1fr)}
.lesson-list a{flex-wrap:wrap}
.mt5-watch{overflow-x:auto;max-width:100%}
.look-sizes{grid-template-columns:repeat(4,minmax(0,1fr))}.look-size{min-width:0;padding:.3rem .2rem}

main a,.foot a,main li,main td{overflow-wrap:anywhere}

/* lector obligatorio de documentos */
.rdlist{list-style:none;padding:0;margin:.5rem 0 1rem;display:grid;gap:.5rem}
.rdlist li{display:grid;grid-template-columns:1fr auto auto;gap:.6rem;align-items:center;border:1px solid var(--line);border-radius:12px;padding:.6rem .8rem;background:var(--panel)}
.rdlist .chip{white-space:nowrap}
@media (max-width:480px){.rdlist li{grid-template-columns:1fr auto}.rdlist li .chip{grid-column:1/2;justify-self:start}.rdlist li button{grid-row:1;grid-column:2}}
dialog.reader{width:min(96vw,48rem);max-height:92vh;padding:0;border:2px solid var(--accent);border-radius:14px;background:var(--panel);color:var(--fg);display:flex;flex-direction:column}
dialog.reader[open]{display:flex}
dialog.reader::backdrop{background:rgba(0,0,0,.6)}
.rd-head{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.7rem 1rem;border-bottom:1px solid var(--line)}
.rd-head .tp-x{position:static;background:none;border:0;color:var(--muted);font-size:1.2rem;cursor:pointer;min-height:44px;min-width:44px}
.rd-prog{height:6px;background:var(--panel2)}
.rd-prog i{display:block;height:100%;width:0;background:var(--up);transition:width .2s}
.rd-body{flex:1;overflow:auto;padding:1rem 1.2rem;max-height:calc(92vh - 9rem);overscroll-behavior:contain}
.rd-foot{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:.7rem 1rem;border-top:1px solid var(--line);flex-wrap:wrap}
.rd-status{font-size:.9rem;color:var(--muted)}

.rd-body h3.rd-ok::before{content:"✓ ";color:var(--up);font-weight:800}
.rd-body h3{scroll-margin-top:.5rem}
.linkbtn{background:none;border:0;padding:0;color:var(--info);text-decoration:underline;font:inherit;cursor:pointer;display:inline;white-space:normal;text-align:inherit}

/* lector en pantalla (un solo desplazamiento) */
.rd-wrap{margin:.8rem 0 1rem}
.rd-top{display:flex;align-items:center;gap:.8rem;margin-bottom:.4rem;font-size:.92rem}
.rd-top .rd-prog{flex:1;height:8px;border-radius:99px;background:var(--panel2);overflow:hidden}
.rd-jump{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem}
.rd-wrap .rd-body{max-height:52vh;min-height:15rem;overflow:auto;border:2px solid var(--line);border-radius:12px;padding:1rem 1.1rem;background:var(--panel);overscroll-behavior:contain}
.rd-wrap .rd-body:focus{border-color:var(--accent);outline:none}
.rd-doc{margin:1.6rem 0 .6rem;padding:.5rem .7rem;border-radius:10px;background:color-mix(in srgb,var(--accent) 14%,var(--panel2));font-size:1.1rem}
.rd-doc:first-child{margin-top:0}
.rd-wrap .rd-status{margin:.5rem 0 0;font-size:.9rem;color:var(--muted)}
.okbox{margin:.8rem 0;padding:.8rem;border:2px solid var(--line);border-radius:12px}

.rd-jump[hidden]{display:none}

.summary{border:2px solid var(--line);border-radius:12px;padding:1rem 1.1rem;background:var(--panel);margin:.8rem 0 1rem}
.summary h3{font-size:1rem;margin:.9rem 0 .25rem}.summary h3:first-child{margin-top:0}.summary p{margin:0 0 .4rem}
.gate-count{font-weight:700;color:var(--up);margin:-.3rem 0 .6rem}
.okbox .linkbtn{font-weight:700}

/* ranking de rachas */
.rk{list-style:none;margin:.4rem 0 0;padding:0;display:grid;gap:.45rem}
.rk li{display:grid;grid-template-columns:1.8rem minmax(0,1fr) auto auto;gap:.5rem;align-items:center}
.rk-i{font-family:var(--mono);color:var(--muted);text-align:right}
.rk-b{display:block;height:.7rem;background:var(--panel2);border-radius:999px;overflow:hidden}
.rk-b i{display:block;height:100%;background:var(--accent);border-radius:999px}
.rk b{font-family:var(--mono)}

/* acceso: registro / entrar */
.gtabs{display:flex;gap:.4rem;margin:.2rem 0 1rem}
.gtabs button{flex:1;padding:.6rem .4rem;border:1px solid var(--line);background:var(--panel2);color:var(--fg);border-radius:10px;font:inherit;font-weight:700;cursor:pointer}
.gtabs button.on{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}
.pwrow{display:flex;gap:.4rem;align-items:stretch}.pwrow input{flex:1;min-width:0}
.gate .field{margin:.7rem 0}.gate .field label{display:block;font-weight:700;margin-bottom:.25rem}
.alert.ok{border-color:var(--up);color:var(--up)}
