/* The 10.11.16 visual contract. Rule and input files are not altered. */
:root { --v14-gold:#d7b365; --v14-text:#f3e5cb; --v14-muted:#b39c85; --v14-line:#77503566; --v14-header:clamp(46px,calc(12 * var(--app-vh,1dvh)),76px); --v14-safe-left:env(safe-area-inset-left,0px); --v14-safe-right:env(safe-area-inset-right,0px); --v14-safe-top:env(safe-area-inset-top,0px); --v14-safe-bottom:env(safe-area-inset-bottom,0px); --v14-view-height:calc(calc(100 * var(--app-vh,1dvh)) - max(12px,var(--v14-safe-top)) - max(12px,var(--v14-safe-bottom))); }
body.v10114 { background:#090406; color:var(--v14-text); font-family:Manrope,sans-serif; }
body.v10114 button { cursor:pointer; -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
body.v10114 button:focus-visible, body.v10114 input:focus-visible, body.v10114 select:focus-visible { outline:2px solid #f3d48b !important; outline-offset:3px; }
body.v10114 [hidden] { display:none !important; }
[data-ui-icon='computer'] { --ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect x='3' y='4' width='26' height='19' rx='2' fill='none' stroke='black' stroke-width='2.4'/%3E%3Cpath d='M16 23v5m-7 0h14' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E"); }
.v14-site-header { display:flex; align-items:center; gap:2vw; width:100%; min-width:0; min-height:var(--v14-header); height:auto; border-bottom:1px solid #72482e44; }
.v14-wordmark { display:flex; align-items:center; gap:9px; padding:0; border:0; background:transparent; color:var(--v14-gold); }
.v14-wordmark img { width:clamp(24px,3.8vw,48px); height:clamp(28px,4.2vw,52px); }
.v14-wordmark b { font:800 clamp(10px,1.45vw,19px) Manrope; letter-spacing:.2em; }
.v14-main-nav { display:flex; flex:1; justify-content:center; align-items:stretch; align-self:stretch; gap:clamp(9px,1.7vw,25px); height:auto; min-width:0; }
.v14-main-nav button { position:relative; padding:0; border:0; background:none; color:#9e8d81; font:500 clamp(8px,1.1vw,14px) Manrope; white-space:nowrap; }
.v14-main-nav button.active { color:#e1be76; }
.v14-main-nav button.active::after { content:''; position:absolute; left:0; right:0; bottom:12%; height:1px; background:#c5984c; }
.v14-header-actions { display:flex; align-items:center; gap:1vw; }
.v14-header-icon { position:relative; display:grid; place-items:center; width:clamp(25px,3vw,38px); height:clamp(25px,3vw,38px); border:0; background:none; color:#bca88f; }
.v14-header-icon > span { display:grid; place-items:center; width:64%; height:64%; }
.v14-header-icon > span::before { width:100%; height:100%; }
.v14-attention-dot { display:none; position:absolute; top:2px; right:2px; width:6px; height:6px; background:#d8a755; border-radius:50%; }
.has-attention .v14-attention-dot { display:block; }
.v14-profile-chip { display:flex; align-items:center; gap:9px; max-width:23vw; padding:4px 8px; border:0; border-radius:8px; background:#2a1115a6; color:#f5e4bd; text-align:left; }
.v14-avatar-initial { flex-shrink:0; display:grid; place-items:center; width:clamp(27px,4vw,49px); height:clamp(27px,4vw,49px); border:1px solid #d1a651; border-radius:50%; background:linear-gradient(145deg,#ffe9a2,#c68e37); background-size:cover; background-position:center; color:#392010; font:800 clamp(15px,2.1vw,28px) Manrope; }
.v14-profile-chip > span { display:grid; min-width:0; gap:2px; }
.v14-profile-chip b { font:700 clamp(10px,1.25vw,16px) Manrope; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.v14-profile-chip small { color:#c2a770; font:500 clamp(8px,.9vw,12px) Manrope; }
.v14-gold { min-height:clamp(32px,calc(6 * var(--app-vh,1dvh)),48px); padding:6px 20px; border:1px solid #d9b166; border-radius:999px; background:linear-gradient(#efd287,#c29343); color:#321e13; font:800 clamp(10px,1.2vw,16px) Manrope; letter-spacing:.04em; }
.v14-outline { min-height:32px; padding:5px 16px; border:1px solid #95704488; border-radius:999px; background:#15080a; color:#d6ba7e; font:600 clamp(10px,1.1vw,14px) Manrope; }
.v14-back { display:grid; place-items:center; width:clamp(29px,3.5vw,43px); height:clamp(29px,3.5vw,43px); padding:0; border:1px solid #70503155; border-radius:50%; background:#2d1716aa; color:#d9b36b; font:500 21px/1 Manrope; }
.v14-screen-title { position:relative; text-align:center; }
.v14-screen-title .v14-back { position:absolute; left:0; top:0; }
.v14-screen-title h2 { display:flex; align-items:center; justify-content:center; gap:12px; margin:0 0 8px; color:#f0e2c8; font:700 clamp(26px,3.4vw,43px)/1.2 'Playfair Display',Georgia,serif; }
.v14-screen-title h2 > span { width:32px; height:32px; color:#cfaa5c; }
.v14-screen-title h2 > span::before { width:100%; height:100%; }
.v14-screen-title p { margin:0; color:#b5a18b; font:400 clamp(10px,1.2vw,15px) Manrope; }
body.v10114 #tournamentIntroModal, body.v10114 #rankingModal { padding:12px !important; background:#090406 !important; backdrop-filter:none !important; }
.v14-tournament, .v14-ranking { display:grid; grid-template-rows:auto minmax(0,1fr); gap:calc(4 * var(--app-vh,1dvh)); width:min(100%,1480px); height:calc(calc(100 * var(--app-vh,1dvh)) - 24px); padding:calc(4 * var(--app-vh,1dvh)) 4vw; border:1px solid var(--v14-line); border-radius:10px; background:radial-gradient(at 70% 40%,#3b121633,transparent 65%),#14070b; }
.v14-tournament-grid { display:grid; grid-template-columns:1fr 1fr; gap:3vw; min-height:0; padding:0 6vw; }
.v14-tournament-stats { min-width:0; display:grid; grid-template-rows:repeat(3,1fr) auto; gap:8px; padding:calc(2 * var(--app-vh,1dvh)) 2vw; border:1px solid #684c3233; border-radius:9px; background:#190b10; }
.v14-tournament-stats > div { display:grid; grid-template-columns:32px 1fr auto; align-items:center; gap:12px; color:#dfca9f; }
.v14-tournament-stats > div > span { display:grid; place-items:center; width:28px; height:28px; color:#d7ae58; font-size:26px; }
.v14-tournament-stats small { font:500 clamp(10px,1.15vw,15px) Manrope; }
.v14-tournament-stats b { font:700 clamp(16px,2.2vw,28px) Manrope; }
.v14-tournament-stats button { justify-self:start; margin-top:5px; }
.v14-tournament-entry { display:flex; flex-direction:column; justify-content:end; min-width:0; padding:0 14px calc(2 * var(--app-vh,1dvh)); border:1px solid #684c3233; border-radius:9px; background:#18090d; }
.v14-trophy-art { flex:1; min-height:0; background:url('hero-trophy-v10114.png') center 25%/cover no-repeat; filter:sepia(.45) saturate(.8); mask-image:radial-gradient(ellipse 68% 66% at 50% 50%,#000 45%,transparent 88%); }
.v14-tournament-entry p { margin:10px 0 0; text-align:center; color:#a58e76; font:400 clamp(9px,1.02vw,13px) Manrope; }
.v14-ranking { gap:20px; }
#visualLeaderboardHost { min-height:0; overflow:auto; }
body.v10114 #leaderboard { display:grid !important; max-height:none !important; padding:10px; border:0; }
/* Search screens deliberately have no giant emblem or photographic UI text. */
body.v10114 #matchmakingModal { padding:12px !important; overflow:hidden !important; background:#090406 !important; backdrop-filter:none !important; }
body.v10114 #matchmakingModal .matchmaking-card { position:relative !important; display:grid !important; grid-template-rows:auto auto minmax(0,1fr) auto; align-content:center; gap:calc(2 * var(--app-vh,1dvh)); width:min(100%,1480px) !important; height:calc(calc(100 * var(--app-vh,1dvh)) - 24px) !important; padding:calc(7 * var(--app-vh,1dvh)) 10vw calc(3 * var(--app-vh,1dvh)) !important; border:1px solid var(--v14-line) !important; border-radius:10px !important; background:radial-gradient(ellipse at center,#33101b77,transparent 70%),#12060a !important; box-shadow:none !important; overflow:hidden !important; }
body.v10114 #matchmakingModal .matchmaking-card > * { position:static !important; transform:none !important; }
body.v10114 #matchmakingModal .matchmaking-card::before, body.v10114 #matchmakingModal .matchmaking-card::after, body.v10114 #matchmakingModal .match-mode, body.v10114 #matchmakingModal .matchmaking-emblem, body.v10114 #matchmakingModal .matchmaking-ornament, body.v10114 #matchmakingModal .match-radar, body.v10114 #matchmakingModal .eyebrow, body.v10114 #matchmakingModal .shuffle-deck, body.v10114 #matchmakingModal .matchmaking-rank { display:none !important; }
body.v10114 #matchmakingModal #matchmakingTitle { margin:0 !important; color:#f1e2c9; font:700 clamp(23px,2.8vw,37px)/1.3 'Playfair Display',Georgia,serif !important; text-align:center; white-space:normal; }
body.v10114 #matchmakingModal #matchmakingSubtitle { margin:0 0 calc(1 * var(--app-vh,1dvh)) !important; font:400 clamp(10px,1.2vw,15px) Manrope !important; color:#aa927e; }
body.v10114 #matchmakingModal .matchmaking-entrants { width:100% !important; max-height:calc(38 * var(--app-vh,1dvh)); align-self:center; display:grid !important; grid-template-columns:1fr 1fr; grid-auto-rows:minmax(65px,1fr); gap:12px !important; margin:0 !important; }
body.v10114 #matchmakingModal .match-entrant { position:relative; display:grid; grid-template-columns:clamp(35px,5vw,56px) minmax(0,1fr); align-content:center; align-items:center; gap:5px 14px; min-height:0 !important; padding:12px 18px !important; border:1px solid #63402e77 !important; border-radius:9px !important; background:#1a0a0f !important; opacity:1 !important; }
body.v10114 #matchmakingModal .match-entrant.joined { border-color:#ae8754aa !important; background:linear-gradient(120deg,#391320,#211016) !important; box-shadow:inset 0 0 0 1px #d5af6944; }
body.v10114 #matchmakingModal .match-entrant > i { grid-row:1; width:clamp(35px,5vw,56px); height:clamp(35px,5vw,56px); border:1px solid #b88c46; font:700 clamp(19px,2.4vw,30px) Manrope; box-shadow:none; }
body.v10114 #matchmakingModal .match-entrant > span { display:grid !important; gap:5px; min-width:0; }
body.v10114 #matchmakingModal .match-entrant b { margin:0 !important; font:600 clamp(10px,1.3vw,17px) Manrope !important; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#d4c5ae; }
body.v10114 #matchmakingModal .match-entrant small { display:none; }
body.v10114 #matchmakingModal .match-entrant > .entrant-ready { grid-column:1/-1; color:#48c989; font:italic 500 clamp(10px,1.1vw,14px) Manrope; text-align:left; }
body.v10114 #matchmakingModal .match-entrant.waiting > i { background:#15090d; color:#846b45; }
body.v10114 #matchmakingModal .match-entrant.waiting > i > span { width:65%; height:65%; background:none; filter:none; }
body.v10114 #matchmakingModal .match-entrant.waiting > i > span::before { width:100%; height:100%; }
body.v10114 #matchmakingModal .match-entrant.waiting::after { content:''; position:absolute; top:calc(50% - 10px); right:18px; width:20px; height:20px; border:3px dotted #b38a48; border-left-color:transparent; border-radius:50%; animation:v14-spin 2.2s linear infinite; }
body.v10114 #matchmakingModal .match-entrant.waiting > span { padding-right:20px; }
body.v10114 #matchmakingModal #matchmakingCancel { display:grid !important; place-items:center; justify-self:center; width:clamp(150px,21vw,250px) !important; height:clamp(31px,calc(6 * var(--app-vh,1dvh)),44px) !important; min-height:0 !important; margin:0 !important; padding:4px 20px !important; border:1px solid #8c6d4377 !important; border-radius:999px !important; background:#13080b !important; box-shadow:none !important; color:#d9bf8c !important; font:700 clamp(10px,1.2vw,15px) Manrope !important; letter-spacing:.1em; }
body.v10114 #matchmakingModal #matchmakingCancel::before { display:none; }
body.v10114 #matchmakingModal .match-time { position:absolute !important; left:12px; bottom:8px; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
@keyframes v14-spin { to { rotate:360deg; } }
body.v10114 #matchmakingModal #matchmakingTitle { grid-row:1; }
body.v10114 #matchmakingModal #matchmakingSubtitle { grid-row:2; }
body.v10114 #matchmakingModal #matchmakingEntrants { grid-row:3; }
body.v10114 #matchmakingModal #matchmakingCancel { grid-row:4; }
body.v10114 #matchmakingModal #matchmakingSubtitle { text-align:center; }
body.v10114 #matchmakingModal .match-entrant > i { display:grid; place-items:center; border-radius:50%; background:linear-gradient(#edcf87,#bd8b3b); color:#3c2311; font-style:normal; }
body.v10114 #matchmakingModal .v14-queue-back { position:absolute !important; top:20px; left:25px; }
/* Friends: one full-width roster, search at the top, two primary tabs. */
body.v10114 #friendsModal, body.v10114 #clubModal, body.v10114 #settingsModal { padding:12px !important; background:#090406 !important; backdrop-filter:none !important; }
body.v10114 #friendsModal .friends-v1052 { position:relative; width:min(100%,1480px) !important; height:calc(calc(100 * var(--app-vh,1dvh)) - 24px) !important; min-height:0 !important; max-height:none !important; display:grid !important; grid-template-rows:auto auto minmax(0,1fr); gap:0; padding:calc(3 * var(--app-vh,1dvh)) 3vw !important; border:1px solid var(--v14-line) !important; border-radius:10px !important; background:radial-gradient(at 15% 0,#40131c33,transparent 65%),#14070b !important; box-shadow:none !important; text-align:left !important; }
body.v10114 #friendsModal .friends-v1052-head { display:grid !important; grid-template-columns:1fr minmax(260px,62%); align-items:center; gap:3vw; min-height:calc(12 * var(--app-vh,1dvh)); padding:0 !important; border:0 !important; border-radius:0 !important; background:none !important; }
body.v10114 #friendsModal .screen-title { display:flex; align-items:center; gap:14px; padding:0; border:0; background:transparent; }
body.v10114 #friendsModal .screen-title > span { display:none; }
body.v10114 #friendsModal .screen-back, body.v10114 #clubModal .profile-back, body.v10114 #settingsModal .screen-back { position:static !important; display:grid; place-items:center; flex-shrink:0; width:clamp(29px,3.5vw,43px) !important; height:clamp(29px,3.5vw,43px) !important; margin:0; padding:0; border:0 !important; border-radius:50%; background:#321617 !important; color:#d8b26d; box-shadow:none !important; }
body.v10114 #friendsModal .screen-back::before, body.v10114 #clubModal .profile-back::before, body.v10114 #settingsModal .screen-back::before { width:44%; height:44%; }
body.v10114 #friendsModal #friendsTitle { margin:0; font:700 clamp(24px,3.1vw,40px)/1.2 'Playfair Display',Georgia,serif !important; color:#f1e1c8; }
body.v10114 #friendsModal .friend-search { display:grid !important; grid-template-columns:minmax(0,1fr) auto; gap:14px; width:100% !important; height:auto !important; margin:0 !important; padding:0 !important; border:0 !important; background:none !important; }
body.v10114 #friendsModal #friendSearch { width:100% !important; min-width:0; height:clamp(31px,calc(6.5 * var(--app-vh,1dvh)),46px) !important; padding:5px 15px !important; border:1px solid #72503d66 !important; border-radius:999px; background:#15080c !important; color:#f0ddbc; font:400 clamp(10px,1.2vw,15px) Manrope; }
body.v10114 #friendsModal #friendSearchBtn { width:auto !important; height:clamp(31px,calc(6.5 * var(--app-vh,1dvh)),46px) !important; padding:5px 18px !important; border:1px solid #d4ad65; border-radius:999px !important; background:linear-gradient(#ebce84,#bc8d45) !important; color:#311e13; font:700 clamp(10px,1.1vw,14px) Manrope !important; white-space:nowrap; }
body.v10114 #friendsModal .friends-tabs { display:flex; align-items:center; justify-content:start; gap:0; width:100% !important; min-height:clamp(38px,calc(9 * var(--app-vh,1dvh)),56px); margin:calc(2 * var(--app-vh,1dvh)) 0 0 !important; padding:0 !important; border:0 !important; border-bottom:1px solid #64412f77 !important; border-radius:7px 7px 0 0 !important; background:#2c151b80 !important; }
body.v10114 #friendsModal .friends-tabs button { position:relative; display:block; flex:0 1 38%; width:auto; min-width:0; min-height:clamp(36px,calc(8 * var(--app-vh,1dvh)),54px); padding:8px 15px !important; border:0 !important; border-radius:0 !important; background:none !important; box-shadow:none !important; color:#a68e79; font:600 clamp(10px,1.2vw,15px) Manrope !important; text-align:left; }
body.v10114 #friendsModal .friends-tabs button b { font:inherit; }
body.v10114 #friendsModal .friends-tabs button.active { color:#d9b86d; }
body.v10114 #friendsModal .friends-tabs button.active::after { content:''; position:absolute; bottom:-1px; left:0; right:20%; height:2px; background:#c5994e; }
body.v10114 #friendsModal [data-friends-tab='all'] { order:0; }
body.v10114 #friendsModal [data-friends-tab='requests'] { order:1; }
body.v10114 #friendsModal [data-friends-tab='online'] { order:2; flex:0 1 24%; margin-left:auto; text-align:right; opacity:.75; }
body.v10114 #friendsModal [data-friends-tab='online'] > span { display:none; }
body.v10114 #friendsModal .friends-v1052-layout { display:block !important; min-height:0; height:auto !important; padding:0 !important; border:0 !important; overflow:auto !important; }
body.v10114 #friendsModal .friends-roster { width:100%; height:100%; min-height:0; padding:0 !important; border:0 !important; border-radius:0 !important; background:#180a0f77 !important; box-shadow:none !important; }
body.v10114 #friendsModal .friends-empty-state, body.v10114 #friendsModal .friends-add-panel { display:none !important; }
body.v10114 #friendsModal .friends-pane { height:auto !important; min-height:100%; overflow:visible; }
body.v10114 #friendsModal .friends-pane:not(.active) { display:none !important; }
body.v10114 #friendsModal .friend-list { display:grid !important; gap:0 !important; width:100% !important; max-height:none !important; margin:0 !important; padding:0 !important; }
body.v10114 #friendsModal .friend-row { min-height:clamp(45px,calc(12 * var(--app-vh,1dvh)),76px); display:grid !important; grid-template-columns:clamp(30px,4.2vw,50px) minmax(0,1fr) auto; align-items:center; gap:13px; margin:0; padding:9px 18px !important; border:0 !important; border-bottom:1px solid #69432e44 !important; border-radius:0 !important; background:transparent !important; }
body.v10114 #friendsModal .friend-avatar { width:clamp(30px,4.2vw,50px) !important; height:clamp(30px,4.2vw,50px) !important; border:1px solid #9a8e77; background:linear-gradient(145deg,#b6ad99,#514a44); color:#f4e9d0; }
body.v10114 #friendsModal .friend-avatar { position:relative; display:grid; place-items:center; border-radius:50%; font:700 17px Manrope; }
body.v10114 #friendsModal .friend-presence { position:absolute; width:8px; height:8px; right:0; bottom:0; border:1px solid #211016; border-radius:50%; background:#68615a; }
body.v10114 #friendsModal .friend-presence.online { background:#49c989; }
body.v10114 #friendsModal .friend-identity { display:grid; min-width:0; gap:3px; }
body.v10114 #friendsModal .friend-identity small { color:#888279; }
body.v10114 #friendsModal .friend-row:has(.friend-presence.online) .friend-identity small { color:#4ac88d; }
body.v10114 #friendsModal .friend-identity small.playing { color:#caad63; }
body.v10114 #friendsModal .friend-identity b { font:600 clamp(11px,1.35vw,17px) Manrope; }
body.v10114 #friendsModal .friend-identity small { margin-top:4px; font:400 clamp(8px,.95vw,12px) Manrope; }
body.v10114 #friendsModal .friend-rank { display:none; }
body.v10114 #friendsModal .friend-actions { display:flex; gap:8px; }
body.v10114 #friendsModal .friend-actions button { min-width:clamp(65px,10vw,120px); min-height:clamp(26px,calc(5 * var(--app-vh,1dvh)),35px); height:auto !important; border:1px solid #95734199; border-radius:999px !important; background:transparent !important; color:#d8bb7c; font:500 clamp(9px,1.05vw,14px) Manrope !important; padding:4px 12px; }
body.v10114 #friendsModal .friend-list > p { margin:0; padding:30px; text-align:center; color:#ac9581; font:400 clamp(11px,1.3vw,17px)/1.7 Manrope; }
body.v10114 #friendsModal #friendSearchResults { position:absolute; z-index:20; top:calc(calc(12 * var(--app-vh,1dvh)) + 14px); right:3vw; width:min(62%,700px) !important; max-height:calc(65 * var(--app-vh,1dvh)); overflow:auto; margin:0 !important; border:1px solid #88603b; border-radius:9px; background:#210d14; box-shadow:0 15px 50px #000a; }
body.v10114 #friendsModal #friendSearchResults:empty { display:none; }
/* Profile and settings use the same quiet sidebar, not the old neon dashboard. */
body.v10114 #clubModal .profile-card-v1053 { position:relative; display:grid !important; grid-template-columns:27% minmax(0,1fr); grid-template-rows:auto minmax(0,1fr); column-gap:3vw; row-gap:calc(3 * var(--app-vh,1dvh)); width:min(100%,1480px) !important; height:calc(calc(100 * var(--app-vh,1dvh)) - 24px) !important; padding:calc(4 * var(--app-vh,1dvh)) 4vw !important; border:1px solid var(--v14-line) !important; border-radius:10px !important; background:radial-gradient(at 80% 20%,#36131a33,transparent),#14070b !important; box-shadow:none !important; text-align:left !important; overflow:hidden; }
body.v10114 #clubModal .v14-profile-title { grid-column:1/-1; margin:0; padding-left:55px; font:700 clamp(25px,3.3vw,43px)/1.2 'Playfair Display',Georgia,serif; color:#f0e1c7; }
body.v10114 #clubModal .profile-back { position:absolute !important; left:4vw; top:calc(4 * var(--app-vh,1dvh)); }
body.v10114 #clubModal .v14-profile-nav { grid-row:2; grid-column:1; }
.v14-profile-nav { display:flex; flex-direction:column; align-self:stretch; gap:7px; min-width:0; padding-right:2vw; border-right:1px solid #58382d55; }
.v14-profile-nav button { display:flex; align-items:center; gap:15px; min-height:clamp(34px,calc(8 * var(--app-vh,1dvh)),52px); padding:7px 15px; border:0; border-radius:7px; background:none; color:#a68f7b; text-align:left; font:500 clamp(10px,1.3vw,16px) Manrope; }
.v14-profile-nav button.active { background:linear-gradient(110deg,#3a1f1f,#32141955); color:#dfbb72; }
.v14-profile-nav button > span { display:grid; place-items:center; flex-shrink:0; width:22px; height:22px; color:#c8a45e; }
.v14-profile-nav button > span::before { width:100%; height:100%; }
body.v10114 #clubModal .v14-profile-main { position:relative; display:flex; flex-direction:column; grid-row:2; grid-column:2; min-width:0; min-height:0; overflow:auto; }
body.v10114 #clubModal .profile-coins, body.v10114 #clubModal #logoutBtn, body.v10114 #clubModal .profile-dashboard, body.v10114 #clubModal #profileStats { display:none !important; }
body.v10114 #clubModal .profile-hero-v1053 { position:relative; display:flex !important; grid-template-columns:none !important; align-items:center; gap:20px; min-height:clamp(86px,calc(20 * var(--app-vh,1dvh)),130px); margin:0 !important; padding:0 0 calc(3 * var(--app-vh,1dvh)) !important; border:0; background:none; }
body.v10114 #clubModal #clubAvatar { position:static !important; display:grid !important; place-items:center; flex-shrink:0; width:clamp(65px,10vw,120px) !important; height:clamp(65px,10vw,120px) !important; margin:0 !important; border:1px solid #b48940; border-radius:50% !important; background:linear-gradient(140deg,#f4d891,#b88632); color:#38210f; font:700 clamp(30px,4vw,52px) Manrope; box-shadow:none !important; }
body.v10114 #clubModal #clubAvatar > span { position:static; display:grid; place-items:center; width:100%; height:100%; background:none; clip-path:none; }
body.v10114 #clubModal #clubAvatar::before, body.v10114 #clubModal #clubAvatar::after, body.v10114 #clubModal #clubAvatar > span::before, body.v10114 #clubModal #clubAvatar > span::after { display:none; }
body.v10114 #clubModal #clubTitle { margin:0 0 8px; font:700 clamp(18px,2.6vw,32px) Manrope !important; }
body.v10114 #clubModal #clubLeague { font:400 clamp(11px,1.3vw,17px) Manrope; color:#b89c69; }
body.v10114 #clubModal #changePhotoBtn { position:absolute; right:0; top:20%; width:32px; height:32px; min-width:0; padding:0; border:0; background:transparent; color:#cfb170; font-size:0; }
body.v10114 #clubModal #changePhotoBtn::before { content:'✎'; font:normal 23px Georgia; }
.v14-profile-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; padding:calc(3 * var(--app-vh,1dvh)) 0; border-block:1px solid #58382d55; }
.v14-profile-kpis > div { display:grid; gap:9px; }
.v14-profile-kpis small { color:#9e8976; font:400 clamp(9px,1.1vw,14px) Manrope; }
.v14-profile-kpis b { color:#ebdcbf; font:700 clamp(20px,2.6vw,34px) Manrope; }
.v14-achievements { padding-top:calc(3 * var(--app-vh,1dvh)); }
.v14-achievements h3 { margin:0 0 12px; color:#bdad91; font:600 clamp(12px,1.3vw,17px) Manrope; }
.v14-achievements > div { display:flex; gap:4vw; }
.v14-achievements span { display:grid; place-items:center; width:clamp(35px,5vw,60px); height:clamp(35px,5vw,60px); font:normal clamp(30px,4.7vw,55px)/1 Georgia; color:#747170; filter:grayscale(1); opacity:.65; }
.v14-achievements span.earned { filter:none; color:#d5ad5b; opacity:1; }
body.v10114 #clubModal #authPanel { flex-shrink:0; margin:0 0 15px; padding:10px; border:1px solid #6a4937; border-radius:7px; background:#1e0b11; }
body.v10114 #clubModal[data-section='stats'] .profile-dashboard { display:grid !important; grid-template-columns:1fr 2fr; gap:20px; min-height:180px; margin-top:20px; padding:12px; }
body.v10114 #clubModal .profile-games-card header { display:flex; justify-content:space-between; margin-bottom:10px; }
body.v10114 #clubModal .game-stat-row { display:grid; grid-template-columns:90px 1fr 35px; gap:10px; margin:12px 0; align-items:center; font-size:11px; }
body.v10114 #clubModal .game-stat-row > i { height:5px; background:#472b24; border-radius:99px; }
body.v10114 #clubModal .game-stat-row em { display:block; height:100%; border-radius:99px; background:#c7a457; }
body.v10114 #clubModal .win-ring { display:grid; place-items:center; width:80px; height:80px; margin-bottom:8px; border:5px solid #b6924f; border-radius:50%; color:#e1c48c; font-size:22px; }
body.v10114 #clubModal[data-section='stats'] .v14-achievements { display:none; }
body.v10114 #settingsModal .settings-v1052 { width:min(100%,1480px) !important; height:calc(calc(100 * var(--app-vh,1dvh)) - 24px) !important; max-height:none !important; padding:calc(4 * var(--app-vh,1dvh)) 4vw !important; border:1px solid var(--v14-line) !important; border-radius:10px !important; background:#16090d !important; box-shadow:none !important; display:grid; grid-template-rows:auto minmax(0,1fr) auto; gap:calc(3 * var(--app-vh,1dvh)); }
body.v10114 #settingsModal .screen-title { display:flex; align-items:center; gap:14px; }
body.v10114 #settingsModal h2 { margin:0; font:700 clamp(25px,3.2vw,42px)/1.2 'Playfair Display',Georgia,serif; }
body.v10114 #settingsModal .settings-v1052-grid { min-height:0; overflow:auto; gap:16px; }
body.v10114 #settingsModal .settings-list { border:1px solid #65412f66; background:#1f0d14; border-radius:8px; }
body.v10114 #settingsModal .settings-row { border-color:#69433244; min-height:clamp(39px,calc(9 * var(--app-vh,1dvh)),58px); }
body.v10114 #settingsModal h3 { color:#b89d69; font-size:11px; letter-spacing:.1em; }
body.v10114 #settingsModal .settings-footer { display:flex; flex-wrap:wrap; gap:15px; justify-content:space-between; align-items:center; margin:0; padding:0; }
body.v10114 #settingsModal .settings-footer button { min-height:29px; border:1px solid #86653a66; border-radius:999px; background:#211014; color:#c7ad75; font-size:10px; padding:4px 12px; }
body.v10114 .modal-backdrop:not(#setupModal):not(#matchModeModal):not(#friendsModal):not(#clubModal):not(#settingsModal):not(#matchmakingModal):not(#tournamentIntroModal):not(#rankingModal) > .modal { border-color:#896238 !important; border-radius:12px !important; background:linear-gradient(140deg,#2a111a,#12070b) !important; color:#efdfbd; }
/* In-game: burgundy oval, restrained brass rim, compact score plaques. */
body.v10114 .app-shell { display:block !important; position:relative !important; isolation:isolate; width:100vw !important; height:calc(100 * var(--app-vh,1dvh)) !important; background:linear-gradient(#14060644,#0c040488),url('murlan-v1067-club-bg.png') center 35%/cover no-repeat !important; }
body.v10114 .topbar { position:absolute !important; inset:0 !important; height:100% !important; min-height:0 !important; padding:0 !important; border:0 !important; background:transparent !important; pointer-events:none !important; }
body.v10114 .topbar #homeBtn { position:absolute !important; left:3% !important; top:4% !important; display:grid !important; place-items:center; width:clamp(30px,4vw,46px) !important; height:clamp(30px,4vw,46px) !important; min-width:0 !important; margin:0 !important; padding:0 !important; border:1px solid #77503355 !important; border-radius:50% !important; background:#2a1515cc !important; color:#d4b474; pointer-events:auto !important; }
body.v10114 .topbar #homeBtn > * { display:none !important; }
body.v10114 .topbar #homeBtn::before { content:'←'; font:500 24px/1 Manrope; }
body.v10114 .topbar .top-actions { position:static !important; display:contents !important; transform:none !important; }
body.v10114 .topbar .icon-btn { position:absolute !important; width:clamp(30px,3.6vw,44px) !important; height:clamp(30px,3.6vw,44px) !important; border:1px solid #79553055 !important; background:#201010cc !important; box-shadow:none !important; color:#c2a875 !important; }
body.v10114 .topbar #gameMenuBtn { top:auto !important; bottom:5% !important; right:3% !important; }
body.v10114 .topbar #gameChatBtn { top:auto !important; bottom:5% !important; left:3% !important; }
body.v10114 .topbar #gameEmojiBtn { top:auto !important; bottom:calc(5% + 52px) !important; left:3% !important; }
body.v10114 #gameMenuPopover { position:absolute !important; top:auto !important; bottom:calc(5% + 50px) !important; right:3% !important; background:#211016 !important; border-color:#775333 !important; }
body.v10114 .quick-popover { position:absolute !important; top:auto !important; bottom:calc(5% + 50px) !important; left:3% !important; right:auto !important; }
body.v10114 #reactionPicker { bottom:calc(5% + 100px) !important; }
body.v10114 #gameMenuPopover .language-switch { display:flex !important; width:100%; height:30px !important; border:0 !important; box-shadow:none !important; }
body.v10114 #gameStage { position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; overflow:hidden !important; background:transparent !important; }
body.v10114 #gameStage .table-wrap { position:absolute !important; inset:9% 5% 8% !important; padding:0 !important; perspective:none !important; transform:none !important; }
body.v10114 #gameStage .wood-rim { width:100% !important; height:100% !important; padding:clamp(7px,1.1vw,14px) !important; border:1px solid #a47737 !important; border-radius:50%/45% !important; background:linear-gradient(120deg,#180d09,#624020 8%,#c2944a 12%,#4c2b12 15%,#221207 45%,#9a652d 79%,#301a0d 90%) !important; box-shadow:0 14px 32px #000a,inset 0 0 0 4px #241106 !important; transform:none !important; }
body.v10114 #gameStage .table-felt { height:100% !important; overflow:visible !important; border:1px solid #ae813aaa !important; border-radius:50%/45% !important; background:radial-gradient(ellipse at 50% 40%,#5a0928,#35051b 65%,#240714) !important; box-shadow:inset 0 0 60px #140009aa !important; }
body.v10114 #gameStage .felt-pattern { opacity:.09 !important; background:repeating-linear-gradient(105deg,transparent,transparent 3px,#270714 3px,#270714 4px) !important; }
body.v10114 #gameStage .table-brand { display:none !important; }
body.v10114 #gameStage .seat { position:absolute !important; display:flex !important; flex-direction:row; align-items:center; justify-content:start; gap:10px; width:clamp(145px,21vw,250px) !important; max-width:none !important; min-width:0 !important; min-height:0 !important; height:clamp(49px,calc(11 * var(--app-vh,1dvh)),72px) !important; padding:6px 10px !important; border:1px solid #93624277 !important; border-radius:10px !important; background:linear-gradient(120deg,#311018ef,#1f1010ed) !important; box-shadow:0 4px 13px #0005 !important; backdrop-filter:none !important; z-index:55 !important; }
body.v10114 #gameStage .seat.active { border-color:#c69a52 !important; box-shadow:0 0 13px #c39a412d !important; }
body.v10114 #gameStage .seat-top { inset:-4% auto auto 50% !important; transform:translateX(-50%) !important; }
body.v10114 #gameStage .seat-left { inset:37% auto auto -1% !important; transform:translateY(-50%) !important; }
body.v10114 #gameStage .seat-right { inset:37% -1% auto auto !important; transform:translateY(-50%) !important; }
body.v10114 #gameStage .seat-bottom { inset:auto auto -3% 50% !important; transform:translateX(-50%) !important; }
body.v10114 #gameStage .seat-bottom::after { display:none !important; }
body.v10114 #gameStage .seat .avatar { display:grid; place-items:center; flex:0 0 auto !important; width:clamp(33px,5vw,56px) !important; height:clamp(33px,5vw,56px) !important; border:1px solid #ac843e !important; border-radius:50% !important; box-shadow:none !important; overflow:hidden; }
body.v10114 #gameStage .seat .avatar::before, body.v10114 #gameStage .seat .avatar::after { display:none !important; }
body.v10114 #gameStage .seat-meta { display:grid !important; flex:1; align-content:center; gap:3px; min-width:0 !important; width:auto !important; padding:0 !important; border:0 !important; border-radius:0 !important; background:none !important; box-shadow:none !important; text-align:left !important; }
body.v10114 #gameStage .seat-meta strong, body.v10114 #gameStage .seat-meta span { display:block; width:100% !important; max-width:none !important; padding:0 !important; border:0 !important; background:none !important; text-align:left !important; font:600 clamp(10px,1.35vw,17px)/1.25 Manrope !important; color:#eadbb9; }
body.v10114 #gameStage .seat-meta span { font-size:clamp(9px,1.15vw,14px) !important; font-weight:400 !important; color:#c4ae82; }
body.v10114 #gameStage .turn-timer { position:absolute !important; inset:auto 8px 0 8px !important; width:auto !important; height:2px !important; border:0 !important; border-radius:1px !important; background:linear-gradient(90deg,#e0bb63 var(--turn-progress),transparent var(--turn-progress)) !important; mask:none !important; }
body.v10114 #gameStage .opponent-hand { display:none !important; }
.v14-seat-card-count { display:grid; place-items:center; flex:0 0 auto; width:20px; height:29px; border:1px solid #9b7a51; border-radius:4px; background:linear-gradient(145deg,#615343,#c0a786); color:#241610; font:800 10px Manrope; }
.v14-round-hud { position:absolute; top:31%; left:50%; transform:translateX(-50%); z-index:15; display:grid; gap:8px; justify-items:center; color:#b19475; font:400 clamp(11px,1.5vw,19px) Manrope; pointer-events:none; }
.v14-round-hud b { font-weight:400; }
.v14-round-hud > i { color:#c6a34e; font:normal clamp(23px,3vw,40px)/1 Georgia; }
body.v10114 #gameStage .center-play { inset:40% 34% 30% !important; z-index:22 !important; }
body.v10114 #gameStage .empty-pile { border:0 !important; background:transparent !important; box-shadow:none !important; opacity:0; }
body.v10114 #gameStage .pile .card { width:clamp(45px,5vw,73px) !important; height:clamp(66px,7.3vw,106px) !important; flex-basis:clamp(45px,5vw,73px) !important; }
body.v10114 #gameStage .player-dock, body.v10114.fullscreen-active #gameStage .player-dock { left:19% !important; right:19% !important; bottom:calc(19% + var(--v14-hand-clearance,0px)) !important; height:28% !important; z-index:45 !important; }
body.v10114 #gameStage #playerHand { align-items:end !important; }
body.v10114 #gameStage #playerHand > .card { width:clamp(58px,6.5vw,94px) !important; height:clamp(86px,9.55vw,138px) !important; flex-basis:clamp(58px,6.5vw,94px) !important; border:1px solid #d5c8a9 !important; border-radius:6px !important; background:linear-gradient(145deg,#fffcf2,#e8dfc9) !important; box-shadow:0 5px 11px #0008 !important; }
body.v10114 #gameStage #playerHand > .card[aria-pressed='true'] { border-color:#f3d185 !important; box-shadow:0 0 0 2px #f0c566,0 0 15px #dfaf3e77,0 8px 18px #0008 !important; }
body.v10114 #gameStage #playerHand .corner { top:5px !important; left:6px !important; font-size:clamp(13px,1.5vw,21px) !important; }
body.v10114 #gameStage #playerHand .corner small { font-size:clamp(12px,1.3vw,18px) !important; }
body.v10114 #gameStage .card[data-face] .suit-big { color:transparent !important; position:absolute; font-size:0 !important; transform:none !important; }
body.v10114 #gameStage .card[data-face] .suit-big::before { content:''; display:block; width:100%; height:100%; background:url('court-classic-v101116.webp') var(--court-column,0%) var(--court-row,0%)/300% 400% no-repeat; }
/* Atlas columns J/Q/K; rows spades/hearts/clubs/diamonds match the reference. */
body.v10114 #gameStage .card[data-face='J'] { --court-column:0%; }
body.v10114 #gameStage .card[data-face='Q'] { --court-column:50%; }
body.v10114 #gameStage .card[data-face='K'] { --court-column:100%; }
body.v10114 #gameStage .card[data-id$='-♠'] { --court-row:0%; }
body.v10114 #gameStage .card[data-id$='-♥'] { --court-row:33.333333%; }
body.v10114 #gameStage .card[data-id$='-♣'] { --court-row:66.666667%; }
body.v10114 #gameStage .card[data-id$='-♦'] { --court-row:100%; }
body.v10114 .controls.turn-visible #playBtn, body.v10114 .controls.swap-visible #playBtn, body.v10114 .controls.turn-visible #passBtn { width:clamp(84px,11vw,140px) !important; height:clamp(36px,calc(7 * var(--app-vh,1dvh)),47px) !important; bottom:7% !important; border:1px solid #a17b3e !important; border-radius:999px !important; box-shadow:0 3px 8px #0006 !important; font-size:clamp(10px,1.2vw,15px) !important; }
body.v10114 .controls.turn-visible #playBtn, body.v10114 .controls.swap-visible #playBtn { right:3% !important; left:auto !important; background:linear-gradient(#e7ca7e,#b98a3e) !important; color:#321c0e !important; }
body.v10114 .controls.turn-visible #passBtn { left:3% !important; right:auto !important; background:#211014 !important; color:#d5ba7c !important; }
body.v10114 .toast { max-width:75vw; padding:10px 16px; border:1px solid #8a653b; border-radius:7px; background:#261019f2; color:#eedbb6; font-size:12px; }
body.v10114 .app-shell::before, body.v10114 .app-shell::after, body.v10114 #gameStage::before, body.v10114 #gameStage::after { display:none !important; }
body.v10114 #gameStage #seats .seat { display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important; justify-items:normal !important; align-content:normal !important; }
body.v10114 #gameStage #seats .seat { gap:12px !important; }
body.v10114 #gameStage #seats .seat .avatar { position:relative !important; inset:auto !important; transform:none !important; margin:0 !important; }
body.v10114 #gameStage #seats .seat-meta { position:static !important; inset:auto !important; transform:none !important; margin:0 !important; justify-items:start !important; }
body.v10114 #gameStage #seats .seat-meta strong, body.v10114 #gameStage #seats .seat-meta span { margin:0 !important; text-align:left !important; }
body.v10114 #gameStage .v14-seat-card-count { position:static !important; inset:auto !important; transform:none !important; }
body.v10114 #gameStage #seats .seat[data-seat='0'] .avatar, body.v10114 #gameStage #seats .seat[data-seat='2'] .avatar { background-position:0 50% !important; }
body.v10114 #gameStage #seats .seat[data-seat='1'] .avatar { background-position:50% 50% !important; }
body.v10114 #gameStage #seats .seat[data-seat='3'] .avatar { background-position:100% 50% !important; }
/* Keep each 1024/3 by 1536/4 atlas cell at its actual 8:9 aspect ratio.
   The rank/suit share a clear header; the full artwork is centered below it. */
body.v10114 #gameStage .card[data-face] .suit-big {
  position:absolute !important;inset:auto auto 6% 5% !important;
  width:90% !important;height:auto !important;aspect-ratio:8/9;
}
body.v10114 #gameStage .card[data-face]:not(.joker) .corner,
body.v10114 #gameStage #playerHand > .card[data-face] .corner {
  inset:5% 6% auto !important;width:auto !important;height:auto !important;
  display:block !important;text-align:left !important;line-height:.9 !important;
}
body.v10114 #gameStage .card[data-face]:not(.joker) .corner small,
body.v10114 #gameStage #playerHand > .card[data-face] .corner small {
  position:absolute !important;inset:0 0 auto auto !important;display:block !important;
}
body.v10114 #gameStage .card[data-face] .suit-big { display:block !important; }
@media (max-height:360px) and (orientation:landscape) {
  /* Preserve the same artwork ratio while keeping the compact pile header clear. */
  body.v10114 #gameStage .pile .card[data-face] .suit-big,
  body.v10114 #gameStage .play-flight .card[data-face] .suit-big {
    width:86% !important;left:7% !important;bottom:4% !important;
  }
}
body.v10114 #gameStage #playerHand .card.joker .corner { color:#6f5021 !important; }
body.v10114 #gameStage #playerHand .card.joker.red .corner { color:#a72b36 !important; }
body.v10114 #gameStage #playerHand .card.joker .suit-big { color:#a47b31 !important; }
body.v10114 .controls.turn-visible #playBtn, body.v10114 .controls.swap-visible #playBtn, body.v10114 .controls.turn-visible #passBtn { bottom:27% !important; }
body.v10114 .topbar #gameMenuBtn, body.v10114 .topbar #gameChatBtn { bottom:3% !important; }
body.v10114 .topbar #gameEmojiBtn { bottom:calc(3% + clamp(30px,3.6vw,44px) + 10px) !important; }
.v14-book { font-size:0; }
.v14-book::before { content:''; display:block; width:100%; height:100%; background:currentColor; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 4c4-1 6 0 8 2v15c-2-2-4-3-8-2V4Zm10 2c2-2 4-3 8-2v15c-4-1-6 0-8 2V6Z' fill='black'/%3E%3C/svg%3E") center/contain no-repeat; }
body.v10114 [data-ui-icon='settings'] { --ui-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m10 2 4 0 1 3 2 1 3-.6 2 3.5-2 2.2v2l2 2.3-2 3.5-3-.7-2 1-1 3h-4l-1-3-2-1-3 .7-2-3.5 2-2.3v-2L2 8.9l2-3.5 3 .6 2-1 1-3Zm2 6a4 4 0 1 0 0 8 4 4 0 0 0 0-8Z' fill='black' fill-rule='evenodd'/%3E%3C/svg%3E"); }
.v14-achievements [data-achievement='games'] { font-size:0; }
.v14-achievements [data-achievement='games']::before { content:''; display:block; width:100%; height:100%; background:currentColor; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3h10v4c0 4-2 6-5 7-3-1-5-3-5-7V3Zm-1 2H3v3c0 3 2 5 5 5v-2C6 11 5 10 5 8V7h1V5Zm12 0h3v3c0 3-2 5-5 5v-2c2 0 3-1 3-3V7h-1V5ZM11 14h2v5h4v2H7v-2h4v-5Z' fill='black'/%3E%3C/svg%3E") center/contain no-repeat; }
.v14-online-badge { margin-left:auto; margin-right:35px; padding:4px 8px; border-radius:999px; background:#14302666; color:#58c68c; font:500 clamp(8px,1vw,12px) Manrope; white-space:nowrap; }
.v14-online-badge.offline { background:#30261d; color:#ac9c89; }
body.v10114 #appUpdateNotice { background:#261019f2; border-color:#8a653b; }
body.v10114 #appUpdateNotice { position:fixed; z-index:5100; left:50%; bottom:max(12px,var(--v14-safe-bottom)); display:flex; align-items:center; gap:12px; transform:translateX(-50%); width:max-content; max-width:90vw; padding:10px 16px; border:1px solid #8a653b; border-radius:10px; color:#e5c894; font:600 12px Manrope; }
body.v10114 #appUpdateBtn { padding:6px 12px; border:0; border-radius:999px; background:#d5ae5b; color:#321b0d; font:800 11px Manrope; }
body.v10114 #appBuildLabel { color:#b89f72; font-size:10px; }
/* Safe-area variables use the real device insets; QA can emulate them. */
body.v10114 #friendsModal, body.v10114 #clubModal, body.v10114 #settingsModal, body.v10114 #matchmakingModal, body.v10114 #tournamentIntroModal, body.v10114 #rankingModal { padding:max(12px,var(--v14-safe-top)) max(12px,var(--v14-safe-right)) max(12px,var(--v14-safe-bottom)) max(12px,var(--v14-safe-left)) !important; }
body.v10114 #friendsModal .friends-v1052, body.v10114 #clubModal .profile-card-v1053, body.v10114 #settingsModal .settings-v1052, body.v10114 #matchmakingModal .matchmaking-card, .v14-tournament, .v14-ranking { height:var(--v14-view-height) !important; }
body.v10114 #setupModal .home-layout { padding-left:max(16px,2.2vw,var(--v14-safe-left)); padding-right:max(16px,2.2vw,var(--v14-safe-right)); }
body.v10114 #setupModal .home-quick-links { left:max(16px,2.2vw,var(--v14-safe-left)); right:max(16px,2.2vw,var(--v14-safe-right)); bottom:max(16px,var(--v14-safe-bottom)); }
body.v10114 #matchModeModal .classic-lobby-v1063 { padding-left:max(3vw,var(--v14-safe-left)); padding-right:max(3vw,var(--v14-safe-right)); padding-bottom:max(calc(4 * var(--app-vh,1dvh)),var(--v14-safe-bottom)); }
body.v10114 .topbar #homeBtn, body.v10114 .topbar #gameChatBtn, body.v10114 .topbar #gameEmojiBtn { left:max(3%,var(--v14-safe-left)) !important; }
body.v10114 .topbar #gameMenuBtn { right:max(3%,var(--v14-safe-right)) !important; bottom:max(3%,var(--v14-safe-bottom)) !important; }
body.v10114 .topbar #gameChatBtn { bottom:max(3%,var(--v14-safe-bottom)) !important; }
body.v10114 .topbar #gameEmojiBtn { bottom:calc(max(3%,var(--v14-safe-bottom)) + clamp(30px,3.6vw,44px) + 10px) !important; }
body.v10114 .controls.turn-visible #passBtn { left:max(3%,var(--v14-safe-left)) !important; }
body.v10114 .controls.turn-visible #playBtn, body.v10114 .controls.swap-visible #playBtn { right:max(3%,var(--v14-safe-right)) !important; }
@media (max-height:360px) and (orientation:landscape) {
  :root { --v14-header:42px; }
  .v14-tournament,.v14-ranking { padding:calc(3 * var(--app-vh,1dvh)) 3vw; gap:calc(2 * var(--app-vh,1dvh)); }
  .v14-tournament-grid { padding:0 4vw; }
  body.v10114 #matchmakingModal .matchmaking-card { padding:calc(5 * var(--app-vh,1dvh)) 10vw calc(3 * var(--app-vh,1dvh)) !important; gap:6px; }
  body.v10114 #matchmakingModal .matchmaking-entrants { grid-auto-rows:minmax(50px,1fr); gap:7px !important; max-height:calc(42 * var(--app-vh,1dvh)); }
  body.v10114 #matchmakingModal .match-entrant { padding:6px 10px !important; gap:3px 10px; }
  body.v10114 #matchmakingModal .match-entrant > i { width:28px; height:28px; font-size:17px; }
  body.v10114 #friendsModal .friends-v1052-head { min-height:38px; }
  body.v10114 #friendsModal .friend-row { min-height:42px; padding-block:5px !important; }
  body.v10114 #clubModal .profile-hero-v1053 { min-height:75px; }
  body.v10114 #gameStage .player-dock { bottom:calc(22% + var(--v14-hand-clearance,0px)) !important; height:30% !important; }
  body.v10114 #gameStage .seat { width:145px !important; height:43px !important; }
  body.v10114 #gameStage .seat .avatar { width:30px !important; height:30px !important; }
}
@media (orientation:portrait) { .v14-main-nav { display:none; } .v14-tournament-grid { grid-template-columns:1fr; padding:0; } body.v10114 #friendsModal .friends-v1052-head { grid-template-columns:1fr; gap:12px; } body.v10114 #friendsModal #friendSearchResults { width:90% !important; top:120px; } body.v10114 #clubModal .profile-card-v1053 { grid-template-columns:30% 1fr; padding:20px 15px !important; column-gap:12px; } .v14-profile-nav button { padding-inline:7px; gap:7px; } .v14-profile-nav button > span { width:17px; height:17px; } }
@media (prefers-reduced-motion:reduce) { body.v10114 *, body.v10114 *::before, body.v10114 *::after { animation-duration:.001ms !important; transition-duration:.001ms !important; } }
/* Global ranking only; post-round standings and their progress bars are unchanged. */
body.v10114 .modal-backdrop#rankingModal {
  padding:max(12px,var(--v14-safe-top)) max(16px,var(--v14-safe-right)) max(12px,var(--v14-safe-bottom)) max(16px,var(--v14-safe-left)) !important;
  background:linear-gradient(#0006,#0003),url('ranking-casino-v101116.webp') center/cover no-repeat #08110e !important;
}
body.v10114 #rankingModal .v14-ranking {
  width:min(100%,1120px) !important;max-width:1120px !important;height:100% !important;min-height:0;padding:0 !important;border:0;border-radius:0;
  gap:clamp(8px,calc(2 * var(--app-vh,1dvh)),12px);background:none;
}
body.v10114 #rankingModal .v14-screen-title { min-height:44px;padding:0 52px; }
body.v10114 #rankingModal .v14-screen-title h2 {
  margin:0 0 3px;color:#f4eee3;font-size:clamp(28px,3.4vw,44px);line-height:1.1;
  text-shadow:0 2px 10px #000a;
}
body.v10114 #rankingModal .v14-screen-title p { color:#c5c4c0;font-size:clamp(11px,1.4vw,18px);line-height:1.4; }
body.v10114 #rankingModal .v14-back {
  width:clamp(44px,4.8vw,62px) !important;height:clamp(44px,4.8vw,62px) !important;
  min-width:44px !important;min-height:44px !important;
  color:#eee9db;background:linear-gradient(145deg,#27272399,#151714bb);border:1px solid #d4ccb340;
  box-shadow:inset 0 0 12px #ffffff05;
}
body.v10114 #rankingModal #visualLeaderboardHost {
  width:min(100%,60vw,752px);min-height:0;justify-self:center;overflow:auto;
  overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8f7849 #0c100e;
  border-radius:12px;outline-offset:2px;
}
body.v10114 #rankingModal #leaderboard {
  display:grid !important;align-content:start;grid-auto-rows:max-content;
  width:100%;max-height:none !important;margin:0;padding:4px;
  gap:clamp(1px,calc(.35 * var(--app-vh,1dvh)),3px);
  border:1px solid #ffffff0b;border-radius:12px;background:#0b0d0ce0;
}
body.v10114 #rankingModal .leader-row {
  display:grid;grid-template-columns:7% 4% 5% minmax(0,1fr) 10% 36%;column-gap:1.4%;
  align-items:center;height:clamp(20px,calc(5.3 * var(--app-vh,1dvh)),32px);
  min-width:0;padding:0 1.5% 0 0;overflow:hidden;border:1px solid #ffffff09;border-radius:11px;
  background:linear-gradient(100deg,#1f2220a6,#111412a3);color:#e3e3e0;
  font:500 clamp(12px,1.4vw,18px)/1.2 Manrope,sans-serif;
}
body.v10114 #rankingModal .leader-row:nth-child(-n+3) { height:clamp(28px,calc(7.5 * var(--app-vh,1dvh)),46px); }
body.v10114 #rankingModal .leader-row:nth-child(1) { border-color:#d8a541;background:linear-gradient(105deg,#755018ed,#382509e8 60%,#20180ce8);color:#fff3d6;box-shadow:inset 0 1px 8px #ffde7d12; }
body.v10114 #rankingModal .leader-row:nth-child(2) { border-color:#a4afb64d;background:linear-gradient(105deg,#687076c9,#2d3338e6 25%,#20252ae8);color:#f0f2f5; }
body.v10114 #rankingModal .leader-row:nth-child(3) { border-color:#b675465e;background:linear-gradient(105deg,#9b5c38b3,#462a1ee8 25%,#2d1c15e8);color:#f4ded0; }
body.v10114 #rankingModal .ranking-place {
  display:grid;place-items:center;align-self:stretch;margin:0;font-style:normal;font-weight:500;
  font-size:clamp(12px,1.55vw,20px);background:#ffffff04;border-right:1px solid #ffffff05;border-radius:10px;
}
body.v10114 #rankingModal .leader-row:nth-child(-n+3) .ranking-place { font-size:clamp(17px,1.9vw,24px);background:linear-gradient(100deg,#ffffff17,#ffffff02); }
body.v10114 #rankingModal .ranking-crown { display:grid;place-items:center; }
body.v10114 #rankingModal .ranking-crown svg { display:block;width:100%;max-width:22px;filter:drop-shadow(0 1px 3px #a87a22aa); }
body.v10114 #rankingModal .ranking-avatar {
  display:grid;place-items:center;justify-self:center;width:clamp(17px,calc(4.3 * var(--app-vh,1dvh)),26px);
  max-width:100%;aspect-ratio:1;border:1px solid #b7babba1;border-radius:50%;background:#101412;box-shadow:0 1px 3px #0007;
}
body.v10114 #rankingModal .leader-row:nth-child(-n+3) .ranking-avatar { width:clamp(22px,calc(5.8 * var(--app-vh,1dvh)),36px); }
body.v10114 #rankingModal .ranking-avatar svg { width:76%;height:76%;fill:#c6c9c7; }
body.v10114 #rankingModal .ranking-name { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
body.v10114 #rankingModal .ranking-league {
  display:block;max-width:100%;padding:3px 5px;overflow:hidden;text-align:center;text-overflow:ellipsis;
  border:1px solid #bc805329;border-radius:5px;background:linear-gradient(#69432c,#4a2c20);
  color:#e9d4bb;font-size:clamp(8px,.9vw,11px);font-weight:500;line-height:1.25;white-space:nowrap;
}
body.v10114 #rankingModal .ranking-points {
  display:flex;align-items:center;justify-content:flex-end;gap:clamp(4px,.6vw,8px);min-width:0;
  font-size:inherit;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums;
}
body.v10114 #rankingModal .ranking-coins { display:block;flex:none;width:clamp(14px,1.8vw,24px);height:auto; }
body.v10114 #rankingModal #leaderboard > p { margin:0;padding:24px 12px;color:#e3ddcf;text-align:center;font:500 14px/1.5 Manrope,sans-serif; }
@media (max-width:700px) and (orientation:landscape) {
  body.v10114 #rankingModal .leader-row { grid-template-columns:7% 4% 5% minmax(0,1fr) 14% 32%; }
}
@media (orientation:portrait) {
  body.v10114 #rankingModal #visualLeaderboardHost { width:100%; }
  body.v10114 #rankingModal .leader-row { grid-template-columns:7% 4% 7% minmax(0,1fr) 16% 29%;column-gap:1.2%; }
}
