/* Examen de práctica */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ex-bar{position:sticky;top:calc(env(safe-area-inset-top,0px) + 58px);z-index:10;display:grid;gap:8px;padding:10px 14px;margin:0 0 18px;background:var(--card);border:3px solid var(--edge);border-radius:16px;box-shadow:4px 4px 0 var(--shadow)}
.ex-prog{font-size:.95rem;color:var(--ink2);display:grid;gap:4px}
.ex-prog b{color:var(--ink);font-family:var(--f-display);font-size:1.15rem}
.ex-prog .bar{height:8px;border-radius:99px;background:var(--grid);overflow:hidden}
.ex-prog .bar i{display:block;height:100%;width:0;background:var(--blue);transition:width .25s}
.ex-jump{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}
.ex-jump a{flex:none;font:700 .85rem var(--f-display);padding:3px 10px;border-radius:999px;border:2px solid var(--edge);color:var(--ink);text-decoration:none;background:var(--paper)}
.ex-jump a:hover{background:var(--yellow-s)}
.ex-sec{padding:18px 0;display:grid;gap:14px;scroll-margin-top:150px}
.ex-sec>header p{margin:4px 0 0;color:var(--ink2)}
.ex-text{padding:20px 20px 12px 56px;position:relative}
.ex-text h4{margin:0 0 8px;font:800 1.25rem var(--f-display)}
.ex-text p{max-width:70ch}
.ex-bank{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:12px;border:3px dashed var(--edge);border-radius:14px;background:var(--yellow-s)}
.ex-bank li{padding:3px 12px;border-radius:999px;background:var(--card);border:2px solid var(--edge);font-weight:700}
.ex-cols{padding:14px 18px}
.ex-cols ul{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:4px 16px}
.q{padding:14px 16px 16px;display:grid;gap:10px;scroll-margin-top:150px;min-width:0}
.q header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.q .num{display:grid;place-items:center;min-width:38px;height:38px;padding:0 6px;border-radius:12px;background:var(--yellow);color:var(--on-yellow);font:800 1.15rem var(--f-display);text-decoration:none;border:2px solid var(--edge)}
.q .pts{font-size:.8rem;color:var(--ink2)}
.q .stmt{margin:0;font-size:1.05rem;max-width:70ch}
.q .lb{display:block;font:700 .85rem var(--f-body);color:var(--ink2);margin-bottom:4px}
.q .lb b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:7px;background:var(--yellow);color:var(--on-yellow);margin-right:4px;font-family:var(--f-display)}
fieldset.opts{border:0;margin:0;padding:0;display:grid;gap:6px;min-width:0}
.opt{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;border:2px solid var(--grid);border-radius:12px;cursor:pointer;background:var(--paper);min-width:0}
.opt:hover{border-color:var(--blue)}
.opt:has(input:checked){border-color:var(--blue);background:var(--blue-s)}
.opt input{margin-top:5px;width:18px;height:18px;accent-color:var(--blue);flex:none}
.opt span{min-width:0;overflow-wrap:anywhere}
.tfs{display:flex;flex-wrap:wrap;gap:8px}
.q select,.q input[type=text],.q input:not([type]),.q textarea,.q input.dv,.q input.rv2,.q input.nv{font:inherit;font-weight:700;padding:7px 10px;border:2px solid var(--ink);border-radius:10px;background:var(--card);color:var(--ink);max-width:100%}
.q textarea{width:100%;font-weight:400;resize:vertical}
.fix{display:grid;gap:4px}
.fix select{width:100%;font-weight:400}
.fl{margin:0 4px}
.ml{display:flex;align-items:center;gap:8px;font-weight:700}
.ord{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ord li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border:2px solid var(--edge);border-radius:12px;background:var(--card)}
.ord .mv{display:flex;gap:4px;flex:none}
.ord button{width:34px;height:34px;border-radius:8px;border:2px solid var(--edge);background:var(--yellow-s);color:var(--ink);cursor:pointer;font-size:.8rem}
.pb{display:grid;gap:12px}
.ps{display:grid;gap:4px;min-width:0}
.dts{display:grid;gap:6px}
.dr,.rr{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.dr .sy,.rr .sy{min-width:44px;font:800 1.1rem var(--f-display)}
.dr input,.rr input{width:7em}
.dr .qm{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--yellow);color:var(--on-yellow);font-family:var(--f-display);font-weight:800}
.fch{padding:8px 14px;border:2px solid var(--blue);border-radius:12px;background:var(--card);display:inline-block;font-size:1.1rem}
.act{display:flex;gap:8px}
.fb{padding:10px 14px;border-radius:12px;border-left:6px solid var(--ink2);background:var(--grid);line-height:1.5;display:grid;gap:6px}
.fb.ok{border-color:var(--teal);background:var(--teal-s)}
.fb.part{border-color:var(--yellow);background:var(--yellow-s)}
.fb.bad{border-color:var(--red);background:var(--red-s)}
.fb .why{display:block;color:var(--ink)}
.fb .steps{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.fb .steps .y{color:var(--teal)}
.fb .steps .n{color:var(--red)}
.fb .steps li{color:var(--ink)}
.fb .lk{display:flex;flex-wrap:wrap;gap:6px 14px}
.fb .rv{font-weight:700;color:var(--blue)}
.q.is-ok{border-color:var(--teal)}
.q.is-bad{border-color:var(--red)}
.q.is-part{border-color:var(--yellow)}
.wv{display:grid;gap:8px}
.wv svg{width:100%;height:auto;border:2px solid var(--edge);border-radius:12px;background:var(--paper)}
.wv .ax{stroke:var(--grid);stroke-width:2;fill:none}
.wv .wp{stroke:var(--blue);stroke-width:4;fill:none;stroke-linecap:round}
.wc{display:flex;flex-wrap:wrap;gap:14px}
.wc label{font-weight:700;display:flex;align-items:center;gap:8px}
.wc input{accent-color:var(--blue)}
.ex-end{padding:18px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:12px}
.ex-end .ref{flex:1 1 100%;margin:0}
.ex-res{padding:20px 22px;margin-bottom:18px;scroll-margin-top:150px}
.ex-res .score{font:700 1.4rem var(--f-display);margin:4px 0}
.ex-res .score b{font-size:2rem;color:var(--blue)}
.tm{display:grid;gap:6px;margin-top:10px}
.tr{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(60px,1fr) 3.2em auto;gap:10px;align-items:center}
@media (max-width:560px){.tr{grid-template-columns:minmax(0,1fr) 3.2em;grid-auto-rows:auto}.tr .br{grid-column:1/-1;order:3}.tr a{order:4;grid-column:1/-1}}
.tr .nm{font-weight:700}
.tr .br{height:10px;border-radius:99px;background:var(--grid);overflow:hidden}
.tr .br i{display:block;height:100%;background:var(--teal)}
.tr.weak .br i{background:var(--red)}
.tr .pc{font-weight:700;text-align:right}
.tr a{font-weight:700}
.ex-intro{display:grid;gap:10px;padding:16px 18px;margin-bottom:18px}
@media (max-width:700px){.ex-bar{position:static}.ex-sec,.q,.ex-res{scroll-margin-top:16px}}
