:root{--bg:#070914;--ink:#f3f6ff;--muted:#c5d0ea;--dim:#93a0c4;--cyan:#5ef3ff;--pink:#ff3fd8;--orange:#ff9a3c;--blue:#7aa2ff}
*{box-sizing:border-box;margin:0;padding:0}
html,body{width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font-family:"Montserrat","Roboto","Segoe UI",sans-serif}
body{background:radial-gradient(1200px 700px at 10% -10%,#2a0d4d 0,transparent 60%),radial-gradient(1000px 700px at 110% 110%,#05304a 0,transparent 60%),var(--bg)}
header#top{position:fixed;top:0;left:0;right:0;height:9vh;display:flex;align-items:center;gap:2vw;padding:0 2.5vw;z-index:5;background:linear-gradient(#070914ee,#07091400)}
#logo{height:6.5vh;filter:drop-shadow(0 0 8px #5ef3ff88)}
#ttl{font-weight:800;letter-spacing:.5em;font-size:2.6vh;color:var(--cyan);text-shadow:0 0 12px var(--cyan)}
#clock{margin-left:auto;font-size:3vh;font-weight:700;color:var(--muted)}
footer#foot{position:fixed;bottom:0;left:0;right:0;height:4.5vh;display:flex;align-items:center;justify-content:space-between;padding:0 2.5vw;font-size:1.7vh;color:var(--dim);z-index:5;background:linear-gradient(#07091400,#070914ee)}
#stage{position:absolute;top:9vh;right:0;bottom:4.5vh;left:0;inset:9vh 0 4.5vh 0;overflow:hidden}
.fade{animation:fade .8s ease}@keyframes fade{from{opacity:0}to{opacity:1}}
.price{font-weight:800;color:var(--orange);text-shadow:0 0 14px #ff9a3c99;white-space:nowrap}
.neon{color:var(--cyan);text-shadow:0 0 10px #5ef3ffaa,0 0 30px #5ef3ff55}
.ph{background:linear-gradient(135deg,#1b1240,#0b2a3f);display:flex;align-items:center;justify-content:center;color:#ffffff33;font-size:6vh}
.tag{display:inline-block;padding:.2em .6em;border-radius:999px;border:1px solid var(--pink);color:var(--pink);font-size:.7em;margin-right:.4em;font-weight:700}
/* slide */
.slide{position:absolute;inset:0;display:grid;grid-template-columns:58% 42%;align-items:center}
.slide .pic{height:100%;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 75%,transparent)}
.slide .pic img{width:100%;height:100%;object-fit:cover;animation:kb 12s ease-out both}
@keyframes kb{from{transform:scale(1.12)}to{transform:scale(1)}}
.slide .info{padding:0 4vw 0 2vw}
.slide .cat{font-size:2.6vh;letter-spacing:.3em;text-transform:uppercase;color:var(--pink);text-shadow:0 0 10px #ff3fd8aa;margin-bottom:2vh}
.slide h1{font-size:7vh;line-height:1.05;margin-bottom:2.5vh}
.slide p{font-size:2.6vh;color:var(--muted);line-height:1.4;margin-bottom:3vh;max-height:16vh;overflow:hidden}
.slide .price{font-size:10vh}
.port .slide{grid-template-columns:1fr;grid-template-rows:55% 45%}
.port .slide .pic{-webkit-mask-image:linear-gradient(#000 75%,transparent)}
.port .slide .info{padding:0 6vw}.port .slide h1{font-size:4.6vh}.port .slide .price{font-size:7vh}
.dots{position:absolute;bottom:1.2vh;left:0;right:0;text-align:center}
/* grid */
.gwrap{position:absolute;inset:0;padding:1vh 2.5vw}
.gh{font-size:4.6vh;font-weight:800;margin-bottom:1.5vh;display:flex;align-items:baseline;gap:1.5vw}
.gh small{font-size:2vh;color:var(--dim);font-weight:600}
.grid{display:grid;gap:1.6vh 1.4vw;height:calc(100% - 8vh)}
.card{background:#ffffff0a;border:1px solid #5ef3ff33;border-radius:1.6vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 0 20px #5ef3ff14 inset;min-height:0}
.card .im{flex:1;min-height:0;position:relative}.card .im img{width:100%;height:100%;object-fit:cover;display:block}
.card .bt{display:flex;justify-content:space-between;align-items:center;gap:1vw;padding:1.2vh 1vw}
.card .nm{font-size:2.3vh;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card .price{font-size:2.8vh}
/* list */
.lwrap{position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(transparent,#000 4%,#000 94%,transparent)}
.lcols{column-count:3;column-gap:3vw;padding:2vh 3vw}
.port .lcols{column-count:1}
.lsec{break-inside:avoid;margin-bottom:3vh}
.lsec h2{font-size:3.2vh;margin-bottom:1vh;border-bottom:2px solid #5ef3ff55;padding-bottom:.6vh}
.row{display:flex;align-items:baseline;gap:.6vw;font-size:2.3vh;padding:.45vh 0}
.row .n{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:75%}
.row .d{flex:1;border-bottom:2px dotted #93a0c455;transform:translateY(-.4vh)}
/* split */
.split{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;gap:2vw;padding:1vh 2.5vw}
.port .split{grid-template-columns:1fr;grid-template-rows:1fr 1fr}
.half{border:1px solid #ff3fd855;border-radius:2vh;padding:2vh 1.5vw;background:#ffffff06;overflow:hidden;display:flex;flex-direction:column}
.half.dr{border-color:#5ef3ff55}
.half h2{font-size:4.4vh;font-weight:800;margin-bottom:1vh}
.half.fd h2{color:var(--pink);text-shadow:0 0 12px #ff3fd8aa}
.half .feat{display:flex;gap:1.2vw;height:36vh;margin-bottom:1.5vh}
.half .feat div{flex:1;border-radius:1.4vh;overflow:hidden;position:relative}
.half .feat img{width:100%;height:100%;object-fit:cover}
.half .feat span{position:absolute;left:0;right:0;bottom:0;padding:.8vh;font-size:2.1vh;font-weight:700;background:linear-gradient(transparent,#000c)}
.half .rows{flex:1;column-count:2;column-gap:2vw;overflow:hidden}
.half .rows .row{font-size:2.6vh;break-inside:avoid}
/* empty + settings */
.msg{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2vh;font-size:3.4vh;color:var(--muted);text-align:center}
#hot{position:fixed;left:0;top:0;width:12vw;height:12vh;z-index:9}
#settings{position:fixed;inset:0;z-index:20;background:#070914f2;display:flex;align-items:center;justify-content:center}
#settings[hidden]{display:none}
.sp{width:min(900px,92vw);max-height:92vh;overflow:auto;border:1px solid var(--cyan);border-radius:16px;padding:22px 26px;box-shadow:0 0 40px #5ef3ff44;font-size:18px}
.sp h2{color:var(--cyan);margin-bottom:12px}.sp .r{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0}
.sp .r>b{width:170px;color:var(--muted)}
.sp button{background:#ffffff10;color:var(--ink);border:1px solid #93a0c466;border-radius:10px;padding:8px 14px;font-size:17px}
.sp button.on{border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 10px #5ef3ff66}
.sp button:focus{outline:3px solid var(--orange)}
.sp .cats button{font-size:15px;padding:6px 10px}
.sp .info{color:var(--dim);font-size:14px;margin-top:10px;white-space:pre-line}
/* ===== PROMO (v1.1) ===== */
#bgfx{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
#bgfx i{position:absolute;bottom:-4vh;width:1vh;height:1vh;border-radius:50%;background:#5ef3ff;opacity:0;box-shadow:0 0 12px #5ef3ff;animation:rise linear infinite;will-change:transform,opacity}
#bgfx i:nth-child(3n){background:#ff3fd8;box-shadow:0 0 12px #ff3fd8}#bgfx i:nth-child(4n){background:#ff9a3c;box-shadow:0 0 12px #ff9a3c}
@keyframes rise{0%{transform:translateY(0);opacity:0}10%{opacity:.7}90%{opacity:.5}100%{transform:translateY(-110vh);opacity:0}}
#bgfx .beam{position:absolute;top:-50%;left:-30%;width:40%;height:200%;background:linear-gradient(90deg,transparent,#ffffff0c,transparent);transform:rotate(20deg);animation:beam 9s ease-in-out infinite;will-change:transform}
@keyframes beam{0%{transform:translateX(0) rotate(20deg)}100%{transform:translateX(320vw) rotate(20deg)}}
#stage{z-index:1}
.promo{position:absolute;top:0;left:0;right:0;bottom:0;inset:0}
.promo.in{animation:pIn 1s cubic-bezier(.2,.8,.2,1) both}.promo.out{animation:pOut .8s ease-in both}
@keyframes pIn{from{opacity:0;transform:translateX(6vw)}to{opacity:1;transform:none}}
@keyframes pOut{to{opacity:0;transform:translateX(-6vw) scale(.98)}}
.promo .ph2{position:absolute;left:0;top:0;bottom:0;width:62%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 70%,transparent)}
.promo .ph2 img{width:100%;height:100%;object-fit:cover;will-change:transform;animation:kb2 var(--d,8s) linear both}
@keyframes kb2{from{transform:scale(1.18) translate(2%,1%)}to{transform:scale(1) translate(0,0)}}
.promo .tx{position:absolute;left:52%;right:4vw;top:8vh;bottom:6vh;display:flex;flex-direction:column;justify-content:center}
.promo .kind{font-size:3vh;letter-spacing:.4em;font-weight:800;text-transform:uppercase;animation:up .7s .3s both}
.promo.food .kind{color:var(--pink);text-shadow:0 0 14px #ff3fd8}.promo.drink .kind{color:var(--cyan);text-shadow:0 0 14px #5ef3ff}
.promo h1{font-size:9vh;line-height:1.02;margin:2vh 0 4vh;font-weight:900;text-shadow:0 4px 30px #000c;animation:up .8s .5s both}
.promo .pz{display:inline-block;align-self:flex-start;font-size:15vh;font-weight:900;color:var(--orange);padding:.5vh 3vh;border:4px solid var(--orange);border-radius:3vh;box-shadow:0 0 30px #ff9a3c88,inset 0 0 30px #ff9a3c44;text-shadow:0 0 20px #ff9a3c,0 0 50px #ff9a3caa;animation:pop .7s .9s cubic-bezier(.3,1.6,.5,1) both,flick 4s 2s infinite}
.promo .iva{font-size:2.2vh;color:var(--muted);margin-top:1.5vh;animation:up .6s 1.2s both}
@keyframes up{from{opacity:0;transform:translateY(5vh)}to{opacity:1;transform:none}}
@keyframes pop{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}
@keyframes flick{0%,100%{opacity:1}3%{opacity:.4}6%{opacity:1}8%{opacity:.6}10%{opacity:1}}
.tafi{position:absolute;bottom:-1vh;height:58vh;height:58vh;width:auto;z-index:3;display:block;opacity:1;visibility:visible}
.tafi img{display:block;height:100%;width:auto;max-width:none;-webkit-filter:drop-shadow(0 0 18px rgba(94,243,255,.4));filter:drop-shadow(0 0 18px rgba(94,243,255,.4))}
.tafi.r{right:-2vw;-webkit-animation:peekR 1s .6s ease-out forwards;animation:peekR 1s .6s ease-out forwards}
.tafi.l{left:44%;-webkit-animation:peekL 1s .6s ease-out forwards;animation:peekL 1s .6s ease-out forwards}
@-webkit-keyframes peekR{0%{-webkit-transform:translateX(0)}40%{-webkit-transform:translateX(3vw)}100%{-webkit-transform:translateX(0)}}
@keyframes peekR{0%{transform:translateX(0)}40%{transform:translateX(3vw)}100%{transform:translateX(0)}}
@-webkit-keyframes peekL{0%{-webkit-transform:translateY(0)}40%{-webkit-transform:translateY(-3vh)}100%{-webkit-transform:translateY(0)}}
@keyframes peekL{0%{transform:translateY(0)}40%{transform:translateY(-3vh)}100%{transform:translateY(0)}}
.bub{position:absolute;z-index:4;bottom:52vh;right:12vw;max-width:24vw;background:#fff;color:#16124a;font-weight:800;font-size:3vh;padding:1.6vh 2vh;border-radius:3vh;box-shadow:0 0 30px #ff3fd888;animation:pop .6s 2.2s cubic-bezier(.3,1.6,.5,1) both}
.bub:after{content:"";position:absolute;bottom:-2vh;right:5vw;border:1.2vh solid transparent;border-top:2vh solid #fff}
.ai{position:fixed;right:1.2vw;bottom:5vh;z-index:6;font-size:1.6vh;color:#c5d0ea;background:#070914cc;padding:.3vh .8vh;border-radius:.6vh}
.promo .tx.withT{right:22vw}
/* adultos: bar de neón cálido, sin Tafi */
.promo.adult{background:radial-gradient(900px 600px at 75% 30%,#5a2a0855,transparent 70%),radial-gradient(700px 500px at 20% 90%,#7a1a4a44,transparent 70%)}
.promo.adult .kind{color:#ffc46b;text-shadow:0 0 14px #ffb347}
.promo.adult h1{color:#fff3df;text-shadow:0 0 18px #ffb34766,0 4px 30px #000c}
.promo.adult .pz{color:#ffd27a;border-color:#ffd27a;box-shadow:0 0 30px #ffb34788,inset 0 0 30px #ffb34744;text-shadow:0 0 20px #ffb347,0 0 50px #ff8c00aa}
.r18{margin-top:2vh;font-size:2.2vh;font-weight:700;color:#ffe2b0;border:1px solid #ffe2b088;border-radius:999px;padding:.4vh 1.4vh;align-self:flex-start;animation:up .6s 1.4s both}
.bubs{position:absolute;left:0;top:0;bottom:0;width:60%;pointer-events:none;overflow:hidden}
.bubs i{position:absolute;bottom:-3vh;width:1.4vh;height:1.4vh;border-radius:50%;border:2px solid #ffe7b8cc;background:#ffffff22;animation:bub 4s linear infinite;will-change:transform,opacity}
.bubs i:nth-child(1){left:8%}.bubs i:nth-child(2){left:18%;animation-delay:-1s;width:.9vh;height:.9vh}.bubs i:nth-child(3){left:27%;animation-delay:-2.2s}.bubs i:nth-child(4){left:36%;animation-delay:-.6s;width:1vh;height:1vh}.bubs i:nth-child(5){left:45%;animation-delay:-3s}.bubs i:nth-child(6){left:55%;animation-delay:-1.7s;width:.8vh;height:.8vh}.bubs i:nth-child(7){left:64%;animation-delay:-2.6s}.bubs i:nth-child(8){left:72%;animation-delay:-.3s}.bubs i:nth-child(9){left:82%;animation-delay:-3.4s;width:1vh;height:1vh}.bubs i:nth-child(10){left:90%;animation-delay:-1.3s}
@keyframes bub{0%{transform:translateY(0);opacity:0}15%{opacity:.9}100%{transform:translateY(-90vh) translateX(2vw);opacity:0}}
.clink{position:absolute;left:44%;top:14vh;width:16vh;height:16vh;pointer-events:none;background:radial-gradient(circle,#fff 0,#ffe7b8 12%,transparent 60%);opacity:0;animation:clink 1.4s 1.2s ease-out both;will-change:transform,opacity}
.clink:before,.clink:after{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;margin-left:-1.5px;background:linear-gradient(transparent,#fff,transparent)}
.clink:after{transform:rotate(90deg)}
@keyframes clink{0%{opacity:0;transform:scale(.2) rotate(0)}30%{opacity:1;transform:scale(1.1) rotate(45deg)}100%{opacity:0;transform:scale(.6) rotate(90deg)}}
.bub{bottom:auto;top:3vh;right:3vw;max-width:20vw}.bub:after{right:6vw}
.promo .tx.withT{right:24vw}.promo h1{font-size:8vh}.promo .kind{font-size:2.6vh;letter-spacing:.3em}
.tafi{height:54vh}
/* v1.3: zona segura fija para Tafi (nunca sobre nombre/precio) */
.tafi,.tafi.r,.tafi.l{position:absolute;top:auto;bottom:6vh;height:50vh;width:21vw;z-index:3}
.tafi.r{right:1.5vw;left:auto}
.tafi.l{left:1.5vw;right:auto}
.tafi img{position:absolute;bottom:0;width:auto;height:auto;max-width:100%;max-height:100%}
.tafi.r img{right:0}.tafi.l img{left:0}
.bub{position:absolute;top:12vh;bottom:auto;right:1.5vw;left:auto;width:auto;max-width:20vw;font-size:2.8vh;-webkit-box-sizing:border-box;box-sizing:border-box}
.bub:after{right:6vw}
.promo .tx.withT{right:25vw}
.promo .tx{overflow:hidden}
.promo h1{max-height:24.6vh;overflow:hidden}
.promo .tx.withT h1{font-size:3.6vw;line-height:1.1;max-height:3.3em;word-wrap:break-word;overflow-wrap:break-word}
.promo .pz{white-space:nowrap}
.promo .tx.withT .pz{font-size:4.4vw;padding:.5vh 1.6vh}
.promo h1.long{font-size:6vh;max-height:18.5vh}
.promo .tx.withT h1.long{font-size:2.8vw;line-height:1.1;max-height:3.3em}
.promo .pz{max-width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}
/* ===== FÚTBOL (v1.4) — colores de equipo, sin escudos ni logotipos ===== */
.promo.fut{background:radial-gradient(900px 500px at 30% 20%,#0d3a2a66,transparent 70%)}
.pitch{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.13;background:repeating-linear-gradient(90deg,#2bff88 0,#2bff88 6vw,#0a6b3a 6vw,#0a6b3a 12vw);-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%)}
.pitch:after{content:"";position:absolute;left:50%;top:50%;width:30vh;height:30vh;margin:-15vh 0 0 -15vh;border:3px solid #fff;border-radius:50%}
.fwrap{position:absolute;top:1vh;left:3vw;right:3vw;bottom:5vh;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column}
.fwrap.withT{right:24vw}
.fh{display:-webkit-flex;display:flex;-webkit-align-items:baseline;align-items:baseline;font-size:4.6vh;font-weight:900;letter-spacing:.12em;color:#7dffb0;text-shadow:0 0 14px #2bff88,0 0 34px #2bff8866;-webkit-animation:up .7s .2s both;animation:up .7s .2s both}
.fh small{margin-left:2vw;font-size:2.4vh;color:var(--muted);letter-spacing:.2em;text-shadow:none}
.fteams{-webkit-flex:1;flex:1;display:-webkit-flex;display:flex;margin:2vh -1vw 0;min-height:0}
.fteam{-webkit-flex:1;flex:1;margin:0 1vw;border-radius:2.4vh;padding:2.2vh 2vw;position:relative;overflow:hidden;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-animation:pop .7s .4s cubic-bezier(.3,1.4,.5,1) both;animation:pop .7s .4s cubic-bezier(.3,1.4,.5,1) both}
.fteam.madrid{-webkit-animation-delay:.6s;animation-delay:.6s}
.fteam.barca{background:linear-gradient(135deg,#a50044ee 0,#a50044cc 45%,#004d98cc 55%,#004d98ee 100%);border:3px solid #edbb00;box-shadow:0 0 30px #a5004488,inset 0 0 40px #0006}
.fteam.madrid{background:linear-gradient(135deg,#ffffffee,#e8e8f0dd);color:#1b1446;border:3px solid #febe10;box-shadow:0 0 30px #febe1088,inset 0 0 40px #3d195b33}
.fteam.today{-webkit-animation:pop .7s .4s both,glow 1.6s 1.2s infinite alternate;animation:pop .7s .4s both,glow 1.6s 1.2s infinite alternate}
@-webkit-keyframes glow{to{box-shadow:0 0 60px #fff,0 0 90px #2bff88}}@keyframes glow{to{box-shadow:0 0 60px #fff,0 0 90px #2bff88}}
.fn{font-size:5.4vh;font-weight:900;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.barca .fn{text-shadow:0 0 16px #edbb00aa}.madrid .fn{color:#3d195b}
.fst{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;margin-top:1.8vh}
.rk{text-align:center;margin-right:2vw}.rk b{display:block;font-size:13vh;line-height:.95;font-weight:900;color:#edbb00;text-shadow:0 0 24px #edbb00}
.madrid .rk b{color:#febe10;text-shadow:0 0 6px #3d195b,0 0 24px #febe10}
.rk i,.sx i,.u i{display:block;font-style:normal;font-size:1.9vh;letter-spacing:.15em;text-transform:uppercase;opacity:.85}
.sx{display:-webkit-flex;display:flex;-webkit-flex:1;flex:1}.sx span{-webkit-flex:1;flex:1;text-align:center}.sx b{display:block;font-size:5.6vh;font-weight:900}
.fnx{margin-top:auto;padding-top:1.6vh;border-top:2px solid rgba(255,255,255,.35)}.madrid .fnx{border-top-color:#3d195b44}
.fc{font-size:2.3vh;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#7dffb0}.madrid .fc{color:#1a8a4a}
.fc em{font-style:normal;color:#ff9a3c}
.fv{font-size:3.6vh;font-weight:800;margin-top:.6vh;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fd{font-size:2.2vh;opacity:.9;margin-top:.4vh}
.cd{margin-top:1vh;white-space:nowrap}.u{display:inline-block;text-align:center;margin-right:.8vw;padding:.5vh .8vw;border-radius:1.2vh;background:rgba(0,0,0,.35);min-width:6vw}
.madrid .u{background:#3d195b;color:#fff}.u b{display:block;font-size:5vh;font-weight:900;color:#5ef3ff;text-shadow:0 0 12px #5ef3ff}.madrid .u b{color:#febe10;text-shadow:0 0 10px #febe10}
.u i{font-size:1.5vh}.live{font-size:5vh;font-weight:900;color:#ff3fd8;text-shadow:0 0 18px #ff3fd8;-webkit-animation:flick 1.5s infinite;animation:flick 1.5s infinite}
.ven{margin-top:1.8vh;text-align:center;font-size:5vh;font-weight:900;color:#fff;padding:1vh 2vw;border-radius:2vh;background:linear-gradient(90deg,#ff3fd8,#ff9a3c);box-shadow:0 0 34px #ff3fd888;-webkit-animation:pop .6s 1s both,flick 4s 2s infinite;animation:pop .6s 1s both,flick 4s 2s infinite}
.ven.soft{font-size:3.2vh;background:none;border:2px solid #5ef3ff88;box-shadow:none;color:var(--cyan);text-shadow:0 0 12px #5ef3ff;-webkit-animation:up .6s 1s both;animation:up .6s 1s both}
.offer{margin-top:1.2vh;text-align:center;font-size:3.2vh;font-weight:800;color:var(--orange);text-shadow:0 0 14px #ff9a3c;-webkit-animation:up .6s 1.3s both;animation:up .6s 1.3s both;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.clas{-webkit-flex:1;flex:1;text-align:center;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-justify-content:center;justify-content:center;min-height:0}
.ck{font-size:3.4vh;letter-spacing:.4em;font-weight:800;color:#ff9a3c;text-shadow:0 0 12px #ff9a3c}
.ct{font-size:15vh;line-height:1;font-weight:900;color:#fff;text-shadow:0 0 20px #ff3fd8,0 0 50px #5ef3ff;-webkit-animation:pop .8s .4s cubic-bezier(.3,1.6,.5,1) both,flick 5s 2s infinite;animation:pop .8s .4s cubic-bezier(.3,1.6,.5,1) both,flick 5s 2s infinite}
.cvs{margin:2vh 0;font-size:6vh;font-weight:900}.cvs span{display:inline-block;padding:.6vh 2vw;border-radius:2vh}.cvs i{font-style:normal;margin:0 2vw;color:#ff3fd8;text-shadow:0 0 14px #ff3fd8}
.cvs .barca{background:linear-gradient(90deg,#a50044,#004d98);border:3px solid #edbb00}.cvs .madrid{background:#fff;color:#3d195b;border:3px solid #febe10}
.cmini span{display:inline-block;margin:0 1.5vw;font-size:2.6vh;color:var(--muted)}.cmini b{color:#fff}
.clas .fc{margin-top:1.6vh;font-size:2.6vh}.cd.big{margin-top:1.6vh}.cd.big .u{min-width:8vw}.cd.big .u b{font-size:7vh}
.sp input{background:#ffffff10;color:var(--ink);border:1px solid #93a0c466;border-radius:10px;padding:8px 14px;font-size:17px;width:420px}
.sp input:focus{outline:3px solid var(--orange)}
.sx b{white-space:nowrap}.sx span:last-child b{font-size:4vh;line-height:1.4}
/* ===== MOTOR (v1.5) — sin logotipos oficiales ===== */
.promo.rc{background:radial-gradient(900px 500px at 30% 20%,#3a0d1a66,transparent 70%)}
.chk{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.08;background-color:#000;background-image:linear-gradient(45deg,#fff 25%,transparent 25%,transparent 75%,#fff 75%),linear-gradient(45deg,#fff 25%,transparent 25%,transparent 75%,#fff 75%);background-size:8vh 8vh;background-position:0 0,4vh 4vh}
.rc .fh{color:#ffd23c;text-shadow:0 0 14px #ff9a3c,0 0 34px #ff3fd866}
.rgrid{-webkit-flex:1;flex:1;display:-webkit-flex;display:flex;margin:2vh 0 0;min-height:0}.rgrid>div:first-child{margin-left:0}.rgrid>div:last-child{margin-right:0}.rstand{-webkit-flex:1.35;flex:1.35}
.rnext,.rstand{-webkit-flex:1;flex:1;margin:0 1vw;border-radius:2.4vh;padding:2.2vh 2vw;position:relative;overflow:hidden;background:#ffffff10;border:3px solid #ff9a3c99;box-shadow:0 0 30px #ff3fd844,inset 0 0 40px #0006;-webkit-animation:pop .7s .4s cubic-bezier(.3,1.4,.5,1) both;animation:pop .7s .4s cubic-bezier(.3,1.4,.5,1) both}
.rstand{-webkit-animation-delay:.6s;animation-delay:.6s}
.rnext.sp{background:linear-gradient(135deg,#aa151bcc 0,#aa151bcc 30%,#f1bf00cc 30%,#f1bf00cc 70%,#aa151bcc 70%);border-color:#fff}
.rnext.sp .fc,.rnext.sp .rci,.rnext.sp .fd{color:#2a0a0a}.rnext.sp .rgp{color:#fff;text-shadow:0 0 6px #000,0 0 18px #aa151b}
.rnext.today{-webkit-animation:pop .7s .4s both,glow 1.6s 1.2s infinite alternate;animation:pop .7s .4s both,glow 1.6s 1.2s infinite alternate}
.rflag{display:inline-block;font-size:2.6vh;font-weight:900;letter-spacing:.1em;background:#fff;color:#aa151b;padding:.4vh 1.2vw;border-radius:1vh;margin-bottom:1vh}
.rgp{font-size:5vh;font-weight:900;line-height:1.05;margin-top:.6vh;max-height:2.2em;overflow:hidden}
.rci{font-size:2.6vh;font-weight:700;opacity:.9;margin-top:.6vh;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rp{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;margin-top:1.8vh;padding:1.2vh 1vw;border-radius:1.6vh;background:rgba(0,0,0,.35)}
.rp b{font-size:4.6vh;font-weight:900;width:4vw;-webkit-flex-shrink:0;flex-shrink:0;color:#ffd23c;text-shadow:0 0 12px #ff9a3c}.rp.p2 b{color:#dfe6f0}.rp.p3 b{color:#e0a060}
.rp span{-webkit-flex:1;flex:1;font-size:3.2vh;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.rp em{font-style:normal;font-size:3.4vh;font-weight:900;color:#5ef3ff;white-space:nowrap;margin-left:1vw}
.rp.es{background:linear-gradient(90deg,#aa151b99,#f1bf0066);border:2px solid #f1bf00}.rp>i{font-style:normal;font-size:1.8vh;font-weight:900;background:#f1bf00;color:#aa151b;padding:.2vh .5vw;border-radius:.6vh;margin-left:.6vw}
.rct{font-size:12vh}.rc .clas .fv{font-size:5vh;margin-top:1vh}
.rc .u{min-width:5.5vw}.rc .rnext .u b{font-size:4.4vh}

.cdl{margin-top:1vh}.fteams{margin:2vh 0 0}.fteams>.fteam:first-child{margin-left:0}.fteams>.fteam:last-child{margin-right:0}
.rp span{font-size:3vh}.rp{padding:1.2vh .8vw}.rp em{font-size:3.1vh}

/* ===== FX v1.6 — ambiente por deporte (solo transform/opacity animados) ===== */
.fx{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;pointer-events:none;z-index:0}
.fut .fwrap{z-index:2}.fut .pitch{display:none}
.fbs.promo.fut{background:#03060d}
.grass{position:absolute;left:-10%;right:-10%;bottom:0;height:55%;background:repeating-linear-gradient(90deg,#0c5a2c 0,#0c5a2c 7vw,#0a4a25 7vw,#0a4a25 14vw);-webkit-transform:perspective(60vh) rotateX(55deg);transform:perspective(60vh) rotateX(55deg);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;opacity:.55}
.lines i{position:absolute;border:.4vh solid rgba(255,255,255,.22)}
.lines .c{left:50%;bottom:6vh;width:40vh;height:14vh;margin-left:-20vh;border-radius:50%}
.lines .h{left:0;right:0;bottom:13vh;border-width:.4vh 0 0}
.lines .a1{left:-2vw;bottom:0;width:22vw;height:10vh}.lines .a2{right:-2vw;bottom:0;width:22vw;height:10vh}
.crowd{position:absolute;left:0;right:0;top:0;height:50%;background:radial-gradient(circle at 10% 70%,#ffffff22 0,transparent 1.2vh),linear-gradient(180deg,#070b18 0,#121a33 55%,#0d2a1e 100%);background-size:3vh 3vh,100% 100%;opacity:.9}
.beam{position:absolute;top:-10vh;width:16vw;height:130vh;background:linear-gradient(180deg,rgba(255,255,240,.32),rgba(255,255,240,0) 75%);-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-animation:sway 6s ease-in-out infinite alternate;animation:sway 6s ease-in-out infinite alternate}
.b1{left:2vw;-webkit-transform:rotate(-28deg);transform:rotate(-28deg)}.b2{left:26vw;-webkit-animation-delay:-2s;animation-delay:-2s}.b3{right:30vw;-webkit-animation-delay:-4s;animation-delay:-4s}.b4{right:4vw;-webkit-animation-delay:-1s;animation-delay:-1s}
@-webkit-keyframes sway{from{-webkit-transform:rotate(-22deg);opacity:.55}to{-webkit-transform:rotate(18deg);opacity:1}}@keyframes sway{from{transform:rotate(-22deg);opacity:.55}to{transform:rotate(18deg);opacity:1}}
.flood{position:absolute;top:1vh;width:12vh;height:4vh;border-radius:1vh;background:#fffef0;box-shadow:0 0 4vh 2vh rgba(255,255,230,.55);-webkit-animation:fl 3s infinite;animation:fl 3s infinite}.flood.l{left:6vw}.flood.r{right:8vw;-webkit-animation-delay:-1.4s;animation-delay:-1.4s}
@-webkit-keyframes fl{0%,100%{opacity:1}50%{opacity:.7}}@keyframes fl{0%,100%{opacity:1}50%{opacity:.7}}
.conf i{position:absolute;top:-4vh;width:1.2vh;height:2.2vh;border-radius:.3vh;-webkit-animation:fall 3.6s linear infinite;animation:fall 3.6s linear infinite}
.conf .k0{left:5%;background:#ff3fd8;-webkit-animation-delay:-0.0s;animation-delay:-0.0s;-webkit-animation-duration:3.0s;animation-duration:3.0s}
.conf .k1{left:42%;background:#5ef3ff;-webkit-animation-delay:-0.2s;animation-delay:-0.2s;-webkit-animation-duration:3.6s;animation-duration:3.6s}
.conf .k2{left:79%;background:#ffd23c;-webkit-animation-delay:-0.5s;animation-delay:-0.5s;-webkit-animation-duration:4.2s;animation-duration:4.2s}
.conf .k3{left:20%;background:#2bff88;-webkit-animation-delay:-0.7s;animation-delay:-0.7s;-webkit-animation-duration:4.8s;animation-duration:4.8s}
.conf .k4{left:57%;background:#ff9a3c;-webkit-animation-delay:-0.9s;animation-delay:-0.9s;-webkit-animation-duration:3.0s;animation-duration:3.0s}
.conf .k5{left:94%;background:#fff;-webkit-animation-delay:-1.2s;animation-delay:-1.2s;-webkit-animation-duration:3.6s;animation-duration:3.6s}
.conf .k6{left:35%;background:#ff3fd8;-webkit-animation-delay:-1.4s;animation-delay:-1.4s;-webkit-animation-duration:4.2s;animation-duration:4.2s}
.conf .k7{left:72%;background:#5ef3ff;-webkit-animation-delay:-1.6s;animation-delay:-1.6s;-webkit-animation-duration:4.8s;animation-duration:4.8s}
.conf .k8{left:13%;background:#ffd23c;-webkit-animation-delay:-1.8s;animation-delay:-1.8s;-webkit-animation-duration:3.0s;animation-duration:3.0s}
.conf .k9{left:50%;background:#2bff88;-webkit-animation-delay:-2.1s;animation-delay:-2.1s;-webkit-animation-duration:3.6s;animation-duration:3.6s}
.conf .k10{left:87%;background:#ff9a3c;-webkit-animation-delay:-2.3s;animation-delay:-2.3s;-webkit-animation-duration:4.2s;animation-duration:4.2s}
.conf .k11{left:28%;background:#fff;-webkit-animation-delay:-2.5s;animation-delay:-2.5s;-webkit-animation-duration:4.8s;animation-duration:4.8s}
.conf .k12{left:65%;background:#ff3fd8;-webkit-animation-delay:-2.8s;animation-delay:-2.8s;-webkit-animation-duration:3.0s;animation-duration:3.0s}
.conf .k13{left:6%;background:#5ef3ff;-webkit-animation-delay:-3.0s;animation-delay:-3.0s;-webkit-animation-duration:3.6s;animation-duration:3.6s}
.conf .k14{left:43%;background:#ffd23c;-webkit-animation-delay:-3.2s;animation-delay:-3.2s;-webkit-animation-duration:4.2s;animation-duration:4.2s}
.conf .k15{left:80%;background:#2bff88;-webkit-animation-delay:-3.5s;animation-delay:-3.5s;-webkit-animation-duration:4.8s;animation-duration:4.8s}

@-webkit-keyframes fall{from{-webkit-transform:translateY(0) rotate(0)}to{-webkit-transform:translateY(112vh) rotate(720deg)}}@keyframes fall{from{transform:translateY(0) rotate(0)}to{transform:translateY(112vh) rotate(720deg)}}
.flash{position:absolute;top:0;left:0;right:0;bottom:0;background:#fff;opacity:0}
.hot .flash{-webkit-animation:flash 4s 1s infinite;animation:flash 4s 1s infinite}
@-webkit-keyframes flash{0%,100%{opacity:0}2%{opacity:.35}5%{opacity:0}8%{opacity:.2}11%{opacity:0}}@keyframes flash{0%,100%{opacity:0}2%{opacity:.35}5%{opacity:0}8%{opacity:.2}11%{opacity:0}}
/* entrada dramática */
.fut.in .fwrap{-webkit-animation:slam .9s cubic-bezier(.2,1.4,.4,1) both;animation:slam .9s cubic-bezier(.2,1.4,.4,1) both}
@-webkit-keyframes slam{0%{opacity:0;-webkit-transform:scale(1.6)}60%{opacity:1}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes slam{0%{opacity:0;transform:scale(1.6)}60%{opacity:1}100%{opacity:1;transform:scale(1)}}
.fut .fh span{display:inline-block;-webkit-animation:hdr 2.4s ease-in-out infinite;animation:hdr 2.4s ease-in-out infinite}
@-webkit-keyframes hdr{0%,100%{-webkit-transform:scale(1)}50%{-webkit-transform:scale(1.05)}}@keyframes hdr{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
/* cuenta atrás que late */
.fut .u{position:relative;border:2px solid #5ef3ff66;box-shadow:0 0 18px #5ef3ff55}
.fut .u b{-webkit-animation:beat 1s ease-out;animation:beat 1s ease-out}
.fut .u:last-child b{color:#ff3fd8;text-shadow:0 0 14px #ff3fd8}
@-webkit-keyframes beat{0%{-webkit-transform:scale(1.25);opacity:.6}40%{-webkit-transform:scale(1);opacity:1}}@keyframes beat{0%{transform:scale(1.25);opacity:.6}40%{transform:scale(1);opacity:1}}
.hot .cd .u{-webkit-animation:uglow 1s infinite alternate;animation:uglow 1s infinite alternate}
@-webkit-keyframes uglow{to{opacity:.8}}@keyframes uglow{to{opacity:.8}}
/* VS */
.cvs .vs{display:inline-block;font-size:10vh;font-weight:900;color:#fff;text-shadow:0 0 12px #ff3fd8,0 0 30px #ff3fd8,0 0 60px #5ef3ff;-webkit-animation:vs 1.2s ease-in-out infinite;animation:vs 1.2s ease-in-out infinite;vertical-align:middle}
@-webkit-keyframes vs{0%,100%{-webkit-transform:scale(1) rotate(-6deg)}50%{-webkit-transform:scale(1.25) rotate(4deg)}}@keyframes vs{0%,100%{transform:scale(1) rotate(-6deg)}50%{transform:scale(1.25) rotate(4deg)}}
.isclas .cvs span{-webkit-animation:pop .7s .6s cubic-bezier(.3,1.6,.5,1) both;animation:pop .7s .6s cubic-bezier(.3,1.6,.5,1) both}
/* ¡HOY! */
.hoy{position:absolute;z-index:5;top:2vh;right:2vw;width:20vw;text-align:center;font-size:7vh;font-weight:900;color:#fff;background:linear-gradient(90deg,#ff3fd8,#ff9a3c);border-radius:2vh;padding:.6vh 0;box-shadow:0 0 30px #ff3fd8;-webkit-animation:hoy .8s steps(2) infinite;animation:hoy .8s steps(2) infinite}
.islive .hoy{font-size:4.6vh;padding:1.6vh 0}
.promo.fut:not(.withT) .hoy{top:auto;bottom:6vh;width:16vw;font-size:5vh}
@-webkit-keyframes hoy{0%{opacity:1;-webkit-transform:scale(1.06)}100%{opacity:.55;-webkit-transform:scale(1)}}@keyframes hoy{0%{opacity:1;transform:scale(1.06)}100%{opacity:.55;transform:scale(1)}}
.promo.withT .bub{top:13vh}
/* ticker */
.tkr{position:absolute;z-index:2;left:0;right:0;bottom:.4vh;height:4vh;overflow:hidden;background:#000c;border-top:2px solid #ff3fd8;border-bottom:2px solid #5ef3ff;white-space:nowrap}
.promo.withT .tkr{right:23vw}
.tki{display:inline-block;white-space:nowrap;-webkit-animation:tk 18s linear infinite;animation:tk 18s linear infinite}
.tki span{display:inline-block;font-size:2.6vh;line-height:4vh;font-weight:900;letter-spacing:.12em;color:#ffd23c;text-transform:uppercase;padding-left:2vw}
@-webkit-keyframes tk{from{-webkit-transform:translateX(0)}to{-webkit-transform:translateX(-50%)}}@keyframes tk{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.fut .fwrap{bottom:5.4vh}
/* ===== MOTOR comunes ===== */
.promo.rc{background:#05050a}.rc .chk{opacity:.05}
.asph{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 30% 40%,#2a2a33 0,#111116 60%,#060608 100%)}
.speed i{position:absolute;left:0;height:.5vh;width:40vw;border-radius:.5vh;background:linear-gradient(90deg,transparent,#ff3fd8,#fff);opacity:.0;-webkit-animation:zoom 1.4s linear infinite;animation:zoom 1.4s linear infinite}
.speed .s0{top:6%;-webkit-animation-delay:-0.00s;animation-delay:-0.00s;background:linear-gradient(90deg,transparent,#ff3fd8,#fff)}
.speed .s1{top:16%;-webkit-animation-delay:-0.31s;animation-delay:-0.31s;background:linear-gradient(90deg,transparent,#5ef3ff,#fff)}
.speed .s2{top:26%;-webkit-animation-delay:-0.62s;animation-delay:-0.62s;background:linear-gradient(90deg,transparent,#ffd23c,#fff)}
.speed .s3{top:36%;-webkit-animation-delay:-0.93s;animation-delay:-0.93s;background:linear-gradient(90deg,transparent,#ff3fd8,#fff)}
.speed .s4{top:46%;-webkit-animation-delay:-1.24s;animation-delay:-1.24s;background:linear-gradient(90deg,transparent,#5ef3ff,#fff)}
.speed .s5{top:56%;-webkit-animation-delay:-1.55s;animation-delay:-1.55s;background:linear-gradient(90deg,transparent,#ffd23c,#fff)}
.speed .s6{top:66%;-webkit-animation-delay:-1.86s;animation-delay:-1.86s;background:linear-gradient(90deg,transparent,#ff3fd8,#fff)}
.speed .s7{top:76%;-webkit-animation-delay:-2.17s;animation-delay:-2.17s;background:linear-gradient(90deg,transparent,#5ef3ff,#fff)}
.speed .s8{top:86%;-webkit-animation-delay:-2.48s;animation-delay:-2.48s;background:linear-gradient(90deg,transparent,#ffd23c,#fff)}

@-webkit-keyframes zoom{0%{-webkit-transform:translateX(110vw);opacity:0}10%{opacity:.7}100%{-webkit-transform:translateX(-50vw);opacity:.7}}@keyframes zoom{0%{transform:translateX(110vw);opacity:0}10%{opacity:.7}100%{transform:translateX(-50vw);opacity:.7}}
.hot .speed i{-webkit-animation-duration:.8s;animation-duration:.8s}
.rc .rnext,.rc .rstand{background:rgba(10,10,18,.82)}
.rc .rnext.sp{background:linear-gradient(135deg,#aa151bee 0,#aa151bee 30%,#f1bf00ee 30%,#f1bf00ee 70%,#aa151bee 70%)}
.rc .rp{-webkit-animation:slideL .6s both;animation:slideL .6s both}.rc .rp.p1{-webkit-animation-delay:1s;animation-delay:1s}.rc .rp.p2{-webkit-animation-delay:1.2s;animation-delay:1.2s}.rc .rp.p3{-webkit-animation-delay:1.4s;animation-delay:1.4s}
@-webkit-keyframes slideL{from{opacity:0;-webkit-transform:translateX(30vw) skewX(-20deg)}to{opacity:1;-webkit-transform:none}}@keyframes slideL{from{opacity:0;transform:translateX(30vw) skewX(-20deg)}to{opacity:1;transform:none}}
/* ===== MotoGP ===== */
.kerb{position:absolute;left:-5vw;right:-5vw;height:2.2vh;background:repeating-linear-gradient(90deg,#e10600 0,#e10600 4vh,#fff 4vh,#fff 8vh);-webkit-animation:kerb .5s linear infinite;animation:kerb .5s linear infinite}
.kerb.t{top:0}.kerb.b{display:none}
@-webkit-keyframes kerb{from{-webkit-transform:translateX(0)}to{-webkit-transform:translateX(-8vh)}}@keyframes kerb{from{transform:translateX(0)}to{transform:translateX(-8vh)}}
.motogp .fwrap{top:3vh}
.motogp .fh span{-webkit-animation:lean 2.6s ease-in-out infinite;animation:lean 2.6s ease-in-out infinite;-webkit-transform-origin:0 100%;transform-origin:0 100%}
@-webkit-keyframes lean{0%,100%{-webkit-transform:rotate(0) skewX(-10deg)}50%{-webkit-transform:rotate(-3deg) skewX(-18deg)}}@keyframes lean{0%,100%{transform:rotate(0) skewX(-10deg)}50%{transform:rotate(-3deg) skewX(-18deg)}}
.motogp.in .rnext{-webkit-animation:leanIn .9s .3s cubic-bezier(.2,1.3,.4,1) both;animation:leanIn .9s .3s cubic-bezier(.2,1.3,.4,1) both}
@-webkit-keyframes leanIn{from{opacity:0;-webkit-transform:translateX(-40vw) rotate(-14deg)}to{opacity:1;-webkit-transform:none}}@keyframes leanIn{from{opacity:0;transform:translateX(-40vw) rotate(-14deg)}to{opacity:1;transform:none}}
.rev{position:absolute;left:0;right:0;bottom:0;height:40%;background:linear-gradient(0deg,#ff3a0066,transparent);opacity:0;-webkit-animation:rev 1.8s infinite;animation:rev 1.8s infinite}
@-webkit-keyframes rev{0%,100%{opacity:0}10%{opacity:1}20%{opacity:.2}30%{opacity:.9}50%{opacity:0}}@keyframes rev{0%,100%{opacity:0}10%{opacity:1}20%{opacity:.2}30%{opacity:.9}50%{opacity:0}}
.chev{position:absolute;right:26vw;top:40%;opacity:.25}
.chev i{position:absolute;width:6vh;height:6vh;border:1.4vh solid #ffd23c;border-width:1.4vh 1.4vh 0 0;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-animation:chev 1s infinite;animation:chev 1s infinite}
.chev .v1{left:4vh;-webkit-animation-delay:.15s;animation-delay:.15s}.chev .v2{left:8vh;-webkit-animation-delay:.3s;animation-delay:.3s}.chev .v3{left:12vh;-webkit-animation-delay:.45s;animation-delay:.45s}
@-webkit-keyframes chev{0%,100%{opacity:.2}50%{opacity:1}}@keyframes chev{0%,100%{opacity:.2}50%{opacity:1}}
.motogp .u{border-color:#e1060099;box-shadow:0 0 18px #e1060066}
/* ===== F1 ===== */
.carbon{position:absolute;top:0;left:0;right:0;bottom:0;opacity:.5;background-color:#101014;background-image:linear-gradient(45deg,#1d1d24 25%,transparent 25%,transparent 75%,#1d1d24 75%),linear-gradient(45deg,#1d1d24 25%,transparent 25%,transparent 75%,#1d1d24 75%);background-size:1.2vh 1.2vh;background-position:0 0,.6vh .6vh}
.stripe{position:absolute;left:-20vw;right:-20vw;height:3vh;-webkit-transform:rotate(-8deg);transform:rotate(-8deg);opacity:.35}
.stripe.s1{top:58%;background:#e10600;box-shadow:0 0 3vh #e10600}.stripe.s2{top:64%;height:1.2vh;background:#5ef3ff;box-shadow:0 0 3vh #5ef3ff}
.f1x .speed i{height:.7vh;box-shadow:0 0 1.4vh #ff3fd8}
.flagw{position:absolute;top:2vh;right:4vw;width:18vh;height:12vh;opacity:.85}.hot .flagw,.promo.f1:not(.withT) .flagw{display:none}
.flagw i{float:left;width:3vh;height:12vh;background-image:linear-gradient(#fff 50%,#000 50%);background-size:3vh 6vh;-webkit-animation:wave 1s ease-in-out infinite alternate;animation:wave 1s ease-in-out infinite alternate}
.flagw i:nth-child(even){background-position:0 3vh}
.flagw .w1{-webkit-animation-delay:-.15s;animation-delay:-.15s}.flagw .w2{-webkit-animation-delay:-.3s;animation-delay:-.3s}.flagw .w3{-webkit-animation-delay:-.45s;animation-delay:-.45s}.flagw .w4{-webkit-animation-delay:-.6s;animation-delay:-.6s}.flagw .w5{-webkit-animation-delay:-.75s;animation-delay:-.75s}
@-webkit-keyframes wave{from{-webkit-transform:translateY(-1vh) skewY(-8deg)}to{-webkit-transform:translateY(1vh) skewY(8deg)}}@keyframes wave{from{transform:translateY(-1vh) skewY(-8deg)}to{transform:translateY(1vh) skewY(8deg)}}
.lights{position:absolute;z-index:9;top:0;left:0;right:0;bottom:0;background:#000;text-align:center;padding-top:30vh;-webkit-animation:lout .5s 3.3s both;animation:lout .5s 3.3s both}
.lrow{display:inline-block;padding:2vh 2vw;background:#111;border-radius:2vh;border:3px solid #333}
.lrow b{display:inline-block;margin:0 1.2vw;padding:1.4vh .8vw;background:#000;border-radius:1.4vh}
.lrow b i{display:block;width:9vh;height:9vh;border-radius:50%;background:#300;margin:1vh 0}
.lrow b i{-webkit-animation:lon 2.9s both;animation:lon 2.9s both}
.lrow .L1 i{-webkit-animation-delay:.5s;animation-delay:.5s}.lrow .L2 i{-webkit-animation-delay:1s;animation-delay:1s}.lrow .L3 i{-webkit-animation-delay:1.5s;animation-delay:1.5s}.lrow .L4 i{-webkit-animation-delay:2s;animation-delay:2s}
.lrow .L0 i{-webkit-animation-duration:2.9s;animation-duration:2.9s}.lrow .L1 i{-webkit-animation-duration:2.4s;animation-duration:2.4s}.lrow .L2 i{-webkit-animation-duration:1.9s;animation-duration:1.9s}.lrow .L3 i{-webkit-animation-duration:1.4s;animation-duration:1.4s}.lrow .L4 i{-webkit-animation-duration:.9s;animation-duration:.9s}
@-webkit-keyframes lon{0%{background:#300;box-shadow:none}1%,99%{background:#ff1a1a;box-shadow:0 0 4vh #ff1a1a}100%{background:#300;box-shadow:none}}@keyframes lon{0%{background:#300;box-shadow:none}1%,99%{background:#ff1a1a;box-shadow:0 0 4vh #ff1a1a}100%{background:#300;box-shadow:none}}
.lgo{margin-top:5vh;font-size:9vh;font-weight:900;color:#fff;text-shadow:0 0 20px #5ef3ff,0 0 50px #ff3fd8;opacity:0;-webkit-animation:pop .4s 2.95s both;animation:pop .4s 2.95s both}
@-webkit-keyframes lout{from{opacity:1}to{opacity:0;visibility:hidden}}@keyframes lout{from{opacity:1}to{opacity:0;visibility:hidden}}
.f1.in .fwrap{-webkit-animation:slam .8s 3.2s cubic-bezier(.2,1.4,.4,1) both;animation:slam .8s 3.2s cubic-bezier(.2,1.4,.4,1) both}
.f1 .tafi.r,.f1 .bub,.f1 .hoy,.f1 .tkr{-webkit-animation-delay:3.4s;animation-delay:3.4s}
.f1 .fh{color:#fff;text-shadow:0 0 10px #e10600,0 0 30px #e10600}
.f1 .u{border-color:#e10600aa;box-shadow:0 0 18px #e1060088}
.f1 .rp{-webkit-animation-delay:4s;animation-delay:4s}.f1 .rp.p2{-webkit-animation-delay:4.2s;animation-delay:4.2s}.f1 .rp.p3{-webkit-animation-delay:4.4s;animation-delay:4.4s}
.f1x{z-index:auto}.flood{top:-3.4vh}
/* ===== v1.7: Tafi deportiva + elementos ===== */
.tafi.tsp img{-webkit-filter:drop-shadow(0 0 16px rgba(255,210,60,.45));filter:drop-shadow(0 0 16px rgba(255,210,60,.45))}
.tafi.tfb{-webkit-animation:tbob 2.4s ease-in-out infinite;animation:tbob 2.4s ease-in-out infinite}
@-webkit-keyframes tbob{0%,100%{-webkit-transform:translateY(0)}50%{-webkit-transform:translateY(-1.2vh)}}
@keyframes tbob{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.2vh)}}
.promo.wideT .tafi.twide{width:30vw;height:36vh;bottom:6vh;right:1vw;-webkit-animation:tride 1.6s ease-in-out infinite;animation:tride 1.6s ease-in-out infinite}
@-webkit-keyframes tride{0%,100%{-webkit-transform:translateX(0) rotate(0)}50%{-webkit-transform:translateX(-.8vw) rotate(-1.5deg)}}
@keyframes tride{0%,100%{transform:translateX(0) rotate(0)}50%{transform:translateX(-.8vw) rotate(-1.5deg)}}
.promo.wideT .fwrap.withT{right:33vw}
.promo.wideT .tkr{right:32vw}
.promo.wideT .bub{right:2vw;max-width:26vw;top:13vh}
.sfx{position:absolute;right:0;bottom:4.5vh;width:32vw;height:58vh;z-index:1;pointer-events:none;overflow:hidden}
.sfx-fb .net{position:absolute;right:1vw;bottom:0;width:24vw;height:30vh;border:.5vh solid rgba(255,255,255,.55);border-bottom:none;border-radius:.6vh .6vh 0 0;opacity:.35;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.35) 0,rgba(255,255,255,.35) 2px,transparent 2px,transparent 2.2vh),repeating-linear-gradient(-45deg,rgba(255,255,255,.35) 0,rgba(255,255,255,.35) 2px,transparent 2px,transparent 2.2vh)}
.sfx-fb .ball{position:absolute;left:1vw;bottom:2vh;font-size:6vh;line-height:1;-webkit-animation:bnc 1.3s cubic-bezier(.5,0,.5,1) infinite;animation:bnc 1.3s cubic-bezier(.5,0,.5,1) infinite}
@-webkit-keyframes bnc{0%,100%{-webkit-transform:translateY(0) rotate(0)}50%{-webkit-transform:translateY(-22vh) rotate(180deg)}}
@keyframes bnc{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-22vh) rotate(180deg)}}
.sfx .kerb{position:absolute;left:0;right:0;bottom:0;height:3vh;opacity:.8;background-image:repeating-linear-gradient(90deg,#e10600 0,#e10600 3vw,#fff 3vw,#fff 6vw);-webkit-animation:kerb .5s linear infinite;animation:kerb .5s linear infinite}
@-webkit-keyframes kerb{from{background-position:0 0}to{background-position:6vw 0}}
@keyframes kerb{from{background-position:0 0}to{background-position:6vw 0}}
.sfx .smk{position:absolute;right:20vw;bottom:3vh;width:9vh;height:9vh;border-radius:50%;background:radial-gradient(circle,rgba(220,220,230,.55) 0,rgba(220,220,230,0) 70%);-webkit-animation:smk 1.8s ease-out infinite;animation:smk 1.8s ease-out infinite}
.sfx .s2{-webkit-animation-delay:-.6s;animation-delay:-.6s}.sfx .s3{-webkit-animation-delay:-1.2s;animation-delay:-1.2s}
.sfx-f1 .smk{right:22vw}
@-webkit-keyframes smk{0%{opacity:.9;-webkit-transform:translate(0,0) scale(.5)}100%{opacity:0;-webkit-transform:translate(8vw,-6vh) scale(2.2)}}
@keyframes smk{0%{opacity:.9;transform:translate(0,0) scale(.5)}100%{opacity:0;transform:translate(8vw,-6vh) scale(2.2)}}
.sfx .tyre{position:absolute;left:.5vw;top:6vh;width:8vh;height:8vh;border-radius:50%;background:radial-gradient(circle,#777 0,#777 22%,#222 24%,#111 58%,#e10600 60%,#e10600 64%,#111 66%);box-shadow:0 0 14px rgba(0,0,0,.7);-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}
.sfx-motogp .tyre{display:none}
@-webkit-keyframes spin{to{-webkit-transform:rotate(360deg)}}
@keyframes spin{to{transform:rotate(360deg)}}
.sfx-fb .ball{left:10vw}
.sfx .tyre{display:none}
.promo.wideT .fwrap.withT{right:31vw}
.promo.wideT .tafi.twide{width:29vw}
.promo.wideT .rp span{font-size:2.3vh;letter-spacing:-.01em}
.promo.wideT .rp em{font-size:2.5vh}
