:root{--esmalte: #2e3a38;--esmalte-alto: #3d4b48;--rehundido: #212a29;--grabado: #c8cfc9;--ambar: #e8a33d;--rojo-alarma: #c0392b;--verde-ok: #4e9a6a;--hueso: #e6e0d4;--tinta-manual: #2a2724;--fuente-etiqueta: "Barlow Condensed", "Arial Narrow", system-ui, sans-serif;--fuente-cifra: "IBM Plex Mono", ui-monospace, "Courier New", monospace;--bisel-alto: inset 0 1px 0 #ffffff1f, inset 0 -2px 0 #00000038;--bisel-hundido: inset 0 2px 4px #00000055, inset 0 -1px 0 #ffffff10;--sombra-placa: 0 2px 4px #00000040;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--esmalte);background-image:radial-gradient(120% 80% at 50% -10%,#ffffff09,transparent 60%),repeating-linear-gradient(90deg,#0000 0,#0000 3px,#00000008 3px,#00000008 4px);color:var(--grabado);font-family:var(--fuente-etiqueta);font-size:17px;letter-spacing:.01em}:focus-visible{outline:2px solid var(--ambar);outline-offset:2px}.app{max-width:1500px;margin:0 auto;padding:1.25rem}.grabado,.placa .grabado{font-family:var(--fuente-etiqueta);text-transform:uppercase;letter-spacing:.12em;font-weight:600;color:var(--grabado);text-shadow:0 1px 0 #00000055}.placa{position:relative;background:var(--rehundido);box-shadow:var(--bisel-hundido);border-radius:4px;padding:.35rem .7rem;margin:-.2rem -.2rem .8rem;font-size:.82rem}.placa .tornillos{display:block;position:absolute;inset:auto 0 0 0}.banda-conexion,.banda-aviso{font-family:var(--fuente-etiqueta);text-transform:uppercase;letter-spacing:.12em;font-size:.85rem;padding:.5rem .9rem;margin-bottom:.9rem;border-radius:4px;box-shadow:var(--bisel-alto)}.banda-conexion{background:var(--rojo-alarma);color:#fff}.banda-aviso{background:var(--ambar);color:#241a08}.portada,.vestibulo{max-width:46rem;margin:4vh auto;background:var(--esmalte-alto);box-shadow:var(--bisel-alto),var(--sombra-placa);border-radius:8px;padding:2rem 2.2rem 2.4rem}.portada h1{font-size:clamp(2.6rem,8vw,4.4rem);letter-spacing:.3em;margin:0 0 .4rem;text-transform:uppercase;font-weight:700;text-shadow:0 2px 0 #00000055}.entradilla{color:#a9b3ae;line-height:1.5;margin-top:0;max-width:40rem}.campo{display:block;margin:1.6rem 0 1rem}.campo span{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.35rem;color:#9fa9a4}input{font-family:var(--fuente-cifra);font-size:1.05rem;color:var(--grabado);background:var(--rehundido);border:none;border-radius:4px;box-shadow:var(--bisel-hundido);padding:.6rem .8rem;width:100%;max-width:22rem}input.codigo{text-transform:uppercase;letter-spacing:.35em;width:8.5rem}.acciones-portada{display:flex;flex-wrap:wrap;gap:1.4rem;align-items:flex-end;margin-top:.6rem}.unirse{display:flex;gap:.6rem;align-items:center}button{font-family:var(--fuente-etiqueta);text-transform:uppercase;letter-spacing:.12em;font-weight:600;font-size:.95rem;color:var(--grabado);background:var(--esmalte-alto);border:1px solid #00000055;border-radius:5px;box-shadow:var(--bisel-alto);padding:.62rem 1.1rem;cursor:pointer;transition:transform .08s ease,background .15s ease}button:hover:not(:disabled){background:#47564f}button:active:not(:disabled){transform:translateY(1px);box-shadow:var(--bisel-hundido)}button:disabled{opacity:.45;cursor:not-allowed}button.primario{background:var(--ambar);color:#241a08;border-color:#0006}button.primario:hover:not(:disabled){background:#f0b055}button.secundario{background:transparent;box-shadow:none;border-color:#fff2;font-size:.8rem}.error{color:#f0a89f;font-family:var(--fuente-cifra);font-size:.9rem}.reglas{margin-top:2rem;border-top:1px solid #ffffff12;padding-top:1rem}.reglas summary{cursor:pointer;text-transform:uppercase;letter-spacing:.12em;font-size:.82rem;color:#9fa9a4}.reglas p{color:#a9b3ae;line-height:1.55;max-width:44rem}.rotulo{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:#9fa9a4;margin:0}.codigo-grande{font-family:var(--fuente-cifra);font-size:clamp(3rem,12vw,5.5rem);font-weight:600;letter-spacing:.28em;color:var(--ambar);margin:.2rem 0 .8rem;text-shadow:0 0 24px #e8a33d33}.lista-jugadores{list-style:none;padding:0;margin:1.4rem 0;display:grid;gap:.5rem}.lista-jugadores li{display:flex;align-items:center;gap:.6rem;background:var(--rehundido);box-shadow:var(--bisel-hundido);border-radius:4px;padding:.55rem .8rem;font-family:var(--fuente-cifra);font-size:.95rem}.lista-jugadores .tu{font-family:var(--fuente-etiqueta);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;color:#241a08;background:var(--ambar);border-radius:3px;padding:.05rem .4rem}.espera{color:#9fa9a4;font-size:.9rem}.barra{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;flex-wrap:wrap;background:var(--esmalte-alto);box-shadow:var(--bisel-alto),var(--sombra-placa);border-radius:8px;padding:.9rem 1.2rem;margin-bottom:1.1rem}.telemetria{background:var(--rehundido);box-shadow:var(--bisel-hundido);border-radius:5px;padding:.5rem .8rem .6rem}.titulo-telemetria{display:block;font-size:.68rem;color:#8fa39a;margin-bottom:.4rem}.titulo-telemetria small{letter-spacing:.04em;text-transform:none;opacity:.75}.telemetria ul{list-style:none;display:flex;gap:1rem;margin:0;padding:0}.telemetria li{display:flex;align-items:center;gap:.35rem;font-size:.78rem;opacity:.7}.telemetria li.mal{opacity:1}.telemetria li.mal .grabado{color:#eda79f}.arranque{margin:0;padding:.45rem .75rem;border-radius:5px;background:#e8a33d1f;border:1px solid #e8a33d55;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ambar);max-width:17rem}.arranque span{display:block;text-transform:none;letter-spacing:.01em;color:#a9b3ae;font-size:.82rem;margin-top:.15rem}.instruccion{margin:-.4rem 0 .8rem;font-size:.85rem;line-height:1.35;color:#9fb0a8;max-width:30rem}.aviso-cambio{fill:var(--ambar)}.marco-nueva{animation:respirar 1.4s ease-in-out infinite}@keyframes respirar{50%{opacity:.3}}.instrumentos{display:flex;align-items:center;flex-wrap:wrap;gap:1.5rem}.tripulacion{list-style:none;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin:0 0 0 auto;padding:0}.tripulacion li{display:flex;align-items:center;gap:.4rem;background:var(--rehundido);box-shadow:var(--bisel-hundido);border-radius:4px;padding:.3rem .55rem;font-family:var(--fuente-cifra);font-size:.8rem}.tripulacion li.ausente{opacity:.45}.tripulacion .n-caps{color:var(--ambar);font-weight:600}.nucleo .latido{transform-origin:60px 60px;animation:latir var(--periodo, 2s) ease-in-out infinite}@keyframes latir{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.09);opacity:1}}.cifra-medidor{font-family:var(--fuente-cifra);font-size:22px;font-weight:600;fill:var(--grabado)}.aguja.critica line{stroke:var(--rojo-alarma)}.cifra-cuenta{font-family:var(--fuente-cifra);font-size:26px;font-weight:600;fill:var(--grabado)}.cuenta.apurada .cifra-cuenta{fill:var(--rojo-alarma)}.cuenta.apurada .anillo{animation:parpadeo 1.8s ease-in-out infinite}@keyframes parpadeo{50%{opacity:.22}}.rejilla{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));align-items:start}.panel{background:var(--esmalte-alto);box-shadow:var(--bisel-alto),var(--sombra-placa);border-radius:8px;padding:.9rem 1rem 1.1rem}.cuerpo-panel{display:flex;flex-direction:column;gap:.7rem;align-items:stretch;max-width:30rem}.monitor{max-width:24rem}.etiqueta-crt{font-family:var(--fuente-etiqueta);text-transform:uppercase;letter-spacing:.12em;font-size:13px;fill:#8fa39a}.cifra-crt{font-family:var(--fuente-cifra);font-size:34px;font-weight:600;fill:var(--ambar)}.unidad-crt{font-family:var(--fuente-cifra);font-size:15px;fill:#8fa39a}.lista-alarmas{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.fila-alarma{display:flex;align-items:center;gap:.7rem;background:var(--rehundido);box-shadow:var(--bisel-hundido);border-radius:4px;padding:.5rem .7rem}.codigo-alarma{font-family:var(--fuente-cifra);font-size:1.15rem;font-weight:600;color:var(--ambar);letter-spacing:.05em}.fila-alarma.vieja .codigo-alarma{color:#eda79f}.edad-alarma{margin-left:auto;font-family:var(--fuente-cifra);font-size:.85rem;color:#8fa39a}.vacio{font-family:var(--fuente-cifra);font-size:.9rem;color:#8fa39a;background:var(--rehundido);box-shadow:var(--bisel-hundido);border-radius:4px;padding:.7rem;margin:0}.manual{display:flex;align-items:flex-start}.manual .pestana{flex:0 0 auto;margin-top:.8rem;position:relative;z-index:1}.texto-pestana{font-family:var(--fuente-etiqueta);text-transform:uppercase;letter-spacing:.14em;font-size:13px;font-weight:700;fill:#241a08}.hoja{flex:1;background:var(--hueso);background-image:linear-gradient(#00000006 1px,transparent 1px);background-size:100% 1.9rem;color:var(--tinta-manual);border-radius:3px;box-shadow:0 2px 6px #0005,inset 0 0 0 1px #00000012;margin-left:-10px;padding:.7rem .9rem .7rem 1.2rem}.tabla-manual{border-collapse:collapse;width:100%;font-family:var(--fuente-cifra);font-size:.95rem}.tabla-manual th{font-family:var(--fuente-etiqueta);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;text-align:left;color:#5c554a;border-bottom:1px solid #00000033;padding:.25rem .4rem}.tabla-manual td{padding:.3rem .4rem;border-bottom:1px solid #0000001a}.tabla-manual tr:last-child td{border-bottom:none}.tabla-manual .destacado{font-weight:600;color:#8a4b12}.fila-botones{display:flex;flex-wrap:wrap;gap:.6rem}.boton-modo{display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:4.2rem;padding:.7rem .9rem;background:#35423f}.boton-modo .grabado{font-size:1.5rem;letter-spacing:.08em}.boton-modo.activo{background:#4a5b53;box-shadow:var(--bisel-hundido);border-color:var(--ambar)}.fila-valvulas{display:flex;flex-wrap:wrap;gap:.7rem}.valvula{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.6rem;background:#35423f}.valvula .manilla{transform-origin:38px 38px;transition:transform .25s ease}.valvula.abierta .manilla{transform:rotate(90deg)}.estado-valvula{font-family:var(--fuente-cifra);font-size:.75rem;color:#8fa39a;text-transform:none;letter-spacing:0}.valvula.abierta .estado-valvula{color:var(--ambar)}.mantenimiento{display:flex;flex-direction:column;gap:.7rem}.boton-mant{display:flex;flex-direction:column;align-items:center;gap:.3rem;width:6.4rem;padding:.6rem .4rem;background:#35423f;color:var(--grabado)}.boton-mant svg{color:var(--ambar)}.boton-mant .grabado{font-size:.7rem;line-height:1.15;text-align:center}.cifra-picto{font-family:var(--fuente-cifra);font-size:11px;font-weight:600}.acuse{font-family:var(--fuente-cifra);font-size:.85rem;margin:0;padding:.5rem .7rem;border-radius:4px;background:var(--rehundido);box-shadow:var(--bisel-hundido);color:#8fa39a}.acuse.malo{color:#eda79f}.acuse.bueno{color:#9ed0b1}.fin{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b0f0ecc;display:grid;place-items:center;padding:1rem}.fin-caja{background:var(--esmalte-alto);box-shadow:var(--bisel-alto),0 12px 40px #000a;border-radius:8px;padding:2rem 2.4rem;max-width:32rem;text-align:center}.fin-caja h2{text-transform:uppercase;letter-spacing:.18em;margin:0 0 .6rem;font-size:2rem}.fin-caja h2.victoria{color:var(--verde-ok)}.fin-caja h2.derrota{color:var(--rojo-alarma)}.fin-caja p{color:#a9b3ae}.aguantado{font-family:var(--fuente-cifra);font-size:1.2rem;color:var(--grabado)}@media(prefers-reduced-motion:reduce){.nucleo .latido,.cuenta.apurada .anillo,.marco-nueva{animation:none}.valvula .manilla,button{transition:none}}
