:root{--bg:#0a0e0a;--bg2:#0e1710;--panel:#121a13;--panel-border:#1f2e20;--neon:#39ff6a;--neon-dim:#1f8f3f;--red:#ff3b3b;--text:#e8f5ea;--text-dim:#8ba591;--font:"Segoe UI", Roboto, Arial, sans-serif}*{box-sizing:border-box}body{background:radial-gradient(ellipse at 50% -10%, #14251a 0%, var(--bg) 55%), var(--bg);min-height:100vh;color:var(--text);font-family:var(--font);margin:0;position:relative;overflow-x:hidden}.stadium-glow{pointer-events:none;z-index:0;background:repeating-linear-gradient(100deg,#39ff6a09 0 2px,#0000 2px 140px);position:fixed;inset:0}.stadium-glow:before{content:"";background:radial-gradient(circle,#39ff6a1a 0%,#0000 65%);width:1200px;height:800px;position:absolute;top:-20%;left:50%;transform:translate(-50%)}.screen{z-index:1;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:none;position:relative}.screen.active{display:flex}.card{background:linear-gradient(180deg, var(--panel) 0%, #0d140e 100%);border:1px solid var(--panel-border);text-align:center;border-radius:18px;width:100%;max-width:420px;padding:40px 36px;box-shadow:0 0 0 1px #39ff6a0d,0 20px 60px #00000080}.logo{letter-spacing:1px;justify-content:center;align-items:center;gap:12px;margin:0 0 6px;font-size:28px;display:inline-flex}.logo-mark{color:var(--neon);flex-shrink:0}.logo-text{line-height:1.1}.accent{color:var(--neon);text-shadow:0 0 18px #39ff6a99}.ui-icon{object-fit:contain;vertical-align:middle;filter:brightness(0)invert(.92);opacity:.95;flex-shrink:0;display:inline-block}.navbar-brand-icon,.logo-mark{filter:none;opacity:1}.page-title-icon,.nav-tab.active .ui-icon{filter:brightness(0)saturate()invert(71%)sepia(64%)saturate(463%)hue-rotate(73deg)brightness(104%)contrast(101%);opacity:1}.ui-icon.brand-image,.ui-icon.coin-icon{filter:none;opacity:1}.nav-signin-icon{filter:brightness(0);opacity:.9}.btn-with-icon{justify-content:center;align-items:center;gap:8px;display:inline-flex}.subtitle{color:var(--text-dim);margin-bottom:24px;font-size:14px}input[type=text],input[type=password],input[type=email]{border:1px solid var(--panel-border);width:100%;color:var(--text);background:#0b120c;border-radius:10px;outline:none;margin-bottom:14px;padding:14px 16px;font-size:16px;transition:border-color .15s,box-shadow .15s}input[type=text]:focus,input[type=password]:focus,input[type=email]:focus{border-color:var(--neon);box-shadow:0 0 0 3px #39ff6a26}.btn-primary{background:linear-gradient(180deg, var(--neon) 0%, #22c651 100%);color:#04170a;letter-spacing:.5px;cursor:pointer;border:none;border-radius:10px;width:100%;padding:14px;font-size:15px;font-weight:800;transition:transform .1s,box-shadow .15s,opacity .15s;box-shadow:0 0 24px #39ff6a59}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 0 34px #39ff6a8c}.btn-primary:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.btn-secondary{border:1px solid var(--panel-border);background:var(--panel);width:100%;color:var(--text);letter-spacing:.3px;cursor:pointer;border-radius:10px;margin-bottom:14px;padding:13px;font-size:14px;font-weight:700;transition:border-color .15s,transform .1s,background .15s}.btn-secondary:hover:not(:disabled){border-color:var(--neon-dim);background:#16211a;transform:translateY(-1px)}.btn-secondary:disabled{opacity:.55;cursor:not-allowed}.mode-pills{gap:8px;margin-bottom:16px;display:flex}.mode-pill{border:1px solid var(--panel-border);background:var(--panel);color:var(--text-dim);cursor:pointer;border-radius:999px;flex:1;padding:10px 6px;font-size:13px;font-weight:700;transition:all .15s}.mode-pill.active{border-color:var(--neon);color:var(--neon);background:#39ff6a1a;box-shadow:0 0 16px #39ff6a26}.mode-pill:hover:not(.active){border-color:var(--neon-dim);color:var(--text)}.divider{text-align:center;color:var(--text-dim);align-items:center;margin:6px 0 14px;font-size:12px;display:flex}.divider:before,.divider:after{content:"";border-bottom:1px solid var(--panel-border);flex:1}.divider span{padding:0 12px}.room-code-row{gap:8px;margin-bottom:4px;display:flex}.room-code-row input{text-transform:uppercase;letter-spacing:2px;text-align:center;flex:1;margin-bottom:0;font-weight:800}.room-code-row .btn-secondary{width:auto;margin-bottom:0;padding:0 20px}.room-code-display{letter-spacing:8px;color:var(--neon);text-shadow:0 0 20px #39ff6a80;background:var(--panel);border:1px solid var(--neon-dim);border-radius:12px;margin:18px 0;padding:16px 10px;font-size:40px;font-weight:900}#mode-indicator{color:var(--text-dim);font-weight:500}#mode-indicator:not(:empty):before{content:" • "}.error-text{color:var(--red);min-height:18px;margin-top:8px;font-size:13px}.spinner-wrap{justify-content:center;align-items:center;margin:0 auto 20px;display:flex}.spinner-animation{aspect-ratio:1;width:clamp(112px,36vw,160px);position:relative}.spinner-player,.spinner-poster{width:100%;height:100%;position:absolute;inset:0}.spinner-poster{object-fit:contain}.spinner-player>svg{display:block}#screen-game{padding:0}.topbar{border-bottom:1px solid var(--panel-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:5;background:#0a0f0ab3;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:16px 26px;display:flex;position:sticky;top:0}.round-indicator{letter-spacing:1px;color:var(--text-dim);font-size:13px;font-weight:700}.round-indicator span{color:var(--neon)}.timer{color:var(--red);text-shadow:0 0 12px #ff3b3bb3,0 0 30px #ff3b3b66;text-align:center;min-width:60px;font-size:34px;font-weight:900;animation:1s ease-in-out infinite pulse-red}@keyframes pulse-red{0%,to{opacity:1;transform:scale(1)}50%{opacity:.65;transform:scale(1.08)}}.scoreboard{align-items:center;gap:12px;display:flex}.score-box{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;flex-direction:column;align-items:center;min-width:70px;padding:6px 14px;display:flex}.score-box.me{border-color:var(--neon-dim)}.score-name{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;max-width:90px;font-size:11px;overflow:hidden}.score-val{color:var(--neon);font-size:20px;font-weight:800}.vs{color:var(--text-dim);font-size:12px;font-weight:700}.game-main{justify-content:center;align-items:center;min-height:calc(100vh - 76px);padding:30px 20px;display:flex}.phase-panel{text-align:center;width:100%;max-width:460px}.phase-panel.hidden{display:none}.phase-panel h2{margin-bottom:20px;font-size:20px}.autocomplete-wrap{margin-bottom:16px;position:relative}.dropdown{border:1px solid var(--panel-border);z-index:20;text-align:left;background:#0d150e;border-radius:10px;max-height:220px;margin-top:6px;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 10px 30px #00000080}.dropdown.show{display:block}.dropdown-item{cursor:pointer;border-bottom:1px solid #ffffff08;justify-content:space-between;padding:11px 16px;font-size:14px;display:flex}.dropdown-item:hover,.dropdown-item.active-item{color:var(--neon);background:#39ff6a1f}.dropdown-item small{color:var(--text-dim);font-weight:400}.status-text{color:var(--text-dim);min-height:20px;margin-top:10px;font-size:13px}.status-text.warn{color:var(--red)}.status-text.ok{color:var(--neon)}.criteria-reveal{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-bottom:22px;scroll-margin-top:140px;display:flex}.criteria-chip{background:var(--panel);border:1px solid var(--neon-dim);border-radius:999px;padding:10px 18px;font-size:15px;font-weight:700;box-shadow:0 0 20px #39ff6a26}.criteria-plus{color:var(--text-dim);font-weight:800}.result-box{background:var(--panel);border:1px solid var(--panel-border);border-radius:16px;padding:34px 26px;font-size:18px;line-height:1.7}.result-box .win{color:var(--neon);font-weight:800}.result-box .lose{color:var(--red);font-weight:800}.final-scores{margin:20px 0 26px}.final-row{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;justify-content:space-between;margin-bottom:10px;padding:12px 16px;font-weight:700;display:flex}.final-row.winner{border-color:var(--neon);color:var(--neon)}.toast{border:1px solid var(--red);color:#ffb3b3;z-index:50;background:#1a0d0d;border-radius:10px;padding:14px 22px;font-size:14px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast.hidden{display:none}@media (width<=480px){.timer{font-size:26px}.topbar{padding:12px 14px}.code-digit{width:38px;height:48px;font-size:20px}}.code-inputs-wrap{justify-content:center;gap:8px;margin:18px 0 20px;display:flex}.code-digit{text-align:center;border:2px solid var(--panel-border);width:46px;height:56px;color:var(--neon);caret-color:var(--neon);background:#0b120c;border-radius:10px;outline:none;margin-bottom:0;padding:0;font-size:24px;font-weight:900;transition:border-color .15s,box-shadow .15s,transform .1s}.code-digit:focus{border-color:var(--neon);transform:scale(1.05);box-shadow:0 0 0 3px #39ff6a33,0 0 16px #39ff6a26}.code-digit.filled{border-color:var(--neon-dim);background:#39ff6a0f}.code-digit.error{border-color:var(--red);animation:.4s ease-in-out shake;box-shadow:0 0 0 3px #ff3b3b33}.code-digit.success{border-color:var(--neon);background:#39ff6a1f;transform:scale(1.08)}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.reg-step.hidden{display:none}.step-info{color:var(--text-dim);margin-bottom:6px;font-size:13px;line-height:1.5}.step-info span{color:var(--neon);font-weight:700}.verified-badge{border:1px solid var(--neon-dim);color:var(--neon);background:#39ff6a1a;border-radius:999px;align-items:center;gap:6px;margin-bottom:18px;padding:8px 18px;font-size:13px;font-weight:700;animation:.3s ease-out fadeInScale;display:inline-flex}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.btn-small{margin-top:4px;padding:10px;font-size:12px}.btn-link{color:var(--text-dim);cursor:pointer;background:0 0;border:none;width:100%;padding:8px 0;font-size:12px;text-decoration:underline;transition:color .15s}.btn-link:hover{color:var(--neon)}.cooldown-text{color:var(--text-dim);min-height:16px;margin-top:6px;font-size:12px}.auth-form{transition:all .3s}.btn-primary.sending{opacity:.6;pointer-events:none}.btn-google{color:#f5f7ff;width:100%;min-height:52px;font:inherit;cursor:pointer;background:linear-gradient(#252a38 0%,#1a1e29 100%);border:1px solid #4f5568;border-radius:10px;justify-content:center;align-items:center;gap:12px;padding:13px 18px;font-size:15px;font-weight:800;transition:transform .1s,border-color .15s,box-shadow .15s,opacity .15s;display:inline-flex;box-shadow:0 10px 28px #00000047}.btn-google:hover:not(:disabled){border-color:#8f96ad;transform:translateY(-1px);box-shadow:0 14px 34px #00000061}.btn-google:disabled{cursor:wait;opacity:.6}.auth-status-card,.username-setup-card{max-width:460px}.username-setup-card h2{margin:18px 0 8px}.username-setup-card .auth-form{margin-top:22px}.auth-failure-icon{border:2px solid var(--red);width:56px;height:56px;color:var(--red);border-radius:50%;place-items:center;margin:0 auto 18px;font-size:30px;font-weight:900;display:grid}.auth-back-link{text-decoration:none;display:inline-block}.forgot-password-link,.password-recovery .auth-back-link{color:var(--neon);cursor:pointer;font:inherit;background:0 0;border:0;padding:8px 0;font-size:13px;text-decoration:underline}.forgot-password-link{margin-top:4px}.password-recovery h3{margin:0 0 10px}.password-recovery .subtitle{margin-bottom:16px}.recovery-actions{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.password-recovery .auth-back-link:disabled{color:var(--text-dim);cursor:default}.recovery-status{color:var(--neon);margin:12px 0;font-size:13px;line-height:1.5}.password-recovery .error-text{color:var(--red);margin:12px 0;font-size:13px}.dashboard-welcome{color:var(--text-dim);margin:12px 0 4px}.dashboard-welcome strong{color:var(--neon)}.score-timer{color:var(--red);margin-top:2px;font-size:11px;font-weight:700}.joker-bar{border-top:1px solid var(--panel-border);margin-top:18px;padding-top:14px}.joker-buttons{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.joker-btn{border:1px solid var(--panel-border);background:var(--panel);min-width:58px;color:var(--text);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:8px 6px 6px;font-family:inherit;transition:border-color .15s,transform .1s,background .15s;display:flex;position:relative}.joker-btn:hover:not(:disabled){border-color:var(--neon-dim);background:#16211a;transform:translateY(-1px)}.joker-btn:disabled{opacity:.4;cursor:not-allowed}.joker-btn.active{border-color:var(--neon);opacity:1;box-shadow:0 0 12px #39ff6a59}.joker-icon{object-fit:contain;vertical-align:middle;flex-shrink:0;display:inline-block}.joker-label{color:var(--text-dim);white-space:nowrap;font-size:10px;font-weight:700}.joker-count{background:var(--neon-dim);min-width:18px;height:18px;color:var(--text);border-radius:9px;padding:0 4px;font-size:11px;font-weight:800;line-height:18px;position:absolute;top:-6px;right:-6px}.joker-note{color:var(--text-dim);min-height:16px;margin:8px 0 0;font-size:12px}.joker-hint{color:gold;border:1px dashed gold;border-radius:10px;margin:-6px 0 16px;padding:10px 12px}.joker-hint-mask{letter-spacing:1px;white-space:pre-wrap;word-break:break-word;font-family:Consolas,monospace;font-size:18px;font-weight:700}.joker-hint small{color:var(--text-dim)}.joker-summary{border:1px solid var(--panel-border);background:var(--bg2);border-radius:12px;margin:0 0 14px;padding:12px}.joker-summary-title{letter-spacing:.5px;color:var(--text-dim);text-align:left;align-items:center;gap:8px;margin-bottom:10px;font-size:12px;font-weight:800;display:flex}.joker-summary-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;display:grid}.joker-summary-item{border:1px solid var(--panel-border);background:var(--panel);color:var(--text);font:inherit;cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;display:flex}.joker-summary-item:hover{border-color:var(--neon-dim)}.joker-summary-item:focus-visible{outline:2px solid var(--neon);outline-offset:2px}.joker-summary-item.empty{opacity:.4}.joker-summary-count{color:var(--neon);font-size:16px;font-weight:900;line-height:1}.joker-info-modal{color:var(--text);max-height:calc(100dvh - 32px);overflow-y:auto}.joker-info-modal::backdrop{background:#000000a6}.joker-info-modal p{line-height:1.6}.wallet-balance{white-space:nowrap;background:#ffd54f14;border:1px solid #4a4220;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.wallet-balance-icon{align-items:center;line-height:1;display:inline-flex}.wallet-balance-amount{color:#ffd54f;font-size:15px;font-weight:900}.wallet-reward{color:#ffd54f;margin:4px 0 16px;font-weight:800}.friends-badge{background:var(--red);color:#fff;border-radius:999px;min-width:20px;margin-left:8px;padding:1px 6px;font-size:12px;font-weight:900;display:inline-block}.friends-add-row{margin-bottom:8px}.friends-add-row input{text-transform:none;letter-spacing:normal;text-align:left;font-weight:600}.friends-message{color:var(--neon);margin:4px 0 8px;font-size:13px}.friends-section{text-align:left;margin-top:16px}.friends-section-title{letter-spacing:.5px;color:var(--text-dim);align-items:center;gap:8px;margin-bottom:8px;font-size:12px;font-weight:800;display:flex}.friends-empty{color:var(--text-dim);font-size:13px}.friend-row{border:1px solid var(--panel-border);background:var(--panel);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px;display:flex}.friend-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.friend-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.friend-btn{width:auto;margin:0;padding:8px 12px}.friend-status{color:var(--text-dim);align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.friend-dot{background:#5a6b5d;border-radius:50%;width:8px;height:8px}.friend-status.online{color:var(--neon)}.friend-status.online .friend-dot{background:var(--neon);box-shadow:0 0 8px var(--neon)}.friend-remove{padding:2px 6px;font-size:14px}.friend-status.error{color:var(--red)}.room-invites{margin:0 0 16px}.invite-toasts{z-index:60;flex-direction:column;gap:8px;width:min(440px,100% - 32px);display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.invite-toast{border:1px solid var(--neon-dim);background:var(--panel);text-align:left;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-size:14px;display:flex;box-shadow:0 8px 30px #00000080,0 0 18px #39ff6a33}.invite-toast-sub{color:var(--text-dim);margin-top:3px;font-size:12px}.invite-toast-actions{flex-shrink:0;gap:6px;display:flex}.invite-notice{border:1px solid var(--panel-border);background:var(--bg2);color:var(--text);text-align:center;border-radius:10px;padding:10px 14px;font-size:13px}@media (width<=480px){.invite-toast{flex-direction:column;align-items:stretch}.invite-toast-actions .friend-btn{flex:1}.friend-row{flex-wrap:wrap}}.screen.menu-shell{justify-content:flex-start;align-items:stretch;padding:0 0 88px}.navbar{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--panel-border);background:#0a0e0ae0;align-items:center;gap:16px;padding:10px 24px;display:flex;position:sticky;top:0}.navbar-brand{cursor:pointer;color:var(--text);letter-spacing:1px;white-space:nowrap;background:0 0;border:none;align-items:center;gap:8px;padding:0;font-family:inherit;font-size:18px;font-weight:900;display:inline-flex}.navbar-brand-icon{filter:none;opacity:1}.nav-tabs{scrollbar-width:none;flex:1;gap:4px;min-width:0;display:flex;overflow-x:auto}.nav-tabs::-webkit-scrollbar{display:none}.nav-tab{color:var(--text-dim);white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:6px;padding:9px 14px;font-family:inherit;font-size:14px;font-weight:700;transition:color .15s,background .15s,border-color .15s;display:inline-flex;position:relative}.nav-tab:hover{color:var(--text);background:var(--panel)}.nav-tab.active{color:var(--neon);border-color:var(--neon-dim);background:#39ff6a14}.nav-tab .friends-badge{margin-left:2px}.nav-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.nav-signin{background:linear-gradient(180deg, var(--neon) 0%, #22c651 100%);color:#04170a;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:8px;width:auto;margin:0;padding:9px 16px;font-family:inherit;font-size:14px;font-weight:800;display:inline-flex;box-shadow:0 0 18px #39ff6a47}.nav-signin-icon{color:#04170a}.nav-signin:hover{transform:translateY(-1px)}.avatar{background:linear-gradient(180deg, var(--neon) 0%, #22c651 100%);color:#04170a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:900;line-height:1;display:inline-flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.player-avatar{vertical-align:middle}.player-identity{vertical-align:middle;align-items:center;gap:7px;min-width:0;max-width:100%;display:inline-flex}.player-identity>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.friend-search-result{flex-wrap:wrap;margin-top:10px}.friend-search-info{overflow-wrap:anywhere;flex:1;min-width:100px}.friend-search-info small{color:var(--text-dim);margin-top:4px;font-size:11px;display:block}.avatar-menu-wrap{position:relative}.avatar-button{border:1px solid var(--panel-border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:3px 12px 3px 3px;font-family:inherit;font-size:14px;font-weight:700;display:inline-flex}.avatar-button:hover,.avatar-button.active{border-color:var(--neon-dim)}.avatar-button-name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.avatar-menu{z-index:30;border:1px solid var(--panel-border);background:var(--panel);border-radius:12px;min-width:220px;padding:8px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 40px #0000008c}.avatar-menu-head{border-bottom:1px solid var(--panel-border);align-items:center;gap:10px;margin-bottom:6px;padding:6px 8px 10px;display:flex}.avatar-menu-head strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.avatar-menu button[role=menuitem]{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px;font-family:inherit;font-size:14px;font-weight:600;display:flex}.avatar-menu button[role=menuitem]:hover{color:var(--neon);background:#16211a}.menu-page{width:100%;max-width:1000px;margin:0 auto;padding:28px 16px 0}.page-header{margin-bottom:20px}.page-header h2,.page-title{align-items:center;gap:10px;margin:0 0 6px;font-size:24px;display:flex}.page-title-icon{color:var(--neon)}.page-header .subtitle{margin-bottom:0}.panel{background:linear-gradient(180deg, var(--panel) 0%, #0d140e 100%);border:1px solid var(--panel-border);border-radius:16px;min-width:0;padding:20px}.panel-title{letter-spacing:.5px;color:var(--text-dim);align-items:center;gap:8px;margin-bottom:14px;font-size:13px;font-weight:800;display:flex}.panel-title-row{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.panel-title-row .panel-title{margin-bottom:0}.btn-inline{width:auto;margin:0;padding:7px 12px}.field-hint{color:var(--text-dim);margin:8px 0 0;font-size:12px}.demo-badge{color:#ffd54f;letter-spacing:1px;background:#ffd54f14;border:1px solid #4a4220;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:900;display:inline-block}.demo-note{color:#ffd54f}.inline-link{cursor:pointer;color:var(--neon);font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.room-code-row input.mono-input{letter-spacing:0;text-transform:none;text-align:left;font-family:Consolas,monospace;font-size:13px;font-weight:600}.segmented{border:1px solid var(--panel-border);background:var(--bg2);border-radius:12px;gap:4px;margin-bottom:12px;padding:4px;display:inline-flex}.segmented-option{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:6px;padding:7px 12px;font-family:inherit;font-size:13px;font-weight:700;display:inline-flex}.segmented-option.active{color:var(--neon);background:#39ff6a1f}.page-header .dashboard-welcome{color:var(--text);margin:0 0 6px;font-size:24px}.home-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.home-play .mode-pills{margin-bottom:14px}.btn-quick-match{padding:18px;font-size:17px}.btn-primary.btn-rejoin{color:#1a1a1a;background:#ffb300;margin-bottom:10px;box-shadow:0 0 24px #ffb3004d}.home-hint{color:var(--text-dim);margin:14px 0 0;font-size:13px}.guest-auth .auth-tabs{margin-bottom:16px}.guest-invite{color:var(--text);background:#39ff6a1f;border:1px solid #39ff6a;border-radius:10px;margin-bottom:14px;padding:10px 12px;font-size:13px}.home-jokers .joker-summary{background:0 0;border:none;padding:0}.home-jokers .btn-small{margin:0}.rooms-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);align-items:start;gap:16px;display:grid}.rooms-actions .btn-primary{margin-bottom:14px}.rooms-actions .divider{margin-top:0}.room-list{flex-direction:column;gap:8px;min-height:220px;max-height:480px;display:flex;overflow-y:auto}.room-list-empty{color:var(--text-dim);text-align:center;margin:80px 0 0;font-size:14px}.room-row{border:1px solid var(--panel-border);background:var(--bg2);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.room-row-info{min-width:0}.room-row-host{color:var(--neon)}.room-row-mode{color:var(--text-dim);font-size:12px}.room-row-type{margin-top:2px;font-size:14px}.room-row-count{color:#ffd54f;margin-top:2px;font-size:12px}.room-row-count.full{color:var(--red)}.btn-primary.room-row-join{flex-shrink:0;width:auto;margin:0;padding:9px 16px}.friends-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-items:start;gap:16px;display:grid}.friends-add .friends-section{margin-top:20px}.friend-entry{margin-bottom:8px}.friend-entry .friend-row{margin-bottom:0}.friend-entry .challenge-menu{margin-top:6px}.challenge-menu{border:1px solid var(--neon-dim);background:#0f1a11;border-radius:12px;flex-direction:column;gap:6px;padding:10px;display:flex}.challenge-menu-title{color:var(--text-dim);font-size:12px;font-weight:800}.challenge-option{text-align:left;border:1px solid var(--panel-border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:10px;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:700;transition:border-color .15s,color .15s}.challenge-option:hover:not(:disabled){border-color:var(--neon);color:var(--neon)}.challenge-option:disabled{opacity:.5;cursor:wait}.challenge-error{color:var(--red);margin:2px 0 0;font-size:12px}.online-widget{z-index:40;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:20px;right:20px}.online-widget-pill{border:1px solid var(--panel-border);background:var(--panel);color:var(--text-dim);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 8px 30px #00000080}.online-widget-pill:hover{border-color:var(--neon-dim);color:var(--text)}.online-widget-pill.has-online{color:var(--neon);border-color:var(--neon-dim)}.online-widget-pill.has-online .friend-dot,.online-friend .friend-dot{background:var(--neon);box-shadow:0 0 8px var(--neon)}.online-widget-panel{border:1px solid var(--panel-border);background:var(--panel);border-radius:14px;width:min(300px,100vw - 40px);max-height:min(420px,100vh - 140px);padding:12px;overflow-y:auto;box-shadow:0 12px 40px #0009}.online-widget-title{letter-spacing:.5px;color:var(--text-dim);margin-bottom:8px;font-size:12px;font-weight:800}.online-widget-empty{color:var(--text-dim);margin:4px 0;font-size:13px}.online-widget-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.online-widget-list .challenge-menu{margin-top:6px}.online-friend{text-align:left;border:1px solid var(--panel-border);background:var(--bg2);width:100%;color:var(--text);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-family:inherit;font-size:14px;display:flex}.online-friend:hover,.online-friend.active{border-color:var(--neon-dim)}.online-friend .friend-name{flex:1}.online-friend-cta{color:var(--text-dim);font-size:13px}.btn-link.online-widget-link{text-align:right;padding-bottom:0}.shop-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;display:flex}.shop-discount{color:#ffd54f;font-size:10px;font-weight:900}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;display:grid}.shop-card{text-align:center;border:1px solid var(--panel-border);background:linear-gradient(180deg, var(--panel) 0%, #0d140e 100%);border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:18px 14px;transition:border-color .15s,transform .1s;display:flex}.shop-card:hover{border-color:var(--neon-dim);transform:translateY(-2px)}.shop-card-icon{font-size:34px;line-height:1.1}.shop-card-name{font-size:16px;font-weight:900}.shop-card-desc{color:var(--text-dim);min-height:32px;margin:0;font-size:12px}.shop-card-owned{color:var(--text-dim);font-size:12px}.shop-card-price{color:#ffd54f;margin:4px 0;font-size:18px;font-weight:900}.shop-card-price small{color:var(--text-dim);font-size:11px;font-weight:600}.shop-card .btn-small{margin-top:auto}.modal-backdrop{z-index:70;background:#000000a6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{text-align:center;border:1px solid var(--panel-border);background:var(--panel);border-radius:16px;width:min(380px,100%);padding:24px;box-shadow:0 20px 60px #0009}.modal h3{margin:8px 0}.modal p{color:var(--text-dim);font-size:14px}.modal-actions{gap:10px;margin-top:16px;display:flex}.modal-actions button{flex:1;margin:0}.menu-toast{z-index:60;color:#ffd54f;text-align:center;background:#1a170b;border:1px solid #4a4220;border-radius:12px;width:max-content;max-width:calc(100% - 32px);padding:12px 18px;font-size:14px;position:fixed;bottom:84px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #00000080}.profile-grid{grid-template-columns:minmax(0,260px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.profile-photo{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.profile-photo .panel-title{align-self:stretch}.profile-photo .btn-secondary{margin:6px 0 0}.profile-photo .btn-link{padding:0}.profile-forms{flex-direction:column;gap:16px;display:flex}.profile-forms .room-code-row input{text-transform:none;letter-spacing:normal;text-align:left;font-weight:600}@media (width<=820px){.navbar{flex-wrap:wrap;gap:8px 12px;padding:10px 16px}.nav-tabs{flex-basis:100%;order:3}.nav-right{margin-left:auto}.avatar-button-name{display:none}.avatar-button{padding:3px}.home-grid,.rooms-grid,.friends-grid,.profile-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=480px){.navbar-brand-text{display:none}.nav-tab{padding:8px 10px;font-size:13px}.menu-page{padding-top:20px}.online-widget{bottom:12px;right:12px}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.room-row{flex-wrap:wrap}}.panel .error-text:empty{min-height:0;margin:0}.reward-icon{object-fit:contain;vertical-align:middle;flex-shrink:0;display:inline-block}.nav-tab .reward-badge{color:#1a1a1a;background:#ffb300;margin-left:2px}.reward-countdown{color:var(--text-dim);font-size:13px}.reward-countdown strong{color:#ffd54f;font-variant-numeric:tabular-nums}.reward-banner{text-align:left;cursor:pointer;width:100%;color:var(--text);background:linear-gradient(90deg,#ffb30029 0%,#ffb3000a 100%);border:1px solid #4a4220;border-radius:14px;align-items:center;gap:14px;margin-bottom:16px;padding:14px 18px;font-family:inherit;transition:border-color .15s,transform .1s;display:flex}.reward-banner:hover{border-color:#ffb300;transform:translateY(-1px)}.reward-banner .reward-banner-icon{filter:brightness(0)saturate()invert(80%)sepia(52%)saturate(1200%)hue-rotate(359deg)brightness(103%)contrast(104%);animation:2.4s ease-in-out infinite reward-wiggle}.reward-banner-text{min-width:0;color:var(--text-dim);flex-direction:column;flex:1;gap:2px;font-size:13px;display:flex}.reward-banner-text strong{color:#ffd54f;font-size:15px}.reward-banner-cta{color:#ffb300;white-space:nowrap;font-size:13px;font-weight:900}@keyframes reward-wiggle{0%,80%,to{transform:rotate(0)}84%{transform:rotate(-12deg)}88%{transform:rotate(12deg)}92%{transform:rotate(-8deg)}96%{transform:rotate(6deg)}}.daily-panel{margin-bottom:16px}.daily-progress{color:var(--neon);font-size:14px;font-weight:900}.daily-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;display:grid}.daily-tile{border:1px solid var(--panel-border);background:var(--bg2);min-height:86px;color:var(--text);cursor:default;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px 4px;font-family:inherit;transition:border-color .15s,transform .1s,box-shadow .15s;display:flex;position:relative}.daily-tile:disabled{opacity:1}.daily-tile-day{color:var(--text-dim);letter-spacing:.3px;font-size:10px;font-weight:800}.daily-tile-amount{color:#ffd54f;text-align:center;font-size:12px;font-weight:900;line-height:1.15}.daily-tile.special{background:linear-gradient(180deg, #2a6fdb29, var(--bg2));border-color:#24427a}.daily-tile.special .daily-tile-amount{color:#8fb8ff}.daily-tile.grand{background:linear-gradient(180deg, #ffb30038, var(--bg2));border-color:#8a6d12}.daily-tile.claimed>:not(.daily-tile-check){opacity:.3}.daily-tile-check{background:#0a0e0a59;border-radius:12px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.daily-tile.ready{cursor:pointer;border-color:var(--neon);box-shadow:0 0 0 1px var(--neon), 0 0 22px #39ff6a59;animation:1.6s ease-in-out infinite daily-pulse}.daily-tile.ready:hover{transform:translateY(-2px)scale(1.03)}@keyframes daily-pulse{0%,to{box-shadow:0 0 0 1px var(--neon), 0 0 12px #39ff6a40}50%{box-shadow:0 0 0 1px var(--neon), 0 0 28px #39ff6a8c}}.daily-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.daily-footer .field-hint{margin:0}.btn-primary.btn-claim{padding:11px 18px}.wheels-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.wheel-panel{text-align:center;flex-direction:column;align-items:center;display:flex}.wheel-panel .panel-title{align-self:stretch}.wheel-panel-weekly{background:linear-gradient(#1a1326 0%,#0d0b14 100%);border-color:#3a2463}.wheel-panel-weekly .panel-title{color:#c9a6ff}.wheel-hint{margin:10px 0 12px}.btn-primary.btn-spin{width:100%;max-width:280px;margin:0}.wheel-panel-weekly .btn-primary.btn-spin{color:#1a1a1a;background:#ffb300;box-shadow:0 0 24px #ffb30059}.spin-wheel{aspect-ratio:1;width:min(300px,100%);padding-top:6px;position:relative}.spin-wheel-svg{width:100%;height:100%;display:block;overflow:visible}.spin-wheel-rim{fill:#0a0f0b;stroke:var(--neon-dim);stroke-width:3px}.spin-wheel-weekly .spin-wheel-rim{stroke:#ffb300;filter:drop-shadow(0 0 10px #ffb30073)}.spin-wheel-disc{transform-origin:0 0;transition-property:transform;transition-timing-function:cubic-bezier(.12,.7,.08,1)}.spin-wheel-slice{stroke:#00000073;stroke-width:1px}.spin-wheel-label{fill:#fff;text-anchor:middle;paint-order:stroke;stroke:#00000080;stroke-width:2px;font-size:12px;font-weight:900}.spin-wheel-peg{fill:#e8f5ea}.spin-wheel-hub{fill:#0a0f0b;stroke:var(--neon);stroke-width:3px}.spin-wheel-weekly .spin-wheel-hub{stroke:#ffb300}.spin-wheel-pointer{z-index:2;filter:drop-shadow(0 2px 4px #0009);border-top:24px solid #ff3b3b;border-left:13px solid #0000;border-right:13px solid #0000;width:0;height:0;position:absolute;top:-4px;left:50%;transform:translate(-50%)}.reward-modal .reward-modal-burst{background:radial-gradient(circle,#ffd54f4d 0%,#0000 70%);border-radius:50%;justify-content:center;align-items:center;width:108px;height:108px;animation:.5s cubic-bezier(.2,1.6,.4,1) both reward-pop;display:inline-flex}.reward-modal-amount{margin:4px 0 0;font-weight:900;color:#ffd54f!important;font-size:20px!important}.reward-modal-note{margin:12px 0 0;color:#ffd54f!important;font-size:13px!important}.btn-double .ui-icon{filter:brightness(0)invert(.92)}@keyframes reward-pop{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}@media (width<=820px){.wheels-grid{grid-template-columns:minmax(0,1fr)}.daily-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (width<=480px){.daily-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.daily-tile{min-height:76px}.reward-banner-cta{display:none}}@media (prefers-reduced-motion:reduce){.daily-tile.ready,.reward-banner .reward-banner-icon,.reward-modal .reward-modal-burst{animation:none}}.research-panel{position:relative;overflow:visible}.research-modes{flex-wrap:wrap;gap:10px;margin-bottom:24px;display:flex}.research-modes button{flex:170px}.research-form{flex-wrap:wrap;align-items:end;gap:16px;display:flex}.research-field{flex:220px;min-width:0}.research-field label{margin-bottom:8px;display:block}.research-field input{width:100%}.research-results{gap:16px;margin-top:24px;display:grid}.research-player-list{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:16px;display:grid}.research-player-list button{text-align:left}.research-clubs{padding:0;list-style:none}.research-club-card{border:1px solid var(--panel-border);background:var(--panel);color:var(--text);letter-spacing:.3px;overflow-wrap:anywhere;border-radius:10px;padding:13px;font-size:14px;font-weight:700}@media (width<=600px){.research-form>button{width:100%}.research-field{flex-basis:100%}}.league-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.league-table{border-collapse:separate;border-spacing:0 4px;font-variant-numeric:tabular-nums;width:100%;font-size:14px}.league-table th{color:var(--text-dim);letter-spacing:.06em;text-transform:uppercase;text-align:center;border-bottom:1px solid var(--panel-border);white-space:nowrap;padding:6px 8px;font-size:11px;font-weight:600}.league-table td{text-align:center;background:var(--panel);border-top:1px solid var(--panel-border);border-bottom:1px solid var(--panel-border);white-space:nowrap;padding:8px;transition:background .3s}.league-table td:first-child{border-left:1px solid var(--panel-border);border-radius:10px 0 0 10px}.league-table td:last-child{border-right:1px solid var(--panel-border);border-radius:0 10px 10px 0}.league-table th.lt-player,.league-table td.lt-player{text-align:left;width:100%}.lt-player-cell{align-items:center;gap:8px;min-width:0;display:flex}.lt-player-cell .player-identity{text-overflow:ellipsis;min-width:0;overflow:hidden}.lt-rank{width:44px}.lt-rank-badge{background:#ffffff0f;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-weight:700;display:inline-flex}.lt-row.leader td{background:linear-gradient(90deg, #ffd70024, var(--panel) 60%)}.lt-row.leader td:first-child{border-left:3px solid gold}.lt-row.leader .lt-rank-badge{color:#1a1400;background:gold}.lt-row.me td{border-color:var(--neon-dim)}.lt-row.me:not(.leader) td{background:#39ff6a1a}.lt-row.away{opacity:.5}.lt-move{vertical-align:middle;margin-left:2px;font-size:10px;display:inline-block}.lt-move.up{color:var(--neon)}.lt-move.down{color:var(--red)}.lt-tag{color:var(--neon);background:#39ff6a26;border-radius:999px;padding:1px 6px;font-size:11px;font-weight:600}.lt-tag.muted{color:var(--text-dim);background:#ffffff0f}.lt-diff.pos{color:var(--neon)}.lt-diff.neg{color:var(--red)}.lt-points{color:gold;font-size:16px;font-weight:800}th.lt-points{font-size:11px}.lt-form-list{gap:3px;display:inline-flex}.lt-form-pill{color:#0a0e0a;border-radius:4px;width:18px;height:18px;font-size:10px;font-weight:700;line-height:18px}.lt-form-pill.f-G{background:var(--neon)}.lt-form-pill.f-B{background:#c9c9c9}.lt-form-pill.f-M{background:var(--red);color:#fff}.lt-legend{color:var(--text-dim);text-align:left;margin:6px 2px 0;font-size:11px}.live-badge{color:var(--red);white-space:nowrap;justify-content:center;align-items:center;gap:4px;margin-top:2px;font-size:11px;font-weight:600;display:flex}.live-dot{background:var(--red);width:7px;height:7px;box-shadow:0 0 6px var(--red);border-radius:50%;flex:none;animation:1.2s ease-in-out infinite live-pulse;display:inline-block}@keyframes live-pulse{50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.live-dot{animation:none}}@media (width<=520px){.league-table{font-size:13px}.league-table th,.league-table td{padding:6px 4px}.lt-hide-sm{display:none}.lt-rank{width:34px}}
