/* ============================================================
   catto.ar — Agregados de las páginas de tema de Ingeniería
   Se cargan después de tema.css (el de la tecnicatura) y suman
   sólo lo que esas páginas no tienen: los laboratorios
   interactivos y la bibliografía para ampliar.
   ============================================================ */

/* --- laboratorio interactivo ------------------------------------ */
.lw{margin:22px 0;padding:16px 18px;background:var(--panel);border:1px solid var(--line);
  border-radius:14px}
.lw .lt{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;
  color:var(--accent);margin-bottom:4px}
.lw .ls{font-size:13px;color:var(--muted);margin:0 0 12px}
.lw .fila{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}
.lw button{background:var(--panel2);border:1px solid var(--line);color:var(--txt);border-radius:9px;
  padding:7px 12px;font-size:13px;cursor:pointer;font-family:inherit}
.lw button:hover{border-color:var(--accent);color:var(--accent)}
.lw button.pri{background:#1f6feb;border-color:var(--accent);color:#fff}
.lw button.on{background:#1f6feb;border-color:var(--accent);color:#fff}
.lw button:disabled{opacity:.4;cursor:default}
.lw select,.lw input[type=text],.lw input[type=number]{background:var(--panel2);border:1px solid var(--line);
  color:var(--txt);border-radius:9px;padding:7px 10px;font-size:13.5px;font-family:inherit}
.lw input[type=range]{accent-color:var(--accent)}
.lw .mono,.lw code{font-family:Consolas,"Cascadia Mono","SFMono-Regular",monospace}
.lw .nota{font-size:13px;color:var(--muted);margin-top:10px;min-height:20px}
.lw .nota b{color:var(--txt)}
.lw .g2{margin:0}
.lw .caja{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.lw .caja h5{margin:0 0 6px;font-size:11px;letter-spacing:.7px;text-transform:uppercase;color:var(--soft)}

/* celdas de memoria, registros y bits */
.celdas{display:grid;gap:4px;font-family:Consolas,"Cascadia Mono",monospace;font-size:12.5px}
.celda{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;padding:4px 8px;
  border:1px solid var(--line);border-radius:7px;background:#0f1520;transition:background .25s,border-color .25s}
.celda .dir{color:var(--soft);font-size:11px}
.celda.act{border-color:var(--accent);background:rgba(88,166,255,.14)}
.celda.lee{border-color:#3fb950;background:rgba(63,185,80,.14)}
.celda.esc{border-color:#d29922;background:rgba(210,153,34,.16)}
.reg{display:flex;justify-content:space-between;gap:10px;padding:5px 8px;border-radius:7px;
  font-family:Consolas,"Cascadia Mono",monospace;font-size:13px;transition:background .25s}
.reg span{color:var(--soft)}
.reg b{color:var(--txt)}
.reg.cambio{background:rgba(210,153,34,.2)}
.bits{display:flex;gap:4px;flex-wrap:wrap}
.bit{width:34px;height:40px;border-radius:8px;border:1px solid var(--line);background:#0f1520;
  color:var(--muted);font:700 16px Consolas,monospace;cursor:pointer;display:grid;place-items:center;
  position:relative;padding:0}
.bit.uno{background:rgba(88,166,255,.2);border-color:var(--accent);color:#fff}
.bit small{position:absolute;bottom:-17px;left:0;right:0;text-align:center;font:10px "Segoe UI",sans-serif;color:var(--soft)}
.bit.signo.uno{background:rgba(248,81,73,.2);border-color:#f85149}
.bits-sep{width:8px}
.fase{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;
  background:var(--panel2);border:1px solid var(--line);color:var(--muted)}
.fase.on{background:rgba(88,166,255,.18);border-color:var(--accent);color:#fff}
.traza{width:100%;border-collapse:collapse;font-family:Consolas,monospace;font-size:12.5px}
.traza th,.traza td{border-bottom:1px solid var(--line);padding:4px 8px;text-align:center}
.traza th{color:var(--soft);font-weight:600;font-family:"Segoe UI",sans-serif;font-size:11.5px}
.traza tr.ult td{background:rgba(88,166,255,.12);color:#fff}
.codigo{margin:0;padding:10px 0;background:#0b0f16;border:1px solid var(--line);border-radius:10px;
  font:12.5px/1.6 Consolas,"Cascadia Mono",monospace;overflow-x:auto}
.codigo div{padding:0 12px;white-space:pre;border-left:3px solid transparent}
.codigo div.act{background:rgba(88,166,255,.14);border-left-color:var(--accent)}
.codigo .ln{display:inline-block;width:22px;color:#4a5568;user-select:none}
.leds{display:flex;gap:8px;flex-wrap:wrap}
.led{width:30px;text-align:center;font-size:10px;color:var(--soft)}
.led i{display:block;width:18px;height:18px;margin:0 auto 3px;border-radius:50%;background:#2a1414;
  border:1px solid #5a2a2a;transition:background .2s,box-shadow .2s}
.led.on i{background:#ff5a4f;border-color:#ff8a80;box-shadow:0 0 10px #ff5a4f}

/* --- bibliografía para ampliar ---------------------------------- */
.libros{list-style:none;padding:0;margin:14px 0 0}
.libros li{padding:11px 14px;margin:0 0 8px;background:var(--panel);border:1px solid var(--line);
  border-left:3px solid var(--violet);border-radius:10px;font-size:14px}
.libros .au{color:var(--txt);font-weight:600}
.libros .ti{font-style:italic;color:var(--txt)}
.libros .ed{color:var(--soft);font-size:13px}
.libros .pq{display:block;margin-top:4px;font-size:13px;color:var(--muted)}
