:root{
  --navy:#0F2947; --blue:#1D5AD1; --coral:#E0632B; --green:#1C8558; --purple:#6D3B9E;
  --ink:#1E2733; --gray:#5B6675; --line:#E7E0D2; --paper:#FBFAF7; --card:#ffffff;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{font-family:"Inter",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:"Fraunces","Georgia",serif;color:var(--navy);margin:0;line-height:1.15;}
a{color:inherit;}

/* ============ PARTICIPANTE (móvil) ============ */
.participante{max-width:620px;margin:0 auto;padding:0 16px 40px;}
.topbar{display:flex;align-items:center;gap:10px;padding:16px 0 10px;}
.topbar .dot{width:34px;height:34px;border-radius:9px;background:var(--coral);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-family:"Fraunces",serif;}
.topbar b{font-size:15px;color:var(--navy);}
.topbar span{font-size:12px;color:var(--gray);}
.card-main{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 18px;box-shadow:0 2px 10px rgba(20,30,50,.05);}
.participante h1{font-size:26px;margin-bottom:4px;}
.participante .lead{color:var(--gray);font-size:14.5px;margin:0 0 18px;}
label{display:block;font-size:13px;font-weight:700;color:var(--navy);margin:14px 0 6px;}
input[type=text],textarea{width:100%;border:1.5px solid #D8D2C6;border-radius:11px;padding:12px 13px;font-size:16px;font-family:inherit;color:var(--ink);background:#fff;}
input[type=text]:focus,textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(29,90,209,.12);}
textarea{min-height:130px;resize:vertical;line-height:1.5;}
.ej-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px;}
.ej-btn{text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:13px;padding:12px;cursor:pointer;transition:.15s;display:flex;gap:10px;align-items:flex-start;}
.ej-btn:hover{border-color:var(--blue);transform:translateY(-1px);}
.ej-btn .num{width:30px;height:30px;flex:0 0 auto;border-radius:8px;color:#fff;font-weight:800;font-family:"Fraunces",serif;display:flex;align-items:center;justify-content:center;font-size:15px;}
.ej-btn .t{font-size:13.5px;font-weight:700;color:var(--navy);line-height:1.25;}
.brief{border-radius:13px;padding:14px 15px;margin:2px 0 4px;color:#fff;}
.brief .k{font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;opacity:.85;}
.brief h2{color:#fff;font-size:20px;margin:2px 0 10px;}
.brief .dato{background:rgba(255,255,255,.16);border-radius:9px;padding:9px 11px;font-size:14px;}
.brief .dato b{display:block;font-size:10.5px;letter-spacing:.5px;text-transform:uppercase;opacity:.85;margin-bottom:3px;font-weight:800;}
.tarea{font-size:15px;margin:14px 0 4px;color:var(--ink);}
.tarea b{color:var(--navy);}
.pista{font-size:13.5px;color:var(--gray);font-style:italic;margin:0 0 6px;}
.plats{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 4px;}
.plat{border:1.5px solid var(--line);background:#fff;border-radius:30px;padding:8px 14px;font-size:13.5px;font-weight:700;cursor:pointer;color:var(--gray);transition:.15s;}
.plat.on{color:#fff;border-color:transparent;}
.ideal{font-size:12.5px;color:var(--gray);margin:6px 2px 0;}
.contador{font-size:12.5px;color:var(--gray);text-align:right;margin:6px 2px 0;}
.btn{display:block;width:100%;border:none;border-radius:12px;padding:15px;font-size:16px;font-weight:800;color:#fff;background:var(--coral);cursor:pointer;margin-top:16px;font-family:inherit;transition:.15s;}
.btn:hover{filter:brightness(1.05);}
.btn:disabled{opacity:.5;cursor:default;}
.btn-sec{background:none;color:var(--blue);border:none;font-weight:700;cursor:pointer;font-size:14px;padding:6px 0;margin-bottom:4px;font-family:inherit;}
.msg{font-size:13.5px;margin-top:10px;color:var(--coral);font-weight:600;min-height:18px;}
.ok-box{text-align:center;padding:26px 10px;}
.ok-box .check{width:70px;height:70px;border-radius:50%;background:var(--green);color:#fff;font-size:38px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
.ok-box h2{font-size:23px;margin-bottom:6px;}
.ok-box p{color:var(--gray);font-size:14.5px;margin:0 0 6px;}

/* ============ PANTALLA (proyector) ============ */
body.proyector{background:#0B1F38;color:#fff;}
.proy-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 26px;background:linear-gradient(135deg,#0F2947,#1B457F);position:sticky;top:0;z-index:5;box-shadow:0 4px 18px rgba(0,0,0,.3);}
.proy-top .ttl{display:flex;align-items:center;gap:14px;}
.proy-top .ttl .live{display:inline-flex;align-items:center;gap:8px;background:#E0632B;color:#fff;font-weight:800;font-size:13px;padding:6px 12px;border-radius:30px;letter-spacing:.5px;}
.proy-top .ttl .live .pulse{width:9px;height:9px;border-radius:50%;background:#fff;animation:pulse 1.4s infinite;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.25}}
.proy-top h1{color:#fff;font-size:24px;}
.proy-top .link{color:#CFE0F5;font-size:14px;text-align:right;}
.proy-top .link b{color:#F2A377;font-size:20px;display:block;font-family:"Fraunces",serif;}
.proy-top .count{font-size:13px;color:#9DB4CE;margin-top:2px;}
.grid{column-count:4;column-gap:16px;padding:20px 26px 60px;}
@media(max-width:1400px){.grid{column-count:3;}}
@media(max-width:1000px){.grid{column-count:2;}}
.post{break-inside:avoid;background:#12335A;border-radius:14px;padding:0;margin:0 0 16px;overflow:hidden;box-shadow:0 3px 12px rgba(0,0,0,.25);animation:fadein .5s ease;}
@keyframes fadein{from{opacity:0;transform:translateY(10px)}to{opacity:1}}
.post .head{display:flex;align-items:center;gap:9px;padding:11px 14px;}
.post .head .av{width:34px;height:34px;border-radius:9px;color:#fff;font-weight:800;font-family:"Fraunces",serif;display:flex;align-items:center;justify-content:center;font-size:16px;flex:0 0 auto;}
.post .head .who{font-weight:700;font-size:15px;color:#fff;line-height:1.1;}
.post .head .meta{font-size:11.5px;color:#9DB4CE;}
.post .head .plat{margin-left:auto;font-size:11px;font-weight:800;padding:4px 10px;border-radius:20px;color:#fff;white-space:nowrap;}
.post .body{padding:4px 16px 16px;font-size:18px;line-height:1.45;color:#EAF2FC;white-space:pre-wrap;}
.post .tag{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#F2A377;padding:0 16px 8px;}
.vacio{text-align:center;color:#9DB4CE;padding:80px 20px;font-size:18px;}
.proy-foot{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:8px 20px;background:rgba(9,20,38,.9);font-size:12px;color:#7C93B0;}
.proy-foot button{background:none;border:1px solid #33517A;color:#9DB4CE;border-radius:8px;padding:5px 12px;cursor:pointer;font-size:12px;font-family:inherit;}
