.offline.reconnecting{flex-wrap:wrap;justify-content:center;text-align:left}.offline .offline-text{display:flex;flex-direction:column;gap:2px}.offline .offline-text small{font-weight:500;opacity:.9}.offline .btn.sm{background:#fff;color:#8a1424;border-color:transparent}.offline.restored{background:linear-gradient(90deg,#1f9e6a,var(--ok))}.disconnect-notice{position:fixed;top:calc(12px + env(safe-area-inset-top));right:12px;z-index:29;max-width:min(360px,calc(100% - 24px));padding:10px 14px;border-radius:14px;background:var(--card-2);border:1px solid var(--line-strong);box-shadow:0 16px 36px -14px #000c;font-size:.9rem;animation:fade-in .2s ease-out}.disconnect-notice p{margin:0;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.disconnect-notice p+p{margin-top:4px}.disconnect-notice .dn-dot{width:9px;height:9px;border-radius:50%;background:var(--bad);animation:dn-pulse 1.2s ease-in-out infinite}.disconnect-notice .dn-paused{color:var(--accent-2);font-weight:700}@keyframes dn-pulse{50%{opacity:.35}}@media(max-width:700px){.disconnect-notice{top:auto;bottom:calc(76px + env(safe-area-inset-bottom));left:50%;right:auto;transform:translate(-50%);width:max-content}}@media(prefers-reduced-motion:reduce){.disconnect-notice .dn-dot{animation:none}}.tut-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;pointer-events:none}.tut-spot{position:fixed;border-radius:14px;box-shadow:0 0 0 3px var(--accent-2),0 0 0 200vmax #08061499;transition:top .25s var(--ease-out),left .25s var(--ease-out),width .25s var(--ease-out),height .25s var(--ease-out)}.tut-dim{position:fixed;top:0;right:0;bottom:0;left:0;background:#08061499}.tut-card{position:fixed;pointer-events:auto;width:min(340px,calc(100vw - 24px));padding:16px 18px 14px;border-radius:var(--radius);background:var(--card-2);border:1px solid var(--line-strong);box-shadow:0 24px 60px -18px #000;color:var(--text);animation:tut-in .22s var(--ease-out)}.tut-card:focus{outline:none}.tut-card:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.tut-card.centered{top:50%;left:50%;transform:translate(-50%,-50%)}.tut-card.docked{left:12px;right:12px;width:auto;margin-bottom:env(safe-area-inset-bottom)}.tut-card.docked.centered{top:auto;bottom:12px;transform:none}.tut-card h3{margin:2px 0 6px;font-size:1.1rem}.tut-card p{margin:0 0 10px;line-height:1.45}.tut-count{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.tut-wait{color:var(--accent-2);font-weight:700}.tut-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.tut-actions.end{justify-content:flex-end}.tut-nav{display:flex;gap:6px}.tut-card .btn.sm{min-height:40px}@keyframes tut-in{0%{opacity:0;translate:0 6px}}@media(prefers-reduced-motion:reduce){.tut-card,.tut-spot{animation:none;transition:none}}.avatar.bot-avatar{font-size:calc(var(--av-size) * .5);line-height:1}.bot-tag{display:inline-block;margin-left:6px;padding:0 5px;border-radius:6px;font-size:10px;font-weight:800;letter-spacing:.04em;background:#8b7bff2e;color:var(--violet);vertical-align:1px}.msg.bot .msg-body p{font-style:italic}.chat-bots{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:6px 12px 0}.chat-bots label{display:inline-flex;align-items:center;gap:4px}.queue-bot-offer{display:flex;flex-direction:column;align-items:flex-start;gap:2px}@media(max-width:600px){.queue-banner:has(.queue-bot-offer){flex-wrap:wrap}}.shop-page{max-width:1040px;margin:0 auto;display:grid;gap:14px;padding-bottom:40px}.shop-topbar{display:flex;align-items:center;gap:10px}.shop-title{flex:1;margin:0;font-family:var(--font-display);font-size:1.35rem}.shop-lead{margin:-6px 0 0}.rarity-comun{--rarity: #9aa3b5}.rarity-rara{--rarity: #4fa3ff}.rarity-epica{--rarity: #b46bff}.rarity-legendaria{--rarity: #ffb43c}.rarity-chip{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:800;letter-spacing:.02em;color:var(--rarity);border:1px solid color-mix(in srgb,var(--rarity) 55%,transparent);background:color-mix(in srgb,var(--rarity) 14%,transparent);white-space:nowrap}.shop-featured{display:grid;gap:8px}.shop-featured-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.shop-featured-head h3,.shop-slot h3{margin:0;font-family:var(--font-display);font-size:1.05rem}.shop-featured-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,1fr);gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:2px}.shop-featured-card{position:relative;scroll-snap-align:start;display:grid;gap:4px;justify-items:start;text-align:left;padding:10px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--rarity) 60%,var(--line));background:linear-gradient(160deg,color-mix(in srgb,var(--rarity) 18%,var(--card)),var(--card));color:var(--text);cursor:pointer;font:inherit}.shop-discount{position:absolute;top:8px;right:8px;z-index:1;padding:2px 8px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-weight:800;font-size:.75rem}.shop-tabs{position:sticky;top:0;z-index:2;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:6px 0;background:linear-gradient(var(--bg) 70%,transparent)}.shop-tabs::-webkit-scrollbar,.shop-featured-row::-webkit-scrollbar{display:none}.shop-tabs button{flex-shrink:0;border:1px solid var(--line);background:var(--card);color:var(--muted);padding:7px 14px;border-radius:999px;cursor:pointer;font:inherit;font-weight:700}.shop-tabs button.active{color:var(--accent-ink);background:var(--grad);border-color:transparent}.shop-content{display:grid;gap:18px;touch-action:pan-y}.shop-slot{display:grid;gap:10px}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(156px,1fr));gap:10px}@media(max-width:420px){.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.shop-item{display:grid;grid-template-rows:auto 1fr;border-radius:var(--radius);border:1px solid var(--line);border-top:3px solid var(--rarity);background:var(--card);overflow:hidden;min-width:0}.shop-item.rarity-legendaria{box-shadow:0 0 22px -10px var(--rarity)}.shop-item.is-equipped{outline:2px solid var(--ok, #3ccf8e);outline-offset:-2px}.shop-item-body{display:grid;gap:6px;padding:10px;align-content:start}.shop-item-body p{margin:0}.shop-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.shop-item-head h4{margin:0;font-size:.95rem;line-height:1.2}.shop-item-foot{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:auto;flex-wrap:wrap}.shop-price{display:inline-flex;align-items:center;gap:4px;font-weight:800}.shop-price s{font-weight:600;font-size:.8em}.shop-owned{font-weight:800;font-size:.85rem;color:var(--ok, #3ccf8e)}.shop-preview{height:112px;display:grid;place-items:center;background:radial-gradient(120px 80px at 50% 40%,#ffffff10,transparent),#0c0a18;overflow:hidden;position:relative;width:100%}.shop-featured-card .shop-preview{border-radius:var(--radius-sm);height:96px}.shop-preview>*{max-width:100%;max-height:100%}.cos-preview{width:100%;height:100%;position:relative;overflow:hidden}.cos-preview-center{display:grid;place-items:center}.cos-swatch{width:72px;height:72px;border-radius:16px;display:grid;place-items:center;border:2px solid #ffffff22}.cos-swatch-emoji{font-size:30px}.shop-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:28;background:#05040bb3;display:flex;align-items:flex-end;justify-content:center;animation:shop-fade .2s ease-out}.shop-sheet{width:min(480px,100%);max-height:92vh;overflow-y:auto;background:var(--card);border:1px solid var(--line-strong);border-bottom:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:10px 16px calc(18px + env(safe-area-inset-bottom));display:grid;gap:8px;animation:shop-up .25s var(--ease-out, ease-out)}.shop-sheet h3{margin:4px 0 0;font-family:var(--font-display)}.shop-sheet p{margin:0}.shop-sheet .shop-preview{height:150px;border-radius:var(--radius)}.shop-grip{justify-self:center;width:42px;height:5px;border-radius:3px;background:var(--line-strong)}.shop-sheet-price{display:flex;align-items:center;gap:6px;font-size:1.2rem;flex-wrap:wrap}.shop-sheet-price .muted{margin-left:auto}.shop-sheet-ok{font-weight:800;color:var(--ok, #3ccf8e)}.shop-sheet-actions{display:grid;grid-template-columns:1fr 1.6fr;gap:8px;margin-top:4px}@media(min-width:700px){.shop-backdrop{align-items:center}.shop-sheet{border-radius:var(--radius-lg);border-bottom:1px solid var(--line-strong)}}@keyframes shop-up{0%{transform:translateY(40px);opacity:0}}@keyframes shop-fade{0%{opacity:0}}.shop-entry{display:inline-flex;align-items:center;gap:6px}.game-shop-link{font-size:.8rem}.avatar.framed:before{content:"";position:absolute;inset:calc(var(--av-size) * -.1);border-radius:50%;padding:calc(var(--av-size) * .08 + 1px);background:var(--av-frame);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);filter:drop-shadow(0 0 calc(var(--av-size) * .12) var(--av-frame-glow));pointer-events:none}.avatar.framed.frame-animated:before{animation:av-frame-spin 6s linear infinite}:root.reduce-motion .avatar.framed.frame-animated:before{animation:none}@keyframes av-frame-spin{to{transform:rotate(360deg)}}.avatar-frame-emoji{position:absolute;top:-12%;right:-14%;font-size:calc(var(--av-size) * .36);text-shadow:none;line-height:1}.profile-title{display:inline-block;padding:1px 8px;border-radius:999px;border:1px solid currentColor;font-size:.72rem;font-weight:800;letter-spacing:.01em;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.profile-title[style*=background-image]{border-color:transparent}.cos-preview-chat{display:grid;place-items:center}.cos-bubble{display:inline-block;padding:8px 12px;border-radius:14px 14px 14px 4px;background:#2a2346;color:var(--text);border:1px solid transparent;font-size:.9rem}.victory-fx{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:21}.victory-fx.contained{position:absolute;z-index:0}.victory-fx span{position:absolute;top:-30px;opacity:0;line-height:1;animation-name:fx-fall;animation-timing-function:cubic-bezier(.3,.6,.6,1);animation-fill-mode:forwards}.victory-fx.contained span{animation-iteration-count:infinite}.victory-fx.fx-fireworks span{width:6px;height:6px;border-radius:50%;background:var(--fx-color);box-shadow:0 -18px 0 var(--fx-color),0 18px #ff7ab8,18px 0 #7cf7ff,-18px 0 #b46bff,13px 13px 0 var(--fx-color),-13px -13px #ff7ab8,13px -13px #7cf7ff,-13px 13px #b46bff;animation-name:fx-burst}@keyframes fx-fall{0%{opacity:1;transform:translateZ(0) rotate(0)}85%{opacity:1}to{opacity:0;transform:translate3d(var(--drift),105vh,0) rotate(40deg)}}.victory-fx.contained span{animation-name:fx-fall-box}.victory-fx.contained.fx-fireworks span{animation-name:fx-burst}@keyframes fx-fall-box{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(calc(var(--drift) * .3),150px,0)}}@keyframes fx-burst{0%{opacity:1;transform:scale(.1)}70%{opacity:1}to{opacity:0;transform:scale(1.6)}}:root.reduce-motion .victory-fx{display:none}.cos-victory-label{position:relative;z-index:1;font-family:var(--font-display);font-size:1.2rem}.cos-row{display:flex;align-items:center;justify-content:center;gap:10px}.cos-fan2{display:flex}.cos-fan2>:first-child{transform:rotate(-9deg) translate(8px)}.cos-fan2>:last-child{transform:rotate(7deg) translate(-8px)}.chess-board.cos-chess-mini{display:grid;grid-template-columns:repeat(3,38px);grid-template-rows:repeat(3,38px);width:auto!important;border-radius:6px;overflow:hidden;box-shadow:0 6px 16px -6px #000c}.cos-chess-mini .sq{display:grid;place-items:center;min-width:0}.cos-chess-mini .piece{font-size:30px;line-height:1}.cos-parchis-mini{display:grid!important;grid-template-columns:repeat(2,38px)!important;grid-template-rows:repeat(2,38px)!important;aspect-ratio:auto!important;gap:4px!important;padding:10px!important;border-radius:14px!important}.cos-parchis-mini .cell{display:grid;place-items:center;border-radius:6px;background:color-mix(in srgb,var(--c) 25%,#fff)}.cos-parchis-mini .token{width:26px;max-width:26px}.cos-c4-cell{width:48px;height:48px;border-radius:50%;background:#0d1f63;display:grid;place-items:center;position:relative}.cos-flota{display:grid!important;grid-template-columns:1fr!important;gap:0!important}.cos-flota-grid{display:grid;grid-template-columns:repeat(6,22px);gap:2px}.cos-mon-mini{width:auto!important}.cos-mon-surface{display:flex!important;gap:4px;padding:8px 10px;aspect-ratio:auto!important}.cos-badge{position:absolute;top:8px;right:10px;font-size:22px}.cos-blocks{display:grid;grid-template-columns:repeat(6,14px);grid-template-rows:repeat(4,14px);gap:1px}.cos-block{border-radius:3px;background:linear-gradient(135deg,color-mix(in srgb,var(--b) 60%,#fff),var(--b) 40%,color-mix(in srgb,var(--b) 60%,#000))}.cos-block.pat-pixel{background-image:repeating-conic-gradient(#0002 0 25%,transparent 0 50%),linear-gradient(var(--b),var(--b));background-size:7px 7px,auto;border-radius:0}.cos-block.pat-facets{background-image:linear-gradient(135deg,#fff8,transparent 45%),linear-gradient(315deg,#0004,transparent 45%),linear-gradient(var(--b),var(--b))}.cos-token{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;font-size:32px;background:radial-gradient(circle at 40% 35%,#fff4,transparent 60%),#2a2346;box-shadow:0 0 0 4px var(--c)}.cos-imp-back{position:relative!important;inset:auto!important;display:grid!important;place-items:center;width:64px;height:92px;border-radius:10px;transform:none!important}.cos-imp-back .back-q{width:36px!important;height:36px!important;font-size:20px!important}.cos-palette{display:grid;gap:8px;padding:10px 12px 12px;border-radius:12px;background:#fff;box-shadow:0 6px 16px -8px #0006;position:relative;overflow:hidden}.cos-palette-ribbon{position:absolute;inset:0 0 auto 0;height:5px}.cos-dot{width:16px;height:16px;border-radius:50%;box-shadow:inset 0 0 0 1px #0002}.profile-cosmetics{display:grid;gap:12px;padding:16px}.profile-cosmetics-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.profile-cosmetics-head h3{margin:0;font-family:var(--font-display);flex:1}.profile-collection b{font-family:var(--font-display);font-size:1.2rem;margin-left:4px}.profile-worn{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.profile-worn li{display:grid;gap:4px;border-radius:var(--radius-sm);border:1px solid var(--line);border-top:3px solid var(--rarity);overflow:hidden;padding-bottom:8px}.profile-worn li>:not(.shop-preview){padding:0 8px}.profile-worn .shop-preview{height:86px}.profile-hero .profile-title{margin-top:4px}.club-tag{--club: var(--violet);display:inline-flex;align-items:center;margin-left:6px;padding:1px 6px;border-radius:6px;font-size:.72em;font-weight:800;letter-spacing:.06em;line-height:1.5;vertical-align:middle;color:#fff;background:color-mix(in srgb,var(--club) 55%,transparent);border:1px solid color-mix(in srgb,var(--club) 80%,#fff 0%);white-space:nowrap}.club-tag.big{font-size:.5em;padding:2px 8px}.club-emblem{--club: var(--violet);--size: 40px;display:inline-grid;place-items:center;flex-shrink:0;width:var(--size);height:var(--size);border-radius:30%;font-size:calc(var(--size) * .55);line-height:1;background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--club) 70%,#fff 30%) 0%,var(--club) 70%);box-shadow:0 1px #fff3 inset,0 6px 16px -6px color-mix(in srgb,var(--club) 70%,#000);vertical-align:middle}.page.community{display:grid;gap:16px;padding-bottom:96px}.community .topbar .tabs{gap:4px}.tab-link{padding:7px 14px;border-radius:9px;color:var(--muted);font-weight:700;text-decoration:none}.tab-link.active{background:linear-gradient(180deg,#352c5e,#2a234c);color:var(--text)}.section-title{margin:4px 0 8px;font-family:var(--font-display)}.community-entry{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:4px 0 8px}.entry-card{display:flex;align-items:center;gap:12px;padding:14px 16px;color:inherit;text-decoration:none;transition:transform .15s var(--ease-out),border-color .2s}.entry-card:hover{transform:translateY(-2px);border-color:var(--line-strong)}.entry-card b,.t-card b,.entry-card .small,.t-card .small{display:block}.entry-icon{font-size:28px}@media(max-width:520px){.community-entry{grid-template-columns:1fr}}.t-cards{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:12px}.t-card{display:grid;gap:10px;padding:16px;color:inherit;text-decoration:none}.t-card:hover{border-color:var(--line-strong)}.t-card-head{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.t-trophy{font-size:26px}.t-card-meta{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}.t-status.running{color:var(--accent-2);border-color:#6b4f22}.t-status.checkin{color:#9ff3e4;border-color:#275e57}.t-status.cancelled{color:var(--bad)}.t-hero{display:grid;gap:8px}.t-hero .lobby-title{margin:0}.t-hero-top{display:flex;flex-wrap:wrap;gap:6px}.club-chip{text-decoration:none;color:var(--text)}.t-champion{font-size:18px;font-weight:800;margin:0}.t-players{list-style:none;margin:0;padding:0;display:grid;gap:6px}.t-players li{display:flex;gap:10px;align-items:center}.t-players li.out{opacity:.55}.bracket{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.br-round{display:flex;flex-direction:column;scroll-snap-align:start}.br-round h4{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.br-round h4.current{color:var(--accent-2)}.br-matches{flex:1;display:flex;flex-direction:column;justify-content:space-around;gap:10px}.br-match{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:8px;display:grid;gap:6px}.br-match.mine{border-color:var(--accent-2);box-shadow:0 0 0 1px #ffbe4d44}.br-match.playing{border-color:var(--violet)}.br-match ul,.br-match ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}.br-slot{display:grid;grid-template-columns:22px 1fr auto auto;gap:6px;align-items:center;padding:5px 6px;border-radius:8px;background:#ffffff06;min-width:0}.br-slot.won{background:#3ccf8e1a;font-weight:800}.br-slot.lost{opacity:.5}.br-slot.me .br-name{color:var(--accent-2)}.br-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.br-seed{color:var(--faint);font-size:12px;font-variant-numeric:tabular-nums;text-align:right}.br-in{color:var(--ok);font-weight:800}.br-match footer{display:flex;justify-content:space-between;align-items:center;gap:6px;min-height:34px}.points-view{display:grid;gap:16px}.standings{width:100%;border-collapse:collapse}.standings th,.standings td{padding:6px 8px;text-align:left;border-bottom:1px solid var(--line)}.standings tr.is-me td{color:var(--accent-2)}.pt-round h4{margin:0 0 8px}.pt-tables{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.br-match h5{margin:0}.br-match ol li.me{color:var(--accent-2);font-weight:700}.t-alert{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%);z-index:29;width:min(560px,calc(100vw - 24px));display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--radius);background:linear-gradient(180deg,#3a2a14,#2a1e10);border:1px solid #b07a2a;box-shadow:var(--shadow-2);animation:profile-in .25s var(--ease-out)}.t-alert-icon{font-size:26px}.t-alert-text{display:grid;gap:2px;min-width:0}.t-alert-text a{color:var(--accent-2)}.trophies h3{margin:0 0 10px}.trophies ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.trophy a{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:12px;background:#ffffff08;color:inherit;text-decoration:none}.trophy.place-1 a{background:linear-gradient(135deg,#ffbe4d22,#ff7a4d12);border:1px solid #6b4f22}.trophy-icon{font-size:26px}.trophy-text{display:grid;min-width:0}.trophy-text b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.club-list,.member-list,.activity{list-style:none;margin:0;padding:0;display:grid;gap:8px}.club-list{margin-top:10px}.club-row{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:10px 12px;border-radius:var(--radius);background:var(--card);border:1px solid var(--line)}.club-row-link{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none;min-width:0}.club-row-text{display:grid;min-width:0}.club-row-text .small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.club-cta p{margin:0 0 12px}.club-hero{--club: var(--violet);display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;background:radial-gradient(500px 200px at 0% 0%,color-mix(in srgb,var(--club) 25%,transparent),transparent 70%),linear-gradient(180deg,var(--card-2) 0%,var(--card) 100%)}.club-hero .lobby-title{margin:0;overflow-wrap:anywhere}.club-hero p{margin:4px 0 0}.club-actions{grid-column:1 / -1}.club-tabs{overflow-x:auto;max-width:100%}.member-row{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center}.member-name{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.member-actions{grid-column:2;display:flex;flex-wrap:wrap;gap:4px}.role-owner{color:var(--accent-2);border-color:#6b4f22}.role-admin{color:#c3b9ff}.invite-form{margin-bottom:12px;flex-wrap:nowrap}.activity{padding:16px}.activity li{display:flex;justify-content:space-between;gap:10px}.act-trophy{font-weight:700;color:var(--accent-2)}.club-chat .chat-list{max-height:min(55dvh,460px)}.club-chat .chat-msg{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:start}.club-chat .chat-msg p{margin:2px 0 0;overflow-wrap:anywhere}.club-form{display:grid;gap:12px}.club-form label{display:grid;gap:4px}.club-form label.inline{min-width:140px;flex:1}.club-form label.check{display:flex;align-items:center;gap:8px}.club-form label.check input{width:auto;min-height:0}.club-form select,.club-page select{background:#0f0c1ccc;border:1px solid var(--line-strong);border-radius:12px;padding:10px 12px;min-height:46px;color:var(--text)}.club-preview{display:flex;gap:12px;align-items:center}.pick-row{display:flex;flex-wrap:wrap;gap:6px;border:0;margin:0;padding:0}.pick-row legend{margin-bottom:6px}.pick{--club: transparent;width:40px;height:40px;border-radius:12px;border:1px solid var(--line-strong);background:#ffffff08;font-size:20px;cursor:pointer}.pick.swatch{background:var(--club)}.pick.on{box-shadow:var(--ring);border-color:var(--accent-2)}.form-error{color:var(--bad);margin:0}@media(max-width:600px){.community-entry{display:grid;grid-template-columns:1fr 1fr;gap:8px}.community-entry .entry-card{flex-direction:column;align-items:flex-start;gap:6px;padding:12px}.community-entry .entry-card .small{font-size:11px}}.profile-link{color:inherit;text-decoration:none;border-radius:4px;text-underline-offset:3px}.profile-link:hover{text-decoration:underline;text-decoration-color:var(--accent-2)}.profile-link:focus-visible{outline:none;box-shadow:var(--ring)}.provisional{margin-left:1px;color:var(--muted);font-weight:700}.leaderboard tr.lb-outside td{border-top:2px dashed var(--line-strong)}.profile-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;overflow-y:auto;background:radial-gradient(1100px 620px at 8% -12%,#3a1f3d 0%,transparent 60%),radial-gradient(900px 560px at 108% 4%,#1d2a55 0%,transparent 60%),var(--bg);animation:profile-in .25s var(--ease-out)}@keyframes profile-in{0%{opacity:0;transform:translateY(8px)}}.profile-hero{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px}.profile-hero .lobby-title{margin:0;overflow-wrap:anywhere}.profile-hero p{margin:2px 0 0}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:16px}.stat-card{display:flex;flex-direction:column;gap:12px;min-width:0}.stat-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.stat-card-head h4{margin:0;font-family:var(--font-display);font-size:calc(19px * var(--fs, 1))}.stat-elo{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.stat-card .btn{align-self:flex-start}.stat-lines{display:grid;gap:4px;margin:0}.stat-lines>div{display:flex;justify-content:space-between;gap:12px}.stat-lines dt{color:var(--muted)}.stat-lines dd{margin:0;font-weight:700;text-align:right;font-variant-numeric:tabular-nums}.versus h3{margin:0 0 8px;font-size:calc(17px * var(--fs, 1))}.versus ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.versus li{display:grid;grid-template-columns:1fr auto 90px;gap:12px;align-items:center}.versus li b{font-family:var(--font-display);font-size:calc(18px * var(--fs, 1));font-variant-numeric:tabular-nums}.sparkline{margin:0;display:grid;gap:2px}.sparkline svg{width:100%;height:auto;display:block;overflow:visible;touch-action:pan-y}.spark-line{fill:none;stroke:var(--accent-2);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.spark-base{stroke:var(--line-strong);stroke-width:1;stroke-dasharray:3 4}.spark-cross{stroke:var(--muted);stroke-width:1}.spark-dot{fill:var(--accent-2);stroke:var(--card);stroke-width:2}.spark-hit{fill:transparent;cursor:crosshair}.spark-caption{display:flex;align-items:baseline;gap:6px;font-size:calc(13px * var(--fs, 1));font-variant-numeric:tabular-nums}.spark-change{margin-left:auto;font-weight:700}.match-history{display:flex;flex-direction:column;gap:12px}.mh-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.mh-head h3{margin:0;font-size:calc(20px * var(--fs, 1))}.mh-filter{display:inline-flex;align-items:center;gap:8px}.mh-filter select{background:var(--bg-2);color:var(--text);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:6px 10px;font:inherit}.mh-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.mh-row{display:grid;grid-template-columns:92px 1fr auto;gap:12px;align-items:center;padding:10px 12px;border-radius:14px;background:#0f0c1c80;border:1px solid var(--line);border-left:3px solid var(--line-strong)}.mh-row.win{border-left-color:var(--ok)}.mh-row.loss{border-left-color:var(--bad)}.mh-result{font-family:var(--font-display);font-weight:800;font-size:calc(15px * var(--fs, 1))}.mh-result.win{color:var(--ok)}.mh-result.loss{color:var(--bad)}.mh-main{min-width:0;display:grid;gap:2px}.mh-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mh-players{overflow-wrap:anywhere}.mh-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mh-elo{display:grid;justify-items:end;font-variant-numeric:tabular-nums}.mh-elo b{font-family:var(--font-display);font-size:calc(18px * var(--fs, 1))}.mh-more{align-self:center}.mh-empty{margin:0}@media(max-width:560px){.profile-hero{grid-template-columns:auto 1fr}.profile-hero .hero-stats{grid-column:1 / -1}.mh-row{grid-template-columns:1fr auto}.mh-result{grid-column:1 / -1}.mh-meta{white-space:normal}}.stat-unrated{margin:0}.admin-link{display:inline-flex;align-items:center;gap:6px}.admin-badge{min-width:20px;padding:0 6px;border-radius:999px;background:var(--bad);color:#1a0408;font-size:12px;font-weight:800;line-height:20px;text-align:center}.admin-errors{display:grid;gap:14px}.admin-errors .lobby-title{margin:0}.err-filters{display:flex;flex-wrap:wrap;gap:12px}.err-filters select{margin-left:4px;padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--card-2);color:var(--text);font:inherit}.err-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.err-row{display:grid;gap:8px;min-width:0;border-left:4px solid var(--bad)}.err-row.err-resolved{border-left-color:var(--ok)}.err-row.err-ignored{border-left-color:var(--faint);opacity:.8}.err-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.err-count{margin-left:auto;font-family:var(--font-display);font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.err-message{margin:0;font-weight:700;overflow-wrap:anywhere}.err-row p{margin:0;overflow-wrap:anywhere}.err-row summary{cursor:pointer;color:var(--muted)}.err-stack{margin:8px 0 0;padding:10px;max-height:260px;overflow:auto;border-radius:var(--radius-sm);background:var(--bg-2);font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.err-context{display:grid;gap:2px;margin:8px 0 0}.err-context>div{display:grid;grid-template-columns:120px 1fr;gap:8px}.err-context dt{color:var(--muted)}.err-context dd{margin:0;overflow-wrap:anywhere}.err-actions{display:flex;flex-wrap:wrap;gap:8px}.err-pager{display:flex;align-items:center;justify-content:center;gap:12px}.coin-icon{flex-shrink:0;filter:drop-shadow(0 1px 0 #0006);vertical-align:-.2em}.wallet-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 8px;border-radius:999px;background:linear-gradient(180deg,#ffbe4d1f,#ffbe4d0a);border:1px solid #6b4f22;color:var(--accent-2);font-variant-numeric:tabular-nums}.wallet-chip[data-bump]{animation:wallet-bump .6s var(--ease-spring)}@keyframes wallet-bump{30%{transform:scale(1.18);box-shadow:0 0 0 6px #ffbe4d22}}.progression-panel{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr);gap:16px;margin:8px 0 24px}.progression-panel.loading{min-height:180px;border-radius:var(--radius-lg);background:linear-gradient(90deg,var(--card) 0%,var(--card-2) 50%,var(--card) 100%);background-size:200% 100%;animation:prog-shimmer 1.4s linear infinite}@keyframes prog-shimmer{to{background-position:-200% 0}}@media(max-width:1100px){.progression-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.progression-panel .daily-card{grid-column:1 / -1}}@media(max-width:680px){.progression-panel{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;margin-inline:-16px;padding:0 16px 6px;scrollbar-width:none;align-items:flex-start}.progression-panel::-webkit-scrollbar{display:none}.progression-panel>.card{flex:0 0 86%;scroll-snap-align:center}.progression-panel .progression-foot{flex:0 0 auto;align-self:center;flex-direction:column}}.progression-panel h3,.achievements h3,.season-history h3{margin:0;font-family:var(--font-display);font-size:19px}.prog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:14px}.progression-foot{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.daily-card{position:relative;overflow:hidden}.freeze-chip{color:#bfe9ff;border-color:#2f5a74;background:#5bc0ff14}.daily-track{list-style:none;margin:0 0 16px;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.daily-day{display:grid;justify-items:center;gap:4px;padding:8px 2px;border-radius:12px;border:1px solid var(--line);background:#ffffff06;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.daily-day b{color:var(--text);font-size:13px}.daily-day-n{font-size:11px;font-weight:700;white-space:nowrap}.daily-day-icon{display:grid;place-items:center;width:28px;height:28px;font-size:18px}.daily-day.done{background:#3ccf8e14;border-color:#2b6b52}.daily-day.done .daily-day-icon{color:var(--ok);font-weight:900}.daily-day.next{border-color:var(--accent-2);background:#ffbe4d14;box-shadow:0 0 0 3px #ffbe4d22;animation:day-glow 1.8s ease-in-out infinite}@keyframes day-glow{50%{box-shadow:0 0 0 6px #ffbe4d10}}.daily-day.bonus{background:linear-gradient(180deg,#ff7a4d22,#ffbe4d0c);border-color:#8a4a2a}.daily-actions{position:relative;display:grid;justify-items:center;gap:8px}.claim-btn{width:100%;max-width:340px}.coin-burst{position:absolute;left:50%;top:50%;width:0;height:0;pointer-events:none;z-index:2}.coin-burst span{position:absolute;left:-8px;top:-8px;animation:coin-fly .9s var(--ease-out) var(--d) both}@keyframes coin-fly{0%{transform:translate(0) scale(.4) rotate(0);opacity:0}20%{opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(1) rotate(320deg);opacity:0}}.coin-burst-text{position:absolute;left:50%;transform:translate(-50%);top:-40px;font-family:var(--font-display);font-size:30px;color:var(--accent-2);text-shadow:0 2px 0 #a8401f,0 10px 24px #ff7a4d66;animation:coin-text 1.3s var(--ease-out) both;white-space:nowrap}@keyframes coin-text{0%{transform:translate(-50%,20px) scale(.6);opacity:0}25%{transform:translate(-50%) scale(1.15);opacity:1}to{transform:translate(-50%,-30px) scale(1);opacity:0}}.challenge-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.challenge{display:flex;gap:12px;align-items:flex-start}.challenge-icon{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;border-radius:12px;background:#ffffff0a;border:1px solid var(--line);font-size:20px}.challenge-body{flex:1;min-width:0;display:grid;gap:4px}.challenge-top{display:flex;justify-content:space-between;gap:8px;font-size:14px}.challenge-reward{display:inline-flex;align-items:center;gap:4px;color:var(--accent-2);font-weight:800;white-space:nowrap}.challenge.completed .challenge-top b{color:var(--muted);text-decoration:line-through;text-decoration-color:#3ccf8e88}.prog-bar{height:8px;border-radius:999px;background:#ffffff12;overflow:hidden}.prog-bar.sm{height:5px;width:100%}.prog-bar span{display:block;height:100%;border-radius:inherit;background:var(--grad);transition:width .6s var(--ease-out)}.challenge.completed .prog-bar span{background:linear-gradient(90deg,#3ccf8e,#9ff3e4)}.season-countdown.urgent{color:#ffd3d8;border-color:#ff6b7a77;background:#ff6b7a1a}.season-games{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}.season-games li{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;font-weight:700}.season-games li>.muted{grid-column:1 / -1;font-weight:500}.season-rewards{margin:0}.season-reward{display:inline-block;margin:2px 4px 2px 0;padding:1px 8px;border-radius:999px;border:1px solid var(--line);white-space:nowrap}.push-toggle{display:inline-flex;align-items:center;gap:6px;color:var(--muted)}.push-prompt{position:fixed;right:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:25;width:min(380px,calc(100% - 32px));display:grid;grid-template-columns:auto 1fr;gap:10px 12px;padding:16px;animation:toast-in .4s var(--ease-spring)}.push-prompt p{margin:4px 0 0}.push-bell{font-size:26px;animation:bell 1.6s ease-in-out .4s 2;transform-origin:50% 10%}@keyframes bell{10%,30%{transform:rotate(14deg)}20%,40%{transform:rotate(-14deg)}50%{transform:none}}.push-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px}.prog-toasts{position:fixed;top:max(12px,env(safe-area-inset-top));right:16px;z-index:40;display:grid;gap:8px;width:min(340px,calc(100% - 32px));pointer-events:none}.prog-toast{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:16px;background:linear-gradient(180deg,#2a2350f2,#1b1631f2);border:1px solid #6b4f22;box-shadow:var(--shadow-2),0 0 0 1px #ffbe4d22;animation:prog-toast-in .5s var(--ease-spring)}.prog-toast.challenge{border-color:#2b6b52}.prog-toast>div{flex:1;min-width:0;display:grid}.prog-toast-icon{font-size:28px;animation:trophy-pop .7s var(--ease-spring)}.prog-toast-kind{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-2)}.prog-toast.challenge .prog-toast-kind{color:var(--ok)}.prog-toast-reward{display:inline-flex;align-items:center;gap:4px;font-weight:800;color:var(--accent-2);white-space:nowrap}@keyframes prog-toast-in{0%{opacity:0;transform:translate(40px) scale(.95)}}@keyframes trophy-pop{0%{transform:scale(.2) rotate(-30deg)}70%{transform:scale(1.25) rotate(8deg)}}.achievements,.season-history{margin:16px 0}.ach-group h4{margin:14px 0 8px;text-transform:uppercase;letter-spacing:.08em}.ach-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.ach{display:grid;justify-items:center;text-align:center;gap:4px;padding:12px 10px;border-radius:16px;border:1px solid var(--line);background:#ffffff06}.ach-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;font-size:26px;background:radial-gradient(circle at 35% 30%,#ffe27a,#d48a12);box-shadow:0 0 0 3px #ffbe4d33,0 8px 18px -8px #ff7a4d}.ach-name{font-size:13px;line-height:1.2}.ach-desc{color:var(--muted);line-height:1.3}.ach-meta{color:var(--faint)}.ach.unlocked{border-color:#6b4f22;background:linear-gradient(180deg,#ffbe4d10,transparent)}.ach.locked .ach-icon{background:#ffffff10;box-shadow:none;filter:grayscale(1);opacity:.45}.ach.locked .ach-name{color:var(--muted)}.season-history ul{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.season-badge{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:#ffffff06}.season-badge>div{display:grid}@media(prefers-reduced-motion:reduce){.wallet-chip[data-bump],.daily-day.next,.coin-burst span,.coin-burst-text,.push-bell,.prog-toast,.prog-toast-icon{animation:none}.coin-burst{display:none}}.friends-btn{position:relative;gap:6px}.friends-btn .badge{position:absolute;top:-6px;right:-6px}.friends-online{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#3ccf8e26;color:var(--ok);font-size:11px;font-weight:800;display:inline-grid;place-items:center}@media(max-width:520px){.friends-btn-label{display:none}}.friends-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:44;background:#07050e99;animation:fade-in .2s ease-out}.friends-panel{position:fixed;z-index:45;top:0;right:0;bottom:0;width:min(400px,100%);display:flex;flex-direction:column;background:var(--bg-2);border-left:1px solid var(--line);box-shadow:-24px 0 60px -20px #000c;animation:friends-in .28s var(--ease-out)}@keyframes friends-in{0%{transform:translate(40px);opacity:0}}.friends-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:max(14px,env(safe-area-inset-top)) 16px 10px}.friends-head h3{margin:0;font-family:var(--font-display);font-size:22px}.friends-grip{display:none}.friends-tabs{display:flex;margin:0 16px 8px}.friends-tabs button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px}.friends-body{flex:1;overflow-y:auto;padding:4px 16px max(20px,env(safe-area-inset-bottom));overscroll-behavior:contain}.friends-section{margin:12px 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.friend-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.friend{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;background:#ffffff06;border:1px solid transparent}.friend.online{background:#ffffff0c;border-color:var(--line)}.friend.status-playing{border-color:#6b4f22}.friend-info{flex:1;min-width:0;display:flex;flex-direction:column}.friend-name{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-status{color:var(--muted)}.friend.online .friend-status{color:var(--ok)}.friend.status-playing .friend-status{color:var(--accent-2)}.friend-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.friend-actions .btn.sm{min-height:36px}.friend-actions .btn.active{border-color:var(--accent-2)}.friend-challenge,.friend-more{flex-basis:100%;display:flex;gap:8px;flex-wrap:wrap;padding-left:48px}.friend-challenge select,.friend-search input{flex:1;min-width:0;min-height:40px;padding:8px 12px;border-radius:12px;border:1px solid var(--line-strong);background:#0f0c1c;color:var(--text);font:inherit;font-size:16px}.friend-search{display:flex;flex-direction:column;gap:10px}.friends-empty{display:grid;justify-items:center;gap:8px;padding:32px 8px;text-align:center;color:var(--muted)}.friends-empty>span{font-size:40px}.friends-setting{display:flex;gap:10px;align-items:flex-start;margin-top:16px;padding:12px;border-radius:14px;border:1px solid var(--line);cursor:pointer}.friends-setting input{margin-top:4px;width:18px;height:18px;accent-color:var(--accent)}.friends-setting>span{display:flex;flex-direction:column}.friends-blocked{margin-top:12px;color:var(--muted)}.friends-blocked summary{cursor:pointer;font-weight:700;padding:6px 0}.friends-blocked ul{list-style:none;margin:0;padding:0}.friends-blocked li{display:flex;align-items:center;justify-content:space-between}@media(max-width:700px){.friends-panel{top:auto;left:0;width:100%;max-height:86dvh;border-left:0;border-top:1px solid var(--line);border-radius:22px 22px 0 0;box-shadow:0 -20px 50px -10px #000c;animation:sheet-up .3s var(--ease-out)}.friends-head{flex-wrap:wrap;padding-top:8px}.friends-grip{display:block;flex-basis:100%;margin:0 auto 4px;max-width:44px}.friend-challenge,.friend-more{padding-left:0}}@keyframes sheet-up{0%{transform:translateY(100%)}}.invite-toasts{position:fixed;z-index:60;top:max(12px,env(safe-area-inset-top));left:50%;transform:translate(-50%);width:min(460px,calc(100% - 24px));display:flex;flex-direction:column;gap:8px}.invite-toast{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;border-radius:18px;background:#fffaf0;color:#1a1206;box-shadow:0 20px 40px -12px #000c;animation:invite-in .4s var(--ease-spring)}.invite-toast .muted{color:#6b5a44}@keyframes invite-in{0%{opacity:0;transform:translateY(-16px) scale(.96)}}.invite-text{flex:1;min-width:160px;line-height:1.35}.invite-actions{display:flex;gap:6px;margin-left:auto}.invite-toast .btn.ghost{color:#4a3a26}.invite-toast .btn.sm{min-height:40px}.invite-friends{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);text-align:left}.invite-friends-head{display:flex;align-items:center;justify-content:space-between}.invite-friends h4{margin:0}.invite-friends ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.invite-friends li{display:flex;align-items:center;gap:10px}.invite-friend-name{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}.invite-friend-name b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.btn.whatsapp{--btn-bg: #1f9d55;--btn-edge: #0e5a2f;border-color:#3ccf8e;color:#fff;text-decoration:none}.btn.whatsapp:hover:not(:disabled){border-color:#8ff0bf}.share-result{display:grid;gap:8px;margin-top:14px;justify-items:center}.share-result p{margin:0}.chip.spectators,.chip.spectating{color:#c9bcff;border-color:#4c4aa0;background:#8b7bff14}.spectate-layout{display:grid;grid-template-columns:minmax(0,1fr) var(--side-w);gap:20px;align-items:start}.spectate-stage{min-width:0;display:flex;flex-direction:column;gap:12px}.spectate-side{display:flex;flex-direction:column;gap:12px}.spectate-menu,.spectate-sheet-head{display:none}.spectate-note{margin:-4px 4px 0}@media(max-width:900px){.spectate-layout{grid-template-columns:minmax(0,1fr)}}@media(max-width:700px){.spectate .room-meta .chip.game,.spectate .room-meta .view-toggles{display:none}.spectate-menu{display:inline-flex;font-size:18px}.spectate-side{position:fixed;left:0;right:0;bottom:0;z-index:40;max-height:78dvh;overflow-y:auto;padding:6px 12px max(16px,env(safe-area-inset-bottom));background:var(--bg-2);border-top:1px solid var(--line);border-radius:22px 22px 0 0;box-shadow:0 -20px 50px -10px #000c;transform:translateY(105%);transition:transform .3s var(--ease-out)}.spectate-side.open{transform:none}.spectate-sheet-head{display:flex;flex-direction:column;align-items:center;gap:6px;position:sticky;top:-6px;padding:6px 0;background:var(--bg-2);z-index:1}.spectate-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:39;background:#0008}}.impostor-layout{display:grid;grid-template-columns:minmax(0,1fr) var(--side-w);gap:20px;align-items:start}@media(max-width:900px){.impostor-layout{grid-template-columns:minmax(0,1fr)}}.imp-main{display:flex;flex-direction:column;gap:16px;min-width:0}.imp-header{display:flex;align-items:center;gap:16px;padding:16px 18px;background:radial-gradient(420px 160px at 0% 0%,#3ee0c21f,transparent 70%),linear-gradient(180deg,var(--card-2),var(--card))}.imp-phase{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.imp-phase h2{font-size:clamp(22px,4vw,30px)}.imp-phase .round{font-size:.6em;font-family:var(--font);font-weight:700;letter-spacing:0}.imp-instructions{margin:0;color:var(--muted)}.imp-instructions b{color:var(--text)}.phase-steps{display:flex;gap:4px;list-style:none;margin:0;padding:0;flex-wrap:wrap}.phase-steps li{font-size:calc(10px * var(--fs, 1));font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:999px;color:var(--faint);border:1px solid var(--line);transition:color .3s,background .3s,border-color .3s}.phase-steps li.on{color:#062a24;background:#3ee0c2;border-color:#3ee0c2}.imp-timer{position:relative;width:74px;height:74px;flex-shrink:0;display:grid;place-items:center}.imp-timer svg{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotate(-90deg)}.imp-timer circle{fill:none;stroke-width:3}.imp-timer .track{stroke:var(--line)}.imp-timer .fill{stroke:#3ee0c2;stroke-linecap:round;stroke-dasharray:97.4;transition:stroke-dashoffset .25s linear,stroke .3s}.imp-timer span{font-family:var(--font-display);font-weight:800;font-size:calc(18px * var(--fs, 1));font-variant-numeric:tabular-nums}.imp-timer.low .fill{stroke:var(--bad)}.imp-timer.low.urgent{animation:urgent 1s ease-in-out infinite;border-radius:50%}.secret-card.big{display:flex;justify-content:center}.back-hint{position:absolute;bottom:18px;opacity:.7}.secret-btn{display:block;width:min(calc(320px * var(--k)),82vw);aspect-ratio:5 / 7;max-height:62vh;border:0;padding:0;background:none;cursor:pointer;perspective:1200px;border-radius:26px;animation:deal .6s var(--ease-spring) both}.secret-btn:focus-visible{box-shadow:var(--ring)}.secret-inner{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .7s var(--ease-spring)}@keyframes deal{0%{opacity:0;transform:translateY(40px) rotate(-6deg) scale(.9)}}.secret-card.flipped .secret-inner{transform:rotateY(180deg)}.secret-back,.secret-front{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:26px;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;box-shadow:0 30px 60px -20px #000d,0 0 0 1px #ffffff1f inset}.secret-back{background:repeating-linear-gradient(45deg,#ffffff0a 0 10px,transparent 10px 20px),radial-gradient(circle at 50% 35%,#3ee0c2,#1b6f8a 45%,#0d1b33);color:#fff}.secret-back b{font-family:var(--font-display);font-size:calc(22px * var(--fs, 1))}.back-q{width:120px;height:120px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-size:calc(80px * var(--fs, 1));font-weight:800;background:#ffffff1a;border:3px dashed #ffffff66;animation:breathe-q 2.4s ease-in-out infinite}@keyframes breathe-q{50%{transform:scale(1.06) rotate(4deg)}}.secret-front{transform:rotateY(180deg);-webkit-transform:rotateY(180deg);background:radial-gradient(circle at 50% 30%,#fff,#fff6e6 60%,#f1e3c6);color:#1d1a2e}.is-impostor .secret-front{background:radial-gradient(circle at 50% 30%,#ff7a4d55 0%,transparent 60%),linear-gradient(180deg,#2a1730,#120b1c);color:#fff}.secret-face{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;width:100%}.secret-word{font-family:var(--font-display);font-size:clamp(24px,6vw,34px);font-weight:800;line-height:1.05;overflow-wrap:anywhere}.secret-sub{display:inline-flex;align-items:center;gap:6px;font-size:calc(14px * var(--fs, 1));font-weight:700;opacity:.75}.impostor-face .secret-word{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;text-transform:uppercase}.impostor-mask{animation:sneak 2.6s ease-in-out infinite}@keyframes sneak{0%,to{transform:translate(-6px) rotate(-4deg)}50%{transform:translate(6px) rotate(4deg)}}.word-art{display:grid;place-items:center;position:relative}.word-art.lg{width:min(220px,60vw);aspect-ratio:1}.word-art.sm{width:64px;height:64px}.word-art img{width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.word-art.pokemon:before{content:"";position:absolute;top:6%;right:6%;bottom:6%;left:6%;border-radius:50%;background:radial-gradient(circle,#ffe9a8 0%,#ffd23f33 55%,transparent 72%);z-index:0}.word-art.pokemon img{position:relative;z-index:1;filter:drop-shadow(0 10px 14px #0005);animation:pop-in .6s var(--ease-spring) .25s both}.word-art.emoji-art img{width:78%;height:78%;filter:drop-shadow(0 8px 10px #0003);animation:pop-in .6s var(--ease-spring) .25s both}@keyframes pop-in{0%{opacity:0;transform:scale(.5) rotate(-8deg)}}.word-art.typo{border-radius:28%;background:linear-gradient(135deg,#8b7bff,#ff7a4d);color:#fff;box-shadow:0 16px 30px -12px #0008}.word-art.lg.typo{width:min(170px,46vw)}.typo-initials{font-family:var(--font-display);font-weight:800;font-size:calc(64px * var(--fs, 1));letter-spacing:-.04em}.word-art.sm .typo-initials{font-size:calc(22px * var(--fs, 1))}.typo-emoji{position:absolute;top:10%;right:10%}.secret-pill{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;gap:2px 14px;width:100%;padding:12px 16px;border-radius:18px;border:1px dashed var(--line-strong);background:#0f0c1c80;cursor:pointer;text-align:left;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.pill-label{grid-row:span 2;font-size:calc(11px * var(--fs, 1));font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-2);writing-mode:vertical-rl;transform:rotate(180deg)}.pill-content{filter:blur(14px) saturate(.4);opacity:.6;transition:filter .2s,opacity .2s;pointer-events:none}.pill-content .secret-face{flex-direction:row;text-align:left;gap:12px}.pill-content .secret-face>:not(.word-art):not(.impostor-mask){align-self:center}.pill-content .secret-word{font-size:calc(22px * var(--fs, 1))}.pill-content .secret-sub{font-size:calc(12px * var(--fs, 1))}.secret-pill.peek{border-style:solid;border-color:var(--accent-2)}.secret-pill.peek .pill-content{filter:none;opacity:1}.pill-hint{font-size:calc(12px * var(--fs, 1));color:var(--muted);font-weight:600}.imp-action{display:flex;justify-content:center;animation:rise .35s var(--ease-out)}.imp-action>.btn{min-width:min(320px,100%)}.imp-action.mine{padding:14px;border-radius:20px;background:linear-gradient(135deg,#ff7a4d22,#ffbe4d14);border:1px solid #ff7a4d66;box-shadow:0 20px 50px -30px #ff7a4d}.imp-text-action{width:100%;display:grid;grid-template-columns:1fr auto;gap:8px}.imp-text-action input{font-size:calc(17px * var(--fs, 1));font-weight:700}.imp-text-action .btn{min-height:46px}.imp-text-action .hint{grid-column:1 / -1;margin:0}.imp-gamble{display:flex;justify-content:center}.imp-gamble .imp-text-action{max-width:520px;padding:12px;border-radius:16px;border:1px solid #ff6b7a55;background:#2a1730aa}.btn.active-skip{border-color:var(--accent-2);color:var(--accent-2)}.ptiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:10px}.ptile{--c: var(--violet);position:relative;display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:18px;border:1px solid var(--line);background:radial-gradient(180px 90px at 0% 0%,color-mix(in srgb,var(--c) 16%,transparent),transparent 70%),linear-gradient(180deg,var(--card-2),var(--card));text-align:left;min-width:0;transition:transform .2s var(--ease-spring),border-color .2s,box-shadow .2s,opacity .3s,filter .3s;animation:rise .4s var(--ease-out) both}button.ptile{cursor:pointer;font:inherit;color:inherit}.ptile.is-me{border-color:#ffbe4d55}.ptile.speaking{border-color:var(--c);box-shadow:0 0 0 1px var(--c),0 16px 40px -18px var(--c);transform:translateY(-2px)}.ptile.votable:hover{transform:translateY(-3px);border-color:var(--c)}.ptile.my-vote{border-color:var(--bad);box-shadow:0 0 0 2px var(--bad),0 16px 40px -18px var(--bad)}.ptile.out{opacity:.55;filter:grayscale(.8)}.ptile-top{display:flex;align-items:center;gap:10px;min-width:0}.ptile-name{flex:1;min-width:0}.ptile-title{display:flex;align-items:center;min-width:0}.ptile-title b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.ptile-title .you-tag{flex-shrink:0}.ptile-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:2px}.tag{font-size:calc(10px * var(--fs, 1));font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:1px 7px;border-radius:999px}.tag.impostor{background:#ff6b7a26;color:#ffb3bb;border:1px solid #ff6b7a66}.tag.innocent{background:#3ccf8e1f;color:#a6f0cd;border:1px solid #3ccf8e55}.tag.gone{background:#ffffff10;color:var(--muted);border:1px solid var(--line)}.check{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:calc(13px * var(--fs, 1));font-weight:900;color:var(--faint);border:1px dashed var(--line-strong);flex-shrink:0}.check.on{color:#062a24;background:#3ccf8e;border:0;animation:pop .3s var(--ease-spring)}.vote-count{min-width:28px;height:28px;padding:0 6px;border-radius:999px;display:grid;place-items:center;font-weight:900;background:var(--bad);color:#fff;animation:pop .4s var(--ease-spring)}.vote-flag{position:absolute;top:-8px;right:10px;font-size:calc(10px * var(--fs, 1));font-weight:900;text-transform:uppercase;padding:1px 8px;border-radius:999px;background:var(--bad);color:#fff}.ptile-clues{display:flex;flex-wrap:wrap;gap:4px;min-height:30px;align-items:center}.bubble{position:relative;padding:5px 11px;border-radius:12px 12px 12px 4px;background:#fffaf0;color:#1d1a2e;font-weight:800;font-size:calc(14px * var(--fs, 1));overflow-wrap:anywhere;animation:pop .35s var(--ease-spring)}.bubble.empty{background:#ffffff14;color:var(--muted);font-weight:600;font-style:italic}.bubble.typing{display:inline-flex;gap:4px;padding:9px 12px}.bubble.typing i{width:6px;height:6px;border-radius:50%;background:#1d1a2e;animation:typing 1s ease-in-out infinite}.bubble.typing i:nth-child(2){animation-delay:.15s}.bubble.typing i:nth-child(3){animation-delay:.3s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.verdict{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:20px;border:1px solid var(--line-strong);background:linear-gradient(180deg,var(--card-2),var(--card));animation:verdict-in .6s var(--ease-spring)}@keyframes verdict-in{0%{opacity:0;transform:scale(.85)}}.verdict>div{display:flex;flex-direction:column;gap:2px}.verdict b{font-family:var(--font-display);font-size:calc(20px * var(--fs, 1))}.verdict-icon{font-size:calc(40px * var(--fs, 1))}.verdict.caught{border-color:#3ccf8e;background:radial-gradient(300px 120px at 0% 50%,#3ccf8e2e,transparent 70%),linear-gradient(180deg,var(--card-2),var(--card))}.verdict.wrong{border-color:var(--bad);background:radial-gradient(300px 120px at 0% 50%,#ff6b7a2e,transparent 70%),linear-gradient(180deg,var(--card-2),var(--card))}.verdict-role{font-weight:800}.verdict.caught .verdict-role{color:var(--ok)}.verdict.wrong .verdict-role{color:var(--bad)}.guesses{padding:12px 16px}.guesses p{margin:2px 0}.clue-log{padding:14px}.clue-log h4{font-size:calc(13px * var(--fs, 1));margin-bottom:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-family:var(--font);font-weight:800}.clue-round+.clue-round{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.round-label{font-size:calc(11px * var(--fs, 1));font-weight:800;color:var(--accent-2);text-transform:uppercase;letter-spacing:.06em}.clue-round ul{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:3px;font-size:calc(14px * var(--fs, 1))}.clue-round li{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.verdict-line{margin:6px 0 0;color:var(--muted)}.imp-reveal{display:flex;align-items:center;gap:16px;text-align:left;padding:14px;border-radius:18px;background:#fffaf00d;border:1px solid var(--line)}.imp-reveal .word-art.lg{width:110px;flex-shrink:0}.imp-reveal .word-art.lg.typo{width:96px}.imp-reveal .word-art.lg .typo-initials{font-size:calc(36px * var(--fs, 1))}.imp-reveal>div{display:flex;flex-direction:column;gap:2px;min-width:0}.imp-reveal .eyebrow{margin:0}.reveal-word{font-family:var(--font-display);font-size:calc(28px * var(--fs, 1));line-height:1.05;overflow-wrap:anywhere}.reveal-impostors{margin:6px 0 0;font-size:calc(14px * var(--fs, 1))}@media(max-width:520px){.imp-header{padding:12px;gap:10px}.imp-timer{width:60px;height:60px}.imp-timer span{font-size:calc(15px * var(--fs, 1))}.ptiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ptile{padding:10px}.ptile-top{gap:8px}.imp-reveal{flex-direction:column;text-align:center}}:root.reduce-motion .secret-btn,:root.reduce-motion .secret-inner,:root.reduce-motion .impostor-mask,:root.reduce-motion .back-q,:root.reduce-motion .bubble.typing i{animation:none;transition:none}.imp-table{position:relative}.imp-table .scene{aspect-ratio:16 / 11}@media(max-width:600px){.imp-table .scene{aspect-ratio:1 / 1.05}}.phase-splash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;pointer-events:none;animation:splash 1.3s var(--ease-out) both}.phase-splash b{font-family:var(--font-display);font-size:clamp(34px,8vw,64px);font-weight:800;letter-spacing:-.03em;color:#fff;text-shadow:0 4px 0 #0006,0 0 40px #3ee0c2aa;padding:6px 28px;border-radius:20px;background:linear-gradient(135deg,#0d1b33dd,#1b6f8acc);border:1px solid #3ee0c288}.splash-icon{font-size:clamp(36px,8vw,56px);animation:splash-icon 1.3s var(--ease-spring) both}@keyframes splash{0%{opacity:0;transform:scale(1.4)}18%{opacity:1;transform:scale(1)}78%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9) translateY(-10px)}}@keyframes splash-icon{0%{transform:scale(0) rotate(-30deg)}30%{transform:scale(1.2) rotate(8deg)}50%{transform:scale(1) rotate(0)}}.pawn-label{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;transform:translateY(-50%);white-space:nowrap;font-family:var(--font);color:var(--text)}.pawn-name{display:inline-flex;align-items:center;font-size:calc(13px * var(--fs, 1));font-weight:800;padding:2px 9px;border-radius:999px;background:#0f0c1ccc;border:1px solid #ffffff22;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);max-width:140px;overflow:hidden;text-overflow:ellipsis}.pawn-label.speaking .pawn-name{background:var(--accent-2);color:var(--accent-ink);border-color:transparent}.pawn-label.out{opacity:.75}.pawn-label .bubble{font-size:calc(13px * var(--fs, 1));max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;box-shadow:0 6px 16px -6px #000a}.pawn-label .vote-flag{position:static}.center-label{font-family:var(--font-display);font-weight:800;font-size:calc(14px * var(--fs, 1));padding:4px 12px;border-radius:999px;background:#0f0c1cdd;border:1.5px solid;color:#fff;white-space:nowrap}.center-card-q{font-family:var(--font-display);font-size:calc(120px * var(--fs, 1));font-weight:800;color:#fff;line-height:1;text-shadow:0 0 30px #3ee0c2;-webkit-user-select:none;user-select:none}.verdict.suspense{border-color:var(--accent-2);background:radial-gradient(300px 120px at 0% 50%,#ffbe4d2e,transparent 70%),linear-gradient(180deg,var(--card-2),var(--card))}.verdict-icon.drum{animation:drum .16s ease-in-out infinite alternate}@keyframes drum{to{transform:rotate(-12deg) scale(1.08)}}.verdict:not(.suspense){animation:verdict-in .6s var(--ease-spring)}.secret-card.flipped .secret-btn:after{content:"";position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#ffe9a866 0%,transparent 60%);animation:reveal-glow 1s var(--ease-out) forwards}.secret-card.flipped.is-impostor .secret-btn:after{background:radial-gradient(circle,#ff3b4e77 0%,transparent 60%)}.secret-btn{position:relative}@keyframes reveal-glow{0%{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(1.3)}}:root.reduce-motion .phase-splash,:root.reduce-motion .splash-icon,:root.reduce-motion .verdict-icon.drum{animation:none}.imp-miniback{flex-shrink:0;display:grid;place-items:center;width:20px;height:28px;border-radius:4px;font-size:11px;font-weight:800;color:#fff;background:repeating-linear-gradient(45deg,#ffffff0a 0 4px,transparent 4px 8px),radial-gradient(circle at 50% 35%,#3ee0c2,#1b6f8a 45%,#0d1b33);border:1px solid #ffffff2a;transform:rotate(-6deg)}.magnate-layout{display:grid;grid-template-columns:minmax(0,1fr) max(340px,var(--side-w));gap:20px;align-items:start}@media(max-width:900px){.magnate-layout{grid-template-columns:minmax(0,1fr)}}.mg-main{display:flex;flex-direction:column;gap:14px;min-width:0}.mg-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.mg-header{display:flex;align-items:center;gap:12px;padding:12px 16px}.mg-header.mine{box-shadow:0 0 0 2px var(--accent-2),var(--shadow-1)}.mg-header-text{display:flex;flex-direction:column;flex:1;min-width:0}.mg-board-wrap{position:relative;display:flex;justify-content:center}.mg-board{--edge: 1.4fr;display:grid;grid-template-columns:var(--edge) repeat(9,1fr) var(--edge);grid-template-rows:var(--edge) repeat(9,1fr) var(--edge);width:100%;max-width:min(100%,max(560px,calc(var(--stage-h) - 80px)));aspect-ratio:1;background:var(--mg-centre, #cfe3c6);border:3px solid var(--mg-ink, #2b2b2b);border-radius:10px;overflow:hidden;color:var(--mg-ink, #1d1a1f);box-shadow:var(--shadow-2)}.mg-sq{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:0;min-height:0;padding:2px;border:1px solid color-mix(in srgb,var(--mg-ink, #2b2b2b) 35%,transparent);background:color-mix(in srgb,var(--mg-felt, #d7ead4) 22%,#fbf6ea);color:inherit;font:inherit;font-size:clamp(6px,.95vw,9.5px);line-height:1.1;text-align:center;cursor:pointer;overflow:hidden}.mg-sq:hover,.mg-sq.selected{outline:3px solid var(--accent-2);outline-offset:-3px;z-index:2}.mg-sq.mortgaged{background:repeating-linear-gradient(45deg,#e9e2d0,#e9e2d0 4px,#d6cfbd 4px,#d6cfbd 8px)}.mg-band{position:absolute;background:var(--g);border:0 solid #2b2b2b}.mg-sq.bottom{padding-top:24%}.mg-sq.bottom .mg-band{inset:0 0 auto 0;height:22%;border-bottom-width:1px}.mg-sq.top{padding-bottom:24%}.mg-sq.top .mg-band{inset:auto 0 0 0;height:22%;border-top-width:1px}.mg-sq.left{padding-right:24%}.mg-sq.left .mg-band{inset:0 0 0 auto;width:22%;border-left-width:1px}.mg-sq.right{padding-left:24%}.mg-sq.right .mg-band{inset:0 auto 0 0;width:22%;border-right-width:1px}.mg-name{font-weight:700;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.mg-icon{font-size:1.8em;line-height:1}.mg-price{font-weight:600;opacity:.8}.mg-owner{position:absolute;background:var(--o);box-shadow:0 0 0 1px #0004}.mg-sq.bottom .mg-owner{inset:auto 8% 2px 8%;height:4px}.mg-sq.top .mg-owner{inset:2px 8% auto 8%;height:4px}.mg-sq.left .mg-owner{inset:8% auto 8% 2px;width:4px}.mg-sq.right .mg-owner{inset:8% 2px 8% auto;width:4px}.mg-buildings{position:absolute;display:flex;gap:1px}.mg-sq.bottom .mg-buildings{top:3%}.mg-sq.top .mg-buildings{bottom:3%}.mg-sq.left .mg-buildings{right:3%;flex-direction:column}.mg-sq.right .mg-buildings{left:3%;flex-direction:column}.mg-buildings .house{width:6px;height:6px;background:#2fa35a;border:1px solid #0b3d1d}.mg-buildings .hotel{width:12px;height:7px;background:#d8322c;border:1px solid #4a0e0b}.mg-tokens{position:absolute;inset:auto 0 18% 0;display:flex;justify-content:center;flex-wrap:wrap;gap:1px}.mg-tokens i{display:grid;place-items:center;width:15px;height:15px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 3px #0008;font-size:9px;font-style:normal;line-height:1}.mg-tokens i.turn{animation:mg-bob 1s ease-in-out infinite}@keyframes mg-bob{50%{transform:translateY(-3px)}}.mg-center{grid-row:2 / 11;grid-column:2 / 11;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:12px;min-width:0}.mg-logo{font-family:var(--font-display);font-weight:900;font-size:clamp(20px,4.6vw,46px);line-height:1;text-align:center;color:var(--mg-accent, #b8342c);letter-spacing:.08em;transform:rotate(-8deg);text-shadow:0 2px 0 color-mix(in srgb,var(--mg-ink, #000) 45%,transparent),0 0 18px color-mix(in srgb,var(--mg-accent, #fff) 30%,transparent)}.mg-dice{display:flex;gap:10px}.mg-dice .die{width:clamp(34px,6vw,52px);height:clamp(34px,6vw,52px);padding:clamp(5px,1vw,8px)}.mg-card{max-width:280px;padding:10px 12px;border-radius:10px;background:#fffdf6;color:#1d1a1f;box-shadow:0 6px 18px -6px #0008;border-top:6px solid #ffbe4d;display:flex;flex-direction:column;gap:4px;font-size:13px;animation:mg-card-in .45s var(--ease-spring)}.mg-card.comunidad{border-top-color:#5b8cff}.mg-card b{color:color-mix(in srgb,var(--mg-ink, #1d1a1f) 85%,var(--mg-accent, #000))}.mg-board-wrap>.mg-card{position:absolute;left:12px;bottom:12px}@keyframes mg-card-in{0%{transform:rotateY(90deg) scale(.8);opacity:0}}@media(max-width:600px){.mg-name,.mg-price{display:none}.mg-card{font-size:11px;padding:6px 8px}}.mg-actions{display:flex;flex-direction:column;gap:10px;padding:14px 16px}.mg-actions.mine{box-shadow:0 0 0 2px var(--accent),var(--shadow-1)}.mg-hint{margin:0}.mg-debt{color:var(--bad)}.mg-bid{display:flex;flex-direction:column;gap:8px}.mg-field{display:flex;flex-direction:column;gap:4px;font-size:13px}.mg-field.inline{flex-direction:row;align-items:center;gap:8px}.mg-field input,.mg-field select{width:110px;padding:7px 10px;border-radius:10px;border:1px solid var(--line-strong);background:var(--bg-2);color:var(--text);font:inherit}.mg-players{display:flex;flex-direction:column;gap:6px;padding:10px}.mg-player{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:12px;border-left:4px solid var(--c)}.mg-player.turn{background:var(--card-2);box-shadow:0 0 0 1px var(--c)}.mg-player.gone{opacity:.45}.mg-player-name{display:flex;flex-direction:column;flex:1;min-width:0}.mg-cash{font-variant-numeric:tabular-nums;white-space:nowrap}.mg-props{padding:12px 14px}.mg-props h4,.mg-trade h4,.mg-trade-review h4,.mg-detail h4{margin:0 0 8px}.mg-props ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.mg-props li{display:flex;align-items:center;gap:8px}.mg-props li.mortgaged .mg-prop-name{opacity:.6}.mg-props .swatch{width:16px;height:16px;font-size:11px;display:inline-grid;place-items:center}.mg-prop-name{flex:1;min-width:0;font-size:13px}.mg-prop-actions{display:flex;gap:4px}.mg-trade,.mg-trade-review{display:flex;flex-direction:column;gap:10px;padding:14px 16px}.mg-trade-review{border:2px solid var(--line)}.mg-trade-review.mine{box-shadow:0 0 0 2px var(--accent-2),var(--shadow-1)}.mg-trade-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.mg-trade-sides{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:520px){.mg-trade-sides{grid-template-columns:1fr}}.mg-trade-side{border:1px solid var(--line);border-radius:12px;padding:8px 10px;display:flex;flex-direction:column;gap:8px;min-width:0}.mg-trade-side legend{font-weight:800;padding:0 4px}.mg-trade-props,.mg-trade-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:13px}.mg-trade-props label{display:flex;align-items:center;gap:6px;cursor:pointer}.mg-detail{padding:12px 14px;border-top:8px solid var(--g)}.mg-detail-head{display:flex;align-items:center;gap:8px}.mg-rents{width:100%;border-collapse:collapse;font-size:13px}.mg-rents th{text-align:left;font-weight:500;color:var(--muted)}.mg-rents td{text-align:right;font-variant-numeric:tabular-nums}.mg-rents tr.on th,.mg-rents tr.on td{color:var(--accent-2);font-weight:800}.mg-log ul{max-height:260px;overflow-y:auto}.mg-token{display:grid;place-items:center;width:26px;height:26px;flex:none;border-radius:50%;background:color-mix(in srgb,var(--c) 22%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--c) 60%,transparent) inset;font-size:15px}.mg-group-name{margin:-4px 0 4px;font-weight:700}.mg-editions{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.mg-edition{display:flex;flex-direction:column;gap:8px;padding:8px;border-radius:var(--radius-sm);border:1px solid var(--line);background:#0f0c1c80;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .2s,transform .2s var(--ease-spring),box-shadow .2s}.mg-edition:hover:not(:disabled){border-color:var(--line-strong);transform:translateY(-2px)}.mg-edition.active{border-color:var(--mg-accent);box-shadow:0 0 0 1px var(--mg-accent) inset,0 10px 28px -14px var(--mg-accent)}.mg-edition:disabled{opacity:.4;cursor:default}.mg-edition-art{position:relative;display:grid;place-items:center;gap:4px;aspect-ratio:16 / 7;padding:14px 8px 8px;border-radius:8px;overflow:hidden;background:var(--mg-centre);box-shadow:0 0 0 5px var(--mg-felt) inset,0 0 0 6px var(--mg-ink) inset}.mg-edition-bands{position:absolute;inset:5px 5px auto 5px;display:flex;height:7px}.mg-edition-bands i{flex:1}.mg-edition-title{font-family:var(--font-display);font-weight:900;font-size:17px;letter-spacing:.06em;text-align:center;line-height:1;color:var(--mg-accent);text-shadow:0 1px 0 color-mix(in srgb,var(--mg-ink) 60%,transparent);transform:rotate(-4deg)}.mg-edition-tokens{font-size:15px;letter-spacing:1px}.mg-edition-text{display:flex;flex-direction:column;gap:2px;padding:0 2px 2px}.mg-edition-text b{font-family:var(--font-display);font-size:15px}.mg-edition.active .mg-edition-text b:after{content:" ✓";color:var(--mg-accent)}@media(prefers-reduced-motion:reduce){.mg-edition{transition:none}}.ultima-layout{display:grid;grid-template-columns:minmax(0,1fr) var(--side-w);gap:20px;align-items:start}@media(max-width:900px){.ultima-layout{grid-template-columns:minmax(0,1fr)}}.u-main{display:flex;flex-direction:column;gap:14px;min-width:0}.u-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;background:radial-gradient(420px 160px at 0% 0%,#ec44591f,transparent 70%),linear-gradient(180deg,var(--card-2),var(--card));transition:box-shadow .3s}.u-header.mine{box-shadow:var(--ring),var(--shadow-1)}.u-header h2{font-size:clamp(18px,3vw,24px);margin:0}.u-header .eyebrow{margin:0 0 4px}.u-timer{font-variant-numeric:tabular-nums;font-weight:800;font-size:calc(20px * var(--fs, 1));padding:6px 12px;border-radius:999px;background:var(--bg-2);border:1px solid var(--line)}.u-timer.mine{border-color:var(--accent-2)}.u-timer.low{color:var(--bad);animation:u-pulse .8s ease-in-out infinite}.u-board{border-radius:var(--radius-lg);background:radial-gradient(60% 70% at 50% 50%,color-mix(in srgb,var(--uc) 22%,transparent),transparent 75%),radial-gradient(120% 100% at 50% 0%,#2c2152,#17122b);border:1px solid var(--line);transition:background .5s;overflow:hidden}.u-board .scene{height:clamp(320px,calc(var(--stage-h) - 300px * var(--k)),1000px)}.u-table2d{display:flex;flex-direction:column;justify-content:space-evenly;min-height:clamp(320px,calc(var(--stage-h) - 300px * var(--k)),1000px);gap:18px;padding:16px}.u-opps{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;list-style:none;margin:0;padding:0}.u-opp{position:relative;display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius);background:#ffffff0a;border:1px solid var(--line);min-width:170px;transition:border-color .2s,transform .2s var(--ease-out)}.u-opp.turn{border-color:var(--c);box-shadow:0 0 0 2px color-mix(in srgb,var(--c) 45%,transparent);transform:translateY(-2px)}.u-opp.out{opacity:.45}.u-opp-info{display:flex;flex-direction:column;min-width:0}.u-opp-info b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.u-fan{position:relative;width:56px;height:34px;margin-left:auto;flex-shrink:0}.u-fan>span{position:absolute;left:calc(var(--i) * (36px / max(var(--n) - 1,1)));top:0;transform:rotate(calc((var(--i) - (var(--n) - 1) / 2) * 6deg));transform-origin:bottom center}.u-called{position:absolute;top:-10px;right:-6px;background:var(--bad);color:#fff;font-weight:900;font-size:calc(12px * var(--fs, 1));padding:2px 8px;border-radius:999px;transform:rotate(6deg);box-shadow:var(--shadow-1)}.u-center{display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;padding:8px 0 4px}.u-pile{position:relative;display:grid;place-items:center;width:calc(108px * var(--k));height:calc(154px * var(--k))}.u-deck .u-back{box-shadow:2px 2px #f3ecdf,4px 4px #d9d1c3,6px 6px 12px #0008}.u-pile-count{position:absolute;bottom:-10px;right:-8px;background:var(--card-2);border:1px solid var(--line-strong);border-radius:999px;padding:2px 8px;font-size:calc(12px * var(--fs, 1));font-weight:800}.u-landed{display:block;transform:rotate(var(--r));animation:u-land calc(.35s * var(--anim, 1)) var(--ease-spring)}.u-state{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.u-color-chip{display:inline-flex;align-items:center;gap:8px;font-weight:800;padding:6px 12px 6px 8px;border-radius:999px;background:#ffffff10}.u-color-chip:before{content:"";width:18px;height:18px;border-radius:6px;background:var(--uc);transform:rotate(45deg);box-shadow:0 0 12px var(--uc)}.u-dir{color:var(--muted);font-size:calc(14px * var(--fs, 1))}.u-pending{font-weight:900;color:var(--accent-ink);background:var(--grad);padding:4px 10px;border-radius:999px;animation:u-pulse 1s ease-in-out infinite}.u-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.u-call{font-weight:900}.u-call.ready{background:#ec4459;border-color:#ec4459;color:#fff;animation:u-glow 1.1s ease-in-out infinite}.u-catch{background:var(--accent-2);color:var(--accent-ink);font-weight:900;--glow: #f4b42c;animation:u-glow .7s ease-in-out infinite}.u-picker{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px;animation:u-land calc(.25s * var(--anim, 1)) var(--ease-out)}.u-picker-title{font-weight:800}.u-picker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:min(100%,460px)}.u-swatch{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:var(--radius);padding:18px 6px;font:inherit;font-weight:900;color:#fff;text-shadow:0 1px 2px #0006;background:var(--uc);cursor:pointer;transition:transform .15s var(--ease-spring)}.u-swatch:hover,.u-swatch:focus-visible{transform:translateY(-3px) scale(1.04);outline:none;box-shadow:var(--ring)}.u-hand{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;padding:14px 10px 18px;border-radius:var(--radius-lg);background:#ffffff06;border:1px dashed var(--line)}.u-hand.mine{border-style:solid;border-color:var(--line-strong)}.u-card-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:0;border-radius:12px;cursor:pointer;transition:transform .18s var(--ease-spring),filter .2s;animation:u-deal calc(.35s * var(--anim, 1)) var(--ease-out) backwards;animation-delay:calc(var(--i) * 25ms)}.u-card-btn:disabled{cursor:default;filter:saturate(.55) brightness(.72)}.u-hand:not(.mine) .u-card-btn:disabled{filter:none}.u-card-btn.playable:hover,.u-card-btn.playable:focus-visible,.u-card-btn.picked{transform:translateY(-12px) rotate(-2deg);outline:none}.u-card-btn.playable:focus-visible .u-face{box-shadow:var(--ring),0 10px 18px -8px #000a}.u-face,.u-back{position:relative;display:inline-grid;place-items:center;width:calc(68px * var(--k));height:calc(98px * var(--k));border-radius:10px;background:#fffaf0;box-shadow:0 6px 14px -8px #000a;overflow:hidden;-webkit-user-select:none;user-select:none}.u-face.sm,.u-back.sm{width:calc(44px * var(--k));height:calc(64px * var(--k));border-radius:7px}.u-face.lg,.u-back.lg{width:calc(96px * var(--k));height:calc(138px * var(--k));border-radius:13px}.u-back.xs{width:20px;height:30px;border-radius:4px}.u-frame{position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:8px;background:var(--uc)}.u-face.wild .u-frame{background:radial-gradient(circle at 30% 20%,#ffffff18,transparent 60%),#1f1b33}.u-tile{position:relative;display:grid;place-items:center;width:58%;aspect-ratio:1;color:#fff}.u-tile:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:24%;border:3px solid #fff;background:#ffffff2a;transform:rotate(45deg)}.u-face.wild .u-tile:before{border-color:#fffaf0aa;background:#ffffff10}.u-num{position:relative;font-family:var(--font-display);font-weight:900;font-size:calc(32px * var(--fs, 1));line-height:1;text-shadow:0 2px 0 #0003,0 0 1px #0006}.u-num.small{font-size:calc(24px * var(--fs, 1))}.u-face.lg .u-num{font-size:calc(46px * var(--fs, 1))}.u-face.lg .u-num.small{font-size:calc(34px * var(--fs, 1))}.u-tile svg{position:relative}.u-plus4{position:absolute;bottom:-64%;font-family:var(--font-display);font-size:calc(15px * var(--fs, 1));color:#fffaf0}.u-face.lg .u-plus4{font-size:calc(20px * var(--fs, 1))}.u-corner{position:absolute;display:grid;place-items:center;font-family:var(--font-display);font-weight:900;font-size:calc(12px * var(--fs, 1));color:#fff;line-height:1}.u-face.lg .u-corner{font-size:calc(16px * var(--fs, 1))}.u-corner.tl{top:8px;left:9px}.u-corner.br{bottom:8px;right:9px;transform:rotate(180deg)}.u-face.sm .u-corner{display:none}.u-back:before{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:8px;background:repeating-linear-gradient(45deg,#ffffff08 0 6px,transparent 6px 12px),#231a3f}.u-back.xs:before{top:2px;right:2px;bottom:2px;left:2px;border-radius:3px}.u-back-mark{position:relative;font-family:var(--font-display);font-weight:900;font-size:calc(16px * var(--fs, 1));color:#fff;background:#ec4459;padding:3px 9px;border-radius:999px;transform:rotate(-20deg)}.u-back.lg .u-back-mark{font-size:calc(22px * var(--fs, 1))}.u-back.xs .u-back-mark{display:none}.u-scores{padding:14px 18px}.u-scores h3{margin:0 0 8px}.u-scores ol{list-style:none;margin:0;padding:0;display:grid;gap:4px}.u-scores li{display:flex;justify-content:space-between;padding:6px 10px;border-radius:var(--radius-sm);background:#ffffff08}.u-scores li.won{background:color-mix(in srgb,var(--ok) 20%,transparent)}.u-log ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:calc(14px * var(--fs, 1));max-height:260px;overflow:auto}.u-log li:first-child{font-weight:700}.u-log .swatch{display:inline-block;width:8px;height:8px;border-radius:50%}.u3d-label{white-space:nowrap;font-size:calc(12px * var(--fs, 1));font-weight:700;color:#fff;background:#0f0c1ccc;padding:3px 8px;border-radius:999px;pointer-events:none}.u3d-called{color:#ff8a9a;font-weight:900}@keyframes u-land{0%{transform:translateY(-30px) scale(1.15) rotate(0);opacity:0}}@keyframes u-deal{0%{transform:translateY(24px);opacity:0}}@keyframes u-pulse{50%{transform:scale(1.06)}}@keyframes u-glow{50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--glow, #ec4459) 35%,transparent)}}:root.reduce-motion .u-card-btn,:root.reduce-motion .u-landed,:root.reduce-motion .u-pending,:root.reduce-motion .u-call.ready,:root.reduce-motion .u-catch,:root.reduce-motion .u-timer.low{animation:none}@media(max-width:600px){.u-face{width:54px;height:78px}.u-num{font-size:calc(26px * var(--fs, 1))}.u-hand{gap:2px}.u-opp{min-width:0;flex:1 1 140px}.u-fan{display:none}}@media(max-width:700px){.immersive .u-opps{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:4px}.immersive .u-opp{min-width:0;gap:6px;padding:4px 6px;border-radius:12px}.immersive .u-opp .avatar{--av-size: 26px !important}.immersive .u-opp-info{min-width:0}.immersive .u-opp-info b{display:block;font-size:calc(12px * var(--fs, 1));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.immersive .u-opp-info .small{font-size:calc(10px * var(--fs, 1))}.immersive .u-fan{display:none}.immersive .u-table2d{gap:10px;padding:10px;min-height:0}}.u-back.custom:before{background:var(--u-back-bg)}.u-back.custom .u-back-mark{background:var(--u-back-mark)}.u-table2d.felted{border-radius:var(--radius-lg);padding:12px;border:2px solid transparent}.sc-card{position:relative;display:inline-block;width:calc(72px * var(--k));height:calc(108px * var(--k));border-radius:9px;box-shadow:0 6px 14px -8px #000c;flex-shrink:0;-webkit-user-select:none;user-select:none;line-height:0}.sc-card>svg{width:100%;height:100%;display:block}.sc-card.xs{width:22px;height:33px;border-radius:3px;box-shadow:0 2px 4px -2px #000a}.sc-card.sm{width:calc(46px * var(--k));height:calc(69px * var(--k));border-radius:6px}.sc-card.lg{width:calc(92px * var(--k));height:calc(138px * var(--k));border-radius:11px}@media(max-width:520px){.sc-card.md{width:58px;height:87px}.sc-card.lg{width:74px;height:111px}}.sc-suit{display:inline-block;vertical-align:-3px;flex-shrink:0}.sc-fan{position:relative;display:inline-block;width:58px;height:36px;flex-shrink:0}.sc-fan>span{position:absolute;top:0;left:calc(var(--i) * (34px / max(var(--n) - 1,1)));transform:rotate(calc((var(--i) - (var(--n) - 1) / 2) * 7deg));transform-origin:bottom center}.sp-layout{display:grid;grid-template-columns:minmax(0,1fr) var(--side-w);gap:20px;align-items:start}@media(max-width:900px){.sp-layout{grid-template-columns:minmax(0,1fr)}}.sp-main{display:flex;flex-direction:column;gap:14px;min-width:0}.sp-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;background:radial-gradient(420px 160px at 0% 0%,#2e7d3224,transparent 70%),linear-gradient(180deg,var(--card-2),var(--card));transition:box-shadow .3s}.sp-header.mine{box-shadow:var(--ring),var(--shadow-1)}.sp-header h2{font-size:clamp(17px,3vw,23px);margin:0}.sp-header .eyebrow{margin:0 0 4px}.sp-timer{font-variant-numeric:tabular-nums;font-weight:800;font-size:calc(20px * var(--fs, 1));padding:6px 12px;border-radius:999px;background:var(--bg-2);border:1px solid var(--line);flex-shrink:0}.sp-timer.mine{border-color:var(--accent-2)}.sp-timer.low{color:var(--bad);animation:sp-pulse .8s ease-in-out infinite}.sp-board{border-radius:var(--radius-lg);background:radial-gradient(70% 80% at 50% 45%,#2f7d4c,transparent 80%),radial-gradient(120% 100% at 50% 0%,#1f5a37,#10301f);border:1px solid #2f6a46;box-shadow:inset 0 0 0 6px #0b2416,inset 0 0 40px #0008;overflow:hidden}.sp-board .scene{height:clamp(320px,calc(var(--stage-h) - 300px * var(--k)),1000px)}.sp-table2d{display:flex;flex-direction:column;justify-content:space-evenly;min-height:clamp(320px,calc(var(--stage-h) - 300px * var(--k)),1000px);gap:16px;padding:16px}.sp-opps{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;list-style:none;margin:0;padding:0}.sp-opp{position:relative;display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius);background:#00000030;border:1px solid #ffffff1c;min-width:170px;transition:border-color .2s,transform .2s var(--ease-out)}.sp-opp.turn{border-color:var(--c);box-shadow:0 0 0 2px color-mix(in srgb,var(--c) 45%,transparent);transform:translateY(-2px)}.sp-opp.out{opacity:.45}.sp-opp-info{display:flex;flex-direction:column;min-width:0}.sp-opp-info b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-opp .sc-fan{margin-left:auto}@media(max-width:520px){.sp-opps .sp-opp{flex:1 1 140px;min-width:0;padding:6px 8px;gap:8px}.sp-opps .sc-fan{display:none}}.sp-tag{font-size:calc(11px * var(--fs, 1));font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-2)}.sp-center{display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;padding:6px 0 4px}.sp-pile{position:relative;display:grid;place-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:0;color:inherit;font:inherit;border-radius:12px}button.sp-pile{cursor:pointer;transition:transform .18s var(--ease-spring)}button.sp-pile:disabled{cursor:default}button.sp-pile:not(:disabled):hover,button.sp-pile:not(:disabled):focus-visible{transform:translateY(-4px);outline:none}button.sp-pile:not(:disabled) .sc-card{box-shadow:0 0 0 3px var(--accent-2),0 10px 20px -8px #000c}.sp-pile.drop-target .sc-card{box-shadow:0 0 0 4px var(--ok),0 10px 20px -8px #000c}.sp-deck .sc-card{box-shadow:2px 2px #e9e1d1,4px 4px #cfc6b5,6px 6px 12px #0008}.sp-pile-count{position:absolute;bottom:-10px;right:-8px;background:var(--card-2);border:1px solid var(--line-strong);border-radius:999px;padding:2px 8px;font-size:calc(12px * var(--fs, 1));font-weight:800}.sp-pile-label{position:absolute;top:-22px;left:0;right:0;text-align:center;font-size:calc(12px * var(--fs, 1));font-weight:700;color:#ffffffb0}.sp-empty-slot{display:grid;place-items:center;width:calc(92px * var(--k));height:calc(138px * var(--k));border-radius:11px;border:2px dashed #ffffff33;color:#fff6;font-size:calc(12px * var(--fs, 1));text-align:center;padding:6px}@media(max-width:520px){.sp-empty-slot{width:74px;height:111px}}.sp-landed{display:block;animation:sp-land calc(.35s * var(--anim, 1)) var(--ease-spring)}.sp-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center}.sp-hand{display:flex;justify-content:center;align-items:flex-end;flex-wrap:wrap;gap:4px 6px;padding:16px 10px 18px;border-radius:var(--radius-lg);background:#ffffff06;border:1px dashed var(--line)}.sp-hand.mine{border-style:solid;border-color:var(--line-strong)}.sp-card-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:0;border-radius:10px;cursor:pointer;transition:transform .18s var(--ease-spring),filter .2s;animation:sp-deal calc(.35s * var(--anim, 1)) var(--ease-out) backwards;animation-delay:calc(var(--i, 0) * 25ms);touch-action:manipulation}.sp-card-btn:disabled{cursor:default}.sp-card-btn.dim{filter:saturate(.6) brightness(.75)}.sp-card-btn:not(:disabled):hover,.sp-card-btn:not(:disabled):focus-visible,.sp-card-btn.selected{transform:translateY(-12px);outline:none}.sp-card-btn:focus-visible .sc-card,.sp-card-btn.selected .sc-card{box-shadow:var(--ring),0 10px 18px -8px #000a}.sp-panel h3,.sp-panel h4{margin:0 0 8px}.sp-log ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:calc(14px * var(--fs, 1));max-height:220px;overflow:auto}.sp-log li{display:flex;align-items:center;gap:8px}.sp-scores ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.sp-scores li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:center}.sp-scores li.out{opacity:.5;text-decoration:line-through}.sp-bar{grid-column:1 / -1;height:6px;border-radius:999px;background:#ffffff12;overflow:hidden}.sp-bar>span{display:block;height:100%;width:calc(var(--p) * 100%);background:linear-gradient(90deg,var(--ok),var(--accent-2) 60%,var(--bad));background-size:calc(100%/max(var(--p),.01)) 100%;border-radius:inherit;transition:width .4s var(--ease-out)}@keyframes sp-pulse{50%{transform:scale(1.07)}}@keyframes sp-land{0%{transform:translateY(-30px) scale(1.1);opacity:0}}@keyframes sp-deal{0%{transform:translateY(24px);opacity:0}}:root.reduce-motion .sp-card-btn,:root.reduce-motion .sp-landed{animation:none}.sp-table2d.felted{border-radius:var(--radius-lg);padding:12px;border:2px solid transparent}.ch-hand{gap:10px 14px}.ch-group{position:relative;display:flex;gap:4px;padding:6px 6px 10px;border-radius:14px}.ch-group.meld{background:#3ccf8e14;border:1px solid #3ccf8e55}.ch-group.meld:after{content:"Jugada";position:absolute;bottom:-9px;left:50%;transform:translate(-50%);font-size:calc(10px * var(--fs, 1));font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:0 6px;border-radius:999px;background:var(--bg-2);color:var(--ok)}.ch-group.loose{padding-inline:0}@media(max-width:520px){.ch-group{gap:2px}.ch-group .sp-card-btn+.sp-card-btn{margin-left:-14px}}.sp-card-btn.fresh .sc-card{box-shadow:0 0 0 3px var(--violet),0 10px 18px -8px #000a}.sp-card-btn.closer:before{content:"";position:absolute;inset:auto 30% -6px;height:4px;border-radius:4px;background:var(--accent-2)}.sp-card-btn{position:relative}.ch-sort{display:flex;justify-content:center;gap:6px;margin-bottom:-6px}.ch-sort button{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-size:calc(13px * var(--fs, 1));font-weight:700;color:var(--muted);background:#ffffff08;border:1px solid var(--line);border-radius:999px;padding:4px 12px;cursor:pointer}.ch-sort button.active{color:var(--text);border-color:var(--line-strong);background:#ffffff14}.btn.ch-close.ready:not(:disabled){background:var(--grad);color:var(--accent-ink);border-color:transparent;font-weight:900}.ch-close.ready:disabled{border-color:var(--accent-2)}.ch-reveal ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.ch-reveal-row{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:var(--radius);background:#ffffff06;border:1px solid var(--line)}.ch-reveal-row.closer{border-color:var(--accent-2)}.ch-reveal-who{display:flex;align-items:center;gap:10px}.ch-points{margin-left:auto;font-weight:900;font-variant-numeric:tabular-nums;color:var(--bad)}.ch-points.good{color:var(--ok)}.ch-reveal-cards{display:flex;flex-wrap:wrap;gap:10px}.ch-mini{display:inline-flex;gap:2px}.ch-mini .sc-card+.sc-card{margin-left:-18px}.ch-out-note{margin:10px 0 0;font-weight:700;color:var(--accent-2)}.br-eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.br-triunfo{display:inline-flex;align-items:center;gap:4px;padding:1px 8px 1px 4px;border-radius:999px;background:#ffffff14;color:var(--text);text-transform:none;letter-spacing:0}.br-table{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.6fr) minmax(0,1fr);grid-template-areas:". top ." "left felt right";gap:12px;padding:16px;align-items:center;align-content:space-evenly;min-height:clamp(320px,calc(var(--stage-h) - 300px * var(--k)),1000px)}.br-table.p2{grid-template-columns:minmax(0,1fr);grid-template-areas:"top" "felt"}.br-seat{min-width:0}.br-seat.top{grid-area:top;justify-self:center}.br-seat.left{grid-area:left}.br-seat.right{grid-area:right}.br-seat.left,.br-seat.right{flex-direction:column;text-align:center;min-width:0}.br-seat.left .sc-fan,.br-seat.right .sc-fan{margin:0 auto}.br-felt{grid-area:felt;position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:24px;min-height:260px;padding:10px;border-radius:var(--radius);border:2px dashed transparent;transition:border-color .2s}.br-felt.drop-target{border-color:var(--ok)}.br-deck{position:relative;width:calc(150px * var(--k));height:calc(120px * var(--k))}.br-triunfo-card{position:absolute;left:52px;top:6px;transform:rotate(90deg)}.br-deck-stack{position:absolute;left:0;top:6px}.br-deck-stack .sc-card{box-shadow:2px 2px #e9e1d1,4px 4px #cfc6b5,6px 6px 12px #0008}.br-trick{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,auto);grid-template-rows:repeat(3,auto);grid-template-areas:". top ." "left . right" ". bottom .";justify-content:center;align-items:center;gap:2px 10px;min-height:240px}.br-table.p2 .br-trick{grid-template-areas:". top ." ". bottom .";grid-template-rows:repeat(2,auto)}.br-slot.top{grid-area:top}.br-slot.bottom{grid-area:bottom}.br-slot.left{grid-area:left}.br-slot.right{grid-area:right}.br-slot.old{opacity:.55;filter:saturate(.7)}.br-slot.winner{opacity:1;filter:none}.br-slot.winner .sc-card{box-shadow:0 0 0 4px var(--accent-2),0 10px 20px -8px #000c}.br-caption{position:absolute;top:8px;right:12px;margin:0;font-size:calc(13px * var(--fs, 1));font-weight:800;color:var(--accent-2)}@media(max-width:620px){.br-table{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"top top" "left right" "felt felt"}.br-table.p2{grid-template-columns:minmax(0,1fr)}.br-felt{grid-template-columns:minmax(0,1fr);justify-items:center}.br-deck{height:96px}.br-felt{min-height:0}.br-trick{min-height:150px}}.sp-card-btn.br-trump .sc-card{outline:2px solid #f2c23088;outline-offset:2px}.btn.br-swap{background:var(--grad);color:var(--accent-ink);border-color:transparent;font-weight:900}.br-summary .br-sides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.br-side{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px;border-radius:var(--radius);background:#ffffff06;border:1px solid var(--line)}.br-side b{font-size:calc(30px * var(--fs, 1));font-variant-numeric:tabular-nums}.br-side.won{border-color:var(--ok);background:#3ccf8e14}.br-score ul{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:8px}.br-score li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px}.br-score li.mine .br-team{font-weight:800}.br-senas-row{display:flex;flex-wrap:wrap;gap:6px}.billar-layout{display:grid;grid-template-columns:minmax(0,1fr) var(--side-w);gap:20px;align-items:start}@media(max-width:900px){.billar-layout{grid-template-columns:minmax(0,1fr)}}.b-main{display:flex;flex-direction:column;gap:12px;min-width:0}.b-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;background:radial-gradient(420px 160px at 0% 0%,#1f8a5a33,transparent 70%),linear-gradient(180deg,var(--card-2),var(--card))}.b-header.mine{box-shadow:var(--ring),var(--shadow-1)}.b-header h2{font-size:clamp(17px,2.8vw,23px);margin:0}.b-header .eyebrow{margin:0 0 4px}.b-header-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.b-bih{background:#7dffb022;border-color:#7dffb066}.b-timer{font-variant-numeric:tabular-nums;font-weight:800;font-size:calc(20px * var(--fs, 1));padding:6px 12px;border-radius:999px;background:var(--bg-2);border:1px solid var(--line)}.b-timer.mine{border-color:var(--accent-2)}.b-timer.low{color:var(--bad)}.b-players{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.b-player{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:var(--radius);background:var(--card);border:1px solid var(--line);min-width:0}.b-player.turn{border-color:var(--c);box-shadow:0 0 0 1px var(--c),0 0 18px color-mix(in srgb,var(--c) 30%,transparent)}.b-player.gone{opacity:.5}.b-player-info{display:flex;flex-direction:column;gap:3px;min-width:0}.b-dots{display:flex;flex-wrap:wrap;gap:3px}.b-dot{--bc: #888;display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;font-size:calc(9px * var(--fs, 1));font-weight:800;color:#1c1c1c;background:radial-gradient(circle at 50% 50%,#fffdf6 0 34%,var(--bc) 36%);box-shadow:inset -2px -3px 4px #0005}.b-dot.stripe{background:radial-gradient(circle at 50% 50%,#fffdf6 0 34%,transparent 36%),linear-gradient(180deg,#f7f3e8 0 24%,var(--bc) 24% 76%,#f7f3e8 76%)}.b-dot.gone{opacity:.22;filter:grayscale(.6)}.b-notice{margin:0;padding:8px 14px;border-radius:var(--radius);background:var(--card);border:1px solid var(--line);font-weight:600}.b-notice.foul{border-color:color-mix(in srgb,var(--bad) 60%,transparent);background:color-mix(in srgb,var(--bad) 12%,var(--card))}.b-board{border-radius:var(--radius-lg);background:radial-gradient(120% 100% at 50% 0%,#20283a,#11141d);border:1px solid var(--line);overflow:hidden;position:relative}.b-board .scene{height:clamp(300px,calc(var(--stage-h) - 340px),1100px)}.billar-2d{display:block;width:100%;height:auto;max-height:calc(var(--stage-h) - 330px);touch-action:none;-webkit-user-select:none;user-select:none}.billar-2d.interactive{cursor:crosshair}.b-pocket.callable{cursor:pointer}.b-cue.placing,.b-cue.invalid{cursor:grab}.b-cam{position:absolute;left:10px;bottom:10px;display:flex;gap:6px}.b-cam .on{background:var(--accent-2);color:#fff}.b-controls{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;gap:14px 18px;align-items:center;padding:14px 16px}@media(max-width:640px){.b-controls{grid-template-columns:minmax(0,1fr) auto}}.b-aim{display:flex;flex-direction:column;gap:2px}.b-aim b{font-size:calc(22px * var(--fs, 1));font-variant-numeric:tabular-nums}.b-bad{color:var(--bad)}.b-power{display:flex;gap:12px;align-items:center}.b-pull{position:relative;flex:none;width:34px;height:92px;border-radius:10px;background:linear-gradient(180deg,#2a2f3d,#171a24);border:1px solid var(--line);overflow:hidden;cursor:ns-resize;touch-action:none}.b-pull.disabled{opacity:.5;cursor:default}.b-pull-fill{position:absolute;left:0;right:0;top:0;background:linear-gradient(180deg,#ffd36b,#ff6b3d)}.b-pull-label{position:absolute;top:0;right:0;bottom:0;left:0;writing-mode:vertical-rl;transform:rotate(180deg);font-size:calc(9px * var(--fs, 1));text-align:center;color:#fff9;pointer-events:none}.b-power-slider{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0;font-size:calc(14px * var(--fs, 1))}.b-power-slider input{width:100%;accent-color:#ff8a3d}.b-spin{display:grid;grid-template-columns:auto auto;gap:4px 10px;align-items:center}.b-spin-ball{position:relative;width:72px;height:72px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#e9e3d4 55%,#a9a394);box-shadow:inset -4px -6px 10px #0003,0 2px 8px #0006;cursor:crosshair;touch-action:none}.b-spin-ball:before,.b-spin-ball:after{content:"";position:absolute;background:#0002}.b-spin-ball:before{left:50%;top:10%;bottom:10%;width:1px}.b-spin-ball:after{top:50%;left:10%;right:10%;height:1px}.b-spin-tip{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#3f7fd0;box-shadow:0 0 0 2px #fff}.b-spin-btns{display:grid;grid-template-columns:repeat(3,30px);grid-template-rows:repeat(3,26px);gap:2px}.b-spin-btns .btn{padding:0;min-height:0}.b-spin-btns :nth-child(1){grid-column:2;grid-row:1}.b-spin-btns :nth-child(2){grid-column:1;grid-row:2}.b-spin-btns :nth-child(3){grid-column:2;grid-row:2}.b-spin-btns :nth-child(4){grid-column:3;grid-row:2}.b-spin-btns :nth-child(5){grid-column:2;grid-row:3}.b-spin-text{grid-column:1 / -1}.b-call{grid-column:1 / -1;display:flex;flex-direction:column;gap:6px}.b-call-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.b-shoot{grid-column:1 / -1;justify-self:stretch}.b-log ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:260px;overflow:auto;font-size:calc(14px * var(--fs, 1))}.b-pocketed .b-dots{gap:4px}.dibuja-layout{display:grid;grid-template-columns:minmax(0,1fr) max(330px,var(--side-w));gap:20px;align-items:start}@media(max-width:900px){.dibuja-layout{grid-template-columns:minmax(0,1fr)}}.dib-main{display:flex;flex-direction:column;gap:14px;min-width:0}.dib-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.dib-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:12px 16px;background:radial-gradient(420px 160px at 0% 0%,#ff6f911f,transparent 70%),radial-gradient(320px 140px at 100% 100%,#ffd25e14,transparent 70%),linear-gradient(180deg,var(--card-2),var(--card))}.dib-round{display:flex;flex-direction:column;gap:2px;min-width:0}.dib-round b{font-family:var(--font-display);font-size:clamp(16px,2.6vw,22px);line-height:1.15}.dib-word{display:flex;flex-direction:column;align-items:center;gap:4px}.dib-word-wait{margin:0;color:var(--muted);font-weight:700}.dib-tiles{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;max-width:420px}.dib-tiles .tile{display:grid;place-items:center;width:24px;height:30px;font-family:var(--font-display);font-weight:800;font-size:calc(19px * var(--fs, 1));text-transform:uppercase;border-bottom:3px solid var(--line-strong)}.dib-tiles .tile.shown{color:var(--accent-2);border-color:var(--accent-2);animation:dib-pop .45s var(--ease-spring)}.dib-word.known .tile{color:#7ef0c0;border-color:#3ccf8e}.dib-tiles .gap{width:12px}.dib-lengths{white-space:nowrap}@keyframes dib-pop{0%{transform:scale(.4) rotate(-12deg);opacity:0}}.dib-timer{position:relative;width:64px;height:64px;display:grid;place-items:center}.dib-timer svg{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotate(-90deg)}.dib-timer circle{fill:none;stroke-width:3}.dib-timer .track{stroke:var(--line)}.dib-timer .fill{stroke:#ffd25e;stroke-linecap:round;stroke-dasharray:97.4;transition:stroke-dashoffset .25s linear}.dib-timer.low .fill{stroke:var(--bad)}.dib-timer.low span{animation:urgent 1s ease-in-out infinite}.dib-timer span{font-family:var(--font-display);font-weight:800;font-size:calc(16px * var(--fs, 1));font-variant-numeric:tabular-nums}@media(max-width:600px){.dib-header{grid-template-columns:minmax(0,1fr) auto}.dib-word{grid-column:1 / -1;grid-row:2}.dib-tiles .tile{width:20px;height:26px;font-size:calc(16px * var(--fs, 1))}}.dib-stage{position:relative;border-radius:var(--radius);padding:10px;background:repeating-linear-gradient(-45deg,#ffffff06 0 10px,transparent 10px 20px),linear-gradient(180deg,#3a2a63,#24193f);box-shadow:0 20px 50px -24px #000c,inset 0 0 0 1px #ffffff14}.dib-stage.is-drawing .dib-canvas{width:min(100%,calc((100dvh - 330px) * 4 / 3))}.dib-stage.is-drawing{box-shadow:0 20px 50px -24px #000c,0 0 0 3px #ffd25e88}.dib-canvas{display:block;width:min(100%,calc((100dvh - 250px) * 4 / 3));min-width:min(100%,280px);margin:0 auto;height:auto;aspect-ratio:4 / 3;border-radius:10px;background:#fff;box-shadow:0 2px #0003;touch-action:none;user-select:none;-webkit-user-select:none}.dib-canvas.drawing{cursor:crosshair}.dib-canvas.drawing.tool-fill{cursor:cell}.dib-overlay{position:absolute;top:10px;right:10px;bottom:10px;left:10px;margin:0 auto;max-width:min(calc(100% - 20px),calc((100dvh - 250px) * 4 / 3));border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:16px;text-align:center;background:#120d24d9;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:dib-fade .3s ease-out}.dib-overlay.reveal{background:#120d24c4}.dib-overlay h3{margin:0;font-family:var(--font-display);font-size:clamp(20px,4vw,30px)}@keyframes dib-fade{0%{opacity:0}}.dib-choices{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.dib-choice{min-width:150px;font-family:var(--font-display);font-size:calc(19px * var(--fs, 1));animation:dib-pop .4s var(--ease-spring) backwards}.dib-choice:nth-child(2){animation-delay:.06s}.dib-choice:nth-child(3){animation-delay:.12s}.dib-reveal-word{font-family:var(--font-display);font-size:clamp(30px,7vw,52px);line-height:1;color:var(--accent-2);text-shadow:0 4px 24px #ffbe4d55;animation:dib-pop .5s var(--ease-spring)}.dib-gains{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px}.dib-gains b{color:#7ef0c0}.dib-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:10px 12px}.dib-tools,.dib-sizes,.dib-colors,.dib-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.dib-colors{flex:1 1 260px}.dib-actions{margin-left:auto}.dib-tool,.size-btn{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--line);background:#ffffff0a;color:var(--text);font-size:calc(19px * var(--fs, 1));cursor:pointer;transition:transform .15s var(--ease-spring),background .2s,border-color .2s}.dib-tool:hover,.size-btn:hover{transform:translateY(-2px)}.dib-tool.active,.size-btn.active{background:#ffd25e2b;border-color:#ffd25e}.size-btn span{display:block;border-radius:50%;background:var(--text)}.swatch-btn{width:26px;height:26px;border-radius:50%;border:2px solid #ffffff33;background:var(--sw);cursor:pointer;transition:transform .15s var(--ease-spring)}.swatch-btn:hover{transform:scale(1.15)}.swatch-btn.active{border-color:#fff;transform:scale(1.2);box-shadow:0 0 0 3px #ffd25e}.dib-scores h4,.dib-feed h4{margin:0 0 8px}.dib-scores ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.dib-score{display:grid;grid-template-columns:18px auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:5px 8px;border-radius:12px;border:1px solid transparent;transition:background .3s}.dib-score .rank{color:var(--faint);font-weight:800;font-size:calc(13px * var(--fs, 1))}.dib-score .who{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 6px;min-width:0}.dib-score .who b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.dib-score .pts{font-family:var(--font-display);font-weight:800;font-variant-numeric:tabular-nums;display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}.dib-score .gain{font-size:calc(12px * var(--fs, 1));color:#7ef0c0}.dib-score.drawer{background:#ffd25e1a;border-color:#ffd25e55}.dib-score.guessed{background:#3ccf8e1f;border-color:#3ccf8e55}.dib-score.gone{opacity:.45}.dib-score.is-me .who b{color:var(--accent-2)}.dib-feed{display:flex;flex-direction:column;min-height:0}.dib-feed ol{list-style:none;margin:0 0 10px;padding:0;max-height:300px;min-height:120px;overflow-y:auto;display:flex;flex-direction:column;gap:3px;font-size:calc(14px * var(--fs, 1))}.feed{padding:3px 8px;border-radius:8px;overflow-wrap:anywhere}.feed.correct{background:#3ccf8e26;color:#9ef5cf}.feed.correct .pts{font-weight:800}.feed.close{background:#ffd25e24;color:#ffe08f}.feed.knowers{background:#8b7bff22;color:#cfc7ff}.feed.word{text-align:center;color:var(--muted);border-top:1px dashed var(--line);margin-top:4px;padding-top:6px}.feed.word b{color:var(--accent-2)}.dib-feed form{display:flex;gap:8px}.dib-feed input{flex:1;min-width:0}.dib-feed form.guessing input{border-color:#ffd25e88;box-shadow:0 0 0 3px #ffd25e22}@media(max-width:900px){.dib-side{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.dib-feed ol{max-height:200px}}@media(max-width:700px){.immersive .dib-side{display:flex;flex-direction:column;gap:8px}.immersive .dib-feed{order:-1}.immersive .dib-feed ul{max-height:22dvh}}.dib-toolbar.brushed{position:relative;overflow:hidden}.dib-toolbar.brushed:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--dib-palette)}.flota-layout{--sea: #0b3d6b;--sea-2: #072a4d;--hull: #8b96a8;--hit: #ff5a3c;--miss: #cfe8ff;display:grid;grid-template-columns:minmax(0,1fr) var(--side-w);gap:20px;align-items:start}@media(max-width:960px){.flota-layout{grid-template-columns:minmax(0,1fr)}}.f-main{display:flex;flex-direction:column;gap:14px;min-width:0}.f-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;background:radial-gradient(420px 160px at 0% 0%,#4ea1ff24,transparent 70%),linear-gradient(180deg,var(--card-2),var(--card));transition:box-shadow .3s}.f-header.mine{box-shadow:var(--ring),var(--shadow-1)}.f-header h2{font-size:clamp(18px,3vw,24px);margin:0}.f-header .eyebrow{margin:0 0 4px}.f-timer{font-variant-numeric:tabular-nums;font-weight:800;font-size:calc(20px * var(--fs, 1));padding:6px 12px;border-radius:999px;background:var(--bg-2);border:1px solid var(--line)}.f-timer.mine{border-color:var(--accent-2)}.f-timer.low{color:var(--bad);animation:f-pulse .8s ease-in-out infinite}.f-shout{margin:0;align-self:center;padding:6px 16px;border-radius:999px;font-weight:800;background:#ffffff0d;border:1px solid var(--line);animation:f-pop .45s var(--ease-spring)}.f-shout.tocado{background:color-mix(in srgb,var(--hit) 22%,transparent);border-color:var(--hit)}.f-shout.hundido{background:var(--hit);color:#fff;border-color:transparent}.f-shout.agua{border-color:#4ea1ff88}.f-boards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:16px;border-radius:var(--radius-lg);border:1px solid var(--line);background:radial-gradient(120% 100% at 50% 0%,#0f3c66,#071a33)}@media(max-width:720px){.f-boards{grid-template-columns:minmax(0,1fr);padding:10px}}.f-board-col{display:flex;flex-direction:column;gap:8px;min-width:0}.f-board-title{margin:0;font-size:calc(15px * var(--fs, 1));display:flex;align-items:center;gap:8px}.f-board-title:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--c)}.f-grid{display:grid;grid-template-columns:22px repeat(10,minmax(0,1fr));gap:2px;width:100%;max-width:max(460px,min(calc(var(--stage-h) - 260px),900px));margin:0 auto;-webkit-user-select:none;user-select:none}.f-ruler,.f-corner{display:grid;place-items:center;font-size:calc(11px * var(--fs, 1));font-weight:800;color:#9fd3ffaa}.f-cell{position:relative;aspect-ratio:1;display:grid;place-items:center;padding:0;border:0;border-radius:4px;background:linear-gradient(160deg,#11497d,var(--sea-2));box-shadow:inset 0 0 0 1px #9fd3ff1f;color:inherit;font:inherit;cursor:default;outline-offset:1px}.f-cell:focus-visible{outline:3px solid var(--accent-2);z-index:2}button.f-cell{cursor:pointer}.f-grid.target button.f-cell[aria-disabled=true]{cursor:not-allowed}.f-grid.target.armed button.f-cell[aria-disabled=false]:hover{background:linear-gradient(160deg,#1d6bb0,#0f3f73);box-shadow:inset 0 0 0 2px var(--accent-2)}.f-grid.target.armed{filter:drop-shadow(0 0 14px #ffbe4d33)}.f-cell.clear{background:repeating-linear-gradient(45deg,#0a2f57,#0a2f57 4px,#0d3866 4px,#0d3866 8px)}.f-cell.hull{background:linear-gradient(180deg,#a6b0c0,var(--hull) 55%,#5f6979);box-shadow:inset 0 0 0 1px #fff3}.f-cell.hull.v{background:linear-gradient(90deg,#a6b0c0,var(--hull) 55%,#5f6979)}.f-cell.hull.h.bow{border-radius:50% 4px 4px 50%}.f-cell.hull.h.stern{border-radius:4px 30% 30% 4px}.f-cell.hull.v.bow{border-radius:50% 50% 4px 4px}.f-cell.hull.v.stern{border-radius:4px 4px 30% 30%}.f-cell.hull.solo{border-radius:40%}.f-cell.hull.sunk{background:linear-gradient(180deg,#4a3a3a,#2b2226);box-shadow:inset 0 0 0 1px #ff5a3c66}.f-cell.hull.picked{box-shadow:inset 0 0 0 2px var(--accent-2)}.f-cell.preview.ok{box-shadow:inset 0 0 0 2px var(--ok);background:color-mix(in srgb,var(--ok) 35%,var(--sea-2))}.f-cell.preview.bad{box-shadow:inset 0 0 0 2px var(--bad);background:color-mix(in srgb,var(--bad) 35%,var(--sea-2))}.mark{width:46%;height:46%;border-radius:50%;pointer-events:none}.mark.agua{width:30%;height:30%;background:var(--miss);box-shadow:0 0 0 3px #cfe8ff33}.mark.tocado,.mark.hundido{background:radial-gradient(circle at 50% 60%,#fff3b0,#ffb13b 35%,var(--hit) 70%);box-shadow:0 0 10px 2px #ff5a3c99;animation:f-flicker 1.2s ease-in-out infinite alternate}.mark.latest{animation:f-impact .6s var(--ease-out)}.mark.agua.latest{animation:f-splash .7s var(--ease-out)}.f-placement{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,1fr);gap:20px;padding:16px;background:radial-gradient(120% 100% at 50% 0%,#0f3c66,#071a33)}@media(max-width:720px){.f-placement{grid-template-columns:minmax(0,1fr)}}.f-dock{display:flex;flex-direction:column;gap:10px}.f-dock h3{margin:0}.f-ships{list-style:none;margin:0;padding:0;display:grid;gap:6px}.f-ship-btn{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--line);background:#ffffff0a;color:var(--text);font:inherit;cursor:grab}.f-ship-btn.active{border-color:var(--accent-2);box-shadow:var(--ring)}.f-ship-btn.done{opacity:.75}.f-ship-name{font-weight:700;text-align:left}.f-check{color:var(--ok);font-weight:800;font-size:calc(12px * var(--fs, 1))}.f-pips{display:inline-flex;gap:3px}.f-pips i{width:12px;height:12px;border-radius:3px;background:var(--hull)}.f-pips i.hit{background:var(--hit)}.f-orient{margin:0}.f-error{margin:0;color:var(--bad);font-weight:700}.f-dock-actions{display:flex;flex-wrap:wrap;gap:8px}.f-ready{width:100%}.f-waiting{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px;background:radial-gradient(120% 100% at 50% 0%,#0f3c66,#071a33)}.f-sea{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line)}.f-sea .scene{height:clamp(340px,calc(var(--stage-h) - 200px),1100px)}.f3d-label{white-space:nowrap;font-size:calc(13px * var(--fs, 1));font-weight:800;background:#0f0c1ccc;padding:3px 10px;border-radius:999px;pointer-events:none}.f-captains{padding:8px;display:flex;flex-direction:column;gap:4px}.f-fleet h4{margin:0 0 8px;border-left:3px solid var(--c);padding-left:8px}.f-fleet ul{list-style:none;margin:0;padding:0;display:grid;gap:5px;font-size:calc(14px * var(--fs, 1))}.f-fleet li{display:flex;justify-content:space-between;align-items:center;gap:8px}.f-fleet li.sunk span:first-child{text-decoration:line-through;color:var(--faint)}.f-fleet li.sunk .f-pips i{background:#4a3a3a}.f-log ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:calc(14px * var(--fs, 1));max-height:240px;overflow:auto}.f-log li:first-child{font-weight:700}.f-res.agua{color:#9fd3ff}.f-res.tocado{color:#ffb13b}.f-res.hundido{color:var(--hit)}@keyframes f-pulse{50%{transform:scale(1.06)}}@keyframes f-pop{0%{transform:scale(.7);opacity:0}}@keyframes f-impact{0%{transform:scale(2.4);opacity:.2}}@keyframes f-splash{0%{transform:scale(2.8);box-shadow:0 0 0 10px #cfe8ff55}}@keyframes f-flicker{to{filter:brightness(1.25);transform:scale(1.08)}}:root.reduce-motion .mark,:root.reduce-motion .f-shout,:root.reduce-motion .f-timer.low{animation:none!important}.game-card.flota:hover{box-shadow:var(--shadow-2),0 30px 80px -40px #4ea1ff99}.f-look{display:contents}.f-sea-custom .f-cell{background:linear-gradient(160deg,var(--sea),var(--sea-2))}.f-ships-custom .f-cell.hull:not(.sunk){background:var(--hull-pattern, linear-gradient(transparent, transparent)),linear-gradient(180deg,color-mix(in srgb,var(--hull) 65%,#fff),var(--hull) 55%,color-mix(in srgb,var(--hull) 65%,#000));box-shadow:inset 0 0 0 1px #fff3,0 0 8px var(--hull-glow, transparent)}.f-ships-custom .f-cell.hull.bow:before,.f-ships-custom .f-cell.hull.solo:before{content:var(--hull-emoji, none);position:absolute;font-size:.8em;line-height:1}.zampa-layout{display:grid;grid-template-columns:minmax(0,1fr) var(--side-w);gap:20px;align-items:start}@media(max-width:900px){.zampa-layout{grid-template-columns:minmax(0,1fr)}}.z-main{display:flex;flex-direction:column;gap:12px;min-width:0}.z-hud{display:flex;align-items:center;gap:16px;padding:12px 16px;flex-wrap:wrap;background:radial-gradient(420px 160px at 0% 0%,#5b7bff26,transparent 70%),linear-gradient(180deg,var(--card-2),var(--card))}.z-level{display:flex;flex-direction:column;min-width:120px}.z-level .eyebrow{margin:0}.z-level b{font-family:var(--font-display);font-size:calc(24px * var(--fs, 1));line-height:1.1}.z-scores{display:flex;gap:10px;list-style:none;margin:0;padding:0;flex:1;flex-wrap:wrap}.z-scores li{display:flex;flex-direction:column;gap:2px;padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg-2);min-width:120px}.z-scores li.me{border-color:var(--c);box-shadow:0 0 0 1px var(--c) inset}.z-scores li.out{opacity:.55}.z-name{display:flex;align-items:center;gap:6px;font-size:calc(13px * var(--fs, 1));color:var(--muted)}.z-dot{width:10px;height:10px;border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--c)}.z-score{font-family:var(--font-display);font-size:calc(22px * var(--fs, 1));font-variant-numeric:tabular-nums}.z-lives{display:inline-flex;gap:4px;align-items:center}.z-life{width:12px;height:12px;border-radius:50%;background:conic-gradient(from 120deg,transparent 0 60deg,var(--c) 60deg 360deg)}.z-extra{display:flex;align-items:center;gap:12px}.z-team{display:flex;flex-direction:column;gap:2px}.z-fruit{font-size:calc(26px * var(--fs, 1));filter:drop-shadow(0 0 6px #ff6b7a88)}.z-board{position:relative;border-radius:var(--radius-lg);background:radial-gradient(120% 100% at 50% 0%,#1b1450,#07051a);border:1px solid var(--line);overflow:hidden;touch-action:none;transition:box-shadow .3s}.z-board.scared{box-shadow:0 0 0 2px #3446ff88,0 0 40px -6px #3446ff}.z-board .scene{aspect-ratio:1 / 1;max-height:max(320px,min(calc(var(--stage-h) - 160px),1300px));margin:0 auto}.z-canvas{display:block;width:100%;max-width:max(320px,min(calc(var(--stage-h) - 160px),1300px));aspect-ratio:1 / 1;margin:0 auto;image-rendering:auto}.z-splash{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;pointer-events:none;text-align:center;background:radial-gradient(closest-side,#07051acc,transparent);animation:z-pop .35s var(--ease-spring)}.z-splash b{font-family:var(--font-display);font-size:clamp(34px,8vw,64px);color:#ffd23f;text-shadow:0 0 18px #ffd23f99}.z-splash.clear b{color:#7ee8ff;text-shadow:0 0 18px #7ee8ff99}.z-splash.out b{color:var(--bad)}.z-splash em{font-style:normal;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}@keyframes z-pop{0%{transform:scale(.85);opacity:0}}.z-fruit3d{font-size:calc(28px * var(--fs, 1));filter:drop-shadow(0 0 6px #ff6b7a)}.z-controls{display:flex;align-items:center;justify-content:center;gap:16px}.z-pad{display:grid;grid-template-columns:repeat(3,56px);grid-template-rows:repeat(3,56px);gap:6px;user-select:none;-webkit-user-select:none}.z-pad-btn{border-radius:14px;border:1px solid var(--line-strong);background:linear-gradient(180deg,var(--card-2),var(--card));color:var(--text);font-size:calc(20px * var(--fs, 1));touch-action:none;cursor:pointer}.z-pad-btn.on{border-color:var(--accent-2);box-shadow:var(--ring)}.z-pad-btn:active{transform:scale(.94)}.z-pad-btn.z-up{grid-area:1 / 2}.z-pad-btn.z-left{grid-area:2 / 1}.z-pad-btn.z-right{grid-area:2 / 3}.z-pad-btn.z-down{grid-area:3 / 2}@media(pointer:fine){.z-pad{grid-template-columns:repeat(3,40px);grid-template-rows:repeat(3,40px)}.z-pad-btn{font-size:calc(15px * var(--fs, 1))}}@media(pointer:coarse){.z-hint{display:none}}.z-legend h4{margin:0 0 8px}.z-legend ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.z-legend li{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.z-ghost-chip{width:12px;height:14px;border-radius:6px 6px 2px 2px;background:var(--c);box-shadow:0 0 8px var(--c);align-self:center}.z-players{display:grid;gap:8px}.z-players .player{display:flex;align-items:center;gap:8px}.domino-layout{display:grid;grid-template-columns:minmax(0,1fr) var(--side-w);gap:20px;align-items:start}@media(max-width:900px){.domino-layout{grid-template-columns:minmax(0,1fr)}}.d-main{display:flex;flex-direction:column;gap:14px;min-width:0}.d-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;background:radial-gradient(420px 160px at 0% 0%,#2fae6a24,transparent 70%),linear-gradient(180deg,var(--card-2),var(--card));transition:box-shadow .3s}.d-header.mine{box-shadow:var(--ring),var(--shadow-1)}.d-header h2{font-size:clamp(18px,3vw,24px);margin:0}.d-header .eyebrow{margin:0 0 4px}.d-timer{font-variant-numeric:tabular-nums;font-weight:800;font-size:calc(20px * var(--fs, 1));padding:6px 12px;border-radius:999px;background:var(--bg-2);border:1px solid var(--line)}.d-timer.mine{border-color:var(--accent-2)}.d-timer.low{color:var(--bad)}.d-board{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);background:radial-gradient(120% 100% at 50% 0%,#1f5a3c,#0f2a1d)}.d-board .scene{height:clamp(340px,calc(var(--stage-h) - 230px * var(--k)),1100px);aspect-ratio:auto;border:0;border-radius:0}.d-table2d{display:flex;flex-direction:column;min-height:clamp(320px,calc(var(--stage-h) - 230px * var(--k)),1000px);gap:12px;padding:14px}.d-rivals{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.d-rival{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:14px;background:#0003;border:1px solid #ffffff14;transition:box-shadow .25s,border-color .25s}.d-rival.turn{border-color:var(--c);box-shadow:0 0 0 2px color-mix(in srgb,var(--c) 60%,transparent),0 8px 24px -10px var(--c)}.d-rival.out{opacity:.45}.d-rival-info{display:flex;flex-direction:column;line-height:1.2}.d-partner{margin-left:6px;padding:1px 6px;border-radius:999px;font-size:calc(11px * var(--fs, 1));font-weight:800;background:#3ccf8e33;color:#8ff0c0}.d-backs{display:flex;gap:2px}.d-back rect{fill:#f3ead8;stroke:#0005;stroke-width:.06}.d-felt{flex:1;min-height:180px;display:grid;place-items:center;padding:10px;border-radius:18px;background:radial-gradient(70% 70% at 50% 50%,#2b7a50,#1a4d33 80%),#1a4d33;box-shadow:0 0 0 8px #5a3a22,0 0 0 10px #3a2414,0 20px 40px -20px #000;margin:10px 8px 6px}.d-line{width:100%;max-width:calc(var(--units) * 40px * var(--k));max-height:calc(var(--stage-h) - 300px);height:auto;filter:drop-shadow(0 3px 2px #0007)}.d-empty{margin:0}.d-tile .d-face{fill:#fbf6ea;stroke:#c7bba0;stroke-width:.04}.d-tile .d-bar{stroke:#8a7f69;stroke-width:.05;stroke-linecap:round}.d-pip{fill:#1d1a22}.d-tile.end .d-face{stroke:#ffbe4d;stroke-width:.06}.d-tile.fresh{animation:d-land calc(.45s * var(--anim, 1)) var(--ease-out) both;transform-box:fill-box;transform-origin:center}@keyframes d-land{0%{opacity:0;transform:scale(1.4) translateY(-12%)}to{opacity:1;transform:none}}.d-state{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.d-chip{padding:4px 12px;border-radius:999px;background:#00000040;border:1px solid #ffffff1a;font-size:calc(13px * var(--fs, 1))}.d-hand{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:12px;border-radius:var(--radius);background:var(--card);border:1px solid var(--line)}.d-hand.mine{border-color:var(--accent-2)}.d-tile-btn{padding:4px;border:0;border-radius:10px;background:transparent;cursor:default;transition:transform .15s var(--ease-spring),filter .15s;filter:saturate(.6) brightness(.72)}.d-tile-btn.playable{cursor:pointer;filter:none}.d-tile-btn.playable:hover,.d-tile-btn.playable:focus-visible{transform:translateY(-6px);outline:none}.d-tile-btn.picked{transform:translateY(-10px);box-shadow:0 0 0 3px var(--accent-2)}.d-tile-btn:disabled{opacity:1}.d-tile-img{display:block;filter:drop-shadow(0 3px 3px #0008)}.d-hand.mine .d-tile-btn.playable .d-face{stroke:#ffbe4d;stroke-width:.06}.d-actions{display:flex;justify-content:center}.d-ends{display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 16px}.d-ends-title{font-weight:800}.d-scores ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.d-scores li{display:flex;justify-content:space-between;padding:8px 12px;border-radius:10px;background:var(--bg-2)}.d-scores li.won{outline:2px solid var(--ok)}.d-board-scores ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.d-board-scores li{display:flex;justify-content:space-between;align-items:center;gap:8px}.d-board-scores li.mine b{color:var(--accent-2)}.d-team{display:flex;align-items:center;gap:6px}.d-progress{display:flex;flex-direction:column;gap:4px;margin-top:10px}.d-progress span{height:4px;border-radius:4px;background:linear-gradient(90deg,var(--accent) calc(var(--p) * 100%),#ffffff14 0)}.d-log ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:220px;overflow:auto;font-size:calc(14px * var(--fs, 1))}:root.reduce-motion .d-tile.fresh{animation:none}.conecta4{width:100%;display:flex;flex-direction:column;align-items:center;gap:10px}.conecta4.is-3d .scene{aspect-ratio:1 / .86}.c4-board{--cell: max(36px, min(calc((var(--stage-h) - 120px) / 6.9), calc(100cqi / 7.6), 140px));--c4-blue: #2f5bea;display:flex;flex-direction:column;align-items:center;gap:6px;padding-top:calc(var(--cell) * .9)}.c4-grid{display:grid;grid-template-columns:repeat(7,var(--cell));padding:calc(var(--cell) * .12);border-radius:18px;background:radial-gradient(120% 80% at 50% 0%,#5b80ff 0%,transparent 60%),linear-gradient(180deg,#3864f0,#1f3fb8);box-shadow:0 2px #ffffff40 inset,0 -6px #0003 inset,0 24px 50px -18px #000c}.c4-col{position:relative;display:flex;flex-direction:column;padding:0;border:0;background:none;border-radius:12px;cursor:default;color:inherit;font:inherit}.c4-col.legal{cursor:pointer}.c4-col.legal:hover,.c4-col.legal:focus-visible,.c4-col.hover{background:#ffffff1c;outline:none}.c4-col:disabled{opacity:1}.c4-ghost{position:absolute;left:50%;top:calc(var(--cell) * -.95);width:calc(var(--cell) * .78);height:calc(var(--cell) * .78);translate:-50% 0;border-radius:50%;background:var(--c4-me);opacity:0;transition:opacity .15s;box-shadow:0 -3px #0003 inset}.c4-col.hover .c4-ghost,.c4-col.legal:hover .c4-ghost,.c4-col.legal:focus-visible .c4-ghost{opacity:.85}.c4-cell{position:relative;width:var(--cell);height:var(--cell);display:grid;place-items:center}.c4-cell:before{content:"";position:absolute;top:12%;right:12%;bottom:12%;left:12%;border-radius:50%;background:radial-gradient(circle at 50% 35%,#0c0a1a,#1b1838);box-shadow:0 3px #0006 inset,0 -1px #ffffff30}.c4-disc{position:relative;z-index:1;width:76%;height:76%;border-radius:50%;box-shadow:0 -4px #0003 inset,0 3px #fff5 inset,0 0 0 3px #0002}.c4-disc.s0{background:radial-gradient(circle at 40% 35%,#ff7d88,#ef4b5a 55%,#b8283a)}.c4-disc.s1{background:radial-gradient(circle at 40% 35%,#ffe27a,#ffc93d 55%,#d79a10)}.c4-disc.last{animation:c4-fall calc((.12s + var(--fall) * .05s) * var(--anim, 1)) cubic-bezier(.55,0,1,.45) both}@keyframes c4-fall{0%{transform:translateY(calc(var(--cell) * var(--fall) * -1 - var(--cell)))}85%{transform:translateY(0)}92%{transform:translateY(calc(var(--cell) * -.08))}to{transform:translateY(0)}}.c4-disc.win{animation:c4-win .9s ease-in-out infinite alternate}@keyframes c4-win{to{box-shadow:0 -4px #0003 inset,0 3px #fff5 inset,0 0 0 4px #fff,0 0 22px 6px #fffa}}.c4-labels{display:grid;grid-template-columns:repeat(7,var(--cell));list-style:none;margin:0;padding:0;text-align:center;color:var(--faint);font-size:calc(12px * var(--fs, 1));font-weight:800}:root.reduce-motion .c4-disc.last,:root.reduce-motion .c4-disc.win{animation:none}.bloques-layout{display:grid;grid-template-columns:minmax(0,1fr) var(--side-w);gap:20px;align-items:start;--bq-h: clamp(420px, calc(var(--stage-h) - 70px), 1200px);--bq-rival-h: calc(var(--bq-h) * .56)}@media(max-width:900px){.bloques-layout{grid-template-columns:minmax(0,1fr)}}.bq-main{display:flex;flex-direction:column;align-items:center;gap:14px;min-width:0}.bq-arena{display:flex;align-items:flex-start;justify-content:center;gap:24px;width:100%}.bq-player{--c: #3cc7c0;display:grid;gap:10px;align-items:start}.bq-player.big{grid-template-columns:96px auto 72px}.bq-player.small{grid-template-columns:auto;justify-items:center;padding:10px;border-radius:var(--radius);background:var(--bg-2);border:1px solid var(--line)}.bq-player.out .bq-well canvas{filter:saturate(.3) brightness(.7)}.bq-col{display:flex;flex-direction:column;gap:12px}.bq-row{display:flex;gap:6px;align-items:stretch}.bq-box{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;border-radius:var(--radius-sm);background:linear-gradient(180deg,var(--card-2),var(--card));border:1px solid var(--line)}.bq-box-label{font-size:calc(11px * var(--fs, 1));letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.bq-preview{width:64px;height:auto}.bq-name{display:flex;align-items:center;gap:8px;font-size:calc(14px * var(--fs, 1))}.bq-well{position:relative;border-radius:12px;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--c) 45%,transparent),0 18px 50px -18px color-mix(in srgb,var(--c) 55%,transparent)}.bq-well canvas{display:block;height:var(--bq-h);width:auto;aspect-ratio:10 / 20.5}.bq-player.small .bq-well canvas{height:var(--bq-rival-h)}.bq-flash{position:absolute;left:0;right:0;background:linear-gradient(90deg,transparent,#fff,transparent);animation:bq-flash .45s ease-out forwards;pointer-events:none}@keyframes bq-flash{0%{opacity:.95;transform:scaleY(1)}to{opacity:0;transform:scaleY(.2)}}.bq-meter{width:8px;border-radius:6px;background:#ffffff0f;display:flex;flex-direction:column-reverse;gap:2px;overflow:hidden}.bq-meter span{display:block;width:100%;background:linear-gradient(180deg,#ffbe4d,#ff6b7a);border-radius:3px;transition:height .2s var(--ease-out)}.bq-meter.danger{box-shadow:0 0 12px #ff6b7a88}.bq-stats{display:grid;gap:8px;margin:0}.bq-stats div{display:flex;flex-direction:column}.bq-stats dt{font-size:calc(11px * var(--fs, 1));letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.bq-stats dd{margin:0;font-family:var(--font-display);font-size:calc(20px * var(--fs, 1));font-weight:700;font-variant-numeric:tabular-nums}.bq-stats dd small{font-size:calc(13px * var(--fs, 1));color:var(--muted);margin-left:2px}.bq-stats.compact{grid-auto-flow:column;gap:14px}.bq-stats.compact dd{font-size:calc(16px * var(--fs, 1))}.bq-count,.bq-over{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none;font-family:var(--font-display);font-weight:800;text-shadow:0 4px 30px #000c}.bq-count{font-size:calc(96px * var(--fs, 1));color:var(--accent-2);animation:bq-pop .9s var(--ease-out) both}.bq-count.go{font-size:calc(64px * var(--fs, 1));color:var(--ok)}.bq-over{background:#0c0a1fb0;font-size:calc(30px * var(--fs, 1));color:var(--bad)}.bq-player.small .bq-over{font-size:calc(16px * var(--fs, 1))}@keyframes bq-pop{0%{transform:scale(1.6);opacity:0}30%{opacity:1}to{transform:scale(1);opacity:.85}}.bq-popups{position:absolute;left:0;right:0;top:22%;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}.bq-popup{display:flex;flex-direction:column;align-items:center;font-family:var(--font-display);font-weight:800;font-size:calc(20px * var(--fs, 1));color:#fff;text-shadow:0 2px 14px #000;animation:bq-rise 1.4s var(--ease-out) forwards}.bq-popup span+span{font-size:calc(14px * var(--fs, 1));color:var(--accent-2)}.bq-popup.big{font-size:calc(28px * var(--fs, 1));color:var(--accent-2)}.bq-player.small .bq-popup{font-size:calc(13px * var(--fs, 1))}@keyframes bq-rise{0%{transform:translateY(12px) scale(.9);opacity:0}15%{transform:translateY(0) scale(1.05);opacity:1}75%{opacity:1}to{transform:translateY(-24px);opacity:0}}.bq-pad{display:grid;grid-template-columns:repeat(4,1fr);grid-template-areas:"hold ccw cw hard" "left soft right hard";gap:8px;width:min(100%,420px)}.bq-pad-btn{height:54px;border-radius:14px;border:1px solid var(--line-strong);background:linear-gradient(180deg,var(--card-2),var(--card));color:var(--text);font-size:calc(22px * var(--fs, 1));touch-action:none;user-select:none;-webkit-user-select:none}.bq-pad-btn:active{background:var(--card-2);transform:translateY(1px)}.bq-hold{grid-area:hold}.bq-ccw{grid-area:ccw}.bq-cw{grid-area:cw}.bq-left{grid-area:left}.bq-soft{grid-area:soft}.bq-right{grid-area:right}.bq-hard{grid-area:hard;height:auto;background:var(--grad);color:var(--accent-ink);border:none}@media(hover:hover)and (pointer:fine){.bq-pad{display:none}}.bq-handling label{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;font-size:calc(13px * var(--fs, 1))}.bq-handling label span{display:flex;justify-content:space-between;gap:8px}.bq-handling input[type=range]{width:100%;accent-color:var(--accent)}.bq-players .player{display:flex;align-items:center;gap:10px;padding:4px 0}@media(max-width:700px){.bloques-layout{--bq-h: min(52vh, calc((100vw - 182px)*2.05) );--bq-rival-h: 92px}.bloques-layout.solo{--bq-h: min(60vh, calc((100vw - 182px)*2.05) )}.bq-arena{flex-direction:column;align-items:center;gap:10px}.bq-player.big{grid-template-columns:64px auto 56px;gap:6px}.bq-player.small{order:-1;grid-template-columns:auto auto auto;align-items:center;width:100%;padding:6px 10px}.bq-preview{width:52px}.bq-box{padding:6px 2px}.bq-box-label{font-size:calc(8.5px * var(--fs, 1));letter-spacing:.02em}.bq-col.left .bq-stats dd{font-size:calc(15px * var(--fs, 1))}.bq-col.left .bq-stats{gap:4px}}.monstruos-layout{display:grid;grid-template-columns:minmax(0,1fr) var(--side-w);gap:20px;align-items:start}@media(max-width:900px){.monstruos-layout{grid-template-columns:minmax(0,1fr)}}.mon-main{display:flex;flex-direction:column;align-items:center;gap:12px;min-width:0}.mon-board-wrap{position:relative;width:min(100%,calc(var(--stage-h) - 150px),1100px);min-width:min(100%,300px)}.mon-board{width:100%}.mon-surface{position:relative;aspect-ratio:var(--w) / var(--h);border-radius:22px;padding:0;background:radial-gradient(120% 90% at 50% 0%,#4b2c8f,#2a1a5c 55%,#1a1240);box-shadow:0 0 0 3px #ffffff14,0 0 0 9px #2a1d55,0 0 0 11px #ffffff10,0 30px 60px -20px #000c;overflow:hidden;user-select:none;-webkit-user-select:none}.mon-cells{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(var(--w),1fr);grid-template-rows:repeat(var(--h),1fr)}.mon-cell{position:relative;background:#ffffff06}.mon-cell.odd{background:#ffffff0f}.mon-jelly{position:absolute;top:5%;right:5%;bottom:5%;left:5%;border-radius:24%;background:linear-gradient(160deg,#ff9ed2cc,#ff5fa8aa);box-shadow:inset 0 3px #fff5,inset 0 -4px #c0307a66;transition:opacity .3s}.mon-jelly.j2{background:linear-gradient(160deg,#ff6fbaee,#d02f86dd);box-shadow:inset 0 3px #fff6,inset 0 -5px #8a1050aa,0 0 0 2px #ffb3dd88}.mon-tiles,.mon-fx{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.mon-slot{position:absolute;left:0;top:0;width:calc(100% / var(--w));height:calc(100% / var(--h));transition:transform calc(.26s * var(--anim, 1)) cubic-bezier(.3,.9,.4,1.12);will-change:transform}.mon-tile{width:100%;height:100%;padding:7%;box-sizing:border-box;transition:transform .15s var(--ease-out),filter .15s}.mon-art{width:100%;height:100%;display:block;overflow:visible;filter:drop-shadow(0 3px 2px #0007)}.mon-tile.selected{transform:scale(1.14);filter:drop-shadow(0 0 8px #fff) brightness(1.15)}.mon-tile.pop{animation:mon-pop calc(.26s * var(--anim, 1)) ease-in forwards}@keyframes mon-pop{0%{transform:scale(1);filter:brightness(1)}40%{transform:scale(1.3);filter:brightness(1.8)}to{transform:scale(0);opacity:0;filter:brightness(2.5)}}.mon-tile.drop{animation:mon-drop calc((.2s + var(--drop) * .03s) * var(--anim, 1)) cubic-bezier(.4,0,.6,1.25) both}@keyframes mon-drop{0%{transform:translateY(calc(var(--drop) * -100% - 30%));opacity:.4}}.mon-tile.bounce{animation:mon-bounce calc(.32s * var(--anim, 1)) ease-in-out}@keyframes mon-bounce{45%{transform:translate(calc(var(--bx) * 42%),calc(var(--by) * 42%))}}.mon-tile.hint{animation:mon-hint 1s ease-in-out infinite}@keyframes mon-hint{0%,to{transform:scale(1) rotate(0)}25%{transform:scale(1.12) rotate(-8deg)}75%{transform:scale(1.12) rotate(8deg)}}.mon-tile.crack{animation:mon-crack calc(.26s * var(--anim, 1)) linear}@keyframes mon-crack{25%{transform:translate(-6%)}75%{transform:translate(6%)}}.mon-spark{animation:mon-spark .6s ease-in-out infinite alternate}@keyframes mon-spark{to{opacity:.4;r:4}}.mon-blast{--cw: calc(100% / var(--w));--ch: calc(100% / var(--h));position:absolute;pointer-events:none}.mon-blast.row,.mon-blast.cross:before,.mon-blast.bigcross:before{content:"";position:absolute;left:0;width:100%;top:calc(var(--y) * var(--ch));height:var(--ch);background:linear-gradient(90deg,transparent,#fffbe0,#fff,#fffbe0,transparent);animation:mon-beam-h calc(.32s * var(--anim, 1)) ease-out forwards}.mon-blast.row{inset:auto}.mon-blast.col,.mon-blast.cross:after,.mon-blast.bigcross:after{content:"";position:absolute;top:0;height:100%;left:calc(var(--x) * var(--cw));width:var(--cw);background:linear-gradient(180deg,transparent,#e8fbff,#fff,#e8fbff,transparent);animation:mon-beam-v calc(.32s * var(--anim, 1)) ease-out forwards}.mon-blast.cross,.mon-blast.bigcross,.mon-blast.board{top:0;right:0;bottom:0;left:0}.mon-blast.bigcross:before{top:calc((var(--y) - 1) * var(--ch));height:calc(3 * var(--ch))}.mon-blast.bigcross:after{left:calc((var(--x) - 1) * var(--cw));width:calc(3 * var(--cw))}@keyframes mon-beam-h{0%{transform:scaleY(.2);opacity:1}to{transform:scaleY(1.2);opacity:0}}@keyframes mon-beam-v{0%{transform:scaleX(.2);opacity:1}to{transform:scaleX(1.2);opacity:0}}.mon-blast.bomb,.mon-blast.bigbomb,.mon-blast.rainbow{left:calc((var(--x) + .5) * var(--cw));top:calc((var(--y) + .5) * var(--ch));width:calc(3 * var(--cw));aspect-ratio:1;border-radius:50%;translate:-50% -50%;background:radial-gradient(circle,#fff 0%,#ffe066 30%,#ff7a4d88 60%,transparent 70%);animation:mon-boom calc(.34s * var(--anim, 1)) ease-out forwards}.mon-blast.bigbomb{width:calc(5 * var(--cw))}.mon-blast.rainbow{width:260%;background:radial-gradient(circle,transparent 40%,var(--c, #fff) 48%,#fff 52%,transparent 60%);animation-duration:.45s}.mon-blast.board{background:radial-gradient(circle,#fff 0%,#fff8 50%,transparent 80%);animation:mon-flash calc(.4s * var(--anim, 1)) ease-out forwards}@keyframes mon-boom{0%{transform:scale(.2);opacity:1}to{transform:scale(1.1);opacity:0}}@keyframes mon-flash{0%{opacity:1}to{opacity:0}}.mon-points{position:absolute;left:calc((var(--x) + .5) * 100% / var(--w));top:calc((var(--y) + .5) * 100% / var(--h));translate:-50% -50%;font:900 clamp(14px,3.4vw,22px) / 1 var(--font-display);color:#fff;text-shadow:0 2px 0 #7a2bbf,0 0 10px #ff7af0;animation:mon-rise calc(.7s * var(--anim, 1)) ease-out forwards}@keyframes mon-rise{0%{transform:translateY(0) scale(.6);opacity:1}to{transform:translateY(-120%) scale(1.15);opacity:0}}.mon-banner,.mon-extra{position:absolute;left:50%;top:42%;translate:-50% -50%;pointer-events:none;white-space:nowrap;font:900 clamp(24px,6vw,44px) / 1 var(--font-display);color:#fff6c8;-webkit-text-stroke:2px #7a2bbf;text-shadow:0 4px 0 #4a1880,0 0 24px #ff7af0aa;animation:mon-banner calc(.9s * var(--anim, 1)) var(--ease-spring) forwards;z-index:3}.mon-extra{top:60%;color:#c8fff0;font-size:clamp(20px,4.6vw,32px);-webkit-text-stroke:2px #157a5c;text-shadow:0 3px 0 #0d4a38;animation-duration:1.4s}@keyframes mon-banner{0%{transform:scale(.3) rotate(-8deg);opacity:0}25%{transform:scale(1.12) rotate(2deg);opacity:1}75%{transform:scale(1) rotate(0);opacity:1}to{transform:scale(1.05) translateY(-30%);opacity:0}}.mon-input{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;touch-action:none}.mon-row{display:flex;flex:1}.mon-hit{flex:1;padding:0;margin:0;border:0;background:transparent;cursor:default;border-radius:20%;-webkit-tap-highlight-color:transparent}.mon-input.ready .mon-hit{cursor:grab}.mon-input.ready .mon-hit:hover{background:#ffffff12}.mon-hit:focus-visible{outline:3px solid var(--accent-2);outline-offset:-3px}.mon-hit[aria-selected=true]{box-shadow:inset 0 0 0 3px #fff}.mon-hud{width:min(100%,calc(var(--stage-h) - 150px),1100px)}.mon-hud.solo{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"level score moves" "goals goals goals";gap:8px 14px;align-items:center;padding:12px 16px;border-radius:18px;background:linear-gradient(135deg,#2b1d5c,#1d1640);border:1px solid var(--line)}.mon-hud-level{grid-area:level;display:flex;flex-direction:column;line-height:1.15}.mon-hud-level b{font:800 17px/1.1 var(--font-display)}.mon-moves{grid-area:moves;display:flex;flex-direction:column;align-items:center;min-width:74px;padding:6px 10px;border-radius:14px;background:#ffffff10}.mon-moves-n{font:900 30px/1 var(--font-display);color:var(--accent-2)}.mon-moves.low .mon-moves-n{color:var(--bad);animation:mon-pulse .8s ease-in-out infinite alternate}@keyframes mon-pulse{to{transform:scale(1.15)}}.mon-moves-label{font-size:calc(11px * var(--fs, 1));color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.mon-score{grid-area:score;display:flex;flex-direction:column;gap:6px;min-width:0}.mon-score-n{font:900 24px/1 var(--font-display)}.mon-starbar{position:relative;height:12px;margin-bottom:8px;border-radius:999px;background:#0005;box-shadow:inset 0 1px 3px #0008}.mon-starbar .fill{position:absolute;inset:0 auto 0 0;width:calc(var(--p) * 100%);border-radius:inherit;background:linear-gradient(90deg,#ffbe4d,#ff7a4d);transition:width .5s var(--ease-out)}.mon-starbar .mark{position:absolute;left:calc(var(--m) * 100%);top:50%;translate:-50% -50%;font-size:calc(18px * var(--fs, 1));color:#ffffff40;text-shadow:0 1px 2px #000;transition:color .3s,transform .3s var(--ease-spring)}.mon-starbar .mark.on{color:#ffe066;transform:scale(1.25)}.mon-goals{grid-area:goals;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.mon-goals li{display:flex;align-items:center;gap:6px;padding:4px 12px 4px 6px;border-radius:999px;background:#ffffff10;font-weight:800}.mon-goals li.done{background:#3ccf8e33;color:var(--ok)}.mon-goal-jelly{width:26px;height:26px;border-radius:8px;background:linear-gradient(160deg,#ff9ed2,#ff5fa8);box-shadow:inset 0 2px #fff8}.mon-goal-star{font-size:calc(22px * var(--fs, 1));color:#ffe066}@media(max-width:560px){.mon-hud.solo{grid-template-columns:1fr auto;grid-template-areas:"level moves" "score moves" "goals goals";padding:10px 12px}}.mon-hud.duel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.mon-round{grid-column:1 / -1;text-align:center;margin:0}.mon-fighter{position:relative;display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:18px;background:linear-gradient(135deg,#2b1d5c,#1d1640);border:2px solid var(--line);transition:border-color .3s,box-shadow .3s;min-width:0}.mon-fighter.turn{border-color:var(--seat);box-shadow:0 0 0 3px color-mix(in srgb,var(--seat) 30%,transparent),0 12px 30px -14px var(--seat)}.mon-avatar{position:relative;flex:none;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--c) 40%,transparent),transparent 70%)}.mon-fighter.turn .mon-avatar .mon-icon{animation:mon-bob 1.2s ease-in-out infinite}@keyframes mon-bob{50%{transform:translateY(-4px) scale(1.04)}}.mon-avatar.hurt .mon-icon{animation:mon-hurt .5s ease-out}@keyframes mon-hurt{20%{transform:translate(-8px) rotate(-10deg);filter:brightness(2) saturate(.4)}50%{transform:translate(6px) rotate(6deg)}}.mon-damage{position:absolute;top:-6px;right:-10px;font:900 22px/1 var(--font-display);color:#ff5a6a;-webkit-text-stroke:1px #3a0010;animation:mon-rise calc(1.1s * var(--anim, 1)) ease-out forwards}.mon-attack{position:absolute;bottom:-8px;left:50%;translate:-50% 0;white-space:nowrap;padding:2px 8px;border-radius:999px;background:#ffe066;color:#3a1a00;font-weight:900;font-size:calc(12px * var(--fs, 1));animation:mon-banner calc(1.4s * var(--anim, 1)) var(--ease-spring) forwards}.mon-fighter-info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.mon-fighter-name{padding-right:44px;display:flex;align-items:center;gap:6px;min-width:0}.mon-name-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mon-bar{position:relative;height:14px;border-radius:999px;background:#0006;overflow:hidden}.mon-bar span{position:absolute;inset:0 auto 0 0;border-radius:inherit;transition:width .6s var(--ease-out)}.mon-bar.hp span{background:linear-gradient(90deg,#3ccf8e,#a5f06a)}.mon-fighter.danger .mon-bar.hp span{background:linear-gradient(90deg,#ff5a6a,#ff9a5a)}.mon-bar.charge{height:9px}.mon-bar.charge span{background:linear-gradient(90deg,color-mix(in srgb,var(--c) 70%,#fff),var(--c))}.mon-bar em{position:absolute;right:8px;top:50%;translate:0 -50%;font:800 10px/1 var(--font);font-style:normal;color:#fff;text-shadow:0 1px 2px #000}.mon-bar.charge em{font-size:calc(8px * var(--fs, 1))}.mon-clock{position:absolute;top:6px;right:10px;font:800 12px/1 var(--font);color:var(--muted)}.mon-clock.low{color:var(--bad)}@media(max-width:560px){.mon-fighter{flex-direction:column;align-items:stretch;text-align:center;padding:8px}.mon-avatar{margin:0 auto;width:52px;height:52px}.mon-fighter-name{justify-content:center;padding-right:0}.mon-clock{top:4px;right:6px}}.mon-end{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#120c28cc;border-radius:22px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:5;animation:mon-flash calc(.3s * var(--anim, 1)) ease-out reverse}.mon-end-card{width:min(92%,380px);padding:22px 20px;border-radius:22px;text-align:center;background:linear-gradient(160deg,#3a2580,#22184a);border:1px solid #ffffff22;box-shadow:var(--shadow-2)}.mon-end-card h2{margin:0 0 6px;font:900 28px/1.1 var(--font-display)}.mon-end-stars{display:flex;justify-content:center;gap:8px;font-size:calc(48px * var(--fs, 1));line-height:1}.mon-end-stars span{color:#fff2}.mon-end-stars span.on{color:#ffe066;text-shadow:0 0 18px #ffbe4d;animation:mon-star .5s var(--ease-spring) both;animation-delay:calc(.5s + var(--i) * .3s)}@keyframes mon-star{0%{transform:scale(0) rotate(-90deg)}}.mon-end-score{font:800 20px/1.2 var(--font-display);margin:8px 0}.mon-end-goals{list-style:none;padding:0;margin:0 0 8px;color:var(--muted)}.mon-end-actions{display:flex;flex-direction:column;gap:8px;margin-top:10px}.mon-map{display:flex;flex-direction:column;gap:12px}.mon-levels{display:grid;grid-template-columns:repeat(auto-fill,50px);justify-content:start;gap:8px;margin:0;padding:0;list-style:none}.mon-node{width:50px;height:50px;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:50%;border:2px solid #ffffff26;background:radial-gradient(circle at 35% 30%,#8b6bff,#4a2fa8);color:#fff;font:900 16px/1 var(--font-display);box-shadow:0 4px #2a1a6a;cursor:pointer;transition:transform .15s var(--ease-spring)}.mon-node:hover:not(:disabled){transform:translateY(-2px) scale(1.05)}.mon-node.won{background:radial-gradient(circle at 35% 30%,#ffcf6b,#e0702a);box-shadow:0 4px #8a3a10}.mon-node.active{outline:3px solid #fff;outline-offset:2px}.mon-node.locked{background:#ffffff10;box-shadow:none;cursor:not-allowed;font-size:calc(14px * var(--fs, 1))}.mon-node:disabled:not(.locked){cursor:default}.mon-node-stars{font-size:calc(10px * var(--fs, 1));letter-spacing:-1px;color:#fff3b0}.mon-level-card{padding:12px 14px;border-radius:16px;background:#ffffff0a;border:1px solid var(--line)}.mon-level-head{display:flex;align-items:center;gap:10px}.mon-level-head div{display:flex;flex-direction:column}.mon-level-goals{margin:8px 0 4px;padding-left:18px}.mon-level-card p{margin:6px 0 0}.mon-art-card{position:relative;width:100%;height:100%;display:grid;place-items:center;background:radial-gradient(120% 120% at 50% 0%,#6b3cc8,#2a1a5c 60%,#160f36);overflow:hidden}.mon-art-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:2px;width:64%;padding:6px;border-radius:14px;background:#ffffff12;transform:rotate(-4deg)}.mon-art-tile{aspect-ratio:1;padding:6%}.mon-art-tile.glow{filter:drop-shadow(0 0 6px #fff8)}.mon-art-tile.swap{animation:mon-hint 1.6s ease-in-out infinite}.mon-art-combo{position:absolute;right:8%;top:14%;font:900 22px/1 var(--font-display);color:#fff6c8;-webkit-text-stroke:1.5px #7a2bbf;transform:rotate(8deg)}.mon-tip h4{margin:0 0 4px}.mon-tip p{margin:0}:root.reduce-motion .mon-tile.hint,:root.reduce-motion .mon-fighter.turn .mon-avatar .mon-icon,:root.reduce-motion .mon-moves.low .mon-moves-n,:root.reduce-motion .mon-art-tile.swap{animation:none}.mon-fighter-head{display:flex;align-items:center;min-width:0}.mon-life{position:relative;display:flex;align-items:center;gap:8px}.mon-life .mon-bar.hp{flex:1;height:16px}.mon-life.hurt .mon-bar.hp{animation:mon-hurt .5s ease-out}.mon-life .mon-damage{top:-14px;right:6px}.mon-shield{flex:none;padding:2px 8px;border-radius:999px;background:#3ccf8e26;border:1px solid #3ccf8e88;color:#b8ffd8;font:800 12px/1.2 var(--font)}.mon-team{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.mon-hero{position:relative;display:flex;align-items:center;gap:6px;padding:6px;border-radius:14px;background:color-mix(in srgb,var(--c) 12%,#00000040);border:1px solid color-mix(in srgb,var(--c) 35%,transparent);min-width:0}.mon-hero-icon{position:relative;flex:none;display:grid;place-items:center;border-radius:50%;background:radial-gradient(closest-side,#1d1640 82%,transparent 84%),conic-gradient(var(--c) calc(var(--p) * 360deg),#ffffff1a 0);padding:4px}.mon-hero.stage2 .mon-hero-icon .mon-icon{filter:drop-shadow(0 0 6px var(--c))}.mon-hero.stage3 .mon-hero-icon .mon-icon{filter:drop-shadow(0 0 10px var(--c)) saturate(1.3);transform:scale(1.08)}.mon-hero-stage{position:absolute;bottom:-4px;left:50%;translate:-50% 0;font-size:calc(10px * var(--fs, 1));color:#ffe066;text-shadow:0 1px 2px #000;white-space:nowrap}.mon-hero-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.mon-hero-name{font-size:calc(13px * var(--fs, 1));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mon-hero-ability{font-size:calc(11px * var(--fs, 1));color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mon-hero .mon-bar.charge{height:10px}.mon-hero .mon-bar.charge em{font-size:calc(8px * var(--fs, 1));right:4px}.mon-hero-berries{display:flex;gap:2px}.mon-hero-berries>span{opacity:.25;filter:grayscale(1);line-height:0}.mon-hero-berries>span.on{opacity:1;filter:none}.mon-hero.fired{animation:mon-fired 1.2s ease-out}@keyframes mon-fired{0%{box-shadow:0 0 0 0 var(--c)}30%{box-shadow:0 0 0 6px color-mix(in srgb,var(--c) 60%,transparent),0 0 30px var(--c);transform:scale(1.05)}to{box-shadow:0 0 0 0 transparent}}.mon-hero.evolved{animation:mon-evolve 1.6s ease-out}@keyframes mon-evolve{0%,40%{filter:brightness(2.2)}20%{transform:scale(1.12)}}.mon-turn-moves{display:flex;gap:4px;position:absolute;top:12px;right:56px}.mon-turn-moves span{width:10px;height:10px;border-radius:50%;background:var(--seat);box-shadow:0 0 6px var(--seat)}.mon-turn-moves span.bonus{background:#ffe066;box-shadow:0 0 6px #ffe066}.mon-banner.long{white-space:normal;width:90%;text-align:center;font-size:clamp(20px,4.4vw,36px)}.mon-pick{width:100%;padding:16px;border-radius:20px;background:linear-gradient(135deg,#2b1d5c,#1d1640);border:1px solid var(--line)}.mon-pick-head h3{margin:0 0 4px}.mon-pick-head p{margin:0 0 12px}.mon-pick-clock{color:var(--text)}.mon-pick-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr));gap:10px}.mon-pick-card{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 10px;border-radius:16px;border:2px solid color-mix(in srgb,var(--c) 45%,transparent);background:radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--c) 30%,transparent),#00000030 70%);color:inherit;font:inherit;text-align:center;cursor:pointer;transition:transform .15s var(--ease-out),box-shadow .15s}.mon-pick-card:not(:disabled):hover{transform:translateY(-3px);box-shadow:0 12px 30px -12px var(--c)}.mon-pick-card:disabled{cursor:default}.mon-pick-card.taken{opacity:.5;border-color:var(--seat)}.mon-pick-card.taken.mine{opacity:1}.mon-pick-ability{font-weight:800;color:color-mix(in srgb,var(--c) 60%,#fff)}.mon-pick-meta{font-size:calc(11px * var(--fs, 1));color:var(--muted)}.mon-pick-owner{position:absolute;top:8px;right:8px;padding:2px 8px;border-radius:999px;background:var(--seat);color:#10081f;font:800 11px/1.3 var(--font)}.mon-board-wrap.is-picking{display:none}.mon-hud.duel .mon-fighter{align-items:stretch;text-align:left}@media(max-width:700px){.mon-pick{padding:12px}.mon-pick-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.mon-pick-card{padding:8px 4px;gap:2px}.mon-pick-card .mon-icon{width:48px;height:48px}.mon-pick-card b{font-size:calc(13px * var(--fs, 1))}.mon-pick-ability{font-size:calc(11px * var(--fs, 1))}.mon-pick-card>.muted,.mon-pick-meta{display:none}.mon-pick-owner{top:4px;right:4px;font-size:calc(10px * var(--fs, 1))}}.mon-board.framed .mon-surface{box-shadow:0 0 0 3px #ffffff14,0 0 0 9px var(--mon-frame, #2a1d55),0 0 0 11px var(--mon-frame-2, #ffffff10),0 0 26px 10px var(--mon-frame-glow, transparent),0 30px 60px -20px #000c}.mon-board.framed .mon-surface:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--mon-frame-pattern, none);pointer-events:none;opacity:.5}.mon-board.skinned .mon-art{filter:drop-shadow(0 3px 2px #0007) drop-shadow(0 0 4px var(--mon-skin-glow, transparent))}.mon-fighter.skinned{box-shadow:0 0 16px -2px var(--mon-skin-glow, transparent)}.mon-skin-badge{margin-right:4px}.replay-screen .page.replay{max-width:1320px;padding-bottom:96px}.replay-title{font-size:calc(18px * var(--fs, 1));margin:0}.replay-body{display:flex;flex-direction:column;gap:14px}.replay-head-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.replay-head-row .tabs{margin-left:auto}.replay-note{margin:0}.replay-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}@media(max-width:1000px){.replay-layout{grid-template-columns:minmax(0,1fr)}}.replay-stage{min-width:0;position:relative}.replay-side{display:flex;flex-direction:column;gap:12px;min-width:0}.replay-players{padding:8px;display:flex;flex-direction:column;gap:4px}.replay-players .player{padding:6px 8px;gap:10px}.replay-players .player b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.replay-players .up{color:var(--ok);font-weight:800}.replay-players .down{color:var(--bad);font-weight:800}.replay-result{padding:14px;border-color:#ffbe4d66;animation:profile-in .25s var(--ease-out)}.replay-result h4{margin:0 0 4px}.replay-result p{margin:0 0 8px}.replay-result .ranking{margin:0}.replay-moves{padding:14px 12px 10px}.replay-moves h4{font-size:calc(15px * var(--fs, 1));margin:0 0 8px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.replay-sans,.replay-steps{list-style:none;margin:0;padding:0;max-height:360px;overflow-y:auto}.replay-sans li{display:grid;grid-template-columns:40px 1fr 1fr;align-items:center;padding:2px 6px;border-radius:8px;font-variant-numeric:tabular-nums}.replay-sans li:nth-child(odd){background:#ffffff06}.replay-sans .san{background:none;border:0;color:inherit;font:inherit;font-weight:700;cursor:pointer;text-align:left}.replay-sans .san:hover{background:#ffffff10}.replay-extra{margin:6px 0 0;color:var(--muted)}.replay-extra.current{color:var(--accent-2)}.replay-steps li button{display:flex;gap:8px;align-items:baseline;width:100%;text-align:left;background:none;border:0;border-radius:8px;padding:5px 8px;color:var(--muted);font:inherit;font-size:calc(13px * var(--fs, 1));cursor:pointer}.replay-steps li button:hover{background:#ffffff0a;color:var(--text)}.replay-steps li button.current{background:#ffbe4d22;color:var(--accent-2);font-weight:700}.replay-steps .swatch{flex:none;width:9px;height:9px;border-radius:50%;transform:translateY(1px)}.replay-summary{padding:22px;display:flex;flex-direction:column;gap:18px;min-height:260px}.replay-now{font-family:var(--font-display);font-size:calc(22px * var(--fs, 1));margin:0}.replay-scores{display:flex;flex-wrap:wrap;gap:10px;margin:0}.replay-scores div{--c: var(--violet);border:1px solid var(--line);border-left:3px solid var(--c);border-radius:12px;padding:8px 14px;min-width:110px}.replay-scores dt{color:var(--muted);font-size:calc(13px * var(--fs, 1))}.replay-scores dd{margin:0;font-size:calc(22px * var(--fs, 1));font-weight:800;font-variant-numeric:tabular-nums}.replay-final{border-collapse:collapse;font-variant-numeric:tabular-nums}.replay-final th,.replay-final td{padding:6px 12px;border-bottom:1px solid var(--line);text-align:left}.replay-controls{position:sticky;bottom:12px;z-index:2;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px}.rc-buttons{display:flex;gap:4px}.rc-buttons .btn{min-width:40px;justify-content:center}.rc-play{min-width:52px!important}.rc-scrub{flex:1 1 220px;display:flex}.rc-scrub input{width:100%;accent-color:var(--accent-2)}.rc-count{font-variant-numeric:tabular-nums;min-width:84px;text-align:right}.mh-replay{display:inline-flex;gap:6px;align-items:center;margin-top:4px;color:var(--accent-2);font-weight:700;text-decoration:none}.mh-replay:hover{text-decoration:underline}.editions-page{max-width:880px;margin:0 auto;display:grid;gap:14px}.editions-page .tabs{justify-self:start}.ed-form{display:grid;gap:12px;padding:16px}.ed-steps{display:flex;gap:6px;margin:0;padding:0;list-style:none;overflow-x:auto;scrollbar-width:none}.ed-steps button{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:#ffffff08;color:var(--muted);font:inherit;font-size:13px;cursor:pointer}.ed-steps button.active{color:var(--text);border-color:var(--accent);background:#ff7a4d1f}.ed-step-n{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--card-2);font-weight:800;font-size:11px}.ed-grid{display:grid;gap:10px}.ed-squares{display:grid;gap:12px}.ed-set{display:grid;gap:8px;margin:0;padding:10px 12px 12px;border:1px solid var(--line);border-left-width:6px;border-radius:var(--radius-sm)}.ed-set legend{display:inline-flex;align-items:center;gap:6px;padding:0 4px;font-weight:700}.ed-swatch{display:inline-block;width:12px;height:12px;border-radius:3px}.ed-field{display:grid;gap:4px;min-width:0}.ed-field label,.ed-field>span:first-child{font-size:13px;font-weight:700}.ed-field input,.ed-field textarea{width:100%;min-width:0}.ed-field input[type=color]{height:40px;padding:2px}.ed-field.invalid input{border-color:var(--bad)}.ed-error{color:var(--bad);font-size:12px}.ed-group-row{display:grid;grid-template-columns:1fr 88px;gap:8px;align-items:start}.ed-group-row:has(input[maxlength="8"]){grid-template-columns:88px 1fr}.ed-nav{justify-content:flex-end}.ed-review{display:grid;gap:10px}.ed-problems{margin:0;padding-left:18px;display:grid;gap:4px}.ed-preview{cursor:default;max-width:420px}.ed-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.ed-list>li{display:grid;gap:8px;padding:14px}.ed-square-list{columns:2;font-size:13px;padding-left:24px}.ed-status.approved{color:var(--ok)}.ed-status.rejected{color:var(--bad)}.ed-flash{padding:8px 12px;border-radius:var(--radius-sm);background:#3ccf8e1f}.mg-propose-link{margin-left:8px;color:var(--accent-2)}@media(min-width:700px){.ed-grid,.ed-squares{grid-template-columns:1fr 1fr}}.sound-settings{display:flex;flex-direction:column;gap:14px}.sound-settings .sound-master{border-color:var(--line-strong);background:#231d3f80}.sound-volumes{display:flex;flex-direction:column;gap:4px;padding:6px 12px;border:1px solid var(--line);border-radius:14px;background:#0f0c1c60;transition:opacity .2s}.sound-settings.muted-all .sound-volumes{opacity:.55}.sound-row{padding:8px 0}.sound-row+.sound-row{border-top:1px solid var(--line)}.sound-row-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.sound-row-head label{display:flex;flex-direction:column;gap:1px;min-width:0}.sound-pct{font-variant-numeric:tabular-nums;color:var(--muted);font-size:13px;min-width:3.5ch;text-align:right}.sound-row-ctrl{display:flex;align-items:center;gap:12px;margin-top:6px}.sound-try{flex-shrink:0;gap:6px;min-width:88px;text-transform:none}.sound-settings input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;min-width:0;width:auto;height:32px;min-height:32px;padding:0;margin:0;border:0;border-radius:999px;background:transparent;cursor:pointer;box-shadow:none}.sound-settings input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:linear-gradient(90deg,var(--accent) 0%,var(--accent-2) var(--fill, 0%),var(--line-strong) var(--fill, 0%))}.sound-settings input[type=range]::-moz-range-track{height:6px;border-radius:999px;background:var(--line-strong)}.sound-settings input[type=range]::-moz-range-progress{height:6px;border-radius:999px;background:var(--grad)}.sound-settings input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-8px;border-radius:50%;background:#fff;border:0;box-shadow:0 2px 6px #0008;transition:transform .2s var(--ease-spring)}.sound-settings input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:0;box-shadow:0 2px 6px #0008}.sound-settings input[type=range]:active::-webkit-slider-thumb{transform:scale(1.12)}.sound-settings input[type=range]:focus-visible{outline:none;box-shadow:none}.sound-settings input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:var(--ring)}.sound-settings input[type=range]:focus-visible::-moz-range-thumb{box-shadow:var(--ring)}.sound-footer{display:flex;justify-content:flex-end}@media(max-width:560px){.sound-settings input[type=range]{height:40px}.sound-settings input[type=range]::-webkit-slider-thumb{width:26px;height:26px;margin-top:-10px}.sound-settings input[type=range]::-moz-range-thumb{width:26px;height:26px}.sound-try{min-width:0}}@media(prefers-reduced-motion:reduce){.sound-settings input[type=range]::-webkit-slider-thumb{transition:none}}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:16px;background:#07050ecc;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fade-in .2s ease-out}.settings-panel{width:min(760px,100%);height:min(600px,calc(100dvh - 32px));display:flex;flex-direction:column;background:linear-gradient(180deg,var(--card-2) 0%,var(--card) 100%);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);overflow:hidden;animation:settings-in calc(.3s * var(--anim, 1)) var(--ease-out)}@keyframes settings-in{0%{opacity:0;transform:translateY(16px) scale(.98)}}.settings-head{display:flex;align-items:center;gap:12px;padding:16px 16px 12px 22px;border-bottom:1px solid var(--line)}.settings-head h2{flex:1;font-size:calc(24px * var(--fs, 1))}.settings-grip{display:none}.settings-body{flex:1;min-height:0;display:grid;grid-template-columns:200px 1fr}.settings-tabs{display:flex;flex-direction:column;gap:4px;padding:12px;border-right:1px solid var(--line);background:#0f0c1c55}.settings-tabs button{display:flex;align-items:center;gap:10px;min-height:42px;padding:8px 12px;border:0;border-radius:10px;background:none;color:var(--muted);font-weight:700;text-align:left;cursor:pointer}.settings-tabs button:hover{color:var(--text);background:#ffffff0a}.settings-tabs button.active{color:var(--text);background:linear-gradient(180deg,#352c5e,#2a234c);box-shadow:0 1px #ffffff1a inset}.settings-section{overflow-y:auto;overscroll-behavior:contain;padding:18px 22px 24px}.settings-section:focus-visible{box-shadow:inset var(--ring)}.settings-section-title{font-size:calc(19px * var(--fs, 1))}.settings-intro{margin:4px 0 0}.settings-rows{display:flex;flex-direction:column;margin-top:8px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.setting-row:last-child{border-bottom:0}.setting-text{min-width:0}.setting-label{font-weight:700}.setting-help{margin:2px 0 0;color:var(--muted);font-size:calc(13px * var(--fs, 1))}.setting-control{flex-shrink:0;display:flex;justify-content:flex-end}.setting-control input[type=range]{width:180px;min-height:0;padding:0;border:0;background:none;accent-color:var(--accent)}.switch{position:relative;width:50px;height:30px;flex-shrink:0;border-radius:999px;border:1px solid var(--line-strong);background:#0f0c1c;cursor:pointer;padding:0;transition:background calc(.2s * var(--anim, 1)),border-color calc(.2s * var(--anim, 1))}.switch-thumb{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--muted);transition:transform calc(.2s * var(--anim, 1)) var(--ease-out),background calc(.2s * var(--anim, 1))}.switch[aria-checked=true]{background:var(--accent);border-color:#ffb07a}.switch[aria-checked=true] .switch-thumb{transform:translate(20px);background:#fff}.switch:disabled{opacity:.45;cursor:not-allowed}.segmented{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:2px;padding:4px;border-radius:12px;border:1px solid var(--line);background:#0f0c1c99}.segmented button{min-height:34px;padding:6px 12px;border:0;border-radius:9px;background:none;color:var(--muted);font-weight:700;cursor:pointer}.segmented button:hover:not(:disabled){color:var(--text)}.segmented button.active{color:var(--text);background:linear-gradient(180deg,#352c5e,#2a234c);box-shadow:0 1px #ffffff1a inset}.segmented button:disabled{opacity:.4;cursor:not-allowed}.settings-account{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.settings-account p{margin:2px 0 0}.settings-badge{display:inline-block;margin-left:4px;padding:0 8px;border-radius:999px;font-size:calc(12px * var(--fs, 1));font-weight:800}.settings-badge.ok{background:#3ccf8e26;color:var(--ok)}.settings-badge.warn{background:#ffbe4d26;color:var(--accent-2)}.settings-sync{font-weight:700;font-size:calc(14px * var(--fs, 1));color:var(--muted);text-align:right}.settings-sync.synced{color:var(--ok)}.settings-sync.error{color:var(--accent-2)}.settings-account-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}@media(max-width:600px){.settings-overlay{place-items:end stretch;padding:0}.settings-panel{width:100%;height:auto;max-height:88dvh;border-radius:22px 22px 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom);animation-name:settings-sheet-in}@keyframes settings-sheet-in{0%{transform:translateY(100%)}}.settings-head{position:relative;padding:18px 12px 10px 18px}.settings-grip{display:block;position:absolute;top:7px;left:50%;width:40px;height:4px;margin-left:-20px;border-radius:999px;background:var(--line-strong)}.settings-body{display:flex;flex-direction:column}.settings-tabs{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:8px 10px;scrollbar-width:none}.settings-tabs button{flex-shrink:0;min-height:38px}.settings-section{padding:12px 16px 20px}.setting-row{flex-direction:column;align-items:stretch;gap:10px}.setting-row:has(.switch){flex-direction:row;align-items:center}.setting-control{justify-content:flex-start}.setting-control input[type=range]{width:100%}.segmented{justify-content:flex-start}}:root.high-contrast{--text: #ffffff;--muted: #e4dfff;--faint: #c2bbeb;--line: #7a6fbf;--line-strong: #b0a6f0;--bg: #07050f;--card: #110d22;--card-2: #18132e;--ring: 0 0 0 3px #ffe14d}:root.high-contrast body:before{display:none}:root.high-contrast :focus-visible{outline:3px solid #ffe14d;outline-offset:2px}:root.high-contrast .btn.ghost{color:var(--text);border-color:var(--line)}:root.high-contrast .chip,:root.high-contrast .card{border-color:var(--line-strong)}:root.high-contrast .segmented button.active,:root.high-contrast .settings-tabs button.active,:root.high-contrast .tabs button.active{outline:2px solid #fff;outline-offset:-2px}:root.big-targets :is(.btn,.btn.sm,.btn.icon-btn,.tabs button,.segmented button,.settings-tabs button,.kick,.link){min-height:44px;min-width:44px}:root.big-targets .switch{width:58px;height:36px}:root.big-targets .switch-thumb{width:28px;height:28px}:root.big-targets .switch[aria-checked=true] .switch-thumb{transform:translate(22px)}.cb-mark{display:none}:root.cb-markers .cb-mark{display:inline-grid;place-items:center;min-width:1.2em;font-family:var(--glyph);font-weight:900;line-height:1}:root.cb-markers .token{display:grid;place-items:center;color:#111;font-family:var(--glyph);font-size:calc(11px * var(--fs, 1));line-height:1}:root.cb-markers .token:after{content:attr(data-mark);text-shadow:0 0 2px #fff}:root.cb-markers .home[data-mark]:before{content:attr(data-mark);position:absolute;font-family:var(--glyph);top:6%;left:8%;font-size:calc(18px * var(--fs, 1));color:#111c}:root.cb-markers .home[data-mark]{position:relative}.token-mark{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#fffaf0;color:#111;font:900 12px/1 var(--glyph);box-shadow:0 2px 6px #0006}:root{--side-w: 320px;--stage-h: calc(100dvh - 150px) ;--k: 1;--fs: 1;--anim: 1;--bg: #0f0c1c;--bg-2: #161229;--card: #1b1631;--card-2: #231d3f;--line: #2f2852;--line-strong: #463d70;--text: #f4f1ff;--muted: #a7a0c8;--faint: #6f6895;--accent: #ff7a4d;--accent-2: #ffbe4d;--accent-ink: #2a1206;--violet: #8b7bff;--ok: #3ccf8e;--bad: #ff6b7a;--grad: linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);--grad-violet: linear-gradient(135deg, #8b7bff 0%, #5b8cff 100%);--radius-sm: 10px;--radius: 16px;--radius-lg: 24px;--shadow-1: 0 1px 0 #ffffff0d inset, 0 8px 24px -12px #0009;--shadow-2: 0 1px 0 #ffffff12 inset, 0 24px 60px -20px #000c;--ring: 0 0 0 3px #ffbe4d88;--font-display: "Bricolage Grotesque", system-ui, sans-serif;--font: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--glyph: "Segoe UI Symbol", "DejaVu Sans", "Noto Sans Symbols 2", serif;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:radial-gradient(1100px 620px at 8% -12%,#3a1f3d 0%,transparent 60%),radial-gradient(900px 560px at 108% 4%,#1d2a55 0%,transparent 60%),radial-gradient(800px 500px at 50% 120%,#2a1840 0%,transparent 60%),var(--bg);background-attachment:fixed;color:var(--text);font-family:var(--font);font-size:calc(15px * var(--fs, 1));line-height:1.5;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}#root{position:relative;z-index:1}button,input{font:inherit;color:inherit}h1,h2,h3,h4{font-family:var(--font-display);margin:0;letter-spacing:-.02em;line-height:1.1}:focus-visible{outline:none;box-shadow:var(--ring)}.muted{color:var(--muted)}.small{font-size:calc(13px * var(--fs, 1))}.center{text-align:center;justify-content:center}.up{color:var(--ok)}.down{color:var(--bad)}.error{color:#ffd3d8;background:#ff6b7a1f;border:1px solid #ff6b7a55;padding:8px 12px;border-radius:var(--radius-sm);margin:0;font-size:calc(14px * var(--fs, 1))}.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.eyebrow{margin:0 0 4px;font-size:calc(12px * var(--fs, 1));font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-2)}.splash{display:grid;place-items:center;align-content:center;gap:14px;min-height:100vh}.splash-mark{animation:hop 1s var(--ease-out) infinite;filter:drop-shadow(0 16px 24px #ff7a4d44)}.splash-word{font-family:var(--font-display);font-size:calc(28px * var(--fs, 1));font-weight:800;letter-spacing:-.02em}@keyframes hop{0%,to{transform:translateY(0) scale(1)}15%{transform:translateY(0) scale(1.08,.92)}45%{transform:translateY(-18px) scale(.96,1.04)}75%{transform:translateY(0) scale(1.04,.96)}}.card{background:linear-gradient(180deg,var(--card-2) 0%,var(--card) 100%);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-1)}.card.glass{background:linear-gradient(180deg,#2a2350cc,#1b1631cc);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);box-shadow:var(--shadow-2)}.btn{--btn-bg: var(--card-2);--btn-edge: #0b0916;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line-strong);background:var(--btn-bg);border-radius:12px;padding:9px 16px;font-weight:700;cursor:pointer;box-shadow:0 1px #ffffff14 inset,0 3px 0 var(--btn-edge);transition:transform .12s var(--ease-out),box-shadow .12s var(--ease-out),background .2s,border-color .2s,filter .2s;white-space:nowrap;text-decoration:none;min-height:40px}.btn:hover:not(:disabled){border-color:#6a5fa0;transform:translateY(-1px);box-shadow:0 1px #ffffff14 inset,0 4px 0 var(--btn-edge)}.btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #ffffff14 inset,0 1px 0 var(--btn-edge)}.btn:focus-visible{box-shadow:0 3px 0 var(--btn-edge),var(--ring)}.btn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.85);box-shadow:none}.btn.primary{background:var(--grad);border-color:#ffb07a;color:var(--accent-ink);--btn-edge: #a8401f;text-shadow:0 1px 0 #ffffff40}.btn.primary:hover:not(:disabled){filter:brightness(1.06) saturate(1.05);border-color:#ffd0a8}.btn.ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--muted)}.btn.ghost:hover:not(:disabled){background:#ffffff0d;color:var(--text);box-shadow:none;border-color:transparent}.btn.ghost:active:not(:disabled){box-shadow:none}.btn.danger{color:#ffb3bb;--btn-bg: #2a1730;border-color:#5a2a3e}.btn.danger:hover:not(:disabled){border-color:var(--bad);color:#fff}.btn.big{min-height:48px;padding:12px 20px;font-size:calc(16px * var(--fs, 1));border-radius:14px}.btn.sm{min-height:34px;padding:6px 12px;font-size:calc(14px * var(--fs, 1))}.btn.icon-btn{padding:6px 10px;min-height:34px}.link{background:none;border:0;padding:0;color:var(--accent-2);font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px;border-radius:4px}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite;display:inline-block;flex-shrink:0}input{background:#0f0c1ccc;border:1px solid var(--line-strong);border-radius:12px;padding:12px 14px;width:100%;min-height:46px;transition:border-color .2s,box-shadow .2s}input::placeholder{color:var(--faint)}input:hover{border-color:#5c5290}input:focus,input:focus-visible{outline:none;border-color:var(--accent-2);box-shadow:0 0 0 3px #ffbe4d33}.tabs{display:inline-flex;background:#0f0c1c99;border:1px solid var(--line);border-radius:12px;padding:4px;gap:2px}.tabs.full{display:flex}.tabs.full button{flex:1}.tabs button{border:0;background:none;padding:7px 14px;border-radius:9px;cursor:pointer;color:var(--muted);font-weight:700;transition:background .2s,color .2s}.tabs button:hover{color:var(--text)}.tabs button.active{background:linear-gradient(180deg,#352c5e,#2a234c);color:var(--text);box-shadow:0 1px #ffffff1a inset,0 4px 12px -4px #0008}.chip{display:inline-flex;align-items:center;gap:4px;font-size:calc(12px * var(--fs, 1));font-weight:700;padding:4px 10px;border-radius:999px;border:1px solid var(--line-strong);color:var(--muted);background:#ffffff08}.chip.game{color:var(--text)}.chip.rated{color:var(--accent-2);border-color:#6b4f22;background:#ffbe4d14}.chip.friendly{color:#9ff3e4;border-color:#275e57;background:#2a9d8f14}.chip.code{color:var(--text);letter-spacing:.08em}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.avatar{--av-size: 40px;position:relative;width:var(--av-size);height:var(--av-size);border-radius:50%;display:inline-grid;place-items:center;flex-shrink:0;background:linear-gradient(135deg,var(--av-a),var(--av-b));color:#fff;font-family:var(--font-display);font-weight:800;font-size:calc(var(--av-size) * .38);letter-spacing:-.02em;text-shadow:0 1px 2px #0006;box-shadow:0 0 0 2px var(--bg),0 4px 12px -4px #000a}.avatar.ringed{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--av-ring),0 4px 12px -4px #000a}.avatar-dot{position:absolute;right:-1px;bottom:-1px;width:30%;height:30%;min-width:9px;min-height:9px;border-radius:50%;background:var(--faint);border:2px solid var(--card)}.avatar-dot.on{background:var(--ok)}.tier-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px 3px 6px;border-radius:999px;font-size:calc(12px * var(--fs, 1));font-weight:800;border:1px solid;white-space:nowrap;width:fit-content}.tier-badge.tier-bronce{color:#f0b27f;border-color:#6b3d20;background:#e59a6214}.tier-badge.tier-plata{color:#e3e7f0;border-color:#5c6377;background:#eef1f714}.tier-badge.tier-oro{color:#ffd75e;border-color:#7a5a14;background:#ffd75e14}.tier-badge.tier-platino{color:#9ff3e4;border-color:#23675e;background:#9ff3e414}.tier-badge.tier-diamante{color:#d3c8ff;border-color:#4c4aa0;background:#c8b8ff1a}.tier-icon{flex-shrink:0;filter:drop-shadow(0 1px 1px #0006)}.page{max-width:clamp(1160px,78vw,1760px);margin:0 auto;padding:16px 16px 56px;display:flex;flex-direction:column;gap:20px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:6px 0}.logo{display:inline-flex;align-items:center;gap:10px}.wordmark{font-family:var(--font-display);font-weight:800;font-size:calc(26px * var(--fs, 1));letter-spacing:-.035em;line-height:1}.wordmark-sub{margin-left:5px;font-weight:500;font-size:.55em;letter-spacing:.02em;color:var(--accent-2);vertical-align:.35em}.logo.large{gap:14px}.logo.large .wordmark{font-size:calc(40px * var(--fs, 1))}.brand-mark{flex-shrink:0;filter:drop-shadow(0 6px 14px #ff7a4d33)}.me{display:flex;align-items:center;gap:6px}.me-chip{display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;border-radius:999px;background:#ffffff0a;border:1px solid var(--line)}.me-name{font-weight:700;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.login{min-height:100vh;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:56px;max-width:1080px;margin:0 auto;padding:32px 16px;position:relative;overflow-x:clip}.login-hero{position:relative;display:flex;flex-direction:column;gap:20px}.hero-title{font-size:clamp(36px,6vw,60px);font-weight:800;letter-spacing:-.035em;line-height:1.02}.hero-sub{color:var(--muted);font-size:calc(18px * var(--fs, 1));max-width:470px;margin:0}.features{list-style:none;padding:0;margin:4px 0 0;display:grid;gap:10px;max-width:440px}.features li{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:#ffffff08;border:1px solid #ffffff0f}.features li>span:last-child{display:flex;flex-direction:column;line-height:1.3}.feature-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-family:var(--glyph);font-size:calc(22px * var(--fs, 1));background:var(--grad);color:var(--accent-ink);flex-shrink:0;box-shadow:0 6px 16px -6px #ff7a4d88}.features li:nth-child(2) .feature-icon{background:linear-gradient(135deg,#e04848,#f2c230)}.features li:nth-child(3) .feature-icon{background:var(--grad-violet);color:#fff}.hero-toys{position:absolute;top:-40px;right:-20px;bottom:-40px;left:-40px;pointer-events:none;z-index:-1}.toy{position:absolute;animation:float 6s ease-in-out infinite}.toy-knight,.toy-pawn{font-family:var(--glyph);line-height:1;opacity:.16}.toy-knight{right:2%;top:-2%;font-size:calc(180px * var(--fs, 1));color:#c8b8ff;transform:rotate(10deg)}.toy-pawn{right:26%;bottom:0;font-size:calc(90px * var(--fs, 1));color:var(--accent-2);animation-delay:-2s}.toy-die{right:6%;bottom:14%;width:64px;height:64px;border-radius:14px;background:#fffaf0;display:grid;grid-template-columns:repeat(3,1fr);padding:10px;gap:3px;box-shadow:inset 0 -5px #0002,0 20px 30px -10px #000a;transform:rotate(-14deg);animation-name:float-rot;animation-delay:-1s;opacity:.92}.toy-die.small{right:auto;left:50%;top:-4%;bottom:auto;width:40px;height:40px;padding:6px;border-radius:10px;animation-delay:-3.5s;opacity:.6}.toy-die i{border-radius:50%}.toy-die i.pip{background:#1d1a1f}.toy-token{width:22px;height:22px;border-radius:50%;border:2px solid #0006;background:radial-gradient(circle at 35% 30%,#fff9 0 14%,transparent 15%),var(--c);box-shadow:0 8px 14px -4px #000a;opacity:.85}.t-red{--c: #e04848;left:4%;top:2%;animation-delay:-1.2s}.t-blue{--c: #2f7fe0;right:16%;top:38%;animation-delay:-2.4s}.t-yellow{--c: #f2c230;left:38%;bottom:2%;animation-delay:-.6s}.t-green{--c: #2aa65a;right:0;bottom:44%;animation-delay:-4s}@keyframes float{50%{translate:0 -12px}}@keyframes float-rot{50%{translate:0 -10px;rotate:8deg}}.login-card{display:flex;flex-direction:column;gap:16px;padding:28px;position:relative}.login-card:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;padding:1px;background:linear-gradient(160deg,#ffbe4d66,transparent 40%,transparent 70%,#8b7bff55);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.login-title{font-size:calc(26px * var(--fs, 1))}.login-lead{margin:4px 0 0}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:calc(13px * var(--fs, 1));font-weight:700;color:var(--muted)}.field small{font-size:calc(12px * var(--fs, 1))}.login-card .btn.primary{width:100%;margin-top:4px}.login-card p.center{margin:0}@media(max-width:820px){.login{grid-template-columns:1fr;gap:18px;padding-top:24px;min-height:auto}.login-hero{display:contents}.login-card{order:1;margin-top:6px}.features{order:2}.toy-token,.toy-pawn{display:none}.logo.large .wordmark{font-size:calc(32px * var(--fs, 1))}.hero-sub{font-size:calc(16px * var(--fs, 1))}.toy-knight{font-size:calc(120px * var(--fs, 1))}.toy-die{display:none}}.lobby-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:8px 0 4px}.lobby-title{font-size:clamp(28px,4.4vw,44px);font-weight:800;letter-spacing:-.03em;overflow-wrap:anywhere}.hero-stats{display:flex;gap:8px}.stat{display:flex;flex-direction:column;align-items:center;min-width:84px;padding:10px 14px;border-radius:16px;background:#ffffff08;border:1px solid var(--line)}.stat b{font-family:var(--font-display);font-size:calc(24px * var(--fs, 1));line-height:1.1;font-variant-numeric:tabular-nums}.stat span{font-size:calc(12px * var(--fs, 1));color:var(--muted);font-weight:600}.game-filters{display:flex;gap:8px;margin:8px 0 14px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.game-filters::-webkit-scrollbar{display:none}.game-filter{flex:none;display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:#0f0c1c99;color:var(--muted);font:inherit;font-weight:700;font-size:calc(14px * var(--fs, 1));cursor:pointer;transition:color .2s,border-color .2s,background .2s}.game-filter:hover{color:var(--text);border-color:var(--line-strong)}.game-filter.active{background:var(--grad);border-color:transparent;color:var(--accent-ink);box-shadow:0 6px 18px -8px var(--accent)}.game-filter-count{font-size:calc(11px * var(--fs, 1));font-variant-numeric:tabular-nums;padding:2px 7px;border-radius:999px;background:#ffffff14}.game-filter.active .game-filter-count{background:#0000001f}.game-filter-hint{margin:-4px 0 14px;font-size:calc(13px * var(--fs, 1))}.games{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:20px}.game-card{padding:0;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out),border-color .3s}.game-card:hover{transform:translateY(-4px);border-color:var(--line-strong);box-shadow:var(--shadow-2)}.game-card.chess:hover{box-shadow:var(--shadow-2),0 30px 80px -40px #8b7bff99}.game-card.parchis:hover{box-shadow:var(--shadow-2),0 30px 80px -40px #ff7a4d99}.game-card.searching{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 30px 80px -40px #ff7a4dcc}.game-art-wrap{position:relative;aspect-ratio:16 / 8;overflow:hidden}.game-art,.game-art-svg{width:100%;height:100%;display:block}.game-art{transition:transform .6s var(--ease-out)}.game-card:hover .game-art{transform:scale(1.04)}.game-art-wrap:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 55%,var(--card-2) 100%);pointer-events:none}.art-chip{position:absolute;top:12px;left:12px;z-index:1;font-size:calc(12px * var(--fs, 1));font-weight:700;padding:4px 10px;border-radius:999px;background:#0f0c1cb3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid #ffffff1f}.art-searching{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:grid;place-items:center;align-content:center;gap:8px;background:#0f0c1cb3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);font-family:var(--font-display);font-size:calc(18px * var(--fs, 1))}.clock-mini{font-variant-numeric:tabular-nums;color:var(--accent-2);font-weight:700}.game-body{padding:4px 20px 20px;display:flex;flex-direction:column;gap:14px;flex:1}.game-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.game-title-row h2{font-size:calc(30px * var(--fs, 1));font-weight:800}.tagline{margin:-8px 0 0}.rating-row{display:flex;align-items:center;gap:16px}.elo-big{display:flex;align-items:baseline;gap:4px}.elo-big b{font-family:var(--font-display);font-size:calc(40px * var(--fs, 1));font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.elo-big span{color:var(--muted);font-weight:700}.tier-progress{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.bar{height:8px;border-radius:999px;background:#0f0c1c;border:1px solid var(--line);overflow:hidden}.bar>span{display:block;height:100%;width:calc(var(--p) * 100%);min-width:6px;border-radius:inherit;background:var(--grad);transition:width .8s var(--ease-out)}.bar>.tier-bronce{background:linear-gradient(90deg,#8a4b25,#e59a62)}.bar>.tier-plata{background:linear-gradient(90deg,#8b93a7,#eef1f7)}.bar>.tier-oro{background:linear-gradient(90deg,#d48a12,#ffe27a)}.bar>.tier-platino{background:linear-gradient(90deg,#2a9d8f,#9ff3e4)}.bar>.tier-diamante{background:linear-gradient(90deg,#5b6cff,#c8b8ff)}.record{display:grid;grid-template-columns:repeat(4,1fr);margin:0;border-radius:14px;background:#0f0c1c80;border:1px solid var(--line)}.record>div{padding:8px 6px;text-align:center}.record>div+div{border-left:1px solid var(--line)}.record dt{font-size:calc(11px * var(--fs, 1));color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.record dd{margin:0;font-family:var(--font-display);font-size:calc(20px * var(--fs, 1));font-weight:700;font-variant-numeric:tabular-nums}.game-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));gap:10px;margin-top:auto}.game-actions .btn{min-width:0;white-space:normal;line-height:1.15}.searching-btn{border-color:var(--accent);color:var(--accent-2)}.radar{position:relative;width:64px;height:64px;border-radius:50%;border:2px solid #ff7a4d66;background:radial-gradient(circle,var(--accent) 0 4px,transparent 5px),radial-gradient(circle,transparent 0 18px,#ff7a4d33 19px 20px,transparent 21px)}.radar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 70%,#ff7a4d99 100%);animation:spin 1.6s linear infinite}.radar span,.radar:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;border:2px solid var(--accent);animation:ripple 1.8s var(--ease-out) infinite}.radar span{animation-delay:.9s}.radar.sm{width:34px;height:34px;flex-shrink:0;background:radial-gradient(circle,var(--accent) 0 3px,transparent 4px)}@keyframes ripple{0%{transform:scale(1);opacity:.8}to{transform:scale(1.9);opacity:0}}.queue-banner{position:sticky;top:10px;z-index:10;display:flex;align-items:center;gap:14px;padding:12px 14px 12px 18px;border-radius:var(--radius);background:linear-gradient(90deg,#3a1f2acc,#2a1f3acc);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid #ff7a4d66;box-shadow:0 16px 40px -16px #ff7a4d66;animation:slide-down .4s var(--ease-out)}.queue-text{flex:1;display:flex;flex-direction:column;line-height:1.3;min-width:0;font-variant-numeric:tabular-nums}@keyframes slide-down{0%{opacity:0;transform:translateY(-10px)}}.lobby-bottom{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:20px;align-items:start}@media(max-width:860px){.lobby-bottom{grid-template-columns:1fr}}.join-card{display:flex;flex-direction:column;gap:8px;background:radial-gradient(400px 200px at 100% 0%,#8b7bff22,transparent 70%),linear-gradient(180deg,var(--card-2) 0%,var(--card) 100%)}.join-card p{margin:0}.join-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-size:calc(22px * var(--fs, 1));background:var(--grad-violet);box-shadow:0 8px 20px -8px #8b7bffaa;margin-bottom:4px}.join-card h3{font-size:calc(20px * var(--fs, 1))}.join-form{display:flex;flex-direction:column;gap:12px;margin:8px 0 4px}.code-boxes{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;cursor:text}.code-boxes input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;min-height:0;cursor:text;font-size:calc(16px * var(--fs, 1))}.code-boxes .box{aspect-ratio:1 / 1.15;max-height:64px;display:grid;place-items:center;border-radius:12px;background:#0f0c1ccc;border:1.5px solid var(--line-strong);font-family:var(--font-display);font-size:calc(26px * var(--fs, 1));font-weight:800;transition:border-color .2s,transform .2s var(--ease-spring),background .2s}.code-boxes .box.filled{border-color:#8b7bffaa;background:#8b7bff1a;animation:pop .25s var(--ease-spring)}.code-boxes:focus-within .box.cursor{border-color:var(--accent-2);box-shadow:0 0 0 3px #ffbe4d33}.code-boxes:focus-within .box.cursor:after{content:"";width:2px;height:40%;background:var(--accent-2);animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}@keyframes pop{0%{transform:scale(.85)}}.join-card .hint{display:flex;gap:6px}.leaderboard{display:flex;flex-direction:column;gap:16px;min-width:0}.lb-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.lb-head h3{font-size:calc(20px * var(--fs, 1))}.podium{list-style:none;margin:0;padding:28px 0 0;display:grid;grid-template-columns:repeat(3,1fr);align-items:end;gap:8px}.podium li{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;animation:rise .6s var(--ease-out) both}.podium li.place-1{grid-column:2;animation-delay:.1s}.podium li.place-2{grid-column:1;grid-row:1}.podium li.place-3{grid-column:3;grid-row:1}.podium li.place-3{animation-delay:.2s}@keyframes rise{0%{opacity:0;transform:translateY(16px)}}.podium-avatar{position:relative;margin-bottom:4px}.place-1 .podium-avatar .avatar{box-shadow:0 0 0 3px var(--bg),0 0 0 5px #ffd75e,0 10px 30px -6px #ffd75e88}.place-1 .podium-avatar:before{content:"👑";position:absolute;top:-22px;left:50%;transform:translate(-50%) rotate(-8deg);font-size:calc(22px * var(--fs, 1));z-index:1}.medal{position:absolute;bottom:-6px;right:-6px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:calc(12px * var(--fs, 1));font-weight:800;color:#2a1206;border:2px solid var(--card)}.medal.oro{background:linear-gradient(135deg,#ffe27a,#d48a12)}.medal.plata{background:linear-gradient(135deg,#f4f6fb,#8b93a7)}.medal.bronce{background:linear-gradient(135deg,#f0b27f,#8a4b25)}.podium-name{font-size:calc(14px * var(--fs, 1));max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.podium-elo{display:inline-flex;align-items:center;gap:4px;font-size:calc(13px * var(--fs, 1));font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}.podium-step{width:100%;margin-top:6px;border-radius:12px 12px 4px 4px;background:linear-gradient(180deg,#ffffff14,#ffffff05);border:1px solid var(--line);border-bottom:0}.place-1 .podium-step{height:64px;background:linear-gradient(180deg,#ffd75e33,#ffd75e08);border-color:#7a5a14}.place-2 .podium-step{height:44px}.place-3 .podium-step{height:30px}.podium li.is-me .podium-name{color:var(--accent-2)}.leaderboard table{width:100%;border-collapse:collapse}.leaderboard th,.leaderboard td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line)}.leaderboard tbody tr{transition:background .15s}.leaderboard tbody tr:hover{background:#ffffff06}.leaderboard tr.is-me{background:#ffbe4d10}.leaderboard tr.is-me .lb-name{color:var(--accent-2);font-weight:700}.leaderboard th{color:var(--muted);font-weight:700;font-size:calc(12px * var(--fs, 1));text-transform:uppercase;letter-spacing:.04em}.lb-player{display:inline-flex;align-items:center;gap:8px;min-width:0}.lb-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.lb-elo{display:inline-flex;align-items:center;gap:5px}.num{text-align:right!important;font-variant-numeric:tabular-nums}.lb-skeleton{display:grid;gap:8px}.lb-skeleton span{height:36px;border-radius:10px;background:linear-gradient(90deg,#ffffff08,#ffffff14,#ffffff08);background-size:200% 100%;animation:shimmer 1.2s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}.empty-state{display:flex;align-items:center;gap:14px;padding:18px;border-radius:16px;border:1px dashed var(--line-strong)}.empty-state>span{font-size:calc(34px * var(--fs, 1))}.empty-state p{margin:0;color:var(--muted)}.empty-state b{color:var(--text)}@media(max-width:480px){.hide-sm{display:none}.lb-name{max-width:96px}.hero-stats{width:100%}.stat{flex:1;min-width:0;padding:8px}.game-actions{grid-template-columns:1fr}.game-body{padding:4px 16px 16px}.card{padding:16px}.game-card{padding:0}.elo-big b{font-size:calc(34px * var(--fs, 1))}.record dd{font-size:calc(18px * var(--fs, 1))}.record dt{font-size:calc(10px * var(--fs, 1))}}.waiting{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:20px;align-items:start}@media(max-width:860px){.waiting{grid-template-columns:1fr}}.waiting-hero{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 20px;background:radial-gradient(420px 220px at 50% 0%,#ff7a4d26,transparent 70%),linear-gradient(180deg,#2a2350cc,#1b1631cc)}.waiting-hero h2{font-size:calc(30px * var(--fs, 1))}.waiting-hero p{margin:0}.code-tiles{display:flex;gap:8px;margin:14px 0 8px;padding:6px;background:none;border:0;cursor:copy;border-radius:18px}.code-tiles span{--i: 0;width:clamp(44px,12vw,62px);aspect-ratio:1 / 1.2;display:grid;place-items:center;border-radius:14px;background:linear-gradient(180deg,#fffaf0,#efe2c8);color:#2a1a10;font-family:var(--font-display);font-weight:800;font-size:clamp(26px,7vw,38px);box-shadow:inset 0 -5px #0000001f,0 10px 20px -8px #000c;animation:tile-in .5s var(--ease-spring) both;animation-delay:calc(var(--i) * 70ms);transition:transform .2s var(--ease-spring)}.code-tiles:hover span{transform:translateY(-3px) rotate(calc((var(--i) - 2) * 2deg))}@keyframes tile-in{0%{opacity:0;transform:translateY(14px) scale(.8)}}.waiting-hero .row{justify-content:center}.waiting-seats{display:flex;flex-direction:column;gap:16px}.seats-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.seats-head h3{font-size:calc(20px * var(--fs, 1))}.seats{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:10px}.seat{--c: var(--violet);position:relative;display:flex;align-items:center;gap:12px;padding:14px;border-radius:18px;background:radial-gradient(160px 100px at 0% 50%,color-mix(in srgb,var(--c) 18%,transparent),transparent 70%),#0f0c1c80;border:1px solid var(--line);animation:rise .4s var(--ease-out) both;overflow:hidden}.seat.is-me{border-color:#ffbe4d66}.seat-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.seat-name{display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crown{font-size:calc(14px * var(--fs, 1))}.seat-color{position:absolute;top:8px;right:10px;font-size:calc(10px * var(--fs, 1));font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.seat.empty{background:none;border:1.5px dashed var(--line-strong);color:var(--muted)}.seat-ghost{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-size:calc(22px * var(--fs, 1));font-weight:800;color:var(--faint);border:2px dashed var(--line-strong);animation:breathe 2.4s ease-in-out infinite;flex-shrink:0}@keyframes breathe{50%{border-color:#8b7bff;color:#c8b8ff}}.waiting-dots:after{content:"…";display:inline-block;width:1.2em;text-align:left;animation:dots 1.4s steps(4) infinite;overflow:hidden;vertical-align:bottom;clip-path:inset(0 100% 0 0)}@keyframes dots{to{clip-path:inset(0 -10% 0 0)}}.waiting-actions{display:flex;flex-direction:column;gap:8px}.waiting-actions p{margin:0;text-align:center;padding:12px}.start-btn:not(:disabled){animation:glow 2s ease-in-out infinite}@keyframes glow{50%{box-shadow:0 1px #ffffff14 inset,0 3px 0 var(--btn-edge),0 0 30px #ff7a4d77}}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) var(--side-w);gap:20px;align-items:start}@media(max-width:900px){.game-layout{grid-template-columns:minmax(0,1fr)}}.board-wrap{position:relative;display:flex;justify-content:center;container-type:inline-size}.side{display:flex;flex-direction:column;gap:12px;min-width:0}.turn-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:14px;font-weight:800;background:#ffffff0a;border:1px solid var(--line)}.turn-banner.mine{background:var(--grad);color:var(--accent-ink);border-color:transparent;box-shadow:0 10px 30px -12px #ff7a4dcc}.turn-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px #0f0c1c,0 0 0 3px #fff5}.turn-banner .turn-dot{animation:beat 1.2s ease-in-out infinite}@keyframes beat{50%{transform:scale(1.3)}}.players{padding:8px;display:flex;flex-direction:column;gap:4px}.player{--c: var(--violet);position:relative;display:flex;align-items:center;gap:12px;padding:10px;border-radius:14px;border:1px solid transparent;transition:background .3s,border-color .3s}.player.turn{border-color:color-mix(in srgb,var(--c) 70%,#fff 0%);background:linear-gradient(90deg,color-mix(in srgb,var(--c) 20%,transparent),transparent 80%)}.player.turn:before{content:"";position:absolute;left:-9px;top:20%;bottom:20%;width:4px;border-radius:4px;background:var(--accent-2)}.player.gone{opacity:.45;filter:grayscale(.7)}.player-name{flex:1;min-width:0}.player-name b{overflow-wrap:anywhere}.you-tag{display:inline-block;margin-left:6px;padding:0 6px;border-radius:6px;font-size:calc(11px * var(--fs, 1));font-weight:800;background:#ffbe4d22;color:var(--accent-2);vertical-align:2px}.swatch{display:inline-block;width:9px;height:9px;border-radius:50%;border:1px solid #ffffff55;vertical-align:0}.clock{font-family:var(--font-display);font-weight:700;font-size:calc(22px * var(--fs, 1));font-variant-numeric:tabular-nums;padding:4px 10px;border-radius:10px;background:#0f0c1c;border:1px solid var(--line);color:var(--muted);min-width:76px;text-align:center;transition:background .3s,color .3s}.clock.running{color:#1a1206;background:#fffaf0;border-color:#fffaf0}.clock.running.low{color:#fff;background:var(--bad);border-color:var(--bad);animation:urgent 1s ease-in-out infinite}@keyframes urgent{50%{box-shadow:0 0 0 4px #ff6b7a44}}.notice{border-color:#ffbe4d55;background:linear-gradient(180deg,#3a2e22,#241c18);animation:slide-down .35s var(--ease-out)}.notice p{margin:0 0 10px}.moves p,.log p{margin:0 0 6px}.moves h4,.log h4{font-size:calc(15px * var(--fs, 1));margin-bottom:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-family:var(--font);font-weight:800}.moves,.log{padding:14px 14px 10px}.moves ol,.log ul{list-style:none;margin:0;padding:0;max-height:260px;overflow-y:auto;font-size:calc(14px * var(--fs, 1));scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.moves li{display:grid;grid-template-columns:40px 1fr 1fr;align-items:center;padding:3px 6px;border-radius:8px;font-variant-numeric:tabular-nums}.moves li:nth-child(odd){background:#ffffff06}.move-no{color:var(--faint);font-weight:700}.san{font-weight:700;padding:1px 6px;border-radius:6px;width:fit-content}.san.latest{background:#ffbe4d2a;color:var(--accent-2)}.log li{padding:6px 8px 6px 14px;position:relative;border-radius:8px}.log li:before{content:"";position:absolute;left:3px;top:14px;width:5px;height:5px;border-radius:50%;background:var(--line-strong)}.log li:first-child{background:#ffffff0a;font-weight:700;animation:slide-down .3s var(--ease-out)}.log li:first-child:before{background:var(--accent-2)}.side-actions .btn{flex:1}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 40%,#1b1631cc,#07050ee6);display:grid;place-items:center;padding:16px;z-index:20;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fade-in .3s ease;overflow-y:auto}@keyframes fade-in{0%{opacity:0}}.result{position:relative;z-index:22;width:min(440px,100%);text-align:center;display:flex;flex-direction:column;gap:12px;padding:28px 24px 24px;box-shadow:var(--shadow-2);animation:modal-in .55s var(--ease-spring)}.result.win{border-color:#ffd75e88;background:radial-gradient(360px 200px at 50% 0%,#ffbe4d33,transparent 70%),linear-gradient(180deg,var(--card-2),var(--card))}.result.loss{background:radial-gradient(360px 200px at 50% 0%,#8b7bff22,transparent 70%),linear-gradient(180deg,var(--card-2),var(--card))}@keyframes modal-in{0%{opacity:0;transform:translateY(30px) scale(.9)}}.result-icon{font-size:calc(64px * var(--fs, 1));line-height:1;margin:-64px auto 0;width:104px;height:104px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(180deg,var(--card-2),var(--card));border:1px solid var(--line-strong);box-shadow:0 16px 40px -10px #000c;animation:trophy .8s var(--ease-spring) .15s both}.result.win .result-icon{border-color:#ffd75e;box-shadow:0 0 0 6px #ffd75e22,0 16px 50px -6px #ffbe4d88}@keyframes trophy{0%{transform:scale(.3) rotate(-30deg);opacity:0}}.overlay{padding-top:70px}.result h2{font-size:calc(38px * var(--fs, 1));font-weight:800}.result.win h2{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.result>p{margin:-6px 0 0}.elo-delta{display:flex;flex-direction:column;align-items:center;padding:12px;border-radius:16px;background:#0f0c1c80;border:1px solid var(--line)}.elo-delta-num{font-family:var(--font-display);font-size:calc(48px * var(--fs, 1));font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.elo-delta.up{border-color:#3ccf8e55;box-shadow:0 0 40px -16px #3ccf8e}.elo-delta.down{border-color:#ff6b7a44}.elo-delta-label{font-size:calc(12px * var(--fs, 1));font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.ranking{list-style:none;padding:0;margin:0;text-align:left;display:grid;gap:6px}.ranking li{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:12px;background:#0f0c1c80;border:1px solid var(--line);animation:rise .4s var(--ease-out) both}.ranking li:nth-child(2){animation-delay:.08s}.ranking li:nth-child(3){animation-delay:.16s}.ranking li:nth-child(4){animation-delay:.24s}.ranking li.rank-1{border-color:#7a5a14;background:#ffd75e14}.ranking .pos{font-size:calc(20px * var(--fs, 1));font-weight:800;min-width:28px;text-align:center;color:var(--accent-2)}.rank-names{display:flex;flex-wrap:wrap;gap:4px 12px;min-width:0}.rank-name{display:inline-flex;align-items:center;gap:8px;font-weight:700;overflow-wrap:anywhere}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:21}.confetti span{position:absolute;top:-20px;opacity:0;animation-name:confetti-fall;animation-timing-function:cubic-bezier(.3,.6,.6,1);animation-fill-mode:forwards}@keyframes confetti-fall{0%{opacity:1;transform:translateZ(0) rotate(0)}85%{opacity:1}to{opacity:0;transform:translate3d(var(--drift),105vh,0) rotate(var(--spin))}}.chess{width:min(100%,calc(var(--stage-h) - 40px));min-width:min(100%,360px);position:relative}.chess-frame{padding:clamp(6px,1.6vw,12px);border-radius:18px;background:linear-gradient(145deg,#7a4d2c,#4a2c18,#6b4126);box-shadow:inset 0 1px #fff3,inset 0 -2px #0006,0 30px 80px -20px #000d,0 0 0 1px #0006}.chess-board{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);aspect-ratio:1;border-radius:8px;overflow:hidden;box-shadow:0 0 0 2px #2a170b}.sq{border:0;padding:0;position:relative;display:grid;place-items:center;cursor:default;min-width:0}.sq:focus-visible{box-shadow:inset 0 0 0 3px var(--accent-2);z-index:2}.sq.light{background:#f0dfc2}.sq.dark{background:#b07f56}.sq.movable{cursor:pointer}.sq.movable:hover .piece{transform:translateY(-2px) scale(1.06)}.sq.last:before,.sq.selected:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#f7d84a70}.sq.selected:before{background:#ffbe4dab;box-shadow:inset 0 0 0 3px #ff9a3d}.sq.target{cursor:pointer}.sq.target:after{content:"";width:30%;height:30%;border-radius:50%;background:#2a170b40;position:absolute;transition:transform .15s var(--ease-spring)}.sq.target:hover:after{transform:scale(1.25);background:#2a170b5c}.sq.capture{cursor:pointer}.sq.capture:after{content:"";position:absolute;top:4%;right:4%;bottom:4%;left:4%;border-radius:50%;border:5px solid #2a170b40}.sq.capture:hover:after{border-color:#c0392b88}.sq.check{background:radial-gradient(circle,#ff3b3b 0%,#ff3b3b99 35%,transparent 72%),#b07f56}.piece{position:relative;z-index:1;font-size:clamp(26px,8.4vw,62px);line-height:1;-webkit-user-select:none;user-select:none;font-family:var(--glyph);transition:transform .15s var(--ease-out)}.piece.w{color:#fffdf8;-webkit-text-stroke:1.5px #2b1d12;text-shadow:0 3px 3px #0006}.piece.b{color:#1d1a1f;-webkit-text-stroke:1px #00000088;text-shadow:0 3px 3px #0005,0 0 1px #fff3}.coord{position:absolute;font-size:clamp(8px,1.6vw,11px);font-weight:800;pointer-events:none}.sq.light .coord{color:#a07450}.sq.dark .coord{color:#f3e3c6}.coord.rank{top:2px;left:4px}.coord.file{bottom:1px;right:4px}.promo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;gap:8px;align-items:center;z-index:5;padding:12px;animation:pop .25s var(--ease-spring);max-width:calc(100% - 16px);flex-wrap:wrap;justify-content:center}.promo-label{font-weight:800;width:100%;text-align:center;font-size:calc(13px * var(--fs, 1));text-transform:uppercase;letter-spacing:.08em;color:var(--accent-2)}.promo-btn{width:58px;height:58px;padding:0;background:#f0dfc2;--btn-edge: #8a5a35}.promo-btn:hover:not(:disabled){background:#fff3dc}.promo .piece{font-size:calc(40px * var(--fs, 1))}.promo-cancel{min-width:40px}.turn-hint{display:flex;justify-content:center;align-items:center;gap:8px;color:var(--muted);margin:12px 0 0;font-weight:700;min-height:26px}.turn-hint.mine{color:var(--accent-2)}.check-tag{padding:2px 10px;border-radius:999px;background:var(--bad);color:#fff;font-weight:800;animation:pop .3s var(--ease-spring)}.parchis{width:min(100%,calc(var(--stage-h) - 100px));min-width:min(100%,360px)}.parchis-board{display:grid;grid-template-columns:repeat(19,1fr);grid-template-rows:repeat(19,1fr);aspect-ratio:1;gap:2px;padding:clamp(6px,1.4vw,10px);background:radial-gradient(circle at 50% 50%,#fbf3e2,#efe2c6);border-radius:20px;box-shadow:inset 0 0 0 clamp(4px,1vw,7px) #6b4126,inset 0 0 0 calc(clamp(4px,1vw,7px) + 2px) #0003,0 30px 80px -20px #000d}.parchis-board .cell{background:#fffaf0;border-radius:3px;position:relative;display:flex;align-items:center;justify-content:center;gap:1px;box-shadow:inset 0 0 0 1px #3a24141f;min-width:0}.parchis-board .cell .num{position:absolute;font-size:calc(7px * var(--fs, 1));font-weight:700;color:#3a241466;top:1px;left:2px;pointer-events:none}.parchis-board .cell.safe{background:#f3ead3}.parchis-board .cell.safe:before{content:"★";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:clamp(8px,1.8vw,14px);color:#3a241433}.parchis-board .cell.start{background:color-mix(in srgb,var(--c) 55%,#fff)}.parchis-board .cell.start:before{color:#fffc}.parchis-board .cell.lane{background:color-mix(in srgb,var(--c) 38%,#fff)}.parchis-board .cell.hint{box-shadow:inset 0 0 0 3px var(--accent),0 0 12px #ff7a4d99;z-index:1;animation:hint .9s ease-in-out infinite}@keyframes hint{50%{box-shadow:inset 0 0 0 3px var(--accent-2),0 0 18px #ffbe4dcc}}.home{background:radial-gradient(circle at 30% 25%,#ffffff40,transparent 60%),var(--c);border-radius:14px;margin:4px;display:grid;place-items:center;box-shadow:inset 0 0 0 5px #ffffff40,inset 0 -6px 12px #0003;transition:box-shadow .3s,transform .3s var(--ease-out)}.home.unused{filter:saturate(.15) brightness(.92);opacity:.55}.home.turn{box-shadow:inset 0 0 0 5px #fff,0 0 0 3px var(--c),0 0 30px var(--c);animation:home-glow 1.6s ease-in-out infinite}@keyframes home-glow{50%{box-shadow:inset 0 0 0 5px #fff,0 0 0 3px var(--c),0 0 46px var(--c)}}.home-slots{width:62%;aspect-ratio:1;border-radius:50%;background:#fff6;box-shadow:inset 0 3px 8px #0003;display:grid;grid-template-columns:1fr 1fr;place-items:center;padding:12%}.home-slots .token{width:72%}.goal{position:relative;border-radius:8px;background:conic-gradient(from -45deg,#e04848 0,#e04848 25%,#2f7fe0 0,#2f7fe0 50%,#f2c230 0,#f2c230 75%,#2aa65a 0,#2aa65a);box-shadow:inset 0 0 0 2px #0002,inset 0 0 18px #0003}.goal:after{content:"";position:absolute;top:34%;right:34%;bottom:34%;left:34%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#f2e6cc);box-shadow:0 2px 6px #0004}.goal-stack{position:absolute;display:flex;gap:2px;width:auto;z-index:1}.goal-stack .token{width:14px}.token{--c: #999;width:80%;max-width:28px;aspect-ratio:1;border-radius:50%;border:2px solid #0008;background:radial-gradient(circle at 35% 30%,#fffb 0 12%,transparent 14%),radial-gradient(circle at 50% 50%,transparent 0 46%,#0000002a 48% 54%,transparent 56%),var(--c);padding:0;flex-shrink:1;min-width:0;box-shadow:0 2px #0005,0 4px 6px #0005;z-index:1;transition:transform .2s var(--ease-spring)}.cell .token+.token{margin-left:-18%}.token:disabled{cursor:default}.token.can-move{cursor:pointer;border-color:#fff;animation:bob .9s ease-in-out infinite;z-index:2}.token.can-move:hover{animation-play-state:paused;transform:translateY(-4px) scale(1.15)}.token:focus-visible{box-shadow:0 0 0 3px var(--accent-2),0 4px 6px #0005}@keyframes bob{50%{transform:translateY(-3px);box-shadow:0 0 0 3px var(--accent),0 6px 8px #0006}}.dice-bar{--c: var(--accent);margin-top:14px;display:flex;align-items:center;gap:14px;background:linear-gradient(180deg,var(--card-2),var(--card));border:1px solid var(--line);border-radius:var(--radius-lg);padding:12px 14px;box-shadow:var(--shadow-1);transition:border-color .3s,box-shadow .3s}.dice-bar.mine{border-color:color-mix(in srgb,var(--c) 70%,transparent);box-shadow:var(--shadow-1),0 0 40px -14px var(--c)}.dice-text{flex:1;display:flex;flex-direction:column;min-width:0}.dice-title{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:calc(18px * var(--fs, 1));flex-wrap:wrap}.die{width:56px;height:56px;flex-shrink:0;border-radius:14px;background:linear-gradient(160deg,#fffdf6,#efe4cc);box-shadow:inset 0 -5px #0002,0 0 0 3px var(--c),0 10px 20px -6px #000a;display:grid;grid-template-columns:repeat(3,1fr);padding:9px;gap:2px}.die.rolled{animation:roll .55s var(--ease-spring)}@keyframes roll{0%{transform:rotate(-200deg) scale(.5)}70%{transform:rotate(10deg) scale(1.08)}}.die span{border-radius:50%}.die .pip{background:radial-gradient(circle at 40% 35%,#4a4450,#111)}.roll-btn{animation:glow 1.6s ease-in-out infinite}@media(max-width:420px){.dice-bar{flex-wrap:wrap}.roll-btn{width:100%}}.toast,.offline{position:fixed;left:50%;transform:translate(-50%);padding:12px 18px;border-radius:14px;z-index:30;font-weight:700;max-width:calc(100% - 32px);display:flex;align-items:center;gap:10px;box-shadow:0 20px 40px -12px #000c}.toast{bottom:max(24px,env(safe-area-inset-bottom));background:#fffaf0;color:#1a1206;animation:toast-in .4s var(--ease-spring)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,20px) scale(.95)}}.offline{top:12px;background:linear-gradient(90deg,#d9364a,#ff6b7a);color:#fff;animation:slide-down-c .3s var(--ease-out)}@keyframes slide-down-c{0%{opacity:0;transform:translate(-50%,-10px)}}.chess.is-3d,.parchis.is-3d{width:100%}.scene{position:relative;width:100%;aspect-ratio:1 / .92;max-height:calc(100vh - 150px);min-height:min(320px,calc((100vw - 32px)*.92));border-radius:var(--radius-lg);overflow:hidden;background:radial-gradient(circle at 50% 30%,#241d40,#120f22 70%);border:1px solid var(--line);box-shadow:var(--shadow-2);touch-action:none}.scene canvas{display:block}.scene.loading{display:grid;place-items:center;color:var(--muted);font-weight:700}.scene.loading:before{content:"";width:40px;height:40px;border-radius:50%;border:3px solid var(--line-strong);border-top-color:var(--accent);border-right-color:var(--accent-2);animation:spin .8s linear infinite;margin-bottom:80px;grid-area:1 / 1}@keyframes spin{to{transform:rotate(360deg)}}.scene-tools{position:absolute;top:10px;right:10px;display:flex;gap:6px}.scene-tools .btn{background:#0f0c1ccc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:6px 12px;font-size:calc(13px * var(--fs, 1));min-height:32px;box-shadow:none}.scene-tools .btn.on{border-color:var(--accent);color:var(--accent-2)}.chess.is-3d .promo{top:45%}.your-turn{position:absolute;top:18%;left:50%;transform:translate(-50%);z-index:6;pointer-events:none;font-family:var(--font-display);font-weight:800;font-size:clamp(28px,5vw,52px);color:var(--accent-ink);padding:10px 30px;border-radius:999px;background:var(--grad);box-shadow:0 0 0 4px #fff3,0 16px 50px #ff7a4d88;white-space:nowrap;animation:turn-pop 1.4s ease forwards}@keyframes turn-pop{0%{opacity:0;transform:translate(-50%,12px) scale(.7) rotate(-4deg)}15%{opacity:1;transform:translate(-50%) scale(1.08) rotate(2deg)}25%{transform:translate(-50%) scale(1) rotate(0)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-10px) scale(1)}}.view-toggles{display:flex;align-items:center;gap:6px}.view-toggles .tabs button{padding:4px 10px;font-size:calc(13px * var(--fs, 1))}@media(max-width:520px){.wordmark{font-size:calc(22px * var(--fs, 1))}.logo.small .wordmark-sub{display:none}.room .topbar{flex-direction:column;align-items:flex-start}.me-name{max-width:90px}}:root.reduce-motion *,:root.reduce-motion *:before,:root.reduce-motion *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}:root.reduce-motion .confetti,:root.reduce-motion .hero-toys{display:none}.result>p.result-cheer{margin:0;font-weight:700;color:#c8b8ff}.token-key{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fffaf0;color:#1d1a1f;font:800 12px/1 var(--font-display, system-ui);box-shadow:0 2px 8px #0007,0 0 0 2px var(--accent, #ff6b4a);-webkit-user-select:none;user-select:none}.google-btn{display:flex;justify-content:center;min-height:44px;color-scheme:light}.or-divider{display:flex;align-items:center;gap:12px;color:var(--faint);font-size:calc(13px * var(--fs, 1))}.or-divider:before,.or-divider:after{content:"";flex:1;height:1px;background:var(--line)}.field-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.link.small{font-size:calc(13px * var(--fs, 1))}.info{margin:0;padding:10px 12px;border-radius:var(--radius-sm);background:#3ccf8e1a;border:1px solid #3ccf8e40;color:#b9f3d6;font-size:calc(14px * var(--fs, 1))}.verify-page{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.verify-card{width:min(440px,100%);display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:32px 24px}.verify-card h2{font-size:calc(26px * var(--fs, 1))}.verify-card p{margin:0}.verify-form{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:14px;text-align:left}.verify-card.verify-form{width:min(440px,100%)}.verify-form h2,.verify-form>p,.verify-form>.link,.verify-form .verify-icon{text-align:center;align-self:center}.verify-icon{width:72px;height:72px;display:grid;place-items:center;font-size:calc(34px * var(--fs, 1));border-radius:50%;background:var(--card-2);border:1px solid var(--line-strong);box-shadow:0 0 0 8px #ff7a4d14,0 0 40px #ff7a4d33;animation:verify-float 3s var(--ease-out) infinite}@keyframes verify-float{50%{transform:translateY(-4px)}}.verify-email{color:var(--text);word-break:break-all}.verify-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}:root.reduce-motion .verify-icon{animation:none}.add-bot{gap:8px}.bot-levels,.bot-count{display:flex;flex-wrap:nowrap}.bot-levels button,.bot-count button{flex:1;min-height:30px;padding:4px 8px;font-size:calc(13px * var(--fs, 1));white-space:nowrap}.play-bots{grid-column:1 / -1;display:grid;gap:10px;padding:12px;border-radius:var(--radius);border:1px solid var(--line-strong);background:#0f0c1c80}.play-bots-toggle{grid-column:1 / -1}.chat{padding:0;display:flex;flex-direction:column;overflow:hidden;min-height:0}.chat-head{display:flex;align-items:center;gap:8px;padding:12px 14px;background:none;border:0;text-align:left;cursor:pointer;border-bottom:1px solid transparent}.chat-head:disabled{cursor:default;opacity:1}.chat.open .chat-head{border-bottom-color:var(--line)}.chat-head h4{flex:1;font-size:calc(13px * var(--fs, 1));font-family:var(--font);font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.chat-head .chev{color:var(--faint);transition:transform .2s}.chat.closed .chev{transform:rotate(-90deg)}.badge{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:calc(11px * var(--fs, 1));font-weight:800;display:inline-grid;place-items:center;animation:pop .3s var(--ease-spring)}.chat-list{list-style:none;margin:0;padding:10px 12px 4px;display:flex;flex-direction:column;gap:2px;height:240px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;overscroll-behavior:contain}.chat-empty{margin:auto;text-align:center}.msg{display:flex;gap:8px;align-items:flex-end;max-width:88%;animation:rise .25s var(--ease-out) both}.msg:not(.grouped){margin-top:6px}.msg.grouped:not(.mine){padding-left:34px}.msg.mine{align-self:flex-end;flex-direction:row-reverse}.msg-body{min-width:0}.msg-meta{display:block;font-size:calc(11px * var(--fs, 1));color:var(--faint);margin:0 0 2px 4px}.msg-meta b{color:var(--muted)}.msg.mine .msg-meta{text-align:right;margin:0 4px 2px 0}.msg p{margin:0;padding:7px 11px;border-radius:14px 14px 14px 4px;background:#ffffff10;border:1px solid var(--line);overflow-wrap:anywhere;font-size:calc(14px * var(--fs, 1));line-height:1.35}.msg.mine p{border-radius:14px 14px 4px;background:linear-gradient(135deg,#ff7a4d33,#ffbe4d26);border-color:#ff7a4d55}.chat-quick{display:flex;gap:4px;padding:6px 12px 0;overflow-x:auto;scrollbar-width:none}.chat-quick button{border:1px solid var(--line);background:#ffffff08;border-radius:999px;padding:2px 10px;cursor:pointer;font-size:calc(14px * var(--fs, 1));font-weight:800;transition:transform .15s var(--ease-spring),background .2s}.chat-quick button:hover{background:#ffffff14;transform:translateY(-2px)}.chat-form{display:flex;gap:8px;padding:8px 12px 12px}.chat-form input{min-height:40px;padding:8px 12px}.waiting-left{display:flex;flex-direction:column;gap:20px;min-width:0}.waiting-left .chat-list{height:200px}.settings{display:flex;flex-direction:column;gap:16px;padding-top:16px;border-top:1px solid var(--line)}.setting{display:flex;flex-direction:column;gap:8px;min-width:0}.setting-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.setting-label{font-size:calc(13px * var(--fs, 1));font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text)}.setting-label .muted{text-transform:none;letter-spacing:0;font-weight:600}.row.tight{gap:2px}.chip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:6px}.opt{display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 6px;border-radius:12px;border:1px solid var(--line);background:#0f0c1c80;cursor:pointer;transition:border-color .2s,background .2s,transform .15s var(--ease-spring)}.opt b{font-family:var(--font-display);font-size:calc(17px * var(--fs, 1))}.opt span{font-size:calc(11px * var(--fs, 1));color:var(--muted);font-weight:700}.opt:hover:not(:disabled){border-color:var(--line-strong);transform:translateY(-1px)}.opt.active{border-color:var(--accent-2);background:linear-gradient(180deg,#ffbe4d22,#ff7a4d12);box-shadow:0 0 0 1px #ffbe4d55 inset}.opt:disabled,.seg button:disabled,.cat:disabled,.gen:disabled{opacity:.35;cursor:default}.seg{display:flex;flex-wrap:wrap;gap:4px;background:#0f0c1c99;border:1px solid var(--line);border-radius:12px;padding:4px}.seg button{flex:1 0 auto;border:0;background:none;padding:6px 10px;border-radius:9px;cursor:pointer;color:var(--muted);font-weight:700;font-size:calc(14px * var(--fs, 1));white-space:nowrap;transition:background .2s,color .2s}.seg button:hover:not(:disabled){color:var(--text)}.seg button.active{background:linear-gradient(180deg,#352c5e,#2a234c);color:var(--text);box-shadow:0 1px #ffffff1a inset,0 4px 12px -4px #0008}.settings-cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:14px 16px}.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:6px}.cat-grid.skeleton span{height:76px;border-radius:14px;background:linear-gradient(90deg,#ffffff08,#ffffff12,#ffffff08);background-size:200% 100%;animation:shimmer 1.4s linear infinite}.cat{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px 8px;border-radius:14px;border:1px solid var(--line);background:#0f0c1c80;cursor:pointer;text-align:center;transition:border-color .2s,background .2s,transform .15s var(--ease-spring)}.cat:hover:not(:disabled){transform:translateY(-2px);border-color:var(--line-strong)}.cat.active{border-color:#3ee0c2;background:linear-gradient(180deg,#3ee0c21f,#1b6f8a14);box-shadow:0 0 0 1px #3ee0c255 inset}.cat.active:after{content:"✓";position:absolute;top:5px;right:7px;font-size:calc(11px * var(--fs, 1));font-weight:900;color:#3ee0c2}.cat-name{font-weight:800;font-size:calc(13px * var(--fs, 1));line-height:1.15}.cat-count{font-size:calc(11px * var(--fs, 1));color:var(--muted);font-weight:700}.cat-count .ill{font-size:calc(10px * var(--fs, 1))}.gen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:6px}.gen{display:flex;flex-direction:column;align-items:center;padding:8px 4px 6px;border-radius:12px;border:1px solid var(--line);background:#0f0c1c80;cursor:pointer;transition:border-color .2s,background .2s,transform .15s var(--ease-spring)}.gen b{font-family:var(--font-display);font-size:calc(18px * var(--fs, 1));line-height:1}.gen-region{font-size:calc(12px * var(--fs, 1));font-weight:700}.gen-count{font-size:calc(10px * var(--fs, 1));color:var(--muted);font-weight:700}.gen:hover:not(:disabled){transform:translateY(-2px)}.gen.active{border-color:#ffd23f;background:linear-gradient(180deg,#ffd23f26,#e5484814);box-shadow:0 0 0 1px #ffd23f55 inset}.words-input{width:100%;resize:vertical;min-height:110px;background:#0f0c1ccc;border:1px solid var(--line-strong);border-radius:12px;padding:10px 12px;color:var(--text);font:inherit;font-size:calc(14px * var(--fs, 1))}.words-input:focus{outline:none;border-color:var(--accent-2);box-shadow:0 0 0 3px #ffbe4d33}.toggles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:8px}.toggle{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:#0f0c1c60;cursor:pointer}.toggle.readonly{cursor:default}.toggle input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}.toggle>span:last-child{display:flex;flex-direction:column;gap:2px}.switch{flex-shrink:0;width:38px;height:22px;border-radius:999px;background:var(--line-strong);position:relative;margin-top:1px;transition:background .2s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .25s var(--ease-spring);box-shadow:0 2px 4px #0006}.toggle input:checked+.switch{background:#3ccf8e}.toggle input:checked+.switch:after{transform:translate(16px)}.toggle input:focus-visible+.switch{box-shadow:var(--ring)}.emoji{display:inline-block;vertical-align:-.2em;flex-shrink:0;-webkit-user-select:none;user-select:none}.seat .kick{position:absolute;right:8px;bottom:8px;width:28px;height:28px;border-radius:50%;border:1px solid var(--line-strong);background:#0f0c1ccc;color:var(--muted);cursor:pointer;font-size:calc(12px * var(--fs, 1));opacity:0;transition:opacity .2s,color .2s,border-color .2s}.seat:hover .kick,.seat .kick:focus-visible{opacity:1}@media(hover:none){.seat .kick{opacity:.8}}.seat .kick:hover{color:#fff;border-color:var(--bad)}.result-actions{display:grid;gap:8px}.result-min{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:#0f0c1c80;color:var(--muted);cursor:pointer;font-size:calc(16px * var(--fs, 1))}.result-min:hover{color:var(--text);border-color:var(--line-strong)}.result-restore{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:25;box-shadow:0 3px 0 var(--btn-edge),0 20px 40px -10px #000c;animation:rise .3s var(--ease-out)}.result-restore:hover:not(:disabled){transform:translate(-50%) translateY(-1px)}.howto{position:relative;width:min(560px,100%);display:flex;flex-direction:column;gap:12px;padding:26px 24px 22px;animation:modal-in .45s var(--ease-spring)}.howto h2{font-size:calc(30px * var(--fs, 1))}.howto p{margin:0}.howto-steps{margin:0;padding:0;list-style:none;counter-reset:step;display:grid;gap:8px}.howto-steps li{counter-increment:step;position:relative;padding:10px 12px 10px 46px;border-radius:12px;background:#0f0c1c80;border:1px solid var(--line);font-size:calc(14px * var(--fs, 1))}.howto-steps li:before{content:counter(step);position:absolute;left:12px;top:10px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:calc(13px * var(--fs, 1));background:var(--grad);color:var(--accent-ink)}.howto-tips{margin:0;padding:0 0 0 4px;list-style:none;display:grid;gap:4px;font-size:calc(13px * var(--fs, 1));color:var(--muted)}.howto-tips li:before{content:"💡 "}.game-card.impostor:hover{box-shadow:var(--shadow-2),0 30px 80px -40px #3ee0c299}.game-title-row{flex-wrap:wrap;row-gap:4px}.game-title-row h2{margin-right:auto;white-space:nowrap}.how-btn{font-size:calc(12px * var(--fs, 1));min-height:30px;padding:4px 10px}.party-row{display:flex;flex-wrap:wrap;gap:6px}.party-pill{font-size:calc(12px * var(--fs, 1));font-weight:700;padding:5px 10px;border-radius:999px;background:#3ee0c214;border:1px solid #2a6e66;color:#bff7ec}.lb-tabs{max-width:100%;overflow-x:auto;scrollbar-width:none}.lb-tabs button{white-space:nowrap}.tabs button:disabled{opacity:.35;cursor:not-allowed}.btn.danger.armed{background:var(--bad);border-color:var(--bad);color:#fff;animation:urgent 1s ease-in-out infinite}.tabs.game-switch{flex-wrap:wrap;max-width:100%}.page.room{max-width:clamp(1160px,94vw,2400px)}@media(min-width:1600px)and (min-height:860px){:root{--side-w: 360px;--k: 1.25}}@media(min-width:2200px)and (min-height:1200px){:root{--side-w: 420px;--k: 1.6}}.immersive-only,.mobile-players,.sheet-backdrop,.sheet-close{display:none}@media(max-width:700px){.page.room.immersive{--stage-h: calc(100dvh - 64px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) ;height:100dvh;overflow:hidden;gap:6px;padding:max(6px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom))}.immersive .immersive-only{display:inline-flex}.immersive .topbar{flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;padding:0}.immersive .topbar .wordmark,.immersive .room-meta .chip{display:none}.immersive .room-meta{flex-wrap:nowrap;gap:6px}.immersive .menu-btn{position:relative;font-size:calc(18px * var(--fs, 1))}.immersive .menu-btn.unread:after{content:"";position:absolute;top:4px;right:4px;width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--bg)}.immersive :is(.game-layout,.billar-layout,.bloques-layout,.sp-layout,.dibuja-layout,.domino-layout,.flota-layout,.impostor-layout,.magnate-layout,.monstruos-layout,.ultima-layout,.zampa-layout){flex:1;min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:8px}.immersive :is(.board-wrap,.b-main,.bq-main,.sp-main,.d-main,.f-main,.imp-main,.mg-main,.mon-main,.u-main,.z-main){flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.immersive .dibuja-layout{overflow-y:auto}.immersive .side:not(.dib-side){position:fixed;left:0;right:0;bottom:0;z-index:40;max-height:78dvh;overflow-y:auto;padding:14px 12px max(16px,env(safe-area-inset-bottom));background:var(--bg-2);border-top:1px solid var(--line);border-radius:22px 22px 0 0;box-shadow:0 -20px 50px -10px #000c;transform:translateY(105%);visibility:hidden;transition:transform .3s var(--ease-out),visibility 0s .3s}.immersive.sheet-open .side:not(.dib-side){transform:none;visibility:visible;transition:transform .3s var(--ease-out)}.immersive .sheet-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:39;background:#0009;animation:fade-in .2s ease-out}.immersive .sheet-close{display:inline-flex;gap:8px;position:fixed;top:max(10px,env(safe-area-inset-top));left:50%;translate:-50% 0;z-index:41}.immersive .board-wrap{align-items:stretch}.immersive .chess{width:min(100%,calc(var(--stage-h) - 40px));margin:auto}.immersive .mobile-players{display:grid;grid-template-columns:repeat(var(--n, 4),minmax(0,1fr));gap:6px;list-style:none;margin:0;padding:0}.mp{position:relative;display:flex;align-items:center;gap:6px;min-width:0;padding:4px 6px;border-radius:999px;background:#ffffff0a;border:1px solid var(--line);transition:background .3s,border-color .3s,box-shadow .3s}.mp.turn{border-color:var(--c);background:color-mix(in srgb,var(--c) 22%,transparent);box-shadow:0 0 18px -6px var(--c)}.mp.gone{opacity:.4}.mp-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:calc(12px * var(--fs, 1));font-weight:700}.mp-clock{position:absolute;top:-8px;right:-2px;padding:0 5px;border-radius:999px;background:#fffaf0;color:#1a1206;font:800 10px/1.5 var(--font)}.mp-clock.low{background:var(--bad);color:#fff}.immersive:is(.game-chess,.game-conecta4) .mp{padding:6px 10px}.immersive:is(.game-chess,.game-conecta4) .mp-name{font-size:calc(14px * var(--fs, 1))}.immersive:is(.game-chess,.game-conecta4) .mp-clock{position:static;margin-left:auto;padding:2px 8px;font-size:calc(14px * var(--fs, 1));background:#ffffff1a;color:var(--text)}.immersive:is(.game-chess,.game-conecta4) .mp.turn .mp-clock{background:#fffaf0;color:#1a1206}.immersive .parchis{width:100%;min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:8px}.immersive .parchis-board{width:min(100%,calc(100dvh - 230px));margin:auto;padding:4px;gap:1px}.immersive .parchis.is-3d .scene{flex:1;aspect-ratio:auto;min-height:0;max-height:none;border-radius:18px}.immersive .dice-bar{margin-top:0;flex-wrap:nowrap;padding:10px 12px;gap:10px}.immersive .dice-title{font-size:calc(16px * var(--fs, 1))}.immersive .roll-btn{width:auto;padding:14px 18px;font-size:calc(16px * var(--fs, 1))}.immersive .your-turn{top:40%;font-size:calc(30px * var(--fs, 1));padding:8px 22px}}@media(max-width:600px){.me{gap:4px;min-width:0}.me .me-name,.me .me-profile,.me .me-logout,.me .friends-btn-label{display:none}.me .me-chip{padding:2px}.me .admin-link{padding-inline:8px}}.token[data-emoji]{position:relative}.token[data-emoji]:after{content:attr(data-emoji);position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:.62em;line-height:1;pointer-events:none}.token-emblem{font-size:16px;filter:drop-shadow(0 1px 2px #0008)}.c4-disc-emoji{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:clamp(10px,3.2vw,26px);line-height:1;pointer-events:none}
