:root{--ink:#111827;--muted:#667085;--paper:#f8fafc;--line:#dbe4ee;--green:#0f766e;--green-dark:#115e59;--yellow:#f7c948;--orange:#f59e0b;--blue:#2563eb;--radius:22px;--shadow:0 16px 45px rgba(15,23,42,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button,input{font:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.site-header{height:76px;background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100% - 1120px)/2));position:sticky;top:0;z-index:20;backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:10px;min-width:190px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;background:var(--ink);color:#fff;border-radius:13px;font-size:13px;font-weight:900;letter-spacing:-.06em}.brand strong,.brand small{display:block}.brand strong{font-size:16px;letter-spacing:-.03em}.brand small{color:var(--muted);font-size:11px;margin-top:1px}.main-nav{display:flex;align-items:center;gap:26px;font-size:13px;font-weight:750;color:#475467}.main-nav a:hover{color:var(--green)}.main-nav a:last-child{color:var(--green)}.main-nav span{display:inline-grid;place-items:center;min-width:18px;height:18px;background:#e6fffa;border-radius:99px;font-size:10px;margin-left:2px}.menu-toggle{display:none;background:none;border:0;font-size:25px;color:var(--ink)}.section-shell{max-width:1120px;margin-inline:auto;padding-inline:22px}.hero{min-height:565px;display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:60px;padding-top:55px;padding-bottom:58px}.eyebrow{color:var(--green);font-size:11px;line-height:1.2;font-weight:900;letter-spacing:.16em;margin:0 0 15px}.hero h1{font-size:clamp(46px,6vw,78px);line-height:.98;letter-spacing:-.075em;max-width:640px;margin:0 0 25px}.hero h1:after{content:"";display:inline-block;width:18px;height:18px;background:var(--yellow);border-radius:50%;margin:0 0 11px 8px}.hero-text{color:#475467;font-size:17px;max-width:570px;margin:0 0 27px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:12px;padding:13px 18px;font-weight:850;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s}.button:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(15,23,42,.12)}.button-primary{background:var(--orange);color:#251500}.button-light{background:#fff;border:1px solid var(--line);color:var(--ink)}.button-dark{background:var(--ink);color:#fff}.hero-notes{display:flex;gap:17px;flex-wrap:wrap;margin-top:23px;color:#667085;font-size:12px;font-weight:700}.hero-art{position:relative;min-height:380px}.hero-orbit{width:285px;height:285px;border-radius:50%;background:var(--green);position:absolute;top:45px;left:50%;transform:translateX(-50%);display:grid;place-items:center;border:22px solid #d6f4ed;box-shadow:0 0 0 1px #bddfd8,0 24px 55px rgba(15,118,110,.2)}.hero-orbit:before,.hero-orbit:after{content:"";position:absolute;border:1px dashed rgba(255,255,255,.5);border-radius:50%}.hero-orbit:before{inset:35px}.hero-orbit:after{inset:-34px;border-color:#abd8d1}.hero-orbit span{font-size:74px;font-weight:950;letter-spacing:-.1em;color:#fff;position:relative;z-index:1}.floating-card{position:absolute;z-index:2;background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px 17px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:2px}.floating-card span{font-size:21px;color:var(--orange)}.floating-card strong{font-size:14px}.floating-card small{color:var(--muted);font-size:11px}.card-one{top:20px;left:8px}.card-two{right:4px;bottom:32px}.ad-slot{height:90px;display:grid;place-items:center;border:1px dashed #cbd5e1;border-radius:18px;color:#94a3b8;font-size:11px;font-weight:850;letter-spacing:.1em;background:#fff}.section-block{padding-top:82px;padding-bottom:25px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:25px}.section-heading h2,.explainer h2{font-size:clamp(31px,4vw,50px);line-height:1;letter-spacing:-.065em;margin:0}.section-intro{color:var(--muted);font-size:14px;max-width:330px;margin:0}.toolbar{display:flex;gap:15px;align-items:center;margin-bottom:23px}.search-box{display:flex;align-items:center;gap:10px;flex:1;background:#fff;border:1px solid var(--line);border-radius:13px;padding:0 15px;color:#98a2b3}.search-box input{border:0;outline:0;background:transparent;width:100%;padding:13px 0;font-size:14px;color:var(--ink)}.category-tabs{display:flex;gap:7px;flex-wrap:wrap}.category-tab{border:1px solid var(--line);background:#fff;color:#475467;border-radius:99px;padding:9px 13px;font-size:12px;font-weight:800;cursor:pointer}.category-tab:hover,.category-tab.active{background:var(--green);border-color:var(--green);color:#fff}.game-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.game-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px;min-height:245px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.game-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.game-cover{height:112px;border-radius:13px;display:grid;place-items:center;font-size:42px;margin-bottom:15px;position:relative;overflow:hidden}.cover-green{background:#d8f6ed}.cover-blue{background:#e1ebff}.cover-yellow{background:#fff0bd}.cover-pink{background:#ffe1e6}.cover-purple{background:#ece3ff}.cover-dark{background:#dfe5ea}.game-cover:after{content:"";position:absolute;inset:14px;border:1px dashed rgba(17,24,39,.18);border-radius:9px}.game-cover span{position:relative;z-index:1}.game-meta{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.game-card h3{font-size:17px;line-height:1.12;letter-spacing:-.03em;margin:8px 0 5px}.game-card p{color:var(--muted);font-size:12px;margin:0}.game-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:14px}.play-link,.text-link{color:var(--green);font-size:12px;font-weight:900}.favorite-button{border:0;background:transparent;color:#98a2b3;font-size:20px;line-height:1;cursor:pointer;padding:2px}.favorite-button.active{color:var(--orange)}.empty-state{text-align:center;color:var(--muted);padding:40px;background:#fff;border-radius:18px;border:1px solid var(--line)}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-top:65px}.info-panel{border-radius:var(--radius);padding:31px;min-height:270px}.info-panel h2{font-size:31px;line-height:1.03;letter-spacing:-.06em;margin:0 0 15px}.info-panel p:not(.eyebrow){color:#475467;max-width:410px;margin:0 0 22px}.panel-green{background:#d7f4ec}.panel-yellow{background:#fff0bd}.explainer{padding-top:75px;padding-bottom:90px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.steps>div{border-top:2px solid var(--ink);padding-top:15px}.steps span{font-size:12px;color:var(--green);font-weight:900}.steps h3{font-size:20px;margin:9px 0 4px}.steps p{font-size:13px;color:var(--muted);margin:0;max-width:250px}.site-footer{background:var(--ink);color:#fff;padding:48px max(22px,calc((100% - 1120px)/2)) 18px}.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer-brand{color:#fff}.footer-brand .brand-mark{background:#fff;color:var(--ink)}.footer-brand small{color:#cbd5e1}.footer-inner p{color:#aab5c5;font-size:12px;max-width:280px;margin-top:15px}.footer-links{display:flex;flex-direction:column;gap:10px;font-size:13px}.footer-links strong{color:#f7c948;margin-bottom:4px}.footer-links a{color:#cbd5e1}.footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid #344054;margin-top:38px;padding-top:16px;display:flex;justify-content:space-between;color:#98a2b3;font-size:11px}.game-modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px}.game-modal[hidden]{display:none}.modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.68);backdrop-filter:blur(5px)}.modal-card{position:relative;z-index:1;background:#fff;border-radius:22px;width:min(650px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:30px;box-shadow:0 28px 80px rgba(0,0,0,.24)}.modal-card h2{font-size:34px;letter-spacing:-.06em;line-height:1;margin:0 0 18px}.modal-close{position:absolute;right:17px;top:14px;border:0;background:#f1f5f9;border-radius:50%;height:33px;width:33px;font-size:23px;cursor:pointer}.game-stage{min-height:260px;background:#f8fafc;border:1px solid var(--line);border-radius:16px;padding:20px;display:grid;place-items:center}.game-instructions{color:var(--muted);font-size:13px;margin:15px 0 0}.game-ui{width:100%;text-align:center}.game-ui h3{font-size:23px;margin:0 0 14px}.game-score{font-size:13px;color:var(--muted);margin-bottom:12px}.game-action{border:0;background:var(--green);color:#fff;border-radius:10px;padding:11px 17px;font-weight:850;cursor:pointer}.ttt-board{display:grid;grid-template-columns:repeat(3,75px);gap:7px;justify-content:center;margin:15px auto}.ttt-cell{width:75px;height:75px;border:1px solid var(--line);background:#fff;border-radius:10px;font-size:30px;font-weight:900;color:var(--green);cursor:pointer}.memory-board{display:grid;grid-template-columns:repeat(4,58px);gap:8px;justify-content:center;margin:14px auto}.memory-card{height:58px;border:0;border-radius:9px;background:var(--ink);color:#fff;font-size:23px;cursor:pointer}.memory-card.open,.memory-card.matched{background:#d7f4ec;color:var(--ink)}.snake-wrap{position:relative;display:inline-block}.snake-canvas{background:#111827;border-radius:12px;max-width:100%;touch-action:none}.snake-controls{display:flex;gap:7px;justify-content:center;margin-top:10px}.snake-controls button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 12px;cursor:pointer}.reaction-target{width:170px;height:170px;border-radius:50%;border:0;background:var(--blue);color:#fff;font-size:18px;font-weight:900;cursor:pointer}.reaction-target.waiting{background:#f59e0b}.number-form{display:flex;justify-content:center;gap:8px}.number-form input{width:90px;border:1px solid var(--line);border-radius:9px;padding:10px;text-align:center}.word-choice{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.word-choice button{background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px 15px;cursor:pointer}.word-choice button:hover{border-color:var(--green);color:var(--green)}
@media(max-width:900px){.main-nav{gap:14px}.hero{gap:25px}.game-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.site-header{height:68px}.brand{min-width:0}.brand small{display:none}.brand-mark{width:38px;height:38px}.main-nav{position:absolute;top:68px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);display:none;flex-direction:column;align-items:stretch;padding:10px 22px;gap:0;box-shadow:0 12px 20px rgba(15,23,42,.08)}.main-nav.open{display:flex}.main-nav a{padding:12px 0}.menu-toggle{display:block}.hero{grid-template-columns:1fr;padding-top:46px;min-height:auto}.hero h1{font-size:53px}.hero-text{font-size:15px}.hero-art{min-height:280px;order:-1;transform:scale(.84);margin:-20px 0 -10px}.card-one{left:0}.card-two{right:0}.hero-orbit{top:35px}.toolbar{display:block}.category-tabs{margin-top:12px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px}.category-tab{white-space:nowrap}.game-grid{grid-template-columns:repeat(2,1fr);gap:12px}.game-card{padding:12px;min-height:222px}.game-cover{height:92px;font-size:34px}.game-card h3{font-size:15px}.two-column,.steps,.footer-inner{grid-template-columns:1fr}.info-panel{min-height:220px}.section-block{padding-top:55px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:5px}.modal-card{padding:24px 17px}.ttt-board{grid-template-columns:repeat(3,65px)}.ttt-cell{width:65px;height:65px}.ad-slot{height:72px}}
.game-credit{color:#0f766e;font-size:10px;font-weight:850;margin:7px 0 0}.game-credit + .game-bottom{padding-top:8px}
body.modal-open{overflow:hidden}
.modal-fullscreen{position:absolute;right:56px;top:14px;border:0;background:#f1f5f9;border-radius:50%;height:33px;width:33px;font-size:18px;cursor:pointer;display:grid;place-items:center}
.modal-fullscreen:hover{background:#e2e8f0}
.modal-card:fullscreen,.modal-card:-webkit-full-screen{width:100vw;height:100vh;max-height:none;border-radius:0;padding:18px;display:flex;flex-direction:column;gap:14px}
.modal-card:fullscreen .game-stage,.modal-card:-webkit-full-screen .game-stage{flex:1;min-height:0}
.modal-card:fullscreen .game-instructions,.modal-card:-webkit-full-screen .game-instructions{margin-top:0}
.game-stage{touch-action:manipulation}
@media(max-width:540px){.hero-art{display:none}.hero{padding-top:28px}.game-grid{grid-template-columns:1fr}.modal-card{padding:16px 14px}.ttt-board{grid-template-columns:repeat(3,62px)}.ttt-cell{width:62px;height:62px}.memory-board{grid-template-columns:repeat(4,52px)}.memory-card{height:52px}.reaction-target{width:150px;height:150px}}
/* Interacciones y escenas de los juegos */
.game-card[hidden],.empty-state[hidden]{display:none!important}
.play-link{background:transparent;border:0;padding:6px 0;cursor:pointer;text-align:left}
.play-link:hover{color:#095c52;text-decoration:underline}
.duel-arena{position:relative;display:flex;align-items:end;justify-content:space-between;gap:18px;min-height:175px;margin:10px auto 14px;padding:22px 28px 18px;overflow:hidden;border:1px solid #233253;border-radius:16px;background:linear-gradient(180deg,#111936 0%,#1c2450 65%,#26264c 65%,#342b4a 100%)}
.duel-arena:before{content:"";position:absolute;left:10%;right:10%;bottom:35px;height:2px;background:linear-gradient(90deg,#34f5c5,#ff4fd8);box-shadow:0 0 18px #34f5c5}
.fighter{position:relative;z-index:1;width:76px;height:108px;border-radius:42px 42px 18px 18px;display:grid;place-items:center;color:#fff;font-size:14px;font-weight:950;letter-spacing:.08em;box-shadow:0 12px 25px rgba(0,0,0,.28);transition:transform .18s}
.fighter:before{content:"";position:absolute;top:-17px;width:44px;height:44px;border-radius:50%;background:inherit;border:3px solid rgba(255,255,255,.7)}
.fighter span{position:relative;z-index:2;margin-top:28px}
.fighter-player{background:linear-gradient(145deg,#11bda6,#116cbb);border:2px solid #53ffe0}
.fighter-enemy{background:linear-gradient(145deg,#f834b2,#7928a8);border:2px solid #ff9de7}
.arena-spark{position:relative;z-index:2;color:#ffe66d;font-weight:950;font-size:16px;text-shadow:0 0 10px #ffe66d}
.arena-spark.active{animation:spark-pop .35s ease}
.fighter.attacking{animation:fighter-attack .35s ease}
.fighter.taking-hit{animation:fighter-hit .35s ease}
.fighter.blocking{filter:brightness(1.25);box-shadow:0 0 0 5px rgba(52,245,197,.24),0 12px 25px rgba(0,0,0,.28)}
@keyframes fighter-attack{50%{transform:translateX(22px) scale(1.08)}}
@keyframes fighter-hit{35%{transform:translateX(12px) rotate(5deg);filter:brightness(1.65)}}
@keyframes spark-pop{50%{transform:scale(1.7);color:#fff}}
.hoops-court{position:relative;width:min(100%,360px);height:190px;margin:10px auto 14px;overflow:hidden;border:3px solid #d49b55;border-radius:14px;background:linear-gradient(#1b6ca5 0 50%,#c97938 50%);box-shadow:inset 0 0 0 4px rgba(255,255,255,.18)}
.hoops-court:before{content:"";position:absolute;left:50%;bottom:-84px;width:190px;height:190px;transform:translateX(-50%);border:2px solid rgba(255,255,255,.7);border-radius:50%}
.hoops-backboard{position:absolute;right:24px;top:22px;width:90px;height:67px;border:4px solid #f8fafc;border-radius:5px;background:rgba(255,255,255,.25);box-shadow:0 5px 0 rgba(0,0,0,.15)}
.hoops-rim{position:absolute;left:21px;bottom:-10px;width:48px;height:14px;border:4px solid #ff6b35;border-radius:50%;background:transparent}
.hoops-net{position:absolute;left:29px;bottom:-34px;width:33px;height:30px;border:2px dashed rgba(255,255,255,.85);border-top:0}
.hoops-player{position:absolute;left:58px;bottom:20px;width:38px;height:68px;padding-top:18px;border-radius:20px 20px 8px 8px;background:#34f5c5;color:#102047;font-size:10px;font-weight:950}
.hoops-player:before{content:"";position:absolute;top:-18px;left:7px;width:24px;height:24px;border-radius:50%;background:#ffd6b0;border:2px solid #fff}
.hoops-ball{position:absolute;left:112px;bottom:57px;font-size:27px;z-index:2;transition:all .2s}
.hoops-ball.shooting{animation:ball-shot .45s ease-out forwards}
.hoops-ball.made{animation:ball-made .28s ease-in forwards}
.hoops-ball.miss{animation:ball-miss .28s ease-in forwards}
@keyframes ball-shot{to{left:calc(100% - 72px);bottom:112px;transform:rotate(360deg)}}
@keyframes ball-made{to{left:calc(100% - 63px);bottom:48px;transform:scale(.7) rotate(720deg)}}
@keyframes ball-miss{to{left:calc(100% - 40px);bottom:20px;transform:rotate(550deg)}}
.hoops-meter{position:relative;width:min(100%,420px);height:18px;margin:8px auto 14px;border-radius:99px;background:#dbe4ef;overflow:hidden}
.hoops-zone{position:absolute;top:0;height:100%;border-radius:99px;background:#22c55e;box-shadow:0 0 12px #22c55e}
.hoops-pointer{position:absolute;top:0;width:5px;height:100%;border-radius:99px;background:#111827;transform:translateX(-50%)}
.goal-field{position:relative;width:min(100%,360px);height:190px;margin:10px auto 14px;overflow:hidden;border:3px solid #16834a;border-radius:14px;background:repeating-linear-gradient(90deg,#40b96c 0 38px,#35a961 38px 76px)}
.goal-field:before{content:"";position:absolute;left:50%;bottom:-103px;width:210px;height:210px;transform:translateX(-50%);border:2px solid rgba(255,255,255,.7);border-radius:50%}
.goal-net{position:absolute;left:50%;top:20px;width:220px;height:98px;transform:translateX(-50%);border:6px solid #fff;border-bottom-width:4px;background:repeating-linear-gradient(90deg,transparent 0 19px,rgba(255,255,255,.28) 20px 21px),repeating-linear-gradient(0deg,transparent 0 17px,rgba(255,255,255,.28) 18px 19px)}
.goal-post.left,.goal-post.right{position:absolute;top:-6px;width:6px;height:108px;background:#fff}.goal-post.left{left:-6px}.goal-post.right{right:-6px}.goal-crossbar{position:absolute;left:-6px;right:-6px;top:-6px;height:6px;background:#fff}
.goal-keeper{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);width:34px;height:65px;padding-top:18px;border-radius:18px 18px 8px 8px;background:#facc15;color:#1e293b;font-size:9px;font-weight:950;text-align:center;z-index:2;transition:transform .28s}
.goal-keeper:before{content:"";position:absolute;top:-16px;left:7px;width:20px;height:20px;border-radius:50%;background:#ffd6b0;border:2px solid #fff}
.goal-keeper.keeper-left{transform:translateX(-155%)}.goal-keeper.keeper-right{transform:translateX(55%)}
.football{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);font-size:25px;z-index:3;transition:all .2s}.football.ball-left{animation:ball-left .55s ease forwards}.football.ball-center{animation:ball-center .55s ease forwards}.football.ball-right{animation:ball-right .55s ease forwards}
@keyframes ball-left{to{left:30%;bottom:80px;transform:translateX(-50%) rotate(540deg)}}@keyframes ball-center{to{left:50%;bottom:95px;transform:translateX(-50%) rotate(540deg)}}@keyframes ball-right{to{left:70%;bottom:80px;transform:translateX(-50%) rotate(540deg)}}
.manual-fullscreen{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;max-height:none!important;border-radius:0!important;z-index:100!important}
.game-modal:fullscreen{padding:12px}.game-modal:fullscreen .modal-card{width:100%;height:100%;max-height:none;display:flex;flex-direction:column}.game-modal:fullscreen .game-stage{flex:1;min-height:0}
@media(max-width:540px){.duel-arena{padding-inline:15px}.fighter{width:65px;height:95px}.hoops-court,.goal-field{height:175px}.goal-net{width:200px}.modal-fullscreen{right:52px}}