.notification-container{position:fixed;bottom:20px;left:280px;z-index:9999;display:flex;flex-direction:column-reverse;gap:10px;max-width:380px;pointer-events:none}.notification-item{background:linear-gradient(135deg,#629243,#769656);border-radius:12px;padding:16px;box-shadow:var(--shadow-xl);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-default);display:flex;align-items:flex-start;gap:12px;transform:translate(-100%);opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1);pointer-events:auto;cursor:pointer;min-width:300px;max-width:380px}.notification-item.visible{transform:translate(0);opacity:1}.notification-item.leaving{transform:translate(-100%);opacity:0}.notification-item.success{background:linear-gradient(135deg,#4caf50,#45a049)}.notification-item.error{background:linear-gradient(135deg,#f44336,#d32f2f)}.notification-item.warning{background:linear-gradient(135deg,#ff9800,#f57c00)}.notification-item.info{background:linear-gradient(135deg,#2196f3,#1976d2)}.notification-icon{font-size:20px;flex-shrink:0;margin-top:2px;filter:none!important;opacity:1!important}.notification-content{flex:1;min-width:0}.notification-content *{color:#fff!important}.notification-title{font-weight:600;font-size:14px;color:#fff!important;margin-bottom:4px;line-height:1.2}.notification-message{font-size:13px;color:var(--text-primary)!important;line-height:1.4;word-wrap:break-word}.notification-close{background:none;border:none;color:var(--text-secondary);font-size:18px;font-weight:700;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;flex-shrink:0;margin-top:2px}.notification-close:hover{background:var(--bg-muted);color:#fff}.notification-item:hover{transform:translate(5px);box-shadow:0 12px 40px #0006}.notification-item.leaving:hover{transform:translate(-100%)}@media (max-width: 768px){.notification-container{bottom:80px;left:10px;right:10px;max-width:none}.notification-item{min-width:auto;max-width:none;transform:translateY(100%)}.notification-item.visible{transform:translateY(0)}.notification-item.leaving{transform:translateY(100%)}}@keyframes slideIn{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(-100%);opacity:0}}.notification-item[data-has-sound=true]:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:12px;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.1) 50%,transparent 70%);animation:soundWave 2s ease-in-out;pointer-events:none}@keyframes soundWave{0%{transform:translate(-100%)}to{transform:translate(100%)}}.sidebar{position:fixed;top:0;left:0;bottom:0;width:68px;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;z-index:var(--z-fixed, 1030);overflow:hidden;transition:width var(--duration-slow, .3s) var(--ease-default)}.sidebar:hover{width:240px}.sidebar-logo{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:opacity .2s;flex-shrink:0;height:56px;overflow:hidden}.sidebar-logo:hover{opacity:.85}.sidebar-logo-img{width:36px;height:36px;border-radius:10px;flex-shrink:0;filter:drop-shadow(0 2px 8px rgba(118,150,86,.3))}.sidebar-logo-text{font-size:var(--font-size-lg);font-weight:800;background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.3px;white-space:nowrap;opacity:0;transition:opacity var(--duration-slow, .3s)}.sidebar:hover .sidebar-logo-text{opacity:1}.sidebar-nav{flex:1;min-height:0;padding:4px 10px;display:flex;flex-direction:column;gap:2px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px;background:transparent;border:none;border-radius:var(--radius-lg);color:var(--sidebar-text);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--duration-fast) var(--ease-default);text-align:left;white-space:nowrap;overflow:hidden}.sidebar-nav-item:hover{background:var(--sidebar-item-hover);color:var(--text-primary)}.sidebar-nav-item.active{background:var(--sidebar-item-active);color:var(--sidebar-text-active)}.nav-item-icon{font-size:var(--font-size-lg);width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-item-icon svg{width:22px;height:22px;border-radius:6px}.nav-item-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity var(--duration-slow, .3s)}.sidebar:hover .nav-item-label{opacity:1}.sidebar-footer{flex-shrink:0;padding:8px 10px 12px;border-top:1px solid var(--border-default);position:relative}.sidebar-lang-btn{display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px;background:transparent;border:none;border-radius:var(--radius-lg);color:var(--sidebar-text);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--duration-fast);text-align:left;white-space:nowrap;overflow:hidden}.sidebar-lang-btn:hover{background:var(--sidebar-item-hover);color:var(--text-primary)}.sidebar-lang-btn .nav-item-icon{font-size:var(--font-size-xl)}.sidebar-lang-menu{position:absolute;bottom:100%;left:10px;right:10px;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:6px;margin-bottom:4px;animation:langMenuIn .15s ease-out;z-index:var(--z-dropdown, 1000)}@keyframes langMenuIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.sidebar-lang-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:none;border:none;border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;text-align:left;transition:background var(--duration-fast)}.sidebar-lang-option:hover{background:var(--bg-subtle);color:var(--text-primary)}.sidebar-lang-option.active{color:var(--brand-500);background:var(--brand-50)}.mobile-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--nav-bg);border-top:1px solid var(--nav-border);z-index:1000;padding:6px 8px calc(8px + env(safe-area-inset-bottom,16px))}.mobile-nav-items{display:flex;justify-content:space-around;align-items:center}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 16px;background:none;border:none;border-radius:var(--radius-lg);color:var(--text-muted);font-size:var(--font-size-2xs);font-weight:600;cursor:pointer;transition:all var(--duration-fast);min-width:56px}.mobile-nav-item.active{color:var(--sidebar-text-active);background:var(--sidebar-item-active)}.mobile-nav-icon{font-size:var(--font-size-xl)}.mobile-games-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);z-index:998;animation:fadeInBackdrop .2s ease}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}.mobile-games-panel{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--bg-base);border-top-left-radius:20px;border-top-right-radius:20px;border-top:1px solid var(--border-default);z-index:999;transform:translateY(100%);transition:transform .3s cubic-bezier(.32,.72,0,1);max-height:70vh;overflow-y:auto;padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.mobile-games-panel.open{transform:translateY(0)}.mobile-games-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--border-default);position:sticky;top:0;background:var(--bg-base);z-index:1}.mobile-games-panel-title{font-size:var(--font-size-lg);font-weight:700;color:var(--text-primary)}.mobile-games-panel-close{width:32px;height:32px;border-radius:50%;background:var(--bg-subtle);border:none;color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;display:flex;align-items:center;justify-content:center}.mobile-games-panel-close:hover{background:var(--bg-muted)}.mobile-games-list{padding:8px 12px 16px;display:flex;flex-direction:column;gap:4px}.mobile-game-item{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;cursor:pointer;transition:all var(--duration-fast) ease;text-align:left;color:var(--text-primary)}.mobile-game-item:hover{background:var(--sidebar-item-hover);border-color:var(--card-hover-border)}.mobile-game-item.active{background:var(--sidebar-item-active);border-color:var(--border-brand)}.mobile-game-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mobile-game-icon svg{width:36px;height:36px;border-radius:10px}.mobile-game-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.mobile-game-name{font-size:var(--font-size-sm-base);font-weight:700;color:var(--text-primary)}.mobile-game-desc{font-size:var(--font-size-xs);color:var(--text-muted);font-weight:500}.mobile-game-badge{padding:4px 10px;background:var(--badge-bg);border:1px solid var(--border-default);border-radius:8px;font-size:var(--font-size-xs);font-weight:700;color:var(--badge-text);flex-shrink:0}@media (max-width: 768px){.sidebar{display:none}.mobile-bottom-nav,.mobile-games-backdrop,.mobile-games-panel{display:block}}.notification-bell-container{position:relative;display:inline-block}.notification-bell{background:transparent;border:none;border-radius:var(--radius-md, 8px);padding:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;color:var(--text-secondary);font-size:.95rem;transition:all .15s ease}.notification-bell:hover{background:var(--bg-subtle);color:var(--text-primary)}.notification-bell.has-notifications{color:#629243}.notification-bell .bell-icon{font-size:.95rem}.notification-bell.guest-bell{opacity:.5;cursor:not-allowed}.notification-bell .guest-lock{position:absolute;bottom:2px;right:2px;font-size:.5rem;color:var(--text-muted)}.notification-badge{position:absolute;top:1px;right:-2px;background:var(--error-500, #ef4444);color:#fff;font-size:9px;font-weight:700;padding:0 4px;border-radius:50%;min-width:14px;height:14px;text-align:center;border:1.5px solid var(--bg-base);line-height:14px;display:flex;align-items:center;justify-content:center}.notification-panel{position:fixed;top:56px;right:16px;width:380px;max-height:calc(100vh - 72px);max-width:calc(100vw - 32px);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-xl, 12px);box-shadow:var(--shadow-xl);z-index:9999;overflow:hidden;display:flex;flex-direction:column;animation:notifDropIn .2s ease-out}@keyframes notifDropIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.notification-panel-header{padding:20px 20px 16px;border-bottom:1px solid var(--border-default);flex-shrink:0}.notification-panel-header h3{margin:0;font-size:1.125rem;font-weight:700;color:var(--text-primary)}.notification-tabs{display:flex;background:var(--bg-subtle);border-bottom:1px solid var(--border-default)}.notification-tab{flex:1;padding:12px 10px;background:transparent;border:none;color:var(--text-tertiary);font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;position:relative}.notification-tab:hover{color:var(--text-primary);background:var(--bg-subtle)}.notification-tab.active{color:#629243;background:#6292431a}.notification-tab.active:after{content:"";position:absolute;bottom:0;left:20%;width:60%;height:2px;background:#629243}.tab-count{background:#629243;color:#fff;padding:2px 7px;border-radius:10px;font-size:11px;font-weight:700}.notification-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px}.notification-content::-webkit-scrollbar{width:5px}.notification-content::-webkit-scrollbar-track{background:var(--bg-subtle)}.notification-content::-webkit-scrollbar-thumb{background:#62924366;border-radius:3px}.notification-panel .friend-requests-list,.notification-panel .game-invitations-list{display:flex;flex-direction:column;gap:10px}.notification-panel .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.notification-panel .empty-state .empty-icon{font-size:36px;margin-bottom:10px;opacity:.5;color:var(--text-tertiary)}.notification-panel .empty-state p{margin:0;font-size:14px;color:var(--text-secondary)}.notification-panel .notification-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:var(--bg-subtle);border:1px solid var(--border-default);border-radius:10px;transform:none;opacity:1;pointer-events:auto;cursor:default;min-width:auto;max-width:none;transition:background .2s,border-color .2s}.notification-panel .notification-item:hover{background:#62924314;border-color:#62924333}.notification-panel .notification-avatar{width:42px;height:42px;min-width:42px;border-radius:50%;border:2px solid rgba(98,146,67,.3);flex-shrink:0}.notification-panel .notification-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.notification-panel .notification-username{font-weight:600;color:var(--text-primary);font-size:14px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-panel .notification-text{color:var(--text-tertiary);font-size:12px;line-height:1.4}.notification-panel .notification-time{color:var(--text-muted);font-size:11px;margin-top:2px}.notification-panel .invitation-message{color:var(--text-muted);font-size:11px;font-style:italic;margin-top:4px;padding:5px 8px;background:var(--bg-subtle);border-radius:5px;border-left:2px solid rgba(255,193,7,.5)}.notification-panel .invitation-details{display:flex;align-items:center;gap:8px;margin-top:4px}.notification-panel .room-name{color:#ffc107;font-size:11px;font-weight:500;background:#ffc1071f;padding:2px 6px;border-radius:4px}.notification-panel .time-remaining{color:var(--text-muted);font-size:10px}.notification-panel .notification-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.notification-panel .action-btn{min-width:72px;height:30px;border-radius:6px;border:none;cursor:pointer;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;padding:0 10px}.notification-panel .action-btn.accept{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff}.notification-panel .action-btn.accept:hover:not(:disabled){filter:brightness(1.1)}.notification-panel .action-btn.reject{background:var(--bg-muted);color:var(--text-secondary);border:1px solid var(--border-strong)}.notification-panel .action-btn.reject:hover:not(:disabled){background:#ff4757;color:#fff;border-color:transparent}.notification-panel .action-btn:disabled{opacity:.5;cursor:not-allowed}.notification-panel .game-invitation .action-btn.accept{background:linear-gradient(135deg,#ffc107,#ff9800);color:#1a1a2e}@media (max-width: 768px){.notification-panel{left:0;width:100%;max-width:100vw;border-right:none}}.notification-bell.guest-bell{opacity:1;cursor:pointer;position:relative}.notification-bell .guest-lock{position:absolute;bottom:-3px;right:-3px;font-size:10px;background:#000c;border-radius:50%;padding:2px}.guest-panel .guest-login-prompt{padding:30px 20px;text-align:center}.guest-login-prompt .prompt-icon{font-size:2.5rem;margin-bottom:16px;color:var(--text-muted)}.guest-login-prompt h4{margin:0 0 10px;font-size:18px;color:var(--text-primary)}.guest-login-prompt p{margin:0 0 20px;font-size:14px;color:var(--text-secondary);line-height:1.5}.guest-features{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;text-align:left}.guest-features .feature-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-subtle);border-radius:8px}.guest-features .feature-icon{font-size:18px}.guest-features .feature-item span:last-child{font-size:13px;color:var(--text-secondary)}.guest-login-prompt .login-btn{background:linear-gradient(135deg,#4285f4,#34a853);color:#fff;border:none;border-radius:8px;padding:12px 24px;font-size:14px;font-weight:600;cursor:pointer;width:100%;transition:all .2s ease}.guest-login-prompt .login-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #4285f466}.notification-section{margin-bottom:16px}.notification-section:last-child{margin-bottom:0}.section-header{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--surface-card);border-bottom:1px solid var(--border-default)}.section-icon{font-size:14px}.section-title{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.notification-item.system-notification{cursor:pointer;position:relative;padding-right:36px}.notification-item.system-notification:hover{background:var(--bg-subtle)}.notification-item.system-notification.unread{background:#62924314;border-left:3px solid #629243}.notification-icon-wrapper{width:40px;height:40px;min-width:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;background:var(--bg-muted)}.notification-item.theme-info .notification-icon-wrapper{background:#6366f133}.notification-item.theme-success .notification-icon-wrapper{background:#2ecc7133}.notification-item.theme-warning .notification-icon-wrapper{background:#ffc10733}.notification-item.theme-error .notification-icon-wrapper{background:#e74c3c33}.notification-item.theme-celebration .notification-icon-wrapper{background:linear-gradient(135deg,#9b59b64d,#3498db4d)}.notification-title{font-size:13px;font-weight:600;color:var(--text-primary);display:block;margin-bottom:2px}.notification-message{font-size:12px;color:var(--text-secondary);display:block;line-height:1.4}.dismiss-btn{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;background:var(--bg-muted);border:none;color:var(--text-muted);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.dismiss-btn:hover{background:var(--bg-muted);color:var(--text-primary)}.notification-detail{padding:16px}.notification-detail .back-btn{background:transparent;border:none;color:#629243;font-size:13px;cursor:pointer;padding:0;margin-bottom:16px;display:flex;align-items:center;gap:4px}.notification-detail .back-btn:hover{text-decoration:underline}.notification-detail .detail-header{display:flex;align-items:center;gap:12px;padding:16px;border-radius:10px;margin-bottom:16px}.notification-detail .detail-header.theme-info{background:#4fc3f726}.notification-detail .detail-header.theme-success{background:#2ecc7126}.notification-detail .detail-header.theme-warning{background:#ffc10726}.notification-detail .detail-header.theme-error{background:#e74c3c26}.notification-detail .detail-header.theme-celebration{background:linear-gradient(135deg,#9b59b633,#3498db33)}.notification-detail .detail-icon{font-size:32px}.notification-detail .detail-header h4{margin:0;font-size:16px;color:var(--text-primary)}.notification-detail .detail-content{background:var(--surface-card);border-radius:10px;padding:16px;max-height:300px;overflow-y:auto}.notification-detail .detail-text{font-size:13px;color:var(--text-secondary);line-height:1.6}.notification-detail .detail-text h1,.notification-detail .detail-text h2,.notification-detail .detail-text h3{color:var(--text-primary);margin-top:16px;margin-bottom:8px}.notification-detail .detail-text h1{font-size:18px;margin-top:0}.notification-detail .detail-text h2{font-size:15px}.notification-detail .detail-text h3{font-size:13px}.notification-detail .detail-action-btn{width:100%;margin-top:16px;padding:12px;background:linear-gradient(135deg,#769656,#629243);border:none;border-radius:8px;color:var(--text-primary);font-size:14px;font-weight:600;cursor:pointer}.notification-detail .detail-action-btn:hover{filter:brightness(1.1)}.notification-panel-header{display:flex;justify-content:space-between;align-items:center}.mark-all-read{background:transparent;border:1px solid rgba(98,146,67,.3);color:#629243;font-size:11px;padding:4px 10px;border-radius:4px;cursor:pointer}.mark-all-read:hover{background:#6292431a}.empty-state .empty-hint{font-size:12px;color:var(--text-tertiary);margin-top:8px;display:block}:root:not([data-theme=dark]) .notification-panel{background:#fff;border-color:#e0e0e0;box-shadow:0 8px 32px #0000001f,0 0 0 1px #0000000f}:root:not([data-theme=dark]) .notification-tabs{background:#f5f5f5;border-bottom-color:#e0e0e0}:root:not([data-theme=dark]) .notification-tab{color:#555}:root:not([data-theme=dark]) .notification-tab:hover{color:#333;background:#eee}:root:not([data-theme=dark]) .notification-tab.active{color:#4a7c30;background:#6292431f}:root:not([data-theme=dark]) .notification-panel .notification-item{background:#f8f8f8;border-color:#e5e5e5}:root:not([data-theme=dark]) .notification-panel .notification-item:hover{background:#f0f5eb;border-color:#c8d8b8}:root:not([data-theme=dark]) .notification-panel .notification-username{color:#1a1a1a}:root:not([data-theme=dark]) .notification-panel .notification-text,[data-theme=light] .notification-panel .notification-text{color:#444!important}:root:not([data-theme=dark]) .notification-panel .notification-time,[data-theme=light] .notification-panel .notification-time{color:#777!important}:root:not([data-theme=dark]) .notification-panel .empty-state p,[data-theme=light] .notification-panel .empty-state p{color:#444!important}:root:not([data-theme=dark]) .notification-panel .empty-state .empty-hint,[data-theme=light] .notification-panel .empty-state .empty-hint{color:#666!important}:root:not([data-theme=dark]) .notification-panel .empty-state .empty-icon,[data-theme=light] .notification-panel .empty-state .empty-icon{color:#888!important;opacity:.7}:root:not([data-theme=dark]) .section-title,[data-theme=light] .section-title{color:#555!important}:root:not([data-theme=dark]) .section-icon,[data-theme=light] .section-icon{color:#444!important}:root:not([data-theme=dark]) .notification-panel-header h3,[data-theme=light] .notification-panel-header h3{color:#1a1a1a!important}:root:not([data-theme=dark]) .notification-title,[data-theme=light] .notification-title{color:#1a1a1a!important}:root:not([data-theme=dark]) .notification-message,[data-theme=light] .notification-message{color:#444!important}:root:not([data-theme=dark]) .section-header{background:#fafafa;border-bottom-color:#e5e5e5}:root:not([data-theme=dark]) .notification-item.system-notification.unread{background:#6292430f;border-left-color:#629243}:root:not([data-theme=dark]) .notification-detail .detail-action-btn,[data-theme=light] .notification-detail .detail-action-btn{color:#fff!important}:root:not([data-theme=dark]) .notification-detail .detail-text,[data-theme=light] .notification-detail .detail-text{color:#333!important}:root:not([data-theme=dark]) .notification-detail .detail-header h4,[data-theme=light] .notification-detail .detail-header h4{color:#1a1a1a!important}.top-navbar{position:fixed;top:0;left:var(--sidebar-current-width, 68px);right:0;height:56px;background:var(--nav-bg);border-bottom:1px solid var(--border-default);display:flex;align-items:center;justify-content:flex-end;padding:0 20px;z-index:var(--z-sticky, 1020);transition:left var(--duration-slow) var(--ease-default),background var(--duration-slow) var(--ease-default);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@media (min-width: 1201px){.top-navbar{padding-right:180px}}.topnav-right{display:flex;align-items:center;gap:8px}.topnav-icon-btn{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-secondary);font-size:var(--font-size-base);cursor:pointer;transition:all var(--duration-fast)}.topnav-icon-btn:hover{background:var(--bg-subtle);color:var(--text-primary)}.topnav-lang-flag{font-size:var(--font-size-xl);line-height:1}.topnav-theme-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-subtle);border:1px solid var(--border-default);border-radius:var(--radius-lg);cursor:pointer;color:var(--text-secondary);font-size:1rem;transition:all var(--duration-fast)}.topnav-theme-btn:hover{background:var(--bg-muted);color:var(--text-primary);border-color:var(--border-strong);transform:scale(1.05)}.topnav-notif{display:flex;align-items:center}.topnav-profile-btn{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;background:transparent;border:1px solid transparent;border-radius:var(--radius-full);cursor:pointer;transition:all var(--duration-fast);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:600;white-space:nowrap}.topnav-profile-btn:hover{background:var(--bg-subtle);border-color:var(--border-default)}.topnav-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid var(--border-default)}.topnav-username{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topnav-guest-tag{font-size:.6rem;background:#76965626;color:#769656;padding:1px 6px;border-radius:4px;font-weight:600;letter-spacing:.02em;white-space:nowrap}.topnav-caret{font-size:var(--font-size-2xs);transition:transform .2s;color:var(--text-muted)}.topnav-caret.open{transform:rotate(180deg)}.topnav-login-btn{display:flex;align-items:center;gap:6px;padding:8px 18px;background:var(--gradient-brand);color:#fff;border:none;border-radius:var(--radius-full);font-size:var(--font-size-xs-sm);font-weight:700;cursor:pointer;transition:all .2s}.topnav-login-btn:hover{box-shadow:0 4px 14px #76965666;transform:translateY(-1px)}.topnav-dropdown{position:relative}.topnav-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:6px;animation:topnavDropIn .15s ease-out;z-index:var(--z-dropdown, 1000)}@keyframes topnavDropIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.topnav-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:none;border:none;border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;text-align:left;transition:background var(--duration-fast)}.topnav-dropdown-item:hover{background:var(--bg-subtle);color:var(--text-primary)}.topnav-dropdown-item.active{color:var(--brand-500);background:var(--brand-50)}.topnav-dropdown-divider{height:1px;background:var(--border-default);margin:4px 8px}.topnav-logout{color:var(--error-500)}.topnav-logout:hover{background:var(--error-50);color:var(--error-600)}.topnav-locked{opacity:.5;cursor:not-allowed!important;position:relative}.topnav-lock-icon{margin-left:auto;font-size:.65rem;color:var(--text-muted)}.topnav-guest-tag-inline{font-size:.65rem;background:#76965626;color:#769656;padding:1px 6px;border-radius:4px;font-weight:600;display:inline-block;margin-top:2px}.topnav-login-item{color:#769656!important;font-weight:600!important}.topnav-login-item:hover{background:#7696561a!important;color:#629243!important}.topnav-profile-menu{min-width:220px}.topnav-profile-header{display:flex;align-items:center;gap:10px;padding:10px 12px}.topnav-profile-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid var(--border-default)}.topnav-profile-name{font-size:var(--font-size-sm-base);font-weight:700;color:var(--text-primary)}.topnav-lang-menu{min-width:150px}@media (max-width: 768px){.top-navbar{left:0;padding:0 12px}.topnav-username,.topnav-login-btn span{display:none}}.login-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:99999;animation:backdropFadeIn .3s ease-out;padding:20px}.login-modal{background:var(--card-bg);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border:1px solid var(--card-border);border-radius:24px;max-width:480px;width:100%;max-height:90vh;overflow:hidden;box-shadow:var(--shadow-xl);animation:modalSlideIn .4s cubic-bezier(.25,.46,.45,.94);position:relative}.login-modal:before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;background:linear-gradient(45deg,#ffffff4d,#ffffff1a);border-radius:24px;z-index:-1;opacity:.6}.modal-close-btn{position:absolute;top:16px;right:16px;background:var(--bg-subtle);border:1px solid var(--border-default);border-radius:10px;width:36px;height:36px;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);font-size:18px;font-weight:400;line-height:1;font-family:Arial,sans-serif;text-align:center;padding:0;margin:0;transition:all .3s ease;z-index:1}.modal-close-btn:hover{background:var(--bg-muted);border-color:var(--border-strong);color:var(--text-primary);transform:rotate(90deg) scale(1.1)}.login-modal-content{padding:48px 40px 40px}.login-modal-header{text-align:center;margin-bottom:32px}.login-modal-header h2{color:var(--text-primary);margin:0 0 12px;font-size:28px;font-weight:800;letter-spacing:-.5px;background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.login-modal-header p{color:var(--text-secondary);margin:0;font-size:16px;line-height:1.5;font-weight:500}.login-modal-body{display:flex;flex-direction:column;gap:32px}.google-login-btn{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;padding:16px 28px;background:#fffffff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);border-radius:16px;font-size:16px;font-weight:600;color:#374151;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);position:relative;overflow:hidden;box-shadow:0 4px 16px #0000001a,inset 0 1px #fff9}.google-login-btn:hover{border-color:#4285f480;box-shadow:0 8px 32px #4285f433,0 4px 16px #0000001a,inset 0 1px #fffc;transform:translateY(-3px) scale(1.02);background:#fffffffa}.google-login-btn:active{transform:translateY(-1px) scale(1.01);transition:all .1s}.login-features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);border-radius:12px;transition:all .3s ease;cursor:default}.feature:hover{background:#ffffff26;border-color:#ffffff40;transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.feature-icon{font-size:24px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));animation:float 3s ease-in-out infinite}.feature span:last-child{color:#ffffffe6;font-size:12px;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.2);text-align:center;line-height:1.3}@media (max-width: 768px){.login-modal-backdrop{padding:16px}.login-modal{max-width:100%;border-radius:20px}.login-modal-content{padding:40px 32px 32px}.login-modal-header h2{font-size:24px}.google-login-btn{padding:14px 24px;font-size:15px}.modal-close-btn{top:16px;right:16px;width:36px;height:36px}}@media (max-width: 480px){.login-modal-backdrop{padding:12px}.login-modal{border-radius:16px}.login-modal-content{padding:32px 24px 28px}.login-modal-header{margin-bottom:28px}.login-modal-header h2{font-size:22px;margin-bottom:8px}.login-modal-header p{font-size:15px}.login-modal-body{gap:24px}.google-login-btn{padding:14px 20px;font-size:14px;gap:12px}.login-features{grid-template-columns:1fr;gap:12px}.feature{flex-direction:row;justify-content:flex-start;text-align:left;padding:12px 16px;gap:12px}.feature-icon{font-size:20px;flex-shrink:0}.feature span:last-child{font-size:13px;text-align:left}.modal-close-btn{top:12px;right:12px;width:32px;height:32px}.modal-close-btn{font-size:16px}}@media (max-width: 360px){.login-modal-content{padding:28px 20px 24px}.login-modal-header h2{font-size:20px}}.splash-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;overflow:hidden;animation:splashFadeIn .6s ease-out}.splash-screen.splash-exit{animation:splashFadeOut .6s ease-in forwards}.splash-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 50%,rgba(118,150,86,.15) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(74,222,128,.08) 0%,transparent 50%),linear-gradient(160deg,#1a1a2e,#16213e 40%,#0f3460);z-index:0}.splash-showcase{flex:1;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;padding:48px}.splash-device-frame{position:relative;width:100%;max-width:720px;aspect-ratio:4 / 3;border-radius:16px;overflow:hidden;background:#0d0d1a;box-shadow:0 0 0 3px #7696564d,0 25px 80px #0009,0 0 120px #76965614}.splash-screenshot{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transform:scale(1.02) translate(40px);transition:all .5s cubic-bezier(.4,0,.2,1);pointer-events:none}.splash-screenshot.active{opacity:1;transform:scale(1) translate(0)}.splash-screenshot.exit-left{opacity:0;transform:scale(.98) translate(-40px)}.splash-screenshot.exit-right{opacity:0;transform:scale(1.02) translate(40px)}.splash-screenshot img{width:100%;height:100%;object-fit:cover;-webkit-user-select:none;user-select:none}.splash-content{flex:0 0 420px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:48px 40px;position:relative;z-index:2;gap:32px;text-align:center}.splash-brand{display:flex;align-items:center;gap:14px}.splash-logo{width:56px;height:56px;border-radius:14px;filter:drop-shadow(0 4px 20px rgba(118,150,86,.5))}.splash-brand-name{font-size:1.5rem;font-weight:900;background:linear-gradient(135deg,#dcfce7,#4ade80,#769656);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.splash-text-area{display:flex;flex-direction:column;gap:12px;min-height:120px;justify-content:center}.splash-title{font-size:1.75rem;font-weight:900;color:#fff;margin:0;line-height:1.2;animation:textSlideUp .4s ease-out}.splash-tagline{font-size:1rem;color:#ffffff8c;font-weight:500;line-height:1.5;margin:0;max-width:340px;animation:textSlideUp .4s ease-out .05s both}.splash-dots{display:flex;gap:10px;justify-content:center}.splash-dot{width:12px;height:12px;border-radius:50%;background:#fff3;border:2px solid rgba(255,255,255,.15);padding:0;cursor:pointer;transition:all .3s ease}.splash-dot:hover{background:#ffffff59;transform:scale(1.15)}.splash-dot.active{background:#4ade80;border-color:#4ade80;transform:scale(1.3);box-shadow:0 0 14px #4ade8080}.splash-dot.done{background:#76965699;border-color:#76965699}.splash-controls{display:flex;gap:16px;width:100%;max-width:340px}.splash-nav-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;border-radius:14px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .25s ease;border:none;letter-spacing:.02em}.splash-prev{background:#ffffff14;color:#ffffffb3;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.splash-prev:hover:not(:disabled){background:#ffffff26;color:#fff}.splash-prev:disabled{opacity:.25;cursor:not-allowed}.splash-next{background:linear-gradient(135deg,#769656,#4ade80);color:#fff;box-shadow:0 4px 20px #76965659}.splash-next:hover{background:linear-gradient(135deg,#629243,#3bce6e);box-shadow:0 6px 28px #76965680;transform:translateY(-2px)}.splash-skip{position:absolute;top:28px;right:28px;z-index:10;display:flex;align-items:center;gap:8px;padding:10px 22px;background:#ffffff0f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:999px;color:#ffffff80;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .25s ease;letter-spacing:.02em}.splash-skip:hover{background:#ffffff1f;color:#ffffffd9;border-color:#fff3}.splash-progress{position:absolute;bottom:0;left:0;right:0;height:4px;background:#ffffff0f;z-index:10}.splash-progress-fill{height:100%;background:linear-gradient(90deg,#769656,#4ade80);transition:width .45s cubic-bezier(.4,0,.2,1);border-radius:0 2px 2px 0;box-shadow:0 0 12px #4ade804d}@keyframes splashFadeIn{0%{opacity:0}to{opacity:1}}@keyframes splashFadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.05)}}@keyframes textSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1024px){.splash-screen{flex-direction:column}.splash-showcase{flex:0 0 auto;padding:24px 32px 8px}.splash-device-frame{max-width:560px;aspect-ratio:4 / 3}.splash-content{flex:1;padding:16px 32px 36px;gap:20px}.splash-title{font-size:1.5rem}.splash-tagline{font-size:.9375rem}}@media (max-width: 768px){.splash-screen{flex-direction:column;overflow:hidden;height:100vh;height:100svh}.splash-showcase{flex:1 1 0;min-height:0;overflow:hidden;padding:12px 18px 8px;display:flex;align-items:center;justify-content:center;z-index:1}.splash-device-frame{height:100%;width:auto;max-height:calc(100svh - 320px);max-width:min(86vw,360px);aspect-ratio:369 / 664;border-radius:18px;box-shadow:0 0 0 2px #76965666,0 0 0 4px #ffffff0a,0 12px 40px #0000008c,0 0 60px #7696561a;background:#0d0d1a}.splash-screenshot img{object-fit:contain;object-position:center top;background:#0d0d1a}.splash-device-frame:after{display:none}.splash-content{flex:0 0 auto;position:relative;z-index:2;padding:8px 28px max(84px,calc(env(safe-area-inset-bottom) + 16px));gap:10px;justify-content:flex-start}.splash-brand{gap:10px}.splash-logo{width:34px;height:34px;border-radius:9px}.splash-brand-name{font-size:1.05rem}.splash-text-area{min-height:72px;gap:2px}.splash-title{font-size:1.15rem;margin-bottom:0}.splash-tagline{font-size:.8rem;max-width:100%;color:#fff9;line-height:1.4}.splash-dots{gap:8px;margin:2px 0}.splash-dot{width:8px;height:8px}.splash-controls{max-width:100%;width:100%;gap:12px}.splash-nav-btn{padding:11px 16px;font-size:.875rem;border-radius:12px}.splash-skip{top:10px;right:10px;padding:6px 12px;font-size:.72rem;z-index:3}.splash-progress{height:3px;position:absolute;bottom:0;top:auto}}@media (max-width: 414px){.splash-showcase{padding:10px 14px 6px}.splash-device-frame{max-height:calc(100svh - 300px);max-width:min(84vw,320px)}.splash-content{padding:6px 20px max(80px,calc(env(safe-area-inset-bottom) + 12px));gap:7px}.splash-title{font-size:1rem}.splash-tagline{font-size:.74rem}.splash-nav-btn{padding:10px 14px;font-size:.84rem}}@media (max-width: 375px){.splash-showcase{padding:8px 12px 4px}.splash-device-frame{max-height:calc(100svh - 288px);max-width:min(82vw,300px)}.splash-content{padding:4px 16px max(74px,calc(env(safe-area-inset-bottom) + 10px));gap:6px}.splash-title{font-size:.95rem}.splash-tagline{font-size:.7rem}.splash-nav-btn{padding:9px 12px;font-size:.8rem}}.ad-container.ad-sidebar{width:160px;min-height:600px;flex-shrink:0;display:flex;align-items:flex-start;justify-content:center;padding:16px 8px}.ad-container.ad-bottom{width:100%;min-height:90px;display:flex;align-items:center;justify-content:center;border-top:1px solid var(--border-default);padding:8px;flex-shrink:0}.ad-container.ad-banner{width:100%;min-height:90px;display:flex;align-items:center;justify-content:center;margin:16px 0}.ad-placeholder{display:flex;align-items:center;justify-content:center;background:var(--bg-subtle);border:1px dashed var(--border-default);border-radius:var(--radius-md);color:var(--text-muted);font-size:1.5rem;width:100%;height:100%;min-height:inherit;opacity:.3}@media (max-width: 1200px){.ad-container.ad-sidebar{display:none}}@media (max-width: 768px){.ad-container.ad-bottom{min-height:60px}}.app-layout{display:flex;height:100vh;overflow:hidden;background:var(--bg-base)}.app-main{flex:1;margin-left:68px;margin-top:56px;height:calc(100vh - 56px);overflow-y:auto;background:var(--bg-surface);position:relative;display:flex;flex-direction:column}.app-layout.in-room .app-main,.app-main.no-topnav{margin-top:0;height:100vh}.app-layout.in-room .ad-bottom{display:none!important}.app-layout.in-room .app-content-center{overflow:hidden}.app-content-area{flex:1;display:flex;min-height:0}.app-content-center{flex:1;min-width:0;overflow-y:auto}@media (max-width: 768px){.app-main{margin-left:0;padding-bottom:calc(80px + env(safe-area-inset-bottom,16px))}.app-layout.in-room{height:auto;min-height:100vh;overflow:visible}.app-layout.in-room .app-main.no-topnav{height:auto;min-height:100vh;overflow-y:visible}.app-layout.in-room .app-content-area,.app-layout.in-room .app-content-center{overflow-y:visible}}.landing{max-width:1100px;margin:0 auto;padding:24px 32px 80px;font-family:var(--font-sans)}.lp-hero{display:flex;align-items:center;gap:16px;padding:20px 24px;margin-bottom:24px;background:var(--gradient-brand);border-radius:var(--radius-2xl);color:#fff;position:relative;overflow:hidden}.lp-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 85% 20%,rgba(250,204,21,.2),transparent 50%),radial-gradient(circle at 15% 80%,rgba(34,211,238,.15),transparent 50%);pointer-events:none}.lp-hero-logo{width:48px;height:48px;border-radius:12px;position:relative;z-index:1}.lp-hero-text{flex:1;position:relative;z-index:1}.lp-hero-text h1{font-size:1.25rem;font-weight:800;color:#fff;margin:0}.lp-hero-text p{font-size:.8125rem;color:#ffffffb3;margin:2px 0 0}.lp-hero-stats{display:flex;gap:12px;position:relative;z-index:1}.lp-hero-stat{display:flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:600;color:#ffffffd9;background:#ffffff1f;padding:4px 12px;border-radius:var(--radius-full)}.lp-hero-stat i{font-size:.75rem}.lp-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.lp-section-header h2{font-size:1.25rem;font-weight:800;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:8px}.lp-section-header h2 i{color:var(--accent-orange)}.lp-game-count{font-size:.8125rem;color:var(--text-muted);font-weight:600}.lp-games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:40px}.lp-game-card{--card-accent: #769656;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);overflow:hidden;cursor:pointer;transition:all .3s var(--ease-default);box-shadow:var(--shadow-sm);position:relative}.lp-game-card:hover{border-color:var(--card-accent);box-shadow:0 12px 36px color-mix(in srgb,var(--card-accent) 30%,transparent);transform:translateY(-6px)}.lp-card-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center top;opacity:.25;transition:opacity .4s ease,transform .5s ease;z-index:0;pointer-events:none}.lp-game-card:hover .lp-card-bg{opacity:.45;transform:scale(1.06)}.lp-card-visual{display:flex;align-items:center;justify-content:flex-start;padding:14px 14px 8px;position:relative;z-index:1;min-height:80px}.lp-card-visual svg{filter:drop-shadow(0 2px 8px rgba(0,0,0,.4))}.lp-card-body{padding:12px 14px 16px;position:relative;z-index:1}.lp-card-title{font-size:.9375rem;font-weight:700;color:var(--text-primary);margin:0 0 4px}.lp-card-desc{font-size:.75rem;color:var(--text-tertiary);line-height:1.4;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lp-card-meta{display:flex;gap:6px;position:relative;z-index:1}.lp-card-tag{display:flex;align-items:center;gap:4px;padding:2px 8px;background:var(--bg-subtle);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:.6875rem;font-weight:600;color:var(--text-secondary)}.lp-card-tag i{font-size:.625rem}.lp-card-accent-bar{height:3px;background:var(--card-accent);opacity:0;transition:opacity .25s;position:relative;z-index:1}.lp-game-card:hover .lp-card-accent-bar{opacity:1}.lp-features-strip{display:flex;justify-content:center;gap:32px;padding:20px 0;border-top:1px solid var(--border-default);flex-wrap:wrap}.lp-feature-item{--fi-color: var(--brand-400);display:flex;align-items:center;gap:8px;font-size:.8125rem;font-weight:600;color:var(--text-tertiary)}.lp-feature-item i{font-size:.875rem;color:var(--fi-color)}@media (max-width: 768px){.landing{padding:12px 16px 60px}.lp-hero{flex-wrap:wrap;padding:16px}.lp-hero-stats{width:100%;margin-top:4px}.lp-games-grid{grid-template-columns:repeat(2,1fr);gap:12px}.lp-card-visual{padding:10px 10px 6px;min-height:60px}.lp-card-desc{display:none}.lp-features-strip{gap:16px;flex-direction:column;align-items:center}}@media (max-width: 480px){.lp-games-grid{grid-template-columns:repeat(2,1fr);gap:10px}.lp-card-body{padding:8px 10px 12px}.lp-card-title{font-size:.8125rem}.lp-features-strip{flex-direction:column;align-items:center}}.settings-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1050;display:flex;align-items:center;justify-content:center;animation:settingsModalFadeIn .15s ease}.settings-modal-container{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-2xl, 16px);box-shadow:0 24px 48px #0003;width:100%;max-width:640px;max-height:85vh;margin:16px;display:flex;flex-direction:column;overflow:hidden;animation:settingsModalSlideIn .2s ease-out}.settings-modal-header{padding:20px 24px 0;flex-shrink:0}.settings-modal-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.settings-modal-title-row h2{margin:0;font-size:1.25rem;font-weight:700;color:var(--text-primary)}.settings-modal-close{width:32px;height:32px;border-radius:var(--radius-md, 8px);display:flex;align-items:center;justify-content:center;background:var(--bg-subtle);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;transition:all .15s;font-size:1rem}.settings-modal-close:hover{background:var(--bg-muted);color:var(--text-primary)}.settings-modal-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border-default);padding-bottom:0}.settings-modal-tab{display:flex;align-items:center;gap:6px;padding:10px 16px;border:none;background:none;color:var(--text-secondary);font-size:.8125rem;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s;margin-bottom:-1px}.settings-modal-tab:hover{color:var(--text-primary);background:var(--bg-subtle);border-radius:var(--radius-md, 8px) var(--radius-md, 8px) 0 0}.settings-modal-tab.active{color:var(--brand-500);border-bottom-color:var(--brand-500)}.settings-modal-tab .tab-icon{font-size:1rem}.settings-modal-body{flex:1;overflow-y:auto;padding:20px 24px 24px}.settings-modal-content{min-height:200px}.settings-modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:12px}.settings-modal-spinner{width:32px;height:32px;border:3px solid var(--border-default);border-top-color:var(--brand-500);border-radius:50%;animation:spin 1s linear infinite}.settings-modal-loading p{font-size:.85rem;color:var(--text-muted);margin:0}.settings-modal-error{padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-lg, 12px);color:var(--error-500, #ef4444);font-size:.85rem;margin-bottom:16px}@keyframes settingsModalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes settingsModalSlideIn{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 640px){.settings-modal-container{max-height:95vh;border-radius:var(--radius-xl, 12px) var(--radius-xl, 12px) 0 0;margin:auto 0 0}.settings-modal-tab{flex:1;justify-content:center;padding:8px;font-size:.75rem}.settings-modal-tab .tab-label{display:none}.settings-modal-tab .tab-icon{font-size:1.25rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:backdropFadeIn .3s ease-out;padding:20px}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}.confirm-modal{background:var(--bg-muted);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border:1px solid var(--border-strong);border-radius:24px;max-width:420px;width:100%;max-height:90vh;overflow:hidden;box-shadow:0 25px 50px #0000004d,0 8px 32px #0003,inset 0 1px #ffffff4d;animation:modalSlideIn .4s cubic-bezier(.25,.46,.45,.94);position:relative}.confirm-modal:before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;background:linear-gradient(45deg,#ffffff4d,#ffffff1a);border-radius:24px;z-index:-1;opacity:.6}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(40px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-close-btn{position:absolute;top:16px;right:16px;background:var(--bg-muted);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-strong);border-radius:10px;width:36px;height:36px;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-primary);font-size:18px;font-weight:400;line-height:1;font-family:Arial,sans-serif;text-align:center;padding:0;margin:0;transition:all .3s ease;z-index:1}.modal-close-btn:hover{background:var(--bg-muted);border-color:var(--border-strong);color:#fff;transform:rotate(90deg) scale(1.1)}.modal-header{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px 32px 24px;text-align:center}.modal-icon{font-size:60px;animation:iconFloat .8s ease-out;filter:drop-shadow(0 4px 12px rgba(0,0,0,.3));text-shadow:0 0 20px rgba(255,255,255,.5)}@keyframes iconFloat{0%{opacity:0;transform:translateY(-30px) scale(.5)}60%{transform:translateY(8px) scale(1.15)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-title{margin:0;font-size:26px;font-weight:800;color:var(--text-primary);text-shadow:0 2px 8px rgba(0,0,0,.4);letter-spacing:-.5px;background:linear-gradient(135deg,#fff,#dcfce7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2;animation:titleSlideIn .5s ease-out .2s both}@keyframes titleSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-body{padding:0 32px 24px;animation:bodyFadeIn .5s ease-out .3s both}@keyframes bodyFadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.modal-message{font-size:17px;line-height:1.6;color:var(--text-primary);text-align:center;margin:0 0 24px;font-weight:500;text-shadow:0 1px 4px rgba(0,0,0,.3)}.player-info-modal{display:flex;justify-content:center;margin-top:16px}.player-preview{display:flex;align-items:center;gap:14px;padding:16px 24px;background:var(--bg-muted);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.25);border-radius:16px;box-shadow:0 4px 16px #0000001a,inset 0 1px #ffffff4d;transition:all .3s ease}.player-preview:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000026,inset 0 1px #fff6}.player-avatar-mini{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#629243,#769656);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px;box-shadow:0 4px 12px #667eea66,inset 0 1px #ffffff4d;border:2px solid var(--border-strong)}.player-name-modal{font-weight:600;color:var(--text-primary);font-size:16px;text-shadow:0 1px 3px rgba(0,0,0,.3)}.modal-footer{display:flex;gap:16px;padding:24px 32px 40px;justify-content:center;animation:footerSlideIn .5s ease-out .4s both}@keyframes footerSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.cancel-btn,.confirm-btn{padding:16px 32px;border:none;border-radius:16px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);min-width:140px;position:relative;overflow:hidden;box-shadow:0 4px 16px #0000001a,inset 0 1px #fff3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.cancel-btn{background:var(--bg-muted);color:var(--text-primary);border:1px solid rgba(255,255,255,.25);text-shadow:0 1px 3px rgba(0,0,0,.3)}.cancel-btn:hover{background:#ffffff40;color:#fff;border-color:var(--border-strong);transform:translateY(-3px) scale(1.02);box-shadow:0 8px 24px #fff3,0 4px 16px #0000001a,inset 0 1px #ffffff4d}.confirm-btn{color:#fff;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.2)}.confirm-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.confirm-btn:hover:before{left:100%}.confirm-btn.warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:1px solid var(--border-strong);box-shadow:0 4px 16px #f59e0b66,inset 0 1px #ffffff4d;text-shadow:0 1px 3px rgba(0,0,0,.3)}.confirm-btn.warning:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-3px) scale(1.02);box-shadow:0 8px 32px #f59e0b80,0 4px 16px #0000001a,inset 0 1px #fff6}.confirm-btn.danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:1px solid var(--border-strong);box-shadow:0 4px 16px #ef444466,inset 0 1px #ffffff4d;text-shadow:0 1px 3px rgba(0,0,0,.3)}.confirm-btn.danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-3px) scale(1.02);box-shadow:0 8px 32px #ef444480,0 4px 16px #0000001a,inset 0 1px #fff6}.confirm-btn.info{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:1px solid var(--border-strong);box-shadow:0 4px 16px #3b82f666,inset 0 1px #ffffff4d;text-shadow:0 1px 3px rgba(0,0,0,.3)}.confirm-btn.info:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-3px) scale(1.02);box-shadow:0 8px 32px #3b82f680,0 4px 16px #0000001a,inset 0 1px #fff6}@media (max-width: 768px){.modal-overlay{padding:16px}.confirm-modal{max-width:100%;border-radius:20px}.modal-header{padding:36px 28px 20px}.modal-body{padding:0 28px 20px}.modal-footer{padding:20px 28px 32px;flex-direction:column;gap:12px}.cancel-btn,.confirm-btn{width:100%;min-width:auto;padding:14px 24px;font-size:15px}.modal-title{font-size:22px}.modal-icon{font-size:50px}.modal-close-btn{top:16px;right:16px;width:36px;height:36px}}@media (max-width: 480px){.modal-overlay{padding:12px}.confirm-modal{border-radius:16px}.modal-header{padding:32px 24px 16px}.modal-body{padding:0 24px 16px}.modal-footer{padding:16px 24px 28px}.modal-title{font-size:20px}.modal-message{font-size:15px}.modal-icon{font-size:44px}.modal-close-btn{top:12px;right:12px;width:32px;height:32px;font-size:16px}}.afm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.afm-modal{background:var(--surface-card);border:1px solid var(--border-default);border-radius:16px;width:100%;max-width:400px;max-height:80vh;overflow:hidden;box-shadow:0 16px 48px #00000040;display:flex;flex-direction:column;animation:afmSlideIn .2s ease-out}@keyframes afmSlideIn{0%{opacity:0;transform:translateY(-12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.afm-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px 20px;border-bottom:1px solid var(--border-default);flex-shrink:0}.afm-header-left{display:flex;align-items:center;gap:10px;min-width:0}.afm-header-icon{width:36px;height:36px;border-radius:10px;background:#7696561f;display:flex;align-items:center;justify-content:center;flex-shrink:0}.afm-header-icon i{color:#769656;font-size:.9rem}.afm-header-title{min-width:0}.afm-header-title h2{margin:0;font-size:.95rem;font-weight:700;color:var(--text-primary);line-height:1.3}.afm-header-title p{margin:2px 0 0;color:var(--text-muted);font-size:.72rem}.afm-close{background:var(--bg-muted);border:none;color:var(--text-secondary);width:32px;height:32px;border-radius:50%;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.afm-close:hover{background:#ef44441f;color:#ef4444}.afm-search{padding:14px 20px 10px;flex-shrink:0}.afm-search-wrap{position:relative;display:flex;align-items:center}.afm-search-wrap .afm-search-icon{position:absolute;left:12px;font-size:13px;color:var(--text-muted);pointer-events:none}.afm-search-wrap input{width:100%;padding:10px 36px;background:var(--bg-subtle);border:1.5px solid var(--border-default);border-radius:10px;color:var(--text-primary);font-size:.85rem;outline:none;transition:border-color .2s,box-shadow .2s}.afm-search-wrap input::placeholder{color:var(--text-muted)}.afm-search-wrap input:focus{border-color:#769656;box-shadow:0 0 0 3px #7696561a}.afm-search-clear{position:absolute;right:8px;background:var(--bg-muted);border:none;color:var(--text-muted);width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:10px;display:flex;align-items:center;justify-content:center}.afm-search-clear:hover{color:var(--text-primary)}.afm-search-hint{margin:6px 0 0;font-size:.7rem;color:var(--text-muted);text-align:center}.afm-msg{margin:0 20px 10px;padding:8px 12px;border-radius:8px;display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:500}.afm-msg.success{background:#34d3991a;color:#34d399;border:1px solid rgba(52,211,153,.2)}.afm-msg.error{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.afm-results{flex:1;overflow-y:auto;padding:4px 12px 16px;min-height:140px;max-height:320px}.afm-results::-webkit-scrollbar{width:4px}.afm-results::-webkit-scrollbar-track{background:transparent}.afm-results::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:2px}.afm-loading{display:flex;flex-direction:column;align-items:center;padding:36px 20px;color:var(--text-muted)}.afm-spinner{width:24px;height:24px;border:2.5px solid var(--border-default);border-top-color:#769656;border-radius:50%;animation:afmSpin .8s linear infinite;margin-bottom:8px}@keyframes afmSpin{to{transform:rotate(360deg)}}.afm-empty{display:flex;flex-direction:column;align-items:center;padding:36px 20px;color:var(--text-tertiary)}.afm-empty i{font-size:1.5rem;margin-bottom:8px;opacity:.4}.afm-empty p{margin:0;font-size:.8rem;color:var(--text-secondary)}.afm-user{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--bg-subtle);border:1px solid var(--border-default);border-radius:10px;margin-bottom:6px;transition:background .15s,border-color .15s}.afm-user:hover{background:var(--bg-muted);border-color:#76965633}.afm-user .afm-avatar{width:34px;height:34px;border-radius:50%;flex-shrink:0;border:2px solid var(--border-default)}.afm-user-info{flex:1;min-width:0}.afm-username{display:block;font-weight:600;color:var(--text-primary);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.afm-status{display:block;font-size:.68rem}.afm-status.online{color:#34d399}.afm-status.offline{color:var(--text-muted)}.afm-btn{padding:5px 12px;border-radius:8px;border:none;font-size:.73rem;font-weight:600;cursor:pointer;transition:all .15s;flex-shrink:0}.afm-btn.add{background:#769656;color:#fff}.afm-btn.add:hover:not(:disabled){background:#629243}.afm-btn.pending{background:#fbbf241f;color:#f59e0b}.afm-btn.friend{background:#34d3991f;color:#34d399}.afm-btn.blocked,.afm-btn.disabled,.afm-btn.sending{background:var(--bg-muted);color:var(--text-muted)}.afm-btn:disabled{cursor:not-allowed;opacity:.7}.afm-modal.afm-guest{text-align:center;padding:32px 24px}.afm-guest-content{display:flex;flex-direction:column;align-items:center}.afm-guest-content .afm-guest-icon{font-size:1.5rem;margin-bottom:12px;color:var(--text-muted)}.afm-guest-content h2{margin:0 0 6px;font-size:1rem;color:var(--text-primary)}.afm-guest-content p{margin:0;color:var(--text-muted);font-size:.8rem;line-height:1.5}@media (max-width: 480px){.afm-modal{max-width:100%;margin:16px;border-radius:14px}.afm-header{padding:14px 14px 10px 16px}.afm-search{padding:10px 16px 8px}.afm-results{padding:4px 10px 12px}}:root:not([data-theme=dark]) .afm-modal{background:#fff;border-color:#e5e5e5;box-shadow:0 16px 48px #0000001a}:root:not([data-theme=dark]) .afm-header{border-bottom-color:#eee}:root:not([data-theme=dark]) .afm-close{background:#f0f0f0;color:#666}:root:not([data-theme=dark]) .afm-close:hover{background:#ef444414;color:#ef4444}:root:not([data-theme=dark]) .afm-header-title h2{color:#1a1a1a}:root:not([data-theme=dark]) .afm-header-title p{color:#888}:root:not([data-theme=dark]) .afm-search-wrap input{background:#f5f5f5;border-color:#ddd;color:#1a1a1a}:root:not([data-theme=dark]) .afm-search-wrap input::placeholder{color:#999}:root:not([data-theme=dark]) .afm-search-wrap input:focus{background:#fff;border-color:#769656}:root:not([data-theme=dark]) .afm-search-icon{color:#999!important}:root:not([data-theme=dark]) .afm-search-clear{background:#e8e8e8;color:#888}:root:not([data-theme=dark]) .afm-user{background:#f8f8f8;border-color:#eee}:root:not([data-theme=dark]) .afm-user:hover{background:#f0f5eb;border-color:#c8d8b8}:root:not([data-theme=dark]) .afm-username{color:#1a1a1a}:root:not([data-theme=dark]) .afm-status.offline{color:#999}:root:not([data-theme=dark]) .afm-avatar{border-color:#e0e0e0!important}:root:not([data-theme=dark]) .afm-empty p{color:#555}:root:not([data-theme=dark]) .afm-empty i{color:#999}:root:not([data-theme=dark]) .afm-loading{color:#888}:root:not([data-theme=dark]) .afm-search-hint{color:#999}:root:not([data-theme=dark]) .afm-guest-content h2{color:#1a1a1a}:root:not([data-theme=dark]) .afm-guest-content p{color:#666}:root:not([data-theme=dark]) .add-friend-modal .guest-content h2{color:#1a1a1a}:root:not([data-theme=dark]) .add-friend-modal .guest-content p{color:#666}:root:not([data-theme=dark]) .add-friend-modal .guest-icon{color:#999}.profile-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1050;display:flex;align-items:center;justify-content:center;animation:profileModalFadeIn .15s ease}.profile-modal-container{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-2xl, 16px);box-shadow:0 24px 48px #0003;width:100%;max-width:640px;max-height:85vh;margin:16px;display:flex;flex-direction:column;overflow:hidden;animation:profileModalSlideIn .2s ease-out}.profile-modal-header{padding:20px 24px 0;flex-shrink:0}.profile-modal-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.profile-modal-title-row h2{margin:0;font-size:1.25rem;font-weight:700;color:var(--text-primary)}.profile-modal-close{width:32px;height:32px;border-radius:var(--radius-md, 8px);display:flex;align-items:center;justify-content:center;background:var(--bg-subtle);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;transition:all .15s;font-size:1rem}.profile-modal-close:hover{background:var(--bg-muted);color:var(--text-primary)}.profile-modal-user-summary{margin-bottom:12px}.profile-modal-user-summary .profile-header{padding:0;margin:0;background:none;border:none;box-shadow:none}.profile-modal-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border-default);padding-bottom:0}.profile-modal-tab{display:flex;align-items:center;gap:6px;padding:10px 16px;border:none;background:none;color:var(--text-secondary);font-size:.8125rem;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s;margin-bottom:-1px}.profile-modal-tab:hover{color:var(--text-primary);background:var(--bg-subtle);border-radius:var(--radius-md, 8px) var(--radius-md, 8px) 0 0}.profile-modal-tab.active{color:var(--brand-500);border-bottom-color:var(--brand-500)}.profile-modal-tab .tab-icon{font-size:1rem}.profile-modal-body{flex:1;overflow-y:auto;padding:20px 24px 24px}.profile-modal-content{min-height:200px}.profile-modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:12px}.profile-modal-spinner{width:32px;height:32px;border:3px solid var(--border-default);border-top-color:var(--brand-500);border-radius:50%;animation:spin 1s linear infinite}.profile-modal-loading p{font-size:.85rem;color:var(--text-muted);margin:0}@keyframes profileModalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes profileModalSlideIn{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 640px){.profile-modal-container{max-height:95vh;border-radius:var(--radius-xl, 12px) var(--radius-xl, 12px) 0 0;margin:auto 0 0}.profile-modal-tab{flex:1;justify-content:center;padding:8px;font-size:.75rem}.profile-modal-tab .tab-label{display:none}.profile-modal-tab .tab-icon{font-size:1.25rem}}.online-friends-panel{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;overflow:hidden}.online-friends-panel .panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--surface-card);border-bottom:1px solid var(--border-default)}.online-friends-panel .panel-header h4{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.online-friends-panel .add-friend-btn{background:#4fc3f733;border:none;color:var(--text-brand);width:28px;height:28px;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.online-friends-panel .add-friend-btn:hover{background:#4fc3f74d;transform:scale(1.05)}.online-friends-panel .friends-list{max-height:280px;overflow-y:auto;padding:8px}.online-friends-panel .friends-list::-webkit-scrollbar{width:4px}.online-friends-panel .friends-list::-webkit-scrollbar-track{background:var(--bg-subtle)}.online-friends-panel .friends-list::-webkit-scrollbar-thumb{background:var(--bg-muted);border-radius:2px}.friend-item{display:flex;align-items:center;padding:10px 12px;border-radius:8px;margin-bottom:4px;transition:background-color .2s ease;position:relative}.friend-item:hover{background:var(--bg-subtle)}.friend-item:last-child{margin-bottom:0}.friend-info{display:flex;align-items:center;flex:1;min-width:0}.friend-avatar{width:36px;height:36px;border-radius:50%;margin-right:10px;flex-shrink:0}.friend-details{display:flex;flex-direction:column;min-width:0;flex:1;gap:2px}.friend-name{display:block;font-weight:500;color:var(--text-primary);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.friend-status{display:block;font-size:11px;line-height:1.2}.friend-status.online{color:#2ecc71}.friend-status.offline{color:var(--text-muted)}.friend-actions{flex-shrink:0;margin-left:8px}.invite-btn{padding:6px 12px;border-radius:6px;border:none;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.invite-btn.invite{background:linear-gradient(135deg,#769656,#629243);color:#fff}.invite-btn.invite:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 3px 8px #4fc3f766}.invite-btn.inviting{background:var(--bg-muted);color:var(--text-tertiary)}.invite-btn.sent{background:#2ecc7133;color:#2ecc71}.invite-btn.pending{background:#ffc10733;color:#ffc107}.invite-btn:disabled{cursor:not-allowed}.invite-error{position:absolute;bottom:2px;right:12px;font-size:10px;color:#ff4757}.online-friends-panel .loading-state{display:flex;align-items:center;justify-content:center;padding:30px 20px}.online-friends-panel .loading-state .spinner{width:24px;height:24px;border:2px solid rgba(255,255,255,.1);border-top-color:#769656;border-radius:50%;animation:spin .8s linear infinite}.online-friends-panel .empty-state{text-align:center;padding:24px 16px;color:var(--text-muted)}.online-friends-panel .empty-state p{margin:0 0 12px;font-size:13px}.find-friends-btn{padding:8px 16px;background:#4fc3f733;border:1px solid rgba(79,195,247,.3);border-radius:8px;color:var(--text-brand);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.find-friends-btn:hover{background:#4fc3f74d;transform:translateY(-1px)}.guest-message{display:flex;flex-direction:column;align-items:center;padding:24px 16px;text-align:center}.guest-message .lock-icon{font-size:28px;margin-bottom:8px;opacity:.6}.guest-message p{margin:0;color:var(--text-muted);font-size:12px}.online-friends-panel.compact .panel-header{padding:10px 12px}.online-friends-panel.compact .panel-header h4{font-size:12px}.online-friends-panel.compact .friends-list{max-height:180px;padding:6px}.online-friends-panel.compact .friend-item{padding:6px 8px}.online-friends-panel.compact .friend-avatar{width:28px;height:28px;margin-right:8px}.online-friends-panel.compact .friend-name{font-size:12px}.online-friends-panel.compact .friend-status{font-size:10px}.online-friends-panel.compact .invite-btn{padding:4px 8px;font-size:10px}.room-detail-page{height:100%;display:flex;flex-direction:column;background:var(--bg-base);color:var(--text-primary);font-family:var(--font-sans);overflow:hidden}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:16px}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-default);border-top:3px solid var(--brand-500);border-radius:50%;animation:spin 1s linear infinite}.error-icon{font-size:40px}.error-container h2{margin:0;font-size:1.125rem;font-weight:700}.error-container p{margin:0 0 16px;color:var(--text-secondary);text-align:center;font-size:.875rem}.back-btn{padding:10px 24px;background:var(--brand-500);color:#fff;border:none;border-radius:var(--radius-lg);cursor:pointer;font-weight:600}.room-detail-page .room-header{display:flex;justify-content:space-between;align-items:center;padding:0 20px;background:var(--surface-card);border-bottom:1px solid var(--border-default);position:relative;z-index:100;height:52px;gap:12px;box-sizing:border-box;flex-shrink:0}.room-detail-page .header-left{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.rh-back-btn{width:34px;height:34px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:var(--bg-subtle);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;transition:all .15s;flex-shrink:0}.rh-back-btn:hover{background:var(--bg-muted);color:var(--text-primary)}.rh-game-badge{display:flex;align-items:center;gap:8px;flex-shrink:0}.rh-game-badge svg{width:22px;height:22px;border-radius:5px}.rh-game-name{font-size:.875rem;font-weight:700;color:var(--text-primary)}.rh-sep{color:var(--text-muted);font-size:.875rem;opacity:.5}.rh-room-name{font-size:.8125rem;font-weight:600;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.rh-status{font-size:.6875rem;font-weight:700;padding:3px 10px;border-radius:var(--radius-full);flex-shrink:0;letter-spacing:.02em}.rh-status-waiting{background:#22c55e1a;color:var(--success-500);border:1px solid rgba(34,197,94,.2)}.rh-status-playing{background:#f59e0b1a;color:var(--warning-500);border:1px solid rgba(245,158,11,.2)}.rh-status-finished{background:var(--bg-subtle);color:var(--text-muted);border:1px solid var(--border-default)}.room-detail-page .header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.rh-player-count{display:flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:600;color:var(--text-secondary);padding:6px 14px;background:var(--bg-subtle);border-radius:var(--radius-full)}.rh-player-count i{font-size:.75rem;color:var(--brand-500)}.rh-action-btn{width:34px;height:34px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:var(--bg-subtle);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;transition:all .15s}.rh-action-btn:hover{background:var(--bg-muted);color:var(--text-primary)}.rh-action-btn.rh-leave:hover{color:var(--error-500);border-color:var(--error-500);background:var(--error-50)}.rh-share-btn{display:flex;align-items:center;gap:6px;width:auto;padding:0 14px}.rh-share-text{font-size:.8125rem;font-weight:600}@media (max-width: 768px){.rh-share-text{display:none}.rh-share-btn{width:34px;padding:0}}.rh-profile-wrapper{position:relative}.rh-profile-btn{display:flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;background:var(--bg-subtle);border:1px solid var(--border-default);border-radius:var(--radius-full);cursor:pointer;transition:all .15s}.rh-profile-btn:hover{background:var(--bg-muted)}.rh-profile-avatar{width:28px;height:28px;border-radius:50%;font-size:.625rem}.rh-profile-chevron{font-size:.6rem;color:var(--text-muted)}.rh-profile-username{font-size:.8125rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 768px){.rh-profile-username{display:none}}.rh-profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:220px;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);z-index:200;padding:12px;animation:rdFadeSlide .15s ease}.rh-profile-header{display:flex;align-items:center;gap:10px;padding-bottom:10px}.rh-dropdown-avatar{width:36px;height:36px;border-radius:50%;font-size:.75rem}.rh-dropdown-name{font-weight:700;font-size:.875rem;color:var(--text-primary)}.rh-dropdown-rating{font-size:.75rem;color:var(--text-muted);display:flex;align-items:center;gap:4px}.rh-dropdown-divider{height:1px;background:var(--border-default);margin:4px 0 8px}.rh-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:var(--radius-md);font-size:.8125rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:background .15s;border:none;background:none}.rh-dropdown-item:hover{background:var(--bg-subtle);color:var(--text-primary)}.rh-dropdown-item i{width:16px;text-align:center;font-size:.75rem}.rh-dropdown-logout{color:var(--error-500)}.rh-dropdown-logout:hover{background:var(--error-50);color:var(--error-600)}.rh-login-btn{display:flex;align-items:center;gap:6px;padding:6px 16px;background:var(--gradient-brand);color:#fff;border-radius:var(--radius-full);font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .15s;border:none;white-space:nowrap}.rh-login-btn:hover{opacity:.9;transform:translateY(-1px)}.room-detail-main{display:grid;grid-template-columns:minmax(240px,1fr) minmax(360px,2fr) minmax(220px,1fr);gap:0;flex:1;min-height:0;box-sizing:border-box;overflow:hidden}.room-left-column{display:flex;flex-direction:column;min-height:0;overflow-y:auto;border-right:1px solid var(--border-default);background:var(--surface-card)}.room-middle-column{display:flex;flex-direction:column;min-height:0;overflow-y:auto;background:var(--bg-base);border-right:1px solid var(--border-default)}.room-left-column .online-friends-panel{margin:0;border:none;border-top:1px solid var(--border-default);border-radius:0;flex:1}.room-left-column .online-friends-panel .panel-header{padding:14px 20px}.room-left-column .online-friends-panel .friends-list{max-height:none}.players-panel{display:flex;flex-direction:column;gap:0;flex-shrink:0}.players-section{border-bottom:1px solid var(--border-default);padding:16px 20px;flex-shrink:0;display:flex;flex-direction:column}.players-section h3{margin:0 0 12px;font-size:.8125rem;font-weight:700;color:var(--text-primary);letter-spacing:.02em;padding-bottom:12px;border-bottom:1px solid var(--border-default)}.players-list{display:flex;flex-direction:column;gap:8px}.player-item{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg-subtle);border:1px solid var(--border-default);border-radius:var(--radius-lg);position:relative;box-sizing:border-box;transition:border-color .15s}.player-item:hover:not(.empty){border-color:var(--brand-500)}.player-item.empty{background:linear-gradient(135deg,#16a34a,#15803d);border:none;opacity:1;padding:13px 16px;cursor:pointer;justify-content:center;border-radius:var(--radius-xl);box-shadow:0 3px 12px #16a34a4d;transition:all .2s}.player-item.empty:hover{transform:translateY(-1px);box-shadow:0 5px 18px #16a34a66}.player-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0;overflow:hidden}.player-avatar{width:36px;height:36px;border-radius:50%;border:2px solid var(--border-default);flex-shrink:0;font-size:.625rem}.empty-avatar{width:36px;height:36px;border-radius:50%;background:var(--bg-muted);display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--text-muted);flex-shrink:0;border:2px dashed var(--border-default)}.player-details{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0;overflow:hidden}.player-name-row{display:flex;align-items:center;gap:6px;max-width:100%}.player-name{font-weight:700;font-size:.8125rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-league-badge{font-size:.75rem;padding:2px 6px;border-radius:6px;line-height:1;flex-shrink:0}.player-rating-info{display:flex;align-items:center;gap:8px;font-size:.75rem}.rating-value{color:#fbbf24;font-weight:600}.player-role{font-size:.6875rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.player-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.player-status{display:flex;align-items:center}.ready-indicator{padding:5px 12px;border-radius:var(--radius-full);font-size:.6875rem;font-weight:700;display:flex;align-items:center;gap:4px;cursor:default;letter-spacing:.02em}.ready-indicator.ready{background:#22c55e1f;color:#22c55e;border:1px solid rgba(34,197,94,.25)}.ready-indicator.not-ready{background:#f59e0b1f;color:#f59e0b;border:1px solid rgba(245,158,11,.25)}.edit-icon{font-size:12px;padding:3px;border-radius:4px;cursor:pointer;opacity:.7;color:#ffc107cc;transition:opacity .15s}.edit-icon:hover{opacity:1}.bot-controls{display:flex;align-items:center;gap:8px}.bot-slot-label{display:flex;align-items:center;gap:10px;color:#fff;font-size:.9375rem;font-weight:700}.bot-slot-icon{width:36px;height:36px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.add-bot-btn{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3);padding:5px 11px;border-radius:var(--radius-md);font-size:.6875rem;font-weight:700;cursor:pointer;transition:all .15s;white-space:nowrap}.add-bot-btn:hover{background:#ffffff40}.bot-indicator{display:inline-flex;align-items:center;margin-left:6px;padding:2px 6px;background:#76965626;border-radius:4px;border:1px solid rgba(118,150,86,.3)}.kick-player-btn{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;border:none;border-radius:50%;width:24px;height:24px;font-size:12px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;position:absolute;top:-8px;right:-8px;z-index:10;box-shadow:0 2px 8px #dc262659;line-height:1}.kick-player-btn:hover{background:linear-gradient(135deg,#ef4444,#dc2626);transform:scale(1.15)}.add-friend-player-btn{width:30px;height:30px;border-radius:8px;border:none;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.add-friend-player-btn.add{background:linear-gradient(135deg,#769656,#629243);color:#fff}.add-friend-player-btn.add:hover:not(:disabled){transform:scale(1.1);box-shadow:0 3px 12px #76965666}.add-friend-player-btn.guest{background:#76965626;color:#4ade80;cursor:pointer}.add-friend-player-btn.guest:hover{background:#76965640}.add-friend-player-btn.guest-target{background:var(--bg-muted);color:var(--text-muted);cursor:pointer}.add-friend-player-btn.guest-target:hover{background:#fbbf2426;color:#f59e0b}.add-friend-player-btn.friend{background:#2ecc7133;color:#2ecc71;cursor:default}.add-friend-player-btn.pending,.add-friend-player-btn.sending{background:#ffc10733;color:#ffc107;cursor:not-allowed}.add-friend-player-btn.received{background:#9b59b633;color:#9b59b6;animation:pulseGlow 1.5s ease-in-out infinite}@keyframes pulseGlow{0%,to{box-shadow:0 0 5px #9b59b64d}50%{box-shadow:0 0 15px #9b59b699}}.add-friend-player-btn:disabled{cursor:not-allowed}.players-section .guest-friend-warning{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:8px;background:#fbbf241f;border:1px solid rgba(251,191,36,.25);border-radius:8px;color:#f59e0b;font-size:.75rem;font-weight:500;line-height:1.4;animation:warningFadeIn .2s ease-out}.players-section .guest-friend-warning i{font-size:.85rem;flex-shrink:0}@keyframes warningFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.friends-section{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:16px}.friends-section h3{margin:0 0 12px;font-size:.8125rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.friends-empty{text-align:center;padding:16px;color:var(--text-tertiary);border:1px dashed var(--border-default);border-radius:var(--radius-lg)}.friends-empty p{margin:0;font-size:.8125rem;font-weight:500}.game-panel{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;background:var(--bg-base)}.gp-loading{display:flex;align-items:center;justify-content:center;flex:1;color:var(--text-muted);font-size:.875rem}.gp-header{padding:14px 20px;border-bottom:1px solid var(--border-default);flex-shrink:0;background:var(--surface-card)}.gp-header h2{margin:0;font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em}.gp-body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:24px;background-image:radial-gradient(circle at 20% 20%,rgba(118,150,86,.06) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(59,130,246,.04) 0%,transparent 50%),repeating-linear-gradient(45deg,transparent,transparent 18px,rgba(118,150,86,.025) 18px,rgba(118,150,86,.025) 19px)}.gp-section-title{display:block;font-size:.6875rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.gp-option-row{display:flex;gap:10px;flex-wrap:wrap}.gp-option-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 16px;background:var(--surface-card);border:2px solid var(--border-default);border-radius:var(--radius-xl);cursor:default;min-width:110px;box-shadow:var(--shadow-sm)}.gp-option-card.active{border-color:var(--brand-500);background:#76965612}.gp-option-icon{width:40px;height:40px;border-radius:8px;overflow:hidden;flex-shrink:0}.gp-option-icon-emoji{display:flex;align-items:center;justify-content:center;font-size:24px;background:var(--bg-subtle)}.gp-option-label{font-size:.8125rem;font-weight:600;color:var(--text-primary);white-space:nowrap}.gp-time-options{display:flex;gap:8px;flex-wrap:wrap}.gp-time-btn{padding:8px 14px;border:2px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card);color:var(--text-secondary);font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .15s;box-shadow:var(--shadow-sm)}.gp-time-btn:hover{border-color:var(--brand-400);color:var(--text-primary)}.gp-time-btn.active{border-color:var(--brand-500);background:#7696561a;color:var(--brand-600, #547a36)}.gp-color-options{display:flex;gap:8px}.gp-color-btn{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;padding:10px 8px;border:2px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card);color:var(--text-secondary);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s;box-shadow:var(--shadow-sm)}.gp-color-btn:hover{border-color:var(--brand-400)}.gp-color-btn.active{border-color:var(--brand-500);background:#7696561a;color:var(--text-primary)}.gp-color-icon{font-size:18px}.gp-value-display{display:inline-flex;align-items:center;font-size:.875rem;font-weight:600;color:var(--text-primary);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:8px 16px;box-shadow:var(--shadow-sm)}.gp-controls{padding:16px 20px;border-top:1px solid var(--border-default);display:flex;flex-direction:column;gap:10px;flex-shrink:0;background:var(--surface-card)}.gp-ready-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:14px 20px;border:none;border-radius:var(--radius-xl);font-size:.9375rem;font-weight:700;cursor:pointer;transition:all .2s;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 3px 14px #22c55e4d}.gp-ready-btn:hover{transform:translateY(-1px);box-shadow:0 5px 20px #22c55e66}.gp-ready-btn.is-ready{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 3px 14px #f59e0b4d}.gp-ready-btn.is-ready:hover{box-shadow:0 5px 20px #f59e0b66}.gp-start-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:13px 20px;border:none;border-radius:var(--radius-xl);font-size:.875rem;font-weight:700;transition:all .2s;background:var(--bg-muted);color:var(--text-muted);cursor:not-allowed;opacity:.65}.gp-start-btn.can-start{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 3px 14px #3b82f64d;cursor:pointer;opacity:1}.gp-start-btn.can-start:hover{transform:translateY(-1px);box-shadow:0 5px 20px #3b82f666}.chat-panel{display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--border-default);background:var(--surface-card)}.chat-section{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--border-default);flex-shrink:0;flex-wrap:wrap}.chat-header h3{margin:0;font-size:.875rem;font-weight:700;color:var(--text-primary)}.chat-header-right{display:flex;align-items:center;gap:10px}.online-count{color:var(--text-tertiary);font-size:.75rem;font-weight:500}.chat-report-btn{background:transparent;border:1px solid var(--border-default);border-radius:6px;padding:3px 8px;cursor:pointer;font-size:.8rem;transition:all .15s ease;color:var(--text-muted)}.chat-report-btn:hover:not(.sent){background:#ef44441a;border-color:#ef444466}.chat-report-btn.sent{cursor:default;opacity:.6}.chat-report-error{width:100%;font-size:.7rem;color:#ef4444;padding:2px 0 0}.chat-messages{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:8px;min-height:0}.message{animation:rdFadeSlide .2s ease}.system-message{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg-muted);border-radius:var(--radius-lg)}.system-icon{font-size:12px}.system-text{font-size:.75rem;color:var(--text-secondary);font-weight:500}.user-message{display:flex;gap:10px;align-items:flex-start}.message-avatar{width:30px;height:30px;border-radius:50%;flex-shrink:0}.message-content{flex:1;background:var(--bg-subtle);border-radius:var(--radius-lg);padding:8px 12px}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.message-sender{font-weight:700;color:var(--text-primary);font-size:.75rem}.message-time{font-size:.625rem;color:var(--text-tertiary)}.message-text{color:var(--text-primary);line-height:1.4;font-size:.8125rem}.chat-input{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border-default);flex-shrink:0}.input-wrapper{position:relative;display:flex;align-items:center;gap:6px;flex:1}.emoji-btn{background:var(--bg-muted);border:1px solid var(--border-default);color:var(--text-primary);padding:6px 8px;border-radius:var(--radius-md);cursor:pointer;font-size:14px;transition:background .15s}.emoji-btn:hover{background:var(--bg-subtle)}.message-input{flex:1;background:var(--bg-muted);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:8px 14px;color:var(--text-primary);font-size:.8125rem;font-weight:500;transition:border-color .15s}.message-input:focus{outline:none;border-color:var(--brand-500)}.message-input::placeholder{color:var(--text-muted)}.send-btn{background:var(--brand-500);color:#fff;border:none;padding:8px 12px;border-radius:var(--radius-lg);cursor:pointer;font-size:14px;transition:all .15s;display:flex;align-items:center;justify-content:center;min-width:40px}.send-btn:hover:not(:disabled){background:var(--brand-600)}.send-btn:disabled{opacity:.4;cursor:not-allowed}.emoji-picker{position:absolute;bottom:100%;left:0;right:0;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:10px;display:flex;flex-wrap:wrap;gap:4px;z-index:1000;margin-bottom:8px;box-shadow:var(--shadow-lg)}.emoji-option{background:none;border:none;font-size:18px;padding:4px;border-radius:6px;cursor:pointer;transition:all .1s}.emoji-option:hover{background:var(--bg-muted);transform:scale(1.1)}.typing-indicator{display:flex;align-items:center;gap:8px;padding:6px 12px}.typing-text{font-size:.75rem;color:var(--text-tertiary);font-style:italic}.typing-dots{display:flex;gap:3px}.typing-dots span{width:4px;height:4px;border-radius:50%;background:var(--text-muted);animation:typingDots 1.4s infinite ease-in-out}.typing-dots span:nth-child(1){animation-delay:-.32s}.typing-dots span:nth-child(2){animation-delay:-.16s}@keyframes typingDots{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.guest-chat-disabled{padding:12px 16px;border-top:1px solid var(--border-default);flex-shrink:0}.guest-input-placeholder{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--bg-muted);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:12px;text-align:center}.placeholder-icon{font-size:14px;color:var(--text-muted)}.placeholder-text{color:var(--text-muted);font-size:.8125rem;font-weight:500;font-style:italic}.chat-ban-notice{background:#ef444414;border-color:#ef444433}.chat-ban-notice .placeholder-icon{color:#ef4444}.chat-ban-notice .placeholder-text{color:#ef4444;font-style:normal}@keyframes rdFadeSlide{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.rh-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1040;display:flex;align-items:center;justify-content:center;animation:rdFadeSlide .15s ease}.rh-modal-content{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-2xl, 16px);box-shadow:0 24px 48px #0003;width:100%;max-width:400px;margin:16px;animation:rdFadeSlide .2s ease}.rh-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-default)}.rh-modal-header h3{margin:0;font-size:1rem;font-weight:700}.rh-modal-close{width:32px;height:32px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:var(--bg-subtle);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;transition:all .15s}.rh-modal-close:hover{background:var(--bg-muted);color:var(--text-primary)}.rh-modal-body{padding:20px}.rh-profile-modal-card{display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg-subtle);border-radius:var(--radius-xl);margin-bottom:16px}.rh-modal-avatar{width:56px;height:56px;border-radius:50%;font-size:1.25rem}.rh-modal-user-info{display:flex;flex-direction:column;gap:4px}.rh-modal-username{font-size:1.125rem;font-weight:700;color:var(--text-primary)}.rh-modal-user-rating{display:flex;align-items:center;gap:6px;font-size:.875rem;color:var(--text-secondary);font-weight:600}.rh-modal-link-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px;background:var(--bg-subtle);border:1px solid var(--border-default);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s}.rh-modal-link-btn:hover{background:var(--bg-muted);color:var(--text-primary)}@media (max-width: 1200px){.room-detail-main{grid-template-columns:1fr 2fr 1fr}}@media (max-width: 1024px){.room-detail-main{grid-template-columns:1fr 2fr 1fr}}@media (max-width: 768px){.room-detail-page{height:auto;min-height:0;overflow:visible}.room-detail-main{grid-template-columns:1fr;overflow:visible;height:auto}.room-left-column{overflow:visible;border-right:none;border-bottom:1px solid var(--border-default)}.room-middle-column{border-right:none;border-bottom:1px solid var(--border-default);overflow:visible;min-height:0}.chat-panel{border-left:none;border-top:1px solid var(--border-default)}.players-section{padding:12px 16px}.players-list{flex-direction:column}.game-panel{height:auto;overflow:visible}.gp-body{flex:none;overflow:visible;max-height:none}.gp-controls{position:sticky;bottom:0;z-index:10}.game-preview{padding:20px}.chat-messages{max-height:250px}.room-detail-page .room-header{height:auto;min-height:48px;padding:0 12px;flex-wrap:wrap;gap:6px}.rh-room-name,.rh-sep,.rh-game-name{display:none}.game-controls{position:fixed;bottom:0;left:0;right:0;z-index:100;margin:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:var(--surface-card);border-top:1px solid var(--border-default);box-shadow:0 -2px 12px #00000014;flex-direction:row;gap:8px}.game-controls .control-btn{flex:1}.room-detail-page{padding-bottom:calc(80px + env(safe-area-inset-bottom,16px))}}@media (max-width: 480px){.player-item{padding:10px 12px;gap:8px}.player-avatar,.empty-avatar{width:36px;height:36px}.player-name{font-size:.8125rem}.kick-player-btn{width:22px;height:22px;font-size:10px}.add-bot-btn{padding:4px 8px;font-size:.625rem}}.game-container{min-height:100vh;background:var(--bg-base);padding:16px;position:relative}.game-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:10px 16px;background:var(--surface-card);border-radius:12px;border:1px solid var(--border-default)}.back-button{background:var(--bg-subtle);border:1px solid var(--border-default);color:var(--text-primary);padding:8px 16px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s ease}.back-button:hover{background:var(--bg-muted)}.waiting-for-player{font-size:.75rem;color:var(--text-muted);font-style:italic}.waiting-for-start{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;background:var(--bg-muted);border-radius:8px}.waiting-text{font-size:.8125rem;color:var(--text-secondary);font-weight:500}.game-starting{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px;background:var(--bg-muted);border-radius:12px}.starting-text{font-size:.875rem;font-weight:700;color:var(--text-primary)}.loading-spinner-small{width:24px;height:24px;border:3px solid var(--border-default);border-top:3px solid var(--brand-500);border-radius:50%;animation:spin 1s linear infinite}.ready-status{display:flex;align-items:center;gap:6px}.player-karma{font-size:.625rem;color:var(--text-tertiary)}.status-indicator.playing{background:#ff980033;color:#ff9800;border:1px solid rgba(255,152,0,.3)}.status-indicator.finished{background:var(--bg-subtle);color:var(--text-muted);border:1px solid var(--border-default)}.development-page{min-height:100vh;background:linear-gradient(135deg,#629243,#769656);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.dev-header{text-align:center;margin-bottom:30px;color:#fff;padding:20px}.dev-header h1{font-size:2.5rem;margin-bottom:10px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.dev-header p{font-size:1.1rem;opacity:.9}.error-message{background:#ff4757;color:#fff;padding:15px 20px;border-radius:10px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 15px #ff47574d}.error-message button{background:none;border:none;color:#fff;font-size:1.2rem;cursor:pointer;padding:5px}.dev-grid{display:flex;flex-direction:column;gap:20px;max-width:1400px;margin:0 auto;padding:0 20px 20px}.dev-card{background:#fff;border-radius:15px;padding:25px;box-shadow:0 8px 25px #0000001a;transition:transform .3s ease,box-shadow .3s ease;border:1px solid #e9ecef}.dev-card:hover{transform:translateY(-5px);box-shadow:0 12px 35px #00000026}.dev-card h3{margin:0 0 20px;color:#2c3e50;font-size:1.3rem;border-bottom:2px solid #ecf0f1;padding-bottom:10px}.action-buttons{display:flex;flex-direction:column;gap:15px;padding:10px 0}.button-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.button-row .action-btn{flex:1;min-width:200px;max-width:250px}.action-buttons button{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;letter-spacing:.5px;text-transform:none;font-weight:600}.action-btn{padding:15px 20px;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px;color:#fff!important;text-decoration:none;min-height:50px;width:100%!important;min-width:200px}.action-btn:not(.danger){background:linear-gradient(135deg,#3498db,#2980b9)!important;color:#fff!important;border:2px solid #2980b9!important}.action-btn:not(.danger):hover{background:linear-gradient(135deg,#2980b9,#1f5f8b)!important;transform:translateY(-2px);box-shadow:0 4px 15px #3498db4d}.action-btn.danger{background:linear-gradient(135deg,#e74c3c,#c0392b)!important;color:#fff!important;border:2px solid #c0392b!important}.action-btn.danger:hover{background:linear-gradient(135deg,#c0392b,#a93226)!important;transform:translateY(-2px);box-shadow:0 4px 15px #e74c3c4d}.action-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important;background:#95a5a6!important;border-color:#7f8c8d!important}.action-btn:focus{outline:none;box-shadow:0 0 0 3px #3498db4d}.action-btn.danger:focus{box-shadow:0 0 0 3px #e74c3c4d}.action-btn.debug{background:linear-gradient(135deg,#6f42c1,#5a32a3)!important;color:#fff!important;border:2px solid #5a32a3!important}.action-btn.debug:hover{background:linear-gradient(135deg,#5a32a3,#4a2b8a)!important;transform:translateY(-2px);box-shadow:0 4px 15px #6f42c14d}.action-btn.debug:focus{box-shadow:0 0 0 3px #6f42c14d}.info-card{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #dee2e6}.info-content{padding:15px 0}.info-content p{margin:10px 0;line-height:1.6;color:#495057}.info-content strong{color:#2c3e50;font-weight:600}.collections-list{display:flex;flex-direction:column;gap:12px}.collection-item{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#f8f9fa;border-radius:10px;border:1px solid #e9ecef;transition:all .3s ease}.collection-item:hover{background:#e9ecef;transform:translate(5px)}.collection-info{display:flex;flex-direction:column;gap:5px}.collection-name{font-weight:600;color:#2c3e50;font-size:1.1rem}.collection-count{color:#7f8c8d;font-size:.9rem}.view-btn{background:linear-gradient(135deg,#27ae60,#229954);color:#fff;border:none;padding:8px 15px;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.view-btn:hover{background:linear-gradient(135deg,#229954,#1e8449);transform:scale(1.05)}.view-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.data-viewer-card{grid-column:span 2;max-height:600px;overflow:hidden;display:flex;flex-direction:column}.viewer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:15px;border-bottom:2px solid #ecf0f1}.viewer-header h3{margin:0;border:none;padding:0}.close-btn{background:#e74c3c;color:#fff;border:none;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.close-btn:hover{background:#c0392b;transform:scale(1.1)}.viewer-info{display:flex;gap:20px;margin-bottom:15px;font-size:.9rem;color:#7f8c8d}.table-container{flex:1;border:1px solid #ecf0f1;border-radius:8px;background:#f8f9fa;overflow:hidden}.data-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;background:#fff;table-layout:fixed}.data-table thead th,.data-table tbody td{width:100px;min-width:100px;max-width:100px}.data-table thead th.col-avatar,.data-table tbody td.col-avatar{width:400px;min-width:400px;max-width:400px}.data-table thead{position:sticky;top:0;z-index:2}.data-table th{background:var(--surface-card);color:#fff;padding:12px 10px;text-align:left;font-weight:600;font-size:.9rem;border-bottom:2px solid #2c3e50;white-space:nowrap}.data-table td{padding:10px;border-bottom:1px solid #ecf0f1;font-size:.85rem;max-width:100px;overflow:hidden;white-space:normal;word-wrap:break-word;word-break:break-word;vertical-align:top}.data-table tbody tr{height:72px}.data-table td:hover:after{content:attr(data-fulltext);position:absolute;background:#000000d9;color:#fff;padding:6px 8px;border-radius:6px;max-width:60vw;white-space:normal;word-break:break-word;z-index:5;transform:translateY(-100%)}.data-table td{position:relative}.data-table tr:hover{background:#f8f9fa}.data-table tr:nth-child(2n){background:#fbfcfd}.data-table tr:nth-child(2n):hover{background:#eef3f6}.data-item{margin-bottom:15px;padding:15px;background:#fff;border-radius:8px;border:1px solid #e9ecef}.data-item:last-child{margin-bottom:0}.data-item pre{margin:0;white-space:pre-wrap;word-wrap:break-word;font-size:.85rem;line-height:1.4;color:#2c3e50;max-height:200px;overflow-y:auto}.empty-data{text-align:center;padding:40px;color:#7f8c8d;font-style:italic}.loading{display:flex;justify-content:center;align-items:center;height:calc(100vh - 100px);font-size:1.2rem;color:#fff;margin-top:20px}@media (max-width: 768px){.development-page{padding:15px}.dev-header h1{font-size:2rem}.dev-grid{grid-template-columns:1fr}.data-viewer-card{grid-column:span 1}.button-row{flex-direction:column;align-items:center}.button-row .action-btn{min-width:auto;max-width:none;width:100%}.collection-item{flex-direction:column;gap:10px;align-items:stretch}.viewer-info{flex-direction:column;gap:5px}}.cell-preview{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px 8px}.cell-badge{background:#eef3f6;color:#34495e;padding:4px 8px;border-radius:6px;font-size:.78rem;font-weight:600}.cell-view-btn{background:#2d7ff9;color:#fff;border:none;padding:4px 8px;border-radius:6px;cursor:pointer;font-size:.78rem}.cell-view-btn:hover{background:#2568c7}.cell-text{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.cell-ellipsis{display:block;max-width:100%;overflow-wrap:anywhere}.json-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.json-modal{background:var(--bg-base);color:var(--text-primary);width:min(90vw,900px);max-height:80vh;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000059}.json-modal-header{padding:12px 16px;background:var(--bg-subtle);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-default)}.json-modal-actions{display:flex;gap:8px}.copy-btn,.close-btn{background:var(--surface-elevated);color:var(--text-secondary);border:none;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:.85rem}.copy-btn:hover,.close-btn:hover{background:#4b5563}.json-content{margin:0;padding:16px;overflow:auto;white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;line-height:1.5}.table-container.scroll{max-height:60vh;overflow-x:auto;overflow-y:auto}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #ecf0f1}.table-header h3{margin:0;border:none;padding:0;color:#2c3e50;font-size:1.3rem}.copy-summary-btn{background:linear-gradient(135deg,#27ae60,#229954);color:#fff;border:none;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .3s ease;display:flex;align-items:center;gap:6px;min-width:120px;justify-content:center}.copy-summary-btn:hover{background:linear-gradient(135deg,#229954,#1e8449);transform:translateY(-2px);box-shadow:0 4px 12px #27ae604d}.copy-summary-btn:active{transform:translateY(0)}@media (max-width: 768px){.table-header{flex-direction:column;gap:10px;align-items:stretch}.copy-summary-btn{min-width:auto;width:100%}}.development-page-v2{min-height:100vh;background:var(--bg-base);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:var(--text-primary)}.development-page-v2.embedded{min-height:unset;background:transparent}.dev-header-v2{background:var(--surface-card);border-bottom:1px solid var(--border-default);padding:16px 24px}.dev-header-v2 .header-content{max-width:1600px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.dev-header-v2 .back-btn{background:var(--bg-muted);border:1px solid var(--border-strong);color:var(--text-primary);padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s}.dev-header-v2 .back-btn:hover{background:var(--bg-muted)}.dev-header-v2 .header-title{flex:1}.dev-header-v2 .header-title h1{font-size:1.5rem;margin:0;color:#fff}.dev-header-v2 .header-title p{font-size:.875rem;margin:4px 0 0;color:var(--text-muted)}.dev-header-v2 .stat-badge{background:#6366f133;color:var(--text-brand);padding:8px 16px;border-radius:20px;font-size:14px;font-weight:600}.error-message-v2{background:#ef444433;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:12px 20px;margin:16px 24px;border-radius:8px;display:flex;justify-content:space-between;align-items:center}.error-message-v2 button{background:none;border:none;color:#fca5a5;font-size:1.2rem;cursor:pointer;padding:4px 8px}.dev-content{display:flex;max-width:1600px;margin:0 auto;padding:24px;gap:24px;min-height:calc(100vh - 80px)}.dev-sidebar{width:280px;flex-shrink:0;display:flex;flex-direction:column;gap:20px}.sidebar-section{background:var(--bg-subtle);border-radius:12px;padding:20px;border:1px solid var(--border-default)}.sidebar-section h3{font-size:.875rem;color:var(--text-muted);margin:0 0 16px;text-transform:uppercase;letter-spacing:.05em}.quick-actions{display:flex;flex-direction:column;gap:10px}.quick-actions .action-btn{width:100%;padding:12px 16px;border-radius:8px;border:none;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--bg-muted);color:var(--text-primary)}.quick-actions .action-btn:hover{background:var(--bg-muted);transform:translateY(-1px)}.quick-actions .action-btn.primary{background:linear-gradient(135deg,#769656,#8b5cf6);color:#fff}.quick-actions .action-btn.primary:hover{background:linear-gradient(135deg,#629243,#769656)}.quick-actions .action-btn.danger{background:#ef444433;color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.quick-actions .action-btn.danger:hover{background:#ef44444d}.quick-actions .action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.table-nav{display:flex;flex-direction:column;gap:4px}.table-nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .2s;text-align:left;width:100%}.table-nav-item:hover{background:var(--bg-subtle);color:var(--text-primary)}.table-nav-item.active{background:#6366f133;color:var(--text-brand)}.table-nav-item .nav-icon{font-size:1.2rem}.table-nav-item .nav-title{flex:1;font-size:14px}.table-nav-item .nav-count{background:var(--bg-muted);padding:2px 8px;border-radius:10px;font-size:12px;color:var(--text-muted)}.table-nav-item.active .nav-count{background:#6366f14d;color:var(--text-brand)}.dev-main{flex:1;background:var(--bg-subtle);border-radius:12px;border:1px solid var(--border-default);display:flex;flex-direction:column;overflow:hidden}.table-header-v2{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-default);background:var(--bg-subtle)}.table-header-v2 .table-title{display:flex;align-items:center;gap:12px}.table-header-v2 .title-icon{font-size:1.5rem}.table-header-v2 h2{margin:0;font-size:1.25rem;color:#fff}.table-header-v2 .record-count{color:var(--text-muted);font-size:14px;font-weight:400}.table-header-v2 .table-actions{display:flex;gap:8px}.table-header-v2 .icon-btn{background:var(--bg-muted);border:none;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:1rem;transition:all .2s}.table-header-v2 .icon-btn:hover:not(:disabled){background:var(--bg-muted)}.table-header-v2 .icon-btn:disabled{opacity:.5;cursor:not-allowed}.table-content{flex:1;overflow:hidden;padding:0;display:flex;flex-direction:column}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-muted)}.loading-state .spinner{width:40px;height:40px;border:3px solid rgba(99,102,241,.2);border-top-color:#769656;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-state .empty-icon{font-size:4rem;margin-bottom:16px;opacity:.5}.empty-state h3{margin:0 0 8px;color:var(--text-primary)}.empty-state p{margin:0;color:var(--text-tertiary);font-size:14px}.error-state{padding:40px;text-align:center;color:#fca5a5}.development-page-v2 .table-container{overflow:auto;flex:1;border:1px solid var(--border-default);border-radius:8px;margin:16px}.development-page-v2 .data-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:13px}.development-page-v2 .data-table th{background:var(--bg-muted);color:var(--text-muted);padding:14px 16px;text-align:left;font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.05em;white-space:nowrap;position:sticky;top:0;z-index:1;border-bottom:2px solid rgba(99,102,241,.3)}.development-page-v2 .data-table td{padding:14px 16px;border-bottom:1px solid var(--border-default);color:var(--text-primary);min-width:120px;max-width:300px;vertical-align:top}.development-page-v2 .data-table tr:hover td{background:var(--surface-card)}.development-page-v2 .row-number{color:var(--text-tertiary);font-size:12px;width:40px}.development-page-v2 .cell-preview{display:flex;align-items:center;gap:8px}.development-page-v2 .cell-badge{background:#6366f133;color:var(--text-brand);padding:2px 8px;border-radius:4px;font-size:11px}.development-page-v2 .cell-view-btn{background:transparent;border:none;cursor:pointer;padding:4px;font-size:14px;opacity:.6;transition:opacity .2s}.development-page-v2 .cell-view-btn:hover{opacity:1}.development-page-v2 .cell-text{display:flex;align-items:center;gap:8px}.development-page-v2 .cell-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:250px;display:block}.development-page-v2 .table-container::-webkit-scrollbar{width:10px;height:10px}.development-page-v2 .table-container::-webkit-scrollbar-track{background:var(--bg-subtle);border-radius:5px}.development-page-v2 .table-container::-webkit-scrollbar-thumb{background:#6366f166;border-radius:5px}.development-page-v2 .table-container::-webkit-scrollbar-thumb:hover{background:#6366f199}@media (max-width: 1024px){.dev-content{flex-direction:column}.dev-sidebar{width:100%;flex-direction:row;flex-wrap:wrap}.sidebar-section{flex:1;min-width:250px}}@media (max-width: 640px){.dev-header-v2 .header-content{flex-direction:column;align-items:flex-start}.dev-content{padding:16px}.table-header-v2{flex-direction:column;gap:12px;align-items:flex-start}}.loading-spinner{display:flex;justify-content:center;align-items:center}.loading-spinner.small{width:20px;height:20px}.loading-spinner.medium{width:40px;height:40px}.loading-spinner.large{width:60px;height:60px}.spinner{width:100%;height:100%;border:3px solid rgba(255,255,255,.1);border-top:3px solid #629243;border-radius:50%;animation:spin 1s linear infinite}.loading-spinner.small .spinner{border-width:2px}.loading-spinner.large .spinner{border-width:4px}:root{--profile-bg: #0c0c1b;--profile-surface: rgba(255, 255, 255, .035);--profile-surface-hover: rgba(255, 255, 255, .06);--profile-border: rgba(255, 255, 255, .07);--profile-border-hover: rgba(99, 102, 241, .25);--profile-text: #e2e8f0;--profile-text-secondary: rgba(255, 255, 255, .55);--profile-text-muted: rgba(255, 255, 255, .35);--profile-primary: #769656;--profile-primary-light: #86efac;--profile-primary-pale: #a5b4fc;--profile-primary-glow: rgba(99, 102, 241, .15);--profile-accent: #769656;--profile-success: #34d399;--profile-danger: #f87171;--profile-warning: #fbbf24;--profile-neutral: #94a3b8;--profile-radius: 14px;--profile-radius-sm: 10px;--profile-radius-xs: 8px;--profile-shadow: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .08);--profile-shadow-md: 0 4px 12px rgba(0, 0, 0, .15), 0 2px 4px rgba(0, 0, 0, .1);--profile-shadow-lg: 0 8px 30px rgba(0, 0, 0, .2);--profile-transition: .2s cubic-bezier(.4, 0, .2, 1)}:root:not([data-theme=dark]){--profile-bg: var(--bg-base);--profile-surface: var(--bg-surface);--profile-surface-hover: var(--bg-subtle);--profile-border: var(--border-default);--profile-border-hover: var(--brand-200);--profile-text: var(--text-primary);--profile-text-secondary: var(--text-secondary);--profile-text-muted: var(--text-muted);--profile-primary-glow: rgba(99, 102, 241, .08);--profile-shadow: var(--shadow-card);--profile-shadow-md: var(--shadow-md);--profile-shadow-lg: var(--shadow-lg)}.profile-page{min-height:100%;color:var(--profile-text);padding-bottom:3rem}.profile-container{max-width:960px;margin:0 auto;padding:0 24px}.profile-loading,.profile-error,.profile-not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center;gap:16px}.profile-loading p{font-size:15px;opacity:.7}.error-icon,.not-found-icon{font-size:56px}.retry-btn{padding:10px 24px;background:#769656;color:#fff;border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;transition:background .2s}.retry-btn:hover{background:#629243}.profile-header{position:relative;margin-bottom:0;border-radius:18px;overflow:hidden;box-shadow:var(--profile-shadow-lg);border:1px solid rgba(99,102,241,.15)}.profile-header-bg{position:absolute;top:0;left:0;right:0;height:140px;background:linear-gradient(135deg,#3a6324,#629243 30%,#769656,#769656 80%,#629243);overflow:hidden}.profile-header-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 40%,rgba(12,12,27,.6) 100%)}.header-pattern{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.06;background-image:radial-gradient(circle at 20% 50%,rgba(255,255,255,.15) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.1) 0%,transparent 40%),url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.08'%3E%3Ccircle cx='30' cy='30' r='2'/%3E%3C/g%3E%3C/svg%3E")}.profile-header-content{position:relative;padding:24px 28px 20px}.profile-avatar-section{display:flex;align-items:center;gap:20px}.avatar-wrapper{position:relative;flex-shrink:0}.profile-avatar{width:84px;height:84px;border:3px solid rgba(255,255,255,.9);box-shadow:0 4px 20px #0000004d,0 0 0 4px #6366f133;border-radius:50%;transition:box-shadow var(--profile-transition)}.profile-avatar:hover{box-shadow:0 4px 24px #00000059,0 0 0 4px #6366f159}.online-indicator{position:absolute;bottom:6px;right:6px;width:14px;height:14px;border-radius:50%;border:2.5px solid rgba(12,12,27,.9);box-shadow:0 0 6px #0000004d}.online-indicator.online{background:#34d399;box-shadow:0 0 8px #34d39966}.online-indicator.offline{background:#64748b}.profile-info{flex:1;min-width:0}.profile-name-section{margin-bottom:4px}.profile-name{font-size:1.5rem;font-weight:700;margin:0;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.3);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-username{font-size:.9rem;opacity:.75}.profile-status{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:.8rem;color:var(--text-secondary)}.separator{opacity:.4}.profile-quick-stats{display:flex;gap:20px;margin-top:2px}.quick-stat{text-align:center;padding:4px 12px;background:var(--bg-subtle);border-radius:var(--profile-radius-xs);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-default);transition:all var(--profile-transition)}.quick-stat:hover{background:var(--border-default)}.quick-stat .stat-value{font-size:1.1rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.quick-stat .stat-label{font-size:.65rem;color:var(--text-muted);margin-top:1px;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.profile-header-actions{position:absolute;top:16px;right:20px;z-index:2}.header-settings-btn{display:flex;align-items:center;gap:6px;padding:7px 14px;background:var(--border-default);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-strong);border-radius:var(--profile-radius-xs);color:var(--text-primary);cursor:pointer;font-size:.78rem;font-weight:600;transition:all var(--profile-transition);text-decoration:none}.header-settings-btn:hover{background:var(--bg-muted);border-color:var(--border-strong);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.header-settings-btn .btn-icon{font-size:.85rem}.profile-bio{background:var(--bg-subtle);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:12px 16px;border-radius:var(--profile-radius-sm);margin-top:14px;font-size:.85rem;color:var(--text-secondary);border:1px solid var(--border-default);line-height:1.5}.profile-bio p{margin:0}.profile-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.achievement-badge{background:#6366f11f;padding:4px 12px;border-radius:20px;font-size:.72rem;font-weight:600;color:var(--profile-primary-pale);border:1px solid rgba(99,102,241,.15);letter-spacing:.02em;transition:all var(--profile-transition)}.achievement-badge:hover{background:#6366f133;transform:translateY(-1px)}.profile-tabs{position:sticky;top:0;z-index:20;background:var(--profile-bg, #0f0f1e);padding-top:6px;margin-bottom:24px}.tabs-container{display:flex;gap:0;overflow-x:auto;scrollbar-width:none;border-bottom:2px solid var(--profile-border)}.tabs-container::-webkit-scrollbar{display:none}.tab-button{display:flex;align-items:center;gap:7px;padding:12px 20px;background:none;border:none;color:var(--profile-text-secondary);cursor:pointer;transition:all var(--profile-transition);border-bottom:2px solid transparent;margin-bottom:-2px;white-space:nowrap;font-size:.82rem;font-weight:500;position:relative}.tab-button:hover{color:var(--text-secondary);background:var(--surface-card)}.tab-button.active{color:var(--profile-primary-pale);border-bottom-color:var(--profile-primary);font-weight:600}.tab-button.active:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:24px;height:2px;background:var(--profile-primary);border-radius:2px;box-shadow:0 0 8px #6366f166}.tab-icon{font-size:.95rem}.tab-label{font-weight:inherit;letter-spacing:.01em}.profile-content{min-height:300px}.general-level-section{margin-bottom:16px}.level-card{background:linear-gradient(135deg,#4f46e51a,#7c3aed14);border-radius:var(--profile-radius);padding:12px 16px;border:1px solid rgba(79,70,229,.15);display:flex;align-items:center;gap:14px;box-shadow:var(--profile-shadow);transition:all var(--profile-transition)}.level-card:hover{border-color:#4f46e540}.level-badge{position:relative;width:44px;height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.level-badge i{font-size:2rem;color:#f59e0b;filter:drop-shadow(0 1px 3px rgba(245,158,11,.3))}.level-badge .level-number{position:absolute;font-size:.7rem;font-weight:800;color:#1a1a2e;top:50%;left:50%;transform:translate(-50%,-50%);margin-top:1px}.level-info{flex:1;min-width:0}.level-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:4px}.level-xp{font-size:.75rem;color:#4ade80;font-weight:600;margin-top:3px}.level-hint{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-subtle);border-radius:8px;font-size:.75rem;color:var(--text-secondary);cursor:pointer;transition:background .2s;flex-shrink:0}.level-hint:hover{background:var(--bg-muted)}.level-hint i{color:#769656}.level-progress-bar{width:100%;height:5px;background:var(--bg-muted);border-radius:3px;overflow:hidden}.level-progress-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#769656,#86efac);transition:width .5s ease}.league-section{margin-bottom:20px}.league-card{background:var(--profile-surface);border-radius:var(--profile-radius);padding:18px 22px;border:1px solid var(--profile-border);display:flex;align-items:center;gap:18px;box-shadow:var(--profile-shadow);transition:all var(--profile-transition)}.league-card:hover{transform:translateY(-1px);box-shadow:var(--profile-shadow-md)}.league-icon{font-size:3rem}.league-info{flex:1}.league-name{font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.rating-value{font-size:1.5rem;font-weight:800;color:#fff}.rank-value{font-size:.85rem;color:var(--text-brand)}.league-progress{flex:1;text-align:right}.progress-text{font-size:.8rem;opacity:.7;margin-bottom:6px}.progress-bar{height:6px;background:var(--bg-muted);border-radius:3px;overflow:hidden;margin-bottom:6px}.progress-fill{height:100%;border-radius:3px;transition:width .5s ease}.next-league{font-size:.8rem;opacity:.8}.overview-stats-row{display:flex;gap:10px;margin-bottom:12px}.overview-stat-item{flex:1;display:flex;align-items:center;gap:10px;background:var(--profile-surface);border-radius:var(--profile-radius);padding:12px 14px;border:1px solid var(--profile-border);transition:all var(--profile-transition)}.overview-stat-item:hover{border-color:var(--profile-border-hover)}.overview-stat-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0}.overview-stat-icon.games{background:#6366f11f;color:#818cf8}.overview-stat-icon.wins{background:#34d3991f;color:#34d399}.overview-stat-icon.losses{background:#f871711f;color:#f87171}.overview-stat-icon.draws{background:#9ca3af1f;color:#9ca3af}.overview-stat-data{display:flex;flex-direction:column;min-width:0}.overview-stat-value{font-size:1.15rem;font-weight:700;color:var(--text-primary);line-height:1.2}.overview-stat-label{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-weight:500}.overview-highlight-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}.overview-highlight-card{background:var(--profile-surface);border-radius:var(--profile-radius);padding:14px;border:1px solid var(--profile-border);transition:all var(--profile-transition)}.overview-highlight-card:hover{border-color:var(--profile-border-hover)}.highlight-top{display:flex;align-items:baseline;gap:8px;margin-bottom:2px}.highlight-value{font-size:1.35rem;font-weight:700;color:var(--text-primary);line-height:1.2}.highlight-value.membership-date{font-size:1rem}.highlight-badge{font-size:.65rem;font-weight:600;padding:2px 6px;border-radius:4px;display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.highlight-badge.positive{background:#34d3991f;color:#34d399}.highlight-badge.negative{background:#f871711f;color:#f87171}.highlight-badge.neutral{background:var(--bg-subtle);color:var(--text-muted)}.highlight-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-weight:500}.game-specific-stats{margin-bottom:24px}.game-specific-stats .section-header{margin-bottom:14px}.game-specific-stats .section-header h3{margin:0;font-size:.95rem;font-weight:700;letter-spacing:-.01em}.game-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.game-stat-card{background:var(--profile-surface);border-radius:var(--profile-radius);overflow:hidden;border:1px solid var(--profile-border);border-top:3px solid;box-shadow:var(--profile-shadow);transition:all var(--profile-transition)}.game-stat-card:hover{border-color:var(--profile-border-hover);border-top-color:inherit;transform:translateY(-2px);box-shadow:var(--profile-shadow-md)}.game-stat-header{display:flex;align-items:center;gap:12px;padding:14px 16px}.game-stat-icon{font-size:1.5rem}.game-stat-header h4{margin:0;font-size:.9rem;font-weight:600;color:var(--text-primary)}.game-board-size{font-size:.7rem;color:var(--text-muted)}.game-stat-body{padding:0 16px 14px}.game-stat-row{display:flex;justify-content:space-between;padding:6px 0;font-size:.8rem;border-bottom:1px solid var(--border-default)}.game-stat-row:last-child{border-bottom:none}.game-stat-row span{color:var(--text-secondary)}.game-stat-row strong{color:var(--text-primary);font-weight:600}.profile-info-section{background:var(--profile-surface);border-radius:var(--profile-radius);padding:22px;border:1px solid var(--profile-border);box-shadow:var(--profile-shadow)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h3{margin:0;font-size:.95rem;font-weight:600;color:var(--text-primary)}.edit-btn{padding:6px 14px;background:#6366f126;color:var(--text-brand);border:1px solid rgba(99,102,241,.2);border-radius:8px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s}.edit-btn:hover{background:#6366f140}.edit-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-weight:600;font-size:.8rem;color:var(--text-secondary)}.form-group input,.form-group textarea,.form-group select{padding:10px 12px;background:var(--bg-subtle);border:1px solid var(--border-default);border-radius:8px;color:var(--text-primary);font-size:.85rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#6366f180}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-tertiary)}.form-group textarea{min-height:80px;resize:vertical}.form-group.checkbox{flex-direction:row;align-items:center;gap:10px}.form-group.checkbox input{width:auto;margin:0}.form-group small{color:var(--text-muted);font-size:.75rem}.form-actions{display:flex;gap:10px}.save-btn{padding:10px 20px;background:#769656;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:.85rem;transition:background .2s}.save-btn:hover:not(:disabled){background:#629243}.save-btn:disabled{opacity:.5;cursor:not-allowed}.cancel-edit-btn{padding:10px 20px;background:var(--bg-subtle);color:var(--text-secondary);border:none;border-radius:8px;cursor:pointer;font-weight:500;font-size:.85rem;transition:all .2s}.cancel-edit-btn:hover{background:var(--border-default)}.profile-details{display:flex;flex-direction:column;gap:14px}.detail-item{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border-default)}.detail-item:last-child{border-bottom:none}.detail-item strong{color:var(--text-secondary);font-weight:500;font-size:.85rem}.detail-item p,.detail-item span{color:var(--text-primary);font-size:.85rem;margin:0}.game-mode-badge,.privacy-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:8px;font-size:.8rem;font-weight:500}.game-mode-badge{background:#6366f11f;color:var(--text-brand)}.privacy-badge.public{background:#10b9811f;color:#6ee7b7}.privacy-badge.private{background:#ef44441f;color:#fca5a5}.profile-history{padding:0}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.history-header h3{margin:0;font-size:.95rem;font-weight:600}.history-stats{font-size:.8rem;color:var(--text-muted)}.no-games{text-align:center;padding:3rem;color:var(--text-muted)}.no-games-icon{font-size:2.5rem;margin-bottom:12px}.games-table{background:var(--profile-surface);border-radius:var(--profile-radius);overflow:hidden;border:1px solid var(--profile-border);box-shadow:var(--profile-shadow)}.table-header{display:grid;grid-template-columns:110px 1fr 80px 50px 55px;gap:4px;padding:8px 12px;background:var(--surface-card);font-weight:600;font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.game-row{display:grid;grid-template-columns:110px 1fr 80px 50px 55px;gap:4px;padding:6px 12px;border-bottom:1px solid var(--border-default);font-size:.75rem;align-items:center;transition:background .15s}.game-row:hover{background:var(--bg-subtle)}.game-row:last-child{border-bottom:none}.game-row.win{border-left:3px solid #34d399}.game-row.loss{border-left:3px solid #f87171}.game-row.draw{border-left:3px solid #94a3b8}.game-row.cancelled{border-left:3px solid #fbbf24;opacity:.7}.col-date{color:var(--text-muted);font-size:.7rem}.opponent-name{font-weight:500;color:var(--text-primary);font-size:.75rem}.result-badge{display:flex;align-items:center;gap:4px;font-size:.7rem}.result-badge.win .result-text{color:#34d399;font-weight:600}.result-badge.loss .result-text{color:#f87171;font-weight:600}.result-badge.draw .result-text{color:var(--text-muted)}.result-badge.cancelled .result-text{color:#fbbf24}.result-icon{font-size:.55rem;display:flex;align-items:center;flex-shrink:0}.result-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.rating-change{font-weight:600;font-size:.7rem}.rating-change.positive{color:#34d399}.rating-change.negative{color:#f87171}.rating-change.neutral{color:var(--text-muted)}.load-more-section{text-align:center;margin-top:16px}.load-more-btn{padding:8px 24px;background:#6366f126;color:var(--text-brand);border:1px solid rgba(99,102,241,.2);border-radius:8px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s}.load-more-btn:hover:not(:disabled){background:#6366f140}.load-more-btn:disabled{opacity:.5;cursor:not-allowed}.profile-friends{padding:0}.friends-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.friends-header h3{margin:0;font-size:.95rem}.add-friend-btn{padding:8px 14px;background:#769656;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:.8rem;transition:background .2s}.add-friend-btn:hover{background:#629243}.no-friends{text-align:center;padding:2.5rem;color:var(--text-muted)}.no-friends-icon{font-size:2.5rem;margin-bottom:10px}.profile-friends .find-friends-btn{margin-top:12px;padding:8px 20px;background:#769656;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;font-size:.8rem}.profile-friends .find-friends-btn:hover{background:#629243}.profile-friends .loading-state{display:flex;flex-direction:column;align-items:center;padding:2rem;gap:12px}.profile-friends .spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.08);border-top-color:#769656;border-radius:50%;animation:spin 1s linear infinite}.friends-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.friend-card{background:var(--profile-surface);border-radius:var(--profile-radius-sm);padding:14px;display:flex;align-items:center;gap:12px;border:1px solid var(--profile-border);transition:all var(--profile-transition);box-shadow:var(--profile-shadow)}.friend-card:hover{border-color:var(--profile-border-hover);transform:translateY(-1px);box-shadow:var(--profile-shadow-md)}.friend-avatar-container{position:relative;flex-shrink:0}.friend-avatar-img{width:40px;height:40px;border-radius:50%}.friend-status-dot{position:absolute;bottom:1px;right:1px;width:10px;height:10px;border-radius:50%;border:2px solid var(--bg-base)}.friend-status-dot.online{background:#34d399}.friend-status-dot.offline{background:#64748b}.friend-info{flex:1;min-width:0}.friend-name{font-weight:600;font-size:.85rem;color:var(--text-primary);margin-bottom:2px}.friend-status-text{font-size:.7rem;color:var(--text-muted)}.friend-actions{display:flex;gap:6px}.friend-actions .view-profile-btn,.friend-actions .remove-friend-btn{width:32px;height:32px;border-radius:8px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .15s}.friend-actions .view-profile-btn{background:#6366f11f;color:var(--text-brand)}.friend-actions .view-profile-btn:hover{background:#6366f140}.friend-actions .remove-friend-btn{background:#ef444414;color:#f8717199}.friend-actions .remove-friend-btn:hover{background:#ef444426;color:#f87171}.friend-actions .remove-friend-btn:disabled{opacity:.4;cursor:not-allowed}.friends-requests-section{margin-top:24px;background:var(--surface-card);border-radius:12px;padding:16px;border:1px solid var(--border-default)}.friends-requests-section h4{margin:0 0 12px;font-size:.9rem;font-weight:600}.requests-tabs{display:flex;gap:4px;margin-bottom:12px;border-bottom:1px solid var(--border-default);padding-bottom:8px}.requests-tabs .tab{padding:6px 12px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:6px;font-size:.8rem;transition:all .15s}.requests-tabs .tab:hover{background:var(--bg-subtle);color:var(--text-secondary)}.requests-tabs .tab.active{background:#6366f126;color:var(--text-brand)}.requests-content{min-height:60px}.no-requests{text-align:center;padding:20px;color:#ffffff59;font-size:.8rem}.requests-list{display:flex;flex-direction:column;gap:8px}.request-item{display:flex;align-items:center;gap:12px;padding:10px;background:var(--surface-card);border-radius:8px}.request-item.sent{opacity:.7}.request-avatar{width:36px;height:36px;border-radius:50%}.request-info{flex:1;display:flex;flex-direction:column;gap:2px}.request-username{font-weight:600;font-size:.85rem}.request-status{font-size:.7rem;padding:2px 8px;border-radius:8px;display:inline-block;width:fit-content}.request-status.pending{background:#6366f11f;color:var(--text-brand)}.request-time{font-size:.7rem;color:#ffffff59}.request-actions{display:flex;gap:6px}.request-actions .accept-btn,.request-actions .reject-btn{padding:5px 12px;border:none;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .15s}.request-actions .accept-btn{background:#059669;color:#fff}.request-actions .accept-btn:hover{background:#047857}.request-actions .reject-btn{background:var(--bg-subtle);color:var(--text-tertiary)}.request-actions .reject-btn:hover{background:var(--border-default)}.request-actions .accept-btn:disabled,.request-actions .reject-btn:disabled{opacity:.4;cursor:not-allowed}.profile-settings-section{padding:0}.settings-header{margin-bottom:20px}.settings-title h2{font-size:1rem;font-weight:600;margin:0 0 4px;color:var(--text-primary)}.settings-title p{margin:0;font-size:.8rem;color:var(--text-muted)}.settings-content{display:flex;flex-direction:column;gap:16px}.settings-card{background:var(--profile-surface);border-radius:var(--profile-radius);border:1px solid var(--profile-border);overflow:hidden;box-shadow:var(--profile-shadow);transition:border-color var(--profile-transition)}.settings-card:hover{border-color:var(--profile-border-hover)}.settings-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:var(--surface-card);border-bottom:1px solid var(--border-default)}.settings-card .card-title{display:flex;align-items:center;gap:10px}.settings-card .card-icon{font-size:1.1rem}.settings-card .card-title h3{margin:0;font-size:.9rem;font-weight:600;color:var(--text-primary)}.settings-card .card-body{padding:16px 18px}.card-badge .badge{padding:4px 10px;border-radius:8px;font-size:.7rem;font-weight:600}.card-badge .badge.success{background:#10b9811f;color:#34d399}.card-badge .badge.danger{background:#ef44441f;color:#f87171}.feature-badge{padding:2px 8px;background:#fbbf241f;color:#fbbf24;border-radius:6px;font-size:.65rem;font-weight:600}.username-edit-row{display:flex;gap:10px;align-items:center}.card-icon-fa{font-size:1rem;color:var(--text-secondary)}.modern-input{flex:1;padding:10px 14px;background:var(--bg-subtle);border:1px solid var(--border-default);border-radius:8px;color:var(--text-primary);font-size:.85rem;transition:border-color .2s}.modern-input:focus{outline:none;border-color:#6366f180}.modern-input:disabled{opacity:.5}.action-button{padding:10px 18px;border:none;border-radius:8px;cursor:pointer;font-size:.8rem;font-weight:600;display:flex;align-items:center;gap:6px;transition:all .2s;white-space:nowrap}.action-button.primary{background:#769656;color:#fff}.action-button.primary:hover:not(:disabled){background:#629243}.action-button.compact{padding:10px 16px}.action-button:disabled{opacity:.4;cursor:not-allowed}.action-button.full-width{width:100%;justify-content:center}.button-icon{font-size:.9rem}.input-help{margin-top:6px}.help-text{font-size:.7rem;color:var(--text-muted)}.input-help{display:flex;justify-content:space-between;align-items:center;margin-top:6px}.change-count{font-size:.7rem;font-weight:600}.change-count.available{color:#34d399}.change-count.used{color:var(--text-muted)}.avatar-preview-header{flex-shrink:0}.preview-avatar{width:40px;height:40px;border-radius:50%;border:2px solid var(--border-strong)}.preview-avatar-placeholder{width:40px;height:40px;border-radius:50%;background:var(--bg-subtle);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);font-size:1rem}.feature-info{margin-bottom:14px}.info-text{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#6366f114;border-radius:8px;font-size:.8rem;color:var(--text-tertiary);margin:0}.info-icon{font-size:1rem;flex-shrink:0}.avatar-controls{display:flex;flex-direction:column;gap:16px}.section-label{display:block;font-size:.75rem;font-weight:600;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.3px}.letter-selector{display:flex;flex-wrap:wrap;gap:4px}.letter-option{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-default);border-radius:6px;background:var(--surface-card);color:var(--text-tertiary);cursor:pointer;font-size:.75rem;font-weight:600;transition:all .15s}.letter-option:hover{background:var(--bg-subtle);color:var(--text-primary)}.letter-option.selected{background:#769656;color:#fff;border-color:#769656}.color-selector{display:flex;flex-wrap:wrap;gap:8px}.color-option{width:36px;height:36px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:all .15s}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:#fff;box-shadow:0 0 0 2px #0000004d,0 2px 8px #0000004d}.loading-spinner{width:16px;height:16px;border:2px solid var(--border-strong);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.profile-accessibility{padding:0}.accessibility-header{margin-bottom:20px}.accessibility-header .section-title{display:flex;align-items:center;gap:8px;font-size:.95rem;font-weight:600;margin:0 0 4px;color:var(--text-primary)}.accessibility-header .section-icon{font-size:1rem}.accessibility-header .section-description{margin:0;font-size:.8rem;color:var(--text-muted)}.accessibility-content{display:flex;flex-direction:column;gap:14px}.accessibility-content .settings-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:var(--surface-card);border-bottom:1px solid var(--border-default)}.accessibility-content .card-title{display:flex;align-items:center;gap:10px}.accessibility-content .card-icon{font-size:1.1rem}.accessibility-content .card-title h3{margin:0;font-size:.9rem;font-weight:600}.accessibility-content .card-body{padding:14px 18px}.setting-item{display:flex;justify-content:space-between;align-items:center;gap:16px}.setting-info{flex:1}.setting-label{display:block;font-weight:600;font-size:.85rem;color:var(--text-primary);margin-bottom:2px}.setting-description{margin:0;font-size:.75rem;color:var(--text-muted)}.setting-control{flex-shrink:0}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-switch .slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:var(--bg-muted);border-radius:24px;transition:background .2s}.toggle-switch .slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .2s}.toggle-switch input:checked+.slider{background:#769656}.toggle-switch input:checked+.slider:before{transform:translate(20px)}.theme-picker{display:flex;gap:6px;background:var(--bg-subtle);padding:4px;border-radius:var(--radius-lg)}.theme-option{padding:8px 16px;border-radius:var(--radius-md);font-size:.8125rem;font-weight:600;cursor:pointer;border:none;background:transparent;color:var(--text-secondary);transition:all var(--duration-fast) var(--ease-default)}.theme-option.active{background:var(--surface-card);color:var(--text-brand);box-shadow:var(--shadow-sm)}.theme-option:hover:not(.active){color:var(--text-primary)}.info-card{background:var(--card-bg);border-radius:12px;padding:16px 18px;border:1px solid var(--border-default)}.info-card .info-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.info-card .info-icon{font-size:1rem}.info-card .info-header h4{margin:0;font-size:.85rem;font-weight:600;color:var(--text-primary)}.info-card p{margin:0;font-size:.8rem;color:var(--text-muted);line-height:1.5}.profile-account{padding:0}.access-denied{text-align:center;padding:3rem}.access-denied-icon{font-size:2.5rem;margin-bottom:12px}.account-section{background:var(--profile-surface);border-radius:var(--profile-radius);padding:22px;margin-bottom:16px;border:1px solid var(--profile-border);box-shadow:var(--profile-shadow);transition:border-color var(--profile-transition)}.account-section:hover{border-color:var(--profile-border-hover)}.account-section .section-header{margin-bottom:14px}.account-section .section-header h3{margin:0 0 4px;font-size:.95rem}.section-description{margin:0;font-size:.8rem;color:var(--text-muted);line-height:1.5}.connected-accounts-list{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.connected-account-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--surface-card);border-radius:10px;border:1px solid var(--border-default);gap:12px}.connected-account-item.connected{border-color:#10b98133}.connected-account-item.coming-soon{opacity:.5}.provider-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.provider-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.provider-details{flex:1;min-width:0}.provider-details strong{display:block;font-size:.85rem;margin-bottom:2px}.connected-status{font-size:.75rem;color:#34d399}.connected-email{color:var(--text-muted);margin-left:4px}.coming-soon-status{font-size:.75rem;color:#ffffff59}.not-connected-status{font-size:.75rem;color:var(--text-muted)}.provider-action{flex-shrink:0}.provider-action .connect-btn{padding:6px 14px;border:none;border-radius:8px;color:#fff;font-size:.75rem;font-weight:600;cursor:pointer;transition:filter .2s}.provider-action .connect-btn:hover{filter:brightness(1.15)}.provider-action .connect-btn.disabled{opacity:.4;cursor:not-allowed}.provider-action .disconnect-btn{padding:6px 14px;background:#ef44441f;color:#f87171;border:1px solid rgba(239,68,68,.15);border-radius:8px;font-size:.75rem;font-weight:500;cursor:pointer;transition:background .2s}.provider-action .disconnect-btn:hover{background:#ef444433}.account-warning-note{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;background:#6366f10f;border-radius:8px;font-size:.75rem;color:var(--text-muted);line-height:1.5}.account-warning-note .note-icon{flex-shrink:0}.account-warning-note p{margin:0}.current-session{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--surface-card);border-radius:10px;border:1px solid var(--border-default)}.session-icon{font-size:1.3rem}.session-details{flex:1}.session-details strong{display:block;font-size:.85rem;margin-bottom:2px}.session-details span{font-size:.75rem;color:var(--text-muted)}.logout-session-btn{padding:6px 14px;background:var(--bg-subtle);color:var(--text-secondary);border:1px solid var(--border-default);border-radius:8px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s}.logout-session-btn:hover{background:var(--border-default);color:#fff}.close-account-section{border-color:#ef444426}.close-warning{color:#f87171b3!important}.what-happens{margin-bottom:16px}.what-happens h4{font-size:.85rem;font-weight:600;margin:0 0 10px;color:var(--text-secondary)}.what-happens ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.what-happens li{font-size:.8rem;color:var(--text-muted);padding-left:20px;position:relative}.what-happens li:before{content:"•";position:absolute;left:6px;color:#f8717180}.close-account-btn{padding:10px 20px;background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.2);border-radius:8px;cursor:pointer;font-size:.8rem;font-weight:600;transition:all .2s}.close-account-btn:hover{background:#ef444440}.close-account-btn:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.delete-modal{background:var(--surface-card);border-radius:20px;width:100%;max-width:480px;max-height:85vh;overflow-y:auto;border:1px solid var(--border-default);box-shadow:0 25px 80px #0009,0 0 0 1px var(--bg-subtle)}.delete-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-default)}.delete-modal-header h3{margin:0;font-size:1rem;font-weight:600}.close-modal-btn{background:var(--bg-subtle);border:none;color:var(--text-tertiary);width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:all .15s}.close-modal-btn:hover{background:var(--border-default);color:#fff}.delete-steps{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 20px}.step{display:flex;align-items:center;gap:6px;opacity:.4}.step.active{opacity:1}.step.completed{opacity:.7}.step-number{width:24px;height:24px;border-radius:50%;background:var(--bg-muted);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.step.active .step-number{background:#769656;color:#fff}.step-label{font-size:.8rem;font-weight:500}.step-line{width:40px;height:2px;background:var(--bg-muted)}.delete-modal-content{padding:16px 20px 20px}.info-warning{text-align:center;margin-bottom:16px}.warning-icon-large{font-size:2.5rem;margin-bottom:10px}.info-warning p{font-size:.85rem;color:var(--text-secondary);line-height:1.5;margin:0}.data-loss-list{background:#ef44440f;border-radius:10px;padding:14px 16px;margin-bottom:16px}.data-loss-list h4{margin:0 0 10px;font-size:.85rem;color:#f87171}.data-loss-list ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.data-loss-list li{font-size:.8rem;color:var(--text-tertiary)}.reason-input{margin-bottom:16px}.reason-input label{display:block;font-size:.8rem;font-weight:500;color:var(--text-tertiary);margin-bottom:6px}.reason-input textarea{width:100%;min-height:70px;padding:10px 12px;background:var(--bg-subtle);border:1px solid var(--border-default);border-radius:8px;color:var(--text-primary);font-size:.8rem;resize:vertical;box-sizing:border-box}.reason-input textarea:focus{outline:none;border-color:#6366f166}.reason-input textarea::placeholder{color:var(--text-tertiary)}.final-warning{text-align:center;margin-bottom:16px}.final-warning h4{margin:8px 0;font-size:1rem;color:#f87171}.final-warning p{font-size:.85rem;color:var(--text-tertiary);margin:0}.confirm-input{margin-bottom:16px}.confirm-input input{width:100%;padding:10px 14px;background:var(--bg-subtle);border:1px solid var(--border-default);border-radius:8px;color:var(--text-primary);font-size:.9rem;text-align:center;font-weight:600;letter-spacing:1px;box-sizing:border-box}.confirm-input input:focus{outline:none;border-color:#ef444466}.confirm-input input.valid{border-color:#ef444499;background:#ef44440f}.confirm-input input::placeholder{color:#ffffff40;letter-spacing:1px}.delete-modal-actions{display:flex;gap:10px;justify-content:flex-end}.delete-modal-actions .cancel-btn,.delete-modal-actions .back-btn{padding:8px 18px;background:var(--bg-subtle);color:var(--text-secondary);border:none;border-radius:8px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .15s}.delete-modal-actions .cancel-btn:hover,.delete-modal-actions .back-btn:hover{background:var(--border-default)}.delete-modal-actions .next-btn{padding:8px 18px;border:none;border-radius:8px;cursor:pointer;font-size:.8rem;font-weight:600;transition:all .15s}.delete-modal-actions .next-btn.danger{background:#ef444433;color:#f87171}.delete-modal-actions .next-btn.danger:hover{background:#ef44444d}.confirm-delete-btn{padding:8px 18px;background:#dc2626;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.8rem;font-weight:600;transition:background .2s}.confirm-delete-btn:hover:not(:disabled){background:#b91c1c}.confirm-delete-btn:disabled{opacity:.4;cursor:not-allowed}.last-connection-modal{background:var(--surface-card);border-radius:16px;width:100%;max-width:440px;border:1px solid var(--border-default);box-shadow:0 20px 60px #00000080;padding:24px;text-align:center}.last-connection-modal .warning-icon-large{font-size:2.5rem;margin-bottom:14px}.last-connection-modal h3{margin:0 0 8px;font-size:1rem;font-weight:600}.last-connection-modal p{margin:0 0 20px;font-size:.85rem;color:var(--text-tertiary);line-height:1.5}.last-connection-modal .modal-actions{display:flex;gap:10px;justify-content:center}.last-connection-modal .modal-actions button{padding:8px 20px;border:none;border-radius:8px;cursor:pointer;font-size:.8rem;font-weight:600}.add-friend-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.add-friend-modal{background:var(--surface-card);border-radius:16px;width:100%;max-width:420px;border:1px solid var(--border-default);box-shadow:0 20px 60px #00000080;padding:24px}.add-friend-modal h3{margin:0 0 16px;font-size:1rem;font-weight:600}.add-friend-modal .input-group{display:flex;gap:10px;margin-bottom:10px}.add-friend-modal input{flex:1;padding:10px 14px;background:var(--bg-subtle);border:1px solid var(--border-default);border-radius:8px;color:var(--text-primary);font-size:.85rem}.add-friend-modal input:focus{outline:none;border-color:#6366f180}.add-friend-modal input::placeholder{color:var(--text-tertiary)}.add-friend-modal .send-btn{padding:10px 18px;background:#769656;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:.8rem;white-space:nowrap}.add-friend-modal .send-btn:hover:not(:disabled){background:#629243}.add-friend-modal .send-btn:disabled{opacity:.4;cursor:not-allowed}.add-friend-modal .close-btn{margin-top:10px;padding:8px 16px;background:var(--bg-subtle);color:var(--text-secondary);border:none;border-radius:8px;cursor:pointer;font-size:.8rem;width:100%}.add-friend-modal .close-btn:hover{background:var(--border-default)}.add-friend-modal .success-message{padding:8px 12px;background:#10b9811f;color:#34d399;border-radius:8px;font-size:.8rem;margin-bottom:10px}.add-friend-modal .error-message{padding:8px 12px;background:#ef44441f;color:#f87171;border-radius:8px;font-size:.8rem;margin-bottom:10px}.confirm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.confirm-modal{background:var(--surface-card);border-radius:16px;width:100%;max-width:400px;border:1px solid var(--border-default);box-shadow:0 20px 60px #00000080;padding:24px;text-align:center}.confirm-modal h3{margin:0 0 12px;font-size:1rem;font-weight:600}.confirm-modal p{margin:0 0 20px;font-size:.85rem;color:var(--text-tertiary);line-height:1.5}.confirm-modal .modal-actions{display:flex;gap:10px;justify-content:center}.confirm-modal .modal-actions button{padding:8px 20px;border:none;border-radius:8px;cursor:pointer;font-size:.8rem;font-weight:600;transition:all .15s}.confirm-modal .confirm-btn{background:#dc2626;color:#fff}.confirm-modal .confirm-btn:hover:not(:disabled){background:#b91c1c}.confirm-modal .cancel-btn{background:var(--bg-subtle);color:var(--text-secondary)}.confirm-modal .cancel-btn:hover{background:var(--border-default)}@media (max-width: 768px){.profile-container{padding:0 12px}.profile-header-content{padding:16px 18px}.profile-avatar{width:56px;height:56px}.profile-name{font-size:1.15rem}.profile-quick-stats{gap:16px}.quick-stat .stat-value{font-size:1rem}.overview-stats-row{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.overview-highlight-row{grid-template-columns:1fr}.tab-button{padding:8px 12px;font-size:.75rem}.table-header,.game-row{grid-template-columns:80px 1fr 60px 45px 45px;gap:3px;padding:8px 10px;font-size:.65rem}.opponent-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friends-grid{grid-template-columns:1fr}.input-wrapper.compact{flex-direction:column}.connected-account-item{flex-direction:column;gap:10px;text-align:center}.provider-info{flex-direction:column;text-align:center}.delete-modal{margin:10px;max-height:90vh}.game-stats-grid{grid-template-columns:1fr}.level-card{flex-direction:column;text-align:center}}@media (max-width: 480px){.overview-stats-row{grid-template-columns:1fr 1fr}.profile-avatar-section{gap:12px}.profile-header-bg{height:100px}.tabs-container{gap:0}.tab-button{padding:8px 10px;font-size:.7rem}.tab-icon{font-size:.85rem}.table-header,.game-row{grid-template-columns:70px 1fr 50px 45px;font-size:.6rem;gap:2px;padding:6px 8px}.table-header span:nth-child(4),.table-header span:nth-child(5),.game-row span:nth-child(4),.game-row div:nth-child(4),.game-row span:nth-child(5),.game-row div:nth-child(5){display:none}}.settings-page{min-height:100%;color:var(--text-primary);padding-bottom:80px}.settings-container{max-width:1060px;margin:0 auto;padding:0 24px}.settings-loading,.settings-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center;gap:16px}.settings-spinner{width:40px;height:40px;border:3px solid var(--border-default);border-top-color:var(--brand-500);border-radius:50%;animation:settings-spin 1s linear infinite}@keyframes settings-spin{to{transform:rotate(360deg)}}.settings-loading p{font-size:.85rem;color:var(--text-muted)}.settings-error .error-icon{font-size:3rem}.settings-error h2{margin:0;font-size:1.1rem;color:var(--text-primary)}.settings-error p{margin:0;font-size:.85rem;color:var(--text-muted)}.settings-error .retry-btn{padding:10px 24px;background:var(--brand-500);color:#fff;border:none;border-radius:var(--radius-lg);cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s var(--ease-default)}.settings-error .retry-btn:hover{background:var(--brand-600);transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.settings-page-header{padding:28px 0 22px;border-bottom:1px solid var(--border-default);margin-bottom:24px}.settings-page-title{display:flex;align-items:center;gap:12px;margin:0;font-size:1.5rem;font-weight:800;color:var(--text-primary);letter-spacing:-.02em}.settings-page-icon{font-size:1.4rem}.settings-layout{display:grid;grid-template-columns:240px 1fr;gap:28px;align-items:start}.settings-nav{position:sticky;top:16px;background:var(--card-bg);border-radius:var(--radius-2xl);border:1px solid var(--card-border);padding:16px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow-card)}.settings-search{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-subtle);border-radius:var(--radius-lg);margin-bottom:8px;border:1px solid var(--border-default);transition:border-color .2s}.settings-search:focus-within{border-color:var(--brand-300)}.settings-search .search-icon{font-size:.85rem;opacity:.35}.settings-search .search-input{flex:1;background:transparent;border:none;color:var(--text-secondary);font-size:.82rem;outline:none}.settings-search .search-input::placeholder{color:var(--text-muted)}.settings-nav-list{display:flex;flex-direction:column;gap:3px}.settings-nav-item{display:flex;align-items:center;gap:12px;padding:11px 16px;background:transparent;border:none;border-radius:var(--radius-lg);color:var(--text-tertiary);cursor:pointer;font-size:.85rem;font-weight:500;text-align:left;transition:all .2s var(--ease-default);width:100%;position:relative;overflow:hidden}.settings-nav-item:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:var(--brand-500);border-radius:0 4px 4px 0;transition:height .2s var(--ease-default)}.settings-nav-item:hover{background:var(--bg-subtle);color:var(--text-primary)}.settings-nav-item.active{background:var(--brand-50);color:var(--brand-500);font-weight:600}[data-theme=dark] .settings-nav-item.active{background:#6366f11a;color:var(--brand-300)}.settings-nav-item.active:before{height:60%;box-shadow:0 0 8px #6366f14d}.settings-nav-item .nav-icon{font-size:1.05rem;width:22px;text-align:center;flex-shrink:0}.settings-nav-item .nav-label{flex:1;letter-spacing:.01em}.settings-content{min-height:400px}.settings-content-header{margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--border-default)}.settings-content-header .content-title{margin:0 0 6px;font-size:1.2rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.settings-content-header .content-description{margin:0;font-size:.82rem;color:var(--text-muted);line-height:1.5}.settings-content-body .profile-settings-section{padding:0}.settings-content-body .settings-header{display:none}.settings-content-body .profile-account,.settings-content-body .profile-accessibility{padding:0}.settings-content-body .accessibility-header{display:none}@media (max-width: 768px){.settings-layout{grid-template-columns:1fr;gap:16px}.settings-nav{position:static;flex-direction:column;padding:10px;gap:4px}.settings-search{display:none}.settings-nav-list{flex-direction:row;flex-wrap:wrap;gap:4px}.settings-nav-item{padding:8px 14px;font-size:.8rem;justify-content:center}.settings-nav-item .nav-icon{display:none}.settings-nav-item:before{display:none}.settings-page-header{padding:16px 0;margin-bottom:16px}.settings-page-title{font-size:1.2rem}}.navigation-header{background:var(--nav-bg);border-bottom:1px solid var(--nav-border);padding:16px 32px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;height:80px;box-sizing:border-box;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.logo{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:700;color:var(--text-primary)}.logo-icon{font-size:32px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.nav-tabs{display:flex;gap:4px}.nav-tab{background:var(--btn-secondary-bg);border:1px solid var(--btn-secondary-border);color:var(--text-secondary);padding:12px 20px;border-radius:var(--radius-xl);cursor:pointer;font-size:14px;font-weight:600;transition:all .3s ease;position:relative;display:flex;align-items:center;gap:8px}.nav-tab .nav-icon{font-size:16px;opacity:.9}.nav-tab:hover:not(:disabled){background:var(--sidebar-item-hover);color:var(--text-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.nav-tab:hover:not(:disabled) .nav-icon{opacity:1}.nav-tab.active{background:var(--sidebar-item-active);color:var(--text-brand);border-color:var(--border-brand);box-shadow:var(--shadow-sm)}.nav-tab.active .nav-icon{opacity:1}.nav-tab:disabled{opacity:.5;cursor:not-allowed}.user-profile{display:flex;align-items:center;gap:16px}.auth-section{display:flex;align-items:center}.login-button{display:flex;align-items:center;gap:8px;padding:12px 20px;background:var(--gradient-brand);color:var(--btn-primary-text);border:none;border-radius:var(--radius-xl);font-size:14px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);position:relative;overflow:hidden;box-shadow:0 4px 16px #6366f14d}.login-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.login-button:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 32px #6366f166}.login-button:hover:before{left:100%}.login-button:active{transform:translateY(-1px) scale(1.01);transition:all .1s}.login-button svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.coins{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#ffc10714;border:1px solid rgba(255,193,7,.2);border-radius:var(--radius-full);transition:all .3s ease}.coins:hover{background:#ffc10726;border-color:#ffc10759}.coin-emoji{font-size:14px;filter:drop-shadow(0 1px 2px rgba(255,193,7,.6))}.coin-count{font-weight:600;font-size:14px;color:var(--text-primary)}.user-profile-button{display:flex;align-items:center;gap:12px;padding:8px 16px;background:var(--btn-secondary-bg);border:1px solid var(--btn-secondary-border);border-radius:var(--radius-full);cursor:pointer;transition:all .3s ease;color:var(--text-primary)}.user-profile-button:hover{background:var(--sidebar-item-hover);border-color:var(--border-strong)}.user-avatar{width:32px;height:32px;border-radius:50%;border:2px solid var(--border-strong)}.user-details{display:flex;flex-direction:column;gap:2px;text-align:left}.user-name{font-weight:600;font-size:14px;color:var(--text-primary)}.user-karma{font-size:12px;color:var(--text-tertiary)}.dropdown-arrow{display:flex;align-items:center;color:var(--text-muted);transition:all .3s ease}.user-profile-button:hover .dropdown-arrow{color:var(--text-secondary)}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--surface-card);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border:1px solid var(--border-default);border-radius:var(--radius-2xl);padding:8px;min-width:200px;box-shadow:var(--shadow-xl);z-index:var(--z-dropdown);animation:dropdownFadeIn .2s ease-out}.dropdown-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--radius-xl);cursor:pointer;transition:all .3s ease;color:var(--text-primary);font-size:14px;font-weight:500}.dropdown-item:hover{background:var(--sidebar-item-hover);color:var(--text-brand)}.dropdown-separator{height:1px;background:var(--border-default);margin:8px 12px}.logout-item{color:var(--error-500)}.logout-item:hover{background:var(--error-50);color:var(--error-600)}.logout-item:hover svg{color:var(--error-600)}.guest-badge{display:inline-block;background:var(--gradient-brand);color:var(--btn-primary-text);font-size:10px;padding:2px 6px;border-radius:10px;margin-left:8px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.guest-login-button{display:flex;align-items:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,var(--success-500) 0%,var(--success-600) 100%);color:var(--btn-primary-text);border:none;border-radius:var(--radius-lg);font-size:13px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);position:relative;overflow:hidden;box-shadow:0 4px 16px #22c55e4d;margin-left:12px}.guest-login-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.guest-login-button:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 32px #22c55e66}.guest-login-button:hover:before{left:100%}.guest-login-button:active{transform:translateY(-1px) scale(1.01);transition:all .1s}.guest-login-button svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}@media (max-width: 1024px){.navigation-header{padding:12px 24px;height:72px}.logo{font-size:18px}.logo-icon{font-size:28px}.nav-tab{padding:10px 16px;font-size:13px}.nav-tab .nav-icon{font-size:15px}.login-button{padding:10px 16px;font-size:13px}}@media (max-width: 768px){.navigation-header{flex-direction:column;height:auto;padding:16px;gap:16px}.nav-tabs{flex-wrap:wrap;gap:8px;justify-content:center;order:2}.nav-tab{padding:10px 16px;font-size:12px}.nav-tab .nav-icon{font-size:14px}.user-profile{order:1;justify-content:center}.login-button{padding:10px 16px;font-size:13px;gap:6px}.coins{padding:6px 12px;gap:8px}.coin-display{gap:6px}.coin-icon{width:16px;height:16px}.coin-count{font-size:14px}.user-avatar{width:36px;height:36px}.user-dropdown{right:-16px;left:-16px;min-width:auto;max-width:280px}}@media (max-width: 480px){.logo span{display:none}.nav-tab span:not(.nav-icon){display:none}.dropdown-arrow,.login-button span{display:none}.login-button{padding:10px}.coins{padding:4px 8px;gap:6px}.coin-display{gap:4px}.coin-icon{width:14px;height:14px}.coin-count{font-size:13px;font-weight:600}.user-dropdown{min-width:160px}.dropdown-item{padding:10px 12px;font-size:13px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.modal-content{position:relative;background:var(--surface-card);border-radius:var(--radius-2xl);max-width:90vw;max-height:90vh;overflow-y:auto}.modal-close{position:absolute;top:10px;right:15px;background:var(--bg-muted);border:none;color:var(--text-secondary);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;font-weight:700;z-index:1001;transition:all .3s ease}.modal-close:hover{background:var(--bg-subtle);transform:scale(1.1)}.notifications{position:relative;margin-right:16px}.notification-bell{background:var(--btn-secondary-bg);border:1px solid var(--btn-secondary-border);border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;position:relative;color:var(--text-secondary)}.notification-bell svg{flex-shrink:0}.notification-bell:hover{background:var(--sidebar-item-hover);border-color:var(--border-strong);color:var(--text-primary);transform:scale(1.05)}.notification-badge{position:absolute;top:-4px;right:-4px;background:linear-gradient(135deg,var(--error-500) 0%,var(--error-600) 100%);color:var(--btn-primary-text);font-size:11px;font-weight:600;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-base)}.notification-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--surface-card);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border:1px solid var(--border-default);border-radius:var(--radius-2xl);width:380px;max-width:min(380px,95vw);max-height:500px;box-shadow:var(--shadow-xl);z-index:var(--z-dropdown);overflow:hidden;overflow-x:hidden;animation:slideDown .2s ease-out;display:flex;flex-direction:column;color:var(--text-primary);box-sizing:border-box}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notification-header{padding:18px 20px;border-bottom:1px solid var(--border-default);display:flex;justify-content:space-between;align-items:center;background:var(--bg-subtle)}.notification-header h3{margin:0;font-size:17px;font-weight:700;color:var(--text-primary)}.mark-all-read{background:none;border:none;color:var(--text-brand);font-size:12px;cursor:pointer;padding:6px 10px;border-radius:var(--radius-md);transition:all .2s ease;font-weight:600}.mark-all-read:hover{color:var(--brand-400);background:var(--sidebar-item-active)}.nav-tab-dropdown{position:relative}.games-dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;background:var(--surface-card);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border:1px solid var(--border-default);border-radius:var(--radius-2xl);padding:12px;min-width:280px;box-shadow:var(--shadow-xl);z-index:var(--z-dropdown);animation:dropdownFadeIn .2s ease-out}.games-dropdown-item{display:flex;align-items:center;gap:16px;padding:16px;border-radius:var(--radius-xl);cursor:pointer;transition:all .2s ease;color:var(--text-primary)}.games-dropdown-item:hover{background:var(--sidebar-item-hover);transform:translate(4px)}.games-dropdown-item .game-icon{font-size:28px;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.game-dropdown-info{display:flex;flex-direction:column;gap:4px}.game-dropdown-info .game-name{font-size:15px;font-weight:700;color:var(--text-primary)}.game-dropdown-info .game-desc{font-size:12px;color:var(--text-tertiary);font-weight:500}.login-card{background:var(--bg-muted);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-strong);border-radius:16px;padding:32px 24px;box-shadow:0 8px 24px #0000001a,inset 0 1px #fff3;text-align:center;width:100%;animation:slideUp .8s cubic-bezier(.25,.46,.45,.94);position:relative;z-index:1}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.login-card:before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;background:linear-gradient(45deg,#fff3,#ffffff0d);border-radius:16px;z-index:-1;opacity:.5}.login-card h2{color:var(--text-primary);margin-bottom:12px;font-size:24px;font-weight:700;text-shadow:0 2px 6px rgba(0,0,0,.3);letter-spacing:-.3px;background:linear-gradient(135deg,#fff,#dcfce7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-card p{color:var(--text-secondary);margin-bottom:28px;font-size:15px;line-height:1.5;text-shadow:0 1px 3px rgba(0,0,0,.2);font-weight:500}.google-login-btn{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;padding:16px 24px;background:#fffffff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-strong);border-radius:12px;font-size:15px;font-weight:600;color:#374151;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);margin-bottom:28px;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000001a,inset 0 1px #fff9}.google-login-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .5s}.google-login-btn:hover{border-color:#4285f480;box-shadow:0 6px 20px #4285f433,0 4px 12px #0000001a,inset 0 1px #fffc;transform:translateY(-2px) scale(1.01);background:#fffffffa}.google-login-btn:hover:before{left:100%}.google-login-btn:active{transform:translateY(-1px) scale(1.005);transition:all .1s}.google-icon{display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.login-features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}.feature{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 8px;background:var(--bg-muted);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-strong);border-radius:12px;transition:all .3s ease;cursor:default}.feature:hover{background:var(--bg-muted);border-color:var(--border-strong);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.feature-icon{font-size:20px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));animation:float 3s ease-in-out infinite}.feature:nth-child(1) .feature-icon{animation-delay:0s}.feature:nth-child(2) .feature-icon{animation-delay:1s}.feature:nth-child(3) .feature-icon{animation-delay:2s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.feature span:last-child{color:var(--text-primary);font-size:11px;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.2);text-align:center;line-height:1.3}@media (max-width: 768px){.login-card{padding:28px 20px}.login-card h2{font-size:22px}.google-login-btn{padding:14px 20px;font-size:14px}}@media (max-width: 480px){.login-card{padding:24px 16px;border-radius:12px}.login-card h2{font-size:20px;margin-bottom:10px}.login-card p{font-size:14px;margin-bottom:24px}.google-login-btn{padding:12px 16px;margin-bottom:24px;gap:10px;font-size:14px}.login-features{grid-template-columns:1fr;gap:12px;margin-top:20px}.feature{flex-direction:row;justify-content:flex-start;text-align:left;padding:12px;gap:12px}.feature-icon{font-size:18px;flex-shrink:0}.feature span:last-child{font-size:12px;text-align:left}}@media (max-width: 360px){.login-card{padding:20px 12px}.login-card h2{font-size:18px}}.quick-settings-overlay{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;background:#000c!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex!important;align-items:center!important;justify-content:center!important;z-index:100000!important;padding:20px;box-sizing:border-box}.quick-settings-modal{background:var(--surface-card);border-radius:16px;border:1px solid var(--border-default);box-shadow:0 20px 40px #00000080;width:100%;max-width:520px;max-height:95vh;overflow:hidden;position:relative;animation:modalSlideIn .3s ease-out;margin:auto;transform:translateY(0);display:flex;flex-direction:column}.quick-settings-header{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-default);flex-shrink:0}.quick-settings-title{font-size:24px;font-weight:700;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:12px}.quick-settings-close{background:none;border:none;color:#888;font-size:28px;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:40px;height:40px}.quick-settings-content{padding:20px;overflow-y:auto;flex:1}.settings-section{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border-default)}.settings-section:last-child{margin-bottom:0;border-bottom:none}.section-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:12px;display:flex;align-items:center;gap:8px}.username-input-group{display:flex;flex-direction:column;gap:8px}.username-input{width:100%;background:var(--bg-subtle);border:2px solid rgba(255,255,255,.1);border-radius:8px;padding:12px 16px;color:var(--text-primary);font-size:16px;font-family:Inter,sans-serif;transition:all .2s ease}.username-input:focus{outline:none;border-color:#629243;background:#4f46e51a;box-shadow:0 0 0 4px #4f46e533}.username-input::placeholder{color:#888}.update-username-btn{background:linear-gradient(145deg,#629243,#769656);border:none;border-radius:8px;padding:10px 16px;color:#fff;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;font-size:14px;align-self:flex-end;width:fit-content}.update-username-btn:hover{transform:translateY(-1px);box-shadow:0 8px 16px #4f46e54d}.username-info{margin-top:8px;font-size:12px;color:#888}.username-error{color:#ef4444}.username-success{color:#10b981}.avatar-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;margin-top:8px}.avatar-option{aspect-ratio:1;border:2px solid rgba(255,255,255,.1);border-radius:50%;background:linear-gradient(145deg,#2d3748,#4a5568);color:var(--text-primary);font-size:12px;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;position:relative;min-height:35px}.avatar-option:hover{border-color:#629243;transform:scale(1.1);box-shadow:0 8px 16px #4f46e54d}.avatar-option.selected{border-color:#629243;background:linear-gradient(145deg,#629243,#769656);box-shadow:0 8px 16px #4f46e566}.avatar-option.selected:after{content:"✓";position:absolute;bottom:-4px;right:-4px;background:#10b981;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;border:2px solid var(--bg-base)}@media (max-width: 600px){.quick-settings-overlay{padding:10px}.quick-settings-modal{margin:0;width:100%;max-width:none;min-height:auto;max-height:95vh}.username-input-group{flex-direction:column;gap:8px}.avatar-grid{grid-template-columns:repeat(6,1fr)}}.home-page{min-height:100vh;background:linear-gradient(135deg,#629243,#769656,#629243);background-size:400% 400%;animation:gradientShift 15s ease infinite;color:#fff;font-family:var(--font-family-primary);position:relative;overflow-x:hidden;width:100%}.home-page:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 30%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(255,255,255,.08) 0%,transparent 50%),radial-gradient(circle at 40% 80%,rgba(118,75,162,.1) 0%,transparent 50%);pointer-events:none}.modern-main{position:relative;z-index:1;max-width:1440px;margin:0 auto;padding:var(--space-4) var(--space-4) var(--space-8);min-height:calc(100vh - 80px)}*{box-sizing:border-box}.home-page *{backface-visibility:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.loading{animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}button:focus,.action-card:focus,.dashboard-card:focus{outline:2px solid #629243;outline-offset:2px}@media (prefers-contrast: high){.home-page{background:#fff}.dashboard-card,.action-card{border:2px solid var(--border-default)}}.hero-section{margin-bottom:var(--space-6)}.hero-content{text-align:center;max-width:600px;margin:0 auto}.hero-title{font-size:clamp(1.5rem,3.5vw,2rem);font-weight:700;margin-bottom:0;line-height:1.3;letter-spacing:-.01em;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.highlight{color:gold;text-shadow:0 0 10px rgba(255,215,0,.3);font-weight:900}@media (max-width: 768px){.hero-section{margin-bottom:var(--space-4)}.hero-title{font-size:clamp(1.25rem,4vw,1.75rem)}}.action-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-4);margin-top:var(--space-6);max-width:1200px;margin-left:auto;margin-right:auto}.action-card{background:var(--bg-primary);border-radius:var(--radius-2xl);cursor:pointer;transition:all var(--duration-slow) cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--border-primary)}.action-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-2xl)}.primary-card{background:var(--bg-muted);color:#fff;border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.primary-card:hover{box-shadow:0 25px 80px #ffffff26;background:#ffffff40}.secondary-card{background:var(--bg-muted);color:#fff;border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.secondary-card:hover{box-shadow:0 25px 80px #0003;background:var(--bg-muted)}.card-content-wrapper{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);min-height:180px}.card-icon-wrapper{display:flex;align-items:center;justify-content:space-between;position:relative}.card-icon{width:56px;height:56px;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--duration-normal) ease}.primary-card .card-icon,.secondary-card .card-icon{background:var(--bg-muted);color:#fff}.card-badge{background:var(--error-500);color:var(--text-inverse);font-size:var(--font-size-xs);font-weight:700;padding:var(--space-1) var(--space-2);border-radius:var(--radius-lg);text-transform:uppercase;letter-spacing:.5px;position:absolute;top:-8px;right:-8px;animation:pulse-badge 2s infinite;box-shadow:var(--shadow-md)}@keyframes pulse-badge{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.card-content{flex:1}.card-content h3{font-size:18px;font-weight:700;margin-bottom:6px;line-height:1.2;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.card-content p{font-size:14px;margin:0 0 8px;line-height:1.4;color:var(--text-primary);text-shadow:0 1px 2px rgba(0,0,0,.2)}.card-stats{font-size:12px;font-weight:600;margin-top:6px;padding:4px 8px;border-radius:16px;display:inline-block;background:#ffd70033;color:gold;text-shadow:0 1px 2px rgba(0,0,0,.3)}.card-action{margin-top:auto}.play-button,.action-button{width:100%;height:48px;border-radius:12px;border:none;font-weight:700;font-size:14px;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px;position:relative;overflow:hidden}.play-button{background:linear-gradient(135deg,gold,orange);color:#333;border:2px solid #FFD700;font-weight:800}.play-button:hover{background:linear-gradient(135deg,orange,gold);transform:scale(1.02);box-shadow:0 8px 25px #ffd70066}.action-button{background:#ffffff40;color:#fff;border:1px solid rgba(255,255,255,.4);font-weight:700}.action-button:hover{background:#ffffff59;transform:scale(1.02);box-shadow:0 8px 25px #fff3}.arrow{transition:transform .3s ease;font-size:16px}.play-button:hover .arrow,.action-button:hover .arrow{transform:translate(4px)}@media (max-width: 768px){.action-cards{grid-template-columns:1fr;gap:16px;margin-top:24px}.card-content-wrapper{padding:20px;min-height:160px}.card-content h3{font-size:18px}}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:var(--space-8);margin-top:var(--space-8);max-width:1200px;margin-left:auto;margin-right:auto}.dashboard-card{background:#ffffff1f;border:1px solid var(--border-strong);border-radius:var(--radius-3xl);padding:var(--space-6);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:all var(--duration-slow) cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #0000001a;position:relative;overflow:hidden}.dashboard-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#629243,#769656);opacity:0;transition:opacity var(--duration-normal) ease}.dashboard-card:hover:before{opacity:1}.dashboard-card:hover{transform:translateY(-2px);box-shadow:0 8px 30px #667eea4d;border-color:#ffd70080;background:#ffffff2e}.stats-header{margin-bottom:16px}.stats-title{display:flex;align-items:center;gap:12px;margin-bottom:12px}.stats-title h3{font-size:20px;font-weight:700;margin:0;color:#fff}.verified-badge{background:#48bb78;color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.rating-display{display:flex;align-items:center;gap:12px;padding:12px 20px;background:linear-gradient(135deg,#629243,#769656);border-radius:16px;color:#fff;position:relative}.rating-value{font-size:24px;font-weight:700}.rating-label{font-size:12px;opacity:.9}.rating-trend{font-size:20px;margin-left:auto;animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-3px)}60%{transform:translateY(-2px)}}.stats-grid{display:flex;justify-content:space-between;gap:16px}.stat-item{flex:1;text-align:center;padding:18px 12px;background:var(--bg-muted);border-radius:14px;border:2px solid transparent;transition:all .3s ease;position:relative;min-width:0}.stat-item:hover{border-color:gold;transform:translateY(-1px);box-shadow:0 6px 20px #ffd70040;background:#ffffff40}.stat-icon{font-size:24px;margin-bottom:6px;display:block}.stat-content .stat-number{font-size:22px;font-weight:800;color:#fff;margin-bottom:3px;line-height:1;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.stat-content .stat-label{font-size:11px;color:#fff;text-transform:uppercase;letter-spacing:.3px;font-weight:700;margin-bottom:4px;text-shadow:1px 1px 3px rgba(0,0,0,.7)}.stat-trend{font-size:11px;font-weight:600;padding:2px 8px;border-radius:12px;display:inline-block}.stat-trend.positive{background:#c6f6d5;color:#22543d}.stat-trend.neutral{background:#fed7aa;color:#9c4221}.stat-trend.negative{background:#fed7d7;color:#742a2a}.login-prompt{text-align:center;padding:18px;background:#ffffff2e;border-radius:14px;margin-top:12px;border:1px solid rgba(255,255,255,.25);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-prompt p{color:#fff;margin:0;font-size:14px;font-weight:600;text-shadow:1px 1px 3px rgba(0,0,0,.5)}.live-stats-header{margin-bottom:16px}.header-content{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.header-content h3{font-size:20px;font-weight:700;margin:0;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.live-indicator{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#48bb78;background:#c6f6d5;padding:6px 12px;border-radius:20px}.pulse-dot{width:8px;height:8px;background:#48bb78;border-radius:50%;animation:pulse-live 1.5s infinite}@keyframes pulse-live{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.1)}}.update-time{font-size:12px;color:#fff;font-weight:600;text-shadow:1px 1px 3px rgba(0,0,0,.7)}.live-stats-grid{display:flex;gap:20px;margin-bottom:20px}.live-stat-card{flex:1;padding:20px;background:var(--bg-muted);border-radius:14px;border:2px solid transparent;transition:all .3s ease;position:relative;overflow:hidden;min-width:0}.live-stat-card:before{content:"";position:absolute;top:0;right:0;width:60px;height:60px;background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:0 0 0 60px}.live-stat-card:hover{border-color:gold;transform:translateY(-1px);box-shadow:0 6px 20px #ffd70040;background:#ffffff40}.stat-visual{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.stat-visual .stat-icon{font-size:32px}.stat-graph{display:flex;align-items:end;gap:2px;height:20px}.graph-bar{width:3px;background:linear-gradient(to top,#629243,#769656);border-radius:2px;animation:graph-grow 2s ease-out}@keyframes graph-grow{0%{height:0}to{height:var(--height)}}.achievement-badge{background:#ff6b6b;color:#fff;padding:4px 8px;border-radius:8px;font-size:10px;font-weight:700;animation:badge-pulse 2s infinite}@keyframes badge-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.live-stat-card .stat-content .stat-number{font-size:26px;font-weight:800;color:#fff;margin-bottom:4px;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.live-stat-card .stat-content .stat-label{font-size:13px;color:#fff;font-weight:700;margin-bottom:6px;text-shadow:1px 1px 3px rgba(0,0,0,.7)}.stat-change{font-size:11px;font-weight:600;color:#48bb78;background:#c6f6d5;padding:2px 8px;border-radius:12px;display:inline-block}.live-activity{background:#ffffff1f;border-radius:16px;padding:20px;border:1px solid var(--border-strong)}.activity-item{display:flex;align-items:center;gap:16px;padding:12px 0;font-size:14px;color:#fff;font-weight:600;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.activity-item:not(:last-child){border-bottom:1px solid rgba(255,255,255,.2)}.activity-dot{width:6px;height:6px;background:#48bb78;border-radius:50%;animation:activity-pulse 3s infinite}@keyframes activity-pulse{0%,to{opacity:1}50%{opacity:.3}}.activity-time{margin-left:auto;color:var(--text-secondary);font-size:11px;font-weight:600}@media (max-width: 768px){.dashboard-grid{grid-template-columns:1fr;gap:16px;margin-top:16px}.stats-grid,.live-stats-grid{flex-direction:column;gap:12px}.dashboard-card{padding:16px}.stat-item{padding:12px 8px}.live-stat-card{padding:12px}}@media (min-width: 1441px){.modern-main{max-width:1600px;padding:40px 32px 80px}.action-cards{grid-template-columns:repeat(3,1fr);max-width:1200px}.dashboard-grid{grid-template-columns:1fr 1fr;max-width:1200px}}@media (max-width: 1440px){.modern-main{padding:32px 24px 60px}}@media (max-width: 1024px){.modern-main{padding:24px 20px 50px}.action-cards{grid-template-columns:repeat(2,1fr);gap:16px}.dashboard-grid{grid-template-columns:1fr;gap:20px}.card-content-wrapper{min-height:160px}}@media (max-width: 768px){.modern-main{padding:20px 16px 40px}.action-cards{grid-template-columns:1fr;gap:16px;margin-top:24px}.card-content-wrapper{padding:20px;min-height:150px}.card-content h3{font-size:18px}.stats-grid{grid-template-columns:repeat(3,1fr);gap:12px}.live-stats-grid{grid-template-columns:1fr;gap:16px}.stat-item{padding:16px 8px}.stat-content .stat-number{font-size:20px}}@media (max-width: 600px){.modern-main{padding:16px 12px 32px}.card-content-wrapper{padding:18px;gap:14px}.dashboard-card{padding:20px}.stats-title h3{font-size:18px}.rating-display{padding:10px 16px}.rating-value{font-size:20px}}@media (max-width: 480px){.modern-main{padding:12px 8px 24px}.action-cards{gap:12px;margin-top:20px}.card-content-wrapper{padding:16px;min-height:140px;gap:12px}.card-content h3{font-size:16px}.card-content p{font-size:13px}.play-button,.action-button{height:44px;font-size:13px}.dashboard-card{padding:16px}.stats-grid{gap:8px}.stat-item{padding:12px 6px}.stat-content .stat-number{font-size:18px}.stat-icon{font-size:24px}.live-stats-grid{gap:12px}.live-stat-card{padding:16px}.stat-visual .stat-icon{font-size:28px}.activity-item{font-size:12px;padding:6px 0}}@media (max-width: 360px){.modern-main{padding:8px 4px 20px}.card-content-wrapper,.dashboard-card{padding:14px}.stats-title h3{font-size:16px}.rating-display{padding:8px 12px;flex-direction:column;text-align:center;gap:4px}.rating-trend{margin-left:0}}@media (max-height: 500px) and (orientation: landscape){.modern-main{padding:12px 16px}.action-cards{grid-template-columns:repeat(3,1fr);gap:12px}.card-content-wrapper{min-height:120px;padding:14px}.dashboard-grid{grid-template-columns:1fr 1fr;gap:16px}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.card-icon svg,.stat-icon{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}}@media print{.home-page{background:#fff!important;color:#000!important}.action-cards,.dashboard-grid{display:block!important}.action-card,.dashboard-card{break-inside:avoid;margin-bottom:20px}}.room-list-page{min-height:100vh;background:linear-gradient(135deg,#629243,#769656,#629243);background-size:400% 400%;animation:gradientShift 15s ease infinite;color:#fff;font-family:var(--font-family-primary);width:100%;overflow-x:hidden;position:relative}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.room-list-page:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 30%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(255,255,255,.08) 0%,transparent 50%),radial-gradient(circle at 40% 80%,rgba(118,75,162,.1) 0%,transparent 50%);pointer-events:none}.lobby-main{position:relative;z-index:1;max-width:1440px;margin:0 auto;padding:var(--space-6) var(--space-6) var(--space-12);min-height:calc(100vh - 80px);display:grid;grid-template-columns:1fr 320px;gap:var(--space-6);align-items:start}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:20px}.loading-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite}.rooms-container{background:var(--bg-subtle);border-radius:var(--radius-3xl);border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);overflow:hidden;box-shadow:0 8px 32px #00000026;height:fit-content}.rooms-header{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.2fr 100px;gap:var(--space-4);padding:var(--space-5) var(--space-6);background:#ffffff1f;border-bottom:1px solid rgba(255,255,255,.15);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.rooms-list{display:flex;flex-direction:column;max-height:600px;overflow-y:auto}.room-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.2fr 100px;gap:16px;padding:16px 24px;border-bottom:1px solid var(--border-default);cursor:pointer;transition:all .3s ease;align-items:center;min-height:60px}.room-row:hover{background:var(--bg-subtle);border-color:var(--border-strong)}.room-name-container{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.room-name{font-weight:600;font-size:16px;color:#fff;display:flex;align-items:center;gap:8px}.room-type-icon{font-size:12px;opacity:.8}.room-creator{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.creator-avatar{width:20px;height:20px;border-radius:50%;border:1px solid var(--border-strong)}.mode-tag,.map-tag,.speed-tag{background:var(--bg-muted);padding:4px 8px;border-radius:8px;font-size:12px;font-weight:500;border:1px solid var(--border-strong);color:#fff;text-align:center}.mode-tag{background:#667eea33;border-color:#667eea4d}.map-tag{background:#764ba233;border-color:#764ba24d}.speed-tag{background:var(--bg-muted);border-color:var(--border-strong)}.players-section{display:flex;align-items:center;gap:8px}.players-indicator{display:flex;gap:4px}.player-slot{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;transition:all .3s ease}.player-slot.filled{background:var(--bg-muted);color:#fff;border:1px solid var(--border-strong)}.player-slot.empty{background:var(--bg-muted);color:var(--text-muted);border:1px solid var(--border-strong)}.players-count{font-size:12px;color:var(--text-secondary);font-weight:500}.room-actions{display:flex;justify-content:center;align-items:center}.join-btn{background:var(--bg-muted);color:#fff;border:1px solid var(--border-strong);padding:8px 16px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;min-width:80px}.join-btn:hover:not(:disabled){background:#ffffff4d;border-color:var(--border-strong);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.join-btn:disabled{background:var(--bg-muted);color:var(--text-muted);cursor:not-allowed}.status-badge{padding:4px 8px;border-radius:8px;font-size:12px;font-weight:600;text-transform:uppercase;color:#fff;border:1px solid var(--border-strong);text-align:center;min-width:80px}.no-rooms{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.no-rooms-icon{font-size:64px;margin-bottom:16px;opacity:.5}.no-rooms h3{margin:0 0 8px;font-size:24px}.no-rooms p{margin:0 0 24px;color:var(--text-tertiary)}.create-first-room-btn{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.create-first-room-btn:hover{transform:translateY(-2px);box-shadow:0 8px 16px #4caf504d}.room-controls{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-6);background:#ffffff1f;border-radius:var(--radius-3xl);border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 32px #00000026;position:sticky;top:var(--space-6);height:fit-content}.create-room-btn{background:linear-gradient(135deg,gold,orange);color:#333;border:2px solid #FFD700;padding:var(--space-4) var(--space-5);border-radius:var(--radius-2xl);font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-3);transition:all var(--duration-normal) ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #ffd7004d;width:100%;text-shadow:none}.create-room-btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px #ffd70066;background:linear-gradient(135deg,orange,gold)}.btn-icon{font-size:20px}.room-stats{display:flex;flex-direction:column;gap:var(--space-4)}.room-stats .stat-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);padding:var(--space-4);background:var(--bg-muted);border-radius:var(--radius-2xl);border:1px solid rgba(255,255,255,.25);transition:all var(--duration-normal) ease}.room-stats .stat-item:hover{background:var(--bg-muted);transform:translateY(-1px);box-shadow:0 4px 16px #ffffff1a}.room-stats .stat-number{font-size:28px;font-weight:800;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.room-stats .stat-label{font-size:12px;color:#fff;text-transform:uppercase;letter-spacing:.5px;font-weight:600;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.password-modal{background:var(--bg-base);border-radius:12px;padding:24px;width:400px;max-width:90vw;border:1px solid #2a2a4e;box-shadow:0 20px 80px #0000004d}.password-modal h3{margin:0 0 8px;color:var(--text-primary);font-size:20px;font-weight:600}.password-modal p{margin:0 0 16px;color:var(--text-secondary);font-size:14px}.password-input{width:100%;padding:12px 16px;background:var(--bg-muted);border:1px solid var(--border-strong);border-radius:8px;color:#fff;font-size:16px;margin-bottom:20px;box-sizing:border-box}.password-input:focus{outline:none;border-color:#629243;box-shadow:0 0 0 3px #4f46e51a}.password-input::placeholder{color:var(--text-muted)}.password-actions{display:flex;gap:12px;justify-content:flex-end}.cancel-btn{background:var(--bg-muted);color:var(--text-secondary);border:1px solid var(--border-strong);padding:8px 16px;border-radius:6px;cursor:pointer;transition:all .2s;font-size:14px}.cancel-btn:hover{background:var(--bg-muted)}.submit-btn{background:#629243;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;transition:all .2s;font-size:14px;font-weight:500}.submit-btn:hover{background:#4a7c31}@media (max-width: 1200px){.lobby-main{grid-template-columns:1fr;gap:var(--space-6);padding:var(--space-4) var(--space-4) var(--space-8)}.room-controls{position:relative;top:auto;order:-1}}@media (max-width: 768px){.lobby-main{padding:var(--space-4) var(--space-3)}.rooms-header{grid-template-columns:1fr;gap:var(--space-2);padding:var(--space-3) var(--space-4)}.room-row{grid-template-columns:1fr;gap:var(--space-2);padding:var(--space-4)}.room-row .room-name-container{order:1}.room-row .players-section{order:2}.room-row .room-actions{order:3;justify-content:flex-start}.room-row .mode-tag,.room-row .map-tag,.room-row .speed-tag{display:none}.room-controls{flex-direction:row;align-items:center;justify-content:space-between;padding:var(--space-4);gap:var(--space-4)}.room-stats{flex-direction:row;gap:var(--space-3)}.room-stats .stat-item{flex-direction:column;text-align:center;min-width:80px;padding:var(--space-3)}}@media (max-width: 480px){.password-modal{width:calc(100vw - 32px);margin:16px}.room-controls{flex-direction:column;gap:16px}.room-stats{flex-direction:column;gap:8px}}.dashboard-container{min-height:100vh;background:var(--bg-base);color:#fff}.dashboard-content{max-width:1400px;margin:0 auto;padding:100px 24px 48px}.dashboard-header{text-align:center;margin-bottom:60px}.dashboard-header h1{font-size:3rem;font-weight:700;margin-bottom:16px;background:linear-gradient(135deg,#629243,#0ea5e9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dashboard-header p{font-size:1.25rem;color:var(--text-secondary)}.games-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:32px;margin-bottom:60px}.game-card{background:var(--bg-subtle);border:2px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden;cursor:pointer;transition:all .3s ease}.game-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px #0006;border-color:var(--border-strong)}.game-card-header{padding:32px;display:flex;align-items:center;gap:24px}.game-thumbnail{flex-shrink:0}.game-icon{width:80px;height:80px;border-radius:16px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #0000004d}.game-icon svg{width:48px;height:48px}.game-info h2{font-size:1.75rem;font-weight:700;margin-bottom:8px}.board-size{display:inline-block;padding:4px 12px;background:var(--bg-muted);border-radius:8px;font-size:.875rem;font-weight:600}.game-card-body{padding:0 32px 32px}.game-description{font-size:1rem;color:var(--text-secondary);margin-bottom:24px;line-height:1.6}.game-rules h3{font-size:1rem;font-weight:600;margin-bottom:12px;color:var(--text-primary)}.game-rules ul{list-style:none;padding:0;margin:0 0 24px}.game-rules li{padding:8px 0 8px 24px;position:relative;color:var(--text-secondary);font-size:.9rem}.game-rules li:before{content:"âœ“";position:absolute;left:0;color:#10b981;font-weight:700}.play-button{width:100%;padding:14px 24px;border:none;border-radius:12px;font-size:1.125rem;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #0003}.play-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.play-button:active{transform:translateY(0)}.dashboard-stats{margin-top:80px}.user-overview h2{font-size:2rem;font-weight:700;margin-bottom:32px;text-align:center}.stats-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.stat-card{background:var(--bg-subtle);border:2px solid rgba(255,255,255,.1);border-radius:16px;padding:24px;transition:all .3s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000004d}.stat-card h3{font-size:1.25rem;font-weight:600;margin-bottom:20px;text-align:center}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border-default)}.stat-row:last-child{border-bottom:none}.stat-row span{color:var(--text-secondary);font-size:.95rem}.stat-row strong{font-size:1.125rem;font-weight:700}@media (max-width: 768px){.dashboard-content{padding:80px 16px 32px}.dashboard-header h1{font-size:2rem}.games-grid{grid-template-columns:1fr;gap:24px}.game-card-header{padding:24px;flex-direction:column;text-align:center}.game-info h2{font-size:1.5rem}.stats-cards{grid-template-columns:1fr}}.game-lobby-container{min-height:100vh;background:var(--bg-base);color:#fff}.game-lobby-content{max-width:1400px;margin:0 auto;padding:100px 24px 48px}.lobby-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:48px;padding-bottom:24px;border-bottom:2px solid rgba(255,255,255,.1)}.lobby-header h1{font-size:2.5rem;font-weight:700}.back-button{padding:12px 24px;background:var(--bg-muted);border:2px solid rgba(255,255,255,.2);border-radius:12px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.back-button:hover{background:var(--bg-muted);border-color:var(--border-strong);transform:translateY(-2px)}.create-room-button{padding:12px 32px;border:none;border-radius:12px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #0000004d}.create-room-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0006}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:100px 0}.spinner{width:60px;height:60px;border:4px solid rgba(255,255,255,.1);border-top:4px solid #629243;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:24px}.loading-spinner p{font-size:1.125rem;color:var(--text-secondary)}.no-rooms{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:100px 0;text-align:center}.no-rooms p{font-size:1.25rem;color:var(--text-secondary);margin-bottom:32px}.create-first-room-button{padding:14px 40px;border:none;border-radius:12px;color:#fff;font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #0000004d}.create-first-room-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0006}.rooms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px}.room-card{background:var(--bg-subtle);border:2px solid rgba(255,255,255,.1);border-radius:16px;padding:24px;cursor:pointer;transition:all .3s ease}.room-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0006;border-color:var(--border-strong)}.room-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-default)}.room-card-header h3{font-size:1.25rem;font-weight:700;margin:0}.password-badge{font-size:1.25rem}.room-card-body{margin-bottom:20px}.room-info-row{display:flex;justify-content:space-between;padding:8px 0}.room-info-row .label{color:var(--text-tertiary);font-size:.95rem}.room-info-row .value{font-weight:600;font-size:.95rem}.ranked-badge{display:inline-block;padding:4px 12px;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:8px;font-size:.75rem;font-weight:700;margin-top:12px}.room-card-footer{display:flex;justify-content:center}.join-button{width:100%;padding:12px 24px;border:none;border-radius:12px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.join-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}@media (max-width: 768px){.game-lobby-content{padding:80px 16px 32px}.lobby-header{flex-direction:column;gap:16px;align-items:stretch}.lobby-header h1{font-size:2rem;text-align:center}.back-button,.create-room-button{width:100%}.rooms-grid{grid-template-columns:1fr}}.admin-panel{min-height:100vh;background:var(--bg-primary, #0f1117);color:var(--text-primary, #e1e4e8);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.admin-login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}.admin-login-card{background:var(--bg-secondary, #161b22);border:1px solid var(--border-color, #30363d);border-radius:12px;padding:40px;width:100%;max-width:400px;box-shadow:0 8px 32px #0000004d}.admin-login-header{text-align:center;margin-bottom:32px}.admin-login-header h1{font-size:24px;color:var(--text-primary, #e1e4e8);margin:0 0 8px}.admin-login-header p{color:var(--text-secondary, #8b949e);margin:0;font-size:14px}.admin-login-form{display:flex;flex-direction:column;gap:16px}.admin-login-error{background:#f851491a;border:1px solid rgba(248,81,73,.3);color:#f85149;padding:10px 14px;border-radius:8px;font-size:13px}.admin-input-group{display:flex;flex-direction:column;gap:6px}.admin-input-group label{font-size:13px;color:var(--text-secondary, #8b949e);font-weight:500}.admin-input-group input{padding:10px 14px;background:var(--bg-primary, #0f1117);border:1px solid var(--border-color, #30363d);border-radius:8px;color:var(--text-primary, #e1e4e8);font-size:14px;outline:none;transition:border-color .2s}.admin-input-group input:focus{border-color:var(--accent-color, #58a6ff)}.admin-login-btn{padding:12px;background:var(--accent-color, #238636);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;margin-top:8px;transition:background .2s}.admin-login-btn:hover{background:#2ea043}.admin-header{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:var(--bg-secondary, #161b22);border-bottom:1px solid var(--border-color, #30363d);position:sticky;top:0;z-index:100}.admin-header h1{font-size:18px;margin:0;color:var(--text-primary, #e1e4e8)}.admin-logout-btn{padding:6px 16px;background:transparent;border:1px solid var(--border-color, #30363d);color:var(--text-secondary, #8b949e);border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s}.admin-logout-btn:hover{color:#f85149;border-color:#f85149}.admin-error-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 24px;background:#f851491a;border-bottom:1px solid rgba(248,81,73,.3);color:#f85149;font-size:13px}.admin-error-bar button{background:none;border:none;color:#f85149;cursor:pointer;font-size:16px}.admin-layout{display:flex;min-height:calc(100vh - 55px)}.admin-sidebar{width:220px;background:var(--bg-secondary, #161b22);border-right:1px solid var(--border-color, #30363d);padding:16px 0;flex-shrink:0}.admin-nav{display:flex;flex-direction:column;gap:2px;padding:0 8px}.admin-nav-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:transparent;border:none;color:var(--text-secondary, #8b949e);font-size:14px;cursor:pointer;border-radius:8px;transition:all .15s;text-align:left;width:100%}.admin-nav-item:hover{background:var(--bg-primary, #0f1117);color:var(--text-primary, #e1e4e8)}.admin-nav-item.active{background:#58a6ff1a;color:var(--accent-color, #58a6ff)}.admin-nav-icon{font-size:16px;width:20px;text-align:center}.admin-main{flex:1;padding:24px;overflow-x:auto;position:relative}.admin-loading-bar{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--accent-color, #58a6ff),transparent);animation:adminLoadSlide 1.5s infinite}@keyframes adminLoadSlide{0%{transform:translate(-100%)}to{transform:translate(100%)}}.admin-dashboard h2{margin:0 0 20px;font-size:20px}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.admin-stat-card{background:var(--bg-secondary, #161b22);border:1px solid var(--border-color, #30363d);border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;transition:border-color .2s}.admin-stat-card:hover{border-color:var(--accent-color, #58a6ff)}.admin-stat-card.warning{border-color:#e3b3414d}.admin-stat-card.danger{border-color:#f851494d}.stat-icon{font-size:28px}.stat-value{font-size:28px;font-weight:700;color:var(--text-primary, #e1e4e8);line-height:1.2}.stat-label{font-size:13px;color:var(--text-secondary, #8b949e)}.stat-sub{font-size:12px;color:var(--text-muted, #6e7681);margin-top:2px}.admin-section{max-width:1200px}.admin-section.database-embedded{max-width:100%;padding:0}.admin-section.database-embedded .development-page-v2.embedded{background:transparent;min-height:unset}.admin-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px;flex-wrap:wrap}.admin-section-header h2{margin:0;font-size:20px}.admin-filters{display:flex;gap:8px;align-items:center}.admin-filters select,.admin-select{padding:6px 12px;background:var(--bg-secondary, #161b22);border:1px solid var(--border-color, #30363d);color:var(--text-primary, #e1e4e8);border-radius:6px;font-size:13px;outline:none}.admin-input{padding:8px 12px;background:var(--bg-secondary, #161b22);border:1px solid var(--border-color, #30363d);color:var(--text-primary, #e1e4e8);border-radius:6px;font-size:13px;outline:none;min-width:180px}.admin-input:focus{border-color:var(--accent-color, #58a6ff)}.admin-refresh-btn{padding:6px 10px;background:var(--bg-secondary, #161b22);border:1px solid var(--border-color, #30363d);color:var(--text-secondary, #8b949e);border-radius:6px;cursor:pointer;font-size:14px}.admin-refresh-btn:hover{border-color:var(--accent-color, #58a6ff);color:var(--accent-color, #58a6ff)}.admin-table-container{overflow-x:auto;border:1px solid var(--border-color, #30363d);border-radius:10px}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table thead{background:var(--bg-secondary, #161b22)}.admin-table th{padding:10px 14px;text-align:left;font-weight:600;color:var(--text-secondary, #8b949e);border-bottom:1px solid var(--border-color, #30363d);white-space:nowrap}.admin-table td{padding:10px 14px;border-bottom:1px solid var(--border-color, #21262d);vertical-align:middle}.admin-table tbody tr:hover{background:#58a6ff08}.empty-row{text-align:center;padding:24px!important;color:var(--text-muted, #6e7681)}.status-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.status-badge.pending{background:#e3b34126;color:#e3b341}.status-badge.reviewed{background:#58a6ff26;color:#58a6ff}.status-badge.action_taken{background:#3fb95026;color:#3fb950}.status-badge.dismissed{background:#8b949e26;color:#8b949e}.status-badge.active-ban{background:#f8514926;color:#f85149}.status-badge.expired-ban{background:#8b949e26;color:#8b949e}.reason-badge{display:inline-block;padding:2px 8px;background:#58a6ff1a;color:var(--accent-color, #58a6ff);border-radius:4px;font-size:11px}.report-desc{margin-top:4px;font-size:12px;color:var(--text-muted, #6e7681);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ban-level{font-weight:600;color:#f85149}.category-badge{padding:2px 8px;background:#8b949e1a;color:var(--text-secondary, #8b949e);border-radius:4px;font-size:11px}.severity-badge{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.severity-badge.severity-1{color:#e3b341;background:#e3b34126}.severity-badge.severity-2{color:#db6d28;background:#db6d2826}.severity-badge.severity-3{color:#f85149;background:#f8514926}.action-cell{display:flex;gap:4px;flex-wrap:wrap}.admin-action-btn{padding:4px 10px;border:1px solid var(--border-color, #30363d);background:transparent;color:var(--text-secondary, #8b949e);border-radius:4px;font-size:12px;cursor:pointer;white-space:nowrap;transition:all .15s}.admin-action-btn:hover{border-color:var(--accent-color, #58a6ff);color:var(--accent-color, #58a6ff)}.admin-action-btn.danger{color:#f85149;border-color:#f851494d}.admin-action-btn.danger:hover{background:#f851491a}.admin-action-btn.info{color:#58a6ff;border-color:#58a6ff4d}.admin-action-btn.info:hover{background:#58a6ff1a}.admin-add-form{display:flex;gap:8px;margin-bottom:16px;align-items:center;flex-wrap:wrap}.admin-add-btn{padding:8px 16px;background:var(--accent-color, #238636);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.admin-add-btn:hover{background:#2ea043}.admin-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.admin-modal{background:var(--bg-secondary, #161b22);border:1px solid var(--border-color, #30363d);border-radius:12px;width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 16px 48px #0006}.admin-modal.chat-modal{max-width:700px}.admin-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color, #30363d)}.admin-modal-header h3{margin:0;font-size:16px}.admin-modal-header button{background:none;border:none;color:var(--text-secondary, #8b949e);font-size:18px;cursor:pointer}.admin-modal-body{padding:20px;overflow-y:auto;flex:1}.user-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.user-detail-grid div{padding:8px 12px;background:var(--bg-primary, #0f1117);border-radius:6px;font-size:13px}.user-ban-history{margin-bottom:20px}.user-ban-history h4{margin:0 0 8px;font-size:14px;color:var(--text-secondary, #8b949e)}.ban-history-item{display:flex;flex-direction:column;gap:2px;padding:8px 12px;background:var(--bg-primary, #0f1117);border-radius:6px;margin-bottom:6px;font-size:13px}.ban-reason{color:var(--text-muted, #6e7681);font-size:12px}.manual-ban-form{display:flex;flex-direction:column;gap:8px}.manual-ban-form h4{margin:0;font-size:14px;color:var(--text-secondary, #8b949e)}.chat-snapshot-list{display:flex;flex-direction:column;gap:6px}.chat-snapshot-msg{display:flex;gap:8px;padding:8px 12px;background:var(--bg-primary, #0f1117);border-radius:6px;font-size:13px;align-items:baseline}.chat-sender{font-weight:600;color:var(--accent-color, #58a6ff);flex-shrink:0;min-width:80px}.chat-content{flex:1;color:var(--text-primary, #e1e4e8);word-break:break-word}.chat-time{font-size:11px;color:var(--text-muted, #6e7681);flex-shrink:0}.admin-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:12px}.admin-spinner{width:32px;height:32px;border:3px solid var(--border-color, #30363d);border-top-color:var(--accent-color, #58a6ff);border-radius:50%;animation:adminSpin .6s linear infinite}@keyframes adminSpin{to{transform:rotate(360deg)}}.admin-info-text{color:var(--text-secondary, #8b949e);font-size:14px;margin-bottom:16px}.admin-quick-actions{display:flex;gap:10px}.admin-link-btn{display:inline-block;padding:10px 20px;background:var(--bg-secondary, #161b22);border:1px solid var(--border-color, #30363d);color:var(--text-primary, #e1e4e8);border-radius:8px;text-decoration:none;font-size:14px;transition:border-color .2s}.admin-link-btn:hover{border-color:var(--accent-color, #58a6ff)}.user-name{font-weight:500}code{background:var(--bg-primary, #0f1117);padding:2px 6px;border-radius:4px;font-size:12px;color:#db6d28}@media (max-width: 768px){.admin-layout{flex-direction:column}.admin-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border-color, #30363d);padding:8px 0}.admin-nav{flex-direction:row;overflow-x:auto;padding:0 8px;gap:4px}.admin-nav-item{flex-shrink:0;padding:8px 12px;font-size:12px}.admin-nav-label{display:none}.admin-nav-icon{font-size:18px}.admin-main{padding:16px}.admin-stats-grid{grid-template-columns:1fr}.admin-add-form{flex-direction:column;align-items:stretch}.admin-input{min-width:auto}.user-detail-grid{grid-template-columns:1fr}}.piece{width:80%;height:80%;border-radius:50%;position:relative;cursor:pointer;transition:transform .2s,box-shadow .2s}.piece:hover{transform:scale(1.1);box-shadow:0 4px 8px #0000004d}.piece.white{background-color:#fff;border:2px solid #000}.piece.black{background-color:#000;border:2px solid #fff}.piece.king:after{content:"â™”";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.5em;color:gold;text-shadow:0 0 2px black}.cell{width:50px;height:50px;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;transition:all .2s ease;border:1px solid rgba(0,0,0,.1)}.square-number{position:absolute;top:2px;left:2px;font-size:9px;font-weight:600;color:#ffffffd9;text-shadow:0 1px 2px rgba(0,0,0,.6);line-height:1;z-index:1;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:Arial,sans-serif;background:#00000059;padding:1px 3px;border-radius:3px;min-width:12px;text-align:center}.cell-light{background-color:#f0d9b5}.cell-light:hover{background-color:#edd5a3}.cell-dark{background-color:#b58863}.cell-dark:hover{background-color:#a67c52}.cell.selected{background-color:#7b61ff!important}.cell.valid-move{background-color:#69aa7d!important}.cell.valid-move:after{content:"";width:14px;height:14px;background-color:#0000004d;border-radius:50%;position:absolute;box-shadow:0 0 4px #0003}.cell.capture-intermediate{background-color:#4a90e2!important;box-shadow:inset 0 0 10px 2px #4a90e2b3}.cell.capture-intermediate:after{content:"";width:10px;height:10px;background-color:var(--text-primary);border-radius:50%;position:absolute;animation:path-pulse 1.2s ease-in-out infinite}.cell.capture-target{background-color:#ff6b35!important;box-shadow:inset 0 0 15px 3px #ff6b35cc}.cell.capture-target:after{content:"×";font-size:22px;font-weight:700;color:#fff;position:absolute;animation:captured-pulse .8s ease-in-out infinite;text-shadow:0 1px 3px rgba(0,0,0,.4)}@keyframes capture-pulse{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.3);opacity:1}to{transform:scale(1);opacity:.8}}@keyframes path-pulse{0%{transform:scale(1);opacity:.7}50%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:.7}}@keyframes captured-pulse{0%{transform:scale(.8);opacity:.9}50%{transform:scale(1.1);opacity:1}to{transform:scale(.8);opacity:.9}}.cell.last-move{box-shadow:inset 0 0 15px 5px #fab428cc;animation:pulse-highlight 1.5s infinite}@keyframes pulse-highlight{0%{box-shadow:inset 0 0 15px 5px #fab42880}50%{box-shadow:inset 0 0 15px 10px #fab428e6}to{box-shadow:inset 0 0 15px 5px #fab42880}}@media (max-width: 768px){.cell{width:min(42px,calc((100vw - 40px) / var(--board-cols, 10)));height:min(42px,calc((100vw - 40px) / var(--board-cols, 10)))}.square-number{font-size:7px}.cell.valid-move:after{width:10px;height:10px}}@media (max-width: 480px){.cell{width:min(34px,calc((100vw - 30px) / var(--board-cols, 10)));height:min(34px,calc((100vw - 30px) / var(--board-cols, 10)))}.square-number{font-size:6px;padding:0 1px;min-width:10px}.cell.valid-move:after{width:8px;height:8px}.cell.capture-intermediate:after{width:7px;height:7px}.cell.capture-target:after{font-size:14px}}@media (max-width: 380px){.cell{width:min(30px,calc((100vw - 24px) / var(--board-cols, 10)));height:min(30px,calc((100vw - 24px) / var(--board-cols, 10)))}.square-number{font-size:5px}}.board{border:2px solid #8B4513;display:inline-block;background-color:#deb887;padding:8px;border-radius:8px;box-shadow:0 8px 25px #0000004d;background:linear-gradient(145deg,#deb887,tan);margin:0 auto;max-width:calc(100vw - 24px);box-sizing:border-box}.row{display:flex}.board-loading{display:flex;align-items:center;justify-content:center;min-height:500px;font-size:1.1rem;color:var(--text-secondary);background:var(--bg-subtle);border-radius:12px;border:2px solid var(--border-default)}@media (max-width: 768px){.board{padding:4px;border-radius:6px;max-width:calc(100vw - 20px)}}@media (max-width: 480px){.board{padding:3px;border-radius:4px;max-width:calc(100vw - 16px);border-width:1px}}@media (max-width: 380px){.board{padding:2px;max-width:calc(100vw - 12px)}}.ms-game-layout{display:flex;gap:24px;align-items:flex-start;justify-content:center;width:100%}.ms-game-layout.readonly{justify-content:center}.ms-board-wrapper{display:flex;flex-direction:column;align-items:center;gap:12px;flex:1 1 auto;width:100%;position:relative;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box}.ms-board-loading{display:flex;align-items:center;justify-content:center;min-height:300px;color:var(--text-muted);font-size:1rem}.ms-double-turn-notif{display:flex;align-items:center;gap:12px;padding:10px 20px;width:100%;border-radius:14px;background:linear-gradient(135deg,#a855f740,#8b5cf626);border:2px solid rgba(168,85,247,.6);box-shadow:0 0 24px #a855f740;animation:doubleTurnAppear .6s cubic-bezier(.34,1.56,.64,1),doubleTurnPulse 1.5s ease-in-out .6s 3;z-index:20;position:relative}.ms-turn-banner{width:100%;padding:10px 20px;border-radius:14px;text-align:center;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.ms-turn-banner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;opacity:.5;z-index:0}.ms-turn-banner-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.ms-turn-banner.my-turn{background:linear-gradient(135deg,#22c55e33,#10b98126);border:2px solid rgba(34,197,94,.5);box-shadow:0 0 20px #22c55e33,inset 0 0 20px #22c55e0d;animation:turn-glow-green 2s ease-in-out infinite}.ms-turn-banner.opponent-turn{background:var(--surface-card);border:1.5px solid rgba(255,255,255,.12);box-shadow:none}.ms-turn-icon{font-size:1.3rem;line-height:1}.ms-turn-icon.pulse-icon{animation:icon-pulse 1.5s ease-in-out infinite}.ms-turn-icon.spin-icon{animation:icon-spin 2s linear infinite}.ms-turn-text{font-size:1rem;font-weight:800;letter-spacing:.02em}.ms-turn-banner.my-turn .ms-turn-text{color:#4ade80;text-shadow:0 0 12px rgba(74,222,128,.3)}.ms-turn-banner.opponent-turn .ms-turn-text{color:var(--text-tertiary)}.ms-turn-hint{font-size:.75rem;font-weight:500}.ms-turn-banner.my-turn .ms-turn-hint{color:#4ade80b3}.ms-turn-banner.opponent-turn .ms-turn-hint{color:#ffffff59}@keyframes turn-glow-green{0%,to{box-shadow:0 0 15px #22c55e26,inset 0 0 15px #22c55e08;border-color:#22c55e66}50%{box-shadow:0 0 28px #22c55e4d,inset 0 0 25px #22c55e0f;border-color:#22c55ea6}}@keyframes icon-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}@keyframes icon-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ms-scores{display:flex;align-items:center;justify-content:center;gap:12px;width:100%}.ms-score-card{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;flex:1;transition:all .3s ease}.ms-score-card.current{border-color:#ef44444d}.ms-score-card.active-turn{background:var(--bg-subtle);border-color:#ffd70080;box-shadow:0 0 16px #ffd70033;animation:score-card-pulse 2s ease-in-out infinite}@keyframes score-card-pulse{0%,to{box-shadow:0 0 12px #ffd70026}50%{box-shadow:0 0 22px #ffd7004d}}.ms-score-color-dot{width:18px;height:18px;border-radius:50%;flex-shrink:0}.ms-score-color-dot.blue-dot{background:radial-gradient(circle at 35% 35%,#60a5fa,#2563eb);box-shadow:0 0 8px #3b82f680}.ms-score-color-dot.red-dot{background:radial-gradient(circle at 35% 35%,#f87171,#dc2626);box-shadow:0 0 8px #ef444480}.ms-score-info{display:flex;flex-direction:column}.ms-score-label{font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.ms-score-value{font-size:1.5rem;font-weight:800;color:var(--text-primary)}.ms-mines-remaining{display:flex;flex-direction:row;align-items:center;gap:5px;padding:6px 10px;background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px}.ms-mines-icon{font-size:1.25rem}.ms-mines-count{font-size:1.25rem;font-weight:800;color:#fbbf24}.ms-mines-label{font-size:.6rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.ms-board{display:grid;gap:1.5px;width:100%;max-width:min(100%,calc(100dvh - 250px));aspect-ratio:1;background:var(--bg-subtle);border-radius:12px;padding:4px;border:2px solid var(--border-default);transition:border-color .4s ease,box-shadow .4s ease;box-sizing:border-box}.ms-board.my-turn-board{border-color:#22c55e4d;box-shadow:0 0 12px #22c55e14}.ms-board.opponent-turn-board{border-color:var(--border-default)}.ms-cell{display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:1rem;font-weight:700;transition:all .15s ease;position:relative;-webkit-user-select:none;user-select:none;min-width:0;min-height:0;width:100%;height:100%;overflow:hidden}.ms-cell.unrevealed{background:linear-gradient(145deg,var(--ms-unrevealed-light, #c8cdd6) 0%,var(--ms-unrevealed-dark, #b0b8c4) 100%);border:1px solid var(--border-default);box-shadow:inset 0 1px #ffffff4d}.ms-cell.unrevealed.clickable{cursor:pointer}.ms-cell.unrevealed.clickable:hover{background:linear-gradient(145deg,var(--ms-unrevealed-hover-light, #d4d9e2) 0%,var(--ms-unrevealed-hover-dark, #bcc4d0) 100%);border-color:#4ade8080;transform:scale(1.08);z-index:2;box-shadow:0 0 10px #4ade8033}.ms-cell.revealed{background:var(--surface-card);border:1px solid var(--border-default)}.ms-cell.revealed.empty{background:var(--surface-card)}.ms-cell.flagged{border:1px solid transparent;animation:flag-place .4s cubic-bezier(.34,1.56,.64,1)}.ms-cell.flag-blue-bg{background:linear-gradient(145deg,#3b82f64d,#2563eb2e);border-color:#3b82f680;box-shadow:inset 0 0 10px #3b82f626}.ms-cell.flag-red-bg{background:linear-gradient(145deg,#ef44444d,#dc26262e);border-color:#ef444480;box-shadow:inset 0 0 10px #ef444426}.ms-cell.mine-exploded{background:linear-gradient(145deg,#ef444459,#dc262638);border-color:#ef444499;animation:mine-pulse .5s ease}.ms-cell.last-action{box-shadow:0 0 0 2px #ffd70099;z-index:1}.ms-cell.opponent-last-move{box-shadow:0 0 0 2.5px #ef4444b3,0 0 12px #ef44444d;z-index:3;animation:opponent-move-ring 2s ease-in-out infinite}.ms-cell.opponent-last-move.opponent-found-mine{box-shadow:0 0 0 2.5px #fbbf24cc,0 0 16px #fbbf2459;animation:opponent-mine-ring 1.5s ease-in-out infinite}@keyframes opponent-move-ring{0%,to{box-shadow:0 0 0 2px #ef444499,0 0 10px #ef444433}50%{box-shadow:0 0 0 3px #ef4444e6,0 0 18px #ef444466}}@keyframes opponent-mine-ring{0%,to{box-shadow:0 0 0 2px #fbbf24b3,0 0 10px #fbbf2440}50%{box-shadow:0 0 0 3.5px #fbbf24,0 0 20px #fbbf2473}}@keyframes mine-pulse{0%{transform:scale(1)}50%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes flag-place{0%{transform:scale(.4);opacity:.3}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.ms-flag-wrapper{display:flex;align-items:center;justify-content:center;width:70%;height:70%;position:relative;filter:drop-shadow(0 1px 3px rgba(0,0,0,.3))}.ms-flag-svg{width:100%;height:100%}.ms-flag-wrapper.flag-blue .ms-flag-svg path{filter:drop-shadow(0 0 4px rgba(59,130,246,.4))}.ms-flag-wrapper.flag-red .ms-flag-svg path{filter:drop-shadow(0 0 4px rgba(239,68,68,.4))}.mine-found-badge{position:absolute;font-size:.55rem;bottom:-3px;right:-5px;filter:none}.ms-opponent-target{font-size:1rem;font-weight:900;color:#ef4444d9;text-shadow:0 0 8px rgba(239,68,68,.5);animation:target-fade 2s ease-in-out infinite}@keyframes target-fade{0%,to{opacity:.6}50%{opacity:1}}.ms-mine{font-size:1.1rem}.ms-empty{width:100%;height:100%}.ms-number{font-weight:800;font-size:clamp(.85rem,2.2vw,1.15rem);text-shadow:0 1px 2px rgba(0,0,0,.3)}.ms-n1{color:#60a5fa}.ms-n2{color:#4ade80}.ms-n3{color:#f87171}.ms-n4{color:#4ade80}.ms-n5{color:#c084fc}.ms-n6{color:#22d3ee}.ms-n7{color:var(--text-primary)}.ms-n8{color:var(--text-muted)}@media (max-width: 768px){.ms-board-wrapper{gap:6px}.ms-turn-banner{padding:6px 12px;border-radius:10px;max-width:100%}.ms-turn-icon{font-size:1rem}.ms-turn-text{font-size:.85rem}.ms-turn-hint{font-size:.65rem}.ms-board{max-width:min(calc(100vw - 16px),calc(100dvh - 210px));border-width:1.5px;padding:3px;gap:1.5px;box-sizing:border-box}.ms-scores{flex-direction:row;gap:6px;max-width:100%}.ms-score-card{padding:5px 8px;gap:5px}.ms-score-value{font-size:1.1rem}.ms-score-label{font-size:.6rem}.ms-cell{font-size:.8rem}.ms-flag-wrapper{width:65%;height:65%}.ms-mine{font-size:.85rem}.ms-number{font-size:clamp(.65rem,2vw,.9rem)}.ms-opponent-target{font-size:.85rem}.ms-double-turn-notif{padding:8px 14px;gap:8px;border-radius:10px}.ms-dt-icon{font-size:1.3rem}.ms-dt-title{font-size:.85rem}.ms-dt-desc{font-size:.65rem}}@media (max-width: 480px){.ms-board-wrapper{gap:3px;overflow-x:hidden;overflow-y:auto}.ms-turn-banner{padding:4px 8px;border-radius:8px}.ms-turn-banner-inner{gap:4px}.ms-turn-icon{font-size:.85rem}.ms-turn-text{font-size:.72rem}.ms-turn-hint{display:none}.ms-board{gap:1px;padding:2px;border-radius:8px;max-width:min(calc(100vw - 16px),calc(100dvh - 225px));box-sizing:border-box}.ms-cell{font-size:.7rem;border-radius:2px}.ms-flag-wrapper{width:60%;height:60%}.ms-mine{font-size:.65rem}.ms-number{font-size:clamp(.55rem,1.8vw,.8rem)}.ms-scores{gap:3px}.ms-score-card{padding:3px 6px;gap:3px;border-radius:6px}.ms-score-value{font-size:.95rem}.ms-score-label{font-size:.55rem}.ms-score-color-dot{width:12px;height:12px}.ms-mines-remaining{padding:3px 6px}.ms-mines-count,.ms-mines-icon{font-size:.9rem}.ms-opponent-target{font-size:.65rem}.ms-double-turn-notif{padding:5px 10px;gap:6px;border-radius:8px;border-width:1.5px}.ms-dt-icon{font-size:1rem}.ms-dt-title{font-size:.72rem}.ms-dt-desc{display:none}.ms-skill-btn{padding:5px 10px;gap:5px;border-radius:8px}.ms-skill-icon{font-size:.9rem}.ms-skill-label{font-size:.7rem}.ms-bomb-result{font-size:.72rem;padding:4px 10px}}@media (max-width: 380px){.ms-board{gap:.5px;padding:1px;max-width:min(calc(100vw - 6px),calc(100dvh - 210px));border-width:1px}.ms-cell{font-size:.5rem}.ms-flag-wrapper{width:55%;height:55%}.ms-mine{font-size:.5rem}.ms-turn-banner{padding:3px 6px}.ms-turn-text{font-size:.65rem}.ms-turn-hint{display:none}.ms-scores{gap:2px}.ms-score-card{padding:2px 5px;gap:2px;border-radius:5px}.ms-score-value{font-size:.85rem}.ms-score-label{display:none}.ms-double-turn-notif{padding:4px 8px;gap:4px}.ms-dt-icon{font-size:.85rem}.ms-dt-title{font-size:.65rem}}.ms-skill-btn{display:flex;align-items:center;gap:10px;padding:10px 20px;border:2px solid rgba(249,115,22,.5);border-radius:14px;background:linear-gradient(135deg,#f9731626,#ea580c1a);color:#fff;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;width:100%;animation:skill-appear .5s cubic-bezier(.34,1.56,.64,1)}.ms-skill-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(249,115,22,.1) 50%,transparent 100%);animation:skill-shimmer 2s ease-in-out infinite}.ms-skill-btn:hover{border-color:#f97316cc;background:linear-gradient(135deg,#f9731640,#ea580c2e);box-shadow:0 0 24px #f973164d;transform:translateY(-1px)}.ms-skill-btn:active{transform:scale(.97)}.ms-skill-btn.skill-earned-anim{animation:skill-appear .5s cubic-bezier(.34,1.56,.64,1),skill-pulse-earned 1.5s ease-in-out .5s 2}.ms-skill-btn.bomb-cancel-btn{border-color:#ef444480;background:linear-gradient(135deg,#ef444426,#dc26261a)}.ms-skill-btn.bomb-cancel-btn:hover{border-color:#ef4444cc;background:linear-gradient(135deg,#ef444440,#dc26262e);box-shadow:0 0 24px #ef44444d}.ms-skill-btn.bomb-cancel-btn:before{background:linear-gradient(90deg,transparent 0%,rgba(239,68,68,.1) 50%,transparent 100%)}.ms-skill-icon{font-size:1.5rem;z-index:1;animation:skill-icon-float 3s ease-in-out infinite}.ms-skill-label{font-size:.95rem;font-weight:800;color:#fdba74;z-index:1;letter-spacing:.02em}.ms-skill-desc{font-size:.75rem;color:#fdba7499;z-index:1;flex:1}.ms-skill-badge{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;font-size:.65rem;font-weight:800;padding:4px 10px;border-radius:8px;letter-spacing:.08em;z-index:1;text-shadow:0 1px 2px rgba(0,0,0,.2)}.ms-bomb-result{text-align:center;padding:8px 16px;border-radius:10px;font-weight:700;font-size:.9rem;color:#fdba74;background:linear-gradient(135deg,#f9731633,#ea580c1a);border:1px solid rgba(249,115,22,.4);animation:bomb-result-appear .5s cubic-bezier(.34,1.56,.64,1);width:100%}@keyframes bomb-result-appear{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}@keyframes skill-appear{0%{transform:translateY(20px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes skill-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes skill-pulse-earned{0%,to{box-shadow:0 0 12px #f9731633;border-color:#f9731680}50%{box-shadow:0 0 30px #f9731680;border-color:#f97316e6}}@keyframes skill-icon-float{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-2px) rotate(-5deg)}75%{transform:translateY(1px) rotate(3deg)}}.ms-turn-banner.bomb-targeting{background:linear-gradient(135deg,#f9731633,#ea580c1f);border-color:#f9731680;box-shadow:0 0 20px #f9731633;animation:turn-glow-bomb 2s ease-in-out infinite}.ms-turn-banner.bomb-targeting .ms-turn-text{color:#fdba74;text-shadow:0 0 12px rgba(253,186,116,.4)}.ms-turn-banner.bomb-targeting .ms-turn-hint{color:#fdba74b3}@keyframes turn-glow-bomb{0%,to{box-shadow:0 0 15px #f9731626;border-color:#f9731666}50%{box-shadow:0 0 28px #f9731659;border-color:#f97316b3}}.ms-board.bomb-targeting-board{border-color:#f9731666;box-shadow:0 0 16px #f973161f}.ms-cell.bomb-zone{background:#f9731640!important;box-shadow:inset 0 0 8px #f9731666;border-color:#f9731699!important}.ms-cell.bomb-zone.unrevealed{cursor:crosshair}@media (max-width: 768px){.ms-skill-btn{padding:8px 14px;gap:8px;border-radius:10px}.ms-skill-icon{font-size:1.2rem}.ms-skill-label{font-size:.85rem}.ms-skill-desc{font-size:.65rem}.ms-skill-badge{font-size:.6rem;padding:3px 8px}.ms-bomb-result{font-size:.8rem;padding:6px 12px}}@media (max-width: 480px){.ms-skill-btn{padding:6px 10px;gap:6px;border-radius:8px}.ms-skill-icon{font-size:1rem}.ms-skill-label{font-size:.75rem}.ms-skill-desc{display:none}.ms-skill-badge{font-size:.55rem;padding:2px 6px}}.ms-dt-icon{font-size:1.8rem;animation:dtIconBounce .5s ease-in-out .3s 2}.ms-dt-content{display:flex;flex-direction:column;gap:2px}.ms-dt-title{font-weight:800;font-size:1rem;color:#c084fc;text-shadow:0 0 12px rgba(192,132,252,.4)}.ms-dt-desc{font-size:.75rem;color:#c084fcb3}@keyframes doubleTurnAppear{0%{transform:scale(.5) translateY(-10px);opacity:0}70%{transform:scale(1.05) translateY(0)}to{transform:scale(1) translateY(0);opacity:1}}@keyframes doubleTurnPulse{0%,to{box-shadow:0 0 16px #a855f733;border-color:#a855f780}50%{box-shadow:0 0 32px #a855f773;border-color:#a855f7e6}}@keyframes dtIconBounce{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.35) rotate(-10deg)}}.ms-turn-banner.bonus-turn{background:linear-gradient(135deg,#a855f733,#8b5cf61f);border-color:#a855f78c;box-shadow:0 0 20px #a855f733;animation:turn-glow-purple 2s ease-in-out infinite}.ms-turn-banner.bonus-turn .ms-turn-text{color:#c084fc;text-shadow:0 0 12px rgba(192,132,252,.4)}.ms-turn-banner.bonus-turn .ms-turn-hint{color:#c084fcb3}@keyframes turn-glow-purple{0%,to{box-shadow:0 0 15px #a855f726;border-color:#a855f766}50%{box-shadow:0 0 28px #a855f759;border-color:#a855f7b3}}.ms-cell.unfound-mine{background:linear-gradient(145deg,#fbbf244d,#f59e0b2e)!important;border-color:#fbbf2499!important;box-shadow:inset 0 0 10px #fbbf2433;animation:unfoundMinePulse 2.5s ease-in-out infinite}@keyframes unfoundMinePulse{0%,to{box-shadow:inset 0 0 8px #fbbf2426}50%{box-shadow:inset 0 0 16px #fbbf2459,0 0 8px #fbbf2433}}.ms-board.readonly-board{border-color:var(--border-strong);box-shadow:none;cursor:default}.ms-board.readonly-board .ms-cell{cursor:default!important}.ms-board.readonly-board .ms-cell.unrevealed.clickable{cursor:default}.ms-board.readonly-board .ms-cell.unrevealed.clickable:hover{transform:none;border-color:var(--border-strong);box-shadow:none;background:linear-gradient(145deg,#3d4655,#252d3a)}.ms-readonly-header{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:10px;background:var(--bg-subtle);border:1px solid var(--border-default);color:var(--text-secondary);font-size:.85rem;font-weight:600;width:100%;justify-content:center}.ms-info-panel{width:280px;min-width:260px;display:flex;flex-direction:column;gap:4px;position:sticky;top:12px;align-self:flex-start}.ms-info-toggle{display:flex;padding:8px 16px;border-radius:10px;background:#3b82f626;border:1px solid rgba(59,130,246,.25);color:#93c5fd;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s ease;text-align:center;align-items:center;gap:6px;justify-content:center}.ms-info-toggle:hover{background:#3b82f640;color:var(--text-primary)}.ms-info-content{display:none;flex-direction:column;gap:8px;margin-top:8px}.ms-info-content.open{display:flex}.ms-info-card{padding:16px;border-radius:14px;background:#ffffff09;border:1px solid var(--border-default);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all .3s ease}.ms-info-card:hover{background:#ffffff0e;border-color:var(--border-strong)}.ms-info-card-header{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--border-default)}.ms-info-card-icon{font-size:1.15rem;line-height:1}.ms-info-card-header h4{font-size:.88rem;font-weight:800;color:var(--text-primary);margin:0;letter-spacing:.01em}.ms-info-card-body{display:flex;flex-direction:column;gap:6px}.ms-rule-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;background:#ffffff06;font-size:.78rem;color:var(--text-tertiary);line-height:1.4;transition:background .2s ease}.ms-rule-item:hover{background:var(--bg-subtle)}.ms-rule-item.highlight{background:#4ade800f;border:1px solid rgba(74,222,128,.1)}.ms-rule-item strong{color:var(--text-primary)}.ms-rule-icon{font-size:.85rem;flex-shrink:0}.ms-info-card.skill-card.bomb-skill{border-color:#f973161f}.ms-info-card.skill-card.bomb-skill:hover{border-color:#f9731633}.ms-info-card.skill-card.skill-active{border-color:#f9731680;box-shadow:0 0 20px #f973161f;animation:skillCardGlow 2.5s ease-in-out infinite}@keyframes skillCardGlow{0%,to{box-shadow:0 0 12px #f9731614}50%{box-shadow:0 0 24px #f9731633}}.ms-info-card.skill-card.skill-closed{opacity:.5;border-color:#ef444426}.ms-info-card.skill-card.skill-used{opacity:.6;border-color:#4ade8026}.ms-info-card.double-turn-skill{border-color:#a855f71f}.ms-info-card.double-turn-skill:hover{border-color:#a855f733}.ms-skill-info-text{margin:0;font-size:.78rem;color:var(--text-muted);line-height:1.5}.ms-skill-info-text strong{color:var(--text-secondary)}.ms-skill-conditions{display:flex;flex-direction:column;gap:5px}.ms-condition-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:8px;background:var(--surface-card);font-size:.76rem;color:var(--text-muted)}.ms-condition-item strong{color:var(--text-secondary)}.ms-condition-icon{font-size:.82rem;flex-shrink:0}.ms-skill-warning{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;background:#ef44440d;border:1px solid rgba(239,68,68,.12);font-size:.72rem;color:#ef4444b8}.ms-skill-status{margin-top:4px;font-size:.75rem;font-weight:700;padding:6px 10px;border-radius:8px;text-align:center}.ms-skill-status.closed{background:#ef444414;color:#ef4444b3;border:1px solid rgba(239,68,68,.15)}.ms-skill-status.used{background:#4ade8014;color:#4ade80b3;border:1px solid rgba(74,222,128,.15)}.ms-miss-tracker{display:flex;flex-direction:column;gap:10px;margin-top:4px}.ms-miss-tracker-row{display:flex;align-items:center;gap:8px}.ms-miss-label{font-size:.7rem;color:var(--text-muted);min-width:90px;flex-shrink:0}.ms-miss-progress{display:flex;gap:3px;flex:1}.ms-miss-segment{height:8px;flex:1;border-radius:4px;background:var(--bg-subtle);overflow:hidden;transition:all .3s ease}.ms-miss-fill{width:0%;height:100%;border-radius:4px}.ms-miss-segment.filled .ms-miss-fill{width:100%;background:linear-gradient(90deg,#a855f7,#c084fc);animation:segmentFill .4s ease-out}.ms-miss-tracker-row.self .ms-miss-segment.filled .ms-miss-fill{background:linear-gradient(90deg,#ef4444,#f87171)}@keyframes segmentFill{0%{width:0%}to{width:100%}}.ms-miss-count{font-size:.7rem;font-weight:700;color:var(--text-muted);min-width:22px;text-align:right}.ms-info-card.symbols-card{border-color:#ffffff0d}.ms-symbols-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ms-symbol-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:7px;background:#ffffff06;font-size:.72rem;color:var(--text-muted)}.ms-symbol-icon{font-size:.82rem;flex-shrink:0}.ms-symbol-icon.blue-flag{color:#3b82f6}.ms-symbol-icon.red-flag{color:#ef4444}.ms-symbol-icon.number-icon{color:#4ade80;font-weight:800;font-size:.78rem}@media (max-width: 1100px){.ms-info-panel{width:240px;min-width:220px}}@media (max-width: 900px){.ms-game-layout{flex-direction:column;align-items:center}.ms-info-panel{width:auto;min-width:auto;position:static}.ms-info-content,.ms-info-content.open{display:none}}@media (max-width: 480px){.ms-info-panel{gap:3px}.ms-info-toggle{padding:8px 14px;border-radius:10px;font-size:.8rem}.ms-info-card{padding:10px;border-radius:10px}.ms-info-card-header h4{font-size:.85rem}.ms-rule-item{padding:4px 6px;font-size:.7rem}.ms-skill-info-text{font-size:.7rem}.ms-condition-item{font-size:.72rem}.ms-skill-warning{font-size:.65rem;padding:4px 8px}.ms-miss-label,.ms-miss-count{font-size:.62rem}}.ms-map-tab .ms-game-layout{gap:0}.ms-map-tab .ms-info-panel,.ms-game-layout.game-ended .ms-info-panel,.ms-game-layout.game-ended .ms-turn-banner,.ms-game-layout.game-ended .ms-double-turn-notif,.ms-game-layout.game-ended .ms-skill-btn,.ms-game-layout.game-ended .ms-bomb-result,.ms-game-layout.game-ended .ms-mobile-miss-tracker{display:none}.ms-game-layout.game-ended .ms-board-wrapper{opacity:.85;transition:opacity .5s ease}.ms-guide-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10001;background:#000000eb;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;animation:ms-guide-overlay-in .2s ease-out}@keyframes ms-guide-overlay-in{0%{opacity:0}to{opacity:1}}.ms-guide-modal{background:var(--bg-subtle);border-radius:16px;width:90%;max-width:480px;max-height:80vh;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:20px 20px 28px;animation:ms-guide-scale-in .25s cubic-bezier(.16,1,.3,1);border:1px solid var(--border-default)}@keyframes ms-guide-scale-in{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}@media (max-width: 768px){.ms-guide-modal-overlay{align-items:stretch;justify-content:stretch;padding:0}.ms-guide-modal{border-radius:0;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;padding:0 0 max(env(safe-area-inset-bottom,0px),80px);border:none;animation:ms-guide-slide-up .3s cubic-bezier(.16,1,.3,1);overflow-y:auto}.ms-guide-modal .ms-guide-modal-header{padding:14px 16px 12px}}@keyframes ms-guide-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.ms-guide-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--border-default);position:sticky;top:0;background:var(--bg-subtle);z-index:1}.ms-guide-modal-header h3{margin:0;font-size:1rem;font-weight:700;color:#fff}.ms-guide-modal-close{background:var(--bg-muted);border:none;color:var(--text-secondary);width:36px;height:36px;border-radius:50%;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease}.ms-guide-modal-close:hover{background:var(--bg-muted);color:var(--text-primary)}.ms-mobile-miss-tracker{display:none}@media (max-width: 768px){.ms-double-turn-notif{gap:10px}.ms-game-layout{flex-direction:column;align-items:stretch;gap:0;height:100%}.ms-board-wrapper{flex:1;min-height:0;gap:6px;padding:6px 6px 4px;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;max-width:100vw;box-sizing:border-box}.ms-info-panel{position:static;width:100%;min-width:auto;flex-shrink:0;display:flex;justify-content:flex-end;align-items:center;padding:4px 8px 6px}.ms-info-toggle{display:flex!important;width:auto;padding:5px 12px;border-radius:8px;font-size:.72rem;background:#3b82f633;border:1px solid rgba(59,130,246,.3);color:#93c5fd;cursor:pointer;gap:4px;align-items:center}.ms-info-content,.ms-info-content.open{display:none!important}.ms-mobile-miss-tracker{display:flex;align-items:center;gap:6px;width:100%;padding:4px 8px;background:#8b5cf614;border:1px solid rgba(139,92,246,.2);border-radius:8px}.ms-mobile-miss-label{font-size:.6rem;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.ms-mobile-miss-dots{display:flex;gap:3px;align-items:center}.ms-mobile-miss-dot{width:8px;height:8px;border-radius:50%;background:#ffffff1f;border:1px solid var(--border-strong);transition:all .3s ease}.ms-mobile-miss-dot.filled{background:#4ade80;border-color:#8b5cf6;box-shadow:0 0 6px #8b5cf666}.ms-mobile-miss-divider{width:1px;height:14px;background:var(--bg-muted);margin:0 2px}}@media (max-width: 480px){.ms-game-layout{gap:0}.ms-board-wrapper{gap:3px;padding:4px 4px 2px;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.ms-board{max-width:min(calc(100vw - 16px),calc(100dvh - 215px));box-sizing:border-box;flex-shrink:0}.ms-turn-banner{padding:3px 8px;border-radius:8px}.ms-turn-banner-inner{gap:4px}.ms-turn-icon{font-size:.8rem}.ms-turn-text{font-size:.7rem}.ms-turn-hint{display:none}.ms-scores{gap:4px}.ms-score-card{padding:3px 6px;gap:4px;border-radius:6px}.ms-score-color-dot{width:10px;height:10px}.ms-score-value{font-size:.95rem}.ms-score-label{font-size:.5rem}.ms-mines-remaining{padding:2px 4px;gap:0}.ms-mines-count{font-size:.85rem}.ms-mines-icon{font-size:.75rem}.ms-mines-label{font-size:.5rem}.ms-double-turn-notif{padding:6px 10px;border-radius:10px;gap:6px}.ms-dt-icon{font-size:.9rem}.ms-dt-title{font-size:.75rem}.ms-dt-desc{font-size:.65rem}.ms-skill-btn{padding:4px 10px;gap:4px;border-radius:8px}.ms-skill-icon{font-size:.8rem}.ms-skill-label{font-size:.65rem}.ms-skill-desc{display:none}.ms-skill-badge{font-size:.55rem;padding:1px 5px}.ms-bomb-result{font-size:.65rem;padding:3px 8px}.ms-cell{font-size:.6rem;border-radius:2px}.ms-flag-wrapper{width:60%;height:60%}.ms-number{font-size:clamp(.5rem,1.6vw,.75rem)}.ms-mine{font-size:.6rem}.ms-info-panel{padding:2px 8px 4px}.ms-info-toggle{padding:4px 10px;font-size:.68rem}.ms-guide-modal{padding:12px 12px 20px}.ms-guide-modal .ms-info-card{padding:10px;border-radius:10px}.ms-guide-modal .ms-rule-item{padding:4px 6px;font-size:.7rem}.ms-guide-modal .ms-skill-info-text,.ms-guide-modal .ms-condition-item{font-size:.7rem}.ms-guide-modal .ms-miss-label,.ms-guide-modal .ms-miss-count{font-size:.6rem}.ms-mobile-miss-tracker{padding:3px 6px;border-radius:6px}.ms-mobile-miss-dot{width:7px;height:7px}}@media (max-width: 380px){.ms-board{gap:.5px;padding:1px;max-width:min(calc(100vw - 12px),calc(100dvh - 190px));border-width:1px;box-sizing:border-box;flex-shrink:0}.ms-cell{font-size:.45rem}.ms-flag-wrapper{width:55%;height:55%}.ms-turn-banner{padding:2px 6px}.ms-turn-text{font-size:.6rem}.ms-score-card{padding:2px 4px}.ms-score-value{font-size:.8rem}}.ms-map-background{position:relative;width:100%;display:flex;justify-content:center;padding:8px;pointer-events:none;opacity:.4;filter:blur(1px);transition:opacity .3s ease,filter .3s ease}.ms-map-background.visible{opacity:1;filter:none;pointer-events:auto}.ms-map-background .ms-board-wrapper,.ms-map-background .ms-board{max-width:420px}@media (max-width: 480px){.ms-map-background .ms-board-wrapper,.ms-map-background .ms-board{max-width:calc(100vw - 24px)}}.bs-board-wrapper{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%}.bs-board-loading{display:flex;align-items:center;justify-content:center;min-height:300px;color:var(--text-muted);font-size:1rem}.bs-placement-header{text-align:center;margin-bottom:8px}.bs-placement-header h2{font-size:1.5rem;font-weight:800;margin:0 0 4px;background:linear-gradient(135deg,#06b6d4,#0891b2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.bs-placement-header p{font-size:.85rem;color:var(--text-muted);margin:0}.bs-placement-layout{display:flex;gap:24px;width:100%;max-width:900px;align-items:flex-start;justify-content:center}.bs-ship-list{width:240px;flex-shrink:0;display:flex;flex-direction:column;gap:10px}.bs-ship-list h3{font-size:1rem;font-weight:700;color:var(--text-secondary);margin:0 0 6px}.bs-ship-item{display:flex;flex-direction:column;gap:4px;padding:8px 10px;background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;cursor:pointer;transition:all .2s ease;position:relative}.bs-ship-item:hover:not(.placed){background:#0891b21f;border-color:#06b6d44d}.bs-ship-item.selected{background:#06b6d433;border-color:#06b6d480;box-shadow:0 0 12px #06b6d433}.bs-ship-item.placed{opacity:.5;cursor:default}.bs-ship-info{display:flex;justify-content:space-between;align-items:center}.bs-ship-name{font-size:.8rem;font-weight:600;color:var(--text-primary)}.bs-ship-size{font-size:.7rem;color:var(--text-muted)}.bs-ship-icon-wrapper{width:100%;height:28px;margin-bottom:4px;display:flex;align-items:center;justify-content:center;background:#06b6d414;border-radius:6px;overflow:hidden}.bs-ship-icon{height:22px;width:auto;max-width:100%;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));transition:transform .2s ease}.bs-ship-item:hover:not(.placed) .bs-ship-icon{transform:scale(1.1)}.bs-ship-item.selected .bs-ship-icon{filter:drop-shadow(0 0 6px rgba(6,182,212,.6))}.bs-ship-item.placed .bs-ship-icon{opacity:.4;filter:grayscale(.5)}.bs-ship-blocks{display:flex;gap:3px}.bs-ship-block{width:18px;height:18px;border-radius:3px;background:linear-gradient(135deg,#0891b2,#06b6d4);border:1px solid rgba(6,182,212,.4)}.bs-ship-block.placed{background:var(--bg-muted);border-color:var(--border-strong)}.bs-remove-ship{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;border:none;background:#ef444499;color:#fff;font-size:.65rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.bs-remove-ship:hover{background:#ef4444}.bs-placement-controls{display:flex;gap:6px;flex-wrap:wrap}.bs-placement-controls button{flex:1;min-width:60px;padding:6px 8px;border-radius:8px;border:1px solid var(--border-default);background:var(--bg-subtle);color:var(--text-secondary);font-size:.7rem;font-weight:600;cursor:pointer;transition:all .2s}.bs-placement-controls button:hover:not(:disabled){background:var(--bg-muted);color:#fff}.bs-placement-controls button:disabled{opacity:.4;cursor:not-allowed}.bs-confirm-btn{width:100%;padding:12px;border-radius:12px;border:none;background:var(--bg-subtle);color:var(--text-muted);font-size:.85rem;font-weight:700;cursor:not-allowed;transition:all .3s;margin-top:4px}.bs-confirm-btn.ready{background:linear-gradient(135deg,#0891b2,#06b6d4);color:#fff;cursor:pointer;box-shadow:0 4px 16px #0891b266}.bs-confirm-btn.ready:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0891b280}.bs-opponent-status{text-align:center;padding:8px;border-radius:8px;font-size:.8rem;font-weight:600}.bs-opponent-status.ready{background:#22c55e1f;color:#4ade80;border:1px solid rgba(34,197,94,.2)}.bs-grid-container{flex:1;display:flex;flex-direction:column;gap:0}.bs-grid-labels-top{display:flex;gap:0;padding-left:0}.bs-corner{width:22px;height:22px;flex-shrink:0}.bs-col-label{flex:1;text-align:center;font-size:.65rem;font-weight:700;color:var(--text-muted);line-height:22px}.bs-grid-with-rows{display:flex;gap:0}.bs-row-labels{display:flex;flex-direction:column;width:22px;flex-shrink:0}.bs-row-label{flex:1;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;color:var(--text-muted)}.bs-grid{display:grid;gap:1.5px;width:100%;aspect-ratio:1;background:#06b6d414;border-radius:10px;padding:3px;border:2px solid var(--bs-border)}.bs-grid.placement{min-width:380px;max-width:500px}.bs-cell{display:flex;align-items:center;justify-content:center;border-radius:3px;font-size:.8rem;font-weight:700;transition:all .15s ease;aspect-ratio:1;-webkit-user-select:none;user-select:none;position:relative}.bs-cell.empty{background:linear-gradient(135deg,var(--bs-empty-light) 0%,var(--bs-empty-dark) 100%);border:1px solid var(--bs-cell-border)}.bs-cell.ship{background:linear-gradient(135deg,var(--bs-ship-light) 0%,var(--bs-ship-dark) 100%);border:1px solid rgba(6,182,212,.3)}.bs-cell.ship.my-cell{background:linear-gradient(135deg,#06b6d440,#0891b233);border:1px solid rgba(6,182,212,.35)}.bs-cell.hit{background:linear-gradient(135deg,#ef444459,#dc262640);border:1px solid rgba(239,68,68,.5);animation:bs-hit-pulse .5s ease}.bs-cell.miss{background:linear-gradient(135deg,#94a3b81f,#64748b14);border:1px solid rgba(148,163,184,.15);color:#94a3b880;font-size:1.2rem}.bs-cell.sunk{background:linear-gradient(135deg,#ef444480,#b91c1c66);border:1px solid rgba(239,68,68,.7);animation:sunkCellPulse 2s infinite ease-in-out}@keyframes sunkCellPulse{0%,to{box-shadow:0 0 8px #ef44444d}50%{box-shadow:0 0 15px #ef444480}}.bs-cell.clickable{cursor:pointer}.bs-cell.clickable:hover{background:linear-gradient(135deg,var(--bs-hover-light) 0%,var(--bs-hover-dark) 100%);border-color:#06b6d480;transform:scale(1.05);z-index:1;box-shadow:0 0 8px #06b6d44d}.bs-cell.last-shot{box-shadow:0 0 0 2px #ffd70099;z-index:1}.bs-cell.preview-valid{background:#06b6d44d!important;border-color:#06b6d480!important}.bs-cell.preview-invalid{background:#ef44444d!important;border-color:#ef444480!important}.bs-ship-dot{color:#06b6d4cc;font-size:.7rem}.bs-my-ship{color:#06b6d499;font-size:.65rem}@keyframes bs-hit-pulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.bs-scores{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;max-width:520px}.bs-score-card{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;flex:1;transition:all .3s ease}.bs-score-card.active-turn{background:#06b6d41a;border-color:#06b6d466;box-shadow:0 0 12px #06b6d426}.bs-score-icon{font-size:1.3rem}.bs-score-info{display:flex;flex-direction:column}.bs-score-label{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.bs-score-value{font-size:1.4rem;font-weight:800;color:var(--text-primary)}.bs-vs{font-size:1.2rem;flex-shrink:0}.bs-ships-remaining{display:flex;flex-direction:column;align-items:center;margin-left:auto;gap:1px}.bs-remaining-label{font-size:.55rem;color:var(--text-muted);text-transform:uppercase}.bs-remaining-count{font-size:.9rem;font-weight:800;color:#06b6d4}.bs-battle-grids{display:flex;gap:32px;width:100%;max-width:1000px;justify-content:center}.bs-grid-section{flex:1;display:flex;flex-direction:column;gap:0;min-width:350px;max-width:450px}.bs-grid-title{text-align:center;font-size:.85rem;font-weight:700;padding:6px 0;border-radius:8px 8px 0 0;margin-bottom:2px}.bs-grid-title.opponent{background:linear-gradient(135deg,#ef44441f,#f9731614);color:#f87171}.bs-grid-title.mine{background:linear-gradient(135deg,#06b6d41f,#0891b214);color:#22d3ee}.bs-ship-status{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.bs-status-ship{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--surface-card);border-radius:8px;border:1px solid var(--border-default);transition:all .3s ease;position:relative}.bs-status-ship:hover{background:var(--bg-subtle)}.bs-status-ship.sunk{background:#ef44441a;border-color:#ef44444d;animation:sinkShake .5s ease-out}@keyframes sinkShake{0%,to{transform:translate(0)}10%{transform:translate(-3px) rotate(-1deg)}30%{transform:translate(3px) rotate(1deg)}50%{transform:translate(-2px)}70%{transform:translate(2px)}90%{transform:translate(-1px)}}.bs-status-ship.sunk:after{content:"ðŸ’€";position:absolute;right:8px;font-size:1rem;animation:skullAppear .5s ease-out forwards}@keyframes skullAppear{0%{opacity:0;transform:scale(0) rotate(-180deg)}50%{transform:scale(1.2) rotate(10deg)}to{opacity:1;transform:scale(1) rotate(0)}}.bs-status-ship.sunk .bs-status-name{text-decoration:line-through;color:#ef4444cc}.bs-status-icon{height:16px;width:auto;max-width:40px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));flex-shrink:0;transition:all .3s ease}.bs-status-ship.sunk .bs-status-icon{filter:brightness(.4) sepia(1) saturate(10) hue-rotate(-10deg) drop-shadow(0 0 4px rgba(239,68,68,.5));animation:iconBurn .5s ease-out}@keyframes iconBurn{0%{filter:brightness(1)}50%{filter:brightness(2) sepia(1) saturate(10)}to{filter:brightness(.4) sepia(1) saturate(10) hue-rotate(-10deg)}}.bs-status-name{font-size:.6rem;color:var(--text-muted);min-width:50px}.bs-status-blocks{display:flex;gap:2px}.bs-status-block{width:10px;height:10px;border-radius:2px;background:#06b6d44d;border:1px solid rgba(6,182,212,.2);transition:all .3s ease}.bs-status-block.hit{background:#ef444499;border-color:#ef444480}.bs-status-block.sunk{background:#ef4444cc;border-color:#ef444499;box-shadow:0 0 6px #ef444466}.bs-turn-indicator{padding:10px 24px;border-radius:12px;font-size:.875rem;font-weight:600;text-align:center;transition:all .3s ease}.bs-turn-indicator.my-turn{background:linear-gradient(135deg,#06b6d426,#0891b21a);border:1px solid rgba(6,182,212,.3);color:#22d3ee}.bs-turn-indicator.opponent-turn{background:var(--surface-card);border:1px solid var(--border-default);color:var(--text-muted)}.bs-waiting{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;text-align:center}.bs-waiting-icon{font-size:3rem;animation:bs-float 2s ease-in-out infinite}@keyframes bs-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.bs-waiting h2{font-size:1.3rem;font-weight:700;color:#22d3ee;margin:0}.bs-waiting p{color:var(--text-muted);font-size:.9rem;margin:0}.bs-waiting-spinner{width:36px;height:36px;border:3px solid rgba(6,182,212,.2);border-top-color:#06b6d4;border-radius:50%;animation:bs-spin 1s linear infinite}@keyframes bs-spin{to{transform:rotate(360deg)}}.bs-opponent-ready-text{color:#4ade80!important;font-weight:600}@media (max-width: 768px){.bs-placement-layout{flex-direction:column;align-items:center}.bs-ship-list{width:100%;flex-direction:row;flex-wrap:wrap;gap:6px}.bs-ship-list h3{width:100%}.bs-ship-item{flex:1;min-width:120px}.bs-placement-controls,.bs-confirm-btn{width:100%}.bs-grid.placement{max-width:calc(100vw - 60px)}.bs-battle-grids{flex-direction:column;align-items:center;gap:16px}.bs-grid-section{max-width:calc(100vw - 40px);width:100%}.bs-scores{gap:8px}.bs-score-card{padding:6px 10px;gap:6px}.bs-score-value{font-size:1.1rem}.bs-cell{font-size:.65rem}.bs-col-label,.bs-row-label{font-size:.55rem}.bs-corner{width:18px;height:18px}.bs-row-labels{width:18px}.bs-grid-title{font-size:.75rem}.bs-turn-indicator{padding:6px 14px;font-size:.8rem}.bs-ship-status{gap:3px}.bs-status-name{font-size:.55rem;min-width:40px}.bs-status-block{width:8px;height:8px}}@media (max-width: 480px){.bs-board-wrapper{gap:8px}.bs-grid{gap:1px;padding:2px;border-width:1px;border-radius:8px}.bs-cell{font-size:.55rem;border-radius:2px}.bs-ship-dot,.bs-my-ship{font-size:.5rem}.bs-placement-header h2{font-size:1.15rem}.bs-placement-header p{font-size:.75rem}.bs-ship-item{padding:6px 8px}.bs-ship-block{width:14px;height:14px}.bs-scores{gap:4px}.bs-score-card{padding:4px 8px;gap:4px;border-radius:8px}.bs-score-value,.bs-score-icon{font-size:1rem}.bs-vs{font-size:.9rem}}@media (max-width: 380px){.bs-grid{gap:.5px;padding:2px}.bs-cell,.bs-col-label,.bs-row-label{font-size:.5rem}.bs-corner{width:16px;height:16px}.bs-row-labels{width:16px}}.warfront-board-wrapper{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;max-width:900px;margin:0 auto;position:relative;padding:0 4px;box-sizing:border-box}.wf-turn-banner{width:100%;padding:6px 0;border-radius:10px;text-align:center;transition:all .4s ease;position:relative;overflow:hidden}.wf-turn-banner.your-turn{background:linear-gradient(135deg,#10b98133,#22c55e26);border:2px solid rgba(34,197,94,.6);box-shadow:0 0 20px #22c55e26,inset 0 0 30px #22c55e0d}.wf-turn-banner.enemy-turn{background:linear-gradient(135deg,#ef44441f,#dc262614);border:2px solid rgba(239,68,68,.4);box-shadow:0 0 12px #ef44441a}.wf-turn-banner-inner{display:flex;align-items:center;justify-content:center;gap:10px}.wf-turn-pulse{width:12px;height:12px;border-radius:50%;flex-shrink:0}.wf-turn-pulse.pulse-green{background:#22c55e;box-shadow:0 0 8px #22c55ecc;animation:turnPulse 1.5s ease infinite}.wf-turn-pulse.pulse-red{background:#ef4444;box-shadow:0 0 6px #ef444499;animation:turnPulseRed 2s ease infinite}@keyframes turnPulse{0%,to{transform:scale(1);box-shadow:0 0 8px #22c55ecc}50%{transform:scale(1.3);box-shadow:0 0 16px #22c55e}}@keyframes turnPulseRed{0%,to{opacity:.6}50%{opacity:1}}.wf-turn-banner-text{font-size:15px;font-weight:700;letter-spacing:.5px}.your-turn .wf-turn-banner-text{color:#4ade80}.enemy-turn .wf-turn-banner-text{color:#f87171}.wf-turn-badge{background:var(--bg-subtle);padding:2px 10px;border-radius:10px;font-size:11px;font-weight:600;color:var(--text-muted)}.wf-info-bar{display:flex;justify-content:space-between;align-items:stretch;width:100%;gap:8px}.wf-player-card{flex:1;display:flex;align-items:center;gap:8px;padding:8px 12px;background:#0f172a99;border-radius:10px;border:1px solid var(--border-default);transition:all .3s;min-width:0;position:relative}.wf-player-card.wf-me{border-color:#3b82f666;background:#3b82f614}.wf-player-card.is-active-player{border-color:#22c55e80;box-shadow:0 0 12px #22c55e1f}.wf-player-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.wf-dot-white{background:#e2e8f0;box-shadow:0 0 4px #e2e8f080}.wf-dot-black{background:#475569;border:2px solid #64748b}.wf-player-card-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.wf-player-label{font-weight:700;font-size:12px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-player-stats-row{display:flex;align-items:center;gap:6px}.wf-gold{color:#fbbf24;font-weight:600;font-size:13px}.wf-income-badge{font-size:10px;color:#34d399;background:#22d3991a;padding:1px 5px;border-radius:4px;font-weight:500}.wf-unit-count{font-size:12px;color:var(--text-muted);font-weight:600;white-space:nowrap;flex-shrink:0}.wf-action-feedback{position:absolute;top:70px;left:50%;transform:translate(-50%);z-index:50;padding:6px 18px;background:#000000e6;border:1px solid var(--border-strong);border-radius:10px;color:#fbbf24;font-weight:600;font-size:13px;animation:feedbackPop .3s ease;pointer-events:none;white-space:nowrap}@keyframes feedbackPop{0%{transform:translate(-50%) scale(.8);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}.wf-board-container{width:100%;overflow:auto;border-radius:6px;border:2px solid rgba(255,255,255,.12);background:#2d4a27;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.wf-board{display:grid;gap:1px;background:#00000040;width:100%;min-width:0}.wf-tile{aspect-ratio:1;position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:filter .15s;background-color:var(--terrain-bg, #4a7c3f);overflow:hidden;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.wf-tile:hover{filter:brightness(1.15);z-index:5}.wf-tile:active{filter:brightness(.9)}.wf-tile.terrain-plain{background:linear-gradient(135deg,#4a7c3f,#5a8c4f)}.wf-tile.terrain-forest{background:linear-gradient(135deg,#2d5a27,#1a4a17)}.wf-tile.terrain-mountain{background:linear-gradient(135deg,#6b6b6b,#8a8a8a)}.wf-tile.terrain-water{background:linear-gradient(135deg,#1e40af,#2563eb)}.wf-tile.terrain-road{background:linear-gradient(135deg,#8b7355,#a08868)}.wf-tile.terrain-bridge{background:linear-gradient(135deg,#8b7355,#6b5a44)}.wf-tile.has-building{box-shadow:inset 0 0 0 2px #ffffff26}.wf-tile.building-white{box-shadow:inset 0 0 0 2px #60a5fa8c}.wf-tile.building-black{box-shadow:inset 0 0 0 2px #f871718c}.wf-tile.building-neutral{box-shadow:inset 0 0 0 2px #fbbf2473}.wf-tile.selected{box-shadow:inset 0 0 0 3px #fbbf24,0 0 12px #fbbf2466;z-index:10}.wf-tile.move-target{background-image:radial-gradient(circle,rgba(34,197,94,.35) 0%,transparent 70%);cursor:pointer}.wf-tile.attack-target{background-image:radial-gradient(circle,rgba(239,68,68,.35) 0%,transparent 70%);animation:attackPulse 1s ease infinite;cursor:crosshair}@keyframes attackPulse{0%,to{box-shadow:inset 0 0 #ef444400}50%{box-shadow:inset 0 0 0 2px #ef444480}}.wf-tile.recruit-slot{background-image:radial-gradient(circle,rgba(96,165,250,.35) 0%,transparent 70%);animation:recruitPulse 1s ease infinite;cursor:cell}@keyframes recruitPulse{0%,to{box-shadow:inset 0 0 #60a5fa00}50%{box-shadow:inset 0 0 0 2px #60a5fa80}}.wf-terrain-icon{position:absolute;font-size:clamp(10px,2.5vw,16px);opacity:.65;pointer-events:none;z-index:1}.wf-building-icon{position:absolute;font-size:clamp(13px,3vw,20px);z-index:2;pointer-events:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.wf-unit{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;gap:1px}.wf-unit-icon{font-size:clamp(14px,3.5vw,22px);filter:drop-shadow(0 1px 3px rgba(0,0,0,.5));line-height:1}.wf-unit.wf-unit-white .wf-unit-icon{filter:drop-shadow(0 0 4px rgba(96,165,250,.5))}.wf-unit.wf-unit-black .wf-unit-icon{filter:drop-shadow(0 0 4px rgba(248,113,113,.5))}.wf-unit-hp-bar{width:clamp(16px,4vw,28px);height:3px;background:#00000080;border-radius:2px;overflow:hidden}.wf-unit-hp-fill{height:100%;background:#4ade80;border-radius:2px;transition:width .3s}.wf-unit-hp-text{position:absolute;bottom:-2px;right:-2px;font-size:clamp(7px,1.5vw,9px);font-weight:800;color:#fff;background:#000000a6;width:clamp(10px,2vw,14px);height:clamp(10px,2vw,14px);border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1}.wf-tile.unit-acted .wf-unit{opacity:.45}.wf-tile.unit-white:after{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border:2px solid rgba(96,165,250,.35);border-radius:2px;pointer-events:none;z-index:2}.wf-tile.unit-black:after{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border:2px solid rgba(248,113,113,.35);border-radius:2px;pointer-events:none;z-index:2}.wf-move-dot{width:clamp(6px,1.5vw,10px);height:clamp(6px,1.5vw,10px);border-radius:50%;background:#22c55ebf;z-index:5;pointer-events:none;box-shadow:0 0 6px #22c55e80}.wf-attack-indicator{position:absolute;font-size:clamp(10px,2vw,14px);z-index:5;animation:attackBounce .8s ease infinite;pointer-events:none}@keyframes attackBounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.wf-recruit-dot{font-size:clamp(12px,2.5vw,16px);z-index:5;pointer-events:none;animation:recruitBounce .8s ease infinite;color:#60a5fa}@keyframes recruitBounce{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.15);opacity:1}}.wf-building-popup{position:absolute;bottom:80px;left:50%;transform:translate(-50%);z-index:60;width:260px;background:#0f172af2;border:1px solid var(--border-strong);border-radius:12px;padding:14px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:popupIn .2s ease;box-shadow:0 8px 32px #00000080}@keyframes popupIn{0%{transform:translate(-50%) translateY(10px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.wf-building-popup-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--border-default)}.wf-building-popup-icon{font-size:24px}.wf-building-popup-name{flex:1;font-weight:700;font-size:15px;color:#f1f5f9}.wf-building-popup-close{background:none;border:none;color:var(--text-muted);font-size:16px;cursor:pointer;padding:2px 6px;border-radius:4px;transition:all .15s}.wf-building-popup-close:hover{color:#f87171;background:#f871711a}.wf-building-popup-body{display:flex;flex-direction:column;gap:6px}.wf-building-popup-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#cbd5e1}.wf-building-popup-row span:first-child{color:var(--text-muted)}.wf-owner-label{font-weight:600}.wf-owner-label.owner-white{color:#93c5fd}.wf-owner-label.owner-black{color:#fca5a5}.wf-owner-label.owner-neutral{color:#fbbf24}.wf-income-row .wf-income-value{font-weight:700;color:#34d399;font-size:14px}.wf-recruit-available{color:#4ade80}.wf-building-popup-desc{margin:4px 0 0;font-size:11px;color:var(--text-tertiary);line-height:1.4}.wf-action-panel{width:100%;background:#0f172ad9;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:8px 14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.wf-action-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-weight:600;font-size:14px}.wf-action-hp{font-size:12px;color:#4ade80;font-weight:600}.wf-action-buttons{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.wf-action-hint{font-size:11px;color:var(--text-muted);background:var(--bg-subtle);padding:4px 8px;border-radius:6px}.wf-action-btn{padding:6px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.12);cursor:pointer;font-size:12px;font-weight:600;transition:all .15s;color:var(--text-primary);background:var(--bg-subtle);-webkit-tap-highlight-color:transparent}.wf-action-btn:hover{background:#ffffff1f}.wf-action-btn:active{transform:scale(.95)}.wf-action-btn.capture-btn{background:#f59e0b33;border-color:#f59e0b66;color:#fbbf24}.capture-progress{font-size:10px;margin-left:4px;opacity:.8}.wf-action-btn.wait-btn{background:#94a3b81f}.wf-action-btn.cancel-btn{background:#ef44441f;border-color:#ef44444d;color:#f87171}.wf-recruit-panel{width:100%;max-width:400px;background:#0f172af2;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:14px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:absolute;bottom:60px;left:50%;transform:translate(-50%);z-index:50;animation:slideUp .2s ease;box-shadow:0 8px 32px #00000080}@keyframes slideUp{0%{transform:translate(-50%) translateY(20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.wf-recruit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:8px}.wf-recruit-header h3{margin:0;font-size:15px;color:#f1f5f9}.wf-recruit-gold{font-size:13px;color:#fbbf24;font-weight:600;flex:1;text-align:right}.wf-close-btn{background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:2px;transition:color .15s}.wf-close-btn:hover{color:#f87171}.wf-recruit-list{display:flex;flex-direction:column;gap:6px;max-height:280px;overflow-y:auto}.wf-recruit-unit{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;cursor:pointer;transition:all .15s;-webkit-tap-highlight-color:transparent}.wf-recruit-unit:hover:not(.disabled){background:var(--bg-muted);border-color:#60a5fa4d}.wf-recruit-unit:active:not(.disabled){transform:scale(.98)}.wf-recruit-unit.selected{background:#60a5fa26;border-color:#60a5fa80}.wf-recruit-unit.disabled{opacity:.35;cursor:not-allowed}.wf-recruit-unit-icon{font-size:26px;min-width:34px;text-align:center}.wf-recruit-unit-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.wf-recruit-name{font-weight:600;font-size:13px;color:var(--text-primary)}.wf-recruit-stats{font-size:10px;color:var(--text-muted);display:flex;gap:5px;flex-wrap:wrap}.wf-recruit-desc{font-size:10px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-recruit-cost span{font-size:15px;font-weight:700}.wf-recruit-cost .affordable{color:#4ade80}.wf-recruit-cost .expensive{color:#ef4444}.wf-recruit-placement-hint{margin-top:8px;padding:6px 10px;background:#60a5fa1a;border:1px solid rgba(96,165,250,.2);border-radius:8px;font-size:12px;color:#60a5fa;text-align:center}.wf-controls{width:100%;display:flex;justify-content:space-between;align-items:center;padding:6px 0}.wf-gold-display{display:flex;align-items:center;gap:10px}.wf-my-gold{font-size:16px;font-weight:700;color:#fbbf24}.wf-my-income{font-size:12px;color:#34d399;background:#22d3991a;padding:2px 8px;border-radius:6px;font-weight:500;cursor:help}.wf-end-turn-btn{padding:10px 24px;background:linear-gradient(135deg,#b91c1c,#dc2626);border:none;border-radius:10px;color:#fff;font-weight:700;font-size:14px;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #b91c1c4d;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.wf-end-turn-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #b91c1c66}.wf-end-turn-btn:active{transform:translateY(0)}.wf-tile-tooltip{position:fixed;bottom:16px;left:16px;background:#0f172aeb;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:8px 12px;font-size:12px;color:#cbd5e1;z-index:100;pointer-events:none;min-width:140px;max-width:240px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 12px #0000004d}.tooltip-terrain{font-weight:600;margin-bottom:2px}.tooltip-def{color:#60a5fa}.tooltip-building{color:#fbbf24;margin-bottom:2px}.tooltip-owner{font-size:11px;opacity:.7}.tooltip-income{color:#34d399;font-weight:600}.tooltip-unit{color:#4ade80}.wf-loading{display:flex;align-items:center;justify-content:center;min-height:400px;color:var(--text-muted);font-size:16px}.wf-hints-container{position:absolute;right:-240px;top:100px;display:flex;flex-direction:column;gap:8px;z-index:50;pointer-events:auto}.wf-tutorial-hint{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#0f172aeb;border:1px solid rgba(99,102,241,.35);border-radius:10px;font-size:11px;color:var(--text-primary);max-width:210px;box-shadow:0 4px 16px #0006;animation:wf-hint-in .4s ease-out;line-height:1.4}.wf-hint-icon{font-size:16px;flex-shrink:0}.wf-hint-text{flex:1}.wf-hint-dismiss{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:0 2px;flex-shrink:0;transition:color .2s}.wf-hint-dismiss:hover{color:#f87171}.wf-tutorial-toggle{position:absolute;top:4px;right:4px;background:#0f172acc;border:1px solid rgba(255,255,255,.12);border-radius:50%;width:30px;height:30px;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:51;transition:all .2s;opacity:.5}.wf-tutorial-toggle:hover{opacity:1;border-color:#6366f199}.wf-tutorial-toggle.active{opacity:.85;background:#6366f133;border-color:#6366f180}@keyframes wf-hint-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@media (max-width: 1200px){.wf-hints-container{position:relative;right:auto;top:auto;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:6px;width:100%}.wf-tutorial-hint{max-width:260px}}@media (max-width: 768px){.warfront-board-wrapper{gap:6px;padding:0 2px}.wf-turn-banner{padding:5px 0;border-radius:8px}.wf-turn-banner-text{font-size:13px}.wf-info-bar{gap:6px}.wf-player-card{padding:6px 8px;gap:6px;border-radius:8px}.wf-player-label{font-size:11px}.wf-gold{font-size:12px}.wf-income-badge{font-size:9px}.wf-unit-count{font-size:11px}.wf-end-turn-btn{padding:8px 18px;font-size:13px}.wf-my-gold{font-size:14px}.wf-building-popup{width:240px;padding:12px;bottom:70px}.wf-recruit-panel{width:92vw;max-width:none;bottom:50px;padding:12px}.wf-tile-tooltip{display:none}}@media (max-width: 480px){.warfront-board-wrapper{gap:4px;padding:0}.wf-turn-banner{padding:4px 0;border-radius:6px;border-width:1px}.wf-turn-banner-text{font-size:12px}.wf-turn-badge{font-size:10px;padding:1px 6px}.wf-turn-pulse{width:8px;height:8px}.wf-info-bar{gap:4px}.wf-player-card{padding:5px 6px;gap:4px;border-radius:6px}.wf-player-color-dot{width:8px;height:8px}.wf-player-label{font-size:10px}.wf-gold{font-size:11px}.wf-income-badge{font-size:8px;padding:0 4px}.wf-unit-count{font-size:10px}.wf-board-container{border-width:1px;border-radius:4px}.wf-action-panel{padding:6px 10px;border-radius:8px}.wf-action-panel-header{font-size:13px}.wf-action-btn{padding:5px 10px;font-size:11px}.wf-controls{padding:4px 2px}.wf-end-turn-btn{padding:8px 16px;font-size:12px;border-radius:8px}.wf-my-gold{font-size:13px}.wf-my-income{font-size:10px;padding:1px 5px}.wf-building-popup{width:calc(100vw - 40px);max-width:280px;bottom:60px;padding:10px}.wf-recruit-panel{width:96vw;bottom:40px;padding:10px}.wf-recruit-unit{padding:6px 8px;gap:8px}.wf-recruit-unit-icon{font-size:22px;min-width:28px}.wf-recruit-name{font-size:12px}.wf-recruit-stats,.wf-recruit-desc{font-size:9px}.wf-recruit-cost span{font-size:13px}}@media (max-width: 360px){.wf-turn-banner-text{font-size:11px}.wf-info-bar{flex-direction:column;gap:3px}.wf-player-card{padding:4px 6px}.wf-player-label{font-size:10px}}.captured-pieces{padding:.6rem;border-radius:10px;background:var(--bg-subtle);border:1px solid var(--border-default);min-height:70px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.captured-pieces.white{border-color:var(--border-strong)}.captured-pieces.black{border-color:#0000004d}.captured-label{font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem;text-align:center}.captured-count{display:flex;flex-direction:column;align-items:center;gap:.5rem}.captured-display{display:flex;flex-wrap:wrap;justify-content:center;gap:2px;max-width:120px}.captured-piece{width:12px;height:12px;border-radius:50%;border:1px solid var(--border-strong)}.captured-piece.white-piece{background:linear-gradient(135deg,#fff,#e0e0e0);box-shadow:0 1px 3px #0000004d}.captured-piece.black-piece{background:var(--bg-subtle);box-shadow:var(--shadow-sm)}.captured-overflow{font-size:.7rem;color:var(--text-secondary);font-weight:700;display:flex;align-items:center;justify-content:center;min-width:20px}.captured-total{font-size:.8rem;color:var(--text-primary);font-weight:700;text-align:center}@media (max-width: 480px){.captured-pieces{padding:.4rem;min-height:50px}.captured-label{font-size:.65rem;margin-bottom:.3rem}.captured-total{font-size:.7rem}.captured-display{max-width:80px}.captured-piece{width:10px;height:10px}}.captured-mine{font-size:.75rem;margin:1px}@media (max-width: 768px){.game-page-minesweeper .captured-pieces{min-height:auto;padding:.35rem .5rem}.game-page-minesweeper .captured-label{font-size:.6rem;margin-bottom:.2rem}.game-page-minesweeper .captured-display{max-width:100%;gap:1px}.game-page-minesweeper .captured-mine{font-size:.6rem;margin:0}.game-page-minesweeper .captured-total{font-size:.65rem}}.player-info{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;border-radius:14px;background:var(--surface-card);border:1px solid var(--border-default);transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);position:relative;overflow:hidden;width:100%;box-sizing:border-box}.player-info.active{border-color:#769656;background:linear-gradient(135deg,#6366f11f,#6366f10f)}.player-info.active:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(79,195,247,.1),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.player-info.top{margin-bottom:.5rem}.player-main{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.avatar-circle{width:40px;height:40px;border-radius:50%;border:2px solid transparent;position:relative;transition:all .3s ease;overflow:hidden;flex-shrink:0}.avatar-circle.white,.avatar-circle.black{border-color:var(--border-strong)}.player-info.active .avatar-circle{transform:scale(1.1)}.turn-indicator{position:absolute;top:-3px;right:-3px;width:16px;height:16px}.turn-pulse{width:100%;height:100%;background:linear-gradient(45deg,#769656,#629243);border-radius:50%;animation:pulse-glow 1.5s infinite ease-in-out}@keyframes pulse-glow{0%{transform:scale(.8);opacity:1}50%{transform:scale(1.3);opacity:.8}to{transform:scale(.8);opacity:1}}.player-details{display:flex;flex-direction:column;gap:.15rem}.player-name-row{display:flex;align-items:center;gap:.5rem}.player-name{font-size:.9rem;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.player-league-badge{font-size:.85rem;padding:.1rem .35rem;border-radius:8px;line-height:1}.player-rating-row{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.player-rating{color:#fbbf24;font-weight:600}.player-color-label{font-size:.75rem;color:var(--text-tertiary)}.player-timer{font-size:.9rem;font-weight:700;color:var(--text-brand);font-family:Courier New,monospace}.player-timer.warning{color:#ff6b6b;animation:timer-warning 1s infinite}@keyframes timer-warning{0%{opacity:1}50%{opacity:.6}to{opacity:1}}.player-stats{min-width:120px;flex-shrink:0}@media (max-width: 768px){.player-info{gap:.75rem;padding:.6rem .8rem}.avatar-circle{width:36px;height:36px;font-size:.9rem}.player-name{font-size:.95rem}.player-stats{min-width:80px}.turn-indicator{width:14px;height:14px}}@media (max-width: 480px){.player-info{gap:.5rem;padding:.5rem .6rem}.avatar-circle{width:32px;height:32px;font-size:.8rem}.player-name{font-size:.85rem;max-width:100px}.player-stats{min-width:auto;flex-shrink:1}.player-rating{font-size:.75rem}}.game-end-modal-overlay{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;margin:0!important;padding:0!important;background:#0000001a!important;-webkit-backdrop-filter:blur(4px)!important;backdrop-filter:blur(4px)!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:100000!important;animation:modalOverlayIn .3s ease-out;pointer-events:none;overflow-y:auto}.game-end-modal{background:var(--surface-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:none;border-radius:0;padding:20px 40px;width:100vw;height:100vh;max-width:none;max-height:none;overflow-y:auto;overflow-x:hidden;position:relative;animation:modalSlideIn .3s ease-out;font-family:var(--font-family-primary, "Inter", sans-serif);color:var(--text-primary);pointer-events:auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;box-sizing:border-box}.game-end-modal.victory,.game-end-modal.defeat,.game-end-modal.draw,.game-end-modal.aborted{background:var(--surface-card);border:none}.game-end-modal.aborted .result-icon{opacity:.8}.game-end-modal.aborted .result-title{color:orange}.game-end-modal.aborted .result-message{color:#ffa500cc}.modal-close-btn{display:none}.game-end-header{text-align:center;margin-bottom:10px;border-bottom:2px solid rgba(0,0,0,.1);padding-bottom:10px;max-width:1000px;width:100%;flex-shrink:0}.game-logo-section{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:8px}.game-logo{font-size:2.5rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.game-title-info{text-align:left}.game-name{font-size:1.4rem;font-weight:700;color:var(--text-primary);margin:0;line-height:1.2}.game-type{font-size:1.1rem;color:var(--text-secondary);margin:0;font-weight:500}.game-session-info{display:flex;justify-content:center;gap:24px;margin-top:8px;font-size:.9rem;color:var(--text-secondary)}.session-item{display:flex;align-items:center;gap:8px}.result-icon{font-size:2.5rem;margin:6px 0;animation:resultIconBounce .6s ease-out .2s both;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.defeat .result-icon{display:none}.result-title{font-size:2rem;font-weight:800;margin:0 0 8px;animation:titleSlideIn .5s ease-out .3s both;color:var(--text-primary);text-shadow:none;letter-spacing:-.02em}.victory .result-title{color:#4ade80}.defeat .result-title{color:#f87171}.draw .result-title{color:#fbbf24}.result-message{font-size:1rem;color:var(--text-secondary);line-height:1.4;animation:messageSlideIn .5s ease-out .4s both;max-width:700px;margin:0 auto}.score-summary{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px;animation:messageSlideIn .5s ease-out .5s both}.score-summary-player{font-size:.95rem;color:var(--text-secondary);font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-summary-scores{font-size:1.6rem;font-weight:800;color:var(--text-primary);letter-spacing:2px}.game-stats{background:var(--bg-subtle);border-radius:16px;padding:16px;margin:15px 0;border:1px solid var(--border-default);animation:statsSlideIn .5s ease-out .5s both;max-width:1200px;width:100%;flex-shrink:0;box-sizing:border-box;overflow:visible}.stats-header{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:20px;font-size:1.2rem;font-weight:600;color:var(--text-primary)}.stats-grid{display:flex;flex-direction:row;gap:0;margin-bottom:16px;border:1px solid var(--border-default);border-radius:12px;overflow:hidden;width:100%}.stat-card{flex:1;min-width:0;padding:12px 8px;text-align:center;background:var(--bg-subtle);border-right:1px solid var(--border-default);transition:background .2s ease}.stat-card:last-child{border-right:none}.stat-card:hover{background:var(--bg-muted)}.stat-card-label{font-size:.65rem;color:var(--text-tertiary);margin-bottom:4px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-card-value{font-size:1.1rem;font-weight:800;color:var(--text-primary);margin:0}.stat-card-value.positive{color:#2e7d32}.stat-card-value.negative{color:#c62828}.stat-card-value.neutral{color:#f57c00}.ranking-section{background:linear-gradient(135deg,#3b82f626,#8b5cf626);border-radius:12px;padding:12px 16px;text-align:center;border:1px solid rgba(59,130,246,.3)}.ranking-label{font-size:.9rem;color:var(--text-brand);margin-bottom:8px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.ranking-value{font-size:1.2rem;font-weight:800;color:var(--brand-500);margin:0}.ranking-total{font-size:.8rem;color:var(--text-secondary);margin-top:4px;font-weight:500}.online-indicator{display:inline-flex;align-items:center;gap:6px;font-weight:500;white-space:normal;word-break:break-word;max-width:100%}.online-dot{width:8px;height:8px;background:#4caf50;border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.game-content-tabs{background:var(--bg-subtle);border-radius:16px;padding:0;margin:10px 0;border:1px solid var(--border-default);animation:statsSlideIn .5s ease-out .5s both;max-width:1200px;width:100%;flex-shrink:0;overflow:hidden}.tab-navigation{display:flex;background:var(--bg-subtle);border-bottom:1px solid var(--border-default)}.tab-button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 20px;background:transparent;border:none;color:var(--text-secondary);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;position:relative;border-bottom:3px solid transparent}.tab-button:hover{background:var(--bg-muted);color:var(--text-primary)}.tab-button.active{background:var(--bg-muted);color:var(--text-primary);border-bottom-color:#4ade80}.tab-button.active:before{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#4ade80,#22c55e);border-radius:2px 2px 0 0}.tab-icon{font-size:1.2rem;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.tab-text{font-weight:600;letter-spacing:.5px}.tab-content{padding:20px}.player-scoreboard-section{background:transparent;border-radius:0;padding:0;margin:0;border:none;animation:none;max-width:none;width:100%;flex-shrink:0}.tab-content .game-stats{background:transparent;border-radius:0;padding:0;margin:0;border:none;animation:none;max-width:none;width:100%;flex-shrink:0;overflow:visible;box-sizing:border-box}.player-scoreboard-section{background:var(--bg-subtle);border-radius:16px;padding:20px;margin:15px 0;border:1px solid var(--border-default);animation:statsSlideIn .5s ease-out .7s both;max-width:1200px;width:100%;flex-shrink:0}.guest-friend-warning{display:flex;align-items:center;gap:8px;padding:10px 14px;margin-top:12px;background:#fbbf241f;border:1px solid rgba(251,191,36,.25);border-radius:10px;color:#f59e0b;font-size:.8rem;font-weight:500;line-height:1.4;animation:fadeIn .2s ease-out}.guest-friend-warning i{font-size:.9rem;flex-shrink:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.scoreboard-header{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:20px;font-size:1.2rem;font-weight:600;color:var(--text-primary)}.players-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.player-row{display:grid;grid-template-columns:40px 60px 1fr auto 120px;gap:12px;align-items:center;background:var(--bg-muted);border-radius:12px;padding:16px;border:1px solid var(--border-strong);transition:all .3s ease;position:relative}.player-row:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);background:var(--bg-muted)}.player-rank{display:flex;align-items:center;justify-content:center;gap:6px;font-size:1.2rem;font-weight:700;color:var(--text-primary);text-align:center}.rank-icon{font-size:1.4rem}.player-avatar{position:relative;display:flex;align-items:center;justify-content:center}.avatar-icon{font-size:2rem;color:var(--text-primary)}.me-indicator{position:absolute;bottom:-8px;left:50%;transform:translate(-50%);background:#22c55ee6;color:#fff;font-size:.7rem;padding:2px 6px;border-radius:8px;font-weight:600}.player-main-info{display:flex;flex-direction:column;gap:4px;min-width:0;overflow:hidden}.player-name{font-size:1.1rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px;min-width:0}.player-name-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.status-badge{font-size:.9rem;padding:2px 6px;border-radius:6px;background:var(--bg-muted);flex-shrink:0}.status-badge.winner{background:#ffd70033;color:gold}.status-badge.draw{background:#ff980033;color:#ff9800}.player-rating{font-size:.9rem;color:var(--text-secondary);font-weight:500}.player-score-section{display:flex;gap:16px;align-items:center;flex-shrink:0}.player-game-score{text-align:center;display:flex;flex-direction:column;align-items:center}.game-score-value{font-size:1.5rem;font-weight:800;color:var(--text-primary);line-height:1}.player-rating-change,.player-score{text-align:center;display:flex;flex-direction:column;align-items:center}.score-value{font-size:1.5rem;font-weight:800;color:var(--text-primary);line-height:1}.score-value.positive{color:#22c55e}.score-value.negative{color:#ef4444}.score-label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.player-actions{display:flex;gap:8px;justify-content:center}.action-btn-small{background:var(--bg-muted);border:1px solid var(--border-strong);border-radius:8px;padding:8px;cursor:pointer;transition:all .3s ease;font-size:1rem;color:var(--text-primary);display:flex;align-items:center;justify-content:center;min-width:36px;min-height:36px}.action-btn-small:hover{background:var(--bg-muted);transform:scale(1.1)}.action-btn-small.add-friend:hover{background:#22c55e4d;border-color:#22c55e80}.action-btn-small.like-player:hover{background:#3b82f64d;border-color:#3b82f680}.action-btn-small.view-profile:hover{background:#a855f74d;border-color:#a855f780}.action-btn-small.add-friend.friend{background:#2ecc7133;border-color:#2ecc7166;color:#2ecc71;cursor:default}.action-btn-small.add-friend.pending,.action-btn-small.add-friend.sending{background:#ffc10733;border-color:#ffc10766;color:#ffc107;cursor:default}.action-btn-small.add-friend.received{background:#4fc3f733;border-color:#4fc3f766;color:var(--text-brand);cursor:default}.action-btn-small.add-friend.guest{opacity:.7;cursor:pointer}.action-btn-small:disabled{cursor:not-allowed;opacity:.7}.action-btn-small:disabled:hover{transform:none}.player-row.winner{border-color:#ffd70080;background:#ffd7001a}.player-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#60a5fa,#4ade80);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.avatar-icon{color:var(--text-primary)}.player-details{flex:1;min-width:0}.player-name{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-stats{display:flex;flex-direction:column;gap:2px}.player-rating,.player-ranking{font-size:.9rem;color:var(--text-secondary);font-weight:500}.player-badge{font-size:1.5rem;flex-shrink:0}.winner-badge{color:#fbbf24;filter:drop-shadow(0 0 8px rgba(251,191,36,.4))}.draw-badge{color:var(--text-muted)}.vs-divider{font-size:1.2rem;font-weight:800;color:var(--text-muted);padding:8px 16px;background:var(--bg-subtle);border-radius:8px;flex-shrink:0}.social-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.social-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;background:var(--bg-muted);color:var(--text-primary);border:1px solid var(--border-strong)}.social-btn:hover{background:var(--bg-muted);transform:translateY(-2px);box-shadow:var(--shadow-md)}.social-btn.add-friend:hover{background:linear-gradient(135deg,#22c55e33,#22c55e4d);border-color:#22c55e66}.social-btn.like-player:hover{background:linear-gradient(135deg,#ef444433,#ef44444d);border-color:#ef444466}.social-btn.view-profile:hover{background:linear-gradient(135deg,#3b82f633,#3b82f64d);border-color:#3b82f666}.social-icon{font-size:1.1rem}.modal-actions{display:flex;gap:12px;animation:actionsSlideIn .5s ease-out .6s both;margin-top:auto;padding:16px 0;max-width:600px;width:100%;flex-shrink:0;position:sticky;bottom:0;background:var(--surface-card);z-index:10}.action-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;position:relative;overflow:hidden;flex:1;min-height:48px;letter-spacing:.3px}.action-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.action-btn:hover:before{left:100%}.primary-btn{background:#388e3c;color:#fff;box-shadow:0 2px 8px #388e3c59;border:1px solid rgba(76,175,80,.5)}.primary-btn:hover{background:#43a047;transform:translateY(-1px);box-shadow:0 4px 14px #388e3c73}.secondary-btn{background:var(--bg-subtle);color:var(--text-brand);box-shadow:none;border:1px solid rgba(33,150,243,.35)}.secondary-btn:hover{background:#2196f326;transform:translateY(-1px);border-color:#2196f38c;color:var(--brand-400)}.action-btn.disabled{background:linear-gradient(135deg,#424242,#616161);color:var(--text-secondary);cursor:not-allowed;box-shadow:0 2px 8px #4242424d}.action-btn.disabled:hover{transform:none;box-shadow:0 2px 8px #4242424d;background:linear-gradient(135deg,#424242,#616161)}.action-btn.success{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;box-shadow:0 4px 16px #4caf504d}.accept-btn{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;box-shadow:0 4px 16px #4caf504d;border:1px solid rgba(76,175,80,.4);flex:1;min-height:60px;padding:16px 24px;font-size:1.1rem}.accept-btn:hover{background:linear-gradient(135deg,#45a049,#5cbf60);transform:translateY(-2px);box-shadow:0 6px 20px #4caf5066}.decline-btn{background:linear-gradient(135deg,#f44336,#ef5350);color:#fff;box-shadow:0 4px 16px #f443364d;border:1px solid rgba(244,67,54,.4);flex:1;min-height:60px;padding:16px 24px;font-size:1.1rem}.decline-btn:hover{background:linear-gradient(135deg,#d32f2f,#e53935);transform:translateY(-2px);box-shadow:0 6px 20px #f4433666}.report-btn{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;box-shadow:0 4px 12px #ff980040;border:1px solid rgba(255,152,0,.4);flex:0 0 auto;min-height:48px;padding:12px 20px;font-size:.95rem}.report-btn:hover:not(.disabled){background:linear-gradient(135deg,#f57c00,#ef6c00);transform:translateY(-2px);box-shadow:0 6px 16px #ff980059}.report-btn.disabled{background:linear-gradient(135deg,#66bb6a,#43a047);box-shadow:0 4px 12px #4caf5040;border-color:#4caf5066;cursor:default;opacity:.9}.report-error-msg{color:#ef5350;font-size:.85rem;text-align:center;margin-top:4px}.rematch-request-panel{display:flex;flex-direction:column;gap:16px;flex:1;max-width:400px;background:var(--bg-muted);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-strong);border-radius:16px;padding:24px;animation:rematchPanelSlideIn .3s ease-out}.rematch-info{text-align:center;margin-bottom:8px;display:flex;flex-direction:column;align-items:center;gap:8px}.rematch-message{font-size:1.2rem;font-weight:600;color:var(--text-primary);text-shadow:0 2px 4px rgba(0,0,0,.3)}.rematch-countdown{font-size:1.5rem;font-weight:700;color:#4ade80;background:#4ade8026;padding:4px 12px;border-radius:8px;animation:countdownPulse 1s ease-in-out infinite}.rematch-countdown.warning{color:#f87171;background:#f8717126;animation:countdownWarning .5s ease-in-out infinite}.rematch-timeout-warning{font-size:.85rem;color:#fbbf24;text-align:center;padding:8px;background:#fbbf2426;border-radius:8px;animation:warningBlink 1s ease-in-out infinite}@keyframes countdownPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes countdownWarning{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}@keyframes warningBlink{0%,to{opacity:1}50%{opacity:.7}}.rematch-actions{display:flex;gap:16px;width:100%}@keyframes rematchPanelSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.btn-icon{font-size:1.2rem}.btn-text{font-weight:600}.victory-particles{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.particle{position:absolute;font-size:2rem;animation:particleFloat 3s ease-in-out infinite;opacity:.7}.particle-1{top:10%;left:10%;animation-delay:0s}.particle-2{top:20%;right:15%;animation-delay:.5s}.particle-3{top:60%;left:5%;animation-delay:1s}.particle-4{top:70%;right:10%;animation-delay:1.5s}.particle-5{top:40%;left:85%;animation-delay:2s}.particle-6{top:80%;left:50%;animation-delay:2.5s}@keyframes modalOverlayIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes resultIconBounce{0%{opacity:0;transform:translateY(-30px) scale(.5)}50%{transform:translateY(-10px) scale(1.1)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes titleSlideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes messageSlideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes statsSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes actionsSlideIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes particleFloat{0%,to{transform:translateY(0) rotate(0);opacity:.7}25%{transform:translateY(-20px) rotate(90deg);opacity:1}50%{transform:translateY(-10px) rotate(180deg);opacity:.8}75%{transform:translateY(-30px) rotate(270deg);opacity:.9}}@media (max-width: 768px){.game-end-modal{padding:12px 10px 20px;min-height:100vh;min-height:100dvh;justify-content:flex-start;gap:8px}.game-end-header{margin-bottom:10px;padding-bottom:10px}.game-logo-section{flex-direction:column;gap:8px}.game-logo{font-size:2rem}.game-title-info{text-align:center}.game-name{font-size:1rem}.game-type{font-size:.85rem}.game-session-info{flex-direction:column;gap:12px;font-size:.9rem}.result-icon{font-size:2.5rem;margin:8px 0}.result-title{font-size:1.8rem;margin:0 0 8px}.result-message{font-size:1rem}.tab-button{padding:10px 14px;font-size:.85rem}.tab-content{padding:12px}.stats-grid{gap:0}.stat-card{padding:10px 6px}.stat-card-value{font-size:1rem}.modal-actions{flex-direction:column;gap:8px;margin-top:12px;position:static;background:transparent;padding:10px 0;z-index:10}.action-btn{min-height:44px;padding:10px 18px;font-size:.9rem}.players-grid{flex-direction:column;gap:8px}.vs-divider{transform:rotate(90deg);font-size:.9rem;padding:4px 12px}.social-actions{gap:6px}.social-btn{font-size:.85rem;padding:8px 14px}.player-row{grid-template-columns:36px 40px 1fr auto;gap:8px;padding:10px 12px;overflow:hidden}.player-actions{display:none}.player-avatar{width:40px;height:40px}.score-value{font-size:1.3rem}.score-label{font-size:.7rem}.player-name{font-size:1rem}.player-rating,.player-ranking{font-size:.8rem}.game-end-header .game-session-info{gap:6px;font-size:.8rem}.game-end-header .result-icon{font-size:2rem;margin:4px 0}.game-end-header .result-title{font-size:1.5rem;margin:0 0 4px}.game-end-header .result-message{font-size:.85rem}}@media (max-width: 480px){.game-end-modal{padding:12px 8px;min-height:100vh;min-height:100dvh}.game-end-header{margin-bottom:8px;padding-bottom:8px}.game-logo{font-size:1.6rem}.result-icon{font-size:2rem;margin:6px 0}.result-title{font-size:1.5rem;margin:0 0 6px}.result-message{font-size:.9rem}.tab-button{padding:8px 10px;font-size:.8rem;gap:4px}.tab-content{padding:10px 8px}.game-stats{padding:12px 8px;margin:12px 0}.stats-header{font-size:1rem;margin-bottom:12px}.stats-grid{gap:0}.stat-card{padding:8px 6px}.stat-card-value{font-size:1rem}.modal-actions{margin-top:8px;gap:6px;position:static;background:transparent;padding:8px 0 16px;z-index:10}.action-btn{padding:8px 14px;font-size:.85rem;min-height:40px}.player-row{grid-template-columns:28px 36px 1fr auto;gap:6px;padding:8px;overflow:hidden}.player-avatar{width:36px;height:36px}.player-rank{font-size:1rem}.rank-icon,.score-value{font-size:1.1rem}.score-label{font-size:.6rem}.player-name{font-size:.85rem;max-width:none}.player-main-info{min-width:0}.rematch-request-panel{padding:14px;border-radius:12px}.rematch-message{font-size:1rem}.accept-btn,.decline-btn{min-height:46px;padding:10px 16px;font-size:.9rem}}.action-btn:focus{outline:2px solid #2196F3;outline-offset:2px}.modal-close-btn:focus{outline:2px solid #2196F3;outline-offset:2px}.rematch-progress-panel{background:var(--bg-muted);border:1px solid var(--border-strong);border-radius:12px;padding:20px;margin:15px 0;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeIn .3s ease-out}.progress-info{margin-bottom:15px}.progress-message{color:#e8f5e8;font-size:.95rem;font-weight:500;display:block;margin-bottom:10px}.progress-bar{width:100%;height:8px;background:var(--bg-muted);border-radius:4px;overflow:hidden;margin:10px 0}.progress-fill{height:100%;background:linear-gradient(90deg,#4caf50,#66bb6a);border-radius:4px;transition:width .5s ease;animation:progressGlow 2s ease-in-out infinite alternate}.progress-players{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:15px}.accepted-player{background:#4caf5033;color:#81c784;padding:4px 12px;border-radius:16px;font-size:.85rem;border:1px solid rgba(76,175,80,.3);display:inline-flex;align-items:center;gap:4px}@keyframes progressGlow{0%{box-shadow:0 0 5px #4caf504d}to{box-shadow:0 0 15px #4caf5099}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.bot-continue-btn{background:linear-gradient(135deg,#7c4dff,#6200ea);border:none;color:#fff;transition:all .3s ease}.bot-continue-btn:hover{background:linear-gradient(135deg,#9c7cff,#7c4dff);transform:translateY(-2px);box-shadow:0 6px 20px #7c4dff66}.bot-difficulty-selector{display:flex;flex-direction:column;align-items:center;gap:12px;background:var(--bg-muted);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-strong);border-radius:16px;padding:20px;animation:fadeIn .3s ease-out}.difficulty-label{font-size:.9rem;color:var(--text-primary);font-weight:500}.difficulty-options{display:flex;gap:8px}.difficulty-btn{padding:8px 16px;border-radius:8px;border:1px solid var(--border-strong);background:var(--bg-muted);color:#fff;font-size:.85rem;cursor:pointer;transition:all .2s ease}.difficulty-btn:hover{background:var(--bg-muted);border-color:var(--text-muted)}.difficulty-btn.selected{background:linear-gradient(135deg,#7c4dff,#6200ea);border-color:#9c7cff;box-shadow:0 0 10px #7c4dff66}.bot-confirm-btn{background:linear-gradient(135deg,#4caf50,#43a047);border:none;color:#fff;padding:10px 24px;margin-top:8px}.bot-confirm-btn:hover{background:linear-gradient(135deg,#66bb6a,#4caf50);transform:translateY(-2px);box-shadow:0 4px 15px #4caf5066}.cancel-btn{background:transparent;border:1px solid var(--border-strong);color:var(--text-secondary);padding:6px 16px;font-size:.8rem}.cancel-btn:hover{background:var(--bg-muted);color:#fff}.map-view-action{display:none}.map-btn{background:linear-gradient(135deg,#6366f14d,#4f46e54d)!important;border:2px solid rgba(99,102,241,.5)!important;color:#c7d2fe!important;box-shadow:0 4px 16px #6366f140!important}.map-btn:hover{background:linear-gradient(135deg,#6366f173,#4f46e573)!important;border-color:#6366f1b3!important;color:#dcfce7!important;box-shadow:0 6px 20px #6366f159!important}.ms-map-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100001;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;animation:modalOverlayIn .25s ease-out}.ms-map-overlay-content{background:var(--surface-card);border-radius:20px;border:1px solid var(--border-default);max-width:800px;width:90vw;max-height:85vh;overflow:auto;padding:20px;animation:modalSlideIn .3s ease-out;display:flex;flex-direction:column}.ms-map-overlay-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-default)}.ms-map-overlay-header h3{margin:0;font-size:1.1rem;font-weight:700;color:var(--text-primary)}.ms-map-overlay-close{background:var(--bg-muted);border:none;color:var(--text-secondary);width:36px;height:36px;border-radius:50%;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.ms-map-overlay-close:hover{background:var(--bg-muted);color:var(--text-primary)}.ms-map-tab{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.ms-map-tab .ms-game-layout{max-height:100%;width:100%;height:100%}.ms-map-tab .ms-board-wrapper{max-height:100%;width:100%}.ms-map-tab .ms-board{max-width:min(100%,calc(85vh - 260px));max-height:calc(85vh - 260px)}@media (max-width: 480px){.ms-map-overlay-content{width:100vw;max-width:100vw;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;padding:10px;border-radius:0;border:none;box-sizing:border-box}.ms-map-tab .ms-board{max-width:min(calc(100vw - 20px),calc(100dvh - 120px));max-height:calc(100dvh - 120px)}}.game-page{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--bg-base);color:var(--text-primary)}.floating-controls{position:fixed;top:20px;left:20px;display:flex;flex-direction:column;gap:12px;z-index:100}.floating-btn{width:48px;height:48px;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:0;position:relative}.floating-btn:before{content:attr(title);position:absolute;left:60px;top:50%;transform:translateY(-50%);background:var(--bg-muted);color:var(--text-primary);padding:6px 10px;border-radius:6px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.floating-btn:hover:before{opacity:1}.floating-btn:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 8px 25px #0006}.floating-btn.back-btn{background:#4fc3f7e6;color:#fff;border:1px solid rgba(79,195,247,.3)}.floating-btn.back-btn:hover{background:#4fc3f7;box-shadow:0 8px 25px #4fc3f766}.floating-btn.leave-btn{background:#f44336e6;color:#fff;border:1px solid rgba(244,67,54,.3)}.floating-btn.leave-btn:hover{background:#f44336;box-shadow:0 8px 25px #f4433666}.turn-indicator-overlay{position:fixed;top:20px;right:20px;z-index:100}.turn-badge{padding:8px 16px;border-radius:25px;font-size:.85rem;font-weight:600;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 12px #0000004d;transition:all .3s ease}.turn-badge.your-turn{background:#4caf50e6;color:#fff;border-color:#4caf504d;animation:gentle-pulse 2s infinite}.turn-badge.opponent-turn{background:#ffc107e6;color:#000c;border-color:#ffc1074d}@keyframes gentle-pulse{0%{transform:scale(1);box-shadow:0 4px 12px #0000004d}50%{transform:scale(1.02);box-shadow:0 6px 20px #4caf5066}to{transform:scale(1);box-shadow:0 4px 12px #0000004d}}.disconnect-notification-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:200;pointer-events:none}.disconnect-notification{background:#f44336f2;border:1px solid rgba(244,67,54,.5);border-radius:15px;padding:1.5rem;box-shadow:0 10px 40px #f4433666;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);max-width:350px;text-align:center;animation:disconnect-appear .5s ease-out}.disconnect-icon{font-size:2rem;margin-bottom:.5rem}.disconnect-content h4{margin:0 0 .5rem;color:#fff;font-size:1.1rem}.disconnect-content p{margin:.25rem 0;color:#ffffffe6;font-size:.9rem;line-height:1.4}.disconnect-timer{margin-top:1rem;display:flex;justify-content:center}.timer-circle{width:60px;height:60px;border:3px solid rgba(255,255,255,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;animation:timer-pulse 1s infinite}.timer-text{color:#fff;font-weight:700;font-size:.9rem}@keyframes disconnect-appear{0%{opacity:0;transform:translate(-50%,-60%)}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes timer-pulse{0%,to{border-color:#ffffff4d}50%{border-color:#ffffffb3}}.reconnected-notice{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:200;background:#4caf50eb;color:#fff;padding:12px 28px;border-radius:14px;font-size:.95rem;font-weight:600;box-shadow:0 6px 24px #4caf5066;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:reconnected-in .3s ease-out,reconnected-out .4s ease-in 1.6s forwards;pointer-events:none}@keyframes reconnected-in{0%{opacity:0;transform:translate(-50%,-40%)}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes reconnected-out{0%{opacity:1}to{opacity:0}}.game-layout{display:flex;flex:1;gap:1.5rem;padding:12px 20px;justify-content:center;align-items:center;max-width:1400px;margin:0 auto;width:100%;height:100vh;height:100dvh;overflow:hidden}.board-area{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:0 0 auto;max-height:100%;max-width:100%}.board-container{position:relative;padding:.5rem;background:var(--surface-card);border-radius:var(--radius-xl);border:1px solid var(--border-default);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.chat-area{flex:0 0 380px;display:flex;flex-direction:column;height:fit-content;max-height:calc(100vh - 200px);position:relative;transition:all .3s ease}.chat-area.chat-closed{flex:0 0 50px;width:50px;overflow:hidden}.chat-toggle-btn{display:flex;align-items:center;justify-content:center;position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;background:#6366f1e6;border:1px solid rgba(99,102,241,.3);color:#fff;font-size:1rem;cursor:pointer;z-index:502;box-shadow:0 4px 12px #0000004d;transition:all .3s ease}.chat-area.chat-closed .chat-toggle-btn{position:static;margin:7px auto}.chat-toggle-btn:hover{transform:scale(1.1);background:#6366f1}.chat-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;background:#ef4444;border-radius:9px;font-size:.7rem;display:flex;align-items:center;justify-content:center;color:#fff}.mobile-chat-toggle{display:none}@media (max-width: 1200px){.game-layout{flex-direction:column;align-items:center;gap:1.5rem;padding:15px}.chat-area{flex:none;width:100%;max-width:600px;max-height:400px}}@media (max-width: 768px){.floating-controls{top:15px;left:15px;gap:10px}.floating-btn{width:44px;height:44px}.turn-indicator-overlay{top:15px;right:15px}.turn-badge{padding:6px 12px;font-size:.8rem}.game-layout{padding:10px;gap:.5rem;min-height:auto;height:auto;overflow-y:auto}.board-container{padding:.25rem;max-width:calc(100vw - 20px)}.chat-area{position:fixed;bottom:0;left:0;right:0;max-height:55vh;z-index:500;transform:translateY(100%);transition:transform .3s cubic-bezier(.32,.72,0,1);background:var(--surface-overlay);border-top-left-radius:16px;border-top-right-radius:16px;border-top:1px solid var(--border-default);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex:none;width:100%;max-width:100%;padding:0;visibility:hidden}.chat-area.chat-open{transform:translateY(0);visibility:visible}.chat-area.chat-closed{width:auto;flex:none}.chat-toggle-btn{position:fixed;bottom:16px;right:16px;width:50px;height:50px;font-size:1.25rem;box-shadow:0 4px 16px #0006;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.chat-area.chat-open .chat-toggle-btn{position:absolute;bottom:auto;top:10px;right:10px;width:36px;height:36px;font-size:1rem}.chat-toggle-btn:hover{transform:scale(1.05);box-shadow:0 6px 20px #00000080}.mobile-chat-toggle{display:none}.game-chat-panel .chat-messages{max-height:35vh;min-height:150px}}@media (max-width: 480px){.floating-controls{top:10px;left:10px}.turn-indicator-overlay{top:10px;right:10px}.game-layout{padding:6px}.board-container{padding:.15rem;max-width:calc(100vw - 12px)}.floating-btn{width:40px;height:40px}.chat-toggle-btn{width:46px;height:46px;bottom:12px;right:12px;font-size:1.1rem}}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center}.recovery-info{margin-top:20px;text-align:left;color:var(--text-secondary);font-size:.9rem}.recovery-info p{margin:5px 0}.recovery-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}.recovery-btn{padding:10px 20px;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;transition:all .3s ease}.recovery-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.loading-spinner{width:40px;height:40px;border:4px solid var(--border-default);border-left:4px solid var(--brand-500);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.error-icon{font-size:3rem;margin-bottom:1rem}.back-btn{background:var(--gradient-brand);color:var(--btn-primary-text);border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;margin-top:1rem;transition:all .3s ease}.back-btn:hover{background:linear-gradient(135deg,#29b6f6,#0288d1);transform:translateY(-2px)}.game-chat-panel{height:100%;display:flex;flex-direction:column;background:var(--surface-card);border-radius:var(--radius-2xl);border:1px solid var(--border-default);overflow:hidden;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.game-chat-panel .chat-section{display:flex;flex-direction:column;height:100%}.game-chat-panel .chat-header{background:var(--bg-subtle);padding:1rem;border-bottom:1px solid var(--border-default)}.game-chat-panel .chat-header h3{margin:0;color:var(--text-brand);font-size:1.1rem;display:flex;align-items:center;gap:.5rem}.game-chat-panel .chat-messages{flex:1;padding:1rem;overflow-y:auto;max-height:400px;min-height:300px}.game-chat-panel .message{margin-bottom:1rem}.game-chat-panel .system-message{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--success-50);border-radius:8px;border-left:3px solid var(--success-500)}.game-chat-panel .system-icon{font-size:.9rem}.game-chat-panel .system-text{color:var(--success-600);font-size:.9rem}.game-chat-panel .user-message{display:flex;align-items:flex-start;gap:.75rem}.game-chat-panel .message-avatar{width:32px;height:32px;flex-shrink:0}.game-chat-panel .message-content{flex:1;background:var(--bg-subtle);border-radius:var(--radius-xl);padding:.75rem}.game-chat-panel .message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.game-chat-panel .message-sender{font-weight:600;color:var(--text-brand);font-size:.9rem}.game-chat-panel .message-time{color:var(--text-muted);font-size:.8rem}.game-chat-panel .message-text{color:var(--text-primary);font-size:.9rem;line-height:1.4;word-wrap:break-word}.game-chat-panel .typing-indicator{display:flex;align-items:center;gap:.5rem;color:var(--text-brand);font-size:.9rem;font-style:italic;margin-top:.5rem}.game-chat-panel .typing-dots{display:flex;gap:2px}.game-chat-panel .typing-dots span{width:4px;height:4px;background:var(--brand-500);border-radius:50%;animation:typing-bounce 1.4s infinite}.game-chat-panel .typing-dots span:nth-child(2){animation-delay:.2s}.game-chat-panel .typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-8px)}}.game-chat-panel .guest-chat-disabled{padding:1rem;border-top:1px solid rgba(255,255,255,.1)}.game-chat-panel .guest-input-placeholder{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background:var(--warning-50);border:1px solid rgba(245,158,11,.3);border-radius:8px;color:var(--warning-600);font-size:.9rem}.game-chat-panel .chat-input{padding:1rem;border-top:1px solid var(--border-default)}.game-chat-panel .input-wrapper{display:flex;align-items:center;gap:.5rem;background:var(--input-bg);border-radius:var(--radius-full);padding:.5rem}.game-chat-panel .emoji-btn,.game-chat-panel .send-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:.25rem;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.game-chat-panel .emoji-btn:hover,.game-chat-panel .send-btn:not(:disabled):hover{background:var(--sidebar-item-hover);transform:scale(1.1)}.game-chat-panel .send-btn:disabled{opacity:.5;cursor:not-allowed}.game-chat-panel .message-input{flex:1;background:none;border:none;color:var(--text-primary);font-size:.9rem;padding:.5rem;outline:none}.game-chat-panel .message-input::placeholder{color:var(--input-placeholder)}.game-chat-panel .emoji-picker{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.5rem;padding:.5rem;background:var(--bg-muted);border-radius:8px}.game-chat-panel .emoji-option{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s ease}.game-chat-panel .emoji-option:hover{background:var(--sidebar-item-hover);transform:scale(1.2)}@media (max-width: 1200px){.game-content{flex-direction:column;align-items:center;gap:1.5rem}.game-sidebar,.game-chat-sidebar{flex:none;width:100%;max-width:500px}.game-sidebar{flex-direction:row;gap:1rem}.timer-panel,.move-history,.game-controls{flex:1;min-width:150px}.game-chat-panel .chat-messages{max-height:250px;min-height:200px}}@media (max-width: 768px){.game-header{padding:1rem;flex-direction:column;gap:1rem}.game-header .game-info h2{font-size:1.2rem}.game-content{padding:1rem;gap:1rem}.game-sidebar{flex-direction:column}.game-chat-panel .chat-messages{max-height:200px;min-height:150px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.leave-game-modal{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:2rem;max-width:400px;width:90%;box-shadow:var(--shadow-xl);color:var(--text-primary)}.leave-game-modal h3{margin:0 0 1rem;font-size:1.4rem;text-align:center;color:var(--error-500)}.leave-game-modal p{margin:0 0 2rem;text-align:center;line-height:1.5;color:var(--text-secondary)}.leave-game-modal .cancel-info{display:block;margin-top:.5rem;color:#4fc3f7;font-size:.9rem;font-weight:500}.leave-game-modal .modal-actions{display:flex;gap:1rem;justify-content:center;background:transparent;position:static;padding:0;margin-top:0;max-width:none;animation:none}.modal-actions button{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;flex:1;min-width:0}.btn-secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-text);border:1px solid var(--btn-secondary-border)}.btn-secondary:hover{background:var(--sidebar-item-hover);transform:translateY(-2px)}.btn-danger{background:linear-gradient(135deg,var(--error-500) 0%,var(--error-600) 100%);color:var(--btn-primary-text)}.btn-danger:hover{background:linear-gradient(135deg,#ff5252,#e53e3e);transform:translateY(-2px);box-shadow:0 4px 12px #ff6b6b4d}@media (max-width: 480px){.leave-game-modal{padding:1.5rem;width:88%}.leave-game-modal h3{font-size:1.2rem}.leave-game-modal p{margin-bottom:1.5rem;font-size:.95rem}.leave-game-modal .modal-actions{flex-direction:column;gap:.75rem}.leave-game-modal .modal-actions button{width:100%;padding:.85rem 1rem;font-size:1rem}}.game-page-minesweeper .board-area{flex:1;max-width:100%;width:100%;display:flex;justify-content:center}.game-page-minesweeper .board-container{padding:.25rem;background:transparent;border:none;box-shadow:none;max-width:100%;width:100%}.game-page-minesweeper .ms-players-sidebar{display:contents}@media (min-width: 1025px){.game-page-minesweeper .game-layout{flex-direction:row;align-items:center;gap:1.5rem}.game-page-minesweeper .ms-players-sidebar{display:flex;flex-direction:column;gap:1rem;width:270px;flex-shrink:0;justify-content:center;align-self:center}.game-page-minesweeper .ms-players-sidebar .player-info{flex-direction:column;align-items:stretch;padding:1rem 1.2rem;border-radius:16px;gap:.75rem;margin:0}.game-page-minesweeper .ms-players-sidebar .player-main{width:100%}.game-page-minesweeper .ms-players-sidebar .player-name{font-size:1.05rem;max-width:180px}.game-page-minesweeper .ms-players-sidebar .avatar-circle{width:48px;height:48px}.game-page-minesweeper .ms-players-sidebar .player-rating{font-size:.9rem}.game-page-minesweeper .ms-players-sidebar .player-stats{width:100%;min-width:auto}.game-page-minesweeper .ms-players-sidebar .player-info.active{border-color:var(--brand-500);box-shadow:0 0 20px #6366f133}}@media (max-width: 1024px){.game-page-minesweeper .game-layout{flex-direction:column;align-items:center}.game-page-minesweeper .ms-players-sidebar .player-info.top{order:-1}.game-page-minesweeper .board-area{order:0}.game-page-minesweeper .ms-players-sidebar .player-info.bottom{order:1}}@media (max-width: 768px){.game-page-minesweeper .game-layout{height:100dvh;height:100vh;overflow:hidden;padding:0;gap:0;flex-direction:column;align-items:stretch}.game-page-minesweeper .board-area{flex:1;min-height:0;overflow:hidden;width:100%;display:flex;flex-direction:column}.game-page-minesweeper .board-container{flex:1;min-height:0;max-width:100%;padding:0;overflow:hidden;display:flex;flex-direction:column}.game-page-minesweeper .floating-controls{top:8px;left:8px;z-index:200}.game-page-minesweeper .floating-btn{width:36px;height:36px;opacity:.85}.game-page-minesweeper .turn-indicator-overlay{top:8px;right:8px}.game-page-minesweeper .turn-badge{padding:4px 10px;font-size:.7rem}.game-page-minesweeper .ms-players-sidebar{display:flex!important;flex-direction:row;align-items:stretch;gap:6px;order:2;width:100%;flex-shrink:0;height:62px;z-index:10;padding:2px 6px;background:var(--bg-base);border-top:1px solid var(--border-subtle)}.game-page-minesweeper .ms-players-sidebar .player-info{flex-direction:row;align-items:center;padding:0 .5rem;gap:.35rem;border-radius:8px;flex:1;min-width:0;order:0!important;height:100%}.game-page-minesweeper .ms-players-sidebar .player-info.top,.game-page-minesweeper .ms-players-sidebar .player-info.bottom{order:0!important}.game-page-minesweeper .ms-players-sidebar .player-main{flex:1;min-width:0}.game-page-minesweeper .ms-players-sidebar .player-avatar{display:none}.game-page-minesweeper .ms-players-sidebar .player-name{font-size:.72rem;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-page-minesweeper .ms-players-sidebar .avatar-circle,.game-page-minesweeper .ms-players-sidebar .turn-indicator{display:none}.game-page-minesweeper .ms-players-sidebar .player-info.active{border-color:var(--brand-500);box-shadow:0 0 8px #6366f14d;background:#6366f126}.game-page-minesweeper .ms-players-sidebar .player-rating{font-size:.65rem}.game-page-minesweeper .ms-players-sidebar .player-rating-row{gap:2px}.game-page-minesweeper .ms-players-sidebar .league-badge{display:none}.game-page-minesweeper .ms-players-sidebar .player-stats{flex-direction:row;gap:.2rem;align-items:center;min-width:auto;flex-shrink:0}.game-page-minesweeper .ms-players-sidebar .captured-label,.game-page-minesweeper .ms-players-sidebar .captured-display{display:none}.game-page-minesweeper .ms-players-sidebar .captured-pieces{min-height:auto;padding:.2rem .4rem;border-radius:6px}.game-page-minesweeper .ms-players-sidebar .captured-total{font-size:.75rem;font-weight:800}.game-page-minesweeper .board-area{order:0;flex:1;min-height:0;overflow:hidden}.game-page-minesweeper .game-layout{overflow:hidden;padding:4px;gap:4px;display:flex;flex-direction:column;height:100dvh}}@media (max-width: 480px){.game-page-minesweeper .board-container{max-width:100%;padding:0}.game-page-minesweeper .floating-controls{top:6px;left:6px}.game-page-minesweeper .floating-btn{width:32px;height:32px;opacity:.8}.game-page-minesweeper .turn-indicator-overlay{top:6px;right:6px}.game-page-minesweeper .turn-badge{padding:3px 8px;font-size:.65rem}.game-page-minesweeper .ms-players-sidebar .player-info{padding:.25rem .4rem;gap:.25rem;border-radius:6px}.game-page-minesweeper .ms-players-sidebar .player-name{font-size:.7rem;max-width:70px}.game-page-minesweeper .ms-players-sidebar .player-rating{font-size:.6rem}.game-page-minesweeper .game-layout{padding:4px;gap:4px}.game-page-minesweeper .chat-toggle-btn{bottom:14px;right:14px;width:44px;height:44px;font-size:1rem}}@media (min-width: 1025px){.game-page-minesweeper .chat-area{position:fixed;bottom:20px;right:20px;flex:none;width:340px;max-height:450px;z-index:500;border-radius:16px;background:var(--surface-overlay);border:1px solid var(--border-default);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow-xl);transition:all .3s cubic-bezier(.32,.72,0,1)}.game-page-minesweeper .chat-area.chat-closed{width:auto;max-height:none;background:transparent;border:none;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;overflow:visible}.game-page-minesweeper .chat-area.chat-closed .chat-toggle-btn{position:static;margin:0;width:48px;height:48px;font-size:1.15rem;box-shadow:0 4px 16px #0006}.game-page-minesweeper .chat-area.chat-open .chat-toggle-btn{position:absolute;top:10px;right:10px}.game-page-minesweeper .chat-area .game-chat-panel .chat-messages{max-height:300px;min-height:200px}}@media (min-width: 769px) and (max-width: 1024px){.game-page-minesweeper .chat-area{position:fixed;bottom:16px;right:16px;flex:none;width:320px;max-height:400px;z-index:500;border-radius:14px;background:var(--surface-overlay);border:1px solid var(--border-default);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow-xl);transition:all .3s cubic-bezier(.32,.72,0,1)}.game-page-minesweeper .chat-area.chat-closed{width:auto;max-height:none;background:transparent;border:none;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;overflow:visible}.game-page-minesweeper .chat-area.chat-closed .chat-toggle-btn{position:static;margin:0;width:46px;height:46px;font-size:1.1rem;box-shadow:0 4px 16px #0006}.game-page-minesweeper .chat-area.chat-open .chat-toggle-btn{position:absolute;top:8px;right:8px}.game-page-minesweeper .chat-area .game-chat-panel .chat-messages{max-height:260px;min-height:150px}}.game-page-battleship .game-layout{max-width:1200px;padding:10px 16px}.game-page-battleship .board-area{flex:1;max-width:100%;width:100%}.game-page-battleship .board-container{padding:0;background:transparent;border:none;box-shadow:none;max-width:100%;width:100%}.game-page-battleship .chat-area.chat-closed{width:50px;flex:0 0 50px;background:transparent;display:flex}.game-page-battleship .chat-area.chat-open{display:flex;flex:0 0 320px}.game-page-battleship .chat-toggle-btn{display:flex}.game-page-battleship .floating-controls{position:fixed!important;top:20px!important;left:20px!important;z-index:1000!important}.game-page-battleship .floating-btn{width:48px!important;height:48px!important;border-radius:50%!important}.game-page-battleship .floating-btn.leave-btn{background:#f44336f2!important;color:#fff!important;border:2px solid rgba(244,67,54,.5)!important}.game-page-battleship .floating-btn.leave-btn:hover{background:#f44336!important;box-shadow:0 8px 25px #f4433680!important}.game-page-battleship .floating-btn.back-btn{background:#4fc3f7f2!important;color:#fff!important}@media (max-width: 1024px){.game-page-battleship .game-layout{padding:8px}.game-page-battleship .chat-area.chat-open{flex:0 0 280px}}@media (max-width: 768px){.game-page-battleship .game-layout{padding:6px;gap:8px}.game-page-battleship .chat-area{display:flex}}.game-page-warfront .game-layout{max-width:1400px;padding:10px 16px}.game-page-warfront .board-area{flex:1;max-width:100%;width:100%}.game-page-warfront .board-container{padding:0;background:transparent;border:none;box-shadow:none;max-width:100%;width:100%}.wf-players-sidebar{display:none}@media (min-width: 1024px){.game-page-warfront .game-layout{display:flex;align-items:flex-start;gap:16px}.wf-players-sidebar{display:flex;flex-direction:column;gap:12px;align-items:center;min-width:180px;max-width:200px;padding:12px;background:var(--surface-card);border-radius:var(--radius-xl);border:1px solid var(--border-default);position:sticky;top:80px}}.wf-sidebar-player{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-lg);background:var(--bg-subtle);border:1px solid var(--border-subtle);width:100%;transition:all .3s}.wf-sidebar-player.is-active{border-color:#22c55e80;background:#22c55e14;box-shadow:0 0 12px #22c55e26}.wf-sidebar-details{display:flex;flex-direction:column;gap:2px;overflow:hidden}.wf-sidebar-name{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-you-tag{font-size:11px;color:var(--brand-400);font-weight:400}.wf-sidebar-meta{font-size:11px;color:var(--text-muted)}.wf-sidebar-vs{font-size:12px;font-weight:700;color:var(--text-tertiary);letter-spacing:2px;text-align:center}.game-page-warfront .turn-indicator-overlay{display:none}.game-page-warfront .chat-area.chat-closed{width:50px;flex:0 0 50px;background:transparent;display:flex}.game-page-warfront .chat-area.chat-open{display:flex;flex:0 0 320px}.game-page-warfront .chat-toggle-btn{display:flex}.game-page-warfront .floating-controls{position:fixed!important;top:20px!important;left:20px!important;z-index:1000!important}.game-page-warfront .floating-btn{width:48px!important;height:48px!important;border-radius:50%!important}.game-page-warfront .floating-btn.leave-btn{background:#f44336f2!important;color:#fff!important;border:2px solid rgba(244,67,54,.5)!important}@media (max-width: 1024px){.game-page-warfront .game-layout{padding:8px}}@media (max-width: 768px){.game-page-warfront .game-layout{padding:6px;gap:8px}}.leaderboard-page{padding:24px 0 80px;color:var(--text-primary)}.leaderboard-container{max-width:1000px;margin:0 auto;padding:0 24px}.leaderboard-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-top:8px}.lb-back-btn{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:var(--bg-subtle);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;transition:all .15s;flex-shrink:0}.lb-back-btn:hover{background:var(--bg-muted);color:var(--text-primary)}.leaderboard-header h1{font-size:1.25rem;font-weight:800;letter-spacing:-.02em;margin-bottom:0;background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.user-stats-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);padding:14px 16px;margin-bottom:16px;box-shadow:var(--shadow-card)}.user-stats-header{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--border-default)}.user-stats-avatar{width:34px;height:34px;border-radius:10px;object-fit:cover;border:2px solid var(--brand-200)}.user-stats-info h3{font-size:.875rem;font-weight:700;color:var(--text-primary);margin:0 0 1px}.user-stats-subtitle{font-size:.65rem;color:var(--text-muted)}.user-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.user-stat-item{display:flex;align-items:center;gap:8px;padding:8px;background:var(--bg-subtle);border-radius:var(--radius-md);border:1px solid var(--border-default)}.stat-icon{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:.8rem;background:var(--bg-muted);flex-shrink:0;color:var(--text-secondary)}.stat-icon.rating-icon{background:#6366f11a}.stat-icon.rank-icon{background:#3b82f61a}.stat-icon.games-icon{background:#10b9811a}[data-theme=dark] .stat-icon.rating-icon{background:#6366f133}[data-theme=dark] .stat-icon.rank-icon{background:#3b82f633}[data-theme=dark] .stat-icon.games-icon{background:#10b98133}.stat-content{display:flex;flex-direction:column}.stat-label{font-size:.6875rem;color:var(--text-muted);margin-bottom:2px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.stat-value{font-size:1rem;font-weight:700;color:var(--text-primary)}.league-filter{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);padding:10px 14px;margin-bottom:16px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:8px}.filter-label{font-size:.65rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.league-tabs{display:flex;flex-wrap:wrap;gap:4px}.league-tab{display:flex;align-items:center;gap:4px;padding:5px 10px;background:var(--bg-subtle);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all .15s;font-size:.7rem;font-weight:600}.league-tab:hover{background:var(--bg-muted);color:var(--text-primary)}.league-tab.active{background:var(--gradient-brand);border-color:transparent;color:#fff;box-shadow:0 2px 8px #6366f133}.league-tab-icon{font-size:.85rem}.league-tab-name{white-space:nowrap}.league-tab-count{font-size:.55rem;opacity:.65;background:#0000001f;padding:1px 5px;border-radius:6px}.filter-options{display:flex;gap:12px}.checkbox-label{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--text-secondary);cursor:pointer}.checkbox-label input{width:14px;height:14px;cursor:pointer;accent-color:var(--brand-500)}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;text-align:center;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-2xl)}.spinner{width:40px;height:40px;border:3px solid var(--border-default);border-top-color:var(--brand-500);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-icon{font-size:2rem;margin-bottom:8px}.retry-btn{margin-top:12px;padding:10px 24px;background:var(--gradient-brand);color:#fff;border:none;border-radius:var(--radius-lg);cursor:pointer;font-size:.875rem;font-weight:700;transition:all .2s var(--ease-default)}.retry-btn:hover{transform:translateY(-2px);box-shadow:0 4px 14px #6366f14d}.leaderboard-table{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-2xl);overflow:hidden;box-shadow:var(--shadow-card)}.leaderboard-table .table-header{display:grid;grid-template-columns:50px 1fr 110px 80px 100px 110px 60px;padding:10px 18px;background:var(--bg-subtle);font-weight:700;font-size:.6875rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border-default)}.table-body{max-height:600px;overflow-y:auto}.table-body::-webkit-scrollbar{width:5px}.table-body::-webkit-scrollbar-track{background:transparent}.table-body::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:3px}.table-row{display:grid;grid-template-columns:50px 1fr 110px 80px 100px 110px 60px;padding:10px 18px;align-items:center;border-bottom:1px solid var(--border-default);cursor:pointer;transition:background .15s}.table-row:last-child{border-bottom:none}.table-row:hover{background:var(--bg-subtle)}.table-row.rank-gold{background:#ffd7000f;border-left:3px solid #ffd700}.table-row.rank-silver{background:#c0c0c00f;border-left:3px solid #c0c0c0}.table-row.rank-bronze{background:#cd7f320f;border-left:3px solid #cd7f32}.col-rank{text-align:center}.rank-badge{font-size:1rem;font-weight:700}.col-player{display:flex;align-items:center;gap:10px;min-width:0}.player-avatar{width:30px;height:30px;border-radius:50%;object-fit:cover;border:1px solid var(--border-default);flex-shrink:0}.leaderboard-table .player-info{display:flex;flex-direction:column;min-width:0}.leaderboard-table .player-name{font-weight:600;font-size:.8125rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guest-badge{font-size:.625rem;background:var(--bg-muted);color:var(--text-muted);padding:1px 5px;border-radius:4px;width:fit-content}.col-league{text-align:center}.league-badge{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:14px;font-size:.6875rem;font-weight:600;color:#fff}.col-rating{text-align:center}.rating-value{font-size:.9375rem;font-weight:700;background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.col-games{text-align:center}.games-played{font-weight:600;font-size:.8125rem;color:var(--text-primary)}.games-won{font-size:.6875rem;color:#10b981;margin-left:3px}.col-winrate{display:flex;align-items:center;gap:6px}.winrate-bar{flex:1;height:5px;background:var(--bg-muted);border-radius:3px;overflow:hidden}.winrate-fill{height:100%;background:linear-gradient(90deg,#10b981,#34d399);border-radius:3px}.winrate-text{font-size:.75rem;min-width:36px;text-align:right;font-weight:600;color:var(--text-secondary)}.col-streak{text-align:center}.streak-badge{font-size:.8125rem;font-weight:600;color:var(--text-muted)}.streak-badge.win{color:var(--brand-400)}.no-results{display:flex;flex-direction:column;align-items:center;padding:40px;text-align:center;color:var(--text-tertiary)}.no-results-icon{font-size:2rem;margin-bottom:8px;opacity:.4}.pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:16px;padding:14px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl)}.page-btn{padding:8px 18px;background:var(--btn-secondary-bg);border:1px solid var(--btn-secondary-border);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;transition:all .2s var(--ease-default);font-weight:600;font-size:.8125rem}.page-btn:hover:not(:disabled){background:var(--bg-muted);transform:translateY(-1px)}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-info{display:flex;flex-direction:column;align-items:center;gap:2px;font-weight:600;font-size:.8125rem;color:var(--text-primary)}.page-info small{font-size:.6875rem;color:var(--text-muted)}@media (max-width: 1024px){.user-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.leaderboard-container{padding:0 16px}.user-stats-grid{grid-template-columns:1fr 1fr}.leaderboard-table .table-header,.table-row{grid-template-columns:40px 1fr 80px 70px}.col-games,.col-winrate,.col-streak{display:none}.league-tabs{gap:6px}.league-tab{padding:6px 10px;font-size:.75rem}.league-tab-count{display:none}}@media (max-width: 480px){.user-stats-grid{grid-template-columns:1fr}.pagination{gap:12px}.page-btn{padding:6px 12px;font-size:.75rem}}.auth-success-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--bg-primary);padding:20px}.auth-success-card{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 40px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-2xl, 16px);box-shadow:var(--shadow-card);text-align:center;max-width:360px;width:100%}.auth-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff}.auth-icon-success{background:linear-gradient(135deg,#22c55e,#16a34a)}.auth-icon-error{background:linear-gradient(135deg,#ef4444,#dc2626)}.auth-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0}.auth-message{font-size:.875rem;color:var(--text-secondary);margin:0}.auth-spinner{width:32px;height:32px;border:3px solid var(--border-primary, rgba(0, 0, 0, .1));border-top-color:var(--brand-primary, #629243);border-radius:50%;animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.ghp{max-width:1000px;margin:0 auto;padding:0 24px}.ghp-main{display:flex;flex-direction:column;gap:20px;padding:24px 0 80px}.ghp-hero{display:flex;align-items:center;gap:16px;padding:16px 0 8px;flex-wrap:wrap}.ghp-game-icon{flex-shrink:0}.ghp-icon-fallback{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-2xl);color:#fff}.ghp-hero-info{flex:1;min-width:0}.ghp-hero-info h1{font-size:var(--font-size-2xl);font-weight:800;letter-spacing:-.02em;color:var(--text-primary);margin:0}.ghp-hero-desc{font-size:var(--font-size-xs-sm);color:var(--text-tertiary);margin:4px 0 6px;line-height:1.5}.ghp-board-badge{display:inline-flex;padding:2px 10px;background:var(--badge-bg);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:700;color:var(--badge-text)}.ghp-hero-stats{display:flex;gap:20px;margin-left:auto}.ghp-stat{display:flex;flex-direction:column;align-items:center;gap:1px}.ghp-stat-val{font-size:var(--font-size-lg);font-weight:800;color:var(--text-primary)}.ghp-online{color:#10b981}.ghp-stat-lbl{font-size:var(--font-size-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.ghp-actions{display:flex;align-items:center;gap:10px}.ghp-action-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 22px;border:none;border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:700;cursor:pointer;transition:all .2s var(--ease-default)}.ghp-primary{color:#fff;box-shadow:0 4px 14px #00000026}.ghp-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0003}.ghp-secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-text);border:1px solid var(--btn-secondary-border)}.ghp-secondary:hover{background:var(--bg-muted);transform:translateY(-1px)}.ghp-leaderboard{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none}.ghp-leaderboard:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-1px);box-shadow:0 4px 14px #f59e0b59}.ghp-leaderboard i{font-size:var(--font-size-sm)}.ghp-room-count{font-size:var(--font-size-xs);color:var(--text-muted);font-weight:600;margin-left:auto}.ghp-rooms{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-2xl);overflow:hidden;box-shadow:var(--shadow-card)}.ghp-rooms-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;gap:12px;color:var(--text-tertiary);font-size:var(--font-size-sm)}.ghp-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;gap:12px;text-align:center}.ghp-empty h3{font-size:var(--font-size-base);font-weight:700;color:var(--text-primary);margin:0}.ghp-empty p{font-size:var(--font-size-xs-sm);color:var(--text-tertiary);margin:0}.ghp-table-head{display:grid;grid-template-columns:2fr 1.5fr .8fr .8fr .8fr;padding:10px 20px;border-bottom:1px solid var(--border-default);background:var(--bg-subtle)}.ghp-th{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.ghp-room-row{display:grid;grid-template-columns:2fr 1.5fr .8fr .8fr .8fr;padding:12px 20px;align-items:center;border-bottom:1px solid var(--border-default);transition:background .15s}.ghp-room-row:last-child{border-bottom:none}.ghp-room-row:hover{background:var(--bg-subtle)}.ghp-td{font-size:var(--font-size-xs-sm);color:var(--text-secondary)}.ghp-td-name{display:flex;align-items:center;gap:6px;font-weight:600;color:var(--text-primary)}.ghp-lock{font-size:var(--font-size-xs)}.ghp-td-host{display:flex;align-items:center;gap:8px}.ghp-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover;border:1px solid var(--border-default)}.ghp-td-players{text-align:center;font-weight:600}.ghp-td-status{text-align:center}.ghp-status{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:700}.ghp-status-waiting{background:#10b9811a;color:#10b981}.ghp-status-playing{background:#f59e0b1a;color:#f59e0b}.ghp-td-action{text-align:center}.ghp-join-btn{padding:6px 16px;border:none;border-radius:var(--radius-lg);color:#fff;font-size:var(--font-size-xs);font-weight:700;cursor:pointer;transition:all .2s}.ghp-join-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 3px 10px #0003}.ghp-join-btn:disabled{opacity:.4;cursor:not-allowed}.ghp-rules h2{font-size:var(--font-size-base);font-weight:700;color:var(--text-primary);margin:0 0 10px}.ghp-rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ghp-rule{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);font-size:var(--font-size-xs);color:var(--text-secondary)}.ghp-player-stats h2{font-size:var(--font-size-base);font-weight:700;color:var(--text-primary);margin:0 0 10px}.ghp-ps-grid{display:flex;gap:12px}.ghp-ps-item{flex:1;display:flex;flex-direction:column;align-items:center;padding:14px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);gap:2px}.ghp-ps-val{font-size:var(--font-size-xl);font-weight:800;color:var(--text-primary)}.ghp-ps-lbl{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.ghp-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000}.ghp-modal{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-2xl);padding:28px;max-width:380px;width:90%;box-shadow:var(--shadow-lg);animation:ghpSlideUp .2s ease-out}@keyframes ghpSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.ghp-modal h3{font-size:var(--font-size-lg);font-weight:700;color:var(--text-primary);margin:0 0 6px}.ghp-modal p{font-size:var(--font-size-xs-sm);color:var(--text-tertiary);margin:0 0 16px}.ghp-modal input{width:100%;padding:10px 14px;background:var(--bg-subtle);border:1px solid var(--border-default);border-radius:var(--radius-lg);font-size:var(--font-size-sm);color:var(--text-primary);outline:none;margin-bottom:16px;box-sizing:border-box}.ghp-modal input:focus{border-color:var(--brand-400);box-shadow:0 0 0 3px #6366f11a}.ghp-modal-btns{display:flex;gap:10px;justify-content:flex-end}.ghp-modal-cancel{padding:8px 18px;background:var(--btn-secondary-bg);border:1px solid var(--btn-secondary-border);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:var(--font-size-xs-sm);font-weight:600;cursor:pointer}.ghp-modal-submit{padding:8px 18px;border:none;border-radius:var(--radius-lg);color:#fff;font-size:var(--font-size-xs-sm);font-weight:700;cursor:pointer}@media (max-width: 768px){.ghp{padding:0 16px}.ghp-hero{flex-direction:row;align-items:center;flex-wrap:nowrap;padding:10px 0 6px;gap:10px}.ghp-game-icon svg{width:36px;height:36px}.ghp-hero-desc,.ghp-board-badge{display:none}.ghp-hero-info h1{font-size:1.125rem}.ghp-hero-stats{margin-left:auto;gap:12px}.ghp-stat-val{font-size:.875rem}.ghp-stat-lbl{font-size:.5625rem}.ghp-table-head{display:none}.ghp-room-row{grid-template-columns:1fr;gap:6px;padding:14px 20px}.ghp-room-row .ghp-th-host,.ghp-room-row .ghp-th-status{display:none}.ghp-td-name{font-size:.875rem}.ghp-td-action{text-align:left}.ghp-rules-grid{grid-template-columns:1fr}.ghp-ps-grid{flex-direction:column}.ghp-actions{flex-wrap:wrap}}@media (max-width: 480px){.ghp-hero-info h1{font-size:1.375rem}.ghp-action-btn{width:100%;justify-content:center}.ghp-room-count{width:100%;text-align:center}}.quick-settings-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:100000;padding:20px;box-sizing:border-box}.quick-settings-modal{background:var(--surface-card);border-radius:20px;border:1px solid var(--border-default);box-shadow:0 20px 60px #00000080;width:100%;max-width:520px;max-height:90vh;overflow:hidden;position:relative;animation:modalSlideIn .3s ease-out;display:flex;flex-direction:column}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.quick-settings-header{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-default);flex-shrink:0}.quick-settings-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:12px}.quick-settings-close{background:none;border:none;color:var(--text-muted);font-size:28px;cursor:pointer;padding:8px;border-radius:10px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:40px;height:40px}.quick-settings-close:hover{background:var(--bg-muted);color:var(--text-primary);transform:rotate(90deg)}.quick-settings-content{padding:24px;overflow-y:auto;flex:1}.settings-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border-default)}.settings-section:last-of-type{margin-bottom:0;border-bottom:none}.section-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:16px;display:flex;align-items:center;gap:8px}.username-input-group{display:flex;flex-direction:column;gap:12px}.username-input-container{flex:1}.username-input{width:100%;background:var(--bg-subtle);border:2px solid var(--border-default);border-radius:12px;padding:14px 18px;color:var(--text-primary);font-size:1rem;font-family:inherit;transition:all .2s ease;box-sizing:border-box}.username-input:focus{outline:none;border-color:#f59e0b;background:#f59e0b14;box-shadow:0 0 0 4px #f59e0b26}.username-input::placeholder{color:var(--text-muted)}.username-input:disabled{opacity:.5;cursor:not-allowed}.update-username-btn{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:12px;padding:12px 24px;color:#fff;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.9375rem;align-self:flex-end;width:fit-content}.update-username-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #f59e0b59}.update-username-btn:disabled{background:#444;cursor:not-allowed;transform:none;box-shadow:none}.username-info{margin-top:8px;font-size:.8125rem;color:var(--text-muted)}.avatar-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;margin-top:8px}.avatar-option{aspect-ratio:1;border:2px solid var(--border-default);border-radius:50%;background:linear-gradient(145deg,#2d3748,#4a5568);color:var(--text-primary);font-size:.8125rem;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;position:relative;min-height:38px}.avatar-option:hover:not(:disabled){border-color:#f59e0b;transform:scale(1.1);box-shadow:0 8px 20px #f59e0b4d}.avatar-option.selected{border-color:#f59e0b;background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 8px 20px #f59e0b66}.avatar-option.selected:after{content:"✓";position:absolute;bottom:-4px;right:-4px;background:#10b981;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:10px;border:2px solid var(--bg-base)}.avatar-option:disabled{opacity:.5;cursor:not-allowed;transform:none}.settings-message{padding:12px 16px;border-radius:10px;font-size:.875rem;font-weight:500;margin-top:16px}.settings-message.error{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#fca5a5}.settings-message.success{background:#10b98126;border:1px solid rgba(16,185,129,.3);color:#6ee7b7}@media (max-width: 600px){.quick-settings-overlay{padding:12px}.quick-settings-modal{width:100%;max-width:none;max-height:95vh;border-radius:16px}.quick-settings-header{padding:16px 20px}.quick-settings-content{padding:20px}.avatar-grid{grid-template-columns:repeat(6,1fr)}}.user-dropdown-container{position:relative}.user-dropdown-button{display:flex;align-items:center;gap:12px;padding:8px 16px;background:var(--bg-muted);border:1px solid var(--border-strong);border-radius:20px;cursor:pointer;transition:all .3s ease;color:var(--text-primary)}.user-dropdown-button:hover{background:var(--bg-muted);border-color:var(--border-strong)}.user-dropdown-button.compact{padding:4px;border-radius:50%;gap:0}.user-dropdown-avatar{width:32px;height:32px;border-radius:50%;border:2px solid var(--border-strong);object-fit:cover}.user-dropdown-details{display:flex;flex-direction:column;gap:2px;text-align:left}.user-dropdown-name{font-weight:600;font-size:14px;color:var(--text-primary)}.user-dropdown-karma{font-size:12px;color:var(--text-secondary)}.user-dropdown-arrow{display:flex;align-items:center;color:var(--text-tertiary);transition:all .3s ease}.user-dropdown-button:hover .user-dropdown-arrow{color:var(--text-secondary)}.user-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--bg-muted);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border:1px solid var(--border-strong);border-radius:16px;padding:8px;min-width:200px;box-shadow:var(--shadow-xl);z-index:1000;animation:userDropdownFadeIn .2s ease-out}@keyframes userDropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-menu-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;cursor:pointer;transition:all .3s ease;color:var(--text-primary);font-size:14px;font-weight:500}.dropdown-menu-item:hover{background:var(--bg-muted);color:#fff}.dropdown-menu-item svg{opacity:.8}.dropdown-menu-item:hover svg{opacity:1}.dropdown-menu-separator{height:1px;background:var(--bg-muted);margin:8px 12px}.dropdown-menu-item.logout{color:#ff6464e6}.dropdown-menu-item.logout:hover{background:#ff64641a}@media (max-width: 640px){.user-dropdown-details{display:none}.user-dropdown-button{padding:6px 10px}}.game-navigation{display:flex;justify-content:space-between;align-items:center;padding:0 24px;height:70px;position:fixed;top:0;left:0;right:0;z-index:100;background:var(--nav-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--nav-border);overflow:visible}.nav-left{display:flex;align-items:center;gap:20px}.back-to-hub{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--btn-secondary-bg);border:1px solid var(--btn-secondary-border);border-radius:8px;color:#ffffffb3;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.hub-text{display:none}@media (min-width: 640px){.hub-text{display:inline}}.game-logo{display:flex;align-items:center;gap:12px;cursor:pointer}.game-logo-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.game-logo-text{font-size:1.125rem;font-weight:700;display:none}@media (min-width: 768px){.game-logo-text{display:block}}.nav-tabs{display:flex;align-items:center;gap:8px}.nav-tab{display:flex;align-items:center;gap:8px;padding:10px 16px;background:transparent;border:none;border-radius:8px;color:#ffffffb3;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s ease}.nav-tab:hover{background:#ffffff0d;color:#fff}.nav-tab.active{background:#ffffff1a;color:#fff}.nav-tab .nav-icon{font-size:1.125rem}.nav-tab span:last-child{display:none}@media (min-width: 640px){.nav-tab span:last-child{display:inline}}.nav-right{display:flex;align-items:center;gap:16px;overflow:visible}.login-btn{padding:10px 20px;background:var(--game-color, #629243);border:none;border-radius:8px;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.login-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #4f46e566}.user-name{font-size:14px;font-weight:600;color:#ffffffe6;display:none}@media (min-width: 640px){.user-name{display:block}}.game-navigation.checkers-nav{position:fixed;top:0;left:0;right:0;height:64px;background:var(--nav-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--nav-border);z-index:100;overflow:visible}.nav-container{max-width:1200px;margin:0 auto;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.nav-left{display:flex;align-items:center;gap:24px}.back-to-hub{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#ffffff0d;border-radius:8px;color:#ffffffb3;text-decoration:none;font-size:.875rem;transition:all .2s ease}.back-to-hub:hover{background:#ffffff1a;color:#fff}.back-icon{font-size:1rem}.game-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff}.logo-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.logo-text{font-size:1.125rem;font-weight:700}.nav-tabs{display:flex;gap:4px;margin-left:20px}.nav-tab{padding:8px 16px;border-radius:8px;color:#fff9;text-decoration:none;font-weight:500;font-size:.9375rem;transition:all .2s ease}.nav-tab:hover{color:#fff;background:#ffffff0d}.nav-tab.active{color:#fff;background:#0ea5e933}.user-info{position:relative}.user-profile-button{display:flex;align-items:center;gap:12px;padding:8px 16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:20px;cursor:pointer;transition:all .3s ease;color:#ffffffe6}.user-profile-button:hover{background:#ffffff26;border-color:#ffffff4d}.user-avatar{width:32px;height:32px;border-radius:50%;border:2px solid rgba(255,255,255,.3);object-fit:cover}.user-name{font-size:14px;font-weight:600;color:#ffffffe6}.dropdown-arrow{display:flex;align-items:center;color:#fff9;transition:all .3s ease}.user-profile-button:hover .dropdown-arrow{color:#fffc}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#ffffff26;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:8px;min-width:200px;box-shadow:0 8px 32px #0003;z-index:1000;animation:dropdownFadeIn .2s ease-out}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;cursor:pointer;transition:all .3s ease;color:#ffffffe6;font-size:14px;font-weight:500}.dropdown-item:hover{background:#ffffff1a;color:#fff}.dropdown-item svg{opacity:.8}.dropdown-item:hover svg{opacity:1}.dropdown-separator{height:1px;background:#ffffff1a;margin:8px 12px}.logout-item{color:#ff6464e6}.logout-item:hover{background:#ff64641a}.auth-buttons{display:flex;gap:10px}.btn-login{padding:8px 16px;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;text-decoration:none;font-weight:500;transition:all .2s ease}.btn-login:hover{background:#ffffff1a}.btn-register{padding:8px 16px;background:linear-gradient(135deg,#0ea5e9,#06b6d4);border:none;border-radius:8px;color:#fff;text-decoration:none;font-weight:500;transition:all .2s ease}.btn-register:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0ea5e94d}@media (max-width: 768px){.back-text,.nav-tabs,.user-name{display:none}}.game-navigation.minesweeper-nav{position:fixed;top:0;left:0;right:0;height:64px;background:#0f0f23f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-default);z-index:100;overflow:visible}.minesweeper-nav .nav-tab.active{color:#ef4444;border-bottom-color:#ef4444}.minesweeper-nav .nav-tab:hover{color:#f87171}.minesweeper-nav .login-btn{padding:8px 20px;background:linear-gradient(135deg,#ef4444,#f97316);border:none;border-radius:8px;color:#fff;font-weight:600;cursor:pointer;transition:all .2s ease}.minesweeper-nav .login-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ef444466}.game-navigation.battleship-nav{position:fixed;top:0;left:0;right:0;height:64px;background:#0f0f23f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-default);z-index:100;overflow:visible}.battleship-nav .nav-tab.active{color:#06b6d4;border-bottom-color:#06b6d4}.battleship-nav .nav-tab:hover{color:#22d3ee}.battleship-nav .login-btn{padding:8px 20px;background:linear-gradient(135deg,#0891b2,#06b6d4);border:none;border-radius:8px;color:#fff;font-weight:600;cursor:pointer;transition:all .2s ease}.battleship-nav .login-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0891b266}.game-navigation.warfront-nav .nav-tab.active{color:#ef4444;border-bottom-color:#ef4444}.game-navigation.warfront-nav .nav-tab:hover{color:#f87171}.game-navigation.warfront-nav .login-btn{background:linear-gradient(135deg,#b91c1c,#dc2626)}:root{--brand-50: #f0fdf4;--brand-100: #dcfce7;--brand-200: #bbf7d0;--brand-300: #86efac;--brand-400: #4ade80;--brand-500: #769656;--brand-600: #629243;--brand-700: #4a7c31;--brand-800: #3a6324;--brand-900: #2d4f1c;--accent-yellow: #e5b94e;--accent-orange: #d4884e;--accent-cyan: #4e9fb5;--accent-green: #769656;--accent-rose: #c45e5e;--success-50: #f0fdf4;--success-500: #22c55e;--success-600: #16a34a;--warning-50: #fffbeb;--warning-500: #f59e0b;--warning-600: #d97706;--error-50: #fef2f2;--error-500: #ef4444;--error-600: #dc2626;--bg-base: #e8e6df;--bg-surface: #f5f4f0;--bg-subtle: #dedcd5;--bg-muted: #d1cfc8;--bg-overlay: rgba(26, 26, 46, .35);--surface-card: #f5f4f0;--surface-raised: #faf9f6;--surface-overlay: rgba(245, 244, 240, .95);--text-primary: #1a1a2e;--text-secondary: #4a4a5a;--text-tertiary: #7a7a8a;--text-muted: #a0a0a8;--text-inverse: #ffffff;--text-brand: var(--brand-700);--border-default: #ddd;--border-subtle: #e8e8e8;--border-strong: #bbb;--border-brand: var(--brand-500);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px rgba(0,0,0,.04);--shadow-lg: 0 10px 20px -4px rgba(0, 0, 0, .1), 0 4px 8px rgba(0,0,0,.04);--shadow-xl: 0 20px 30px -6px rgba(0, 0, 0, .12), 0 8px 12px rgba(0,0,0,.04);--shadow-card: 0 2px 8px rgba(0, 0, 0, .06);--shadow-card-hover: 0 8px 24px rgba(0, 0, 0, .12);--gradient-brand: linear-gradient(135deg, #769656 0%, #629243 100%);--gradient-hero: linear-gradient(135deg, #e8e6df 0%, #dedcd5 50%, #e8e6df 100%);--gradient-sidebar: linear-gradient(180deg, #f5f4f0 0%, #ebeae4 100%);--sidebar-bg: #eeede8;--sidebar-border: #d5d3cc;--sidebar-text: #4a4a5a;--sidebar-text-active: var(--brand-700);--sidebar-item-hover: #e2e0d9;--sidebar-item-active: var(--brand-50);--nav-bg: rgba(245, 244, 240, .92);--nav-border: #d5d3cc;--card-bg: #f5f4f0;--card-border: #d5d3cc;--card-hover-border: var(--brand-500);--badge-bg: var(--brand-50);--badge-text: var(--brand-800);--btn-primary-bg: var(--gradient-brand);--btn-primary-text: #ffffff;--btn-secondary-bg: #dedcd5;--btn-secondary-text: var(--brand-800);--btn-secondary-border: #c5c3bc;--input-bg: #f5f4f0;--input-border: var(--border-default);--input-text: var(--text-primary);--input-placeholder: var(--text-muted);--table-header-bg: var(--bg-subtle);--table-row-hover: var(--bg-surface);--table-border: var(--border-subtle);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.25rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-2xs: .78rem;--font-size-xs: .9375rem;--font-size-xs-sm: 1.02rem;--font-size-sm: 1.09rem;--font-size-sm-base: 1.17rem;--font-size-base: 1.25rem;--font-size-lg: 1.4rem;--font-size-xl: 1.5625rem;--font-size-2xl: 1.875rem;--font-size-3xl: 2.35rem;--font-size-4xl: 2.8125rem;--ease-default: cubic-bezier(.4, 0, .2, 1);--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .3s;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal: 1040;--z-popover: 1050;--z-tooltip: 1060;--ms-unrevealed-light: #c8cdd6;--ms-unrevealed-dark: #b0b8c4;--ms-unrevealed-hover-light: #d4d9e2;--ms-unrevealed-hover-dark: #bcc4d0;--bs-empty-light: #6ba3d6;--bs-empty-dark: #5490c4;--bs-ship-light: #4f8fbf;--bs-ship-dark: #3d7aab;--bs-hover-light: #7db4e3;--bs-hover-dark: #6ba3d6;--bs-border: rgba(6, 182, 212, .25);--bs-cell-border: rgba(6, 182, 212, .2)}[data-theme=dark]{--bg-base: #262421;--bg-surface: #302e2b;--bg-subtle: #3a3835;--bg-muted: #454340;--bg-overlay: rgba(0, 0, 0, .6);--surface-card: #302e2b;--surface-raised: #3a3835;--surface-overlay: rgba(38, 36, 33, .95);--text-primary: #e8e6e1;--text-secondary: #b0ada8;--text-tertiary: #8a8784;--text-muted: #5c5a57;--text-inverse: #262421;--text-brand: var(--brand-400);--border-default: rgba(255, 255, 255, .1);--border-subtle: rgba(255, 255, 255, .05);--border-strong: rgba(255, 255, 255, .16);--border-brand: rgba(118, 150, 86, .4);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .25);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .35);--shadow-md: 0 4px 6px rgba(0, 0, 0, .35);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .45);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .45);--shadow-card: 0 1px 3px rgba(0, 0, 0, .35);--shadow-card-hover: 0 8px 25px rgba(0, 0, 0, .5);--gradient-hero: linear-gradient(135deg, #262421 0%, #302e2b 50%, #262421 100%);--gradient-sidebar: linear-gradient(180deg, #262421 0%, #302e2b 100%);--sidebar-bg: #262421;--sidebar-border: rgba(255, 255, 255, .08);--sidebar-text: rgba(255, 255, 255, .55);--sidebar-text-active: var(--brand-400);--sidebar-item-hover: rgba(255, 255, 255, .06);--sidebar-item-active: rgba(118, 150, 86, .2);--nav-bg: rgba(38, 36, 33, .92);--nav-border: rgba(255, 255, 255, .08);--card-bg: #302e2b;--card-border: rgba(255, 255, 255, .08);--card-hover-border: rgba(255, 255, 255, .15);--badge-bg: rgba(255, 255, 255, .06);--badge-text: rgba(255, 255, 255, .5);--btn-secondary-bg: rgba(255, 255, 255, .06);--btn-secondary-text: rgba(255, 255, 255, .7);--btn-secondary-border: rgba(255, 255, 255, .1);--input-bg: rgba(255, 255, 255, .04);--input-border: rgba(255, 255, 255, .08);--input-text: var(--text-primary);--input-placeholder: rgba(255, 255, 255, .25);--table-header-bg: rgba(255, 255, 255, .03);--table-row-hover: rgba(255, 255, 255, .04);--table-border: rgba(255, 255, 255, .05);--ms-unrevealed-light: #3d4655;--ms-unrevealed-dark: #252d3a;--ms-unrevealed-hover-light: #4f5b6b;--ms-unrevealed-hover-dark: #3a4553;--bs-empty-light: #1e3a5f;--bs-empty-dark: #162d4d;--bs-ship-light: #0e4f6e;--bs-ship-dark: #0c3d56;--bs-hover-light: #2d5882;--bs-hover-dark: #1e4060;--bs-border: rgba(6, 182, 212, .15);--bs-cell-border: rgba(6, 182, 212, .12)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}@media (max-width: 768px){:root{--font-size-2xs: .625rem;--font-size-xs: .75rem;--font-size-xs-sm: .8125rem;--font-size-sm: .875rem;--font-size-sm-base: .9375rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem}}body{min-width:320px;min-height:100vh;background-color:var(--bg-base);color:var(--text-primary);font-size:var(--font-size-base);line-height:1.6;transition:background-color var(--duration-slow) var(--ease-default),color var(--duration-slow) var(--ease-default)}#root{width:100%;text-align:left}a{color:var(--text-brand);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;font-size:inherit}h1,h2,h3,h4,h5,h6{color:var(--text-primary);line-height:1.3;margin:0}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin:0;color:var(--text-secondary);font-size:var(--font-size-base)}img{max-width:100%;display:block}*:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.pixi-board-container{border-radius:var(--radius-lg);overflow:hidden}@media (max-width: 768px){.pixi-board-container{transform:scale(.8);transform-origin:top center}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}:root:not([data-theme=dark]) .room-detail-page,:root:not([data-theme=dark]) .game-page-container,:root:not([data-theme=dark]) .game-lobby-page,:root:not([data-theme=dark]) .dashboard-page{background:var(--bg-base)!important;color:var(--text-primary)!important}:root:not([data-theme=dark]) .room-detail-page:before{display:none!important}:root:not([data-theme=dark]) .room-header,:root:not([data-theme=dark]) .room-info,:root:not([data-theme=dark]) .player-card,:root:not([data-theme=dark]) .spectators-section,:root:not([data-theme=dark]) .game-status-section,:root:not([data-theme=dark]) .chat-section,:root:not([data-theme=dark]) .modal-overlay{color:var(--text-primary)}:root:not([data-theme=dark]) .room-content-wrapper,:root:not([data-theme=dark]) .room-main-content,:root:not([data-theme=dark]) .room-sidebar{background:var(--bg-surface)!important;border-color:var(--border-default)!important}:root:not([data-theme=dark]) .profile-page,:root:not([data-theme=dark]) .profile-settings-section{color:var(--text-primary)!important}:root:not([data-theme=dark]) .login-modal{background:var(--bg-base)!important;border-color:var(--border-default)!important;color:var(--text-primary)!important}:root:not([data-theme=dark]) .game-navigation{background:var(--bg-base)!important;border-color:var(--border-default)!important;color:var(--text-primary)!important}.App,.app{min-height:100vh;width:100%}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-primary);gap:12px}.app-loading-brand{display:flex;align-items:center;gap:12px;margin-bottom:12px}.app-loading-logo{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#ef4444,#f97316);display:flex;align-items:center;justify-content:center;flex-shrink:0}.app-loading-title{font-size:1.5rem;font-weight:800;color:var(--text-primary);letter-spacing:-.025em}.app-loading-spinner{width:32px;height:32px;border:3px solid var(--border-default, #e2e8f0);border-top-color:var(--brand-600, #629243);border-radius:50%;animation:app-spin .75s linear infinite}@keyframes app-spin{to{transform:rotate(360deg)}}/*!
 * Font Awesome Free 7.2.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2026 Fonticons, Inc.
 */.fa,.fa-brands,.fa-classic,.fa-regular,.fa-solid,.fab,.far,.fas{--_fa-family:var(--fa-family,var(--fa-style-family,"Font Awesome 7 Free"));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:var(--fa-display,inline-block);font-family:var(--_fa-family);font-feature-settings:normal;font-style:normal;font-synthesis:none;font-variant:normal;font-weight:var(--fa-style,900);line-height:1;text-align:center;text-rendering:auto;width:var(--fa-width,1.25em)}:is(.fas,.far,.fab,.fa-solid,.fa-regular,.fa-brands,.fa-classic,.fa):before{content:var(--fa)/""}@supports not (content:""/""){:is(.fas,.far,.fab,.fa-solid,.fa-regular,.fa-brands,.fa-classic,.fa):before{content:var(--fa)}}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-width-auto{--fa-width:auto}.fa-fw,.fa-width-fixed{--fa-width:1.25em}.fa-ul{list-style-type:none;margin-inline-start:var(--fa-li-margin,2.5em);padding-inline-start:0}.fa-ul>li{position:relative}.fa-li{inset-inline-start:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.0625em) var(--fa-border-style,solid) var(--fa-border-color,#eee);box-sizing:var(--fa-border-box-sizing,content-box);padding:var(--fa-border-padding,.1875em .25em)}.fa-pull-left,.fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin,.3em)}.fa-pull-end,.fa-pull-right{float:inline-end;margin-inline-start:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{animation-name:fa-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{animation-name:fa-beat-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{animation-name:fa-spin;animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation:none!important;transition:none!important}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0)}}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{--fa-width:100%;top:0;right:0;bottom:0;left:0;position:absolute;text-align:center;width:var(--fa-width);z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}.fa-0{--fa:"0"}.fa-1{--fa:"1"}.fa-2{--fa:"2"}.fa-3{--fa:"3"}.fa-4{--fa:"4"}.fa-5{--fa:"5"}.fa-6{--fa:"6"}.fa-7{--fa:"7"}.fa-8{--fa:"8"}.fa-9{--fa:"9"}.fa-exclamation{--fa:"!"}.fa-hashtag{--fa:"#"}.fa-dollar,.fa-dollar-sign,.fa-usd{--fa:"$"}.fa-percent,.fa-percentage{--fa:"%"}.fa-asterisk{--fa:"*"}.fa-add,.fa-plus{--fa:"+"}.fa-less-than{--fa:"<"}.fa-equals{--fa:"="}.fa-greater-than{--fa:">"}.fa-question{--fa:"?"}.fa-at{--fa:"@"}.fa-a{--fa:"A"}.fa-b{--fa:"B"}.fa-c{--fa:"C"}.fa-d{--fa:"D"}.fa-e{--fa:"E"}.fa-f{--fa:"F"}.fa-g{--fa:"G"}.fa-h{--fa:"H"}.fa-i{--fa:"I"}.fa-j{--fa:"J"}.fa-k{--fa:"K"}.fa-l{--fa:"L"}.fa-m{--fa:"M"}.fa-n{--fa:"N"}.fa-o{--fa:"O"}.fa-p{--fa:"P"}.fa-q{--fa:"Q"}.fa-r{--fa:"R"}.fa-s{--fa:"S"}.fa-t{--fa:"T"}.fa-u{--fa:"U"}.fa-v{--fa:"V"}.fa-w{--fa:"W"}.fa-x{--fa:"X"}.fa-y{--fa:"Y"}.fa-z{--fa:"Z"}.fa-faucet{--fa:""}.fa-faucet-drip{--fa:""}.fa-house-chimney-window{--fa:""}.fa-house-signal{--fa:""}.fa-temperature-arrow-down,.fa-temperature-down{--fa:""}.fa-temperature-arrow-up,.fa-temperature-up{--fa:""}.fa-trailer{--fa:""}.fa-bacteria{--fa:""}.fa-bacterium{--fa:""}.fa-box-tissue{--fa:""}.fa-hand-holding-medical{--fa:""}.fa-hand-sparkles{--fa:""}.fa-hands-bubbles,.fa-hands-wash{--fa:""}.fa-handshake-alt-slash,.fa-handshake-simple-slash,.fa-handshake-slash{--fa:""}.fa-head-side-cough{--fa:""}.fa-head-side-cough-slash{--fa:""}.fa-head-side-mask{--fa:""}.fa-head-side-virus{--fa:""}.fa-house-chimney-user{--fa:""}.fa-house-laptop,.fa-laptop-house{--fa:""}.fa-lungs-virus{--fa:""}.fa-people-arrows,.fa-people-arrows-left-right{--fa:""}.fa-plane-slash{--fa:""}.fa-pump-medical{--fa:""}.fa-pump-soap{--fa:""}.fa-shield-virus{--fa:""}.fa-sink{--fa:""}.fa-soap{--fa:""}.fa-stopwatch-20{--fa:""}.fa-shop-slash,.fa-store-alt-slash{--fa:""}.fa-store-slash{--fa:""}.fa-toilet-paper-slash{--fa:""}.fa-users-slash{--fa:""}.fa-virus{--fa:""}.fa-virus-slash{--fa:""}.fa-viruses{--fa:""}.fa-vest{--fa:""}.fa-vest-patches{--fa:""}.fa-arrow-trend-down{--fa:""}.fa-arrow-trend-up{--fa:""}.fa-arrow-up-from-bracket{--fa:""}.fa-austral-sign{--fa:""}.fa-baht-sign{--fa:""}.fa-bitcoin-sign{--fa:""}.fa-bolt-lightning{--fa:""}.fa-book-bookmark{--fa:""}.fa-camera-rotate{--fa:""}.fa-cedi-sign{--fa:""}.fa-chart-column{--fa:""}.fa-chart-gantt{--fa:""}.fa-clapperboard{--fa:""}.fa-closed-captioning-slash{--fa:""}.fa-clover{--fa:""}.fa-code-compare{--fa:""}.fa-code-fork{--fa:""}.fa-code-pull-request{--fa:""}.fa-colon-sign{--fa:""}.fa-cruzeiro-sign{--fa:""}.fa-display{--fa:""}.fa-dong-sign{--fa:""}.fa-elevator{--fa:""}.fa-filter-circle-xmark{--fa:""}.fa-florin-sign{--fa:""}.fa-folder-closed{--fa:""}.fa-franc-sign{--fa:""}.fa-guarani-sign{--fa:""}.fa-gun{--fa:""}.fa-hands-clapping{--fa:""}.fa-home-user,.fa-house-user{--fa:""}.fa-indian-rupee,.fa-indian-rupee-sign,.fa-inr{--fa:""}.fa-kip-sign{--fa:""}.fa-lari-sign{--fa:""}.fa-litecoin-sign{--fa:""}.fa-manat-sign{--fa:""}.fa-mask-face{--fa:""}.fa-mill-sign{--fa:""}.fa-money-bills{--fa:""}.fa-naira-sign{--fa:""}.fa-notdef{--fa:""}.fa-panorama{--fa:""}.fa-peseta-sign{--fa:""}.fa-peso-sign{--fa:""}.fa-plane-up{--fa:""}.fa-rupiah-sign{--fa:""}.fa-stairs{--fa:""}.fa-timeline{--fa:""}.fa-truck-front{--fa:""}.fa-try,.fa-turkish-lira,.fa-turkish-lira-sign{--fa:""}.fa-vault{--fa:""}.fa-magic-wand-sparkles,.fa-wand-magic-sparkles{--fa:""}.fa-wheat-alt,.fa-wheat-awn{--fa:""}.fa-wheelchair-alt,.fa-wheelchair-move{--fa:""}.fa-bangladeshi-taka-sign{--fa:""}.fa-bowl-rice{--fa:""}.fa-person-pregnant{--fa:""}.fa-home-lg,.fa-house-chimney{--fa:""}.fa-house-crack{--fa:""}.fa-house-medical{--fa:""}.fa-cent-sign{--fa:""}.fa-plus-minus{--fa:""}.fa-sailboat{--fa:""}.fa-section{--fa:""}.fa-shrimp{--fa:""}.fa-brazilian-real-sign{--fa:""}.fa-chart-simple{--fa:""}.fa-diagram-next{--fa:""}.fa-diagram-predecessor{--fa:""}.fa-diagram-successor{--fa:""}.fa-earth-oceania,.fa-globe-oceania{--fa:""}.fa-bug-slash{--fa:""}.fa-file-circle-plus{--fa:""}.fa-shop-lock{--fa:""}.fa-virus-covid{--fa:""}.fa-virus-covid-slash{--fa:""}.fa-anchor-circle-check{--fa:""}.fa-anchor-circle-exclamation{--fa:""}.fa-anchor-circle-xmark{--fa:""}.fa-anchor-lock{--fa:""}.fa-arrow-down-up-across-line{--fa:""}.fa-arrow-down-up-lock{--fa:""}.fa-arrow-right-to-city{--fa:""}.fa-arrow-up-from-ground-water{--fa:""}.fa-arrow-up-from-water-pump{--fa:""}.fa-arrow-up-right-dots{--fa:""}.fa-arrows-down-to-line{--fa:""}.fa-arrows-down-to-people{--fa:""}.fa-arrows-left-right-to-line{--fa:""}.fa-arrows-spin{--fa:""}.fa-arrows-split-up-and-left{--fa:""}.fa-arrows-to-circle{--fa:""}.fa-arrows-to-dot{--fa:""}.fa-arrows-to-eye{--fa:""}.fa-arrows-turn-right{--fa:""}.fa-arrows-turn-to-dots{--fa:""}.fa-arrows-up-to-line{--fa:""}.fa-bore-hole{--fa:""}.fa-bottle-droplet{--fa:""}.fa-bottle-water{--fa:""}.fa-bowl-food{--fa:""}.fa-boxes-packing{--fa:""}.fa-bridge{--fa:""}.fa-bridge-circle-check{--fa:""}.fa-bridge-circle-exclamation{--fa:""}.fa-bridge-circle-xmark{--fa:""}.fa-bridge-lock{--fa:""}.fa-bridge-water{--fa:""}.fa-bucket{--fa:""}.fa-bugs{--fa:""}.fa-building-circle-arrow-right{--fa:""}.fa-building-circle-check{--fa:""}.fa-building-circle-exclamation{--fa:""}.fa-building-circle-xmark{--fa:""}.fa-building-flag{--fa:""}.fa-building-lock{--fa:""}.fa-building-ngo{--fa:""}.fa-building-shield{--fa:""}.fa-building-un{--fa:""}.fa-building-user{--fa:""}.fa-building-wheat{--fa:""}.fa-burst{--fa:""}.fa-car-on{--fa:""}.fa-car-tunnel{--fa:""}.fa-child-combatant,.fa-child-rifle{--fa:""}.fa-children{--fa:""}.fa-circle-nodes{--fa:""}.fa-clipboard-question{--fa:""}.fa-cloud-showers-water{--fa:""}.fa-computer{--fa:""}.fa-cubes-stacked{--fa:""}.fa-envelope-circle-check{--fa:""}.fa-explosion{--fa:""}.fa-ferry{--fa:""}.fa-file-circle-exclamation{--fa:""}.fa-file-circle-minus{--fa:""}.fa-file-circle-question{--fa:""}.fa-file-shield{--fa:""}.fa-fire-burner{--fa:""}.fa-fish-fins{--fa:""}.fa-flask-vial{--fa:""}.fa-glass-water{--fa:""}.fa-glass-water-droplet{--fa:""}.fa-group-arrows-rotate{--fa:""}.fa-hand-holding-hand{--fa:""}.fa-handcuffs{--fa:""}.fa-hands-bound{--fa:""}.fa-hands-holding-child{--fa:""}.fa-hands-holding-circle{--fa:""}.fa-heart-circle-bolt{--fa:""}.fa-heart-circle-check{--fa:""}.fa-heart-circle-exclamation{--fa:""}.fa-heart-circle-minus{--fa:""}.fa-heart-circle-plus{--fa:""}.fa-heart-circle-xmark{--fa:""}.fa-helicopter-symbol{--fa:""}.fa-helmet-un{--fa:""}.fa-hill-avalanche{--fa:""}.fa-hill-rockslide{--fa:""}.fa-house-circle-check{--fa:""}.fa-house-circle-exclamation{--fa:""}.fa-house-circle-xmark{--fa:""}.fa-house-fire{--fa:""}.fa-house-flag{--fa:""}.fa-house-flood-water{--fa:""}.fa-house-flood-water-circle-arrow-right{--fa:""}.fa-house-lock{--fa:""}.fa-house-medical-circle-check{--fa:""}.fa-house-medical-circle-exclamation{--fa:""}.fa-house-medical-circle-xmark{--fa:""}.fa-house-medical-flag{--fa:""}.fa-house-tsunami{--fa:""}.fa-jar{--fa:""}.fa-jar-wheat{--fa:""}.fa-jet-fighter-up{--fa:""}.fa-jug-detergent{--fa:""}.fa-kitchen-set{--fa:""}.fa-land-mine-on{--fa:""}.fa-landmark-flag{--fa:""}.fa-laptop-file{--fa:""}.fa-lines-leaning{--fa:""}.fa-location-pin-lock{--fa:""}.fa-locust{--fa:""}.fa-magnifying-glass-arrow-right{--fa:""}.fa-magnifying-glass-chart{--fa:""}.fa-mars-and-venus-burst{--fa:""}.fa-mask-ventilator{--fa:""}.fa-mattress-pillow{--fa:""}.fa-mobile-retro{--fa:""}.fa-money-bill-transfer{--fa:""}.fa-money-bill-trend-up{--fa:""}.fa-money-bill-wheat{--fa:""}.fa-mosquito{--fa:""}.fa-mosquito-net{--fa:""}.fa-mound{--fa:""}.fa-mountain-city{--fa:""}.fa-mountain-sun{--fa:""}.fa-oil-well{--fa:""}.fa-people-group{--fa:""}.fa-people-line{--fa:""}.fa-people-pulling{--fa:""}.fa-people-robbery{--fa:""}.fa-people-roof{--fa:""}.fa-person-arrow-down-to-line{--fa:""}.fa-person-arrow-up-from-line{--fa:""}.fa-person-breastfeeding{--fa:""}.fa-person-burst{--fa:""}.fa-person-cane{--fa:""}.fa-person-chalkboard{--fa:""}.fa-person-circle-check{--fa:""}.fa-person-circle-exclamation{--fa:""}.fa-person-circle-minus{--fa:""}.fa-person-circle-plus{--fa:""}.fa-person-circle-question{--fa:""}.fa-person-circle-xmark{--fa:""}.fa-person-dress-burst{--fa:""}.fa-person-drowning{--fa:""}.fa-person-falling{--fa:""}.fa-person-falling-burst{--fa:""}.fa-person-half-dress{--fa:""}.fa-person-harassing{--fa:""}.fa-person-military-pointing{--fa:""}.fa-person-military-rifle{--fa:""}.fa-person-military-to-person{--fa:""}.fa-person-rays{--fa:""}.fa-person-rifle{--fa:""}.fa-person-shelter{--fa:""}.fa-person-walking-arrow-loop-left{--fa:""}.fa-person-walking-arrow-right{--fa:""}.fa-person-walking-dashed-line-arrow-right{--fa:""}.fa-person-walking-luggage{--fa:""}.fa-plane-circle-check{--fa:""}.fa-plane-circle-exclamation{--fa:""}.fa-plane-circle-xmark{--fa:""}.fa-plane-lock{--fa:""}.fa-plate-wheat{--fa:""}.fa-plug-circle-bolt{--fa:""}.fa-plug-circle-check{--fa:""}.fa-plug-circle-exclamation{--fa:""}.fa-plug-circle-minus{--fa:""}.fa-plug-circle-plus{--fa:""}.fa-plug-circle-xmark{--fa:""}.fa-ranking-star{--fa:""}.fa-road-barrier{--fa:""}.fa-road-bridge{--fa:""}.fa-road-circle-check{--fa:""}.fa-road-circle-exclamation{--fa:""}.fa-road-circle-xmark{--fa:""}.fa-road-lock{--fa:""}.fa-road-spikes{--fa:""}.fa-rug{--fa:""}.fa-sack-xmark{--fa:""}.fa-school-circle-check{--fa:""}.fa-school-circle-exclamation{--fa:""}.fa-school-circle-xmark{--fa:""}.fa-school-flag{--fa:""}.fa-school-lock{--fa:""}.fa-sheet-plastic{--fa:""}.fa-shield-cat{--fa:""}.fa-shield-dog{--fa:""}.fa-shield-heart{--fa:""}.fa-square-nfi{--fa:""}.fa-square-person-confined{--fa:""}.fa-square-virus{--fa:""}.fa-rod-asclepius,.fa-rod-snake,.fa-staff-aesculapius,.fa-staff-snake{--fa:""}.fa-sun-plant-wilt{--fa:""}.fa-tarp{--fa:""}.fa-tarp-droplet{--fa:""}.fa-tent{--fa:""}.fa-tent-arrow-down-to-line{--fa:""}.fa-tent-arrow-left-right{--fa:""}.fa-tent-arrow-turn-left{--fa:""}.fa-tent-arrows-down{--fa:""}.fa-tents{--fa:""}.fa-toilet-portable{--fa:""}.fa-toilets-portable{--fa:""}.fa-tower-cell{--fa:""}.fa-tower-observation{--fa:""}.fa-tree-city{--fa:""}.fa-trowel{--fa:""}.fa-trowel-bricks{--fa:""}.fa-truck-arrow-right{--fa:""}.fa-truck-droplet{--fa:""}.fa-truck-field{--fa:""}.fa-truck-field-un{--fa:""}.fa-truck-plane{--fa:""}.fa-users-between-lines{--fa:""}.fa-users-line{--fa:""}.fa-users-rays{--fa:""}.fa-users-rectangle{--fa:""}.fa-users-viewfinder{--fa:""}.fa-vial-circle-check{--fa:""}.fa-vial-virus{--fa:""}.fa-wheat-awn-circle-exclamation{--fa:""}.fa-worm{--fa:""}.fa-xmarks-lines{--fa:""}.fa-child-dress{--fa:""}.fa-child-reaching{--fa:""}.fa-file-circle-check{--fa:""}.fa-file-circle-xmark{--fa:""}.fa-person-through-window{--fa:""}.fa-plant-wilt{--fa:""}.fa-stapler{--fa:""}.fa-train-tram{--fa:""}.fa-table-cells-column-lock{--fa:""}.fa-table-cells-row-lock{--fa:""}.fa-thumb-tack-slash,.fa-thumbtack-slash{--fa:""}.fa-table-cells-row-unlock{--fa:""}.fa-chart-diagram{--fa:""}.fa-comment-nodes{--fa:""}.fa-file-fragment{--fa:""}.fa-file-half-dashed{--fa:""}.fa-hexagon-nodes{--fa:""}.fa-hexagon-nodes-bolt{--fa:""}.fa-square-binary{--fa:""}.fa-pentagon{--fa:""}.fa-non-binary{--fa:""}.fa-spiral{--fa:""}.fa-picture-in-picture{--fa:""}.fa-mobile-vibrate{--fa:""}.fa-single-quote-left{--fa:""}.fa-single-quote-right{--fa:""}.fa-bus-side{--fa:""}.fa-heptagon,.fa-septagon{--fa:""}.fa-aquarius{--fa:""}.fa-aries{--fa:""}.fa-cancer{--fa:""}.fa-capricorn{--fa:""}.fa-gemini{--fa:""}.fa-leo{--fa:""}.fa-libra{--fa:""}.fa-pisces{--fa:""}.fa-sagittarius{--fa:""}.fa-scorpio{--fa:""}.fa-taurus{--fa:""}.fa-virgo{--fa:""}.fa-glass-martini,.fa-martini-glass-empty{--fa:""}.fa-music{--fa:""}.fa-magnifying-glass,.fa-search{--fa:""}.fa-heart{--fa:""}.fa-star{--fa:""}.fa-user,.fa-user-alt,.fa-user-large{--fa:""}.fa-film,.fa-film-alt,.fa-film-simple{--fa:""}.fa-table-cells-large,.fa-th-large{--fa:""}.fa-table-cells,.fa-th{--fa:""}.fa-table-list,.fa-th-list{--fa:""}.fa-check{--fa:""}.fa-close,.fa-multiply,.fa-remove,.fa-times,.fa-xmark{--fa:""}.fa-magnifying-glass-plus,.fa-search-plus{--fa:""}.fa-magnifying-glass-minus,.fa-search-minus{--fa:""}.fa-power-off{--fa:""}.fa-signal,.fa-signal-5,.fa-signal-perfect{--fa:""}.fa-cog,.fa-gear{--fa:""}.fa-home,.fa-home-alt,.fa-home-lg-alt,.fa-house{--fa:""}.fa-clock,.fa-clock-four{--fa:""}.fa-road{--fa:""}.fa-download{--fa:""}.fa-inbox{--fa:""}.fa-arrow-right-rotate,.fa-arrow-rotate-forward,.fa-arrow-rotate-right,.fa-redo{--fa:""}.fa-arrows-rotate,.fa-refresh,.fa-sync{--fa:""}.fa-list-alt,.fa-rectangle-list{--fa:""}.fa-lock{--fa:""}.fa-flag{--fa:""}.fa-headphones,.fa-headphones-alt,.fa-headphones-simple{--fa:""}.fa-volume-off{--fa:""}.fa-volume-down,.fa-volume-low{--fa:""}.fa-volume-high,.fa-volume-up{--fa:""}.fa-qrcode{--fa:""}.fa-barcode{--fa:""}.fa-tag{--fa:""}.fa-tags{--fa:""}.fa-book{--fa:""}.fa-bookmark{--fa:""}.fa-print{--fa:""}.fa-camera,.fa-camera-alt{--fa:""}.fa-font{--fa:""}.fa-bold{--fa:""}.fa-italic{--fa:""}.fa-text-height{--fa:""}.fa-text-width{--fa:""}.fa-align-left{--fa:""}.fa-align-center{--fa:""}.fa-align-right{--fa:""}.fa-align-justify{--fa:""}.fa-list,.fa-list-squares{--fa:""}.fa-dedent,.fa-outdent{--fa:""}.fa-indent{--fa:""}.fa-video,.fa-video-camera{--fa:""}.fa-image{--fa:""}.fa-location-pin,.fa-map-marker{--fa:""}.fa-adjust,.fa-circle-half-stroke{--fa:""}.fa-droplet,.fa-tint{--fa:""}.fa-edit,.fa-pen-to-square{--fa:""}.fa-arrows,.fa-arrows-up-down-left-right{--fa:""}.fa-backward-step,.fa-step-backward{--fa:""}.fa-backward-fast,.fa-fast-backward{--fa:""}.fa-backward{--fa:""}.fa-play{--fa:""}.fa-pause{--fa:""}.fa-stop{--fa:""}.fa-forward{--fa:""}.fa-fast-forward,.fa-forward-fast{--fa:""}.fa-forward-step,.fa-step-forward{--fa:""}.fa-eject{--fa:""}.fa-chevron-left{--fa:""}.fa-chevron-right{--fa:""}.fa-circle-plus,.fa-plus-circle{--fa:""}.fa-circle-minus,.fa-minus-circle{--fa:""}.fa-circle-xmark,.fa-times-circle,.fa-xmark-circle{--fa:""}.fa-check-circle,.fa-circle-check{--fa:""}.fa-circle-question,.fa-question-circle{--fa:""}.fa-circle-info,.fa-info-circle{--fa:""}.fa-crosshairs{--fa:""}.fa-ban,.fa-cancel{--fa:""}.fa-arrow-left{--fa:""}.fa-arrow-right{--fa:""}.fa-arrow-up{--fa:""}.fa-arrow-down{--fa:""}.fa-mail-forward,.fa-share{--fa:""}.fa-expand{--fa:""}.fa-compress{--fa:""}.fa-minus,.fa-subtract{--fa:""}.fa-circle-exclamation,.fa-exclamation-circle{--fa:""}.fa-gift{--fa:""}.fa-leaf{--fa:""}.fa-fire{--fa:""}.fa-eye{--fa:""}.fa-eye-slash{--fa:""}.fa-exclamation-triangle,.fa-triangle-exclamation,.fa-warning{--fa:""}.fa-plane{--fa:""}.fa-calendar-alt,.fa-calendar-days{--fa:""}.fa-random,.fa-shuffle{--fa:""}.fa-comment{--fa:""}.fa-magnet{--fa:""}.fa-chevron-up{--fa:""}.fa-chevron-down{--fa:""}.fa-retweet{--fa:""}.fa-cart-shopping,.fa-shopping-cart{--fa:""}.fa-folder,.fa-folder-blank{--fa:""}.fa-folder-open{--fa:""}.fa-arrows-up-down,.fa-arrows-v{--fa:""}.fa-arrows-h,.fa-arrows-left-right{--fa:""}.fa-bar-chart,.fa-chart-bar{--fa:""}.fa-camera-retro{--fa:""}.fa-key{--fa:""}.fa-cogs,.fa-gears{--fa:""}.fa-comments{--fa:""}.fa-star-half{--fa:""}.fa-arrow-right-from-bracket,.fa-sign-out{--fa:""}.fa-thumb-tack,.fa-thumbtack{--fa:""}.fa-arrow-up-right-from-square,.fa-external-link{--fa:""}.fa-arrow-right-to-bracket,.fa-sign-in{--fa:""}.fa-trophy{--fa:""}.fa-upload{--fa:""}.fa-lemon{--fa:""}.fa-phone{--fa:""}.fa-phone-square,.fa-square-phone{--fa:""}.fa-unlock{--fa:""}.fa-credit-card,.fa-credit-card-alt{--fa:""}.fa-feed,.fa-rss{--fa:""}.fa-hard-drive,.fa-hdd{--fa:""}.fa-bullhorn{--fa:""}.fa-certificate{--fa:""}.fa-hand-point-right{--fa:""}.fa-hand-point-left{--fa:""}.fa-hand-point-up{--fa:""}.fa-hand-point-down{--fa:""}.fa-arrow-circle-left,.fa-circle-arrow-left{--fa:""}.fa-arrow-circle-right,.fa-circle-arrow-right{--fa:""}.fa-arrow-circle-up,.fa-circle-arrow-up{--fa:""}.fa-arrow-circle-down,.fa-circle-arrow-down{--fa:""}.fa-globe{--fa:""}.fa-wrench{--fa:""}.fa-list-check,.fa-tasks{--fa:""}.fa-filter{--fa:""}.fa-briefcase{--fa:""}.fa-arrows-alt,.fa-up-down-left-right{--fa:""}.fa-users{--fa:""}.fa-chain,.fa-link{--fa:""}.fa-cloud{--fa:""}.fa-flask{--fa:""}.fa-cut,.fa-scissors{--fa:""}.fa-copy{--fa:""}.fa-paperclip{--fa:""}.fa-floppy-disk,.fa-save{--fa:""}.fa-square{--fa:""}.fa-bars,.fa-navicon{--fa:""}.fa-list-dots,.fa-list-ul{--fa:""}.fa-list-1-2,.fa-list-numeric,.fa-list-ol{--fa:""}.fa-strikethrough{--fa:""}.fa-underline{--fa:""}.fa-table{--fa:""}.fa-magic,.fa-wand-magic{--fa:""}.fa-truck{--fa:""}.fa-money-bill{--fa:""}.fa-caret-down{--fa:""}.fa-caret-up{--fa:""}.fa-caret-left{--fa:""}.fa-caret-right{--fa:""}.fa-columns,.fa-table-columns{--fa:""}.fa-sort,.fa-unsorted{--fa:""}.fa-sort-desc,.fa-sort-down{--fa:""}.fa-sort-asc,.fa-sort-up{--fa:""}.fa-envelope{--fa:""}.fa-arrow-left-rotate,.fa-arrow-rotate-back,.fa-arrow-rotate-backward,.fa-arrow-rotate-left,.fa-undo{--fa:""}.fa-gavel,.fa-legal{--fa:""}.fa-bolt,.fa-zap{--fa:""}.fa-sitemap{--fa:""}.fa-umbrella{--fa:""}.fa-file-clipboard,.fa-paste{--fa:""}.fa-lightbulb{--fa:""}.fa-arrow-right-arrow-left,.fa-exchange{--fa:""}.fa-cloud-arrow-down,.fa-cloud-download,.fa-cloud-download-alt{--fa:""}.fa-cloud-arrow-up,.fa-cloud-upload,.fa-cloud-upload-alt{--fa:""}.fa-user-doctor,.fa-user-md{--fa:""}.fa-stethoscope{--fa:""}.fa-suitcase{--fa:""}.fa-bell{--fa:""}.fa-coffee,.fa-mug-saucer{--fa:""}.fa-hospital,.fa-hospital-alt,.fa-hospital-wide{--fa:""}.fa-ambulance,.fa-truck-medical{--fa:""}.fa-medkit,.fa-suitcase-medical{--fa:""}.fa-fighter-jet,.fa-jet-fighter{--fa:""}.fa-beer,.fa-beer-mug-empty{--fa:""}.fa-h-square,.fa-square-h{--fa:""}.fa-plus-square,.fa-square-plus{--fa:""}.fa-angle-double-left,.fa-angles-left{--fa:""}.fa-angle-double-right,.fa-angles-right{--fa:""}.fa-angle-double-up,.fa-angles-up{--fa:""}.fa-angle-double-down,.fa-angles-down{--fa:""}.fa-angle-left{--fa:""}.fa-angle-right{--fa:""}.fa-angle-up{--fa:""}.fa-angle-down{--fa:""}.fa-laptop{--fa:""}.fa-tablet-button{--fa:""}.fa-mobile-button{--fa:""}.fa-quote-left,.fa-quote-left-alt{--fa:""}.fa-quote-right,.fa-quote-right-alt{--fa:""}.fa-spinner{--fa:""}.fa-circle{--fa:""}.fa-face-smile,.fa-smile{--fa:""}.fa-face-frown,.fa-frown{--fa:""}.fa-face-meh,.fa-meh{--fa:""}.fa-gamepad{--fa:""}.fa-keyboard{--fa:""}.fa-flag-checkered{--fa:""}.fa-terminal{--fa:""}.fa-code{--fa:""}.fa-mail-reply-all,.fa-reply-all{--fa:""}.fa-location-arrow{--fa:""}.fa-crop{--fa:""}.fa-code-branch{--fa:""}.fa-chain-broken,.fa-chain-slash,.fa-link-slash,.fa-unlink{--fa:""}.fa-info{--fa:""}.fa-superscript{--fa:""}.fa-subscript{--fa:""}.fa-eraser{--fa:""}.fa-puzzle-piece{--fa:""}.fa-microphone{--fa:""}.fa-microphone-slash{--fa:""}.fa-shield,.fa-shield-blank{--fa:""}.fa-calendar{--fa:""}.fa-fire-extinguisher{--fa:""}.fa-rocket{--fa:""}.fa-chevron-circle-left,.fa-circle-chevron-left{--fa:""}.fa-chevron-circle-right,.fa-circle-chevron-right{--fa:""}.fa-chevron-circle-up,.fa-circle-chevron-up{--fa:""}.fa-chevron-circle-down,.fa-circle-chevron-down{--fa:""}.fa-anchor{--fa:""}.fa-unlock-alt,.fa-unlock-keyhole{--fa:""}.fa-bullseye{--fa:""}.fa-ellipsis,.fa-ellipsis-h{--fa:""}.fa-ellipsis-v,.fa-ellipsis-vertical{--fa:""}.fa-rss-square,.fa-square-rss{--fa:""}.fa-circle-play,.fa-play-circle{--fa:""}.fa-ticket{--fa:""}.fa-minus-square,.fa-square-minus{--fa:""}.fa-arrow-turn-up,.fa-level-up{--fa:""}.fa-arrow-turn-down,.fa-level-down{--fa:""}.fa-check-square,.fa-square-check{--fa:""}.fa-pen-square,.fa-pencil-square,.fa-square-pen{--fa:""}.fa-external-link-square,.fa-square-arrow-up-right{--fa:""}.fa-share-from-square,.fa-share-square{--fa:""}.fa-compass{--fa:""}.fa-caret-square-down,.fa-square-caret-down{--fa:""}.fa-caret-square-up,.fa-square-caret-up{--fa:""}.fa-caret-square-right,.fa-square-caret-right{--fa:""}.fa-eur,.fa-euro,.fa-euro-sign{--fa:""}.fa-gbp,.fa-pound-sign,.fa-sterling-sign{--fa:""}.fa-rupee,.fa-rupee-sign{--fa:""}.fa-cny,.fa-jpy,.fa-rmb,.fa-yen,.fa-yen-sign{--fa:""}.fa-rouble,.fa-rub,.fa-ruble,.fa-ruble-sign{--fa:""}.fa-krw,.fa-won,.fa-won-sign{--fa:""}.fa-file{--fa:""}.fa-file-alt,.fa-file-lines,.fa-file-text{--fa:""}.fa-arrow-down-a-z,.fa-sort-alpha-asc,.fa-sort-alpha-down{--fa:""}.fa-arrow-up-a-z,.fa-sort-alpha-up{--fa:""}.fa-arrow-down-wide-short,.fa-sort-amount-asc,.fa-sort-amount-down{--fa:""}.fa-arrow-up-wide-short,.fa-sort-amount-up{--fa:""}.fa-arrow-down-1-9,.fa-sort-numeric-asc,.fa-sort-numeric-down{--fa:""}.fa-arrow-up-1-9,.fa-sort-numeric-up{--fa:""}.fa-thumbs-up{--fa:""}.fa-thumbs-down{--fa:""}.fa-arrow-down-long,.fa-long-arrow-down{--fa:""}.fa-arrow-up-long,.fa-long-arrow-up{--fa:""}.fa-arrow-left-long,.fa-long-arrow-left{--fa:""}.fa-arrow-right-long,.fa-long-arrow-right{--fa:""}.fa-female,.fa-person-dress{--fa:""}.fa-male,.fa-person{--fa:""}.fa-sun{--fa:""}.fa-moon{--fa:""}.fa-archive,.fa-box-archive{--fa:""}.fa-bug{--fa:""}.fa-caret-square-left,.fa-square-caret-left{--fa:""}.fa-circle-dot,.fa-dot-circle{--fa:""}.fa-wheelchair{--fa:""}.fa-lira-sign{--fa:""}.fa-shuttle-space,.fa-space-shuttle{--fa:""}.fa-envelope-square,.fa-square-envelope{--fa:""}.fa-bank,.fa-building-columns,.fa-institution,.fa-museum,.fa-university{--fa:""}.fa-graduation-cap,.fa-mortar-board{--fa:""}.fa-language{--fa:""}.fa-fax{--fa:""}.fa-building{--fa:""}.fa-child{--fa:""}.fa-paw{--fa:""}.fa-cube{--fa:""}.fa-cubes{--fa:""}.fa-recycle{--fa:""}.fa-automobile,.fa-car{--fa:""}.fa-cab,.fa-taxi{--fa:""}.fa-tree{--fa:""}.fa-database{--fa:""}.fa-file-pdf{--fa:""}.fa-file-word{--fa:""}.fa-file-excel{--fa:""}.fa-file-powerpoint{--fa:""}.fa-file-image{--fa:""}.fa-file-archive,.fa-file-zipper{--fa:""}.fa-file-audio{--fa:""}.fa-file-video{--fa:""}.fa-file-code{--fa:""}.fa-life-ring{--fa:""}.fa-circle-notch{--fa:""}.fa-paper-plane{--fa:""}.fa-clock-rotate-left,.fa-history{--fa:""}.fa-header,.fa-heading{--fa:""}.fa-paragraph{--fa:""}.fa-sliders,.fa-sliders-h{--fa:""}.fa-share-alt,.fa-share-nodes{--fa:""}.fa-share-alt-square,.fa-square-share-nodes{--fa:""}.fa-bomb{--fa:""}.fa-futbol,.fa-futbol-ball,.fa-soccer-ball{--fa:""}.fa-teletype,.fa-tty{--fa:""}.fa-binoculars{--fa:""}.fa-plug{--fa:""}.fa-newspaper{--fa:""}.fa-wifi,.fa-wifi-3,.fa-wifi-strong{--fa:""}.fa-calculator{--fa:""}.fa-bell-slash{--fa:""}.fa-trash{--fa:""}.fa-copyright{--fa:""}.fa-eye-dropper,.fa-eye-dropper-empty,.fa-eyedropper{--fa:""}.fa-paint-brush,.fa-paintbrush{--fa:""}.fa-birthday-cake,.fa-cake,.fa-cake-candles{--fa:""}.fa-area-chart,.fa-chart-area{--fa:""}.fa-chart-pie,.fa-pie-chart{--fa:""}.fa-chart-line,.fa-line-chart{--fa:""}.fa-toggle-off{--fa:""}.fa-toggle-on{--fa:""}.fa-bicycle{--fa:""}.fa-bus{--fa:""}.fa-closed-captioning{--fa:""}.fa-ils,.fa-shekel,.fa-shekel-sign,.fa-sheqel,.fa-sheqel-sign{--fa:""}.fa-cart-plus{--fa:""}.fa-cart-arrow-down{--fa:""}.fa-diamond{--fa:""}.fa-ship{--fa:""}.fa-user-secret{--fa:""}.fa-motorcycle{--fa:""}.fa-street-view{--fa:""}.fa-heart-pulse,.fa-heartbeat{--fa:""}.fa-venus{--fa:""}.fa-mars{--fa:""}.fa-mercury{--fa:""}.fa-mars-and-venus{--fa:""}.fa-transgender,.fa-transgender-alt{--fa:""}.fa-venus-double{--fa:""}.fa-mars-double{--fa:""}.fa-venus-mars{--fa:""}.fa-mars-stroke{--fa:""}.fa-mars-stroke-up,.fa-mars-stroke-v{--fa:""}.fa-mars-stroke-h,.fa-mars-stroke-right{--fa:""}.fa-neuter{--fa:""}.fa-genderless{--fa:""}.fa-server{--fa:""}.fa-user-plus{--fa:""}.fa-user-times,.fa-user-xmark{--fa:""}.fa-bed{--fa:""}.fa-train{--fa:""}.fa-subway,.fa-train-subway{--fa:""}.fa-battery,.fa-battery-5,.fa-battery-full{--fa:""}.fa-battery-4,.fa-battery-three-quarters{--fa:""}.fa-battery-3,.fa-battery-half{--fa:""}.fa-battery-2,.fa-battery-quarter{--fa:""}.fa-battery-0,.fa-battery-empty{--fa:""}.fa-arrow-pointer,.fa-mouse-pointer{--fa:""}.fa-i-cursor{--fa:""}.fa-object-group{--fa:""}.fa-object-ungroup{--fa:""}.fa-note-sticky,.fa-sticky-note{--fa:""}.fa-clone{--fa:""}.fa-balance-scale,.fa-scale-balanced{--fa:""}.fa-hourglass-1,.fa-hourglass-start{--fa:""}.fa-hourglass-2,.fa-hourglass-half{--fa:""}.fa-hourglass-3,.fa-hourglass-end{--fa:""}.fa-hourglass,.fa-hourglass-empty{--fa:""}.fa-hand-back-fist,.fa-hand-rock{--fa:""}.fa-hand,.fa-hand-paper{--fa:""}.fa-hand-scissors{--fa:""}.fa-hand-lizard{--fa:""}.fa-hand-spock{--fa:""}.fa-hand-pointer{--fa:""}.fa-hand-peace{--fa:""}.fa-trademark{--fa:""}.fa-registered{--fa:""}.fa-television,.fa-tv,.fa-tv-alt{--fa:""}.fa-calendar-plus{--fa:""}.fa-calendar-minus{--fa:""}.fa-calendar-times,.fa-calendar-xmark{--fa:""}.fa-calendar-check{--fa:""}.fa-industry{--fa:""}.fa-map-pin{--fa:""}.fa-map-signs,.fa-signs-post{--fa:""}.fa-map{--fa:""}.fa-comment-alt,.fa-message{--fa:""}.fa-circle-pause,.fa-pause-circle{--fa:""}.fa-circle-stop,.fa-stop-circle{--fa:""}.fa-bag-shopping,.fa-shopping-bag{--fa:""}.fa-basket-shopping,.fa-shopping-basket{--fa:""}.fa-universal-access{--fa:""}.fa-blind,.fa-person-walking-with-cane{--fa:""}.fa-audio-description{--fa:""}.fa-phone-volume,.fa-volume-control-phone{--fa:""}.fa-braille{--fa:""}.fa-assistive-listening-systems,.fa-ear-listen{--fa:""}.fa-american-sign-language-interpreting,.fa-asl-interpreting,.fa-hands-american-sign-language-interpreting,.fa-hands-asl-interpreting{--fa:""}.fa-deaf,.fa-deafness,.fa-ear-deaf,.fa-hard-of-hearing{--fa:""}.fa-hands,.fa-sign-language,.fa-signing{--fa:""}.fa-eye-low-vision,.fa-low-vision{--fa:""}.fa-handshake,.fa-handshake-alt,.fa-handshake-simple{--fa:""}.fa-envelope-open{--fa:""}.fa-address-book,.fa-contact-book{--fa:""}.fa-address-card,.fa-contact-card,.fa-vcard{--fa:""}.fa-circle-user,.fa-user-circle{--fa:""}.fa-id-badge{--fa:""}.fa-drivers-license,.fa-id-card{--fa:""}.fa-temperature-4,.fa-temperature-full,.fa-thermometer-4,.fa-thermometer-full{--fa:""}.fa-temperature-3,.fa-temperature-three-quarters,.fa-thermometer-3,.fa-thermometer-three-quarters{--fa:""}.fa-temperature-2,.fa-temperature-half,.fa-thermometer-2,.fa-thermometer-half{--fa:""}.fa-temperature-1,.fa-temperature-quarter,.fa-thermometer-1,.fa-thermometer-quarter{--fa:""}.fa-temperature-0,.fa-temperature-empty,.fa-thermometer-0,.fa-thermometer-empty{--fa:""}.fa-shower{--fa:""}.fa-bath,.fa-bathtub{--fa:""}.fa-podcast{--fa:""}.fa-window-maximize{--fa:""}.fa-window-minimize{--fa:""}.fa-window-restore{--fa:""}.fa-square-xmark,.fa-times-square,.fa-xmark-square{--fa:""}.fa-microchip{--fa:""}.fa-snowflake{--fa:""}.fa-spoon,.fa-utensil-spoon{--fa:""}.fa-cutlery,.fa-utensils{--fa:""}.fa-rotate-back,.fa-rotate-backward,.fa-rotate-left,.fa-undo-alt{--fa:""}.fa-trash-alt,.fa-trash-can{--fa:""}.fa-rotate,.fa-sync-alt{--fa:""}.fa-stopwatch{--fa:""}.fa-right-from-bracket,.fa-sign-out-alt{--fa:""}.fa-right-to-bracket,.fa-sign-in-alt{--fa:""}.fa-redo-alt,.fa-rotate-forward,.fa-rotate-right{--fa:""}.fa-poo{--fa:""}.fa-images{--fa:""}.fa-pencil,.fa-pencil-alt{--fa:""}.fa-pen{--fa:""}.fa-pen-alt,.fa-pen-clip{--fa:""}.fa-octagon{--fa:""}.fa-down-long,.fa-long-arrow-alt-down{--fa:""}.fa-left-long,.fa-long-arrow-alt-left{--fa:""}.fa-long-arrow-alt-right,.fa-right-long{--fa:""}.fa-long-arrow-alt-up,.fa-up-long{--fa:""}.fa-hexagon{--fa:""}.fa-file-edit,.fa-file-pen{--fa:""}.fa-expand-arrows-alt,.fa-maximize{--fa:""}.fa-clipboard{--fa:""}.fa-arrows-alt-h,.fa-left-right{--fa:""}.fa-arrows-alt-v,.fa-up-down{--fa:""}.fa-alarm-clock{--fa:""}.fa-arrow-alt-circle-down,.fa-circle-down{--fa:""}.fa-arrow-alt-circle-left,.fa-circle-left{--fa:""}.fa-arrow-alt-circle-right,.fa-circle-right{--fa:""}.fa-arrow-alt-circle-up,.fa-circle-up{--fa:""}.fa-external-link-alt,.fa-up-right-from-square{--fa:""}.fa-external-link-square-alt,.fa-square-up-right{--fa:""}.fa-exchange-alt,.fa-right-left{--fa:""}.fa-repeat{--fa:""}.fa-code-commit{--fa:""}.fa-code-merge{--fa:""}.fa-desktop,.fa-desktop-alt{--fa:""}.fa-gem{--fa:""}.fa-level-down-alt,.fa-turn-down{--fa:""}.fa-level-up-alt,.fa-turn-up{--fa:""}.fa-lock-open{--fa:""}.fa-location-dot,.fa-map-marker-alt{--fa:""}.fa-microphone-alt,.fa-microphone-lines{--fa:""}.fa-mobile-alt,.fa-mobile-screen-button{--fa:""}.fa-mobile,.fa-mobile-android,.fa-mobile-phone{--fa:""}.fa-mobile-android-alt,.fa-mobile-screen{--fa:""}.fa-money-bill-1,.fa-money-bill-alt{--fa:""}.fa-phone-slash{--fa:""}.fa-image-portrait,.fa-portrait{--fa:""}.fa-mail-reply,.fa-reply{--fa:""}.fa-shield-alt,.fa-shield-halved{--fa:""}.fa-tablet-alt,.fa-tablet-screen-button{--fa:""}.fa-tablet,.fa-tablet-android{--fa:""}.fa-ticket-alt,.fa-ticket-simple{--fa:""}.fa-rectangle-times,.fa-rectangle-xmark,.fa-times-rectangle,.fa-window-close{--fa:""}.fa-compress-alt,.fa-down-left-and-up-right-to-center{--fa:""}.fa-expand-alt,.fa-up-right-and-down-left-from-center{--fa:""}.fa-baseball-bat-ball{--fa:""}.fa-baseball,.fa-baseball-ball{--fa:""}.fa-basketball,.fa-basketball-ball{--fa:""}.fa-bowling-ball{--fa:""}.fa-chess{--fa:""}.fa-chess-bishop{--fa:""}.fa-chess-board{--fa:""}.fa-chess-king{--fa:""}.fa-chess-knight{--fa:""}.fa-chess-pawn{--fa:""}.fa-chess-queen{--fa:""}.fa-chess-rook{--fa:""}.fa-dumbbell{--fa:""}.fa-football,.fa-football-ball{--fa:""}.fa-golf-ball,.fa-golf-ball-tee{--fa:""}.fa-hockey-puck{--fa:""}.fa-broom-ball,.fa-quidditch,.fa-quidditch-broom-ball{--fa:""}.fa-square-full{--fa:""}.fa-ping-pong-paddle-ball,.fa-table-tennis,.fa-table-tennis-paddle-ball{--fa:""}.fa-volleyball,.fa-volleyball-ball{--fa:""}.fa-allergies,.fa-hand-dots{--fa:""}.fa-band-aid,.fa-bandage{--fa:""}.fa-box{--fa:""}.fa-boxes,.fa-boxes-alt,.fa-boxes-stacked{--fa:""}.fa-briefcase-medical{--fa:""}.fa-burn,.fa-fire-flame-simple{--fa:""}.fa-capsules{--fa:""}.fa-clipboard-check{--fa:""}.fa-clipboard-list{--fa:""}.fa-diagnoses,.fa-person-dots-from-line{--fa:""}.fa-dna{--fa:""}.fa-dolly,.fa-dolly-box{--fa:""}.fa-cart-flatbed,.fa-dolly-flatbed{--fa:""}.fa-file-medical{--fa:""}.fa-file-medical-alt,.fa-file-waveform{--fa:""}.fa-first-aid,.fa-kit-medical{--fa:""}.fa-circle-h,.fa-hospital-symbol{--fa:""}.fa-id-card-alt,.fa-id-card-clip{--fa:""}.fa-notes-medical{--fa:""}.fa-pallet{--fa:""}.fa-pills{--fa:""}.fa-prescription-bottle{--fa:""}.fa-prescription-bottle-alt,.fa-prescription-bottle-medical{--fa:""}.fa-bed-pulse,.fa-procedures{--fa:""}.fa-shipping-fast,.fa-truck-fast{--fa:""}.fa-smoking{--fa:""}.fa-syringe{--fa:""}.fa-tablets{--fa:""}.fa-thermometer{--fa:""}.fa-vial{--fa:""}.fa-vials{--fa:""}.fa-warehouse{--fa:""}.fa-weight,.fa-weight-scale{--fa:""}.fa-x-ray{--fa:""}.fa-box-open{--fa:""}.fa-comment-dots,.fa-commenting{--fa:""}.fa-comment-slash{--fa:""}.fa-couch{--fa:""}.fa-circle-dollar-to-slot,.fa-donate{--fa:""}.fa-dove{--fa:""}.fa-hand-holding{--fa:""}.fa-hand-holding-heart{--fa:""}.fa-hand-holding-dollar,.fa-hand-holding-usd{--fa:""}.fa-hand-holding-droplet,.fa-hand-holding-water{--fa:""}.fa-hands-holding{--fa:""}.fa-hands-helping,.fa-handshake-angle{--fa:""}.fa-parachute-box{--fa:""}.fa-people-carry,.fa-people-carry-box{--fa:""}.fa-piggy-bank{--fa:""}.fa-ribbon{--fa:""}.fa-route{--fa:""}.fa-seedling,.fa-sprout{--fa:""}.fa-sign,.fa-sign-hanging{--fa:""}.fa-face-smile-wink,.fa-smile-wink{--fa:""}.fa-tape{--fa:""}.fa-truck-loading,.fa-truck-ramp-box{--fa:""}.fa-truck-moving{--fa:""}.fa-video-slash{--fa:""}.fa-wine-glass{--fa:""}.fa-user-astronaut{--fa:""}.fa-user-check{--fa:""}.fa-user-clock{--fa:""}.fa-user-cog,.fa-user-gear{--fa:""}.fa-user-edit,.fa-user-pen{--fa:""}.fa-user-friends,.fa-user-group{--fa:""}.fa-user-graduate{--fa:""}.fa-user-lock{--fa:""}.fa-user-minus{--fa:""}.fa-user-ninja{--fa:""}.fa-user-shield{--fa:""}.fa-user-alt-slash,.fa-user-large-slash,.fa-user-slash{--fa:""}.fa-user-tag{--fa:""}.fa-user-tie{--fa:""}.fa-users-cog,.fa-users-gear{--fa:""}.fa-balance-scale-left,.fa-scale-unbalanced{--fa:""}.fa-balance-scale-right,.fa-scale-unbalanced-flip{--fa:""}.fa-blender{--fa:""}.fa-book-open{--fa:""}.fa-broadcast-tower,.fa-tower-broadcast{--fa:""}.fa-broom{--fa:""}.fa-blackboard,.fa-chalkboard{--fa:""}.fa-chalkboard-teacher,.fa-chalkboard-user{--fa:""}.fa-church{--fa:""}.fa-coins{--fa:""}.fa-compact-disc{--fa:""}.fa-crow{--fa:""}.fa-crown{--fa:""}.fa-dice{--fa:""}.fa-dice-five{--fa:""}.fa-dice-four{--fa:""}.fa-dice-one{--fa:""}.fa-dice-six{--fa:""}.fa-dice-three{--fa:""}.fa-dice-two{--fa:""}.fa-divide{--fa:""}.fa-door-closed{--fa:""}.fa-door-open{--fa:""}.fa-feather{--fa:""}.fa-frog{--fa:""}.fa-gas-pump{--fa:""}.fa-glasses{--fa:""}.fa-greater-than-equal{--fa:""}.fa-helicopter{--fa:""}.fa-infinity{--fa:""}.fa-kiwi-bird{--fa:""}.fa-less-than-equal{--fa:""}.fa-memory{--fa:""}.fa-microphone-alt-slash,.fa-microphone-lines-slash{--fa:""}.fa-money-bill-wave{--fa:""}.fa-money-bill-1-wave,.fa-money-bill-wave-alt{--fa:""}.fa-money-check{--fa:""}.fa-money-check-alt,.fa-money-check-dollar{--fa:""}.fa-not-equal{--fa:""}.fa-palette{--fa:""}.fa-parking,.fa-square-parking{--fa:""}.fa-diagram-project,.fa-project-diagram{--fa:""}.fa-receipt{--fa:""}.fa-robot{--fa:""}.fa-ruler{--fa:""}.fa-ruler-combined{--fa:""}.fa-ruler-horizontal{--fa:""}.fa-ruler-vertical{--fa:""}.fa-school{--fa:""}.fa-screwdriver{--fa:""}.fa-shoe-prints{--fa:""}.fa-skull{--fa:""}.fa-ban-smoking,.fa-smoking-ban{--fa:""}.fa-store{--fa:""}.fa-shop,.fa-store-alt{--fa:""}.fa-bars-staggered,.fa-reorder,.fa-stream{--fa:""}.fa-stroopwafel{--fa:""}.fa-toolbox{--fa:""}.fa-shirt,.fa-t-shirt,.fa-tshirt{--fa:""}.fa-person-walking,.fa-walking{--fa:""}.fa-wallet{--fa:""}.fa-angry,.fa-face-angry{--fa:""}.fa-archway{--fa:""}.fa-atlas,.fa-book-atlas{--fa:""}.fa-award{--fa:""}.fa-backspace,.fa-delete-left{--fa:""}.fa-bezier-curve{--fa:""}.fa-bong{--fa:""}.fa-brush{--fa:""}.fa-bus-alt,.fa-bus-simple{--fa:""}.fa-cannabis{--fa:""}.fa-check-double{--fa:""}.fa-cocktail,.fa-martini-glass-citrus{--fa:""}.fa-bell-concierge,.fa-concierge-bell{--fa:""}.fa-cookie{--fa:""}.fa-cookie-bite{--fa:""}.fa-crop-alt,.fa-crop-simple{--fa:""}.fa-digital-tachograph,.fa-tachograph-digital{--fa:""}.fa-dizzy,.fa-face-dizzy{--fa:""}.fa-compass-drafting,.fa-drafting-compass{--fa:""}.fa-drum{--fa:""}.fa-drum-steelpan{--fa:""}.fa-feather-alt,.fa-feather-pointed{--fa:""}.fa-file-contract{--fa:""}.fa-file-arrow-down,.fa-file-download{--fa:""}.fa-arrow-right-from-file,.fa-file-export{--fa:""}.fa-arrow-right-to-file,.fa-file-import{--fa:""}.fa-file-invoice{--fa:""}.fa-file-invoice-dollar{--fa:""}.fa-file-prescription{--fa:""}.fa-file-signature{--fa:""}.fa-file-arrow-up,.fa-file-upload{--fa:""}.fa-fill{--fa:""}.fa-fill-drip{--fa:""}.fa-fingerprint{--fa:""}.fa-fish{--fa:""}.fa-face-flushed,.fa-flushed{--fa:""}.fa-face-frown-open,.fa-frown-open{--fa:""}.fa-glass-martini-alt,.fa-martini-glass{--fa:""}.fa-earth-africa,.fa-globe-africa{--fa:""}.fa-earth,.fa-earth-america,.fa-earth-americas,.fa-globe-americas{--fa:""}.fa-earth-asia,.fa-globe-asia{--fa:""}.fa-face-grimace,.fa-grimace{--fa:""}.fa-face-grin,.fa-grin{--fa:""}.fa-face-grin-wide,.fa-grin-alt{--fa:""}.fa-face-grin-beam,.fa-grin-beam{--fa:""}.fa-face-grin-beam-sweat,.fa-grin-beam-sweat{--fa:""}.fa-face-grin-hearts,.fa-grin-hearts{--fa:""}.fa-face-grin-squint,.fa-grin-squint{--fa:""}.fa-face-grin-squint-tears,.fa-grin-squint-tears{--fa:""}.fa-face-grin-stars,.fa-grin-stars{--fa:""}.fa-face-grin-tears,.fa-grin-tears{--fa:""}.fa-face-grin-tongue,.fa-grin-tongue{--fa:""}.fa-face-grin-tongue-squint,.fa-grin-tongue-squint{--fa:""}.fa-face-grin-tongue-wink,.fa-grin-tongue-wink{--fa:""}.fa-face-grin-wink,.fa-grin-wink{--fa:""}.fa-grid-horizontal,.fa-grip,.fa-grip-horizontal{--fa:""}.fa-grid-vertical,.fa-grip-vertical{--fa:""}.fa-headset{--fa:""}.fa-highlighter{--fa:""}.fa-hot-tub,.fa-hot-tub-person{--fa:""}.fa-hotel{--fa:""}.fa-joint{--fa:""}.fa-face-kiss,.fa-kiss{--fa:""}.fa-face-kiss-beam,.fa-kiss-beam{--fa:""}.fa-face-kiss-wink-heart,.fa-kiss-wink-heart{--fa:""}.fa-face-laugh,.fa-laugh{--fa:""}.fa-face-laugh-beam,.fa-laugh-beam{--fa:""}.fa-face-laugh-squint,.fa-laugh-squint{--fa:""}.fa-face-laugh-wink,.fa-laugh-wink{--fa:""}.fa-cart-flatbed-suitcase,.fa-luggage-cart{--fa:""}.fa-map-location,.fa-map-marked{--fa:""}.fa-map-location-dot,.fa-map-marked-alt{--fa:""}.fa-marker{--fa:""}.fa-medal{--fa:""}.fa-face-meh-blank,.fa-meh-blank{--fa:""}.fa-face-rolling-eyes,.fa-meh-rolling-eyes{--fa:""}.fa-monument{--fa:""}.fa-mortar-pestle{--fa:""}.fa-paint-roller{--fa:""}.fa-passport{--fa:""}.fa-pen-fancy{--fa:""}.fa-pen-nib{--fa:""}.fa-pen-ruler,.fa-pencil-ruler{--fa:""}.fa-plane-arrival{--fa:""}.fa-plane-departure{--fa:""}.fa-prescription{--fa:""}.fa-face-sad-cry,.fa-sad-cry{--fa:""}.fa-face-sad-tear,.fa-sad-tear{--fa:""}.fa-shuttle-van,.fa-van-shuttle{--fa:""}.fa-signature{--fa:""}.fa-face-smile-beam,.fa-smile-beam{--fa:""}.fa-solar-panel{--fa:""}.fa-spa{--fa:""}.fa-splotch{--fa:""}.fa-spray-can{--fa:""}.fa-stamp{--fa:""}.fa-star-half-alt,.fa-star-half-stroke{--fa:""}.fa-suitcase-rolling{--fa:""}.fa-face-surprise,.fa-surprise{--fa:""}.fa-swatchbook{--fa:""}.fa-person-swimming,.fa-swimmer{--fa:""}.fa-ladder-water,.fa-swimming-pool,.fa-water-ladder{--fa:""}.fa-droplet-slash,.fa-tint-slash{--fa:""}.fa-face-tired,.fa-tired{--fa:""}.fa-tooth{--fa:""}.fa-umbrella-beach{--fa:""}.fa-weight-hanging{--fa:""}.fa-wine-glass-alt,.fa-wine-glass-empty{--fa:""}.fa-air-freshener,.fa-spray-can-sparkles{--fa:""}.fa-apple-alt,.fa-apple-whole{--fa:""}.fa-atom{--fa:""}.fa-bone{--fa:""}.fa-book-open-reader,.fa-book-reader{--fa:""}.fa-brain{--fa:""}.fa-car-alt,.fa-car-rear{--fa:""}.fa-battery-car,.fa-car-battery{--fa:""}.fa-car-burst,.fa-car-crash{--fa:""}.fa-car-side{--fa:""}.fa-charging-station{--fa:""}.fa-diamond-turn-right,.fa-directions{--fa:""}.fa-draw-polygon,.fa-vector-polygon{--fa:""}.fa-laptop-code{--fa:""}.fa-layer-group{--fa:""}.fa-location,.fa-location-crosshairs{--fa:""}.fa-lungs{--fa:""}.fa-microscope{--fa:""}.fa-oil-can{--fa:""}.fa-poop{--fa:""}.fa-shapes,.fa-triangle-circle-square{--fa:""}.fa-star-of-life{--fa:""}.fa-dashboard,.fa-gauge,.fa-gauge-med,.fa-tachometer-alt-average{--fa:""}.fa-gauge-high,.fa-tachometer-alt,.fa-tachometer-alt-fast{--fa:""}.fa-gauge-simple,.fa-gauge-simple-med,.fa-tachometer-average{--fa:""}.fa-gauge-simple-high,.fa-tachometer,.fa-tachometer-fast{--fa:""}.fa-teeth{--fa:""}.fa-teeth-open{--fa:""}.fa-masks-theater,.fa-theater-masks{--fa:""}.fa-traffic-light{--fa:""}.fa-truck-monster{--fa:""}.fa-truck-pickup{--fa:""}.fa-ad,.fa-rectangle-ad{--fa:""}.fa-ankh{--fa:""}.fa-bible,.fa-book-bible{--fa:""}.fa-briefcase-clock,.fa-business-time{--fa:""}.fa-city{--fa:""}.fa-comment-dollar{--fa:""}.fa-comments-dollar{--fa:""}.fa-cross{--fa:""}.fa-dharmachakra{--fa:""}.fa-envelope-open-text{--fa:""}.fa-folder-minus{--fa:""}.fa-folder-plus{--fa:""}.fa-filter-circle-dollar,.fa-funnel-dollar{--fa:""}.fa-gopuram{--fa:""}.fa-hamsa{--fa:""}.fa-bahai,.fa-haykal{--fa:""}.fa-jedi{--fa:""}.fa-book-journal-whills,.fa-journal-whills{--fa:""}.fa-kaaba{--fa:""}.fa-khanda{--fa:""}.fa-landmark{--fa:""}.fa-envelopes-bulk,.fa-mail-bulk{--fa:""}.fa-menorah{--fa:""}.fa-mosque{--fa:""}.fa-om{--fa:""}.fa-pastafarianism,.fa-spaghetti-monster-flying{--fa:""}.fa-peace{--fa:""}.fa-place-of-worship{--fa:""}.fa-poll,.fa-square-poll-vertical{--fa:""}.fa-poll-h,.fa-square-poll-horizontal{--fa:""}.fa-person-praying,.fa-pray{--fa:""}.fa-hands-praying,.fa-praying-hands{--fa:""}.fa-book-quran,.fa-quran{--fa:""}.fa-magnifying-glass-dollar,.fa-search-dollar{--fa:""}.fa-magnifying-glass-location,.fa-search-location{--fa:""}.fa-socks{--fa:""}.fa-square-root-alt,.fa-square-root-variable{--fa:""}.fa-star-and-crescent{--fa:""}.fa-star-of-david{--fa:""}.fa-synagogue{--fa:""}.fa-scroll-torah,.fa-torah{--fa:""}.fa-torii-gate{--fa:""}.fa-vihara{--fa:""}.fa-volume,.fa-volume-medium{--fa:""}.fa-volume-mute,.fa-volume-times,.fa-volume-xmark{--fa:""}.fa-yin-yang{--fa:""}.fa-blender-phone{--fa:""}.fa-book-dead,.fa-book-skull{--fa:""}.fa-campground{--fa:""}.fa-cat{--fa:""}.fa-chair{--fa:""}.fa-cloud-moon{--fa:""}.fa-cloud-sun{--fa:""}.fa-cow{--fa:""}.fa-dice-d20{--fa:""}.fa-dice-d6{--fa:""}.fa-dog{--fa:""}.fa-dragon{--fa:""}.fa-drumstick-bite{--fa:""}.fa-dungeon{--fa:""}.fa-file-csv{--fa:""}.fa-fist-raised,.fa-hand-fist{--fa:""}.fa-ghost{--fa:""}.fa-hammer{--fa:""}.fa-hanukiah{--fa:""}.fa-hat-wizard{--fa:""}.fa-hiking,.fa-person-hiking{--fa:""}.fa-hippo{--fa:""}.fa-horse{--fa:""}.fa-house-chimney-crack,.fa-house-damage{--fa:""}.fa-hryvnia,.fa-hryvnia-sign{--fa:""}.fa-mask{--fa:""}.fa-mountain{--fa:""}.fa-network-wired{--fa:""}.fa-otter{--fa:""}.fa-ring{--fa:""}.fa-person-running,.fa-running{--fa:""}.fa-scroll{--fa:""}.fa-skull-crossbones{--fa:""}.fa-slash{--fa:""}.fa-spider{--fa:""}.fa-toilet-paper,.fa-toilet-paper-alt,.fa-toilet-paper-blank{--fa:""}.fa-tractor{--fa:""}.fa-user-injured{--fa:""}.fa-vr-cardboard{--fa:""}.fa-wand-sparkles{--fa:""}.fa-wind{--fa:""}.fa-wine-bottle{--fa:""}.fa-cloud-meatball{--fa:""}.fa-cloud-moon-rain{--fa:""}.fa-cloud-rain{--fa:""}.fa-cloud-showers-heavy{--fa:""}.fa-cloud-sun-rain{--fa:""}.fa-democrat{--fa:""}.fa-flag-usa{--fa:""}.fa-hurricane{--fa:""}.fa-landmark-alt,.fa-landmark-dome{--fa:""}.fa-meteor{--fa:""}.fa-person-booth{--fa:""}.fa-poo-bolt,.fa-poo-storm{--fa:""}.fa-rainbow{--fa:""}.fa-republican{--fa:""}.fa-smog{--fa:""}.fa-temperature-high{--fa:""}.fa-temperature-low{--fa:""}.fa-cloud-bolt,.fa-thunderstorm{--fa:""}.fa-tornado{--fa:""}.fa-volcano{--fa:""}.fa-check-to-slot,.fa-vote-yea{--fa:""}.fa-water{--fa:""}.fa-baby{--fa:""}.fa-baby-carriage,.fa-carriage-baby{--fa:""}.fa-biohazard{--fa:""}.fa-blog{--fa:""}.fa-calendar-day{--fa:""}.fa-calendar-week{--fa:""}.fa-candy-cane{--fa:""}.fa-carrot{--fa:""}.fa-cash-register{--fa:""}.fa-compress-arrows-alt,.fa-minimize{--fa:""}.fa-dumpster{--fa:""}.fa-dumpster-fire{--fa:""}.fa-ethernet{--fa:""}.fa-gifts{--fa:""}.fa-champagne-glasses,.fa-glass-cheers{--fa:""}.fa-glass-whiskey,.fa-whiskey-glass{--fa:""}.fa-earth-europe,.fa-globe-europe{--fa:""}.fa-grip-lines{--fa:""}.fa-grip-lines-vertical{--fa:""}.fa-guitar{--fa:""}.fa-heart-broken,.fa-heart-crack{--fa:""}.fa-holly-berry{--fa:""}.fa-horse-head{--fa:""}.fa-icicles{--fa:""}.fa-igloo{--fa:""}.fa-mitten{--fa:""}.fa-mug-hot{--fa:""}.fa-radiation{--fa:""}.fa-circle-radiation,.fa-radiation-alt{--fa:""}.fa-restroom{--fa:""}.fa-satellite{--fa:""}.fa-satellite-dish{--fa:""}.fa-sd-card{--fa:""}.fa-sim-card{--fa:""}.fa-person-skating,.fa-skating{--fa:""}.fa-person-skiing,.fa-skiing{--fa:""}.fa-person-skiing-nordic,.fa-skiing-nordic{--fa:""}.fa-sleigh{--fa:""}.fa-comment-sms,.fa-sms{--fa:""}.fa-person-snowboarding,.fa-snowboarding{--fa:""}.fa-snowman{--fa:""}.fa-snowplow{--fa:""}.fa-tenge,.fa-tenge-sign{--fa:""}.fa-toilet{--fa:""}.fa-screwdriver-wrench,.fa-tools{--fa:""}.fa-cable-car,.fa-tram{--fa:""}.fa-fire-alt,.fa-fire-flame-curved{--fa:""}.fa-bacon{--fa:""}.fa-book-medical{--fa:""}.fa-bread-slice{--fa:""}.fa-cheese{--fa:""}.fa-clinic-medical,.fa-house-chimney-medical{--fa:""}.fa-clipboard-user{--fa:""}.fa-comment-medical{--fa:""}.fa-crutch{--fa:""}.fa-disease{--fa:""}.fa-egg{--fa:""}.fa-folder-tree{--fa:""}.fa-burger,.fa-hamburger{--fa:""}.fa-hand-middle-finger{--fa:""}.fa-hard-hat,.fa-hat-hard,.fa-helmet-safety{--fa:""}.fa-hospital-user{--fa:""}.fa-hotdog{--fa:""}.fa-ice-cream{--fa:""}.fa-laptop-medical{--fa:""}.fa-pager{--fa:""}.fa-pepper-hot{--fa:""}.fa-pizza-slice{--fa:""}.fa-sack-dollar{--fa:""}.fa-book-tanakh,.fa-tanakh{--fa:""}.fa-bars-progress,.fa-tasks-alt{--fa:""}.fa-trash-arrow-up,.fa-trash-restore{--fa:""}.fa-trash-can-arrow-up,.fa-trash-restore-alt{--fa:""}.fa-user-nurse{--fa:""}.fa-wave-square{--fa:""}.fa-biking,.fa-person-biking{--fa:""}.fa-border-all{--fa:""}.fa-border-none{--fa:""}.fa-border-style,.fa-border-top-left{--fa:""}.fa-digging,.fa-person-digging{--fa:""}.fa-fan{--fa:""}.fa-heart-music-camera-bolt,.fa-icons{--fa:""}.fa-phone-alt,.fa-phone-flip{--fa:""}.fa-phone-square-alt,.fa-square-phone-flip{--fa:""}.fa-photo-film,.fa-photo-video{--fa:""}.fa-remove-format,.fa-text-slash{--fa:""}.fa-arrow-down-z-a,.fa-sort-alpha-desc,.fa-sort-alpha-down-alt{--fa:""}.fa-arrow-up-z-a,.fa-sort-alpha-up-alt{--fa:""}.fa-arrow-down-short-wide,.fa-sort-amount-desc,.fa-sort-amount-down-alt{--fa:""}.fa-arrow-up-short-wide,.fa-sort-amount-up-alt{--fa:""}.fa-arrow-down-9-1,.fa-sort-numeric-desc,.fa-sort-numeric-down-alt{--fa:""}.fa-arrow-up-9-1,.fa-sort-numeric-up-alt{--fa:""}.fa-spell-check{--fa:""}.fa-voicemail{--fa:""}.fa-hat-cowboy{--fa:""}.fa-hat-cowboy-side{--fa:""}.fa-computer-mouse,.fa-mouse{--fa:""}.fa-radio{--fa:""}.fa-record-vinyl{--fa:""}.fa-walkie-talkie{--fa:""}.fa-caravan{--fa:""}:host,:root{--fa-family-brands:"Font Awesome 7 Brands";--fa-font-brands:normal 400 1em/1 var(--fa-family-brands)}@font-face{font-family:"Font Awesome 7 Brands";font-style:normal;font-weight:400;font-display:block;src:url(/assets/fa-brands-400-BP5tdqmh.woff2)}.fa-brands,.fa-classic.fa-brands,.fab{--fa-family:var(--fa-family-brands);--fa-style:400}.fa-firefox-browser{--fa:""}.fa-ideal{--fa:""}.fa-microblog{--fa:""}.fa-pied-piper-square,.fa-square-pied-piper{--fa:""}.fa-unity{--fa:""}.fa-dailymotion{--fa:""}.fa-instagram-square,.fa-square-instagram{--fa:""}.fa-mixer{--fa:""}.fa-shopify{--fa:""}.fa-deezer{--fa:""}.fa-edge-legacy{--fa:""}.fa-google-pay{--fa:""}.fa-rust{--fa:""}.fa-tiktok{--fa:""}.fa-unsplash{--fa:""}.fa-cloudflare{--fa:""}.fa-guilded{--fa:""}.fa-hive{--fa:""}.fa-42-group,.fa-innosoft{--fa:""}.fa-instalod{--fa:""}.fa-octopus-deploy{--fa:""}.fa-perbyte{--fa:""}.fa-uncharted{--fa:""}.fa-watchman-monitoring{--fa:""}.fa-wodu{--fa:""}.fa-wirsindhandwerk,.fa-wsh{--fa:""}.fa-bots{--fa:""}.fa-cmplid{--fa:""}.fa-bilibili{--fa:""}.fa-golang{--fa:""}.fa-pix{--fa:""}.fa-sitrox{--fa:""}.fa-hashnode{--fa:""}.fa-meta{--fa:""}.fa-padlet{--fa:""}.fa-nfc-directional{--fa:""}.fa-nfc-symbol{--fa:""}.fa-screenpal{--fa:""}.fa-space-awesome{--fa:""}.fa-square-font-awesome{--fa:""}.fa-gitlab-square,.fa-square-gitlab{--fa:""}.fa-odysee{--fa:""}.fa-stubber{--fa:""}.fa-debian{--fa:""}.fa-shoelace{--fa:""}.fa-threads{--fa:""}.fa-square-threads{--fa:""}.fa-square-x-twitter{--fa:""}.fa-x-twitter{--fa:""}.fa-opensuse{--fa:""}.fa-letterboxd{--fa:""}.fa-square-letterboxd{--fa:""}.fa-mintbit{--fa:""}.fa-google-scholar{--fa:""}.fa-brave{--fa:""}.fa-brave-reverse{--fa:""}.fa-pixiv{--fa:""}.fa-upwork{--fa:""}.fa-webflow{--fa:""}.fa-signal-messenger{--fa:""}.fa-bluesky{--fa:""}.fa-jxl{--fa:""}.fa-square-upwork{--fa:""}.fa-web-awesome{--fa:""}.fa-square-web-awesome{--fa:""}.fa-square-web-awesome-stroke{--fa:""}.fa-dart-lang{--fa:""}.fa-flutter{--fa:""}.fa-files-pinwheel{--fa:""}.fa-css{--fa:""}.fa-square-bluesky{--fa:""}.fa-openai{--fa:""}.fa-square-linkedin{--fa:""}.fa-cash-app{--fa:""}.fa-disqus{--fa:""}.fa-11ty,.fa-eleventy{--fa:""}.fa-kakao-talk{--fa:""}.fa-linktree{--fa:""}.fa-notion{--fa:""}.fa-pandora{--fa:""}.fa-pixelfed{--fa:""}.fa-tidal{--fa:""}.fa-vsco{--fa:""}.fa-w3c{--fa:""}.fa-lumon{--fa:""}.fa-lumon-drop{--fa:""}.fa-square-figma{--fa:""}.fa-tex{--fa:""}.fa-duolingo{--fa:""}.fa-supportnow{--fa:""}.fa-tor-browser{--fa:""}.fa-typescript{--fa:""}.fa-square-deskpro{--fa:""}.fa-circle-zulip{--fa:""}.fa-julia{--fa:""}.fa-zulip{--fa:""}.fa-unison{--fa:""}.fa-bgg,.fa-board-game-geek{--fa:""}.fa-ko-fi{--fa:""}.fa-kubernetes{--fa:""}.fa-postgresql{--fa:""}.fa-scaleway{--fa:""}.fa-venmo{--fa:""}.fa-venmo-v{--fa:""}.fa-unreal-engine{--fa:""}.fa-globaleaks{--fa:""}.fa-solana{--fa:""}.fa-threema{--fa:""}.fa-forgejo{--fa:""}.fa-claude{--fa:""}.fa-gitee{--fa:""}.fa-xmpp{--fa:""}.fa-fediverse{--fa:""}.fa-tailwind-css{--fa:""}.fa-arch-linux{--fa:""}.fa-svelte{--fa:""}.fa-hugging-face{--fa:""}.fa-leetcode{--fa:""}.fa-openstreetmap{--fa:""}.fa-ultralytics{--fa:""}.fa-ultralytics-hub{--fa:""}.fa-ultralytics-yolo{--fa:""}.fa-obsidian{--fa:""}.fa-zoom{--fa:""}.fa-vim{--fa:""}.fa-symfonycasts{--fa:""}.fa-square-twitter,.fa-twitter-square{--fa:""}.fa-facebook-square,.fa-square-facebook{--fa:""}.fa-linkedin{--fa:""}.fa-github-square,.fa-square-github{--fa:""}.fa-twitter{--fa:""}.fa-facebook{--fa:""}.fa-github{--fa:""}.fa-pinterest{--fa:""}.fa-pinterest-square,.fa-square-pinterest{--fa:""}.fa-google-plus-square,.fa-square-google-plus{--fa:""}.fa-google-plus-g{--fa:""}.fa-linkedin-in{--fa:""}.fa-github-alt{--fa:""}.fa-maxcdn{--fa:""}.fa-html5{--fa:""}.fa-css3{--fa:""}.fa-btc{--fa:""}.fa-youtube{--fa:""}.fa-xing{--fa:""}.fa-square-xing,.fa-xing-square{--fa:""}.fa-dropbox{--fa:""}.fa-stack-overflow{--fa:""}.fa-instagram{--fa:""}.fa-flickr{--fa:""}.fa-adn{--fa:""}.fa-bitbucket{--fa:""}.fa-tumblr{--fa:""}.fa-square-tumblr,.fa-tumblr-square{--fa:""}.fa-apple{--fa:""}.fa-windows{--fa:""}.fa-android{--fa:""}.fa-linux{--fa:""}.fa-dribbble{--fa:""}.fa-skype{--fa:""}.fa-foursquare{--fa:""}.fa-trello{--fa:""}.fa-gratipay{--fa:""}.fa-vk{--fa:""}.fa-weibo{--fa:""}.fa-renren{--fa:""}.fa-pagelines{--fa:""}.fa-stack-exchange{--fa:""}.fa-square-vimeo,.fa-vimeo-square{--fa:""}.fa-slack,.fa-slack-hash{--fa:""}.fa-wordpress{--fa:""}.fa-openid{--fa:""}.fa-yahoo{--fa:""}.fa-google{--fa:""}.fa-reddit{--fa:""}.fa-reddit-square,.fa-square-reddit{--fa:""}.fa-stumbleupon-circle{--fa:""}.fa-stumbleupon{--fa:""}.fa-delicious{--fa:""}.fa-digg{--fa:""}.fa-pied-piper-pp{--fa:""}.fa-pied-piper-alt{--fa:""}.fa-drupal{--fa:""}.fa-joomla{--fa:""}.fa-behance{--fa:""}.fa-behance-square,.fa-square-behance{--fa:""}.fa-steam{--fa:""}.fa-square-steam,.fa-steam-square{--fa:""}.fa-spotify{--fa:""}.fa-deviantart{--fa:""}.fa-soundcloud{--fa:""}.fa-vine{--fa:""}.fa-codepen{--fa:""}.fa-jsfiddle{--fa:""}.fa-rebel{--fa:""}.fa-empire{--fa:""}.fa-git-square,.fa-square-git{--fa:""}.fa-git{--fa:""}.fa-hacker-news{--fa:""}.fa-tencent-weibo{--fa:""}.fa-qq{--fa:""}.fa-weixin{--fa:""}.fa-slideshare{--fa:""}.fa-twitch{--fa:""}.fa-yelp{--fa:""}.fa-paypal{--fa:""}.fa-google-wallet{--fa:""}.fa-cc-visa{--fa:""}.fa-cc-mastercard{--fa:""}.fa-cc-discover{--fa:""}.fa-cc-amex{--fa:""}.fa-cc-paypal{--fa:""}.fa-cc-stripe{--fa:""}.fa-lastfm{--fa:""}.fa-lastfm-square,.fa-square-lastfm{--fa:""}.fa-ioxhost{--fa:""}.fa-angellist{--fa:""}.fa-buysellads{--fa:""}.fa-connectdevelop{--fa:""}.fa-dashcube{--fa:""}.fa-forumbee{--fa:""}.fa-leanpub{--fa:""}.fa-sellsy{--fa:""}.fa-shirtsinbulk{--fa:""}.fa-simplybuilt{--fa:""}.fa-skyatlas{--fa:""}.fa-pinterest-p{--fa:""}.fa-whatsapp{--fa:""}.fa-viacoin{--fa:""}.fa-medium,.fa-medium-m{--fa:""}.fa-y-combinator{--fa:""}.fa-optin-monster{--fa:""}.fa-opencart{--fa:""}.fa-expeditedssl{--fa:""}.fa-cc-jcb{--fa:""}.fa-cc-diners-club{--fa:""}.fa-creative-commons{--fa:""}.fa-gg{--fa:""}.fa-gg-circle{--fa:""}.fa-odnoklassniki{--fa:""}.fa-odnoklassniki-square,.fa-square-odnoklassniki{--fa:""}.fa-get-pocket{--fa:""}.fa-wikipedia-w{--fa:""}.fa-safari{--fa:""}.fa-chrome{--fa:""}.fa-firefox{--fa:""}.fa-opera{--fa:""}.fa-internet-explorer{--fa:""}.fa-contao{--fa:""}.fa-500px{--fa:""}.fa-amazon{--fa:""}.fa-houzz{--fa:""}.fa-vimeo-v{--fa:""}.fa-black-tie{--fa:""}.fa-fonticons{--fa:""}.fa-reddit-alien{--fa:""}.fa-edge{--fa:""}.fa-codiepie{--fa:""}.fa-modx{--fa:""}.fa-fort-awesome{--fa:""}.fa-usb{--fa:""}.fa-product-hunt{--fa:""}.fa-mixcloud{--fa:""}.fa-scribd{--fa:""}.fa-bluetooth{--fa:""}.fa-bluetooth-b{--fa:""}.fa-gitlab{--fa:""}.fa-wpbeginner{--fa:""}.fa-wpforms{--fa:""}.fa-envira{--fa:""}.fa-glide{--fa:""}.fa-glide-g{--fa:""}.fa-viadeo{--fa:""}.fa-square-viadeo,.fa-viadeo-square{--fa:""}.fa-snapchat,.fa-snapchat-ghost{--fa:""}.fa-snapchat-square,.fa-square-snapchat{--fa:""}.fa-pied-piper{--fa:""}.fa-first-order{--fa:""}.fa-yoast{--fa:""}.fa-themeisle{--fa:""}.fa-google-plus{--fa:""}.fa-font-awesome,.fa-font-awesome-flag,.fa-font-awesome-logo-full{--fa:""}.fa-linode{--fa:""}.fa-quora{--fa:""}.fa-free-code-camp{--fa:""}.fa-telegram,.fa-telegram-plane{--fa:""}.fa-bandcamp{--fa:""}.fa-grav{--fa:""}.fa-etsy{--fa:""}.fa-imdb{--fa:""}.fa-ravelry{--fa:""}.fa-sellcast{--fa:""}.fa-superpowers{--fa:""}.fa-wpexplorer{--fa:""}.fa-meetup{--fa:""}.fa-font-awesome-alt,.fa-square-font-awesome-stroke{--fa:""}.fa-accessible-icon{--fa:""}.fa-accusoft{--fa:""}.fa-adversal{--fa:""}.fa-affiliatetheme{--fa:""}.fa-algolia{--fa:""}.fa-amilia{--fa:""}.fa-angrycreative{--fa:""}.fa-app-store{--fa:""}.fa-app-store-ios{--fa:""}.fa-apper{--fa:""}.fa-asymmetrik{--fa:""}.fa-audible{--fa:""}.fa-avianex{--fa:""}.fa-aws{--fa:""}.fa-bimobject{--fa:""}.fa-bitcoin{--fa:""}.fa-bity{--fa:""}.fa-blackberry{--fa:""}.fa-blogger{--fa:""}.fa-blogger-b{--fa:""}.fa-buromobelexperte{--fa:""}.fa-centercode{--fa:""}.fa-cloudscale{--fa:""}.fa-cloudsmith{--fa:""}.fa-cloudversify{--fa:""}.fa-cpanel{--fa:""}.fa-css3-alt{--fa:""}.fa-cuttlefish{--fa:""}.fa-d-and-d{--fa:""}.fa-deploydog{--fa:""}.fa-deskpro{--fa:""}.fa-digital-ocean{--fa:""}.fa-discord{--fa:""}.fa-discourse{--fa:""}.fa-dochub{--fa:""}.fa-docker{--fa:""}.fa-draft2digital{--fa:""}.fa-dribbble-square,.fa-square-dribbble{--fa:""}.fa-dyalog{--fa:""}.fa-earlybirds{--fa:""}.fa-erlang{--fa:""}.fa-facebook-f{--fa:""}.fa-facebook-messenger{--fa:""}.fa-firstdraft{--fa:""}.fa-fonticons-fi{--fa:""}.fa-fort-awesome-alt{--fa:""}.fa-freebsd{--fa:""}.fa-gitkraken{--fa:""}.fa-gofore{--fa:""}.fa-goodreads{--fa:""}.fa-goodreads-g{--fa:""}.fa-google-drive{--fa:""}.fa-google-play{--fa:""}.fa-gripfire{--fa:""}.fa-grunt{--fa:""}.fa-gulp{--fa:""}.fa-hacker-news-square,.fa-square-hacker-news{--fa:""}.fa-hire-a-helper{--fa:""}.fa-hotjar{--fa:""}.fa-hubspot{--fa:""}.fa-itunes{--fa:""}.fa-itunes-note{--fa:""}.fa-jenkins{--fa:""}.fa-joget{--fa:""}.fa-js{--fa:""}.fa-js-square,.fa-square-js{--fa:""}.fa-keycdn{--fa:""}.fa-kickstarter,.fa-square-kickstarter{--fa:""}.fa-kickstarter-k{--fa:""}.fa-laravel{--fa:""}.fa-line{--fa:""}.fa-lyft{--fa:""}.fa-magento{--fa:""}.fa-medapps{--fa:""}.fa-medrt{--fa:""}.fa-microsoft{--fa:""}.fa-mix{--fa:""}.fa-mizuni{--fa:""}.fa-monero{--fa:""}.fa-napster{--fa:""}.fa-node-js{--fa:""}.fa-npm{--fa:""}.fa-ns8{--fa:""}.fa-nutritionix{--fa:""}.fa-page4{--fa:""}.fa-palfed{--fa:""}.fa-patreon{--fa:""}.fa-periscope{--fa:""}.fa-phabricator{--fa:""}.fa-phoenix-framework{--fa:""}.fa-playstation{--fa:""}.fa-pushed{--fa:""}.fa-python{--fa:""}.fa-red-river{--fa:""}.fa-rendact,.fa-wpressr{--fa:""}.fa-replyd{--fa:""}.fa-resolving{--fa:""}.fa-rocketchat{--fa:""}.fa-rockrms{--fa:""}.fa-schlix{--fa:""}.fa-searchengin{--fa:""}.fa-servicestack{--fa:""}.fa-sistrix{--fa:""}.fa-speakap{--fa:""}.fa-staylinked{--fa:""}.fa-steam-symbol{--fa:""}.fa-sticker-mule{--fa:""}.fa-studiovinari{--fa:""}.fa-supple{--fa:""}.fa-uber{--fa:""}.fa-uikit{--fa:""}.fa-uniregistry{--fa:""}.fa-untappd{--fa:""}.fa-ussunnah{--fa:""}.fa-vaadin{--fa:""}.fa-viber{--fa:""}.fa-vimeo{--fa:""}.fa-vnv{--fa:""}.fa-square-whatsapp,.fa-whatsapp-square{--fa:""}.fa-whmcs{--fa:""}.fa-wordpress-simple{--fa:""}.fa-xbox{--fa:""}.fa-yandex{--fa:""}.fa-yandex-international{--fa:""}.fa-apple-pay{--fa:""}.fa-cc-apple-pay{--fa:""}.fa-fly{--fa:""}.fa-node{--fa:""}.fa-osi{--fa:""}.fa-react{--fa:""}.fa-autoprefixer{--fa:""}.fa-less{--fa:""}.fa-sass{--fa:""}.fa-vuejs{--fa:""}.fa-angular{--fa:""}.fa-aviato{--fa:""}.fa-ember{--fa:""}.fa-gitter{--fa:""}.fa-hooli{--fa:""}.fa-strava{--fa:""}.fa-stripe{--fa:""}.fa-stripe-s{--fa:""}.fa-typo3{--fa:""}.fa-amazon-pay{--fa:""}.fa-cc-amazon-pay{--fa:""}.fa-ethereum{--fa:""}.fa-korvue{--fa:""}.fa-elementor{--fa:""}.fa-square-youtube,.fa-youtube-square{--fa:""}.fa-flipboard{--fa:""}.fa-hips{--fa:""}.fa-php{--fa:""}.fa-quinscape{--fa:""}.fa-readme{--fa:""}.fa-java{--fa:""}.fa-pied-piper-hat{--fa:""}.fa-creative-commons-by{--fa:""}.fa-creative-commons-nc{--fa:""}.fa-creative-commons-nc-eu{--fa:""}.fa-creative-commons-nc-jp{--fa:""}.fa-creative-commons-nd{--fa:""}.fa-creative-commons-pd{--fa:""}.fa-creative-commons-pd-alt{--fa:""}.fa-creative-commons-remix{--fa:""}.fa-creative-commons-sa{--fa:""}.fa-creative-commons-sampling{--fa:""}.fa-creative-commons-sampling-plus{--fa:""}.fa-creative-commons-share{--fa:""}.fa-creative-commons-zero{--fa:""}.fa-ebay{--fa:""}.fa-keybase{--fa:""}.fa-mastodon{--fa:""}.fa-r-project{--fa:""}.fa-researchgate{--fa:""}.fa-teamspeak{--fa:""}.fa-first-order-alt{--fa:""}.fa-fulcrum{--fa:""}.fa-galactic-republic{--fa:""}.fa-galactic-senate{--fa:""}.fa-jedi-order{--fa:""}.fa-mandalorian{--fa:""}.fa-old-republic{--fa:""}.fa-phoenix-squadron{--fa:""}.fa-sith{--fa:""}.fa-trade-federation{--fa:""}.fa-wolf-pack-battalion{--fa:""}.fa-hornbill{--fa:""}.fa-mailchimp{--fa:""}.fa-megaport{--fa:""}.fa-nimblr{--fa:""}.fa-rev{--fa:""}.fa-shopware{--fa:""}.fa-squarespace{--fa:""}.fa-themeco{--fa:""}.fa-weebly{--fa:""}.fa-wix{--fa:""}.fa-ello{--fa:""}.fa-hackerrank{--fa:""}.fa-kaggle{--fa:""}.fa-markdown{--fa:""}.fa-neos{--fa:""}.fa-zhihu{--fa:""}.fa-alipay{--fa:""}.fa-the-red-yeti{--fa:""}.fa-critical-role{--fa:""}.fa-d-and-d-beyond{--fa:""}.fa-dev{--fa:""}.fa-fantasy-flight-games{--fa:""}.fa-wizards-of-the-coast{--fa:""}.fa-think-peaks{--fa:""}.fa-reacteurope{--fa:""}.fa-artstation{--fa:""}.fa-atlassian{--fa:""}.fa-canadian-maple-leaf{--fa:""}.fa-centos{--fa:""}.fa-confluence{--fa:""}.fa-dhl{--fa:""}.fa-diaspora{--fa:""}.fa-fedex{--fa:""}.fa-fedora{--fa:""}.fa-figma{--fa:""}.fa-intercom{--fa:""}.fa-invision{--fa:""}.fa-jira{--fa:""}.fa-mendeley{--fa:""}.fa-raspberry-pi{--fa:""}.fa-redhat{--fa:""}.fa-sketch{--fa:""}.fa-sourcetree{--fa:""}.fa-suse{--fa:""}.fa-ubuntu{--fa:""}.fa-ups{--fa:""}.fa-usps{--fa:""}.fa-yarn{--fa:""}.fa-airbnb{--fa:""}.fa-battle-net{--fa:""}.fa-bootstrap{--fa:""}.fa-buffer{--fa:""}.fa-chromecast{--fa:""}.fa-evernote{--fa:""}.fa-itch-io{--fa:""}.fa-salesforce{--fa:""}.fa-speaker-deck{--fa:""}.fa-symfony{--fa:""}.fa-waze{--fa:""}.fa-yammer{--fa:""}.fa-git-alt{--fa:""}.fa-stackpath{--fa:""}.fa-cotton-bureau{--fa:""}.fa-buy-n-large{--fa:""}.fa-mdb{--fa:""}.fa-orcid{--fa:""}.fa-swift{--fa:""}.fa-umbraco{--fa:""}:host,:root{--fa-font-regular:normal 400 1em/1 var(--fa-family-classic)}@font-face{font-family:"Font Awesome 7 Free";font-style:normal;font-weight:400;font-display:block;src:url(/assets/fa-regular-400-nyy7hhHF.woff2)}.far{--fa-family:var(--fa-family-classic)}.fa-regular,.far{--fa-style:400}:host,:root{--fa-family-classic:"Font Awesome 7 Free";--fa-font-solid:normal 900 1em/1 var(--fa-family-classic);--fa-style-family-classic:var(--fa-family-classic)}@font-face{font-family:"Font Awesome 7 Free";font-style:normal;font-weight:900;font-display:block;src:url(/assets/fa-solid-900-DRAAbZTg.woff2)}.fas{--fa-style:900}.fa-classic,.fas{--fa-family:var(--fa-family-classic)}.fa-solid{--fa-style:900}@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(/assets/fa-brands-400-BP5tdqmh.woff2) format("woff2")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(/assets/fa-solid-900-DRAAbZTg.woff2) format("woff2")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(/assets/fa-regular-400-nyy7hhHF.woff2) format("woff2")}@font-face{font-family:FontAwesome;font-display:block;src:url(/assets/fa-solid-900-DRAAbZTg.woff2) format("woff2")}@font-face{font-family:FontAwesome;font-display:block;src:url(/assets/fa-brands-400-BP5tdqmh.woff2) format("woff2")}@font-face{font-family:FontAwesome;font-display:block;src:url(/assets/fa-regular-400-nyy7hhHF.woff2) format("woff2");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:FontAwesome;font-display:block;src:url(data:font/woff2;base64,d09GMk9UVE8AAA/AAAkAAAAAIi4AAA96A4IBAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYCJAQGBmADgRwFiH0AghwHIA22GYUWERHVtH4B/lDAjaHYgPoVT5hsjC2GsZOptOo4yG1beUwR0nj95m5PABbwbw2JNax38ckISWbne6e7NGkzk5t5OtHQ3cQ8E/PgGvBDzYt/8QhfU4ejmw2Ss9r09ODR8l+jtYRSiPjXDe99ioYEJUDICo/AKRIyLZY6g5gb/PN/87fWu+WdLMNMQ049kLkaPl7+P/y/v9+nWsmNny3MZBwpLqIEUgAky2qXQQErAgUkO66A7tm25ybn+/+f01wNrP4u+ymgSuyUUAViDYIh+sbxjfg7VhAd9qRMKrF3BXKBn855NnSt1CQjTJVaYd8BQ++4R20XeJIX0rz/77Q39M65gAwmQQlbFrQfpVQXybLleWPJapb8e0cJ2kLz93Ol/TnMFXfLEn8JhNvbIjqxeXc/2UyOckA5ppQ4m+s0TQFBETgCdMAOCDy5CnvyZI2s0R1fW2MoL1G22ZTgudtjtLzMDwQDEbaWAQIgP8dqAADFS+AKknqe8PfkvO+55v/v91aE9ccAKkA2RADE+AeSboL/4wqvKi8xDkDqIzmV79ZGM7PdnQuhj8FJqIll79DSibQ0sXKXNYRdbRM+GMI2h5rF8zfdMYePtw55PPcmlAgg+mPASPzPwbDv2T3wmL2ThoUXekNwkpY0BDfbwiXSMFqxE24q9TkmWPiKJWh1mORCjilyAEspDGAZW6uwGlensDojrVodGva61vh0aarhKE8bTPCvj1hCK2OYlJVmTImPHEtVTOpYJrK8sJqcmo3VuRet1WnsdOEDcaFhM0UROOQM9KUY5Gdm9T7gPCofd4U7+x9sjlHuZL2RXfHXxYIE8CDvQm6Fk3RDXoiGY+XZ/TOFY9Kk3RCH0nr09srjn4kEqTL9zhy1p4myH+zr56tZWU8/1lvhZTacuYP5Yetw7YwTiDabHECYm7DHjCNR+QyItYjOF8TBoDvl5YcXSOcmKyfPyC0bNnnFhztFF1iXFjO+NknRNJIdlcuQLapKjOCOgXyxwzxWzyqXfZNWqpU/Y/EqBwhFdgdzldTRYQcscirRDqZxtltBIFQcvARqqfPTm9ROQCWXmvAvz+f4mSs4WoOqjmV+MH6r8TTUUn358W2SWZ78vFRvCl7xm11KSkyjY9Zp5ekkhxApAugJxGikosIHs68GiuU/TIwqCywCNlePWfOWfegrUWfqfXZ9wX1xJZZVUaWVN6utxf0m/XN+A0frVZpvr+YYS5WYTP/dyOA2+1jFSuYzlzm0UkIxBYTgjxv2qGr1a33Xe73VE93VHd3WKa2XqzQ0z5i4ND6pAgLVADGAdvICQA+g9DADoyUxaiEZtSRHrSjL/tD/6rdLdWfrbvLaZWUZ628lFTILA4iDzuUuRCDT4zLb9EbNNYDla7prkJb1sf9ps4yByalXLAjno1iDBtIQnk3bt02oZFNS9mGZTLrcFFwuLYcChHY/sdf2tT871c4E9dWb7St8ZWAVxoYfosuJThqeTcueyV1byeNebq+zTldTt9Nbrz8d5hvEG+w16DOMMNxmFGjcVr7HJHKCff1U74jp+nDiWA34AMvXbSjGL/mcxCInGJy+yzwieJF/QXkmwevg9kD53IWNr56dXTHoimkCpx95BLQQ2PxpPpwUV7AFs1Ndo/hfIZh1bJf//v7+Tyj/CT8H3F7A6qmRdgvmMJN2ioW3vZwaYedQL8RNM/O+veVnYH7v9oP5KOyePoBHb+2zIOh0TVD6jONQU9chTV3NEW4mF4VRA0FDA6gRQpnrmRk36EyA73QmLZcDIp2KLDrPqLohc8EhNFtkZE0jyrrGFmN8zNssYeZEJb9VGKGUWXsLkusQmHw/NN1aDVSQDjHXiFlNjOAbroZ8UhfqEVL9nGJP6bpouAIM0lpUyxoihzlDYnQRqe1CUGflRMzbwnKeTGaAqYTQkMV26jweXMYppyDld84jjBqk4oMY8c033Bcj54/JRjgquMTgyBZWMiaNdOECEAMqLkQL5aTRd1h+kIp3SqkDjgI1g5Tk7yLHKacge+vnpnYQKEqpWoaIE2uS1Ml9cKriqrXTBqEEkG0uhcxhNlmmr0Xm3rAWayZV1JQ/KNNVsjN28Y5E7DJbzQZVMSWFKP0dJSXo/7kumXvgf2oJsBI9mQs0tQTGdQlzNUzTUAQoNoE9qz8S+rGufAQyulFq0lpzdbFwf9PZiSkrzYVCwWpdR7DS7IF3L+9f1yMGRZlkLMKQmdJ/1f46jGqaXR3YWhJYu87qJBc0m1RUMczWRag5ADqhkPqxhrDNPT/9UmSkSJfSMvJebDBZ9FdCLUYCv6csAum7yIgZJHSL6fwevL/oN0AP8WsklRyKAJ3g2fB4R6ALyHyUE8EEEuoJmqCGgdCsZtKkGvO8Of70iHhdREid5AMRwUww5Px2EgNkUUlugQRMCSY3ccUbajibX9FEMflNwXQiaqhimrwH4UjnrohSQhM+6lwHbsbDXzobbWNw86+H/znDNiTnVUcM9fYFXauhcs/kUBiETGrooeTa2vWvw27pTjrjFDLT/1sl93DjuteQlbHMGWVs8lqy8qOXl9+MRjp2nQASXcfCwyS5acIVKHjPUa8RjXeMBLjn/fu9yJgF/iaMoK74TfDZTpnSPUd1G4GX8PAX/x9xCS8tengWmzYgucYT8wU0t4ngls/hJGctpOJVoFq+Af2/cjDAPOHFk5P/XXpRtmELfEfS+bCOuQ4L3+ofEPfS5QCO5j0gXqW1urWOvHzQgTEMChC0U5jeEF+pkSyBhwhZI1vB7pTubtmwbzYhsME5PPU0eZ4JHIB5iXSSzwQS0iiHfb0oOtqxA8KUCmMeVEVKnAFvdIPFrkHWdsaZZ8CdZmvR14f0tPqjH2aUMLBmHIMRM7cma2PXWcI9+fDjlrmy0n2PVAr5vPaq06NZRkE2prXUDp0urwStChuHTdAtxMblrCnopM02RUxamAxiQ9KBKEocT1fET438EjShE8NXvGEtoh6YDHprnclg171EKLGCR+PPfF83UQfieAqsqKjjyhMl42Wt1+nrdtq3oT5Q51+AD00vabZETGwF0ZUtwWPqSqkHjF/zNXpgTbmxtQKODCq1o4VYSjmDCqKkdNqxYybf3g1fU1+zn0tjtFC2i5zauLBZqnIy1oRUhWzw1PpO1Y3ttKP6SfenNESUlHAtQyzQ7tqsnhW0mCS7PGnWQGnUeouHk0g+jHIpIjJyBzRtDZKLeLgHpc7RsAHsyZgdFnuoR8VOGyIDBzzuNNh1ioYW0PM7yStZxQrID0pp3LYTOyGW8hAZWL3VDjufx21DyNsDt27Es84ZPD9EQ8+T7UFkoPvBKNAQ92jLGfgvepGe6LSXIUis3EtBzjbcAB1DIyVOPpnD/pL++RY/WOzCaKGWnWJP7OUvObwn95DNskVG3cZsF3DvCrLBsPAC1PQQPEQUQ+mY4YzRMxNiaPTQcMLoohtqQUPcyLb3fvGOd7GVfHe5K5a8/Ed/ykZevPjjwtxSg2cExzbOeBbkwA48oLjxw9S6IoYgMJ8gsBq3mCqdf7AWzJLBuAOon+WzFGuEuTYcmZ63tygjDccd5M4nYCb7CocF7eT21Pn5rcEDbnaBK8Jauy0EN4DpZRzRRBRBr8d2RLEQie1CjLGULGLDYIXjA15A+2aeAHHigrGhIeliSoEZabBS6f92e9V+u+AjssKtDmvtmPF8XzW4mK3Yjy2PFsH4J+gIgcgEM2W5Kuj402ANx98gYiHuqnNLs20OtnU2zKsTx6NC+d7t7TNl4Fe3eOmmBcGje/bDrfQobMQu+hhCuEWFNZVgpUTQj694JRR0xXzTXiBWa94133YEOZ8g2v3oST/dRLVc0wGk3P/Dq1qtwgk5C4aE7AeJ85mB0WZkuVNaoCSNcAokS5qtjChLI0IPv5C2wYKYYYiZQFBMOz8jcE3cRmwlBMmCxvemqCNKqnNiB0ZXuYAY7mJSyAsccSuDpEenPwY148TvIb0r+J1+Nh5z7/EsX5DjAnOXk53zfdiCdHdy4okUClpOHQZYjyNeQDAbMAYj7DzVcPVh/oW95zAe/qHfXg71Icy35j3ZZl6EozfaAnSSPk58/YSdeJo5P0R0diuoJig8c8KlBsGEKNNUBk1AXZg+NKMpT544MVFItVHHGTCeyCISgu3UrSkxgWBAWgGzZRrBy6oWFkKR3078RIoYB2oKmz4yvJhOZQfHx7Ai8VVBVpooRyclzD4Xbkio0vMA5h+lyy6DlPw95hjdRkoecIx4/32yXClc2HHBGQpQeYS8xOZgzR6b9Nmmm7RingP6d+XxPMTK2+i+X8a86u3VTkGSd9Btms/tBmbqc7tJZD4QHUG/ziucMMeV0QALuDtPj2Bfo1weLkthULQns/b3xTszkWYdCpr7SiNHGgLhiQYzSf4FHNtCoOd6vJWj4WPjBEYkT+Rr9CuUdtAvS8N2xbUXOc6/AC9IHV3IF4mffcqtvrshSTer1EhEsK9bfC+YzDpfHCDXTSeDXIqy+76U68B9QXXsD9AghNe1+MyoYulcg42ntu1cijpoVx1igYRhdXYGtWFas3EO3NewAytz/ZQ6dDs4uoaUnisYqoGspTbUQP2wGfXmebN8jgnqUA4WftVwjw0EIVVq1Vq1Vt/V6xzCtlsj00hU9RI9Xpnc6wV2rmUc9ct7vge2d7Pa8T4dZvJz7ROTlfokrXjjF2VvYgwQ5Z4o6y9bgeMVHJhbbgGNXj5gWN9FeJHy+2lvfhnrQ+R74/HhjGd7qeKkMSoIbgmLXjmJxBITn06HgmG5GD5pOFwsykRAO0K1XsR7ieaQxuiGi0RxTi8o9oNIsKjtGtHUcjb6JZ4ejDU9fh31Si+e/6iafqQRveddM+n0RRWJKwxcCLHJ8gXuIdK8typ0irQ1nLQMdUM2WwbuehNVZTPS1+1k7M0nH0cI61v3uczwg1fzOmnipATlkET+cFAkW3NIF4NvCophKNliuYvw9Fv+b4MU7N54i5ossf6MSeZV3cjCVlBbKJOBvWA7H25HjdPBbKkKDfhJiWeKM5/wrS5zFnFKTo4AcYXYH/OPAHoSBQVVDX3Tw7c/wREG1W8yF45ZRQbm+i95nnWVo4CiM8dBEcP/nhUAusB6Ay5eHL3U8LzEFApKd4wclOln8LzAZAMuPoKocMXxvA0MWmYK4AerUihX68tt1RUQhNduTIqo/0KYKE3GBQOcsgRK44Kbji8fn3D78asKctf4Dn52GZMFqb1cVUs9l6/MqUM5ohSxJcOGHxomvGnomRokmAUpuK1ekAED) format("woff2");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
