*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0d1b2e}html,body,#root{height:100%;width:100%}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.signup-page{min-height:100dvh;background:#0d1b2e;display:flex;align-items:center;justify-content:center;padding:24px}.signup-card{background:#162340;border:1px solid rgba(201,168,76,.2);border-radius:8px;padding:40px;width:min(90vw,480px);box-shadow:0 20px 40px #00000080,0 0 20px #c9a84c1a;animation:signup-card-appear .25s ease-out}@keyframes signup-card-appear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:520px){.signup-card{padding:24px}}.signup-progress{position:relative;margin-bottom:32px;padding:0 8px}.signup-progress-track{position:absolute;top:50%;left:8px;right:8px;height:2px;background:#ffffff1a;transform:translateY(-50%)}.signup-progress-pips{display:flex;justify-content:space-between;position:relative;list-style:none;margin:0;padding:0}.signup-progress-pip{width:12px;height:12px;border-radius:50%;background:#162340;border:2px solid rgba(255,255,255,.15);transition:all .2s ease;position:relative;z-index:1}.signup-progress-pip.completed{background:#c9a84c;border-color:#c9a84c}.signup-progress-pip.current{background:transparent;border-color:#c9a84c;box-shadow:0 0 0 3px #c9a84c40}.signup-beta-banner{background:#c9a84c1a;border:1px solid rgba(201,168,76,.2);border-radius:8px;padding:12px 16px;margin-bottom:24px}.signup-beta-banner p{margin:6px 0 0;font-family:DM Sans,sans-serif;font-size:15px;color:#ffffffd9;line-height:1.5}.signup-beta-tag{display:inline-block;background:#c9a84c;color:#0d1b2e;font-family:DM Sans,sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:4px}.signup-title{font-family:DM Sans,sans-serif;font-size:20px;font-weight:600;color:#fff;margin:0 0 8px}.signup-subtitle{font-family:DM Sans,sans-serif;font-size:15px;color:#ffffffd9;margin:0 0 30px;line-height:1.5}.signup-label{display:block;font-family:DM Mono,monospace;font-size:15px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:#ffffffd9;margin-bottom:8px}.signup-input{display:block;width:100%;height:48px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;font-family:DM Sans,sans-serif;font-size:16px;padding:0 16px;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.signup-input::placeholder{color:#ffffff4d}.signup-input:focus-visible{outline:none;border-color:#c9a84c;box-shadow:0 0 0 3px #c9a84c33}.signup-input:disabled{opacity:.5;cursor:not-allowed}.signup-input:-webkit-autofill,.signup-input:-webkit-autofill:hover,.signup-input:-webkit-autofill:focus{-webkit-text-fill-color:white;-webkit-box-shadow:0 0 0 1000px rgba(22,35,64,.99) inset;border-color:#c9a84c;caret-color:#fff}.bluesky-handle-form{display:flex;flex-direction:column;gap:8px;margin-top:4px;margin-bottom:8px;padding:0 4px}.bsky-handle-label{display:flex;align-items:center;gap:8px;margin:16px 0 0;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;color:#ffffffd9}.bsky-handle-label svg{flex-shrink:0}.bsky-handle-info{margin:0;font-family:DM Sans,sans-serif}.bsky-handle-info summary{display:inline-flex;align-items:center;gap:4px;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;font-size:12px;color:#c9a84cd9;padding:4px 2px;min-height:24px;border-radius:4px;transition:color .15s}.bsky-handle-info summary::-webkit-details-marker{display:none}.bsky-handle-info summary:before{content:"";display:inline-block;width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:5px solid currentColor;transition:transform .15s ease}.bsky-handle-info[open] summary:before{transform:rotate(90deg)}.bsky-handle-info summary:hover{color:#c9a84c;text-decoration:underline}.bsky-handle-info summary:focus-visible{outline:2px solid #C9A84C;outline-offset:2px}.bsky-handle-info p{margin:6px 0 4px;padding:10px 12px;font-size:13px;line-height:1.5;color:#ffffffbf;background:#ffffff0a;border-left:2px solid rgba(0,133,255,.6);border-radius:4px}.bsky-handle-info code{font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;padding:1px 5px;background:#ffffff14;border-radius:3px;color:#ffffffe6}.bsky-handle-wrap{position:relative}.bsky-handle-prefix{position:absolute;left:14px;top:50%;transform:translateY(-50%);pointer-events:none;color:#ffffff8c;font-family:DM Sans,sans-serif;font-size:16px}.bsky-handle-input{padding-left:30px}.bsky-handle-input::placeholder{color:transparent}.bsky-handle-anim-placeholder{position:absolute;left:30px;top:50%;transform:translateY(-50%);pointer-events:none;-webkit-user-select:none;user-select:none;font-family:DM Sans,sans-serif;font-size:16px;color:#ffffff4d}@keyframes bsky-handle-cursor-blink{0%,to{opacity:1}50%{opacity:0}}.bsky-handle-cursor{display:inline-block;width:1px;height:1em;background:currentColor;margin-left:1px;vertical-align:text-bottom;animation:bsky-handle-cursor-blink 1s step-end infinite}@media(prefers-reduced-motion:reduce){.bsky-handle-cursor{animation:none}}.signup-btn-primary{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:48px;min-height:44px;background:#c9a84c;color:#0d1b2e;border:none;border-radius:8px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:background .2s,transform .1s,box-shadow .2s;box-shadow:0 4px 12px #c9a84c33}.signup-btn-primary:hover:not(:disabled){background:#8a6820;transform:translateY(-1px);box-shadow:0 6px 16px #c9a84c66}.signup-btn-primary:active:not(:disabled){transform:translateY(0)}.signup-btn-primary:focus-visible{outline:2px solid #C9A84C;outline-offset:2px}.signup-btn-primary:disabled{opacity:.5;cursor:not-allowed}.signup-btn-ghost{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:48px;min-height:44px;background:transparent;color:#ffffffd9;border:1px solid rgba(255,255,255,.15);border-radius:8px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:8px}.signup-btn-ghost:hover:not(:disabled){background:#ffffff0d;color:#fffc;border-color:#c9a84c66}.signup-btn-ghost:focus-visible{outline:2px solid #C9A84C;outline-offset:2px}.signup-btn-ghost:disabled{opacity:.5;cursor:not-allowed}.signup-hint-info{background:#5b8fa81a;border-left:3px solid #5b8fa8;padding:12px 16px;border-radius:0 8px 8px 0;font-family:DM Sans,sans-serif;font-size:13px;color:#ffffffb3;line-height:1.5;margin-bottom:16px}.signup-hint-warn{background:#c0a0401a;border-left:3px solid #c0a040;padding:12px 16px;border-radius:0 8px 8px 0;font-family:DM Sans,sans-serif;font-size:13px;color:#ffffffb3;line-height:1.5;margin-bottom:16px}.signup-error{background:#c6282826;color:#ff6b6b;padding:10px 14px;border-radius:8px;font-family:DM Sans,sans-serif;font-size:14px;margin-bottom:16px;border-left:3px solid #ff6b6b}.signup-divider{display:flex;align-items:center;gap:16px;margin:20px 0;color:#ffffffd9;font-family:DM Sans,sans-serif;font-size:15px}.signup-divider:before,.signup-divider:after{content:"";flex:1;height:1px;background:#ffffff1a}.signup-radio-group{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;border:none;padding:0}.signup-radio-option{display:flex;align-items:center;gap:12px;padding:12px 16px;min-height:44px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;transition:all .2s;font-family:DM Sans,sans-serif;font-size:15px;color:#ffffffd9;width:100%;text-align:left}.signup-radio-option:hover{background:#ffffff0f;border-color:#fff3}.signup-radio-option.selected{background:#c9a84c14;border-color:#c9a84c66}.signup-radio-circle{width:20px;height:20px;min-width:20px;border:2px solid rgba(255,255,255,.3);border-radius:50%;background:transparent;position:relative;transition:all .2s}.signup-radio-option.selected .signup-radio-circle{border-color:#c9a84c}.signup-radio-option.selected .signup-radio-circle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;background:#c9a84c;border-radius:50%}.signup-radio-option:focus-visible{outline:2px solid #C9A84C;outline-offset:2px}.signup-radio-label{font-family:DM Sans,sans-serif;font-size:15px;color:#ffffffd9}.signup-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;min-height:44px;border-bottom:1px solid rgba(255,255,255,.06)}.signup-toggle-row:last-child{border-bottom:none}.signup-toggle-label-text{font-family:DM Sans,sans-serif;font-size:15px;color:#ffffffd9}.signup-toggle-desc{font-family:DM Sans,sans-serif;font-size:15px;color:#ffffffd9;margin-top:2px}.signup-toggle{position:relative;width:48px;height:28px;min-width:48px;background:#ffffff26;border:none;border-radius:14px;cursor:pointer;transition:background .2s;padding:0}.signup-toggle[aria-checked=true]{background:#c9a84c}.signup-toggle:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0000004d}.signup-toggle[aria-checked=true]:after{transform:translate(20px)}.signup-toggle:focus-visible{outline:2px solid #C9A84C;outline-offset:2px}.signup-toggle.locked{opacity:.5;cursor:not-allowed}.signup-checkbox-row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;min-height:44px}.signup-checkbox-row input[type=checkbox]{appearance:none;-webkit-appearance:none;width:22px;height:22px;min-width:22px;min-height:22px;margin-top:1px;border:2px solid rgba(255,255,255,.3);border-radius:4px;background:transparent;cursor:pointer;position:relative;transition:all .2s}.signup-checkbox-row input[type=checkbox]:checked{background:#c9a84c;border-color:#c9a84c}.signup-checkbox-row input[type=checkbox]:checked:after{content:"";position:absolute;top:3px;left:6px;width:6px;height:10px;border:solid #0D1B2E;border-width:0 2px 2px 0;transform:rotate(45deg)}.signup-checkbox-row input[type=checkbox]:focus-visible{outline:2px solid #C9A84C;outline-offset:2px}.signup-checkbox-text{font-family:DM Sans,sans-serif;font-size:14px;color:#ffffffb3;line-height:1.5}.signup-checkbox-text a{color:#c9a84c;text-decoration:underline;text-underline-offset:2px}.signup-checkbox-text a:hover{color:#dfc06e}.signup-checkbox-text a:focus-visible{outline:2px solid #C9A84C;outline-offset:2px}.signup-field-row{margin-bottom:8px}.signup-spacer{height:16px}.signup-form-group{margin-bottom:16px}.signup-form-group:last-of-type{margin-bottom:24px}.signup-btn-row{display:flex;gap:12px;margin-top:24px}.signup-btn-row>*{flex:1}.signup-btn-social{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:48px;min-height:44px;background:#ffffff0f;color:#fffc;border:1px solid rgba(255,255,255,.15);border-radius:8px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;margin-bottom:8px}.signup-btn-social:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff40}.signup-btn-social:focus-visible{outline:2px solid #C9A84C;outline-offset:2px}.signup-btn-social:disabled{opacity:.4;cursor:not-allowed}.signup-btn-social--last-used{border-color:#c9a84c80;background:#c9a84c14;box-shadow:0 0 0 1px #c9a84c26}.signup-badge-coming-soon{font-family:DM Mono,monospace;font-size:15px;text-transform:uppercase;letter-spacing:.05em;color:#ffffffd9;background:#ffffff14;padding:2px 8px;border-radius:3px;border:1px solid rgba(255,255,255,.12);margin-left:auto}.signup-btn-link{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:#ffffffd9;font-family:DM Sans,sans-serif;font-size:15px;cursor:pointer;padding:8px;min-height:44px;min-width:44px;transition:color .2s}.signup-btn-link:hover{color:#ffffffb3}.signup-btn-link:focus-visible{outline:2px solid #C9A84C;outline-offset:2px}.auth-dialog-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:center;justify-content:center;animation:auth-overlay-fade-in .2s ease-out}@keyframes auth-overlay-fade-in{0%{opacity:0}to{opacity:1}}.auth-dialog{position:relative;background:#162340;padding:40px;border-radius:16px;box-shadow:0 20px 40px #00000080,0 0 20px #c9a84c26;border:1px solid rgba(201,168,76,.2);width:90%;max-width:480px;max-height:calc(100dvh - 32px);overflow-y:auto;animation:auth-dialog-appear .25s ease-out}@media(max-height:500px){.auth-dialog{padding:20px 24px;border-radius:12px}.auth-dialog .auth-brand-row{margin-bottom:12px}.auth-dialog .signup-beta-banner{margin-bottom:12px;padding:8px 12px}.auth-dialog .signup-btn-social{height:40px;margin-bottom:4px}.auth-dialog .signup-divider{margin:10px 0}.auth-dialog .signup-btn-ghost{height:40px;margin-top:4px}}@keyframes auth-dialog-appear{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.auth-dialog-close{position:absolute;top:16px;right:16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#ffffffb3;cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center;transition:all .2s}.auth-dialog-close:hover{background:#fff3;color:#fff}.auth-dialog .form-group{margin-bottom:16px}.auth-dialog .form-group label{display:block;margin-bottom:6px;font-weight:700;color:#fff;font-size:14px}.auth-dialog .form-group input{width:100%;padding:11px 14px;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);border-radius:8px;font-size:15px;color:#fff;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.auth-dialog .form-group input::placeholder{color:#fff6}.auth-dialog .form-group input:focus-visible{border-color:#c9a84c;box-shadow:0 0 0 3px #c9a84c33;background:#ffffff1f}.auth-dialog .form-group input:-webkit-autofill,.auth-dialog .form-group input:-webkit-autofill:hover,.auth-dialog .form-group input:-webkit-autofill:focus{-webkit-text-fill-color:white;-webkit-box-shadow:0 0 0 1000px rgba(30,41,59,.99) inset;border-color:#c9a84c;caret-color:#fff}.auth-dialog .form-group input:disabled{opacity:.5;cursor:not-allowed}.auth-dialog .beta-banner{background:#c9a84c1a;border:1px solid rgba(201,168,76,.2);border-radius:8px;padding:12px 14px;margin-bottom:20px}.auth-dialog .beta-tag{display:inline-block;background:#c9a84c;color:#0d1b2e;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:4px}.auth-dialog .beta-banner p{margin:6px 0 0;color:#ffffffd9;font-size:15px;line-height:1.4}.auth-dialog .auth-logo{flex-shrink:0;width:56px;height:56px}.auth-dialog .auth-logo-img{width:140%;height:140%;object-fit:contain}.auth-dialog .auth-brand{display:flex;align-items:center;gap:16px;margin-bottom:32px}.auth-dialog .auth-brand h1{margin:0;color:#fff;font-size:24px;font-weight:700;letter-spacing:-.5px}.auth-dialog .auth-subtitle{margin:12px 0 0 2px;color:#ffffffb3;font-size:18px}.auth-dialog .auth-tabs{display:flex;gap:0;margin-bottom:24px;background:#0000004d;border-radius:8px;padding:4px}.auth-dialog .tab{flex:1;padding:10px;background:none;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;color:#ffffffd9;transition:all .2s}.auth-dialog .tab.active{background:#c9a84c;color:#0d1b2e;box-shadow:0 2px 8px #c9a84c66}.auth-dialog .tab:hover:not(.active){color:#fffc}.auth-dialog .error-message{background:#c6282826;color:#ff6b6b;padding:10px 14px;border-radius:8px;font-size:14px;margin-bottom:16px;border-left:3px solid #ff6b6b}.auth-dialog .btn{width:100%;padding:12px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.auth-dialog .btn-primary{background:#c9a84c;color:#0d1b2e;margin-bottom:12px;box-shadow:0 4px 12px #c9a84c33}.auth-dialog .btn-primary:hover:not(:disabled){background:#8a6820;transform:translateY(-1px);box-shadow:0 6px 16px #c9a84c66}.auth-dialog .btn-primary:disabled{opacity:.5;cursor:not-allowed}.auth-dialog .btn-secondary{background:#ffffff14;color:#ffffffb3;border:1px solid rgba(255,255,255,.15)}.auth-dialog .btn-secondary:hover:not(:disabled){background:#ffffff1f;color:#fff;border-color:#c9a84c66}.auth-dialog .divider{text-align:center;color:#ffffff4d;font-size:12px;margin:20px 0;position:relative}.auth-dialog .divider:before,.auth-dialog .divider:after{content:"";position:absolute;top:50%;width:44%;height:1px;background:#ffffff1a}.auth-dialog .divider:before{left:0}.auth-dialog .divider:after{right:0}.auth-dialog .btn-google{display:flex;align-items:center;justify-content:center;gap:10px;background:#fff;color:#3c4043;font-weight:500;font-size:14px;border:1px solid #dadce0;border-radius:8px;padding:12px;cursor:pointer;transition:background .2s,box-shadow .2s;width:100%}.auth-dialog .btn-google:hover:not(:disabled){background:#f7f8f8;box-shadow:0 1px 3px #00000026}.auth-dialog .btn-google:disabled{opacity:.5;cursor:not-allowed}.auth-dialog .btn-facebook{display:flex;align-items:center;justify-content:center;gap:10px;background:#1877f2;color:#fff;font-weight:500;font-size:14px;border:none;border-radius:8px;padding:12px;cursor:pointer;transition:background .2s,box-shadow .2s;width:100%;margin-top:8px}.auth-dialog .btn-facebook:hover:not(:disabled){background:#166fe5;box-shadow:0 1px 3px #00000026}.auth-dialog .btn-facebook:disabled{opacity:.5;cursor:not-allowed}.google-btn-wrapper{position:relative;width:100%}.google-btn-overlay{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;opacity:.001;z-index:10;cursor:pointer}.google-btn-overlay>div{width:100%!important;height:100%!important}.google-btn-overlay iframe{width:100%!important;height:100%!important}.auth-container{min-height:100dvh;background:#0d1b2e}.auth-brand-row{display:flex;align-items:center;gap:16px;margin-bottom:24px;justify-content:center}.auth-brand-logo{width:250px;height:65px;object-fit:contain}.auth-brand-tagline{font-family:DM Sans,sans-serif;font-size:18px;color:#ffffffb3;margin:0}.welcome-footer{font-family:DM Sans,sans-serif;font-size:13px;color:#ffffff80;text-align:center;margin-top:24px;line-height:1.5}.guest-name-display{display:flex;align-items:center;gap:12px;background:#ffffff0d;border:1px solid rgba(201,168,76,.3);border-radius:8px;padding:14px 16px;margin-bottom:16px}.guest-name-value{flex:1;font-family:DM Mono,monospace;font-size:18px;font-weight:500;color:#c9a84c;letter-spacing:.02em}.guest-shuffle-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff9;cursor:pointer;transition:all .2s}.guest-shuffle-btn:hover:not(:disabled){background:#ffffff1a;border-color:#c9a84c66;color:#ffffffe6}.guest-shuffle-btn:focus-visible{outline:2px solid #C9A84C;outline-offset:2px}.guest-shuffle-btn:disabled{opacity:.5;cursor:not-allowed}.guest-back-link{margin-top:8px;width:100%}.player-avatar{border-radius:50%;object-fit:cover;flex-shrink:0;transform:scale(1.25)}.player-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;background:#c9a84cd9;color:#0d1b2e;font-weight:700}.player-avatar-icon{display:inline-flex;align-items:center;justify-content:center;background:#c9a84cd9;color:#0d1b2e}.profile-setup-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.profile-setup-dialog{background:#162340;border-radius:16px;padding:28px;width:100%;max-width:420px;max-height:80dvh;overflow-y:auto;position:relative;border:1px solid rgba(201,168,76,.2);box-shadow:0 20px 40px #00000080}.profile-setup-close{position:absolute;top:8px;right:8px;background:none;border:none;color:#ffffff80;cursor:pointer;padding:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;transition:color .2s}.profile-setup-close:hover{color:#fff}.profile-setup-welcome{text-align:center;margin-bottom:24px}.profile-setup-welcome h2{color:#fff;font-size:20px;margin:0 0 8px}.profile-setup-welcome p{color:#ffffffd9;font-size:15px;margin:0;line-height:1.4}.profile-setup-title{color:#fff;font-size:18px;margin:0 0 20px;text-align:center}.profile-setup-avatar-area{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}.profile-setup-avatar-wrapper{position:relative}.profile-setup-avatar-edit{position:absolute;bottom:-8px;right:-8px;width:44px;height:44px;border-radius:50%;background:#c9a84c;border:2px solid #162340;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.profile-setup-avatar-edit:hover{background:#8a6820}.profile-setup-current-name{color:#fff;font-size:18px;font-weight:600;margin-top:10px}.profile-setup-avatar-hint{color:#ffffffb3;font-size:15px;margin:4px 0 0}.profile-setup-icon-picker-wrap{position:relative;margin-bottom:20px}.profile-setup-icon-picker-wrap:after{content:"";position:absolute;bottom:0;left:0;right:0;height:32px;background:linear-gradient(to bottom,transparent,rgba(0,0,0,.4));border-radius:0 0 12px 12px;pointer-events:none;opacity:1;transition:opacity .2s}.profile-setup-icon-picker-wrap.scrolled-bottom:after{opacity:0}.profile-setup-icon-picker{background:#0003;border-radius:12px;padding:12px;max-height:240px;overflow-y:auto}.color-picker-section{margin-top:12px}.color-picker-item--selected{border-color:#fff;box-shadow:0 0 0 2px #c9a84c80}.profile-setup-name-area{margin-bottom:20px}.profile-setup-label{display:block;color:#ffffffd9;font-size:15px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.profile-setup-name-display{display:flex;align-items:center;gap:10px;color:#fff;font-size:18px;font-weight:600}.profile-setup-edit-btn{background:#ffffff1a;border:none;border-radius:6px;color:#ffffffd9;cursor:pointer;padding:6px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;transition:all .2s}.profile-setup-edit-btn:hover{background:#fff3;color:#fff}.profile-setup-name-edit{display:flex;align-items:center;gap:8px}.profile-setup-name-edit input{flex:1;padding:8px 12px;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);border-radius:8px;color:#fff;font-size:16px}.profile-setup-name-edit input:focus-visible{border-color:#c9a84c}.profile-setup-name-btn{background:#ffffff1a;border:none;border-radius:6px;color:#ffffffd9;cursor:pointer;padding:8px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;transition:all .2s}.profile-setup-name-btn:hover{background:#fff3;color:#fff}.profile-setup-name-error{color:#ff6b6b;font-size:13px;margin-top:6px}.profile-setup-done{width:100%;padding:12px;font-size:15px}.friends-panel{background:#162340;border-radius:14px;border:1px solid rgba(201,168,76,.2);box-shadow:0 8px 24px #0000004d;overflow:hidden;margin-bottom:16px}.friends-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;cursor:pointer;-webkit-user-select:none;user-select:none;color:#ffffffd9;transition:color .2s;background:none;border:none;width:100%;text-align:left;font:inherit;min-height:44px}.friends-panel-header:hover{color:#fff}.friends-panel-header-row{display:flex;align-items:center;gap:8px;width:100%;padding-right:14px;box-sizing:border-box}.friends-panel-toggle{display:flex;align-items:center;justify-content:space-between;flex:1 1 0;min-width:0;gap:8px;padding:12px 14px;margin:0;background:transparent;border:none;text-align:left;font:inherit;color:#ffffffd9;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s;min-height:44px;appearance:none;-webkit-appearance:none}.friends-panel-toggle:hover{color:#fff}.friends-panel-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#fff}.friends-online-count{font-size:12px;font-weight:500;color:#4ade80;background:#4ade801f;padding:2px 8px;border-radius:10px}.friends-pending-badge{background:#8c3028;color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 5px}.friends-panel-chevron{display:flex;align-items:center;transition:transform .25s ease}.friends-panel-chevron--open{transform:rotate(180deg)}.friends-panel-add{display:flex;align-items:center;gap:4px;background:#ffffff14;border:none;border-radius:6px;padding:10px 12px;color:#ffffffd9;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;min-height:44px}.friends-panel-add:hover{background:#ffffff26;color:#fff}.friends-panel-body{padding:0 10px 10px;display:flex;flex-direction:column;gap:2px}.friends-panel-empty{padding:12px 14px;color:#fff6;font-size:13px}.friends-panel-guest-hint{margin-left:auto;font-size:15px;color:#ffffffd9;white-space:nowrap}.friends-panel-guest-link{background:none;border:none;padding:0;font:inherit;color:#c9a84c;text-decoration:underline;text-underline-offset:2px;cursor:pointer;display:inline}.friends-panel-guest-link:hover{color:#dfc06e}.friends-panel-guest-link:focus-visible{outline:2px solid #C9A84C;outline-offset:2px}.friends-games-section{margin-bottom:6px}.friend-game-row{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:#4ade8014;border:1px solid rgba(74,222,128,.15);border-radius:8px;margin-bottom:4px}.friend-game-info{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.friend-game-label{color:#4ade80;font-size:12px;font-weight:700;white-space:nowrap}.friend-game-players{color:#fff9;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.friend-game-slots{color:#ffffffd9;font-size:15px;white-space:nowrap}.friend-join-btn{background:#4ade80;color:#0a0a0a;border:none;border-radius:6px;padding:10px 16px;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0;min-height:44px}.friend-join-btn:hover{background:#22c55e;transform:scale(1.03)}.friend-panel-item{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-radius:8px;transition:background .15s}.friend-panel-item:hover{background:#ffffff0d}.friend-panel-info{display:flex;align-items:center;gap:8px;min-width:0}.friend-avatar-wrap{position:relative;flex-shrink:0}.friend-status-dot{position:absolute;bottom:-1px;right:-1px;width:10px;height:10px;border-radius:50%;border:2px solid #1e293b}.friend-status-dot.online{background:#4ade80}.friend-status-dot.offline{background:#6b7280}.friend-panel-name{color:#ffffffe6;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-panel-item.offline .friend-panel-name{color:#ffffffb3}.friend-panel-item.offline{opacity:.7}.friends-pending-section{margin-bottom:6px;border-bottom:1px solid rgba(255,255,255,.06);padding-bottom:4px}.friend-panel-item.pending{background:#ef444414;border:1px solid rgba(239,68,68,.15);border-radius:8px;margin-bottom:4px}.friend-pending-actions{display:flex;gap:6px;flex-shrink:0}.friend-accept-btn,.friend-decline-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.friend-accept-btn{background:#4ade8033;color:#4ade80}.friend-accept-btn:hover{background:#4ade8059;transform:scale(1.08)}.friend-decline-btn{background:#8c302833;color:#ef4444}.friend-decline-btn:hover{background:#8c302859;transform:scale(1.08)}.friend-panel-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.friend-remove-btn{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:none;border-radius:6px;background:transparent;color:#ffffff40;cursor:pointer;transition:all .2s;flex-shrink:0}.friend-remove-btn:hover{background:#ef444426;color:#ef4444}.friends-offline-section{border-top:1px solid rgba(255,255,255,.06);margin-top:4px;padding-top:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media(max-width:480px){.friends-panel{border-radius:12px}.friend-game-players{display:none}}.friend-invite-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.friend-invite-dialog{background:#162340;border-radius:16px;padding:32px 36px;text-align:center;max-width:360px;width:100%;border:1px solid rgba(201,168,76,.2);box-shadow:0 16px 48px #00000080}.friend-invite-avatar{margin-bottom:16px}.friend-invite-heading{color:#fff;font-size:20px;font-weight:700;margin:0 0 8px}.friend-invite-text{color:#ffffffd9;font-size:15px;margin:0 0 24px;line-height:1.4}.friend-invite-text strong{color:#fff}.friend-invite-loading{color:#ffffffd9;font-size:15px;margin:0}.friend-invite-done{color:#4ade80;font-size:18px;font-weight:600;margin:0}.friend-invite-actions{display:flex;gap:12px;justify-content:center}.friend-invite-btn{display:flex;align-items:center;gap:6px;padding:10px 24px;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;min-height:44px}.friend-invite-btn-accept{background:#4ade80;color:#0a0a0a}.friend-invite-btn-accept:hover{background:#22c55e;transform:scale(1.03)}.friend-invite-btn-decline{background:#ffffff1a;color:#ffffffd9}.friend-invite-btn-decline:hover{background:#8c30284d;color:#ef4444}.friend-invite-btn-secondary{background:#ffffff1a;color:#fffc}.friend-invite-btn-secondary:hover{background:#ffffff2e;color:#fff}.game-invite-panel{background:#162340;border:1px solid rgba(201,168,76,.2);border-radius:10px;overflow:hidden;margin-top:8px;animation:game-invite-slide-in .2s ease-out}@keyframes game-invite-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.game-invite-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#0003;border-bottom:1px solid rgba(255,255,255,.07)}.game-invite-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#fff}.game-invite-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:6px;background:#ffffff14;color:#fff9;cursor:pointer;transition:all .2s}.game-invite-close:hover{background:#ffffff26;color:#fff}.game-invite-body{padding:8px 10px 10px;display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.game-invite-section{display:flex;flex-direction:column;gap:4px}.game-invite-section-label{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:700;color:#4ade80;text-transform:uppercase;letter-spacing:.5px;padding:4px 4px 2px}.game-invite-section-label.offline-label{color:#ffffffd9}.game-invite-friend{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-radius:8px;transition:background .15s}.game-invite-friend:hover{background:#ffffff0d}.game-invite-friend.offline{opacity:.6}.game-invite-friend-info{display:flex;align-items:center;gap:8px;min-width:0}.game-invite-friend-name{color:#ffffffe6;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-invite-friend-action{flex-shrink:0}.game-invite-btn{background:#4ade80;color:#0a0a0a;border:none;border-radius:6px;padding:10px 12px;font-size:15px;min-height:44px;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap}.game-invite-btn:hover{background:#22c55e;transform:scale(1.03)}.game-invite-btn.secondary{background:#ffffff1a;color:#ffffffb3;border:1px solid rgba(255,255,255,.15)}.game-invite-btn.secondary:hover{background:#ffffff2e;color:#fff}.game-invite-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:10px;white-space:nowrap;display:flex;align-items:center;gap:4px}.game-invite-badge.joined{background:#4ade8026;color:#4ade80}.game-invite-badge.in-game{background:#ffffff14;color:#ffffffd9}.game-invite-badge.invited{background:#c9a84c26;color:#c9a84c}.game-invite-code-area{display:flex;align-items:center;gap:4px}.game-invite-code{font-size:11px;font-weight:600;color:#fff9;background:#0000004d;padding:2px 8px;border-radius:4px;font-family:monospace}.game-invite-copy-small{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:4px;background:#ffffff14;color:#ffffff80;cursor:pointer;transition:all .2s}.game-invite-copy-small:hover{background:#ffffff26;color:#fff}.game-invite-generate-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px;background:#c9a84c26;border:2px dashed rgba(201,168,76,.4);border-radius:8px;color:#c9a84c;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.game-invite-generate-btn:hover:not(:disabled){background:#c9a84c33;border-color:#c9a84c80;color:#fff}.game-invite-generate-btn:disabled{opacity:.5;cursor:not-allowed}.game-invite-link-area{display:flex;flex-direction:column;gap:4px;background:#00000040;border:1px solid rgba(201,168,76,.2);border-radius:8px;padding:8px 10px}.game-invite-link-url{font-size:11px;color:#fff9;word-break:break-all;font-family:monospace}.game-invite-link-buttons{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.game-invite-copy-btn{display:flex;align-items:center;gap:4px;background:#c9a84c;color:#0d1b2e;border:none;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.game-invite-copy-btn:hover{background:#8a6820}.game-invite-link-hint{font-size:15px;color:#ffffffd9;padding:2px 4px}.game-invite-empty{padding:12px 8px;color:#fff6;font-size:13px;text-align:center}.game-invite-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1100;padding:20px;animation:game-invite-overlay-in .2s ease-out}@keyframes game-invite-overlay-in{0%{opacity:0}to{opacity:1}}.game-invite-dialog{background:#162340;border:2px solid rgba(74,222,128,.3);border-radius:20px;padding:36px 40px;text-align:center;max-width:400px;width:100%;box-shadow:0 20px 60px #0009,0 0 30px #4ade801a;animation:game-invite-dialog-in .3s ease-out}@keyframes game-invite-dialog-in{0%{opacity:0;transform:scale(.9) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.game-invite-dialog-avatar{margin-bottom:20px}.game-invite-dialog-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:#4ade8026;color:#4ade80}.game-invite-dialog-heading{color:#fff;font-size:24px;font-weight:700;margin:0 0 8px}.game-invite-dialog-text{color:#fffc;font-size:17px;margin:0 0 4px;line-height:1.4}.game-invite-dialog-text strong{color:#fff;font-weight:700}.game-invite-dialog-game-name{color:#4ade80;font-size:15px;font-weight:600;margin:0 0 28px}.game-invite-dialog-actions{display:flex;gap:12px;justify-content:center}.game-invite-dialog-join{background:#4ade80;color:#0a0a0a;border:none;border-radius:10px;padding:12px 32px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s}.game-invite-dialog-join:hover{background:#22c55e;transform:scale(1.03)}.game-invite-dialog-decline{background:#ffffff14;color:#ffffffd9;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:12px 28px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.game-invite-dialog-decline:hover{background:#ffffff26;color:#fff}.game-invite-dialog-more{margin-top:16px;font-size:15px;color:#ffffffd9}.rules-dialog-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:300;animation:rules-fadeIn .3s ease-in-out}@keyframes rules-fadeIn{0%{opacity:0}to{opacity:1}}.rules-dialog{background:#162340;border:1px solid rgba(201,168,76,.2);border-radius:20px;max-width:640px;width:92%;max-height:85dvh;display:flex;flex-direction:column;box-shadow:0 24px 60px #00000080,0 0 0 1px #ffffff0d inset;animation:rules-slideUp .4s cubic-bezier(.25,.46,.45,.94)}@keyframes rules-slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.rules-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:24px 28px 16px;border-bottom:1px solid rgba(201,168,76,.15);flex-shrink:0}.rules-dialog-header h1{color:#fff;font-size:22px;font-weight:700;margin:0}.rules-dialog-close{background:#ffffff14;border:none;border-radius:8px;color:#fff9;cursor:pointer;padding:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.rules-dialog-close:hover{background:#ffffff26;color:#fff}.rules-dialog-body{padding:20px 28px 28px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.rules-dialog-body .rules-card{background:#0003;border-radius:12px;padding:20px 22px;border:1px solid rgba(201,168,76,.1)}.rules-dialog-body .rules-card h2{color:#ffffffd9;font-size:17px;font-weight:600;margin:0 0 10px}.rules-dialog-body .rules-card h3{color:#ffffffe6;font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin:14px 0 6px}.rules-dialog-body .rules-card h3:first-of-type{margin-top:0}.rules-dialog-body .rules-card p{color:#ffffffd9;font-size:15px;line-height:1.6;margin:0 0 8px}.rules-dialog-body .rules-card p:last-child{margin-bottom:0}.rules-dialog-body .rules-intro{color:#fffc;font-size:15px;line-height:1.6;margin:0}.rules-dialog-body .rules-suit-icon{display:inline-block;vertical-align:middle;margin:0 1px;filter:drop-shadow(0 0 3px rgba(255,255,255,.8))}.rules-dialog-body .rules-suits{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px}.rules-dialog-body .rules-suit-group{display:flex;align-items:center;gap:6px;color:#ffffffe6;font-size:15px;font-weight:500}.rules-dialog-body .rules-note{background:#c9a84c1a;border-left:3px solid #C9A84C;border-radius:0 8px 8px 0;padding:10px 14px;margin-top:10px;color:#ffffffe6;font-size:15px;line-height:1.5}.rules-dialog-body .rules-note strong{color:#ffffffe6}.rules-dialog-body .rules-ranking{display:flex;flex-direction:column;gap:6px;margin:10px 0}.rules-dialog-body .rules-ranking-item{display:flex;align-items:baseline;gap:10px;padding:6px 10px;background:#0003;border-radius:6px}.rules-dialog-body .rules-rank-label{color:#c9a84c;font-weight:600;font-size:13px;min-width:90px;flex-shrink:0}.rules-dialog-body .rules-rank-desc{color:#ffffffd9;font-size:15px}.rules-dialog-body .rules-example{font-size:15px;color:#ffffffd9;font-style:italic;margin-top:10px}.rules-dialog-body .rules-scoring-table{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.rules-dialog-body .rules-score-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#0003;border-radius:6px}.rules-dialog-body .rules-score-row--highlight{background:#ff6b6b1f;border:1px solid rgba(255,107,107,.2)}.rules-dialog-body .rules-score-row--gold{background:#ffd7001a;border:1px solid rgba(255,215,0,.2)}.rules-dialog-body .rules-score-scenario{color:#ffffffe6;font-size:15px}.rules-dialog-body .rules-score-points{color:#fff;font-weight:700;font-size:14px;white-space:nowrap;margin-left:12px}.rules-dialog-body .rules-tips{margin:0;padding-left:18px;list-style:none}.rules-dialog-body .rules-tips li{color:#ffffffe6;font-size:15px;line-height:1.6;margin-bottom:6px;position:relative}.rules-dialog-body .rules-tips li:before{content:"";position:absolute;left:-14px;top:8px;width:4px;height:4px;border-radius:50%;background:#c9a84c}.rules-dialog-body .rules-tips li:last-child{margin-bottom:0}@media(max-width:500px){.rules-dialog{width:96%;max-height:90dvh}.rules-dialog-header{padding:18px 20px 14px}.rules-dialog-body{padding:16px 20px 24px}.rules-dialog-body .rules-card{padding:16px 18px}.rules-dialog-body .rules-ranking-item{flex-direction:column;gap:4px}.rules-dialog-body .rules-rank-label{min-width:unset}.rules-dialog-body .rules-score-row{flex-direction:column;align-items:flex-start;gap:4px}.rules-dialog-body .rules-score-points{margin-left:0}}.variants-intro{color:#ffffffbf;font-size:15px;line-height:1.5;margin:0 4px 4px}.variants-section{display:flex;flex-direction:column;gap:14px}.variants-section>h2{margin-bottom:4px}.variants-item{background:#ffffff08;border:1px solid rgba(201,168,76,.12);border-radius:10px;padding:14px 16px}.variants-item+.variants-item{margin-top:0}.variants-item-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.variants-item h3{color:#fff;font-size:16px;font-weight:600;margin:0}.variants-item-subtitle{color:#e8c547d9;font-size:13px;font-weight:500;margin:0 0 8px}.variants-item p{color:#ffffffc7;font-size:14px;line-height:1.55;margin:0}.variants-pill{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:4px 9px;border-radius:999px;white-space:nowrap;flex-shrink:0}.variants-pill--core{color:#0e0e10;background:#e8c547}.variants-pill--alt{color:#0e0e10;background:#6ec6ca}.variants-pill--rule{color:#fffc;background:#ffffff14;border:1px solid rgba(255,255,255,.15)}.variants-footnote{margin-top:4px}@media(max-width:480px){.variants-item-header{flex-wrap:wrap}}.spotlight-overlay{position:fixed;inset:0;z-index:10000;pointer-events:none}.spotlight-overlay--blocking{pointer-events:auto}.spotlight-mask{position:absolute;inset:0;pointer-events:none}.spotlight-ring{position:fixed;border-radius:8px;box-shadow:0 0 0 2px #c9a84cd9,0 0 16px #c9a84c8c;pointer-events:none;transition:top .25s ease,left .25s ease,width .25s ease,height .25s ease;animation:spotlight-pulse 1.6s ease-in-out infinite}@keyframes spotlight-pulse{0%,to{box-shadow:0 0 0 2px #c9a84cd9,0 0 16px #c9a84c73}50%{box-shadow:0 0 0 3px #c9a84c,0 0 22px #c9a84cbf}}@media(prefers-reduced-motion:reduce){.spotlight-ring{animation:none}}.spotlight-tooltip{position:fixed;width:280px;background:#1e293b;border:1px solid rgba(201,168,76,.5);border-radius:12px;padding:14px 16px;box-shadow:0 8px 32px #0006;transition:top .25s ease,left .25s ease;z-index:10001;pointer-events:auto}.spotlight-text{color:#e2e8f0;font-size:14px;line-height:1.45;margin:0 0 10px;text-align:center}.spotlight-text:last-child{margin-bottom:0}.spotlight-actions{display:flex;justify-content:space-between;align-items:center;gap:8px}.spotlight-secondary{background:none;border:none;color:#ffffffbf;font-size:13px;cursor:pointer;padding:8px 12px;min-height:44px}.spotlight-secondary:hover{color:#fffffff2}.spotlight-action{background:#c9a84c;color:#0d1b2e;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;min-height:44px;min-width:44px;margin-left:auto;transition:background .15s}.spotlight-action:hover{background:#b0913e}.spotlight-step-indicator{display:flex;gap:6px;justify-content:center;margin-bottom:10px}.spotlight-dot{width:6px;height:6px;border-radius:50%;background:#ffffff40;transition:background .2s}.spotlight-dot--active{background:#c9a84c}.dg-ad{--dg-bg: #0E0E10;--dg-fg: #F5F5F5;--dg-muted: #BDBDBD;--dg-list: #DCDCDC;--dg-dim: #A8A8A8;--dg-gold: #E8C547;--dg-teal: #6EC6CA;--dg-ink: #0E0E10;--dg-border: rgba(255, 255, 255, .2);display:block;width:100%;height:100%;box-sizing:border-box;background:var(--dg-bg);color:var(--dg-fg);padding:22px 22px 20px;font-family:Barlow,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;border-radius:4px;text-decoration:none;position:relative;transition:transform .12s ease;border:0;text-align:left;cursor:pointer}.dg-ad[data-action]{font:inherit}button.dg-ad{font-family:inherit}.dg-ad__inner{display:flex;flex-direction:column;height:100%;overflow:hidden}button.dg-ad:hover,a.dg-ad:hover{transform:translateY(-1px)}button.dg-ad:focus-visible,a.dg-ad:focus-visible{outline:2px solid var(--dg-gold);outline-offset:2px}.dg-ad--soft{padding:20px 22px 18px}.dg-ad__brand{display:flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.04em;font-weight:600;color:var(--dg-dim)}.dg-ad__brand-mark{color:var(--dg-gold);font-size:14px;line-height:1}.dg-ad__brand-logo{width:18px;height:18px;display:block;flex-shrink:0}.dg-ad--banner{padding:0;display:flex;align-items:center;justify-content:center;background:var(--dg-bg);overflow:hidden;cursor:default;transition:none}.dg-ad--banner:hover{transform:none}.dg-ad__banner-img{max-width:100%;max-height:100%;width:auto;height:auto;display:block}.dg-ad--skyscraper,.dg-ad--full{padding:0;display:flex;align-items:center;justify-content:center;background:var(--dg-bg);overflow:hidden}.dg-ad__full-img{width:100%;height:100%;display:block;object-fit:contain}.dg-ad__headline{font-weight:800;line-height:1.1;letter-spacing:-.01em;color:#fff;margin:14px 0 0;font-size:22px}.dg-ad__headline--lg{font-size:28px;line-height:1.05;letter-spacing:-.02em}.dg-ad__headline--xl{font-size:42px;font-weight:900;line-height:1;letter-spacing:-.025em;margin-top:20px}.dg-ad__headline--soft{font-size:21px;font-weight:700;line-height:1.18}.dg-ad__accent--gold{color:var(--dg-gold)}.dg-ad__accent--teal{color:var(--dg-teal)}.dg-ad__body{font-size:13px;line-height:1.45;color:var(--dg-muted);margin:10px 0 0}.dg-ad__body--inset{margin-top:14px}.dg-ad__body--sm{font-size:12.5px;line-height:1.5;margin-top:9px}.dg-ad__list{font-size:13.5px;line-height:1.75;color:var(--dg-list);margin:10px 0 0;padding:0;list-style:none;font-weight:500}.dg-ad__list--sm{font-size:12.5px;line-height:1.7}.dg-ad__list li{display:flex;align-items:center;gap:9px}.dg-ad__list-dot{width:4px;height:4px;background:var(--dg-gold);border-radius:50%;flex-shrink:0}.dg-ad__list--sm .dg-ad__list-dot{width:3px;height:3px}.dg-ad__footer{margin-top:auto;display:flex}.dg-ad__cta{display:inline-flex;align-items:center;gap:6px;font-family:inherit;font-weight:700;font-size:13px;padding:9px 14px;border-radius:3px;text-decoration:none;transition:background .12s ease,border-color .12s ease}.dg-ad__cta--gold{color:var(--dg-ink);background:var(--dg-gold)}.dg-ad__cta--teal{color:var(--dg-ink);background:var(--dg-teal)}.dg-ad__cta--ghost{color:var(--dg-list);background:transparent;border:1px solid var(--dg-border);font-weight:600}.dg-ad__cta--sm{font-size:12.5px;padding:7px 13px}button.dg-ad:hover .dg-ad__cta--gold,a.dg-ad:hover .dg-ad__cta--gold{background:#f0d35a}button.dg-ad:hover .dg-ad__cta--teal,a.dg-ad:hover .dg-ad__cta--teal{background:#82d2d6}button.dg-ad:hover .dg-ad__cta--ghost,a.dg-ad:hover .dg-ad__cta--ghost{border-color:#fff6}@media(prefers-reduced-motion:reduce){.dg-ad{transition:none}button.dg-ad:hover,a.dg-ad:hover{transform:none}}.ad-slot-wrapper{display:flex;flex-direction:column;align-items:center;gap:2px}.ad-slot-label{font-size:10px;line-height:1.2;letter-spacing:.06em;text-transform:uppercase;color:#ffffff73;font-weight:600;-webkit-user-select:none;user-select:none}.ad-slot-label--reserved{visibility:hidden}.ad-consent-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:center;justify-content:center;padding:16px}.ad-consent-dialog{background:#1a1a2e;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:28px 24px 24px;max-width:400px;width:100%;outline:none}.ad-consent-dialog:focus-visible{outline:2px solid #C9A84C;outline-offset:2px}.ad-consent-title{font-family:DM Sans,sans-serif;font-size:20px;font-weight:700;color:#fffffff2;margin:0 0 8px}.ad-consent-subtitle{font-family:DM Sans,sans-serif;font-size:15px;color:#fff9;line-height:1.5;margin:0 0 20px}.ad-consent-save-btn{display:block;width:100%;min-height:48px;padding:12px 24px;background:#c9a84c;color:#1a1a2e;font-family:DM Sans,sans-serif;font-size:16px;font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:background .2s}.ad-consent-save-btn:hover:not(:disabled){background:#d4b45e}.ad-consent-save-btn:focus-visible{outline:2px solid #C9A84C;outline-offset:2px}.ad-consent-save-btn:disabled{opacity:.6;cursor:not-allowed}.lobby-page-wrapper{display:flex;align-items:stretch;min-height:100dvh;background:#0d1b2e}.lobby-side-panel{flex:1 0 0;min-width:0;display:none;background:#0f172af2;overflow:hidden}@media(min-width:1200px){.lobby-side-panel{display:flex;align-items:flex-start;justify-content:center;padding-top:24px}}.lobby-side-panel>*{display:none}@media(min-width:1560px){.lobby-side-panel>*{display:block}}.lobby-container{flex:9999 1 auto;display:flex;flex-direction:column;max-width:1200px;min-width:0;min-height:100dvh;padding:20px;position:relative;overflow-x:hidden}.lobby-ghost-spade{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);opacity:.015;width:480px;height:auto;pointer-events:none;z-index:0}.lobby-header{display:flex;justify-content:space-between;align-items:center;background:#0d1b2e;padding:8px 12px;border-radius:16px;margin-bottom:16px;box-shadow:0 20px 40px #0006;border-bottom:1px solid rgba(201,168,76,.3)}.lobby-brand{display:flex;align-items:center}.lobby-logo{display:flex;align-items:center;flex-shrink:0}.lobby-logo-img{height:44px;width:auto;display:block}.lobby-header h1{margin:0 0 0 4px;color:#fff;font-size:28px;font-weight:700;letter-spacing:-.5px}.lobby-subtitle{margin:4px 0 0;color:#ffffffb3;font-size:14px;font-weight:400}.user-info{display:flex;align-items:center;font-size:14px;color:#fffc}.user-info-actions{display:flex;align-items:center;gap:4px}.btn-logout{background:#8c3028;color:#f2ecd8;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:600;transition:all .3s}.btn-logout:hover{background:#6d241e;transform:translateY(-2px)}.lobby-error-banner{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;margin-bottom:12px;background:#ef444426;border:1px solid rgba(239,68,68,.4);border-radius:10px;color:#fca5a5;font-size:14px;box-sizing:border-box}.lobby-error-dismiss{margin-left:auto;flex-shrink:0;background:none;border:none;color:#fca5a5;cursor:pointer;font-size:16px;padding:4px 8px;border-radius:4px;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;opacity:.7;transition:opacity .15s}.lobby-error-dismiss:hover{opacity:1}.lobby-content{display:flex;flex-direction:column;gap:16px}.lobby-content--setup{flex:1}.lobby-content--setup>:not(.lobby-hero-row){display:none}.lobby-content--setup .ad-placeholder-lobby{display:none}.lobby-hero-row{display:flex;flex-direction:column;align-items:center;gap:16px}.lobby-game-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.lobby-game-buttons--disabled{opacity:.5;pointer-events:none}.lobby-just-deal-btn{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:18px 24px;background:linear-gradient(135deg,#c9a84c,#b8923a);border:none;border-radius:14px;cursor:pointer;color:#1a1a2e;transition:all .15s ease;min-height:56px;box-shadow:0 4px 16px #c9a84c4d}.lobby-just-deal-btn:hover:not(:disabled){background:linear-gradient(135deg,#d4b35c,#c9a84c);box-shadow:0 6px 24px #c9a84c73;transform:translateY(-1px)}.lobby-just-deal-btn:active:not(:disabled){transform:scale(.97);box-shadow:inset 0 2px 8px #0000004d;transition-duration:.05s}.lobby-just-deal-btn:disabled{cursor:not-allowed;opacity:.6}.just-deal-label{font-size:20px;font-weight:800;letter-spacing:.5px;text-transform:uppercase}.just-deal-sub{font-size:13px;font-weight:500;letter-spacing:0;text-transform:none;opacity:.7}.lobby-mode-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px 12px;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:14px;cursor:pointer;color:#ffffffb3;transition:all .15s ease;text-align:center;min-height:44px}.lobby-mode-btn:hover:not(:disabled){background:#c9a84c26;border-color:#c9a84c66;color:#fff}.lobby-mode-btn:active:not(:disabled){transform:scale(.95);box-shadow:inset 0 2px 8px #0006;transition-duration:.05s}.lobby-mode-btn:disabled{cursor:not-allowed}.lobby-mode-icon{font-size:32px;line-height:1}.lobby-mode-title{font-size:17px;font-weight:700;letter-spacing:-.2px;color:#fff}.lobby-mode-desc{font-size:13px;opacity:.65;line-height:1.3}.lobby-settings-area{display:flex;flex-direction:column;gap:8px;grid-column:1 / -1;width:100%}.settings-panel{position:relative;border:1px solid rgba(201,168,76,.25);border-radius:14px;padding:28px 16px 16px;width:100%;max-width:640px;margin:0 auto;box-sizing:border-box}.settings-panel-title{position:absolute;top:-14px;left:20px;display:inline-flex;align-items:center;gap:4px;padding:2px 12px 2px 4px;font-size:15px;font-weight:700;letter-spacing:-.2px;color:#c9a84c;background:#0d1b2e;line-height:1}.settings-panel-title .create-back-btn{position:static;margin:0;padding:4px;width:auto;height:auto;background:none;border:none;color:#c9a84c}@media(min-width:500px){.lobby-hero-row{flex-direction:row;align-items:flex-start}.lobby-game-buttons{grid-template-columns:1fr 1fr;min-height:252px;flex:1}.lobby-settings-area{min-height:252px}}.open-games-section{display:flex;flex-direction:column;gap:8px}.open-games-label{font-size:15px;font-weight:700;color:#ffffffd9;text-transform:uppercase;letter-spacing:1.2px}.open-games-empty{margin:0;color:#ffffffd9;font-size:14px}.open-game-card{display:flex;flex-direction:column;padding:12px 14px;background:#ffffff0a;border-radius:10px;gap:10px}.open-game-card-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.open-game-players{display:flex;flex-wrap:nowrap;gap:6px}.open-game-players .player-chip{flex:1 1 0;min-width:0}.player-chip--compact{padding:4px 10px;font-size:12px}.player-chip--empty{background:#ffffff0a;border-color:#ffffff26;color:#ffffff8c;font-style:italic}.player-chip--empty:hover{background:#ffffff0f;border-color:#fff3;color:#ffffffb3}.player-chip--you{background:#c9a84c4d;border-color:#c9a84c80;color:#fff}.open-game-info{display:flex;align-items:center;gap:8px 12px;min-width:0;flex-wrap:wrap}.open-game-type{font-size:14px;font-weight:600;color:#ffffffd9;white-space:nowrap}.open-game-seats{font-size:15px;color:#ffffffd9;white-space:nowrap}.open-game-badges{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.mini-game-panel{flex:0 1 580px}.rejoinable-games-header{margin-bottom:16px;margin-top:32px;padding:12px 16px;background:linear-gradient(135deg,#f59e0b1a,#f59e0b0d);border-radius:8px;border-left:4px solid #f59e0b}.rejoinable-games-header h2{margin:0;color:#f59e0b;font-size:22px;font-weight:700;letter-spacing:-.5px}.in-progress-games-header{flex:1 1 100%;margin-bottom:16px;margin-top:32px;padding:12px 16px;background:#ffffff0d;border-radius:8px;border-left:4px solid rgba(255,255,255,.15)}.in-progress-games-header h2{margin:0;color:#ffffff80;font-size:22px;font-weight:700;letter-spacing:-.5px}.complete-games-header{flex:1 1 100%;margin-bottom:16px;margin-top:32px;padding:12px 16px;background:#c9a84c1a;border-radius:8px;border-left:4px solid #C9A84C}.complete-games-header h2{margin:0;color:#c9a84c;font-size:22px;font-weight:700;letter-spacing:-.5px}.mini-game-panel.rejoinable-panel{border-color:#d97706;opacity:.9}.mini-game-panel.rejoinable-panel .mini-game-header{background:linear-gradient(135deg,#d97706,#b45309)}.mini-game-panel .lobby-game-footer{justify-content:space-between}.mini-game-panel .btn{width:fit-content;white-space:nowrap}.create-game-card{position:relative;z-index:1;background:#162340;border:1px solid rgba(201,168,76,.2);border-radius:16px;padding:10px 12px 12px;box-shadow:0 20px 40px #0000004d,0 0 0 1px #ffffff0d inset;transition:box-shadow .3s ease}.create-game-card:not(.create-game-card--disabled):hover{box-shadow:0 24px 48px #0006,0 0 0 1px #c9a84c66 inset}.create-game-card--disabled{opacity:.6}.create-card-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.create-card-title{font-size:18px;font-weight:800;color:#fff;letter-spacing:-.5px;text-transform:uppercase;letter-spacing:1.5px}.create-card-hint{font-size:13px;color:#ffffffa6;font-weight:400}.mode-selector{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mode-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:center;color:#ffffffb3}.mode-card:hover:not(:disabled){background:#c9a84c26;border-color:#c9a84c66;color:#fff;transform:translateY(-2px)}.mode-card--active{background:#c9a84c33!important;border-color:#c9a84c!important;color:#fff!important;box-shadow:0 0 0 1px #c9a84c66,0 8px 20px #c9a84c33}.mode-card:disabled{cursor:not-allowed}.mode-card-icon{font-size:28px;line-height:1}.mode-card-title{font-size:15px;font-weight:700;letter-spacing:-.2px}.mode-card-desc{font-size:11px;opacity:.7;line-height:1.3;max-width:120px}.create-game-form-new{display:flex;flex-direction:column;gap:12px;width:100%}.settings-group{border:none;margin:0;padding:0;display:flex;flex-direction:column;background:#ffffff0a;border-radius:12px;overflow:hidden}.settings-group-label{font-size:15px;font-weight:600;color:#ffffffd9;text-transform:uppercase;letter-spacing:.5px;padding:10px 14px 6px 18px}.settings-row{display:flex;align-items:center;gap:12px;padding:8px 14px;min-height:44px;justify-content:flex-end}.settings-row+.settings-row,.settings-row-block+.settings-row,.settings-row+.settings-row-block{border-top:1px solid rgba(255,255,255,.06)}.settings-row-label-group{margin-right:auto;display:flex;flex-direction:column;gap:2px}.settings-row-label-group>span{font-family:inherit}.settings-row-label{font-size:14px;font-weight:500;color:#ffffffd9}.settings-row-subtitle{font-size:15px;color:#ffffffd9;line-height:1.2}.points-pills{display:flex;gap:6px}.points-pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;min-height:44px;border-radius:20px;border:1px solid rgba(255,255,255,.15);background:#1e2e4a;color:#ffffffa6;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease}.points-pill--circle{width:44px;height:44px;padding:0;border-radius:50%}.points-pill:hover:not(:disabled){background:#c9a84c33;border-color:#c9a84c66;color:#fff}.points-pill--active{background:#c9a84c!important;border-color:transparent!important;color:#0d1b2e!important;box-shadow:0 4px 12px #c9a84c66}.points-pill:disabled{cursor:not-allowed}.settings-toggle{position:relative;flex-shrink:0;width:51px;min-height:44px;border:none;border-radius:16px;background:transparent;cursor:pointer;padding:6.5px 0;transition:background .25s ease}.settings-toggle-track{display:block;width:100%;height:31px;position:relative;pointer-events:none;border-radius:16px;background:#fff3;transition:background .25s ease}.settings-toggle--on .settings-toggle-track{background:#c9a84c}.settings-toggle:disabled{cursor:not-allowed;opacity:.5}.settings-toggle-knob{position:absolute;left:2px;top:50%;transform:translateY(-50%);width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 2px 4px #0000004d;transition:left .25s cubic-bezier(.4,0,.2,1)}.settings-toggle--on .settings-toggle-knob{left:calc(100% - 29px)}.info-toggle-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;margin:0 -10px 0 0;padding:0;border:none;border-radius:50%;background:none;color:#ffffff59;cursor:pointer;-webkit-tap-highlight-color:transparent}.info-toggle-btn:hover,.info-toggle-btn:focus-visible{color:#ffffffb3}.info-toggle-btn:focus-visible{outline:2px solid #4da6ff;outline-offset:2px}.info-toggle-btn[aria-expanded=true]{color:#ffffffb3}.info-detail-text{margin:0;padding:4px 14px 10px;font-size:15px;line-height:1.45;color:#ffffffd9;flex-basis:100%}.settings-row-block{display:flex;flex-direction:column}.settings-row-block+.settings-row-block{border-top:1px solid rgba(255,255,255,.06)}.ios-toggle-labeled{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:3px 32px;border-radius:20px;border:none;background:#ffffff1f;cursor:pointer;min-height:44px;transition:background .25s ease}.ios-toggle-labeled--on{background:#34c759}.ios-toggle-labeled:disabled{cursor:not-allowed;opacity:.5}.ios-toggle-knob{position:absolute;left:4px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0000004d;transition:left .25s cubic-bezier(.4,0,.2,1);pointer-events:none}.ios-toggle-labeled--on .ios-toggle-knob{left:calc(100% - 26px)}.ios-toggle-text{font-size:13px;font-weight:700;color:#ffffffa6;white-space:nowrap;transition:color .25s ease;pointer-events:none}.ios-toggle-labeled--on .ios-toggle-text{color:#fff}.create-back-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#ffffffbf;cursor:pointer;transition:background .2s,color .2s;flex-shrink:0}.create-back-btn:hover{background:#ffffff26;color:#fff}.create-submit-btn{align-self:flex-end;padding:12px 32px!important;font-size:15px!important}@media(orientation:landscape)and (max-height:500px){.create-game-form-new{max-width:none;flex-direction:row;align-items:flex-start}.create-game-form-new{display:flex;flex-wrap:wrap;gap:16px}.create-game-form-new .create-submit-btn{width:100%;margin-top:8px}.create-game-form-new .settings-group:first-child{flex:3 1 0}.create-game-form-new .settings-group:last-of-type{flex:2 1 0}.create-game-form-new .create-submit-btn{align-self:flex-end;padding:8px 24px!important}.settings-group-label{padding:4px 10px 2px;font-size:11px}.settings-row{flex-wrap:wrap;padding:4px 10px;min-height:44px;gap:2px 8px}.settings-row-label{font-size:12px;flex:1 0 100%}.settings-row-block .settings-row{flex-wrap:nowrap}.settings-row-block .settings-row-label{flex:1 1 auto}.points-pill{min-height:44px;padding:4px 10px;font-size:12px}.points-pill--circle{width:44px;height:44px;padding:0}.settings-row-subtitle{display:none}}@media(max-width:450px){.settings-row-subtitle{display:none}}.guest-upsell-banner{background:#c9a84c14;border:1px solid rgba(201,168,76,.2);border-radius:8px;padding:12px 14px;margin-top:4px}.guest-upsell-banner p{margin:0;font-size:13px;color:#fff9;line-height:1.5}.guest-upsell-banner a,.guest-upsell-link{color:#c9a84c;text-decoration:underline;text-underline-offset:2px;cursor:pointer;background:none;border:none;padding:0;font:inherit;display:inline}.guest-upsell-banner a:hover,.guest-upsell-link:hover{color:#dfc06e}.guest-upsell-banner a:focus-visible,.guest-upsell-link:focus-visible{outline:2px solid #C9A84C;outline-offset:2px}.guest-invite-prompt{padding:14px;background:#c9a84c14;border-top:1px solid rgba(201,168,76,.15)}.guest-invite-prompt p{margin:0 0 12px;font-size:13px;color:#fff9;line-height:1.5}.guest-invite-prompt-actions{display:flex;gap:8px}.guest-invite-prompt-btn{flex:1;background:#c9a84c;color:#0d1b2e;border:none;border-radius:8px;padding:10px;min-height:44px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:700;cursor:pointer;transition:background .2s}.guest-invite-prompt-btn:hover{background:#8a6820}.guest-invite-prompt-btn:focus-visible{outline:2px solid #C9A84C;outline-offset:2px}.guest-invite-prompt-dismiss{background:none;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#ffffff80;padding:10px 16px;min-height:44px;font-family:DM Sans,sans-serif;font-size:13px;cursor:pointer;transition:all .2s}.guest-invite-prompt-dismiss:hover{background:#ffffff0d;color:#ffffffb3}.guest-invite-prompt-dismiss:focus-visible{outline:2px solid #C9A84C;outline-offset:2px}.create-game-section{background:#162340;padding:24px;border-radius:14px;margin-bottom:32px;box-shadow:0 10px 30px #0000004d;border:1px solid rgba(201,168,76,.2);transition:all .3s ease}.create-game-form{display:flex;flex-direction:column;gap:16px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(201,168,76,.1)}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-weight:700;color:#c9a84c;font-size:14px}.form-group input{padding:10px 12px;border:2px solid rgba(201,168,76,.3);border-radius:8px;font-size:14px;background:#ffffff0d;transition:all .2s}.form-group input:focus-visible{border-color:#c9a84c;background:#c9a84c1a;box-shadow:0 0 0 3px #c9a84c26}.form-group.checkbox{flex-direction:row;align-items:center;gap:8px}.form-group.checkbox label{display:flex;align-items:center;margin:0;gap:8px;font-weight:600;color:#c9a84c;font-size:14px;cursor:pointer;-webkit-user-select:none;user-select:none}.form-group.checkbox input{width:18px;height:18px;margin:0;cursor:pointer;accent-color:#C9A84C}.btn{padding:11px 20px;border:none;border-radius:8px;font-weight:700;cursor:pointer;transition:all .2s;font-size:14px;letter-spacing:.3px;min-height:44px}.btn-primary{background:#c9a84c;color:#0d1b2e;box-shadow:0 4px 12px #c9a84c4d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #c9a84c66}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-small{padding:8px 16px;font-size:13px;align-self:flex-start}.games-section{background:#fff;padding:30px;border-radius:12px;box-shadow:0 4px 12px #0000001a}.games-section h2{margin-top:0;color:#333;font-size:20px}.loading,.no-games{text-align:center;padding:40px;color:#999;font-size:16px}.games-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.game-card{border:2px solid #eee;border-radius:8px;padding:0;display:flex;flex-direction:column;transition:all .3s;overflow:hidden}.game-card:hover{border-color:#c9a84c;box-shadow:0 4px 12px #c9a84c33}.game-card-header{padding:16px;background:#f9f9f9;border-bottom:1px solid #eee}.game-card-header h3{margin:0 0 8px;color:#333;font-size:18px}.game-card-header p{margin:0;color:#666;font-size:13px}.lobby-table-diagram{position:relative;width:360px;height:180px;margin:12px auto}.lobby-seat{display:flex;align-items:center;justify-content:center;position:absolute;width:110px}.lobby-seat.top{top:0;left:50%;transform:translate(-50%)}.lobby-seat.left{left:0;top:50%;transform:translateY(-50%)}.lobby-seat.right{right:0;top:50%;transform:translateY(-50%)}.lobby-seat.bottom{bottom:0;left:50%;transform:translate(-50%)}.lobby-seat.bottom-left{bottom:0;left:15%;transform:translate(-50%)}.lobby-seat.bottom-right{bottom:0;right:15%;transform:translate(50%)}.lobby-seat-occupied{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:5px 8px;background:#c9a84c33;border:1px solid rgba(201,168,76,.4);border-radius:6px;text-align:center}.lobby-seat-name{font-weight:600;color:#ffffffe6;font-size:13px;word-break:break-word}.ready-check{color:#6fcf6f;font-weight:700}.lobby-seat-badge{font-size:11px;color:#ffffff80;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.lobby-sit-here-btn{width:100%;padding:5px 8px;background:#c9a84c26;border:2px dashed rgba(201,168,76,.4);border-radius:6px;color:#c9a84c;font-weight:700;font-size:12px;cursor:pointer;transition:all .2s;min-height:44px}.lobby-sit-here-btn:hover:not(:disabled){border-color:#c9a84c;border-style:solid;color:#fff;background:#c9a84c33;box-shadow:0 0 12px #c9a84c4d}.lobby-invite-btn{display:flex;align-items:center;justify-content:center;gap:4px;border-color:#4ade8066;color:#4ade80;background:#4ade801a}.lobby-invite-btn:hover:not(:disabled){border-color:#4ade80;border-style:solid;color:#fff;background:#4ade8040;box-shadow:0 0 12px #4ade8033}.lobby-felt{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100px;height:100px;background:radial-gradient(circle at 40% 35%,#3a7a3a,#2d5a2d,#1e3d1e);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 2px 8px #0006,0 0 0 3px #ffffff0f}.lobby-felt-label{color:#fff;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.lobby-game-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:8px 14px;border-top:1px solid rgba(255,255,255,.07);background:#0003;color:#ffffff80;font-size:13px}.lobby-countdown{font-weight:600;color:#ffffffd9;font-size:15px}.radio-group{display:flex;gap:8px;flex-wrap:wrap}.radio-group label{display:flex;align-items:center;gap:6px;font-weight:600;color:#c9a84c;font-size:14px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:6px 10px;background:#ffffff0d;border:1px solid rgba(201,168,76,.3);border-radius:6px;transition:all .2s}.radio-group label:hover{background:#c9a84c26;border-color:#c9a84c}.radio-group input[type=radio]{margin:0;width:16px;height:16px;cursor:pointer;accent-color:#C9A84C}.form-section{display:flex;flex-direction:column;gap:10px}.form-section-title{font-size:12px;font-weight:700;color:#c9a84c;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.form-row{display:grid;grid-template-columns:1fr;gap:10px}.form-row.two-col{grid-template-columns:1fr 1fr}@media(max-width:640px){.form-row.two-col{grid-template-columns:1fr}}.create-game-form .btn{align-self:flex-end;width:auto;padding:11px 32px}.create-game-form .btn-secondary{background:#f3f4f6;color:#0d1b2e;border:1px solid rgba(201,168,76,.3);box-shadow:none}.create-game-form .btn-secondary:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.game-number-display{padding:10px 12px;background:#f5f5f5;border:1px solid #ddd;border-radius:6px;font-size:14px;font-weight:600;color:#333}.mini-game-panel{background:#162340;border:1px solid rgba(201,168,76,.2);border-radius:10px;padding:0;box-shadow:0 8px 24px #0000004d,0 0 0 1px #ffffff0d inset;overflow:hidden;transition:all .3s cubic-bezier(.23,1,.32,1)}.mini-game-panel:hover{transform:translateY(-4px);box-shadow:0 28px 48px #0006,0 0 0 1px #c9a84c66 inset}.mini-game-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#c9a84c;color:#0d1b2e;box-shadow:0 4px 12px #c9a84c4d}.mini-game-header h3{margin:0 0 4px;font-size:15px;font-weight:600}.mini-game-waiting-title{font-size:16px!important;font-weight:700!important;letter-spacing:-.3px;color:#fff!important}.mini-game-info{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.info-badge{background:#ffffff40;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500;white-space:nowrap}.btn-secondary{background:#fff3;color:#fff;border:2px solid white}.btn-secondary:hover:not(:disabled){background:#ffffff4d;transform:translateY(-2px)}.mini-game-panel .lobby-table-diagram{margin:10px auto}.mini-game-panel .lobby-game-footer{background:#00000040}.game-compact-card{background:#162340;border-radius:14px;box-shadow:0 20px 40px #0000004d,0 0 0 1px #ffffff0d inset;overflow:hidden;border-left:4px solid;transition:all .3s cubic-bezier(.23,1,.32,1);display:flex;flex-direction:column}.game-compact-card:hover{transform:translateY(-4px);box-shadow:0 28px 48px #0006,0 0 0 1px #c9a84c33 inset}.game-compact-card.in-progress{border-left-color:#ffffff26}.game-compact-card.complete{border-left-color:#c9a84c}.game-compact-card.rejoinable{border-left-color:#f59e0b}.compact-card-header{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#0003;border-bottom:1px solid rgba(255,255,255,.07);gap:12px;flex-wrap:wrap}.compact-game-title{font-size:16px;font-weight:600;color:#ffffffe6}.status-badge{padding:6px 14px;border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;white-space:nowrap}.status-badge.status-playing{background:#ffffff1a;color:#ffffffb3;box-shadow:0 0 12px #ffffff1a}.status-badge.status-complete{background:#c9a84c33;color:#c9a84c;box-shadow:0 0 12px #c9a84c33}.status-badge.status-rejoinable{background:#f59e0b33;color:#fbbf24;box-shadow:0 0 12px #f59e0b33}.compact-score{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:800;letter-spacing:-.5px}.score-team{min-width:28px;text-align:center;color:#fff}.score-separator{color:#ffffff40;margin:0 4px;font-weight:600}.compact-players{display:flex;flex-wrap:nowrap;gap:8px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.07);background:#0000001a}.compact-players .player-chip{flex:1 1 0;min-width:0}.player-chip{padding:8px 12px;background:#c9a84c26;border:1px solid rgba(201,168,76,.2);border-radius:8px;font-size:13px;font-weight:600;color:#c9a84c;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:all .2s}.player-chip:hover{border-color:#c9a84c80;background:#c9a84c33;color:#fff}.compact-footer{display:flex;justify-content:flex-start;align-items:center;gap:8px;padding:12px 16px;background:#0003;font-size:12px;color:#fff9;font-weight:500}.footer-divider{color:#fff3;font-weight:600}.lobby-waiting-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center}.lobby-waiting-dialog{flex:none!important;margin:auto;max-width:680px;width:90%;transition:none!important}.lobby-waiting-dialog:hover{transform:none!important;box-shadow:0 8px 24px #0000004d,0 0 0 1px #ffffff0d inset}.lobby-waiting-dialog.has-invite-panel{max-width:680px}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:8px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:6px 12px 6px 8px;cursor:pointer;color:#ffffffe6;font-size:14px;font-weight:500;transition:background .2s,border-color .2s;min-height:44px}.user-menu-trigger:hover{background:#ffffff24;border-color:#ffffff40}.user-menu-trigger--open{background:#ffffff24;border-color:#c9a84c66}.user-menu-name{letter-spacing:.3px;white-space:nowrap}.user-menu-arrow{display:flex;align-items:center;opacity:.7;transition:transform .2s ease;flex-shrink:0}.user-menu-trigger--open .user-menu-arrow{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#162340;border:1px solid rgba(201,168,76,.2);border-radius:12px;padding:8px;min-width:200px;box-shadow:0 16px 40px #0006,0 0 0 1px #ffffff0d inset;z-index:200;animation:user-menu-appear .15s ease-out}@keyframes user-menu-appear{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.user-menu-dropdown-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:8px;transition:background .15s}.user-menu-dropdown-item:hover{background:#ffffff0f}.user-menu-dropdown-divider{height:1px;background:#ffffff1f;margin:6px 0}.user-menu-dropdown-link{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:none;border-radius:8px;background:transparent;color:#fffc;font-size:14px;font-weight:600;cursor:pointer;text-align:left;transition:background .15s;min-height:44px}.user-menu-dropdown-link:hover{background:#ffffff14;color:#fff}.user-menu-dropdown-logout{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:none;border-radius:8px;background:transparent;color:#8c3028;font-size:14px;font-weight:600;cursor:pointer;text-align:left;transition:background .15s;min-height:44px}.user-menu-dropdown-logout:hover{background:#8c30281f}.user-menu-item-label{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:#fffc}.ios-toggle-labeled.header-toggle{width:52px;min-height:44px;padding:0}.ios-toggle-labeled.header-toggle{min-height:44px;padding:3px 32px;font-size:13px}.compact-rejoin-btn{padding:6px 14px!important;font-size:12px!important;margin:0!important;flex-shrink:0}.guest-login-area{display:flex;align-items:center;gap:16px}.guest-login-hint{color:#ffffff8c;font-size:14px;white-space:nowrap}.lobby-login-btn{display:flex;align-items:center;gap:8px;width:auto!important;padding:10px 20px!important;font-size:14px!important;white-space:nowrap}.solo-transition-overlay{position:fixed;inset:0;background:#0d1b2e;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;animation:solo-fade-in .3s ease-out}@keyframes solo-fade-in{0%{opacity:0}to{opacity:1}}.solo-transition-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.15);border-top-color:#fff9;border-radius:50%;animation:solo-spin .8s linear infinite}@keyframes solo-spin{to{transform:rotate(360deg)}}.solo-transition-row{display:flex;align-items:center;gap:12px}.solo-countdown-number{font-size:18px;font-weight:600;color:#ffffffb3;font-variant-numeric:tabular-nums}.ad-placeholder-lobby{width:302px;height:252px;background:#0d1b2e;border:1px dashed transparent;border-radius:4px;flex-shrink:0}.lobby-show-more-btn{width:100%;padding:12px 16px;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#ffffffb3;font-size:14px;cursor:pointer;text-align:center;min-height:44px}.lobby-show-more-btn:hover{background:#ffffff1a;color:#ffffffe6}.player{padding:clamp(8px,1.5vmin,12px) clamp(10px,2vmin,16px);border:1px solid #1e2a45;border-radius:12px;background:#0f1729;min-width:clamp(40px,10vw,80px);text-align:center;transition:border-color .3s,box-shadow .3s,background .3s,outline-color .3s;outline:4px solid transparent;outline-offset:-1px;font-size:clamp(15px,2.5vw,15px);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 4px 16px #0000004d}.player:after{content:" ";position:absolute;font-size:16px;font-weight:700;color:#4caf5099;display:flex;align-items:center;justify-content:center}.player[data-seat="0"]:after{top:-20px;left:50%;transform:translate(-50%)}.player[data-seat="1"]:after{left:100%;top:50%;transform:translateY(-50%);margin-left:4px}.player[data-seat="2"]:after{bottom:-20px;left:50%;transform:translate(-50%)}.player[data-seat="3"]:after{right:100%;top:50%;transform:translateY(-50%);margin-right:4px}.player.current{border-color:#c9a84cb3;outline-color:#c8c8c8;background:linear-gradient(135deg,#1e1a10,#12162a);box-shadow:0 0 20px #c9a84c40,0 4px 16px #0000004d}.player.team-1{border-color:#625112;background:#625112;box-shadow:0 0 18px #c9a84c33,0 4px 16px #0000004d}.player.team-2{border-color:#511b15;background:#511b15;box-shadow:0 0 18px #8c302833,0 4px 16px #0000004d}.player.team-1.current{border-color:#c9a84c;outline-color:#c8c8c8;background:#625112;box-shadow:0 0 32px #c9a84c99,0 4px 16px #0000004d}.player.team-2.current{border-color:#8c3028;outline-color:#c8c8c8;background:#511b15;box-shadow:0 0 32px #8c302899,0 4px 16px #0000004d}.player.team-3{border-color:#42424f;background:#42424f;box-shadow:0 0 18px #ffffff1a,0 4px 16px #0000004d}.player.team-3.current{border-color:#fff9;outline-color:#c8c8c8;background:#353542;box-shadow:0 0 32px #ffffff4d,0 4px 16px #0000004d}.player-name{font-weight:700;font-size:clamp(15px,2.4vw,15px);color:#ffffffe6;letter-spacing:.2px;display:flex;align-items:center;gap:4px}.bot-badge{display:inline-block;background:#ff9800;color:#000;padding:1px 4px;border-radius:2px;font-size:15px;margin-left:2px}.dealer-badge{display:inline-block;background:#2196f3;color:#000;padding:1px 4px;border-radius:2px;font-size:15px;margin-left:2px}.player-tricks{font-size:15px;color:#ffffffd9}.tricks-badge{font-size:clamp(18px,4.5vmin,28px);color:#fff;font-weight:800;white-space:nowrap;pointer-events:none;background:#c9a84c;width:clamp(36px,8vmin,55px);height:clamp(36px,8vmin,55px);display:flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid rgba(255,255,255,.2);box-shadow:0 2px 10px #0006;transition:transform .15s ease-out}.player.team-1 .tricks-badge{background:#c9a84c;box-shadow:0 0 14px #c9a84c8c,0 2px 10px #0006}.player.team-2 .tricks-badge{background:#8c3028;box-shadow:0 0 14px #8c30288c,0 2px 10px #0006}.player.team-3 .tricks-badge{background:#ffffff26;box-shadow:0 0 14px #fff3,0 2px 10px #0006}.tricks-badge.tricks-badge-bump{animation:tricks-badge-bump .5s cubic-bezier(.34,1.56,.64,1)}@keyframes tricks-badge-bump{0%{transform:scale(1)}40%{transform:scale(1.2)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.tricks-badge.tricks-badge-bump{animation:none}}.trump-icon-fade-out{opacity:0;transition:opacity 1s ease}.trump-icon{position:absolute;width:clamp(36px,8vmin,55px);height:clamp(36px,8vmin,55px);display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:5}.trump-icon img{width:100%;height:100%;object-fit:contain}.trump-icon.trump-icon-pulse img{animation:trump-icon-pulse .4s cubic-bezier(.34,1.56,.64,1)}@keyframes trump-icon-pulse{0%{transform:scale(1) rotate(0)}40%{transform:scale(1.2) rotate(25deg)}70%{transform:scale(.9) rotate(-12deg)}to{transform:scale(1) rotate(0)}}.trump-icon.trump-seat-0{left:calc(-2*clamp(36px,8vmin,55px) - 4px);top:50%;transform:translateY(-50%)}.trump-icon.trump-seat-1{left:0;bottom:calc(-2*clamp(36px,8vmin,55px) - 4px);top:auto;transform:none}.trump-icon.trump-seat-2{right:calc(-2*clamp(36px,8vmin,55px) - 4px);top:50%;transform:translateY(-50%)}.trump-icon.trump-seat-3{right:0;left:auto;bottom:calc(-2*clamp(36px,8vmin,55px) - 4px);top:auto;transform:none}.player.chips-on-top .tricks-badge.tricks-seat-1{bottom:unset;top:calc(-1*clamp(36px,8vmin,55px) - 4px);left:0;transform:none}.player.chips-on-top .trump-icon.trump-seat-1{bottom:unset;top:calc(-2*clamp(36px,8vmin,55px) - 4px);left:0;transform:none}.tricks-badge.tricks-seat-0{position:absolute;left:calc(-1*clamp(36px,8vmin,55px) - 4px);top:50%;translate:0 -50%}.tricks-badge.tricks-seat-1{position:absolute;left:0;bottom:calc(-1*clamp(36px,8vmin,55px) - 4px);transform:none}.tricks-badge.tricks-seat-2{position:absolute;right:calc(-1*clamp(36px,8vmin,55px) - 4px)}.tricks-badge.tricks-seat-3{position:absolute;right:0;left:auto;bottom:calc(-1*clamp(36px,8vmin,55px) - 4px);transform:none}.player.players-3 .tricks-badge.tricks-seat-1{position:absolute;left:0;right:auto;bottom:calc(-1*clamp(36px,8vmin,55px) - 12px);top:auto;transform:none}.player.players-3 .tricks-badge.tricks-seat-2{position:absolute;right:0;left:auto;bottom:calc(-1*clamp(36px,8vmin,55px) - 12px);top:auto;transform:none}.player.players-3 .trump-icon.trump-seat-1{left:0;right:auto;bottom:calc(-2*clamp(36px,8vmin,55px) - 12px);top:auto;transform:none}.player.players-3 .trump-icon.trump-seat-2{right:0;left:auto;bottom:calc(-2*clamp(36px,8vmin,55px) - 12px);top:auto;transform:none}.player.players-3 .passed-badge.passed-seat-1{inset:50% -80px auto auto;animation:pass-badge-fade-v 1.5s ease-in-out forwards}.player.players-3 .passed-badge.passed-seat-2{inset:50% auto auto -80px;animation:pass-badge-fade-v 1.5s ease-in-out forwards}.player.players-3 .trump-ordered-badge.trump-ordered-seat-1{inset:50% -100px auto auto;animation:pass-badge-fade-v 2s ease-in-out forwards}.player.players-3 .trump-ordered-badge.trump-ordered-seat-2{inset:50% auto auto -100px;animation:pass-badge-fade-v 2s ease-in-out forwards}.passed-badge{position:absolute;background:#646464d9;color:#fff;font-weight:700;font-size:28px;padding:8px 20px;border-radius:8px;pointer-events:none;z-index:10;white-space:nowrap}.passed-badge.passed-seat-0{left:50%;top:-40px;animation:pass-badge-fade-h 1.5s ease-in-out forwards}.passed-badge.passed-seat-1{right:-80px;top:50%;animation:pass-badge-fade-v 1.5s ease-in-out forwards}.passed-badge.passed-seat-2{left:50%;bottom:-40px;animation:pass-badge-fade-h 1.5s ease-in-out forwards}.passed-badge.passed-seat-3{left:-80px;top:50%;animation:pass-badge-fade-v 1.5s ease-in-out forwards}.discard-badge{position:fixed;bottom:min(380px,42dvh);left:50%;transform:translate(-50%);background:#1e1e32eb;border:1px solid rgba(201,168,76,.5);color:#fff;font-weight:700;font-size:20px;padding:10px 24px;border-radius:10px;pointer-events:none;z-index:300;white-space:nowrap;display:flex;flex-direction:column;align-items:center;gap:4px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 16px #0006}.discard-trump-hint{display:flex;align-items:center;gap:6px;font-size:18px;font-weight:400}.discard-trump-chip{width:30px;height:30px;object-fit:contain;filter:drop-shadow(0 0 3px rgba(255,255,255,.8))}@keyframes pass-badge-fade-h{0%{opacity:0;transform:translate(-50%) scale(.7)}10%{opacity:1;transform:translate(-50%) scale(1)}80%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%) scale(.7)}}@keyframes pass-badge-fade-v{0%{opacity:0;transform:translateY(-50%) scale(.7)}10%{opacity:1;transform:translateY(-50%) scale(1)}80%{opacity:1;transform:translateY(-50%) scale(1)}to{opacity:0;transform:translateY(-50%) scale(.7)}}.trump-ordered-badge{position:absolute;background:#287828e6;color:#fff;font-weight:700;font-size:22px;padding:8px 16px;border-radius:8px;pointer-events:none;z-index:10;white-space:nowrap;display:flex;align-items:center;gap:8px}.trump-badge-chip{width:32px;height:32px;object-fit:contain}.trump-ordered-badge.trump-ordered-seat-0{left:50%;top:-54px;animation:pass-badge-fade-h 3.5s ease-in-out forwards}.trump-ordered-badge.trump-ordered-seat-1{right:-100px;top:50%;animation:pass-badge-fade-v 3.5s ease-in-out forwards}.trump-ordered-badge.trump-ordered-seat-2{left:50%;bottom:-54px;animation:pass-badge-fade-h 3.5s ease-in-out forwards}.trump-ordered-badge.trump-ordered-seat-3{left:-100px;top:50%;animation:pass-badge-fade-v 3.5s ease-in-out forwards}.player.disconnected{opacity:.5;filter:grayscale(.5);transition:opacity .4s ease,filter .4s ease,border-color .3s,box-shadow .3s,background .3s,outline-color .3s}.disconnected-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#b47800e6;color:#fffffff2;font-size:15px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:4px;pointer-events:none;z-index:5;white-space:nowrap;animation:disconnected-pulse 1.5s ease-in-out infinite}@keyframes disconnected-pulse{0%,to{opacity:1}50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.disconnected-label{animation:none}}.player.sitting-out{opacity:.4;filter:grayscale(.7);transition:opacity .4s ease,filter .4s ease,border-color .3s,box-shadow .3s,background .3s,outline-color .3s}.sitting-out-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#505064e0;color:#fffffff2;font-size:15px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:4px;pointer-events:none;z-index:5;white-space:nowrap}.chat-bubble{position:absolute;background:#c9a84cd9;color:#fff;font-weight:700;font-size:28px;padding:8px 20px;border-radius:8px;pointer-events:none;z-index:10;white-space:nowrap}.chat-bubble.chat-bubble-seat-0{left:50%;top:-40px;animation:pass-badge-fade-h 3.5s ease-in-out forwards}.chat-bubble.chat-bubble-seat-1{right:-80px;top:50%;animation:pass-badge-fade-v 3.5s ease-in-out forwards}.chat-bubble.chat-bubble-seat-2{left:50%;bottom:-40px;animation:pass-badge-fade-h 3.5s ease-in-out forwards}.chat-bubble.chat-bubble-seat-3{left:-80px;top:50%;animation:pass-badge-fade-v 3.5s ease-in-out forwards}@media(max-width:649px)and (max-aspect-ratio:77/100){.tricks-badge.tricks-seat-3{bottom:calc(-1*clamp(36px,8vmin,55px) - 4px);right:0;left:auto;transform:none}.trump-icon.trump-seat-3{bottom:calc(-2*clamp(36px,8vmin,55px) - 4px);right:0;left:auto;transform:none}}@media(max-width:430px){.tricks-badge{font-size:14px;width:28px;height:28px}.tricks-badge.tricks-seat-0{left:-32px}.tricks-badge.tricks-seat-1{bottom:-32px}.tricks-badge.tricks-seat-2{left:-32px;right:auto}.tricks-badge.tricks-seat-3{bottom:-32px;right:0;left:auto;transform:none}.trump-icon{width:28px;height:28px}.trump-icon.trump-seat-0{left:-60px}.trump-icon.trump-seat-2{left:-60px;right:auto}.trump-icon.trump-seat-1{bottom:-60px}.trump-icon.trump-seat-3{bottom:-60px;right:0;left:auto;transform:none}.player.chips-on-top .tricks-badge.tricks-seat-1{top:-32px;bottom:unset}.player.chips-on-top .trump-icon.trump-seat-1{top:-60px;bottom:unset}}.boot-button{position:absolute;bottom:-28px;left:50%;transform:translate(-50%);background:#ef4444e6;color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:15px;font-weight:700;min-height:44px;cursor:pointer;white-space:nowrap;z-index:10;box-shadow:0 1px 6px #0006;animation:boot-btn-appear .2s ease-out}.boot-button:hover{background:#dc2626}.boot-button.boot-button-seat-1{bottom:unset;top:50%;left:calc(100% + 6px);transform:translateY(-50%)}.boot-button.boot-button-seat-3{bottom:unset;top:50%;left:unset;right:calc(100% + 6px);transform:translateY(-50%)}@keyframes boot-btn-appear{0%{opacity:0;transform:translate(-50%) scale(.85)}to{opacity:1;transform:translate(-50%) scale(1)}}.boot-button.boot-button-seat-1,.boot-button.boot-button-seat-3{animation:boot-btn-appear-side .2s ease-out}@keyframes boot-btn-appear-side{0%{opacity:0;transform:translateY(-50%) scale(.85)}to{opacity:1;transform:translateY(-50%) scale(1)}}.turn-countdown{position:absolute;top:-10px;right:-10px;min-width:24px;height:24px;border-radius:50%;background:#4ade80eb;color:#000;font-size:15px;font-weight:800;display:flex;align-items:center;justify-content:center;z-index:10;padding:0 3px;box-shadow:0 1px 6px #0006;transition:background .3s ease,color .3s ease}.turn-countdown.urgent{background:#ef4444f2;color:#fff;animation:countdown-pulse .7s ease-in-out infinite}@keyframes countdown-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.turn-countdown.turn-countdown-seat-1,.turn-countdown.turn-countdown-seat-3{top:-10px;right:unset;left:-10px}@media(prefers-reduced-motion:reduce){.passed-badge,.trump-ordered-badge,.chat-bubble{opacity:1!important;transform:translate(-50%)!important}.passed-badge.passed-seat-1,.passed-badge.passed-seat-3,.trump-ordered-badge.trump-ordered-seat-1,.trump-ordered-badge.trump-ordered-seat-3,.chat-bubble.chat-bubble-seat-1,.chat-bubble.chat-bubble-seat-3{transform:translateY(-50%)!important}}.canned-message-wrapper{position:relative;display:inline-flex;z-index:9999}.canned-message-btn{width:44px;height:44px;border-radius:50%;background:#ffffff1a;border:1px solid rgba(201,168,76,.3);color:#ffffffb3;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;pointer-events:auto}.canned-message-btn:hover:not(:disabled){background:#c9a84c4d;border-color:#c9a84c99;color:#fff}.canned-message-btn.canned-btn-active{background:#c9a84c66;border-color:#c9a84cb3;color:#fff}.canned-message-btn:disabled{opacity:.4;cursor:not-allowed}.canned-message-panel{position:absolute;z-index:9999;top:calc(100% + 8px);right:0;transform:scale(.9);opacity:0;background:#162340;border:1px solid rgba(201,168,76,.3);border-radius:12px;padding:12px;min-width:220px;max-width:300px;box-shadow:0 12px 32px #00000080,0 0 0 1px #ffffff0d inset;pointer-events:auto;animation:canned-panel-in .15s ease-out forwards}@keyframes canned-panel-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.canned-category{margin-bottom:8px}.canned-category:last-child{margin-bottom:0}.canned-category-header{font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#ffffffd9;margin-bottom:4px;padding-left:2px}.canned-chips{display:flex;flex-wrap:wrap;gap:4px}.canned-chip{background:#ffffff0f;border:1px solid rgba(201,168,76,.2);border-radius:14px;color:#ffffffd9;font-size:12px;font-weight:500;padding:10px 14px;cursor:pointer;transition:all .15s;white-space:nowrap;min-height:44px}.canned-chip:hover:not(:disabled){background:#c9a84c40;border-color:#c9a84c80;color:#fff}.canned-chip:disabled{opacity:.4;cursor:not-allowed}.canned-rate-warning{font-size:13px;color:#f59e0b;text-align:center;padding:4px 0 8px;font-weight:600}.canned-rate-hint{font-size:15px;color:#ffffffd9;text-align:center;padding-top:6px}.card-surface{position:fixed;inset:0;pointer-events:none;z-index:50}.surface-card{position:absolute;left:0;top:0;pointer-events:none}.surface-card img{width:clamp(80px,25vmin,200px);height:auto;display:block;border-radius:4px;box-shadow:0 2px 4px #0003;pointer-events:none;transition:width 50ms ease-out,box-shadow 50ms ease-out}.surface-card-hand{pointer-events:auto;filter:drop-shadow(0 8px 16px rgba(0,0,0,.4));background:none;border:none;padding:0;cursor:pointer}.surface-card-hand:focus-visible{outline:3px solid #C9A84C;outline-offset:2px;border-radius:6px}.surface-card-hand:hover:not(.surface-card-disabled){filter:drop-shadow(0 12px 24px rgba(0,0,0,.3))}.surface-card-hand:hover:not(.surface-card-disabled) img{filter:brightness(1.05)}@media(orientation:portrait)and (min-width:600px){.surface-card-hand img{width:clamp(80px,18vmin,150px)}}.surface-card-disabled{cursor:not-allowed!important}.surface-card-deal img{width:clamp(55px,18vmin,140px);box-shadow:0 0 12px #ffffff59,0 4px 8px #0006}.deal-card-overlay img{width:clamp(55px,18vmin,140px);height:auto;display:block;border-radius:4px;box-shadow:0 0 12px #ffffff59,0 4px 8px #0006;pointer-events:none;-webkit-user-select:none;user-select:none}.surface-card:not(.surface-card-hand):not(.surface-card-deal) img{width:clamp(70px,18vmin,140px);box-shadow:0 4px 8px #0000004d}.dealer-chip-overlay{position:fixed;top:0;left:0;width:clamp(36px,8vmin,55px);height:clamp(36px,8vmin,55px);pointer-events:none;z-index:5;display:flex;align-items:center;justify-content:center;will-change:transform}.dealer-chip-overlay img{width:100%;height:100%;object-fit:contain}@media(max-width:430px){.dealer-chip-overlay{width:28px;height:28px}}.dealer-chip-pop-in img{animation:dealer-chip-arrive .5s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes dealer-chip-arrive{0%{transform:scale(0) rotate(-180deg);opacity:0}60%{transform:scale(1.2) rotate(10deg);opacity:1}80%{transform:scale(.9) rotate(-5deg)}to{transform:scale(1) rotate(0);opacity:1}}.dealer-chip-land img{animation:dealer-chip-land .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes dealer-chip-land{0%{transform:scale(1) rotate(0)}40%{transform:scale(1.2) rotate(25deg)}70%{transform:scale(.9) rotate(-12deg)}to{transform:scale(1) rotate(0)}}.diag-badge{position:fixed;bottom:8px;left:8px;z-index:1000;font-family:monospace;font-size:15px;line-height:1.4;color:#ffffffd9;background:#00000080;padding:6px 10px;border:none;min-height:44px;border-radius:4px;cursor:pointer;user-select:none;-webkit-user-select:none;pointer-events:auto;-webkit-tap-highlight-color:transparent}.diag-badge:active{background:#00000080}.diag-badge.diag-copied{color:#4ade80}.diag-line{white-space:nowrap}.card{background:none;border:none;cursor:pointer;padding:0;margin:0;transition:transform .2s,filter .2s;transform:rotate(var(--card-rotation, 0deg)) translateY(var(--card-vertical-offset, 0px))}.card img{height:clamp(172px,24vmin,310px);width:auto;display:block;border-radius:4px;box-shadow:0 2px 4px #0003}.card:hover:not(.disabled){transform:rotate(var(--card-rotation, 0deg)) translateY(calc(var(--card-vertical-offset, 0px) - clamp(3px,.5vmin,6px)))}.card.selected img{filter:brightness(1.1);box-shadow:0 0 8px #64c8ffcc}.card.disabled{opacity:.5;cursor:not-allowed}.card.disabled:hover{transform:rotate(var(--card-rotation, 0deg)) translateY(var(--card-vertical-offset, 0px))}.bidding-dialog-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:transparent;z-index:1001;pointer-events:none}.bidding-dialog-notice{position:absolute;top:8px;left:50%;transform:translate(-50%);white-space:nowrap;background:#646464d9;border-radius:8px;color:#fff;font-size:28px;font-weight:600;padding:6px 16px;text-align:center;pointer-events:none;z-index:201}.bidding-dialog{position:absolute;left:50%;transform:translate(-50%);background:#162340;border:1px solid rgba(201,168,76,.2);border-radius:12px;padding:0 12px 12px;box-shadow:0 20px 40px #00000080,0 0 0 1px #ffffff0d inset;text-align:center;animation:dialog-appear .35s ease-out;max-width:280px;width:90%;color:#fff;pointer-events:auto}.bidding-dialog.exiting{animation:dialog-disappear .3s ease-in forwards}.bidding-dialog-overlay.exiting{animation:none}@keyframes dialog-appear{0%{opacity:0;transform:translate(-50%) scale(.9) translateY(8px)}to{opacity:1;transform:translate(-50%) scale(1) translateY(0)}}@keyframes dialog-disappear{0%{opacity:1;transform:translate(-50%) scale(1) translateY(0)}to{opacity:0;transform:translate(-50%) scale(.9) translateY(8px)}}.bidding-drag-handle{cursor:grab;padding:10px 0 14px;margin:-4px -16px 4px;display:flex;justify-content:center;touch-action:none;-webkit-user-select:none;user-select:none}.bidding-drag-handle:active{cursor:grabbing}.drag-handle-bar{width:40px;height:4px;background:#ffffff4d;border-radius:2px}.bidding-dialog h3{margin:0 0 20px;color:#fff;font-size:20px;font-weight:700}.up-card-display{display:flex;align-items:center;justify-content:center;margin:0 0 8px}.suit-symbol{font-size:60px;font-weight:700;line-height:1}.suit-icon{height:40px;width:40px;object-fit:contain;filter:drop-shadow(0 0 3px rgba(255,255,255,.8))}.suit-icon-inline-btn{height:20px;width:20px;object-fit:contain;filter:drop-shadow(0 0 3px rgba(255,255,255,.8));margin-right:6px;flex-shrink:0}.toggle-full-width{justify-content:space-between;width:100%;box-sizing:border-box;padding:0 0 8px}.toggle-full-width .toggle-text{order:-1}.suit-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 10px}.suit-button{border:1px solid rgba(255,255,255,.15);border-radius:10px;background:#ffffff12;cursor:pointer;font-size:32px;font-weight:700;transition:all .2s;padding:6px;min-height:44px;display:flex;align-items:center;justify-content:center;color:inherit;position:relative}.suit-button:not(.disabled):not(.selected):hover{border-color:#c9a84c99;background:#c9a84c33;transform:scale(1.05)}.suit-button.selected{border:none;background:#c9a84c;color:#0d1b2e!important;box-shadow:0 4px 12px #c9a84c4d}.suit-button.disabled{opacity:.45;cursor:not-allowed}.suit-button .suit-icon{height:28px;width:28px}.suit-button-passed-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.suit-button-slash{width:44px;height:44px}.bidding-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.bidding-round2-prompt{margin:0 0 8px;font-size:15px;color:#ffffffd9;text-align:center}.bidding-round2-confirm{display:flex;align-items:center;gap:8px;max-height:0;opacity:0;overflow:hidden;transition:max-height .25s ease,opacity .2s ease,margin .25s ease;margin-bottom:0}.bidding-round2-confirm.visible{max-height:60px;opacity:1;margin-bottom:8px}.bidding-round2-confirm .toggle-label{flex:1;padding:0}.bidding-call-trump-btn{flex-shrink:0;padding:6px 14px;border:none;border-radius:6px;font-weight:700;cursor:pointer;font-size:15px;min-height:44px;background:#c9a84c;color:#0d1b2e;box-shadow:0 4px 12px #c9a84c4d;transition:all .2s}.bidding-call-trump-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #c9a84c66}.bidding-call-trump-btn:disabled{opacity:.5;cursor:not-allowed}.bidding-buttons-round1 .btn.bidding-pass-demoted{background:#ffffff1a;color:#fffc;border:1px solid rgba(255,255,255,.2);box-shadow:none}.bidding-buttons-round1 .btn.bidding-pass-demoted:hover:not(:disabled){background:#c9a84c33;border-color:#c9a84c80;color:#fff;transform:none;box-shadow:none}.bidding-buttons-round1 .btn.bidding-pass-demoted:disabled{opacity:.45;cursor:not-allowed}.bidding-buttons-round1{display:flex;gap:8px;align-items:flex-start}.bidding-buttons-round1 .btn{flex:1;padding:6px 10px;border:none;border-radius:6px;font-weight:700;cursor:pointer;transition:all .2s;font-size:15px;min-height:44px;display:flex;align-items:center;justify-content:center}.bidding-buttons-round1 .btn-primary{background:#c9a84c;color:#0d1b2e;box-shadow:0 4px 12px #c9a84c4d}.bidding-buttons-round1 .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #c9a84c66}.bidding-buttons-round1 .btn-primary:disabled{opacity:.5;cursor:not-allowed}.bidding-buttons-round1 .btn-secondary{background:#c9a84c;color:#0d1b2e;border:none}.bidding-buttons-round1 .btn-secondary:hover:not(:disabled){background:#d4b65e;color:#0d1b2e}.bidding-buttons-round1 .btn-secondary:disabled{opacity:.45;cursor:not-allowed}.toggle-label{display:flex;align-items:center;gap:8px;color:#ffffffe6;font-size:15px;cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:flex-start;margin:0;padding:6px 0 0;min-height:44px}.toggle-label input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;margin:0;pointer-events:none}.toggle-switch{display:inline-block;width:46px;height:26px;background-color:#ffffff26;border:1px solid rgba(255,255,255,.2);border-radius:13px;position:relative;flex-shrink:0;transition:all .25s ease}.toggle-switch:after{content:"";position:absolute;width:20px;height:20px;background-color:#fff;border-radius:50%;top:2px;left:2px;transition:left .25s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0000004d}.toggle-label input[type=checkbox]:checked+.toggle-switch{background-color:#34c759;border-color:#34c759}.toggle-label input[type=checkbox]:checked+.toggle-switch:after{left:22px}.toggle-text{min-width:60px}@media(max-height:480px){.bidding-dialog{max-height:min(260px,55dvh)}.bidding-drag-handle{padding:6px 0 10px;margin:-2px -12px 2px}.up-card-display{margin:0 0 4px}.suit-icon{height:28px;width:28px}.suit-button .suit-icon{height:22px;width:22px}.suit-buttons{gap:5px;margin:0 0 6px}.bidding-round2-prompt{margin:0 0 4px}.toggle-label{margin:3px 0;font-size:15px}.toggle-switch{width:38px;height:22px}.toggle-switch:after{width:16px;height:16px}.toggle-label input[type=checkbox]:checked+.toggle-switch:after{left:18px}.bidding-buttons-round1 .btn{font-size:15px}}.game-result-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:300;animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.game-result-dialog{background:#162340;border:1px solid rgba(201,168,76,.2);border-radius:20px;padding:40px;max-width:500px;width:90%;max-height:90dvh;overflow-y:auto;box-shadow:0 24px 60px #00000080,0 0 0 1px #ffffff0d inset;animation:slideUp .4s cubic-bezier(.25,.46,.45,.94);display:flex;flex-direction:column;gap:24px}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.result-title{font-size:2.5rem;text-align:center;margin:0;color:#fff}.result-message{font-size:1.2rem;text-align:center;color:#ffffffd9}.score-board{display:flex;flex-direction:row;align-items:stretch;gap:0;padding:0;background:#0003;border-radius:12px;border:1px solid rgba(255,255,255,.07);overflow:hidden}.score-row{flex:1;display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:0;border:none}.score-row.your-team{background:#c9a84c26;border-right:1px solid rgba(255,255,255,.07)}.score-row.other-team{background:#8c30281f}.team-label{font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:#fff9}.team-score{font-size:1.4rem;font-weight:800;color:#fff}.score-divider{display:flex;align-items:center;padding:0 8px;color:#ffffff40;font-weight:700;font-size:.85rem;flex-shrink:0}.player-teams{display:grid;grid-template-columns:1fr 1fr;gap:12px}.team-column{padding:14px 16px;border-radius:10px;background:#0003;border:1px solid rgba(255,255,255,.07)}.team-column h3{margin:0 0 10px;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;text-align:center;color:#ffffffd9}.your-team-column{border-right:3px solid rgba(201,168,76,.5)}.other-team-column{border-right:3px solid rgba(140,48,40,.5)}.game-result-dialog .player-name{display:flex;flex-direction:row;align-items:center;gap:6px;font-size:.9rem;font-weight:600;color:#ffffffbf;padding:4px 0}.player-name:last-child{border-bottom:none}.dialog-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.game-result-dialog .btn{padding:12px 24px;font-size:1rem;border:none;border-radius:10px;cursor:pointer;font-weight:700;transition:all .2s ease;min-width:150px;min-height:44px}.game-result-dialog .btn-primary{background:#c9a84c;color:#0d1b2e;box-shadow:0 4px 16px #c9a84c59}.game-result-dialog .btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #c9a84c80}.game-result-dialog .btn-primary:active{transform:translateY(0)}.game-result-dialog .btn-secondary{background:#ffffff1a;color:#fffc;border:1px solid rgba(255,255,255,.2)}.game-result-dialog .btn-secondary:hover{background:#ffffff2e;border-color:#c9a84c66;color:#fff;transform:translateY(-2px)}.game-result-dialog .btn-secondary:active{transform:translateY(0)}.countdown-footer{display:flex;flex-direction:column;gap:6px}.countdown-bar-track{height:3px;background:#ffffff1a;border-radius:2px;overflow:hidden}.countdown-bar-fill{height:100%;background:#ffffff59;border-radius:2px;transition:width 1s linear}.countdown-label{font-size:.85rem;color:#ffffffd9;text-align:center}.rematch-spinner{display:flex;justify-content:center;gap:8px;padding:24px 0}.rematch-spinner-dot{width:10px;height:10px;border-radius:50%;background:#ffffff80;animation:rematchPulse 1.2s ease-in-out infinite}.rematch-spinner-dot:nth-child(2){animation-delay:.2s}.rematch-spinner-dot:nth-child(3){animation-delay:.4s}@keyframes rematchPulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.countdown-bar-fill{transition:none}.rematch-spinner-dot{animation:none;opacity:.5}}@media(max-width:600px){.game-result-dialog{padding:18px;gap:12px}.result-title{font-size:1.75rem}.result-message{font-size:1rem}.game-result-dialog .btn{min-width:130px}}@media(max-width:380px){.game-result-dialog{padding:14px 12px;gap:10px;border-radius:14px;width:95%}.result-title{font-size:1.5rem}.result-message{font-size:.9rem}.score-row,.team-column{padding:8px 10px}.team-column h3{margin-bottom:6px;font-size:.7rem}.player-teams{grid-template-columns:1fr 1fr}.game-result-dialog .player-name{font-size:.8rem}.game-result-dialog .btn{min-width:0;width:100%;height:44px;padding:0 14px;font-size:.9rem}.dialog-buttons{flex-direction:column;gap:8px}}@media(max-height:600px){.game-result-dialog{padding:12px 16px;gap:8px;max-height:92dvh;border-radius:14px}.result-title{font-size:1.4rem}.result-message{font-size:.85rem}.score-row{padding:6px 10px}.team-score{font-size:1.1rem}.team-column{padding:6px 10px}.team-column h3{margin-bottom:4px;font-size:.65rem}.game-result-dialog .player-name{font-size:.8rem}.game-result-dialog .btn{padding:0 16px;height:44px;font-size:.9rem;min-width:120px}}.shuffle-lock{position:relative;display:flex;flex-direction:column;pointer-events:auto;align-self:stretch}.shuffle-lock-trigger{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:none;border-radius:6px;font-size:15px;font-weight:600;cursor:pointer;white-space:nowrap;min-height:44px;min-width:44px;transition:opacity .15s;background:#00000073;color:#ffffffbf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.shuffle-lock-trigger:hover{opacity:.85}.shuffle-lock.verified .shuffle-lock-trigger{background:#22c55e33;color:#86efac}.shuffle-lock.unverified .shuffle-lock-trigger{background:#ef444433;color:#fca5a5}.shuffle-lock-label{font-size:11px}.shuffle-lock-panel{position:absolute;bottom:calc(100% + 6px);top:auto;left:0;right:0;z-index:200;background:#1e1e2e;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:12px;box-shadow:0 -4px 32px #0009;outline:none}.shuffle-lock-down .shuffle-lock-panel{bottom:auto;top:calc(100% + 6px);left:auto;right:0;min-width:280px;box-shadow:0 4px 32px #0009}.shuffle-lock-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}.shuffle-lock-field{font-size:15px;color:#ffffffd9;min-width:76px}.shuffle-lock-value{flex:1;font-size:11px;font-family:monospace;color:#ffffffd9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shuffle-lock-copy{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;color:#ffffff80;min-height:44px;min-width:44px;transition:color .15s}.shuffle-lock-copy:hover{color:#ffffffe6}.shuffle-lock-desc{font-size:15px;color:#ffffffd9;margin:8px 0 10px;line-height:1.5}.shuffle-lock-copy-all{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;padding:6px 8px;margin-bottom:6px;background:#ffffff12;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#ffffffd9;font-size:15px;cursor:pointer;min-height:44px;transition:background .15s,color .15s}.shuffle-lock-copy-all:hover{background:#ffffff1f;color:#ffffffe6}.shuffle-lock-close{display:block;width:100%;padding:6px;background:#ffffff14;border:none;border-radius:6px;color:#ffffffd9;font-size:15px;cursor:pointer;min-height:44px;transition:background .15s}.shuffle-lock-close:hover{background:#ffffff24}.hand-interstitial-overlay{position:fixed;inset:60px 0 0;display:flex;align-items:center;justify-content:center;z-index:250;background:#000000b3;pointer-events:auto;overflow-y:auto;padding:env(safe-area-inset-top,16px) 16px env(safe-area-inset-bottom,16px);box-sizing:border-box;animation:handInterstitialOverlayIn .35s ease-out}@media(min-width:768px)and (min-height:500px){.hand-interstitial-overlay{top:100px}}@media(max-height:499px){.hand-interstitial-overlay{top:0}body:has(.hand-interstitial-overlay) .ad-mobile-banner{visibility:hidden}}.hand-interstitial-overlay.exiting{animation:handInterstitialOverlayOut .5s ease-in forwards}@keyframes handInterstitialOverlayIn{0%{background:#0000}to{background:#000000b3}}@keyframes handInterstitialOverlayOut{0%{background:#000000b3}to{background:#0000}}.hand-interstitial{position:relative;pointer-events:auto;background:#162340;border:1px solid rgba(201,168,76,.2);border-radius:20px;padding:20px;width:min(340px,100%);box-sizing:border-box;overflow:visible;z-index:1500}.hand-interstitial-close{position:absolute;top:8px;right:8px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:50%;color:#ffffffe6;cursor:pointer;transition:opacity .25s ease,background .15s ease;z-index:10}.hand-interstitial-close:disabled{opacity:.3;cursor:not-allowed}.hand-interstitial-close:not(:disabled):hover{background:#ffffff2e}.hand-interstitial-close:not(:disabled):active{transform:scale(.94)}.hand-interstitial.no-ad{width:min(320px,100%);overflow:visible;box-shadow:0 24px 60px #000000a6,0 0 0 1px #ffffff0d inset;display:flex;flex-direction:column;gap:16px;animation:handInterstitialIn .35s cubic-bezier(.25,.46,.45,.94)}@keyframes handInterstitialIn{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes handInterstitialOut{0%{transform:translateY(0);opacity:1}to{transform:translateY(-16px);opacity:0}}.hand-interstitial.exiting{animation:handInterstitialOut .5s cubic-bezier(.4,0,1,1) forwards}.hand-interstitial-result{display:flex;flex-direction:column;align-items:center;gap:6px}.hand-interstitial-outcome{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#ffffffa6}.hand-interstitial-winner-row{display:flex;flex-direction:row;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:8px}.hand-interstitial-title{font-size:1.25rem;font-weight:700;text-align:center;margin:0;color:#fff}.hand-interstitial-title.won{color:#4ade80}.hand-interstitial-title.lost{color:#ffffffd9}.hand-interstitial-points{font-size:1.25rem;font-weight:700;color:#ffffffd9}.hand-interstitial-ad{box-sizing:content-box;width:300px;height:250px;align-self:center;background:#0000004d;outline:1px dashed transparent;border-radius:8px;flex-shrink:0;position:relative;z-index:300}.hand-interstitial-footer{display:flex;flex-direction:column;gap:10px}.hand-interstitial-countdown{display:flex;flex-direction:column;gap:5px}.hand-interstitial .countdown-bar-track{height:3px;background:#ffffff1a;border-radius:2px;overflow:hidden}.hand-interstitial .countdown-bar-fill{height:100%;background:#ffffff59;border-radius:2px;transition:width .5s linear}.hand-interstitial-countdown-label{font-size:.85rem;color:#ffffffd9;text-align:center}@media(max-height:420px){.hand-interstitial{padding:10px 14px;gap:8px}.hand-interstitial-title,.hand-interstitial-points{font-size:1rem}.hand-interstitial-outcome{font-size:.75rem}.hand-interstitial-footer{gap:6px}}@media(prefers-reduced-motion:reduce){.hand-interstitial,.hand-interstitial.exiting,.hand-interstitial-overlay,.hand-interstitial-overlay.exiting{animation:none}.hand-interstitial .countdown-bar-fill{transition:none}}.learning-notice-overlay{position:fixed;inset:0;background:#0000008c;z-index:10500;display:flex;align-items:center;justify-content:center;padding:16px}.learning-notice-dialog{background:#1e293b;border:1px solid rgba(201,168,76,.5);border-radius:14px;padding:24px 24px 20px;max-width:360px;width:100%;box-shadow:0 20px 60px #0000008c;outline:none}.learning-notice-title{color:#c9a84c;font-size:20px;font-weight:600;margin:0 0 12px;text-align:center}.learning-notice-body{color:#e2e8f0;font-size:15px;line-height:1.5;margin:0 0 18px;text-align:center}.learning-notice-actions{display:flex;justify-content:center}.learning-notice-action{background:#c9a84c;color:#0d1b2e;border:none;border-radius:8px;padding:10px 28px;font-size:15px;font-weight:600;cursor:pointer;min-height:44px;min-width:44px;transition:background .15s}.learning-notice-action:hover{background:#b0913e}.game-page-wrapper{display:grid;grid-template-columns:auto minmax(0,1fr) auto;height:calc(100dvh - 74px);overflow:hidden;background:#0d1b2e;animation:gamePageWrapperIn .45s ease-out}@media(min-width:768px)and (min-height:500px){.game-page-wrapper{height:calc(100dvh - 114px)}}@keyframes gamePageWrapperIn{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.game-page-wrapper{animation:none}}.game-main-column{grid-column:2;min-width:0;width:100%;justify-self:center;display:flex;flex-direction:column;overflow:hidden;max-width:1200px}.game-container{flex:1;display:grid;grid-template-areas:"header" "spacer-top" "play" "hand" "spacer-bot";grid-template-rows:60px 1fr min-content min-content 1fr;justify-items:center;padding-top:4px}.game-container>.game-overlay-controls{grid-area:header;height:60px;overflow:visible;position:static;width:100%;display:flex;justify-content:space-between;align-items:flex-start;z-index:10}.game-container>*{grid-area:play}.ad-left-panel{display:none;grid-column:1;align-items:flex-start;justify-content:flex-end;background:transparent}@media(min-width:1360px){.ad-left-panel{display:flex}}.ad-skyscraper-sidebar{display:none;grid-column:3;align-items:flex-start;justify-content:flex-start;background:transparent}@media(min-width:1100px){.ad-skyscraper-sidebar{display:flex}}.ad-placeholder-skyscraper{width:162px;height:602px;background:#0d1b2e;border:1px dashed transparent;border-radius:4px}.ad-mobile-banner{flex-shrink:0;display:flex;justify-content:center;padding:4px 0;z-index:500;width:100%;order:-1}.ad-placeholder-mobile-banner{background:#0d1b2e;border:1px dashed transparent;border-radius:4px;width:322px;height:52px}@media(min-width:768px)and (min-height:500px){.ad-placeholder-mobile-banner{width:730px;height:92px}}body:has(.hand-interstitial-overlay) .header-shuffle-lock{display:none}.game-overlay-left{display:flex;flex-direction:row;align-items:center;gap:6px;pointer-events:auto}.scores{display:flex;gap:clamp(2px,1vmin,12px);align-items:center}.game-header-actions{display:flex;flex-direction:column;align-items:center;gap:8px}.game-header-actions .btn{padding:clamp(5px,1vmin,8px) clamp(10px,2vmin,14px);font-size:clamp(11px,2vw,12px);width:fit-content;flex-shrink:0}.game-rules-btn{width:44px;height:44px;border-radius:50%;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#ffffffb3;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.game-rules-btn:hover{background:#fff3;color:#fff}.game-loading,.game-error{text-align:center;padding:40px;color:#fff;font-size:18px;min-height:100dvh;display:flex;align-items:center;justify-content:center}.game-board{display:contents}.play-area{grid-area:play;position:relative;display:flex;align-items:center;justify-content:center;min-height:0;min-width:0;aspect-ratio:1 / 1;width:min(100%,calc(100dvh - 200px));max-width:100%;max-height:100%;justify-self:center;align-self:center}@media(min-width:768px)and (min-height:500px){.play-area{width:min(100%,calc(100dvh - 240px))}}@media(min-width:600px){.play-area{grid-row:header-start / play-end;grid-column:1;width:min(100%,calc(100dvh - 180px))}}@media(orientation:landscape){.play-area{grid-row:header-start / play-end;grid-column:1;aspect-ratio:2 / 1;width:min(100%,calc((100dvh - 140px)*2))}}.player-seat{position:absolute;display:flex;z-index:5;pointer-events:auto}.player-seat:has(.passed-badge){z-index:11}.table-center{width:100%;height:100%;max-width:500px;max-height:500px;margin:3vmin;display:flex;align-items:center;justify-content:center;gap:12px;pointer-events:none;z-index:10;position:relative}.animation-paths-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:8}.trick-display{position:relative;aspect-ratio:1;width:100%;max-width:400px;max-height:400px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:50%;border:1px dashed rgba(255,255,255,.12)}.table-center:before{content:"";position:absolute;font-size:24px;color:#4caf5099;font-weight:700;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:15}.table-center:after{content:"";display:none}.trick-display:before{content:"";display:none}.trick-display:after{content:"";display:none}.gameboard-logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:-1;width:300px;height:300px;opacity:.1;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}@media(max-width:430px){.score{height:28px;box-sizing:border-box;font-size:16px;padding:0 10px;min-width:36px;display:flex;align-items:center;justify-content:center}}@media(max-width:430px)and (max-aspect-ratio:1/1){.hand-anchor{min-height:110px}}@media(max-width:500px)and (max-aspect-ratio:1/1){.trick-display,.table-center{max-width:min(220px,46vw);max-height:min(220px,46vw)}.gameboard-logo{width:min(175px,44vw);height:min(175px,44vw)}}@media(max-height:480px)and (min-aspect-ratio:4/3){.trick-display,.table-center{max-width:42vmin;max-height:42vmin}.gameboard-logo{width:34vmin;height:34vmin}}.trick-card{position:absolute;width:clamp(55px,13vmin,110px);height:clamp(83px,20vmin,165px);display:flex;align-items:center;justify-content:center;transition:none}.trick-card[data-trump-scoop]{width:clamp(60.5px,14.3vmin,121px);height:clamp(91.3px,22vmin,181.5px)}@media(max-width:500px)and (max-aspect-ratio:1/1){.trick-card{width:clamp(70px,17vw,110px);height:clamp(105px,26vw,165px)}.trick-card[data-trump-scoop]{width:clamp(77px,18.7vw,121px);height:clamp(115.5px,28.6vw,181.5px)}}.trick-card.center-card{position:absolute;left:50%;top:50%}.trick-card img{width:100%;height:100%;border-radius:4px;box-shadow:0 4px 8px #0000004d}.target-indicator{position:absolute;font-size:48px;font-weight:700;color:#fff6;display:flex;align-items:center;justify-content:center;width:clamp(70px,18vmin,140px);height:clamp(105px,27vmin,210px);pointer-events:none;-webkit-user-select:none;user-select:none;text-shadow:0 2px 4px rgba(0,0,0,.5)}.trick-display{background:transparent}.up-card{position:absolute;right:-15px;width:40px}.up-card img{width:100%;height:auto;border-radius:4px;box-shadow:0 2px 6px #0000004d}.score{color:#fff;font-size:clamp(20px,4vmin,30px);font-weight:800;margin:0;min-width:clamp(44px,9vmin,60px);text-align:center;padding:clamp(6px,1.2vmin,10px) clamp(12px,2.5vmin,18px);border-radius:8px;letter-spacing:1px}.score-team-1{background:#c9a84c;color:#0d1b2e;box-shadow:0 0 14px #c9a84c8c,0 2px 10px #0006}.score-team-2{background:#8c3028;color:#f2ecd8;box-shadow:0 0 14px #8c30288c,0 2px 10px #0006}.score-team-1.score-pulse{animation:score-pulse-team-1 .7s ease-out}.score-team-2.score-pulse{animation:score-pulse-team-2 .7s ease-out}@keyframes score-pulse-team-1{0%,to{transform:scale(1);box-shadow:0 0 14px #c9a84c8c,0 2px 10px #0006}50%{transform:scale(1.15);box-shadow:0 0 28px #c9a84cf2,0 0 12px #c9a84c99}}@keyframes score-pulse-team-2{0%,to{transform:scale(1);box-shadow:0 0 14px #8c30288c,0 2px 10px #0006}50%{transform:scale(1.15);box-shadow:0 0 28px #8c3028f2,0 0 12px #8c302899}}.score-team-3{background:#525263;color:#fff;box-shadow:0 2px 10px #0006}.score-team-3.score-pulse{animation:score-pulse-team-3 .7s ease-out}@keyframes score-pulse-team-3{0%,to{transform:scale(1);box-shadow:0 2px 10px #0006}50%{transform:scale(1.15);box-shadow:0 0 16px #ffffff4d,0 2px 10px #0006}}.hand-section{grid-area:hand;display:flex;flex-direction:column;align-items:center;gap:clamp(6px,1vmin,8px);pointer-events:none;padding-top:4px;width:100%;padding-left:clamp(8px,2vmin,16px);padding-right:clamp(8px,2vmin,16px);box-sizing:border-box;border-top:1px dashed rgba(255,255,255,.12)}.hand-section.hand-animate-out{animation:hand-slide-out .6s ease-in forwards}@keyframes hand-slide-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(80px) scale(.8)}}.hand{position:relative;width:100%;max-width:clamp(300px,90vw,600px);display:flex;flex-direction:column;gap:clamp(6px,1vmin,8px);align-items:center;pointer-events:auto}.hand h3{display:none}.hand-anchor{position:relative;width:100%;max-width:min(90vw,600px);min-height:clamp(62px,12vmin,150px);pointer-events:none;order:1}.actions{display:flex;gap:clamp(6px,1.2vmin,8px);align-items:center;flex-shrink:0;white-space:nowrap;pointer-events:auto;z-index:60}.btn{padding:clamp(6px,1.2vmin,8px) clamp(10px,2vmin,14px);border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s;font-size:clamp(11px,2.5vw,13px);flex-shrink:0;min-height:44px}.game-leave-btn{width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center}.btn-primary{background:#c9a84c;color:#0d1b2e}.btn-primary:hover:not(:disabled){background:#b8963e;transform:translateY(-1px);box-shadow:0 2px 8px #c9a84c66}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#ffffff1a;color:#fffc;border:1px solid rgba(255,255,255,.2)}.btn-secondary:hover:not(:disabled){background:#ffffff2e;border-color:#c9a84c99;color:#fff}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.bot-thinking{background:#c9a84c33;color:#c9a84c;border:1px solid rgba(201,168,76,.3);padding:6px 12px;border-radius:4px;font-size:13px;font-weight:600;animation:pulse-highlight .6s ease-in-out infinite}@keyframes pulse-highlight{0%,to{opacity:1}50%{opacity:.7}}.player-seat.winning-hand .player{animation:winner-highlight 1s ease-out}.player.trick-winner-rm{box-shadow:0 0 0 3px #4ade80,0 0 20px #4ade8066!important;border-color:#4ade80!important}@keyframes winner-highlight{0%,to{transform:scale(1);box-shadow:0 0 #4caf5000}50%{transform:scale(1.05);box-shadow:0 0 20px #4caf50cc}}.hand-complete-banner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000d9;color:#fff;padding:24px 32px;border-radius:12px;box-shadow:0 8px 24px #0006;z-index:100;animation:banner-appear .3s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center}.banner-content h2{margin:0 0 8px;font-size:24px}.banner-content p{margin:4px 0;font-size:18px;font-weight:600;color:#4caf50}.score-update{margin-top:16px;display:flex;gap:12px;justify-content:center}.score-update .score-team-1,.score-update .score-team-2{background:inherit;padding:8px 16px;border-radius:6px;font-size:18px;font-weight:700;min-width:60px;text-align:center}.score-update .score-team-1{background:#c9a84c;color:#0d1b2e}.score-update .score-team-2{background:#8c3028;color:#f2ecd8}@keyframes banner-appear{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.dealt-card{position:absolute;width:clamp(45px,8vmin,60px);height:clamp(68px,12vmin,90px);background:url(/assets/back-200-zR6qwGvs.png) center/cover;border-radius:4px;box-shadow:0 2px 6px #0000004d;pointer-events:none;z-index:15}.dealt-card-seat-0{bottom:clamp(10px,2vmin,20px);left:50%;transform:translate(-50%)}.dealt-card-seat-1{left:clamp(10px,2vmin,20px);top:50%;transform:translateY(-50%)}.dealt-card-seat-2{top:clamp(10px,2vmin,20px);left:50%;transform:translate(-50%)}.dealt-card-seat-3{right:clamp(10px,2vmin,20px);top:50%;transform:translateY(-50%)}.flip-card{transition:none}.flip-card.flipping-out>*{animation:flip-out .25s ease-in forwards}.flip-card.flip-midpoint>*{transform:scaleX(0)}.flip-card.flipping-in>*{animation:flip-in .25s ease-out both}@keyframes flip-out{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes flip-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.waiting-lobby{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#162340;border:1px solid rgba(201,168,76,.3);border-radius:16px;padding:20px 24px;max-width:480px;width:90%;text-align:center;box-shadow:0 20px 40px #00000080,0 0 0 1px #ffffff0d inset;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:waitingLobbyIn .35s ease-out}.waiting-lobby.exiting{animation:waitingLobbyOut .3s ease-in forwards;pointer-events:none}@keyframes waitingLobbyIn{0%{opacity:0;transform:translate(-50%,-46%)}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes waitingLobbyOut{0%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%,-54%)}}@media(prefers-reduced-motion:reduce){.waiting-lobby,.waiting-lobby.exiting{animation:none}}.waiting-lobby h2{margin:0 0 8px;color:#fff;font-size:20px;font-weight:700}.player-count{font-size:14px;color:#fff9;margin-bottom:8px;font-weight:600}.waiting-lobby .mini-game-info{display:flex;gap:6px;flex-wrap:wrap;align-items:center;justify-content:center;margin-bottom:12px}.waiting-lobby .info-badge{background:#ffffff40;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500;white-space:nowrap;color:#ffffffe6}.player-slots{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}.player-slots.player-slots-3p{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.player-slots-3p .slot:first-child{grid-column:1 / -1;justify-self:center;width:60%}.player-slots .slot{border:1px solid rgba(201,168,76,.3);border-radius:8px;padding:10px 12px;background:#c9a84c1a;position:relative}.player-slots .slot-name{font-size:15px;color:#ffffffe6;font-weight:600;display:flex;align-items:center;justify-content:center;gap:6px}.player-slots .ready-check{color:#4caf50;font-weight:700}.player-slots .bot-badge{font-size:11px;color:#fff;background:#c9a84c80;border:1px solid rgba(201,168,76,.6);padding:2px 6px;border-radius:4px;display:inline-block;margin-top:4px;font-weight:700}.player-slots .slot-empty{font-size:13px;color:#ffffff4d}.waiting-actions{display:flex;justify-content:center;gap:8px;margin-top:4px;flex-wrap:wrap}.waiting-lobby .btn{margin:4px 0;padding:7px 14px;font-size:13px;width:fit-content}.waiting-lobby .btn:disabled{opacity:.5;cursor:not-allowed}.waiting-message{font-size:12px;color:#fff9;margin-top:10px;font-style:italic}.afk-banner{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#1e1e32eb;border:1px solid rgba(255,180,0,.5);border-radius:10px;padding:10px 20px;color:#ffdc64f2;font-size:14px;font-weight:600;text-align:center;white-space:nowrap;z-index:1500;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 16px #0006;animation:afk-banner-in .3s ease-out}.afk-banner.afk-banner-self{text-align:center;background:#646464d9;border:none;border-radius:8px;color:#fff;font-size:clamp(12px,4vw,28px);padding:8px 20px;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;bottom:auto;top:35%;transform:translate(-50%) translateY(-50%)}@keyframes afk-banner-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.redeal-reveal-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1600;display:flex;flex-direction:column;align-items:center;gap:16px;padding:clamp(14px,3vmin,24px);background:#141423eb;border:1px solid rgba(255,215,100,.55);border-radius:16px;box-shadow:0 8px 32px #00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;animation:redeal-reveal-in .3s ease-out;max-width:calc(100vw - 16px);box-sizing:border-box}.redeal-reveal-title{color:#ffe696fa;font-size:clamp(17px,2.5vmin,22px);font-weight:700;text-align:center;letter-spacing:.3px}.redeal-reveal-message{color:#f5f5faeb;font-size:clamp(14px,1.9vmin,17px);font-weight:500;text-align:center;line-height:1.4;max-width:56ch}.redeal-reveal-countdown{color:#ffe696eb;font-size:clamp(14px,1.9vmin,17px);font-weight:600;text-align:center;display:flex;align-items:baseline;justify-content:center;gap:8px}.redeal-reveal-countdown-num{font-size:clamp(28px,4.2vmin,44px);font-weight:800;color:#ffd764;font-variant-numeric:tabular-nums;min-width:1.2em;text-align:center}.redeal-reveal-cards{display:flex;flex-direction:row;align-items:center;justify-content:center;max-width:100%}.redeal-reveal-card-img{height:clamp(80px,13vw,180px);width:auto;display:block;border-radius:4px;box-shadow:0 2px 6px #0006}.redeal-reveal-card-img+.redeal-reveal-card-img{margin-left:clamp(-32px,calc(2vw - 16px),8px)}@keyframes redeal-reveal-in{0%{opacity:0;transform:translate(-50%,calc(-50% + 12px))}to{opacity:1;transform:translate(-50%,-50%)}}.player-placeholder{width:100%;height:100%;background:transparent;border:2px dashed rgba(255,255,255,.3);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff9;font-size:14px;font-weight:500}.waiting-info{display:flex;flex-direction:column;gap:8px;align-items:center;background:#ffffff26;padding:10px 14px;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-shrink:0}.waiting-info .player-count{color:#fff;font-size:13px;font-weight:600;margin:0}.waiting-info .bot-countdown{color:#fffc;font-size:12px;font-weight:500;margin:0}.waiting-info .btn{margin:0;padding:clamp(5px,1vmin,6px) clamp(10px,1.5vmin,12px);font-size:clamp(11px,2vw,12px)}.reconnecting-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0000008c;z-index:1000;pointer-events:all}.reconnecting-card{background:#0f172af2;color:#e2e8f0;padding:24px 32px;border-radius:12px;border:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;align-items:center;gap:10px;min-width:220px}.reconnecting-title{font-size:clamp(14px,2.5vw,17px);font-weight:700;letter-spacing:.01em}.reconnecting-subtitle{font-size:clamp(11px,2vw,13px);color:#94a3b8}.reconnecting-retry-btn{margin-top:6px;padding:7px 20px;background:#2563eb;color:#fff;border:none;border-radius:7px;font-size:clamp(12px,2vw,14px);font-weight:600;cursor:pointer;min-height:44px}.reconnecting-retry-btn:hover{background:#1d4ed8}.learning-show-me-btn{position:fixed;bottom:16px;right:16px;z-index:9500;background:#c9a84c;color:#0d1b2e;border:none;border-radius:22px;padding:10px 22px;font-size:15px;font-weight:600;min-height:44px;min-width:44px;cursor:pointer;box-shadow:0 6px 20px #00000059;transition:background .15s,transform .15s}.learning-show-me-btn:hover{background:#b0913e}.learning-show-me-btn:active{transform:scale(.97)}.learning-bot-caption{position:fixed;top:56px;left:50%;transform:translate(-50%);background:#0f172aeb;color:#e2e8f0;border:1px solid rgba(201,168,76,.45);border-radius:10px;padding:8px 14px;font-size:14px;line-height:1.35;max-width:min(420px,calc(100vw - 32px));text-align:center;z-index:9400;box-shadow:0 6px 18px #00000059;pointer-events:none;animation:learning-caption-in .18s ease-out;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.learning-bot-caption-text{flex:1 1 auto;min-width:0}.learning-bot-caption-next{pointer-events:auto;background:#c9a84c;color:#0d1b2e;border:none;border-radius:22px;padding:10px 22px;font-size:15px;font-weight:600;min-height:44px;min-width:64px;cursor:pointer;box-shadow:0 4px 12px #0000004d;transition:background .15s,transform .15s}.learning-bot-caption-next:hover{background:#b0913e}.learning-bot-caption-next:active{transform:scale(.97)}.learning-bot-caption-next:focus-visible{outline:2px solid #fff;outline-offset:2px}@keyframes learning-caption-in{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}.learning-tip-caption{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#0d1b2e;color:#f1f5f9;border:1px solid rgba(201,168,76,.6);border-radius:14px;padding:24px 24px 20px;max-width:min(440px,calc(100vw - 32px));text-align:center;z-index:9700;box-shadow:0 12px 40px #0000008c;display:flex;flex-direction:column;align-items:stretch;gap:16px;animation:learning-tip-in .18s ease-out}.learning-tip-caption-text{margin:0;font-size:17px;line-height:1.45}.learning-tip-caption-ok{align-self:center;background:#c9a84c;color:#0d1b2e;border:none;border-radius:22px;padding:12px 32px;font-size:17px;font-weight:600;min-height:44px;min-width:88px;cursor:pointer;box-shadow:0 4px 12px #0000004d;transition:background .15s,transform .15s}.learning-tip-caption-ok:hover{background:#b0913e}.learning-tip-caption-ok:active{transform:scale(.97)}.learning-tip-caption-ok:focus-visible{outline:2px solid #fff;outline-offset:2px}@keyframes learning-tip-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.profile-container{min-height:100dvh;background:#0d1b2e;padding:20px}.profile-loading{text-align:center;color:#fff9;padding-top:40dvh;font-size:16px}.profile-header{max-width:800px;margin:0 auto 20px}.profile-back{display:flex;align-items:center;gap:8px;background:none;border:none;color:#ffffffb3;cursor:pointer;font-size:14px;padding:8px 0;transition:color .2s}.profile-back:hover{color:#fff}.profile-panels{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.profile-card{background:#162340;border-radius:16px;padding:28px;border:1px solid rgba(201,168,76,.2);box-shadow:0 20px 40px #0006}.profile-card h3{color:#ffffffb3;font-size:14px;text-transform:uppercase;letter-spacing:1px;margin:0 0 6px}.profile-identity-card{text-align:center}.profile-identity-hint{color:#ffffffd9;font-size:15px;margin:0 0 20px}.profile-avatar-section{display:flex;justify-content:center;margin-bottom:20px}.profile-avatar-wrapper{position:relative;display:inline-block}.profile-avatar-change-btn{position:absolute;bottom:0;right:0;width:44px;height:44px;border-radius:50%;background:#c9a84c;border:2px solid #1e293b;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.profile-avatar-change-btn:hover{background:#8a6820}.profile-current-name{color:#fff;font-size:18px;font-weight:600;margin-top:30px;margin-left:24px;text-align:center}.profile-icon-picker-wrap{position:relative;margin-bottom:20px}.profile-icon-picker-wrap:after{content:"";position:absolute;bottom:0;left:0;right:0;height:32px;background:linear-gradient(to bottom,transparent,rgba(0,0,0,.4));border-radius:0 0 12px 12px;pointer-events:none;opacity:1;transition:opacity .2s}.profile-icon-picker-wrap.scrolled-bottom:after{opacity:0}.profile-icon-picker{background:#0003;border-radius:12px;padding:12px;max-height:240px;overflow-y:auto;text-align:left}.icon-picker-category{margin-bottom:12px}.icon-picker-category:last-child{margin-bottom:0}.icon-picker-category-label{display:block;color:#ffffffd9;font-size:15px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.icon-picker-grid{display:flex;flex-wrap:wrap;gap:6px}.icon-picker-item{width:44px;height:44px;border-radius:10px;background:#ffffff14;border:2px solid transparent;color:#ffffffb3;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.icon-picker-item:hover{background:#ffffff26;color:#fff}.icon-picker-item--selected{border-color:#c9a84c;background:#c9a84c33;color:#fff}.icon-picker-social-img{width:24px;height:24px;border-radius:50%;object-fit:cover}.color-picker-section{margin-top:12px;text-align:left}.color-picker-item{width:44px;height:44px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .15s}.color-picker-item:hover{transform:scale(1.15);border-color:#fff6}.color-picker-item--selected{border-color:#fff;box-shadow:0 0 0 2px #c9a84c99}.profile-name-section{text-align:left}.profile-field-label{display:block;color:#ffffffd9;font-size:15px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.profile-name-display{display:flex;align-items:center;gap:10px}.profile-name-display h2{margin:0;color:#fff;font-size:22px;font-weight:700}.profile-edit-btn{background:#ffffff1a;border:none;border-radius:6px;color:#fff9;cursor:pointer;padding:6px;transition:all .2s;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.profile-edit-btn:hover{background:#fff3;color:#fff}.profile-name-edit{display:flex;align-items:center;gap:8px}.profile-name-edit input{flex:1;padding:8px 12px;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);border-radius:8px;color:#fff;font-size:16px}.profile-name-edit input:focus-visible{border-color:#c9a84c}.profile-name-btn{background:#ffffff1a;border:none;border-radius:6px;color:#ffffffb3;cursor:pointer;padding:8px;transition:all .2s;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.profile-name-btn:hover{background:#fff3;color:#fff}.profile-name-error{color:#ff6b6b;font-size:13px;margin-top:6px}.profile-stats h3,.profile-recent-games h3{color:#ffffffb3;font-size:14px;text-transform:uppercase;letter-spacing:1px;margin:0 0 16px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat-item{background:#0003;border-radius:10px;padding:14px 8px;text-align:center}.stat-value{display:block;color:#fff;font-size:22px;font-weight:700;margin-bottom:4px}.stat-label{display:block;color:#ffffffd9;font-size:15px;text-transform:uppercase;letter-spacing:.5px}.profile-recent-games{margin-top:32px}.recent-games-list{display:flex;flex-direction:column;gap:8px}.recent-game-item{display:flex;align-items:center;gap:16px;background:#0003;border-radius:10px;padding:12px 16px}.recent-game-score{color:#fff;font-size:18px;font-weight:700;min-width:60px;text-align:center}.recent-game-details{flex:1;min-width:0}.recent-game-winner{display:block;color:#fffc;font-size:14px;font-weight:600}.recent-game-players{display:block;color:#ffffffd9;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-game-date{color:#ffffffd9;font-size:15px;white-space:nowrap}.profile-danger-card{border-color:#ff3b304d}.profile-danger-text{color:#ffffff80;font-size:14px;margin:0 0 16px}.profile-danger-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:#ff3b3026;border:1px solid rgba(255,59,48,.4);border-radius:10px;color:#ff6b6b;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.profile-danger-btn:hover{background:#ff3b3040;border-color:#ff3b3099}.profile-delete-confirm{background:#ff3b3014;border:1px solid rgba(255,59,48,.3);border-radius:12px;padding:20px;outline:none}.profile-delete-confirm-title{color:#ff6b6b;font-size:16px;font-weight:600;margin:0 0 4px}.profile-delete-confirm-hint{color:#ffffff80;font-size:14px;margin:0 0 12px}.profile-delete-confirm-hint strong{color:#fffc}.profile-delete-input{width:100%;padding:10px 12px;background:#0000004d;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:16px;box-sizing:border-box}.profile-delete-input:focus-visible{border-color:#ff3b3099;outline:none}.profile-delete-input::placeholder{color:#ffffff40}.profile-delete-error{color:#ff6b6b;font-size:13px;margin-top:8px}.profile-delete-actions{display:flex;gap:12px;margin-top:16px;justify-content:flex-end}.profile-delete-cancel{padding:10px 20px;background:#ffffff1a;border:none;border-radius:8px;color:#ffffffb3;font-size:14px;cursor:pointer;transition:all .2s}.profile-delete-cancel:hover{background:#fff3;color:#fff}.profile-delete-confirm-btn{padding:10px 20px;background:#dc2626;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.profile-delete-confirm-btn:hover:not(:disabled){background:#b91c1c}.profile-delete-confirm-btn:disabled{opacity:.4;cursor:not-allowed}@media(max-width:500px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.friends-container{min-height:100dvh;background:#0d1b2e;padding:20px}.friends-loading{text-align:center;color:#fff9;padding-top:40dvh;font-size:16px}.friends-header{max-width:600px;margin:0 auto 20px}.friends-back{display:flex;align-items:center;gap:8px;background:none;border:none;color:#ffffffd9;cursor:pointer;font-size:15px;padding:8px 0;min-height:44px;transition:color .2s}.friends-back:hover{color:#fff}.friends-card{max-width:600px;margin:0 auto;background:#162340;border-radius:16px;padding:24px;border:1px solid rgba(201,168,76,.2);box-shadow:0 20px 40px #0006}.friends-card h2{color:#fff;font-size:22px;margin:0 0 20px}.friends-card h3{color:#ffffffb3;font-size:14px;text-transform:uppercase;letter-spacing:1px;margin:0 0 12px}.friends-invite-section{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1)}.friends-invite-actions{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.friends-invite-result{display:flex;flex-direction:column;gap:10px}.friends-invite-url{background:#0000004d;border-radius:8px;padding:10px 14px;overflow:hidden}.invite-code-value{color:#c9a84c;font-size:13px;font-weight:700;font-family:monospace;word-break:break-all}.friends-share-buttons{display:flex;gap:8px;flex-wrap:wrap}.friends-share-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .2s,transform .1s;flex:1;min-width:0;justify-content:center}.friends-share-btn:hover{opacity:.85}.friends-share-btn:active{transform:scale(.97)}.friends-share-btn.copy{background:#ffffff1f;color:#ffffffe6}.friends-share-btn.email{background:#c9a84c40;color:#c9a84c}.friends-share-btn.sms{background:#4ade8033;color:#4ade80}.friends-share-btn.share{background:#a855f740;color:#c084fc}.friends-redeem{display:flex;gap:8px}.friends-redeem input{flex:1;min-width:0;padding:10px 14px;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);border-radius:8px;color:#fff;font-size:15px;letter-spacing:2px;font-family:monospace;text-transform:uppercase}.friends-redeem input:focus-visible{border-color:#c9a84c}.friends-redeem input::placeholder{color:#ffffff4d;letter-spacing:normal;font-family:inherit;text-transform:none}.friends-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#c9a84c;color:#0d1b2e;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}.friends-btn:hover:not(:disabled){background:#8a6820}.friends-btn:disabled{opacity:.5;cursor:not-allowed}.friends-message{color:#4ade80;font-size:14px;margin-top:10px}.friends-error{color:#ff6b6b;font-size:14px;margin-top:10px}.friends-section{margin-top:24px}.friends-empty{color:#ffffffd9;font-size:15px;margin:0}.friends-list{display:flex;flex-direction:column;gap:6px}.friend-item{display:flex;align-items:center;justify-content:space-between;background:#0003;border-radius:10px;padding:10px 14px}.friend-info{display:flex;align-items:center;gap:12px;min-width:0}.friend-avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0}.friend-avatar-placeholder{background:#c9a84c;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff}.friend-name{color:#fff;font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-actions{display:flex;gap:6px;flex-shrink:0}.friends-btn-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.friends-btn-icon.accept{background:#4ade8026;color:#4ade80}.friends-btn-icon.accept:hover{background:#4ade804d}.friends-btn-icon.decline{background:#ff6b6b26;color:#ff6b6b}.friends-btn-icon.decline:hover{background:#ff6b6b4d}.friends-btn-icon.remove{background:#ffffff0d;color:#ffffffb3}.friends-btn-icon.remove:hover{background:#ff6b6b26;color:#ff6b6b}@media(max-width:480px){.friends-container{padding:12px}.friends-card{padding:16px;border-radius:12px}.friends-card h2{font-size:20px;margin-bottom:16px}.friends-btn{width:100%;justify-content:center}.friends-share-buttons{gap:6px}.friends-share-btn{flex:0 0 auto;padding:10px 14px;font-size:12px}.friends-redeem{flex-direction:column}.friends-redeem .friends-btn{width:100%;justify-content:center}.invite-code-value{font-size:11px}}#root{display:flex;flex-direction:column;background:#0d1b2e}
