:root{--ink:#09251d;--forest:#0d3b2e;--emerald:#126148;--cream:#f6f0df;--paper:#fffdf6;--sun:#f4c542;--coral:#ef674b;--blue:#3d78be;--muted:#65756f;--line:rgba(9,37,29,.13);--shadow:0 22px 60px rgba(7,39,29,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;min-width:320px}.grain{position:fixed;inset:0;pointer-events:none;opacity:.17;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E")}.topbar{height:76px;padding:0 clamp(20px,5vw,76px);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:30;background:rgba(246,240,223,.9);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font-size:1.18rem;font-weight:600}.brand b{font-weight:800}.brand-mark{width:35px;height:35px;display:grid;place-items:center;position:relative}.brand-mark i{position:absolute;width:19px;height:10px;border-radius:100% 0 100% 0;transform-origin:0 100%}.brand-mark i:nth-child(1){background:var(--sun);transform:rotate(-36deg)}.brand-mark i:nth-child(2){background:var(--blue);transform:rotate(84deg)}.brand-mark i:nth-child(3){background:var(--coral);transform:rotate(204deg)}.nav-actions{display:flex;align-items:center;gap:14px}.online-pill{font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.online-pill i{display:inline-block;width:8px;height:8px;background:#2ea66d;border-radius:50%;margin-right:6px;box-shadow:0 0 0 4px rgba(46,166,109,.13)}button,input{font:inherit}.ghost-button,.back-button{border:0;background:transparent;color:var(--ink);font-weight:700;cursor:pointer;padding:10px}.avatar-button{width:38px;height:38px;border-radius:50%;border:0;background:var(--forest);color:white;font-weight:800;cursor:pointer}.page{animation:rise .45s ease both}@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.hero{min-height:610px;padding:76px clamp(20px,7vw,110px) 70px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:center;gap:5vw;overflow:hidden;background:linear-gradient(135deg,#f8f1df 0%,#eee6ce 100%);border-bottom:1px solid var(--line)}.eyebrow{font-size:.72rem;letter-spacing:.18em;font-weight:800;color:var(--emerald);margin:0 0 16px}.hero h1,.section-heading h2,.how-it-works h2,.game-stage h2,.play-dialog h2,.profile-card h2{font-family:"Fraunces",serif}.hero h1{font-size:clamp(3.2rem,6.3vw,6.5rem);line-height:.89;letter-spacing:-.055em;margin:0;max-width:820px}.hero h1 em{color:var(--coral);font-style:normal}.hero-text{font-size:1.12rem;line-height:1.7;max-width:620px;color:#40554e;margin:28px 0}.hero-actions{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap}.primary-button,.secondary-button{border:0;border-radius:14px;cursor:pointer;transition:.2s ease}.primary-button{background:var(--forest);color:white;padding:16px 22px;font-weight:800;box-shadow:0 10px 26px rgba(9,37,29,.18)}.primary-button:hover{transform:translateY(-2px);background:#174d3d}.join-form{display:flex;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:5px}.join-form input{width:160px;border:0;background:transparent;padding:8px 12px;outline:0;text-transform:uppercase}.join-form button{border:0;border-radius:10px;background:var(--sun);font-weight:800;padding:0 18px;cursor:pointer}.promise-row{display:flex;gap:22px;margin-top:24px;font-size:.8rem;color:var(--muted);flex-wrap:wrap}.hero-art{height:480px;position:relative;border-radius:180px 180px 28px 28px;background:linear-gradient(#7fb7c7 0 45%,#307b5e 45% 100%);overflow:hidden;box-shadow:var(--shadow);border:8px solid rgba(255,255,255,.55)}.sun{position:absolute;width:130px;height:130px;background:var(--sun);border-radius:50%;top:55px;right:66px;box-shadow:0 0 0 20px rgba(244,197,66,.11)}.mountain{position:absolute;width:430px;height:260px;background:#175642;bottom:80px;clip-path:polygon(0 100%,45% 5%,60% 48%,70% 30%,100% 100%)}.mountain-one{left:-80px}.mountain-two{right:-90px;background:#0c3e31;transform:scale(.9)}.palm{position:absolute;bottom:55px;right:100px;width:100px;height:250px}.palm b{position:absolute;width:18px;height:210px;background:#765335;border-radius:50%;bottom:-25px;left:40px;transform:rotate(8deg)}.palm i{position:absolute;width:100px;height:35px;background:#164d31;border-radius:100% 0 100% 0;top:20px;left:45px;transform-origin:left}.palm i:nth-child(1){transform:rotate(-45deg)}.palm i:nth-child(2){transform:rotate(-5deg)}.palm i:nth-child(3){transform:rotate(35deg)}.palm i:nth-child(4){transform:rotate(77deg)}.coffee-card{position:absolute;left:30px;bottom:28px;background:rgba(255,253,246,.94);padding:18px 20px;border-radius:16px;display:flex;align-items:center;gap:12px;box-shadow:0 15px 40px rgba(0,0,0,.18);transform:rotate(-3deg)}.coffee-card span{font-size:2rem}.floating-piece{position:absolute;display:grid;place-items:center;font:800 2.4rem "Fraunces";border-radius:17px;box-shadow:0 12px 25px rgba(0,0,0,.2)}.piece-x{width:68px;height:68px;right:30px;top:185px;background:var(--coral);color:white;transform:rotate(12deg)}.piece-o{width:58px;height:58px;left:55px;top:80px;background:var(--paper);color:var(--blue);transform:rotate(-10deg)}.piece-dot{width:45px;height:45px;right:160px;bottom:36px;background:var(--sun);color:var(--forest);font-size:1rem}.catalog{padding:90px clamp(20px,7vw,110px);max-width:1600px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-heading h2,.how-it-works h2{font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.04em;margin:0}.filter-pills{display:flex;gap:5px;background:rgba(9,37,29,.07);padding:5px;border-radius:99px}.filter-pills button{border:0;background:transparent;border-radius:99px;padding:9px 14px;font-size:.78rem;font-weight:800;cursor:pointer}.filter-pills button.active{background:var(--paper);box-shadow:0 3px 12px rgba(0,0,0,.08)}.games-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.game-tile{position:relative;min-height:270px;border:0;border-radius:22px;padding:0;text-align:left;overflow:hidden;color:white;cursor:pointer;box-shadow:0 13px 32px rgba(7,39,29,.13);transition:.25s ease}.game-tile:hover{transform:translateY(-7px);box-shadow:0 24px 42px rgba(7,39,29,.2)}.game-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 22%,rgba(0,0,0,.66))}.tile-art{position:absolute;inset:0;display:grid;place-items:center;font:800 6rem "Fraunces";letter-spacing:-.1em}.tile-art::before,.tile-art::after{content:"";position:absolute;border:10px solid rgba(255,255,255,.15);border-radius:50%}.tile-art::before{width:160px;height:160px}.tile-art::after{width:230px;height:230px}.game-tile:nth-child(4n+1){background:#165d47}.game-tile:nth-child(4n+2){background:#d6553d}.game-tile:nth-child(4n+3){background:#336ca8}.game-tile:nth-child(4n){background:#b68b21}.tile-copy{position:absolute;z-index:2;left:20px;right:20px;bottom:18px}.tile-copy small{font-size:.66rem;letter-spacing:.16em;font-weight:800;opacity:.8}.tile-copy h3{margin:4px 0 3px;font:700 1.55rem "Fraunces"}.tile-copy span{font-size:.78rem;opacity:.88}.tile-arrow{position:absolute;right:18px;bottom:20px;z-index:3;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:white;color:var(--ink);font-weight:800}.how-it-works{background:var(--forest);color:white;padding:90px clamp(20px,7vw,110px);text-align:center}.how-it-works .eyebrow{color:#8ed3b2}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;max-width:1000px;margin:55px auto 0;background:rgba(255,255,255,.15)}.steps article{background:var(--forest);padding:38px}.steps b{font:800 3rem "Fraunces";color:var(--sun)}.steps h3{font:700 1.5rem "Fraunces";margin:12px 0 7px}.steps p{color:#b9d1c8;margin:0}.game-page{padding:35px clamp(16px,5vw,75px) 70px;min-height:calc(100vh - 76px)}.back-button{margin-bottom:18px}.room-banner{max-width:1200px;margin:0 auto 18px;background:var(--sun);border-radius:16px;padding:13px 18px;display:flex;justify-content:space-between;align-items:center}.room-banner span{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;margin-right:8px}.room-banner strong{font-size:1.15rem}.room-banner button{border:0;border-radius:10px;background:var(--forest);color:white;padding:10px 14px;font-weight:800;cursor:pointer}.game-layout{max-width:800px;margin:auto}.game-stage,.side-card,.profile-card{background:var(--paper);border:1px solid var(--line);border-radius:22px;box-shadow:0 12px 32px rgba(7,39,29,.08)}.game-stage>header{display:flex;justify-content:space-between;align-items:center;padding:25px 28px;border-bottom:1px solid var(--line)}.game-stage h2{margin:0;font-size:2.1rem}.status-pill{padding:8px 12px;border-radius:99px;background:#e6f5ed;color:var(--emerald);font-weight:800;font-size:.75rem}.game-board{min-height:520px;padding:30px;display:grid;place-items:center;overflow:auto}.game-sidebar{display:flex;flex-direction:column;gap:18px}.side-card{padding:20px}.side-card h3{font:700 1.25rem "Fraunces";margin:0 0 15px}.muted{color:var(--muted)}.loader{width:42px;height:42px;border:4px solid #d7dfdc;border-top-color:var(--coral);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dialog-backdrop{position:fixed;inset:0;z-index:100;background:rgba(4,24,18,.66);backdrop-filter:blur(7px);display:grid;place-items:center;padding:18px}.dialog-backdrop[hidden]{display:none}.play-dialog{position:relative;width:min(480px,100%);background:var(--paper);border-radius:26px;padding:35px;box-shadow:var(--shadow);animation:pop .25s ease}@keyframes pop{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}.dialog-close{position:absolute;right:17px;top:13px;border:0;background:transparent;font-size:1.8rem;cursor:pointer}.dialog-icon{width:65px;height:65px;border-radius:18px;background:var(--forest);color:var(--sun);display:grid;place-items:center;font-size:2rem;margin-bottom:20px}.play-dialog h2{font-size:2.4rem;margin:0 0 22px}.play-dialog label{display:block;font-weight:800;font-size:.82rem;margin-bottom:8px}.play-dialog>input{width:100%;border:1px solid var(--line);border-radius:12px;background:white;padding:14px;outline:0}.play-dialog>input:focus{border-color:var(--emerald);box-shadow:0 0 0 3px rgba(18,97,72,.12)}.play-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.play-options button{padding:16px;text-align:left;display:flex;flex-direction:column;gap:3px}.play-options span{font-size:.73rem;opacity:.75}.secondary-button{border:1px solid var(--line);background:white;color:var(--ink)}.privacy-note{font-size:.7rem;color:var(--muted);text-align:center;margin:16px 0 0}.toast{position:fixed;z-index:120;left:50%;bottom:25px;transform:translate(-50%,120px);opacity:0;background:var(--ink);color:white;border-radius:12px;padding:12px 18px;font-weight:700;transition:.25s}.toast.show{transform:translate(-50%,0);opacity:1}.profile-page{padding:50px 20px;min-height:calc(100vh - 76px)}.profile-card{max-width:650px;margin:25px auto;padding:45px;text-align:center}.profile-monogram{width:92px;height:92px;background:var(--forest);color:var(--sun);border-radius:50%;display:grid;place-items:center;margin:0 auto 22px;font:800 2.4rem "Fraunces"}.profile-card h2{font-size:2.5rem;margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}.stats div{display:flex;flex-direction:column}.stats b{font:800 1.7rem "Fraunces"}.stats span{font-size:.72rem;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1050px){.games-grid{grid-template-columns:repeat(3,1fr)}.hero{grid-template-columns:1fr .8fr}.hero h1{font-size:4.7rem}}
@media(max-width:780px){.topbar{height:66px;padding:0 16px}.online-pill,.ghost-button{display:none}.hero{grid-template-columns:1fr;padding:55px 20px}.hero-art{height:330px;border-radius:120px 120px 24px 24px}.hero h1{font-size:clamp(3.1rem,14vw,5rem)}.section-heading{align-items:flex-start;flex-direction:column}.filter-pills{max-width:100%;overflow:auto}.games-grid{grid-template-columns:repeat(2,1fr)}.game-tile{min-height:220px}.steps{grid-template-columns:1fr}.game-board{min-height:430px;padding:16px}.play-options{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr);gap:24px}}
@media(max-width:480px){.hero-actions,.join-form{width:100%}.hero-actions>.primary-button{width:100%}.join-form input{flex:1;min-width:0}.games-grid{grid-template-columns:1fr}.game-tile{min-height:235px}.promise-row{gap:10px 16px}.catalog{padding-top:65px}.room-banner{align-items:flex-start;gap:10px}.room-banner button{font-size:.72rem}.play-dialog{padding:28px 20px}.hero-art{height:290px}}
.game-layout.has-room-tools{max-width:1180px;display:grid;grid-template-columns:minmax(0,820px) minmax(280px,340px);gap:18px;align-items:start}.room-banner-actions{display:flex;align-items:center;gap:12px}.connection-status{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:99px;background:rgba(255,255,255,.58);font-size:.7rem}.connection-status i{width:8px;height:8px;border-radius:50%;background:#b07b15}.connection-status.connected i{background:#218b57;box-shadow:0 0 0 4px rgba(33,139,87,.13)}.connection-status.reconnecting i{background:#d88b1d;animation:pulse 1.1s infinite}.connection-status.disconnected i{background:#c74636}.room-tools{position:sticky;top:94px}.chat-panel{padding:18px}.chat-heading{display:flex;justify-content:space-between;align-items:center}.chat-heading .eyebrow{margin-bottom:3px}.chat-heading h3{margin:0}.chat-heading>span{color:#2ea66d}.chat-messages{height:310px;overflow:auto;display:flex;flex-direction:column;gap:9px;padding:15px 3px}.chat-message{align-self:flex-start;max-width:88%;background:#edf3ef;border-radius:12px 12px 12px 3px;padding:9px 11px}.chat-message.own{align-self:flex-end;background:#e8f0dc;border-radius:12px 12px 3px 12px}.chat-message b{display:block;font-size:.69rem;color:var(--emerald);margin-bottom:2px}.chat-message span{font-size:.83rem;line-height:1.4;overflow-wrap:anywhere}.chat-empty{text-align:center;margin:auto}.chat-form{display:grid;grid-template-columns:1fr auto;gap:7px}.chat-form input{min-width:0;border:1px solid var(--line);border-radius:10px;padding:10px}.chat-form button,.leave-room-button{border:0;border-radius:10px;font-weight:800;cursor:pointer}.chat-form button{background:var(--forest);color:#fff;padding:0 12px}.leave-room-button{width:100%;padding:12px;background:#f5dfda;color:#8b2f24}@media(max-width:980px){.game-layout.has-room-tools{grid-template-columns:1fr;max-width:820px}.room-tools{position:static}.chat-messages{height:220px}}@media(max-width:560px){.room-banner{flex-direction:column}.room-banner-actions{width:100%;justify-content:space-between}.connection-status b{font-size:.66rem}}
.player-item{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.player-item:last-child{border:0}.player-item .avatar-button{flex:none;display:grid;place-items:center}.player-item div{display:flex;flex-direction:column}.player-item small{color:var(--muted);font-size:.7rem}.game-board .btn{transition:transform .14s ease,box-shadow .14s ease}.game-board .btn:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 7px 16px rgba(7,39,29,.2)}
.identity-strip{height:34px;display:flex;align-items:center;gap:0;padding:0 clamp(20px,5vw,76px);background:var(--forest);color:#fff;font-size:.68rem;letter-spacing:.14em;font-weight:800;position:relative;z-index:29}.identity-strip span:not(.identity-note){height:100%;width:11px}.flag-yellow{background:#f4c542}.flag-blue{background:#2d67a4}.flag-red{background:#df4d3e}.identity-strip strong{margin-left:12px}.identity-note{margin-left:auto;opacity:.7;letter-spacing:.08em;font-weight:600}.hero{position:relative}.hero::before{content:"✣";position:absolute;right:7%;top:8%;font-size:15rem;line-height:1;color:rgba(223,77,62,.1);font-family:"Fraunces",serif;pointer-events:none}.hero h1{position:relative;z-index:1}
.player-bar{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:16px;border-radius:12px;overflow:hidden;background:var(--forest);color:#fff;font-weight:700;font-size:.95rem}
.player-bar-item{display:flex;align-items:center;gap:8px;padding:12px 20px;flex:1;justify-content:center;transition:background .3s ease}
.player-bar-item.active{background:rgba(255,255,255,.15)}
.player-bar-vs{padding:8px 12px;font-size:.7rem;letter-spacing:.1em;opacity:.6}
.symbol-x{display:inline-flex;width:28px;height:28px;border-radius:6px;background:var(--blue);color:#fff;align-items:center;justify-content:center;font-weight:900;font-size:1rem}
.symbol-o{display:inline-flex;width:28px;height:28px;border-radius:6px;background:var(--coral);color:#fff;align-items:center;justify-content:center;font-weight:900;font-size:1rem}
.player-bar-item.active .symbol-x{box-shadow:0 0 0 3px rgba(61,120,190,.5)}
.player-bar-item.active .symbol-o{box-shadow:0 0 0 3px rgba(239,103,75,.5)}
.player-score{background:rgba(255,255,255,.2);padding:2px 8px;border-radius:8px;font-size:.8rem;margin-left:4px}
.game-overlay{position:absolute;inset:0;background:rgba(9,37,29,.85);display:flex;align-items:center;justify-content:center;z-index:50;border-radius:12px}
.game-overlay[hidden]{display:none}
.overlay-content{text-align:center;color:#fff;padding:40px}
.overlay-content h2{font-size:2.5rem;margin:0 0 8px;font-family:"Fraunces",serif}
.overlay-content p{font-size:1.1rem;opacity:.8;margin:0}
.overlay-content .countdown{font-size:5rem;font-weight:900;font-family:"Fraunces",serif;animation:countPop .4s ease}
@keyframes countPop{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.1)}100%{transform:scale(1);opacity:1}}
.winner-x{color:var(--blue)}.winner-o{color:var(--coral)}
.game-board{position:relative}
.overlay-result{animation:overlayIn .5s ease both}
.overlay-result h2{margin:0 0 4px}
.overlay-result .winner-name{font-size:1.4rem;font-weight:800;margin:8px 0 0;opacity:1}
.overlay-result .loser-text{font-size:.95rem;opacity:.6;margin:6px 0 0}
.overlay-result .winner-trophy{font-size:3rem;margin-bottom:8px;animation:crownBounce 1s ease infinite}
.overlay-result .winner-symbol-lg{display:inline-flex;width:44px;height:44px;border-radius:10px;color:#fff;align-items:center;justify-content:center;font-weight:900;font-size:1.6rem;margin:8px 0}
.overlay-result.win{color:#2ea66d}
.overlay-result.lose{color:var(--coral)}
.overlay-result.draw{color:var(--sun)}
@keyframes overlayIn{from{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes crownBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.player-symbol{display:inline-flex;width:28px;height:28px;border-radius:6px;background:var(--blue);color:#fff;align-items:center;justify-content:center;font-weight:900;font-size:.95rem;flex:none}
.player-bar-item.active .player-symbol{box-shadow:0 0 0 3px rgba(255,255,255,.35)}
.connect4-wrap{display:inline-block;user-select:none;padding:14px;border-radius:18px;background:linear-gradient(145deg,#1c63b0,#0c377b);box-shadow:0 18px 35px rgba(2,20,60,.28),inset 0 1px rgba(255,255,255,.2)}
.connect4-grid{position:relative;overflow:visible;gap:5px!important;background:rgba(5,24,65,.52)!important;padding:8px!important;border-radius:12px!important}
.connect4-cell{width:55px;height:55px;border:0!important;border-radius:50%;padding:0;background:#082653;box-shadow:inset 0 5px 9px rgba(0,0,0,.42),0 2px rgba(255,255,255,.08);cursor:pointer;transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}
.connect4-cell:not(:disabled):hover{transform:translateY(-3px);filter:brightness(1.12)}
.connect4-cell:disabled{cursor:default;opacity:1}
.connect4-disc{display:block;width:100%;height:100%;border-radius:50%;transform:scale(.84);background:transparent;box-shadow:none;transition:transform .18s ease}
.connect4-cell.is-red .connect4-disc{background:radial-gradient(circle at 34% 28%,#ff9292 0 9%,#ff3b54 28%,#bd1830 100%);box-shadow:inset 0 4px 4px rgba(255,255,255,.25),inset 0 -5px 7px rgba(80,0,15,.35),0 3px 0 #8b1728}
.connect4-cell.is-yellow .connect4-disc{background:radial-gradient(circle at 34% 28%,#fff4a8 0 9%,#ffd524 28%,#c49300 100%);box-shadow:inset 0 4px 4px rgba(255,255,255,.3),inset 0 -5px 7px rgba(93,65,0,.3),0 3px 0 #a47700}
.connect4-cell.is-winning .connect4-disc{animation:connectFourWin .75s ease-in-out infinite alternate;box-shadow:0 0 18px currentColor,inset 0 4px 4px rgba(255,255,255,.3)}
@keyframes connectFourWin{from{transform:scale(.84)}to{transform:scale(.97)}}
.connect4-falling-disc{will-change:top,transform;transition:none}

/* Arena Colombia — visual system v208 */
:root{
  --ink:#f3f7ff;
  --forest:#070b13;
  --emerald:#00d99a;
  --cream:#060811;
  --paper:#0d121d;
  --sun:#ffd524;
  --coral:#ff3b54;
  --blue:#1597ff;
  --muted:#8e9bad;
  --line:rgba(187,211,255,.14);
  --panel:rgba(13,18,29,.82);
  --shadow:0 28px 80px rgba(0,0,0,.48);
}
*{scrollbar-color:#263248 #090d15}
body{
  color:var(--ink);
  font-family:"Manrope",sans-serif;
  background:
    radial-gradient(circle at 14% 6%,rgba(21,151,255,.14),transparent 26rem),
    radial-gradient(circle at 90% 18%,rgba(255,213,36,.1),transparent 28rem),
    #060811;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  opacity:.24;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:52px 52px;
  mask-image:linear-gradient(to bottom,black,transparent 80%);
}
.grain{opacity:.07;mix-blend-mode:screen}
.topbar{
  height:78px;
  color:var(--ink);
  background:rgba(6,8,17,.82);
  border-color:rgba(255,255,255,.1);
  box-shadow:0 12px 38px rgba(0,0,0,.2);
}
.brand{color:#fff;font-family:"Chakra Petch",sans-serif;font-size:1.3rem;letter-spacing:.02em;text-transform:uppercase}
.brand b{color:var(--sun)}
.brand-mark{border:1px solid rgba(255,255,255,.16);border-radius:10px;background:#101725;transform:rotate(45deg)}
.brand-mark i{width:15px;height:7px}.brand-mark i:nth-child(1){transform:rotate(-81deg)}.brand-mark i:nth-child(2){transform:rotate(39deg)}.brand-mark i:nth-child(3){transform:rotate(159deg)}
.nav-actions{gap:11px}.online-pill{color:#c9d3e4;font-family:"Chakra Petch",sans-serif}.online-pill i{background:var(--emerald);box-shadow:0 0 14px var(--emerald)}
.ghost-button,.back-button{color:#b9c5d7;font-family:"Chakra Petch",sans-serif;letter-spacing:.05em;text-transform:uppercase}
.ghost-button:hover,.back-button:hover{color:#fff}
.avatar-button{border:1px solid rgba(255,213,36,.38);background:linear-gradient(145deg,#242d3d,#0e1420);color:var(--sun);box-shadow:0 0 24px rgba(255,213,36,.12)}
.identity-strip{
  height:31px;
  padding-inline:clamp(20px,5vw,76px);
  color:#d9e1ee;
  background:#090d16;
  border-bottom:1px solid rgba(255,255,255,.08);
  font-family:"Chakra Petch",sans-serif;
}
.identity-strip::after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,var(--sun) 0 50%,var(--blue) 50% 75%,var(--coral) 75%)}
.identity-strip span:not(.identity-note){width:20px;height:4px;margin-right:4px;border-radius:10px}.identity-strip strong{margin-left:10px;color:#fff}.identity-note{color:#8490a2}
.eyebrow{color:var(--emerald);font-family:"Chakra Petch",sans-serif;font-size:.71rem;letter-spacing:.2em}
.hero{
  min-height:720px;
  padding:78px clamp(20px,7vw,110px) 88px;
  background:
    linear-gradient(110deg,rgba(6,8,17,.97),rgba(6,8,17,.78)),
    radial-gradient(circle at 78% 35%,rgba(21,151,255,.2),transparent 36%);
  border-bottom:1px solid rgba(255,255,255,.1);
}
.hero::before{
  content:"CO";
  right:auto;
  left:-.03em;
  top:auto;
  bottom:-.18em;
  color:rgba(255,255,255,.018);
  font:700 28rem/1 "Chakra Petch",sans-serif;
  letter-spacing:-.12em;
}
.hero-copy{position:relative;z-index:3}
.hero-signal{display:inline-flex;align-items:center;gap:9px;margin-bottom:25px;padding:8px 12px;border:1px solid rgba(0,217,154,.28);background:rgba(0,217,154,.07);color:#96ffe1;border-radius:5px;font:700 .66rem "Chakra Petch",sans-serif;letter-spacing:.12em}
.hero-signal span{width:7px;height:7px;border-radius:50%;background:var(--emerald);box-shadow:0 0 13px var(--emerald);animation:pulse 1.4s ease infinite}
.hero h1,.section-heading h2,.how-it-works h2,.game-stage h2,.play-dialog h2,.profile-card h2{font-family:"Chakra Petch",sans-serif}
.hero h1{max-width:900px;color:#f7f9ff;font-size:clamp(3.6rem,6.8vw,7rem);line-height:.83;letter-spacing:-.07em;text-shadow:0 7px 45px rgba(0,0,0,.45)}
.hero h1 em{display:inline-block;color:transparent;background:linear-gradient(92deg,var(--sun) 0 48%,#f4f7ff 48% 55%,var(--blue) 55% 77%,var(--coral) 77%);background-clip:text;-webkit-background-clip:text}
.hero-text{max-width:660px;color:#aab5c6;font-size:1.08rem;line-height:1.8}
.primary-button,.join-form button{font-family:"Chakra Petch",sans-serif;letter-spacing:.06em}
.primary-button{position:relative;overflow:hidden;border:1px solid rgba(255,213,36,.75);border-radius:7px;background:var(--sun);color:#080b12;box-shadow:0 12px 38px rgba(255,213,36,.18);clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,13px 100%,0 calc(100% - 13px))}
.primary-button::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.48),transparent 65%);transform:translateX(-130%);transition:transform .45s ease}
.primary-button:hover{color:#080b12;background:#ffe05c;transform:translateY(-3px);box-shadow:0 18px 48px rgba(255,213,36,.24)}.primary-button:hover::after{transform:translateX(130%)}
.join-form{min-height:57px;border:1px solid rgba(255,255,255,.16);border-radius:7px;background:rgba(12,18,29,.86);box-shadow:inset 0 0 22px rgba(21,151,255,.04)}
.join-form input{width:190px;color:#fff;font-family:"Chakra Petch",sans-serif;letter-spacing:.05em}.join-form input::placeholder{color:#657085}.join-form button{border-radius:4px;background:#172337;color:#cfe7ff;border-left:1px solid rgba(21,151,255,.35)}
.join-form button:hover{background:var(--blue);color:#fff}
.promise-row{margin-top:26px;color:#8f9bad}.promise-row span{display:flex;align-items:center;gap:7px}.promise-row b{font:700 .64rem "Chakra Petch",sans-serif;color:var(--emerald);border:1px solid rgba(0,217,154,.3);padding:3px 5px;border-radius:3px}
.arena-metrics{display:flex;align-items:center;gap:23px;margin-top:35px;padding-top:25px;border-top:1px solid rgba(255,255,255,.1);max-width:540px}.arena-metrics div{display:flex;align-items:baseline;gap:8px}.arena-metrics strong{font:700 1.7rem "Chakra Petch",sans-serif;color:#fff}.arena-metrics span{font:700 .62rem "Chakra Petch",sans-serif;letter-spacing:.13em;color:#6f7c90}.arena-metrics i{width:1px;height:26px;background:rgba(255,255,255,.14)}
.hero-art{
  height:520px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.16);
  background:
    linear-gradient(rgba(21,151,255,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(21,151,255,.08) 1px,transparent 1px),
    radial-gradient(circle at 50% 47%,#172f4b 0,#0a111e 45%,#070a12 72%);
  background-size:34px 34px,34px 34px,auto;
  box-shadow:0 38px 90px rgba(0,0,0,.56),inset 0 0 80px rgba(21,151,255,.08);
  overflow:hidden;
}
.hero-art::before{content:"ARENA // 001";position:absolute;left:18px;top:15px;color:#7d8da5;font:700 .61rem "Chakra Petch",sans-serif;letter-spacing:.18em}.hero-art::after{content:"LIVE";position:absolute;right:18px;top:13px;padding:4px 7px;border:1px solid rgba(255,59,84,.35);color:#ff8a9a;font:700 .59rem "Chakra Petch",sans-serif;letter-spacing:.15em}
.arena-scan{position:absolute;inset:0;background:linear-gradient(transparent 48%,rgba(0,217,154,.18) 50%,transparent 52%);background-size:100% 150px;animation:arenaScan 4s linear infinite;opacity:.55}@keyframes arenaScan{to{background-position:0 300px}}
.topo-ring{position:absolute;left:50%;top:49%;border:1px solid rgba(21,151,255,.22);border-radius:44% 56% 51% 49%/60% 43% 57% 40%;transform:translate(-50%,-50%) rotate(-13deg)}.ring-one{width:360px;height:360px;animation:orbit 18s linear infinite}.ring-two{width:280px;height:300px;border-color:rgba(255,213,36,.22);animation:orbitReverse 13s linear infinite}.ring-three{width:430px;height:390px;border-style:dashed;animation:orbit 26s linear infinite}@keyframes orbit{to{transform:translate(-50%,-50%) rotate(347deg)}}@keyframes orbitReverse{to{transform:translate(-50%,-50%) rotate(-373deg)}}
.world-core{position:absolute;left:50%;top:49%;width:min(82%,430px);height:270px;transform:translate(-50%,-50%);display:grid;place-items:center;filter:drop-shadow(0 0 28px rgba(0,217,154,.34))}.world-core::before{content:"";position:absolute;inset:7% 0;border:1px solid rgba(0,217,154,.26);border-radius:50%;transform:rotate(-8deg);box-shadow:0 0 32px rgba(21,151,255,.16),inset 0 0 26px rgba(0,217,154,.08)}.world-core img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:.92;filter:brightness(0) saturate(100%) invert(78%) sepia(78%) saturate(780%) hue-rotate(120deg) brightness(88%) contrast(102%);mix-blend-mode:screen}.world-core span,.world-core small{position:relative;z-index:2;text-shadow:0 2px 12px #071018}.world-core span{font:700 clamp(2rem,4vw,3.25rem) "Chakra Petch",sans-serif;color:#fff;letter-spacing:.08em}.world-core small{position:absolute;top:64%;color:#d7fff3;font:700 .57rem "Chakra Petch",sans-serif;letter-spacing:.14em}
.match-card,.signal-card{position:absolute;z-index:4;border:1px solid rgba(255,255,255,.15);background:rgba(9,14,24,.86);backdrop-filter:blur(16px);box-shadow:0 18px 42px rgba(0,0,0,.4)}
.match-card{left:22px;bottom:22px;width:205px;padding:15px;border-radius:9px}.match-card small{font:700 .57rem "Chakra Petch",sans-serif;letter-spacing:.13em;color:#7d8ca2}.match-card>div{display:flex;align-items:center;gap:13px;margin:10px 0}.match-card b{width:42px;height:42px;display:grid;place-items:center;border-radius:6px;font:700 1.6rem "Chakra Petch",sans-serif}.match-x{background:var(--blue);color:white}.match-o{background:var(--coral);color:white}.match-card div span{font:700 .6rem "Chakra Petch",sans-serif;color:#667288}.match-card>strong{color:var(--emerald);font:700 .65rem "Chakra Petch",sans-serif;letter-spacing:.14em}
.signal-card{right:20px;top:58px;display:grid;grid-template-columns:auto auto;gap:2px 8px;align-items:center;padding:11px 13px;border-radius:7px}.signal-card i{grid-row:1/3;width:8px;height:8px;border-radius:50%;background:var(--emerald);box-shadow:0 0 13px var(--emerald)}.signal-card span{font:700 .52rem "Chakra Petch",sans-serif;color:#718096}.signal-card b{font:700 .8rem "Chakra Petch",sans-serif;color:#fff}
.floating-piece{border:1px solid rgba(255,255,255,.2);border-radius:8px;font-family:"Chakra Petch",sans-serif;box-shadow:0 15px 35px rgba(0,0,0,.4)}.piece-x{right:25px;top:auto;bottom:118px;background:#112c46;color:#5ab4ff;transform:rotate(8deg)}.piece-o{left:32px;top:70px;background:#32131d;color:#ff6b80}.piece-dot{right:165px;bottom:25px;background:#312b0e;color:var(--sun)}
.catalog{padding-block:100px}.section-heading h2,.how-it-works h2{color:#f4f7fc;font-size:clamp(2.3rem,4.2vw,4.4rem)}
.filter-pills{padding:4px;border:1px solid rgba(255,255,255,.1);background:#0a0e17}.filter-pills button{color:#7f8ca0;font-family:"Chakra Petch",sans-serif;letter-spacing:.04em}.filter-pills button.active{color:#080b12;background:var(--sun);box-shadow:0 0 22px rgba(255,213,36,.18)}
.games-grid{gap:16px}.game-tile{min-height:290px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#0d131f!important;box-shadow:0 16px 36px rgba(0,0,0,.24);clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,0 100%)}.game-tile::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--tile-glow,rgba(21,151,255,.25)),transparent 48%);opacity:.85}.game-tile::after{background:linear-gradient(180deg,transparent 20%,rgba(5,8,14,.96) 78%)}.game-tile:nth-child(4n+1){--tile-glow:rgba(0,217,154,.31)}.game-tile:nth-child(4n+2){--tile-glow:rgba(255,59,84,.3)}.game-tile:nth-child(4n+3){--tile-glow:rgba(21,151,255,.34)}.game-tile:nth-child(4n){--tile-glow:rgba(255,213,36,.28)}.game-tile:hover{transform:translateY(-8px) scale(1.012);border-color:rgba(255,255,255,.3);box-shadow:0 28px 60px rgba(0,0,0,.42)}
.tile-art{place-items:start end;padding:25px 28px;color:rgba(255,255,255,.9);font:700 5.1rem "Chakra Petch",sans-serif;text-shadow:0 0 32px var(--tile-glow)}.tile-art::before{width:180px;height:180px;right:-45px;top:-55px;border:1px solid rgba(255,255,255,.13)}.tile-art::after{width:230px;height:230px;right:-70px;top:-80px;border:1px dashed rgba(255,255,255,.08)}.tile-copy{bottom:21px}.tile-copy small{color:var(--emerald);font-family:"Chakra Petch",sans-serif}.tile-copy h3{font:700 1.5rem "Chakra Petch",sans-serif;color:#fff}.tile-copy span{color:#95a2b4}.tile-arrow{border:1px solid rgba(255,255,255,.15);background:#121a28;color:var(--sun)}
.how-it-works{position:relative;overflow:hidden;background:#080c15;border-block:1px solid rgba(255,255,255,.1)}.how-it-works::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(21,151,255,.11),transparent 55%)}.how-it-works>*{position:relative}.steps{gap:12px;background:transparent}.steps article{border:1px solid rgba(255,255,255,.12);background:rgba(14,20,32,.74);text-align:left;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%)}.steps b{font-family:"Chakra Petch",sans-serif;color:var(--sun)}.steps h3{font-family:"Chakra Petch",sans-serif}.steps p{color:#8f9bae}
.game-page{background:radial-gradient(circle at 50% 5%,rgba(21,151,255,.12),transparent 35rem)}
.room-banner{border:1px solid rgba(255,213,36,.32);border-radius:8px;background:linear-gradient(90deg,rgba(255,213,36,.14),rgba(13,18,29,.92));color:#fff;box-shadow:0 15px 42px rgba(0,0,0,.25)}.room-banner span{color:#8290a4}.room-banner strong{font-family:"Chakra Petch",sans-serif;color:var(--sun);letter-spacing:.1em}.room-banner button{border:1px solid rgba(255,255,255,.15);border-radius:5px;background:#172235;font-family:"Chakra Petch",sans-serif}.connection-status{background:rgba(7,10,17,.6)}
.game-stage,.side-card,.profile-card{border:1px solid rgba(255,255,255,.13);border-radius:11px;background:rgba(13,18,29,.9);box-shadow:var(--shadow)}.game-stage{overflow:hidden}.game-stage>header{background:linear-gradient(90deg,rgba(21,151,255,.08),transparent);border-color:rgba(255,255,255,.1)}.game-stage h2{color:#fff}.status-pill{border:1px solid rgba(0,217,154,.25);background:rgba(0,217,154,.08);color:#78f8d2;font-family:"Chakra Petch",sans-serif}.game-board{background:radial-gradient(circle at center,rgba(21,151,255,.09),transparent 58%),linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:auto,32px 32px,32px 32px}.player-bar{border:1px solid rgba(255,255,255,.12);border-radius:7px;background:#090e18;font-family:"Chakra Petch",sans-serif}.player-bar-item.active{background:linear-gradient(90deg,rgba(21,151,255,.14),rgba(0,217,154,.12));box-shadow:inset 0 -2px var(--emerald)}.player-bar-vs{color:var(--sun)}
.chat-heading h3,.side-card h3{font-family:"Chakra Petch",sans-serif}.chat-messages{border-block:1px solid rgba(255,255,255,.08)}.chat-message{background:#151e2d;color:#dbe3ef}.chat-message.own{background:#123128}.chat-form input{border-color:rgba(255,255,255,.13);background:#090e17;color:#fff}.chat-form button{background:var(--blue);font-family:"Chakra Petch",sans-serif}.leave-room-button{border:1px solid rgba(255,59,84,.25);background:rgba(255,59,84,.09);color:#ff8797;font-family:"Chakra Petch",sans-serif}
.tictactoe-arena{display:flex;flex-direction:column;align-items:center;gap:24px}.tictactoe-grid{display:grid;grid-template-columns:repeat(3,104px);gap:9px;padding:16px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:rgba(5,8,14,.76);box-shadow:0 24px 55px rgba(0,0,0,.45),inset 0 0 35px rgba(21,151,255,.05)}.ttt-cell{width:104px;height:104px;border:1px solid rgba(119,150,193,.23);border-radius:7px;background:linear-gradient(145deg,#141d2b,#0a101a);color:#53627a;font:700 3rem "Chakra Petch",sans-serif;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.ttt-cell:not(:disabled):hover{transform:translateY(-3px);border-color:var(--emerald);box-shadow:0 0 0 1px rgba(0,217,154,.22),0 12px 28px rgba(0,0,0,.4)}.ttt-cell.is-x{color:#72bdff;border-color:rgba(21,151,255,.48);background:radial-gradient(circle,rgba(21,151,255,.2),#0b1421 68%);text-shadow:0 0 20px rgba(21,151,255,.6)}.ttt-cell.is-o{color:#ff7c8e;border-color:rgba(255,59,84,.48);background:radial-gradient(circle,rgba(255,59,84,.18),#180e16 68%);text-shadow:0 0 20px rgba(255,59,84,.58)}.ttt-cell.is-winner{border-color:var(--sun);box-shadow:0 0 0 1px var(--sun),0 0 28px rgba(255,213,36,.32);animation:winnerCell .8s ease infinite alternate}@keyframes winnerCell{to{transform:translateY(-4px);filter:brightness(1.2)}}.ttt-turn{margin:0;color:#8f9db1;font:700 .68rem "Chakra Petch",sans-serif;letter-spacing:.16em}
.play-dialog{border:1px solid rgba(255,255,255,.15);border-radius:12px;background:#0d131f;color:#fff}.dialog-backdrop{background:rgba(2,4,9,.82)}.dialog-icon{border:1px solid rgba(255,213,36,.28);border-radius:7px;background:#171c1d;color:var(--sun)}.play-dialog>input{border-color:rgba(255,255,255,.13);border-radius:7px;background:#070b13;color:#fff}.secondary-button{border-color:rgba(255,255,255,.14);border-radius:7px;background:#151c28;color:#dce5f2}.profile-card{color:#fff}.profile-monogram{border:1px solid rgba(255,213,36,.35);background:#151b26;color:var(--sun);font-family:"Chakra Petch",sans-serif}.stats{border-color:rgba(255,255,255,.1)}.stats b{font-family:"Chakra Petch",sans-serif}
.toast{border:1px solid rgba(255,255,255,.15);border-radius:6px;background:#111826;color:#fff;box-shadow:0 15px 42px rgba(0,0,0,.4)}
button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--sun);outline-offset:3px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Acceso visible para poder entrar al panel administrativo. */
.auth-buttons{display:flex;align-items:center;gap:6px}.auth-register-button{padding:9px 12px;border-radius:7px;font-size:.72rem}.auth-dialog{max-width:460px}.auth-form{display:grid;gap:8px}.auth-form label{margin-top:5px}.auth-form input{width:100%;padding:12px 13px;border:1px solid rgba(255,255,255,.13);border-radius:7px;background:#070b13;color:#fff;outline:0}.auth-form input:focus{border-color:var(--emerald);box-shadow:0 0 0 3px rgba(0,217,154,.12)}.auth-form .primary-button{margin-top:12px}.auth-switch{text-align:center;font-size:.78rem;color:#aab5c6;margin:8px 0 0}.auth-switch button{border:0;background:transparent;color:var(--sun);font-weight:800;cursor:pointer}.auth-form[hidden]{display:none}
@media(max-width:780px){.online-pill,.nav-actions>.ghost-button{display:none}.auth-buttons .ghost-button{display:inline-block;padding:7px 5px;font-size:.65rem}.auth-register-button{padding:7px 8px;font-size:.65rem}}
@media(max-width:1050px){.hero{grid-template-columns:1fr .82fr}.hero h1{font-size:clamp(3.7rem,7vw,5.4rem)}.hero-art{height:460px}.games-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.topbar{height:66px}.identity-strip{padding-inline:14px}.identity-note{display:none}.hero{grid-template-columns:1fr;padding:54px 20px 64px}.hero h1{font-size:clamp(3.25rem,14vw,5.3rem)}.hero-art{height:430px;margin-top:20px}.arena-metrics{gap:14px}.catalog{padding-block:70px}.games-grid{grid-template-columns:repeat(2,1fr)}.game-tile{min-height:245px}.tile-art{font-size:4.2rem}.game-board{min-height:460px}.tictactoe-grid{grid-template-columns:repeat(3,88px)}.ttt-cell{width:88px;height:88px}.room-banner-actions{align-items:center}}
@media(max-width:480px){.brand{font-size:1.05rem}.identity-strip strong{font-size:.58rem}.hero{min-height:auto}.hero h1{font-size:clamp(3rem,16vw,4.3rem)}.hero-text{font-size:.96rem}.hero-art{height:360px}.world-core{width:94%;height:190px}.world-core span{font-size:2rem}.world-core small{top:67%;font-size:.5rem}.ring-one{width:280px;height:280px}.ring-two{width:210px;height:230px}.ring-three{width:330px;height:300px}.match-card{width:175px}.signal-card{right:11px}.games-grid{grid-template-columns:1fr}.game-tile{min-height:250px}.arena-metrics strong{font-size:1.35rem}.arena-metrics span{font-size:.54rem}.game-stage>header{padding:20px}.game-stage h2{font-size:1.65rem}.game-board{min-height:390px;padding:12px}.tictactoe-grid{grid-template-columns:repeat(3,minmax(0,82px));gap:7px;padding:10px}.ttt-cell{width:82px;height:82px;font-size:2.5rem}.room-banner{padding:12px}.room-banner-actions{gap:7px}.connection-status{padding:6px}.hero-actions>.primary-button{min-height:55px}}

/* Game cards — readable mechanical previews */
.game-tile{
  --game-accent:#1597ff;
  --game-accent-2:#00d99a;
  min-height:375px;
  display:block;
  color:#fff;
}
.game-tile[data-game="TicTacToe"],.game-tile[data-game="NumberGuess"]{--game-accent:#1597ff;--game-accent-2:#00d99a}
.game-tile[data-game="ConnectFour"],.game-tile[data-game="RockPaperScissors"]{--game-accent:#ff3b54;--game-accent-2:#ffd524}
.game-tile[data-game="Checkers"],.game-tile[data-game="WordScramble"]{--game-accent:#ffd524;--game-accent-2:#ff7040}
.game-tile[data-game="Battleship"],.game-tile[data-game="HigherLower"]{--game-accent:#00d99a;--game-accent-2:#1597ff}
.game-tile[data-game="Memory"],.game-tile[data-game="CoinFlip"]{--game-accent:#b979ff;--game-accent-2:#ff3b86}
.game-tile[data-game="Othello"],.game-tile[data-game="LightsOut"]{--game-accent:#f3f7ff;--game-accent-2:#1597ff}
.game-tile[data-game="Gomoku"],.game-tile[data-game="DiceDuel"]{--game-accent:#ff824d;--game-accent-2:#ffd524}
.game-tile[data-game="SimonSays"]{--game-accent:#00d99a;--game-accent-2:#ff3b54}
.game-tile::before{background:radial-gradient(circle at 72% 22%,color-mix(in srgb,var(--game-accent) 27%,transparent),transparent 42%),linear-gradient(135deg,rgba(255,255,255,.035),transparent 55%)}
.game-tile::after{z-index:1;background:linear-gradient(180deg,transparent 0 46%,rgba(7,10,17,.22) 57%,#090d16 72%);pointer-events:none}
.tile-visual{position:absolute;z-index:1;inset:0 0 auto;height:225px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--game-accent) 11%,#0c121e),#090d16)}
.tile-visual::before{content:"";position:absolute;width:210px;height:210px;border:1px solid color-mix(in srgb,var(--game-accent) 28%,transparent);border-radius:50%;right:-70px;top:-85px;box-shadow:0 0 50px color-mix(in srgb,var(--game-accent) 12%,transparent)}
.tile-visual::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(to bottom,black,transparent)}
.tile-category{position:absolute;z-index:3;left:15px;top:15px;padding:6px 8px;border:1px solid color-mix(in srgb,var(--game-accent) 45%,transparent);border-radius:4px;background:rgba(5,8,14,.7);color:color-mix(in srgb,var(--game-accent) 78%,white);font:700 .58rem "Chakra Petch",sans-serif;letter-spacing:.14em}
.game-illustration{position:relative;z-index:2;width:88%;height:158px;margin-top:16px;color:var(--game-accent);overflow:visible;filter:drop-shadow(0 0 13px color-mix(in srgb,var(--game-accent) 32%,transparent));transition:transform .3s ease,filter .3s ease}
.game-illustration path,.game-illustration rect,.game-illustration circle,.game-illustration ellipse{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.game-illustration text{fill:currentColor;stroke:none;font:700 30px "Chakra Petch",sans-serif;text-anchor:start}.game-illustration .visual-number{font-size:78px}
.game-illustration .visual-solid{fill:var(--game-accent);stroke:none}.game-illustration .visual-pieces circle,.game-illustration .visual-pips circle{fill:var(--game-accent-2);stroke:none}.game-illustration .visual-cards rect{fill:color-mix(in srgb,var(--game-accent) 12%,#101827);stroke:var(--game-accent)}.game-illustration .visual-lights circle{fill:color-mix(in srgb,var(--game-accent) 78%,white);stroke:none;filter:drop-shadow(0 0 8px var(--game-accent))}.game-illustration .visual-lights circle:nth-child(2),.game-illustration .visual-lights circle:nth-child(4),.game-illustration .visual-lights circle:nth-child(8){fill:#192131;filter:none}.game-illustration .visual-dots circle{fill:#111927;stroke:rgba(255,255,255,.12)}.game-illustration .visual-dots circle:nth-child(7),.game-illustration .visual-dots circle:nth-child(8),.game-illustration .visual-dots circle:nth-child(9){fill:var(--game-accent);stroke:none}.game-illustration .visual-dots circle:nth-child(10),.game-illustration .visual-dots circle:nth-child(14){fill:var(--game-accent-2);stroke:none}.game-illustration .ttt-frame{fill:rgba(6,10,18,.55);stroke:color-mix(in srgb,var(--game-accent) 52%,transparent);stroke-width:2.5}.game-illustration .ttt-grid{stroke:rgba(255,255,255,.14);stroke-width:1.5}.game-illustration .ttt-win{stroke:var(--game-accent);stroke-width:2;stroke-dasharray:3 7;opacity:.5}.game-illustration .ttt-x{fill:none;stroke:var(--game-accent);stroke-width:7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--game-accent) 70%,transparent))}.game-illustration .ttt-o{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--game-accent-2) 70%,transparent))}.game-illustration .bs-sonar circle{fill:none;stroke:color-mix(in srgb,var(--game-accent) 55%,transparent);stroke-width:2}.game-illustration .bs-sweep{fill:none;stroke:var(--game-accent);stroke-width:2.5;stroke-linecap:round}.game-illustration .bs-blip{fill:var(--game-accent);stroke:none;filter:drop-shadow(0 0 5px var(--game-accent))}.game-illustration .bs-trail{fill:none;stroke:var(--game-accent-2);stroke-width:2.5;stroke-dasharray:1 6;stroke-linecap:round;opacity:.85}.game-illustration .bs-reticle path,.game-illustration .bs-reticle circle{fill:none;stroke:var(--game-accent);stroke-width:2;opacity:.85}.game-illustration .bs-boom path{fill:none;stroke:var(--coral);stroke-width:2.5;stroke-linecap:round}.game-illustration .bs-boom-core{fill:var(--sun);stroke:none;filter:drop-shadow(0 0 8px var(--sun))}.game-illustration .bs-hull{fill:color-mix(in srgb,var(--game-accent-2) 78%,#0a1019);stroke:none;filter:drop-shadow(0 0 12px color-mix(in srgb,var(--game-accent-2) 40%,transparent))}.game-illustration .bs-deck{fill:none;stroke:color-mix(in srgb,var(--game-accent) 60%,transparent);stroke-width:2}.game-illustration .bs-bridge{fill:var(--game-accent);stroke:none}.game-illustration .bs-mast{fill:none;stroke:var(--game-accent);stroke-width:2.5;stroke-linecap:round}.game-illustration .bs-flag{fill:var(--game-accent-2);stroke:none}.game-illustration .bs-gun{fill:none;stroke:var(--game-accent-2);stroke-width:5;stroke-linecap:round;filter:drop-shadow(0 0 7px color-mix(in srgb,var(--game-accent-2) 60%,transparent))}.game-illustration .bs-turret{fill:color-mix(in srgb,var(--game-accent-2) 40%,#0a1019);stroke:var(--game-accent-2);stroke-width:2}.game-illustration .bs-flash path{fill:none;stroke:var(--sun);stroke-width:3;stroke-linecap:round}.game-illustration .bs-flash circle{fill:var(--sun);stroke:none;filter:drop-shadow(0 0 6px var(--sun))}.game-illustration .bs-wave{fill:none;stroke:color-mix(in srgb,var(--game-accent-2) 45%,transparent);stroke-width:2;stroke-linecap:round;opacity:.7}
.game-tile:hover .game-illustration{transform:translateY(-4px) scale(1.045);filter:drop-shadow(0 0 22px color-mix(in srgb,var(--game-accent) 48%,transparent))}
.tile-copy{position:absolute;z-index:3;left:0;right:0;bottom:0;height:165px;padding:20px;display:flex;flex-direction:column;align-items:flex-start;background:linear-gradient(180deg,rgba(9,13,22,.55),#090d16 28%)}
.tile-copy h3{margin:0 0 7px;font:700 1.38rem "Chakra Petch",sans-serif;color:#fff;letter-spacing:-.02em}
.tile-description{display:block;min-height:38px;color:#98a5b8!important;font-size:.78rem!important;line-height:1.45;text-wrap:balance}
.tile-meta{width:100%;display:flex!important;align-items:center;justify-content:space-between;margin-top:auto;padding-top:12px;border-top:1px solid rgba(255,255,255,.09);font-family:"Chakra Petch",sans-serif}
.tile-meta b{color:#dbe4f1;font-size:.58rem;letter-spacing:.1em}.tile-meta i{color:var(--game-accent);font-size:.58rem;font-style:normal;font-weight:700;letter-spacing:.08em}
@supports not (color:color-mix(in srgb,white,black)){.game-tile::before{background:radial-gradient(circle at 72% 22%,rgba(21,151,255,.2),transparent 42%)}.tile-category{color:var(--game-accent)}.tile-visual{background:#0c121e}}
@media(max-width:780px){.game-tile{min-height:355px}.tile-visual{height:210px}.tile-copy{height:158px}.game-illustration{height:146px}}
@media(max-width:480px){.game-tile{min-height:365px}.tile-visual{height:220px}.tile-copy{height:160px}.game-illustration{width:82%;height:152px}}

/* Batalla Naval — deployment and combat interface */
.naval-game{width:100%;color:#e8f0fb}.naval-command{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding:14px 16px;border:1px solid rgba(21,151,255,.22);border-radius:8px;background:linear-gradient(90deg,rgba(21,151,255,.1),rgba(0,217,154,.05))}.naval-command>div:first-child span{color:#6e829d;font:700 .58rem "Chakra Petch",sans-serif;letter-spacing:.16em}.naval-command h4{margin:4px 0 0;color:#fff;font:700 .9rem "Chakra Petch",sans-serif;letter-spacing:.06em}.naval-legend{display:flex;gap:14px;color:#8999ae;font:600 .62rem "Chakra Petch",sans-serif}.naval-legend span{display:flex;align-items:center;gap:6px}.naval-legend i{position:relative;width:10px;height:10px;border-radius:50%;display:inline-block}.pin-hit{background:#ff304d;box-shadow:0 0 10px rgba(255,48,77,.8)}.pin-miss{background:#16df82;box-shadow:0 0 10px rgba(22,223,130,.72)}
.fleet-dock{margin-bottom:18px;padding:15px;border:1px solid rgba(255,255,255,.11);border-radius:8px;background:rgba(7,11,19,.78)}.fleet-dock-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.fleet-dock-heading>div{display:flex;flex-direction:column}.fleet-dock-heading small{color:var(--emerald);font:700 .57rem "Chakra Petch",sans-serif;letter-spacing:.15em}.fleet-dock-heading strong{margin-top:3px;color:#dbe5f2;font-size:.75rem}.orientation-button{border:1px solid rgba(255,213,36,.28);border-radius:5px;background:rgba(255,213,36,.08);color:var(--sun);padding:9px 11px;font:700 .59rem "Chakra Petch",sans-serif;letter-spacing:.07em;cursor:pointer}.orientation-button:disabled{opacity:.35;cursor:not-allowed}.fleet-units{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.fleet-unit{min-width:0;min-height:88px;padding:9px 7px;border:1px solid rgba(255,255,255,.11);border-radius:6px;background:#111927;color:#d9e5f3;display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;cursor:pointer;transition:.16s ease}.fleet-unit:hover:not(:disabled),.fleet-unit.selected{border-color:var(--sun);background:rgba(255,213,36,.08);transform:translateY(-2px)}.fleet-unit i{color:var(--sun);font-style:normal;font-size:1.05rem}.fleet-unit span{display:flex;flex-direction:column;min-width:0}.fleet-unit b{font:700 .64rem "Chakra Petch",sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.fleet-unit small{color:#77879d;font-size:.55rem}.fleet-unit em{margin-top:auto;color:var(--emerald);font:700 .5rem "Chakra Petch",sans-serif;font-style:normal;letter-spacing:.08em}.fleet-unit.placed{opacity:.48;border-style:dashed}.fleet-unit.placed em{color:#8a99ad}.fleet-unit:disabled{cursor:not-allowed}
.naval-boards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.naval-board-panel{min-width:0;padding:13px;border:1px solid rgba(255,255,255,.11);border-radius:8px;background:rgba(7,11,19,.88)}.naval-board-panel.enemy{border-color:rgba(255,59,84,.18)}.naval-board-title{display:flex;align-items:center;gap:9px;margin-bottom:10px}.naval-board-title>span{width:31px;height:31px;display:grid;place-items:center;border:1px solid rgba(21,151,255,.32);border-radius:5px;color:#75bcff;font:700 .62rem "Chakra Petch",sans-serif}.naval-board-panel.enemy .naval-board-title>span{border-color:rgba(255,59,84,.35);color:#ff8394}.naval-board-title div{display:flex;flex-direction:column}.naval-board-title small{color:#6e7d92;font:700 .52rem "Chakra Petch",sans-serif;letter-spacing:.13em}.naval-board-title h5{margin:0;color:#eaf2fd;font:700 .75rem "Chakra Petch",sans-serif;letter-spacing:.08em}
.naval-grid{display:grid;grid-template-columns:18px repeat(10,minmax(24px,1fr));gap:2px;width:100%;max-width:360px;margin:auto}.naval-axis{height:18px;display:grid;place-items:center;color:#63758e;font:700 .48rem "Chakra Petch",sans-serif}.naval-cell{position:relative;aspect-ratio:1;border:1px solid rgba(71,130,181,.25);border-radius:2px;background:linear-gradient(145deg,rgba(14,56,82,.82),rgba(8,34,57,.88));color:#bfe8ff;padding:0;display:grid;place-items:center;cursor:pointer;overflow:visible;transition:.12s ease}.naval-cell:not(:disabled):hover{z-index:2;border-color:var(--sun);background:rgba(255,213,36,.16);box-shadow:0 0 12px rgba(255,213,36,.2);transform:scale(1.08)}.naval-cell:disabled{opacity:1;cursor:default}.naval-cell.has-ship{border-color:rgba(255,213,36,.5);background:linear-gradient(145deg,#2b3440,#151c27);box-shadow:inset 0 -3px rgba(255,213,36,.16)}.naval-cell.has-ship b{color:var(--sun);font:700 .55rem "Chakra Petch",sans-serif}.shot-pin{position:relative;width:12px;height:12px;border:2px solid rgba(255,255,255,.82);border-radius:50%;display:block;z-index:2}.shot-pin::after{content:"";position:absolute;left:50%;top:8px;width:2px;height:8px;background:inherit;transform:translateX(-50%);filter:brightness(.85)}.naval-cell.was-hit{border-color:rgba(255,48,77,.55);background:radial-gradient(circle,rgba(255,48,77,.26),rgba(63,12,23,.82))}.naval-cell.was-miss{border-color:rgba(22,223,130,.42);background:radial-gradient(circle,rgba(22,223,130,.2),rgba(7,49,41,.8))}
@media(max-width:820px){.naval-command{align-items:flex-start;flex-direction:column}.fleet-units{grid-template-columns:repeat(3,1fr)}.naval-boards{grid-template-columns:1fr}.naval-board-panel{width:min(100%,430px);margin:auto}.naval-grid{max-width:390px}}
@media(max-width:480px){.fleet-dock-heading{align-items:flex-start;flex-direction:column}.fleet-units{grid-template-columns:repeat(2,1fr)}.naval-board-panel{padding:9px}.naval-grid{grid-template-columns:15px repeat(10,minmax(21px,1fr));gap:1px}.naval-axis{height:15px}.naval-legend{flex-wrap:wrap}.naval-command h4{font-size:.75rem}}

/* Shared game framework: participants, live statistics and restart */
.player-bar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;margin:16px 22px 8px;overflow:hidden}
.player-bar[hidden]{display:none}.player-bar-item{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;color:#aeb9c9}.player-bar-item>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:700;letter-spacing:.04em}.player-symbol{width:34px;height:34px;display:grid;place-items:center;border-radius:6px;color:#fff;font-weight:800}.player-score{min-width:32px;color:#fff;font-size:1.25rem;font-weight:800;text-align:right}.player-bar-vs{display:grid;place-items:center;padding:0 12px;border-inline:1px solid rgba(255,255,255,.09);font:800 .62rem "Chakra Petch",sans-serif;letter-spacing:.12em}
.match-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:8px 22px 0;border:1px solid rgba(255,255,255,.1);border-radius:7px;overflow:hidden;background:rgba(255,255,255,.08)}.match-metrics>div{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:9px 12px;background:#090e18}.match-metrics span{color:#68778d;font:700 .52rem "Chakra Petch",sans-serif;letter-spacing:.12em}.match-metrics strong{overflow:hidden;color:#eaf2fc;font:700 .72rem "Chakra Petch",sans-serif;text-overflow:ellipsis;white-space:nowrap}
.game-actions{padding:14px 22px 20px;border-top:1px solid rgba(255,255,255,.08);background:rgba(5,8,14,.48)}.restart-game-button{width:100%;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:12px 16px;border:1px solid rgba(255,213,36,.28);border-radius:7px;background:linear-gradient(90deg,rgba(255,213,36,.13),rgba(21,151,255,.08));color:#fff;cursor:pointer;text-align:left;transition:.18s ease}.restart-game-button>span{grid-row:1/3;color:var(--sun);font:700 1.8rem "Chakra Petch",sans-serif}.restart-game-button b{font:700 .76rem "Chakra Petch",sans-serif;letter-spacing:.07em}.restart-game-button small{margin-top:2px;color:#7e8da2;font-size:.64rem}.restart-game-button:hover:not(:disabled){border-color:var(--sun);transform:translateY(-1px);box-shadow:0 10px 28px rgba(0,0,0,.25)}.restart-game-button:disabled{cursor:not-allowed;opacity:.45}
@media(max-width:620px){.player-bar{margin-inline:10px}.player-bar-item{gap:7px;padding:10px 8px}.player-symbol{width:29px;height:29px}.player-score{font-size:1rem}.match-metrics{grid-template-columns:repeat(2,1fr);margin-inline:10px}.game-actions{padding-inline:10px}}

/* Parqués Colombiano */
.parques-game{width:min(100%,760px);color:#eef5ff}.parques-command{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;padding:14px 16px;border:1px solid rgba(255,213,36,.24);border-radius:10px;background:linear-gradient(110deg,rgba(255,213,36,.12),rgba(0,217,154,.08))}.parques-command>div{display:flex;flex-direction:column}.parques-command span{color:#8fa4bc;font:700 .58rem "Chakra Petch",sans-serif;letter-spacing:.16em}.parques-command strong{margin-top:4px;color:#fff;font:700 1rem "Chakra Petch",sans-serif}.parques-dice-button{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border:1px solid rgba(255,213,36,.2);border-radius:8px;background:rgba(255,213,36,.08);color:#ffd524}.parques-dice-button>b{font:700 .82rem "Chakra Petch",sans-serif}.parques-dice-button>small{color:#b8c7d8;font-size:.55rem}.parques-table{position:relative;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:linear-gradient(145deg,#183f31,#0f2c24);box-shadow:0 20px 40px rgba(0,0,0,.3)}.parques-board{position:relative;width:100%;aspect-ratio:1;border:7px solid #bc8b43;border-radius:12px;background:#e7d5ae;overflow:hidden;box-shadow:inset 0 0 0 2px rgba(80,38,12,.35),inset 0 0 35px rgba(89,46,15,.22)}.parques-board:before{content:"";position:absolute;inset:0;background-image:linear-gradient(45deg,rgba(109,65,23,.04) 25%,transparent 25%,transparent 75%,rgba(109,65,23,.04) 75%),linear-gradient(45deg,rgba(109,65,23,.04) 25%,transparent 25%,transparent 75%,rgba(109,65,23,.04) 75%);background-size:18px 18px;background-position:0 0,9px 9px;pointer-events:none}.parques-home{position:absolute;width:29%;height:29%;border-radius:18px;box-shadow:inset 0 0 0 5px rgba(255,255,255,.27),0 5px 15px rgba(73,42,10,.16);z-index:3}.parques-home span{position:absolute;bottom:8px;left:0;right:0;text-align:center;font:700 .55rem "Chakra Petch",sans-serif;letter-spacing:.12em;color:rgba(31,23,14,.6)}.home-yellow{left:4%;top:4%;background:#f0c929}.home-blue{right:4%;top:4%;background:#3b8dc8}.home-red{left:4%;bottom:4%;background:#d95548}.home-green{right:4%;bottom:4%;background:#48a46d}.parques-center{position:absolute;z-index:2;left:43%;top:43%;width:14%;height:14%;display:grid;place-items:center;border-radius:50%;background:#f6edcf;border:3px solid #b7863d;color:#715229;font:800 .58rem "Chakra Petch",sans-serif;letter-spacing:.08em}.parques-path-cell{position:absolute;z-index:2;width:5.2%;height:5.2%;transform:translate(-50%,-50%);border:1px solid rgba(91,55,17,.25);border-radius:4px;background:rgba(255,250,228,.78);box-shadow:inset 0 1px rgba(255,255,255,.8)}.parques-path-cell.is-safe{background:#d8efd7;border-color:#4b956a;box-shadow:inset 0 0 0 2px rgba(63,137,88,.18)}.parques-piece{position:absolute;z-index:5;width:7.2%;height:7.2%;transform:translate(-50%,-50%);padding:0;border:0;border-radius:50%;cursor:default;background:transparent}.parques-piece>span{display:block;width:100%;height:100%;border:2px solid rgba(255,255,255,.85);border-radius:50%;box-shadow:inset 0 -4px 5px rgba(0,0,0,.27),0 3px 6px rgba(35,23,8,.3)}.parques-piece:disabled{opacity:1}.parques-piece.is-movable{cursor:pointer;animation:parquesPulse 1s ease-in-out infinite alternate}.parques-yellow>span,.parques-dot.parques-yellow{background:#f4ca26}.parques-blue>span,.parques-dot.parques-blue{background:#317fba}.parques-red>span,.parques-dot.parques-red{background:#d9493e}.parques-green>span,.parques-dot.parques-green{background:#43a067}@keyframes parquesPulse{from{filter:brightness(1);transform:translate(-50%,-50%) scale(1)}to{filter:brightness(1.25);transform:translate(-50%,-50%) scale(1.14)}}.parques-player-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:13px}.parques-player{min-width:0;display:grid;grid-template-columns:auto 1fr;column-gap:7px;align-items:center;padding:8px 9px;border:1px solid rgba(255,255,255,.1);border-radius:7px;background:rgba(4,14,23,.48);color:#b6c5d7}.parques-player.is-turn{border-color:#ffd524;background:rgba(255,213,36,.1);color:#fff}.parques-player span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:700}.parques-player small{grid-column:2;color:#72859d;font-size:.55rem}.parques-dot{width:17px;height:17px;border-radius:50%;grid-row:1/3;border:1px solid rgba(255,255,255,.65)}.parques-hint{margin:11px 0 0;text-align:center;color:#9aacc0;font-size:.72rem}.parques-reaction{position:absolute;left:50%;top:42%;z-index:20;font-size:3.2rem;animation:parquesReaction 1.7s ease-out both;pointer-events:none}@keyframes parquesReaction{0%{opacity:0;transform:translate(-50%,20px) scale(.4)}20%{opacity:1;transform:translate(-50%,0) scale(1.1)}100%{opacity:0;transform:translate(-50%,-80px) scale(1)}}.quick-reactions{display:flex;gap:5px;margin-top:9px}.quick-reactions button{width:29px;height:29px;padding:0;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.05);cursor:pointer;font-size:.86rem}.quick-reactions button:hover{transform:translateY(-2px);background:rgba(255,213,36,.12)}
@media(max-width:560px){.parques-command{align-items:flex-start;flex-direction:column}.parques-dice-button{width:100%}.parques-table{padding:8px}.parques-player-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.parques-home span{font-size:.42rem}.parques-path-cell{border-radius:2px}.parques-command strong{font-size:.88rem}}
.parques-ready-button{width:100%;margin:0 0 12px;padding:12px;border:1px solid rgba(0,217,154,.35);border-radius:8px;background:rgba(0,217,154,.12);color:#72f0c3;font:700 .72rem "Chakra Petch",sans-serif;letter-spacing:.1em;cursor:pointer}.parques-ready-button:hover{background:rgba(0,217,154,.2)}.parques-lobby-actions{display:flex;flex-direction:column;gap:10px;margin:0 0 12px}.parques-bots-button{padding:12px;border:1px solid rgba(255,213,36,.35);border-radius:8px;background:rgba(255,213,36,.12);color:#ffd524;font:700 .72rem "Chakra Petch",sans-serif;letter-spacing:.08em;cursor:pointer}.parques-bots-button:hover{background:rgba(255,213,36,.2)}.parques-bot-tag{display:inline-block;margin-left:4px;padding:1px 5px;border-radius:3px;background:#111927;color:#ffd524;font:700 .5rem "Chakra Petch",sans-serif;letter-spacing:.08em;vertical-align:middle}

/* Traditional Colombian Parques board: four homes, cross-shaped route and colour lanes. */
.parques-board{border:5px solid #7b4a20;border-radius:4px;background:#f6edcf;box-shadow:inset 0 0 0 2px #d7b87a,inset 0 0 30px rgba(92,55,18,.18)}
.parques-board:before{background-image:linear-gradient(90deg,rgba(105,64,22,.055) 1px,transparent 1px),linear-gradient(rgba(105,64,22,.055) 1px,transparent 1px);background-size:5.88235% 5.88235%;background-position:0 0}
.parques-home{width:28%;height:28%;border-radius:5px;box-shadow:inset 0 0 0 2px rgba(78,42,12,.46),0 3px 8px rgba(73,42,10,.14)}
.parques-home:before{content:"";position:absolute;inset:10%;border:1px solid rgba(74,41,14,.38);background:rgba(255,250,224,.9);box-shadow:inset 0 0 0 2px rgba(255,255,255,.42)}
.parques-home span{z-index:1;bottom:4%;color:rgba(56,32,12,.72);font-size:.48rem;text-shadow:0 1px rgba(255,255,255,.45)}
.home-red{left:3%;top:3%;bottom:auto;background:#e2473d}.home-green{right:3%;top:3%;bottom:auto;background:#42a75a}.home-yellow{left:3%;right:auto;top:auto;bottom:3%;background:#f2d628}.home-blue{right:3%;top:auto;bottom:3%;background:#3579dc}
.parques-path-cell,.parques-final-cell{width:5.7%;height:5.7%;border-radius:0;box-sizing:border-box}
.parques-path-cell{background:rgba(255,251,232,.96);border-color:rgba(83,48,16,.43);box-shadow:inset 0 1px rgba(255,255,255,.85)}
.parques-path-cell.is-safe{background:#c39052;border-color:#70451f;box-shadow:inset 0 0 0 1px rgba(255,235,181,.55)}
.parques-final-cell{position:absolute;z-index:2;transform:translate(-50%,-50%);border:1px solid rgba(72,39,12,.52);box-shadow:inset 0 1px rgba(255,255,255,.32)}
.parques-final-cell.parques-yellow{background:#f2d628}.parques-final-cell.parques-blue{background:#3579dc}.parques-final-cell.parques-red{background:#e2473d}.parques-final-cell.parques-green{background:#42a75a}
.parques-center{z-index:3;left:37%;top:37%;width:26%;height:26%;border:3px solid #8b5724;border-radius:50%;background:#12d8dc;color:#174c51;box-shadow:inset 0 0 0 2px rgba(255,255,255,.42),0 3px 7px rgba(79,45,12,.28);font-size:.62rem}
.parques-piece{width:6.6%;height:6.6%;z-index:6}.parques-piece>span{border-color:rgba(255,255,255,.92);box-shadow:inset 0 -3px 4px rgba(0,0,0,.28),0 2px 4px rgba(35,23,8,.35)}
@media(max-width:560px){.parques-home:before{inset:8%}.parques-home span{font-size:.37rem}.parques-center{font-size:.48rem}.parques-piece{width:7.4%;height:7.4%}}

.parques-path-cell{display:grid;place-items:center;overflow:visible}
.parques-path-cell b{color:#fff8df;font:800 .28rem/1 "Chakra Petch",sans-serif;letter-spacing:-.04em;text-shadow:0 1px 1px rgba(49,24,7,.72);white-space:nowrap;transform:scale(.88)}
.parques-path-cell.is-safe:not(.is-exit){background:#825021;border-color:#573313;box-shadow:inset 0 0 0 1px rgba(255,237,193,.48)}
.parques-path-cell.is-exit{box-shadow:inset 0 0 0 1px rgba(255,255,255,.62),0 0 0 1px rgba(75,41,12,.38)}
.parques-path-cell.is-exit.parques-yellow{background:#e3c420}.parques-path-cell.is-exit.parques-blue{background:#2e69c5}.parques-path-cell.is-exit.parques-red{background:#c83b34}.parques-path-cell.is-exit.parques-green{background:#328b49}
@media(max-width:560px){.parques-path-cell b{font-size:.22rem}}

/* Stable 68-square board geometry, modelled after a traditional Parques board. */
.parques-table{padding:10px;border-color:rgba(211,158,74,.35);border-radius:12px;background:linear-gradient(145deg,#173c2f,#0b251d);box-shadow:0 18px 42px rgba(0,0,0,.34)}
.parques-board{border:4px solid #5e3a1d;border-radius:3px;background:#f4f0e4;box-shadow:inset 0 0 0 2px #c9a76b,0 5px 18px rgba(0,0,0,.28)}
.parques-board:before{z-index:0;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.7),transparent 42%),linear-gradient(135deg,rgba(104,66,30,.035) 25%,transparent 25%,transparent 75%,rgba(104,66,30,.035) 75%);background-size:auto,18px 18px}
.parques-home{width:35%;height:35%;border:1px solid rgba(68,39,19,.6);border-radius:0;box-shadow:inset 0 0 24px rgba(255,255,255,.3)}
.home-red{left:0;top:0;right:auto;bottom:auto;background:#d96870}.home-green{right:0;top:0;left:auto;bottom:auto;background:#83bd86}.home-blue{left:0;bottom:0;right:auto;top:auto;background:#78b8de}.home-yellow{right:0;bottom:0;left:auto;top:auto;background:#f2dba0}
.parques-home:before{inset:6%;border:2px solid rgba(34,39,29,.72);border-radius:50%;background:radial-gradient(circle at 50% 46%,rgba(255,255,255,.92) 0 3%,rgba(255,255,255,.25) 19%,transparent 38%),radial-gradient(circle,rgba(255,255,255,.16) 0 47%,rgba(37,54,35,.68) 48% 58%,transparent 59%);box-shadow:inset 0 0 0 9px rgba(255,255,255,.07),0 0 0 5px rgba(42,45,34,.22)}
.parques-home:after{content:"✦";position:absolute;inset:19%;display:grid;place-items:center;border-radius:50%;color:rgba(255,255,255,.55);font-size:clamp(2rem,8vw,5.6rem);line-height:1;text-shadow:0 0 14px rgba(255,255,255,.9);pointer-events:none}
.parques-home span{z-index:2;bottom:3%;color:rgba(29,31,24,.74);font-size:.46rem;letter-spacing:.14em;text-shadow:0 1px rgba(255,255,255,.5)}
.parques-path-cell,.parques-final-cell{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:translate(-50%,-50%);box-sizing:border-box;border:1px solid #5e5547;border-radius:0;overflow:hidden}
.parques-path-cell.axis-v,.parques-final-cell.axis-v{width:10%;height:5%}.parques-path-cell.axis-h,.parques-final-cell.axis-h{width:5%;height:10%}
.parques-path-cell.axis-s{width:5%;height:5%}
.parques-path-cell{background:linear-gradient(145deg,#fffef8,#e8e5d9);box-shadow:inset 0 1px rgba(255,255,255,.9)}
.parques-path-cell b{display:grid;place-items:center;min-width:1.4em;height:1.4em;padding:0 2px;border:0;color:#20241f;font:800 clamp(.34rem,1.25vw,.66rem)/1 "Chakra Petch",sans-serif;letter-spacing:-.04em;text-shadow:none;transform:none}
.parques-path-cell small{position:absolute;right:2px;bottom:1px;color:#4c3420;font:800 clamp(.18rem,.62vw,.34rem)/1 "Chakra Petch",sans-serif;letter-spacing:-.04em}
.parques-path-cell.is-safe:not(.is-exit){background:linear-gradient(145deg,#eef1eb,#d8ddd6);border-color:#595f58;box-shadow:inset 0 0 0 1px rgba(255,255,255,.75)}
.parques-path-cell.is-safe:not(.is-exit).parques-yellow{background:linear-gradient(145deg,#fff3a8,#ead029)}
.parques-path-cell.is-safe:not(.is-exit).parques-blue{background:linear-gradient(145deg,#9fe6fb,#19abe0)}
.parques-path-cell.is-safe:not(.is-exit).parques-red{background:linear-gradient(145deg,#f5a0a6,#d82735)}
.parques-path-cell.is-safe:not(.is-exit).parques-green{background:linear-gradient(145deg,#a9e0b6,#38a85a)}
.parques-path-cell.is-safe b{border:1.5px solid #5b625d;border-radius:50%;background:rgba(255,255,255,.42)}
.parques-path-cell.is-exit{border-color:#413b2f;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}
.parques-path-cell.is-exit.parques-yellow{background:#f4d91d}.parques-path-cell.is-exit.parques-blue{background:#18aee1}.parques-path-cell.is-exit.parques-red{background:#d92735}.parques-path-cell.is-exit.parques-green{background:#38a85a}
.parques-path-cell.is-exit small{color:rgba(15,28,20,.78)}
.parques-final-cell{box-shadow:inset 0 1px rgba(255,255,255,.38)}
.parques-final-cell b{color:rgba(17,27,20,.58);font:800 clamp(.28rem,.85vw,.48rem)/1 "Chakra Petch",sans-serif}
.parques-final-cell.parques-yellow{background:#f4dc28}.parques-final-cell.parques-blue{background:#19abe0}.parques-final-cell.parques-red{background:#d82735}.parques-final-cell.parques-green{background:#38a85a}
.parques-center{z-index:3;left:40%;top:40%;width:20%;height:20%;border:2px solid #4b3b25;border-radius:0;background:conic-gradient(from -45deg,#d82735 0 25%,#38a85a 0 50%,#f4dc28 0 75%,#19abe0 0);box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),0 2px 5px rgba(59,38,15,.32);font-size:0}
.parques-center span{width:42%;height:42%;display:grid;place-items:center;border:2px solid rgba(255,255,255,.75);border-radius:50%;background:#123b36;color:#fff;font:800 clamp(.3rem,1vw,.56rem)/1 "Chakra Petch",sans-serif;letter-spacing:.08em;box-shadow:0 2px 8px rgba(0,0,0,.34)}
.parques-yellow{--piece:#f4d51f;--piece-dark:#a67800}.parques-blue{--piece:#16ace4;--piece-dark:#075d96}.parques-red{--piece:#e23642;--piece-dark:#8d1725}.parques-green{--piece:#38ae5d;--piece-dark:#176b36}
.parques-piece{z-index:7;width:5.8%;height:5.8%;filter:drop-shadow(0 2px 2px rgba(44,25,11,.42))}
.parques-piece>span{position:relative;width:100%;height:100%;border:2px solid rgba(255,255,255,.9);border-radius:50%;background:radial-gradient(circle at 32% 25%,#fff 0 6%,rgba(255,255,255,.55) 7%,var(--piece) 35%,var(--piece-dark) 100%);box-shadow:inset 0 -3px 5px rgba(0,0,0,.28),inset 0 2px 3px rgba(255,255,255,.52),0 0 0 1px var(--piece-dark),0 3px 5px rgba(35,23,8,.34)}
.parques-piece>span:before{content:"";position:absolute;inset:18%;border:1px solid rgba(255,255,255,.58);border-radius:50%;box-shadow:inset 0 0 5px rgba(255,255,255,.42)}
.parques-piece>span:after{content:"";position:absolute;left:29%;top:20%;width:18%;height:10%;border-radius:50%;background:rgba(255,255,255,.82);transform:rotate(-28deg)}
.parques-piece.is-movable>span{outline:2px solid #fff;outline-offset:2px;box-shadow:inset 0 -3px 5px rgba(0,0,0,.25),0 0 0 3px var(--piece),0 0 14px 5px rgba(255,226,75,.68)}
.parques-piece.is-selected>span{outline:3px solid var(--sun);outline-offset:3px;box-shadow:inset 0 -3px 5px rgba(0,0,0,.25),0 0 0 4px var(--piece),0 0 22px 8px rgba(255,226,75,.9);transform:scale(1.15)}
.parques-shadow-marker{position:absolute;z-index:40;width:clamp(28px,4.8vw,38px);height:clamp(28px,4.8vw,38px);transform:translate(-50%,-50%);border-radius:9px;background:linear-gradient(145deg,#fff6b5,#ffd524 58%,#b87900);border:2px solid #fff8d2;box-shadow:0 3px 8px rgba(0,0,0,.68),0 0 0 2px rgba(20,30,25,.72),0 0 14px rgba(255,213,36,.55);display:grid;place-items:center;cursor:pointer;pointer-events:auto;transition:transform .14s ease,box-shadow .14s ease}
.parques-shadow-marker:hover,.parques-shadow-marker:focus-visible{transform:translate(-50%,-50%) scale(1.12);box-shadow:0 0 20px 8px rgba(255,213,36,.52);outline:none}
.parques-shadow-marker>b{color:#17261f;font:900 clamp(.72rem,1.8vw,1rem)/1 "Chakra Petch",sans-serif;text-shadow:0 1px rgba(255,255,255,.72);pointer-events:none}
.parques-shadow-marker.parques-yellow{border-color:rgba(244,213,31,.7);background:rgba(244,213,31,.25);box-shadow:0 0 14px 4px rgba(244,213,31,.28)}
.parques-shadow-marker.parques-blue{border-color:rgba(22,172,228,.7);background:rgba(22,172,228,.25);box-shadow:0 0 14px 4px rgba(22,172,228,.28)}
.parques-shadow-marker.parques-red{border-color:rgba(226,54,66,.7);background:rgba(226,54,66,.25);box-shadow:0 0 14px 4px rgba(226,54,66,.28)}
.parques-shadow-marker.parques-green{border-color:rgba(56,174,93,.7);background:rgba(56,174,93,.25);box-shadow:0 0 14px 4px rgba(56,174,93,.28)}
.parques-shadow-marker.parques-yellow,.parques-shadow-marker.parques-blue,.parques-shadow-marker.parques-red,.parques-shadow-marker.parques-green{background:linear-gradient(145deg,#fff6b5,#ffd524 58%,#b87900);border-color:#fff8d2;box-shadow:0 3px 8px rgba(0,0,0,.68),0 0 0 2px rgba(20,30,25,.72),0 0 14px rgba(255,213,36,.55)}
.parques-shadow-marker{width:clamp(24px,5.5%,34px);height:clamp(24px,5.5%,34px);z-index:60}
.parques-piece.is-selected{z-index:50!important;filter:drop-shadow(0 0 8px rgba(255,224,73,.95))}
.parques-last-action{margin:11px 0 0;padding:8px 10px;border-left:3px solid var(--emerald);background:rgba(0,217,154,.07);color:#c9d7e5;font-size:.67rem;text-align:center}
@media(max-width:560px){.parques-table{padding:5px}.parques-home span{font-size:.32rem}.parques-path-cell small{display:none}.parques-path-cell b{font-size:.29rem}.parques-final-cell b{font-size:.24rem}.parques-piece{width:6.5%;height:6.5%}.parques-center span{font-size:.28rem}}

/* Dados 3D, casas ocupadas y fichas numeradas. */
.parques-die{width:36px;height:36px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:2px;padding:6px;border:1px solid #d9dce2;border-radius:8px;background:linear-gradient(145deg,#fff 0%,#f1f2f5 54%,#c9ccd3 100%);box-shadow:inset 2px 2px 4px rgba(255,255,255,.95),inset -3px -4px 6px rgba(53,59,69,.2),0 5px 0 #8d929c,0 8px 12px rgba(0,0,0,.38);transform-style:preserve-3d}
.parques-die i{display:block;width:5px;height:5px;align-self:center;justify-self:center;border-radius:50%;background:transparent}.parques-die i.on{background:#17202c;box-shadow:inset 0 1px 2px rgba(0,0,0,.8),0 1px rgba(255,255,255,.8)}.parques-die.is-pending{background:linear-gradient(145deg,#d8dce2,#b9bec7);box-shadow:inset 2px 2px 4px rgba(255,255,255,.72),inset -3px -4px 6px rgba(53,59,69,.18),0 5px 0 #777d88,0 8px 12px rgba(0,0,0,.28)}.parques-die.is-pending:after{content:"?";grid-area:1/1/4/4;place-self:center;color:#5e6672;font:800 1rem "Chakra Petch",sans-serif}
.parques-dice-button.is-rolling .parques-die:first-child{animation:parquesDiceRoll .32s linear infinite}.parques-dice-button.is-rolling .parques-die:last-child{animation:parquesDiceRoll .32s .08s linear infinite reverse}
@keyframes parquesDiceRoll{0%{transform:rotateX(7deg) rotateY(-9deg) translateY(0)}50%{transform:rotateX(187deg) rotateY(171deg) translateY(-8px)}100%{transform:rotateX(367deg) rotateY(351deg) translateY(0)}}
.parques-home.is-empty{filter:saturate(.28);opacity:.62}.parques-home.is-empty:after{content:"+";color:rgba(255,255,255,.5)}
.parques-home.has-player span{padding:3px 7px;background:rgba(255,255,255,.7);font-weight:800}
.parques-piece>span>b{position:absolute;z-index:2;inset:0;display:grid;place-items:center;color:rgba(15,27,24,.76);font:900 clamp(.36rem,1vw,.64rem)/1 "Chakra Petch",sans-serif;text-shadow:0 1px rgba(255,255,255,.55)}
@media(max-width:560px){.parques-dice-button{min-width:0}.parques-die{width:32px;height:32px;padding:5px}.parques-piece>span>b{font-size:.34rem}}

/* Contraste fuerte para distinguir cada ficha y ver cada desplazamiento. */
.parques-yellow{--piece:#ffdf00;--piece-dark:#b88400}.parques-blue{--piece:#008cff;--piece-dark:#003f9f}.parques-red{--piece:#f52238;--piece-dark:#8f0718}.parques-green{--piece:#00bd4f;--piece-dark:#006a2c}
.parques-piece{z-index:12;width:8.1%;height:8.1%;filter:drop-shadow(0 4px 4px rgba(22,16,10,.58))}
.parques-piece>span{border:3px solid #fff;background:radial-gradient(circle at 31% 23%,#fff 0 7%,rgba(255,255,255,.68) 8%,var(--piece) 34%,var(--piece-dark) 100%);box-shadow:inset 0 -5px 7px rgba(0,0,0,.32),inset 0 3px 4px rgba(255,255,255,.65),0 0 0 2px rgba(22,26,25,.82),0 5px 8px rgba(24,18,10,.5)}
.parques-piece>span>b{color:#fff;font-size:clamp(.48rem,1.35vw,.82rem);text-shadow:0 1px 2px #000,0 0 2px #000}
.parques-piece.is-travelling{z-index:18;filter:drop-shadow(0 7px 7px rgba(0,0,0,.62));animation:parquesTravelling .24s ease-in-out infinite alternate}
@keyframes parquesTravelling{from{transform:translate(-50%,-50%) scale(1.04)}to{transform:translate(-50%,-57%) scale(1.2)}}
.home-red{background:#e85b67}.home-green{background:#55bb78}.home-blue{background:#45aee8}.home-yellow{background:#f5d746}
.parques-dot{box-shadow:0 0 0 2px rgba(255,255,255,.28),0 2px 5px rgba(0,0,0,.4)}
@media(max-width:560px){.parques-piece{width:9%;height:9%}.parques-piece>span>b{font-size:.46rem}}

/* Proporción tradicional, cárceles compactas e identidad natural colombiana sin texto. */
.parques-home{width:32%;height:32%;border:2px solid rgba(52,35,18,.78);box-shadow:inset 0 0 20px rgba(255,255,255,.28),0 4px 9px rgba(57,35,15,.2)}
.home-red{left:1%;top:1%;right:auto;bottom:auto;background:linear-gradient(145deg,#ef747c,#bd3442)}
.home-green{right:1%;top:1%;left:auto;bottom:auto;background:linear-gradient(145deg,#77ca8b,#278b4a)}
.home-blue{left:1%;bottom:1%;right:auto;top:auto;background:linear-gradient(145deg,#69c6ed,#1678ba)}
.home-yellow{right:1%;bottom:1%;left:auto;top:auto;background:linear-gradient(145deg,#ffe470,#d9a915)}
.parques-home:before{inset:7%;border:2px solid rgba(255,255,255,.72);border-radius:50%;background:radial-gradient(circle at 50% 48%,rgba(255,255,255,.34),rgba(255,255,255,.08) 58%,rgba(20,42,31,.2) 59%,rgba(20,42,31,.32) 67%,transparent 68%);box-shadow:inset 0 0 0 2px rgba(34,42,31,.28),0 0 0 3px rgba(255,255,255,.16)}
.parques-home:after{content:none}
.parques-home-art{position:absolute;z-index:1;inset:11%;width:78%;height:72%;fill:none;stroke:rgba(255,255,255,.88);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 2px rgba(20,39,30,.34))}
.parques-home-art circle:first-child{fill:rgba(255,224,73,.82);stroke:rgba(255,255,255,.76)}
.parques-home-art .mountain-back{fill:rgba(21,79,56,.4)}.parques-home-art .mountain-front{fill:rgba(9,57,42,.56)}.parques-home-art .river{stroke:#d9f5ff;stroke-width:5}.parques-home-art .palm-trunk,.parques-home-art .palm-leaf{stroke:#efffdc}.parques-home-art .coffee{fill:#8b1f2d;stroke:#ffe5cf}.parques-home-art .coffee-leaf{fill:rgba(32,110,59,.68)}
.parques-home span{z-index:3;bottom:2.5%;font-size:clamp(.34rem,.92vw,.52rem);color:#17261f;background:rgba(255,255,255,.82);border:1px solid rgba(34,45,37,.2);text-shadow:none}
.parques-home.has-player span{padding:3px 7px;background:rgba(255,255,255,.86)}

.parques-piece{z-index:12;width:4.4%;height:4.4%;filter:drop-shadow(0 2px 3px rgba(22,16,10,.62))}
.parques-piece>span{border-width:2px;box-shadow:inset 0 -3px 5px rgba(0,0,0,.34),inset 0 2px 3px rgba(255,255,255,.66),0 0 0 1.5px rgba(18,24,22,.9),0 3px 5px rgba(24,18,10,.48)}
.parques-piece>span>b{font-size:clamp(.34rem,.9vw,.55rem)}
.parques-piece.is-movable>span{outline:2px solid #fff;outline-offset:2px;box-shadow:inset 0 -3px 5px rgba(0,0,0,.25),0 0 0 3px var(--piece),0 0 11px 4px rgba(255,226,75,.72)}

/* Los cuatro giros se leen como un solo cuadro dividido por diagonal. */
.parques-path-cell.axis-d{z-index:4;width:10%;height:10%;background:linear-gradient(145deg,#fffef8,#dcd9cc);border:1px solid #4e463a;filter:drop-shadow(0 0 1px rgba(41,31,21,.8));overflow:hidden}
.parques-path-cell.diagonal-upper-left{clip-path:polygon(0 0,100% 0,0 100%)}
.parques-path-cell.diagonal-upper-right{clip-path:polygon(0 0,100% 0,100% 100%)}
.parques-path-cell.diagonal-lower-left{clip-path:polygon(0 0,0 100%,100% 100%)}
.parques-path-cell.diagonal-lower-right{clip-path:polygon(100% 0,100% 100%,0 100%)}
.parques-path-cell.axis-d b{position:absolute;min-width:1.55em;height:1.55em;border:1px solid rgba(53,47,39,.42);border-radius:50%;background:rgba(255,255,255,.78);font-size:clamp(.34rem,1vw,.58rem)}
.parques-path-cell.diagonal-upper-left b{left:24%;top:24%}.parques-path-cell.diagonal-upper-right b{left:68%;top:24%}.parques-path-cell.diagonal-lower-left b{left:24%;top:68%}.parques-path-cell.diagonal-lower-right b{left:68%;top:68%}

/* Seguros del color de cada jugador, con sello visible. */
.parques-path-cell.is-safe:not(.is-exit).parques-yellow{background:linear-gradient(145deg,#fff27a,#f0c900);border-color:#8e7000}
.parques-path-cell.is-safe:not(.is-exit).parques-blue{background:linear-gradient(145deg,#72d9ff,#078bdf);border-color:#03548c}
.parques-path-cell.is-safe:not(.is-exit).parques-red{background:linear-gradient(145deg,#ff7f8b,#e51f35);border-color:#89101e}
.parques-path-cell.is-safe:not(.is-exit).parques-green{background:linear-gradient(145deg,#7be59c,#16a54a);border-color:#08652b}
.parques-path-cell.is-safe:not(.is-exit) b{background:rgba(255,255,255,.78);border:2px solid currentColor;color:#17231e}
.parques-path-cell.is-safe em{position:absolute;left:3px;top:2px;color:rgba(255,255,255,.95);font:900 clamp(.32rem,.9vw,.58rem)/1 serif;text-shadow:0 1px 2px rgba(0,0,0,.48)}

.parques-center{overflow:hidden;background:conic-gradient(from -45deg,#e51f35 0 25%,#16a54a 0 50%,#f0cf12 0 75%,#078bdf 0);border:2px solid #3f321f;box-shadow:inset 0 0 0 2px rgba(255,255,255,.62),0 3px 8px rgba(55,35,15,.35)}
.parques-goal-art{width:86%;height:86%;fill:none;stroke:#f9fff7;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 2px rgba(0,0,0,.52))}
.parques-goal-art .goal-sun{fill:#ffd92f;stroke:#fff4b0}.parques-goal-art .goal-mountain-back{fill:#3c9b61}.parques-goal-art .goal-mountain-front{fill:#185d42}.parques-goal-art .goal-river{stroke:#bfefff;stroke-width:7}.parques-goal-art .goal-palm{stroke:#f1ffd9}.parques-goal-art .goal-coffee{fill:#bb2634;stroke:#ffe9d4}
.parques-last-action.is-start{border-left-color:#ffd524;background:rgba(255,213,36,.11);color:#fff2b1;font-weight:700}
.parques-player.is-turn{border-width:2px;box-shadow:0 0 0 2px rgba(255,213,36,.14),0 7px 18px rgba(0,0,0,.2)}
@media(max-width:560px){.parques-home{width:32%;height:32%}.parques-home-art{inset:9%;width:82%}.parques-home span{font-size:.3rem}.parques-piece{width:4.8%;height:4.8%}.parques-piece>span>b{font-size:.3rem}.parques-path-cell.axis-d b{font-size:.3rem}.parques-path-cell.is-safe em{font-size:.32rem}}

/* Selección de asiento y lectura de cuatro participantes. */
.play-dialog>select{width:100%;margin:0 0 13px;padding:12px 14px;border:1px solid rgba(255,255,255,.13);border-radius:7px;background:#070b13;color:#fff;outline:0}.play-dialog>select:focus{border-color:var(--emerald);box-shadow:0 0 0 3px rgba(18,97,72,.18)}
.join-form select{min-width:112px;border:0;border-left:1px solid rgba(255,255,255,.12);background:#0c121d;color:#fff;padding:0 10px;font:700 .65rem "Chakra Petch",sans-serif;outline:0}
.parques-player-bar{grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.09)}
.parques-player-bar .player-bar-item{background:#090e18;padding:10px 9px;gap:7px}.parques-player-bar .player-symbol{width:29px;height:29px;border-radius:50%;color:#fff;text-shadow:0 1px 2px #000}.parques-player-bar .player-score{min-width:auto;font-size:.54rem;letter-spacing:.08em;color:#8090a4}.parques-player-bar .player-bar-item.active{background:linear-gradient(120deg,rgba(255,213,36,.17),rgba(0,217,154,.1));box-shadow:inset 0 -3px #ffd524}
@media(max-width:700px){.parques-player-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.join-form select{min-width:92px}.parques-player-bar .player-bar-item{padding:8px}.parques-player-bar .player-symbol{width:25px;height:25px}}

/* Cada cárcel tiene un paisaje propio; la meta usa un cóndor y montañas. */
.parques-home-art .sun-disc,.parques-home-art .moon-disc{stroke:rgba(255,255,255,.85)}.parques-home-art .sun-disc{fill:#ffe04b}.parques-home-art .moon-disc{fill:#eef9ff}.parques-home-art .branch{stroke:#56351d;stroke-width:5}.parques-home-art .leaf{fill:#287348;stroke:#e4ffd7}.parques-home-art .berry{fill:#9d182b;stroke:#ffe8d3}.parques-home-art .bird-body{fill:#125f56;stroke:#eafff5}.parques-home-art .bird-wing{fill:#38a796;stroke:#eafff5}.parques-home-art .bird-eye{fill:#fff;stroke:none}.parques-home-art .flower-stem{stroke:#2c733e}.parques-home-art .flower{fill:#ffe25a;stroke:#fff4b8}.parques-home-art.art-palms .mountain-back{fill:rgba(20,83,54,.55)}
.parques-goal-art .goal-condor{fill:#182a2c;stroke:#f7f0d6;stroke-width:3}.parques-goal-art .goal-sun{fill:#ffd92f;stroke:#fff4b0}.parques-goal-art .goal-mountain-back{fill:#3c9b61}.parques-goal-art .goal-mountain-front{fill:#185d42}

/* Línea independiente para que cada cruce diagonal se lea incluso debajo de las fichas. */
.parques-diagonal-seam{position:absolute;z-index:6;width:10%;height:10%;transform:translate(-50%,-50%);pointer-events:none;border:1px solid rgba(46,34,23,.72);border-radius:4px;filter:drop-shadow(0 0 1px rgba(255,255,255,.7))}
.parques-diagonal-seam.split-back{background:linear-gradient(45deg,transparent 48.5%,#33261b 49%,#33261b 51%,transparent 51.5%)}
.parques-diagonal-seam.split-forward{background:linear-gradient(-45deg,transparent 48.5%,#33261b 49%,#33261b 51%,transparent 51.5%)}
.parques-board.is-waiting-turn:after{content:"TURNO DE OTRO JUGADOR";position:absolute;z-index:20;left:50%;top:1.2%;transform:translateX(-50%);padding:5px 9px;border:1px solid rgba(255,255,255,.62);border-radius:99px;background:rgba(12,24,22,.82);color:#fff;font:800 clamp(.34rem,.85vw,.55rem) "Chakra Petch",sans-serif;letter-spacing:.08em;pointer-events:none;white-space:nowrap}

/* Avisos informativos debajo del tablero: nunca cubren ni pausan la partida. */
.parques-notice-list{display:grid;gap:7px;margin-top:10px}.parques-notice-list:empty{display:none}.parques-event-notice{position:static;min-height:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:9px 11px;border:1px solid rgba(255,213,36,.4);border-radius:8px;background:linear-gradient(110deg,rgba(255,213,36,.11),rgba(0,217,154,.07));color:#fff;box-shadow:none;pointer-events:none;animation:parquesEventIn .22s ease both}.parques-event-notice span{color:#ffd524;font:800 .54rem "Chakra Petch",sans-serif;letter-spacing:.12em}.parques-event-notice strong{min-width:0;font:700 .68rem "Chakra Petch",sans-serif;line-height:1.35}.parques-event-notice small{color:#91a5ba;font-size:.56rem;text-align:right}@keyframes parquesEventIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.parques-piece-picker{margin:0 0 12px;padding:10px;border:1px solid rgba(255,213,36,.28);border-radius:9px;background:rgba(7,13,21,.76)}.parques-piece-picker>span{display:block;margin-bottom:8px;color:#ffd524;font:800 .58rem "Chakra Petch",sans-serif;letter-spacing:.14em}.parques-piece-picker>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.parques-piece-picker button{min-width:0;display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:7px;padding:9px;border:1px solid rgba(255,255,255,.13);border-radius:7px;background:#101a27;color:#fff;text-align:left;cursor:pointer}.parques-piece-picker button:hover:not(:disabled),.parques-piece-picker button:focus-visible{border-color:#ffd524;background:rgba(255,213,36,.12);transform:translateY(-1px)}.parques-piece-picker button:disabled{opacity:.45;cursor:not-allowed}.parques-piece-picker .parques-dot{grid-row:1/3;width:19px;height:19px}.parques-piece-picker b{overflow:hidden;font:800 .65rem "Chakra Petch",sans-serif;text-overflow:ellipsis;white-space:nowrap}.parques-piece-picker small{grid-column:2;color:#8293a8;font-size:.53rem}.parques-piece.is-stacked{width:3.25%;height:3.25%;z-index:13}.parques-piece.is-stacked>span>b{font-size:clamp(.28rem,.72vw,.45rem)}
@media(max-width:620px){.parques-piece-picker>div{grid-template-columns:repeat(2,minmax(0,1fr))}.parques-event-notice{grid-template-columns:1fr;gap:3px;padding:9px}.parques-event-notice small{text-align:left}.parques-piece.is-stacked{width:3.8%;height:3.8%}}

/* Floating dice over the active player's home */
.parques-home-floating-dice{position:absolute!important;left:50%!important;right:auto!important;top:50%!important;bottom:auto!important;z-index:6;display:flex!important;flex-flow:row nowrap!important;gap:7px;align-items:center;justify-content:center;width:max-content;min-width:max-content;height:max-content;padding:7px 9px;border-radius:10px;background:rgba(8,25,22,.94);border:2px solid #ffe06b;box-shadow:0 4px 12px rgba(0,0,0,.65),0 0 0 2px rgba(255,255,255,.2);pointer-events:none;transform:translate(-50%,-50%);animation:parquesDiceAppear .3s cubic-bezier(.22,1,.36,1) both;transition:transform .15s ease}
.parques-home.has-active-dice{z-index:30}
.parques-home.has-active-dice .parques-home-floating-dice{z-index:100!important}
.parques-home-floating-dice[onclick]{pointer-events:auto;cursor:pointer}
.parques-home-floating-dice[onclick]:hover{transform:translate(-50%,-50%) scale(1.1);box-shadow:0 4px 18px rgba(255,213,36,.4)}
.parques-home-floating-dice[onclick]:active{transform:translate(-50%,-50%) scale(.92)}
.parques-home-floating-dice .parques-die{position:relative!important;inset:auto!important;flex:0 0 auto!important;width:clamp(30px,5vw,42px);height:clamp(30px,5vw,42px);padding:clamp(5px,0.8vw,7px);transform:none;border:2px solid #cfd4dc;box-shadow:inset 2px 2px 4px rgba(255,255,255,.98),inset -3px -4px 6px rgba(53,59,69,.22),0 3px 0 #747b87,0 5px 8px rgba(0,0,0,.5)}
.parques-home-floating-dice .parques-die i{width:clamp(4px,.7vw,6px);height:clamp(4px,.7vw,6px)}
.parques-home-floating-dice .parques-die{left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;margin:0!important;text-align:initial!important;letter-spacing:normal!important;align-items:center;justify-items:center}
.parques-home-floating-dice.is-rolling .parques-die{animation:parquesDiceRoll .3s linear infinite}
.parques-home-floating-dice.is-rolling .parques-die:last-child{animation:parquesDiceRoll .3s .06s linear infinite reverse}
@keyframes parquesDiceAppear{from{opacity:0;transform:translate(-50%,-50%) scale(.5)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.parques-piece-picker button[onclick*="pairChoice"]{display:grid;place-items:center;min-height:42px;padding:5px;font-size:1.45rem;line-height:1}
.parques-home-floating-dice{left:76%!important;top:18%!important}
.parques-home.has-release-hand{z-index:140!important}
.parques-home-hand{position:absolute;left:25%;top:18%;z-index:180;width:34px;height:34px;padding:0;border:2px solid #fff4a8;border-radius:50%;background:#10251f;color:#fff;font-size:1.35rem;line-height:1;cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.55),0 0 0 2px rgba(255,213,36,.55);transform:translate(-50%,-50%);animation:parquesHandPulse 1s ease-in-out infinite alternate}
.parques-home-hand:hover,.parques-home-hand:focus-visible{transform:translate(-50%,-50%) scale(1.12);outline:2px solid #fff}
.parques-home-hand:disabled{opacity:.55;cursor:not-allowed}
@keyframes parquesHandPulse{from{filter:brightness(1);box-shadow:0 3px 10px rgba(0,0,0,.55),0 0 0 2px rgba(255,213,36,.55)}to{filter:brightness(1.25);box-shadow:0 3px 14px rgba(0,0,0,.65),0 0 0 4px rgba(255,213,36,.8)}}
@media(max-width:560px){
  .chat-mobile-tab{position:fixed;right:2px;top:4px;z-index:95;display:flex;align-items:center;justify-content:center;width:34px;height:27px;padding:0;border:1px solid rgba(255,213,36,.78);border-radius:8px 0 0 8px;background:#111d2b;color:#fff;font:800 .92rem/1 "Chakra Petch",sans-serif;box-shadow:0 4px 13px rgba(0,0,0,.5);cursor:pointer}
  .chat-mobile-tab b{display:none}
  .chat-mobile-tab i{position:absolute;right:-3px;top:-8px;display:grid;place-items:center;min-width:16px;height:16px;padding:0 3px;border-radius:99px;background:#ef674b;color:#fff;font:800 .52rem "Chakra Petch",sans-serif;font-style:normal}
  .room-tools:not(.is-chat-open) .chat-panel{display:none}
  .room-tools.is-chat-open .chat-panel{display:block;position:fixed;left:8px;right:8px;top:12%;z-index:94;margin:0;max-height:76vh;overflow:auto;box-shadow:0 18px 45px rgba(0,0,0,.65)}
  .room-tools.is-chat-open .chat-mobile-tab{top:4px}
  .room-tools.is-chat-open .leave-room-button{display:none}
  .room-tools.is-chat-open .chat-messages{height:min(38vh,260px)}
}
.chat-mobile-tab{display:none}
.admin-page{max-width:1180px;margin:0 auto;padding:42px 20px 70px}.admin-header{margin:0 auto 24px;max-width:760px}.admin-header h2{margin:0 0 8px;font:700 clamp(2rem,4vw,3.3rem) "Fraunces",serif}.admin-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.admin-stat-card{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:var(--shadow)}.admin-stat-card span{display:block;color:var(--muted);font:800 .62rem "Chakra Petch",sans-serif;letter-spacing:.12em}.admin-stat-card strong{display:block;margin-top:8px;color:var(--forest);font:800 2rem "Fraunces",serif}.admin-stat-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.admin-card{margin:0;max-width:none;padding:24px;text-align:left}.admin-card h3{margin:0 0 18px;font:700 1.35rem "Fraunces",serif}.admin-usage-list{display:grid;gap:10px}.admin-usage-list>div{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.admin-usage-list>div:last-child{border-bottom:0}.admin-usage-list>b{color:var(--coral)}.admin-usage-list span{font-weight:800}.admin-usage-list small{display:block;margin-top:3px;color:var(--muted);font-size:.7rem;font-weight:400}.admin-visit-number strong{display:block;color:var(--emerald);font:800 3.4rem "Fraunces",serif}.admin-visit-number span{color:var(--muted);font-size:.8rem}
.admin-page{color:#eef3fb}.admin-header h2,.admin-card h3{color:#fff}.admin-header>.muted,.admin-card .muted,.admin-stat-card span,.admin-usage-list small,.admin-visit-number span{color:#aebbd0}.admin-stat-card strong{color:#ffe06a}.admin-usage-list span{color:#f2f6fc}.admin-usage-list>div>b{color:#ff7f91}.admin-stat-card,.admin-card{border-color:rgba(255,255,255,.14);background:rgba(13,18,29,.92)}
@media(max-width:560px){.chat-mobile-tab{display:flex}}
@media(max-width:560px){
  .parques-last-action,.parques-hint{display:none}
  .game-stage:has(.parques-game){overflow:visible}
  .game-board:has(.parques-game){width:calc(100% + 28px);margin-inline:-14px;padding:2px;overflow:visible}
  .game-board:has(.parques-game) .parques-game{width:100%;max-width:none}
  .game-board:has(.parques-game) .parques-table{padding:2px}
  .parques-home{width:25.6%;height:25.6%}
  .parques-path-cell,.parques-final-cell{transform:translate(-50%,-50%)}
  .parques-path-cell.axis-v,.parques-final-cell.axis-v{width:10%;height:5%}
  .parques-path-cell.axis-h,.parques-final-cell.axis-h{width:5%;height:10%}
  .parques-path-cell.axis-s{width:5%;height:5%}
  .parques-path-cell.axis-d{width:10%;height:10%}
  .parques-home-floating-dice .parques-die{width:20px;height:20px;padding:2px}
  .parques-home-floating-dice{gap:2px;padding:3px 4px}
}
@media(max-width:480px){
  .game-board:has(.parques-game){width:calc(100% + 28px);margin-inline:-14px}
}
@media(max-width:560px){
  .parques-command{width:fit-content;max-width:100%;margin-inline:auto;align-items:stretch}
  .parques-command>div{max-width:100%}
  .parques-command .parques-dice-button{width:fit-content;min-width:220px;align-self:center}
}
.home-yellow .parques-home-floating-dice{left:50%!important;top:-15%!important}
.home-blue .parques-home-floating-dice{left:50%!important;top:-15%!important}
.home-red .parques-home-floating-dice{left:50%!important;top:108%!important}
.home-green .parques-home-floating-dice{left:50%!important;top:108%!important}
@keyframes parquesFloatingDiceRoll{
  0%{transform:rotate(0deg) translate3d(0,0,0) scale(1)}
  25%{transform:rotate(2deg) translate3d(.5px,-.5px,0) scale(1.01)}
  50%{transform:rotate(0deg) translate3d(0,0,0) scale(1)}
  75%{transform:rotate(-2deg) translate3d(-.5px,-.5px,0) scale(1.01)}
  100%{transform:rotate(0deg) translate3d(0,0,0) scale(1)}
}
.parques-home-floating-dice.is-rolling .parques-die,
.parques-home-floating-dice.is-rolling .parques-die:last-child{
  animation:parquesFloatingDiceRoll 1.15s ease-in-out infinite;
}
@media(max-width:560px){
  .parques-home-floating-dice{border-width:1px;box-shadow:0 3px 9px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.28)}
  .parques-home-floating-dice .parques-die{gap:1px}
  .parques-home-floating-dice .parques-die i{width:3px;height:3px}
  .parques-home .parques-home-floating-dice{left:50%!important;top:auto!important;bottom:22px!important;z-index:100!important}
}
@media(min-width:561px){
  .parques-home-floating-dice{left:50%!important;top:auto!important;bottom:22px!important;z-index:100!important}
}
/* Dados en la esquina interna de cada carcel, siempre dentro de su cuadro. */
@keyframes parquesDiceCornerAppear{from{opacity:0;transform:scale(.72)}to{opacity:1;transform:none}}
.parques-home .parques-home-floating-dice{z-index:100!important;transform:none;animation:parquesDiceCornerAppear .3s cubic-bezier(.22,1,.36,1) both}
.home-red .parques-home-floating-dice{left:auto!important;right:4%!important;top:auto!important;bottom:4%!important}
.home-green .parques-home-floating-dice{left:4%!important;right:auto!important;top:auto!important;bottom:4%!important}
.home-blue .parques-home-floating-dice{left:auto!important;right:4%!important;top:4%!important;bottom:auto!important}
.home-yellow .parques-home-floating-dice{left:4%!important;right:auto!important;top:4%!important;bottom:auto!important}
.parques-home .parques-home-floating-dice[onclick]:hover{transform:scale(1.08)}
.parques-home .parques-home-floating-dice[onclick]:active{transform:scale(.94)}
.parques-home>span{padding-right:31px}
.parques-home .parques-home-hand{left:auto;right:4%;top:auto;bottom:3%;z-index:180;width:27px;height:27px;font-size:1.08rem;transform:none}
.parques-home .parques-home-hand:hover,.parques-home .parques-home-hand:focus-visible{transform:scale(1.1)}
@media(max-width:560px){
  .parques-home>span{padding-right:24px}
  .parques-home .parques-home-hand{right:4%;bottom:3%;width:22px;height:22px;font-size:.86rem}
}
