/* ===== El Parche · tema claro: verde, bordes gruesos y botones que se hunden ===== */
:root{--g:#58cc02;--g2:#46a302;--gl:#d7ffb8;--gb:#a5ed6e;--bl:#1cb0f6;--bl2:#1899d6;--bll:#ddf4ff;--navy:#042c60;--ink:#3c3c3c;--mut:#777;--line:#e5e5e5;--y:#ffc800;--y2:#e0a800;--rd:#ff4b4b;--rd2:#ea2b2b;--pu:#ce82ff;--or:#ff9600;--ok:#58cc02;--bad:#ff4b4b;--b:#1cb0f6}
body{background:#fff;color:var(--ink);font-family:Nunito,system-ui,-apple-system,"Segoe UI",sans-serif;font-weight:700;letter-spacing:.02em}
body:before,body:after{display:none}
#bgfx{background-image:radial-gradient(#eef3ea 1.5px,transparent 1.6px);background-size:28px 28px;mask-image:none;-webkit-mask-image:none;opacity:1}
h2{font-weight:900;color:var(--ink);letter-spacing:0}
.card{background:#fff;border:2px solid var(--line);border-bottom-width:5px;border-radius:18px;box-shadow:none}
.mut{color:var(--mut);font-weight:600}.wh{color:var(--mut)!important}.log{color:var(--ink)}
/* botones */
.btn{background:#fff;color:var(--ink);border:2px solid var(--line);border-bottom-width:5px;box-shadow:none;border-radius:16px;font-weight:800;text-transform:none;letter-spacing:.03em;transition:transform .06s,border-bottom-width .06s}
.btn:active{transform:translateY(3px);border-bottom-width:2px;box-shadow:none}
.btn.pri{background:var(--g);border-color:var(--g2);color:#fff;text-shadow:none;box-shadow:none;text-transform:uppercase}
.btn.pri:after{display:none}.btn.pri:active{box-shadow:none}
.btn.tl,.btn.blu{background:var(--bl);border-color:var(--bl2);color:#fff;box-shadow:none;text-transform:uppercase}
.btn.red{background:var(--rd);border-color:var(--rd2);color:#fff;box-shadow:none}
.btn.pk{background:var(--pu);border-color:#a568cc;color:#fff}
.btn.s{box-shadow:none;border-bottom-width:4px}
.btn.inst{margin-top:16px;animation:instb 2.4s ease-in-out infinite}
@keyframes instb{0%,100%{transform:none}50%{transform:translateY(-3px)}}
.tag{background:#f7f7f7;border:2px solid var(--line);color:var(--mut);font-weight:800}.tag.on{background:var(--gl);border-color:var(--g);color:var(--g2)}
.inp{background:#f7f7f7;border:2px solid var(--line);box-shadow:none;border-radius:14px;font-weight:700;color:var(--ink)}
.inp:focus{border-color:var(--bl);background:#fff}
/* logo y mascota */
.logo{color:var(--ink);padding:14px 0 4px}
.logo b{font-size:56px;font-weight:900;color:var(--g);background:none;-webkit-background-clip:initial;background-clip:initial;filter:none;text-shadow:none;letter-spacing:-.02em;line-height:1}
.logo b small{font-size:30px;color:var(--navy);vertical-align:10px;margin-right:2px}
.logo span{color:var(--mut);font-weight:800;display:block;margin-top:4px;opacity:1}
.masc{width:128px;height:128px;display:block;margin:0 auto -4px;overflow:visible}
.masc .mb{animation:mhop 2.6s ease-in-out infinite;transform-origin:100px 186px}
.masc .wave{animation:mwave 1.1s ease-in-out infinite;transform-origin:160px 112px}
.masc .ey,.avs .ey{animation:blink 4.2s infinite;transform-box:fill-box;transform-origin:center}
@keyframes mhop{0%,100%{transform:translateY(0) scale(1,1)}45%{transform:translateY(-9px) scale(.98,1.03)}55%{transform:translateY(-9px)}90%{transform:translateY(0) scale(1.04,.96)}}
@keyframes mwave{0%,100%{transform:rotate(0)}50%{transform:rotate(-24deg)}}
@keyframes blink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
/* barra superior */
.top{color:var(--ink)}
.top .code{background:#fff;border:2px solid var(--line);border-bottom-width:4px;color:var(--navy);backdrop-filter:none;-webkit-backdrop-filter:none}
.ghead{color:var(--ink);text-shadow:none;font-weight:900}
.bar{background:var(--line);box-shadow:none;border:0;height:16px}
.bar b{background:var(--g);box-shadow:inset 0 -4px 0 rgba(0,0,0,.08),inset 0 4px 0 rgba(255,255,255,.3)}
.warn{background:var(--rd)}
.bigcode{background:none;-webkit-background-clip:initial;background-clip:initial;color:var(--g);font-weight:900}
/* jugadores */
.chip{background:#f7f7f7;border:2px solid var(--line);border-left:6px solid var(--tc,var(--line));font-weight:800}.chip.me{background:#fff7d6}.chip b{color:var(--g2)}
.pl{border-bottom:2px solid #f0f0f0}
.pl .av{background:#f7f7f7;box-shadow:none;border:3px solid var(--tc,var(--line));overflow:hidden;padding:0}
.pl .av,.chip i{filter:none}
.pl .n{font-weight:800}.pl .pts{color:var(--g2);font-weight:900}
/* avatares */
.avs,.avp{width:1.3em;height:1.3em;border-radius:50%;display:inline-block;vertical-align:middle;flex:none}
.pl .av .avs,.pl .av .avp{width:100%;height:100%}
.chip i .avs,.chip i .avp{width:30px;height:30px;margin:-2px 0}
.avp{object-fit:cover;animation:phbob 3s ease-in-out infinite;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--g)}
.avs .avb{animation:avbob 3.2s ease-in-out infinite;transform-origin:50% 100%}
@keyframes avbob{0%,100%{transform:none}50%{transform:translateY(-1.5px) rotate(-1.5deg)}}
@keyframes phbob{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg) scale(1.04)}}
.avbtn{position:relative;border:0;background:none;padding:0;width:74px;height:74px;font-size:46px;line-height:1;cursor:pointer;border-radius:50%;box-shadow:0 0 0 3px var(--line);display:grid;place-items:center;flex:none}
.avbtn .avs,.avbtn .avp{width:74px;height:74px}
.avbtn em{position:absolute;right:-6px;bottom:-4px;font-style:normal;font-size:16px;background:var(--bl);border:2px solid var(--bl2);border-radius:50%;width:30px;height:30px;display:grid;place-items:center}
.avw{display:inline-grid;place-items:center;width:1.3em;height:1.3em;border-radius:50%;background:#f0f0f0}
.avsheet>div{padding-top:14px}
.avtop{display:flex;gap:14px;align-items:center;margin-bottom:10px}
.avbig{width:118px;height:118px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:76px;box-shadow:0 0 0 4px var(--line);animation:popin .35s}
.avbig .avs,.avbig .avp{width:118px;height:118px}
.avtabs{display:flex;gap:6px;overflow-x:auto;padding:4px 0 8px;scrollbar-width:none}.avtabs::-webkit-scrollbar{display:none}
.avtabs button{flex:none;border:2px solid var(--line);border-bottom-width:4px;background:#fff;border-radius:12px;padding:7px 12px;font-weight:800;font-size:14px;color:var(--mut)}
.avtabs button.on{background:var(--bll);border-color:var(--bl);color:var(--bl2)}
.avgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.avgrid button{aspect-ratio:1;border:2px solid var(--line);border-bottom-width:4px;border-radius:16px;background:#fff;padding:5px;display:grid;place-items:center;cursor:pointer}
.avgrid button .avs{width:100%;height:100%}
.avgrid button.on{border-color:var(--g);background:var(--gl)}
.avgrid.em button{font-size:32px}
.phbox label{display:block;cursor:pointer}
.kbd{display:inline-block;background:#f7f7f7;border:2px solid var(--line);border-radius:8px;padding:0 6px}
/* menú de juegos */
.gc{border:2px solid var(--line);border-bottom-width:5px;box-shadow:none;border-radius:20px}
.gc:active{transform:translateY(3px);border-bottom-width:2px}
.gc .cov{background:var(--c1);height:100px}
.gc .cov:before{background:radial-gradient(circle at 80% 120%,rgba(0,0,0,.12),transparent 60%)}
.gc .cov:after{background:rgba(255,255,255,.16)}
.gc .cov i{filter:drop-shadow(0 5px 0 rgba(0,0,0,.15))}
.gc b{color:var(--ink);font-weight:900}.gc span{color:var(--mut);font-weight:600}
/* hojas */
.sheet{background:rgba(0,0,0,.45);backdrop-filter:none;-webkit-backdrop-filter:none}
.sheet>div{border-radius:24px 24px 0 0}
.sheet b{font-weight:900}
.seg button{border:2px solid var(--line);border-bottom-width:4px;font-weight:800;color:var(--ink)}
.seg button.on{border-color:var(--bl);background:var(--bll);color:var(--bl2)}
/* preguntas */
.opt{background:#fff;border:2px solid var(--line);border-bottom-width:5px;box-shadow:none;border-radius:16px;font-weight:800;color:var(--ink)}
.opt:active{transform:translateY(3px);border-bottom-width:2px}
.opt.sel{background:var(--bll);border-color:#84d8ff;box-shadow:none;color:var(--bl2)}
.opt.ok{background:var(--gl);border-color:var(--g);box-shadow:none;color:var(--g2)}
.opt.bad{background:#ffdfe0;border-color:var(--rd);box-shadow:none;color:var(--rd2)}
.res.ok{color:var(--g2)}.res.bad{color:var(--rd)}.res{font-weight:900}
.flag{box-shadow:0 0 0 2px var(--line),0 5px 0 var(--line)}
.tiles span{background:#f7f7f7;border:2px solid var(--line);border-bottom-width:4px;box-shadow:none;height:46px;color:var(--ink)}
.tiles span.on{background:var(--y);border-color:var(--y2);box-shadow:none;color:#5a3d00}
.letter{background:var(--rd);box-shadow:none;border-bottom:7px solid var(--rd2);text-shadow:none}
.kb button{background:#fff;border:2px solid var(--line);border-bottom-width:4px;box-shadow:none;color:var(--ink)}
.kb button.y{background:var(--g);border-color:var(--g2);color:#fff;box-shadow:none}
.kb button.n{background:#f0f0f0;border-color:#f0f0f0;color:#c4c4c4;transform:none}
.sky{box-shadow:none;border:2px solid var(--line);border-bottom-width:5px}
.toast{background:var(--navy);border:0;font-weight:800}
.podium div em{box-shadow:none;border-bottom:0}
.podium div i .avs,.podium div i .avp{width:52px;height:52px}
.podium .p1 em{background:var(--y)}.podium .p2 em{background:#b8c4d6}.podium .p3 em{background:#e59a5b}
.tbar{background:#f0f0f0;box-shadow:none}
#cv{border:2px solid var(--line);border-bottom-width:5px;box-shadow:none}
.bcard{background:var(--bl);border-bottom:6px solid var(--bl2);box-shadow:none}
.bcard button{background:#fff;box-shadow:0 3px 0 rgba(0,0,0,.15)}
.bcard button.m{background:var(--y);color:#5a3d00}
.board{box-shadow:0 8px 0 #4d2c0e}
.tok b .avs,.tok b .avp{width:92%;height:92%}
.mem button:before{background:repeating-linear-gradient(45deg,rgba(255,255,255,.18) 0 6px,transparent 6px 12px),var(--bl);box-shadow:inset 0 -5px 0 var(--bl2)}
.c4{box-shadow:0 8px 0 #12259a}
.ans{border-bottom:2px dashed #eee}
.top>span .avs,.top>span .avp{margin-right:6px}
.avbtn+.inp{flex:1 1 0;min-width:0}
/* logo familiar */
.famlogo{width:200px;height:200px;display:block;margin:0 auto -6px;overflow:visible}
.famlogo.sm{width:120px;height:120px;margin:0 auto 6px}
.famlogo .hrt{animation:beat 1.3s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.famlogo .tail{animation:wag .35s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:0% 100%}
.famlogo .dog{animation:dogb 2.2s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 100%}
.famlogo .avs .avb{animation-duration:2.6s}
@keyframes beat{0%,100%{transform:scale(1)}15%{transform:scale(1.15)}30%{transform:scale(.97)}45%{transform:scale(1.1)}}
@keyframes wag{from{transform:rotate(-14deg)}to{transform:rotate(14deg)}}
@keyframes dogb{0%,100%{transform:none}50%{transform:translateY(-3px)}}
/* en la frente */
.frcard{background:var(--or);border:0;border-bottom:8px solid #d97f00;border-radius:24px;color:#fff;text-align:center;padding:22px 14px;margin:10px 0;min-height:46vh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;transition:background .2s}
.frcard.me{min-height:58vh}
.frcard small{font-size:16px;font-weight:800;opacity:.9;background:rgba(0,0,0,.15);border-radius:99px;padding:4px 12px}
.frcard b{font-weight:900;line-height:1.05;text-transform:uppercase;word-break:break-word;animation:popin .35s}
.frcard em{font-style:normal;font-weight:900;font-size:20px;background:#fff;color:var(--or);border-radius:99px;padding:3px 14px}
.frcard.ok{background:var(--g);border-color:var(--g2)}.frcard.no{background:var(--rd);border-color:var(--rd2)}
.frbtns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.frhow{display:grid;gap:6px;margin:10px 0}.frhow span{background:#f7f7f7;border:2px solid var(--line);border-radius:12px;padding:8px}
.frlist{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:10px 0}
.frlist span{border-radius:99px;padding:5px 12px;font-weight:800;border:2px solid var(--line)}.frlist .ok{background:var(--gl);border-color:var(--g);color:var(--g2)}.frlist .no{background:#f7f7f7;color:var(--mut)}
/* reflejos */
.pad.rx{height:52vh;font-size:54px;font-weight:900;border:4px solid var(--line);box-shadow:none;text-shadow:none;letter-spacing:.04em;transition:none}
.pad.rx:before{display:none}.pad.rx.big{font-size:120px}
.rxr{font-weight:900;color:var(--navy);font-size:18px;margin:6px 0}
.rxrule .bigtx{color:var(--navy)}
.pad.rx.big{font-size:96px;white-space:nowrap}
