:root{--background:#1b6048;--background-rgb:27 96 72;--felt:#1b6048;--felt-rgb:27 96 72;--surface:#1d6b50;--surface-rgb:29 107 80;--overlay:#1e2622;--overlay-rgb:30 38 34;--primary:#d6ad47;--primary-rgb:214 173 71;--coin:var(--primary);--coin-rgb:var(--primary-rgb);--error:#e1233f;--error-rgb:225 35 63;--success:#2e7d32;--success-rgb:46 125 50;--text-primary:#ecedee;--text-primary-rgb:236 237 238;--text-secondary:#aeaeae;--domino-surface:#ecedee;--domino-border:#c9a23e;--domino-pips:#111;--domino-pips-alt:#222;--border:#404040;--border-rgb:64 64 64;--dialog-background:#232a27;--dialog-surface:#2c332f;--slider-active:#4caf50;--slider-inactive:#616161;--card-shadow:#000;--shadow-rgb:0 0 0;--surface-floating:#1d6b50;--surface-floating-rgb:29 107 80;--danger:#c0392b;--danger-rgb:192 57 43;--online:#46c46a;--online-rgb:70 196 106;--positive:#4caf50;--positive-rgb:76 175 80;--neutral:#8a8f94;--on-primary:#1a1207;--wheel-arc-top-rgb:28 96 73;--wheel-arc-bottom-rgb:18 62 50;--accent-green-rgb:46 158 79;--danger-soft-rgb:214 78 78;--muted-rgb:120 120 120;--white:#fff;--accent-green:#2e9e4f;--danger-text:#f0b4b4;--danger-text-coral:#e8736a;--bg-lobby:url(/assets/backgrounds/lobby.svg);--bg-mp-lobby:url(/assets/backgrounds/mp-lobby.svg);--bg-sp-room:url(/assets/backgrounds/sp-room.svg);--bg-mp-room:url(/assets/backgrounds/mp-room.svg);--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-3xl:28px;--radius-pill:999px;--z-raised:10;--z-overlay:20;--z-floating:30;--z-sheet:40;--z-toast:50;--shadow-sm:0 1px 2px #0003;--shadow-md:0 4px 12px #00000047;--shadow-lg:0 12px 32px #0000005c;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-exit:cubic-bezier(.4, 0, 1, 1);--motion-fast:.12s;--motion-base:.2s;--motion-slow:.32s;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--font-size-xs:12px;--font-size-sm:13px;--font-size-md:15px;--font-size-lg:18px;--font-size-xl:22px;--font-size-2xl:28px;--line-tight:1.2;--line-normal:1.45;--weight-regular:400;--weight-medium:600;--weight-semibold:700;--weight-bold:800;--glass-bg:rgb(var(--overlay-rgb) / .34);--glass-bg-strong:rgb(var(--overlay-rgb) / .44);--glass-bg-fallback:rgb(var(--overlay-rgb) / .92);--glass-bg-strong-fallback:rgb(var(--overlay-rgb) / .96);--glass-border:rgb(var(--text-primary-rgb) / .22);--glass-border-strong:rgb(var(--text-primary-rgb) / .28);--glass-highlight-rgb:255 255 255;--glass-shadow-color:#0000007a;--glass-inset-shadow-color:#00000057;--glass-blur:22px;--glass-saturate:1.35;--modal-scrim:#0000004d}.lobbyShell{--primary:#5effd8;--primary-rgb:94 255 216;--surface:#0c4a3e;--surface-rgb:12 74 62;--surface-floating:#0e5547;--surface-floating-rgb:14 85 71;--felt:#0c5a49;--felt-rgb:12 90 73;--wheel-arc-top-rgb:12 90 73;--wheel-arc-bottom-rgb:8 56 47;--coin:#d6ad47;--coin-rgb:214 173 71}.mpLobby{--primary:#b47cff;--primary-rgb:180 124 255;--surface:#241a55;--surface-rgb:36 26 85;--surface-floating:#2b1466;--surface-floating-rgb:43 20 102;--felt:#241a55;--felt-rgb:36 26 85;--coin:#d6ad47;--coin-rgb:214 173 71}.gameShell.mpRoomBg{--primary:#ff5fd6;--primary-rgb:255 95 214;--surface:#3a0f2a;--surface-rgb:58 15 42;--surface-floating:#4a113a;--surface-floating-rgb:74 17 58;--felt:#5a123f;--felt-rgb:90 18 63;--coin:#d6ad47;--coin-rgb:214 173 71}.gameShell.spRoomBg{--primary:#55ffd6;--primary-rgb:85 255 214;--surface:#0c4a3e;--surface-rgb:12 74 62;--surface-floating:#0e5547;--surface-floating-rgb:14 85 71;--felt:#08392e;--felt-rgb:8 57 46;--coin:#d6ad47;--coin-rgb:214 173 71}
*{box-sizing:border-box}html,body{background:var(--overlay);min-height:100%;color:var(--text-primary);letter-spacing:0;margin:0;font-family:Inter,ui-sans-serif,system-ui,Segoe UI,Roboto,Noto Sans,Helvetica Neue,Arial,sans-serif}button,input,select,textarea{font:inherit}svg text{font-family:Inter,ui-sans-serif,system-ui,Segoe UI,Roboto,Noto Sans,Helvetica Neue,Arial,sans-serif}button{cursor:pointer}.srOnly{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
.uiButton{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--weight-semibold);line-height:var(--line-tight);white-space:nowrap;cursor:pointer;transition:transform var(--motion-fast) var(--ease-standard), background-color var(--motion-base) var(--ease-standard), border-color var(--motion-base) var(--ease-standard), color var(--motion-base) var(--ease-standard);border:1.5px solid #0000;display:inline-flex}.uiButton:active{transform:translateY(1px)}.uiButton:focus-visible{box-shadow:0 0 0 3px rgb(var(--primary-rgb) / .4);outline:none}.uiButton:disabled{cursor:not-allowed;opacity:.5}.uiButton[aria-busy=true]{cursor:progress}.uiButton[data-size=sm]{padding:0 var(--space-3);font-size:var(--font-size-xs)}.uiButton[data-icon-only=true]{width:44px;padding:0}.uiButton[data-icon-only=true][data-size=sm]{width:36px;min-height:36px}.uiButton[data-variant=primary]{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.uiButton[data-variant=primary]:hover:not(:disabled){background:rgb(var(--primary-rgb) / .85)}.uiButton[data-variant=secondary]{background:rgb(var(--overlay-rgb) / .5);border-color:rgb(var(--primary-rgb) / .55);color:var(--primary)}.uiButton[data-variant=secondary]:hover:not(:disabled){border-color:var(--primary);background:rgb(var(--overlay-rgb) / .75)}.uiButton[data-variant=text]{color:var(--primary);background:0 0;border-color:#0000}.uiButton[data-variant=text]:hover:not(:disabled){background:rgb(var(--primary-rgb) / .12)}.uiButton[data-variant=danger]{background:rgb(var(--danger-rgb) / .16);border-color:var(--danger);color:var(--danger)}.uiButton[data-variant=danger]:hover:not(:disabled){background:rgb(var(--danger-rgb) / .28)}.uiButtonSpinner{width:1em;height:1em;animation:uiButtonSpin var(--motion-slow) linear infinite;border:2px solid;border-right-color:#0000;border-radius:50%}@keyframes uiButtonSpin{to{transform:rotate(360deg)}}
.uiIconButton{border:1px solid rgb(var(--border-rgb) / .7);border-radius:var(--radius-sm);background:rgb(var(--overlay-rgb) / .7);width:48px;height:48px;color:var(--text-secondary);cursor:pointer;transition:transform var(--motion-fast) var(--ease-standard), border-color var(--motion-base) var(--ease-standard), background-color var(--motion-base) var(--ease-standard);place-items:center;padding:0;display:grid}.uiIconButton[data-size=sm]{width:44px;height:44px}.uiIconButton:hover:not(:disabled){border-color:rgb(var(--primary-rgb) / .6)}.uiIconButton:active{transform:translateY(1px)}.uiIconButton:focus-visible{box-shadow:0 0 0 3px rgb(var(--primary-rgb) / .4);outline:none}.uiIconButton:disabled{cursor:not-allowed;opacity:.5}.uiIconButton[aria-busy=true]{cursor:progress}
.uiField{gap:var(--space-2);text-align:left;display:grid}.uiFieldLabel{font-size:var(--font-size-sm);color:var(--text-secondary)}.uiFieldInput{width:100%;height:40px;padding:0 var(--space-3);border:1.5px solid rgb(var(--primary-rgb) / .5);border-radius:var(--radius-md);background:rgb(var(--overlay-rgb) / .25);color:var(--text-primary);font-size:var(--font-size-md);transition:border-color var(--motion-base) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard)}.uiFieldInput::placeholder{color:var(--text-secondary)}.uiFieldInput:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px rgb(var(--primary-rgb) / .4);outline:none}.uiFieldInput:disabled{cursor:not-allowed;opacity:.5}.uiField[data-invalid=true] .uiFieldInput{border-color:var(--error)}.uiField[data-invalid=true] .uiFieldInput:focus-visible{box-shadow:0 0 0 3px rgb(var(--error-rgb) / .4)}.uiFieldHint{font-size:var(--font-size-xs);color:var(--text-secondary)}.uiFieldError{font-size:var(--font-size-xs);color:var(--error)}
.gameShell{background:linear-gradient(to bottom, rgb(var(--background-rgb) / .1), rgb(var(--overlay-rgb) / .8));min-height:100vh;position:relative;overflow:hidden}.gameShell.spRoomBg{background:var(--bg-sp-room) center / cover no-repeat, var(--overlay)}.gameShell.mpRoomBg{background:var(--bg-mp-room) center / cover no-repeat, var(--overlay)}.lobbyShell{background:var(--bg-lobby) center / cover no-repeat, var(--overlay);place-items:center;min-height:100vh;padding:96px 24px 48px;display:grid;position:relative;overflow:hidden}.lobbyTopBar{z-index:5;pointer-events:none;justify-content:flex-end;align-items:center;gap:16px;display:flex;position:fixed;top:20px;left:20px;right:20px}.lobbySettingsButton{color:var(--text-primary);pointer-events:auto}.lobbyHelpButton{color:var(--primary);pointer-events:auto}.gameHelpButton{color:var(--text-primary);position:absolute;top:20px;right:120px}.settingsAssetIcon{background:currentColor;width:24px;height:24px;display:block;-webkit-mask:url(/assets/icons/settings.svg) 50%/contain no-repeat;mask:url(/assets/icons/settings.svg) 50%/contain no-repeat}.loginAssetIcon{background:currentColor;width:24px;height:24px;display:block;-webkit-mask:url(/assets/icons/login-password-svgrepo.svg) 50%/contain no-repeat;mask:url(/assets/icons/login-password-svgrepo.svg) 50%/contain no-repeat}.lobbyLoginButton{color:var(--text-primary);pointer-events:auto}.lobbyLeaderboardButton{color:var(--primary);pointer-events:auto}.trophyAssetIcon{width:32px;height:32px;display:block;position:relative}.trophyAssetImg{object-fit:contain;width:100%;height:100%;display:block}.helpAssetIcon{width:32px;height:32px;display:block;position:relative}.helpAssetIconFrame{filter:brightness(0)invert();width:100%;height:100%;transition:opacity .16s,transform .16s;display:block;position:absolute;inset:0}.helpAssetIconFrame.animated,.lobbyHelpButton:hover .helpAssetIconFrame.static,.gameHelpButton:hover .helpAssetIconFrame.static,.mpHelpButton:hover .helpAssetIconFrame.static,.lobbyHelpButton:focus-visible .helpAssetIconFrame.static,.gameHelpButton:focus-visible .helpAssetIconFrame.static,.mpHelpButton:focus-visible .helpAssetIconFrame.static,.rulesDialog h2 .helpAssetIconFrame.static{opacity:0}.lobbyHelpButton:hover .helpAssetIconFrame.animated,.gameHelpButton:hover .helpAssetIconFrame.animated,.mpHelpButton:hover .helpAssetIconFrame.animated,.lobbyHelpButton:focus-visible .helpAssetIconFrame.animated,.gameHelpButton:focus-visible .helpAssetIconFrame.animated,.mpHelpButton:focus-visible .helpAssetIconFrame.animated,.rulesDialog h2 .helpAssetIconFrame.animated{opacity:1}.lobbyHelpButton:hover .helpAssetIconFrame,.gameHelpButton:hover .helpAssetIconFrame,.mpHelpButton:hover .helpAssetIconFrame,.lobbyHelpButton:focus-visible .helpAssetIconFrame,.gameHelpButton:focus-visible .helpAssetIconFrame,.mpHelpButton:focus-visible .helpAssetIconFrame{transform:scale(1.08)}.lobbyContent{z-index:1;text-align:center;justify-items:center;width:min(620px,100%);display:grid;position:relative}.modeWheel{aspect-ratio:1;isolation:isolate;width:min(560px,100vw - 48px);position:relative}.compactLobbyPanel{display:none}.modeWheel:before{content:"";box-shadow:0 22px 52px rgb(var(--shadow-rgb) / .58), 0 0 54px rgb(var(--primary-rgb) / .12);pointer-events:none;border-radius:50%;position:absolute;inset:1.8%}.modeWheelArt{width:100%;height:100%;filter:drop-shadow(0 16px 34px rgb(var(--shadow-rgb) / .45));pointer-events:none;position:absolute;inset:0;overflow:visible}.modeWheelArc{stroke:rgb(var(--primary-rgb) / .8);stroke-width:4px;stroke-linejoin:round}.modeWheelArc.top{fill:rgb(var(--wheel-arc-top-rgb) / .96)}.modeWheelArc.bottom{fill:rgb(var(--wheel-arc-bottom-rgb) / .96)}.modeWheelText{fill:rgb(var(--text-primary-rgb) / .94);letter-spacing:0;text-anchor:middle;text-shadow:0 2px 12px rgb(var(--shadow-rgb) / .56);font-family:Inter,ui-sans-serif,system-ui,Segoe UI,Roboto,Noto Sans,Helvetica Neue,Arial,sans-serif;font-size:34px;font-weight:300}.modeWheelText.top{fill:rgb(var(--primary-rgb) / .92)}.modeWheelText.bottom{fill:rgb(var(--primary-rgb) / .92);font-size:32px}.modeWheelLogo{z-index:5;aspect-ratio:1;width:42%;box-shadow:0 0 0 5px rgb(var(--overlay-rgb) / .82), 0 16px 36px rgb(var(--shadow-rgb) / .5);pointer-events:none;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.modeWheelLogo img{object-fit:cover;border-radius:50%;width:100%;height:100%}.lobbyContent h1{color:var(--text-primary);margin:0;font-size:clamp(42px,8vw,72px);font-weight:900;line-height:1}.lobbyContent p{color:var(--text-secondary);margin:14px 0 34px;font-size:17px;line-height:1.45}.singleModeControls{z-index:6;color:var(--text-primary);pointer-events:none;position:absolute;inset:0}.roundArcSelector{pointer-events:none;position:absolute;inset:0}.roundArcLabel{z-index:2;color:rgb(var(--primary-rgb) / .92);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:900;line-height:1;position:absolute;transform:translate(-50%,-50%)}.roundArcValue{z-index:2;min-width:28px;color:var(--primary);text-align:center;font-size:21px;font-weight:900;line-height:1;position:absolute;transform:translate(-50%,-50%)}.roundArcSvg{z-index:1;pointer-events:none;touch-action:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.roundArcSvg:focus{outline:none}.roundArcSvg:focus-visible .roundArcTrack{stroke:rgb(var(--text-primary-rgb) / .42)}.roundArcTrack,.roundArcActive{fill:none;pointer-events:stroke;stroke-linecap:round;stroke-width:8px}.roundArcTrack{stroke:rgb(var(--text-primary-rgb) / .28)}.roundArcActive{stroke:var(--primary)}.roundArcThumbHalo{fill:rgb(var(--overlay-rgb) / .42);pointer-events:all;stroke:rgb(var(--primary-rgb) / .36);stroke-width:2px}.roundArcThumb{fill:var(--primary);pointer-events:all;filter:drop-shadow(0 3px 8px rgb(var(--shadow-rgb) / .42))}.roundArcStep{z-index:3;border:2px solid rgb(var(--primary-rgb) / .5);background:rgb(var(--overlay-rgb) / .32);width:26px;height:26px;color:var(--primary);box-shadow:0 3px 10px rgb(var(--shadow-rgb) / .28);pointer-events:auto;border-radius:50%;place-items:center;font-size:15px;font-weight:900;display:grid;position:absolute;transform:translate(-50%,-50%)}.singleModeControls .playButton{z-index:3;border-color:rgb(var(--primary-rgb) / .62);background:rgb(var(--overlay-rgb) / .68);pointer-events:auto;border-radius:50%;place-items:center;width:50px;height:50px;min-height:0;font-size:11px;line-height:1;display:grid;position:absolute;transform:translate(-50%,-50%)}.singleModeControls .playButton:hover{box-shadow:0 8px 18px rgb(var(--shadow-rgb) / .28), 0 0 14px rgb(var(--primary-rgb) / .16);transform:translate(-50%,-50%)}.singleModeControls .playButton:disabled{transform:translate(-50%,-50%)}.multiModeControls{z-index:6;color:var(--text-primary);pointer-events:none;position:absolute;inset:0}.multiModeControls .playButton{z-index:3;border-color:rgb(var(--primary-rgb) / .62);background:rgb(var(--overlay-rgb) / .68);pointer-events:auto;border-radius:50%;place-items:center;width:50px;height:50px;min-height:0;font-size:11px;line-height:1;display:grid;position:absolute;transform:translate(-50%,-50%)}.multiModeControls .playButton:hover{box-shadow:0 8px 18px rgb(var(--shadow-rgb) / .28), 0 0 14px rgb(var(--primary-rgb) / .16);transform:translate(-50%,-50%)}.multiModeControls .playButton:disabled{transform:translate(-50%,-50%)}.playButton{border:2px solid rgb(var(--overlay-rgb) / .2);border-radius:var(--radius-lg);background:var(--overlay);min-height:36px;color:var(--primary);box-shadow:0 8px 18px rgb(var(--shadow-rgb) / .28);font-size:14px;font-weight:900;transition:transform .18s,box-shadow .18s}.playButton:hover{box-shadow:0 10px 24px rgb(var(--shadow-rgb) / .36), 0 0 18px rgb(var(--glass-highlight-rgb) / .16);transform:translateY(-2px)}.playButton:disabled{cursor:wait;opacity:.72;transform:none}
.stageClip{position:fixed;inset:0;overflow:hidden}.fixedStage{transform-origin:50%;width:1920px;height:1080px;position:absolute;top:50%;left:50%;overflow:hidden}.safeControls{inset:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);pointer-events:none;z-index:var(--z-raised);position:fixed}.table{background:radial-gradient(circle, var(--felt), var(--overlay));width:450px;height:450px;box-shadow:0 15px 30px rgb(var(--overlay-rgb) / .7), 0 0 50px -20px rgb(var(--primary-rgb) / .2);border-radius:50%;position:absolute;top:320px;left:448px}.tableLogo{object-fit:cover;opacity:.3;border-radius:50%;width:430px;height:430px;position:absolute;top:10px;left:10px}.tableContent{flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;inset:0}.playedWrap{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:12px;max-width:450px;display:flex}.playedTileWithLabel{justify-items:center;gap:4px;animation:.3s ease-out both playedTileEnter;display:grid}.playedName,.declaredNumber{border-radius:var(--radius-sm);background:rgb(var(--overlay-rgb) / .7);color:var(--text-primary);padding:4px 8px;font-size:11px;font-weight:700}.declaredNumber{background:rgb(var(--primary-rgb) / .9);color:var(--overlay);border-radius:6px;padding:2px 6px;font-size:12px}.trickInfo{border:2px solid var(--text-primary);background:rgb(var(--overlay-rgb) / .7);color:var(--text-primary);border-radius:20px;margin-bottom:12px;padding:8px 16px;font-size:16px;font-weight:700;display:inline-block}.trickInfo.danger{border-color:var(--error);color:var(--error)}.trickInfo.gold{border-color:var(--primary);color:var(--primary)}.trickInfo.green{border-color:var(--background);color:var(--background)}.playerProfile,.playerStats,.hiddenTile,.humanTileButton,.yourTurnIndicator,.infoPanel,.particleLayer,.playerProfileWrap{position:absolute}.playerProfileWrap>.playerProfile{width:100%;height:100%;position:relative}.playerProfile{background:rgb(var(--overlay-rgb) / .7);border:2px solid rgb(var(--border-rgb) / .7);border-radius:50%;transition:border-color .3s,box-shadow .3s,background-color .3s;overflow:hidden}.playerProfile.hasAvatar{background:rgb(var(--overlay-rgb) / .9)}.playerProfile.hasAvatar:after{content:"";background: linear-gradient(to top, rgb(var(--shadow-rgb) / .55) 0%, rgb(var(--shadow-rgb) / .5) 8%, transparent 30%), radial-gradient(circle at 50% 28%, transparent 34%, rgb(var(--overlay-rgb) / .22) 62%, rgb(var(--overlay-rgb) / .72) 100%), linear-gradient(to bottom, transparent 42%, rgb(var(--overlay-rgb) / .82) 100%);pointer-events:none;position:absolute;inset:0}.profileAvatarImage{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.playerProfile.active{background:rgb(var(--background-rgb) / .4);border-color:var(--background);border-width:4px}.playerProfile.dealer{border-color:var(--primary);box-shadow:0 0 15px 3px rgb(var(--primary-rgb) / .6);border-width:4px}.playerProfile.active.dealer{border-color:var(--background)}.playerProfile.winnerGlow{box-shadow:0 0 30px 10px rgb(var(--primary-rgb) / .8)}.profileBottom{z-index:1;justify-items:center;gap:4px;padding:0 10px;display:grid;position:absolute;bottom:12px;left:0;right:0}.profileName{max-width:116px;color:var(--text-primary);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:400;overflow:hidden}.profileName.activeName{font-weight:700}.profileTitle{max-width:124px;color:var(--primary);letter-spacing:.02em;text-align:center;text-overflow:ellipsis;white-space:nowrap;margin-top:-4px;font-size:11px;font-weight:700;line-height:1.2;overflow:hidden}.dealerBadge{border-radius:var(--radius-sm);background:var(--primary);color:var(--overlay);padding:2px 8px;font-size:10px;font-weight:700}.playerStats{color:var(--text-secondary);gap:0;font-size:14px;line-height:1.35;display:grid}.yourTurnIndicator{border:1px solid rgb(var(--glass-highlight-rgb) / .3);background:rgb(var(--success-rgb) / .9);color:var(--white);border-radius:20px;align-items:center;gap:8px;padding:8px 20px;font-size:16px;font-weight:700;display:flex;top:774px;left:493px}
.humanTileButton{border-radius:var(--radius-sm);background:0 0;border:0;width:80px;height:144px;padding:0;animation:.6s ease-out both tileDealIn}.humanTileButton:disabled{cursor:default}.humanTileButton.valid{animation:.6s ease-out both tileDealIn}.humanTileButton.valid .dominoTile{border-color:rgb(var(--primary-rgb) / .9);box-shadow:0 4px 8px rgb(var(--overlay-rgb) / .4), 0 0 18px 2px rgb(var(--primary-rgb) / .42)}.humanTileButton.valid:hover{box-shadow:0 0 20px 3px rgb(var(--primary-rgb) / .6);transform:scale(1.1)}.dominoTile{border:2px solid var(--domino-border);border-radius:var(--radius-sm);background:var(--domino-surface);width:80px;height:144px;box-shadow:0 4px 8px rgb(var(--overlay-rgb) / .4);grid-template-rows:1fr 2px 1fr;padding:8px;display:grid}.dominoTile.disabledTile{border-color:var(--border);background:linear-gradient(to bottom right, rgb(var(--text-primary-rgb) / .7), rgb(var(--border-rgb) / .4))}.dominoTile.trumpTile{background:linear-gradient(to bottom right, rgb(var(--primary-rgb) / .15), rgb(var(--primary-rgb) / .6))}.dominoTile.aceTile{background:linear-gradient(to bottom right, rgb(var(--primary-rgb) / .3), var(--primary))}.tileHalf{place-items:center;width:64px;height:56px;padding:8px;display:grid;position:relative}.tileDivider{background:var(--domino-border);height:2px}.disabledTile .tileDivider{background:var(--border)}.pips{width:40px;height:40px;display:block;position:relative}.pip{background:var(--domino-pips);border-radius:50%;width:7.2px;height:7.2px;position:absolute}.trumpTile .pip{background:var(--domino-pips-alt)}.pips-1 .pip:first-child{top:16.4px;left:16.4px}.pips-2 .pip:first-child{top:0;left:0}.pips-2 .pip:nth-child(2){bottom:0;right:0}.pips-3 .pip:first-child{top:0;left:0}.pips-3 .pip:nth-child(2){top:16.4px;left:16.4px}.pips-3 .pip:nth-child(3){bottom:0;right:0}.pips-4 .pip:first-child{top:0;left:0}.pips-4 .pip:nth-child(2){top:0;right:0}.pips-4 .pip:nth-child(3){bottom:0;left:0}.pips-4 .pip:nth-child(4){bottom:0;right:0}.pips-5 .pip:first-child{top:0;left:0}.pips-5 .pip:nth-child(2){top:0;right:0}.pips-5 .pip:nth-child(3){top:16.4px;left:16.4px}.pips-5 .pip:nth-child(4){bottom:0;left:0}.pips-5 .pip:nth-child(5){bottom:0;right:0}.pips-6 .pip:first-child{top:0;left:0}.pips-6 .pip:nth-child(2){top:0;right:0}.pips-6 .pip:nth-child(3){top:16.4px;left:0}.pips-6 .pip:nth-child(4){top:16.4px;right:0}.pips-6 .pip:nth-child(5){bottom:0;left:0}.pips-6 .pip:nth-child(6){bottom:0;right:0}.hiddenTile{border:2px solid rgb(var(--border-rgb) / .8);border-radius:var(--radius-sm);background:linear-gradient(to bottom right, var(--overlay), var(--border), var(--overlay));box-shadow:3px 0 8px rgb(var(--overlay-rgb) / .6);justify-content:space-evenly;align-items:center;display:flex}.hiddenHorizontal{width:144px;height:80px}.hiddenVertical{width:80px;height:144px;box-shadow:0 4px 8px rgb(var(--overlay-rgb) / .6);flex-direction:column}.hiddenTileSide{border:1.5px solid rgb(var(--border-rgb) / .8);background:linear-gradient(to bottom right, rgb(var(--background-rgb) / .8), var(--background));border-radius:6px;width:60px;height:60px}.hiddenDivider{background:rgb(var(--border-rgb) / .8);border-radius:1px;width:2px;height:70px}.hiddenVertical .hiddenDivider{width:70px;height:2px}
.infoPanel{border:1px solid rgb(var(--border-rgb) / .8);border-radius:var(--radius-xl);background:rgb(var(--overlay-rgb) / .85);width:500px;padding:20px;top:128px;left:1360px}.infoPanelHeader{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.roundTitle{color:var(--text-primary);white-space:nowrap;font-size:20px;font-weight:700;line-height:1.2}.trickCount{color:var(--text-secondary);white-space:nowrap;flex:none;font-size:16px;line-height:1.2}.infoDivider{background:var(--border);height:1px;margin:12px 0}.scoreRows{gap:8px;display:grid}.scoreRow{grid-template-columns:14px minmax(0,1fr) 64px 108px;align-items:center;column-gap:10px;min-height:24px;display:grid}.turnMarker{border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:8px solid #0000;width:0;height:0;display:block}.turnMarker.active{border-left-color:var(--primary)}.scorePlayerName{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:700;overflow:hidden}.scorePlayerName.current{color:var(--primary)}.tricksBidCell{color:var(--text-secondary);text-align:right;font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.scoreCell{color:var(--primary);text-align:right;font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}
.particleLayer{pointer-events:none;inset:0}.particle{width:var(--radius);height:var(--radius);background:var(--primary);border-radius:50%;animation:1s ease-out both particleBurst;position:absolute;top:545px;left:673px}.toast{border-radius:var(--radius-md);background:var(--error);max-width:760px;color:var(--text-primary);padding:12px 18px;font-size:16px;font-weight:700;position:absolute;bottom:120px;left:50%;transform:translate(-50%)}.pwaUpdateBanner{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);z-index:var(--z-overlay);border-radius:var(--radius-lg);background:var(--primary);max-width:calc(100vw - 32px);color:var(--text-primary);box-shadow:var(--shadow-md);cursor:pointer;border:none;padding:12px 20px;font-size:15px;font-weight:700;position:fixed;transform:translate(-50%)}
.safeControls .uiIconButton,.soundMenu{pointer-events:auto}.soundMenu{position:absolute;top:20px;right:70px}.exitButton{color:var(--text-primary);position:absolute;top:20px;right:20px}.soundPanel{border:1px solid rgb(var(--border-rgb) / .7);border-radius:var(--radius-lg);background:var(--overlay);width:330px;color:var(--text-primary);padding:10px 0;position:absolute;top:50px;right:0}.audioControls{gap:0;display:grid}.audioControls label{grid-template-columns:1fr auto;align-items:center;gap:12px;min-height:48px;padding:0 14px;font-size:14px;display:grid}.audioControls label span{align-items:center;gap:12px;display:inline-flex}.sliderLabel{grid-template-columns:1fr}.sliderLabel input{width:100%;accent-color:var(--slider-active)}.settingsDialog{width:min(560px,100%);min-height:580px;max-height:min(820px,100vh - 40px);overflow:auto}.rulesDialog{scrollbar-width:none;width:min(760px,100%);max-height:min(860px,100vh - 40px);overflow:auto}.rulesDialog::-webkit-scrollbar{display:none}.rulesDialog h2 .helpAssetIcon{flex:none}.rulesContent{gap:18px;display:grid}.rulesSection{border-top:1px solid rgb(var(--primary-rgb) / .18);gap:8px;padding-top:14px;display:grid}.rulesSection:first-child{border-top:0;padding-top:0}.rulesSection h3{color:var(--primary);text-transform:uppercase;margin:0;font-size:15px;font-weight:900}.rulesSection p{color:rgb(var(--text-primary-rgb) / .86);margin:0;font-size:14px;line-height:1.5}.rulesSection ul{color:rgb(var(--text-primary-rgb) / .86);gap:6px;margin:0;padding-left:20px;font-size:14px;line-height:1.5;display:grid}.rulesSection li{margin:0}.settingsHeader{grid-template-columns:1fr auto;align-items:start;gap:16px;display:grid}.settingsHeader h2{margin-bottom:8px}.settingsHeader p{color:var(--text-secondary);margin:0 0 16px;font-size:14px;line-height:1.45}.settingsCloseButton{width:40px;height:40px;color:var(--text-primary)}.settingsSectionTitle{color:var(--primary);text-transform:uppercase;margin:14px 0 8px;font-size:13px;font-weight:800}.settingsSectionNote{color:var(--text-secondary);margin:-2px 0 10px;font-size:13px;line-height:1.45}.settingsTabs{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.settingsTab{border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:7px 14px;font-size:18px;font-weight:800;transition:color .14s,background .14s;display:inline-flex}.settingsTab[aria-pressed=false]{background:rgb(var(--muted-rgb) / .2)}.settingsTab[aria-pressed=true]{color:var(--primary);background:0 0}.settingsTab:hover{color:var(--text-primary)}.settingsTab[aria-pressed=true]:hover{color:var(--primary)}.settingsTab .settingsAssetIcon{width:22px;height:22px}.settingsTabDescription{color:var(--text-secondary);margin:0 0 16px;font-size:14px;line-height:1.45}.aboutPanel{gap:16px;display:grid}.aboutMeta{border:1px solid rgb(var(--border-rgb) / .8);border-radius:var(--radius-lg);background:var(--dialog-surface);gap:10px;margin:0;padding:12px 14px;display:grid}.aboutMetaRow{grid-template-columns:auto 1fr;align-items:baseline;gap:12px;display:grid}.aboutMetaRow dt{color:var(--primary);text-transform:uppercase;margin:0;font-size:12px;font-weight:800}.aboutMetaRow dd{color:var(--text-primary);text-align:right;justify-self:end;margin:0;font-size:14px}.settingsDialog .audioControls{border:1px solid rgb(var(--border-rgb) / .8);border-radius:var(--radius-lg);background:var(--dialog-surface);padding:8px 0}.difficultySelector{gap:10px;display:grid}.difficultyOptions{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.difficultyOption{border-radius:var(--radius-md);background:rgb(var(--muted-rgb) / .2);min-height:54px;color:var(--text-secondary);font:inherit;cursor:pointer;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:6px 4px;font-size:15px;font-weight:800;transition:color .14s,background .14s,border-color .14s;display:flex}.difficultyReward{color:var(--coin);font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:13px;font-weight:700;display:inline-flex}.difficultyRewardIcon{flex:none;width:15px;height:15px}.difficultyOption:hover{color:var(--text-primary)}.difficultyOption[aria-pressed=true]{color:var(--primary);border-color:var(--primary);background:0 0}.difficultyComment{min-height:2.9em;color:var(--text-secondary);margin:0;font-size:14px;font-style:italic;line-height:1.45}.contactForm{border:1px solid rgb(var(--border-rgb) / .8);border-radius:var(--radius-lg);background:var(--dialog-surface);gap:10px;padding:14px;display:grid}.contactTitle{color:var(--primary);text-transform:uppercase;margin:0;font-size:13px;font-weight:800}.contactIntro{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.45}.contactField{gap:6px;display:grid}.contactField span{color:var(--text-secondary);text-transform:uppercase;font-size:12px;font-weight:800}.contactField input,.contactField textarea{border:1px solid rgb(var(--border-rgb) / .8);border-radius:var(--radius-md);background:var(--overlay);width:100%;color:var(--text-primary);font:inherit;padding:10px 12px;font-size:14px}.contactField textarea{resize:vertical;min-height:84px;line-height:1.45}.contactField input:focus,.contactField textarea:focus{border-color:var(--primary);outline:none}.contactStatus{margin:0 auto 0 0;font-size:13px;line-height:1.45}.contactStatusOk{color:var(--success)}.contactStatusError{color:var(--danger)}.contactActions{justify-content:flex-end;align-items:center;gap:12px;min-height:44px;display:flex}.languageSelector{position:relative}.languageSelector select{border:1px solid rgb(var(--border-rgb) / .8);border-radius:var(--radius-lg);background:linear-gradient(45deg, transparent 50%, var(--primary) 50%) right 18px center / 7px 7px no-repeat, linear-gradient(135deg, var(--primary) 50%, transparent 50%) right 13px center / 7px 7px no-repeat, var(--dialog-surface);width:100%;min-height:42px;color:var(--text-primary);font:inherit;appearance:none;padding:0 42px 0 14px;font-size:14px;font-weight:800}
.modalBackdrop{z-index:var(--z-overlay);background:rgb(var(--shadow-rgb) / .45);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modalBackdrop:has(.glass):not(.transparentBackdrop){background:var(--modal-scrim)}.transparentBackdrop{pointer-events:none;background:0 0}.transparentBackdrop>*{pointer-events:auto}.bidDialog{border:2px solid var(--primary);border-radius:var(--radius-xl);background:rgb(var(--overlay-rgb) / .8);width:420px;height:260px;padding:12px;animation:.3s ease-out both dialogIn}.bidDialog.glass{border:2px solid var(--primary)}.bidDialog h2{color:var(--text-primary);text-align:center;margin:0 0 12px;font-size:16px;font-weight:700}.bidGrid{grid-template-columns:repeat(4,1fr);gap:8px;height:196px;display:grid}.bidButton{border:1.5px solid rgb(var(--background-rgb) / .32);border-radius:var(--radius-sm);background:rgb(var(--overlay-rgb) / .7);color:var(--text-primary);place-items:center;animation:1.6s ease-in-out infinite bidGlow;display:grid;position:relative}.bidButton:hover{transform:scale(1.12)}.bidButton.selected{border-width:2px;border-color:var(--text-primary);background:var(--background);color:var(--overlay)}.bidButton strong{font-size:22px}.bidButton span{color:var(--primary);font-size:9px;font-weight:700;position:absolute;bottom:14px}.bidSeven{border-color:rgb(var(--primary-rgb) / .75)}.bidSeven.selected,.bidSeven{background:var(--primary)}.alertDialog{border:1px solid rgb(var(--primary-rgb) / .3);border-radius:var(--radius-xl);background:rgb(var(--overlay-rgb) / .95);width:min(560px,100%);color:var(--text-primary);padding:16px 20px}.alertDialog h2{color:var(--primary);align-items:center;gap:12px;margin:0 0 14px;font-size:20px;display:flex}.numberDialog{max-width:350px}.numberDialog p{margin:0 0 20px;font-size:16px}.numberChoices{justify-content:space-evenly;gap:18px;margin-bottom:12px;display:flex}.numberChoices button{border-radius:var(--radius-xl);background:var(--primary);min-width:92px;min-height:92px;color:var(--overlay);border:0;padding:24px;font-size:36px;font-weight:700}.summaryDialog{width:min(620px,100%)}.summaryRound{text-align:center;margin:0 0 20px;font-size:20px;display:block}.summaryDialog table{border-collapse:separate;border-spacing:0;border:1px solid rgb(var(--text-primary-rgb) / .25);border-radius:var(--radius-sm);width:100%;margin:0 0 20px;overflow:hidden}.summaryDialog th,.summaryDialog td{border-right:1px solid rgb(var(--text-primary-rgb) / .25);border-bottom:1px solid rgb(var(--text-primary-rgb) / .25);text-align:center;padding:8px}.summaryDialog th{background:rgb(var(--primary-rgb) / .2);font-weight:700}.summaryDialog h3{text-align:center;margin:0 0 8px}.summaryScores,.finalScores{gap:8px;margin:0 0 14px;display:grid}.summaryScores div,.finalScores div{justify-content:space-between;gap:16px;display:flex}.summaryScores dt,.summaryScores dd,.finalScores dt,.finalScores dd{margin:0}.summaryScores dd,.finalScores dd{color:var(--primary);font-size:18px;font-weight:700}.finalScores div{justify-content:flex-start;align-items:center;gap:12px}.finalScores dd{margin-left:auto}.finalScorePlace{flex:none;width:40px;height:40px}.winnerBanner{border:1px solid rgb(var(--primary-rgb) / .3);border-radius:var(--radius-lg);background:linear-gradient(to right, rgb(var(--primary-rgb) / .2), rgb(var(--primary-rgb) / .05));color:var(--primary);text-align:center;margin-bottom:16px;padding:12px 20px;font-size:22px;font-weight:700}.winnerRow{color:var(--primary)}.exitDialog{width:min(400px,100%)}.exitDialog h2{color:var(--error)}.exitContent{border:1px solid rgb(var(--error-rgb) / .3);border-radius:var(--radius-sm);background:var(--dialog-surface);padding:12px}.exitContent p{margin:0}.exitContent p+p{margin-top:10px}.dialogActions{justify-content:flex-end;gap:12px;margin-top:14px;display:flex}.primaryButton,.dangerButton,.textButton{border-radius:var(--radius-lg);border:0;min-height:44px;padding:12px 24px;font-weight:700}.primaryButton{background:var(--primary);color:var(--overlay);margin-left:auto;display:block}.primaryButton:disabled{cursor:not-allowed;opacity:.55}.dangerButton{background:var(--error);color:var(--text-primary)}.textButton{color:var(--primary);background:0 0}.positive{color:var(--background);font-weight:700}.negative{color:var(--error);font-weight:700}.iconSvg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}
@keyframes playedTileEnter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes tileDealIn{0%{transform:translateZ(0)scale(.98)}50%{transform:translateZ(20px)scale(1)}to{transform:translateZ(0)scale(1)}}@keyframes dialogIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes bidGlow{0%,to{box-shadow:0 2px 4px rgb(var(--shadow-rgb) / .3), 0 0 12px 0 rgb(var(--background-rgb) / 0)}50%{box-shadow:0 2px 4px rgb(var(--shadow-rgb) / .3), 0 0 20px 3px rgb(var(--background-rgb) / .3)}}@keyframes particleBurst{0%{opacity:1;transform:translate(-50%, -50%) rotate(var(--angle)) translateX(0)}to{opacity:0;transform:translate(-50%, -50%) rotate(var(--angle)) translateX(var(--distance))}}@keyframes balanceEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes coinGainPulse{0%{box-shadow:0 0 0 0 rgb(var(--coin-rgb) / .5);transform:scale(.92)}50%{box-shadow:0 0 16px 4px rgb(var(--coin-rgb) / .45);transform:scale(1.05)}to{box-shadow:0 0 0 0 rgb(var(--coin-rgb) / 0);transform:scale(1)}}@keyframes potBump{0%{transform:scale(1)}40%{transform:scale(1.06)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
@media (max-width:560px){.lobbyShell{padding:84px 16px 32px}.lobbyContent{grid-column:auto}.lobbyTopBar{top:14px;left:14px;right:14px}.lobbyContent p{margin-bottom:26px;font-size:15px}.settingsHeader{grid-template-columns:1fr}.settingsCloseButton{position:absolute;top:12px;right:12px}.settingsDialog{padding-top:18px;position:relative}}@media (max-width:820px),(max-height:680px){.lobbyShell{place-items:center;padding:88px 20px 40px;overflow:auto}.lobbyContent{width:min(430px,100%)}.modeWheel{display:none}.compactLobbyPanel{justify-items:stretch;gap:18px;width:100%;display:grid}.compactLobbyLogo{aspect-ratio:1;object-fit:cover;width:min(178px,48vw);box-shadow:0 0 0 5px rgb(var(--overlay-rgb) / .82), 0 16px 36px rgb(var(--shadow-rgb) / .5);border-radius:50%;justify-self:center}.compactRoundSelector{gap:12px;display:grid}.compactRoundHeader{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.compactRoundHeader label{color:var(--primary);text-transform:uppercase;font-size:12px;font-weight:900}.compactRoundHeader output{min-width:42px;color:var(--text-primary);text-align:right;font-size:30px;font-weight:900;line-height:1}.compactRoundControls{grid-template-columns:46px minmax(0,1fr) 46px;align-items:center;gap:12px;display:grid}.compactRoundControls input[type=range]{width:100%;accent-color:var(--primary)}.compactRoundStep{border:2px solid rgb(var(--primary-rgb) / .5);background:rgb(var(--overlay-rgb) / .68);width:46px;height:46px;color:var(--primary);border-radius:50%;place-items:center;font-size:22px;font-weight:900;line-height:1;display:grid}.compactRoundStep:disabled{cursor:not-allowed;opacity:.42}.compactPlayButton,.compactMultiplayerButton{border:2px solid rgb(var(--primary-rgb) / .62);border-radius:var(--radius-sm);background:rgb(var(--overlay-rgb) / .72);min-height:52px;color:var(--primary);box-shadow:0 8px 18px rgb(var(--shadow-rgb) / .28);font-size:16px;font-weight:900}.compactPlayButton:disabled,.compactMultiplayerButton:disabled{cursor:not-allowed;opacity:.56}.compactMultiplayerButton{background:rgb(var(--overlay-rgb) / .5);box-shadow:none}}
.mpLobby{background:var(--bg-mp-lobby) center / cover no-repeat, var(--overlay);min-height:100vh;color:var(--text-primary);padding:24px clamp(16px,4vw,40px) 48px;position:relative}.mpLobbyHeader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1320px;margin:0 auto 18px;display:flex}.mpLobbyTitle{letter-spacing:1px;text-transform:uppercase;margin:0;font-size:clamp(20px,3vw,26px);font-weight:800}.mpLobbyTitleTag{letter-spacing:1px;color:var(--text-primary);text-transform:uppercase;font-weight:800}.mpLobbyHeaderActions{gap:10px;display:flex}.mpHeaderIconButton{pointer-events:auto}.mpHeaderIconButton .helpAssetIcon{width:32px;height:32px}.mpHelpButton{color:var(--primary)}.mpSoundButton{color:var(--text-secondary)}.mpExitButton{color:var(--text-primary)}.mpRulesDialog{min-height:180px}.mpLobbyActionRow{flex-wrap:wrap;align-items:center;gap:16px;max-width:1320px;margin:0 auto 18px;display:flex}.mpPrimaryButton{border:2px solid var(--primary);border-radius:var(--radius-md);background:rgb(var(--primary-rgb) / .14);color:var(--primary);padding:10px 18px;font-size:14px;font-weight:800;transition:background .16s,transform .16s}.mpPrimaryButton:hover{background:rgb(var(--primary-rgb) / .24);transform:translateY(-1px)}.mpPreviewNote{color:var(--text-secondary);flex:240px;margin:0;font-size:12px}.mpErrorNote{color:var(--error);flex:100%;margin:-4px 0 0;font-size:12px}.mpLobbyColumns{grid-template-columns:1fr 1fr .92fr;align-items:stretch;gap:18px;max-width:1320px;margin:0 auto;display:grid}.mpColumn{border:1.5px solid rgb(var(--primary-rgb) / .28);border-radius:var(--radius-lg);background:rgb(var(--surface-rgb) / .32);flex-direction:column;height:min(640px,100vh - 190px);min-height:520px;display:flex;overflow:hidden}.mpColumnHead{border-bottom:1.5px solid rgb(var(--primary-rgb) / .2);justify-content:space-between;align-items:center;gap:10px;padding:13px 15px;display:flex}.mpColumnHead h2{margin:0;font-size:14.5px;font-weight:700}.mpColumnBody{scrollbar-color:rgb(var(--primary-rgb) / .62) rgb(var(--overlay-rgb) / .34);scrollbar-width:thin;flex-direction:column;flex:1;gap:10px;min-height:0;padding:14px;display:flex;overflow-y:auto}.mpColumnBody::-webkit-scrollbar{width:10px}.mpChatFeed::-webkit-scrollbar{width:10px}.mpColumnBody::-webkit-scrollbar-track{border-radius:var(--radius-pill);background:rgb(var(--overlay-rgb) / .34)}.mpChatFeed::-webkit-scrollbar-track{border-radius:var(--radius-pill);background:rgb(var(--overlay-rgb) / .34)}.mpColumnBody::-webkit-scrollbar-thumb{border:2px solid rgb(var(--overlay-rgb) / .34);border-radius:var(--radius-pill);background:rgb(var(--primary-rgb) / .62)}.mpChatFeed::-webkit-scrollbar-thumb{border:2px solid rgb(var(--overlay-rgb) / .34);border-radius:var(--radius-pill);background:rgb(var(--primary-rgb) / .62)}.mpColumnBody::-webkit-scrollbar-thumb:hover{background:rgb(var(--primary-rgb) / .84)}.mpChatFeed::-webkit-scrollbar-thumb:hover{background:rgb(var(--primary-rgb) / .84)}.mpChip{border:1px solid rgb(var(--text-primary-rgb) / .28);border-radius:var(--radius-pill);color:var(--text-secondary);white-space:nowrap;align-items:center;gap:6px;padding:3px 10px;font-size:11px;display:inline-flex}.mpChipPlaying{border-color:var(--primary);color:var(--primary)}.mpOnlineDot{background:var(--success);border-radius:50%;width:8px;height:8px}.mpRoomRow{border:1.5px solid rgb(var(--text-primary-rgb) / .14);border-radius:var(--radius-md);background:rgb(var(--overlay-rgb) / .28);justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;display:flex}.mpRoomRow.isLocked{opacity:.6}.mpRoomMeta{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.mpRoomName{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:7px;font-size:13.5px;font-weight:600;display:flex;overflow:hidden}.mpRoomSeats{color:var(--text-secondary);font-size:11.5px}.mpRoomRight{align-items:center;gap:8px;display:flex}.mpRoomButton{border:1.5px solid rgb(var(--primary-rgb) / .55);border-radius:var(--radius-sm);background:rgb(var(--overlay-rgb) / .5);color:var(--primary);padding:6px 12px;font-size:12px;font-weight:700}.mpRoomButton:disabled{cursor:not-allowed;opacity:.55}.mpRoomStart{background:var(--primary);color:var(--overlay);border-color:var(--primary)}.mpRoomStart:hover{background:rgb(var(--primary-rgb) / .85)}.mpRoomLocked{font-size:14px}.mpHint{color:var(--text-secondary);margin:2px 0 0;font-size:11px}.mpChatFeed{scrollbar-color:rgb(var(--primary-rgb) / .62) rgb(var(--overlay-rgb) / .34);scrollbar-width:none;flex-direction:column;flex:auto;gap:9px;min-height:0;margin:0;padding:0 6px 0 0;list-style:none;display:flex;overflow-y:auto}.mpChatFeed::-webkit-scrollbar{width:0;height:0;display:none}.mpChatMessage{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:8px;font-size:13px;display:grid}.mpChatId{color:var(--primary);padding:2px 8px}.mpChatBodyText{gap:6px;min-width:0;display:grid}.mpChatText{overflow-wrap:anywhere;min-width:0}.mpChatTranslateButton{border:1px solid rgb(var(--primary-rgb) / .35);border-radius:var(--radius-sm);background:rgb(var(--overlay-rgb) / .36);width:28px;height:28px;color:var(--text-secondary);flex:none;place-items:center;display:inline-grid}.mpChatTranslateButton:hover:not(:disabled),.mpChatTranslateButton:focus-visible{border-color:rgb(var(--primary-rgb) / .7);color:var(--primary)}.mpChatTranslateButton:disabled{cursor:wait;opacity:.55}.mpChatTranslateButton .iconSvg{width:16px;height:16px}.mpChatTranslation{border-left:3px solid rgb(var(--primary-rgb) / .72);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:rgb(var(--overlay-rgb) / .26);color:rgb(var(--text-primary-rgb) / .86);margin:0;padding:7px 10px 7px 12px;font-size:12px;font-style:italic;line-height:1.35}.mpChatTranslationError{color:var(--error);background:0 0;border-left:0;margin:0;padding:0;font-style:normal}.mpChatFoot{border-top:1.5px solid rgb(var(--primary-rgb) / .2);flex:none;align-items:center;gap:8px;margin-top:0;padding-top:12px;display:flex;position:relative}.mpChatBody{overflow:hidden}.mpChatBody>.mpHint{flex:auto}.mpChatInput{border:1.5px solid rgb(var(--primary-rgb) / .4);background:rgb(var(--overlay-rgb) / .5);min-width:0;height:38px;color:var(--text-primary);border-radius:9px;flex:1;padding:0 12px}.mpChatInput::placeholder{color:var(--text-secondary)}.mpEmojiPicker{flex:none;position:relative}.mpEmojiToggle{border:1.5px solid rgb(var(--primary-rgb) / .42);background:rgb(var(--overlay-rgb) / .5);width:38px;height:38px;color:var(--primary);border-radius:9px;place-items:center;display:grid}.mpEmojiToggle:hover,.mpEmojiToggle[aria-expanded=true]{background:rgb(var(--primary-rgb) / .18)}.mpEmojiToggle .iconSvg{width:21px;height:21px}.mpEmojiPanel{border:1.5px solid rgb(var(--primary-rgb) / .42);border-radius:var(--radius-md);background:rgb(var(--surface-floating-rgb) / .96);box-shadow:var(--shadow-lg);z-index:var(--z-floating);grid-template-columns:repeat(6,30px);gap:4px;padding:8px;display:grid;position:absolute;bottom:calc(100% + 8px);left:0}.mpEmojiOption{border:1px solid rgb(var(--text-primary-rgb) / .12);border-radius:var(--radius-sm);background:rgb(var(--overlay-rgb) / .42);place-items:center;width:30px;height:30px;font-size:17px;line-height:1;display:grid}.mpEmojiOption:hover,.mpEmojiOption:focus-visible{border-color:rgb(var(--primary-rgb) / .7);background:rgb(var(--primary-rgb) / .18)}.mpChatSend{height:38px;padding:0 16px}.mpChatError{border-radius:var(--radius-sm);background:rgb(var(--danger-soft-rgb) / .14);border:1px solid rgb(var(--danger-soft-rgb) / .42);color:var(--error);margin:8px 0 0;padding:6px 10px;font-size:12px;animation:4s ease-out forwards mpChatErrorFade}@keyframes mpChatErrorFade{0%{opacity:0;transform:translateY(2px)}8%{opacity:1;transform:translateY(0)}75%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.mpChatError{animation:none}}.mpChatLimitHint{color:var(--text-secondary);opacity:.85;margin:8px 0 0;font-size:11px}.mpCreateRoomDialog{width:min(460px,100vw - 32px)}.mpCreateRoomDialog form{flex-direction:column;gap:14px;display:flex}.mpCreateRoomDialog h2{margin-bottom:2px}.mpFormSection{border:0;gap:10px;margin:0;padding:0;display:grid}.mpFormSection legend,.mpNumberField>span{color:var(--text-secondary);letter-spacing:.3px;text-transform:uppercase;margin-bottom:4px;font-size:12px;font-weight:700}.mpRadioOption,.mpCheckboxOption{border:1px solid rgb(var(--text-primary-rgb) / .16);border-radius:var(--radius-md);background:rgb(var(--overlay-rgb) / .32);grid-template-columns:auto 1fr;align-items:start;gap:10px;padding:10px 12px;display:grid}.mpRadioOption input,.mpCheckboxOption input{accent-color:var(--primary);margin-top:3px}.mpRadioOption span,.mpCheckboxOption span,.mpNumberField{gap:4px;display:grid}.mpRadioOption strong,.mpCheckboxOption strong{font-size:13.5px}.mpRadioOption small,.mpCheckboxOption small,.mpDialogWarning{color:var(--text-secondary);font-size:12px;line-height:1.4}.mpDialogHint{color:var(--text-secondary);margin:4px 0 14px;font-size:13px;line-height:1.45}.mpFieldRow{align-items:start;gap:16px;display:flex}.mpFieldRow>.mpNumberField{flex:1 1 0;min-width:0}.mpNumberField input{border:1.5px solid rgb(var(--primary-rgb) / .45);background:rgb(var(--overlay-rgb) / .5);width:130px;height:40px;color:var(--text-primary);border-radius:9px;padding:0 12px;font-size:15px;font-weight:700}.mpCodeField input{text-transform:uppercase;width:min(220px,100%)}.mpDialogWarning{color:var(--primary);margin:0}
.mpWaitingRoom{gap:18px;max-width:980px;margin:0 auto;display:grid}.mpWaitingTop{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:18px;display:grid}.mpWaitingEyebrow{color:var(--primary);text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:800}.mpWaitingTop h2{margin:0;font-size:clamp(22px,3vw,34px);line-height:1.1}.mpWaitingMeta{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.mpRoomCodePanel{border:1.5px solid rgb(var(--primary-rgb) / .32);border-radius:var(--radius-sm);background:rgb(var(--overlay-rgb) / .34);align-content:center;justify-items:end;gap:7px;min-width:210px;padding:12px 14px;display:grid}.mpRoomCodeLabel{color:var(--text-secondary);text-transform:uppercase;font-size:11px;font-weight:800}.mpRoomCodePanel strong{color:var(--primary);font-variant-numeric:tabular-nums;font-size:28px;line-height:1}.mpSeatGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.mpSeatCard{border:1.5px solid rgb(var(--text-primary-rgb) / .16);border-radius:var(--radius-sm);background:rgb(var(--overlay-rgb) / .34);grid-template-columns:54px minmax(0,1fr);align-items:center;gap:14px;min-height:112px;padding:14px;display:grid;position:relative}.mpSeatCard.isFilled{border-color:rgb(var(--primary-rgb) / .36)}.mpSeatCard.isEmpty{opacity:.72}.mpSeatIndex{color:rgb(var(--text-primary-rgb) / .36);font-size:12px;font-weight:800;position:absolute;top:8px;right:10px}.mpSeatAvatar{border:1.5px solid rgb(var(--primary-rgb) / .42);background:rgb(var(--surface-rgb) / .54);width:54px;height:54px;color:var(--text-primary);border-radius:50%;place-items:center;font-size:22px;font-weight:900;display:grid;overflow:hidden}.mpSeatAvatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.mpSeatInfo{gap:5px;min-width:0;display:grid}.mpSeatInfo strong{text-overflow:ellipsis;white-space:nowrap;font-size:17px;overflow:hidden}.mpSeatInfo span{color:var(--text-secondary);align-items:center;gap:7px;font-size:12px;display:inline-flex}.mpSeatChooseButton{justify-self:start;margin-top:4px}.mpHostMark{color:var(--primary);font-size:14px;line-height:1}.mpSeatTimer{text-align:center;border-radius:var(--radius-lg);background:rgb(var(--success-rgb) / .95);min-width:44px;color:var(--white);font-variant-numeric:tabular-nums;justify-self:center;margin-top:4px;padding:2px 10px;font-size:18px;font-weight:800}.mpSeatStatus{color:var(--danger-text);margin-top:2px;font-size:12px;font-weight:600}.mpGameConnection{z-index:var(--z-floating);position:fixed;top:16px;left:16px}.mpConnBanner{align-items:center;gap:8px;display:inline-flex}.mpConnDot{background:var(--neutral);border-radius:50%;flex:none;width:11px;height:11px}.mpConn-connected .mpConnDot{background:var(--accent-green);box-shadow:0 0 7px rgb(var(--accent-green-rgb) / .75)}.mpConn-connecting .mpConnDot,.mpConn-reconnecting .mpConnDot{background:var(--primary);animation:1.1s ease-in-out infinite mpConnPulse}.mpConn-error .mpConnDot{background:var(--danger)}.mpConnText{color:var(--text-secondary);font-size:13px}@keyframes mpConnPulse{0%,to{opacity:1}50%{opacity:.35}}.mpPreGameOverlay{background:rgb(var(--overlay-rgb) / .55);z-index:var(--z-overlay);place-items:center;display:grid;position:absolute;inset:0}.mpPreGameCard{border:1px solid rgb(var(--primary-rgb) / .6);background:rgb(var(--background-rgb) / .92);color:var(--white);box-shadow:0 18px 48px rgb(var(--shadow-rgb) / .4);border-radius:18px;flex-direction:column;align-items:center;gap:12px;padding:36px 56px;display:flex}.mpPreGameLabel{letter-spacing:.02em;font-size:22px;font-weight:600}.mpPreGameSeconds{font-variant-numeric:tabular-nums;color:var(--primary);font-size:64px;font-weight:800}.mpWaitingActions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.mpPrimaryButton:disabled,.mpRoomButton:disabled{cursor:not-allowed;opacity:.52;transform:none}@media (max-width:980px){.mpLobbyColumns{grid-template-columns:1fr}.mpColumn{height:auto;min-height:420px}}@media (max-width:560px){.mpLobbyHeader{flex-wrap:nowrap;align-items:center;gap:10px}.mpLobbyTitle{flex:auto;min-width:0}.mpWaitingActions{width:100%}.mpWaitingTop{grid-template-columns:1fr}.mpRoomCodePanel{justify-items:start}}
.mpmStageClip{touch-action:manipulation;width:100vw;height:100dvh;position:fixed;top:0;left:0;overflow:hidden}.mpmStage{width:1080px;height:2340px;position:absolute}.mpmLeaveButton{border:2px solid rgb(var(--glass-highlight-rgb) / .2);background:rgb(var(--overlay-rgb) / .72);color:var(--text-primary);z-index:var(--z-overlay);border-radius:26px;place-items:center;padding:0;display:grid;position:absolute}.mpmLeaveButton .iconSvg{width:56%;height:56%}.mpmTable{background:radial-gradient(circle, var(--felt), var(--overlay));box-shadow:0 10px 24px rgb(var(--overlay-rgb) / .7), 0 0 40px -16px rgb(var(--primary-rgb) / .3);z-index:1;border-radius:50%;place-items:center;display:grid;position:absolute;overflow:hidden}.mpmTableLogo{object-fit:cover;opacity:.28;border-radius:50%;width:88%;height:88%;position:absolute;inset:6%}.mpmTableTopLabel{z-index:7;border:2px solid var(--primary);background:rgb(var(--overlay-rgb) / .82);color:var(--primary);white-space:nowrap;border-radius:30px;padding:8px 26px;font-size:32px;font-weight:800;position:absolute}.mpmTableTopLabel.danger{border-color:var(--error);color:var(--error)}.mpmTableTopLabel.gold{border-color:var(--primary);color:var(--primary)}.mpmTile,.mpmTrickTile{z-index:5;background:0 0;border:0;padding:0;position:absolute}.mpmTile .dominoTile,.mpmTrickTile .dominoTile{transform-origin:0 0}.mpmHandTile{width:130px;height:234px}.mpmHandTile .dominoTile{transform:scale(1.625)}.mpmHandTile:disabled{cursor:default}.mpmHandTile.valid .dominoTile{border-color:rgb(var(--primary-rgb) / .9);box-shadow:0 0 12px 2px rgb(var(--primary-rgb) / .5)}.mpmTrickTile{width:130px;height:234px}.mpmTrickTile .dominoTile{transform:scale(1.625)}.mpmDeclared{background:rgb(var(--primary-rgb) / .95);min-width:42px;color:var(--overlay);text-align:center;border-radius:16px;padding:3px 10px;font-size:28px;font-weight:700;position:absolute;top:-16px;right:-16px}.mpmProfileWrap{z-index:4;position:absolute}.mpmProfileWrap>.mpmProfile{z-index:auto;width:100%;height:100%;position:relative}.mpmSideSeat>.avatarRankBadge{top:0%;right:2%}.mpmProfile{background:rgb(var(--overlay-rgb) / .72);border:5px solid rgb(var(--border-rgb) / .7);z-index:4;border-radius:50%;place-items:center;transition:border-color .2s,box-shadow .2s,background-color .2s;display:grid;position:absolute}.mpmProfile.active{background:rgb(var(--background-rgb) / .5);border-color:var(--background);box-shadow:0 0 36px 5px rgb(var(--success-rgb) / .6);border-width:8px}.mpmProfile.dealer{border-color:var(--primary);border-width:8px}.mpmProfile.disconnected{opacity:.5;filter:grayscale(.6)}.mpmProfile.hasAvatar{background:rgb(var(--overlay-rgb) / .9);overflow:hidden}.mpmProfile.hasAvatar:after{content:"";background:linear-gradient(to top, rgb(var(--shadow-rgb) / .8) 0%, rgb(var(--shadow-rgb) / .72) 12%, transparent 34%);pointer-events:none;position:absolute;inset:0}.mpmProfileAvatar{object-fit:cover;border-radius:50%;width:100%;height:100%;position:absolute;inset:0}.mpmProfileTitle{z-index:1;color:var(--primary);text-align:center;text-overflow:ellipsis;white-space:nowrap;padding:8px 8px 14px;font-size:28px;font-weight:700;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.mpmSummary{z-index:8;border:2px solid rgb(var(--border-rgb) / .7);background:rgb(var(--overlay-rgb) / .78);border-radius:30px;gap:5px;padding:16px 22px;display:grid;position:absolute}.mpmSummaryRow{width:100%;color:var(--text-secondary);border:2px solid #0000;border-radius:18px;grid-template-columns:minmax(0,1fr) 46px 72px 110px;align-items:center;column-gap:16px;padding:5px 16px;font-size:35px;font-weight:600;line-height:1.25;display:grid}.mpmSummaryRow.active{border-color:var(--primary);background:rgb(var(--primary-rgb) / .16);color:var(--text-primary)}.mpmSummaryRow.disconnected{opacity:.5}.mpmSummaryName{align-items:center;gap:13px;min-width:0;display:flex}.mpmSummaryNameText{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mpmSummaryDealer{place-items:center;display:grid}.mpmDealerMark{background:var(--primary);width:38px;height:38px;color:var(--overlay);border-radius:50%;place-items:center;font-size:24px;font-weight:900;line-height:1;display:inline-grid}.mpmSummaryBid{text-align:right;color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700;overflow:hidden}.mpmSummaryBid.matched{color:var(--positive)}.mpmSummaryBid.over{color:var(--error)}.mpmSummaryScore{text-align:right;color:var(--primary);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:800}.mpmRoundCount{z-index:8;color:var(--primary);text-align:center;font-variant-numeric:tabular-nums;pointer-events:none;font-size:160px;font-weight:900;line-height:1;transition:color .4s;position:absolute}.mpmRoundCount.warn{color:var(--danger-text-coral)}.mpmRoundCount.danger{color:var(--error)}.mpmBadge{z-index:6;border-radius:50%;place-items:center;font-size:45px;font-weight:800;line-height:1;display:grid;position:absolute}.mpmPoints{background:rgb(var(--overlay-rgb) / .8);color:var(--primary);border:2px solid rgb(var(--primary-rgb) / .6)}.mpmTileCount{background:var(--overlay);color:var(--text-primary);border:2px solid rgb(var(--glass-highlight-rgb) / .25)}.mpmCountdown{background:var(--primary);color:var(--overlay)}.mpmBidWon{background:rgb(var(--overlay-rgb) / .82);color:var(--text-primary);border:2px solid rgb(var(--glass-highlight-rgb) / .25);font-size:38px}.mpmBidWon.matched{color:var(--positive)}.mpmBidWon.over{color:var(--error)}.modalScale{display:contents}@media (max-width:480px){.modalBackdrop{overflow:hidden}.modalScale{transform-origin:50%;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.82)}.modalScale:has(.bidDialog){top:42%;transform:translate(-50%,-50%)scale(.72)}.modalScale .exitDialog,.modalScale .numberDialog,.modalScale .summaryDialog,.modalScale .rulesDialog,.modalScale .settingsDialog,.modalScale .leaderboardDialog{width:min(560px,110vw);max-width:none}}
.mplShell{padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));z-index:var(--z-raised);flex-direction:column;gap:12px;display:flex;position:fixed;inset:0}.mplHeader{flex:none;justify-content:space-between;align-items:center;gap:10px;display:flex}.mplHeaderButtons{gap:8px;display:flex}.mplActions{flex:none;gap:8px;display:flex}.mplActions>button{white-space:nowrap;text-overflow:ellipsis;flex:1 1 0;min-width:0;padding:12px 8px;font-size:14px;overflow:hidden}.mplSections{flex-direction:column;flex:auto;gap:12px;min-height:0;display:flex}.mplSection{flex-direction:column;flex:none;min-height:0;display:flex}.mplSection.isOpen{flex:auto}.mplSectionHeader{border-radius:var(--radius-lg);background:var(--primary);color:var(--on-primary);text-align:left;border:0;flex:none;align-items:center;gap:12px;padding:14px 16px;display:flex}.mplSectionTitle{flex:auto;font-size:18px;font-weight:800}.mplSectionCount{opacity:.85;font-size:13px;font-weight:600}.mplSectionToggle{font-size:18px;transition:transform .16s}.mplSectionToggle.open{transform:rotate(180deg)}.mplSectionBody{scrollbar-width:none;flex-direction:column;flex:auto;gap:10px;min-height:0;padding:10px 0 2px;display:flex;overflow-y:auto}.mplSectionBody::-webkit-scrollbar{display:none}.mplEmpty{color:var(--text-secondary);text-align:center;margin:0;padding:18px;font-size:14px}.mplRow{border:1px solid rgb(var(--primary-rgb) / .25);border-radius:var(--radius-lg);background:rgb(var(--surface-floating-rgb) / .5);flex:none;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.mplRow.isLocked{opacity:.7}.mplRowMeta{flex-direction:column;gap:4px;min-width:0;display:flex}.mplRowId{color:var(--text-primary);align-items:center;gap:6px;font-size:16px;font-weight:800;display:flex}.mplRowSub{color:var(--text-secondary);font-size:12px}.mplLock{font-size:13px}.mplRowRight{flex:none;align-items:center;gap:8px;display:flex}.mplStatus{border-radius:var(--radius-pill);background:rgb(var(--overlay-rgb) / .5);color:var(--text-secondary);padding:4px 10px;font-size:12px}.mplStatus.playing{color:var(--primary)}.mplRowLocked{font-size:18px}.mplRowBtn{border:1.5px solid rgb(var(--primary-rgb) / .6);border-radius:var(--radius-md);background:rgb(var(--overlay-rgb) / .55);color:var(--text-primary);white-space:nowrap;padding:8px 14px;font-size:13px}.mplRowBtn:disabled{opacity:.4}.mplRowBtn.start{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.mplChatFab{border:2px solid rgb(var(--primary-rgb) / .5);background:rgb(var(--surface-floating-rgb) / .92);width:54px;height:96px;color:var(--text-primary);z-index:var(--z-floating);border-right:0;border-radius:30px 0 0 30px;place-items:center;padding:0;display:grid;position:fixed;top:50%;right:0;transform:translateY(-50%)}.mplChatFab.glass{border:2px solid rgb(var(--primary-rgb) / .5);box-shadow:var(--shadow-lg);border-right:0}.mplChatFab .iconSvg{width:24px;height:24px}.mplChatUnread{background:var(--online);width:12px;height:12px;box-shadow:0 0 8px 1px rgb(var(--online-rgb) / .7);border-radius:50%;position:absolute;top:14px;right:10px}.mplChatOverlay{width:100%;height:100dvh;padding:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));background:rgb(var(--overlay-rgb) / .98);z-index:var(--z-sheet);flex-direction:column;display:flex;position:fixed;top:0;left:0}.mplChatHead{flex:none;justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.mplChatOnline{color:var(--text-secondary);align-items:center;gap:8px;font-size:14px;display:flex}.mplChatOnlineDot{background:var(--online);border-radius:50%;width:10px;height:10px}.mplChatClose{border:1px solid rgb(var(--border-rgb) / .7);border-radius:var(--radius-md);background:rgb(var(--overlay-rgb) / .7);width:44px;height:44px;color:var(--text-primary);place-items:center;padding:0;display:grid}.mplChatClose .iconSvg{width:22px;height:22px}.mplChatFeed{scrollbar-width:none;flex-direction:column;flex:auto;gap:8px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.mplChatFeed::-webkit-scrollbar{display:none}.mplChatEmpty{color:var(--text-secondary);flex:auto;place-items:center;font-size:14px;display:grid}.mplChatMessage{word-break:break-word;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:6px;font-size:15px;line-height:1.35;display:grid}.mplChatAuthor{color:var(--primary);margin-right:6px;font-weight:700}.mplChatText{color:var(--text-primary)}.mplChatMessage .mpChatTranslateButton{width:32px;height:32px}.mplChatMessage .mpChatTranslation{font-size:13px}.mplChatError{color:var(--error);margin:8px 0 0;font-size:13px}.mplChatFoot{flex:none;align-items:center;gap:8px;margin-top:10px;display:flex}.mplChatInput{border:1px solid rgb(var(--border-rgb) / .7);border-radius:var(--radius-lg);background:rgb(var(--overlay-rgb) / .9);min-width:0;color:var(--text-primary);flex:auto;padding:12px 14px;font-size:16px}.mplChatSend{border-radius:var(--radius-lg);background:var(--primary);height:46px;color:var(--on-primary);border:0;flex:none;padding:0 18px;font-size:15px;font-weight:700}.mplErrorToast{background:var(--error);max-width:90%;color:var(--white);text-align:center;z-index:var(--z-toast);border-radius:0 0 12px 12px;padding:10px 18px;font-size:14px;animation:6s forwards mplErrorToast;position:fixed;top:0;left:50%}@keyframes mplErrorToast{0%{opacity:0;transform:translate(-50%,-100%)}8%{opacity:1;transform:translate(-50%)}85%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%)}}
.lobbyProfile{--lobby-avatar:calc(min(560px, 100vw - 48px) * .42);transform:translateY(calc(var(--lobby-avatar) / -2 + 24px));z-index:2;color:var(--text-primary);font:inherit;cursor:pointer;text-align:center;background:0 0;border:none;padding:0;display:grid;position:fixed;top:50%;right:clamp(20px,4vw,64px)}.lobbyProfileAuthed{grid-template-columns:auto auto;grid-template-areas:"avatar avatar""left right";justify-items:center;gap:14px 0}.lobbyProfileAvatarBlock{grid-area:avatar;justify-items:center;gap:8px;display:grid}.lobbyProfileAvatar{width:var(--lobby-avatar);height:var(--lobby-avatar);border:2px solid var(--primary);background:rgb(var(--shadow-rgb) / .3);box-shadow:0 0 0 5px rgb(var(--overlay-rgb) / .82), 0 16px 36px rgb(var(--shadow-rgb) / .5);border-radius:50%;place-items:center;display:grid;overflow:hidden}.lobbyProfileAvatar img{object-fit:cover;width:100%;height:100%}.lobbyProfileName{max-width:var(--lobby-avatar);text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:700;overflow:hidden}.lobbyProfileTitle{color:var(--primary);letter-spacing:.02em;font-size:13px;font-weight:600}.lobbyProfileBalance{border-radius:var(--radius-pill);background:rgb(var(--coin-rgb) / .14);border:1px solid rgb(var(--coin-rgb) / .34);animation:balanceEnter var(--motion-slow) var(--ease-standard) both;margin-top:2px;padding:2px 10px;font-size:14px}.lobbyProfileBalance .coinBalanceIcon{width:15px;height:15px}.lobbyProfileLoser{border:1px solid var(--error);border-radius:var(--radius-pill);letter-spacing:.06em;text-transform:uppercase;color:var(--error);margin-top:2px;padding:1px 8px;font-size:10px;font-weight:700}.lobbyProfileStatsLeft{grid-area:left}.lobbyProfileStatsRight{grid-area:right}.lobbyProfileStats{min-width:calc(var(--lobby-avatar) / 2);background:rgb(var(--surface-rgb) / .72);border-top:1px solid rgb(var(--primary-rgb) / .35);border-bottom:1px solid rgb(var(--primary-rgb) / .35);align-content:center;gap:12px;padding:14px 10px;display:grid}.lobbyProfileStatsLeft{border-left:1px solid rgb(var(--primary-rgb) / .35);border-radius:14px 0 0 14px}.lobbyProfileStatsRight{border-right:1px solid rgb(var(--primary-rgb) / .35);border-radius:0 14px 14px 0}.lobbyProfile:hover .lobbyProfileStats{border-color:rgb(var(--primary-rgb) / .65)}.lobbyProfileStat{gap:2px;display:grid}.lobbyProfileStatValue{color:var(--primary);font-size:18px;font-weight:700;line-height:1}.lobbyProfileStatLabel{letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);font-size:11px}@media (max-width:820px),(max-height:680px){.lobbyProfile{width:100%;max-width:430px;margin:0 auto 6px;padding:4px 0 8px;position:static;transform:none}.lobbyProfileAuthed{grid-template-columns:1fr auto 1fr;grid-template-areas:"left avatar right";align-items:center;gap:0 10px}.lobbyProfileAvatar{width:84px;height:84px;box-shadow:none}.lobbyProfileName{font-size:15px}.lobbyProfileStats{background:0 0;border:none;border-radius:0;min-width:0;padding:0}.lobbyProfileStatsLeft{justify-items:end}.lobbyProfileStatsRight{justify-items:start}}
.coinBalance{color:var(--coin);align-items:center;gap:5px;font-weight:700;line-height:1;display:inline-flex}.coinBalanceIcon{flex:none;width:1em;height:1em}.coinBalanceValue{font-variant-numeric:tabular-nums}.gameEndReward{width:fit-content;color:var(--coin);background:rgb(var(--coin-rgb) / .14);border:1px solid rgb(var(--coin-rgb) / .4);border-radius:var(--radius-pill);animation:coinGainPulse .7s var(--ease-standard) both;align-items:center;gap:8px;margin:4px auto 8px;padding:6px 18px;font-size:22px;font-weight:800;display:flex}.gameEndRewardIcon{flex:none;width:22px;height:22px}.gameEndRewardValue{font-variant-numeric:tabular-nums}.mpRoomFee{color:var(--coin);font-variant-numeric:tabular-nums;border-radius:var(--radius-pill);background:rgb(var(--coin-rgb) / .14);border:1px solid rgb(var(--coin-rgb) / .4);transition:transform .16s var(--ease-standard);align-items:center;gap:4px;padding:1px 8px;font-weight:700;display:inline-flex}.mpRoomFee:hover{transform:scale(1.06)}.mpRoomFeeIcon{flex:none;width:1em;height:1em}.mplRowFee{margin-left:8px;padding:0 6px;font-size:.85em}.mpEntryFeeLabel{color:var(--coin);align-items:center;gap:6px;display:inline-flex}.mpEntryFeeIcon{flex:none;width:1.1em;height:1.1em}.mpEntryFeeHint{opacity:.85;display:block}.potRow{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.potChest{object-fit:contain;width:52px;height:52px;filter:drop-shadow(0 3px 8px rgb(var(--shadow-rgb) / .5));flex:none}.potValue{color:var(--coin);font-variant-numeric:tabular-nums;animation:potBump .22s var(--ease-standard) both;align-items:center;gap:7px;font-size:22px;font-weight:800;display:inline-flex}.potIcon{flex:none;width:1.1em;height:1.1em}.mpmPot{color:var(--coin);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;flex-direction:column;align-items:center;gap:6px;font-weight:800;line-height:1;display:flex;position:absolute}.mpmPotChest{object-fit:contain;width:148px;height:148px;filter:drop-shadow(0 4px 10px rgb(var(--shadow-rgb) / .55));flex:none}.mpmPotValue{animation:potBump .22s var(--ease-standard) both;font-size:52px;display:inline-block}
.authDialog{width:min(440px,92vw)}.authDialogAuthenticated{flex-direction:column;height:min(600px,100vh - 40px);display:flex;overflow:auto}.authDialog .settingsTab{font-size:15px;font-weight:500}.authDialog .settingsTab[aria-selected=false]{color:var(--text-secondary);background:0 0}.authDialog .settingsTab[aria-selected=true]{color:var(--primary);background:rgb(var(--primary-rgb) / .16)}.authDialog .settingsTab[aria-selected=false]:hover{color:var(--text-primary)}.authForm{flex-direction:column;gap:14px;margin-top:10px;display:flex}.authError{color:var(--error);margin:4px 0 0;font-size:14px}.authWarning{color:var(--primary);margin:6px 0 0;font-size:13px;line-height:1.4;display:block}.authNotice{color:var(--text-secondary);text-align:left;margin:4px 0 0;font-size:14px;line-height:1.4}.authForgotLink{align-self:center;margin-top:10px;font-size:13px}.authResetScreen{border:1.5px solid rgb(var(--primary-rgb) / .4);background:rgb(var(--overlay-rgb) / .85);border-radius:18px;flex-direction:column;gap:16px;width:min(420px,92vw);margin:auto;padding:28px 26px;display:flex}.authResetTitle{color:var(--text-primary);text-align:center;margin:0;font-size:22px;font-weight:700}.avatarPicker{border:none;margin:0;padding:0}.avatarPicker legend{color:var(--text-secondary);margin-bottom:8px;font-size:13px}.avatarGrid{scrollbar-width:none;grid-template-columns:repeat(6,1fr);gap:8px;max-height:220px;display:grid;overflow-y:auto}.authDialogAuthenticated .authForm{flex:1;min-height:0}.authDialogAuthenticated .avatarPicker{flex-direction:column;flex:1;min-height:0;display:flex}.authDialogAuthenticated .avatarGrid{flex:1;min-height:0;max-height:none}.avatarGrid::-webkit-scrollbar{display:none}.avatarOption{background:rgb(var(--shadow-rgb) / .2);cursor:pointer;aspect-ratio:1;border:2px solid #0000;border-radius:50%;padding:2px}.avatarOption img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.avatarOption.selected{border-color:var(--primary)}.avatarUploadButton{border-color:var(--primary);color:var(--primary);place-items:center;display:grid}.avatarUploadButton:disabled{opacity:.5;cursor:progress}.avatarCameraIcon{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:58%;height:58%}.authProfileActions{justify-content:space-between}.personalizationPanel{flex-direction:column;gap:12px;margin-top:10px;display:flex}.themeOptions{border:0;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin:0;padding:0;display:grid}.themeOption{border:2px solid var(--border);border-radius:var(--radius-md);background:var(--dialog-surface);cursor:pointer;align-items:center;gap:10px;padding:10px 12px;display:flex}.themeOption.selected{border-color:var(--primary);background:rgb(var(--primary-rgb) / .12)}.themeOption:focus-within{outline:2px solid var(--primary);outline-offset:2px}.themeOption input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.themeOptionName{color:var(--text-primary);font-size:14px;font-weight:700}.themeSwatch{border:1px solid rgb(var(--text-primary-rgb) / .25);border-radius:50%;flex:none;width:26px;height:26px}.themeSwatch.theme-default{background:linear-gradient(135deg, var(--background) 55%, var(--primary) 55%)}.statsPanel{flex-direction:column;gap:16px;margin-top:10px;display:flex}.authDialogAuthenticated .statsPanel{flex:1;min-height:0;overflow-y:auto}.statsSection{gap:6px;display:grid}.statsHeading{letter-spacing:.3px;text-transform:uppercase;color:var(--text-secondary);margin:0;font-size:13px;font-weight:700}.statsHint{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.4}.statsEmpty{text-align:center;color:var(--text-secondary);margin:16px 0;font-size:14px}.statsBar{border-radius:var(--radius-pill);background:rgb(var(--text-primary-rgb) / .1);width:100%;height:16px;display:flex;overflow:hidden}.statsBar-thin{height:8px}.statsSeg{min-width:2px;height:100%}.statsSeg-met{background:var(--success)}.statsSeg-exceeded{background:var(--primary)}.statsSeg-missed{background:var(--error)}.statsSeg-p1{background:var(--success)}.statsSeg-p2{background:var(--primary)}.statsSeg-p3{background:var(--neutral)}.statsSeg-p4{background:var(--error)}.statsLegend{color:var(--text-secondary);flex-wrap:wrap;gap:4px 14px;margin:2px 0 0;padding:0;font-size:12px;list-style:none;display:flex}.statsLegend li{align-items:center;gap:6px;display:inline-flex}.statsLegend strong{color:var(--text-primary)}.statsDot{border-radius:50%;flex:none;width:10px;height:10px}.statsTactic{gap:4px;margin-top:6px;display:grid}.statsTacticHead{justify-content:space-between;font-size:13px;display:flex}.statsTacticHead strong{color:var(--text-primary)}.statsPlaceRow{grid-template-columns:64px 1fr auto;align-items:center;gap:10px;display:grid}.statsPlaceLabel{color:var(--text-primary);font-size:13px}.statsPlaceTotal{text-align:right;font-variant-numeric:tabular-nums;min-width:18px;color:var(--text-secondary);font-size:12px}.statsPlaceEmpty{grid-column:2/4}
.installBanner{z-index:var(--z-floating);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--dialog-surface);width:max-content;max-width:min(92vw,520px);box-shadow:0 6px 24px rgb(var(--shadow-rgb) / .45);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 14px;padding:12px 16px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.installBannerText{color:var(--text-primary);margin:0;font-size:14px;line-height:1.4}.installBannerActions{align-items:center;gap:10px;display:flex}.installBannerInstall{padding:8px 18px;font-size:14px}.installBannerDismiss{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:8px 12px;font-size:14px}.installBannerDismiss:hover{color:var(--text-primary)}
.leaderboardDialog{width:min(620px,92vw);max-width:92vw}.leaderboardDialog h2 .trophyAssetIcon{vertical-align:-7px;width:28px;height:28px;display:inline-block}.leaderboardInfoButton{border-radius:var(--radius-pill);border:1px solid rgb(var(--primary-rgb) / .6);background:rgb(var(--primary-rgb) / .12);width:22px;height:22px;color:var(--primary);cursor:pointer;vertical-align:middle;margin-left:8px;font-size:.8rem;font-weight:700;line-height:1}.leaderboardInfoButton:hover,.leaderboardInfoButton:focus-visible{background:rgb(var(--primary-rgb) / .22)}.leaderboardInfo{border-radius:var(--radius-md);background:rgb(var(--primary-rgb) / .1);border:1px solid rgb(var(--primary-rgb) / .3);color:var(--text-primary);margin:0 0 12px;padding:10px 12px;font-size:.85rem;line-height:1.4}.leaderboardStatus{text-align:center;color:var(--text-secondary);padding:28px 8px}.leaderboardRetry{border-radius:var(--radius-pill);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;background:0 0;margin-top:10px;padding:6px 14px}.leaderboardRetry:hover,.leaderboardRetry:focus-visible{background:rgb(var(--text-primary-rgb) / .08)}.leaderboardTable{--lb-cols:1.9rem 2rem minmax(0, 1fr) 1.8rem 3ch 3ch 3.4ch 4ch 2.6ch;scrollbar-width:none;flex-direction:column;max-height:min(60vh,60dvh);display:flex;overflow:hidden auto}.leaderboardTable::-webkit-scrollbar{display:none}.leaderboardRow{grid-template-columns:var(--lb-cols);border-bottom:1px solid rgb(var(--border-rgb) / .4);color:var(--text-primary);align-items:center;gap:6px;padding:6px 4px;font-size:.9rem;display:grid}.leaderboardHead{z-index:1;border-bottom:1px solid rgb(var(--text-primary-rgb) / .2);background:rgb(var(--overlay-rgb) / .92);color:var(--text-secondary);text-transform:uppercase;position:sticky;top:0}.leaderboardHead span{font-size:.82em}.leaderboardRow.self{background:rgb(var(--primary-rgb) / .14);border-radius:var(--radius-sm);border-bottom-color:#0000}.lbRank{text-align:center;color:var(--text-secondary);font-variant-numeric:tabular-nums}.lbAvatar{justify-content:center;display:flex}.lbAvatarImg{border-radius:var(--radius-pill);object-fit:cover;border:1px solid rgb(var(--primary-rgb) / .5);width:26px;height:26px}.lbName{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.lbBadge{justify-content:center;display:flex;overflow:visible}.lbBadgeImg{object-fit:contain;width:22px;height:22px}.lbBadgeImg.top3{width:30px;height:30px}.lbBadgeImg.top1{width:42px;height:42px}.lbNum{text-align:right;font-variant-numeric:tabular-nums}.lbLang{text-align:center;color:var(--text-secondary)}.leaderboardSelf{border-radius:var(--radius-md);background:rgb(var(--overlay-rgb) / .35);border:1px solid rgb(var(--text-primary-rgb) / .12);color:var(--text-primary);margin-top:14px;padding:12px;font-size:.88rem;line-height:1.4}.leaderboardSelfLabel{color:var(--text-secondary);text-transform:uppercase;margin-bottom:8px;font-size:.74rem;display:block}.leaderboardSelfTable{max-height:none;overflow:visible}.leaderboardSelfTable .leaderboardRow{border-bottom:none;padding:4px}@media (max-width:480px){.leaderboardRow{gap:3px;padding:6px 2px;font-size:.82rem}.leaderboardTable{--lb-cols:1.7rem 1.7rem minmax(0, 1fr) 1.6rem 2.8ch 2.8ch 3.2ch 3.8ch 2.4ch;max-height:min(64vh,64dvh)}.lbAvatarImg{width:22px;height:22px}.lbBadgeImg{width:19px;height:19px}.lbBadgeImg.top3{width:26px;height:26px}.lbBadgeImg.top1{width:36px;height:36px}}
.avatarBadgeWrap{flex:none;display:inline-flex;position:relative}.avatarRankBadge{object-fit:contain;pointer-events:none;z-index:3;width:38%;height:38%;filter:drop-shadow(0 1px 3px rgb(var(--overlay-rgb) / .7));position:absolute;top:-6%;right:-6%}
.glass,.soundPanel,.mpGameConnection .mpConnBanner:not(.mpConn-connected){background:var(--glass-bg-fallback);border:1px solid var(--glass-border);box-shadow:0 22px 60px var(--glass-shadow-color), inset 0 1px 0 rgb(var(--glass-highlight-rgb) / .22), inset 0 -1px 0 var(--glass-inset-shadow-color)}.mpGameConnection .mpConnBanner:not(.mpConn-connected){border-radius:var(--radius-pill);box-shadow:var(--shadow-md);padding:6px 12px}.glass-strong{background:var(--glass-bg-strong-fallback);border-color:var(--glass-border-strong)}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass,.soundPanel,.mpGameConnection .mpConnBanner:not(.mpConn-connected){background:linear-gradient(180deg, rgb(var(--glass-highlight-rgb) / .16) 0%, rgb(var(--glass-highlight-rgb) / .055) 38%, rgb(var(--glass-highlight-rgb) / .015) 100%), var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate))}.glass-strong{background:linear-gradient(180deg, rgb(var(--glass-highlight-rgb) / .18) 0%, rgb(var(--glass-highlight-rgb) / .065) 38%, rgb(var(--glass-highlight-rgb) / .02) 100%), var(--glass-bg-strong)}}

