/* Tema sobrio y tecnológico: pizarra + azul eléctrico, esquinas contenidas, movimiento mínimo */
:root{--g:#0f1d33;--g2:#2f6df6;--gl:#e8effe;--y:#e8a317;--r:#dc3d43;--rl:#fdecec;--ok:#12a066;--okl:#e3f6ee;--bg:#f4f6fa;--t:#17202e;--ln:#d9e0ec;--sh:0 1px 2px rgba(15,29,51,.06),0 6px 16px rgba(15,29,51,.07)}
body{font-family:Inter,"Segoe UI Variable","Segoe UI",system-ui,Roboto,sans-serif;background:var(--bg);color:var(--t);line-height:1.55;letter-spacing:-.003em}
/* Barra superior */
.top{background:rgba(255,255,255,.92)!important;backdrop-filter:blur(8px);border-bottom:1px solid var(--ln)!important}
.top b{font-size:1.08rem;letter-spacing:.01em;color:var(--g)}
.top b::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--g2);margin-right:8px;box-shadow:0 0 0 3px var(--gl)}
.stats span{background:var(--bg);border:1px solid var(--ln);border-radius:8px;padding:2px 9px;font-size:.9rem;font-variant-numeric:tabular-nums}
header{background:var(--g)!important;color:#fff;border-bottom:1px solid #22314d}
/* Inicio */
main>p:first-child{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
main>p:first-child a{border-radius:10px!important;padding:10px 16px!important;transition:transform .12s,box-shadow .12s}
main>p:first-child a:first-child{background:var(--g2)!important;box-shadow:0 2px 8px rgba(47,109,246,.35)}
main>p:first-child a:last-child{border:1px solid var(--ln)!important;color:var(--g)!important;background:#fff!important}
main>p:first-child a:hover{transform:translateY(-1px)}
#nav a{border:1px solid var(--ln)!important;border-radius:8px!important;padding:4px 11px!important;font-weight:600!important;font-size:.92rem;color:var(--g);transition:background .12s,color .12s,border-color .12s}
#nav a:hover{background:var(--g)!important;color:#fff;border-color:var(--g)!important}
.sec{background:var(--g);border-radius:12px;padding:14px 18px;margin:28px 0 14px;border-left:4px solid var(--g2)}
.sec b{font-size:1.05rem;letter-spacing:.01em}.sec small{font-variant-numeric:tabular-nums}
.path{padding:10px 0 14px}
.node{width:66px;height:66px;border-radius:18px;font-weight:700;font-variant-numeric:tabular-nums;background:var(--g2);box-shadow:0 4px 0 #1e49b8,0 8px 14px rgba(47,109,246,.25);transition:transform .12s}
.node:hover:not(.lock){transform:translateY(-2px)}
.node:active:not(.lock){transform:translateY(3px);box-shadow:0 1px 0 #1e49b8}
.node.done{background:var(--ok);box-shadow:0 4px 0 #0b7a4d,0 8px 14px rgba(18,160,102,.2)}
.node.lock{background:#dfe5ef;color:#9aa6ba;box-shadow:0 4px 0 #c3cddc}
/* Lección */
.lesson{background:var(--bg)}
.bar{height:10px;background:#dfe5ef}.bar i{background:var(--g2);border-radius:9px}
.q{font-size:1.22rem;line-height:1.38;font-weight:650;color:var(--g)}
.chip{background:var(--gl);color:#1e49b8;border-radius:6px;padding:3px 10px;font-weight:600;letter-spacing:.02em}
.ex{border-radius:0 10px 10px 0;background:#fff;border:1px solid var(--ln);border-left:3px solid var(--g2);font-style:normal;font-family:Georgia,"Times New Roman",serif;line-height:1.7;font-size:.97rem;padding:12px 16px;box-shadow:var(--sh)}
.src{font-style:normal;font-size:.78rem;letter-spacing:.02em;color:#5b6a82}
.opt{border:1px solid var(--ln);border-radius:12px;padding:13px 16px;background:#fff;box-shadow:0 1px 2px rgba(15,29,51,.05);transition:border-color .12s,background .12s,box-shadow .12s}
.opt:hover:not(:disabled){border-color:var(--g2);box-shadow:0 0 0 3px rgba(47,109,246,.12)}
.opt.sel{border-color:var(--g2);background:var(--gl);box-shadow:0 0 0 3px rgba(47,109,246,.15)}
.opt.good{border-color:var(--ok);background:var(--okl);box-shadow:0 0 0 3px rgba(18,160,102,.15)}
.opt.bad{border-color:var(--r);background:var(--rl);box-shadow:0 0 0 3px rgba(220,61,67,.12)}
.btn{border-radius:12px;background:var(--g2);box-shadow:0 3px 0 #1e49b8;letter-spacing:.06em;font-weight:700;transition:transform .1s,box-shadow .1s}
.btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 #1e49b8}
.btn.bad{background:var(--r);box-shadow:0 3px 0 #a52a30}
.btn:disabled{background:#dfe5ef;color:#9aa6ba;box-shadow:0 3px 0 #c3cddc}
.btn.alt{background:#fff;color:var(--g);border:1px solid var(--ln);box-shadow:0 2px 0 var(--ln)}
.fb{border-top:1px solid var(--ln);background:#fff;padding:16px}
.fb.ok{background:var(--okl);border-color:var(--ok)}.fb.no{background:var(--rl);border-color:var(--r)}
textarea,input.ans,input,select{border-radius:10px;border:1px solid #c5cfdf}
input:focus,textarea:focus,input.ans:focus,select:focus{border-color:var(--g2);box-shadow:0 0 0 3px rgba(47,109,246,.15)}
.big{filter:none}
/* Simulacro */
header .hd b,.hd b{color:var(--g)}
.card{border:1px solid var(--ln);border-radius:14px;box-shadow:var(--sh)}
.dot{border-radius:8px;border:1px solid var(--ln);font-variant-numeric:tabular-nums}
.dot.ans{background:var(--g2);color:#fff;border-color:var(--g2)}.dot.cur{outline:2px solid var(--g);outline-offset:1px}.dot.flag{border-color:var(--y);background:#fff6df}
.nav{border-top:1px solid var(--ln);box-shadow:0 -4px 12px rgba(15,29,51,.05)}
.row .bar i{background:var(--g2)}
#clock{font-family:ui-monospace,"SF Mono",Consolas,monospace;background:var(--bg);border:1px solid var(--ln);border-radius:8px;padding:2px 10px}
/* Tutor */
header a{color:#cfe0ff}
.m{border-radius:14px;line-height:1.5}
.t{background:#fff;border:1px solid var(--ln);border-bottom-left-radius:4px}
.u{background:var(--g2);border-bottom-right-radius:4px}
.art{background:#fff;border:1px solid var(--ln);border-left:3px solid var(--g2);font-style:normal;font-family:Georgia,serif;border-radius:0 12px 12px 0}
.art small{color:#1e49b8}
.chips button{border:1px solid var(--ln);border-radius:8px;color:var(--g);transition:background .12s,color .12s}
.chips button:hover{background:var(--g);color:#fff;border-color:var(--g)}
form{border-top:1px solid var(--ln)}
form button{background:var(--g2);border-radius:10px}
footer{color:#5b6a82}
/* Acceso y cuenta (auth.js) */
#authov{background:var(--bg)!important}
#authov .c{border:1px solid var(--ln)!important;border-radius:16px!important;box-shadow:0 12px 40px rgba(15,29,51,.12)}
#authov h1{color:var(--g)!important}
#authov input{border-color:#c5cfdf!important;border-radius:10px!important}#authov input:focus{border-color:var(--g2)!important}
#authov button{background:var(--g2)!important;border-radius:10px!important}
#authov button.s{background:#fff!important;color:var(--g)!important;border:1px solid var(--ln)!important}
.apr-top{background:var(--g)!important;border-radius:8px!important;box-shadow:0 2px 8px rgba(0,0,0,.25)}
a{color:#1e49b8}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media (max-width:480px){body{font-size:16px}}

/* Panel de inicio: meta, repaso y avance */
.pc{background:#fff;border:1px solid var(--ln);border-radius:14px;padding:14px 16px;margin:12px 0;box-shadow:var(--sh)}
.pbar{height:10px;background:#dfe5ef;border-radius:9px;overflow:hidden;margin-top:8px}.pbar i{display:block;height:100%;background:var(--g2);border-radius:9px;transition:width .3s}
.prow{display:flex;align-items:center;gap:10px;margin:8px 0;font-size:.92rem}.prow span{width:140px;flex:none}.prow .pbar{flex:1;margin:0}.prow small{width:42px;text-align:right;color:#5b6a82;font-variant-numeric:tabular-nums}
