.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}:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:var(--text);background-color:var(--bg);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-size-base: clamp(.75rem, 1.6vw, 1rem);--font-size-sm: clamp(.65rem, 1.2vw, .85rem);--font-size-lg: clamp(1rem, 3.2vw, 1.5rem);--font-size-xl: clamp(1.4rem, 3.8vw, 2rem);--spacing-xs: clamp(.25rem, 1vw, .35rem);--spacing-sm: clamp(.35rem, 1.2vw, .5rem);--spacing-md: clamp(.5rem, 1.6vw, .75rem);--spacing-lg: clamp(.7rem, 2vw, 1rem);--radius-sm: clamp(.35rem, 1vw, .5rem);--radius-md: clamp(.6rem, 1.6vw, .9rem);--radius-lg: clamp(.9rem, 2.2vw, 1.2rem);--card-width: clamp(5.175rem, 10.35vw, 6.46875rem);--played-card-width: clamp(3.75rem, 8.4vw, 5.25rem);--kitty-card-width: clamp(5.0625rem, 9.72vw, 6.075rem);--scoreboard-width: clamp(6rem, 14vw, 8rem);--scoreboard-row-height: clamp(2.4rem, 6vw, 3.5rem)}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background-color:var(--bg)}#root{min-height:100vh}@supports (height: 100dvh){body,#root{min-height:100dvh}}:root{--radius: 10px;--shadow: 0 8px 24px rgba(0, 0, 0, .18);--bg: #0f1115;--surface: #151923;--surface-2: #1b2230;--text: #e8ecf1;--text-muted: #aab4c0;--border: #2a3446;--primary: #5b8cff;--primary-contrast: #0b0e14;--accent: #f3c969;--focus: #7aa2ff;--primary-rgb: 91, 140, 255;--card-face: #f7f7f7;--card-face-text: #0f1115;--card-border: #cfd6df;--success: #35c27c;--success-rgb: 53, 194, 124;--warning: #f3c969;--danger: #ff5b6b;--danger-rgb: 255, 91, 107;--overlay: rgba(2, 6, 23, .68);--surface-alpha: rgba(15, 23, 42, .65);--border-alpha: rgba(148, 163, 184, .3);--primary-glow: rgba(91, 140, 255, .22);--muted-rgb: 148, 163, 184;--text-rgb: 226, 232, 240;--surface-rgb: 15, 23, 42;--accent-rgb: 243, 201, 105;--warning-rgb: 243, 201, 105}html[data-theme=dark]{--bg: #0f1115;--surface: #151923;--surface-2: #1b2230;--text: #e8ecf1;--text-muted: #aab4c0;--border: #2a3446;--primary: #5b8cff;--primary-contrast: #0b0e14;--primary-rgb: 91, 140, 255;--accent: #f3c969;--focus: #7aa2ff;--card-face: #f7f7f7;--card-face-text: #0f1115;--card-border: #cfd6df;--success: #35c27c;--success-rgb: 53, 194, 124;--warning: #f3c969;--danger: #ff5b6b;--danger-rgb: 255, 91, 107;--overlay: rgba(2, 6, 23, .68);--surface-alpha: rgba(15, 23, 42, .65);--border-alpha: rgba(148, 163, 184, .3);--primary-glow: rgba(91, 140, 255, .22);--muted-rgb: 148, 163, 184;--text-rgb: 232, 236, 241;--surface-rgb: 15, 23, 42;--accent-rgb: 243, 201, 105;--warning-rgb: 243, 201, 105}html[data-theme=light]{--bg: #ffffff;--surface: #f6f7f9;--surface-2: #eef1f5;--text: #121826;--text-muted: #4b5565;--border: #d7dde6;--primary: #2f6bff;--primary-contrast: #ffffff;--primary-rgb: 47, 107, 255;--accent: #b7791f;--focus: #2f6bff;--card-face: #ffffff;--card-face-text: #121826;--card-border: #d7dde6;--success: #118a52;--success-rgb: 17, 138, 82;--warning: #b7791f;--danger: #d13b4a;--danger-rgb: 209, 59, 74;--overlay: rgba(0, 0, 0, .4);--surface-alpha: rgba(255, 255, 255, .75);--border-alpha: rgba(0, 0, 0, .12);--primary-glow: rgba(47, 107, 255, .2);--muted-rgb: 75, 85, 101;--text-rgb: 18, 24, 38;--surface-rgb: 246, 247, 249;--accent-rgb: 183, 121, 31;--warning-rgb: 183, 121, 31}html[data-theme=cardroom]{--bg: #081b13;--surface: #0c241a;--surface-2: #103023;--text: #e9f3ee;--text-muted: #b6c9c1;--border: #1b4a37;--primary: #d7b35a;--primary-contrast: #081b13;--primary-rgb: 215, 179, 90;--accent: #7bd7a6;--focus: #d7b35a;--card-face: #f3efe6;--card-face-text: #081b13;--card-border: #d2c6ad;--success: #7bd7a6;--success-rgb: 123, 215, 166;--warning: #d7b35a;--danger: #ff6b7b;--danger-rgb: 255, 107, 123;--overlay: rgba(0, 10, 5, .68);--surface-alpha: rgba(8, 27, 19, .65);--border-alpha: rgba(27, 74, 55, .4);--primary-glow: rgba(215, 179, 90, .22);--muted-rgb: 182, 201, 193;--text-rgb: 233, 243, 238;--surface-rgb: 12, 36, 26;--accent-rgb: 123, 215, 166;--warning-rgb: 215, 179, 90}.confirm-modal-backdrop{position:fixed;inset:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.confirm-modal{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);max-width:400px;width:90%;animation:slideUp .2s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.confirm-modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border)}.confirm-modal__title{font-size:1.2rem;font-weight:700;margin:0;color:var(--text)}.confirm-modal__close{background:transparent;border:1px solid transparent;font-size:2rem;line-height:1;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;color:var(--text-muted);transition:background-color .2s,color .2s,border-color .2s}.confirm-modal__close:hover{background:var(--surface-2);color:var(--text);border-color:var(--border)}.confirm-modal__close:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.confirm-modal__body{padding:20px 24px}.confirm-modal__message{margin:0;color:var(--text-muted);font-size:.95rem;line-height:1.55;white-space:pre-line}.confirm-modal__input{margin-top:16px;display:flex;flex-direction:column;gap:8px}.confirm-modal__input-label{font-size:.85rem;font-weight:600;color:var(--text)}.confirm-modal__input input{width:100%;border-radius:10px;border:1px solid var(--border);padding:10px 12px;background:var(--surface);color:var(--text);font-size:.95rem}.confirm-modal__input input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.confirm-modal__input-help{font-size:.8rem;color:var(--text-muted)}.confirm-modal__actions{display:flex;gap:12px;padding:16px 24px 20px;justify-content:flex-end}.confirm-modal__button{padding:10px 20px;border-radius:10px;font-size:.9rem;font-weight:700;cursor:pointer;transition:transform .2s,background-color .2s,color .2s,border-color .2s,box-shadow .2s;border:1px solid transparent;min-width:80px}.confirm-modal__button:disabled{opacity:.5;cursor:not-allowed}.confirm-modal__button--cancel{background:transparent;color:var(--text);border-color:var(--border)}.confirm-modal__button--cancel:hover{background:var(--surface-2)}.confirm-modal__button--cancel:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.confirm-modal__button--primary{background:var(--primary);color:var(--primary-contrast);box-shadow:0 10px 24px var(--primary-glow)}.confirm-modal__button--primary:hover{transform:translateY(-1px);filter:brightness(1.05)}.confirm-modal__button--primary:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.confirm-modal__button--danger{background:var(--danger);color:var(--primary-contrast)}.confirm-modal__button--danger:hover{filter:brightness(.95)}.confirm-modal__button--danger:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.play-card{position:relative;width:var(--card-width);aspect-ratio:222.78 / 323.56;min-width:4.5rem;border-radius:.3125rem;border:.0625rem solid #0f172a;background:radial-gradient(circle at 30% 20%,#fff,#f5f5f5);box-shadow:0 .25rem .75rem #0003;display:grid;align-items:center;justify-items:center;font-size:clamp(.68rem,1.4vw,1rem);transition:transform .12s ease,box-shadow .12s ease,filter .12s ease;overflow:hidden}.play-card--red{color:#c1121f}.play-card--black{color:#0f172a}.play-card--joker{color:#facc15;background:radial-gradient(circle at 30% 20%,#0f172a,#111827 40%,#0b1224);border-color:#facc1555}.play-card:not(.play-card--dimmed):not(.play-card--disabled):hover{transform:translateY(-.25rem);box-shadow:0 .625rem 1.5rem #00000038}.play-card.play-card--no-hover{cursor:default}.play-card.play-card--no-hover:hover{transform:none;box-shadow:0 .25rem .75rem #0003}.play-card.play-card--no-hover.play-card--disabled,.play-card.play-card--no-hover.play-card--dimmed{cursor:default}.played-card .play-card:not(.play-card--dimmed):not(.play-card--disabled):hover,.kitty-card .play-card:not(.play-card--dimmed):not(.play-card--disabled):hover{transform:none;box-shadow:0 .25rem .75rem #0003;cursor:default}.play-card--dimmed{transform:translateY(calc(var(--card-width) * .363));cursor:not-allowed}.play-card--disabled{cursor:not-allowed}.play-card--dimmed:after{content:"";position:absolute;inset:0;background:#6b728057;border-radius:inherit;pointer-events:none}.play-card__corner{position:absolute;display:grid;gap:.125rem;font-weight:700;font-size:clamp(.8rem,2vw,1rem);text-align:center;line-height:1.1}.play-card__corner span:last-child{font-size:clamp(.78rem,1.8vw,.9rem)}.play-card__corner--top{top:.5rem;left:.5rem;align-items:start}.play-card__corner--bottom{bottom:.5rem;right:.5rem;align-items:end;transform:rotate(180deg)}.play-card__symbol{font-size:clamp(1.8rem,4.8vw,2.25rem);opacity:.8}.play-card__joker{display:grid;place-items:center;gap:.625rem;letter-spacing:.08em;font-weight:700;text-transform:uppercase}.play-card__joker-label{font-size:clamp(.82rem,1.9vw,.9rem);color:#e2e8f0}.play-card--back{background:linear-gradient(135deg,#1d4ed8,#7c3aed);border-color:#fff6}.play-card__pattern{width:100%;height:100%;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.12) 0,rgba(255,255,255,.12) .375rem,transparent .375rem,transparent .75rem),repeating-linear-gradient(-45deg,rgba(255,255,255,.12) 0,rgba(255,255,255,.12) .375rem,transparent .375rem,transparent .75rem);background-size:1.25rem 1.25rem;opacity:.9}.play-card--asset{padding:0;background:none;position:relative;border:none}.play-card__asset-image{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}.play-card.gold-glow{animation:goldPulse 1.5s ease-in-out infinite;box-shadow:0 0 20px 8px #ffd700cc,0 0 40px 15px #ffd70066}@keyframes goldPulse{0%,to{box-shadow:0 0 20px 8px #ffd700cc,0 0 40px 15px #ffd70066}50%{box-shadow:0 0 30px 12px gold,0 0 60px 20px #ffd70099}}.settings-dialog-backdrop{position:fixed;inset:0;background:var(--overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;z-index:9999;padding:1rem}.settings-dialog{width:min(26rem,100%);background:linear-gradient(160deg,var(--bg),var(--bg) 55%,var(--bg));color:var(--text);border:1px solid var(--border-alpha);border-radius:1rem;box-shadow:0 24px 44px #00000073,0 0 0 1px var(--primary-glow);padding:1rem}.settings-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.settings-dialog__eyebrow{font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted);font-weight:700}.settings-dialog__title{margin:.15rem 0 0;font-size:1.1rem}.settings-dialog__close{border:1px solid var(--border-alpha);background:var(--surface-alpha);color:var(--text);border-radius:.6rem;width:2rem;height:2rem;cursor:pointer}.settings-dialog__body{display:grid;gap:.9rem}.settings-dialog__field{display:grid;gap:.45rem}.settings-dialog__field--toggle{grid-template-columns:1fr auto;align-items:center}.settings-dialog__label{font-size:.85rem;font-weight:700;color:var(--text-muted)}.settings-dialog__toggle{border:1px solid rgba(var(--primary-rgb),.5);background:rgba(var(--primary-rgb),.45);color:var(--text);border-radius:999px;padding:.28rem .62rem;font-size:.78rem;font-weight:700;cursor:pointer}.settings-dialog__toggle--off{border-color:rgba(var(--danger-rgb),.45);background:rgba(var(--danger-rgb),.45);color:var(--danger)}.settings-dialog input[type=range]{width:100%;accent-color:var(--primary)}.settings-dialog select{width:100%;border-radius:.65rem;border:1px solid var(--border-alpha);background:var(--surface-alpha);color:var(--text);padding:.45rem .55rem;font-size:.85rem}.settings-dialog__card-style-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.settings-dialog__card-style-option{border:1px solid var(--border-alpha);background:var(--surface-alpha);color:var(--text);border-radius:.75rem;padding:.55rem;display:grid;justify-items:center;gap:.4rem;cursor:pointer}.settings-dialog__card-style-option--active{border-color:rgba(var(--primary-rgb),.7);box-shadow:0 0 0 1px var(--primary-glow)}.settings-dialog__card-style-name{font-size:.78rem;font-weight:700;color:var(--text-muted)}.settings-dialog__card-style-preview{transform:scale(.82);transform-origin:center;pointer-events:none}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;overflow:hidden;flex:0 0 auto}.avatar__img,.avatar__fallback{width:100%;height:100%;border-radius:inherit;display:block}.avatar__fallback{display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.75em;color:var(--text);text-transform:uppercase;letter-spacing:.04em}.app-header{position:fixed;top:0;left:0;right:0;height:var(--header-height, 6.4rem);display:block;padding:.9rem 1.1rem;background:radial-gradient(circle at 18% 18%,var(--bg),var(--bg) 45%,var(--bg));color:var(--text);border:1px solid rgba(var(--text-rgb),.06);box-shadow:0 20px 40px #0006,inset 0 0 0 1px rgba(var(--text-rgb),.02);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:60;box-sizing:border-box}.app-header--overlay{position:fixed;top:1rem;left:1rem;right:auto;height:auto;padding:0;background:transparent;border:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:90}.app-header__inner{position:relative;display:flex;align-items:center;justify-content:space-between;width:min(72rem,100%);margin:0 auto;padding:0;border-radius:0;background:transparent;color:var(--text);gap:1rem;height:100%;box-sizing:border-box}.app-header__inner--overlay{width:auto;margin:0;padding:0;gap:.35rem}.app-header__title{font-size:1.05rem;font-weight:800;letter-spacing:.02em;color:var(--text);text-shadow:0 2px 10px rgba(0,0,0,.35);text-decoration:none}.app-header__brand{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:inherit;height:100%}.app-header__logo{width:auto;height:100%;display:block;border-radius:.35rem;object-fit:contain}.app-header__brand-text{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.app-header__logo{width:2.1rem;height:2.1rem;display:block;border-radius:.35rem;object-fit:contain}.app-header__title:hover{text-decoration:none}.app-header__title:visited{color:var(--text)}.app-header__title-block{display:flex;flex-direction:column;gap:.18rem;height:100%;justify-content:center;align-items:flex-start}.app-header__title-block{align-items:flex-start;text-align:left;flex:1 1 auto;min-width:0}.app-header__subtitle{font-size:.9rem;color:var(--text-muted);letter-spacing:.01em;opacity:.92;transition:opacity .2s ease;line-height:1.05}.app-header__subtitle--fading{opacity:0}.app-header__subtitle-break{display:none}.app-header__subtitle-separator{display:inline}.app-header__actions{margin-left:0;display:flex;align-items:center}.app-header__actions--overlay{margin:0}.header-login-button{padding:.55rem 1.1rem;border-radius:.75rem;border:1px solid rgba(var(--text-rgb),.08);background:linear-gradient(135deg,var(--primary),var(--primary));color:var(--text);font-weight:800;letter-spacing:.01em;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,opacity .14s ease;box-shadow:0 12px 26px rgba(var(--primary-rgb),.28);opacity:.94}.header-login-button:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(var(--primary-rgb),.34);opacity:1}.header-login-button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.header-avatar-menu{position:relative;display:inline-flex;align-items:center;gap:.6rem}.header-avatar-anchor,.header-insights-anchor{position:relative;display:inline-flex;align-items:center}.header-avatar-menu--overlay{padding:0;background:none;border:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.header-avatar-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(var(--text-rgb),.08);padding:.2rem;border-radius:50%;background:linear-gradient(135deg,rgba(var(--text-rgb),.04),rgba(var(--text-rgb),.08));box-shadow:0 12px 24px #00000047,inset 0 0 0 1px rgba(var(--text-rgb),.05);cursor:pointer;transition:transform .14s ease,box-shadow .14s ease}.header-avatar-button:hover{transform:translateY(-1px) scale(1.01);box-shadow:0 16px 32px #00000052,0 0 0 1px var(--primary-glow)}.header-avatar-button--overlay{background:linear-gradient(135deg,rgba(var(--text-rgb),.08),rgba(var(--text-rgb),.14));box-shadow:0 12px 24px #0000004d,inset 0 0 0 1px rgba(var(--text-rgb),.08)}.header-avatar-button:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.header-friends-button{position:relative;width:3.2rem;height:3.2rem;border-radius:50%;border:1px solid rgba(var(--text-rgb),.08);background:linear-gradient(135deg,rgba(var(--text-rgb),.04),rgba(var(--text-rgb),.1));color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,color .14s ease;box-shadow:0 10px 20px #00000040,inset 0 0 0 1px rgba(var(--text-rgb),.05)}.header-friends-badge{position:absolute;top:-.15rem;right:-.15rem;min-width:1.1rem;height:1.1rem;padding:0 .25rem;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent));color:var(--primary-contrast);font-size:.62rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 12px rgba(var(--accent-rgb),.45);border:1px solid rgba(var(--accent-rgb),.6)}.header-leaderboard-button{width:3.2rem;height:3.2rem;border-radius:50%;border:1px solid rgba(var(--text-rgb),.08);background:linear-gradient(135deg,rgba(var(--text-rgb),.04),rgba(var(--text-rgb),.1));color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,background .14s ease;box-shadow:0 12px 24px #00000047,inset 0 0 0 1px rgba(var(--text-rgb),.05)}.header-leaderboard-button:hover{transform:translateY(-1px);background:linear-gradient(135deg,rgba(var(--text-rgb),.08),rgba(var(--text-rgb),.16));box-shadow:0 16px 32px #00000052,0 0 0 1px var(--primary-glow)}.header-leaderboard-button--active{background:linear-gradient(135deg,var(--primary-glow),var(--primary-glow));box-shadow:0 16px 30px #00000052,0 0 0 1px var(--primary-glow)}.header-leaderboard-button img{width:1.6rem;height:1.6rem;display:block}.header-settings-button{width:3.2rem;height:3.2rem;border-radius:50%;border:1px solid rgba(var(--text-rgb),.08);background:linear-gradient(135deg,rgba(var(--text-rgb),.06),rgba(var(--text-rgb),.14));color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,color .14s ease;box-shadow:0 12px 24px #00000047,inset 0 0 0 1px rgba(var(--text-rgb),.05)}.header-settings-button svg{width:1.8rem;height:1.8rem;display:block}.header-settings-button:hover{transform:translateY(-1px);box-shadow:0 16px 32px #00000052,0 0 0 1px var(--primary-glow);color:var(--primary)}.header-settings-button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.header-settings-button--overlay{background:linear-gradient(135deg,rgba(var(--text-rgb),.08),rgba(var(--text-rgb),.16))}.header-friends-button svg{width:1.6rem;height:1.6rem}.header-friends-button:hover{transform:translateY(-1px);box-shadow:0 14px 26px #0000004d,0 0 0 1px var(--primary-glow);color:var(--primary)}.header-friends-button--active{color:var(--primary);box-shadow:0 16px 28px #00000057,0 0 0 1px var(--primary-glow)}.header-friends-button--overlay{background:linear-gradient(135deg,rgba(var(--text-rgb),.08),rgba(var(--text-rgb),.16))}.header-avatar{width:2.8rem;height:2.8rem;border-radius:50%;display:block;background:var(--bg)}.header-avatar-wrap{width:2.8rem!important;height:2.8rem!important}.header-menu-icon{width:1.5rem;height:1.5rem;display:inline-flex;flex-direction:column;justify-content:center;gap:.3rem;padding:.25rem}.header-menu-icon__bar{height:2px;width:100%;border-radius:999px;background:var(--text);box-shadow:0 1px 2px var(--surface-alpha)}.header-menu-icon:hover{transform:translateY(-1px)}.header-menu-icon:hover .header-menu-icon__bar{background:var(--primary);box-shadow:0 2px 6px rgba(var(--primary-rgb),.18)}.header-mobile-menu{position:relative;z-index:20}.header-mobile-menu__trigger{width:2.75rem;height:2.75rem;border-radius:.75rem;border:1px solid var(--border-alpha);background:var(--surface-alpha);color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 18px #00000059}.header-mobile-menu__trigger:hover{transform:translateY(-1px);box-shadow:0 14px 28px #00000057,0 0 0 1px var(--primary-glow);border-color:var(--primary-glow);color:var(--primary)}.header-mobile-menu__trigger--overlay:hover{transform:translateY(-1px);box-shadow:0 14px 28px #0000005c,0 0 0 1px var(--primary-glow);border-color:var(--primary-glow)}.header-mobile-menu__trigger:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.header-mobile-menu__trigger--overlay{background:var(--surface-alpha);border:1px solid rgba(var(--text-rgb),.06);box-shadow:0 12px 26px #00000057;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header-mobile-menu__backdrop{position:fixed;inset:0;background:var(--overlay);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:91}.header-mobile-menu__backdrop.is-open{opacity:1;pointer-events:auto}.header-mobile-menu__drawer{position:fixed;top:0;left:0;height:100vh;width:min(78vw,18rem);background:var(--bg);border-right:1px solid var(--border-alpha);box-shadow:8px 0 24px #00000073;transform:translate(-100%);transition:transform .22s ease;z-index:92;display:flex;flex-direction:column}.header-mobile-menu__drawer.is-open{transform:translate(0)}.header-mobile-menu__header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--border-alpha)}.header-mobile-menu__title{font-weight:700;color:var(--text);font-size:1rem}.header-mobile-menu__close{border:none;background:transparent;color:var(--text);font-size:1.5rem;cursor:pointer}.header-mobile-menu__content{padding:.75rem 1rem;display:flex;flex-direction:column;gap:.5rem}.header-mobile-menu__item{width:100%;text-align:left;padding:.7rem .85rem;border-radius:.6rem;border:1px solid var(--border-alpha);background:var(--surface-alpha);color:var(--text);font-weight:700;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.header-mobile-menu__item:hover:enabled{transform:translateY(-1px);border-color:var(--primary-glow);box-shadow:0 8px 18px var(--surface-alpha)}.header-mobile-menu__item:disabled{opacity:.55;cursor:not-allowed}.header-mobile-menu__item--danger{background:linear-gradient(135deg,rgba(var(--danger-rgb),.15),rgba(var(--danger-rgb),.2));color:var(--danger);border-color:rgba(var(--danger-rgb),.35)}.header-mobile-menu__item--danger:hover:enabled{background:linear-gradient(135deg,rgba(var(--danger-rgb),.28),rgba(var(--danger-rgb),.35));box-shadow:0 8px 18px rgba(var(--danger-rgb),.25)}.header-identity{display:flex;flex-direction:column;justify-content:center;gap:.15rem}.header-username{font-weight:800;letter-spacing:.01em;color:var(--text);text-shadow:0 1px 8px rgba(0,0,0,.35);max-width:11rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-useralias{font-size:.75rem;font-weight:500;letter-spacing:.02em;color:var(--text-muted);text-shadow:0 1px 4px rgba(0,0,0,.35);max-width:11rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:0}@media(max-width:720px){.app-header{padding:.55rem .65rem}.app-header--overlay{top:.6rem;left:.6rem}.app-header__brand{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:inherit}.app-header__logo{width:auto;height:3rem;display:block;border-radius:.35rem;object-fit:contain}.app-header__subtitle-break{display:block}.app-header__subtitle-separator{display:none}.header-avatar-menu{gap:.4rem}.header-identity{gap:.05rem}.header-avatar-button{padding:.14rem}.header-avatar{width:2.2rem;height:2.2rem}.header-avatar-wrap{width:2.2rem!important;height:2.2rem!important}.header-friends-button,.header-leaderboard-button,.header-settings-button{width:2.55rem;height:2.55rem}.header-friends-button svg,.header-leaderboard-button img{width:1.28rem;height:1.28rem}.header-settings-button svg{width:1.4rem;height:1.4rem}}@media(max-width:560px){.app-header{padding:.45rem .5rem}.header-username{font-size:.88rem;max-width:7.2rem;line-height:1.05}.header-useralias{line-height:1}.header-friends-button,.header-leaderboard-button,.header-settings-button{width:2.35rem;height:2.35rem}.header-avatar{width:2.05rem;height:2.05rem}.header-avatar-wrap{width:2.05rem!important;height:2.05rem!important}}.header-avatar-popover{position:absolute;top:calc(100% + .65rem);right:0;min-width:12rem;display:flex;flex-direction:column;gap:.45rem;background:var(--surface);border:1px solid rgba(var(--text-rgb),.08);border-radius:.85rem;padding:.85rem;box-shadow:0 16px 32px #0000005c,0 0 0 1px var(--primary-glow);z-index:12}.header-insights-popover{position:absolute;top:calc(100% + .65rem);right:0;min-width:14rem;display:flex;flex-direction:column;gap:.45rem;background:var(--surface);border:1px solid rgba(var(--text-rgb),.08);border-radius:.85rem;padding:.85rem;box-shadow:0 16px 32px #0000005c,0 0 0 1px var(--primary-glow);z-index:12}.header-insights-popover--overlay{left:0;right:auto}.header-insights-popover__caret{position:absolute;top:-8px;right:18px;width:16px;height:16px;transform:rotate(45deg);background:var(--surface);border-top:1px solid rgba(var(--text-rgb),.08);border-left:1px solid rgba(var(--text-rgb),.08);box-shadow:-4px -4px 12px #0000002e}.header-insights-popover--overlay .header-insights-popover__caret{left:26px;right:auto}.header-avatar-popover--overlay{left:0;right:auto;min-width:13rem}.header-avatar-popover--overlay .header-avatar-popover__caret{left:26px;right:auto}.header-avatar-popover__caret{position:absolute;top:-8px;right:18px;width:16px;height:16px;transform:rotate(45deg);background:var(--surface);border-top:1px solid rgba(var(--text-rgb),.08);border-left:1px solid rgba(var(--text-rgb),.08);box-shadow:-4px -4px 12px #0000002e}.header-menu-item{width:100%;padding:.55rem .8rem;background:linear-gradient(135deg,rgba(var(--text-rgb),.06),rgba(var(--text-rgb),.12));border:1px solid rgba(var(--text-rgb),.08);border-radius:.65rem;color:var(--text);font-weight:700;letter-spacing:.01em;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.header-menu-item:hover{transform:translateY(-1px);background:linear-gradient(135deg,rgba(var(--primary-rgb),.2),rgba(var(--primary-rgb),.16));box-shadow:0 12px 22px rgba(var(--primary-rgb),.22)}.header-menu-item:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.header-menu-item--ghost{background:linear-gradient(135deg,rgba(var(--text-rgb),.04),rgba(var(--text-rgb),.06));box-shadow:none}.header-menu-item--danger{background:linear-gradient(135deg,rgba(var(--danger-rgb),.15),rgba(var(--danger-rgb),.2));color:var(--danger);border-color:rgba(var(--danger-rgb),.35)}.header-menu-item--danger:hover{background:linear-gradient(135deg,rgba(var(--danger-rgb),.28),rgba(var(--danger-rgb),.35));box-shadow:0 12px 22px rgba(var(--danger-rgb),.25)}.header-account-modal__backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--overlay);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:9999}.header-account-modal{width:min(30rem,100%);background:linear-gradient(150deg,var(--bg) 0%,var(--bg) 40%,var(--bg) 100%);border:1px solid rgba(var(--text-rgb),.08);border-radius:1.1rem;box-shadow:0 24px 60px #00000080,0 0 0 1px var(--primary-glow);padding:1.35rem;color:var(--text)}.header-account-modal__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.header-account-modal__eyebrow{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.header-account-modal__title{font-size:1.2rem;font-weight:800;color:var(--text)}.header-account-modal__close{background:var(--surface-alpha);border:1px solid var(--border-alpha);color:var(--text);border-radius:.6rem;width:2.4rem;height:2.4rem;cursor:pointer;font-size:1rem;transition:transform .14s ease,background .14s ease,box-shadow .14s ease,border-color .14s ease}.header-account-modal__close:hover{background:var(--surface-2);border-color:var(--border);transform:translateY(-1px);box-shadow:var(--shadow)}.header-account-modal__close:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.header-account-modal__body{display:grid;grid-template-columns:auto 1fr;gap:1.25rem;align-items:center}.header-account-modal__warning{grid-column:1 / -1;padding:.75rem .9rem;border-radius:.85rem;border:1px solid rgba(var(--danger-rgb),.35);background:rgba(var(--danger-rgb),.12);color:var(--danger);font-weight:800;box-shadow:inset 0 1px rgba(var(--text-rgb),.06)}.header-account-modal__guest-cta{grid-column:1 / -1;padding:.85rem .9rem;border-radius:.85rem;border:1px solid rgba(var(--primary-rgb),.3);background:rgba(var(--primary-rgb),.07);display:flex;flex-direction:column;gap:.7rem;box-shadow:inset 0 1px rgba(var(--text-rgb),.04)}.header-account-modal__guest-cta-text{font-size:.875rem;line-height:1.45;color:var(--text)}.header-account-modal__guest-cta-button{align-self:flex-start;border:1px solid transparent;background:var(--primary);color:var(--primary-contrast);padding:.45rem .85rem;min-height:2.25rem;border-radius:.55rem;font-size:.875rem;font-weight:700;cursor:pointer;box-shadow:0 6px 14px var(--primary-glow);transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.header-account-modal__guest-cta-button:hover{transform:translateY(-1px);box-shadow:0 10px 20px var(--primary-glow);filter:brightness(1.05)}.header-account-modal__guest-cta-button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.header-account-modal__avatar-block{display:flex;align-items:center;justify-content:center;padding:.75rem;background:rgba(var(--text-rgb),.03);border-radius:.9rem;border:1px solid rgba(var(--text-rgb),.06)}.header-account-avatar-wrapper{position:relative;display:inline-flex}.header-account-avatar-button{border:1px solid rgba(var(--text-rgb),.1);background:linear-gradient(135deg,rgba(var(--text-rgb),.05),rgba(var(--text-rgb),.1));border-radius:50%;padding:.2rem;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.header-account-avatar-button:hover{transform:translateY(-1px) scale(1.01);box-shadow:0 14px 28px rgba(var(--primary-rgb),.25)}.header-account-avatar-button:disabled{opacity:.65;cursor:not-allowed;box-shadow:none}.header-account-avatar-button:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.header-account-modal__avatar{width:5rem;height:5rem;border-radius:50%;background:var(--bg);border:2px solid rgba(var(--text-rgb),.08)}.header-account-avatar-modal__backdrop{position:fixed;inset:0;background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;z-index:10000}.header-account-avatar-modal{width:min(48rem,92vw);max-height:min(36rem,85vh);background:var(--surface);border:1px solid rgba(var(--text-rgb),.08);border-radius:1rem;padding:1rem;box-shadow:0 24px 40px #0006,0 0 0 1px var(--primary-glow);display:flex;flex-direction:column;gap:.85rem;overflow:hidden}.header-account-avatar-modal__header{display:flex;justify-content:space-between;align-items:center}.header-account-avatar-modal__actions{display:inline-flex;align-items:center;gap:.5rem}.header-account-avatar-modal__title{font-size:1rem;font-weight:800;color:var(--text)}.header-account-avatar-modal__done{border:1px solid transparent;background:var(--primary);color:var(--primary-contrast);border-radius:.6rem;padding:.35rem .85rem;font-size:.85rem;font-weight:700;line-height:1;min-height:32px;cursor:pointer;box-shadow:0 8px 18px var(--primary-glow);transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.header-account-avatar-modal__done:hover:enabled{transform:translateY(-1px);box-shadow:0 12px 22px var(--primary-glow);filter:brightness(1.05)}.header-account-avatar-modal__done:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.header-account-avatar-modal__done:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none;filter:none}.header-account-avatar-modal__close{border:1px solid var(--border);background:var(--surface-alpha);color:var(--text);border-radius:.6rem;padding:.35rem .85rem;font-size:.85rem;font-weight:700;line-height:1;min-height:32px;cursor:pointer;transition:background .12s ease,transform .12s ease,border-color .12s ease}.header-account-avatar-modal__close:hover{background:var(--surface-2);transform:translateY(-1px)}.header-account-avatar-modal__close:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.header-account-avatar-controls{display:grid;gap:.6rem}.header-account-avatar-random{border:1px solid var(--border);background:var(--surface-2);color:var(--text);padding:.45rem .75rem;border-radius:.6rem;font-size:.8rem;font-weight:700;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease}.header-account-avatar-random:hover{transform:translateY(-1px);background:var(--surface);box-shadow:var(--shadow)}.header-account-avatar-random:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.header-account-avatar-preview{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;padding:.75rem;border-radius:.85rem;background:var(--surface-alpha);border:1px solid rgba(var(--text-rgb),.08)}.header-account-avatar-preview__img{width:96px;height:96px;border-radius:999px;background:var(--bg);box-shadow:0 0 0 1px rgba(var(--text-rgb),.2),0 10px 20px #0000004d}.header-account-avatar-preview__meta{display:grid;gap:.4rem;color:var(--text);font-size:.85rem}.header-account-avatar-history{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.2rem}.header-account-avatar-history__button{border:1px solid rgba(var(--text-rgb),.12);background:var(--surface-alpha);color:var(--text);padding:.35rem .6rem;border-radius:.55rem;font-size:.75rem;font-weight:700;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.header-account-avatar-history__button:hover:enabled{transform:translateY(-1px);box-shadow:0 8px 16px var(--surface-alpha)}.header-account-avatar-history__button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.header-account-avatar-history__count{font-size:.75rem;color:var(--text-muted)}.header-account-avatar-preview__label strong{color:var(--text)}.header-account-avatar-style-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.75rem}.header-account-avatar-style-card{border:1px solid rgba(var(--text-rgb),.1);border-radius:.85rem;padding:.75rem;background:var(--surface-alpha);display:grid;justify-items:center;gap:.5rem;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.header-account-avatar-style-card:hover:enabled{transform:translateY(-1px);box-shadow:0 10px 18px rgba(var(--primary-rgb),.18)}.header-account-avatar-style-card--active{border-color:var(--primary);box-shadow:0 10px 18px rgba(var(--primary-rgb),.25)}.header-account-avatar-style-card__img{width:56px;height:56px;border-radius:999px;background:var(--bg);box-shadow:0 0 0 1px rgba(var(--text-rgb),.2),0 8px 16px #0000004d}.header-account-avatar-style-card__label{font-size:.78rem;font-weight:700;color:var(--text);letter-spacing:.02em}.header-account-modal__fields{display:grid;gap:.5rem}.header-account-modal__achievements{margin-top:.5rem;display:flex;flex-direction:column;gap:.8rem;border-top:1px solid var(--border-alpha);padding-top:.5rem;grid-column:1 / -1}.header-account-modal__section-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted)}.header-account-modal__achievement-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.6rem;justify-content:start;max-height:16rem;overflow-y:auto;padding-right:.25rem}.header-account-modal__achievement{display:flex;align-items:center;gap:.4rem;padding:.4rem .5rem;border-radius:.8rem;background:var(--surface-alpha);border:1px solid var(--border-alpha);justify-self:stretch;width:100%}.header-account-modal__achievement-text{display:flex;flex-direction:column;justify-content:center;min-height:2rem}.header-account-modal__achievement-icon{width:2rem;height:2rem;border-radius:.6rem;display:grid;place-items:center;background:rgba(var(--muted-rgb),.18);border:1px solid var(--border-alpha)}.header-account-modal__achievement-icon img{width:1.2rem;height:1.2rem}.header-account-modal__achievement-name{font-size:.85rem;font-weight:700;color:var(--text);line-height:1.1}.header-account-modal__achievement-date{font-size:.7rem;color:var(--text-muted);margin-top:.05rem;line-height:1.1}.header-account-modal__achievement-empty{font-size:.8rem;color:var(--text-muted)}.header-account-modal__field{display:grid;gap:.25rem}.header-account-modal__label{font-size:.8rem;color:var(--text-muted);letter-spacing:.01em}.header-account-modal__value{font-weight:700;color:var(--text);word-break:break-word}.header-account-modal__alias-row{display:flex;align-items:center;gap:0}.header-account-modal__alias-prefix{padding:.55rem .5rem .55rem .75rem;border-radius:.6rem 0 0 .6rem;border:1px solid rgba(var(--text-rgb),.1);border-right:none;background:rgba(var(--text-rgb),.08);color:var(--text);font-weight:700;white-space:nowrap;-webkit-user-select:none;user-select:none}.header-account-modal__alias-row .header-account-modal__input{border-radius:0 .6rem .6rem 0}.header-account-modal__input{width:100%;padding:.55rem .75rem;border-radius:.6rem;border:1px solid rgba(var(--text-rgb),.1);background:rgba(var(--text-rgb),.05);color:var(--text);font-weight:600}.header-account-modal__input:disabled{opacity:.7;cursor:not-allowed}.header-account-modal__input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.header-account-modal__input--error{border-color:rgba(var(--danger-rgb),.8);background:rgba(var(--danger-rgb),.08)}.header-account-modal__error{margin-top:.35rem;color:var(--danger);font-size:.8rem;font-weight:700;visibility:hidden;height:1.2rem}.header-account-modal__error--visible{visibility:visible}.header-account-modal__actions{margin-top:.4rem;display:flex;justify-content:flex-end}.header-account-modal__save{border:1px solid transparent;background:var(--primary);color:var(--primary-contrast);padding:.45rem .85rem;min-height:2.25rem;border-radius:.55rem;font-weight:800;cursor:pointer;box-shadow:0 10px 18px var(--primary-glow);transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease,filter .12s ease}.header-account-modal__save:hover:enabled{transform:translateY(-1px);box-shadow:0 12px 22px var(--primary-glow);filter:brightness(1.05)}.header-account-modal__save:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.header-account-modal__save:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none;filter:none}.header-account-modal__footer{grid-column:1 / -1;margin-top:.5rem;display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.header-account-modal__links{display:flex;flex-wrap:wrap;gap:12px;font-size:.92rem}.header-account-modal__actions-row{display:flex;flex-wrap:wrap;gap:12px}.header-account-modal__links a{color:var(--primary);font-weight:600;text-decoration:none}.header-account-modal__links a:hover{text-decoration:underline}.header-account-modal__delete{border:1px solid rgba(var(--danger-rgb),.5);background:rgba(var(--danger-rgb),.12);color:var(--danger);padding:.45rem .85rem;min-height:2.25rem;border-radius:.55rem;font-weight:800;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.header-account-modal__delete:hover:enabled{transform:translateY(-1px);box-shadow:0 10px 18px rgba(var(--danger-rgb),.22)}.header-account-modal__delete:disabled{opacity:.6;cursor:not-allowed}.header-account-modal__delete:focus-visible{outline:2px solid var(--danger);outline-offset:2px}.header-account-modal__link{color:var(--primary);text-decoration:none}.header-account-modal__link:hover{text-decoration:underline}@media(max-width:720px){.header-account-modal__body{grid-template-columns:1fr;text-align:center}.header-account-modal__avatar-block{justify-content:center}.header-account-modal__fields{text-align:left}}.legal-footer{position:fixed;bottom:0;left:0;right:0;z-index:10;padding:.625rem 1rem .75rem;text-align:center;background:linear-gradient(transparent,color-mix(in srgb,var(--bg, #0a0a0f) 92%,transparent) 40%);pointer-events:none}.legal-footer__text{font-size:.7rem;color:color-mix(in srgb,var(--text, #fff) 35%,transparent);margin:0;line-height:1.4;pointer-events:none}.legal-footer__link{color:inherit;text-decoration:underline;text-underline-offset:2px;pointer-events:auto}.legal-footer__link:hover{color:color-mix(in srgb,var(--text, #fff) 65%,transparent)}.legal-footer__link:focus-visible{outline:2px solid currentColor;outline-offset:2px;border-radius:2px}.app-shell{--header-height: 5rem;min-height:100vh;height:100vh;width:100%;display:flex;flex-direction:column;box-sizing:border-box;background:var(--bg);color:var(--text)}@supports (height: 100dvh){.app-shell{min-height:100dvh;height:100dvh}}@media(max-width:720px){.app-shell{--header-height: 4.2rem}}@media(max-width:560px){.app-shell{--header-height: 3.85rem}}.app-shell__main{padding-top:var(--header-height);box-sizing:border-box;min-height:calc(100vh - var(--header-height));flex:1 0 auto}@supports (height: 100dvh){.app-shell__main{min-height:calc(100dvh - var(--header-height))}}.app-shell__header{position:relative}.app-shell--overlay-header .app-shell__main{padding-top:0;min-height:100vh}@supports (height: 100dvh){.app-shell--overlay-header .app-shell__main{min-height:100dvh}}.social-login-dialog-backdrop{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.social-login-dialog{width:min(100%,26rem);border-radius:1rem;border:1px solid var(--border-alpha);background:radial-gradient(circle at top,rgba(var(--surface-rgb),.98),rgba(var(--surface-rgb),.98));box-shadow:var(--shadow);color:var(--text)}.social-login-dialog__header{padding:1rem 1rem .5rem}.social-login-dialog__title{margin:0;font-size:1.2rem;font-weight:700}.social-login-dialog__subtitle{margin:.5rem 0 0;color:var(--text-muted);font-size:.95rem}.social-login-dialog__actions{display:grid;gap:.75rem;padding:.5rem 1rem 1rem}.social-login-dialog__provider-button{width:100%;border:1px solid var(--border-alpha);border-radius:.75rem;padding:.72rem .85rem;color:var(--text);background:rgba(var(--surface-rgb),.8);font-size:.95rem;font-weight:600;cursor:pointer;transition:border-color .14s ease,background-color .14s ease}.social-login-dialog__provider-content{display:inline-flex;align-items:center;justify-content:center;gap:.55rem}.social-login-dialog__icon{width:1.3rem;height:1.3rem;flex:0 0 1.3rem;color:var(--text-muted)}.social-login-dialog__provider-button:hover{border-color:rgba(var(--muted-rgb),.6);background:rgba(var(--surface-rgb),.95)}.social-login-dialog__provider-button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.social-login-dialog__empty{margin:0;color:var(--text-muted);font-size:.92rem}.social-login-dialog__footer{display:flex;justify-content:flex-end;padding:0 1rem 1rem}.social-login-dialog__cancel{border:1px solid var(--border-alpha);border-radius:.6rem;padding:.42rem .75rem;background:transparent;color:var(--text-muted);font-size:.86rem;cursor:pointer}.social-login-dialog__cancel:hover{border-color:rgba(var(--muted-rgb),.6);color:var(--text)}.game-awaiting{display:flex;justify-content:center;align-items:center;flex-direction:column}.game-awaiting__content{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center}.game-awaiting__content--preview{gap:.5rem}.euchre-hand-preview{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}.euchre-hand-preview__title{font-size:1.5rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}.euchre-hand-preview__hand{width:100%;max-width:20rem;margin-bottom:2rem}.game-awaiting__message{font-weight:700;color:var(--text);background:var(--surface-alpha);border:1px solid var(--border-alpha);box-shadow:var(--shadow);padding:.65rem 1rem;border-radius:.75rem;min-height:3.25rem;display:flex;align-items:center;justify-content:center}.play-hand{display:flex;min-height:7.875rem}.play-hand--stacked{position:relative;display:block;min-height:7.875rem;width:5.5rem}.play-hand-wrapper{display:flex;align-items:center;justify-content:center;margin-top:.5rem}.play-card-wrapper--stacked{position:absolute;top:0;left:0}.play-hand-split{display:flex;align-items:center;gap:2rem;justify-content:center}.play-hand-split--left,.play-hand-split--right{flex-direction:row}.play-hand-deck{flex-shrink:0}.play-hand-cards{display:flex;align-items:center;justify-content:center;flex:1;min-width:0}.play-hand--unfanned{display:flex;flex-wrap:nowrap}.play-card-wrapper--unfanned{flex-shrink:0;margin-left:-3.5rem}.play-card-wrapper--unfanned:first-child{margin-left:0}.play-card-wrapper--dimmed{pointer-events:none}.play-card-wrapper--playable .play-card{cursor:pointer}.hand{--hand-scale: 1;display:inline-flex;flex-wrap:nowrap;gap:.5rem;transform-origin:center center;transform:scale(var(--hand-scale))}.play-card-wrapper--dealer-selection-winner .play-card{box-shadow:0 0 0 4px #facc15,0 0 18px 6px #facc15cc,0 0 32px 12px #facc1599}.play-euchre-dialog-backdrop{position:fixed;inset:0;background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1100;animation:play-euchre-fade-in .18s ease-out}@keyframes play-euchre-fade-in{0%{opacity:0}to{opacity:1}}.play-euchre-dialog{width:min(720px,92vw);border-radius:1.2rem;padding:1.6rem;color:var(--text);background:var(--surface);border:1px solid var(--border-alpha);box-shadow:var(--shadow);animation:play-euchre-rise .2s ease-out}@keyframes play-euchre-rise{0%{transform:translateY(14px);opacity:.8}to{transform:translateY(0);opacity:1}}.play-euchre-dialog__header{text-align:center;margin-bottom:1.4rem}.play-euchre-dialog__title{margin:0 0 .4rem;font-size:clamp(1.4rem,2.8vw,2rem);letter-spacing:.02em}.play-euchre-dialog__subtitle{margin:0;color:var(--text-muted);font-size:.98rem}.play-euchre-dialog__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem}.play-euchre-option{border:1px solid var(--border-alpha);border-radius:1rem;background:var(--surface-alpha);color:var(--text);padding:1.15rem;display:flex;flex-direction:column;align-items:center;gap:.6rem;text-align:center;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.play-euchre-option:hover:not(:disabled){transform:translateY(-2px);border-color:rgba(var(--primary-rgb),.6);box-shadow:0 18px 30px #0006;background:var(--surface-2)}.play-euchre-option:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.play-euchre-option:disabled{cursor:not-allowed;opacity:.45;box-shadow:none;transform:none}.play-euchre-option__icon{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:rgba(var(--primary-rgb),.16);color:var(--primary);box-shadow:inset 0 0 0 1px rgba(var(--primary-rgb),.25)}.play-euchre-option__icon svg{width:34px;height:34px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.play-euchre-option__label{font-size:1rem;font-weight:700}.play-euchre-option__meta{font-size:.82rem;color:var(--text-muted)}.play-euchre-dialog__actions{display:flex;justify-content:center;gap:.75rem;margin-top:1rem}.play-euchre-dialog__cancel{padding:10px 14px;border-radius:8px;border:1px solid var(--border-alpha);background:var(--surface-alpha);color:var(--text);cursor:pointer;font-weight:700;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.play-euchre-dialog__cancel:hover{transform:translateY(-1px);border-color:rgba(var(--muted-rgb),.65);box-shadow:0 12px 24px #00000059}.play-euchre-dialog__cancel:focus-visible{outline:2px solid var(--focus);outline-offset:3px}@media(max-width:560px){.play-euchre-dialog{padding:1.2rem}.play-euchre-dialog__grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.play-euchre-option{padding:.9rem}}.logged-in-no-game{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;width:100%;padding:2rem 1rem;min-height:100%;height:100%;box-sizing:border-box}.logged-in-no-game__preview{max-width:520px;width:100%}.logged-in-no-game__actions{display:flex;gap:.75rem;justify-content:center;width:100%}.logged-in-no-game__cta{padding:.6rem 1.4rem;min-width:clamp(12rem,24vw,16rem);height:auto;min-height:2.85rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.logged-in-no-game__cta--ghost{background:transparent;border:1.5px solid rgba(255,255,255,.25);color:#ffffff8c}.logged-in-no-game__cta--ghost:hover:not(:disabled){border-color:#ffffff80;color:#ffffffd9}.logged-in-no-game__cta:disabled{cursor:default}.logged-in-no-game__status{font-size:1rem;color:var(--color-text-secondary, #666);margin:0;text-align:center}.friends-overlay{position:fixed;z-index:120;width:300px;max-width:calc(100vw - 24px);background:linear-gradient(165deg,var(--surface),var(--surface-2));border-radius:0;border:1px solid rgba(var(--muted-rgb),.18);box-shadow:0 24px 48px #00000073;color:var(--text);display:flex;flex-direction:column;overflow:hidden}.friends-overlay--dragging{cursor:grabbing}.friends-overlay__drag{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 0;cursor:grab;background:rgba(var(--surface-rgb),.85)}.friends-overlay__drag-bar{width:100%;height:2px;border-radius:999px;background:rgba(var(--text-rgb),.5)}.friends-overlay__controls{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid rgba(var(--muted-rgb),.18);background:rgba(var(--surface-rgb),.75)}.friends-overlay__title{font-size:.95rem;font-weight:700;letter-spacing:.02em}.friends-overlay__close{border:none;background:transparent;color:var(--text);font-size:1.1rem;cursor:pointer;padding:4px}.friends-overlay__close:hover{color:var(--focus)}.friends-overlay__tabs{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;background:var(--surface-alpha)}.friends-overlay__toggle{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:.75rem;color:rgba(var(--text-rgb),.8);background:var(--surface-alpha);border-bottom:1px solid rgba(var(--muted-rgb),.18)}.friends-overlay__tab{flex:1 1 0;border:1px solid transparent;background:rgba(var(--muted-rgb),.12);color:var(--text-muted);padding:6px 8px;border-radius:999px;font-size:.78rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}.friends-overlay__tab.is-active{background:rgba(var(--primary-rgb),.2);border-color:rgba(var(--primary-rgb),.45);color:var(--text)}.friends-overlay__content{padding:12px;display:flex;flex-direction:column;gap:10px;max-height:min(380px,60vh);overflow-y:auto}.friends-overlay__requests{display:flex;flex-direction:column;gap:14px}.friends-overlay__requests-group{display:flex;flex-direction:column;gap:8px}.friends-overlay__requests-title{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(var(--muted-rgb),.85);font-weight:700}.friends-overlay__requests-empty{font-size:.78rem;color:rgba(var(--muted-rgb),.7);padding:6px 2px}.friends-overlay__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.friends-overlay__list-item{list-style:none}.friends-overlay__content--scroll{position:relative}.friends-overlay__content--scroll:before,.friends-overlay__content--scroll:after{content:"";position:sticky;left:0;right:0;height:18px;display:block;pointer-events:none;z-index:1}.friends-overlay__content--scroll:before{top:0;margin-top:-12px;background:linear-gradient(180deg,rgba(var(--surface-rgb),.95),rgba(var(--surface-rgb),0))}.friends-overlay__content--scroll:after{bottom:0;margin-bottom:-12px;background:linear-gradient(0deg,rgba(var(--surface-rgb),.95),rgba(var(--surface-rgb),0))}.friends-overlay__count{padding:2px 6px;border-radius:999px;background:rgba(var(--muted-rgb),.2);font-size:.7rem;color:var(--text)}.friends-overlay__status{padding:20px 10px;text-align:center;font-size:.85rem;color:rgba(var(--text-rgb),.7)}.friends-overlay__item{display:flex;align-items:center;gap:10px;padding:8px;border-radius:12px;background:rgba(var(--surface-rgb),.6);border:1px solid rgba(var(--muted-rgb),.12)}.friends-overlay__drag-handle{width:26px;height:30px;border:none;border-radius:8px;background:rgba(var(--surface-rgb),.55);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:grab}.friends-overlay__drag-handle:active{cursor:grabbing}.friends-overlay__drag-line{width:14px;height:2px;border-radius:999px;background:rgba(var(--text-rgb),.6)}.friends-overlay__avatar{width:36px;height:36px;border-radius:50%;background:var(--bg)}.friends-overlay__labels{display:flex;flex-direction:column;gap:4px;flex:1}.friends-overlay__name{font-size:.9rem;font-weight:600;color:var(--text)}.friends-overlay__status-line{display:flex;align-items:center;gap:6px}.friends-overlay__presence{width:8px;height:8px;border-radius:50%;background:rgba(var(--muted-rgb),.6)}.friends-overlay__presence.is-online{background:var(--success);box-shadow:0 0 0 4px rgba(var(--success-rgb),.12)}.friends-overlay__presence.is-offline{background:rgba(var(--muted-rgb),.6)}.friends-overlay__presence-label{font-size:.7rem;color:rgba(var(--muted-rgb),.85)}.friends-overlay__actions{display:inline-flex;align-items:center;gap:4px}.friends-overlay__action{border:1px solid rgba(var(--muted-rgb),.25);background:rgba(var(--surface-rgb),.6);color:var(--text);padding:4px 8px;border-radius:8px;font-size:.7rem;font-weight:600;cursor:pointer}.friends-overlay__action--icon{width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center}.friends-overlay__action--icon svg{width:14px;height:14px}.friends-overlay__action:disabled{opacity:.5;cursor:not-allowed}.friends-overlay__action--invite{background:rgba(var(--primary-rgb),.14);border-color:rgba(var(--primary-rgb),.35)}.friends-overlay__action--add{background:rgba(var(--success-rgb),.14);border-color:rgba(var(--success-rgb),.35)}.friends-overlay__action--accept{background:rgba(var(--success-rgb),.16);border-color:rgba(var(--success-rgb),.45)}.friends-overlay__action--deny,.friends-overlay__action--cancel{background:rgba(var(--danger-rgb),.12);border-color:rgba(var(--danger-rgb),.4);color:var(--danger)}.friends-overlay__action--report{background:rgba(var(--accent-rgb),.14);border-color:rgba(var(--accent-rgb),.35)}.friends-overlay__action--remove{padding:4px 6px;border-radius:6px;border-color:rgba(var(--danger-rgb),.45);color:var(--danger)}.friends-overlay__action-wrap{display:inline-flex}.report-player-backdrop{position:fixed;inset:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:150}.report-player-dialog{width:min(420px,92vw);background:var(--surface);border:1px solid var(--border-alpha);box-shadow:var(--shadow);color:var(--text);padding:18px}.report-player-dialog__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.report-player-dialog__eyebrow{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted)}.report-player-dialog__title{font-size:1.05rem;font-weight:700;margin-top:6px}.report-player-dialog__close{border:none;background:transparent;color:var(--text);font-size:1.2rem;cursor:pointer}.report-player-dialog__body{display:flex;flex-direction:column;gap:10px}.report-player-dialog__label{font-size:.78rem;color:var(--text-muted);font-weight:600}.report-player-dialog__required{color:var(--danger);margin-left:4px}.report-player-dialog__select,.report-player-dialog__textarea{width:100%;border-radius:8px;border:1px solid var(--border-alpha);background:var(--surface-alpha);color:var(--text);padding:8px 10px;font-size:.85rem}.report-player-dialog__textarea{resize:vertical}.report-player-dialog__checkbox{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--text-muted)}.report-player-dialog__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.report-player-dialog__cancel{border:1px solid var(--border-alpha);background:transparent;color:var(--text);padding:6px 12px;font-size:.8rem;cursor:pointer}.report-player-dialog__submit{border:none;background:var(--danger);color:var(--primary-contrast);padding:6px 14px;font-size:.8rem;font-weight:600;cursor:pointer}.report-player-dialog__submit:disabled{opacity:.5;cursor:not-allowed}.loading-dialog-backdrop{position:fixed;inset:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.loading-dialog{min-width:260px;max-width:360px;background:var(--surface);color:var(--text);border:1px solid var(--border-alpha);border-radius:12px;padding:24px 28px;display:flex;flex-direction:column;align-items:center;gap:14px;box-shadow:var(--shadow)}.loading-dialog__message{margin:0;font-size:1rem;font-weight:600;letter-spacing:.01em;text-align:center}.loading-dialog__detail{margin:-4px 0 0;font-size:.9rem;color:var(--text-muted);text-align:center}.loading-dialog__spinner{width:36px;height:36px;border-radius:50%;border:3px solid var(--border-alpha);border-top-color:var(--primary);animation:loading-spin .9s linear infinite}.loading-dialog__actions{display:flex;flex-direction:column;gap:8px;width:100%}.loading-dialog__action{width:100%;padding:9px 14px;border-radius:10px;border:1px solid var(--border-alpha);background:var(--surface-alpha);color:var(--text);font-weight:600;cursor:pointer;transition:all .2s ease}.loading-dialog__action:hover{border-color:var(--primary);color:var(--text);background:rgba(var(--primary-rgb),.08)}.loading-dialog__cancel{margin-top:6px;padding:8px 16px;border-radius:999px;border:1px solid var(--border-alpha);background:transparent;color:var(--text);font-weight:600;cursor:pointer;transition:all .2s ease}.loading-dialog__cancel:hover{border-color:var(--primary);color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.2)}.loading-dialog__cancel:active{transform:translateY(1px)}@keyframes loading-spin{to{transform:rotate(360deg)}}.seat-badge{display:inline-flex;flex-direction:column;position:relative;align-items:center;align-self:center;flex:0 0 auto;gap:.3rem;padding:.65rem .75rem;border-radius:1.25rem;background:var(--surface-alpha);color:var(--text);border:1px solid var(--border-alpha);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:.75rem;min-width:7rem;max-width:11rem}.seat-badge--disconnected{background:var(--surface);opacity:.75}.seat-badge__chat{position:absolute;bottom:calc(100% + .4rem);left:50%;transform:translate(-50%);max-width:24rem;padding:.7rem 1.1rem;border-radius:1.1rem;background:var(--surface);color:var(--text);font-weight:600;font-size:.85rem;text-align:center;white-space:nowrap;box-shadow:var(--shadow);border:1px solid var(--border);pointer-events:none;z-index:12;animation:seat-badge-chat-fade 3s ease-in-out}.seat-badge__chat:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-left:.95rem solid transparent;border-right:.95rem solid transparent;border-top:.95rem solid var(--border)}.seat-badge__chat:before{content:"";position:absolute;top:calc(100% - 1px);left:50%;transform:translate(-50%);border-left:.85rem solid transparent;border-right:.85rem solid transparent;border-top:.85rem solid var(--surface)}.seat-badge__disconnect{position:absolute;bottom:calc(100% + .4rem);left:50%;transform:translate(-50%);padding:.55rem .85rem;border-radius:.85rem;background:var(--danger);color:var(--primary-contrast);border:1px solid var(--danger);box-shadow:var(--shadow);font-weight:700;font-size:.75rem;text-align:center}.seat-badge__disconnect-fuse{width:100%;height:.34rem;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);overflow:hidden}.seat-badge__disconnect-fuse:after{content:"";display:block;width:var(--disconnect-progress, 0%);height:100%;border-radius:999px;background:var(--danger)}.seat-badge__quick-chat{position:absolute;left:50%;bottom:calc(100% + .55rem);transform:translate(-50%);padding:.55rem .65rem .65rem;border-radius:.9rem;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}.seat-badge__quick-chat-title{font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-weight:700}.seat-badge__quick-chat-option{border:1px solid transparent;border-radius:.6rem;padding:.4rem .6rem;font-size:.78rem;font-weight:700;color:var(--text);background:var(--surface-2);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.seat-badge__quick-chat-option:hover{transform:translateY(-1px);border-color:var(--border);box-shadow:var(--shadow)}.seat-badge__remove{width:1.05rem;height:1.05rem;border-radius:999px;border:1px solid var(--danger);background:transparent;color:var(--danger);cursor:pointer;transition:transform .12s ease,background .12s ease}.seat-badge__remove:hover{transform:translateY(-1px);background:var(--danger);color:var(--primary-contrast)}.seat-badge .avatar{box-shadow:0 0 0 1px var(--border),0 6px 12px #00000040}.seat-badge--active .avatar{box-shadow:0 0 0 3px var(--success),0 0 0 6px rgba(var(--success-rgb),.35),0 0 18px rgba(var(--success-rgb),.65)}.seat-badge__sound{position:absolute;top:.5rem;right:.5rem;margin-top:0;z-index:3;display:inline-flex;align-items:center;opacity:0;pointer-events:none;transition:opacity .2s ease}.seat-badge__sound{opacity:0;pointer-events:none;transition:opacity .16s ease}.seat-badge:hover .seat-badge__sound,.seat-badge:focus-within .seat-badge__sound{opacity:1;pointer-events:auto}.seat-badge__sound-anchor{position:relative;display:inline-flex;align-items:center;justify-content:center}.seat-badge__sound-toggle{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border:1px solid var(--border-alpha);border-radius:999px;background:var(--surface-alpha);color:var(--text);padding:0;cursor:pointer;box-shadow:0 4px 10px #00000040;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease,color .12s ease}.seat-badge__sound-toggle:hover{transform:translateY(-1px);border-color:var(--border);background:var(--surface-2);box-shadow:0 6px 12px #00000038}.seat-badge__sound-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.seat-badge__sound-toggle--muted{position:relative;color:var(--danger);border-color:var(--danger);background:var(--surface-alpha)}.seat-badge__sound-toggle--muted:hover{border-color:var(--danger);background:var(--surface-2)}.seat-badge__sound-toggle--muted:after{content:"";position:absolute;width:120%;height:2px;background:var(--danger);top:50%;left:50%;transform:translate(-50%,-50%) rotate(-35deg);border-radius:2px;pointer-events:none}.seat-badge__sound-tooltip{position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%);min-width:5.6rem;padding:.45rem .5rem;border-radius:.6rem;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);z-index:12}.seat-badge__sound-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-left:.45rem solid transparent;border-right:.45rem solid transparent;border-top:.45rem solid var(--border)}.seat-badge__sound-tooltip:before{content:"";position:absolute;top:calc(100% - 1px);left:50%;transform:translate(-50%);border-left:.38rem solid transparent;border-right:.38rem solid transparent;border-top:.38rem solid var(--surface)}.seat-badge__sound-slider{width:4.6rem;accent-color:var(--primary);cursor:pointer}@media(max-width:600px){.seat-badge__sound--coarse .seat-badge__sound-tooltip{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + .75rem);transform:translate(-50%);min-width:10.5rem;padding:.65rem .8rem;border-radius:.8rem;z-index:1200}.seat-badge__sound--coarse .seat-badge__sound-tooltip:before,.seat-badge__sound--coarse .seat-badge__sound-tooltip:after{display:none}.seat-badge__sound--coarse .seat-badge__sound-slider{width:100%}}.seat-badge__pill{font-size:.7rem;min-width:1.4rem;height:1.4rem;border-radius:999px;background:var(--surface-2);color:var(--text);font-weight:700}.seat-badge__tricks{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.35rem;padding:0 .45rem;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--text);font-weight:800;font-size:.75rem;line-height:1}.seat-badge__tricks--blue{background:var(--primary);border-color:transparent;color:var(--primary-contrast);box-shadow:0 6px 14px var(--primary-glow)}.seat-badge__tricks--red{background:var(--danger);border-color:transparent;color:var(--primary-contrast)}.seat-badge__tricks--neutral{background:var(--surface-2);border-color:var(--border);color:var(--text)}.seat-badge--sitting-out{opacity:.55}.dealer-badge,.seat-badge__dealer,.seat-badge__dealer-badge{position:absolute;top:.45rem;left:.45rem;z-index:6;display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:999px;background:var(--accent);color:var(--primary-contrast);border:1px solid var(--border);box-shadow:0 6px 14px #00000040;font-weight:900;font-size:.75rem;line-height:1}.seat-badge__pill--dealer{background:var(--accent);color:var(--primary-contrast);border:1px solid var(--border);box-shadow:0 6px 14px #00000040}.seat-badge__meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem;margin-top:.25rem;width:100%}.seat-badge__meta .seat-badge__pill{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;height:1.4rem;padding:0 .45rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-weight:800;line-height:1;white-space:nowrap}.seat-badge__meta .seat-badge__pill--dealer{background:var(--accent);color:var(--primary-contrast)}.seat-badge__dealer-img{width:3.06rem;height:3.06rem;border-radius:999px;display:inline-block;object-fit:contain;border:none;box-shadow:0 6px 14px #00000040;background:transparent}.seat-dealer-button{position:absolute;width:3.06rem;height:3.06rem;object-fit:contain;border-radius:999px;border:none;box-shadow:0 8px 18px #00000052;background:transparent;z-index:8;pointer-events:none}.seat-badge--seat-1 .seat-dealer-button--seat-1{left:50%;top:calc(0% - 1.53rem);transform:translate(-50%,-50%)}.seat-badge--seat-2 .seat-dealer-button--seat-2{right:calc(0% - 1.53rem);top:50%;transform:translate(50%,-50%)}.seat-badge--seat-3 .seat-dealer-button--seat-3{left:50%;bottom:calc(0% - 1.53rem);transform:translate(-50%,50%)}.seat-badge--seat-4 .seat-dealer-button--seat-4{left:calc(0% - 1.53rem);top:50%;transform:translate(-50%,-50%)}.seat-badge__meta .seat-badge__pill--hearts,.seat-badge__meta .seat-badge__pill--diamonds{background:#fff;color:#ef4444;border-color:#ef444440}.seat-badge__meta .seat-badge__pill--clubs,.seat-badge__meta .seat-badge__pill--spades{background:#fff;color:#0f172a;border-color:#0f172a1f}.card-table-grid{--grid-side: clamp(12rem, 20vw, 20rem);--grid-center: clamp(16rem, 30vw, 25rem);--grid-top: clamp(6rem, 12vh, 8rem);--grid-middle: clamp(16rem, 32vh, 25rem);--grid-bottom: clamp(12rem, 24vh, 20rem);position:relative;display:grid;grid-template-columns:var(--grid-side) var(--grid-center) var(--grid-side);grid-template-rows:minmax(var(--grid-top),max-content) minmax(var(--grid-middle),max-content) minmax(var(--grid-bottom),max-content);grid-template-areas:"share-link player-3 scoreboard" "player-2 card-table player-4" "hud-space player-1 ."}.card-table-grid .table{width:100%}.card-table-grid .table-status-wrapper{position:relative;width:100%;height:100%;display:flex;justify-content:center;align-items:center}.card-table-grid .table-status-message{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:40;padding:var(--spacing-sm) var(--spacing-lg);border-radius:999px;background:var(--surface-alpha);color:var(--text);font-size:var(--font-size-base);font-weight:600;letter-spacing:.02em;text-transform:none;width:min(96%,44rem);max-width:96%;text-align:center;box-shadow:0 .4rem 1rem #00000059,inset 0 0 0 1px var(--border-alpha)}.card-table-grid .share-link{display:flex;flex-direction:column;gap:.35rem;align-items:flex-start;padding:.5rem .6rem;border-radius:.8rem;background:var(--surface-alpha);border:1px solid var(--border-alpha);box-shadow:0 .4rem 1rem #00000040,inset 0 0 0 1px var(--border-alpha);max-width:min(90vw,18rem)}.card-table-grid .share-link__label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:700}.card-table-grid .share-link__row{display:flex;align-items:center;gap:.4rem}.card-table-grid .share-link__url{font-size:.8rem;color:var(--text);word-break:break-all}.card-table-grid .share-link__copy{border:1px solid var(--border-alpha);background:var(--surface-2);color:var(--text);border-radius:.5rem;width:28px;height:28px;display:grid;place-items:center;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.card-table-grid .share-link__copy:hover{transform:translateY(-1px);border-color:var(--focus);box-shadow:0 10px 20px var(--primary-glow)}.card-table-grid .share-link__copy:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.card-table-grid .share-link__copy svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.card-table-grid .share-link__status{font-size:.75rem;color:var(--success);font-weight:700}.card-table-grid .player-slot-empty{display:flex;flex-direction:column;align-items:center;gap:.5rem}.card-table-grid .player-slot-empty--selectable{cursor:pointer}.card-table-grid .player-slot-empty__icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--surface-2);border:1px dashed var(--border-alpha);color:var(--text-muted)}.card-table-grid .player-slot-empty__icon svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.card-table-grid .player-slot-empty__text{opacity:.9;font-weight:700;color:var(--text)}.card-table-grid .player-slot-empty__actions{display:flex;flex-direction:column;gap:.35rem;width:100%;align-items:center}.card-table-grid .player-slot-empty__button{padding:.4rem .8rem;border-radius:.6rem;border:1px solid transparent;background:var(--primary);color:var(--primary-contrast);font-weight:700;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease;opacity:.95;box-shadow:0 10px 20px var(--primary-glow)}.card-table-grid .player-slot-empty__button:hover{transform:translateY(-1px);opacity:1}.card-table-grid .player-slot-empty__button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.card-table-grid .player-slot-empty__button:disabled{cursor:not-allowed;opacity:.6;box-shadow:none;transform:none}.card-table-grid .player-slot-empty__button--ghost{background:transparent;border-color:var(--border);color:var(--text);box-shadow:none}.card-table-grid .player-slot-empty__button--ghost:hover{background:var(--surface-2)}.card-table-grid .player-1,.card-table-grid .player-2,.card-table-grid .player-3,.card-table-grid .player-4{display:flex;position:relative;z-index:10}.card-table-grid .player-1{flex-direction:column;align-items:center;padding-top:.5rem}.card-table-grid .player-3{height:100%;justify-content:flex-end;flex-direction:column;padding-bottom:.5rem}.card-table-grid .player-2,.card-table-grid .player-4{width:100%;height:100%;display:flex;align-items:center}.card-table-grid .player-2{justify-content:flex-end;padding-right:.5rem}.card-table-grid .player-4{justify-content:flex-start;padding-left:.5rem}.card-table-grid .spectators-overlay{position:absolute;left:1.2rem;bottom:1.2rem;padding:.6rem .8rem;border-radius:.9rem;background:var(--surface);border:1px solid var(--border);box-shadow:0 .6rem 1.2rem #00000040,inset 0 0 0 1px var(--border-alpha);min-width:9rem;max-width:14rem}.card-table-grid .spectators-overlay__title{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--text-muted);margin-bottom:.4rem}.card-table-grid .spectators-overlay__list{display:flex;flex-direction:column;gap:.35rem}.card-table-grid .spectators-overlay__item{display:flex;align-items:center;justify-content:space-between;gap:.4rem;font-size:.85rem;color:var(--text);font-weight:600}.card-table-grid .spectators-overlay__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-table-grid .spectators-overlay__remove{display:inline-flex;align-items:center;justify-content:center;width:1.05rem;height:1.05rem;border-radius:999px;border:1px solid var(--danger);background:transparent;color:var(--danger);cursor:pointer;padding:0;transition:transform .12s ease,background .12s ease,box-shadow .12s ease,border-color .12s ease,color .12s ease}.card-table-grid .spectators-overlay__remove:hover{transform:translateY(-1px);background:var(--danger);color:var(--primary-contrast);box-shadow:0 8px 18px #00000040}.card-table-grid .spectators-overlay__remove:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.card-table-grid .spectators-overlay__remove svg{width:.6rem;height:.6rem;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round}.card-table-grid .rules-button{position:relative;z-index:12;padding:.55rem 1rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-alpha);color:var(--text);font-weight:700;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.card-table-grid .rules-button:hover{transform:translateY(-1px);border-color:var(--focus);box-shadow:0 10px 20px var(--primary-glow)}.card-table-grid .rules-button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.card-table-grid .hud-space{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:.6rem;padding:1.2rem}@media(max-width:600px){.card-table-grid{--grid-side: clamp(6.5rem, 18vw, 9.5rem)}.card-table-grid .player-2,.card-table-grid .player-4{width:auto}}@layer components{.scoreboard{display:flex;flex-direction:column;width:var(--scoreboard-width);border-radius:var(--radius-sm);overflow:hidden;box-shadow:0 6px 18px #0000002e;font-family:Helvetica Neue,Arial,sans-serif;color:var(--text);background:var(--surface)}.scoreboard__team{display:grid;place-items:center;height:var(--scoreboard-row-height);font-size:var(--font-size-lg);font-weight:700;letter-spacing:.02em}.scoreboard__team--ns{background:linear-gradient(135deg,var(--primary),var(--focus))}.scoreboard__team--ew{background:linear-gradient(135deg,var(--danger),var(--danger))}}.rules-dialog-backdrop{position:fixed;inset:0;background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1200}.rules-dialog-backdrop__close{position:absolute;inset:0;background:transparent;border:none;cursor:pointer}.rules-dialog{position:relative;width:min(720px,92vw);max-height:min(80vh,720px);overflow:auto;border-radius:1.1rem;padding:1.4rem 1.5rem 1.6rem;color:var(--text);background:radial-gradient(circle at 10% 10%,rgba(var(--primary-rgb),.12),transparent 55%),linear-gradient(135deg,var(--surface),var(--surface-2));border:1px solid rgba(var(--muted-rgb),.25);box-shadow:0 30px 60px #00000080,inset 0 1px rgba(var(--text-rgb),.05);z-index:1}.rules-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.rules-dialog__title{margin:0;font-size:clamp(1.25rem,2.6vw,1.75rem)}.rules-dialog__close{border:none;background:rgba(var(--muted-rgb),.12);color:var(--text);width:36px;height:36px;border-radius:999px;cursor:pointer;font-size:1.4rem;line-height:1;display:grid;place-items:center;transition:transform .14s ease,background .14s ease,box-shadow .14s ease}.rules-dialog__close:hover{transform:translateY(-1px);background:rgba(var(--muted-rgb),.25);box-shadow:0 10px 20px #00000059}.rules-dialog__body{font-size:.95rem;color:rgba(var(--text-rgb),.85);line-height:1.6}.rules-dialog__body p{margin-top:0;margin-bottom:1rem}.rules-dialog__body ul{margin:0;padding-left:1.2rem;display:grid;gap:.5rem}.rules-dialog__body li{margin:0}.tutorial-action-dialog{position:relative;display:grid;max-width:min(360px,80vw);color:var(--text);z-index:900}.tutorial-action-dialog__layer{grid-area:1 / 1;display:grid;gap:.5rem;padding:.9rem 1rem;border-radius:.9rem;background:rgba(var(--surface-rgb),.92);border:1px solid var(--border-alpha);box-shadow:0 12px 28px #0006;transition:opacity .32s ease,transform .32s ease;will-change:opacity,transform}.tutorial-action-dialog__layer--next{opacity:0;transform:translate(16px) scale(.98);pointer-events:none}.tutorial-action-dialog__layer--fade-in{opacity:1;transform:translate(0) scale(1);pointer-events:auto}.tutorial-action-dialog__layer--fade-out{opacity:0;transform:translate(-60px);pointer-events:none}.tutorial-action-dialog__title{font-weight:700;font-size:.95rem}.tutorial-action-dialog__body{font-size:.85rem;line-height:1.4;white-space:pre-line}.tutorial-action-dialog__actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-start}.tutorial-action-dialog__action{border:1px solid rgba(var(--primary-rgb),.5);background:rgba(var(--primary-rgb),.18);color:var(--text);padding:.35rem .8rem;border-radius:999px;font-weight:600;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.tutorial-action-dialog__action:hover{transform:translateY(-1px);border-color:rgba(var(--primary-rgb),.7);box-shadow:0 8px 18px #00000059}.tutorial-action-dialog__action:disabled{cursor:not-allowed;opacity:.5;transform:none;box-shadow:none}.tutorial-action-dialog__secondary{border:1px solid var(--border-alpha);background:transparent;color:rgba(var(--text-rgb),.82);padding:.35rem .8rem;border-radius:999px;font-weight:600;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,color .12s ease}.tutorial-action-dialog__secondary:hover{transform:translateY(-1px);border-color:rgba(var(--muted-rgb),.7);color:var(--text);box-shadow:0 8px 18px #00000040}.poker-table{width:100%;height:100%;position:relative}.poker-table .trump-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:clamp(5rem,10vw,8rem);font-weight:900;opacity:1;pointer-events:none;z-index:1}.poker-table .trump-indicator[data-suit=hearts],.poker-table .trump-indicator[data-suit=diamonds]{color:red}.poker-table .trump-indicator[data-suit=spades],.poker-table .trump-indicator[data-suit=clubs]{color:#000}.poker-table .play-grid{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;pointer-events:none;z-index:11}.poker-table .played-card-grid{--played-card-grid-size: clamp(3.75rem, 6vw, 4.75rem);display:grid;grid-template-columns:var(--played-card-grid-size) var(--played-card-grid-size) var(--played-card-grid-size);grid-template-rows:var(--played-card-grid-size) var(--played-card-grid-size) var(--played-card-grid-size);justify-items:center;align-items:center;justify-content:center;align-content:center;margin:0 auto;pointer-events:auto;grid-template-areas:". player-3 ." "player-2 . player-4" ". player-1 ."}.poker-table .played-card-grid .grid-space{display:flex;justify-content:center;align-items:center;position:relative}.poker-table .played-card-grid .played-card-slot{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center;overflow:visible}.poker-table .played-card-grid .played-card{position:absolute;transition:transform .12s ease}.poker-table .played-card-grid .played-card .play-card{width:var(--played-card-width)}.poker-table .played-card-grid .played-card.played-card--winner .play-card{box-shadow:0 0 0 3px #facc15,0 0 18px 8px #facc15e6,0 0 32px 14px #facc1580}.poker-table .played-card-grid .kitty{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:relative;overflow:visible}.poker-table .played-card-grid .kitty-stack{position:relative;width:var(--kitty-card-width);aspect-ratio:222.78 / 323.56}.poker-table .played-card-grid .kitty-card{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.poker-table .played-card-grid .kitty-card .play-card{width:var(--kitty-card-width)}.poker-table .played-card-grid .deck-to-deal{background:transparent;border:none;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;cursor:pointer;color:#fef3c7;text-transform:none;font-size:1rem}.poker-table .played-card-grid .deck-to-deal:disabled{cursor:default;opacity:.85}.poker-table .played-card-grid .deck-to-deal__label{font-size:.85rem;letter-spacing:.05em;text-transform:uppercase}.bidding-overlay{position:absolute;display:flex;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:radial-gradient(circle at 20% 20%,var(--primary-glow),rgba(var(--surface-rgb),.88));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-md);color:var(--text);align-items:center;min-width:clamp(9rem,28vw,12rem);font-size:var(--font-size-base);border:1px solid rgba(var(--muted-rgb),.35);box-shadow:0 18px 36px #00000059,inset 0 0 0 1px #ffffff0d}.bidding-overlay--stacked{flex-direction:column;align-items:flex-start}.bidding-row{display:flex;gap:var(--spacing-md);align-items:center;flex-wrap:nowrap;width:100%;justify-content:center}.bidding-overlay button{border:1px solid rgba(var(--text-rgb),.12);background:linear-gradient(135deg,rgba(var(--primary-rgb),.75),rgba(var(--primary-rgb),.95));color:var(--text);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);font-weight:700;letter-spacing:.01em;font-size:var(--font-size-sm);white-space:nowrap;cursor:pointer;box-shadow:0 10px 20px rgba(var(--surface-rgb),.35);transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.bidding-overlay button:hover:enabled{transform:translateY(-1px);box-shadow:0 12px 24px rgba(var(--primary-rgb),.35)}.bidding-overlay button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.bidding-overlay button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.bidding-overlay input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.bidding-overlay--bottom{top:calc(100% + .75rem);left:50%;transform:translate(-50%);z-index:3}.bidding-overlay--center{inset:0;margin:auto;width:fit-content;height:fit-content;max-width:clamp(10rem,34vw,14rem);flex-direction:column}.choose-trump{display:grid;grid-template-columns:repeat(2,auto);grid-template-rows:auto repeat(2,auto);gap:var(--spacing-xs) var(--spacing-md);align-items:center;width:100%;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);background:rgba(var(--surface-rgb),.4);border:1px solid rgba(var(--text-rgb),.08)}.choose-trump span{grid-column:1 / -1;justify-self:start}.choose-trump label{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--text);padding:.15rem var(--spacing-xs);border-radius:var(--radius-sm);transition:background .12s ease}.choose-trump label:hover{background:rgba(var(--primary-rgb),.2)}.choose-trump__icon{font-size:var(--font-size-xl);line-height:1}.choose-trump__icon--hearts,.choose-trump__icon--diamonds{color:var(--danger)}.choose-trump__icon--clubs,.choose-trump__icon--spades{color:var(--card-face-text);text-shadow:0 1px 2px rgba(var(--surface-rgb),.35)}.discard-message{margin-left:.5rem;color:var(--warning);font-weight:700;font-size:var(--font-size-base);text-shadow:0 2px 6px rgba(0,0,0,.35)}.bidding-overlay__alone-toggle{display:inline-flex;align-items:center;justify-content:center;width:100%;gap:var(--spacing-xs)}.bidding-overlay__alone-toggle--inline{width:auto}.player-ready-overlay{inset:0;display:flex;align-items:center;justify-content:center;z-index:6;pointer-events:none}.player-ready-overlay__content{pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:.65rem;padding:1rem 1.25rem;border-radius:1rem;background:rgba(var(--surface-rgb),.9);border:1px solid rgba(var(--muted-rgb),.35);box-shadow:0 16px 36px #00000073;text-align:center}.player-ready-overlay__title{font-size:1.05rem;font-weight:700;color:var(--text)}.player-ready-overlay__subtitle{margin:0;font-size:.85rem;color:var(--text-muted)}.player-ready-overlay__button{padding:.65rem 1.2rem;border-radius:999px;border:1px solid rgba(var(--primary-rgb),.5);background:linear-gradient(135deg,var(--primary),var(--focus));color:var(--text);font-weight:700;cursor:pointer;box-shadow:0 12px 24px rgba(var(--primary-rgb),.35);transition:transform .12s ease,box-shadow .12s ease}.player-ready-overlay__button:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(var(--primary-rgb),.4)}.euchre-engine{position:relative;width:100%;max-width:none;height:100%;margin:0;padding:0;border-radius:0;display:flex;justify-content:center;align-items:center;background:var(--bg);color:var(--text);box-shadow:none}.euchre-engine--empty{min-height:calc(100vh - var(--header-height, 88px));flex-direction:column;gap:1rem}.euchre-engine__join-container{height:3.5rem;display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap}.euchre-engine__join-button{height:100%;min-width:10rem;padding:0 1.1rem;border-radius:.75rem;border:1px solid transparent;background:var(--primary);color:var(--primary-contrast);font-weight:800;letter-spacing:.01em;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,opacity .14s ease;box-shadow:0 12px 26px var(--primary-glow);opacity:.98}.euchre-engine__join-button:hover{transform:translateY(-1px);opacity:1;filter:brightness(1.05)}.euchre-engine__join-button--secondary{background:transparent;color:var(--text);border:1px solid var(--border);box-shadow:none}.euchre-engine__join-button--secondary:hover{background:var(--surface-2);filter:none}.euchre-engine__join-button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none;filter:none}.euchre-engine__join-button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.euchre-engine__join-status{height:100%;min-width:10rem;padding:0 1.1rem;border-radius:.75rem;border:1px solid var(--border);background:var(--surface-alpha);color:var(--text);font-weight:700;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow);opacity:.95}.euchre-engine__status{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem;margin-bottom:1.25rem;padding:.75rem 1rem;border-radius:.75rem;background:var(--surface-alpha);border:1px solid var(--border-alpha);box-shadow:var(--shadow);color:var(--text);font-weight:600}.euchre-engine__status button{justify-self:start;padding:.45rem .9rem;border-radius:.65rem;border:1px solid transparent;background:var(--primary);color:var(--primary-contrast);font-weight:700;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease,filter .12s ease;opacity:.98;box-shadow:0 10px 20px var(--primary-glow)}.euchre-engine__status button:hover:not(:disabled){transform:translateY(-1px);opacity:1;filter:brightness(1.05)}.euchre-engine__status button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none;filter:none}.euchre-engine__status button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.report-issue-backdrop{position:fixed;inset:0;background-color:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:reportIssueFadeIn .2s ease-out}@keyframes reportIssueFadeIn{0%{opacity:0}to{opacity:1}}.report-issue{background:var(--surface);color:var(--text);border-radius:12px;box-shadow:var(--shadow);width:min(92vw,460px);animation:reportIssueSlideUp .2s ease-out}@keyframes reportIssueSlideUp{0%{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}.report-issue__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 14px;border-bottom:1px solid var(--border)}.report-issue__title{margin:0;font-size:1.1rem;font-weight:700}.report-issue__close{background:transparent;border:none;font-size:1.8rem;line-height:1;color:var(--text-muted);cursor:pointer;padding:0;width:32px;height:32px;display:grid;place-items:center;border-radius:6px;transition:background .2s ease,color .2s ease}.report-issue__close:hover{background:var(--surface-alpha);color:var(--text)}.report-issue__close:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.report-issue__body{padding:20px 24px 24px;display:flex;flex-direction:column;gap:16px}.report-issue__field{display:flex;flex-direction:column;gap:8px}.report-issue__label{font-size:.92rem;font-weight:600;color:var(--text)}.report-issue__select,.report-issue__textarea{width:100%;border-radius:8px;padding:10px 12px;font-size:.95rem;border:1px solid var(--border-alpha);background:var(--surface-alpha);color:var(--text);transition:border-color .2s ease,box-shadow .2s ease}.report-issue__select:focus,.report-issue__textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.25)}.report-issue__textarea{resize:vertical;min-height:110px}.report-issue__helper{display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-muted)}.report-issue__error{color:var(--danger);font-weight:600;font-size:.8rem}.report-issue__error--form{background:rgba(var(--danger-rgb),.08);border:1px solid rgba(var(--danger-rgb),.3);padding:10px 12px;border-radius:8px}.report-issue__message{margin:0;font-size:.95rem;line-height:1.6;color:var(--text-muted)}.report-issue__actions{display:flex;justify-content:flex-end;gap:12px}.report-issue__actions--single{justify-content:flex-end}.report-issue__button{padding:10px 18px;border-radius:8px;border:none;font-size:.92rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.report-issue__button--cancel{background:var(--surface-alpha);color:var(--text)}.report-issue__button--cancel:hover{background:var(--surface-2)}.report-issue__button--primary{background:var(--primary);color:var(--primary-contrast);box-shadow:0 10px 18px var(--primary-glow)}.report-issue__button--primary:hover{background:var(--focus)}.report-issue__button:disabled{cursor:not-allowed;opacity:.7;box-shadow:none;transform:none}.euchre-game-page{position:relative;min-height:100%;height:100%;background:var(--bg);color:var(--text);overflow:hidden}.euchre-game-page__backdrop{position:absolute;inset:0;pointer-events:none;overflow:hidden}.euchre-game-page__orb{display:none}.euchre-game-page__content{position:relative;z-index:1;width:100%;padding:0;display:block;height:100%}.euchre-game-page__content .euchre-game-page__status{position:absolute;top:80px;left:50%;transform:translate(-50%);width:fit-content;max-width:min(90%,520px);padding:8px 16px;border-radius:999px;background:var(--surface-alpha);color:var(--text);border:1px solid var(--border-alpha);font-size:.95rem;font-weight:600;box-shadow:var(--shadow);text-align:center;pointer-events:none;z-index:3}.euchre-game-page__main{width:100%;max-width:none;margin:0;display:flex;justify-content:center;min-height:100%;height:100%}.euchre-game-page__header{position:sticky;top:0;width:100%;z-index:3;padding:0;background:var(--surface-alpha);border-bottom:1px solid var(--border-alpha);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.euchre-game-page__header-inner{width:100%;margin:0}.euchre-game-page__header-inner .app-header{margin:0;width:100%;max-width:100vw;border-radius:0;box-sizing:border-box;min-height:var(--header-height)}.tutorial-overlay{position:fixed;inset:0;z-index:9999;opacity:0;transition:opacity .16s ease}.tutorial-overlay--visible{opacity:1}.tutorial-overlay__dimmer{background:rgba(var(--surface-rgb),.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tutorial-overlay__dimmer-segment{position:fixed;background:rgba(var(--surface-rgb),.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tutorial-overlay__dimmer--no-blur{-webkit-backdrop-filter:none;backdrop-filter:none}.tutorial-overlay__spotlight{border-radius:14px;box-shadow:0 0 0 9999px #0000008c;outline:2px solid rgba(var(--text-rgb),.9);pointer-events:none;transition:top .16s ease,left .16s ease,width .16s ease,height .16s ease,opacity .16s ease,transform .16s ease}.tutorial-overlay__spotlight--active{opacity:1;transform:scale(1)}.tutorial-overlay__card{border-radius:1rem;padding:1rem 1.1rem;color:var(--text);background:radial-gradient(circle at 15% 15%,rgba(var(--primary-rgb),.16),transparent 55%),linear-gradient(135deg,rgba(var(--surface-rgb),.96),rgba(var(--surface-rgb),.98));border:1px solid var(--border-alpha);box-shadow:0 18px 36px #00000073,inset 0 1px #ffffff08;transition:top .16s ease,left .16s ease,opacity .16s ease,transform .16s ease}.tutorial-overlay__content{opacity:1;transform:translateY(0);animation:tutorial-fade .16s ease}@keyframes tutorial-fade{0%{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.tutorial-overlay__title{font-size:.98rem;font-weight:700;margin-bottom:.4rem}.tutorial-overlay__body{font-size:.86rem;line-height:1.45;color:rgba(var(--text-rgb),.8);margin-bottom:.85rem;white-space:pre-line}.tutorial-overlay__actions{display:flex;gap:.6rem;justify-content:flex-end}.tutorial-overlay__button{border-radius:999px;border:1px solid rgba(148,163,184,.35);padding:.45rem .95rem;font-weight:700;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.tutorial-overlay__button--ghost{background:rgba(var(--surface-rgb),.7);color:var(--text)}.tutorial-overlay__button--ghost:hover{transform:translateY(-1px);border-color:rgba(var(--muted-rgb),.6)}.tutorial-overlay__button--primary{background:linear-gradient(135deg,var(--primary),var(--primary));color:var(--primary-contrast);border-color:rgba(var(--primary-rgb),.5);box-shadow:0 12px 24px rgba(var(--primary-rgb),.35)}.tutorial-overlay__button--primary:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(var(--primary-rgb),.4)}.game-complete-dialog-backdrop{position:fixed;inset:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;padding:2.5rem 1.5rem;z-index:120}.game-complete-dialog{width:min(720px,100%);max-height:min(85vh,900px);background:radial-gradient(circle at 12% 8%,rgba(var(--surface-rgb),.98),rgba(var(--surface-rgb),.95) 48%,rgba(var(--surface-rgb),.92));border-radius:1.4rem;border:1px solid var(--border-alpha);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:1.2rem;padding:2rem;color:var(--text);overflow:auto}.game-complete-dialog__header{display:flex;flex-direction:column;gap:.4rem}.game-complete-dialog__title{margin:0;font-size:1.8rem;font-weight:800;color:var(--text)}.game-complete-dialog__subtitle{margin:0;font-size:1rem;color:var(--text-muted)}.game-complete-dialog__teams{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.game-complete-team{background:rgba(var(--surface-rgb),.65);border-radius:1rem;border:1px solid var(--border-alpha);padding:.8rem;display:flex;flex-direction:column;gap:.5rem}.game-complete-team__label{font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);display:flex;align-items:center;justify-content:space-between;gap:.6rem}.game-complete-team__label--ns{color:var(--primary)}.game-complete-team__label--ew{color:var(--danger)}.game-complete-team__rows{display:flex;flex-direction:column;gap:.2rem}.game-complete-team__row{display:grid;grid-template-columns:1fr auto auto;gap:.5rem;align-items:center;font-size:.9rem}.game-complete-team__rows--scoreless{gap:.12rem}.game-complete-team__row--scoreless{grid-template-columns:1fr}.game-complete-team__name{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-complete-team__score{font-size:1rem;font-weight:800;color:var(--text);letter-spacing:.02em}.game-complete-team__rating{font-weight:700;color:var(--text)}.game-complete-team__delta{font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-muted)}.game-complete-team__delta--up{color:var(--success)}.game-complete-team__delta--down{color:var(--danger)}.game-complete-dialog__cta{align-self:flex-start;padding:.5rem 1.1rem;border-radius:999px;border:1px solid var(--primary-glow);background:linear-gradient(135deg,rgba(var(--primary-rgb),.12),rgba(var(--primary-rgb),.06));color:var(--text);font-weight:700;cursor:pointer}.game-complete-dialog__hint{font-size:.85rem;color:var(--text-muted)}.game-complete-dialog__guest-upgrade{font-size:.9rem;color:var(--text-muted);text-align:center;margin:0;padding:.6rem 1rem;border:1px solid var(--border-alpha);border-radius:.6rem;background:rgba(var(--surface-rgb),.4)}.game-complete-dialog__achievements{background:rgba(var(--surface-rgb),.6);border-radius:1rem;border:1px solid var(--border-alpha);padding:1rem;display:flex;flex-direction:column;gap:.8rem}.game-complete-dialog__achievements-title{font-size:.9rem;font-weight:700;letter-spacing:.02em;color:var(--text)}.game-complete-dialog__achievements-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem}.game-complete-dialog__achievement{display:flex;gap:.7rem;align-items:center;padding:.6rem .7rem;border-radius:.8rem;background:rgba(var(--surface-rgb),.55);border:1px solid rgba(var(--muted-rgb),.12)}.game-complete-dialog__achievement-icon{width:2.4rem;height:2.4rem;border-radius:.7rem;display:grid;place-items:center;background:rgba(var(--muted-rgb),.12);border:1px solid rgba(var(--muted-rgb),.2)}.game-complete-dialog__achievement-icon img{width:1.35rem;height:1.35rem}.game-complete-dialog__achievement-info{display:flex;flex-direction:column;gap:.1rem}.game-complete-dialog__achievement-name{font-size:.9rem;font-weight:700;color:var(--text)}.game-complete-dialog__achievement-desc{font-size:.75rem;color:var(--text-muted)}.game-complete-dialog__actions{display:flex;justify-content:space-between;gap:.8rem}.game-complete-dialog__leave,.game-complete-dialog__play{flex:1 1 0;padding:.75rem 1rem;border-radius:.8rem;border:1px solid transparent;font-weight:700;cursor:pointer;min-width:0;transition:background-color .14s ease,transform .12s ease,box-shadow .16s ease}.game-complete-dialog__actions .game-complete-dialog__leave:only-child{flex:1 1 auto}.game-complete-dialog__leave{background:rgba(var(--muted-rgb),.12);color:var(--text);border-color:rgba(var(--muted-rgb),.12)}.game-complete-dialog__play{background:var(--primary);color:var(--text);border-color:transparent;box-shadow:0 6px 18px rgba(var(--primary-rgb),.1)}.game-complete-dialog__leave:hover{background:rgba(var(--muted-rgb),.16);border-color:rgba(var(--muted-rgb),.18);transform:translateY(-1px)}.game-complete-dialog__play:hover{box-shadow:0 12px 32px rgba(var(--primary-rgb),.18);transform:translateY(-1px) scale(1.01)}.game-complete-dialog__play:focus-visible{outline:3px solid rgba(var(--primary-rgb),.16);outline-offset:3px}.game-complete-dialog__play:disabled{opacity:.5;cursor:default}@media(max-width:640px){.game-complete-dialog{padding:1.4rem}.game-complete-dialog__actions{flex-direction:column}}.logged-in-active-game{min-height:100%;height:100%;box-sizing:border-box;width:100%;display:flex}.logged-in-active-game>*{flex:1 0 auto;height:100%}.tos-modal-backdrop{position:fixed;inset:0;background-color:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:1100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:tosFadeIn .2s ease-out}@keyframes tosFadeIn{0%{opacity:0}to{opacity:1}}.tos-modal{width:min(900px,92vw);max-height:88vh;background:var(--card-face);border-radius:16px;box-shadow:0 18px 60px rgba(var(--surface-rgb),.35);display:flex;flex-direction:column;overflow:hidden;animation:tosSlideUp .2s ease-out}@keyframes tosSlideUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.tos-modal__header{padding:24px 28px 12px;border-bottom:1px solid var(--card-border)}.tos-modal__title{font-size:1.5rem;font-weight:700;margin:0 0 6px;color:var(--card-face-text)}.tos-modal__meta{margin:0;color:var(--card-face-text);opacity:.85;font-size:.95rem}.tos-modal__body{padding:20px 28px;color:var(--card-face-text);line-height:1.6;font-size:.98rem}.tos-modal__intro{margin:0 0 14px;color:var(--card-face-text)}.tos-modal__checkbox{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--card-border);border-radius:12px;background:var(--card-face);color:var(--card-face-text)}.tos-modal__checkbox+.tos-modal__checkbox{margin-top:12px}.tos-modal__checkbox input{margin-top:3px}.tos-modal__checkbox a{color:var(--primary);font-weight:600;text-decoration:none}.tos-modal__checkbox a:hover{text-decoration:underline}.tos-modal__actions{display:flex;flex-wrap:wrap;gap:12px;padding:16px 28px 24px;border-top:1px solid var(--card-border);justify-content:flex-end;background:var(--card-face)}.tos-modal__button{padding:10px 18px;border-radius:10px;font-size:.95rem;font-weight:600;border:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background-color .2s}.tos-modal__button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.tos-modal__button--primary{background:var(--primary);color:var(--primary-contrast);box-shadow:0 10px 20px rgba(var(--primary-rgb),.25)}.tos-modal__button--primary:hover:not(:disabled){background:var(--focus);transform:translateY(-1px)}.tos-modal__button--danger{background:rgba(var(--danger-rgb),.12);color:var(--danger)}.tos-modal__button--danger:hover:not(:disabled){background:rgba(var(--danger-rgb),.2)}.leaderboard-dialog-backdrop{position:fixed;inset:0;background:var(--overlay);display:flex;align-items:stretch;justify-content:stretch;padding:0;z-index:120}.leaderboard-dialog-backdrop--compact{align-items:center;justify-content:center;padding:1.25rem}.leaderboard-dialog{width:100%;height:100%;max-height:none;background:var(--surface);border-radius:0;border:1px solid rgba(var(--muted-rgb),.18);box-shadow:0 36px 70px #00000073,inset 0 0 0 1px #ffffff0d;display:flex;flex-direction:column;gap:1.2rem;padding:2rem 2.4rem 2.2rem;overflow:hidden;color:var(--text)}.leaderboard-dialog--compact{width:min(36rem,100%);height:auto;max-height:min(84vh,52rem);border-radius:1rem;padding:1.4rem 1.5rem 1.5rem}.leaderboard-dialog__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem}.leaderboard-dialog__eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;color:var(--text-muted)}.leaderboard-dialog__title{margin:.4rem 0 .35rem;font-size:2rem;font-weight:800;color:var(--text)}.leaderboard-dialog__subtitle{margin:0;font-size:1rem;color:var(--text-muted)}.leaderboard-dialog__tabs{display:inline-flex;gap:.6rem}.leaderboard-dialog__tab{border:1px solid transparent;background:var(--surface-alpha);padding:.45rem 1.1rem;border-radius:999px;font-weight:700;font-size:.95rem;color:var(--text)}.leaderboard-dialog__tab:disabled{opacity:.5;cursor:not-allowed}.leaderboard-dialog__tab.is-active{background:rgba(var(--primary-rgb),.22);border-color:rgba(var(--primary-rgb),.45);color:var(--text)}.leaderboard-dialog__body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:1.4rem;overflow:auto;padding-right:.4rem}.leaderboard-dialog__body--stats{border-top:1px solid rgba(var(--muted-rgb),.2);padding-top:1rem}.leaderboard-dialog__close{border:none;background:rgba(var(--muted-rgb),.16);color:var(--text);width:2.6rem;height:2.6rem;border-radius:999px;font-size:1.1rem;cursor:pointer;transition:background .15s ease,transform .15s ease}.leaderboard-dialog__close:hover{background:rgba(var(--muted-rgb),.28);transform:translateY(-1px)}.leaderboard-dialog__controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:var(--surface-alpha);border-radius:.9rem}.leaderboard-dialog__toggle{display:flex;align-items:center;gap:.6rem;font-size:.95rem;color:var(--text)}.leaderboard-dialog__toggle input{accent-color:var(--primary);width:1rem;height:1rem}.leaderboard-dialog__hint{color:rgba(var(--muted-rgb),.9);font-size:.9rem}.leaderboard-dialog__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.1rem;overflow:visible;padding-right:.5rem;min-height:0;flex:1 0 auto}.leaderboard-stats{display:flex;flex-direction:column;gap:1.2rem}.leaderboard-stats__status{font-size:.95rem;color:var(--text-muted)}.leaderboard-stats__grid{display:grid;grid-template-columns:1fr;gap:1rem;max-width:520px;margin:0 auto}.leaderboard-stats__card{background:var(--surface-alpha);border-radius:1rem;border:none;padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:.65rem}.leaderboard-stats__row{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.95rem;color:var(--text)}.leaderboard-stats__row strong{color:var(--text);font-size:1rem}.leaderboard-card{background:var(--surface-alpha);border-radius:1rem;border:1px solid var(--border-alpha);padding:1rem;display:flex;flex-direction:column;gap:.4rem;min-height:280px}.leaderboard-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.leaderboard-card__title{margin:0;font-size:1.05rem;font-weight:700;color:var(--text)}.leaderboard-card__subtitle{margin-top:.1rem;font-size:.85rem;color:var(--text-muted)}.leaderboard-card__value-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:var(--success)}.leaderboard-card__error,.leaderboard-card__note{font-size:.8rem;line-height:1.1;min-height:1.1rem;color:var(--danger)}.leaderboard-card__note{color:var(--text-muted);visibility:hidden}.leaderboard-card__note--visible{visibility:visible}.leaderboard-card__body{flex:1 1 auto;min-height:0}.leaderboard-card__rows{display:flex;flex-direction:column;gap:.08rem}.leaderboard-row{display:flex;align-items:center;justify-content:space-between;gap:.3rem;padding:.18rem .3rem;border-radius:.7rem;background:var(--surface-alpha)}.leaderboard-row--me{background:rgba(var(--primary-rgb),.18);box-shadow:inset 0 0 0 1px rgba(var(--primary-rgb),.35)}.leaderboard-row__rank{font-size:.8rem;color:var(--text-muted);min-width:2.8rem}.leaderboard-row__profile{display:flex;align-items:center;gap:.5rem;flex:1 1 auto;min-width:0}.leaderboard-row__name{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leaderboard-row__value{font-weight:700;font-size:.82rem;color:var(--text)}.leaderboard-card__footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.4rem}.leaderboard-card__pager{background:var(--surface-alpha);border:1px solid var(--border-alpha);color:var(--text);padding:.35rem .7rem;border-radius:.6rem;cursor:pointer;transition:background .15s ease,transform .15s ease}.leaderboard-card__pager:disabled{opacity:.4;cursor:default}.leaderboard-card__pager:not(:disabled):hover{background:var(--surface-alpha);transform:translateY(-1px)}.leaderboard-card__page{font-size:.85rem;color:rgba(var(--muted-rgb),.9)}.leaderboard-card__loading,.leaderboard-card__empty{font-size:.9rem;color:var(--text-muted)}.leaderboard-card__loading-inline{font-size:.75rem;color:rgba(var(--muted-rgb),.9);margin-left:auto}.leaderboard-achievements{display:flex;flex-direction:column;gap:1rem}.leaderboard-achievements__hint{font-size:.95rem;color:rgba(var(--muted-rgb),.9)}.leaderboard-achievements__summary{font-size:.95rem;color:rgba(var(--text-rgb),.85)}.leaderboard-achievements__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.leaderboard-achievement{background:rgba(var(--surface-rgb),.7);border-radius:.9rem;border:1px solid rgba(var(--muted-rgb),.18);padding:.9rem 1rem;display:flex;flex-direction:column;gap:.5rem}.leaderboard-card__aspirational{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;text-align:center;padding:1.25rem .75rem}.leaderboard-card__aspirational-eyebrow{font-size:.85rem;color:var(--text-muted);text-transform:none}.leaderboard-card__aspirational-title{margin:0;font-size:1.15rem;font-weight:800;color:var(--text)}.leaderboard-card__aspirational-copy{margin:0;color:rgba(var(--text-rgb),.85);font-size:.95rem;max-width:34rem}.leaderboard-card__play-cta{margin-top:.5rem;padding:.55rem 1.1rem;border-radius:.75rem;border:1px solid transparent;background:var(--primary);color:var(--primary-contrast);font-weight:800;cursor:pointer;box-shadow:0 12px 26px var(--primary-glow);transition:transform .14s ease,box-shadow .14s ease,opacity .14s ease,filter .14s ease}.leaderboard-card__play-cta:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.05);opacity:1}.leaderboard-card__play-cta:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.leaderboard-card__play-cta:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.leaderboard-achievement.is-locked{opacity:.55}.leaderboard-achievement__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.leaderboard-achievement__title-wrap{display:flex;align-items:flex-start;gap:.5rem}.leaderboard-achievement__icon{width:2.6rem;height:2.6rem;border-radius:.8rem;background:var(--surface-alpha);border:1px solid rgba(var(--muted-rgb),.2);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.leaderboard-achievement__icon img{width:1.6rem;height:1.6rem}.leaderboard-achievement__title{margin:0;font-size:1rem;font-weight:700;color:var(--text)}.leaderboard-achievement__status{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--success)}.leaderboard-achievement.is-locked .leaderboard-achievement__status{color:rgba(var(--muted-rgb),.9)}.leaderboard-achievement__description{margin:0;color:var(--text);font-size:.92rem}.leaderboard-achievement__date{font-size:.8rem;color:var(--text-muted)}@media(max-width:720px){.leaderboard-dialog{padding:1.4rem 1.2rem 1.6rem}.leaderboard-dialog__grid{grid-template-columns:1fr}.leaderboard-dialog__header{flex-direction:column}}.achievement-awarded-backdrop{position:fixed;inset:0;z-index:2100;display:flex;align-items:center;justify-content:center;background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.achievement-awarded-dialog{width:min(92vw,520px);border-radius:16px;color:var(--text);border:1px solid var(--border-alpha);background:var(--surface);box-shadow:var(--shadow);animation:achievement-awarded-slide-up .2s ease-out}@keyframes achievement-awarded-slide-up{0%{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}.achievement-awarded-dialog__header{padding:20px 24px 14px;border-bottom:1px solid var(--border-alpha)}.achievement-awarded-dialog__title{margin:0;font-size:1.15rem;font-weight:700}.achievement-awarded-dialog__subtitle{margin:6px 0 0;color:var(--text-muted);font-size:.92rem}.achievement-awarded-dialog__list{padding:16px 24px;display:grid;gap:10px}.achievement-awarded-dialog__item{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;background:var(--surface-alpha);border:1px solid var(--border-alpha)}.achievement-awarded-dialog__icon{width:38px;height:38px;border-radius:8px;display:grid;place-items:center;background:var(--surface-alpha);border:1px solid var(--border-alpha)}.achievement-awarded-dialog__icon img{width:22px;height:22px}.achievement-awarded-dialog__content{display:flex;flex-direction:column;gap:2px}.achievement-awarded-dialog__name{font-weight:700;color:var(--text);font-size:.94rem}.achievement-awarded-dialog__description{color:var(--text-muted);font-size:.8rem}.achievement-awarded-dialog__actions{padding:0 24px 22px;display:flex;justify-content:flex-end}.achievement-awarded-dialog__button{border:none;border-radius:10px;padding:10px 18px;font-size:.9rem;font-weight:700;cursor:pointer;color:var(--primary-contrast);background:var(--primary);box-shadow:0 10px 24px var(--primary-glow)}.achievement-awarded-dialog__button:hover{background:var(--focus)}.matchmaking-queue-pill{position:fixed;right:20px;bottom:84px;z-index:9998;border-radius:999px;border:1px solid var(--border-alpha);background:rgba(var(--surface-rgb),.96);color:var(--text);padding:8px 12px;display:flex;gap:8px;align-items:center;box-shadow:0 10px 24px #0000006b}.matchmaking-queue-pill__text{font-size:13px;font-weight:600;white-space:nowrap}.matchmaking-queue-pill__button{border:1px solid rgba(var(--muted-rgb),.55);border-radius:999px;background:transparent;color:var(--text);font-size:12px;font-weight:600;padding:4px 10px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.matchmaking-queue-pill__button:hover{transform:translateY(-1px);border-color:rgba(var(--muted-rgb),.7)}.matchmaking-queue-pill__button--cancel{border:1px solid rgba(var(--danger-rgb),.55);background:rgba(var(--danger-rgb),.22);color:rgba(var(--danger-rgb),.9)}.public-page-card{width:min(920px,92vw);margin:2rem auto 3rem;padding:0;color:var(--text)}.public-page-card__header{padding:0 0 12px;border-bottom:1px solid var(--border)}.public-page-card__title{margin:0;font-size:clamp(1.8rem,2.6vw,2.4rem);font-weight:700;color:var(--text)}.public-page-card__meta{margin:8px 0 0;color:var(--text-muted);font-size:.98rem}.public-page-card__body{padding:16px 0 0;color:var(--text);line-height:1.7;font-size:1rem}.public-page-card__section+.public-page-card__section{margin-top:20px}.public-page-card__section-title{margin:0 0 10px;font-size:1.15rem;color:var(--text)}.public-page-card__list{margin:0 0 8px 20px}.public-page-card a{color:var(--primary);font-weight:600;text-decoration:none}.public-page-card a:hover{text-decoration:underline}.public-page-card a:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:6px}.auth-transition-overlay{position:fixed;inset:0;z-index:1500;display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-transition-overlay__card{width:min(100%,30rem);border-radius:1.1rem;border:1px solid var(--border-alpha);background:radial-gradient(circle at 12% 8%,rgba(var(--surface-rgb),.98),rgba(var(--surface-rgb),.95) 58%,rgba(var(--surface-rgb),.92));color:var(--text);padding:1rem 1rem 1.05rem;box-shadow:var(--shadow)}.auth-transition-overlay__top{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.auth-transition-overlay__provider-badge{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--border-alpha);border-radius:999px;padding:.35rem .62rem;color:var(--text-muted);font-size:.84rem}.auth-transition-overlay__provider-icon{width:1rem;height:1rem;flex:0 0 1rem}.auth-transition-overlay__secure-chip{border-radius:999px;border:1px solid var(--primary-glow);color:var(--accent);padding:.2rem .38rem;font-size:.75rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.auth-transition-overlay__lock-icon{width:.95rem;height:.95rem;display:block}.auth-transition-overlay__title{margin:.85rem 0 0;font-size:1.2rem;font-weight:700;letter-spacing:.01em}.auth-transition-overlay__message{margin:.45rem 0 0;color:var(--text-muted);line-height:1.45}.auth-transition-overlay__progress{margin-top:.8rem;height:.42rem;width:100%;border-radius:999px;background:rgba(var(--muted-rgb),.12);overflow:hidden}.auth-transition-overlay__progress-bar{display:block;width:38%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--primary-glow));animation:auth-transition-slide 1.2s ease-in-out infinite}.auth-transition-overlay__hint{margin:.55rem 0 0;color:var(--text-muted);font-size:.86rem}.auth-transition-overlay__detail{margin:.6rem 0 0;color:var(--text-muted);font-size:.9rem;line-height:1.45}.auth-transition-overlay__actions{margin-top:.9rem;display:flex;align-items:center;gap:.55rem;justify-content:flex-end}.auth-transition-overlay__actions--loading{justify-content:flex-start}.auth-transition-overlay__waiting-text{margin-right:auto;color:var(--text-muted);font-size:.84rem}.auth-transition-overlay__button{border-radius:.65rem;font-size:.9rem;padding:.45rem .8rem;border:1px solid transparent;cursor:pointer}.auth-transition-overlay__button--secondary{background:transparent;color:var(--text-muted);border-color:var(--border-alpha)}.auth-transition-overlay__button--secondary:hover{color:var(--text);border-color:rgba(var(--muted-rgb),.75)}.auth-transition-overlay__button--primary{background:var(--primary);border-color:var(--primary);color:var(--primary-contrast);font-weight:700}.auth-transition-overlay__button--primary:hover{background:var(--primary-glow);border-color:var(--primary-glow)}@keyframes auth-transition-slide{0%{transform:translate(-135%)}to{transform:translate(350%)}}.toast-container{position:fixed;right:24px;bottom:24px;display:flex;flex-direction:column;gap:.6rem;z-index:9999}.toast{display:flex;align-items:flex-start;gap:.75rem;padding:.65rem .9rem;border-radius:10px;color:var(--text);box-shadow:0 10px 24px #00000059,inset 0 0 0 1px var(--border-alpha);font-size:.92rem;font-weight:600;letter-spacing:.01em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.toast__message{flex:1}.toast__close{border:0;background:var(--surface-alpha);color:var(--text);border-radius:8px;padding:.2rem .45rem;font-size:.75rem;font-weight:700;line-height:1.1;cursor:pointer}.toast__close:hover{background:rgba(var(--primary-rgb),.12)}.toast--info{background:var(--surface-2)}.toast--error{background:var(--danger)}
