@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&display=swap');

:root {
  color-scheme: dark;
  --font-display: "Archivo Black", Impact, sans-serif;
  --font-body: "DM Sans", Arial, sans-serif;
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4.5rem;
  --radius-sm: .5rem;
  --radius-md: .875rem;
  --radius-lg: 1.35rem;
  --shadow-raised: 0 12px 0 rgba(0, 0, 0, .2), 0 20px 38px rgba(0, 0, 0, .2);
  --duration-fast: 160ms;
  --duration-medium: 260ms;
  --ease-spring: cubic-bezier(.2, .85, .25, 1.15);
  --neutral-950: #10120f;
  --neutral-900: #171a16;
  --neutral-850: #1e211c;
  --neutral-800: #272b24;
  --neutral-300: #c7c9bd;
  --neutral-100: #f6f1e5;
  --color-success: #65bd7a;
  --color-warning: #f1c75b;
  --color-error: #ed7777;
  --focus-ring: #f6d653;
  --game-accent: #f6d653;
  --game-accent-ink: #171912;
  --game-secondary: #d94a42;
  --game-surface: var(--neutral-850);
  --game-texture: none;
}

[data-game="uno"] {
  --game-red: #d9473f;
  --game-yellow: #f6d653;
  --game-green: #26945d;
  --game-blue: #347dc1;
  --game-accent: var(--game-yellow);
  --game-accent-ink: #191a14;
  --game-secondary: var(--game-red);
  --game-title-font: var(--font-display);
  --game-texture: repeating-linear-gradient(115deg, rgba(255,255,255,.018) 0 1px, transparent 1px 5px);
}

[data-game="gartic"] {
  --game-accent: #ffd45c;
  --game-accent-ink: #172439;
  --game-secondary: #4f8ee8;
  --game-surface: #275fae;
  --game-title-font: var(--font-display);
  --game-texture: repeating-linear-gradient(115deg, rgba(255,255,255,.025) 0 1px, transparent 1px 5px);
}

[data-game="domino"] {
  --game-accent: #f0c75e;
  --game-accent-ink: #201a0d;
  --game-secondary: #4a9d78;
  --game-surface: #173b32;
  --game-title-font: var(--font-display);
  --game-texture: repeating-linear-gradient(115deg, rgba(255,255,255,.018) 0 1px, transparent 1px 5px);
}

*, *::before, *::after { box-sizing: border-box; }

