/* Estudio El Palquista. Direccion aprobada el 20-oct-2026 (v2): blanco y gris claro, Be Vietnam Pro, tarjetas de radio
   20, botones pill. El rojo del logo es SOLO acento: la accion principal, la seleccion, el precio y las pastillas suaves.
   El verde es solo de WhatsApp. */
@font-face{font-family:"BVP";src:url(/fuentes/bevietnampro-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"BVP";src:url(/fuentes/bevietnampro-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"BVP";src:url(/fuentes/bevietnampro-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"BVP";src:url(/fuentes/bevietnampro-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"BVP";src:url(/fuentes/bevietnampro-800.woff2) format("woff2");font-weight:800;font-display:swap}
:root{
  --rojo:#cd2027; --rojo-suave:#fdeeee; --rojo-texto:#b71a27;
  --tinta:#1a1a1a; --gris:#6b6b6b; --gris-claro:#a3a3a3; --linea:#ececec;
  --campo:#f4f4f2; --blanco:#fff; --wa:#22c35d; --verde-suave:#eaf8ef; --verde-texto:#167a3c;
  --r-card:20px; --r-in:14px;
  --sombra:0 14px 34px -16px rgba(26,26,26,.18),0 2px 6px -2px rgba(26,26,26,.06);
  --sale:cubic-bezier(.16,1,.3,1); --entra:cubic-bezier(.4,0,1,1);
  --f:"BVP",system-ui,-apple-system,"Segoe UI",sans-serif;
  --pie:calc(70px + env(safe-area-inset-bottom));
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--campo);color:var(--tinta);font:400 15px/1.5 var(--f);-webkit-font-smoothing:antialiased;min-height:100dvh}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit}
[hidden]{display:none!important}

.app{max-width:520px;margin:0 auto;min-height:100dvh;background:var(--blanco);display:flex;flex-direction:column;position:relative}
@media (min-width:560px){.app{box-shadow:0 0 0 1px var(--linea)}}

/* cabecera */
.top{position:sticky;top:0;z-index:5;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  display:flex;align-items:center;gap:10px;padding:calc(12px + env(safe-area-inset-top)) 20px 10px;min-height:60px}
.top .logo{width:30px}
.top .tt{font:700 17px var(--f);letter-spacing:-.02em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.top .sp{flex:1}
.redondo{width:40px;height:40px;border-radius:50%;background:var(--campo);display:grid;place-items:center;font-size:19px;border:0;cursor:pointer;flex:none;text-decoration:none}
.redondo:active{transform:scale(.94)}

.cuerpo{flex:1;padding:4px 20px calc(var(--pie) + 28px)}
.cuerpo.con-pie{padding-bottom:calc(var(--pie) + 110px)}

/* navegacion abajo, en la zona del pulgar */
.nav{position:fixed;left:0;right:0;bottom:0;z-index:6;max-width:520px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--linea);padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.nav a{display:grid;justify-items:center;gap:2px;font:500 12px var(--f);color:var(--gris-claro);text-decoration:none;padding:6px 0;border-radius:12px}
.nav a i{font-size:23px}
.nav a.on{color:var(--tinta)}
.nav a.on i{color:var(--rojo)}

/* barra de accion fija (pantallas de crear y revisar) */
.pie{position:fixed;left:0;right:0;bottom:0;z-index:7;max-width:520px;margin:0 auto;background:var(--blanco);
  padding:12px 20px calc(14px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px -18px rgba(26,26,26,.25)}
.pie .dos{display:grid;grid-template-columns:1fr 1.3fr;gap:10px}

/* tipografia */
.hola{font:800 26px/1.12 var(--f);letter-spacing:-.03em;margin:8px 0 4px}
.hola small{display:block;font:400 15px var(--f);color:var(--gris);letter-spacing:0;margin-bottom:4px}
.preg{font:800 24px/1.15 var(--f);letter-spacing:-.03em;margin:6px 0 16px}
.h{font:700 17px/1.2 var(--f);letter-spacing:-.02em;margin:28px 0 12px;display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.h a{font:500 14px var(--f);color:var(--gris);text-decoration:none}
.sub{color:var(--gris);font-size:14px}

/* botones */
.btn{display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:99px;font:600 16px var(--f);padding:15px 20px;min-height:52px;
  cursor:pointer;text-decoration:none;transition:transform .09s var(--entra),background-color .2s var(--sale),opacity .2s;white-space:nowrap;width:100%}
.btn:active{transform:scale(.97);transition-duration:.09s}
.btn i{font-size:19px}
.btn.rojo{background:var(--rojo);color:#fff;box-shadow:0 10px 24px -12px rgba(205,32,39,.7)}
.btn.osc{background:var(--tinta);color:#fff}
.btn.claro{background:var(--campo);color:var(--tinta)}
.btn.wa{background:var(--wa);color:#fff}
.btn.chico{min-height:40px;padding:9px 16px;font-size:14px;width:auto}
.btn[disabled]{opacity:.45;pointer-events:none}
.enlace{background:none;border:0;color:var(--gris);font:500 14px var(--f);text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:10px 0}

/* proximo partido */
.prox{border-radius:var(--r-card);overflow:hidden;background:#fff;box-shadow:var(--sombra);margin-top:18px;display:block;text-decoration:none}
.prox .ft{height:136px;background:url(/img/estadio-noche.jpg) center 40%/cover;position:relative}
.prox .ft span{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.94);font:600 12px var(--f);padding:5px 11px;border-radius:99px}
.prox .info{padding:14px 16px 16px;display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center}
.prox .info b{font:700 18px/1.2 var(--f);letter-spacing:-.02em}
.prox .info small{color:var(--gris);font-size:13.5px;grid-column:1}
.pr{background:var(--rojo-suave);color:var(--rojo-texto);font:700 14px var(--f);padding:6px 12px;border-radius:99px;white-space:nowrap}
.prox .info .pr{grid-row:1/3;grid-column:2}
.vacio{border-radius:var(--r-card);background:var(--campo);padding:20px;margin-top:18px;display:grid;gap:12px}
.vacio b{font:700 17px/1.25 var(--f);letter-spacing:-.02em}

/* listas de videos */
.vids{display:grid;gap:4px}
.vid{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;text-decoration:none;padding:8px;margin:0 -8px;border-radius:16px}
.vid:active{background:var(--campo)}
.vid .mini{width:52px;aspect-ratio:9/14;border-radius:12px;background:var(--campo) center/cover;display:grid;place-items:center;color:var(--gris-claro);font-size:20px}
.vid b{font-weight:600;font-size:15px;display:block;line-height:1.25;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.vid small{color:var(--gris);font-size:13px}
.est{font:600 12px var(--f);padding:5px 10px;border-radius:99px;white-space:nowrap;display:flex;align-items:center;gap:4px}
.est.listo{background:var(--verde-suave);color:var(--verde-texto)}
.est.revisar{background:var(--rojo-suave);color:var(--rojo-texto)}
.est.armando{background:var(--campo);color:var(--gris)}
.est.error{background:#fff4e5;color:#9a5b00}

/* formatos */
.formatos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fmt{position:relative;border-radius:var(--r-card);overflow:hidden;background:#fff;box-shadow:inset 0 0 0 1px var(--linea);cursor:pointer;border:0;text-align:left;padding:0;
  transition:box-shadow .2s var(--sale),transform .09s var(--entra)}
.fmt:active{transform:scale(.98)}
.fmt .im{aspect-ratio:4/3;background-size:cover;background-position:center}
.fmt span{display:block;padding:9px 11px 11px;font:600 14px/1.2 var(--f)}
.fmt span small{display:block;font-weight:400;color:var(--gris);font-size:12.5px;margin-top:3px}
.fmt[aria-checked=true]{box-shadow:inset 0 0 0 3px var(--rojo)}
.fmt[aria-checked=true]::after{content:"";position:absolute;top:9px;right:9px;width:24px;height:24px;border-radius:50%;background:var(--rojo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/60% no-repeat}
.fmt .im.placaIm{background-image:url(/img/estadio-noche.jpg);position:relative}
.fmt .im.placaIm::after{content:"La U vs ...";position:absolute;left:8px;right:8px;bottom:8px;background:#fff;border-radius:8px;font:700 11px var(--f);padding:5px 8px;color:var(--tinta)}

/* campos */
.campo{display:grid;gap:6px;margin-top:16px}
.campo label,.campo .lb{font:600 13.5px var(--f)}
.in{background:var(--campo);border:0;border-radius:var(--r-in);padding:14px 15px;font-size:16px;width:100%;min-height:52px;outline:none;transition:box-shadow .15s}
.in:focus{box-shadow:inset 0 0 0 2px var(--tinta)}
textarea.in{min-height:96px;resize:vertical;line-height:1.45}
select.in{appearance:none;-webkit-appearance:none;background:var(--campo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b6b6b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 14px center/18px no-repeat;padding-right:42px}
.dosc{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dosc .campo{margin-top:16px}
.ayuda{color:var(--gris);font-size:13px}
.resumen{background:var(--campo);border-radius:var(--r-in);padding:13px 15px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:15px}
.resumen em{font-style:normal;color:var(--gris);font-size:13.5px}
.err{color:var(--rojo-texto);font:500 14px var(--f);margin-top:10px}

/* armando */
.armado{position:relative;border-radius:var(--r-card);overflow:hidden;aspect-ratio:1/1;background:url(/img/palco.jpg) center/cover;margin-top:4px}
.armado .scan{position:absolute;left:0;right:0;height:30%;top:-30%;background:linear-gradient(180deg,transparent,rgba(255,255,255,.55),transparent)}
@media (prefers-reduced-motion:no-preference){.armado .scan{animation:scan 2.8s var(--sale) infinite}}
@keyframes scan{to{top:100%}}
.armado .q{position:absolute;left:12px;right:12px;bottom:12px;background:rgba(255,255,255,.95);border-radius:14px;padding:11px 13px}
.armado .q b{font:700 16px/1.2 var(--f);display:block;letter-spacing:-.02em}
.armado .q small{color:var(--gris);font-size:13px}
.cuenta{display:flex;justify-content:space-between;align-items:baseline;margin-top:20px;gap:10px}
.cuenta b{font:800 22px var(--f);letter-spacing:-.03em}
.cuenta small{color:var(--gris);font-size:14px}
.prog{height:8px;border-radius:99px;background:var(--campo);margin-top:10px;overflow:hidden}
.prog span{display:block;height:100%;width:0;background:var(--tinta);border-radius:inherit;transition:width .8s var(--sale)}
.pasos{display:grid;gap:12px;margin-top:20px}
.pp{display:grid;grid-template-columns:30px 1fr auto;gap:12px;align-items:center;font-size:15px}
.pp i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:16px}
.pp.ok i{background:var(--verde-suave);color:var(--verde-texto)}
.pp.ahora{font-weight:600}
.pp.ahora i{background:var(--rojo-suave);color:var(--rojo)}
@media (prefers-reduced-motion:no-preference){.pp.ahora i::before{animation:gira 1.1s linear infinite;display:inline-block}}
@keyframes gira{to{transform:rotate(360deg)}}
.pp.no{color:var(--gris-claro)}
.pp.no i{box-shadow:inset 0 0 0 1.5px var(--linea)}
.pp small{color:var(--gris);font-size:13px;font-weight:400}
.nota-suave{background:var(--campo);border-radius:var(--r-in);padding:12px 14px;color:var(--gris);font-size:14px;margin-top:20px;display:flex;gap:10px;align-items:flex-start}
.nota-suave i{font-size:18px;color:var(--tinta);margin-top:1px}

/* subiendo */
.subiendo{display:grid;gap:10px;margin-top:6px}

/* revisar */
.reel{position:relative;margin:4px auto 0;width:min(100%,300px);aspect-ratio:9/16;border-radius:var(--r-card);overflow:hidden;background:#111;box-shadow:var(--sombra)}
.reel video{width:100%;height:100%;object-fit:cover;display:block}
.textos{display:grid;gap:8px;margin-top:6px}
.textos .r{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;background:var(--campo);border-radius:var(--r-in);padding:4px 6px 4px 14px;font-size:14.5px}
.textos .r small{font:600 12px var(--f);color:var(--gris)}
.textos .r input{background:transparent;border:0;outline:none;padding:10px 4px;min-height:44px;width:100%;font-size:16px}
.textos .r:focus-within{box-shadow:inset 0 0 0 2px var(--tinta)}
.copy{background:var(--campo);border-radius:var(--r-in);padding:14px 15px;font-size:14.5px;white-space:pre-wrap;line-height:1.5}
.copy .tags{color:var(--gris);display:block;margin-top:8px}
.fila-acc{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.historial{display:grid;gap:6px;margin-top:6px}
.historial div{font-size:13.5px;color:var(--gris);border-left:2px solid var(--linea);padding-left:10px}

/* hoja (pedir cambio) */
.velo{position:fixed;inset:0;background:rgba(26,26,26,.38);z-index:20;opacity:0;transition:opacity .25s var(--sale)}
.velo.on{opacity:1}
.hoja{position:fixed;left:0;right:0;bottom:0;z-index:21;max-width:520px;margin:0 auto;background:#fff;border-radius:24px 24px 0 0;
  padding:10px 20px calc(18px + env(safe-area-inset-bottom));max-height:88dvh;overflow:auto;transform:translateY(100%);transition:transform .3s var(--sale)}
.hoja.on{transform:none}
.hoja .asa{width:40px;height:5px;border-radius:9px;background:var(--linea);margin:2px auto 12px}
.hoja h3{font:800 21px/1.2 var(--f);letter-spacing:-.03em;margin-bottom:4px}

/* placa */
.placa-prev{border-radius:var(--r-card);overflow:hidden;box-shadow:0 30px 60px -26px rgba(26,26,26,.45);margin:4px auto 0;width:min(100%,320px);background:var(--campo)}
.placa-prev canvas,.placa-prev img{width:100%;height:auto;display:block}
.seg{display:grid;grid-template-columns:1fr 1fr;background:var(--campo);border-radius:99px;padding:4px;gap:4px;margin:16px auto 0;max-width:320px}
.seg button{border:0;background:transparent;border-radius:99px;min-height:40px;font:600 14px var(--f);cursor:pointer;color:var(--gris)}
.seg button[aria-pressed=true]{background:#fff;color:var(--tinta);box-shadow:0 2px 8px -3px rgba(26,26,26,.2)}

/* partidos */
.partido{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;padding:10px 8px;margin:0 -8px;border-radius:16px;text-decoration:none}
.partido:active{background:var(--campo)}
.partido .dia{width:52px;height:52px;border-radius:14px;background:var(--campo);display:grid;place-items:center;text-align:center;line-height:1}
.partido .dia b{font:800 19px var(--f);display:block}
.partido .dia small{font:600 11px var(--f);color:var(--gris);text-transform:uppercase}
.partido.pasado{opacity:.55}

/* entrar */
.entrar{min-height:100dvh;display:grid;align-content:center;gap:0;padding:32px 24px}
.entrar img.marca{width:180px;margin-bottom:28px}
.entrar h1{font:800 28px/1.1 var(--f);letter-spacing:-.03em;margin-bottom:6px}

/* aviso flotante */
.aviso{position:fixed;left:50%;bottom:calc(var(--pie) + 16px);transform:translate(-50%,20px);background:var(--tinta);color:#fff;padding:11px 18px;border-radius:99px;
  font:500 14px var(--f);opacity:0;pointer-events:none;transition:opacity .2s var(--sale),transform .3s var(--sale);z-index:30;max-width:calc(100% - 32px);text-align:center}
.aviso.on{opacity:1;transform:translate(-50%,0)}

/* esqueleto de carga */
.esq{background:linear-gradient(90deg,var(--campo),#ececea,var(--campo));background-size:200% 100%;border-radius:14px}
@media (prefers-reduced-motion:no-preference){.esq{animation:brillo 1.4s linear infinite}}
@keyframes brillo{to{background-position:-200% 0}}

/* entrada de pantalla */
@media (prefers-reduced-motion:no-preference){
  .cuerpo.entra>*{animation:sube .42s var(--sale) both}
  .cuerpo.entra>*:nth-child(2){animation-delay:.04s}.cuerpo.entra>*:nth-child(3){animation-delay:.08s}
  .cuerpo.entra>*:nth-child(4){animation-delay:.12s}.cuerpo.entra>*:nth-child(n+5){animation-delay:.16s}
}
@keyframes sube{from{opacity:0;transform:translateY(10px)}}
@media (hover:hover) and (pointer:fine){
  .vid:hover,.partido:hover{background:var(--campo)}
  .fmt:hover{box-shadow:inset 0 0 0 1px #d6d6d6}
  .fmt[aria-checked=true]:hover{box-shadow:inset 0 0 0 3px var(--rojo)}
}
