:root{--bg: #f5f6f8;--surface: #ffffff;--surface-2: #eef1f5;--border: #dde2ea;--text: #1b2230;--muted: #5d6779;--accent: #1f5fd1;--accent-soft: #e3ecfc;--ok: #17803d;--ok-soft: #e1f4e7;--ko: #c22b2b;--ko-soft: #fbe6e6;--warn: #a86400;--warn-soft: #fdf0d9;--b1: #1f5fd1;--b2: #0f8a7e;--b3: #8a4bd6;--b4: #d16a1f;--radius: 12px;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .08);--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #11151c;--surface: #181e27;--surface-2: #212937;--border: #2c3545;--text: #e6eaf1;--muted: #9aa5b8;--accent: #6b9ef5;--accent-soft: #1d2b46;--ok: #4cc47a;--ok-soft: #173424;--ko: #f07171;--ko-soft: #3b1d1f;--warn: #f0b04d;--warn-soft: #3a2b12;--b1: #6b9ef5;--b2: #3cc4b4;--b3: #b58af0;--b4: #f0965a;color-scheme:dark}}:root[data-theme=dark]{--bg: #11151c;--surface: #181e27;--surface-2: #212937;--border: #2c3545;--text: #e6eaf1;--muted: #9aa5b8;--accent: #6b9ef5;--accent-soft: #1d2b46;--ok: #4cc47a;--ok-soft: #173424;--ko: #f07171;--ko-soft: #3b1d1f;--warn: #f0b04d;--warn-soft: #3a2b12;--b1: #6b9ef5;--b2: #3cc4b4;--b3: #b58af0;--b4: #f0965a;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--text);font:15px/1.5 var(--font);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:1.6rem;margin:0 0 4px;letter-spacing:-.01em}h2{font-size:1.15rem;margin:28px 0 12px}h3{font-size:1rem;margin:0 0 6px}p{margin:0 0 10px}.muted{color:var(--muted)}.small{font-size:.85rem}.app{display:flex;min-height:100vh}.sidebar{width:220px;flex:none;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:16px 12px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.05rem;color:var(--text);padding:4px 8px 18px}.brand:hover{text-decoration:none}.nav{display:flex;flex-direction:column;gap:2px}.nav a{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:8px;color:var(--muted);font-weight:500}.nav a svg{width:20px;height:20px;fill:currentColor;flex:none}.nav a:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.nav a.active{background:var(--accent-soft);color:var(--accent)}.theme-toggle{margin-top:auto;align-self:flex-start;background:none;border:1px solid var(--border);border-radius:8px;padding:7px;cursor:pointer;color:var(--muted)}.theme-toggle svg{width:18px;height:18px;fill:currentColor;display:block}.view{flex:1;min-width:0;padding:28px 32px 80px;max-width:1180px;outline:none}@media (max-width: 820px){.sidebar{position:fixed;bottom:0;top:auto;left:0;right:0;width:auto;height:auto;flex-direction:row;padding:4px;z-index:20;border-right:0;border-top:1px solid var(--border)}.brand,.theme-toggle{display:none}.nav{flex-direction:row;flex:1;justify-content:space-around}.nav a{flex-direction:column;gap:2px;font-size:.68rem;padding:6px 4px}.nav a[data-nav=ajustes]{display:none}.view{padding:18px 16px 90px}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.grid{display:grid;gap:14px}.grid.cols-4{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.grid.cols-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.stat .num{font-size:1.9rem;font-weight:700;letter-spacing:-.02em;line-height:1.1}.stat .lbl{color:var(--muted);font-size:.85rem}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.spacer{flex:1}.page-head{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}.page-head .spacer{flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:9px;padding:8px 14px;font:inherit;font-weight:600;font-size:.9rem;cursor:pointer;white-space:nowrap}.btn:hover{background:var(--surface-2);text-decoration:none}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{filter:brightness(1.08)}.btn.ghost{border-color:transparent;background:transparent}.btn.small{padding:5px 10px;font-size:.82rem}.btn.danger{color:var(--ko)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{width:16px;height:16px;fill:currentColor}.pill{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:99px;font-size:.78rem;font-weight:600;background:var(--surface-2);color:var(--muted)}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.ko{background:var(--ko-soft);color:var(--ko)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.accent{background:var(--accent-soft);color:var(--accent)}.tag-b{display:inline-block;min-width:34px;text-align:center;padding:2px 6px;border-radius:6px;font-weight:700;font-size:.75rem;color:#fff}.tag-b.I{background:var(--b1)}.tag-b.II{background:var(--b2)}.tag-b.III{background:var(--b3)}.tag-b.IV{background:var(--b4)}.bar{height:8px;background:var(--surface-2);border-radius:99px;overflow:hidden}.bar>span{display:block;height:100%;background:var(--accent);border-radius:99px;transition:width .3s}.bar.ok>span{background:var(--ok)}.bar.split{display:flex}.bar.split>span{border-radius:0}label.field{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--muted);font-weight:600}select,input[type=number],input[type=text],input[type=search],textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 10px}textarea{width:100%;min-height:120px;resize:vertical}.check{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:.92rem}.check input{width:16px;height:16px;accent-color:var(--accent)}.bloque{margin-top:26px}.bloque-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.bloque-head h2{margin:0}.tema{display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:border-color .15s,transform .15s;color:var(--text)}.tema:hover{border-color:var(--accent);text-decoration:none}.tema .t-num{font-size:.78rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.tema .t-title{font-weight:650;line-height:1.3}.tema .t-meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:auto}.reader{display:grid;grid-template-columns:270px 1fr;gap:20px;align-items:start}.reader-side{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto}.reader-side ol{list-style:none;padding:0;margin:8px 0 0}.reader-side li a{display:block;padding:6px 8px;border-radius:7px;color:var(--text);font-size:.88rem;line-height:1.3}.reader-side li a:hover{background:var(--surface-2);text-decoration:none}.reader-side li a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.reader-side li a .pg{color:var(--muted);font-size:.75rem;float:right;margin-left:6px}.reader-main{min-width:0}.reader-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;position:sticky;top:0;z-index:5;background:var(--bg);padding:8px 0}.page-wrap{background:#fff;border:1px solid var(--border);border-radius:8px;overflow:auto;margin:0 auto;box-shadow:var(--shadow)}.page-wrap img{display:block;width:100%;height:auto}:root[data-theme=dark] .page-wrap.invert img,.page-wrap.invert img{filter:invert(.92) hue-rotate(180deg)}.page-input{width:70px;text-align:center}@media (max-width: 1000px){.reader{grid-template-columns:1fr}.reader-side{position:static;max-height:none}}.qcard{padding:22px}.qhead{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.qtext{font-size:1.05rem;font-weight:600;line-height:1.45;margin-bottom:16px;white-space:pre-wrap}.opts{display:flex;flex-direction:column;gap:8px}.opt{display:flex;gap:12px;align-items:flex-start;text-align:left;width:100%;padding:12px 14px;border:1.5px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;cursor:pointer;line-height:1.4}.opt:hover:not(:disabled){border-color:var(--accent)}.opt .l{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:.85rem;background:var(--surface-2);color:var(--muted)}.opt.sel{border-color:var(--accent);background:var(--accent-soft)}.opt.sel .l{background:var(--accent);color:#fff}.opt.right{border-color:var(--ok);background:var(--ok-soft)}.opt.right .l{background:var(--ok);color:#fff}.opt.wrong{border-color:var(--ko);background:var(--ko-soft)}.opt.wrong .l{background:var(--ko);color:#fff}.opt:disabled{cursor:default}.intro{background:var(--surface-2);border-radius:10px;padding:4px 14px;margin-bottom:14px;font-size:.92rem}.intro summary{cursor:pointer;font-weight:600;padding:8px 0}.intro div{padding-bottom:10px;white-space:pre-wrap}.test-layout{display:grid;grid-template-columns:1fr 250px;gap:18px;align-items:start}.test-side{position:sticky;top:16px}@media (max-width: 1000px){.test-layout{grid-template-columns:1fr}.test-side{position:static}}.qgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:5px;max-height:360px;overflow:auto;padding:2px}.qgrid button{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:6px;padding:5px 0;font:inherit;font-size:.78rem;font-weight:600;cursor:pointer}.qgrid button.ans{background:var(--accent-soft);color:var(--accent);border-color:transparent}.qgrid button.flag{box-shadow:inset 0 -3px 0 var(--warn)}.qgrid button.cur{outline:2px solid var(--accent);outline-offset:1px}.qgrid button.ok{background:var(--ok-soft);color:var(--ok);border-color:transparent}.qgrid button.ko{background:var(--ko-soft);color:var(--ko);border-color:transparent}.timer{font-variant-numeric:tabular-nums;font-weight:700;font-size:1.3rem}.timer.low{color:var(--ko)}.feedback{margin-top:14px;padding:12px 14px;border-radius:10px;font-size:.92rem}.feedback.ok{background:var(--ok-soft);color:var(--ok)}.feedback.ko{background:var(--ko-soft);color:var(--ko)}.icon-btn{background:none;border:0;cursor:pointer;color:var(--muted);padding:4px;border-radius:6px;display:inline-flex}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn svg{width:20px;height:20px;fill:currentColor}.icon-btn.on{color:var(--warn)}.score-ring{width:128px;height:128px}.review-item{border-top:1px solid var(--border);padding:14px 0}.review-item:first-child{border-top:0}.review-item .opt{padding:8px 12px;cursor:default}.tbl{width:100%;border-collapse:collapse;font-size:.9rem}.tbl th,.tbl td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.tbl th{color:var(--muted);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.tbl tr:last-child td{border-bottom:0}.tbl .r{text-align:right;font-variant-numeric:tabular-nums}.search-box{display:flex;gap:8px;margin:10px 0 18px}.search-box input{flex:1;font-size:1rem;padding:10px 14px}.hit{padding:12px 0;border-top:1px solid var(--border)}.hit mark{background:var(--warn-soft);color:inherit;padding:0 2px;border-radius:3px}.empty{text-align:center;padding:40px 20px;color:var(--muted)}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(20px);background:var(--text);color:var(--bg);padding:10px 16px;border-radius:10px;font-weight:600;font-size:.9rem;opacity:0;pointer-events:none;transition:.2s;z-index:50}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}@media (max-width: 820px){.toast{bottom:84px}}.heat{display:grid;grid-template-columns:repeat(auto-fill,13px);gap:3px}.heat span{width:13px;height:13px;border-radius:3px;background:var(--surface-2)}.heat span.l1{background:color-mix(in srgb,var(--accent) 30%,var(--surface-2))}.heat span.l2{background:color-mix(in srgb,var(--accent) 60%,var(--surface-2))}.heat span.l3{background:var(--accent)}kbd{font:.75rem var(--font);border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;padding:0 5px;color:var(--muted)}