html { background: var(--neutral-950); --scrollbar-track: #171a16; --scrollbar-thumb: #f6d653; --scrollbar-thumb-hover: #ffe36d; }
html:has([data-game="uno"]) { --scrollbar-thumb: #e14b43; --scrollbar-thumb-hover: #ff746c; }
html:has([data-game="gartic"]) { --scrollbar-thumb: #6aa7ff; --scrollbar-thumb-hover: #9ec4ff; }
html:has([data-game="checkers"]) { --scrollbar-thumb: #62b9aa; --scrollbar-thumb-hover: #8ed4c8; }
html:has([data-game="domino"]) { --scrollbar-thumb: #e2c56a; --scrollbar-thumb-hover: #f4de96; }
html:has([data-game="pool"]) { --scrollbar-thumb: #4b9d7d; --scrollbar-thumb-hover: #74c3a2; }
* { scrollbar-width: thin; scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track); }
*::-webkit-scrollbar { width: 11px; height: 11px; }
*::-webkit-scrollbar-track { background: var(--scrollbar-track); }
*::-webkit-scrollbar-thumb { background: var(--scrollbar-thumb); border: 3px solid var(--scrollbar-track); border-radius: 999px; }
*::-webkit-scrollbar-thumb:hover { background: var(--scrollbar-thumb-hover); }

body {
  margin: 0;
  min-width: 0;
  min-height: 100vh;
  overflow-x: hidden;
  font-family: var(--font-body);
  color: var(--neutral-100);
  background-color: var(--neutral-950);
}

button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }

:where(a, button, input, select):focus-visible {
  outline: 3px solid var(--focus-ring);
  outline-offset: 3px;
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.card-fan{position:relative;width:100%;height:100%}.fan-card{position:absolute;display:grid;place-items:center;width:146px;height:208px;border:8px solid #eee8dc;border-radius:19px;background:var(--game-red);box-shadow:7px 10px 0 rgba(34,18,15,.28);transform-origin:50% 125%;transition:transform var(--duration-medium) var(--ease-spring)}.fan-card:after{content:"";position:absolute;inset:22px;border:4px solid rgba(255,255,255,.86);border-radius:50%;transform:rotate(-28deg)}.fan-card b{position:relative;z-index:1;font:italic 3.8rem/1 var(--font-display)}.fan-red{background:var(--game-red);transform:rotate(-19deg)}.fan-blue{background:var(--game-blue);transform:rotate(-6deg)}.fan-yellow{background:var(--game-yellow);color:#181a15;transform:rotate(8deg)}.fan-wild{background:conic-gradient(var(--game-red) 0 25%,var(--game-yellow) 0 50%,var(--game-green) 0 75%,var(--game-blue) 0);transform:rotate(21deg)}

.player-identity{margin:22px 0 4px;overflow:hidden;border:1px solid color-mix(in srgb,var(--game-accent) 38%,transparent);border-radius:var(--radius-md);background:linear-gradient(135deg,color-mix(in srgb,var(--game-accent) 10%,transparent),rgba(255,255,255,.018));box-shadow:0 12px 28px rgba(0,0,0,.13)}
.player-identity__top{display:flex;align-items:center;gap:13px;padding:14px}.player-identity__avatar{flex:0 0 58px;width:58px;height:58px;border:2px solid var(--game-accent);border-radius:50%;background:var(--neutral-800);object-fit:cover;box-shadow:0 0 0 4px color-mix(in srgb,var(--game-accent) 12%,transparent)}
.avatar-stack{position:relative;display:grid;flex:0 0 auto;place-items:center}.avatar-stack--profile{width:68px;height:68px;margin:-5px}.avatar-stack--profile .player-identity__avatar{width:54px;height:54px}.avatar-stack--profile:has(.avatar-frame:not([hidden])){width:84px;height:64px;margin:-3px -8px}.avatar-stack--profile:has(.avatar-frame:not([hidden])) .player-identity__avatar{position:absolute;left:25.625%;top:15.625%;width:48.75%;height:auto;aspect-ratio:1;border:0;box-shadow:none}.avatar-frame{position:absolute;inset:0 auto auto 0;z-index:2;width:84px;height:84px;max-width:none;clip-path:inset(0 0 24% 0);object-fit:fill;pointer-events:none;-webkit-user-drag:none;-webkit-touch-callout:none;user-select:none}.game-avatar-stack{position:relative;display:grid;flex:0 0 36px;width:36px;height:36px;place-items:center}.game-avatar-stack:has(.game-avatar-frame){flex-basis:40px;width:40px;height:31px}.game-avatar-stack:has(.game-avatar-frame) .game-player-avatar,.player-avatar:has(.game-avatar-frame)>img:first-child,.checkers-player-avatar:has(.game-avatar-frame)>img:first-child{position:absolute;left:25.625%;top:15.625%;width:48.75%!important;height:auto!important;aspect-ratio:1;border:0!important;box-shadow:none}.game-avatar-frame{position:absolute!important;inset:0 auto auto 0!important;z-index:2!important;width:40px!important;height:40px!important;max-width:none!important;clip-path:inset(0 0 24% 0);border:0!important;border-radius:0!important;background:transparent!important;object-fit:fill!important;transform:none;pointer-events:none;-webkit-user-drag:none;-webkit-touch-callout:none;user-select:none}
.avatar-stack--profile:has(.avatar-frame:not([hidden])){width:76px;height:76px;margin:-9px -4px}.avatar-stack--profile:has(.avatar-frame:not([hidden])) .avatar-frame{inset:-3px auto auto -16px;width:108px;height:108px}.avatar-stack--profile:has(.avatar-frame:not([hidden])) .player-identity__avatar{left:11.675px;top:13.875px;width:52.65px}
.game-avatar-stack:has(.game-avatar-frame),.player-avatar:has(.game-avatar-frame),.checkers-player-avatar:has(.game-avatar-frame){width:48px;height:48px}.game-avatar-stack:has(.game-avatar-frame){flex-basis:48px}.game-avatar-stack:has(.game-avatar-frame) .game-player-avatar,.player-avatar:has(.game-avatar-frame)>img:first-child,.checkers-player-avatar:has(.game-avatar-frame)>img:first-child{left:6.45px;top:8.25px;width:35.1px!important}.game-avatar-frame{inset:-3px auto auto -12px!important;width:72px!important;height:72px!important}
.player-identity__avatar.protected-media{pointer-events:none;-webkit-user-drag:none;-webkit-touch-callout:none;user-select:none}
.player-identity__copy{display:grid;min-width:0;flex:1;gap:1px}.player-identity__copy small{color:var(--neutral-300);font-size:.7rem}.player-identity__copy strong{overflow:hidden;color:var(--neutral-100);font-size:1.08rem;text-overflow:ellipsis;white-space:nowrap}.player-identity__copy em{overflow:hidden;color:var(--game-accent);font-size:.7rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.player-identity__premium{align-self:flex-start;padding:4px 6px;border-radius:5px;background:var(--game-accent);color:var(--game-accent-ink);font-size:.58rem;font-weight:900;letter-spacing:.08em}
.player-identity__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid color-mix(in srgb,var(--game-accent) 20%,transparent)}.player-identity__stats>span{display:grid;min-width:0;gap:2px;padding:10px 5px;text-align:center}.player-identity__stats>span+span{border-left:1px solid color-mix(in srgb,var(--game-accent) 16%,transparent)}.player-identity__stats small{overflow:hidden;color:var(--neutral-300);font-size:.6rem;text-overflow:ellipsis}.player-identity__stats strong{overflow:hidden;color:var(--neutral-100);font-size:.82rem;text-overflow:ellipsis}
.profile-name-gradient{display:inline-block;background-image:var(--profile-name-gradient);background-clip:text;-webkit-background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent}.player-identity.is-premium-profile{border-color:var(--profile-color)}.player-identity.is-premium-profile .player-identity__avatar{border-color:var(--profile-color)}.player-identity.is-premium-profile:not(:has(.avatar-frame:not([hidden]))) .avatar-stack--profile{border-radius:50%;box-shadow:0 0 0 3px var(--profile-color)}
.player-chip .game-player-avatar,.gartic-player .player-avatar>img:first-child,.player-panel .checkers-player-avatar>img:first-child{border-color:var(--profile-color)}
.game-avatar-stack>.game-player-avatar:first-child,.player-avatar>img:first-child,.checkers-player-avatar>img:first-child{position:relative;z-index:1}.player-avatar>b,.checkers-player-avatar>i{z-index:4}
.game-avatar-stack:has(.game-avatar-frame)>.game-player-avatar:first-child,.player-avatar:has(.game-avatar-frame)>img:first-child,.checkers-player-avatar:has(.game-avatar-frame)>img:first-child{position:absolute;z-index:1}
.game-avatar-stack.is-premium-avatar,.player-avatar.is-premium-avatar,.checkers-player-avatar.is-premium-avatar{display:grid;place-items:center;border-radius:50%;background:var(--profile-avatar-ring,var(--profile-color));box-shadow:0 0 0 1px rgba(255,255,255,.2),0 0 15px color-mix(in srgb,var(--profile-color) 30%,transparent)}.game-avatar-stack.is-premium-avatar>.game-player-avatar:first-child,.player-avatar.is-premium-avatar>img:first-child,.checkers-player-avatar.is-premium-avatar>img:first-child{border-color:#17201c}

/* Identity cards: guests stay intentionally simple; premium profiles carry their own visual signature. */
.player-identity{position:relative;border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.025);box-shadow:none}
.player-identity__premium{border:1px solid rgba(255,255,255,.2);border-radius:999px;box-shadow:0 4px 12px rgba(0,0,0,.18)}
.player-identity__stats{border-top-color:rgba(255,255,255,.09)}.player-identity__stats>span+span{border-left-color:rgba(255,255,255,.07)}
.player-identity:not(.is-linked) .player-identity__stats{display:none}.player-identity:not(.is-linked) .player-identity__top{padding-block:11px}.player-identity:not(.is-linked) .player-identity__copy em{color:var(--neutral-300)}
.player-identity.is-premium-profile{isolation:isolate;border-color:color-mix(in srgb,var(--profile-color) 72%,white 10%);background:radial-gradient(circle at 12% 15%,color-mix(in srgb,var(--profile-color) 22%,transparent),transparent 42%),linear-gradient(135deg,color-mix(in srgb,var(--profile-color) 12%,#171a16),#171a16 68%);box-shadow:0 14px 34px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.11)}
.player-identity.is-premium-profile:before{content:"";position:absolute;z-index:-1;inset:-80% -35%;background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.1) 48%,transparent 58%);transform:translateX(-45%);animation:premium-card-sheen 7s ease-in-out infinite}.player-identity.is-premium-profile:after{content:"✦";position:absolute;z-index:-1;right:15px;bottom:37px;color:color-mix(in srgb,var(--profile-color) 48%,transparent);font-size:3.2rem;line-height:1;opacity:.32;transform:rotate(12deg)}
.player-identity.is-premium-profile .player-identity__top,.player-identity.is-premium-profile .player-identity__stats{position:relative;z-index:1}.player-identity.is-premium-profile:not(:has(.avatar-frame:not([hidden]))) .avatar-stack--profile{box-shadow:0 0 0 3px var(--profile-color),0 0 24px color-mix(in srgb,var(--profile-color) 30%,transparent)}.player-identity.is-premium-profile .player-identity__premium{border-color:color-mix(in srgb,var(--profile-color) 55%,white);background:linear-gradient(135deg,color-mix(in srgb,var(--profile-color) 78%,white),var(--profile-color));color:#12130f;text-shadow:0 1px rgba(255,255,255,.32)}
.player-identity.is-premium-profile .avatar-stack--profile:not(:has(.avatar-frame:not([hidden]))){width:60px;height:60px;margin:-1px;padding:3px;border-radius:50%;background:var(--profile-avatar-ring,var(--profile-color));box-shadow:0 0 0 1px rgba(255,255,255,.25),0 0 22px color-mix(in srgb,var(--profile-color) 32%,transparent)!important}.player-identity.is-premium-profile .avatar-stack--profile:not(:has(.avatar-frame:not([hidden]))) .player-identity__avatar{width:54px;height:54px;border:2px solid #171a16;box-shadow:none}
.player-identity.is-premium-profile .player-identity__stats{border-top-color:color-mix(in srgb,var(--profile-color) 30%,transparent);background:rgba(0,0,0,.1)}.player-identity.is-premium-profile .player-identity__stats>span+span{border-left-color:color-mix(in srgb,var(--profile-color) 22%,transparent)}.player-identity.is-premium-profile .player-identity__stats strong{font-family:var(--font-profile);color:color-mix(in srgb,var(--profile-color) 72%,white);font-size:.9rem}
#playerDiamonds:before,.diamond-icon{display:inline-block;width:14px;height:12px;clip-path:polygon(22% 0,78% 0,100% 38%,50% 100%,0 38%);background:linear-gradient(135deg,#e9fbff 0 19%,#78e4ff 20% 43%,#24aee8 44% 67%,#bdf5ff 68% 82%,#318cca 83%);box-shadow:0 0 10px rgba(82,207,255,.55);vertical-align:-1px}#playerDiamonds:before{content:"";margin-right:5px}.diamond-icon{position:relative;flex:0 0 14px}.diamond-icon:after{content:"";position:absolute;left:49%;top:0;width:1px;height:100%;background:rgba(255,255,255,.55);transform:rotate(26deg);transform-origin:top}
.wager-select{display:grid!important;gap:8px!important}.wager-select .select-shell{position:relative;display:block}.wager-select select{width:100%;height:50px;padding:0 48px 0 44px;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-sm);appearance:none;background:linear-gradient(180deg,#20271f,#151a15);color:var(--neutral-100);font:700 .92rem var(--font-body);cursor:pointer;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}.wager-select select:hover{border-color:#59c9ef}.wager-select select:focus{border-color:#69d9ff;box-shadow:0 0 0 3px rgba(105,217,255,.14)}.wager-select option{background:#182019;color:var(--neutral-100)}.wager-select .select-shell>.diamond-icon{position:absolute;z-index:2;left:16px;top:50%;translate:0 -50%;pointer-events:none}.wager-select .select-shell>svg{position:absolute;right:15px;top:50%;width:21px;height:21px;translate:0 -50%;fill:none;stroke:#69d9ff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.wager-chip{display:inline-flex;align-items:center;gap:5px;margin-left:5px;padding:3px 7px;border:1px solid rgba(105,217,255,.3);border-radius:999px;background:rgba(50,157,204,.12);color:#a9ecff;font-weight:800;white-space:nowrap}.wager-chip .diamond-icon{width:11px;height:10px;flex-basis:11px}.room-row.is-wager{border-color:rgba(105,217,255,.3);box-shadow:inset 3px 0 #45c9f5}
.wager-select:not(.has-wager) .diamond-icon{filter:grayscale(1);opacity:.42}.wager-select.has-wager select{border-color:rgba(105,217,255,.55);background:linear-gradient(180deg,rgba(35,83,96,.72),#152126)}
@keyframes premium-card-sheen{0%,58%{transform:translateX(-48%)}78%,100%{transform:translateX(48%)}}

.account-session-modal{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;padding:20px;background:rgba(5,9,8,.78);backdrop-filter:blur(9px);animation:session-modal-in .22s ease-out}.account-session-modal section{position:relative;width:min(430px,100%);overflow:hidden;padding:34px 30px 28px;border:1px solid color-mix(in srgb,var(--game-accent) 65%,white 8%);border-radius:22px;background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--game-accent) 17%,transparent),transparent 45%),linear-gradient(145deg,#202923,#121814);box-shadow:0 28px 80px rgba(0,0,0,.55),inset 0 1px rgba(255,255,255,.08);text-align:center;animation:session-card-in .35s var(--ease-spring)}.account-session-modal section:after{content:"";position:absolute;inset:auto -15% 0;height:3px;background:linear-gradient(90deg,transparent,var(--game-accent),transparent)}.account-session-modal__icon{display:grid;width:62px;height:62px;margin:0 auto 18px;place-items:center;border:2px solid var(--game-accent);border-radius:50%;background:color-mix(in srgb,var(--game-accent) 13%,#121814);color:var(--game-accent);font:900 2rem/1 var(--font-display);box-shadow:0 0 0 8px color-mix(in srgb,var(--game-accent) 8%,transparent),0 0 32px color-mix(in srgb,var(--game-accent) 20%,transparent)}.account-session-modal small{display:block;margin-bottom:7px;color:var(--game-accent);font-size:.68rem;font-weight:900;letter-spacing:.18em}.account-session-modal h2{margin:0;color:var(--neutral-100);font:clamp(1.65rem,6vw,2.15rem)/1 var(--font-display)}.account-session-modal p{max-width:340px;margin:17px auto 24px;color:var(--neutral-300);font-size:.94rem;line-height:1.55}.account-session-modal button{width:100%;min-height:48px;border:1px solid color-mix(in srgb,var(--game-accent) 78%,white 15%);border-radius:12px;background:var(--game-accent);color:var(--game-accent-ink);font-weight:900;box-shadow:0 9px 24px color-mix(in srgb,var(--game-accent) 18%,transparent);transition:filter .18s,transform .18s}.account-session-modal button:hover{filter:brightness(1.08);transform:translateY(-1px)}
@keyframes session-modal-in{from{opacity:0}to{opacity:1}}@keyframes session-card-in{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}

/* Account shortcut on game lobbies; room controls take its place after joining. */
.game-header .header-account{position:relative;z-index:3;margin-left:auto;display:flex;align-items:center;gap:8px;min-width:0;padding:4px 5px 4px 4px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(18,24,20,.82);box-shadow:0 7px 20px rgba(0,0,0,.18);backdrop-filter:blur(8px)}
.game-header .header-account[hidden],body.is-in-room .game-header .header-account{display:none!important}.game-header .header-account>img{flex:0 0 34px;width:34px;height:34px;border:1px solid rgba(255,255,255,.24);border-radius:50%;object-fit:cover}.game-header .header-account>span{display:grid;min-width:0;gap:1px;line-height:1.05}.game-header .header-account small{color:var(--neutral-300);font-size:.54rem;font-weight:600}.game-header .header-account strong{max-width:130px;overflow:hidden;color:var(--neutral-100);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.game-header .header-account button{min-height:29px;padding:0 9px;border:1px solid color-mix(in srgb,var(--game-accent) 50%,transparent);border-radius:999px;background:color-mix(in srgb,var(--game-accent) 10%,transparent);color:var(--game-accent);font-size:.62rem;font-weight:800}.game-header .header-account button:hover{background:var(--game-accent);color:var(--game-accent-ink)}
body:not(.is-in-room) .game-header #soundToggle{display:none!important}
body:not(.is-in-room) .game-header .header-controls,body:not(.is-in-room) .game-header .gartic-header-controls{display:none!important}
@media(max-width:600px){.game-header .header-account small{display:none}.game-header .header-account strong{max-width:76px}.game-header .header-account button{width:30px;padding:0;font-size:0}.game-header .header-account button:before{content:"↩";font-size:.85rem}.game-header .header-account>img{width:30px;height:30px;flex-basis:30px}}

.guest-login-modal{position:fixed;z-index:11000;inset:0;display:grid;place-items:center;padding:20px;background:rgba(5,9,8,.78);backdrop-filter:blur(9px);animation:session-modal-in .22s ease-out}.guest-login-modal>section{position:relative;width:min(440px,100%);overflow:hidden;padding:30px;border:1px solid color-mix(in srgb,var(--game-accent) 60%,white 8%);border-radius:22px;background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--game-accent) 18%,transparent),transparent 43%),linear-gradient(145deg,#202923,#121814);box-shadow:0 28px 80px rgba(0,0,0,.55),inset 0 1px rgba(255,255,255,.08);text-align:center;animation:session-card-in .35s var(--ease-spring)}.guest-login-modal__close{position:absolute;right:13px;top:11px;width:34px;height:34px;border:0;background:transparent;color:var(--neutral-300);font-size:1.6rem}.guest-login-modal__icon{display:grid;width:58px;height:58px;margin:0 auto 16px;place-items:center;border:2px solid var(--game-accent);border-radius:50%;background:color-mix(in srgb,var(--game-accent) 12%,#121814);color:var(--game-accent);font-size:1.65rem;box-shadow:0 0 0 7px color-mix(in srgb,var(--game-accent) 7%,transparent),0 0 28px color-mix(in srgb,var(--game-accent) 18%,transparent)}.guest-login-modal small{display:block;margin-bottom:7px;color:var(--game-accent);font-size:.66rem;font-weight:900;letter-spacing:.17em}.guest-login-modal h2{margin:0;color:var(--neutral-100);font:clamp(1.55rem,6vw,2rem)/1.08 var(--font-display)}.guest-login-modal p{margin:15px auto;color:var(--neutral-300);font-size:.9rem;line-height:1.5}.guest-login-modal p strong{color:var(--game-accent)}.guest-login-modal ul{display:grid;gap:8px;margin:18px 0 23px;padding:0;list-style:none;text-align:left}.guest-login-modal li{position:relative;padding-left:25px;color:var(--neutral-100);font-size:.84rem}.guest-login-modal li:before{content:"✓";position:absolute;left:2px;color:var(--game-accent);font-weight:900}.guest-login-modal>section>div{display:grid;grid-template-columns:.9fr 1.4fr;gap:9px}.guest-login-modal>section>div button{min-height:46px;padding:0 13px;border-radius:11px;font-weight:900}.guest-login-modal__copy{border:1px solid color-mix(in srgb,var(--game-accent) 60%,transparent);background:transparent;color:var(--game-accent)}.guest-login-modal__confirm{border:1px solid var(--game-accent);background:var(--game-accent);color:var(--game-accent-ink)}@media(max-width:460px){.guest-login-modal>section{padding:27px 20px 21px}.guest-login-modal>section>div{grid-template-columns:1fr}.guest-login-modal__confirm{grid-row:1}}

.game-ranking{margin-top:44px;padding-top:34px;border-top:1px solid rgba(255,255,255,.14)}.game-ranking__head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.game-ranking__head h2{margin:3px 0 0;font:1.5rem/1.1 var(--font-display)}.game-ranking__tabs{display:flex;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:999px}.game-ranking__tabs button{min-height:36px;padding:0 15px;border:0;border-left:1px solid rgba(255,255,255,.12);background:transparent;color:var(--neutral-300);font-size:.72rem;font-weight:800}.game-ranking__tabs button:first-child{border-left:0}.game-ranking__tabs button.is-active{background:var(--game-accent);color:var(--game-accent-ink)}.game-ranking__tabs button:disabled{cursor:wait}.game-ranking__list{display:grid;gap:10px}.game-ranking__podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ranking-player{position:relative;display:grid;grid-template-columns:34px 46px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:10px 13px;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:rgba(255,255,255,.025)}.ranking-player--podium{grid-template-columns:1fr;justify-items:center;gap:7px;padding:17px 12px;text-align:center;background:linear-gradient(145deg,color-mix(in srgb,var(--ranking-profile) 10%,transparent),rgba(255,255,255,.025))}.ranking-player.is-me{border-color:color-mix(in srgb,var(--game-accent) 72%,white 8%);box-shadow:inset 3px 0 var(--game-accent)}.ranking-player.is-premium{--ring:var(--ranking-profile);border-color:color-mix(in srgb,var(--ranking-profile) 40%,rgba(255,255,255,.1))}.ranking-player__position{color:var(--game-accent);font:1rem/1 var(--font-display)}.ranking-player--podium .ranking-player__position{font-size:1.45rem}.ranking-player__avatar{position:relative;display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:var(--ring,rgba(255,255,255,.18))}.ranking-player--podium .ranking-player__avatar{width:58px;height:58px}.ranking-player__avatar>img:first-child{width:calc(100% - 5px);height:calc(100% - 5px);border:2px solid #182019;border-radius:50%;object-fit:cover}.ranking-player__frame{position:absolute;z-index:2;inset:-10%;width:120%;height:120%;object-fit:contain}.ranking-player__copy{display:grid;min-width:0;gap:2px}.ranking-player__copy strong{overflow:hidden;color:var(--neutral-100);font-size:.84rem;text-overflow:ellipsis;white-space:nowrap}.ranking-player__copy small{overflow:hidden;color:var(--neutral-300);font-size:.67rem;text-overflow:ellipsis;white-space:nowrap}.ranking-player em{color:var(--game-accent);font-size:.75rem;font-style:normal;font-weight:900;white-space:nowrap}.ranking-player--podium em{font-size:.8rem}.game-ranking__rows{display:grid;grid-template-columns:1fr 1fr;gap:8px}.game-ranking__own{display:grid;gap:6px;margin-top:7px;padding-top:11px;border-top:1px dashed rgba(255,255,255,.14)}.game-ranking__own>small,.game-ranking__note{color:var(--neutral-300);font-size:.62rem;letter-spacing:.1em}.game-ranking__note{margin:12px 0 0;letter-spacing:0}.game-ranking__empty{margin:0;padding:28px;border:1px dashed rgba(255,255,255,.16);border-radius:14px;color:var(--neutral-300);text-align:center}.game-ranking__list[aria-busy=true]{opacity:.62}
.ranking-player__avatar:has(.ranking-player__frame){width:48px;height:48px;border-radius:0;background:transparent}.ranking-player__avatar:has(.ranking-player__frame)>img:first-child{position:absolute;z-index:1;left:6.45px;top:8.25px;width:35.1px;height:35.1px;border:0;box-shadow:none}.ranking-player__avatar:has(.ranking-player__frame) .ranking-player__frame{position:absolute;z-index:2;inset:-3px auto auto -12px;width:72px;height:72px;max-width:none;clip-path:inset(0 0 24% 0);border:0;border-radius:0;background:transparent;object-fit:fill;transform:none}.ranking-player--podium .ranking-player__avatar:has(.ranking-player__frame){width:76px;height:76px}.ranking-player--podium .ranking-player__avatar:has(.ranking-player__frame)>img:first-child{left:11.675px;top:13.875px;width:52.65px;height:52.65px}.ranking-player--podium .ranking-player__avatar:has(.ranking-player__frame) .ranking-player__frame{inset:-3px auto auto -16px;width:108px;height:108px}
@media(max-width:700px){.game-ranking{margin-top:34px;padding-top:28px}.game-ranking__head{align-items:flex-start;flex-direction:column}.game-ranking__podium{grid-template-columns:1fr}.ranking-player--podium{grid-template-columns:34px 50px minmax(0,1fr) auto;justify-items:stretch;padding:10px 13px;text-align:left}.ranking-player--podium .ranking-player__position{font-size:1rem}.ranking-player--podium .ranking-player__avatar{width:42px;height:42px}.ranking-player--podium .ranking-player__avatar:has(.ranking-player__frame){width:48px;height:48px}.ranking-player--podium .ranking-player__avatar:has(.ranking-player__frame)>img:first-child{left:6.45px;top:8.25px;width:35.1px;height:35.1px}.ranking-player--podium .ranking-player__avatar:has(.ranking-player__frame) .ranking-player__frame{inset:-3px auto auto -12px;width:72px;height:72px}.game-ranking__rows{grid-template-columns:1fr}}@media(max-width:390px){.ranking-player{grid-template-columns:28px 50px minmax(0,1fr)}.ranking-player em{grid-column:3}.ranking-player__avatar:not(:has(.ranking-player__frame)){width:38px;height:38px}}

/* Ranking compartilhado: UNO, Gartic e Damas. */
.game-ranking{
  --rank-ink:var(--neutral-100);
  --rank-muted:color-mix(in srgb,var(--neutral-300) 82%,transparent);
  --rank-line:rgba(255,255,255,.11);
  --rank-surface:rgba(255,255,255,.035);
  --rank-radius:12px;
  --rank-space:clamp(14px,2vw,22px);
  --rank-shadow:0 12px 30px rgba(0,0,0,.14);
  margin-top:48px;
  padding-top:36px;
  border-top:1px solid var(--rank-line);
  color:var(--rank-ink);
}
.game-ranking__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}.game-ranking__head h2{margin:4px 0 0;font:clamp(1.35rem,3vw,1.75rem)/1.1 var(--font-display)}
.game-ranking__tabs{--tab-index:0;position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(2,minmax(112px,1fr));overflow:hidden;padding:3px;border:1px solid var(--rank-line);border-radius:10px;background:rgba(0,0,0,.14)}.game-ranking__tabs:before{content:"";position:absolute;z-index:-1;inset:3px auto 3px 3px;width:calc(50% - 3px);border-radius:7px;background:var(--game-accent);transform:translateX(calc(var(--tab-index)*100%));transition:transform .24s ease}.game-ranking__tabs button{position:relative;min-height:34px;padding:0 14px;border:0!important;background:transparent!important;color:var(--rank-muted);font-size:.72rem;font-weight:700;letter-spacing:.02em}.game-ranking__tabs button[aria-selected=true]{color:var(--game-accent-ink)}.game-ranking__tabs button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.game-ranking__tabs button:disabled{cursor:wait;opacity:.72}
.game-ranking__list{display:grid;gap:22px;opacity:1;transition:opacity .18s ease}.game-ranking__list[aria-busy=true]{opacity:.72}.game-ranking__podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:clamp(8px,2vw,24px);min-height:250px;padding:16px clamp(4px,2vw,20px) 28px;border-bottom:1px solid var(--rank-line)}
.ranking-player{font-variant-numeric:tabular-nums}.ranking-player--podium{position:relative;display:flex;min-width:0;padding:0 8px;flex-direction:column;align-items:center;gap:8px;border:0!important;border-radius:0;background:none!important;box-shadow:none!important;text-align:center}.ranking-player--podium.place-1{padding-bottom:24px}.ranking-player--podium.place-2{order:-1}.ranking-player--podium .ranking-player__position{position:absolute;z-index:4;right:calc(50% - 42px);top:62px;display:grid;width:25px;height:25px;place-items:center;border:2px solid var(--neutral-900);border-radius:50%;background:var(--neutral-850);color:#d5a92d;font:700 .72rem/1 var(--font-body)}.ranking-player--podium.place-2 .ranking-player__position{color:#bfc4c8}.ranking-player--podium.place-3 .ranking-player__position{color:#bd8053}.ranking-player__crown{position:absolute;z-index:4;top:-19px;left:50%;width:24px;color:#d5a92d;translate:-50% 0}.ranking-player__crown svg{display:block;width:100%;fill:currentColor}
.ranking-player__avatar{position:relative;display:grid;width:52px;height:52px;flex:0 0 auto;place-items:center;border:2px solid var(--rank-line);border-radius:50%;background:var(--avatar-fallback,#556);box-shadow:none}.ranking-player--podium .ranking-player__avatar{width:76px;height:76px;border-color:#d5a92d}.ranking-player--podium.place-2 .ranking-player__avatar{width:66px;height:66px;border-color:#bfc4c8}.ranking-player--podium.place-3 .ranking-player__avatar{width:66px;height:66px;border-color:#bd8053}.ranking-player__fallback{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:1rem;font-weight:700}.ranking-player__photo{position:relative;z-index:1;width:100%;height:100%;border:0!important;border-radius:50%;object-fit:cover}.ranking-player__avatar.is-fallback .ranking-player__fallback{z-index:1}.ranking-player__avatar.has-frame{width:58px;height:58px;border:0;border-radius:0;background:transparent}.ranking-player__avatar.has-frame .ranking-player__fallback,.ranking-player__avatar.has-frame .ranking-player__photo{position:absolute;left:7.8px;top:9.9px;width:42.1px;height:42.1px;border-radius:50%}.ranking-player__avatar.has-frame .ranking-player__frame{position:absolute;z-index:2;inset:-3.6px auto auto -14.4px;width:86.4px;height:86.4px;max-width:none;clip-path:inset(0 0 24% 0);object-fit:fill}.ranking-player--podium .ranking-player__avatar.has-frame{width:86px;height:86px}.ranking-player--podium .ranking-player__avatar.has-frame .ranking-player__fallback,.ranking-player--podium .ranking-player__avatar.has-frame .ranking-player__photo{left:13.18px;top:15.67px;width:59.49px;height:59.49px}.ranking-player--podium .ranking-player__avatar.has-frame .ranking-player__frame{inset:-3.4px auto auto -18.1px;width:122px;height:122px}.ranking-player--podium.place-2 .ranking-player__avatar.has-frame,.ranking-player--podium.place-3 .ranking-player__avatar.has-frame{width:76px;height:76px}.ranking-player--podium.place-2 .ranking-player__avatar.has-frame .ranking-player__fallback,.ranking-player--podium.place-2 .ranking-player__avatar.has-frame .ranking-player__photo,.ranking-player--podium.place-3 .ranking-player__avatar.has-frame .ranking-player__fallback,.ranking-player--podium.place-3 .ranking-player__avatar.has-frame .ranking-player__photo{left:11.68px;top:13.88px;width:52.65px;height:52.65px}.ranking-player--podium.place-2 .ranking-player__avatar.has-frame .ranking-player__frame,.ranking-player--podium.place-3 .ranking-player__avatar.has-frame .ranking-player__frame{inset:-3px auto auto -16px;width:108px;height:108px}
.ranking-player__copy{display:grid;min-width:0;gap:3px}.ranking-player__copy strong{max-width:100%;overflow:hidden;color:var(--rank-ink);font-size:.86rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.ranking-player__copy small{color:var(--rank-muted);font-size:.67rem;font-weight:500}.ranking-player--podium .ranking-player__copy{width:100%;justify-items:center}.ranking-player--podium em{color:var(--rank-muted);font-size:.78rem;font-style:normal;font-weight:500}
.game-ranking__rows{display:block}.ranking-player--row{display:grid;grid-template-columns:34px 58px minmax(130px,1fr) 90px 110px minmax(120px,150px);align-items:center;gap:12px;min-width:0;padding:11px 8px;border:0!important;border-bottom:1px solid rgba(255,255,255,.065);border-radius:0;background:transparent;box-shadow:none!important;transition:background-color .16s ease,transform .16s ease}.ranking-player--row:last-child{border-bottom:0}.ranking-player--row:hover{background:var(--rank-surface);transform:translateX(2px)}.ranking-player--row.is-me{background:color-mix(in srgb,var(--game-accent) 6%,transparent);box-shadow:inset 2px 0 var(--game-accent)!important}.ranking-player--row .ranking-player__position{color:var(--rank-muted);font:600 .75rem/1 var(--font-body);text-align:center}.ranking-player__secondary,.ranking-player__metric{display:grid;gap:3px;justify-items:end}.ranking-player__secondary small,.ranking-player__metric small{color:var(--rank-muted);font-size:.56rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.ranking-player__secondary b,.ranking-player__metric b{color:var(--rank-muted);font-size:.76rem;font-weight:500}.ranking-player__metric b{color:var(--rank-ink);font-size:.82rem}.ranking-player__rate{display:grid;grid-template-columns:42px minmax(70px,1fr);align-items:center;gap:9px;color:var(--rank-muted);font-size:.69rem;font-weight:500;text-align:right}.ranking-player__rate i{position:relative;display:block;overflow:hidden;height:4px;border-radius:2px;background:rgba(255,255,255,.1)}.ranking-player__rate i:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--rate);border-radius:inherit;background:var(--game-accent)}.game-ranking__list[data-mode=rate] .ranking-player__rate>span{visibility:hidden}.ranking-player--podium .ranking-player__rate{width:min(100px,80%);grid-template-columns:1fr}.ranking-player--podium .ranking-player__rate>span{display:none}
.game-ranking__own{position:sticky;z-index:5;bottom:10px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;margin-top:4px;padding:7px 9px 7px 12px;border:1px solid color-mix(in srgb,var(--game-accent) 35%,var(--rank-line));border-radius:var(--rank-radius);background:color-mix(in srgb,var(--neutral-900) 94%,transparent);box-shadow:var(--rank-shadow);backdrop-filter:blur(12px)}.game-ranking__own>small{color:var(--game-accent);font-size:.56rem;font-weight:700;letter-spacing:.12em}.game-ranking__own .ranking-player--row{border:0;padding-block:7px}.game-ranking__note{margin:14px 0 0;color:var(--rank-muted);font-size:.66rem;letter-spacing:0}
.game-ranking__state{display:grid;justify-items:center;min-height:210px;padding:42px 20px;place-content:center;text-align:center}.game-ranking__state strong{font-size:1rem;font-weight:600}.game-ranking__state p{max-width:380px;margin:8px 0 18px;color:var(--rank-muted);font-size:.82rem;line-height:1.5}.game-ranking__state button{min-height:40px;padding:0 16px;border:1px solid color-mix(in srgb,var(--game-accent) 55%,transparent);border-radius:8px;background:transparent;color:var(--game-accent);font-size:.75rem;font-weight:700}.game-ranking__state button:hover{background:color-mix(in srgb,var(--game-accent) 9%,transparent)}
.game-ranking__pagination{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;max-width:820px;margin:4px auto 0;padding-top:14px;border-top:1px solid var(--rank-line)}.game-ranking__pagination button{min-width:38px;height:38px;padding:0 11px;border:1px solid var(--rank-line);border-radius:8px;background:transparent;color:var(--rank-muted);font-size:.72rem;font-weight:700}.game-ranking__pagination button:hover:not(:disabled){border-color:var(--game-accent);color:var(--game-accent)}.game-ranking__pagination button[aria-current=page]{border-color:var(--game-accent);background:var(--game-accent);color:var(--game-accent-ink)}.game-ranking__pagination button:disabled{cursor:not-allowed;opacity:.38}.game-ranking__pagination button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.ranking-skeleton{display:grid;gap:15px;min-height:340px}.ranking-skeleton__podium{display:grid;grid-template-columns:repeat(3,1fr);align-items:end;gap:20px;height:210px;padding:20px;border-bottom:1px solid var(--rank-line)}.ranking-skeleton i,.ranking-skeleton>span{display:block;border-radius:8px;background:rgba(255,255,255,.055);animation:ranking-skeleton 1.35s ease-in-out infinite alternate}.ranking-skeleton i{height:130px}.ranking-skeleton i:nth-child(2){height:175px}.ranking-skeleton>span{height:54px}@keyframes ranking-skeleton{to{background:rgba(255,255,255,.105)}}
@media(max-width:760px){.game-ranking{margin-top:36px;padding-top:28px}.game-ranking__head{align-items:flex-start;flex-direction:column;margin-bottom:20px}.game-ranking__tabs{width:100%}.game-ranking__podium{gap:2px;min-height:224px;padding-inline:0}.ranking-player--podium{padding-inline:3px}.ranking-player--podium.place-1{padding-bottom:18px}.ranking-player--podium .ranking-player__copy strong{font-size:.76rem}.ranking-player--podium .ranking-player__copy small{font-size:.6rem}.ranking-player--podium .ranking-player__position{right:calc(50% - 37px);top:55px}.ranking-player--podium .ranking-player__avatar{width:68px;height:68px}.ranking-player--podium.place-2 .ranking-player__avatar,.ranking-player--podium.place-3 .ranking-player__avatar{width:58px;height:58px}.ranking-player--podium .ranking-player__avatar.has-frame{width:76px;height:76px}.ranking-player--podium .ranking-player__avatar.has-frame .ranking-player__fallback,.ranking-player--podium .ranking-player__avatar.has-frame .ranking-player__photo{left:11.68px;top:13.88px;width:52.65px;height:52.65px}.ranking-player--podium .ranking-player__avatar.has-frame .ranking-player__frame{inset:-3px auto auto -16px;width:108px;height:108px}.ranking-player--podium.place-2 .ranking-player__avatar.has-frame,.ranking-player--podium.place-3 .ranking-player__avatar.has-frame{width:68px;height:68px}.ranking-player--podium.place-2 .ranking-player__avatar.has-frame .ranking-player__fallback,.ranking-player--podium.place-2 .ranking-player__avatar.has-frame .ranking-player__photo,.ranking-player--podium.place-3 .ranking-player__avatar.has-frame .ranking-player__fallback,.ranking-player--podium.place-3 .ranking-player__avatar.has-frame .ranking-player__photo{left:10.45px;top:12.38px;width:46.8px;height:46.8px}.ranking-player--podium.place-2 .ranking-player__avatar.has-frame .ranking-player__frame,.ranking-player--podium.place-3 .ranking-player__avatar.has-frame .ranking-player__frame{inset:-2.7px auto auto -14.4px;width:96px;height:96px}.ranking-player--row{grid-template-columns:28px 58px minmax(0,1fr) auto;padding-inline:2px}.ranking-player--row .ranking-player__secondary,.ranking-player--row .ranking-player__rate{display:none}.ranking-player--row .ranking-player__metric{grid-column:4;grid-row:1;align-self:center}.ranking-player--row .ranking-player__metric small{display:none}.ranking-player__copy small{display:none}.game-ranking__list[data-mode=rate] .ranking-player--row .ranking-player__rate{display:block;grid-column:3/5;grid-row:2;margin:-7px 0 3px 70px}.game-ranking__list[data-mode=rate] .ranking-player--row .ranking-player__rate>span{display:none}.game-ranking__own{grid-template-columns:1fr;gap:2px;bottom:6px}.game-ranking__own>small{padding-left:4px}.game-ranking__own .ranking-player--row{grid-template-columns:28px 58px minmax(0,1fr) auto}.ranking-skeleton__podium{gap:8px;padding-inline:4px}}
@media(max-width:390px){.ranking-player--podium .ranking-player__avatar{width:60px;height:60px}.ranking-player--podium.place-2 .ranking-player__avatar,.ranking-player--podium.place-3 .ranking-player__avatar{width:52px;height:52px}.ranking-player--row{grid-template-columns:25px 52px minmax(0,1fr) auto;gap:8px}.ranking-player__avatar{width:46px;height:46px}.ranking-player__avatar.has-frame{width:52px;height:52px}.ranking-player__avatar.has-frame .ranking-player__fallback,.ranking-player__avatar.has-frame .ranking-player__photo{left:7px;top:8.8px;width:37.4px;height:37.4px}.ranking-player__avatar.has-frame .ranking-player__frame{inset:-3.2px auto auto -12.8px;width:76.8px;height:76.8px}}
@media(max-width:480px){.game-ranking__pagination{gap:4px}.game-ranking__pagination button{min-width:34px;height:36px;padding-inline:8px}.game-ranking__pagination button:first-child,.game-ranking__pagination button:last-child{font-size:0}.game-ranking__pagination button:first-child:after{content:'‹';font-size:1.15rem}.game-ranking__pagination button:last-child:after{content:'›';font-size:1.15rem}}

/* Ajustes de legibilidade e densidade do ranking. */
.game-ranking{--rank-muted:color-mix(in srgb,var(--neutral-300) 94%,transparent)}
.game-ranking__podium{width:100%;max-width:560px;margin-inline:auto;align-items:end}.ranking-player--podium.place-1{padding-bottom:36px}.ranking-player--podium.place-2{padding-bottom:18px}.ranking-player--podium.place-3{padding-bottom:0}.ranking-player--podium .ranking-player__position{right:calc(50% - 45px);top:58px;width:31px;height:31px;border-width:2px;font-size:.82rem}.ranking-player--podium.place-2 .ranking-player__position,.ranking-player--podium.place-3 .ranking-player__position{right:calc(50% - 40px);top:51px}.ranking-player--podium.place-1 .ranking-player__avatar{border-width:2px;box-shadow:0 0 0 1px rgba(213,169,45,.16)}
.game-ranking__rows{width:100%;max-width:820px;margin-inline:auto}.ranking-player--row{grid-template-columns:34px 58px minmax(150px,1fr) 86px 100px 132px;gap:10px}.ranking-player--row .ranking-player__avatar:not(.has-frame){border:1px solid rgba(255,255,255,.2);box-shadow:none}.ranking-player__copy strong{font-size:.875rem;font-weight:600}.ranking-player__copy small,.ranking-player--podium .ranking-player__copy small{color:var(--rank-muted);font-size:.75rem}.ranking-player--podium em{font-size:.8rem}.ranking-player__secondary small,.ranking-player__metric small{color:var(--rank-muted);font-size:.75rem;letter-spacing:.075em}.ranking-player__secondary b,.ranking-player__metric b{font-size:.8rem;font-weight:500}.ranking-player__metric b{font-size:.85rem}.ranking-player__rate{font-size:.75rem}.game-ranking__note{font-size:.75rem}.game-ranking__own{width:100%;max-width:820px;margin-inline:auto}.game-ranking__own>small{font-size:.75rem}
@media(max-width:760px){.game-ranking__podium{max-width:520px}.ranking-player--podium.place-1{padding-bottom:30px}.ranking-player--podium.place-2{padding-bottom:15px}.ranking-player--podium .ranking-player__position{right:calc(50% - 40px);top:51px;width:29px;height:29px}.ranking-player--podium.place-2 .ranking-player__position,.ranking-player--podium.place-3 .ranking-player__position{right:calc(50% - 35px);top:44px}.ranking-player--row{grid-template-columns:28px 58px minmax(0,1fr) auto;gap:9px}.ranking-player__copy{overflow:hidden}.ranking-player__copy strong{display:block;max-width:100%;text-overflow:ellipsis;white-space:nowrap}.ranking-player--row .ranking-player__secondary{display:none}}
@media(max-width:480px){.game-ranking__podium{min-height:215px}.ranking-player--podium.place-1{padding-bottom:26px}.ranking-player--podium.place-2{padding-bottom:13px}.ranking-player--row{grid-template-columns:25px 52px minmax(0,1fr) auto;width:100%;max-width:100%;overflow:visible}.ranking-player--row .ranking-player__secondary{display:none}.ranking-player--row .ranking-player__metric{grid-column:4;grid-row:1;min-width:0}.ranking-player--row .ranking-player__rate,.game-ranking__list[data-mode=rate] .ranking-player--row .ranking-player__rate{display:grid;grid-column:3/5;grid-row:2;grid-template-columns:42px minmax(54px,1fr);width:auto;min-width:0;margin:-5px 0 3px 0}.game-ranking__list[data-mode=rate] .ranking-player--row .ranking-player__rate>span{visibility:hidden}.ranking-player__avatar.has-frame{max-width:52px}.ranking-player__copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-ranking__own .ranking-player--row{grid-template-columns:25px 52px minmax(0,1fr) auto}}

/* A moldura cresce ao redor do retrato; o rosto mantém o mesmo diâmetro. */
.ranking-player--row{grid-template-columns:34px 76px minmax(150px,1fr) 86px 100px 132px}.ranking-player--row .ranking-player__avatar:not(.has-frame){justify-self:center}.ranking-player--row .ranking-player__avatar.has-frame{width:76px;height:76px}.ranking-player--row .ranking-player__avatar.has-frame .ranking-player__fallback,.ranking-player--row .ranking-player__avatar.has-frame .ranking-player__photo{left:12px;top:13.67px;width:52px;height:52px}.ranking-player--row .ranking-player__avatar.has-frame .ranking-player__frame{inset:-3px auto auto -15.33px;width:106.67px;height:106.67px}
.ranking-player--podium.place-1 .ranking-player__avatar.has-frame{width:106px;height:106px}.ranking-player--podium.place-1 .ranking-player__avatar.has-frame .ranking-player__fallback,.ranking-player--podium.place-1 .ranking-player__avatar.has-frame .ranking-player__photo{left:15px;top:20px;width:76px;height:76px}.ranking-player--podium.place-1 .ranking-player__avatar.has-frame .ranking-player__frame{inset:-4px auto auto -24.95px;width:155.9px;height:155.9px}
.ranking-player--podium.place-2 .ranking-player__avatar.has-frame,.ranking-player--podium.place-3 .ranking-player__avatar.has-frame{width:92px;height:92px}.ranking-player--podium.place-2 .ranking-player__avatar.has-frame .ranking-player__fallback,.ranking-player--podium.place-2 .ranking-player__avatar.has-frame .ranking-player__photo,.ranking-player--podium.place-3 .ranking-player__avatar.has-frame .ranking-player__fallback,.ranking-player--podium.place-3 .ranking-player__avatar.has-frame .ranking-player__photo{left:13px;top:17.3px;width:66px;height:66px}.ranking-player--podium.place-2 .ranking-player__avatar.has-frame .ranking-player__frame,.ranking-player--podium.place-3 .ranking-player__avatar.has-frame .ranking-player__frame{inset:-3.5px auto auto -21.7px;width:135.4px;height:135.4px}
@media(max-width:760px){.ranking-player--row,.game-ranking__own .ranking-player--row{grid-template-columns:28px 72px minmax(0,1fr) auto}.ranking-player--row .ranking-player__avatar.has-frame{width:72px;height:72px}.ranking-player--row .ranking-player__avatar.has-frame .ranking-player__fallback,.ranking-player--row .ranking-player__avatar.has-frame .ranking-player__photo{left:10px;top:13.2px;width:52px;height:52px}.ranking-player--row .ranking-player__avatar.has-frame .ranking-player__frame{inset:-3px auto auto -17.33px;width:106.67px;height:106.67px}.ranking-player--podium.place-1 .ranking-player__avatar.has-frame{width:96px;height:96px}.ranking-player--podium.place-1 .ranking-player__avatar.has-frame .ranking-player__fallback,.ranking-player--podium.place-1 .ranking-player__avatar.has-frame .ranking-player__photo{left:14px;top:17.8px;width:68px;height:68px}.ranking-player--podium.place-1 .ranking-player__avatar.has-frame .ranking-player__frame{inset:-3.7px auto auto -21.75px;width:139.5px;height:139.5px}.ranking-player--podium.place-2 .ranking-player__avatar.has-frame,.ranking-player--podium.place-3 .ranking-player__avatar.has-frame{width:82px;height:82px}.ranking-player--podium.place-2 .ranking-player__avatar.has-frame .ranking-player__fallback,.ranking-player--podium.place-2 .ranking-player__avatar.has-frame .ranking-player__photo,.ranking-player--podium.place-3 .ranking-player__avatar.has-frame .ranking-player__fallback,.ranking-player--podium.place-3 .ranking-player__avatar.has-frame .ranking-player__photo{left:12px;top:15.2px;width:58px;height:58px}.ranking-player--podium.place-2 .ranking-player__avatar.has-frame .ranking-player__frame,.ranking-player--podium.place-3 .ranking-player__avatar.has-frame .ranking-player__frame{inset:-3px auto auto -18.5px;width:119px;height:119px}}
@media(max-width:390px){.ranking-player--row,.game-ranking__own .ranking-player--row{grid-template-columns:25px 66px minmax(0,1fr) auto}.ranking-player--row .ranking-player__avatar.has-frame{width:66px;height:66px}.ranking-player--row .ranking-player__avatar.has-frame .ranking-player__fallback,.ranking-player--row .ranking-player__avatar.has-frame .ranking-player__photo{left:10px;top:12px;width:46px;height:46px}.ranking-player--row .ranking-player__avatar.has-frame .ranking-player__frame{inset:-2.7px auto auto -14.18px;width:94.36px;height:94.36px}}
/* O volume externo da moldura não altera a altura da linha ou do pódio. */
.ranking-player--row .ranking-player__avatar.has-frame{width:52px;height:52px;justify-self:center}.ranking-player--row .ranking-player__avatar.has-frame .ranking-player__fallback,.ranking-player--row .ranking-player__avatar.has-frame .ranking-player__photo{left:0;top:0;width:52px;height:52px}.ranking-player--row .ranking-player__avatar.has-frame .ranking-player__frame{inset:-16.67px auto auto -27.33px;width:106.67px;height:106.67px}
.ranking-player--podium.place-1 .ranking-player__avatar.has-frame{width:76px;height:76px}.ranking-player--podium.place-1 .ranking-player__avatar.has-frame .ranking-player__fallback,.ranking-player--podium.place-1 .ranking-player__avatar.has-frame .ranking-player__photo{left:0;top:0;width:76px;height:76px}.ranking-player--podium.place-1 .ranking-player__avatar.has-frame .ranking-player__frame{inset:-24.36px auto auto -39.95px;width:155.9px;height:155.9px}
.ranking-player--podium.place-2 .ranking-player__avatar.has-frame,.ranking-player--podium.place-3 .ranking-player__avatar.has-frame{width:66px;height:66px}.ranking-player--podium.place-2 .ranking-player__avatar.has-frame .ranking-player__fallback,.ranking-player--podium.place-2 .ranking-player__avatar.has-frame .ranking-player__photo,.ranking-player--podium.place-3 .ranking-player__avatar.has-frame .ranking-player__fallback,.ranking-player--podium.place-3 .ranking-player__avatar.has-frame .ranking-player__photo{left:0;top:0;width:66px;height:66px}.ranking-player--podium.place-2 .ranking-player__avatar.has-frame .ranking-player__frame,.ranking-player--podium.place-3 .ranking-player__avatar.has-frame .ranking-player__frame{inset:-21.15px auto auto -34.69px;width:135.38px;height:135.38px}
@media(max-width:760px){.ranking-player--podium.place-1 .ranking-player__avatar.has-frame{width:68px;height:68px}.ranking-player--podium.place-1 .ranking-player__avatar.has-frame .ranking-player__fallback,.ranking-player--podium.place-1 .ranking-player__avatar.has-frame .ranking-player__photo{left:0;top:0;width:68px;height:68px}.ranking-player--podium.place-1 .ranking-player__avatar.has-frame .ranking-player__frame{inset:-21.79px auto auto -35.74px;width:139.49px;height:139.49px}.ranking-player--podium.place-2 .ranking-player__avatar.has-frame,.ranking-player--podium.place-3 .ranking-player__avatar.has-frame{width:58px;height:58px}.ranking-player--podium.place-2 .ranking-player__avatar.has-frame .ranking-player__fallback,.ranking-player--podium.place-2 .ranking-player__avatar.has-frame .ranking-player__photo,.ranking-player--podium.place-3 .ranking-player__avatar.has-frame .ranking-player__fallback,.ranking-player--podium.place-3 .ranking-player__avatar.has-frame .ranking-player__photo{left:0;top:0;width:58px;height:58px}.ranking-player--podium.place-2 .ranking-player__avatar.has-frame .ranking-player__frame,.ranking-player--podium.place-3 .ranking-player__avatar.has-frame .ranking-player__frame{inset:-18.59px auto auto -30.49px;width:118.97px;height:118.97px}}
@media(max-width:390px){.ranking-player--row .ranking-player__avatar.has-frame{width:46px;height:46px}.ranking-player--row .ranking-player__avatar.has-frame .ranking-player__fallback,.ranking-player--row .ranking-player__avatar.has-frame .ranking-player__photo{left:0;top:0;width:46px;height:46px}.ranking-player--row .ranking-player__avatar.has-frame .ranking-player__frame{inset:-14.74px auto auto -24.18px;width:94.36px;height:94.36px}}

/* A cor do nome identifica apenas o anel dos perfis Premium. */
.game-ranking{--rank-avatar-neutral:#7f857d}
.ranking-player.has-profile-link{color:inherit;text-decoration:none;cursor:pointer}
.ranking-player.has-profile-link:focus-visible{outline:2px solid var(--game-accent);outline-offset:4px}
.ranking-player:not(.is-premium) .ranking-player__avatar:not(.has-frame){border-color:var(--rank-avatar-neutral);box-shadow:none}
.ranking-player:not(.is-premium) .ranking-player__avatar:not(.has-frame)::after{content:"";position:absolute;z-index:3;inset:-1px;border:2px solid var(--rank-avatar-neutral);border-radius:50%;pointer-events:none}
.ranking-player.is-premium .ranking-player__avatar:not(.has-frame){border-color:var(--ranking-profile);box-shadow:0 0 0 1px color-mix(in srgb,var(--ranking-profile) 24%,transparent)}
.ranking-player.is-premium .ranking-player__avatar.has-frame .ranking-player__photo,.ranking-player.is-premium .ranking-player__avatar.has-frame .ranking-player__fallback{box-shadow:0 0 0 2px var(--ranking-profile)}
.ranking-player--podium.is-premium .ranking-player__avatar:not(.has-frame){border-color:var(--ranking-profile)}

.wager-access-modal .account-session-modal__icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}.wager-access-modal section{width:min(410px,100%)}.wager-access-modal__value{display:flex;align-items:center;justify-content:space-between;margin:-7px 0 20px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--game-accent) 28%,rgba(255,255,255,.1));border-radius:10px;background:rgba(0,0,0,.13);font-variant-numeric:tabular-nums}.wager-access-modal__value span{color:var(--neutral-300);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.wager-access-modal__value strong{color:var(--game-accent);font-size:.9rem}

.guest-login-modal__group{grid-column:1/-1;display:grid;min-height:46px;padding:0 14px;place-items:center;border:1px solid var(--game-accent);border-radius:11px;background:var(--game-accent);color:var(--game-accent-ink);font-size:.88rem;font-weight:900;text-decoration:none}.guest-login-modal__group:hover{filter:brightness(1.06)}.guest-login-modal__group:focus-visible,.guest-login-modal__site-login:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.guest-login-modal__site-login{grid-column:1/-1;display:flex;min-height:48px;align-items:center;justify-content:center;gap:9px;padding:0 14px;border:1px solid color-mix(in srgb,var(--game-accent) 68%,white 10%);border-radius:11px;background:linear-gradient(135deg,color-mix(in srgb,var(--game-accent) 23%,#192019),color-mix(in srgb,var(--game-accent) 10%,#101610));box-shadow:inset 0 1px rgba(255,255,255,.12),0 7px 18px rgba(0,0,0,.18);color:#fff8db;font-size:.86rem;font-weight:900;text-decoration:none;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}.guest-login-modal__site-login span{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:var(--game-accent);color:var(--game-accent-ink);font-size:1rem;line-height:1}.guest-login-modal__site-login:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:inset 0 1px rgba(255,255,255,.16),0 11px 24px rgba(0,0,0,.28)}.guest-login-modal .guest-login-modal__confirm{border-color:rgba(255,255,255,.2);background:transparent;color:var(--neutral-100)}
@media(max-width:460px){.guest-login-modal__group{grid-row:1}.guest-login-modal .guest-login-modal__confirm{grid-row:auto}}

/* Popups compartilhados do Game Hub no tema claro. */
html[data-theme=light] .guest-login-modal,html[data-theme=light] .account-session-modal{background:rgba(238,233,220,.76)}
html[data-theme=light] .guest-login-modal>section,html[data-theme=light] .account-session-modal section{border-color:rgba(36,39,31,.14);background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--game-accent) 13%,transparent),transparent 44%),#fffdf8;box-shadow:0 28px 70px rgba(54,48,32,.2),inset 0 1px rgba(255,255,255,.9);color:#24271f}
html[data-theme=light] .guest-login-modal h2,html[data-theme=light] .guest-login-modal li,html[data-theme=light] .account-session-modal h2{color:#24271f!important}
html[data-theme=light] .guest-login-modal p,html[data-theme=light] .account-session-modal p{color:#5d6458!important}
html[data-theme=light] .guest-login-modal small,html[data-theme=light] .guest-login-modal p strong,html[data-theme=light] .guest-login-modal li:before,html[data-theme=light] .account-session-modal small{color:#806b10!important}
html[data-theme=light] .guest-login-modal__icon,html[data-theme=light] .account-session-modal__icon{border-color:#b49b28;background:#fff8df;color:#806b10;box-shadow:0 0 0 7px rgba(180,155,40,.09),0 10px 25px rgba(91,76,20,.1)}
.guest-login-modal__close{display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(255,255,255,.07);line-height:1;transition:background .18s,border-color .18s,color .18s,transform .18s}
.guest-login-modal__close:hover,.guest-login-modal__close:focus-visible{outline:0;border-color:var(--game-accent);background:var(--game-accent);color:var(--game-accent-ink);transform:scale(1.05)}
html[data-theme=light] .guest-login-modal__close{border-color:rgba(36,39,31,.16)!important;background:rgba(36,39,31,.07)!important;color:#30352b!important}
html[data-theme=light] .guest-login-modal__close:hover,html[data-theme=light] .guest-login-modal__close:focus-visible{border-color:#b49b28!important;background:#b49b28!important;color:#fff!important}
html[data-theme=light] .guest-login-modal__copy{border-color:rgba(128,107,16,.45);background:#fffdf8;color:#66550a}
html[data-theme=light] .guest-login-modal__confirm,html[data-theme=light] .guest-login-modal__group{border-color:#b49b28;background:#b49b28;color:#171912}
html[data-theme=light] .guest-login-modal__site-login{border-color:rgba(36,39,31,.16);background:#f2ede2;box-shadow:none;color:#30352b}
html[data-theme=light] .wager-access-modal__value{border-color:rgba(36,39,31,.14);background:#f2ede2}
html[data-theme=light] .wager-access-modal__value span{color:#5d6458}
html[data-theme=light] .wager-access-modal__value strong{color:#806b10}
html[data-theme=light] .account-session-modal button{border-color:#b49b28;background:#b49b28;color:#171912;box-shadow:0 8px 20px rgba(91,76,20,.16)}

.room-access-option{display:grid;grid-template-columns:minmax(0,1fr) 36px;align-items:center;gap:14px;padding:12px 13px;border:1px solid rgba(255,255,255,.13);border-radius:var(--radius-sm);background:rgba(255,255,255,.025);cursor:pointer}.room-access-option span{display:grid;grid-column:1;grid-row:1;gap:3px}.room-access-option strong{font-size:.88rem}.room-access-option small{color:var(--neutral-300);font-size:.72rem;line-height:1.35}.room-access-option input{position:relative;grid-column:2;grid-row:1;width:36px!important;min-width:36px!important;max-width:36px!important;height:20px!important;min-height:20px!important;margin:0!important;padding:0!important;appearance:none;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.09);box-shadow:none!important;cursor:pointer;outline:0}.room-access-option input::after{content:"";position:absolute;left:3px;top:3px;width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.72);box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform var(--duration-fast),background-color var(--duration-fast)}.room-access-option input:checked{border-color:color-mix(in srgb,var(--game-accent) 72%,transparent);background:color-mix(in srgb,var(--game-accent) 78%,#20251f)}.room-access-option input:checked::after{background:var(--game-accent-ink);transform:translateX(16px)}.room-access-option:has(input:focus-visible){border-color:color-mix(in srgb,var(--game-accent) 52%,rgba(255,255,255,.13));box-shadow:0 0 0 2px color-mix(in srgb,var(--game-accent) 10%,transparent)}.room-access-option:has(input:disabled){cursor:not-allowed;opacity:.72}.room-access-option input:disabled{cursor:not-allowed}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
