:root{--navy:#152b36;--ink:#20333d;--muted:#65757b;--paper:#f5f3ed;--line:#e1e4dc;--orange:#c64e2b;--green:#23745b;--red:#b33434}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--paper);color:var(--ink);line-height:1.55}aside{position:fixed;inset:0 auto 0 0;width:252px;background:var(--navy);color:#fff;padding:34px 22px;display:flex;flex-direction:column}.brand{font-weight:850;font-size:22px;letter-spacing:1px;color:inherit;text-decoration:none;line-height:1.2}.brand>span:last-child{display:block;font-size:10px;letter-spacing:3px;margin:8px 0 35px 49px;color:#aabfc5}.mark{display:inline-grid;place-items:center;border:2px solid #ed8d66;color:#ed8d66;border-radius:9px;width:35px;height:39px;margin-right:9px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;color:var(--muted)}aside .eyebrow{color:#9db4bc}select,input,textarea{font:inherit;border:1px solid #cbd2cb;border-radius:9px;padding:10px 12px;background:white;color:var(--ink);max-width:100%}aside select{width:100%;font-size:12px;background:#24414c;border:1px solid #3b5660;color:white}nav{margin-top:28px;display:grid;gap:5px}nav a{color:#c5d2d4;text-decoration:none;padding:11px 14px;border-radius:8px;font-size:14px}nav a.active{background:#35505a;color:#fff;border-left:3px solid #f18e67}nav a:hover{background:#29444f}.aside-foot{margin-top:auto;color:#b7c9cc;font-size:12px}.aside-foot p{font-size:11px;color:#a3b8be}.dot{display:inline-block;width:7px;height:7px;background:#72c5a4;border-radius:50%;margin-right:7px}.shell{margin-left:252px}header{height:77px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;font-size:13px;color:var(--muted)}main{max-width:1260px;margin:auto;padding:36px 42px 60px}h1{font-size:38px;line-height:1.15;letter-spacing:-1.3px;margin:10px 0 14px}h2{font-size:22px;letter-spacing:-.5px;margin:0 0 12px}h3{font-size:16px;margin:0 0 8px}p{margin:0 0 16px}.lead{font-size:16px;color:var(--muted);max-width:710px}.pill,.badge{display:inline-block;padding:4px 9px;border-radius:5px;font-size:10px;font-weight:750;letter-spacing:.5px;background:#e7ebe2;color:#486453}.badge{letter-spacing:0;font-size:11px;background:#edf0eb}.badge.warn{background:#fff0d7;color:#8b5b14}.badge.red{background:#fbe8e6;color:#a43f35}.hero{background:var(--navy);color:#fff;padding:32px;border-radius:17px;position:relative;overflow:hidden;margin:24px 0}.hero .lead{color:#bdcdd0;max-width:650px}.hero h2{font-size:28px}.hero:after{content:'01';position:absolute;right:24px;top:5px;font-size:120px;line-height:1;font-weight:850;opacity:.08;pointer-events:none}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0}.stat,.card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:23px}.stat strong{display:block;font-size:30px;letter-spacing:-1px}.stat span{font-size:12px;color:var(--muted)}.card p{font-size:13px;color:var(--muted)}.card .eyebrow{color:var(--orange)}button,.button{display:inline-block;background:var(--orange);color:#fff;border:0;border-radius:8px;padding:11px 17px;font:600 13px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer;text-decoration:none}button:hover,.button:hover{filter:brightness(.94)}button:disabled{opacity:.45;cursor:not-allowed}.secondary{background:#e9eee8;color:#27483c}.ghost{background:transparent;color:var(--ink);border:1px solid #b8c6bd}.danger{background:#a53b3b}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}.muted,small{color:var(--muted)}small{font-size:12px}.notice{border-left:3px solid #d39245;background:#fff6e6;padding:14px 18px;border-radius:5px;margin:20px 0;font-size:13px}.section-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:30px 0 15px}.list-row{padding:15px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.list-row:last-child{border:0}.list-row strong{font-size:14px}.list-row p{font-size:12px;margin:4px 0;color:var(--muted)}.filters{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.filters input{flex:1;min-width:200px}.topic-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.topic-checks label{font-size:12px;display:flex;gap:7px;align-items:center}.topic-checks input{accent-color:var(--green)}.form-row{display:flex;gap:15px;flex-wrap:wrap}.form-row label{display:grid;gap:6px;font-size:12px;flex:1}label>input,label>select{width:100%}textarea{width:100%;min-height:170px}pre.source{white-space:pre-wrap;font:14px/1.6 Georgia,serif;background:white;padding:24px;border:1px solid var(--line);max-height:480px;overflow:auto}.timer{font-variant-numeric:tabular-nums;font-size:27px;font-weight:800}.quiz-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.options{display:grid;gap:10px;margin:23px 0}.option{padding:16px;text-align:left;color:var(--ink);background:white;border:1px solid #cfd8d0;font-size:15px;font-weight:500}.option.selected{border:2px solid var(--green);background:#e9f3ec}.option b{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:5px;background:#edf0ea;margin-right:10px}.question-nav{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0}.question-nav button{min-width:34px;padding:7px;background:#e4e8e0;color:var(--ink)}.question-nav button.done{background:#bfdccc}.question-nav button.current{outline:2px solid var(--navy)}.feedback{padding:17px;border-radius:9px;background:#eef5ee;margin-top:15px}.feedback.error{background:#fff0eb}.feedback p{margin-bottom:7px;font-size:14px}.progress{height:6px;background:#e0e5dc;border-radius:5px;overflow:hidden;margin:10px 0}.progress i{display:block;height:100%;background:var(--green)}table{width:100%;border-collapse:collapse;font-size:13px}td,th{text-align:left;padding:12px 9px;border-bottom:1px solid var(--line)}th{font-size:11px;color:var(--muted)}.scroll{overflow-x:auto}details{margin-top:13px}summary{cursor:pointer;font-weight:600;font-size:13px}footer{padding:25px 42px;color:var(--muted);font-size:11px;border-top:1px solid var(--line)}#toast{position:fixed;bottom:25px;right:25px;background:var(--navy);color:#fff;padding:12px 20px;border-radius:8px;display:none;z-index:9}.empty{text-align:center;padding:35px;color:var(--muted)}a{color:#236d63}a:focus-visible,button:focus-visible{outline:3px solid #e6ad56;outline-offset:3px} .score{font-size:64px;font-weight:850;letter-spacing:-3px}.white{color:#fff}.spacer{margin-top:24px}@media(max-width:1050px){aside{width:215px;padding:25px 16px}.shell{margin-left:215px}main{padding:28px 24px}.stats{grid-template-columns:repeat(2,1fr)}.grid.three,.topic-checks{grid-template-columns:repeat(2,1fr)}header{padding:0 24px}.brand{font-size:19px}}@media(max-width:720px){aside{position:static;width:auto;padding:18px}.brand>span:last-child{display:none}aside .eyebrow,.aside-foot{display:none}aside select{margin-top:15px}nav{display:flex;overflow-x:auto;margin-top:10px}nav a{white-space:nowrap;font-size:12px;padding:8px}.shell{margin-left:0}header{height:50px;padding:0 18px}.pill{display:none}main{padding:22px 18px}.grid,.grid.three,.topic-checks{grid-template-columns:1fr}h1{font-size:31px}.hero{padding:23px}footer{padding:20px}.card{padding:18px}.stats{gap:9px}.stat{padding:17px}}
.map-wrap{position:relative;margin:20px 0;background:#fff;border:1px solid var(--line);overflow:hidden;border-radius:10px}.map-wrap img{width:100%;display:block;cursor:crosshair}.map-wrap #map-marker{position:absolute;width:26px;height:26px;transform:translate(-50%,-50%);border:4px solid #e33131;border-radius:50%;box-shadow:0 0 0 4px white;pointer-events:none}label{font-size:13px}label input[type=checkbox]{width:auto}#question-form>label{display:block;margin:14px 0}.card label>textarea{margin-top:7px}

/* Study workspace improvements */
[hidden]{display:none!important}aside{overflow-y:auto}nav{flex-shrink:0}.aside-foot{padding-top:20px}.neo-item{display:flex;flex-direction:column;gap:12px}.neo-item h3{overflow-wrap:anywhere}.neo-item .actions{margin-top:0}.neo-item>label{margin-top:auto}.neo-item textarea{min-height:160px}.quiz-tools{padding:16px;background:#eaf0e9;border-radius:10px;font-size:13px}.quiz-tools .actions{margin-top:8px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e6ad56;outline-offset:2px}.question-nav button{min-width:40px;min-height:40px}.question-nav{max-height:240px;overflow-y:auto;padding:4px}button[aria-pressed=true]{background:#e4f1e7;border-color:var(--green)}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media(max-width:720px){.quiz-top{align-items:flex-start;gap:12px}.timer{font-size:23px}.neo-item .actions{flex-wrap:wrap}}

/* v2 · Claude: entrada con escudos, volver, menú agrupado, pomodoro, temario, tarjetas, cálculo y admin */
.nav-group{font-size:10px;font-weight:800;letter-spacing:2px;color:#7f9aa3;margin:16px 0 4px 14px}nav a{padding:8px 14px}
header{gap:16px}.back{background:#fff;color:var(--navy);border:1px solid var(--line);padding:9px 15px;font-size:14px}.back:hover{background:#eef1ec}#context{flex:1}
#version a{color:#9db4bc;font-size:11px}
body.landing aside,body.landing header,body.landing footer{display:none}body.landing .shell{margin-left:0}body.landing main{max-width:1200px}
.gate{min-height:calc(100vh - 100px);display:flex;flex-direction:column;justify-content:center;gap:34px}.gate-title{text-align:center}.gate-title .lead{margin:0 auto}
.gate-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.gate-btn{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 24px;border-radius:24px;background:#fff;color:var(--ink);border:2px solid var(--line);box-shadow:0 12px 40px rgba(21,43,54,.08);transition:transform .15s,box-shadow .15s,border-color .15s}
.gate-btn:hover{transform:translateY(-4px);box-shadow:0 18px 50px rgba(21,43,54,.16);filter:none}.gate-btn.ayto:hover{border-color:#8c1c2c}.gate-btn.ceis:hover{border-color:var(--orange)}
.gate-btn .shield{width:min(240px,48vw);aspect-ratio:200/240;display:grid;place-items:center}.gate-btn .shield svg,.gate-btn .shield img{width:100%;height:100%;object-fit:contain}
.gate-btn strong{font-size:24px;letter-spacing:-.5px}.gate-btn small{font-size:14px}.gate-foot{text-align:center;font-size:12px}
.pomo{margin-top:18px;background:#203a45;border:1px solid #3b5660;border-radius:12px;padding:12px;text-align:center}.pomo small{display:block;color:#9db4bc;font-size:11px;margin-top:6px}
.pomo-btn{width:100%;background:var(--orange)}.pomo-phase{font-size:10px;letter-spacing:2px;color:#f3a786;font-weight:800}.pomo-time{font-size:34px;font-weight:850;font-variant-numeric:tabular-nums;color:#fff}
.pomo-actions{display:flex;gap:6px;justify-content:center}.pomo-actions button{background:#35505a;padding:6px 12px}
.plan{display:grid;gap:12px}.plan-item{display:grid;grid-template-columns:44px 1fr auto;gap:16px;align-items:center;padding:18px 22px}.plan-item h3{margin:0 0 4px}.plan-item p{margin:0}
.plan-n{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#eef1ec;font-weight:800}.plan-item.done{opacity:.6}.plan-item.done .plan-n{background:var(--green);color:#fff}
.link-card{text-decoration:none;color:inherit;transition:border-color .15s,transform .15s}.link-card:hover{border-color:var(--orange);transform:translateY(-2px)}
.method{display:flex;gap:8px;margin:0 0 22px;flex-wrap:wrap}.method div{background:#fff;border:1px solid var(--line);border-radius:30px;padding:8px 16px;font-size:13px}.method b{color:var(--orange);margin-right:6px}
.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin:20px 0;overflow-x:auto}.tabs button{background:none;color:var(--muted);border-radius:8px 8px 0 0;border-bottom:3px solid transparent}.tabs button.on{color:var(--ink);border-bottom-color:var(--orange)}
.toolbar{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:12px}.idea{border-left:4px solid var(--orange)}
.tree,.tree ul{list-style:none;margin:0;padding-left:22px}.tree{padding:0;background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px 18px 18px 8px}
.tree ul{border-left:2px solid #e3e7df;margin-left:12px}.tree details{margin:0}.tree summary{list-style:none;font-weight:inherit}.tree summary::-webkit-details-marker{display:none}
.node-row{display:flex;gap:10px;align-items:flex-start;padding:7px 0}.node-check{width:24px;height:24px;flex:none;padding:0;border-radius:6px;background:#fff;border:2px solid #b8c6bd;color:#fff;font-size:13px;line-height:1}.node-row.known .node-check{background:var(--green);border-color:var(--green)}
details>summary .node-body b:before{content:'▸ ';color:var(--muted)}details[open]>summary .node-body b:before{content:'▾ '}.node-body{font-size:14px}.node-d{color:var(--muted)}.node-row.known .node-body b{color:var(--green)}
.veiled{filter:blur(5px);cursor:pointer;user-select:none}.page-link{font-size:11px;white-space:nowrap}.bridges{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.bridge{font-size:11px;background:#fff3ec;color:#9a3c1d;border:1px solid #f3cdb9;border-radius:20px;padding:3px 10px;text-decoration:none}.bridge:hover{background:#ffe4d6}.bridge-note{border-left-color:var(--orange)}
.summary p,.summary li{font-size:15px;color:var(--ink)}.trick .rule{font-size:17px;font-weight:700;color:var(--ink)}
.law .structure{background:#f4f6f1;border-radius:8px;padding:12px 14px;font-size:13px;margin:10px 0}.articles td{vertical-align:top}.hook{color:#9a3c1d;font-style:italic}.law.hide-law .law-text{filter:blur(5px)}.law.hide-law .law-text:hover{filter:none}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.chip{border:1px solid #cfd8d0;border-radius:20px;padding:6px 14px;font-size:13px;text-decoration:none;color:var(--ink);background:#fff}.chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.flashcard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:44px 34px;text-align:center;min-height:320px;display:flex;flex-direction:column;justify-content:center;gap:14px;box-shadow:0 10px 30px rgba(21,43,54,.06)}
.flashcard h2{font-size:26px}.flashcard .big{font-size:22px;font-weight:700;color:var(--green)}.reveal{align-self:center;padding:14px 28px;font-size:15px}
.grades{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}button.ok{background:var(--green)}
.graph-wrap{padding:8px}.graph{width:100%;height:auto}.edge{stroke:#c9d2cb;stroke-linecap:round}.edge.on{stroke:var(--orange)}.edge.dim{opacity:.15}
.gnode{cursor:pointer}.gnode circle{fill:var(--navy);stroke:#fff;stroke-width:3}.gnode.on circle{fill:var(--orange)}.gnode text{font-size:15px;fill:var(--ink);font-weight:600}
.peg{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:12px 0}.peg div{background:#f4f6f1;border-radius:8px;padding:10px;text-align:center}.peg b{display:block;font-size:22px}.peg span{font-size:12px;color:var(--muted)}
.mental-box{background:#fff;border:2px solid var(--line);border-radius:20px;padding:44px 20px;text-align:center;transition:border-color .2s}.mental-box.ok{border-color:var(--green)}.mental-box.ko{border-color:var(--red)}
.mental-q{font-size:clamp(34px,7vw,64px);font-weight:850;letter-spacing:-1px;font-variant-numeric:tabular-nums}#mental-input{font-size:34px;text-align:center;width:min(320px,100%);margin-top:20px;font-variant-numeric:tabular-nums}
.mental-fb{font-size:20px;font-weight:700;margin-top:14px}.mental-box.ok .mental-fb{color:var(--green)}.mental-box.ko .mental-fb{color:var(--red)}.mental-hint{color:var(--muted);max-width:560px;margin:10px auto 0}
.mental-cat details ul{font-size:13px;color:var(--muted);padding-left:18px}
.diff{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.diff>div{border-radius:9px;padding:12px;font-size:13px}.diff .before{background:#fdecea}.diff .after{background:#e9f3ec}.diff small{font-weight:700;color:var(--muted);margin-right:4px}
.warn-text{color:var(--red);font-size:13px}mark{background:#ffe08a}.check-item h3{font-size:14px}
@media(max-width:720px){.gate-grid,.diff{grid-template-columns:1fr}.gate-btn{padding:26px 16px}.plan-item{grid-template-columns:36px 1fr}.plan-item>div:last-child{grid-column:1/-1}.peg{grid-template-columns:repeat(5,1fr)}.pomo{margin-top:10px}.nav-group{display:none}header{height:auto;min-height:50px;flex-wrap:wrap;padding:8px 18px}}
.express{display:flex;gap:20px;align-items:center;justify-content:space-between;border:2px solid var(--orange);margin-bottom:18px}.express p{margin:0}
.forget{position:relative;padding-left:44px}.forget .light{position:absolute;left:18px;top:26px;width:14px;height:14px;border-radius:50%;background:#c9d2cb}.forget.fresh .light{background:#2e9d6f}.forget.warm .light{background:#e2a33a}.forget.cold .light{background:var(--red);box-shadow:0 0 0 4px #fbe8e6}.forget.cold{border-color:#efc2bd}
@media(max-width:720px){.express{flex-direction:column;align-items:flex-start}}
@media(max-width:720px){.gate-grid{grid-template-columns:minmax(0,1fr)}.gate{gap:22px;min-height:auto;padding-top:10px}.gate-title h1{font-size:27px}.gate-btn strong{font-size:20px}.gate-btn .shield{width:min(170px,44vw)}.tabs button{padding:9px 11px}.flashcard{padding:28px 18px}}
.boe.hit{border-left:4px solid var(--red)}.boe .list-row span{font-size:13px}.badge.red{background:#fbe8e6;color:#a43f35}
.bulk{display:flex;justify-content:space-between;gap:16px;align-items:center;border:2px solid var(--green);background:#f3f9f5}.bulk .actions{margin-top:0;flex-wrap:nowrap}@media(max-width:720px){.bulk{flex-direction:column;align-items:flex-start}}
.dot-new{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#e5562c;color:#fff;font-size:11px;font-weight:800;margin-left:6px}
.news.new{border-left:4px solid var(--orange)}.news-alert{display:block;margin:0 0 16px;border:2px solid var(--orange);background:#fff6f1}
.account{display:flex;align-items:center;gap:8px;margin-top:10px}.account img{width:28px;height:28px;border-radius:50%}.account span{flex:1;font-size:12px;color:#d6e2e4}.account button{color:#d6e2e4;border-color:#4a6670;padding:5px 10px;font-size:11px}
.login-box{max-width:420px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.acc-head{display:flex;gap:12px;align-items:center;margin-bottom:10px}.acc-head img{width:42px;height:42px;border-radius:50%}.account-card table td,.account-card table th{padding:7px 6px}
.grade-pill{padding:8px 14px;border-radius:30px;font-weight:800;font-size:14px;white-space:nowrap}.grade-pill.ok{background:#e4f1e7;color:var(--green)}.grade-pill.ko{background:#fbe8e6;color:var(--red)}
footer b{color:var(--ink)}.gate-foot b{color:var(--ink)}
.problem{font-size:16px;color:var(--ink)!important}.apartado{margin:10px 0}.apartado label{display:grid;gap:6px;font-size:14px}.apartado input,.apartado select{max-width:340px}
.cov{columns:2;column-gap:24px;margin:10px 0}.cov div{break-inside:avoid;font-size:13px;padding:3px 0}.cov .d2{padding-left:16px}.cov .ok{color:var(--green)}.cov .ko{color:var(--red)}
.good{color:var(--green)}.bad{color:var(--red)}@media(max-width:720px){.cov{columns:1}}

/* v2.2 · estética */
:root{--shadow:0 1px 2px rgba(21,43,54,.05),0 8px 24px rgba(21,43,54,.06);--radius:16px}
body{background:radial-gradient(1200px 600px at 100% -10%,#fbe6dc 0,transparent 60%),radial-gradient(900px 500px at -10% 110%,#e3efe8 0,transparent 55%),var(--paper);background-attachment:fixed}
.card,.stat{border-radius:var(--radius);box-shadow:var(--shadow);border-color:#e7e9e2}
.card{transition:box-shadow .2s,transform .2s,border-color .2s}
.link-card:hover,.gate-btn:hover{box-shadow:0 14px 40px rgba(21,43,54,.14)}
header{position:sticky;top:0;z-index:5;background:rgba(245,243,237,.82);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px)}
aside{background:linear-gradient(180deg,#152b36 0,#10222b 100%)}
nav a{transition:background .15s,color .15s}
h1{background:linear-gradient(90deg,#152b36,#2c4c59);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero{background:linear-gradient(135deg,#152b36 0,#1f3d49 55%,#7a3420 140%);box-shadow:0 18px 40px rgba(21,43,54,.25)}
.stat strong{background:linear-gradient(90deg,var(--orange),#e07a3b);-webkit-background-clip:text;background-clip:text;color:transparent}
button,.button{border-radius:10px;box-shadow:0 1px 0 rgba(0,0,0,.04)}button:not(.ghost):not(.secondary):not(.chip):not(.option):not(.node-check){background-image:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,0))}
.progress{height:8px}.progress i{background:linear-gradient(90deg,#23745b,#3aa37f);border-radius:5px}
.option{border-radius:12px;transition:border-color .15s,background .15s,transform .1s}.option:hover:not(:disabled){border-color:var(--green);transform:translateX(2px)}
/* Entrada: escudos grandes a izquierda y derecha */
body.landing{background:radial-gradient(900px 600px at 15% 30%,rgba(140,28,44,.10) 0,transparent 60%),radial-gradient(900px 600px at 85% 30%,rgba(229,86,44,.12) 0,transparent 60%),var(--paper)}
.gate-grid{gap:36px}.gate-btn{padding:48px 28px 40px;border-radius:28px;background:rgba(255,255,255,.85);animation:rise .5s ease both}.gate-btn.ceis{animation-delay:.08s}
.gate-btn .shield{width:min(320px,62vw);filter:drop-shadow(0 18px 24px rgba(21,43,54,.22));transition:transform .25s}.gate-btn:hover .shield{transform:scale(1.04) rotate(-1deg)}
.gate-btn strong{font-size:28px}.gate-title h1{font-size:44px}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

@media(prefers-reduced-motion:reduce){.gate-btn{animation:none}}
@media(max-width:720px){.gate-btn .shield{width:min(200px,52vw)}.gate-btn strong{font-size:21px}.gate-title h1{font-size:28px}}
/* Entrada: dos emblemas como botones, separados por una línea central muy fina */
body.landing{background:#fff}body.landing main{max-width:none;padding:0}
.split{min-height:calc(100vh - 44px);display:grid;grid-template-columns:1fr 1px 1fr;align-items:stretch}
.split-line{background:#d9dcd6;margin:12vh 0}
.half{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:40px 24px;transition:background .25s}
.half:hover{background:radial-gradient(closest-side,rgba(21,43,54,.05),transparent)}.half:focus-visible{outline:3px solid #e6ad56;outline-offset:-8px}
.half .emblem{width:min(300px,34vw);aspect-ratio:1760/2280;display:grid;place-items:center;transition:transform .25s}
.half .emblem img,.half .emblem svg{width:100%;height:100%;object-fit:contain;image-rendering:auto}
.half:hover .emblem{transform:scale(1.04)}
.half strong{font-size:26px;letter-spacing:-.5px;color:var(--navy);text-align:center}.half small{font-size:14px;color:var(--muted)}
.split-foot{text-align:center;font-size:12px;color:var(--muted);margin:0;padding:12px 0}
@media(max-width:720px){.split{grid-template-columns:1fr;grid-template-rows:1fr 1px 1fr}.split-line{margin:0 14vw}.half .emblem{width:min(190px,52vw)}.half strong{font-size:20px}.half{padding:28px 16px}}
/* Efecto de pulsación: el emblema se hunde al hacer clic */
.half .emblem{filter:drop-shadow(0 14px 18px rgba(21,43,54,.22));transition:transform .18s cubic-bezier(.2,.8,.3,1.2),filter .18s}
.half:active .emblem{transform:translateY(6px) scale(.95);filter:drop-shadow(0 3px 4px rgba(21,43,54,.25))}
.half:active strong{transform:translateY(3px)}.half strong{transition:transform .18s}
.half.pressed .emblem{transform:translateY(6px) scale(.95);filter:drop-shadow(0 3px 4px rgba(21,43,54,.25))}
.half .emblem{filter:none}.half:hover .emblem{filter:none}.half:active .emblem,.half.pressed .emblem{filter:none}
.mark-img{width:40px;height:40px;border-radius:10px;vertical-align:middle;margin-right:10px;box-shadow:0 4px 12px rgba(0,0,0,.35)}
.brand>span:last-child{margin-left:52px}
.half .emblem{width:min(320px,34vw)}
.gate-account{position:absolute;top:18px;right:24px;z-index:3}
.acc-login{background:var(--navy);padding:10px 18px;border-radius:30px}
.acc-chip{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:30px;padding:6px 8px 6px 6px;box-shadow:var(--shadow)}
.acc-avatar{width:32px;height:32px;border-radius:50%;background:var(--orange);color:#fff;display:grid;place-items:center;font-weight:800}
.acc-name{font-weight:700;font-size:14px}.acc-name small{color:var(--orange);font-weight:800;margin-left:4px;font-size:10px;letter-spacing:1px;text-transform:uppercase}
.acc-chip button{padding:6px 12px;font-size:12px;border-radius:20px}
#modal[hidden]{display:none}.modal-back{position:fixed;inset:0;background:rgba(16,34,43,.45);backdrop-filter:blur(3px);z-index:40}
.modal-card{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(420px,calc(100vw - 32px));background:#fff;border-radius:20px;padding:28px;z-index:41;box-shadow:0 30px 80px rgba(0,0,0,.3)}
.modal-card form{display:grid;gap:14px}.modal-card label{display:grid;gap:6px;font-weight:600}
@media(max-width:720px){.gate-account{position:static;display:flex;justify-content:flex-end;padding:12px 16px 0}.acc-chip{flex-wrap:wrap;border-radius:16px}}
.pomo-actions{flex-wrap:wrap}.pomo-actions button{font-size:12px;padding:6px 10px}

/* v2.3 · lectura clara: tipografía más tranquila, jerarquía y menú por prioridad */
body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.6;color:#22323a;-webkit-font-smoothing:antialiased}
h1{font-size:30px;line-height:1.2;letter-spacing:-.4px;margin:6px 0 10px;background:none;-webkit-background-clip:initial;background-clip:initial;color:#152b36}
h2{font-size:20px;letter-spacing:-.2px;line-height:1.3}h3{font-size:16.5px;line-height:1.35}
.lead{font-size:16px;line-height:1.6;color:#55656b;max-width:680px}
.eyebrow{font-size:11px;letter-spacing:1px;font-weight:700;color:#8a979c}.card .eyebrow{color:#c0603d}
.card p,.list-row p{font-size:15px;line-height:1.55;color:#4a5a60}small{font-size:13px}
.card{padding:24px}.grid{gap:20px}.stats{gap:16px;margin:20px 0 28px}.section-head{margin:36px 0 14px}.spacer{margin-top:32px}
.stat strong{background:none;-webkit-background-clip:initial;background-clip:initial;color:#c64e2b;font-size:26px}.stat span{font-size:13px}
button,.button{font-size:14px;padding:11px 18px}
.notice{font-size:14.5px;line-height:1.55}
main{padding:32px 40px 64px;max-width:1120px}
/* Menú: lo principal arriba, con una línea que explica cada apartado */
nav{gap:2px}.nav-main a{display:block;padding:9px 14px;font-size:15px;color:#e6eef0;border-radius:10px}.nav-main a small{display:block;font-size:11.5px;color:#93aab1;line-height:1.3;margin-top:1px}
.nav-main a.active small{color:#cfe0e4}
.nav-more{margin-top:14px;border-top:1px solid #2c4651;padding-top:10px}.nav-more summary{cursor:pointer;list-style:none;color:#9db4bc;font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;padding:6px 14px}
.nav-more summary::-webkit-details-marker{display:none}.nav-more summary:after{content:' ▸'}.nav-more[open] summary:after{content:' ▾'}
.nav-more a{display:block;padding:7px 14px 7px 22px;font-size:14px}
.acc-avatar.small{width:26px;height:26px;font-size:12px;flex:none}
@media(max-width:720px){main{padding:20px 16px 48px}h1{font-size:25px}.nav-main{display:flex;overflow-x:auto;gap:4px}.nav-main a{white-space:nowrap}.nav-main a small{display:none}.nav-more{display:none}}
.big-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 8px}
.big-btn{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;min-height:128px;padding:20px;border-radius:18px;color:#fff;background:#152b36;box-shadow:0 10px 24px rgba(21,43,54,.18);transition:transform .15s,box-shadow .15s}
.big-btn strong{font-size:18px;line-height:1.25}.big-btn span{font-size:13.5px;opacity:.85;line-height:1.4}
.big-btn:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(21,43,54,.25)}.big-btn:active{transform:translateY(2px) scale(.98)}
.big-btn.c0{background:linear-gradient(135deg,#c64e2b,#e07a3b)}.big-btn.c1{background:linear-gradient(135deg,#1f3d49,#2f5b6b)}.big-btn.c2{background:linear-gradient(135deg,#23745b,#2f9472)}.big-btn.c3{background:linear-gradient(135deg,#5a3d7a,#7a5aa0)}
.big-btn:focus-visible{outline:3px solid #e6ad56;outline-offset:3px}
.fold summary{font-size:15px;cursor:pointer}.fold[open] summary{margin-bottom:12px}
@media(max-width:1050px){.big-actions{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.big-actions{grid-template-columns:1fr}.big-btn{min-height:96px}}
.guide-start{border-left:4px solid var(--orange)}.steps{margin:0;padding-left:22px}.steps li{margin:8px 0;font-size:16px}
.big-p{font-size:16.5px!important;color:#22323a!important}
.pomo-line{display:flex;gap:4px;margin:18px 0 22px;flex-wrap:wrap}.pomo-line div{flex:5;min-width:60px;padding:10px 8px;border-radius:10px;text-align:center;font-weight:700;font-size:13px}.pomo-line small{display:block;font-weight:500;font-size:11.5px}
.pl-focus{background:#fbe6dc;color:#9a3c1d}.pl-break{flex:1.4!important;background:#e4f1e7;color:#23745b}.pl-break.long{flex:3!important}
.card ul li{margin:6px 0;font-size:15px;color:#4a5a60}.tech summary{font-size:16px;cursor:pointer}.tech[open] summary{margin-bottom:10px}.example{background:#f6f7f3;border-radius:10px;padding:12px 14px}
.week td{padding:12px 10px;font-size:15px;vertical-align:top}.week td:first-child{white-space:nowrap}
/* Asistente de test */
.wiz-step{display:flex;gap:18px;background:#fff;border:1px solid #e7e9e2;border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;margin-bottom:16px}
.wiz-n{flex:none;width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800}.wiz-body{flex:1;min-width:0}.wiz-body h2{margin-bottom:12px}
.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.choice-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.choice{all:unset;box-sizing:border-box;cursor:pointer;border:2px solid #e1e5df;border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;background:#fbfbf8;transition:border-color .15s,background .15s}
.choice strong{font-size:16px;color:#152b36}.choice span{font-size:13.5px;color:#5c6b70;line-height:1.4}.choice:hover{border-color:#c8d0c9}.choice.on{border-color:var(--orange);background:#fff6f1;box-shadow:0 0 0 3px rgba(198,78,43,.12)}
.choice:focus-visible{outline:3px solid #e6ad56}
.topic-pick{margin-top:14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}.topic-pick .toolbar{grid-column:1/-1;margin:0}
.tp{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e1e5df;border-radius:10px;cursor:pointer;font-size:14.5px}.tp span{flex:1}.tp small{color:#8a979c}.tp.on{border-color:var(--green);background:#f0f8f3}
.switch{display:flex;gap:10px;align-items:center;margin-top:14px;font-size:15px}
.seg{display:inline-flex;flex-wrap:wrap;gap:6px;margin:6px 0 8px}.seg button{background:#f1f3ee;color:#22323a;border:2px solid transparent;border-radius:10px;padding:9px 16px;font-weight:700}.seg button.on{background:#152b36;color:#fff}
.wiz-go{position:sticky;bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#152b36;color:#fff;border-radius:16px;padding:14px 16px 14px 22px;box-shadow:0 14px 34px rgba(21,43,54,.3)}.wiz-go p{margin:0;font-size:15px;color:#dbe6e9}
.go{background:linear-gradient(135deg,#c64e2b,#e07a3b);font-size:16px;padding:13px 24px;border-radius:12px;white-space:nowrap}
@media(max-width:720px){.choice-grid.two{grid-template-columns:1fr}.wiz-step{padding:16px;gap:12px}.wiz-go{flex-direction:column;align-items:stretch}}
/* Hoy, en tres bloques */
.today-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.today-head h1{margin:4px 0 0}
.mini-stats{display:flex;gap:16px;font-size:13.5px;color:#5c6b70}.mini-stats b{color:#c64e2b;font-size:17px;margin-right:2px}
.today-plan{padding:20px 22px}.plan-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid #eef0ea}.plan-row:first-of-type{border-top:0}
.plan-row .plan-n{width:30px;height:30px;font-size:13px;flex:none}.plan-txt{flex:1;min-width:0}.plan-txt b{display:block;font-size:15.5px}.plan-txt small{display:block;color:#6a797e;font-size:13.5px;line-height:1.4}
.plan-row .button,.plan-row button{padding:8px 14px;font-size:13.5px;white-space:nowrap}.plan-row.done{opacity:.55}.plan-row.done .plan-n{background:var(--green);color:#fff}
.plan-foot{margin-top:10px;font-size:14px;color:#6a797e}.linkish{all:unset;cursor:pointer;color:#c64e2b;font-weight:700;text-decoration:underline}
@media(max-width:720px){.plan-row{flex-wrap:wrap}.plan-row>.button,.plan-row>button{margin-left:44px}}
.resumen-open{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.big-open{font-size:16px;padding:14px 24px}

/* Tarjetas de estudio con aspecto de tarjeta real */
.fc-top{display:flex;align-items:center;gap:18px;margin-bottom:22px}.fc-exit{color:#6a797e;text-decoration:none;font-size:14px;white-space:nowrap}.fc-progress{flex:1}.fc-progress small{color:#6a797e}
.fc-stage{position:relative;max-width:620px;margin:0 auto;height:380px;perspective:1600px}
.fc-behind{position:absolute;inset:0;border-radius:18px;background:#fffdf7;border:1px solid #e6e1d3;box-shadow:0 6px 16px rgba(60,50,30,.10)}
.fc-behind.b1{transform:translate(7px,7px) rotate(1.2deg)}.fc-behind.b2{transform:translate(13px,13px) rotate(2.4deg)}.fc-behind.b3{transform:translate(18px,18px) rotate(3.4deg)}
.fc{position:absolute;inset:0;cursor:pointer;outline:none}.fc-inner{position:relative;width:100%;height:100%;transition:transform .6s cubic-bezier(.3,.9,.3,1);transform-style:preserve-3d}
.fc.flipped .fc-inner{transform:rotateY(180deg)}.fc.no-anim .fc-inner{transition:none}.fc:focus-visible .fc-face{outline:3px solid #e6ad56}
.fc-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:18px;display:flex;flex-direction:column;overflow:hidden;
  background:#fffdf7 repeating-linear-gradient(180deg,transparent 0 33px,rgba(70,110,170,.13) 33px 34px);box-shadow:0 18px 40px rgba(60,50,30,.18),0 2px 6px rgba(60,50,30,.10);border:1px solid #e6e1d3}
.fc-back{transform:rotateY(180deg)}
.fc-face:before{content:'';position:absolute;left:46px;top:0;bottom:0;width:2px;background:rgba(214,72,72,.28)}
.fc-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 20px;color:#fff;font-size:13px;font-weight:700;position:relative;z-index:1}
.fc-topic{font-weight:500;opacity:.9;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.t-cifra .fc-head{background:linear-gradient(135deg,#d99a12,#e8b33a)}.t-articulo .fc-head{background:linear-gradient(135deg,#1f4f8a,#2f6db3)}.t-truco .fc-head{background:linear-gradient(135deg,#c64e2b,#e07a3b)}.t-callejero .fc-head{background:linear-gradient(135deg,#23745b,#2f9472)}
.fc-q,.fc-a{flex:1;display:flex;flex-direction:column;justify-content:center;padding:18px 34px 18px 64px;position:relative;z-index:1;overflow:auto}
.fc-q small{color:#8a7f66;font-size:13px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.fc-q p{font-family:Georgia,"Times New Roman",serif;font-size:27px;line-height:1.3;color:#1d2a30;margin:8px 0 0}
.fc-answer{font-family:Georgia,"Times New Roman",serif;font-size:24px;line-height:1.35;color:#14301f;margin:0 0 14px}
.t-cifra .fc-answer{font-size:34px;font-weight:700;color:#8a5a00}
.fc-hook{background:#fff4c9;border-radius:10px;padding:10px 14px;box-shadow:inset 0 0 0 1px rgba(180,140,0,.25);transform:rotate(-.4deg)}.fc-hook b{font-size:13px;color:#7a5b00}.fc-hook p{margin:4px 0 0;font-size:15px!important;color:#4a3f1c!important}
.fc-foot{display:flex;justify-content:space-between;gap:10px;padding:10px 20px 14px 64px;font-size:12.5px;color:#8a7f66;position:relative;z-index:1}
.fc-grades{max-width:620px;margin:34px auto 0;text-align:center}.fc-grades>p{color:#6a797e;font-size:14px;margin-bottom:10px}
.fc-grades .grades{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.fc-grades .grades button{display:flex;flex-direction:column;gap:2px;padding:12px 8px;border-radius:12px}
.fc-grades button b{font-size:15px}.fc-grades button small{font-size:11.5px;opacity:.85;color:inherit}
.g0{background:#b33434}.g1{background:#d98a1f}.g2{background:#23745b}.g3{background:#1f4f8a}
.fc-help{text-align:center;color:#8a979c;font-size:14px;margin-top:30px}
@media(max-width:720px){.fc-stage{height:420px}.fc-q,.fc-a{padding:14px 18px 14px 40px}.fc-face:before{left:28px}.fc-q p{font-size:22px}.fc-answer{font-size:20px}.fc-foot{padding-left:40px;flex-direction:column}.fc-grades .grades{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){.fc-inner{transition:none}}
.fc-ctx{display:inline-block;margin-top:10px;font-size:14px;color:#6b5f45;background:#f3ecd9;border-radius:6px;padding:3px 9px;align-self:flex-start}
.fc-pista{align-self:flex-start;margin-top:14px;background:#fff4c9;color:#7a5b00;border:1px dashed #d9b84a;padding:6px 12px;font-size:13px;border-radius:20px}
.fc-pista-txt{display:block;margin-top:14px;background:#fff4c9;border-radius:8px;padding:8px 12px;font-size:15px;color:#4a3f1c;transform:rotate(-.4deg)}
.fc-bad{all:unset;cursor:pointer;font-size:12px;color:#a06a5a;text-decoration:underline}
.fc-nav{max-width:620px;margin:34px auto 0;display:grid;grid-template-columns:1fr auto 1fr;gap:10px}.fc-nav button{padding:14px 18px;font-size:15px;border-radius:12px}.fc-nav button:last-child{background:var(--navy)}
.fc-help{margin-top:16px}.fc-top .ghost{white-space:nowrap}
@media(max-width:720px){.fc-nav{grid-template-columns:1fr 1fr}.fc-nav .ghost{grid-column:1/-1;order:-1}}
.lvl-rule{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.lvl-rule div{background:#f4f6f1;border-radius:10px;padding:10px;text-align:center}.lvl-rule b{display:block;font-size:14px}.lvl-rule span{font-size:12.5px;color:#6a797e}
.lvl-badge{display:inline-block;background:#152b36;color:#fff;border-radius:20px;padding:3px 12px;font-size:12px;font-weight:700;margin-bottom:8px}
.lvl-dots{display:flex;gap:6px;margin:6px 0 10px}.lvl-dots i{width:22px;height:8px;border-radius:4px;background:#e3e7df}.lvl-dots i.ok{background:var(--green)}.lvl-dots i.now{background:var(--orange)}
@media(max-width:720px){.lvl-rule{grid-template-columns:repeat(2,1fr)}}
/* Cascos por categoría (menor → mayor) en lugar del logotipo */
.brand.helmets{display:flex;flex-wrap:wrap;align-items:flex-end;gap:2px;font-size:0;text-decoration:none}
.brand.helmets .helmet{width:38px;height:27px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.35));transition:transform .15s}
.brand.helmets .helmet:nth-child(1){transform:scale(.82)}.brand.helmets .helmet:nth-child(2){transform:scale(.87)}.brand.helmets .helmet:nth-child(3){transform:scale(.92)}.brand.helmets .helmet:nth-child(4){transform:scale(.96)}
.brand.helmets:hover .helmet{transform:translateY(-2px)}
.brand.helmets>span{display:block;width:100%;font-size:10px;letter-spacing:3px;color:#aabfc5;margin:10px 0 26px 4px;font-weight:700}
.home{text-decoration:none;display:inline-flex;align-items:center;gap:4px}
@media(max-width:720px){.brand.helmets .helmet{width:30px;height:22px}.brand.helmets>span{display:none}}
/* Esquema en árbol (izquierda → derecha) */
.tree-wrap{overflow-x:auto;background:#fff;border:1px solid #e7e9e2;border-radius:var(--radius);box-shadow:var(--shadow);padding:24px 20px}
.tree-h{display:flex;align-items:center;min-width:max-content}
.tree-h ul{list-style:none;margin:0;padding:0 0 0 26px;position:relative;display:flex;flex-direction:column;justify-content:center}
.tree-h ul:before{content:'';position:absolute;left:0;top:50%;width:13px;border-top:2px solid #c7cfc9}
.tree-h li{position:relative;display:flex;align-items:center;padding:5px 0 5px 13px}
.tree-h li:before{content:'';position:absolute;left:0;top:50%;width:13px;border-top:2px solid #c7cfc9}
.tree-h li:after{content:'';position:absolute;left:0;top:0;bottom:0;border-left:2px solid #c7cfc9}
.tree-h li:first-child:after{top:50%}.tree-h li:last-child:after{bottom:50%}.tree-h li:only-child:after{display:none}
.tnode{position:relative;z-index:1;border-radius:10px;padding:8px 12px;font-size:14px;line-height:1.3;max-width:240px;flex:none}
.tnode[data-action]{cursor:pointer}.tnode em{display:block;font-style:normal;font-size:12.5px;font-weight:400;margin-top:6px;opacity:.9;max-width:240px}
.tnode.d0{background:#152b36;color:#fff;font-weight:800;font-size:16px;padding:14px 16px;max-width:200px}
.tnode.d1{background:linear-gradient(135deg,#c64e2b,#e07a3b);color:#fff;font-weight:700}
.tnode.d2{background:#fff4ee;border:2px solid #f0c3ad;color:#5a2a17;font-weight:600}
.tnode.d3{background:#f4f6f1;border:1px solid #dfe4dc;color:#2c3e45;font-size:13px}
.tnode.d4{background:none;padding:2px 6px;font-size:12px;color:#5c6b70}
.tl4{padding-left:18px!important}.tl4:before,.tl4 li:before,.tl4 li:after{border-color:#e2e7e1!important}
.tnode.open{box-shadow:0 0 0 3px rgba(230,173,86,.5)}
.tree-tools{margin:6px 0 12px}
@media print{body.print-tree aside,body.print-tree header,body.print-tree footer,body.print-tree .tabs,body.print-tree .tree-tools,body.print-tree .topic-meta,body.print-tree h1,body.print-tree .eyebrow,body.print-tree .lead,body.print-tree .resumen-open,body.print-tree .bridge-note{display:none!important}body.print-tree .shell{margin:0}body.print-tree main{padding:0;max-width:none}body.print-tree .tree-wrap{overflow:visible;border:0;box-shadow:none}body.print-tree{background:#fff}@page{size:A4 landscape;margin:10mm}}
/* Temario oficial */
.syl-list{padding:6px 18px}.syl{display:flex;align-items:center;gap:16px;padding:14px 0;border-top:1px solid #eef0ea}.syl:first-child{border-top:0}
.syl-n{flex:none;width:44px;height:44px;border-radius:12px;background:#152b36;color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px}
.syl-body{flex:1;min-width:0}.syl-body b{display:block;font-size:15.5px;line-height:1.35}.syl-body small{color:#6a797e}
.syl-links{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 4px}.syl-links .chip{font-size:13px;padding:4px 12px;background:#fff6f1;border-color:#f0c3ad;color:#9a3c1d}
.syl.off{opacity:.45;filter:grayscale(1)}.syl.off .syl-n{background:#9aa6aa}
.badge.off{background:#eceeea;color:#7d878a}
/* Test: explicación al lado, sin saltos de scroll, flechas ‹ › */
.quiz-bar{display:flex;align-items:center;gap:16px;margin-bottom:16px}.quiz-bar>div{flex:1;font-size:15px}.quiz-bar .progress{margin-top:6px}
.finish-btn{background:var(--navy)}
.quiz-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:18px;align-items:start}
.quiz-card h2{font-size:19px;line-height:1.4}.quiz-card .options{margin:16px 0}
.quiz-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.spacer-flex{flex:1}
.arrow{width:42px;height:42px;padding:0;border-radius:50%;background:#fff;color:var(--navy);border:1px solid #cfd8d0;font-size:24px;line-height:1;display:inline-grid;place-items:center}.arrow:hover:not(:disabled){background:#f1f4ef}
.quiz-side{position:sticky;top:96px}.quiz-side .feedback{margin:0;border-radius:14px;padding:18px}
.quiz-hint{background:#fff;border:1px dashed #cfd8d0;border-radius:14px;padding:18px;color:#5c6b70;font-size:14.5px}.quiz-hint p{margin:6px 0 0}
.option.right{border:2px solid var(--green);background:#e9f5ee}.option.wrong{border:2px solid var(--red);background:#fdecea}.option:disabled{opacity:1;cursor:default}
.quiz-more{margin-top:18px}.quiz-more summary{font-size:14px;color:#5c6b70}
@media(max-width:900px){.quiz-grid{grid-template-columns:1fr}.quiz-side{position:static}}
.question-nav button.ok{background:#2e9d6f;color:#fff}.question-nav button.ko{background:#c84141;color:#fff}.question-nav button.done{background:#c9d3d6;color:#22323a}

/* v2.4 · Tipografía: Barlow (texto) + Barlow Condensed (títulos, botones y menú), más grande y legible */
:root{--f-text:"Barlow",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;--f-head:"Barlow Condensed","Arial Narrow",-apple-system,BlinkMacSystemFont,sans-serif}
body{font-family:var(--f-text);font-size:17px;line-height:1.62;letter-spacing:.1px}
h1,h2,h3,.eyebrow,.score,.stat strong,.timer,.mental-q,.syl-n,.plan-n,.wiz-n,.lvl-badge,.big-btn strong,.choice strong,.half strong,.tnode.d0,.tnode.d1,.quiz-bar b,.fc-type,.pomo-time,.pomo-phase,.nav-more summary{font-family:var(--f-head)}
h1{font-size:40px;font-weight:700;letter-spacing:.2px;line-height:1.08}
h2{font-size:25px;font-weight:700;letter-spacing:.2px}
h3{font-size:19.5px;font-weight:600;letter-spacing:.2px}
.lead{font-size:18px;line-height:1.6}
.eyebrow{font-size:13px;letter-spacing:1.6px;font-weight:700}
.card p,.list-row p,.card ul li{font-size:16.5px}
small{font-size:14px}
.notice{font-size:16px}
button,.button,.chip,.seg button{font-family:var(--f-head);font-size:17px;font-weight:600;letter-spacing:.4px}
.option{font-family:var(--f-text);font-size:17.5px;line-height:1.45}
.quiz-card h2{font-family:var(--f-text);font-size:22px;font-weight:600;line-height:1.4;letter-spacing:0}
.feedback p,.quiz-hint{font-size:16.5px}
.nav-main a{font-family:var(--f-head);font-size:19px;font-weight:600;letter-spacing:.4px}.nav-main a small{font-family:var(--f-text);font-size:13px;letter-spacing:.1px;font-weight:400}
.nav-more summary{font-size:14px;letter-spacing:1.2px}.nav-more a{font-family:var(--f-head);font-size:17px;letter-spacing:.3px}
.big-btn strong{font-size:23px;font-weight:700;letter-spacing:.3px}.big-btn span{font-size:15px}
.choice strong{font-size:20px}.choice span{font-size:15px}
.plan-txt b{font-family:var(--f-head);font-size:19px;font-weight:600;letter-spacing:.2px}.plan-txt small{font-size:15px}
.stat strong{font-size:32px}.stat span{font-size:14.5px}
.mini-stats{font-size:15px}.mini-stats b{font-family:var(--f-head);font-size:21px}
.timer{font-size:32px}.pomo-time{font-size:40px}
.syl-body b{font-size:17.5px}.tnode{font-size:15px}.tnode.d0{font-size:19px}.tnode.d1{font-size:16.5px}
.tabs button{font-size:18px}
.fc-q p{font-size:30px}.fc-answer{font-size:26px}.fc-type{font-size:15px;letter-spacing:.6px}
.half strong{font-size:30px;font-weight:700;letter-spacing:.3px}.half small{font-size:16px}
.mental-q{font-size:clamp(44px,8vw,76px);font-weight:700}#mental-input{font-family:var(--f-head);font-size:38px}
input,select,textarea{font-family:var(--f-text);font-size:16.5px}
@media(max-width:720px){body{font-size:16.5px}h1{font-size:32px}h2{font-size:22px}.big-btn strong{font-size:21px}.quiz-card h2{font-size:20px}.fc-q p{font-size:24px}.fc-answer{font-size:21px}}
.quiz-tip{font-size:14.5px;color:#6a797e;margin-right:6px}
.by-topic{margin-top:22px}.bt-row{display:grid;grid-template-columns:minmax(0,1fr) 160px 50px;gap:12px;align-items:center;padding:6px 0;font-size:15.5px}.bt-row .progress{margin:0}.bt-row b{text-align:right}
@media(max-width:720px){.bt-row{grid-template-columns:1fr 70px 44px}}
.score{font-family:var(--f-head);font-size:72px;letter-spacing:-1px;line-height:1}.score small{font-family:var(--f-head);font-size:26px;letter-spacing:0;margin-left:8px;color:#6a797e}
/* Buscador */
.search-box input{width:100%;font-size:20px;padding:14px 18px;border-radius:14px;border:2px solid #cfd8d0}.search-box input:focus{border-color:var(--orange);outline:none}
.sr{display:block;text-decoration:none;color:inherit;padding:12px 0;border-top:1px solid #eef0ea}.sr:first-child{border-top:0}.sr b{display:block;font-size:16.5px}.sr small{display:block;color:#6a797e;font-size:14.5px;line-height:1.45}.sr .k{display:inline-block;font-family:var(--f-head);font-size:12.5px;letter-spacing:.8px;color:#fff;background:#152b36;border-radius:6px;padding:1px 7px;margin-right:6px}
.sr:hover b{color:var(--orange)}mark.hl{background:#ffe08a;padding:0 2px;border-radius:3px}
.home-search{margin:0 0 18px}.home-search input{width:100%;font-size:18px;padding:14px 18px;border-radius:14px;border:2px solid #dfe4dc;background:#fff;box-shadow:var(--shadow)}.home-search input:focus{border-color:var(--orange);outline:none}
.syl-actions{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 8px}.syl-actions .ghost,.syl-actions .button{padding:7px 14px;font-size:15px}
.topic-quick{display:flex;gap:10px;flex-wrap:wrap;margin:4px 0 14px}
/* v2.5 · 4 secciones */
.big-btn.c0{background:linear-gradient(135deg,#c64e2b,#e07a3b)!important}.big-btn.c1{background:linear-gradient(135deg,#1f3d49,#2f5b6b)!important}.big-btn.c2{background:linear-gradient(135deg,#23745b,#2f9472)!important}.big-btn.c3{background:linear-gradient(135deg,#5a3d7a,#7a5aa0)!important}
.big-actions:has(> :nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
.next-step{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0 6px;padding:26px 28px;border-radius:20px;color:#fff;background:linear-gradient(135deg,#152b36,#24485a);box-shadow:0 14px 30px rgba(21,43,54,.22)}
.next-step h2{color:#fff;margin:6px 0 4px;font-size:28px}.next-step p{margin:0;opacity:.85}
.next-step .button,.next-step button{background:#e07a3b!important;color:#fff!important;border:0;font-size:18px;padding:14px 24px;white-space:nowrap}
.home-search{margin:22px 0 8px}
.hub-extra{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:14px 0 6px;font-size:16px}.hub-extra span{color:var(--muted)}.hub-extra a{font-weight:600}
.more-list{padding:6px 0}.more-row{display:flex;flex-direction:column;padding:14px 22px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.more-row:last-child{border-bottom:0}.more-row:hover{background:#faf7f1}.more-row small{color:var(--muted)}
@media(max-width:720px){.next-step{flex-direction:column;align-items:stretch;padding:20px}.next-step h2{font-size:23px}.big-actions:has(> :nth-child(3):last-child){grid-template-columns:1fr}}
.nav-main a{font-family:var(--f-head);font-size:21px;font-weight:600;padding:12px 16px;letter-spacing:.3px}
.nav-mas{display:block;margin-top:14px;border-top:1px solid #2c4651;padding:14px 16px 6px;color:#9db4bc;font-size:15px}.nav-mas.active,.nav-mas:hover{color:#fff}
@media(max-width:720px){.nav-main a{font-size:17px;padding:8px 12px}.nav-mas{display:inline-block;border:0;margin:0;padding:8px 12px}}
/* v2.5 · Secciones por oposición, temas tipo ficha y Más material */
.nav-more .nav-group{margin:12px 0 2px 14px;font-size:10.5px}
.more-drop{margin-top:22px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:6px 20px}
.more-drop summary{font-family:var(--f-head);font-size:20px;padding:12px 0;list-style:none}.more-drop summary::-webkit-details-marker{display:none}
.more-drop[open]{padding-bottom:16px}.more-drop .more-group{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:8px 0;border-top:1px solid var(--line)}.more-drop .more-group b{width:100%;font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}
.tema-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tema-card{display:flex;align-items:flex-start;gap:16px;padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:14px;color:inherit;text-decoration:none;transition:transform .12s,box-shadow .12s}
a.tema-card:hover,.tema-card.neo summary:hover{box-shadow:0 8px 22px rgba(21,43,54,.10)}a.tema-card:hover{transform:translateY(-2px)}
.tema-card>div,.tema-card summary>div{flex:1;min-width:0}.tema-card b{display:block;font-size:17px;line-height:1.3}
.tema-n{flex:0 0 46px;height:46px;display:grid;place-items:center;border-radius:12px;background:#152b36;color:#fff;font-family:var(--f-head);font-size:21px;font-weight:700}
.tema-go{font-size:28px;color:#b8c4c0;align-self:center}
.tema-card.off{background:repeating-linear-gradient(135deg,#f4f2ec,#f4f2ec 10px,#efece4 10px,#efece4 20px);border-style:dashed;opacity:.85}
.tema-card.off b{color:#8b9598}.tema-card.off .tema-n{background:#cfd4d0;color:#fff}
.falta{display:inline-block;margin-top:6px;font-weight:700;letter-spacing:.5px;color:#a0611c!important}
.tema-card.neo{display:block;padding:0}.tema-card.neo summary{display:flex;align-items:center;gap:16px;padding:18px 20px;list-style:none;cursor:pointer}.tema-card.neo summary::-webkit-details-marker{display:none}
.tema-card.neo .tema-n{background:#5a3d7a}.neo-docs{display:grid;gap:2px;padding:0 20px 14px 82px}.neo-docs a{padding:6px 0;border-bottom:1px solid var(--line)}
.faltan summary{list-style:none;font-size:17px}.faltan ol{columns:2;margin:14px 0}.faltan li{break-inside:avoid;margin-bottom:6px}
.doc-list{padding:4px 0}.doc-row{display:flex;align-items:center;gap:14px;padding:14px 22px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.doc-row:last-child{border-bottom:0}.doc-row:hover{background:#faf7f1}.doc-row>span:first-child{font-size:24px}.doc-row div{flex:1}.doc-row b{display:block}
.more-docs summary{padding:14px 22px;list-style:none}.more-docs summary::-webkit-details-marker{display:none}
.pdf-wrap{display:grid;gap:10px}.pdf-frame{width:100%;height:78vh;border:1px solid var(--line);border-radius:12px;background:#fff}
.tabs{position:relative;flex-wrap:wrap}.tab-more{position:relative;margin:0}.tab-more summary{list-style:none;cursor:pointer;padding:10px 16px;border-radius:10px;font-family:var(--f-head);font-size:17px;font-weight:600;color:var(--muted)}.tab-more summary::-webkit-details-marker{display:none}.tab-more.on summary{color:var(--orange)}
.tab-more>div{position:absolute;z-index:5;top:100%;left:0;display:grid;min-width:210px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 30px rgba(21,43,54,.15);padding:6px}
.tab-more>div button{all:unset;cursor:pointer;padding:10px 14px;border-radius:8px;font-family:var(--f-head);font-size:17px}.tab-more>div button:hover,.tab-more>div button.on{background:#f4efe6}
.mini-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mini-card{margin:0;background:#fffdf8;border:1px solid #eadfcd;border-radius:14px;padding:16px 18px;box-shadow:0 3px 0 #efe6d6}
.mini-card summary{list-style:none;font-size:17px;font-weight:600}.mini-card summary::-webkit-details-marker{display:none}.mini-card summary small{display:block;font-weight:400;margin-bottom:4px}
.mini-card[open]{background:#f2f8f4;border-color:#bfdccc}.mini-card>b{display:block;margin-top:10px;font-size:18px;color:var(--green)}.mini-card p{margin:6px 0 0;font-size:15px;color:var(--muted)}
@media(max-width:860px){.tema-grid,.mini-cards{grid-template-columns:1fr}.faltan ol{columns:1}.neo-docs{padding-left:20px}}
table.marks td.mark{font-family:var(--f-head);font-size:19px;font-weight:600;color:var(--navy)}table.marks td{vertical-align:middle}
.go{background:linear-gradient(135deg,#c64e2b,#e07a3b)!important;color:#fff!important}
/* v2.5 · Menú arriba, contenido centrado (adiós barra lateral) */
body:not(.landing) aside{position:sticky;top:0;inset:auto;z-index:20;width:auto;height:auto;display:flex;flex-direction:row;align-items:center;gap:18px;padding:10px 28px;overflow:visible;box-shadow:0 6px 20px rgba(21,43,54,.18)}
body:not(.landing) aside .brand{flex:0 0 auto;margin:0}body:not(.landing) aside .brand>span:last-child{display:none}
body:not(.landing) aside .brand svg{width:26px;height:auto}
body:not(.landing) aside>.eyebrow{display:none}
body:not(.landing) aside select#profile{width:auto;max-width:200px;margin:0;font-size:14px}
body:not(.landing) aside .pomo{order:5;margin:0 0 0 auto;padding:0;border:0;background:none;display:flex;align-items:center;gap:8px}
body:not(.landing) aside .pomo button{padding:8px 14px;font-size:15px}body:not(.landing) aside .pomo small{display:none}
body:not(.landing) nav#nav{order:3;margin:0;display:flex;align-items:center;gap:2px;flex-wrap:nowrap;min-width:0}
body:not(.landing) .nav-main{display:flex;gap:2px}
body:not(.landing) .nav-main a{font-size:18px;padding:9px 14px;border-left:0!important;border-radius:10px;white-space:nowrap}
body:not(.landing) .nav-main a.active{background:#35505a;box-shadow:inset 0 -3px 0 #f18e67}
body:not(.landing) .nav-more{position:relative;margin:0;padding:0;border:0}
body:not(.landing) .nav-more summary{padding:9px 14px;font-family:var(--f-head);font-size:18px;font-weight:600;color:#e6eef0;text-transform:none;letter-spacing:.3px;border-radius:10px}
body:not(.landing) .nav-more summary:after{content:' ▾'}body:not(.landing) .nav-more[open] summary{background:#29444f}
body:not(.landing) .nav-more[open]>:not(summary){}
body:not(.landing) .nav-more>a,body:not(.landing) .nav-more>.nav-group{display:none}
body:not(.landing) .nav-more[open]{}
body:not(.landing) .nav-more[open]::after{content:'';position:fixed;inset:0;z-index:-1}
body:not(.landing) .nav-more .more-panel{display:none}
body:not(.landing) .nav-more[open] .more-panel{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:4px 26px;position:absolute;top:calc(100% + 10px);right:-120px;width:min(880px,90vw);background:#fff;color:var(--ink);border-radius:16px;padding:20px 24px;box-shadow:0 20px 50px rgba(21,43,54,.28)}
.more-panel .mp-col b{display:block;font-size:12px;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.more-panel .mp-col a{display:block;color:var(--ink)!important;padding:7px 8px;margin:0 -8px;border-radius:8px;font-size:15.5px;background:none!important}.more-panel .mp-col a:hover,.more-panel .mp-col a.active{background:#f4efe6!important}
body:not(.landing) .aside-foot{order:6;margin:0;padding:0;display:flex;align-items:center;gap:12px}
body:not(.landing) .aside-foot>.dot,body:not(.landing) .aside-foot>#save-status,body:not(.landing) .aside-foot>#version{display:none}
body:not(.landing) .aside-foot .account{display:flex;align-items:center;gap:8px;margin:0}body:not(.landing) .aside-foot .account>span:nth-child(2){display:none}
body:not(.landing) .shell{margin-left:0}
body:not(.landing) header{max-width:1120px;margin:0 auto;border-bottom:0;padding:18px 32px 0;height:auto}
body:not(.landing) main{max-width:1120px;padding:20px 32px 70px}
body:not(.landing) footer{text-align:center}
body:not(.landing) footer::after{content:'';}
@media(max-width:1180px){body:not(.landing) aside{flex-wrap:wrap;gap:10px 14px}body:not(.landing) nav#nav{order:10;width:100%;overflow-x:auto}body:not(.landing) .nav-more[open] .more-panel{position:fixed;top:120px;left:16px;right:16px;width:auto;grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){body:not(.landing) aside{padding:10px 16px}body:not(.landing) .nav-main a,body:not(.landing) .nav-more summary{font-size:16px;padding:8px 10px}body:not(.landing) .nav-more[open] .more-panel{grid-template-columns:1fr;max-height:70vh;overflow:auto}body:not(.landing) header,body:not(.landing) main{padding-left:16px;padding-right:16px}}
html,body{overflow-x:hidden}
body:not(.landing) .nav-more[open] .more-panel{right:-150px}
@media(min-width:1181px){body:not(.landing) .nav-more[open] .more-panel{position:fixed;top:84px;right:24px;left:auto}}
body:not(.landing) aside .pomo button{white-space:nowrap}
body:not(.landing) .nav-main a,body:not(.landing) .nav-more summary{font-size:17px;padding:9px 12px}
.app-name{position:absolute;top:22px;left:0;right:0;text-align:center;margin:0;font-family:var(--f-head);font-size:34px;letter-spacing:6px;text-transform:uppercase;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.35);pointer-events:none}
.app-name{color:var(--navy);text-shadow:none}body:not(.landing) aside{padding-right:20px}
/* v2.5.1 · arreglos de la revisión */
/* El menú va en su propia fila: nunca empuja la cuenta ni el pomodoro fuera de la pantalla. */
body:not(.landing) aside{flex-wrap:wrap;row-gap:6px}
body:not(.landing) nav#nav{order:10;width:100%;overflow-x:auto;scrollbar-width:none}
body:not(.landing) nav#nav::-webkit-scrollbar{display:none}
body:not(.landing) .nav-more[open] .more-panel{position:fixed;top:118px;right:24px;left:auto}
@media(max-width:720px){body:not(.landing) .nav-more{display:block!important}body:not(.landing) .nav-more[open] .more-panel{top:150px;left:12px;right:12px;width:auto}
 .quiz-bar{flex-wrap:wrap;gap:8px}.quiz-bar .finish-btn,.quiz-bar .quit-btn{flex:1 1 auto}
 .card table{display:block;overflow-x:auto;max-width:100%}.card td,.card th{min-width:110px}}

/* ===================== v2.8 · Estética «parque de bomberos» ===================== */
:root{--fuego:linear-gradient(135deg,#ff8a3d 0%,#e0532a 45%,#b8321b 100%);--borde-fuego:#8f2f12;
 --sombra-1:0 1px 2px rgba(21,43,54,.08),0 4px 12px rgba(21,43,54,.08);--sombra-2:0 2px 4px rgba(21,43,54,.10),0 14px 34px rgba(21,43,54,.16)}
/* Botones principales: relieve con canto inferior, brillo superior y hundimiento al pulsar */
button:not(.ghost):not(.secondary):not(.chip):not(.option):not(.node-check):not(.big-btn):not(.half):not(.linkish):not(.back):not(.arrow):not([data-action=jump]),.button:not(.secondary):not(.ghost){
 background:var(--fuego)!important;color:#fff;border:0;border-radius:12px;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 3px 0 var(--borde-fuego),0 8px 18px rgba(198,78,43,.28);
 transition:transform .12s ease,box-shadow .12s ease,filter .15s;text-shadow:0 1px 1px rgba(0,0,0,.18)}
button:not(.ghost):not(.secondary):not(.chip):not(.option):not(.node-check):not(.big-btn):not(.half):not(.linkish):not(.back):not(.arrow):not([data-action=jump]):hover,.button:not(.secondary):not(.ghost):hover{filter:brightness(1.07) saturate(1.05);transform:translateY(-1px)}
button:not(.ghost):not(.secondary):not(.chip):not(.option):not(.node-check):not(.big-btn):not(.half):not(.linkish):not(.back):not(.arrow):not([data-action=jump]):active,.button:not(.secondary):not(.ghost):active{transform:translateY(3px);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 0 0 var(--borde-fuego),0 2px 6px rgba(198,78,43,.25)}
.secondary,button.secondary,.button.secondary{background:linear-gradient(180deg,#ffffff,#eef2ec)!important;color:#23463a;border:1px solid #d4ddd3;border-radius:12px;box-shadow:inset 0 1px 0 #fff,0 2px 0 #cbd5cb,0 6px 14px rgba(21,43,54,.08);transition:transform .12s,box-shadow .12s}
.secondary:hover{transform:translateY(-1px)}.secondary:active{transform:translateY(2px);box-shadow:inset 0 1px 0 #fff,0 0 0 #cbd5cb,0 2px 4px rgba(21,43,54,.08)}
.ghost{border-radius:12px;transition:transform .12s,box-shadow .15s,background .15s}.ghost:hover{background:#fff;box-shadow:var(--sombra-1);transform:translateY(-1px)}

/* Tarjetas grandes: degradado profundo, franjas de cinta de balizamiento, brillo que sigue al ratón e inclinación 3D */
.big-btn{position:relative;overflow:hidden;isolation:isolate;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--ty,0));
 transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 4px 0 rgba(0,0,0,.18),0 16px 34px rgba(21,43,54,.22)!important}
.big-btn.tilting{transition:transform .06s linear,box-shadow .2s}
.big-btn:hover{--ty:-4px;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 6px 0 rgba(0,0,0,.18),0 24px 44px rgba(21,43,54,.30)!important}
.big-btn:active{--ty:3px;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 0 rgba(0,0,0,.18),0 8px 16px rgba(21,43,54,.2)!important}
.big-btn::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
 background:radial-gradient(260px circle at var(--mx,80%) var(--my,0%),rgba(255,255,255,.28),transparent 60%),
 repeating-linear-gradient(-45deg,rgba(255,255,255,.07) 0 14px,transparent 14px 28px);mix-blend-mode:overlay;opacity:.9}
.big-btn::after{content:'';position:absolute;right:-40px;bottom:-40px;width:150px;height:150px;border-radius:50%;z-index:-1;pointer-events:none;
 background:radial-gradient(circle,rgba(255,255,255,.22),transparent 65%)}
.big-btn.c0{background:linear-gradient(135deg,#ff8a3d 0%,#e0532a 50%,#a92f17 100%)!important}
.big-btn.c1{background:linear-gradient(135deg,#2c5868 0%,#1d3a46 55%,#0f222b 100%)!important}
.big-btn.c2{background:linear-gradient(135deg,#3fb38a 0%,#23745b 55%,#164c3c 100%)!important}
.big-btn.c3{background:linear-gradient(135deg,#9a76c7 0%,#6a4a92 55%,#3f2a5c 100%)!important}
.big-btn.c4{background:linear-gradient(135deg,#f3c14f 0%,#d38a1f 55%,#9a5a10 100%)!important}
.big-btn strong{text-shadow:0 2px 6px rgba(0,0,0,.25)}

/* Escudos de la portada: inclinación suave */
.half{transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .3s cubic-bezier(.2,.8,.2,1)}.half.tilting{transition:transform .06s linear}

/* Menú superior con línea de fuego viva */
body:not(.landing) aside{background:linear-gradient(180deg,#183240,#12262f)!important}
body:not(.landing) aside::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#b8321b,#ff8a3d,#ffd166,#ff8a3d,#b8321b);background-size:200% 100%;animation:fuegoLinea 6s linear infinite;opacity:.9}
@keyframes fuegoLinea{to{background-position:200% 0}}
body:not(.landing) .nav-main a{transition:background .15s,transform .12s}body:not(.landing) .nav-main a:hover{background:rgba(255,255,255,.07)}
body:not(.landing) .nav-main a.active{background:linear-gradient(180deg,#3d5c68,#2c4853)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),inset 0 -3px 0 #ff8a3d,0 4px 12px rgba(0,0,0,.25)}

/* Fichas de tema */
a.tema-card{position:relative;overflow:hidden;box-shadow:var(--sombra-1);transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--ty,0));transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s}
a.tema-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--fuego);transform:scaleY(0);transform-origin:bottom;transition:transform .25s}
a.tema-card:hover{--ty:-3px;box-shadow:var(--sombra-2)}a.tema-card:hover::before{transform:scaleY(1)}
a.tema-card.tilting{transition:transform .06s linear,box-shadow .2s}
.tema-n{background:linear-gradient(145deg,#2c5868,#12262f)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 3px 8px rgba(21,43,54,.25)}
a.tema-card:hover .tema-n{background:var(--fuego)!important}
.tema-card.neo .tema-n{background:linear-gradient(145deg,#9a76c7,#3f2a5c)!important}

/* Barras de progreso con brillo */
.progress{height:8px;border-radius:99px;background:#e5e9e1;box-shadow:inset 0 1px 2px rgba(0,0,0,.08)}
.progress i{border-radius:99px;background:linear-gradient(90deg,#23745b,#3fb38a,#b8e35a)!important;box-shadow:0 0 10px rgba(63,179,138,.45);position:relative}

/* Tarjetas en general */
.card{box-shadow:var(--sombra-1);border-radius:16px}
.next-step{background:radial-gradient(500px circle at var(--mx,85%) var(--my,10%),rgba(255,138,61,.25),transparent 60%),linear-gradient(135deg,#1d3a46,#0f222b)!important;box-shadow:0 18px 40px rgba(15,34,43,.35)!important}

/* Test: opciones con relieve, acierto que brilla y fallo que tiembla */
.option{border-radius:12px;box-shadow:0 2px 0 #dfe5dc,0 4px 10px rgba(21,43,54,.05);transition:transform .12s,box-shadow .12s,border-color .12s}
.option:hover{transform:translateY(-2px);box-shadow:0 3px 0 #d4dcd1,0 10px 18px rgba(21,43,54,.08)}
.option.right{border-color:#2f9472!important;background:linear-gradient(180deg,#ecf8f1,#dcf1e5)!important;box-shadow:0 0 0 3px rgba(47,148,114,.18),0 8px 22px rgba(47,148,114,.25)!important}
.option.wrong{border-color:#c64e2b!important;background:linear-gradient(180deg,#fff2ed,#fde3d9)!important}
.tiembla{animation:tiembla .45s cubic-bezier(.36,.07,.19,.97)}
@keyframes tiembla{10%,90%{transform:translateX(-2px)}20%,80%{transform:translateX(4px)}30%,50%,70%{transform:translateX(-7px)}40%,60%{transform:translateX(7px)}}

/* Onda al pulsar y chispas al acertar */
.onda{position:absolute;border-radius:50%;background:rgba(255,255,255,.45);transform:scale(0);animation:onda .6s ease-out forwards;pointer-events:none;z-index:2}
.secondary .onda,.ghost .onda,.option .onda{background:rgba(198,78,43,.18)}
@keyframes onda{to{transform:scale(1);opacity:0}}
.chispas{position:fixed;width:0;height:0;pointer-events:none;z-index:50}
.chispas i{position:absolute;width:7px;height:7px;border-radius:2px;animation:chispa .8s cubic-bezier(.15,.7,.3,1) forwards;box-shadow:0 0 6px currentColor}
@keyframes chispa{0%{transform:translate(0,0) scale(1) rotate(0)}100%{transform:translate(var(--dx),calc(var(--dy) + 40px)) scale(.3) rotate(260deg);opacity:0}}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.big-btn,.half,a.tema-card{transform:none!important}}
button.back,.back{background:#fff!important;color:var(--ink)!important;text-shadow:none!important;border:1px solid #dfe4dc!important;box-shadow:0 2px 0 #dfe4dc,0 4px 10px rgba(21,43,54,.06)!important}
button.back:active{transform:translateY(2px);box-shadow:0 0 0 #dfe4dc!important}
/* ---- Guiños bomberiles: el fallo arde, el acierto se apaga con agua ---- */
.option{position:relative}
.llama{position:absolute;bottom:2px;width:18px;height:calc(26px * var(--h,1));pointer-events:none;z-index:3;transform-origin:50% 100%;
 background:radial-gradient(ellipse at 50% 85%,#fff3b0 0 18%,#ffd166 28%,#ff8a3d 50%,#e0532a 68%,rgba(224,83,42,0) 72%);
 border-radius:50% 50% 45% 45%/65% 65% 35% 35%;filter:drop-shadow(0 0 6px rgba(255,138,61,.8));
 animation:llamaSube 1.7s ease-out forwards,llamaBaila .18s ease-in-out infinite alternate}
@keyframes llamaSube{0%{opacity:0;transform:scale(.2)}15%{opacity:1;transform:scale(1)}75%{opacity:1}100%{opacity:0;transform:scale(.6) translateY(-6px)}}
@keyframes llamaBaila{from{rotate:-6deg;scale:1 1}to{rotate:6deg;scale:.88 1.12}}
.option.ardiendo{background:linear-gradient(0deg,#ffd8c2,#fff2ed 60%)!important;box-shadow:0 0 0 2px rgba(255,138,61,.35),0 0 22px rgba(255,138,61,.45)!important}
/* Números de pregunta: los fallados quedan chamuscados con una llamita viva */
.question-nav button{position:relative}
.question-nav button.ko{background:radial-gradient(circle at 50% 120%,#7a2e12,#2b1a12 70%)!important;color:#ffcf9e!important;text-shadow:0 0 6px #ff8a3d;box-shadow:inset 0 0 6px rgba(0,0,0,.6),0 0 8px rgba(255,138,61,.35)!important;border:0}
.question-nav button.ko::after{content:'';position:absolute;top:-11px;right:-3px;width:10px;height:15px;pointer-events:none;transform-origin:50% 100%;
 background:radial-gradient(ellipse at 50% 85%,#fff3b0 0 18%,#ffd166 30%,#ff8a3d 52%,#e0532a 68%,transparent 72%);border-radius:50% 50% 45% 45%/65% 65% 35% 35%;
 filter:drop-shadow(0 0 3px #ff8a3d);animation:llamaBaila .22s ease-in-out infinite alternate}
.question-nav button.ok{background:linear-gradient(180deg,#5fd39f,#23745b)!important;color:#fff!important}
.chispas i{border-radius:50% 50% 50% 50%/60% 60% 40% 40%}
.question-nav button{background:#e4e8e0;color:var(--ink);border-radius:9px;box-shadow:0 2px 0 #cfd6cc}
.question-nav button.done{background:#c9d3cc}
.law-fold{margin:0 0 10px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--sombra-1)}
.law-fold>summary{display:grid;grid-template-columns:auto 1fr auto;gap:4px 14px;align-items:baseline;padding:16px 20px;cursor:pointer;list-style:none}
.law-fold>summary::-webkit-details-marker{display:none}.law-fold>summary::after{content:'▾';grid-column:3;grid-row:1;justify-self:end;color:var(--muted)}
.law-fold[open]>summary::after{content:'▴'}.lf-t{font-family:var(--f-head);font-size:20px;font-weight:700;color:var(--navy)}.lf-d{color:var(--muted);font-size:15px}
.law-fold>summary small{grid-column:1/-1}.law-fold>.card{margin:0 12px 12px;box-shadow:none}
@media(max-width:720px){.law-fold>summary{grid-template-columns:1fr auto}.lf-d{grid-column:1/-1}}
