.auth-container{align-items:center;background:radial-gradient(560px circle at 18% 12%,#ffffff1a,#0000 60%),linear-gradient(160deg,var(--gm-brand),#101d33 120%);display:flex;justify-content:center;min-height:100vh;padding:20px;width:100%}.auth-box{background:var(--gm-surface);border-radius:var(--gm-radius-lg);box-shadow:var(--gm-shadow-lg);max-width:400px;padding:40px;width:100%}.auth-brand{flex-direction:column;gap:10px;margin-bottom:8px}.auth-brand,.auth-mark{align-items:center;display:flex}.auth-mark{background:var(--gm-brand);border-radius:14px;box-shadow:0 10px 22px #1e3a5f59;color:#fff;font-size:22px;font-weight:800;height:48px;justify-content:center;width:48px}.auth-box h1{color:var(--gm-ink);font-size:19px;font-weight:800;letter-spacing:-.01em;margin:0;text-align:center}.auth-box .subtitle{color:var(--gm-muted);font-size:13px;margin-bottom:24px;text-align:center}.form-group{margin-bottom:18px}.form-group label{color:var(--gm-ink-soft);display:block;font-size:13px;font-weight:600;margin-bottom:7px}.form-group input{background:var(--gm-surface-2);border:1.5px solid var(--gm-border);border-radius:var(--gm-radius-sm);color:var(--gm-ink);font-size:14px;padding:12px 14px;transition:border-color .2s,background .2s;width:100%}.form-group input:focus{background:var(--gm-surface);border-color:var(--gm-brand);outline:none}.submit-btn{background:var(--gm-brand);border:none;border-radius:var(--gm-radius-sm);box-shadow:0 10px 22px #1e3a5f40;color:#fff;cursor:pointer;font-size:14.5px;font-weight:700;padding:13px;transition:background-color .2s,transform .1s;width:100%}.submit-btn:hover:not(:disabled){background:var(--gm-brand-hover)}.submit-btn:active:not(:disabled){transform:scale(.99)}.submit-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6}.error-message{border-radius:var(--gm-radius-sm);font-size:13.5px;padding:12px 14px}.auth-link{color:var(--gm-muted);font-size:13.5px;margin-top:20px;text-align:center}.auth-link a{color:var(--gm-brand);font-weight:700;text-decoration:none}.auth-link a:hover{text-decoration:underline}.verified-message{background:var(--gm-success-soft);border:none;border-radius:var(--gm-radius-sm);color:var(--gm-success);font-size:13.5px;font-weight:600;margin-bottom:20px;padding:12px 14px;text-align:center}@media (pointer:coarse){.form-group input{font-size:16px}}.password-requirements{font-size:12px;list-style:none;margin:8px 0 0;padding:0}.password-requirements li{color:#f44336;padding:2px 0}.password-requirements li:before{content:"✗ "}.password-requirements li.met{color:#4caf50}.password-requirements li.met:before{content:"✓ "}.success-message{border:none;border-radius:var(--gm-radius-sm);line-height:1.6;padding:16px;text-align:center}.keyboard-container{box-sizing:border-box;max-width:600px;width:100%}.keyboard{background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-lg);box-shadow:var(--gm-shadow-md);box-sizing:border-box;display:flex;flex-direction:column;gap:6px;margin-bottom:12px;padding:16px 12px}.keyboard-row{display:flex;gap:6px;justify-content:center}.key{background:var(--gm-brand);background:var(--game-accent,var(--gm-brand));border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;min-width:34px;padding:10px 8px;touch-action:manipulation;transition:filter .15s;-webkit-user-select:none;user-select:none}.key:hover:not(:disabled){filter:brightness(.92)}.key:active:not(:disabled){filter:brightness(.85)}.key.guessed{background:var(--gm-muted);color:#fff;cursor:not-allowed;opacity:.6}.key.correct{background:var(--gm-success)}.key.correct,.key.incorrect{color:#fff;cursor:not-allowed;opacity:1}.key.incorrect{background:var(--gm-danger)}.key.disabled{cursor:not-allowed;opacity:.5}.keyboard-hint{color:var(--gm-muted);font-size:12px;margin-top:12px;text-align:center}@media (max-width:480px){.keyboard{gap:5px;padding:12px 8px}.keyboard-row{gap:5px}.key{font-size:13px;min-width:30px;padding:9px 6px}.keyboard-hint{font-size:11px}}@media (max-width:360px){.keyboard{gap:4px;padding:10px 6px}.keyboard-row{gap:4px}.key{font-size:12px;min-width:27px;padding:8px 4px}}.game-display{border:1px solid var(--gm-border);border-radius:var(--gm-radius-lg);box-shadow:var(--gm-shadow-md);box-sizing:border-box;margin-bottom:20px;max-width:600px;overflow-x:hidden;padding:24px;width:100%}.game-display,.hangman-area{background:var(--gm-surface)}.hangman-area{border-radius:var(--gm-radius-lg) var(--gm-radius-lg) 0 0;margin:-24px -24px 20px;padding:10px 24px 12px;position:sticky;top:0;z-index:20}.attempts-row{align-items:center;display:flex;gap:12px;justify-content:flex-start}.attempts-text{color:var(--gm-ink-soft);font-size:16px;margin:0}.end-game-btn{border-radius:6px;font-size:13px;padding:6px 14px;transition:background .2s;white-space:nowrap}.attempts-number{color:var(--gm-brand);color:var(--game-accent,var(--gm-brand));font-size:18px;font-weight:700}.word-display{margin-bottom:30px;text-align:center}.display-title{color:var(--gm-muted);font-size:14px;font-weight:600;letter-spacing:1px;margin-bottom:12px;text-transform:uppercase}.theme-display{background:var(--gm-brand);background:var(--game-accent,var(--gm-brand));border-radius:var(--gm-radius-sm);color:#fff;margin-bottom:20px;padding:12px;text-align:center}.theme-title{font-size:12px;font-weight:600;letter-spacing:1px;margin-bottom:5px;opacity:.9;text-transform:uppercase}.theme-text{font-size:18px;font-weight:700;text-transform:capitalize}.letters-container{grid-gap:6px;display:grid;gap:6px;margin:0 auto 20px;max-width:100%;width:fit-content}.letter-box{align-items:center;aspect-ratio:1/1;border-radius:8px;display:flex;font-size:clamp(12px,2.5vw,22px);font-weight:700;justify-content:center;transition:all .3s;width:100%}.letter-box.blank{background:var(--gm-surface-2);border:2px solid var(--gm-border);border-radius:8px;color:#0000;-webkit-user-select:none;user-select:none}.letter-box.hyphen{background:var(--gm-surface-2);border:2px solid var(--gm-muted);border-radius:8px;color:var(--gm-ink-soft);font-size:1.3em;font-weight:900}.letter-box.pad,.letter-box.space{background:#0000;border:none;color:#0000}.letter-box.pad{box-shadow:none}.letter-box.filled{animation:reveal .3s ease-out;background:var(--gm-brand);background:var(--game-accent,var(--gm-brand));border:2px solid var(--game-accent,var(--gm-brand));color:#fff}@keyframes reveal{0%{opacity:0;transform:scale(.8) rotateY(90deg)}to{opacity:1;transform:scale(1) rotateY(0)}}@media (max-width:480px){.game-display{padding:16px}.hangman-area{margin:-16px -16px 16px;padding:10px 16px 12px}.letters-container{gap:4px}}.loading-message{padding:40px}.spinner{height:40px;margin:0 auto 20px;width:40px}.navbar{align-items:center;background:var(--gm-surface);border-bottom:1px solid var(--gm-border);box-shadow:var(--gm-shadow-sm);box-sizing:border-box;color:var(--gm-ink);display:flex;gap:12px;height:58px;justify-content:space-between;padding:0 24px;position:relative;width:100%;z-index:100}.navbar-brand{color:var(--gm-ink);cursor:pointer;flex-shrink:0;font-size:15px;font-weight:700;letter-spacing:.01em;white-space:nowrap}.navbar-links{align-items:center;display:flex;flex:1 1;gap:8px;justify-content:center}.navbar-end-game-btn{align-items:center;background:var(--gm-brand-soft);border:1px solid var(--gm-border);border-radius:var(--gm-radius-sm);color:var(--gm-brand);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;height:34px;padding:0 16px;transition:background .15s,border-color .15s;white-space:nowrap}.navbar-end-game-btn:hover{background:color-mix(in srgb,var(--gm-brand-soft) 72%,var(--gm-surface));border-color:color-mix(in srgb,var(--gm-brand) 32%,var(--gm-border))}.navbar-link-btn{align-items:center;background:#0000;border:none;border-radius:var(--gm-radius-sm);color:var(--gm-muted);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:5px;height:34px;padding:0 14px;transition:background-color .15s,color .15s;white-space:nowrap}.navbar-link-btn.active,.navbar-link-btn:hover{background:var(--gm-brand-soft);color:var(--gm-brand)}.navbar-right{align-items:center;display:flex;flex-shrink:0;gap:10px}.navbar-username{color:var(--gm-muted);font-size:13px;white-space:nowrap}.navbar-username-mobile{display:none}.navbar-logout-btn{background:var(--gm-danger-soft);border:1px solid color-mix(in srgb,var(--gm-danger) 35%,#0000);border-radius:var(--gm-radius-sm);color:var(--gm-danger);cursor:pointer;font-size:13px;font-weight:600;height:34px;padding:0 14px;transition:background .15s;white-space:nowrap}.navbar-logout-btn:hover{background:color-mix(in srgb,var(--gm-danger-soft) 70%,var(--gm-surface))}.navbar-hamburger{background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:4px;padding:6px}.navbar-hamburger span{background:var(--gm-ink);border-radius:2px;display:block;height:2px;transition:opacity .15s;width:20px}.navbar-drawer{background:var(--gm-surface);box-shadow:var(--gm-shadow-sm);display:flex;flex-direction:column;gap:8px;padding:12px 16px}.navbar-drawer,.navbar-drawer-user{border-bottom:1px solid var(--gm-border)}.navbar-drawer-user{color:var(--gm-muted);font-size:11px;margin-bottom:2px;padding-bottom:8px}.navbar-drawer-btn{align-items:center;background:#0000;border:1px solid var(--gm-border);border-radius:var(--gm-radius-sm);color:var(--gm-ink);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 14px;text-align:left;transition:background-color .15s,color .15s,border-color .15s}.navbar-drawer-btn.active,.navbar-drawer-btn:hover{background:var(--gm-brand-soft);color:var(--gm-brand)}.navbar-drawer-btn.active{border-color:color-mix(in srgb,var(--gm-brand) 35%,var(--gm-border))}.navbar-drawer-btn.end-game{background:var(--gm-brand-soft);border-color:color-mix(in srgb,var(--gm-brand) 30%,var(--gm-border));color:var(--gm-brand)}.navbar-drawer-btn.end-game:hover{background:color-mix(in srgb,var(--gm-brand-soft) 72%,var(--gm-surface))}.navbar-drawer-btn.logout{background:var(--gm-danger-soft);border-color:color-mix(in srgb,var(--gm-danger) 35%,#0000);color:var(--gm-danger)}.navbar-drawer-btn.logout:hover{background:color-mix(in srgb,var(--gm-danger-soft) 70%,var(--gm-surface))}.navbar-drawer-premium{align-items:center;border-radius:var(--gm-radius-sm);display:flex;font-size:12px;font-weight:600;gap:8px;padding:8px 10px}.navbar-drawer-premium.active{background:var(--gm-success-soft);border:1px solid color-mix(in srgb,var(--gm-success) 32%,#0000);color:var(--gm-success)}.navbar-drawer-premium.inactive{background:var(--gm-danger-soft);border:1px solid color-mix(in srgb,var(--gm-danger) 30%,#0000);color:var(--gm-danger)}.navbar-drawer-subscribe{background:var(--gm-brand);border:none;border-radius:999px;color:#fff;cursor:pointer;font-size:11px;font-weight:600;margin-left:auto;padding:3px 10px;white-space:nowrap}.navbar-drawer-subscribe:hover{background:var(--gm-brand-hover)}@media (max-width:768px){.navbar{height:54px;padding:0 16px}.navbar-links,.navbar-logout-btn,.navbar-right .navbar-link-btn,.navbar-username-mobile{display:none}.notif-bell-wrap{order:1}.navbar-hamburger{display:flex;order:2}.navbar-drawer{width:100%}}.notif-bell-btn,.notif-bell-wrap{position:relative}.notif-bell-btn{align-items:center;background:none;border:none;border-radius:5px;color:var(--gm-ink);cursor:pointer;display:flex;justify-content:center;min-height:40px;min-width:40px;padding:7px 8px}.notif-bell-btn:hover{background:var(--gm-brand-soft)}.notif-bell-icon{display:inline-block;font-size:20px}.notif-bell-btn.ringing .notif-bell-icon{animation:bell-ring .7s ease-in-out infinite}@keyframes bell-ring{0%,to{transform:rotate(0)}15%{transform:rotate(-17deg)}35%{transform:rotate(17deg)}55%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}.notif-bell-badge{align-items:center;animation:badge-pulse 1.2s ease-in-out infinite;background:#ef4444;border-radius:8px;color:#fff;display:flex;font-size:9px;font-weight:800;height:16px;justify-content:center;min-width:16px;padding:0 3px;pointer-events:none;position:absolute;right:3px;top:3px}@keyframes badge-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.notif-popup{align-items:flex-start;animation:popup-slide-up .32s cubic-bezier(.34,1.56,.64,1);background:#fff;border-left:5px solid #1e3a5f;border-radius:16px;bottom:28px;box-shadow:0 10px 48px #00000038;display:flex;gap:14px;left:50%;max-width:calc(100vw - 24px);padding:16px 18px 22px 16px;position:fixed;transform:translateX(-50%);width:420px;z-index:2000}.notif-popup.hiding{animation:popup-slide-down .28s ease forwards}@keyframes popup-slide-up{0%{opacity:0;transform:translateX(-50%) translateY(48px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes popup-slide-down{to{opacity:0;transform:translateX(-50%) translateY(48px)}}@media (pointer:coarse){.notif-popup{border-left:none;border-radius:20px 20px 0 0;border-top:4px solid #1e3a5f;bottom:0;flex-direction:column;gap:12px;left:0;max-width:100%;padding:20px 20px 36px;right:0;transform:none;width:100%}.notif-popup.hiding{animation:popup-sheet-down .28s ease forwards}@keyframes popup-sheet-down{to{opacity:0;transform:translateY(100%)}}.notif-popup-icon{font-size:24px;height:52px;width:52px}.notif-popup-title{font-size:16px}.notif-popup-join,.notif-popup-later{font-size:15px;padding:13px 20px}}.notif-popup-close{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:14px;line-height:1;position:absolute;right:12px;top:10px}.notif-popup-icon{align-items:center;background:#dbeafe;border-radius:12px;display:flex;flex-shrink:0;font-size:20px;height:44px;justify-content:center;width:44px}.notif-popup-body{flex:1 1;min-width:0}.notif-popup-title{color:#1a1a2e;font-size:14px;font-weight:700;margin-bottom:3px}.notif-popup-sub{color:#6b7280;font-size:13px;line-height:1.4;margin-bottom:10px}.notif-popup-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.notif-popup-chip{background:#f3f4f6;border-radius:12px;color:#374151;font-size:12px;padding:3px 10px}.notif-popup-chip.urgent strong{color:#ef4444}.notif-popup-chip strong{color:#1e3a5f}.notif-popup-loss .notif-popup-icon{background:#fee2e2}.notif-popup-win .notif-popup-icon{background:#dcfce7}.notif-test-tag{background:#fef3c7;border-radius:8px;color:#92400e;display:inline-block;font-size:9px;font-weight:700;letter-spacing:.04em;margin-left:6px;padding:1px 6px;text-transform:uppercase;vertical-align:middle}.notif-popup-actions{display:flex;gap:8px}.notif-popup-join{background:#1e3a5f;border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:7px 18px}.notif-popup-join:hover{background:#2a5080}.notif-popup-join:disabled,.notif-popup-later:disabled{cursor:default;opacity:.55}.notif-popup-later{background:none;border:1px solid #d1d5db;border-radius:7px;color:#6b7280;cursor:pointer;font-size:13px;padding:7px 12px}.notif-popup-later:hover{background:#f3f4f6}.notif-popup-progress{background:#e2e5ea;border-radius:0 0 16px 16px;bottom:0;height:3px;left:5px;overflow:hidden;position:absolute;right:0}@media (pointer:coarse){.notif-popup-progress{left:0}}.notif-popup-bar{animation:drain linear forwards;background:#1e3a5f;border-radius:0 0 0 16px;height:100%;width:100%}@keyframes drain{0%{width:100%}to{width:0}}.notif-dropdown{animation:drop-in .17s ease;background:#fff;border:1px solid #e2e5ea;border-radius:10px;box-shadow:0 10px 40px #0000002e;display:flex;flex-direction:column;max-height:520px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);width:360px;z-index:1000}@keyframes drop-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.notif-dropdown-hdr{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;flex-shrink:0;justify-content:space-between;padding:13px 16px 10px}.notif-dropdown-title{color:#1e3a5f;font-size:14px;font-weight:700}.notif-mark-all{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:12px;padding:0}.notif-dropdown-list{flex:1 1;overflow-y:auto}.notif-overlay{background:#00000059;inset:0;position:fixed;z-index:900}.notif-panel{background:#f4f5f7;bottom:0;display:flex;flex-direction:column;left:0;pointer-events:none;position:fixed;right:0;top:0;transform:translateY(100%);transition:transform .3s cubic-bezier(.32,.72,0,1);visibility:hidden;z-index:950}.notif-panel.open{pointer-events:auto;transform:translateY(0);visibility:visible}.notif-panel-hdr{background:#1e3a5f;flex-shrink:0;gap:10px;padding:12px 16px}.notif-panel-back,.notif-panel-hdr{align-items:center;color:#fff;display:flex}.notif-panel-back{background:none;border:none;cursor:pointer;font-size:22px;min-height:44px;min-width:44px}.notif-panel-title{flex:1 1;font-size:16px;font-weight:700}.notif-panel .notif-mark-all{color:#93c5fd}.notif-panel-list{display:flex;flex:1 1;flex-direction:column;gap:10px;overflow-y:auto;padding:12px}.notif-card{background:#fff;border:1px solid #f0f0f0;border-radius:10px;box-shadow:0 1px 4px #00000012;overflow:hidden}.notif-dropdown-list .notif-card{border:none;border-bottom:1px solid #f3f4f6;border-radius:0;box-shadow:none}.notif-dropdown-list .notif-card:last-child{border-bottom:none}.notif-card-hdr{align-items:center;cursor:pointer;display:flex;gap:10px;min-height:56px;padding:12px 14px;transition:background .15s}.notif-card-hdr:hover{background:#f8f9fb}.notif-unread-bar{animation:bar-pulse 1.4s ease-in-out infinite;background:#ef4444;border-radius:2px;flex-shrink:0;height:36px;width:4px}.notif-unread-bar.read{animation:none;background:#e2e5ea}.notif-unread-bar.ended{animation:none;background:#d1d5db}@keyframes bar-pulse{0%,to{opacity:1}50%{opacity:.35}}.notif-card-icon{align-items:center;background:#dbeafe;border-radius:10px;display:flex;flex-shrink:0;font-size:18px;height:38px;justify-content:center;width:38px}.notif-card-icon.grayscale{background:#f3f4f6;filter:grayscale(1)}.notif-card-text{flex:1 1;min-width:0}.notif-card-title{color:#1a1a2e;font-size:13px;font-weight:600}.notif-card-sub{color:#6b7280;font-size:12px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-card-right{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:5px}.notif-cd-badge{background:#fef3c7;border-radius:10px;color:#f59e0b;font-size:11px;font-weight:700;padding:2px 7px;white-space:nowrap}.notif-cd-badge.urgent{background:#fee2e2;color:#ef4444}.notif-cd-badge.ended{background:#f3f4f6;color:#9ca3af}.notif-chevron{color:#9ca3af;font-size:10px;transition:transform .2s}.notif-card-body{background:#f8faff;border-top:1px solid #f3f4f6;padding:0 14px 14px 66px}.notif-card-body p{color:#374151;font-size:13px;line-height:1.5;margin-bottom:12px;padding-top:12px}.notif-ended-txt{color:#9ca3af}.notif-card-actions{display:flex;gap:8px}.notif-join-btn{background:#1e3a5f;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:7px 16px}.notif-join-btn:hover{background:#2a5080}.notif-join-btn:disabled{background:#b9c2cf;cursor:default}.notif-dismiss-btn{background:none;border:1px solid #d1d5db;border-radius:6px;color:#6b7280;cursor:pointer;font-size:13px;padding:7px 12px}.notif-dismiss-btn:hover{background:#f3f4f6}@media (pointer:coarse){.notif-card-hdr{min-height:64px;padding:14px 16px}.notif-dismiss-btn,.notif-join-btn{font-size:14px;padding:11px 16px}.notif-card-body{padding:0 16px 16px 68px}}.notif-empty{color:#9ca3af;font-size:13px;padding:28px 16px;text-align:center}.notif-empty.mobile{align-items:center;display:flex;flex-direction:column;gap:10px;padding:60px 16px}.notif-empty-icon{font-size:40px;opacity:.4}.hangman-page{--game-accent:var(--gm-hangman);--game-accent-soft:var(--gm-hangman-soft)}.game-container{background:var(--gm-bg);flex-direction:column;min-height:100vh;padding:0}.game-container,.game-header{align-items:center;display:flex;width:100%}.game-header{background:#1e3a5f;box-sizing:border-box;color:#fff;justify-content:space-between;margin-bottom:0;padding:14px 24px}.header-left h1{margin-bottom:2px}.user-info{opacity:.7}.admin-btn,.logout-btn{border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:600;padding:7px 16px;transition:background-color .2s}.admin-btn{background:#ffffff26}.admin-btn:hover{background:#ffffff40}.header-buttons{display:flex;gap:8px}.tournament-btn{background:#ffffff26;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:7px 16px;transition:background-color .2s}.tournament-btn:hover{background:#ffffff40}.game-container .message{animation:slideIn .3s ease-out;border-radius:var(--gm-radius-sm);font-size:14px;font-weight:600;margin:16px 0;max-width:600px;padding:10px 16px;text-align:center;width:100%}.game-container .message.success{background:var(--gm-success-soft);color:var(--gm-success)}.game-container .message.error{background:var(--gm-danger-soft);color:var(--gm-danger)}.game-container .message.info{background:var(--gm-brand-soft);color:var(--gm-brand)}.game-container .new-game-btn{background:var(--game-accent);border:none;border-radius:var(--gm-radius-sm);color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-bottom:20px;padding:10px 24px;transition:filter .15s}.game-container .new-game-btn:hover{filter:brightness(.92)}.game-container .game-finished-actions{display:flex;gap:10px;margin:16px 0}.game-container .game-finished-actions .new-game-btn{margin-bottom:0}.game-container .play-again-btn{background:var(--game-accent);color:#fff}.game-container .play-again-btn:hover{filter:brightness(.92)}.game-container .tournament-timer{background:var(--gm-brand);border-radius:var(--gm-radius-sm);color:#fff;font-size:14px;margin:12px 0;padding:8px 20px;text-align:center}.game-container .tournament-timer.expired{animation:pulse 1s infinite;background:var(--gm-danger)}.game-menu-panel{background:#fff;border-bottom:1px solid #e2e5ea;border-radius:0;box-shadow:none;margin-top:24px;max-width:500px;padding:32px 24px;text-align:center;width:100%}.game-menu-panel h2{color:#1a1a2e;font-size:19px;font-weight:700;margin:0 0 20px}.game-menu-controls{align-items:center;display:flex;flex-direction:column;gap:12px}.game-menu-select{appearance:auto;background:#fff;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;font-size:15px;padding:10px 14px;transition:border-color .2s;width:100%}.game-menu-select:focus{border-color:#1e3a5f;outline:none}.game-menu-description{background:#f4f5f7;border-radius:4px;box-sizing:border-box;color:#6b7280;font-size:13px;margin:0;padding:8px 12px;width:100%}.game-menu-start-btn{background:#1e3a5f;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;margin-top:4px;padding:10px 40px;transition:background-color .2s}.game-menu-start-btn:hover{background:#2a5080}.game-menu-container{background:var(--gm-bg);min-height:100vh;width:100%}.game-menu-body{margin:0 auto;max-width:760px;padding:28px 20px 60px;width:100%}.game-menu-header{align-items:flex-end;display:flex;gap:16px;justify-content:space-between;margin-bottom:22px}.game-menu-header h2{color:var(--gm-ink);font-size:24px;font-weight:800;letter-spacing:-.01em;margin:0 0 4px}.game-menu-header p{color:var(--gm-muted);font-size:13px;margin:0}.game-menu-howto{background:var(--gm-surface);border:1.5px solid var(--gm-border);border-radius:var(--gm-radius-sm);color:var(--gm-brand);flex-shrink:0;font-size:13px;font-weight:700;padding:9px 16px;text-decoration:none;transition:background .15s,border-color .15s;white-space:nowrap}.game-menu-howto:hover{background:var(--gm-brand-soft);border-color:var(--gm-brand)}.game-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}@media (min-width:560px){.game-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:760px){.game-grid{grid-template-columns:repeat(4,1fr)}}.game-tile{border:none;border-radius:var(--gm-radius-lg);box-shadow:var(--gm-shadow-md);cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;min-height:128px;padding:16px;text-align:left;transition:transform .15s ease,box-shadow .15s ease}.game-tile:hover{box-shadow:var(--gm-shadow-lg);transform:translateY(-2px)}.game-tile:active{transform:translateY(0) scale(.98)}.game-tile-icon{align-items:center;background:#ffffff38;border-radius:12px;display:flex;height:42px;justify-content:center;width:42px}.game-tile-text{display:flex;flex-direction:column;gap:3px}.game-tile-name{color:#fff;font-size:14.5px;font-weight:800;letter-spacing:-.01em}.game-tile-tag{color:#ffffffc7;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.htp-container{background:var(--gm-bg);min-height:100vh;width:100%}.htp-body{margin:0 auto;max-width:720px;padding:28px 20px 60px;width:100%}.htp-header{margin-bottom:22px}.htp-header h2{color:var(--gm-ink);font-size:24px;font-weight:800;letter-spacing:-.01em;margin:0 0 4px}.htp-header p{color:var(--gm-muted);font-size:13px;margin:0}.htp-list{display:flex;flex-direction:column;gap:12px}.htp-card{align-items:flex-start;background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-md);gap:14px;padding:16px}.htp-card,.htp-card-icon{box-shadow:var(--gm-shadow-sm);display:flex}.htp-card-icon{align-items:center;border-radius:12px;flex-shrink:0;height:44px;justify-content:center;width:44px}.htp-card-body{flex:1 1;min-width:0}.htp-card-head{align-items:baseline;display:flex;gap:8px;margin-bottom:4px}.htp-card-head h3{color:var(--gm-ink);font-size:15px;font-weight:800;letter-spacing:-.01em;margin:0}.htp-card-tag{color:var(--gm-muted);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.htp-card-body p{color:var(--gm-ink-soft);font-size:13.5px;line-height:1.55;margin:0}.htp-card-play{align-self:center;background:var(--gm-brand-soft);border-radius:var(--gm-radius-sm);color:var(--gm-brand);flex-shrink:0;font-size:12.5px;font-weight:700;padding:8px 16px;text-decoration:none;white-space:nowrap}.htp-card-play:hover{background:var(--gm-brand);color:#fff}@media (max-width:520px){.htp-card{flex-wrap:wrap}.htp-card-play{margin-left:58px}}.digits-display{background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-lg);box-shadow:var(--gm-shadow-md);box-sizing:border-box;margin-bottom:20px;max-width:600px;overflow:hidden;padding:16px;width:100%}.digits-end-game-row{display:flex;justify-content:flex-start;margin-bottom:12px}.digits-end-game-row .end-game-btn{background:#fff3e0;border:1.5px solid #ffb74d;border-radius:6px;color:#e65100;cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px;transition:background .2s;white-space:nowrap}.digits-end-game-row .end-game-btn:hover{background:#ffe0b2}.target-area{background:var(--gm-brand);background:var(--game-accent,var(--gm-brand));border-radius:var(--gm-radius-md);box-shadow:var(--gm-shadow-sm);color:#fff;padding:18px 14px;text-align:center}.target-label{font-size:11px;font-weight:700;letter-spacing:3px;margin-bottom:4px;opacity:.8;text-transform:uppercase}.target-number{font-size:48px;font-weight:800;line-height:1;text-shadow:0 2px 8px #0000004d}.history-area{margin-top:12px}.history-label{color:var(--gm-muted);font-size:11px;font-weight:600;letter-spacing:1px;margin-bottom:6px;text-transform:uppercase}.history-list{display:flex;flex-direction:column;gap:4px}.history-item{align-items:center;background:var(--gm-surface-2);border-radius:8px;display:flex;font-size:14px;gap:8px;padding:6px 10px}.history-step{color:var(--gm-muted);font-weight:600;min-width:18px}.history-op{color:var(--gm-ink);font-family:Courier New,Courier,monospace;font-weight:600}.loading-message{color:var(--gm-ink-soft);padding:30px;text-align:center;width:100%}.spinner{animation:spin 1s linear infinite;border-top:4px solid var(--gm-brand);border:4px solid var(--gm-surface-2);border-radius:50%;border-top-color:var(--game-accent,var(--gm-brand));height:36px;margin:0 auto 16px;width:36px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:480px){.digits-display{padding:12px}.target-number{font-size:40px}}.digits-controls{max-width:600px;text-align:center;width:100%}.instruction-text{color:var(--gm-ink-soft);font-size:14px;font-weight:600;margin-bottom:10px;min-height:20px}.control-numbers{background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-lg);box-shadow:var(--gm-shadow-md);display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:10px;padding:14px}.control-number-btn{align-items:center;background:var(--gm-brand);background:var(--game-accent,var(--gm-brand));border:3px solid #0000;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:18px;font-weight:700;height:50px;justify-content:center;min-width:60px;padding:0 12px;transition:filter .15s}.control-number-btn:hover:not(:disabled){filter:brightness(.92)}.control-number-btn:active:not(:disabled){filter:brightness(.85)}.control-number-btn.selected-num1{border-color:var(--game-accent,var(--gm-brand));box-shadow:0 0 0 4px var(--gm-brand-soft);box-shadow:0 0 0 4px var(--game-accent-soft,var(--gm-brand-soft))}.control-number-btn.selectable-num2{animation:gentle-pulse 1.5s ease-in-out infinite}@keyframes gentle-pulse{0%,to{opacity:1}50%{opacity:.75}}.control-number-btn.disabled{cursor:not-allowed;opacity:.5}.control-operations{background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-lg);box-shadow:var(--gm-shadow-md);display:flex;gap:10px;justify-content:center;margin-bottom:10px;padding:12px}.control-op-btn{align-items:center;background:var(--gm-brand);background:var(--game-accent,var(--gm-brand));border:3px solid #0000;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:24px;font-weight:700;height:54px;justify-content:center;transition:filter .15s;width:54px}.control-op-btn:hover:not(:disabled){filter:brightness(.92)}.control-op-btn:active:not(:disabled){filter:brightness(.85)}.control-op-btn.selected-op{border-color:var(--game-accent,var(--gm-brand));box-shadow:0 0 0 4px var(--gm-brand-soft);box-shadow:0 0 0 4px var(--game-accent-soft,var(--gm-brand-soft))}.control-op-btn.disabled{cursor:not-allowed;opacity:.4}.control-op-btn.undo-btn{background:var(--gm-muted)}.control-op-btn.undo-btn:hover:not(:disabled){filter:brightness(.9)}.control-op-btn.undo-btn:active:not(:disabled){filter:brightness(.8)}.clear-btn{background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-sm);color:var(--gm-ink);cursor:pointer;font-size:13px;font-weight:600;margin-bottom:12px;padding:6px 16px;transition:background-color .2s}.clear-btn:hover{background:var(--gm-surface-2)}.preview-text{color:var(--gm-ink);font-family:Courier New,Courier,monospace;font-size:20px;font-weight:700;margin-top:4px}@media (max-width:480px){.control-number-btn{font-size:16px;height:44px;min-width:52px}.control-op-btn{flex:1 1;font-size:20px;height:48px;min-width:48px;width:auto}.control-operations{gap:8px;padding:10px}}.digits-game-container{--game-accent:var(--gm-digits);--game-accent-soft:var(--gm-digits-soft);align-items:center;background:var(--gm-bg);display:flex;flex-direction:column;min-height:100vh;padding:0;width:100%}.digits-game-container .game-header{align-items:center;background:#1e3a5f;box-sizing:border-box;color:#fff;display:flex;justify-content:space-between;margin-bottom:0;padding:14px 24px;width:100%}.digits-game-container .header-left h1{font-size:22px;font-weight:700;letter-spacing:.02em;margin-bottom:2px}.digits-game-container .user-info{font-size:13px;opacity:.7}.digits-game-container .logout-btn{background:#ffffff1a;border:none;border-radius:4px;color:#fffc;cursor:pointer;font-size:13px;font-weight:600;padding:7px 16px;transition:background-color .2s}.digits-game-container .logout-btn:hover{background:#f443364d;color:#fff}.digits-game-container .admin-btn,.digits-game-container .tournament-btn{background:#ffffff26;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:7px 16px;transition:background-color .2s}.digits-game-container .admin-btn:hover,.digits-game-container .tournament-btn:hover{background:#ffffff40}.digits-game-container .header-buttons{display:flex;gap:8px}.digits-game-container .message{animation:slideIn .3s ease-out;border-radius:var(--gm-radius-sm);font-size:14px;font-weight:600;margin:16px 0;max-width:600px;padding:10px 16px;text-align:center;width:100%}.digits-game-container .message.success{background:var(--gm-success-soft);color:var(--gm-success)}.digits-game-container .message.error{background:var(--gm-danger-soft);color:var(--gm-danger)}.digits-game-container .message.info{background:var(--gm-brand-soft);color:var(--gm-brand)}.digits-game-container .tournament-timer{background:var(--gm-brand);border-radius:var(--gm-radius-sm);color:#fff;font-size:14px;margin:12px 0;padding:8px 20px;text-align:center}.digits-game-container .tournament-timer.expired{animation:pulse 1s infinite;background:var(--gm-danger)}.digits-game-container .game-finished-actions{display:flex;gap:10px;margin:16px 0}.digits-game-container .new-game-btn{background:var(--game-accent);border:none;border-radius:var(--gm-radius-sm);color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:filter .15s}.digits-game-container .new-game-btn:hover{filter:brightness(.92)}.digits-game-container .play-again-btn{background:var(--game-accent);color:#fff}.digits-game-container .play-again-btn:hover{filter:brightness(.92)}.digits-game-info{align-items:center;display:flex;justify-content:flex-start;padding:8px 20px 0;width:100%}.digits-game-info .end-game-btn{background:#fff3e0;border:1.5px solid #ffb74d;border-radius:6px;color:#e65100;cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px;transition:background .2s;white-space:nowrap}.digits-game-info .end-game-btn:hover{background:#ffe0b2}.sequences-display{align-items:center;background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-lg);box-shadow:var(--gm-shadow-md);display:flex;flex-direction:column;gap:10px;max-width:600px;padding:14px 16px;width:100%}.sequences-display .sequence-info{align-items:center;display:flex;gap:20px;justify-content:space-between;width:100%}.sequences-display .sequence-length{color:var(--gm-brand);color:var(--game-accent,var(--gm-brand));font-size:15px;font-weight:700;margin:0}.sequences-display .play-button{background:var(--gm-brand);background:var(--game-accent,var(--gm-brand));border:none;border-radius:var(--gm-radius-sm);color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:7px 16px;transition:filter .15s;white-space:nowrap}.sequences-display .play-button:hover:not(:disabled){filter:brightness(.92)}.sequences-display .play-button:disabled{cursor:not-allowed;opacity:.6}.sequences-display .sequence-instructions{color:var(--gm-muted);font-size:12px;font-style:italic;margin:0;text-align:center}@media (max-width:768px){.sequences-display{gap:6px;padding:8px 10px}.sequences-display .sequence-info{flex-wrap:wrap;gap:8px;justify-content:center}.sequences-display .sequence-length{font-size:14px}.sequences-display .play-button{font-size:12px;padding:5px 10px}}.sequences-keyboard{align-items:center;background:none;display:flex;flex-direction:column;gap:12px;max-width:600px;padding:0;width:100%}.sequences-keyboard .keyboard-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;max-width:400px;width:100%}.sequences-keyboard .color-button{align-items:center;aspect-ratio:1;border:none;border-radius:12px;box-shadow:0 4px 15px #0003;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:700;justify-content:center;min-height:120px;transition:all .1s ease;-webkit-user-select:none;user-select:none;width:100%}.sequences-keyboard .color-button:hover:not(:disabled){box-shadow:0 6px 20px #0000004d;transform:scale(1.05)}.sequences-keyboard .color-button:active:not(:disabled){box-shadow:0 2px 8px #0003;transform:scale(.98)}.sequences-keyboard .color-button.active{transform:scale(.95)}.sequences-keyboard .color-button.animating{outline:3px solid #fff;transform:scale(1.1);transition:all .15s ease}.sequences-keyboard .color-button:disabled{cursor:not-allowed}.sequences-keyboard .color-name{font-size:14px;font-weight:600;letter-spacing:.5px;text-shadow:0 2px 4px #0000004d}.sequences-keyboard .keyboard-hint{color:var(--gm-muted);font-size:12px;font-style:italic;margin:0;text-align:center}@media (max-width:768px){.sequences-keyboard{gap:8px;padding:0}.sequences-keyboard .keyboard-grid{gap:8px;max-width:100%}.sequences-keyboard .color-button{aspect-ratio:1;box-shadow:none;font-size:13px;min-height:0}.sequences-keyboard .color-button.active,.sequences-keyboard .color-button:active:not(:disabled),.sequences-keyboard .color-button:hover:not(:disabled){box-shadow:none;transform:none}.sequences-keyboard .color-button.animating{box-shadow:inset 0 0 0 3px #fffffff2!important;outline:none;transform:none}.sequences-keyboard .color-name{font-size:11px}}@media (max-width:380px){.sequences-keyboard .color-button{min-height:0}.sequences-keyboard .color-button.animating{box-shadow:inset 0 0 0 2px #fffffff2!important}.sequences-keyboard .keyboard-grid{gap:6px}.sequences-keyboard .color-button{font-size:12px}.sequences-keyboard .color-name{font-size:10px}}.sequences-game-page{--game-accent:var(--gm-sequences);--game-accent-soft:var(--gm-sequences-soft);background:var(--gm-bg);display:flex;flex-direction:column;min-height:100vh;padding:0;width:100%}.sequences-game-page .game-container{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:12px;justify-content:flex-start;padding:14px}.sequences-game-page .game-header{color:#fff;margin-bottom:40px;text-align:center}.sequences-game-page .game-header h1{font-size:48px;font-weight:700;letter-spacing:2px;margin:0 0 20px;text-shadow:2px 2px 4px #0000004d}.sequences-game-page .game-info{display:flex;font-size:20px;font-weight:600;gap:30px;justify-content:center}.sequences-game-page .round-display,.sequences-game-page .time-remaining{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:8px;padding:10px 20px}.sequences-game-page .message{animation:slideIn .3s ease-out;border-radius:4px;font-size:14px;font-weight:600;line-height:1.7;margin:16px 0;max-width:600px;padding:10px 16px;text-align:center;width:100%}.sequences-game-page .message.success{background:var(--gm-success-soft);color:var(--gm-success)}.sequences-game-page .message.error{background:var(--gm-danger-soft);color:var(--gm-danger)}.sequences-game-page .message.info{background:var(--gm-brand-soft);color:var(--gm-brand)}.sequences-game-page .tournament-timer{background:var(--gm-brand);border-radius:var(--gm-radius-sm);color:#fff;font-size:14px;margin:8px 0 12px;padding:8px 20px;text-align:center}.sequences-game-page .tournament-timer.expired{animation:pulse 1s infinite;background:var(--gm-danger)}.sequences-game-page .game-status{margin:20px 0;text-align:center}.sequences-game-page .result{animation:fadeIn .5s ease-in;border-radius:8px;font-size:28px;font-weight:700;padding:20px}.sequences-game-page .result.win{background:#22c55e33;border:2px solid #22c55e;color:#22c55e}.sequences-game-page .result.loss{background:#ef444433;border:2px solid #ef4444;color:#ef4444}.sequences-game-page .game-actions{display:flex;gap:12px;justify-content:center;margin-top:20px}.sequences-game-page .game-container button{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;padding:12px 28px;transition:all .3s ease}.sequences-game-page .end-game-btn{background:#fff3e0;border:1.5px solid #ffb74d;border-radius:6px;color:#e65100;cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px;transition:background .2s;white-space:nowrap}.sequences-game-page .end-game-btn:hover{background:#ffe0b2}.sequences-game-page .game-finished-actions{align-items:center;display:flex;flex-wrap:nowrap;gap:10px;margin:16px 0}.sequences-game-page .new-game-btn{background:var(--game-accent);border:none;border-radius:var(--gm-radius-sm);color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:filter .15s}.sequences-game-page .new-game-btn:hover{filter:brightness(.92)}.sequences-game-page .play-again-btn{background:var(--game-accent);color:#fff}.sequences-game-page .play-again-btn:hover{filter:brightness(.92)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:768px){.sequences-game-page .game-container{gap:8px;padding:8px}.sequences-game-page .game-info{font-size:15px;gap:10px}.sequences-game-page .message{font-size:13px;line-height:1.45;margin:6px 0;padding:8px 12px}.sequences-game-page .result{font-size:18px;padding:12px}.sequences-game-page .game-status{margin:6px 0}.sequences-game-page .game-header{margin-bottom:22px}.sequences-game-page .game-header h1{font-size:34px;margin:0 0 12px}.sequences-game-page .game-finished-actions{flex-wrap:nowrap;gap:6px;justify-content:center;margin:10px 0}.sequences-game-page .new-game-btn{font-size:12px;padding:9px 12px}.sequences-game-page .end-game-btn{font-size:11px;padding:4px 8px}}@media (max-width:380px){.sequences-game-page .game-container{gap:6px;padding:6px}.sequences-game-page .game-header{margin-bottom:16px}.sequences-game-page .game-header h1{font-size:30px;margin:0 0 10px}.sequences-game-page .message{font-size:12px;margin:4px 0;padding:7px 10px}.sequences-game-page .result{font-size:16px;padding:10px}.sequences-game-page .game-finished-actions{gap:4px}.sequences-game-page .new-game-btn{font-size:11px;padding:8px 10px}.sequences-game-page .end-game-btn{font-size:10px;padding:4px 7px}}.countries-display{align-items:center;display:flex;flex-direction:column;margin:10px auto 0;max-width:500px;width:100%}.countries-loading{color:var(--gm-ink-soft);font-size:16px;padding:40px}.countries-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px;width:100%}.countries-header-side{align-items:center;display:flex;min-width:110px}.countries-header-left{justify-content:flex-start}.countries-header-right{justify-content:flex-end}.countries-header-spacer{height:1px;width:1px}.countries-title{color:var(--gm-ink);flex:1 1;font-size:22px;font-weight:700;letter-spacing:.02em;text-align:center}.countries-clues{display:flex;flex-direction:column;gap:7px;width:100%}.clue-card{align-items:center;background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-md);box-shadow:var(--gm-shadow-sm);display:flex;justify-content:space-between;padding:10px 16px;transition:transform .15s}.clue-card:hover{box-shadow:var(--gm-shadow-md);transform:translateY(-1px)}.shape-clue-card{gap:16px;justify-content:flex-start}.name-clue-card{background:var(--gm-brand-soft);background:var(--game-accent-soft,var(--gm-brand-soft));border-color:var(--game-accent,var(--gm-brand))}.name-clue-value{font-family:Courier New,Courier,monospace;font-size:20px;letter-spacing:.18em;text-align:right;white-space:normal;word-break:break-word}.clue-label{color:var(--gm-ink-soft);font-size:14px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.clue-value{color:var(--gm-ink);font-size:16px;font-weight:700;margin-left:12px;text-align:right;white-space:nowrap}.country-shape-thumbnail{align-items:center;background:var(--gm-surface-2);border:1px solid var(--gm-border);border-radius:var(--gm-radius-sm);display:flex;height:66px;justify-content:center;padding:6px;width:90px}.country-shape-thumbnail svg{height:100%;width:100%}.country-shape-svg{shape-rendering:geometricPrecision;text-rendering:geometricPrecision}.country-shape-path{fill:var(--gm-brand);fill:var(--game-accent,var(--gm-brand));stroke:var(--gm-brand);stroke:var(--game-accent,var(--gm-brand));stroke-width:.6;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.country-shape-fallback{color:var(--gm-muted);font-size:12px}.countries-header .end-game-btn{background:#fff3e0;border:1.5px solid #ffb74d;border-radius:6px;color:#e65100;transition:background .2s}.countries-header .end-game-btn,.countries-header .hint-btn{cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px;white-space:nowrap}.countries-header .hint-btn{background:var(--gm-brand-soft);background:var(--game-accent-soft,var(--gm-brand-soft));border:1px solid var(--game-accent,var(--gm-brand));border-radius:var(--gm-radius-sm);color:var(--gm-brand);color:var(--game-accent,var(--gm-brand));transition:filter .15s}.countries-header .hint-btn:hover:not(:disabled){filter:brightness(.95)}.countries-header .hint-btn:disabled{cursor:not-allowed;opacity:.55}.countries-actions .end-game-btn:hover{background:#ffe0b2}@media (max-width:500px){.countries-display{padding:0 8px}.clue-card{align-items:center;flex-direction:row;gap:8px;justify-content:space-between;padding:8px 12px}.clue-label{font-size:11px}.clue-value{font-size:13px;margin-left:auto}.name-clue-value{font-size:15px;letter-spacing:.12em}.shape-clue-card{align-items:flex-start}.country-shape-thumbnail{height:56px;width:76px}}.countries-keyboard{box-sizing:border-box;margin:24px auto 40px;max-width:500px;padding:0 12px;width:100%}.typeahead-container{position:relative;width:100%}.typeahead-label{color:var(--gm-ink-soft);display:block;font-size:14px;font-weight:600;margin-bottom:8px;text-align:center}.typeahead-input-wrapper{position:relative;width:100%}.typeahead-input{background:var(--gm-surface);border:2px solid var(--gm-border);border-radius:var(--gm-radius-sm);box-sizing:border-box;color:var(--gm-ink);font-size:16px;outline:none;padding:12px 40px 12px 16px;transition:border-color .2s;width:100%}.typeahead-input:focus{border-color:var(--game-accent,var(--gm-brand));box-shadow:0 0 0 3px var(--gm-brand-soft);box-shadow:0 0 0 3px var(--game-accent-soft,var(--gm-brand-soft))}.typeahead-input:disabled{background:var(--gm-surface-2);color:var(--gm-muted);cursor:not-allowed}.typeahead-clear{background:none;border:none;color:var(--gm-muted);cursor:pointer;font-size:22px;line-height:1;padding:0 4px;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.typeahead-clear:hover{color:var(--gm-ink)}.typeahead-list{background:var(--gm-surface);border:2px solid var(--game-accent,var(--gm-brand));border-radius:0 0 var(--gm-radius-sm) var(--gm-radius-sm);border-top:none;box-shadow:var(--gm-shadow-md);left:0;list-style:none;margin:0;max-height:240px;overflow-y:auto;padding:0;position:absolute;right:0;top:100%;z-index:100}.typeahead-item{color:var(--gm-ink);cursor:pointer;font-size:15px;padding:10px 16px;transition:background .1s}.typeahead-item.highlighted,.typeahead-item:hover{background:var(--gm-brand-soft);background:var(--game-accent-soft,var(--gm-brand-soft));color:var(--gm-brand);color:var(--game-accent,var(--gm-brand))}.typeahead-match{color:var(--gm-brand);color:var(--game-accent,var(--gm-brand));font-weight:700}@media (max-width:500px){.countries-keyboard{margin-top:20px}.typeahead-input{font-size:16px}}.countries-game-container{--game-accent:var(--gm-countries);--game-accent-soft:var(--gm-countries-soft);align-items:center;background:var(--gm-bg);display:flex;flex-direction:column;min-height:100vh;padding:0;width:100%}.countries-game-container .message{animation:countriesSlideIn .3s ease-out;border-radius:var(--gm-radius-sm);font-size:14px;font-weight:600;margin:16px 0;max-width:600px;padding:10px 16px;text-align:center;width:100%}.countries-game-container .message.success{background:var(--gm-success-soft);color:var(--gm-success)}.countries-game-container .message.error{background:var(--gm-danger-soft);color:var(--gm-danger)}.countries-game-container .message.info{background:var(--gm-brand-soft);color:var(--gm-brand)}@keyframes countriesSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.countries-game-container .tournament-timer{background:var(--gm-brand);border-radius:var(--gm-radius-sm);color:#fff;font-size:14px;margin:12px 0;padding:8px 20px;text-align:center}.countries-game-container .tournament-timer.expired{animation:countriesPulse 1s infinite;background:var(--gm-danger)}@keyframes countriesPulse{0%,to{opacity:1}50%{opacity:.6}}.countries-game-container .game-finished-actions{display:flex;gap:10px;margin:16px 0}.countries-game-container .new-game-btn{background:var(--game-accent);border:none;border-radius:var(--gm-radius-sm);color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:filter .15s}.countries-game-container .new-game-btn:hover{filter:brightness(.92)}.countries-game-container .play-again-btn{background:var(--game-accent);color:#fff}.countries-game-container .play-again-btn:hover{filter:brightness(.92)}.cars-display{align-items:center;display:flex;flex-direction:column;margin:10px auto 0;max-width:500px;width:100%}.cars-loading{color:var(--gm-ink-soft);font-size:16px;padding:40px}.cars-header{justify-content:space-between;margin-bottom:10px;width:100%}.cars-header,.cars-header-side{align-items:center;display:flex}.cars-header-side{min-width:110px}.cars-header-left{justify-content:flex-start}.cars-header-right{justify-content:flex-end}.cars-header-spacer{height:1px;width:1px}.cars-title{color:var(--gm-ink);flex:1 1;font-size:22px;font-weight:700;letter-spacing:.02em;text-align:center}.cars-clues{display:flex;flex-direction:column;gap:7px;width:100%}.cars-display .clue-card{align-items:center;background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-md);box-shadow:var(--gm-shadow-sm);display:flex;justify-content:space-between;padding:10px 16px;transition:transform .15s}.cars-display .clue-card:hover{box-shadow:var(--gm-shadow-md);transform:translateY(-1px)}.cars-display .profile-clue-card{gap:16px;justify-content:flex-start}.cars-display .name-clue-card{background:var(--gm-brand-soft);background:var(--game-accent-soft,var(--gm-brand-soft));border-color:var(--game-accent,var(--gm-brand))}.cars-display .name-clue-value{font-family:Courier New,Courier,monospace;font-size:20px;letter-spacing:.18em;text-align:right;white-space:normal;word-break:break-word}.cars-display .clue-label{color:var(--gm-ink-soft);font-size:14px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.cars-display .clue-value{color:var(--gm-ink);font-size:16px;font-weight:700;margin-left:12px;text-align:right;white-space:nowrap}.car-profile-thumbnail{align-items:center;background:var(--gm-surface-2);border:1px solid var(--gm-border);border-radius:var(--gm-radius-sm);display:flex;height:66px;justify-content:center;padding:4px 6px;width:110px}.car-profile-svg{height:100%;width:100%}.car-profile-path,.car-wheel-outer{fill:var(--gm-brand);fill:var(--game-accent,var(--gm-brand))}.car-wheel-inner{fill:var(--gm-surface-2)}.car-profile-fallback{color:var(--gm-muted);font-size:12px}.cars-header .hint-btn{background:var(--gm-brand-soft);background:var(--game-accent-soft,var(--gm-brand-soft));border:1px solid var(--game-accent,var(--gm-brand));border-radius:var(--gm-radius-sm);color:var(--gm-brand);color:var(--game-accent,var(--gm-brand));cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px;transition:filter .15s;white-space:nowrap}.cars-header .hint-btn:hover:not(:disabled){filter:brightness(.95)}.cars-header .hint-btn:disabled{cursor:not-allowed;opacity:.55}@media (max-width:500px){.cars-display{padding:0 8px}.cars-display .clue-card{align-items:center;flex-direction:row;gap:8px;justify-content:space-between;padding:8px 12px}.cars-display .clue-label{font-size:11px}.cars-display .clue-value{font-size:13px;margin-left:auto}.cars-display .name-clue-value{font-size:15px;letter-spacing:.12em}.cars-display .profile-clue-card{align-items:flex-start}.car-profile-thumbnail{height:54px;width:92px}}.cars-keyboard{box-sizing:border-box;margin:24px auto 40px;max-width:500px;padding:0 12px;width:100%}.cars-keyboard .typeahead-container{position:relative;width:100%}.cars-keyboard .typeahead-label{color:var(--gm-ink-soft);display:block;font-size:14px;font-weight:600;margin-bottom:8px;text-align:center}.cars-keyboard .typeahead-input-wrapper{position:relative;width:100%}.cars-keyboard .typeahead-input{background:var(--gm-surface);border:2px solid var(--gm-border);border-radius:var(--gm-radius-sm);box-sizing:border-box;color:var(--gm-ink);font-size:16px;outline:none;padding:12px 40px 12px 16px;transition:border-color .2s;width:100%}.cars-keyboard .typeahead-input:focus{border-color:var(--game-accent,var(--gm-brand));box-shadow:0 0 0 3px var(--gm-brand-soft);box-shadow:0 0 0 3px var(--game-accent-soft,var(--gm-brand-soft))}.cars-keyboard .typeahead-input:disabled{background:var(--gm-surface-2);color:var(--gm-muted);cursor:not-allowed}.cars-keyboard .typeahead-clear{background:none;border:none;color:var(--gm-muted);cursor:pointer;font-size:22px;line-height:1;padding:0 4px;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.cars-keyboard .typeahead-clear:hover{color:var(--gm-ink)}.cars-keyboard .typeahead-list{background:var(--gm-surface);border:2px solid var(--game-accent,var(--gm-brand));border-radius:0 0 var(--gm-radius-sm) var(--gm-radius-sm);border-top:none;box-shadow:var(--gm-shadow-md);left:0;list-style:none;margin:0;max-height:240px;overflow-y:auto;padding:0;position:absolute;right:0;top:100%;z-index:100}.cars-keyboard .typeahead-item{color:var(--gm-ink);cursor:pointer;font-size:15px;padding:10px 16px;transition:background .1s}.cars-keyboard .typeahead-item.highlighted,.cars-keyboard .typeahead-item:hover{background:var(--gm-brand-soft);background:var(--game-accent-soft,var(--gm-brand-soft));color:var(--gm-brand);color:var(--game-accent,var(--gm-brand))}.cars-keyboard .typeahead-match{color:var(--gm-brand);color:var(--game-accent,var(--gm-brand));font-weight:700}@media (max-width:500px){.cars-keyboard{margin-top:20px}.cars-keyboard .typeahead-input{font-size:16px}}.cars-game-container{--game-accent:var(--gm-cars);--game-accent-soft:var(--gm-cars-soft);align-items:center;background:var(--gm-bg);display:flex;flex-direction:column;min-height:100vh;padding:0;width:100%}.cars-game-container .message{animation:carsSlideIn .3s ease-out;border-radius:var(--gm-radius-sm);font-size:14px;font-weight:600;margin:16px 0;max-width:600px;padding:10px 16px;text-align:center;width:100%}.cars-game-container .message.success{background:var(--gm-success-soft);color:var(--gm-success)}.cars-game-container .message.error{background:var(--gm-danger-soft);color:var(--gm-danger)}.cars-game-container .message.info{background:var(--gm-brand-soft);color:var(--gm-brand)}@keyframes carsSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.cars-game-container .tournament-timer{background:var(--gm-brand);border-radius:var(--gm-radius-sm);color:#fff;font-size:14px;margin:12px 0;padding:8px 20px;text-align:center}.cars-game-container .tournament-timer.expired{animation:carsPulse 1s infinite;background:var(--gm-danger)}@keyframes carsPulse{0%,to{opacity:1}50%{opacity:.6}}.cars-game-container .game-finished-actions{display:flex;gap:10px;margin:16px 0}.cars-game-container .new-game-btn{background:var(--game-accent);border:none;border-radius:var(--gm-radius-sm);color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:filter .15s}.cars-game-container .new-game-btn:hover{filter:brightness(.92)}.cars-game-container .play-again-btn{background:var(--game-accent);color:#fff}.cars-game-container .play-again-btn:hover{filter:brightness(.92)}.jigsaw-board{align-items:center;display:flex;flex-direction:column;gap:12px;max-width:460px;width:100%}.jigsaw-grid{grid-gap:0;background:var(--gm-brand);background:var(--game-accent,var(--gm-brand));border:none;border-radius:var(--gm-radius-lg);box-shadow:var(--gm-shadow-md);display:grid;gap:0;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);height:min(80vw,420px);padding:10px;width:min(80vw,420px)}.jigsaw-grid,.jigsaw-piece{overflow:visible;position:relative}.jigsaw-piece{-webkit-touch-callout:none;background:#0000;border-radius:0;cursor:grab;outline:none;touch-action:none;transition:transform .15s ease,box-shadow .15s ease;user-select:none;-webkit-user-select:none}.jigsaw-piece:hover{z-index:2}.jigsaw-piece:active{cursor:grabbing}.jigsaw-piece.dragging{opacity:.55;transform:scale(.97)}.jigsaw-piece.drag-over{z-index:3}.jigsaw-piece.disabled{cursor:default;pointer-events:none}.jigsaw-piece-inner{filter:none;inset:0;pointer-events:none;position:absolute;transform-origin:center center;transition:transform .25s ease}.jigsaw-piece-inner svg{display:block;height:100%;overflow:visible;width:100%}.jigsaw-piece.dragging .jigsaw-piece-inner{filter:drop-shadow(0 7px 14px rgba(0,0,0,.4))}.jigsaw-piece.drag-over .jigsaw-piece-inner{filter:drop-shadow(0 0 8px var(--gm-brand));filter:drop-shadow(0 0 8px var(--game-accent,var(--gm-brand)))}.jigsaw-fit-marker{align-items:center;animation:jigsawFitPop .18s ease-out;background:var(--gm-success-soft);border:1.5px solid var(--gm-success);border-radius:50%;box-shadow:var(--gm-shadow-sm);color:var(--gm-success);display:flex;font-size:10px;font-weight:700;height:18px;justify-content:center;pointer-events:none;position:absolute;transform:translate(-50%,-50%);width:18px;z-index:6}@keyframes jigsawFitPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media (max-width:768px){.jigsaw-grid{gap:0;height:min(90vw,360px);padding:10px;width:min(90vw,360px)}}.jigsaw-game-page{--game-accent:var(--gm-jigsaw);--game-accent-soft:var(--gm-jigsaw-soft);background:var(--gm-bg);display:flex;flex-direction:column;min-height:100vh;width:100%}.jigsaw-game-page .game-container{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:20px;justify-content:flex-start;padding:14px}.jigsaw-game-page .message{animation:jigsawSlideIn .3s ease-out;border-radius:4px;font-size:14px;font-weight:600;margin:16px 0;max-width:600px;padding:10px 16px;text-align:center;width:100%}.jigsaw-game-page .message.success{background:var(--gm-success-soft);color:var(--gm-success)}.jigsaw-game-page .message.error{background:var(--gm-danger-soft);color:var(--gm-danger)}.jigsaw-game-page .message.info{background:var(--gm-brand-soft);color:var(--gm-brand)}.jigsaw-game-page .tournament-timer{background:var(--gm-brand);border-radius:var(--gm-radius-sm);color:#fff;font-size:14px;margin:8px 0 12px;padding:8px 20px;text-align:center}.jigsaw-game-page .tournament-timer.expired{animation:jigsawPulse 1s infinite;background:var(--gm-danger)}.jigsaw-game-page .jigsaw-header{align-items:stretch;background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-md);box-shadow:var(--gm-shadow-sm);box-sizing:border-box;display:flex;flex-direction:column;gap:8px;max-width:460px;padding:10px 12px;width:100%}.jigsaw-game-page .jigsaw-end-game-row{align-items:center;display:flex;justify-content:space-between;width:100%}.jigsaw-game-page .submission-count{color:var(--gm-muted);font-size:13px;font-weight:600;white-space:nowrap}.jigsaw-game-page .jigsaw-instructions{background:var(--gm-brand-soft);background:var(--game-accent-soft,var(--gm-brand-soft));border:1px solid var(--gm-border);border-radius:var(--gm-radius-sm);color:var(--gm-brand);color:var(--game-accent,var(--gm-brand));font-size:14px;font-weight:600;padding:8px 10px;text-align:center}.jigsaw-game-page .end-game-btn{align-items:center;background:#fff3e0;border:1.5px solid #ffb74d;border-radius:6px;color:#e65100;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:6px 14px;transition:background .2s;white-space:nowrap}.jigsaw-game-page .end-game-btn:hover{background:#ffe0b2}.jigsaw-game-page .solved-puzzle-section{align-items:center;display:flex;flex-direction:column;gap:8px;margin-top:10px;width:100%}.jigsaw-game-page .solved-puzzle-label{color:var(--gm-ink);font-size:14px;font-weight:600;letter-spacing:.2px;margin:0}.jigsaw-game-page .game-finished-actions{display:flex;gap:10px;margin:16px 0}.jigsaw-game-page .game-finished-actions .new-game-btn{margin-bottom:0}.jigsaw-game-page .new-game-btn{background:var(--game-accent);border:none;border-radius:var(--gm-radius-sm);color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:filter .15s}.jigsaw-game-page .new-game-btn:hover{filter:brightness(.92)}.jigsaw-game-page .play-again-btn{background:var(--game-accent);color:#fff}.jigsaw-game-page .play-again-btn:hover{filter:brightness(.92)}@keyframes jigsawSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes jigsawPulse{0%,to{opacity:1}50%{opacity:.6}}@media (max-width:768px){.jigsaw-game-page .game-container{gap:10px;padding:12px}.jigsaw-game-page .new-game-btn{font-size:13px;padding:10px 18px}.jigsaw-game-page .end-game-btn{font-size:12px;padding:5px 10px}.jigsaw-game-page .game-finished-actions{flex-wrap:wrap;justify-content:center}}.shapes-board{align-items:center;display:flex;flex-direction:column;gap:12px;max-width:460px;width:100%}.shapes-grid{grid-gap:4px;background:var(--gm-brand);background:var(--game-accent,var(--gm-brand));border-radius:var(--gm-radius-lg);box-shadow:var(--gm-shadow-md);display:grid;gap:4px;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);height:min(80vw,420px);overflow:hidden;padding:4px;position:relative;width:min(80vw,420px)}.shapes-grid:after{border:4px solid var(--game-accent,var(--gm-brand));border-radius:inherit;content:"";inset:0;pointer-events:none;position:absolute;z-index:2}.shapes-piece{-webkit-touch-callout:none;background:var(--gm-surface);border-radius:6px;cursor:grab;outline:3px solid #0000;outline-offset:-3px;overflow:hidden;position:relative;touch-action:none;transition:transform .15s ease,box-shadow .15s ease,outline-color .15s ease;user-select:none;-webkit-user-select:none}.shapes-piece:hover{box-shadow:0 0 0 3px var(--gm-brand-soft);box-shadow:0 0 0 3px var(--game-accent-soft,var(--gm-brand-soft))}.shapes-piece:active{cursor:grabbing}.shapes-piece.dragging{opacity:.5;transform:scale(.97)}.shapes-piece.drag-over{box-shadow:0 0 0 3px var(--gm-brand);box-shadow:0 0 0 3px var(--game-accent,var(--gm-brand));outline-color:var(--gm-brand);outline-color:var(--game-accent,var(--gm-brand))}.shapes-piece.disabled{cursor:default;pointer-events:none}.shapes-piece-inner{height:100%;pointer-events:none;transform-origin:center center;transition:transform .25s ease;width:100%}.shapes-piece-inner svg{display:block;height:100%;width:100%}.shapes-preview{align-items:center}.shapes-preview-frame{animation:shapesPreviewIn .2s ease-out;background:var(--gm-surface);border:4px solid var(--game-accent,var(--gm-brand));border-radius:var(--gm-radius-lg);box-shadow:var(--gm-shadow-md);height:min(80vw,420px);overflow:hidden;width:min(80vw,420px)}.shapes-preview-frame svg{display:block;height:100%;width:100%}.shapes-preview-label{color:var(--gm-brand);color:var(--game-accent,var(--gm-brand));font-size:14px;font-weight:600;letter-spacing:.5px}@keyframes shapesPreviewIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (max-width:768px){.shapes-grid,.shapes-preview-frame{height:min(90vw,360px);width:min(90vw,360px)}}.shapes-game-page{--game-accent:var(--gm-shapes);--game-accent-soft:var(--gm-shapes-soft);background:var(--gm-bg);display:flex;flex-direction:column;min-height:100vh;padding:0;width:100%}.shapes-game-page .game-container{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:12px;justify-content:flex-start;padding:14px}.shapes-game-page .message{animation:shapesSlideIn .3s ease-out;border-radius:4px;font-size:14px;font-weight:600;margin:16px 0;max-width:600px;padding:10px 16px;text-align:center;width:100%}.shapes-game-page .message.success{background:var(--gm-success-soft);color:var(--gm-success)}.shapes-game-page .message.error{background:var(--gm-danger-soft);color:var(--gm-danger)}.shapes-game-page .message.info{background:var(--gm-brand-soft);color:var(--gm-brand)}.shapes-game-page .tournament-timer{background:var(--gm-brand);border-radius:var(--gm-radius-sm);color:#fff;font-size:14px;margin:8px 0 12px;padding:8px 20px;text-align:center}.shapes-game-page .tournament-timer.expired{animation:shapesPulse 1s infinite;background:var(--gm-danger)}.shapes-game-page .shapes-header{align-items:stretch;display:flex;flex-direction:column;gap:8px;max-width:460px;width:100%}.shapes-game-page .shapes-end-game-row{align-items:center;display:flex;justify-content:space-between;width:100%}.shapes-game-page .submission-count{color:var(--gm-muted);font-size:13px;font-weight:600;white-space:nowrap}.shapes-game-page .shapes-instructions{color:var(--gm-brand);color:var(--game-accent,var(--gm-brand));font-size:14px;font-weight:600;text-align:center}.shapes-game-page .end-game-btn{align-items:center;background:#fff3e0;border:1.5px solid #ffb74d;border-radius:6px;color:#e65100;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:6px 14px;transition:background .2s;white-space:nowrap}.shapes-game-page .end-game-btn:hover{background:#ffe0b2}.shapes-game-page .end-game-btn:disabled{cursor:not-allowed;opacity:.45}.shapes-game-page .hint-btn{background:var(--gm-brand-soft);background:var(--game-accent-soft,var(--gm-brand-soft));border:1px solid var(--game-accent,var(--gm-brand));border-radius:var(--gm-radius-sm);color:var(--gm-brand);color:var(--game-accent,var(--gm-brand));cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px;transition:filter .15s;white-space:nowrap}.shapes-game-page .hint-btn:hover{filter:brightness(.95)}.shapes-game-page .game-finished-actions{display:flex;gap:10px;margin:16px 0}.shapes-game-page .new-game-btn{background:var(--game-accent);border:none;border-radius:var(--gm-radius-sm);color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:filter .15s}.shapes-game-page .new-game-btn:hover{filter:brightness(.92)}.shapes-game-page .play-again-btn{background:var(--game-accent);color:#fff}.shapes-game-page .play-again-btn:hover{filter:brightness(.92)}@keyframes shapesSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes shapesPulse{0%,to{opacity:1}50%{opacity:.6}}@media (max-width:768px){.shapes-game-page .game-container{gap:10px;padding:12px}.shapes-game-page .new-game-btn{font-size:13px;padding:10px 18px}.shapes-game-page .end-game-btn,.shapes-game-page .hint-btn{font-size:12px;padding:5px 10px}.shapes-game-page .game-finished-actions{flex-wrap:wrap;justify-content:center}}.pathfinder-graph-wrapper{align-items:center;display:flex;flex-direction:column;margin:12px 0;max-width:680px;width:100%}.pathfinder-svg{background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-lg);box-shadow:var(--gm-shadow-md);width:100%}.pathfinder-graph-loading{color:var(--gm-muted);font-size:14px;padding:40px}.pathfinder-running-cost{background:var(--gm-brand-soft);background:var(--game-accent-soft,var(--gm-brand-soft));border:1px solid var(--gm-border);border-radius:var(--gm-radius-sm);color:var(--gm-ink-soft);font-size:13px;margin-top:8px;padding:6px 14px;text-align:center}.pathfinder-running-cost strong{color:var(--gm-brand);color:var(--game-accent,var(--gm-brand))}.pathfinder-edge-tooltip{background:var(--gm-brand);background:var(--game-accent,var(--gm-brand));border-radius:var(--gm-radius-sm);box-shadow:var(--gm-shadow-md);color:#fff;font-size:20px;font-weight:800;letter-spacing:.01em;padding:5px 14px 6px;pointer-events:none;position:fixed;transform:translate(-50%,-140%);white-space:nowrap;z-index:9999}.pathfinder-edge-tooltip:after{border-bottom:none;border-left:6px solid #0000;border-right:6px solid #0000;border-top-color:#0000;border-top-color:var(--gm-brand);border-top:6px solid var(--game-accent,var(--gm-brand));bottom:-6px;content:"";left:50%;position:absolute;transform:translateX(-50%)}.pathfinder-controls{align-items:center;display:flex;flex-direction:column;gap:10px;max-width:680px;padding:0 16px 20px;width:100%}.pathfinder-hint{color:var(--gm-muted);font-size:13px;margin:0;text-align:center}.pathfinder-buttons{display:flex;gap:10px}.pf-btn{border:none;border-radius:var(--gm-radius-sm);cursor:pointer;font-size:14px;font-weight:600;padding:9px 22px;transition:background .15s,opacity .15s,filter .15s}.pf-btn:disabled{cursor:default;opacity:.4}.pf-btn-undo{background:var(--gm-surface-2);border:1px solid var(--gm-border);color:var(--gm-ink-soft)}.pf-btn-undo:not(:disabled):hover{background:var(--gm-border)}.pf-btn-clear{background:#fff3e0;border:1px solid #fcd34d;color:#b45309}.pf-btn-clear:not(:disabled):hover{background:#fef3c7}.pf-btn-submit{background:var(--gm-brand);background:var(--game-accent,var(--gm-brand));color:#fff}.pf-btn-submit:not(:disabled):hover{filter:brightness(.92)}.pathfinder-game-container{--game-accent:var(--gm-pathfinder);--game-accent-soft:var(--gm-pathfinder-soft);align-items:center;background:var(--gm-bg);display:flex;flex-direction:column;min-height:100vh;width:100%}.pathfinder-game-container .message{animation:slideIn .3s ease-out;border-radius:var(--gm-radius-sm);font-size:14px;font-weight:600;margin:14px 0 0;max-width:680px;padding:10px 16px;text-align:center;width:100%}.pathfinder-game-container .message.success{background:var(--gm-success-soft);color:var(--gm-success)}.pathfinder-game-container .message.error{background:var(--gm-danger-soft);color:var(--gm-danger)}.pathfinder-game-container .message.info{background:var(--gm-brand-soft);color:var(--gm-brand)}@keyframes slideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.pathfinder-game-container .tournament-timer{background:var(--gm-brand);border-radius:var(--gm-radius-sm);color:#fff;font-size:14px;margin:10px 0;padding:8px 20px;text-align:center}.pathfinder-game-container .tournament-timer.expired{animation:pulse 1s infinite;background:var(--gm-danger)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.pathfinder-meta{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;max-width:680px;padding:12px 4px 4px;width:100%}.pathfinder-theme{color:var(--gm-brand);color:var(--game-accent,var(--gm-brand));font-size:14px;font-weight:600}.pathfinder-attempts{color:var(--gm-muted);font-size:13px;font-weight:500}.end-game-btn{background:#fff3e0;border:1.5px solid #ffb74d;border-radius:5px;color:#e65100;cursor:pointer;font-size:12px;font-weight:600;padding:5px 12px;transition:background .15s}.end-game-btn:hover{background:#ffe0b2}.pathfinder-history{display:flex;flex-direction:column;gap:4px;max-width:680px;padding:0 4px 8px;width:100%}.pathfinder-attempt-row{align-items:center;background:var(--gm-danger-soft);border:1px solid var(--gm-border);border-radius:var(--gm-radius-sm);display:flex;font-size:13px;gap:8px;padding:5px 12px}.attempt-num{color:var(--gm-muted);font-weight:700;min-width:24px}.attempt-cross{color:var(--gm-danger);font-size:14px}.attempt-path{color:var(--gm-ink-soft);font-family:monospace;font-size:13px}.pathfinder-game-container .game-finished-actions{display:flex;gap:10px;margin:16px 0}.pathfinder-game-container .new-game-btn{background:var(--game-accent);border:none;border-radius:var(--gm-radius-sm);color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:filter .15s}.pathfinder-game-container .new-game-btn:hover{filter:brightness(.92)}.pathfinder-game-container .play-again-btn{background:var(--game-accent);color:#fff}.pathfinder-game-container .play-again-btn:hover{filter:brightness(.92)}.admin-tabs{background:#fff;border-bottom:2px solid #e2e5ea;display:flex;padding:0 24px}.admin-tab{background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;font-size:13px;font-weight:600;margin-bottom:-2px;padding:12px 18px;transition:color .15s;white-space:nowrap}.admin-tab:hover{color:#1e3a5f}.admin-tab.active{border-bottom-color:#1e3a5f;color:#1e3a5f}.admin-stats-bar{background:#fff;border-bottom:1px solid #e2e5ea;display:flex}.admin-stat{border-right:1px solid #e2e5ea;flex:1 1;padding:14px 12px;text-align:center}.admin-stat:last-child{border-right:none}.admin-stat-val{font-feature-settings:"tnum";color:#1e3a5f;font-size:22px;font-variant-numeric:tabular-nums;font-weight:800}.admin-stat-val.green{color:#166534}.admin-stat-val.red{color:#991b1b}.admin-stat-val.yellow{color:#d97706}.admin-stat-lbl{color:#9ca3af;font-size:10px;letter-spacing:.06em;margin-top:3px;text-transform:uppercase}.admin-section-hdr{background:#1e3a5f;color:#fff;font-size:13px;font-weight:700;letter-spacing:.08em;padding:10px 24px;text-transform:uppercase}.tournament-filter-bar{align-items:center;background:#f4f5f7;border-bottom:1px solid #e2e5ea;display:flex;gap:8px;padding:10px 24px}.tournament-filter-input{border:1px solid #d0d4da;border-radius:4px;flex:1 1;font-size:13px;outline:none;padding:8px 12px}.tournament-filter-input:focus{border-color:#1e3a5f}.tournament-filter-clear{background:none;border:none;color:#999;cursor:pointer;font-size:16px;padding:4px 8px}.tournament-filter-clear:hover{color:#333}.user-mgmt-panel{margin:32px auto;max-width:1200px;padding:0 24px}.user-search-card{background:#fff;border:1px solid #e2e5ea;border-radius:8px;margin-bottom:20px;padding:24px}.user-search-card h2{color:#1e3a5f;font-size:15px;font-weight:700;margin:0 0 16px}.user-search-form{display:flex;gap:10px}.user-search-input{border:1px solid #d1d5db;border-radius:4px;flex:1 1;font-family:inherit;font-size:13px;padding:8px 12px}.user-search-input:focus{border-color:#1e3a5f;outline:none}.user-search-btn{background:#1e3a5f;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 18px}.user-search-btn:hover{background:#2a5080}.users-list-card{background:#fff;border:1px solid #e2e5ea;border-radius:8px;margin-bottom:20px;padding:20px}.users-list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.users-list-header h2{color:#1e3a5f;font-size:15px;font-weight:700;margin:0}.users-filter-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 200px;margin-bottom:12px}.users-filter-input,.users-filter-select{border:1px solid #d1d5db;border-radius:4px;font-family:inherit;font-size:13px;padding:8px 10px}.users-filter-input:focus,.users-filter-select:focus{border-color:#1e3a5f;outline:none}.users-table-wrap{overflow-x:auto}.users-table{border-collapse:collapse;font-size:13px;min-width:100%;width:max-content}.users-table thead{background:#f4f5f7}.users-table td,.users-table th{border-bottom:1px solid #e5e7eb;padding:9px 10px;text-align:left}.users-table td:last-child,.users-table th:last-child{min-width:300px;white-space:nowrap}.external-id-cell{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.users-table th{color:#6b7280;font-size:11px;letter-spacing:.04em;text-transform:uppercase}.users-table th.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none}.users-table th.sortable-th:hover{background:#e9eaec;color:#374151}.users-table th.sortable-th.sorted{color:#2563eb}.sort-indicator{align-items:center;display:inline-flex;margin-left:4px;opacity:.6}.users-table th.sortable-th.sorted .sort-indicator{opacity:1}.found-user-card{background:#fff;border:1px solid #e2e5ea;border-radius:8px;overflow:hidden}.found-user-header{background:#f4f5f7;border-bottom:1px solid #e2e5ea;gap:12px;padding:14px 20px}.found-user-header,.um-avatar{align-items:center;display:flex}.um-avatar{background:#1e3a5f;border-radius:50%;color:#fff;flex-shrink:0;font-size:15px;font-weight:700;height:38px;justify-content:center;width:38px}.um-user-meta{flex:1 1;min-width:0}.um-user-name{color:#1a1a2e;font-size:14px;font-weight:700}.um-user-email{color:#6b7280;font-size:12px;margin-top:1px}.um-status-badge{border-radius:10px;font-size:11px;font-weight:700;padding:3px 10px;white-space:nowrap}.um-status-active{background:#dcfce7;color:#166534}.um-status-inactive{background:#fee2e2;color:#991b1b}.um-status-pending{background:#fef3c7;color:#92400e;margin-left:8px}.found-user-body{display:flex;flex-direction:column;gap:16px;padding:20px}.um-field-row{align-items:center;display:flex;gap:10px}.um-field-row-stack{align-items:flex-start}.um-field-label{color:#6b7280;flex-shrink:0;font-size:12px;font-weight:600;width:80px}.um-toggle-text{color:#374151;font-size:13px}.um-field-value{color:#111827;font-size:13px;word-break:break-all}.um-toggle{display:inline-block;flex-shrink:0;height:20px;position:relative;width:38px}.um-toggle input{height:0;opacity:0;width:0}.um-toggle-slider{background:#d1d5db;border-radius:10px;cursor:pointer;inset:0;position:absolute;transition:.2s}.um-toggle-slider:before{background:#fff;border-radius:50%;bottom:2px;content:"";height:16px;left:2px;position:absolute;transition:.2s;width:16px}.um-toggle input:checked+.um-toggle-slider{background:#1e3a5f}.um-toggle input:checked+.um-toggle-slider:before{transform:translateX(18px)}.um-note{color:#6b7280;font-size:12px;margin-top:-8px}.um-actions-row{border-top:1px solid #f3f4f6;display:flex;flex-wrap:wrap;gap:8px;padding-top:4px}.um-btn{border:1px solid;border-radius:4px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:7px 14px}.um-save{background:#1e3a5f;border-color:#1e3a5f;color:#fff}.um-save:hover{background:#2a5080;border-color:#2a5080}.um-expire{background:#fffbeb;border-color:#f59e0b;color:#b45309}.um-expire:hover{background:#fef3c7}.um-toggle-active{background:#fff7ed;border-color:#fb923c;color:#c2410c}.um-toggle-active:hover{background:#ffedd5}.um-toggle-active.activate{background:#f0fdf4;border-color:#4ade80;color:#166534}.um-toggle-active.activate:hover{background:#dcfce7}.um-delete{background:#fef2f2;border-color:#fca5a5;color:#991b1b}.um-delete:hover{background:#fee2e2}.um-btn:disabled{cursor:not-allowed;opacity:.6}.fee-settings-card{max-width:720px}.fee-settings-form{grid-gap:16px;display:grid;gap:16px}.fee-settings-form .form-group{display:flex;flex-direction:column;gap:6px}.fee-settings-form label{color:#374151;font-size:13px;font-weight:600}.fee-settings-form input{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#111827;font-size:14px;max-width:280px;padding:10px 12px;width:100%}.fee-settings-form input:focus{border-color:#1e3a5f;outline:none}.admin-desktop-only-msg{display:none}.admin-desktop-content{display:contents}@media (max-width:768px) and (pointer:coarse){.admin-desktop-only-msg{align-items:center;display:flex;justify-content:center;min-height:60vh;padding:40px 24px}.admin-desktop-only-inner{text-align:center}.admin-desktop-only-icon{font-size:48px;margin-bottom:12px}.admin-desktop-only-title{color:#1e3a5f;font-size:20px;font-weight:700;margin-bottom:8px}.admin-desktop-only-sub{color:#6b7280;font-size:14px}.admin-desktop-content{display:none}}.admin-container{background:#f4f5f7;color:#1a1a2e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh;padding:0;width:100%}.admin-header{align-items:center;background:#1e3a5f;border-radius:0;box-shadow:none;color:#fff;display:flex;justify-content:space-between;margin-bottom:0;padding:14px 24px}.header-left h1{font-size:22px;margin:0 0 2px}.user-info{font-size:13px;margin:0}.back-btn,.logout-btn{border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:600;margin-left:8px;padding:7px 16px;transition:background-color .2s}.back-btn{background:#ffffff26}.back-btn:hover{background:#ffffff40}.logout-btn{background:#ffffff1a}.logout-btn:hover{background:#f443364d}.stats-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-card{align-items:center;background:#fff;border-bottom:1px solid #e2e5ea;border-radius:0;box-shadow:none;display:flex;gap:12px;padding:16px;transition:background-color .15s}.stat-card:hover{background-color:#f8f9fb}.stat-icon{font-size:24px}.stat-content{flex:1 1}.stat-label{color:#999;font-size:12px;letter-spacing:1px;margin-bottom:5px;text-transform:uppercase}.stat-value{color:#1e3a5f;font-size:22px;font-weight:700}.filters-container{grid-gap:16px;align-items:end;background:#fff;border-bottom:1px solid #e2e5ea;border-radius:0;box-shadow:none;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:0;padding:16px 24px}.filter-group{display:flex;flex-direction:column}.filter-group label{color:#666;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.filter-input,.filter-select{border:2px solid #eee;border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;transition:all .3s ease}.filter-input:focus,.filter-select:focus{background:#f8f9fb;border-color:#1e3a5f;outline:none}.refresh-btn{background:#1e3a5f;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 30px;transition:background-color .2s;white-space:nowrap}.refresh-btn:hover:not(:disabled){background:#2a5080}.refresh-btn:disabled{cursor:not-allowed;opacity:.6}.games-table-container{background:#fff;border-bottom:1px solid #e2e5ea;border-radius:0;box-shadow:none;overflow:hidden}.table-wrapper{overflow-x:auto}.games-table{border-collapse:collapse;font-size:14px;width:100%}.games-table thead{background:#1e3a5f;color:#fff;position:sticky;top:0}.games-table th{font-size:12px;font-weight:600;letter-spacing:.5px;padding:15px;text-align:left;text-transform:uppercase;white-space:nowrap}.games-table td{border-bottom:1px solid #eee;padding:12px 15px}.games-table tbody tr{transition:all .3s ease}.games-table tbody tr:hover{background:#f8f9fb}.games-table tbody tr.row-win{border-left:4px solid #51cf66}.games-table tbody tr.row-loss{border-left:4px solid #ff8787}.games-table tbody tr.row-in_progress{border-left:4px solid #ffd43b}.email-cell,.game-id-cell,.phrase-cell{color:#666;font-size:13px}.email-cell span,.game-id-cell code{display:inline-block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phrase-cell strong{color:#333}.date-cell{color:#999;font-size:12px}.center.success{color:#51cf66;font-weight:600}.center.error{color:#ff8787;font-weight:600}.center.bold{color:#1e3a5f;font-weight:700}.badge{border-radius:12px;display:inline-block;font-size:11px;letter-spacing:.5px;padding:4px 12px;width:fit-content}.badge-win{background:#d4edda;color:#155724}.badge-loss{background:#f8d7da;color:#721c24}.badge-progress{background:#fff3cd;color:#856404}.pagination{align-items:center;background:#f9f9f9;border-top:1px solid #eee;display:flex;gap:15px;justify-content:center;padding:20px}.pagination-btn{background:#1e3a5f;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:background-color .2s}.pagination-btn:hover:not(:disabled){background:#2a5080}.pagination-btn:disabled{background:#ccc;cursor:not-allowed;opacity:.5}.page-info{color:#666;font-size:13px;font-weight:600}.admin-loading,.no-games{color:#999;font-size:16px;padding:40px;text-align:center}.admin-error-message{background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;font-size:14px;margin-bottom:20px;padding:15px 20px}.tournaments-table-container{background:#fff;border-radius:0;box-shadow:none;padding:0}.admin-no-tournaments{color:#999;font-size:16px;padding:40px;text-align:center}.tlist-wrap{background:#fff;overflow-x:auto}.tlist-header,.tlist-row{align-items:center;border-bottom:1px solid #e2e5ea;display:flex;min-width:max-content}.tlist-header{background:#f4f5f7;border-bottom:2px solid #e2e5ea;position:sticky;top:0}.tlist-header>div{color:#6b7280;font-size:11px;font-weight:700;letter-spacing:.05em;padding:9px 12px;text-transform:uppercase;white-space:nowrap}.tlist-row{cursor:pointer}.tlist-row:hover{background:#f8f9fb}.tlist-row.expanded-row{background:#f0f4ff}.tlist-row>div{overflow:hidden;padding:10px 12px;text-overflow:ellipsis;white-space:nowrap}.cl-exp{flex-shrink:0;text-align:center;width:36px}.cl-id{flex-shrink:0;width:130px}.cl-game{flex:1 1;min-width:90px;white-space:normal!important;word-break:break-word}.cl-stat{flex-shrink:0;width:115px}.cl-date{flex-shrink:0;width:175px}.cl-num{width:100px}.cl-games,.cl-num{flex-shrink:0;text-align:center}.cl-games{width:70px}.cl-win{flex-shrink:0;width:110px}.cl-payout{flex-shrink:0;width:90px}.cl-tx{flex-shrink:0;width:180px}.cl-act{flex-shrink:0;width:90px}.cl-tx code{background:#f1f3f4;border-radius:3px;color:#4b5563;font-size:11px;padding:2px 6px}.exp-icon{color:#6b7280;font-size:10px}.tlist-detail{background:#f8faff;border-bottom:2px solid #1e3a5f;overflow-x:auto;padding:12px 20px}.geo-section{margin-bottom:10px}.geo-header{color:#1e3a5f;font-size:12px;font-weight:600;margin-bottom:4px}.geo-table{border-collapse:collapse;font-size:12px;margin-bottom:8px;width:auto}.geo-table th{background:#e8ecf1;color:#374151;font-weight:600;padding:4px 10px;text-align:left}.geo-table td{border-bottom:1px solid #e2e5ea;padding:4px 10px}.geo-table code{background:#f1f3f4;border-radius:3px;font-size:11px;padding:1px 4px}.date-cell{color:#666;font-size:13px;white-space:nowrap}.center{text-align:center}.delete-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:6px 12px;transition:background-color .3s ease}.delete-btn:hover{background:#c82333}.admin-badge-completed{background:#28a745;color:#fff}.admin-badge-open{background:#ffc107;color:#212529}.badge-voided,.void-btn{background:#6c757d;color:#fff}.void-btn{border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:600;padding:6px 12px;transition:background-color .3s ease}.void-btn:hover{background:#565e64}@media (max-width:1400px){.admin-container{grid-template-columns:1fr}.stats-container{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.games-table{font-size:12px}.games-table td,.games-table th{padding:8px}}@media (max-width:600px){.admin-container{padding:15px 10px}.admin-header{padding:15px}.header-left h1{font-size:24px}.stats-container{grid-template-columns:1fr}.stat-card{padding:15px}.games-table{font-size:11px}.games-table td,.games-table th{padding:6px}.email-cell span,.game-id-cell code,.phrase-cell strong{max-width:80px}.filters-container{gap:10px;grid-template-columns:1fr;padding:15px}}.tournament-id-cell code{background:#f1f3f4;border-radius:3px;color:#666;font-size:12px;padding:2px 6px}.winner-cell{color:#28a745;font-weight:600}.create-admin-section{background:#fff;border-bottom:1px solid #e2e5ea;border-radius:0;box-shadow:none;margin-bottom:0;padding:16px 24px}.create-admin-section h2{color:#1a1a2e;font-size:15px;margin:0 0 12px}.create-admin-form{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.create-admin-form input{border:2px solid #e0e0e0;border-radius:6px;flex:1 1;font-size:14px;min-width:160px;padding:10px 14px}.create-admin-form input:focus{border-color:#1e3a5f;outline:none}.create-admin-btn{background:#1e3a5f;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;white-space:nowrap}.create-admin-btn:hover{background:#2a5080}.admin-success-message{background:#e8f5e9;border:1px solid #a5d6a7;border-radius:6px;color:#2e7d32;font-size:14px;margin-bottom:12px;padding:10px 14px}.found-user{align-items:center;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;padding:12px 16px}.found-user-info{color:#333;flex:1 1;font-size:14px;font-weight:500}.admin-checkbox-label{align-items:center;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px}.admin-checkbox-label input[type=checkbox]{cursor:pointer;height:16px;width:16px}.expire-password-btn{background:#1e3a5f;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;white-space:nowrap}.expire-password-btn:hover{background:#2a5080}.deactivate-btn{background:#ff9800;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;white-space:nowrap}.deactivate-btn:hover{background:#e65100}.user-delete-btn{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;white-space:nowrap}.user-delete-btn:hover{background:#c82333}.confirm-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.confirm-dialog{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:420px;padding:30px;width:90%}.confirm-dialog p{color:#333;font-size:16px;line-height:1.5;margin:0 0 24px}.confirm-actions{display:flex;gap:12px;justify-content:flex-end}.confirm-cancel-btn{background:#e0e0e0;border:none;border-radius:6px;color:#333;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px}.confirm-cancel-btn:hover{background:#bdbdbd}.confirm-proceed-btn{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px}.confirm-proceed-btn:hover{background:#c82333}.user-deactivated-badge{background:#ff9800;border-radius:10px;color:#fff;font-size:11px;font-weight:700;margin-left:8px;padding:2px 8px;text-transform:uppercase}.audit-btn{background:#1e3a5f;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:5px 10px;transition:background-color .2s;white-space:nowrap}.audit-btn:hover{background:#2a5080}.audit-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.audit-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:80vh;max-width:800px;width:95%}.audit-modal-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #eee;border-radius:12px 12px 0 0;display:flex;gap:12px;padding:16px 24px}.audit-modal-header h3{color:#1a1a2e;font-size:15px;margin:0}.audit-game-id{color:#666;flex:1 1;font-size:13px}.audit-game-id code{background:#f1f3f4;border-radius:3px;font-size:12px;padding:2px 6px}.audit-close-btn{background:none;border:none;border-radius:4px;color:#999;cursor:pointer;font-size:20px;padding:4px 8px;transition:all .2s ease}.audit-close-btn:hover{background:#eee;color:#333}.audit-modal-body{overflow-y:auto;padding:16px 24px}.audit-table{border-collapse:collapse;font-size:13px;width:100%}.audit-table th{background:#f8f9fa;border-bottom:2px solid #dee2e6;color:#333;font-size:11px;font-weight:600;letter-spacing:.5px;padding:10px 12px;text-align:left;text-transform:uppercase}.audit-table td{border-bottom:1px solid #eee;padding:8px 12px}.audit-table code{background:#f1f3f4;border-radius:3px;font-size:12px;padding:2px 6px}.audit-correct{background:#51cf660f}.audit-incorrect{background:#ff87870f}.loading-inline{color:#999;font-size:14px;padding:20px;text-align:center}.tournament-games-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 8px #00000014;font-size:13px;min-width:1210px;overflow:hidden;table-layout:fixed;width:100%}.tournament-games-table th{background:#eef2f7;border-bottom:2px solid #e2e5ea;color:#1a1a2e;font-size:11px;font-weight:600;letter-spacing:.5px;padding:10px 12px;text-align:left;text-transform:uppercase}.tournament-games-table td,.tournament-games-table th{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tournament-games-table td{border-bottom:1px solid #eee;padding:8px 12px}.tournament-games-table tbody tr:hover{background:#f4f5f7}.payment-history-panel{padding:0}.payment-filter-bar{background:#f8faff;border-bottom:1px solid #e2e5ea;display:flex;gap:10px;padding:12px 20px}.payment-filter-input{border:1px solid #d1d5db;border-radius:6px;flex:1 1;font-size:13px;padding:8px 12px}.payment-filter-input:focus{border-color:#1e3a5f;outline:none}.payment-table-container{overflow-x:auto}.payment-table{border-collapse:collapse;font-size:13px;width:100%}.payment-table th{background:#f1f3f5;border-bottom:2px solid #e2e5ea;color:#374151;font-weight:600;padding:10px 14px;text-align:left;white-space:nowrap;.payment-tx-cell code{background:#f1f3f4;border-radius:3px;color:#4b5563;font-size:11px;padding:2px 6px}.badge-payout{background:#ede9fe;color:#5b21b6}}.payment-table td{border-bottom:1px solid #eee;padding:10px 14px;white-space:nowrap}.payment-table tbody tr:hover{background:#f8faff}.payment-type-badge{border-radius:4px;display:inline-block;font-size:11px;font-weight:600;padding:2px 8px}.badge-membership{background:#dbeafe;color:#1e40af}.badge-creation{background:#fef3c7;color:#92400e}.badge-participation{background:#d1fae5;color:#065f46}.payment-row-clickable{cursor:pointer}.payment-row-success{background:#f0fdf4!important}.payment-row-success:hover{background:#dcfce7!important}.payment-row-failed{background:#fff5f5!important}.payment-row-failed:hover{background:#fee2e2!important}.payment-detail-row td{border-bottom:2px solid #e2e5ea;padding:0!important}.payment-detail-panel{background:#f8faff;display:flex;flex-direction:column;gap:10px;padding:14px 20px}.payment-detail-label{color:#6b7280;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.payment-detail-json{background:#1e293b;border-radius:6px;color:#e2e8f0;font-size:12px;line-height:1.6;margin:0;overflow-x:auto;padding:10px 14px;white-space:pre-wrap;word-break:break-all}.payment-detail-empty{color:#9ca3af;font-size:12px;font-style:italic}.payment-retry-btn{align-self:flex-start;background:#1e3a5f;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:6px 14px}.payment-retry-btn:hover:not(:disabled){background:#2d5a8e}.payment-retry-btn:disabled{cursor:not-allowed;opacity:.5}.retry-modal{max-width:480px;min-width:320px}.retry-modal-success{color:#065f46}.retry-modal-error,.retry-modal-success{font-size:16px;font-weight:700;margin:0 0 8px}.retry-modal-error{color:#991b1b}.retry-modal-detail{color:#374151;font-size:13px;margin:0 0 8px}.retry-modal-tx{color:#6b7280;font-size:12px;margin:0 0 8px}.forbidden-states-grid{grid-gap:4px 12px;background:#f9fafb;border:1px solid #e2e5ea;border-radius:6px;display:grid;gap:4px 12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));max-height:300px;overflow-y:auto;padding:10px}.state-checkbox-label{align-items:center;border-radius:4px;color:#374151;cursor:pointer;display:flex;font-size:13px;gap:6px;padding:2px 4px;-webkit-user-select:none;user-select:none}.state-checkbox-label input{cursor:pointer}.state-forbidden{background:#fee2e2;color:#991b1b;font-weight:600}.payment-row-retried{background:#fef9c3!important}.payment-row-retried:hover{background:#fef08a!important}.diag-intro{color:#6b7280;font-size:13px;margin:0 0 20px;max-width:76ch}.diag-grid{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:1fr 1fr}@media (max-width:900px){.diag-grid{grid-template-columns:1fr}}.diag-card{margin-bottom:0}.diag-mono{font-feature-settings:"tnum";font-family:SF Mono,Menlo,Consolas,Courier New,monospace;font-variant-numeric:tabular-nums}.diag-mono-id{color:#6b7280;font-family:SF Mono,Menlo,Consolas,Courier New,monospace}.diag-field{margin-bottom:14px}.diag-field-label{color:#6b7280;display:block;font-size:11px;font-weight:700;letter-spacing:.05em;margin:0 0 6px;text-transform:uppercase}.diag-select{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#111827;font-family:inherit;font-size:13px;padding:8px 10px;width:100%}.diag-select:focus{border-color:#1e3a5f;outline:none}.diag-type-picker{display:flex;gap:8px}.diag-type-opt{background:#fff;border:1px solid #e2e5ea;border-radius:6px;color:#374151;cursor:pointer;flex:1 1;font-size:12px;font-weight:600;padding:9px 6px;text-align:center}.diag-type-opt:hover{border-color:#c7cdd6}.diag-type-opt.selected{background:#eef2f7;border-color:#1e3a5f;color:#1e3a5f}.diag-send-btn{margin-top:4px;text-align:center;width:100%}.diag-secondary-btn{background:#fff;border-color:#1e3a5f;color:#1e3a5f}.diag-secondary-btn:hover{background:#eef2f7}.diag-test-tag{align-items:center;background:#fef3c7;border-radius:10px;color:#92400e;display:inline-flex;font-size:10px;font-weight:700;letter-spacing:.04em;margin-left:8px;padding:2px 8px;text-transform:uppercase}.diag-note{color:#9ca3af;font-size:11px;line-height:1.5;margin:8px 0 0}.diag-sep{border:none;border-top:1px solid #e2e5ea;margin:18px 0}.diag-self-result{background:#f4f5f7;border:1px solid #e2e5ea;border-radius:6px;margin-top:10px;padding:12px 14px}.diag-loc-row{display:flex;font-size:12px;justify-content:space-between;padding:3px 0}.diag-loc-row+.diag-loc-row{border-top:1px dashed #e2e5ea}.diag-loc-k{color:#9ca3af}.diag-loc-v{color:#374151;font-weight:600}.diag-log-hdr{align-items:baseline;color:#6b7280;display:flex;font-size:11px;font-weight:700;justify-content:space-between;letter-spacing:.05em;margin:18px 0 8px;text-transform:uppercase}.diag-log-clear{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:11px;font-weight:400;letter-spacing:normal;text-decoration:underline;text-transform:none}.diag-log-list{display:flex;flex-direction:column;gap:6px;max-height:280px;overflow-y:auto}.diag-log-empty{border:1px dashed #e2e5ea;border-radius:6px;color:#9ca3af;font-size:12px;padding:14px 0;text-align:center}.diag-row{background:#f4f5f7;border:1px solid #e2e5ea;border-radius:6px;overflow:hidden}.diag-row-hdr{grid-gap:10px;align-items:center;cursor:pointer;display:grid;gap:10px;grid-template-columns:auto 1fr auto auto;padding:9px 10px}.diag-row-hdr:hover{background:#ebedf1}.diag-row-icon{align-items:center;background:#fff;border:1px solid #e2e5ea;border-radius:6px;color:#1e3a5f;display:flex;flex-shrink:0;height:26px;justify-content:center;width:26px}.diag-row-main{min-width:0}.diag-row-title{color:#1a1a2e;font-size:12.5px;font-weight:600}.diag-row-sub{color:#9ca3af;font-size:11px;margin-top:1px}.diag-chevron{color:#9ca3af;display:flex;flex-shrink:0;transition:transform .15s}.diag-row.open .diag-chevron{transform:rotate(180deg)}.diag-status-pill{border-radius:10px;font-size:10px;font-weight:700;letter-spacing:.04em;padding:3px 9px;text-transform:uppercase;white-space:nowrap}.diag-status-pill.pending{background:#e5e7eb;color:#4b5563}.diag-status-pill.pending:before{animation:diagBlink 1.1s infinite;background:#4b5563;border-radius:50%;content:"";display:inline-block;height:5px;margin-right:5px;width:5px}@keyframes diagBlink{50%{opacity:.25}}.diag-status-pill.ack{background:#d4edda;color:#155724}.diag-status-pill.blocked{background:#f8d7da;color:#721c24}.diag-status-pill.inline{padding:2px 8px}.diag-trace{background:#fbfbfc;border-top:1px solid #e2e5ea;padding:10px 12px 11px 46px}.diag-trace-line{grid-gap:10px;color:#374151;display:grid;font-size:11px;gap:10px;grid-template-columns:78px 1fr;padding:2px 0}.diag-trace-t{color:#9ca3af}.diag-trace-waiting{color:#9ca3af;font-size:11px;font-style:italic;padding:2px 0 0}@media (prefers-reduced-motion:reduce){.diag-status-pill.pending:before{animation:none}}.account-box{max-width:480px}.account-input-disabled{background:#f5f5f5!important;color:#999!important;cursor:not-allowed}.account-field-note{color:#9ca3af;font-size:11px;margin:4px 0 0}.account-optional{color:#9ca3af;font-size:12px;font-weight:400}.account-password-row{align-items:center;display:flex;gap:8px}.account-password-display{flex:1 1}.account-password-edit-btn{background:#1e3a5f;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 14px;transition:background .15s;white-space:nowrap}.account-password-edit-btn:hover{background:#2a5080}.account-section-divider{border:none;border-top:1px solid #e5e7eb;margin:24px 0 20px}.account-section-title{color:#1a1a2e;font-size:15px;font-weight:700;margin:0 0 4px}.account-section-desc{color:#9ca3af;font-size:12px;margin:0 0 14px}.account-info-link{background:none;border:none;color:#1e3a5f;cursor:pointer;font-size:13px;font-weight:600;margin:0 0 14px;padding:0;text-decoration:underline}.account-info-link:hover{color:#2a5080}.account-stripe-loading{color:#6b7280;font-size:13px;margin:0 0 12px}.account-stripe-box{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;padding:12px}.account-stripe-box p{color:#374151;font-size:13px;margin:0 0 8px}.account-stripe-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.account-stripe-country-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1f2937;font-size:13px;padding:10px 12px}.account-stripe-delink-btn,.account-stripe-refresh-btn,.account-stripe-setup-btn{border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;padding:10px 12px}.account-stripe-setup-btn{background:#1e3a5f;color:#fff}.account-stripe-setup-btn:hover{background:#2a5080}.account-stripe-delink-btn{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b}.account-stripe-delink-btn:hover{background:#fee2e2}.account-stripe-refresh-btn{background:#e5e7eb;color:#1f2937}.account-stripe-refresh-btn:hover{background:#d1d5db}.account-stripe-delink-btn:disabled,.account-stripe-refresh-btn:disabled,.account-stripe-setup-btn:disabled{cursor:not-allowed;opacity:.65}.account-stripe-note{color:#6b7280;font-size:12px;margin-bottom:0;margin-top:8px}.account-subscription-loading{color:#6b7280;font-size:13px;margin:0 0 12px}.account-subscription-box{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;padding:12px}.account-subscription-box p{color:#374151;font-size:13px;margin:0 0 8px}.account-subscription-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.account-subscription-cancel-btn{background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;color:#991b1b;cursor:pointer;font-size:13px;font-weight:600;padding:10px 12px}.account-subscription-cancel-btn:hover{background:#fee2e2}.account-subscription-cancel-btn:disabled{cursor:not-allowed;opacity:.65}.contact-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0 0 12px;padding:0}.contact-list-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:flex;font-size:13px;justify-content:space-between;padding:8px 12px}.contact-email{color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-remove-btn{background:none;border:none;color:#9ca3af;cursor:pointer;flex-shrink:0;font-size:18px;line-height:1;padding:0 0 0 10px;transition:color .15s}.contact-remove-btn:hover{color:#ef4444}.contact-add-row{display:flex;gap:8px;margin-bottom:20px}.contact-add-input{border:2px solid #e0e0e0;border-radius:6px;flex:1 1;font-size:13px;padding:10px 12px;transition:border-color .2s}.contact-add-input:focus{border-color:#1e3a5f;outline:none}.contact-add-btn{background:#1e3a5f;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:0 16px;transition:background .15s;white-space:nowrap}.contact-add-btn:hover{background:#2a5080}.contact-error{font-size:13px;margin-bottom:12px;margin-top:-8px}.account-save-btn{margin-top:4px}.account-back-link{background:none;border:none;color:#1e3a5f;cursor:pointer;font-size:14px;font-weight:600;padding:0;text-decoration:none}.account-back-link:hover{text-decoration:underline}.account-dialog-backdrop{align-items:center;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.account-dialog{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 24px 60px #0f172a47;overflow:hidden;width:min(560px,100%)}.account-dialog-header{align-items:flex-start;border-bottom:1px solid #e5e7eb;display:flex;gap:16px;justify-content:space-between;padding:18px 20px 14px}.account-dialog-header h3{color:#111827;font-size:18px;margin:0}.account-dialog-close{background:none;border:none;color:#6b7280;cursor:pointer;font-size:24px;line-height:1;padding:0}.account-dialog-close:hover{color:#111827}.account-dialog-body{padding:18px 20px}.account-dialog-body p{color:#374151;font-size:14px;line-height:1.55;margin:0 0 12px}.account-dialog-body p:last-child{margin-bottom:0}.account-dialog-actions{display:flex;justify-content:flex-end;padding:0 20px 20px}.account-dialog-button{background:#1e3a5f;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 14px}.account-dialog-button:hover{background:#2a5080}.password-requirements li.pending{color:#9ca3af}.password-requirements li.pending:before{content:"– "}.auth-container{background:var(--gm-bg)}.auth-box.account-box{background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-md);box-shadow:var(--gm-shadow-md);max-width:640px}.account-input-disabled{background:var(--gm-surface-2)!important;border-color:var(--gm-border)!important;color:var(--gm-muted)!important}.account-field-note,.account-optional,.account-section-desc,.account-stripe-loading,.account-stripe-note,.account-subscription-loading,.contact-email,.password-requirements li.pending{color:var(--gm-muted)}.account-dialog-button,.account-password-edit-btn,.account-stripe-setup-btn,.contact-add-btn{background:var(--gm-brand);border-radius:var(--gm-radius-sm);color:#fff}.account-dialog-button:hover,.account-password-edit-btn:hover,.account-stripe-setup-btn:hover,.contact-add-btn:hover{background:var(--gm-brand-hover)}.account-section-divider{border-top-color:var(--gm-border)}.account-section-title{color:var(--gm-ink)}.account-back-link,.account-info-link{color:var(--gm-brand)}.account-back-link:hover,.account-info-link:hover{color:var(--gm-brand-hover)}.account-stripe-box,.account-subscription-box,.contact-list-item{background:var(--gm-surface-2);border-color:var(--gm-border);border-radius:var(--gm-radius-sm)}.account-stripe-box p,.account-subscription-box p{color:var(--gm-ink-soft)}.account-stripe-delink-btn,.account-subscription-cancel-btn{background:var(--gm-danger-soft);border-color:color-mix(in srgb,var(--gm-danger) 35%,#0000);border-radius:var(--gm-radius-sm);color:var(--gm-danger)}.account-stripe-delink-btn:hover,.account-subscription-cancel-btn:hover{background:color-mix(in srgb,var(--gm-danger-soft) 65%,var(--gm-surface))}.account-stripe-refresh-btn{background:var(--gm-brand-soft);border-radius:var(--gm-radius-sm);color:var(--gm-brand)}.account-stripe-refresh-btn:hover{background:color-mix(in srgb,var(--gm-brand-soft) 70%,var(--gm-surface))}.contact-list-item{box-shadow:var(--gm-shadow-sm)}.contact-remove-btn{color:var(--gm-muted)}.contact-remove-btn:hover{color:var(--gm-danger)}.contact-add-input{background:var(--gm-surface);border-color:var(--gm-border);border-radius:var(--gm-radius-sm);color:var(--gm-ink)}.contact-add-input:focus{border-color:var(--gm-brand)}.account-save-btn{border-radius:var(--gm-radius-sm)}.account-back-link{text-underline-offset:2px}.account-dialog-backdrop{background:#1118278c}.account-dialog{background:var(--gm-surface);border-color:var(--gm-border);border-radius:var(--gm-radius-md);box-shadow:var(--gm-shadow-lg)}.account-dialog-header{border-bottom-color:var(--gm-border)}.account-dialog-header h3{color:var(--gm-ink)}.account-dialog-close{color:var(--gm-muted)}.account-dialog-close:hover{color:var(--gm-ink)}.account-dialog-body p{color:var(--gm-ink-soft)}@media (max-width:768px){.auth-box.account-box{border-radius:var(--gm-radius-md);max-width:100%}.account-stripe-actions,.account-subscription-actions,.contact-add-row{gap:10px}}.tournament-container{background:#f4f5f7;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.4;margin:0 auto;max-width:900px;min-height:100vh;padding:0}.tournament-toolbar{align-items:center;background:#fff;border-bottom:1px solid #e2e5ea;display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;padding:10px 24px}.tournament-toolbar .game-type-select{background:#fff;border:1.5px solid #d1d5db;border-radius:6px;color:#333;font-size:13px;height:34px;min-width:110px;padding:0 10px}.tournament-toolbar .game-type-select option{background:#fff;color:#333}.tournament-toolbar .create-btn{flex-shrink:0;height:34px;padding:0 14px;white-space:nowrap}.tournament-toolbar .premium-required-note{color:#b45309;flex-basis:100%;font-size:11px;font-style:italic}@media (max-width:768px){.tournament-toolbar{padding:10px 16px}}.tournament-header{align-items:center;background:#1e3a5f;border-bottom:none;color:#fff;display:flex;justify-content:space-between;margin-bottom:0;padding:14px 24px}.header-left h1{color:#fff;font-size:18px;font-weight:700;letter-spacing:.02em;margin:0}.user-info{color:#ffffffb3;font-size:12px;margin:2px 0 0}.subscription-status{align-items:center;border-radius:4px;display:inline-flex;font-size:11px;font-weight:600;gap:6px;margin-top:6px;padding:4px 10px}.subscription-status.active{background-color:#4caf5033;border:1px solid #4caf5066;color:#81c784}.subscription-status.inactive{background-color:#f4433626;border:1px solid #f443364d;color:#ef9a9a}.status-icon{font-size:14px}.subscribe-btn{background-color:#4fc3f7;border:none;border-radius:6px;color:#1e3a5f;cursor:pointer;flex-shrink:0;font-size:13px;font-weight:600;height:34px;padding:0 14px;transition:background-color .2s;white-space:nowrap}.subscribe-btn:hover{background-color:#29b6f6}.header-actions{align-items:center;display:flex;gap:8px}.admin-btn,.back-btn,.create-btn,.logout-btn{border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:600;padding:7px 16px;transition:background-color .2s}.create-btn{background-color:#4fc3f7;color:#1e3a5f}.create-btn:hover{background-color:#29b6f6}.create-btn:disabled{background-color:#ffffff26;color:#fff6;cursor:not-allowed}.premium-required-note{color:#ef9a9a;font-size:11px;font-style:italic}.back-btn{background-color:#ffffff26;color:#fff}.back-btn:hover{background-color:#ffffff40}.logout-btn{background-color:#ffffff1a;color:#fffc}.logout-btn:hover{background-color:#f443364d;color:#fff}.error-message{background-color:#ffebee;border-bottom:1px solid #ffcdd2;color:#c62828;font-size:13px;margin:0;padding:12px 24px}.tournament-content{grid-gap:0;display:grid;gap:0;grid-template-columns:1fr;padding:0}.all-tournaments h2,.open-tournaments h2{color:#1a1a2e;font-size:15px;font-weight:700;margin-bottom:0}.loading{font-size:14px}.loading,.no-tournaments{color:#888;padding:40px 24px;text-align:center}.no-tournaments{background-color:#fff;border:none;border-bottom:1px solid #e2e5ea;border-radius:0}.no-tournaments p{font-size:14px;margin:6px 0}.tournaments-grid{grid-gap:0;display:grid;gap:0;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.tournament-card{background:#fff;border:none;border-bottom:1px solid #e2e5ea;border-radius:0;box-shadow:none;padding:16px 24px;transition:background-color .15s}.tournament-card:hover{background-color:#f8f9fb;box-shadow:none;transform:none}.tournament-card .tournament-header{align-items:center;border-bottom:none;display:flex;justify-content:space-between;margin-bottom:10px;padding-bottom:0}.tournament-card h3{color:#1a1a2e;font-size:14px;margin:0}.tournament-details p{color:#6b7280;font-size:13px;margin:4px 0}.tournament-details strong{color:#1a1a2e}.join-btn{background-color:#1e3a5f;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px;transition:background-color .2s;width:100%}.join-btn:hover:not(:disabled){background-color:#2a5080}.join-btn:disabled{background-color:#d1d5db;color:#9ca3af;cursor:not-allowed}.badge{border-radius:3px;font-size:10px;font-weight:700;letter-spacing:.05em;padding:3px 8px;text-transform:uppercase}.badge-open{font-feature-settings:"tnum";background-color:#dcfce7;color:#166534;font-size:12px;font-variant-numeric:tabular-nums}.badge-urgent{animation:pulse-urgent 1s ease-in-out infinite;background-color:#fef2f2;color:#dc2626}@keyframes pulse-urgent{0%,to{opacity:1}50%{opacity:.6}}.badge-completed{background-color:#f3e8ff;color:#6b21a8}.tournaments-list{background:#fff;border:none;border-radius:0;box-shadow:none;overflow:hidden}.tournament-row{align-items:center;border-bottom:1px solid #e2e5ea;display:flex;justify-content:space-between;padding:12px 24px;transition:background-color .15s}.tournament-row:hover{background-color:#f8f9fb}.tournament-row:last-child{border-bottom:1px solid #e2e5ea}.tournament-info{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.tournament-id{color:#1a1a2e;font-size:14px;font-weight:600}.games,.participants,.winner{color:#6b7280;font-size:13px}.winner{color:#166534;font-weight:600}@media (max-width:768px){.tournament-header{flex-direction:column;gap:12px;padding:12px 16px;text-align:center}.header-actions{flex-wrap:wrap;justify-content:center}.tournaments-grid{grid-template-columns:1fr}.tournament-row{flex-direction:column;gap:8px;padding:12px 16px}.tournament-row,.tournament-times{align-items:flex-start}.tournament-summary{padding:12px 16px}.tournament-details{padding:16px}.closed-card-main{padding:12px 16px}.closed-card-sub{padding:8px 16px}}.tournament-item{background:#fff;border:none;border-bottom:1px solid #e2e5ea;border-radius:0;margin-bottom:0;overflow:hidden}.tournament-item.closed{opacity:1}.tournament-summary{background:#fff;cursor:pointer;display:flex;flex-direction:column;padding:12px 24px;transition:background-color .15s}.tournament-summary:hover{background:#f8f9fb}.ts-row1{justify-content:space-between}.tournament-title,.ts-row1{align-items:center;display:flex}.tournament-title{gap:8px}.tournament-id-info{background:#fff;background:var(--gm-surface,#fff);border:1px solid #d1d5db;border:1px solid var(--gm-border,#d1d5db);border-radius:50%;color:#1e3a5f;color:var(--gm-brand,#1e3a5f);cursor:pointer;flex:0 0 20px;font-size:13px;font-style:italic;font-weight:700;height:20px;line-height:1;padding:0;width:20px}.tournament-id-info:focus-visible,.tournament-id-info:hover{background:#e8f0fa;background:var(--gm-brand-soft,#e8f0fa);outline:none}.ts-row1 h3{color:#1a1a2e;font-size:15px;font-weight:600;margin:0}.ts-row2{justify-content:space-between;margin-top:6px}.ts-badges,.ts-row2{align-items:center;display:flex;gap:8px}.ts-badges{flex:1 1;flex-wrap:wrap}.participant-count{background:none;color:#6b7280;font-size:13px;padding:0}.game-type-badge{background:#e8f0fa;border-radius:3px;color:#1e3a5f;font-size:12px;font-weight:600;letter-spacing:.03em;padding:2px 8px;text-transform:uppercase}.game-type-badge .shared-phrase{font-style:italic;font-weight:400;text-transform:none}.solution-shapes-thumbnail{background:#fff;border:1.5px solid #1e3a5f;border-radius:4px;cursor:zoom-in;display:inline-block;flex-shrink:0;height:36px;margin-left:6px;overflow:hidden;transition:box-shadow .15s;vertical-align:middle;width:36px}.solution-shapes-thumbnail:hover{box-shadow:0 0 0 2px #1e3a5f}.solution-shapes-thumbnail svg{display:block;height:100%;width:100%}.shapes-zoom-overlay{background:#000000a6;cursor:zoom-out;inset:0;position:fixed;z-index:1000}.shapes-zoom-content,.shapes-zoom-overlay{align-items:center;display:flex;justify-content:center}.shapes-zoom-content{background:#fff;border-radius:8px;box-shadow:0 8px 32px #0006;cursor:default;height:min(80vw,80vh,480px);padding:16px;position:relative;width:min(80vw,80vh,480px)}.shapes-zoom-content svg{display:block;height:100%;width:100%}.shapes-zoom-close{background:none;border:none;border-radius:4px;color:#555;cursor:pointer;font-size:20px;line-height:1;padding:2px 6px;position:absolute;right:8px;top:6px}.shapes-zoom-close:hover{background:#f0f0f0;color:#111}.tournament-id-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.tournament-id-dialog{background:#fff;background:var(--gm-surface,#fff);border-radius:8px;border-radius:var(--gm-radius-md,8px);box-shadow:0 8px 32px #00000040;padding:24px;position:relative;width:min(100%,420px)}.tournament-id-dialog h2{color:#1a1a2e;color:var(--gm-ink,#1a1a2e);font-size:18px;margin:0 28px 14px 0}.tournament-id-dialog code{color:#1a1a2e;color:var(--gm-ink,#1a1a2e);display:block;font-size:13px;overflow-wrap:anywhere}.tournament-info-solution{color:#1a1a2e;color:var(--gm-ink,#1a1a2e);margin-top:16px}.tournament-info-solution p{margin:0 0 6px}.tournament-id-dialog-close{background:#0000;border:0;border-radius:4px;color:#6b7280;color:var(--gm-muted,#6b7280);cursor:pointer;font-size:20px;line-height:1;position:absolute;right:12px;top:10px}.tournament-id-dialog-close:focus-visible,.tournament-id-dialog-close:hover{background:#e8f0fa;background:var(--gm-brand-soft,#e8f0fa);color:#1a1a2e;color:var(--gm-ink,#1a1a2e);outline:none}.create-tournament-controls{align-items:center;display:flex;gap:8px}.game-type-select{background:#ffffff1a;border:1px solid #ffffff4d;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;padding:7px 12px;transition:border-color .2s}.game-type-select:focus{border-color:#4fc3f7;outline:none}.game-type-select:disabled{background:#ffffff0d;cursor:not-allowed;opacity:.5}.game-type-select option{background:#1e3a5f;color:#fff}.tournament-times{align-items:flex-end;color:#9ca3af;display:flex;flex-direction:column;font-size:12px;gap:2px}.expand-icon{color:#9ca3af;font-size:13px;margin-left:12px;transition:transform .2s}.join-inline-btn{background-color:#1e3a5f;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;margin-left:10px;padding:5px 14px;transition:background-color .2s;white-space:nowrap}.join-inline-btn:hover:not(:disabled){background-color:#2a5080}.join-inline-btn:disabled{background-color:#d1d5db;color:#9ca3af;cursor:not-allowed}.join-inline-btn.joined{background-color:#166534;color:#fff}.join-inline-btn.return-to-game{background-color:#1e40af}.join-inline-btn.return-to-game:hover{background-color:#1e3a8a}.join-inline-btn.game-complete{background-color:#166534;cursor:default}.join-inline-btn.game-lost{background-color:#991b1b;cursor:default}.tournament-details{background:#f8f9fb;border-top:1px solid #e2e5ea;padding:16px 24px}.tournament-info{margin-bottom:16px}.tournament-info p{color:#6b7280;font-size:13px;margin:4px 0}.participants-section h4{color:#6b7280;font-size:11px;font-weight:700;letter-spacing:.08em;margin:0 0 12px;text-transform:uppercase}.participants-list{display:flex;flex-direction:column;gap:0}.participant-item{align-items:center;background:#fff;border:none;border-bottom:1px solid #e2e5ea;border-radius:0;display:flex;justify-content:space-between;padding:8px 12px;transition:background-color .15s}.participant-item:hover{background-color:#f8f9fb;box-shadow:none}.participant-item:last-child{border-bottom:none}.participant-item.winner{background:#eef2f7;border-left:3px solid #1e3a5f}.participant-info{align-items:center;display:flex;gap:10px}.participant-name{color:#1a1a2e;font-size:14px;font-weight:600}.winner-badge,.winner-line-payout{background:#1e3a5f;border-radius:3px;color:#fff;font-size:11px;font-weight:700;margin-left:6px;padding:1px 6px}.winner-badge{box-shadow:none}.games-played{background:none;color:#6b7280;padding:0}.games-played,.participant-result{font-size:13px}.result-win{color:#166534;font-weight:600}.payout-amount{background:#1e3a5f;border-radius:3px;box-shadow:none;color:#fff;font-size:11px;font-weight:700;margin-left:6px;padding:1px 6px}.result-ended{color:#6b7280;font-weight:600}.result-loss{color:#991b1b;font-weight:600}.result-pending{color:#92400e;font-weight:600}.result-active-link{align-items:center;background:none;border:none;color:#1e40af;cursor:pointer;display:inline-flex;font-size:inherit;font-weight:600;gap:6px;padding:0;text-decoration:underline}.result-active-link:hover{color:#1d4ed8}.result-active{align-items:center;color:#1e40af;display:flex;font-weight:600;gap:6px}.resume-game-btn{background-color:#1e3a5f;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:3px 8px;transition:background-color .2s}.resume-game-btn:hover{background-color:#2a5080}.tournament-actions{margin-top:16px;text-align:center}.winner-highlight{align-items:center;background:#1e3a5f;border-radius:0;color:#fff;display:flex;gap:12px;padding:12px 24px}.winner-highlight .winner-badge{background:none;color:#fff;font-size:26px;padding:0}.winner-info h4{color:#fff;font-size:16px;margin:0}.winner-highlight-payout{color:#4fc3f7;font-size:13px;font-weight:700;margin-left:8px}.winner-info p{color:#ffffffb3;font-size:13px;font-weight:500;margin:2px 0 0}.closed-tournaments-section,.open-tournaments-section{margin-bottom:0}.closed-tournaments-section h2,.open-tournaments-section h2{background:#1e3a5f;border-bottom:none;color:#fff;font-size:13px;font-weight:700;letter-spacing:.08em;margin:0;padding:10px 24px;text-transform:uppercase}@media (max-width:768px){.closed-tournaments-section h2,.open-tournaments-section h2{padding:10px 16px}}.closed-tournaments-section h2{border-bottom:none;border-top:2px solid #2a5080}.closed-card,.closed-cards{background:#fff}.closed-card{border-bottom:1px solid #e2e5ea}.closed-card-main{align-items:center;cursor:pointer;display:flex;gap:8px;justify-content:space-between;padding:12px 24px;transition:background-color .15s}.closed-card-main:hover{background:#f8f9fb}.closed-card-left{display:flex;flex:1 1;flex-direction:column;gap:3px;min-width:0}.closed-card-id{color:#1a1a2e;font-size:14px;font-weight:700}.closed-card-meta{color:#6b7280;display:flex;flex-wrap:wrap;font-size:12px;gap:8px}.closed-card-right{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:3px}.closed-card-endtime{color:#9ca3af;font-size:12px}.closed-card-winner{color:#166534;font-size:12px;font-weight:600}.closed-card-no-winner{color:#9ca3af;font-size:12px}.closed-card-details{border-top:1px solid #f0f1f3}.closed-card-sub{align-items:center;background:#fafbfc;border-bottom:1px solid #f0f1f3;display:flex;font-size:13px;justify-content:space-between;padding:8px 24px}.closed-card-sub:last-child{border-bottom:none}.closed-card-sub.winner-row{background:#f0fdf4}.sub-name{color:#1a1a2e;font-weight:600}.sub-result-group{align-items:center;display:flex;gap:12px}.sub-result-win{color:#166534;font-weight:600}.sub-result-loss{color:#991b1b}.sub-time{color:#6b7280;font-size:12px}.admin-btn{background-color:#ffffff26;color:#fff}.admin-btn:hover{background-color:#ffffff40}.invite-premium-banner{align-items:center;background:#1e3a5f;border-bottom:1px solid #2a5080;border-radius:0;color:#fff;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:0;padding:14px 24px}.invite-premium-text{display:flex;flex-direction:column;gap:2px}.invite-premium-text strong{font-size:14px}.invite-premium-text span{font-size:13px;opacity:.7}.invite-premium-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.invite-subscribe-btn{background:#4fc3f7;border:none;border-radius:4px;color:#1e3a5f;cursor:pointer;font-size:13px;font-weight:700;padding:7px 16px;white-space:nowrap}.invite-subscribe-btn:hover{background:#29b6f6}.invite-dismiss-btn{background:#0000;border:1px solid #fff3;border-radius:4px;color:#fff9;cursor:pointer;font-size:13px;padding:7px 12px;white-space:nowrap}.invite-dismiss-btn:hover{background:#ffffff1a;color:#fff}.invite-section{border-top:1px solid #e2e5ea;margin-top:12px;padding-top:12px}.invite-section h4{color:#6b7280;font-size:11px;font-weight:700;letter-spacing:.08em;margin:0 0 8px;text-transform:uppercase}.invite-form{align-items:center;display:flex;gap:6px}.invite-email-input{border:1px solid #d1d5db;border-radius:4px;flex:1 1;font-size:13px;outline:none;padding:7px 10px}.invite-email-input:focus{border-color:#1e3a5f}.invite-send-btn{background-color:#1e3a5f;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:7px 14px;white-space:nowrap}.invite-send-btn:hover:not(:disabled){background-color:#2a5080}.invite-send-btn:disabled{background-color:#d1d5db;color:#9ca3af;cursor:not-allowed}.invite-contacts{border-top:1px solid #eef2f7;margin-top:10px;padding-top:10px}.invite-contacts-header{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:8px}.invite-contacts-label{color:#4b5563;font-size:12px;font-weight:600}.invite-contact-action{background:#e8eef7;border:none;border-radius:999px;color:#1e3a5f;cursor:pointer;font-size:12px;font-weight:600;padding:5px 10px}.invite-contact-action:hover:not(:disabled){background:#d7e3f5}.invite-contact-action:disabled{cursor:not-allowed;opacity:.55}.invite-contact-list{display:flex;flex-wrap:wrap;gap:8px}.invite-contact-chip{background:#f8fafc;border:1px solid #dbe3ee;border-radius:999px;color:#1f2937;cursor:pointer;font-size:12px;padding:6px 10px;transition:background-color .15s,border-color .15s}.invite-contact-chip:hover:not(:disabled){background:#eef4fb;border-color:#bfd0e8}.invite-contact-chip:disabled{cursor:not-allowed;opacity:.55}.invite-contacts-empty{color:#6b7280;font-size:12px}.invite-result{border-radius:4px;font-size:13px;margin-top:6px;padding:6px 10px}.invite-result.success{background-color:#dcfce7;color:#166534}.invite-result.error{background-color:#fef2f2;color:#991b1b}.invite-dev-link{font-size:12px;margin-top:4px;word-break:break-all}.invite-dev-link a{color:#1e40af}.invite-sent-list{color:#6b7280;font-size:13px;margin-top:8px}.invite-sent-list ul{margin:4px 0 0;padding-left:16px}.tournament-container{background:var(--gm-bg);color:var(--gm-ink);max-width:none;padding-bottom:40px;width:100%}.tournament-toolbar{background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-md);box-shadow:var(--gm-shadow-sm);margin:22px auto 14px;max-width:900px;padding:12px 14px;width:calc(100% - 40px)}.tournament-toolbar .game-type-select{border:1.5px solid var(--gm-border);border-radius:var(--gm-radius-sm)}.tournament-toolbar .game-type-select,.tournament-toolbar .game-type-select option{background:var(--gm-surface);color:var(--gm-ink)}.create-btn,.invite-send-btn,.invite-subscribe-btn,.join-inline-btn,.resume-game-btn,.subscribe-btn{background:var(--gm-brand);border-radius:var(--gm-radius-sm);color:#fff}.create-btn:hover,.invite-send-btn:hover:not(:disabled),.invite-subscribe-btn:hover,.join-inline-btn:hover:not(:disabled),.resume-game-btn:hover,.subscribe-btn:hover{background:var(--gm-brand-hover)}.premium-required-note{color:var(--gm-muted)}.error-message{border:1px solid color-mix(in srgb,var(--gm-danger) 25%,#0000);border-radius:var(--gm-radius-md);margin:0 auto 14px;padding:11px 14px}.error-message,.tournament-content{max-width:900px;width:calc(100% - 40px)}.tournament-content{display:flex;flex-direction:column;gap:14px;margin:0 auto}.closed-tournaments-section h2,.open-tournaments-section h2{background:#0000;color:var(--gm-ink);font-size:22px;font-weight:800;letter-spacing:-.01em;padding:2px 2px 8px;text-transform:none}.closed-tournaments-section h2{border-top:none}.loading,.no-tournaments{background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-md);box-shadow:var(--gm-shadow-sm);color:var(--gm-muted)}.closed-cards,.tournaments-list{background:#0000;border:none}.closed-card,.tournament-item{background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-md);box-shadow:var(--gm-shadow-sm);margin-bottom:12px;overflow:hidden}.closed-card-main,.tournament-summary{background:var(--gm-surface);transition:background-color .15s ease}.closed-card-main:hover,.tournament-summary:hover{background:var(--gm-brand-soft)}.participant-name,.sub-name,.ts-row1 h3{color:var(--gm-ink)}.closed-card-meta,.invite-contacts-empty,.invite-sent-list,.participant-count,.sub-time,.tournament-details p,.tournament-info p{color:var(--gm-muted)}.game-type-badge,.invite-contact-action{background:var(--gm-brand-soft);color:var(--gm-brand)}.badge-open{background:var(--gm-success-soft);color:var(--gm-success)}.badge-completed{background:var(--gm-brand-soft);color:var(--gm-brand)}.invite-send-btn:disabled,.join-inline-btn:disabled{background:color-mix(in srgb,var(--gm-border) 85%,#0000);color:var(--gm-muted)}.closed-card-details,.closed-card-sub,.participant-item,.tournament-details{background:var(--gm-surface-2);border-color:var(--gm-border)}.participant-item{border:1px solid var(--gm-border);border-radius:var(--gm-radius-sm);margin-bottom:8px}.participant-item:last-child{margin-bottom:0}.closed-card-sub:hover,.participant-item:hover{background:color-mix(in srgb,var(--gm-brand-soft) 52%,var(--gm-surface))}.payout-amount,.winner-badge,.winner-line-payout{background:var(--gm-brand)}.closed-card-winner,.result-win,.sub-result-win{color:var(--gm-success)}.result-loss,.sub-result-loss{color:var(--gm-danger)}.invite-premium-banner{background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-md);box-shadow:var(--gm-shadow-sm);color:var(--gm-ink);margin:0 auto 14px;max-width:900px;width:calc(100% - 40px)}.invite-premium-text span{color:var(--gm-muted);opacity:1}.invite-dismiss-btn{border-color:var(--gm-border);color:var(--gm-muted)}.invite-dismiss-btn:hover{background:var(--gm-brand-soft);color:var(--gm-ink)}.solution-shapes-thumbnail{border-color:var(--gm-brand);border-radius:var(--gm-radius-sm)}.solution-shapes-thumbnail:hover{box-shadow:0 0 0 2px var(--gm-brand-soft)}.shapes-zoom-content{border-radius:var(--gm-radius-md);box-shadow:var(--gm-shadow-lg)}@media (max-width:768px){.error-message,.invite-premium-banner,.tournament-content,.tournament-toolbar{width:calc(100% - 24px)}.tournament-toolbar{margin-top:14px;padding:10px 12px}.closed-tournaments-section h2,.open-tournaments-section h2{font-size:19px;padding:0 2px 8px}.closed-card-main,.closed-card-sub,.tournament-summary{padding-left:14px;padding-right:14px}.tournament-details{padding:14px}}.invite-sent-list li{margin:2px 0}.tournament-section-header{align-items:center;display:flex;gap:16px;justify-content:space-between}.tournament-rules-btn{background:var(--gm-surface);border:1.5px solid var(--gm-border);border-radius:var(--gm-radius-sm);color:var(--gm-brand);cursor:pointer;flex-shrink:0;font-size:13px;font-weight:700;margin-left:auto;padding:9px 16px;white-space:nowrap}.tournament-rules-btn:focus-visible,.tournament-rules-btn:hover{background:var(--gm-brand-soft);border-color:var(--gm-brand);outline:none}.tournament-rules-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.tournament-rules-dialog{background:var(--gm-surface);border-radius:var(--gm-radius-md);box-shadow:var(--gm-shadow-lg);max-height:min(80vh,620px);overflow-y:auto;padding:24px;position:relative;width:min(100%,620px)}.tournament-rules-dialog h2{color:var(--gm-ink);font-size:18px;margin:0 28px 14px 0}.tournament-rules-dialog ol{color:var(--gm-ink-soft);margin:0;padding-left:22px}.tournament-rules-dialog li+li{margin-top:10px}.tournament-rules-close{background:#0000;border:0;border-radius:4px;color:var(--gm-muted);cursor:pointer;font-size:20px;line-height:1;position:absolute;right:12px;top:10px}.tournament-rules-close:focus-visible,.tournament-rules-close:hover{background:var(--gm-brand-soft);color:var(--gm-ink);outline:none}.stripe-setup-row{align-items:center;display:flex;flex-basis:100%;flex-wrap:wrap;gap:8px}.tournament-action-controls{align-items:center;display:flex;flex:1 1;flex-basis:100%;gap:8px;min-width:0}@media (max-width:520px){.tournament-section-header{align-items:flex-start;flex-direction:column;gap:8px}.tournament-action-controls{gap:6px;width:100%}.tournament-toolbar .game-type-select{flex:1 1 72px;font-size:12px;min-width:72px;padding:0 6px;width:auto}.tournament-rules-btn,.tournament-toolbar .create-btn{font-size:12px;height:34px;padding:0 8px}.tournament-rules-btn{margin-left:auto}}.lb-container{background:#f4f5f7;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.4;margin:0 auto;max-width:900px;min-height:100vh}.lb-section-hdr{background:#1e3a5f;color:#fff;font-size:13px;font-weight:700;letter-spacing:.08em;padding:10px 24px;text-transform:uppercase}.lb-stats-bar{background:#fff;border-bottom:1px solid #e2e5ea;display:flex}.lb-stat{border-right:1px solid #e2e5ea;flex:1 1;padding:14px 12px;text-align:center}.lb-stat:last-child{border-right:none}.lb-stat-val{font-feature-settings:"tnum";color:#1e3a5f;font-size:20px;font-variant-numeric:tabular-nums;font-weight:800}.lb-stat-val.green{color:#166534}.lb-stat-lbl{color:#9ca3af;font-size:10px;letter-spacing:.06em;margin-top:3px;text-transform:uppercase}.lb-tabs{background:#fff;border-bottom:2px solid #e2e5ea;display:flex;overflow-x:auto;padding:0 24px}.lb-tab{background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;font-size:13px;font-weight:600;margin-bottom:-2px;padding:10px 14px;transition:color .15s;white-space:nowrap}.lb-tab:hover{color:#1e3a5f}.lb-tab.active{border-bottom-color:#1e3a5f;color:#1e3a5f}.lb-error{background:#fef2f2;color:#991b1b;font-size:13px;padding:16px 24px}.lb-loading{background:#fff;color:#9ca3af;font-size:14px;padding:40px;text-align:center}.you-tag{background:#1e40af;border-radius:3px;color:#fff;font-size:10px;font-weight:700;margin-left:6px;padding:1px 5px;vertical-align:middle}.medal{font-size:20px;line-height:1}.rank-num{color:#9ca3af;font-weight:700}.rank-num.me{color:#1e40af}.game-badge{padding:2px 7px}.game-badge,.game-badge-sm{background:#e8f0fa;border-radius:3px;color:#1e3a5f;font-size:11px;font-weight:600;text-transform:uppercase}.game-badge-sm{margin-left:4px;padding:1px 5px}.lb-avatar{align-items:center;background:#1e3a5f;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:34px;justify-content:center;width:34px}.lb-avatar.gold{background:#d97706}.lb-avatar.silver{background:#9ca3af}.lb-avatar.bronze{background:#92400e}.dim{color:#9ca3af}.winnings-val{font-feature-settings:"tnum";color:#166534;font-variant-numeric:tabular-nums;font-weight:800}.winnings-val.gold{color:#d97706}.time-val{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.wins-val{color:#1e3a5f;font-weight:700}.desktop-only{display:table}.mobile-only{display:none}.lb-table{background:#fff;border-collapse:collapse;font-size:13px;width:100%}.lb-table thead th{background:#f4f5f7;border-bottom:2px solid #e2e5ea;color:#6b7280;font-size:11px;font-weight:700;letter-spacing:.05em;padding:9px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.lb-table thead th.right{text-align:right}.lb-table thead th.sort-col{color:#1e3a5f}.lb-table tbody tr{border-bottom:1px solid #e2e5ea;transition:background .1s}.lb-table tbody tr:hover{background:#f8f9fb}.lb-table tbody tr.me-row{background:#eff6ff}.lb-table tbody tr.top1-row{background:#fffbeb}.lb-table tbody tr.separator-row td:first-child{border-top:2px dashed #d1d5db}.lb-table td{color:#1a1a2e;padding:11px 16px;white-space:nowrap}.lb-table td.right{text-align:right}.lb-table td.rank-cell{text-align:center;width:52px}.lb-empty-cell{color:#9ca3af;font-size:14px;padding:40px!important;text-align:center}.player-cell{align-items:center;display:flex;gap:10px}.player-name{color:#1a1a2e;font-weight:600}.lb-cards{display:none;flex-direction:column}.lb-card{align-items:center;background:#fff;border-bottom:1px solid #e2e5ea;display:flex;gap:12px;padding:11px 16px}.lb-card.me{background:#eff6ff}.lb-card.top1{background:#fffbeb}.lb-card.separator{border-top:2px dashed #d1d5db}.lb-card-body{flex:1 1;min-width:0}.lb-card-name{align-items:center;color:#1a1a2e;display:flex;flex-wrap:wrap;font-size:14px;font-weight:600;gap:4px}.rank-num-sm{color:#9ca3af;font-size:13px;font-weight:700}.lb-card-sub{align-items:center;color:#9ca3af;display:flex;flex-wrap:wrap;font-size:12px;gap:4px;margin-top:3px}.lb-card-sub strong{color:#1a1a2e}.lb-card-right{flex-shrink:0;text-align:right}.lb-card-winnings{font-feature-settings:"tnum";color:#166534;font-size:17px;font-variant-numeric:tabular-nums;font-weight:800}.lb-card-winnings.gold{color:#d97706}.lb-card-winnings-lbl{color:#9ca3af;font-size:11px;margin-top:2px}.lb-empty{background:#fff;color:#9ca3af;font-size:14px;padding:40px 16px;text-align:center}@media (max-width:768px){.desktop-only{display:none!important}.mobile-only{display:flex!important}.lb-section-hdr{padding:10px 16px}.lb-stats-bar{flex-wrap:wrap}.lb-stat{flex:1 1 33%;min-width:0;padding:12px 8px}.lb-stat-val{font-size:16px}.lb-tabs{padding:0 8px}.lb-tab{font-size:12px;padding:10px}}@media (max-width:480px){.lb-stat{flex:1 1 50%}.lb-stat:nth-child(5){border-right:none;border-top:1px solid #e2e5ea;flex:1 1 100%}}.lb-container{background:var(--gm-bg);color:var(--gm-ink);max-width:none;padding-bottom:40px;width:100%}.lb-cards,.lb-empty,.lb-error,.lb-loading,.lb-section-hdr,.lb-stats-bar,.lb-table,.lb-tabs{margin-left:auto;margin-right:auto;max-width:900px;width:calc(100% - 40px)}.lb-section-hdr{background:#0000;color:var(--gm-ink);font-size:24px;font-weight:800;letter-spacing:-.01em;margin-bottom:14px;margin-top:22px;padding:2px 2px 4px;text-transform:none}.lb-stats-bar{background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-md);box-shadow:var(--gm-shadow-sm);margin-bottom:12px;overflow:hidden}.lb-stat{border-right-color:var(--gm-border)}.lb-stat-val{color:var(--gm-brand)}.lb-stat-val.green{color:var(--gm-success)}.lb-stat-lbl{color:var(--gm-muted)}.lb-tabs{background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-md);box-shadow:var(--gm-shadow-sm);margin-bottom:12px;padding:0 12px}.lb-tab{color:var(--gm-muted)}.lb-tab.active,.lb-tab:hover{border-bottom-color:var(--gm-brand);color:var(--gm-brand)}.lb-error{background:var(--gm-danger-soft);border:1px solid color-mix(in srgb,var(--gm-danger) 25%,#0000);border-radius:var(--gm-radius-md);color:var(--gm-danger);margin-bottom:12px}.lb-empty,.lb-loading{color:var(--gm-muted)}.lb-empty,.lb-loading,.lb-table{background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-md);box-shadow:var(--gm-shadow-sm)}.lb-table{overflow:hidden}.lb-table thead th{background:var(--gm-surface-2);border-bottom-color:var(--gm-border);color:var(--gm-muted)}.lb-table thead th.sort-col{color:var(--gm-brand)}.lb-table tbody tr{border-bottom-color:var(--gm-border)}.lb-table tbody tr:hover{background:var(--gm-brand-soft)}.lb-table tbody tr.me-row{background:color-mix(in srgb,var(--gm-brand-soft) 72%,var(--gm-surface))}.lb-table tbody tr.top1-row{background:color-mix(in srgb,var(--gm-success-soft) 68%,var(--gm-surface))}.lb-card-name,.lb-table td,.player-name{color:var(--gm-ink)}.dim,.lb-card-sub,.lb-card-winnings-lbl,.rank-num,.rank-num-sm{color:var(--gm-muted)}.game-badge,.game-badge-sm,.wins-val{color:var(--gm-brand)}.game-badge,.game-badge-sm{background:var(--gm-brand-soft)}.lb-card-winnings,.winnings-val{color:var(--gm-success)}.lb-card-winnings.gold,.winnings-val.gold{color:#d97706}.you-tag{background:var(--gm-brand)}.lb-cards{gap:10px}.lb-card{background:var(--gm-surface);border-bottom:1px solid var(--gm-border);border:1px solid var(--gm-border);border-radius:var(--gm-radius-md);box-shadow:var(--gm-shadow-sm)}.lb-card.me{background:color-mix(in srgb,var(--gm-brand-soft) 72%,var(--gm-surface))}.lb-card.top1{background:color-mix(in srgb,var(--gm-success-soft) 68%,var(--gm-surface))}.lb-card.separator{border-top:2px dashed var(--gm-border)}@media (max-width:768px){.lb-cards,.lb-empty,.lb-error,.lb-loading,.lb-section-hdr,.lb-stats-bar,.lb-table,.lb-tabs{width:calc(100% - 24px)}.lb-section-hdr{font-size:22px;margin-bottom:12px;margin-top:14px;padding-left:2px}.lb-tabs{padding:0 8px}}.payment-container{background:#f4f5f7;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;max-width:600px;min-height:100vh;padding:0}.payment-header{background:#1e3a5f;border-bottom:none;color:#fff;margin-bottom:0;padding:14px 24px;text-align:center}.payment-header h1{color:#fff;font-weight:700;margin:0}.payment-header p{color:#ffffffb3;font-size:13px;margin:4px 0 0}.checkout-form{background:#fff;border-bottom:1px solid #e2e5ea;border-radius:0;box-shadow:none;padding:24px}.checkout-form h2{color:#1a1a2e;font-size:18px;margin:0 0 16px;text-align:center}.payment-details{background:#f4f5f7;border-radius:4px;margin-bottom:20px;padding:16px}.payment-details p{color:#6b7280;font-size:14px;margin:6px 0}.payout-setup-box{background:#f9fbff;border:1px solid #d6dce4;border-radius:6px;margin-bottom:20px;padding:14px}.payout-setup-box h3{color:#1e3a5f;font-size:15px;margin:0 0 8px}.payout-setup-box p{color:#4b5563;font-size:13px;margin:0 0 10px}.payout-setup-status{font-weight:600}.payout-setup-status.ready{color:#1f7a1f}.payout-setup-status.pending{color:#8a6d1b}.payout-country-select{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#1f2937;display:block;font-size:13px;margin:0 0 10px;padding:10px 12px;width:100%}.payout-setup-btn{background:#1e3a5f;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 14px}.payout-setup-btn:disabled{cursor:not-allowed;opacity:.65}.payout-setup-note{color:#6b7280;font-size:12px;margin-bottom:0;margin-top:10px}.payout-info-link{background:none;border:none;color:#1e3a5f;cursor:pointer;font-size:13px;font-weight:600;margin:0 0 10px;padding:0;text-decoration:underline}.payout-info-link:hover{color:#2a5080}.payment-dialog-backdrop{align-items:center;background:#1118278c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.payment-dialog{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 24px 60px #0f172a47;overflow:hidden;width:min(560px,100%)}.payment-dialog-header{align-items:flex-start;border-bottom:1px solid #e5e7eb;display:flex;gap:16px;justify-content:space-between;padding:18px 20px 14px}.payment-dialog-header h3{color:#111827;font-size:18px;margin:0}.payment-dialog-close{background:none;border:none;color:#6b7280;cursor:pointer;font-size:24px;line-height:1;padding:0}.payment-dialog-close:hover{color:#111827}.payment-dialog-body{padding:18px 20px}.payment-dialog-body p{color:#374151;font-size:14px;line-height:1.55;margin:0 0 12px}.payment-dialog-body p:last-child{margin-bottom:0}.payment-dialog-actions{display:flex;justify-content:flex-end;padding:0 20px 20px}.payment-dialog-button{background:#1e3a5f;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 14px}.payment-dialog-button:hover{background:#2a5080}.subscription-terms-box{background:#fffdf5;border:1px solid #e5e7eb;border-radius:6px;margin:0 0 20px;padding:12px}.subscription-terms-label{align-items:flex-start;color:#374151;display:flex;font-size:13px;gap:10px;line-height:1.5}.subscription-terms-label input{margin-top:3px}.card-element-container{margin-bottom:25px}.card-element-container label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.payment-actions{display:flex;gap:15px;justify-content:center}.cancel-btn,.pay-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 30px;transition:all .3s ease}.cancel-btn{background:#6c757d;color:#fff}.cancel-btn:hover:not(:disabled){background:#5a6268;transform:translateY(-1px)}.pay-btn{background:#1e3a5f;color:#fff}.pay-btn:hover:not(:disabled){background:#2a5080}.pay-btn:disabled{cursor:not-allowed;opacity:.6}.mock-payment-notice{margin-bottom:25px;text-align:center}.mock-card-preview{background:#1e3a5f;border-radius:4px;color:#fff;padding:24px}.mock-card-preview p{font-size:14px;font-weight:600;margin:4px 0}.mock-card-preview p:first-child{font-size:16px;margin-bottom:8px}.error-message{background:#fee;border-left:4px solid #c33;color:#c33;padding:15px}.success-message{background:#efe;border-left:4px solid #363;color:#363;padding:15px}.payment-error{padding:40px}.payment-error h2{color:#c33;margin-bottom:20px}.payment-error p{margin-bottom:30px}.payment-error button{background:#667eea;border-radius:6px;padding:12px 30px;transition:background .3s}.payment-error button:hover{background:#5a67d8}.cancel-btn:disabled,.pay-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.error-message{background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24}.error-message,.success-message{font-size:14px;margin-bottom:20px;padding:15px 20px}.success-message{background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724}.payment-error{padding:40px 20px;text-align:center}.payment-error h2{color:#dc3545;margin-bottom:15px}.payment-error p{color:#666;margin-bottom:20px}.payment-error button{background:#1e3a5f;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:12px 24px}.payment-error button:hover{background:#2a5080}.StripeElement{background:#fff;border:1px solid #ccc;border-radius:4px;font-size:16px;line-height:1.5;padding:12px 16px}.StripeElement--focus{border-color:#1e3a5f;box-shadow:0 0 0 1px #1e3a5f}.StripeElement--invalid{border-color:#dc3545}.StripeElement--webkit-autofill{background-color:#fefde5!important}@media (max-width:600px){.payment-container{padding:15px 10px}.checkout-form{padding:20px}.payment-actions{flex-direction:column}.cancel-btn,.pay-btn{width:100%}}.payment-container{background:var(--gm-bg);color:var(--gm-ink);font-family:inherit;margin:0 auto;max-width:760px;padding:20px}.payment-header{background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-md);box-shadow:var(--gm-shadow-sm);color:var(--gm-ink);margin:0 0 12px;padding:12px 14px;text-align:left}.payment-header h1{color:var(--gm-ink);font-size:22px;font-weight:800;letter-spacing:-.01em}.payment-header p{color:var(--gm-muted)}.checkout-form{background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-md);box-shadow:var(--gm-shadow-sm);padding:22px}.checkout-form h2{color:var(--gm-ink);font-size:20px;margin-bottom:14px;text-align:left}.mock-card-preview,.payment-details,.payout-setup-box,.subscription-terms-box{background:var(--gm-surface-2);border:1px solid var(--gm-border);border-radius:var(--gm-radius-sm)}.payment-details p,.payout-setup-box p,.subscription-terms-label{color:var(--gm-ink-soft)}.payout-setup-box h3{color:var(--gm-brand)}.payout-setup-status.ready{color:var(--gm-success)}.payout-setup-status.pending{color:#a16207}.pay-btn,.payment-dialog-button,.payment-error button,.payout-setup-btn{background:var(--gm-brand);border-radius:var(--gm-radius-sm);color:#fff}.pay-btn:hover:not(:disabled),.payment-dialog-button:hover,.payment-error button:hover,.payout-setup-btn:hover{background:var(--gm-brand-hover)}.cancel-btn{background:var(--gm-brand-soft);border:1px solid var(--gm-border);border-radius:var(--gm-radius-sm);color:var(--gm-brand)}.cancel-btn:hover:not(:disabled){background:color-mix(in srgb,var(--gm-brand-soft) 68%,var(--gm-surface));transform:none}.payout-info-link{color:var(--gm-brand)}.payout-info-link:hover{color:var(--gm-brand-hover)}.payment-dialog{background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-md);box-shadow:var(--gm-shadow-lg)}.payment-dialog-header{border-bottom-color:var(--gm-border)}.payment-dialog-header h3{color:var(--gm-ink)}.payment-dialog-close{color:var(--gm-muted)}.payment-dialog-close:hover{color:var(--gm-ink)}.payment-dialog-body p{color:var(--gm-ink-soft)}.mock-card-preview{box-shadow:none;color:var(--gm-brand)}.error-message{background:var(--gm-danger-soft);border:1px solid color-mix(in srgb,var(--gm-danger) 35%,#0000);border-left:4px solid var(--gm-danger);color:var(--gm-danger)}.success-message{background:var(--gm-success-soft);border:1px solid color-mix(in srgb,var(--gm-success) 35%,#0000);border-left:4px solid var(--gm-success);color:var(--gm-success)}.payment-error{background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-md);box-shadow:var(--gm-shadow-sm)}.payment-error h2{color:var(--gm-danger)}.payment-error p{color:var(--gm-muted)}.StripeElement{background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-sm);color:var(--gm-ink)}.StripeElement--focus{border-color:var(--gm-brand);box-shadow:0 0 0 1px var(--gm-brand)}.StripeElement--invalid{border-color:var(--gm-danger)}@media (max-width:600px){.payment-container{padding:12px}.checkout-form,.payment-error,.payment-header{border-radius:var(--gm-radius-md)}.payment-header{padding:11px 12px}.checkout-form{padding:16px}}.game-tray-wrap{align-items:flex-end;bottom:24px;display:flex;flex-direction:column;gap:10px;position:fixed;right:24px;z-index:1500}.game-tray-trigger{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;flex-direction:column;flex-shrink:0;gap:4px;height:38px;justify-content:center;transition:transform .15s;width:38px}.game-tray-trigger:hover{transform:scale(1.08)}.game-tray-trigger.active{background:var(--gm-brand);background:var(--tray-accent,var(--gm-brand));box-shadow:0 4px 14px #0000004d,0 0 0 3px #0000001f}.game-tray-trigger.active .game-tray-dot{background:#fbbf24}.game-tray-trigger.win{background:var(--gm-success);box-shadow:0 4px 14px #0000004d,0 0 0 3px #0000001f}.game-tray-trigger.win .game-tray-dot{background:#fff}.game-tray-trigger.loss{background:var(--gm-danger);box-shadow:0 4px 14px #0000004d,0 0 0 3px #0000001f}.game-tray-trigger.loss .game-tray-dot{background:#fff}.game-tray-dot{border-radius:50%;height:4px;pointer-events:none;width:4px}.game-tray-panel{background:var(--gm-surface);border:1px solid var(--gm-border);border-left:5px solid var(--tray-accent,var(--gm-brand));border-radius:var(--gm-radius-lg);box-shadow:var(--gm-shadow-lg);display:none;flex-direction:column;gap:12px;padding:16px 16px 20px 14px;width:300px}.game-tray-panel.open{animation:tray-panel-in .28s cubic-bezier(.34,1.56,.64,1);display:flex}.game-tray-panel.win{border-left-color:var(--gm-success)}.game-tray-panel.loss{border-left-color:var(--gm-danger)}@keyframes tray-panel-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.game-tray-drag-handle{border:none;cursor:pointer;display:none;padding:0}.game-tray-panel-header{align-items:flex-start;display:flex;gap:12px}.game-tray-panel-icon{align-items:center;background:color-mix(in srgb,var(--gm-brand) 16%,#0000);background:color-mix(in srgb,var(--tray-accent,var(--gm-brand)) 16%,#0000);border-radius:10px;color:var(--gm-brand);color:var(--tray-accent,var(--gm-brand));display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.game-tray-panel-icon.win{background:var(--gm-success-soft);color:var(--gm-success)}.game-tray-panel-icon.loss{background:var(--gm-danger-soft);color:var(--gm-danger)}.game-tray-panel-text{flex:1 1;min-width:0}.game-tray-panel-title{color:var(--gm-ink);font-size:14px;font-weight:700;margin-bottom:3px}.game-tray-panel-sub{color:var(--gm-muted);font-size:12px;line-height:1.4}.game-tray-panel-actions{display:flex;flex-wrap:wrap;gap:8px}.game-tray-btn-end{background:var(--gm-danger);border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:7px 16px}.game-tray-btn-end:hover{filter:brightness(.9)}.game-tray-btn-primary{background:var(--gm-success);border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:7px 16px}.game-tray-btn-primary:hover{filter:brightness(.92)}.game-tray-btn-secondary{background:none;border:1px solid var(--gm-border);border-radius:7px;color:var(--gm-muted);cursor:pointer;font-size:13px;padding:7px 12px}.game-tray-btn-secondary:hover{background:var(--gm-surface-2)}@media (pointer:coarse){.game-tray-wrap{align-items:flex-end;bottom:20px;right:16px}.game-tray-panel{border-left:none;border-radius:20px 20px 0 0;border-top:4px solid var(--tray-accent,var(--gm-brand));bottom:0;left:0;margin:0;padding:16px 20px 36px;position:fixed;right:0;width:100%;z-index:1499}.game-tray-panel.win{border-left:none;border-top-color:var(--gm-success)}.game-tray-panel.loss{border-left:none;border-top-color:var(--gm-danger)}@keyframes tray-panel-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.game-tray-drag-handle{align-self:center;appearance:none;background:var(--gm-border);border-radius:2px;display:block;height:4px;margin:0 auto 12px;width:36px}.game-tray-drag-handle:focus-visible,.game-tray-drag-handle:hover{background:var(--gm-muted);outline:none}.game-tray-panel-icon{height:44px;width:44px}.game-tray-panel-title{font-size:15px}.game-tray-panel-sub{font-size:13px}.game-tray-btn-end,.game-tray-btn-primary,.game-tray-btn-secondary{border-radius:10px;flex:1 1;font-size:14px;padding:13px 16px;text-align:center}}.app-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px;width:100%}*{box-sizing:border-box;margin:0;padding:0}:root{--gm-bg:#f4f5f7;--gm-surface:#fff;--gm-surface-2:#f4f5f7;--gm-border:#e2e5ea;--gm-ink:#1a1a2e;--gm-ink-soft:#565d78;--gm-muted:#6b7280;--gm-brand:#1e3a5f;--gm-brand-hover:#2a5080;--gm-brand-soft:#eef1f6;--gm-danger:#c62828;--gm-danger-soft:#ffebee;--gm-success:#2e7d32;--gm-success-soft:#e8f5e9;--gm-radius-sm:10px;--gm-radius-md:14px;--gm-radius-lg:22px;--gm-shadow-sm:0 1px 2px #1419370d,0 1px 3px #1419370f;--gm-shadow-md:0 10px 28px #1419371a;--gm-shadow-lg:0 20px 48px #14193729;--gm-hangman:#d9694f;--gm-digits:#1fa8ac;--gm-sequences:#8264e0;--gm-countries:#3fa563;--gm-cars:#dc9a35;--gm-jigsaw:#d1569a;--gm-shapes:#2fa9d6;--gm-pathfinder:#5f72d9;--gm-hangman-soft:#d9694f29;--gm-digits-soft:#1fa8ac29;--gm-sequences-soft:#8264e029;--gm-countries-soft:#3fa56329;--gm-cars-soft:#dc9a3529;--gm-jigsaw-soft:#d1569a29;--gm-shapes-soft:#2fa9d629;--gm-pathfinder-soft:#5f72d929}@media (prefers-color-scheme:dark){:root{--gm-bg:#0d1020;--gm-surface:#161a2e;--gm-surface-2:#1c2138;--gm-border:#2a2f4a;--gm-ink:#eef0fb;--gm-ink-soft:#b5bad6;--gm-muted:#848ab0;--gm-brand:#7b93ff;--gm-brand-hover:#93a8ff;--gm-brand-soft:#212a52;--gm-danger:#f5959e;--gm-danger-soft:#321417;--gm-success:#6bdb9c;--gm-success-soft:#12281f;--gm-shadow-sm:0 1px 2px #0000004d;--gm-shadow-md:0 10px 28px #00000059;--gm-shadow-lg:0 24px 56px #00000080}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f5f7;background:var(--gm-bg);color:#1a1a2e;color:var(--gm-ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:14px;line-height:1.4;min-height:100vh}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
/*# sourceMappingURL=main.02d0ca85.css.map*/