:root{--papel:#fbf7ee;--papel-hondo:#f3ecdc;--tarjeta:#fff;--tinta:#1b211d;--tinta-suave:#5a625c;--verde:#1f3a2e;--verde-vivo:#2e6b4f;--verde-claro:#e3efe7;--rojo:#b23a26;--rojo-claro:#fbe6e1;--dorado:#b8860b;--resalte:#fff3c9;--linea:#ddd4c1;--sombra:0 1px 2px #00000014, 0 4px 16px #00000014;--radio:14px;--toque:48px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--tinta);background:var(--papel);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:17px;line-height:1.35}*{box-sizing:border-box}html,body,#raiz{height:100%;margin:0}body{background:var(--papel);overscroll-behavior:none}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.45}:focus-visible{outline:3px solid var(--verde-vivo);outline-offset:2px}h1,h2,p{margin:0}.pantalla{flex-direction:column;max-width:720px;height:100dvh;margin:0 auto;display:flex}.barra{min-height:56px;padding:env(safe-area-inset-top) 6px 0;background:var(--verde);color:#fff;align-items:center;gap:4px;display:flex}.barra h1{white-space:nowrap;text-overflow:ellipsis;flex-direction:column;flex:1;min-width:0;font-size:1.15rem;font-weight:650;line-height:1.15;display:flex;overflow:hidden}.barra h1 small{opacity:.8;text-overflow:ellipsis;font-size:.72rem;font-weight:450;overflow:hidden}.barra-hueco{width:8px}.barra-acciones{display:flex}.cuerpo{flex-direction:column;flex:1;gap:14px;padding:12px 12px 20px;display:flex;overflow:auto}.pie{padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--papel);border-top:1px solid var(--linea)}.pie-contenido{align-items:center;gap:10px;display:flex}.crece{flex:1;min-width:0}.pie-turno{color:var(--tinta-suave);font-size:1.05rem}.pie-turno strong{color:var(--tinta)}.boton{min-height:var(--toque);border:1.5px solid var(--linea);border-radius:var(--radio);background:var(--tarjeta);text-align:center;padding:10px 16px;font-weight:550}.boton:active:not(:disabled){background:var(--papel-hondo)}.boton.principal{border-color:var(--verde);background:var(--verde);color:#fff}.boton.principal:active:not(:disabled){background:var(--verde-vivo)}.boton.peligro{border-color:var(--rojo);color:var(--rojo)}.boton.ancho{width:100%}.boton.grande{min-height:56px;font-size:1.1rem}.boton-icono{width:var(--toque);height:var(--toque);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:inline-grid}.boton-icono:active:not(:disabled){background:#7f7f7f2e}.ayuda{color:var(--tinta-suave);font-size:.95rem}.centrada{text-align:center;margin-top:30vh}.aviso{background:var(--rojo-claro);color:var(--rojo);border-radius:10px;padding:8px 12px;font-weight:550}.titulo-seccion{letter-spacing:.06em;text-transform:uppercase;color:var(--tinta-suave);margin:4px 0 8px;font-size:.8rem;font-weight:700}.entrada{width:100%;min-height:var(--toque);border:1.5px solid var(--linea);border-radius:var(--radio);background:var(--tarjeta);font:inherit;color:inherit;padding:10px 12px}.entrada:focus{border-color:var(--verde-vivo);outline:none}.bienvenida{text-align:center;color:var(--tinta-suave);justify-items:center;gap:12px;margin:18vh 16px 0;display:grid}.bienvenida svg{color:var(--dorado)}.lista-partidas,.lista-juegos{gap:10px;margin:0;padding:0;list-style:none;display:grid}.partida-item,.juego-item{border:1.5px solid var(--linea);border-radius:var(--radio);background:var(--tarjeta);text-align:left;width:100%;box-shadow:var(--sombra);gap:4px;padding:12px 14px;display:grid}.partida-item:active,.juego-item:active{background:var(--papel-hondo)}.partida-juego{align-items:baseline;gap:8px;font-weight:650;display:flex}.partida-juego small{color:var(--tinta-suave);font-weight:450}.partida-jugadores{flex-wrap:wrap;gap:4px 14px;font-size:.95rem;display:flex}.partida-jugadores .puntero strong{color:var(--verde-vivo)}.partida-jugadores svg{color:var(--dorado);vertical-align:-2px;margin-right:3px}.partida-cuando{color:var(--tinta-suave);font-size:.8rem}.juego-item strong{font-size:1.1rem}.juego-item small{color:var(--tinta-suave);font-size:.9rem}.lista-nombres{gap:8px;margin:0 0 10px;padding:0;list-style:none;display:grid}.lista-nombres li{align-items:center;gap:2px;display:flex}.opciones-juego{gap:12px;display:grid}.opcion-juego{border:0;margin:0;padding:0}.opcion-juego legend{margin-bottom:6px;padding:0;font-weight:650}.fichas{flex-wrap:wrap;gap:8px;display:flex}.fichas.sugeridos{margin-top:12px}.ficha{border:1.5px solid var(--linea);background:var(--tarjeta);border-radius:999px;min-height:42px;padding:8px 14px;font-size:.95rem}.ficha.elegida{border-color:var(--verde);background:var(--verde);color:#fff;font-weight:600}.tabla{margin:0 -12px;padding:0 12px;overflow-x:auto}.planilla{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;background:var(--tarjeta);border:1px solid var(--linea);border-radius:var(--radio);width:100%;overflow:hidden}.planilla th,.planilla td{border-bottom:1px solid var(--linea);text-align:center;padding:0}.planilla tbody th{z-index:1;background:var(--tarjeta);text-align:left;white-space:nowrap;width:1%;padding:0 10px;font-weight:550;position:sticky;left:0}.planilla.rondas tbody th{text-align:center;color:var(--tinta-suave);width:3em;font-weight:450}.planilla thead th{z-index:2;background:var(--papel-hondo);position:sticky;top:0}.planilla th.esquina{z-index:3;width:1%;color:var(--tinta-suave);text-align:left;padding:0 10px;font-size:.8rem;font-weight:500;left:0}.nombre-jugador{overflow-wrap:anywhere;background:0 0;border:0;width:100%;min-width:64px;min-height:52px;padding:6px 4px;font-weight:650;line-height:1.15;display:grid}.nombre-jugador small{color:var(--tinta-suave);font-size:.72rem;font-weight:500}.planilla thead th.turno{background:var(--resalte)}.planilla thead th.turno small{color:var(--tinta)}.planilla td.turno{background:#fffbea}.planilla .eliminado{color:var(--tinta-suave)}.planilla thead th.eliminado .nombre-jugador span{text-decoration:line-through}.planilla tr.seccion th{background:var(--papel);letter-spacing:.05em;text-transform:uppercase;color:var(--tinta-suave);padding:6px 10px 4px;font-size:.75rem;font-weight:700;position:static}.celda{background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;width:100%;min-width:56px;min-height:46px;padding:4px;font-size:1.05rem;font-weight:550;display:flex}.celda:active:not(:disabled){background:var(--verde-claro)}.celda sup{color:var(--verde-vivo);margin-left:1px;font-size:.65rem;font-weight:700}.celda.tachada{color:var(--tinta-suave);font-weight:400}.planilla:not(.rondas) .celda{flex-direction:row;min-height:40px}.celda.nueva{color:var(--verde-vivo);font-size:1.4rem;font-weight:400}.celda.sigue{outline:2px dashed var(--verde-vivo);outline-offset:-5px;border-radius:10px}.celda.anulada s{color:var(--tinta-suave)}.celda.repetida,.celda.con-error{background:var(--rojo-claro);color:var(--rojo)}.celda .acumulado{color:var(--tinta-suave);font-size:.7rem;font-weight:450}.hueco{color:var(--linea)}.fila-ajustes td{color:var(--tinta-suave);font-variant-numeric:tabular-nums;padding:8px 4px}.planilla tfoot th,.planilla tfoot td{z-index:1;border-bottom:0;border-top:2px solid var(--tinta);background:var(--papel-hondo);padding:10px 6px;font-size:1.15rem;font-weight:750;position:sticky;bottom:0}.planilla tfoot th{z-index:2;text-align:left;padding-left:10px;font-size:.85rem;left:0}.planilla tfoot td.puntero{color:var(--verde-vivo)}.planilla tfoot svg{color:var(--dorado);vertical-align:-2px;margin-right:3px}.marcador{align-items:start;gap:10px;display:grid}.equipo{border:1.5px solid var(--linea);border-radius:var(--radio);background:var(--tarjeta);box-shadow:var(--sombra);gap:10px;padding:10px;display:grid}.equipo.puntero{border-color:var(--verde-vivo)}.equipo-nombre{overflow-wrap:anywhere;background:0 0;border:0;min-height:40px;font-size:1.1rem;font-weight:700}.equipo-nombre svg{color:var(--dorado);vertical-align:-3px;margin-right:4px}.equipo-total{text-align:center;font-variant-numeric:tabular-nums;font-size:3rem;font-weight:750;line-height:1}.tramos{gap:6px;display:grid}.tramo{justify-items:center;gap:2px;display:grid}.tramo+.tramo{border-top:1px dashed var(--linea);padding-top:6px}.tramo-nombre{letter-spacing:.06em;text-transform:uppercase;color:var(--tinta-suave);font-size:.72rem;font-weight:700}.palitos{color:var(--tinta);flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.palitos-grupo{width:32px;height:32px}.palitos-guia{fill:none;stroke:var(--linea);stroke-width:1px;stroke-dasharray:2 3}.equipo-botones{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.equipo-botones button{min-height:var(--toque);border:1.5px solid var(--linea);background:var(--papel);border-radius:12px;font-weight:650}.equipo-botones button:active{background:var(--verde-claro)}.equipo-botones .sumar{font-size:1.15rem}.equipo-botones .decisiva,.equipo-botones .otro{grid-column:1/-1}.equipo-botones .decisiva{border-color:var(--verde);background:var(--verde-claro);text-align:left;justify-content:space-between;align-items:center;padding:6px 12px;font-size:.95rem;display:flex}.equipo-botones .decisiva strong{font-size:1.1rem}.equipo-historia{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.equipo-historia button{border:1px solid var(--linea);background:var(--papel);min-width:36px;min-height:32px;color:var(--tinta-suave);font-variant-numeric:tabular-nums;border-radius:8px;padding:2px 6px;font-size:.8rem}.fin{border-radius:var(--radio);background:var(--verde);color:#fff;align-items:center;gap:12px;padding:12px 14px;display:flex}.fin svg{color:#ffd66b;flex:none}.fin div{display:grid}.fin strong{font-size:1.15rem}.fin small{opacity:.85}.franja{background:var(--resalte);border-radius:10px;padding:8px 12px;font-size:.95rem}.franja.mal{background:var(--rojo-claro);color:var(--rojo)}.cartel{left:12px;right:12px;bottom:calc(92px + env(safe-area-inset-bottom));z-index:30;border-radius:var(--radio);background:var(--tinta);color:#fff;max-width:560px;box-shadow:var(--sombra);align-items:center;gap:10px;margin:0 auto;padding:10px 10px 10px 14px;animation:.16s ease-out aparecer;display:flex;position:fixed}.cartel.mal{background:var(--rojo)}.hoja-fondo~.cartel{top:calc(10px + env(safe-area-inset-top));bottom:auto}.cartel div{flex:1;display:grid}.cartel small{opacity:.85}.cartel button{color:#fff;background:0 0;border:1.5px solid #fff9;border-radius:10px;min-height:40px;padding:6px 12px;font-weight:650}@keyframes aparecer{0%{opacity:0;transform:translateY(12px)}}.hoja-fondo{z-index:20;background:#00000059;justify-content:center;align-items:flex-end;animation:.14s ease-out fundido;display:flex;position:fixed;inset:0}.hoja{width:100%;max-width:560px;max-height:88dvh;padding:6px 14px calc(16px + env(safe-area-inset-bottom));background:var(--papel);border-radius:20px 20px 0 0;flex-direction:column;gap:12px;animation:.18s ease-out subir;display:flex;overflow:auto}.hoja-titulo{z-index:1;background:var(--papel);align-items:center;gap:8px;padding-top:6px;display:flex;position:sticky;top:-6px}.hoja-titulo h2{flex:1;font-size:1.1rem}.hoja-acciones{gap:8px;display:flex}.hoja-acciones .boton{flex:1}.lista-acciones{gap:8px;display:grid}.ajustes{gap:4px;margin:4px 0 0;padding:0;list-style:none;display:grid}.ajustes li{border-bottom:1px solid var(--linea);justify-content:space-between;padding:6px 4px;display:flex}@keyframes subir{0%{opacity:.4;transform:translateY(40px)}}@keyframes fundido{0%{background:0 0}}.decisivas{gap:8px;display:grid}.boton.decisiva{border-color:var(--verde);background:var(--verde-claro);justify-content:space-between;align-items:center;display:flex}.boton.decisiva strong{font-size:1.15rem}.marcas{flex-wrap:wrap;gap:8px;display:flex}.marca{min-height:var(--toque);border:1.5px solid var(--linea);background:var(--tarjeta);border-radius:999px;padding:8px 16px;font-weight:600}.marca small{color:var(--tinta-suave);font-weight:450}.marca.puesta{border-color:var(--verde);background:var(--verde);color:#fff}.marca.puesta small{color:#fff}.opciones{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.opciones button{border:1.5px solid var(--linea);background:var(--tarjeta);border-radius:12px;gap:2px;min-height:60px;padding:8px;display:grid}.opciones button strong{font-size:1.25rem}.opciones button small{color:var(--tinta-suave)}.opciones button.elegida{border-color:var(--verde);background:var(--verde-claro)}.rapidos{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;display:grid}.rapidos button{min-height:var(--toque);border:1.5px solid var(--verde);background:var(--verde-claro);font-variant-numeric:tabular-nums;border-radius:12px;font-weight:650}.teclado{gap:8px;display:grid}.teclado-visor{background:var(--tarjeta);border:1.5px solid var(--linea);text-align:right;font-variant-numeric:tabular-nums;border-radius:12px;padding:6px 12px;font-size:2rem;font-weight:700;display:block}.teclado-teclas{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.teclado-teclas button{border:1.5px solid var(--linea);background:var(--tarjeta);border-radius:12px;min-height:52px;font-size:1.35rem;font-weight:600}.teclado-teclas button:active:not(:disabled){background:var(--papel-hondo)}.campos{gap:8px;display:grid}.campo-si-no{border:1.5px solid var(--linea);background:var(--tarjeta);text-align:left;border-radius:12px;gap:2px;min-height:52px;padding:8px 14px;font-weight:600;display:grid}.campo-si-no small{color:var(--tinta-suave);font-weight:450}.campo-si-no.puesta{border-color:var(--verde);background:var(--verde);color:#fff}.campo-si-no.puesta small{color:#fff}.campo-si-no.choca{border-color:var(--rojo);background:var(--rojo)}.campo-numero{grid-template-columns:1fr var(--toque) 3.2em var(--toque);align-items:center;gap:6px;font-weight:600;display:grid}.campo-numero button{height:var(--toque);border:1.5px solid var(--linea);background:var(--tarjeta);border-radius:12px;font-size:1.4rem}.campo-numero output{text-align:center;font-size:1.4rem;font-weight:700}.voz{flex:none;position:relative}.voz-boton{background:var(--rojo);color:#fff;width:60px;height:60px;box-shadow:var(--sombra);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border:0;border-radius:50%;place-items:center;display:grid}.voz-boton.activo{animation:1s ease-in-out infinite latido}.voz-globo{background:var(--tinta);color:#fff;width:max-content;max-width:70vw;box-shadow:var(--sombra);border-radius:12px;padding:8px 12px;position:absolute;bottom:72px;right:0}@keyframes latido{50%{box-shadow:0 0 0 10px #b23a2640}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation:none!important}}
