/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}:root{--color-player-1:#00d4ff;--color-player-2:#ff3b5c;--color-player-3:#00ffa3;--color-game-action:#ff6b35;--color-game-danger:#ff3b5c;--color-game-success:#00ffa3;--color-game-warning:#ffb800;--color-bg-primary:#0a0e1a;--color-bg-secondary:#12182b;--color-bg-card:#1a2235;--color-bg-hover:#232d45;--color-bg-elevated:#141b2e;--color-bg-light:#e8eaf0;--color-bg-overlay:#0a0e1abf;--color-bg-modal:#0a0e1af2;--color-text-primary:#fff;--color-text-secondary:#b4b8c8;--color-text-muted:#7a7f93;--color-text-inverse:#0a0e1a;--color-text-light:#0a0e1a;--color-border:#2a3447;--color-border-bright:#3d4a63;--color-border-focus:#ff6b35;--color-border-glow:#ff6b354d;--gradient-primary:linear-gradient(135deg,#ff6b35 0%,#ff8f5c 100%);--gradient-success:linear-gradient(135deg,#00ffa3 0%,#00e892 100%);--gradient-danger:linear-gradient(135deg,#ff3b5c 0%,#ff5f7a 100%);--gradient-warning:linear-gradient(135deg,#ffb800 0%,#ffca3a 100%);--gradient-player-1:linear-gradient(135deg,#00d4ff 0%,#00a8e8 100%);--gradient-player-2:linear-gradient(135deg,#ff3b5c 0%,#ff5f7a 100%);--gradient-player-3:linear-gradient(135deg,#00ffa3 0%,#00e892 100%);--gradient-dark-overlay:linear-gradient(180deg,#0a0e1a33 0%,#0a0e1acc 100%);--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-glow-primary:0 0 30px #ff6b3566;--shadow-glow-success:0 0 30px #00ffa366;--shadow-glow-danger:0 0 30px #ff3b5c66;--shadow-glow-warning:0 0 30px #ffb80099;--shadow-glow-player-1:0 0 30px #00d4ff80;--shadow-glow-player-2:0 0 30px #ff3b5c80;--shadow-glow-player-3:0 0 30px #00ffa380;--overlay-light:#e8eaf0f2;--overlay-dark:#0a0e1ad9;--overlay-modal:#0a0e1aeb;--bg-player-1-light:#00d4ff1f;--bg-player-2-light:#ff3b5c1f;--bg-player-3-light:#00ffa31f;--bg-action-light:#ff6b351f;--bg-action-hover:#ff6b3533;--bg-success-light:#00ffa31f;--bg-danger-light:#ff3b5c1f;--bg-warning-light:#ffb8001f;--touch-target-min:48px;--spacing-xs:2px;--spacing-sm:4px;--spacing-md:8px;--spacing-lg:12px;--spacing-xl:16px;--spacing-screen:8px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(ellipse at top,var(--color-bg-elevated)0%,var(--color-bg-primary)50%,var(--color-bg-primary)100%);color:var(--color-text-primary);touch-action:manipulation;overscroll-behavior-y:none;background-attachment:fixed;margin:0;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;font-size:16px;line-height:1.5;position:relative;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(circle at 20% 30%,#ff6b350d,#0000 50%),radial-gradient(circle at 80% 70%,#00d4ff0d,#0000 50%);width:100%;height:100%;position:fixed;top:0;left:0}#root{width:100%;min-height:100vh;position:relative}@keyframes float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-20px)rotate(180deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.8}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.screen-container{z-index:1;flex-direction:column;width:100%;max-width:768px;min-height:100vh;margin:0 auto;padding:0;display:flex;position:relative}.app{z-index:1;position:relative}.card{background:var(--color-bg-card);border:1px solid var(--color-border);box-shadow:var(--shadow-md);border-radius:20px;padding:20px;transition:all .3s}.card-hover:hover{border-color:var(--color-border-bright);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-elevated{background:var(--color-bg-card);padding:var(--spacing-screen);box-shadow:none;border:none;border-radius:0;width:100%;max-width:100%;height:auto;min-height:100vh;animation:.3s ease-out slideUp}.card-glass{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--color-border);box-shadow:var(--shadow-md);background:#faf7f4d9}.btn-primary{background:var(--gradient-primary);color:var(--color-text-inverse);border-radius:var(--radius-xl);cursor:pointer;justify-content:center;align-items:center;gap:var(--spacing-md);letter-spacing:.08em;text-transform:uppercase;width:100%;min-height:60px;box-shadow:var(--shadow-md),var(--shadow-glow-primary),inset 0 1px #ffffff4d;text-shadow:0 2px 4px #0000004d;border:3px solid #0000;padding:16px 28px;font-size:16px;font-weight:900;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;overflow:hidden}.btn-primary:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.btn-primary:hover:not(:disabled):before{left:100%}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-lg),var(--shadow-glow-primary),inset 0 1px #fff6;border-color:#ffffff4d;transform:translateY(-4px)scale(1.02)}.btn-primary:active:not(:disabled){box-shadow:var(--shadow-sm),var(--shadow-glow-primary),inset 0 1px #fff3;transform:translateY(0)scale(.98)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.btn-secondary{background:linear-gradient(135deg,var(--color-bg-card)0%,var(--color-bg-secondary)100%);color:var(--color-text-primary);border:3px solid var(--color-border-bright);border-radius:var(--radius-xl);cursor:pointer;justify-content:center;align-items:center;gap:var(--spacing-md);letter-spacing:.08em;text-transform:uppercase;min-height:60px;box-shadow:var(--shadow-md);text-shadow:0 1px 2px #0003;padding:16px 28px;font-size:16px;font-weight:900;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:flex}.btn-secondary:hover:not(:disabled){background:linear-gradient(135deg,var(--color-bg-elevated)0%,var(--color-bg-card)100%);border-color:var(--color-border-focus);box-shadow:var(--shadow-lg),0 0 20px #ff6b3533;transform:translateY(-4px)scale(1.02)}.btn-secondary:active:not(:disabled){box-shadow:var(--shadow-sm);transform:translateY(0)scale(.98)}.btn-danger{background:var(--gradient-danger);color:var(--color-text-inverse);border-radius:var(--radius-xl);cursor:pointer;justify-content:center;align-items:center;gap:var(--spacing-md);letter-spacing:.08em;text-transform:uppercase;min-height:64px;box-shadow:var(--shadow-md),var(--shadow-glow-danger),inset 0 1px #ffffff4d;text-shadow:0 2px 4px #0000004d;border:3px solid #0000;padding:16px 28px;font-size:16px;font-weight:900;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:flex}.btn-danger:hover:not(:disabled){box-shadow:var(--shadow-lg),var(--shadow-glow-danger),inset 0 1px #fff6;border-color:#ffffff4d;transform:translateY(-4px)scale(1.02)}.btn-danger:active:not(:disabled){box-shadow:var(--shadow-sm),var(--shadow-glow-danger),inset 0 1px #fff3;transform:translateY(0)scale(.98)}.input-field{background:var(--color-bg-card);border:2px solid var(--color-border);width:100%;color:var(--color-text-primary);min-height:56px;box-shadow:var(--shadow-sm);border-radius:14px;padding:16px 20px;font-size:17px;transition:all .3s cubic-bezier(.4,0,.2,1)}.input-field:focus{border-color:var(--color-border-focus);background:var(--color-bg-card);box-shadow:var(--shadow-md),0 0 0 3px var(--bg-action-light);outline:none;transform:translateY(-1px)}.input-field::-moz-placeholder{color:var(--color-text-muted)}.input-field::placeholder{color:var(--color-text-muted)}.modal-overlay{z-index:200;background:var(--overlay-modal);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:center;align-items:center;padding:20px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-card{background:var(--color-bg-card);width:100%;max-width:480px;box-shadow:var(--shadow-lg);border:1px solid var(--color-border);border-radius:20px;padding:24px;animation:.3s ease-out slideUp}.modal-title{color:var(--color-text-primary);letter-spacing:-.02em;margin-bottom:16px;font-size:24px;font-weight:900}.modal-description{color:var(--color-text-secondary);margin-bottom:12px;font-size:16px;line-height:1.6}.modal-warning{color:var(--color-game-danger);background:#f871711a;border:1px solid #f871714d;border-radius:12px;margin-bottom:28px;padding:12px 16px;font-size:16px;font-weight:700}.modal-actions{gap:16px;display:flex}.modal-actions button{flex:1}.calculating-results-modal{text-align:center;padding:32px 24px}.calculating-results-icon{margin-bottom:16px;font-size:64px;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.loading-container{justify-content:center;align-items:center;min-height:100vh;display:flex}.loading-content{text-align:center}.loading-spinner{border:4px solid var(--color-game-action);border-top-color:#0000;border-radius:50%;width:48px;height:48px;margin-bottom:12px;animation:1s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--color-text-secondary);font-size:15px;font-weight:500}.player-color-1{color:var(--color-player-1)}.player-color-2{color:var(--color-player-2)}.player-color-3{color:var(--color-player-3)}.bg-player-1{background-color:var(--color-player-1)}.bg-player-2{background-color:var(--color-player-2)}.bg-player-3{background-color:var(--color-player-3)}.border-player-1{border-color:var(--color-player-1)}.border-player-2{border-color:var(--color-player-2)}.border-player-3{border-color:var(--color-player-3)}.text-game-action{color:var(--color-game-action)}.bg-game-action{background-color:var(--color-game-action)}.text-game-danger{color:var(--color-game-danger)}.bg-game-danger{background-color:var(--color-game-danger)}.text-game-success{color:var(--color-game-success)}.bg-game-success{background-color:var(--color-game-success)}.global-header{background:var(--color-bg-card);border-bottom:2px solid var(--color-border);z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);height:56px;box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;padding:0 12px;display:flex;position:sticky;top:0}.global-header-left{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.global-header-back-button{width:36px;height:36px;color:var(--color-text-primary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.global-header-back-button:hover{background-color:var(--color-bg-hover);transform:scale(1.05)}.global-header-back-button:active{transform:scale(.95)}.global-header-back-icon{font-size:18px;line-height:1}.global-header-content{flex:1;min-width:0;overflow:hidden}.global-header-right{flex-shrink:0;align-items:center;gap:6px;margin-left:8px;display:flex}.global-header-action-button{width:36px;height:36px;color:var(--color-text-primary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.global-header-action-button:hover{background-color:var(--color-bg-hover);transform:scale(1.05)}.global-header-action-button:active{transform:scale(.95)}.global-header-action-icon{font-size:18px;line-height:1}.notification-bell{width:36px;height:36px;color:var(--color-text-primary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex;position:relative}.notification-bell:hover{background-color:var(--color-bg-hover);transform:scale(1.05)}.notification-bell:active{transform:scale(.95)}.notification-bell-icon{font-size:18px;line-height:1}.notification-badge{background:var(--color-game-danger);min-width:16px;height:16px;color:var(--color-text-inverse);border:2px solid var(--color-bg-card);box-shadow:var(--shadow-md);border-radius:8px;justify-content:center;align-items:center;padding:0 5px;font-size:9px;font-weight:700;display:flex;position:absolute;top:5px;right:5px}@media (min-width:481px){.global-header{height:64px;padding:0 16px}.global-header-left{gap:12px}.global-header-right{gap:8px;margin-left:12px}.global-header-back-button,.global-header-action-button,.notification-bell{width:40px;height:40px}.global-header-back-icon,.global-header-action-icon,.notification-bell-icon{font-size:20px}.notification-badge{min-width:18px;height:18px;font-size:10px;top:6px;right:6px}}@media (min-width:769px){.global-header{height:72px;padding:0 20px}.global-header-left{gap:16px}.global-header-right{gap:12px;margin-left:16px}.global-header-back-button,.global-header-action-button,.notification-bell{width:44px;height:44px}.global-header-back-icon,.global-header-action-icon,.notification-bell-icon{font-size:22px}.notification-badge{border-radius:10px;min-width:20px;height:20px;font-size:11px;top:8px;right:8px}}.notification-sidebar-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:150;background:#00000080;animation:.2s ease-out fadeIn;position:fixed;inset:0}.notification-sidebar{background:var(--color-bg-card);z-index:151;width:100%;box-shadow:var(--shadow-lg);flex-direction:column;animation:.3s ease-out slideInRight;display:flex;position:fixed;top:0;bottom:0;right:0}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideOutRight{0%{transform:translate(0)}to{transform:translate(100%)}}.notification-sidebar-closing{animation:.3s ease-out forwards slideOutRight}.notification-sidebar-backdrop-closing{animation:.3s ease-out forwards fadeOut}.notification-sidebar-header{border-bottom:2px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px;display:flex}.notification-sidebar-title{color:var(--color-text-primary);letter-spacing:-.02em;margin:0;font-size:20px;font-weight:900}.notification-sidebar-close{width:36px;height:36px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:24px;transition:all .2s;display:flex}.notification-sidebar-close:hover{background:var(--color-bg-hover);color:var(--color-text-primary);transform:scale(1.1)}.notification-sidebar-close:active{transform:scale(.95)}.notification-sidebar-actions{border-bottom:1px solid var(--color-border);flex-shrink:0;gap:8px;padding:12px 16px;display:flex}.notification-action-btn{color:var(--color-game-action);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:8px;flex:1;padding:8px 12px;font-size:13px;font-weight:600;transition:all .2s}.notification-action-btn:hover{background:var(--color-bg-hover);border-color:var(--color-game-action)}.notification-action-btn:active{transform:scale(.98)}.notification-list{flex:1;padding:12px;overflow-y:auto}.notification-item{background:var(--color-bg-secondary);border:2px solid var(--color-border);cursor:pointer;border-radius:12px;gap:12px;margin-bottom:8px;padding:12px;transition:all .2s;display:flex}.notification-item:hover{border-color:var(--color-border-bright);transform:translate(-2px)}.notification-item:active{transform:scale(.98)}.notification-item-unread{border-color:var(--color-game-action);background:#8b5cf60d}.notification-item-read{opacity:.7}.notification-item-icon{flex-shrink:0;font-size:24px;line-height:1}.notification-item-content{flex:1;min-width:0}.notification-item-header{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:4px;display:flex}.notification-item-title{color:var(--color-text-primary);margin:0;font-size:14px;font-weight:700;line-height:1.3}.notification-item-time{color:var(--color-text-muted);white-space:nowrap;flex-shrink:0;font-size:11px}.notification-item-message{color:var(--color-text-secondary);margin:0;font-size:13px;line-height:1.5}.notification-item-dismiss{width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;transition:all .2s;display:flex}.notification-item-dismiss:hover{background:var(--color-bg-hover);color:var(--color-text-primary);transform:scale(1.1)}.notification-item-dismiss:active{transform:scale(.9)}.notification-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:300px;padding:48px 24px;display:flex}.notification-empty-icon{opacity:.5;margin-bottom:16px;font-size:64px}.notification-empty-title{color:var(--color-text-primary);margin:0 0 8px;font-size:18px;font-weight:700}.notification-empty-message{color:var(--color-text-muted);margin:0;font-size:14px}@media (min-width:481px){.notification-sidebar{width:400px}.notification-sidebar-header{padding:20px}.notification-sidebar-title{font-size:22px}.notification-sidebar-actions{padding:16px 20px}.notification-list{padding:16px}.notification-item{margin-bottom:12px;padding:16px}.notification-item-icon{font-size:28px}.notification-item-title{font-size:15px}.notification-item-message{font-size:14px}}@media (min-width:769px){.notification-sidebar{width:420px}.notification-sidebar-header{padding:24px}.notification-sidebar-title{font-size:24px}.notification-sidebar-actions{gap:12px;padding:16px 24px}.notification-action-btn{padding:10px 16px;font-size:14px}.notification-list{padding:20px}.notification-item{gap:16px;margin-bottom:16px;padding:20px}.notification-item-icon{font-size:32px}.notification-item-title{font-size:16px}.notification-item-message{font-size:15px}}.game-custom-header{background:linear-gradient(135deg,var(--color-bg-card)0%,var(--color-bg-secondary)100%);border-bottom:3px solid var(--color-border-bright);box-shadow:var(--shadow-md);justify-content:space-between;align-items:center;padding:16px;display:flex}.game-header-battle-info{align-items:center;gap:12px;display:flex}.game-header-battle-icon{font-size:32px;line-height:1;animation:2s ease-in-out infinite pulse}.game-header-battle-text{flex-direction:column;gap:2px;display:flex}.game-header-battle-title{color:var(--color-text-primary);letter-spacing:-.02em;font-size:20px;font-weight:900;line-height:1}.game-header-battle-subtitle{color:var(--color-text-muted);font-size:13px;font-weight:600;line-height:1}.game-header-id-btn{background:var(--color-bg-elevated);border:2px solid var(--color-border);cursor:pointer;border-radius:10px;flex-shrink:0;align-items:center;gap:6px;padding:8px 12px;transition:all .2s;display:flex}.game-header-id-btn:hover{border-color:var(--color-border-bright);background:var(--color-bg-hover);transform:scale(1.05)}.game-header-id-btn:active{transform:scale(.95)}.game-header-id-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:700}.game-header-id-value{color:var(--color-text-primary);font-family:monospace;font-size:13px;font-weight:700}.game-header-id-check{color:var(--color-game-success);font-size:14px}.results-custom-header{background:linear-gradient(135deg,var(--color-bg-card)0%,var(--color-bg-secondary)100%);border-bottom:3px solid var(--color-border-bright);box-shadow:var(--shadow-md);justify-content:space-between;align-items:center;padding:20px 16px;display:flex}.results-header-main{flex:1;align-items:center;gap:14px;min-width:0;display:flex}.results-header-icon{flex-shrink:0;font-size:40px;line-height:1}.results-header-icon-winner{filter:drop-shadow(0 0 10px #ffd70099);animation:2s ease-in-out infinite pulse}.results-header-icon-abandoned{opacity:.8}.results-header-icon-complete{opacity:.9}.results-header-text{flex-direction:column;gap:4px;min-width:0;display:flex}.results-header-title{color:var(--color-text-primary);letter-spacing:-.02em;font-size:22px;font-weight:900;line-height:1}.results-header-subtitle{color:var(--color-game-success);font-size:14px;font-weight:700;line-height:1}.results-header-id-btn{background:var(--color-bg-elevated);border:2px solid var(--color-border);cursor:pointer;border-radius:10px;flex-shrink:0;align-items:center;gap:6px;padding:8px 12px;transition:all .2s;display:flex}.results-header-id-btn:hover{border-color:var(--color-border-bright);background:var(--color-bg-hover);transform:scale(1.05)}.results-header-id-btn:active{transform:scale(.95)}.results-header-id-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:700}.results-header-id-value{color:var(--color-text-primary);font-family:monospace;font-size:13px;font-weight:700}.results-header-id-check{color:var(--color-game-success);font-size:14px}@media (min-width:481px){.game-custom-header{padding:20px}.game-header-battle-icon{font-size:36px}.game-header-battle-title{font-size:24px}.game-header-battle-subtitle{font-size:14px}.game-header-id-btn{gap:8px;padding:10px 16px}.game-header-id-label{font-size:11px}.game-header-id-value{font-size:14px}.results-custom-header{padding:24px 20px}.results-header-icon{font-size:48px}.results-header-title{font-size:26px}.results-header-subtitle{font-size:16px}.results-header-id-btn{gap:8px;padding:10px 16px}.results-header-id-label{font-size:11px}.results-header-id-value{font-size:14px}}@media (min-width:769px){.game-custom-header{padding:24px}.game-header-battle-info{gap:16px}.game-header-battle-icon{font-size:42px}.game-header-battle-title{font-size:28px}.game-header-battle-subtitle{font-size:15px}.game-header-id-btn{gap:10px;padding:12px 18px}.game-header-id-label{font-size:12px}.game-header-id-value{font-size:15px}.results-custom-header{padding:28px 24px}.results-header-main{gap:18px}.results-header-icon{font-size:56px}.results-header-title{font-size:30px}.results-header-subtitle{font-size:18px}.results-header-id-btn{gap:10px;padding:12px 18px}.results-header-id-label{font-size:12px}.results-header-id-value{font-size:15px}}.lobby-header{align-items:center;gap:12px;display:flex}.leaderboard-icon{flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:28px;line-height:1;display:flex}.lobby-header-content{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.lobby-title{color:var(--color-text-primary);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:700;line-height:1.2;overflow:hidden}.lobby-subtitle{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;line-height:1.3;overflow:hidden}@media (min-width:481px){.lobby-header{gap:14px}.leaderboard-icon{width:36px;height:36px;font-size:32px}.lobby-title{font-size:20px}.lobby-subtitle{font-size:14px}}@media (min-width:769px){.lobby-header{gap:16px}.leaderboard-icon{width:40px;height:40px;font-size:36px}.lobby-title{font-size:22px}.lobby-subtitle{font-size:15px}}.results-hero-header{border-bottom:4px solid var(--color-border-bright);justify-content:center;align-items:center;min-height:280px;display:flex;position:relative;overflow:hidden}.results-hero-bg{z-index:0;position:absolute;inset:0}.results-hero-victory .results-hero-bg{background:linear-gradient(135deg,#10b98126,#fbbf241f,#8b5cf614);animation:3s ease-in-out infinite victoryGlow}.results-hero-abandoned .results-hero-bg{background:linear-gradient(135deg,#ef44441f,#fb923c14)}.results-hero-complete .results-hero-bg{background:linear-gradient(135deg,#3b82f61f,#8b5cf614)}@keyframes victoryGlow{0%,to{opacity:1}50%{opacity:.8}}.results-hero-content{z-index:2;text-align:center;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;display:flex;position:relative}.results-hero-crown{filter:drop-shadow(0 4px 12px #fbbf2499);font-size:48px;animation:3s ease-in-out infinite floatCrown}@keyframes floatCrown{0%,to{transform:translateY(0)rotate(-5deg)}50%{transform:translateY(-15px)rotate(5deg)}}.results-hero-icon-large{font-size:80px;line-height:1;animation:.6s cubic-bezier(.34,1.56,.64,1) scaleIn}.results-hero-victory .results-hero-icon-large{filter:drop-shadow(0 8px 24px #fbbf2480);animation:.6s cubic-bezier(.34,1.56,.64,1) scaleIn,2s ease-in-out infinite pulse}.results-hero-abandoned .results-hero-icon-large{filter:drop-shadow(0 4px 12px #ef444466)}@keyframes scaleIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.results-hero-title{letter-spacing:-.02em;background:linear-gradient(135deg,var(--color-text-primary),var(--color-game-action));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:36px;font-weight:900;line-height:1.1;animation:.5s ease-out .2s both slideUp}.results-hero-victory .results-hero-title{-webkit-text-fill-color:transparent;text-shadow:0 0 30px #fbbf2480;background:linear-gradient(135deg,#fcd34d,#f59e0b,#ef4444);-webkit-background-clip:text;background-clip:text}.results-hero-abandoned .results-hero-title{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#ef4444,#dc2626);-webkit-background-clip:text;background-clip:text}.results-hero-subtitle{color:var(--color-text-secondary);letter-spacing:.05em;text-transform:uppercase;font-size:16px;font-weight:600;animation:.5s ease-out .3s both slideUp}.results-hero-stats{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0003;border:1px solid #ffffff1a;border-radius:16px;align-items:center;gap:20px;margin-top:12px;padding:20px 24px;animation:.5s ease-out .4s both slideUp;display:flex}.results-hero-stat{flex-direction:column;align-items:center;gap:4px;display:flex}.results-hero-stat-value{color:var(--color-text-primary);letter-spacing:-.02em;font-size:32px;font-weight:900;line-height:1}.results-hero-victory .results-hero-stat-value{color:#fcd34d;text-shadow:0 0 20px #fbbf2499}.results-hero-stat-label{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.results-hero-stat-divider{background:linear-gradient(180deg,transparent 0%,var(--color-border-bright)50%,transparent 100%);width:2px;height:40px}.results-hero-penalty{background:#ef444426;border:2px solid #ef44444d;border-radius:12px;align-items:center;gap:8px;margin-top:8px;padding:12px 20px;animation:.5s ease-out .4s both slideUp;display:flex}.results-penalty-icon{font-size:24px;animation:.5s ease-in-out infinite shake}@keyframes shake{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(-5px)rotate(-5deg)}75%{transform:translate(5px)rotate(5deg)}}.results-penalty-text{color:#ef4444;letter-spacing:.02em;font-size:14px;font-weight:700}.results-hero-rank-display{margin-bottom:8px}.results-hero-rank-circle{border:4px solid var(--color-game-action);background:linear-gradient(135deg,#8b5cf633,#3b82f633);border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;animation:.6s cubic-bezier(.34,1.56,.64,1) scaleIn;display:flex;box-shadow:0 8px 24px #8b5cf64d}.results-hero-rank-number{color:var(--color-game-action);letter-spacing:-.02em;font-size:48px;font-weight:900;line-height:1}.results-hero-fireworks{z-index:1;pointer-events:none;position:absolute;inset:0}.results-firework{background:#fcd34d;border-radius:50%;width:8px;height:8px;animation:2s ease-out infinite firework;position:absolute;box-shadow:0 0 20px #fbbf24cc}.results-firework:first-child{animation-delay:0s;top:20%;left:20%}.results-firework:nth-child(2){animation-delay:.7s;top:30%;right:25%}.results-firework:nth-child(3){animation-delay:1.4s;bottom:30%;left:30%}@keyframes firework{0%{opacity:1;transform:scale(0)}50%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(3)}}.results-hero-id-btn{z-index:3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--color-text-primary);cursor:pointer;background:#00000080;border:1px solid #fff3;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:600;transition:all .2s;display:flex;position:absolute;bottom:16px;right:16px}.results-hero-id-btn:hover{background:#000000b3;border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.results-hero-id-btn:active{transform:translateY(0)}.results-hero-id-icon{font-size:14px;line-height:1}.results-hero-id-value{letter-spacing:.05em;opacity:.9;font-family:Courier New,monospace;font-size:11px}.results-hero-id-check{color:var(--color-game-success);font-size:14px;animation:.2s fadeIn}@media (min-width:481px){.results-hero-header{min-height:320px}.results-hero-content{gap:16px;padding:50px 24px}.results-hero-crown{font-size:56px}.results-hero-icon-large{font-size:96px}.results-hero-title{font-size:42px}.results-hero-subtitle{font-size:18px}.results-hero-stats{gap:24px;padding:24px 32px}.results-hero-stat-value{font-size:36px}.results-hero-rank-circle{width:120px;height:120px}.results-hero-rank-number{font-size:56px}.results-hero-id-btn{padding:10px 16px;font-size:13px;bottom:20px;right:20px}.results-hero-id-icon{font-size:16px}.results-hero-id-value{font-size:12px}}@media (min-width:769px){.results-hero-header{min-height:360px}.results-hero-content{gap:20px;padding:60px 32px}.results-hero-crown{font-size:64px}.results-hero-icon-large{font-size:112px}.results-hero-title{font-size:48px}.results-hero-subtitle{font-size:20px}.results-hero-stats{gap:32px;padding:28px 40px}.results-hero-stat-value{font-size:40px}.results-hero-rank-circle{border-width:5px;width:140px;height:140px}.results-hero-rank-number{font-size:64px}.results-hero-id-btn{padding:12px 18px;font-size:14px;bottom:24px;right:24px}.results-hero-id-icon{font-size:18px}.results-hero-id-value{font-size:13px}}.found-game-header{text-align:center;margin-bottom:20px;padding-bottom:12px}.found-game-title{color:var(--color-text-primary);letter-spacing:-.01em;margin-bottom:4px;font-size:20px;font-weight:700}.found-game-subtitle{color:var(--color-text-muted);font-size:13px;font-weight:500}.first-movers-section{background:#8b5cf60f;border:1px solid #8b5cf626;border-radius:16px;margin-bottom:24px;padding:20px}.section-label{color:var(--color-text-muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px;font-size:11px;font-weight:700}.first-mover-row{justify-content:space-between;align-items:center;padding:10px 0;display:flex}.first-mover-row:not(:last-child){border-bottom:1px solid #8b5cf61a}.battle-label{color:var(--color-text-secondary);font-size:14px;font-weight:600}.first-mover-info{align-items:center;gap:10px;display:flex}.player-circle{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:flex}.player-circle-sm{width:20px;height:20px;font-size:11px}.player-circle-lg{width:44px;height:44px;font-size:18px}.player-name{color:var(--color-text-primary);font-size:14px;font-weight:600}.players-section{background:linear-gradient(135deg,#e76f511f,#f4a26114);border:2px solid #e76f5133;border-radius:20px;margin-bottom:28px;padding:24px;position:relative;overflow:hidden;box-shadow:0 4px 12px #e76f5114}.players-section:before{content:"";background:var(--gradient-primary);border-radius:20px 20px 0 0;height:5px;position:absolute;top:0;left:0;right:0}.player-row{background:var(--color-bg-card);border:2px solid #0000;border-radius:12px;align-items:center;gap:20px;min-height:72px;padding:20px;transition:all .2s;display:flex}.player-row:not(:last-child){margin-bottom:16px}.player-row-highlighted{border-color:var(--color-game-action);background:var(--bg-action-light);box-shadow:0 0 0 4px var(--bg-action-light),var(--shadow-glow-primary)}.player-details{flex-direction:column;flex:1;gap:4px;display:flex}.player-id{color:var(--color-text-primary);letter-spacing:-.01em;font-size:16px;font-weight:600}.you-badge{background:var(--color-game-action);color:#fff;letter-spacing:.08em;text-transform:uppercase;border-radius:6px;align-items:center;margin-left:8px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.player-stats{cursor:help;align-items:center;gap:6px;margin-top:4px;font-size:13px;font-weight:600;display:flex}.stat-badge{cursor:pointer;border:1px solid;border-radius:8px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.stat-badge-clickable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;gap:8px;display:flex}.stat-badge-clickable:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.stat-badge-clickable:active{transform:translateY(0)}.stat-item{background:var(--color-bg-hover);border:1px solid var(--color-border);cursor:help;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:12px;transition:all .2s;display:flex}.stat-item:hover{background:var(--color-bg-secondary);border-color:var(--color-border-bright);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.stat-label{text-transform:uppercase;letter-spacing:.05em;opacity:.8;font-size:10px}.stat-value{text-align:center;min-width:32px;font-size:13px;font-weight:700}.stat-value-points{color:var(--color-game-success);text-align:right;min-width:28px;font-weight:700}.stat-value-games{color:var(--color-player-1);text-align:right;min-width:24px;font-weight:700}.stat-value-wins{color:var(--color-game-warning);text-align:right;min-width:24px;font-weight:700}.stat-separator{color:var(--color-text-muted);margin:0 1px;font-weight:500}.stat-copied{color:var(--color-game-success);font-weight:700;animation:.2s fadeIn}.ready-instructions{text-align:center;color:var(--color-text-muted);margin-top:20px;font-size:14px;line-height:1.5}.stat-card{background:var(--color-bg-card);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);border-radius:16px;padding:20px;transition:all .3s}.stat-card:hover{border-color:var(--color-border-bright);box-shadow:var(--shadow-md);transform:translateY(-2px)}.leaderboard-player-row,.history-game-row{background:var(--color-bg-hover);border:1px solid var(--color-border);border-radius:12px;align-items:center;gap:10px;padding:10px;transition:all .2s;display:flex}.leaderboard-player-row:not(:last-child),.history-game-row:not(:last-child){margin-bottom:8px}.leaderboard-player-row:hover,.history-game-row:hover{background:var(--color-bg-secondary);border-color:var(--color-border-bright)}.player-avatar{border:2px solid var(--color-border-bright);background:linear-gradient(135deg,#e76f5133,#f4a26133);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.player-avatar-sm{width:36px;height:36px}.player-avatar-text{font-size:18px;line-height:1}.leaderboard-player-info,.history-game-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.leaderboard-player-name{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.leaderboard-player-stats{cursor:help;align-items:center;gap:4px;font-size:11px;font-weight:600;display:flex}.leaderboard-player-rank{align-items:flex-start;margin-top:2px;display:flex}.leaderboard-rank-text{color:var(--color-text-muted);letter-spacing:.05em;font-size:10px;font-weight:700}.history-game-result{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.leaderboard-rank-label,.history-result-label{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:700}.leaderboard-rank-value{color:var(--color-game-action);letter-spacing:-.02em;font-size:18px;font-weight:900}.history-game-id{color:var(--color-text-muted);cursor:pointer;font-family:Courier New,monospace;font-size:11px;font-weight:600;transition:color .2s}.history-game-id:hover{color:var(--color-game-action)}.history-game-datetime{color:var(--color-text-muted);gap:6px;font-size:11px;display:flex}.history-date{font-weight:600}.history-time{font-weight:500}.history-result-rank{color:var(--color-text-primary);letter-spacing:-.01em;font-size:16px;font-weight:900}.history-result-points{font-size:14px;font-weight:700}.history-result-points-only{justify-content:center;align-items:center;font-size:20px;font-weight:700;display:flex}.player-profile-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;margin-bottom:20px;padding:16px}.player-profile-card:has(.account-metadata) .player-profile-header{border-bottom:none;padding-bottom:0}.account-metadata{border-top:1px solid var(--color-border);gap:16px;padding-top:12px;display:flex}.metadata-item{flex-direction:column;flex:1;gap:4px;display:flex}.metadata-label{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.metadata-value{color:var(--color-text-primary);font-size:13px;font-weight:600}.player-profile-info{flex-direction:column;flex:1;gap:2px;display:flex}.player-profile-label{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.player-profile-name{color:var(--color-game-action);letter-spacing:-.02em;font-size:24px;font-weight:900}.player-rank-badge{flex-shrink:0;justify-content:center;align-items:center;min-width:48px;display:flex}.player-rank-value{color:var(--color-game-success);letter-spacing:-.02em;font-size:32px;font-weight:900;line-height:1}.player-stats-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px;display:grid}.stat-icon{font-size:24px;line-height:1}.found-game-screen{background:var(--color-bg-card);min-height:100vh}.found-game-hero{border-bottom:4px solid var(--color-border-bright);justify-content:center;align-items:center;min-height:320px;display:flex;position:relative;overflow:hidden}.found-game-hero-bg{z-index:0;background:linear-gradient(135deg,#8b5cf61f,#3b82f61f,#10b98114);animation:4s ease-in-out infinite heroGlow;position:absolute;inset:0}@keyframes heroGlow{0%,to{opacity:1}50%{opacity:.7}}.found-game-sparkles{z-index:1;pointer-events:none;position:absolute;inset:0}.found-game-sparkle{background:radial-gradient(circle,#fcd34d,#0000 70%);border-radius:50%;width:6px;height:6px;animation:3s ease-in-out infinite sparkleFloat;position:absolute;box-shadow:0 0 15px #fbbf24cc}.found-game-sparkle:first-child{animation-delay:0s;top:15%;left:10%}.found-game-sparkle:nth-child(2){animation-delay:.6s;top:25%;right:15%}.found-game-sparkle:nth-child(3){animation-delay:1.2s;bottom:35%;left:20%}.found-game-sparkle:nth-child(4){animation-delay:1.8s;top:45%;right:25%}.found-game-sparkle:nth-child(5){animation-delay:2.4s;bottom:20%;left:30%}@keyframes sparkleFloat{0%,to{opacity:0;transform:scale(.5)translateY(0)}50%{opacity:1;transform:scale(1.2)translateY(-10px)}}.found-game-hero-content{z-index:2;text-align:center;flex-direction:column;align-items:center;gap:16px;padding:40px 20px;display:flex;position:relative}.found-game-hero-icon-large{filter:drop-shadow(0 8px 24px #3b82f680);font-size:80px;line-height:1;animation:.8s cubic-bezier(.34,1.56,.64,1) scaleInBounce}@keyframes scaleInBounce{0%{opacity:0;transform:scale(0)rotate(-180deg)}60%{transform:scale(1.2)rotate(10deg)}to{opacity:1;transform:scale(1)rotate(0)}}.found-game-hero-title{letter-spacing:-.02em;-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#8b5cf6,#3b82f6,#10b981);-webkit-background-clip:text;background-clip:text;font-size:36px;font-weight:900;line-height:1.1;animation:.6s ease-out .2s both slideUpFade}@keyframes slideUpFade{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.found-game-hero-subtitle{color:var(--color-text-secondary);letter-spacing:.05em;text-transform:uppercase;font-size:16px;font-weight:600;animation:.6s ease-out .3s both slideUpFade}.found-game-battle-preview{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0003;border:1px solid #ffffff1a;border-radius:16px;align-items:center;gap:12px;margin-top:12px;padding:20px 24px;animation:.6s ease-out .4s both slideUpFade;display:flex}.found-game-battle-item{flex-direction:column;align-items:center;gap:6px;display:flex}.found-game-battle-icon{filter:drop-shadow(0 4px 8px #8b5cf666);font-size:28px;line-height:1;animation:2s ease-in-out infinite battlePulse}@keyframes battlePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.15)}}.found-game-battle-icon:first-child{animation-delay:0s}.found-game-battle-icon:nth-child(2){animation-delay:.3s}.found-game-battle-icon:nth-child(3){animation-delay:.6s}.found-game-battle-label{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.found-game-battle-connector{background:linear-gradient(90deg,transparent 0%,var(--color-border-bright)50%,transparent 100%);width:20px;height:2px;animation:2s ease-in-out infinite connectorGlow}@keyframes connectorGlow{0%,to{opacity:.5}50%{opacity:1;box-shadow:0 0 10px #8b5cf680}}.found-game-container{max-width:600px;margin:0 auto;padding:24px 16px}.found-game-info-card{background:linear-gradient(135deg,var(--color-bg-card)0%,var(--color-bg-secondary)100%);border:2px solid var(--color-border-bright);box-shadow:var(--shadow-md);border-radius:20px;margin-bottom:24px;padding:20px;animation:.5s ease-out slideInUp}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.found-game-info-header{border-bottom:2px solid var(--color-border);align-items:center;gap:12px;margin-bottom:16px;padding-bottom:16px;display:flex}.found-game-info-icon{filter:drop-shadow(0 2px 4px #8b5cf64d);font-size:32px;line-height:1}.found-game-info-text{flex-direction:column;gap:4px;display:flex}.found-game-info-title{color:var(--color-text-primary);letter-spacing:-.01em;font-size:18px;font-weight:900}.found-game-info-subtitle{color:var(--color-text-muted);font-size:13px;font-weight:600}.found-game-info-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.found-game-info-item{background:#8b5cf60d;border:1px solid #8b5cf626;border-radius:12px;flex-direction:column;gap:4px;padding:12px;display:flex}.found-game-info-label{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.found-game-info-value{color:var(--color-text-primary);font-family:monospace;font-size:14px;font-weight:700}.found-game-info-status{color:var(--color-game-success);font-family:inherit;animation:1.5s ease-in-out infinite statusPulse}@keyframes statusPulse{0%,to{opacity:1}50%{opacity:.7}}.found-game-players-card{background:var(--color-bg-card);border:2px solid var(--color-border-bright);box-shadow:var(--shadow-md);border-radius:20px;margin-bottom:24px;padding:24px;animation:.5s ease-out .1s both slideInUp}.found-game-players-header{border-bottom:3px solid var(--color-border-bright);background:linear-gradient(135deg,#e76f5114,#f4a2610d);border-radius:20px 20px 0 0;align-items:center;gap:12px;margin:-24px -24px 20px;padding:16px;display:flex}.found-game-players-icon{font-size:32px;line-height:1;animation:2s ease-in-out infinite playersIconBounce}@keyframes playersIconBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.found-game-players-title{color:var(--color-text-primary);letter-spacing:-.01em;margin:0;font-size:20px;font-weight:900}.found-game-players-list{flex-direction:column;gap:16px;display:flex}.found-game-player-card{background:linear-gradient(135deg,var(--color-bg-secondary)0%,var(--color-bg-card)100%);border:2px solid var(--color-border);border-radius:16px;padding:16px;transition:all .3s cubic-bezier(.34,1.56,.64,1);animation:.5s ease-out both playerCardSlide}@keyframes playerCardSlide{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.found-game-player-card:hover{border-color:var(--color-border-bright);box-shadow:var(--shadow-md),-4px 0 0 0 var(--color-game-action);transform:translate(4px)}.found-game-player-me{border-color:var(--color-game-action);box-shadow:0 0 0 3px #8b5cf633,var(--shadow-glow-primary);background:linear-gradient(135deg,#8b5cf626,#8b5cf60d)}.found-game-player-me:hover{box-shadow:0 0 0 3px #8b5cf64d,var(--shadow-md),-4px 0 0 0 var(--color-game-action)}.found-game-player-header{align-items:center;gap:14px;display:flex}.found-game-player-avatar{border:3px solid #fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #00000026}.found-game-player-avatar:before{content:"";background:linear-gradient(45deg,#0000,#ffffff4d,#0000);width:200%;height:200%;animation:3s ease-in-out infinite avatarShine;position:absolute;top:-50%;left:-50%}@keyframes avatarShine{0%{transform:translate(-100%)translateY(-100%)rotate(45deg)}to{transform:translate(100%)translateY(100%)rotate(45deg)}}.found-game-player-position{color:#fff;text-shadow:0 2px 4px #0000004d;z-index:1;font-size:24px;font-weight:900;position:relative}.found-game-player-info{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.found-game-player-name{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex;overflow:hidden}.found-game-you-badge{background:var(--gradient-primary);color:#fff;letter-spacing:.08em;text-transform:uppercase;box-shadow:var(--shadow-glow-primary);border-radius:6px;flex-shrink:0;align-items:center;padding:3px 8px;font-size:10px;font-weight:700;animation:2s ease-in-out infinite badgePulse;display:inline-flex}@keyframes badgePulse{0%,to{box-shadow:var(--shadow-glow-primary)}50%{box-shadow:0 0 20px #8b5cf699}}.found-game-player-stats{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:1px solid var(--color-border);background:#0000000d;border-radius:8px;align-items:center;gap:6px;width:-moz-fit-content;width:fit-content;padding:6px 10px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.found-game-player-stats:hover{background:var(--color-bg-hover);border-color:var(--color-border-bright);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.found-game-player-stats:active{transform:translateY(0)}.found-game-stat-item{align-items:center;gap:3px;display:flex}.found-game-stat-icon{opacity:.8;font-size:13px;line-height:1}.found-game-stat-value{color:var(--color-text-primary);font-weight:700}.found-game-stat-separator{color:var(--color-text-muted);opacity:.6;margin:0 2px;font-weight:500}.found-game-stats-copied{color:var(--color-game-success);font-weight:700;animation:.2s fadeIn}.found-game-player-badge{background:linear-gradient(135deg,#fbbf2426,#fbbf240d);border:1.5px solid #fbbf244d;border-radius:10px;align-items:center;gap:6px;margin-top:12px;padding:8px 12px;display:flex}.found-game-badge-icon{font-size:18px;line-height:1;animation:3s ease-in-out infinite badgeIconRotate}@keyframes badgeIconRotate{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}.found-game-badge-text{color:#d97706;letter-spacing:.02em;font-size:12px;font-weight:700}.found-game-ready-section{background:linear-gradient(135deg,#10b98114,#0596690d);border:2px solid #10b98133;border-radius:20px;padding:24px;animation:.5s ease-out .2s both slideInUp}.found-game-ready-message{background:#10b9810d;border:1px solid #10b98126;border-radius:14px;align-items:center;gap:14px;margin-bottom:20px;padding:16px;display:flex}.found-game-ready-icon{filter:drop-shadow(0 4px 8px #10b98166);font-size:36px;line-height:1;animation:1.5s ease-in-out infinite readyIconZap}@keyframes readyIconZap{0%,to{transform:scale(1)rotate(0)}25%{transform:scale(1.2)rotate(-10deg)}75%{transform:scale(1.2)rotate(10deg)}}.found-game-ready-text{flex-direction:column;gap:4px;display:flex}.found-game-ready-title{color:var(--color-game-success);letter-spacing:-.01em;font-size:16px;font-weight:900}.found-game-ready-subtitle{color:var(--color-text-secondary);font-size:13px;font-weight:600}.found-game-ready-btn{width:100%;animation:2s ease-in-out infinite btnPulse}@keyframes btnPulse{0%,to{box-shadow:var(--shadow-md),var(--shadow-glow-primary),inset 0 1px #ffffff4d}50%{box-shadow:var(--shadow-lg),0 0 30px #8b5cf680,inset 0 1px #fff6}}@media (min-width:481px){.found-game-hero{min-height:360px}.found-game-hero-content{gap:20px;padding:50px 24px}.found-game-hero-icon-large{font-size:96px}.found-game-hero-title{font-size:42px}.found-game-hero-subtitle{font-size:18px}.found-game-battle-preview{gap:16px;padding:24px 32px}.found-game-battle-icon{font-size:32px}.found-game-container{padding:32px 24px}.found-game-player-avatar{width:64px;height:64px}.found-game-player-position{font-size:28px}.found-game-player-name{font-size:18px}.found-game-ready-icon{font-size:42px}.found-game-ready-title{font-size:18px}}@media (min-width:769px){.found-game-hero{min-height:400px}.found-game-hero-content{gap:24px;padding:60px 32px}.found-game-hero-icon-large{font-size:112px}.found-game-hero-title{font-size:48px}.found-game-hero-subtitle{font-size:20px}.found-game-battle-preview{gap:20px;padding:28px 40px}.found-game-battle-icon{font-size:36px}.found-game-container{padding:40px 32px}.found-game-player-avatar{width:72px;height:72px}.found-game-player-position{font-size:32px}.found-game-player-name{font-size:20px}.found-game-ready-icon{font-size:48px}.found-game-ready-title{font-size:20px}.found-game-ready-subtitle{font-size:14px}}.game-screen-container{background:var(--color-bg-card);flex-direction:column;width:100%;max-width:100%;min-height:100vh;display:flex}.game-screen-wrapper{flex-direction:column;flex:1;width:100%;padding:0;display:flex;overflow:hidden}.game-layout{box-sizing:border-box;flex-direction:column;flex:1;gap:16px;width:100%;display:flex;overflow:auto}.game-battle-column{flex-direction:column;flex:1;gap:12px;width:100%;min-height:0;display:flex}.turn-info-section{flex-direction:column;flex-shrink:0;gap:10px;width:100%;display:flex}.turn-info-bar{background:linear-gradient(135deg,var(--color-bg-card)0%,var(--color-bg-secondary)100%);border:2px solid var(--color-border);box-shadow:var(--shadow-sm);border-radius:16px;align-items:center;gap:12px;width:100%;padding:12px;display:flex}.battle-score-compact{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;width:100%;padding:8px 12px}.battle-score-list-compact{justify-content:space-around;align-items:center;gap:16px;display:flex}.battle-score-item-compact{flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.battle-score-dot-compact{border:2px solid var(--color-text-inverse);width:20px;height:20px;box-shadow:var(--shadow-sm);border-radius:50%;flex-shrink:0}.battle-score-points-compact{color:var(--color-text-primary);letter-spacing:-.01em;text-align:center;min-width:24px;font-size:18px;font-weight:900}.game-progress-column{flex-direction:column;gap:16px;width:100%;display:flex}.game-abandon-btn{background:var(--gradient-danger);color:var(--color-text-inverse);border-radius:var(--radius-xl);cursor:pointer;justify-content:center;align-items:center;gap:var(--spacing-md);letter-spacing:.08em;text-transform:uppercase;min-height:56px;box-shadow:var(--shadow-md),var(--shadow-glow-danger);text-shadow:0 2px 4px #0000004d;border:3px solid #0000;width:100%;padding:14px 24px;font-size:15px;font-weight:900;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:flex}.game-abandon-btn:hover:not(:disabled){box-shadow:var(--shadow-lg),var(--shadow-glow-danger);border-color:#ffffff4d;transform:translateY(-2px)scale(1.02)}.game-abandon-btn:active:not(:disabled){box-shadow:var(--shadow-sm),var(--shadow-glow-danger);transform:translateY(0)scale(.98)}.turn-indicator-card{flex:1;min-width:0}.turn-indicator-avatar{border:3px solid var(--color-text-inverse);width:44px;height:44px;box-shadow:var(--shadow-md);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .3s;display:flex}.turn-indicator-active{box-shadow:var(--shadow-glow-primary);animation:2s ease-in-out infinite pulse}.turn-indicator-number{color:var(--color-text-inverse);text-shadow:var(--shadow-text);font-size:20px;font-weight:900}.turn-indicator-info{flex-direction:column;gap:2px;min-width:0;display:flex}.turn-indicator-label{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700;line-height:1}.turn-indicator-player{color:var(--color-text-primary);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;line-height:1.2;overflow:hidden}.turn-indicator-you{color:var(--color-game-action);font-weight:900}@media (min-width:481px){.game-layout{gap:20px}.game-battle-column{gap:16px}.turn-info-section{gap:12px}.turn-info-bar{gap:14px;padding:14px}.battle-score-compact{padding:10px 14px}.battle-score-list-compact{gap:20px}.battle-score-dot-compact{width:24px;height:24px}.battle-score-points-compact{min-width:28px;font-size:20px}.turn-indicator-avatar{width:48px;height:48px}.turn-indicator-number{font-size:22px}.turn-indicator-label{font-size:11px}.turn-indicator-player{font-size:16px}.game-abandon-btn{min-height:60px;padding:16px 28px;font-size:16px}}@media (min-width:769px){.game-layout{flex-direction:row;gap:24px}.game-battle-column{flex:2;gap:20px}.game-progress-column{flex:1;gap:20px;max-width:400px}.turn-info-section{gap:14px}.turn-info-bar{gap:16px;padding:16px}.battle-score-compact{padding:12px 16px}.battle-score-list-compact{gap:24px}.battle-score-dot-compact{border-width:3px;width:28px;height:28px}.battle-score-points-compact{min-width:32px;font-size:22px}.turn-indicator-avatar{width:52px;height:52px}.turn-indicator-number{font-size:24px}.turn-indicator-label{font-size:12px}.turn-indicator-player{font-size:17px}.game-abandon-btn{min-height:64px;padding:18px 32px;font-size:17px}}.winning-banner-overlay{z-index:9999;background:var(--overlay-modal);justify-content:center;align-items:center;animation:.3s ease-out fadeIn;display:flex;position:fixed;inset:0}.winning-banner-container{max-width:90%;animation:.5s cubic-bezier(.34,1.56,.64,1) scaleIn;position:relative}.winning-banner-glow{background:radial-gradient(circle,var(--bg-warning-light)0%,transparent 70%);border-radius:50%;animation:2s ease-in-out infinite pulse;position:absolute;inset:-20px}.winning-banner-content{background:linear-gradient(135deg,var(--color-bg-card)0%,var(--color-bg-secondary)100%);border:4px solid var(--color-game-warning);box-shadow:var(--shadow-glow-warning),var(--shadow-lg);text-align:center;border-radius:24px;padding:32px;position:relative}.winning-banner-trophy{margin-bottom:16px;display:inline-block;position:relative}.winning-trophy-icon{filter:var(--shadow-glow-warning);font-size:72px;animation:3s ease-in-out infinite floatCrown}.winning-trophy-sparkles{position:absolute;inset:0}.sparkle{color:var(--color-game-warning);font-size:24px;animation:2s ease-in-out infinite sparkleFloat;position:absolute}.sparkle-1{animation-delay:0s;top:-10px;left:-20px}.sparkle-2{animation-delay:.6s;top:-10px;right:-20px}.sparkle-3{animation-delay:1.2s;bottom:10px;left:50%;transform:translate(-50%)}.winning-banner-text{flex-direction:column;gap:12px;display:flex}.winning-banner-title{color:#f59e0b;-webkit-text-fill-color:transparent;letter-spacing:-.02em;text-shadow:none;background:linear-gradient(135deg,#fcd34d,#f59e0b);-webkit-background-clip:text;background-clip:text;font-size:42px;font-weight:900;line-height:1}.winning-banner-player-wrapper{flex-direction:column;align-items:center;gap:6px;display:flex}.winning-banner-player{border:2px solid var(--color-text-inverse);box-shadow:var(--shadow-md);white-space:nowrap;text-overflow:ellipsis;border-radius:12px;max-width:300px;padding:8px 20px;font-size:24px;font-weight:900;overflow:hidden}.winning-banner-action{color:var(--color-text-secondary);font-size:16px;font-weight:600}.winning-banner-points{color:var(--color-game-success);letter-spacing:-.01em;font-size:28px;font-weight:900}.game-progress-card{background:linear-gradient(135deg,var(--color-bg-card)0%,var(--color-bg-secondary)100%);border:2px solid var(--color-border);box-shadow:var(--shadow-sm);border-radius:16px;width:100%;padding:16px}.game-progress-header{border-bottom:2px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.game-progress-title{color:var(--color-text-primary);letter-spacing:-.01em;margin:0;font-size:16px;font-weight:900}.game-progress-battles{color:var(--color-text-muted);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:8px;padding:4px 10px;font-size:12px;font-weight:700}.game-progress-item{background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px;transition:all .2s;display:flex}.game-progress-player{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.game-progress-dot{border:3px solid var(--color-text-inverse);width:32px;height:32px;box-shadow:var(--shadow-md);border-radius:50%;flex-shrink:0}.game-progress-info{flex-direction:column;gap:4px;min-width:0;display:flex}.game-progress-name{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:14px;font-weight:700;display:flex;overflow:hidden}.game-progress-you{color:var(--color-game-action);font-size:11px;font-weight:700}.game-progress-rank{color:var(--color-text-muted);font-size:11px;font-weight:600}.game-progress-score{flex-direction:column;flex-shrink:0;align-items:center;gap:2px;display:flex}.game-progress-points{color:var(--color-game-success);letter-spacing:-.02em;font-size:20px;font-weight:900;line-height:1}@media (min-width:481px){.game-progress-card{padding:20px}.game-progress-title{font-size:18px}.game-progress-battles{padding:5px 12px;font-size:13px}.game-progress-item{padding:14px}.game-progress-dot{width:36px;height:36px}.game-progress-name{font-size:15px}.game-progress-rank{font-size:12px}.game-progress-points{font-size:22px}.game-progress-label{font-size:10px}}@media (min-width:769px){.game-progress-card{padding:24px}.game-progress-title{font-size:20px}.game-progress-battles{padding:6px 14px;font-size:14px}.game-progress-item{gap:16px;padding:16px}.game-progress-dot{width:40px;height:40px}.game-progress-name{font-size:16px}.game-progress-rank{font-size:13px}.game-progress-points{font-size:24px}.game-progress-label{font-size:11px}}.battle-board-wrapper{flex-direction:column;justify-content:center;align-items:center;width:100%;display:flex;position:relative}.battle-board-grid{grid-template-columns:repeat(4,1fr);gap:8px;width:100%;max-width:400px;margin:0 auto;display:grid}.battle-cell{aspect-ratio:1;border:3px solid var(--color-border);background:var(--color-bg-card);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:12px;justify-content:center;align-items:center;font-size:32px;font-weight:900;transition:all .2s;display:flex}.battle-cell-filled{cursor:default}.battle-cell-player-1{background:var(--color-player-1);border-color:var(--color-player-1);color:var(--color-text-inverse)}.battle-cell-player-2{background:var(--color-player-2);border-color:var(--color-player-2);color:var(--color-text-inverse)}.battle-cell-player-3{background:var(--color-player-3);border-color:var(--color-player-3);color:var(--color-text-inverse)}.battle-cell-disabled{opacity:.6;cursor:not-allowed}.battle-cell-submitting{opacity:.5;cursor:wait}.battle-cell-winning{box-shadow:var(--shadow-lg),var(--shadow-glow-warning);animation:.6s ease-in-out winningCellPulse}@keyframes winningCellPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.battle-board-grace-overlay{background:var(--overlay-modal);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;border-radius:16px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.battle-board-grace-message{color:var(--color-text-primary);text-shadow:var(--shadow-text);font-size:32px;font-weight:900;animation:1.5s ease-in-out infinite pulse}@media (min-width:481px){.battle-board-grid{gap:10px;max-width:450px}.battle-cell,.battle-board-grace-message{font-size:36px}}@media (min-width:769px){.battle-board-grid{gap:12px;max-width:500px}.battle-cell,.battle-board-grace-message{font-size:40px}}@media (max-width:480px){.winning-banner-content{padding:24px 20px}.winning-trophy-icon{font-size:56px}.winning-banner-title{font-size:32px}.winning-banner-player{max-width:240px;padding:6px 16px;font-size:18px}.winning-banner-action{font-size:14px}.winning-banner-points{font-size:22px}}.results-screen{background:var(--color-bg-card);flex-direction:column;min-height:100vh;display:flex}.results-container{flex:1;width:100%;max-width:800px;margin:0 auto;padding:24px 16px}.results-abandoned-warning{box-shadow:var(--shadow-md),0 0 20px #ef44441a;background:linear-gradient(135deg,#ef444426,#dc262614);border:2px solid #ef44444d;border-radius:20px;align-items:center;gap:16px;margin-bottom:24px;padding:24px;animation:.5s ease-out slideInUp;display:flex}.results-abandoned-icon{flex-shrink:0;font-size:48px;line-height:1;animation:.8s ease-in-out infinite shake}.results-abandoned-content{flex:1;min-width:0}.results-abandoned-message{color:var(--color-text-secondary);font-size:14px;font-weight:600;line-height:1.5}.results-player-card{background:linear-gradient(135deg,var(--color-bg-card)0%,var(--color-bg-secondary)100%);border:2px solid var(--color-border);box-shadow:var(--shadow-md);border-radius:20px;margin-bottom:24px;padding:24px;animation:.5s ease-out .1s both slideInUp}.results-winner{border-color:var(--color-game-warning);box-shadow:var(--shadow-glow-warning),var(--shadow-md);background:linear-gradient(135deg,#fbbf2426,#f59e0b14)}.results-player-header{border-bottom:2px solid var(--color-border);align-items:center;gap:12px;margin-bottom:20px;padding-bottom:16px;display:flex}.results-player-rank-badge{color:var(--color-game-action);letter-spacing:-.02em;font-size:32px;font-weight:900;line-height:1}.results-winner .results-player-rank-badge{color:var(--color-game-warning);animation:2s ease-in-out infinite pulse}.results-player-title{color:var(--color-text-primary);letter-spacing:-.01em;font-size:18px;font-weight:900}.results-stat{background:#8b5cf60d;border:1px solid #8b5cf626;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:16px;transition:all .2s;display:flex}.results-stat:hover{box-shadow:var(--shadow-sm);background:#8b5cf61a;border-color:#8b5cf640;transform:translateY(-2px)}.results-stat-icon{font-size:24px;line-height:1}.results-stat-value{color:var(--color-text-primary);letter-spacing:-.02em;font-size:24px;font-weight:900;line-height:1}.results-stat-final{color:var(--color-game-success);font-size:28px}.results-standings-title{color:var(--color-text-primary);letter-spacing:-.01em;margin:0 0 20px;font-size:20px;font-weight:900}.results-standing-item{background:var(--color-bg-secondary);border:2px solid var(--color-border);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:16px;transition:all .2s;display:flex}.results-standing-item:hover{border-color:var(--color-border-bright);box-shadow:var(--shadow-sm);transform:translate(4px)}.results-standing-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.results-standing-rank{color:var(--color-game-action);letter-spacing:-.02em;text-align:center;min-width:48px;font-size:24px;font-weight:900;line-height:1}.results-standing-color{border:3px solid var(--color-text-inverse);width:32px;height:32px;box-shadow:var(--shadow-md);border-radius:50%;flex-shrink:0}.results-standing-name{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;flex-wrap:wrap;align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex;overflow:hidden}.results-standing-you{color:var(--color-game-action);font-size:12px;font-weight:700}.results-standing-abandoned{color:#dc2626;background:#ef44441a;border:1px solid #ef44444d;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:700}.results-standing-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.results-standing-points{color:var(--color-game-success);letter-spacing:-.02em;font-size:22px;font-weight:900;line-height:1}.results-standing-calc{color:var(--color-text-muted);font-size:12px;font-weight:600}.results-summary-title{color:var(--color-text-primary);letter-spacing:-.01em;margin:0 0 20px;font-size:18px;font-weight:900}.results-summary-item{background:#3b82f60d;border:1px solid #3b82f626;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:16px;transition:all .2s;display:flex}.results-summary-item:hover{box-shadow:var(--shadow-sm);background:#3b82f61a;border-color:#3b82f640;transform:translateY(-2px)}.results-summary-icon{font-size:28px;line-height:1}.results-summary-value{color:var(--color-text-primary);letter-spacing:-.02em;font-size:20px;font-weight:900;line-height:1}.results-waiting-message{background:linear-gradient(135deg,#f59e0b1f,#fbbf2414);border:2px solid #f59e0b4d;border-radius:16px;align-items:center;gap:14px;margin-bottom:24px;padding:20px;animation:.5s ease-out .4s both slideInUp;display:flex}.results-waiting-icon{flex-shrink:0;font-size:32px;line-height:1;animation:2s ease-in-out infinite pulse}.results-waiting-text{color:var(--color-text-secondary);font-size:14px;font-weight:600;line-height:1.5}.results-actions{flex-direction:column;gap:12px;animation:.5s ease-out .5s both slideInUp;display:flex}.results-action-btn{width:100%}@media (min-width:481px){.results-container{padding:32px 24px}.results-abandoned-warning{gap:20px;padding:28px}.results-abandoned-icon{font-size:56px}.results-abandoned-title{font-size:22px}.results-abandoned-message{font-size:15px}.results-player-card,.results-standings-card,.results-summary-card{padding:28px}.results-player-title{font-size:20px}.results-standings-title,.results-summary-title{font-size:22px}.results-standing-item{padding:18px}.results-standing-color{width:36px;height:36px}.results-standing-name{font-size:16px}.results-actions{flex-direction:row}}@media (min-width:769px){.results-container{max-width:900px;padding:40px 32px}.results-abandoned-warning{gap:24px;padding:32px}.results-abandoned-icon{font-size:64px}.results-abandoned-title{font-size:24px}.results-abandoned-message{font-size:16px}.results-player-card,.results-standings-card,.results-summary-card{padding:32px}.results-player-title{font-size:22px}.results-standings-title,.results-summary-title{font-size:24px}.results-standing-item{padding:20px}.results-standing-color{width:40px;height:40px}.results-standing-name{font-size:17px}.results-standing-points{font-size:24px}.results-stat-value{font-size:28px}.results-stat-final{font-size:32px}}.fixed{position:fixed}.relative{position:relative}.static{position:static}.z-50{z-index:50}.block{display:block}.flex{display:flex}.inline-block{display:inline-block}.max-h-screen{max-height:100vh}.w-full{width:100%}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.overflow-y-auto{overflow-y:auto}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.text-center{text-align:center}.text-right{text-align:right}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}@media (hover:hover){.hover\:opacity-90:hover{opacity:.9}}.modal-screen{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:50;background:#000000e6;justify-content:center;align-items:center;padding:20px;animation:.3s ease-out fadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-screen-card{background:var(--color-bg-card);border:1px solid var(--color-border);width:100%;max-width:800px;box-shadow:var(--shadow-lg);border-radius:24px;margin:40px 0;padding:32px;animation:.4s ease-out slideUp}.modal-header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.modal-header-title{color:var(--color-text-primary);letter-spacing:-.02em;font-size:28px;font-weight:900}.modal-close-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:32px;transition:all .2s;display:flex}.modal-close-btn:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.winning-banner-overlay{z-index:100;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.winning-banner-container{width:100%;max-width:60%;animation:.8s cubic-bezier(.34,1.56,.64,1) victoryBounce;position:relative}.winning-banner-glow{background:radial-gradient(circle,#fbbf2466,#0000 70%);border-radius:24px;width:120%;height:120%;animation:2s ease-in-out infinite pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.winning-banner-content{background:var(--gradient-warning);border:3px solid var(--color-game-warning);border-radius:var(--radius-xl);box-shadow:var(--shadow-glow-warning),inset 0 2px #ffffff4d;align-items:center;gap:24px;padding:24px 32px;display:flex;position:relative}.winning-banner-trophy{flex-shrink:0;position:relative}.winning-trophy-icon{filter:drop-shadow(0 4px 8px #0000004d);font-size:64px;line-height:1;animation:3s ease-in-out infinite trophyFloat}.winning-trophy-sparkles{width:100%;height:100%;position:absolute;top:0;left:0}.sparkle{color:var(--color-text-inverse);filter:drop-shadow(0 0 4px var(--color-game-warning));font-size:20px;animation:2s ease-in-out infinite sparkleFloat;position:absolute}.sparkle-1{animation-delay:0s;top:-10px;right:-10px}.sparkle-2{animation-delay:.6s;top:10px;left:-15px}.sparkle-3{animation-delay:1.2s;bottom:-5px;right:5px}.winning-banner-text{flex:1;min-width:0}.winning-banner-title{color:var(--color-text-inverse);text-align:center;letter-spacing:.1em;text-shadow:0 3px 6px #0006,0 0 20px #ffffff4d;text-transform:uppercase;margin-bottom:8px;font-size:28px;font-weight:900}.winning-banner-player-wrapper{flex-direction:column;align-items:center;gap:6px;margin-bottom:8px;display:flex}.winning-banner-player{border-radius:var(--radius-md);max-width:100%;color:var(--color-text-inverse);box-shadow:var(--shadow-md),inset 0 1px #fff3;text-shadow:0 2px 4px #0000004d;text-overflow:ellipsis;white-space:nowrap;cursor:help;padding:8px 20px;font-size:20px;font-weight:800;transition:all .3s;overflow:hidden}.winning-banner-player:hover{box-shadow:var(--shadow-lg),inset 0 1px #ffffff4d;transform:scale(1.05)}.winning-banner-player.player-1{background:linear-gradient(135deg,var(--color-player-1),var(--color-player-1))}@supports (color:color-mix(in lab,red,red)){.winning-banner-player.player-1{background:linear-gradient(135deg,var(--color-player-1),color-mix(in srgb,var(--color-player-1)80%,black))}}.winning-banner-player.player-2{background:linear-gradient(135deg,var(--color-player-2),var(--color-player-2))}@supports (color:color-mix(in lab,red,red)){.winning-banner-player.player-2{background:linear-gradient(135deg,var(--color-player-2),color-mix(in srgb,var(--color-player-2)80%,black))}}.winning-banner-player.player-3{background:linear-gradient(135deg,var(--color-player-3),var(--color-player-3))}@supports (color:color-mix(in lab,red,red)){.winning-banner-player.player-3{background:linear-gradient(135deg,var(--color-player-3),color-mix(in srgb,var(--color-player-3)80%,black))}}.winning-banner-action{color:var(--color-text-inverse);text-align:center;text-shadow:0 2px 4px #0000004d;font-size:16px;font-weight:600}.winning-banner-points{color:var(--color-text-inverse);text-align:center;text-shadow:0 3px 6px #0006;border-radius:var(--radius-md);background:#00000026;width:-moz-fit-content;width:fit-content;margin:0 auto;padding:6px 16px;font-size:22px;font-weight:900;display:block}@keyframes victoryBounce{0%{opacity:0;transform:scale(.3)translateY(-50px)}50%{transform:scale(1.1)}70%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes trophyFloat{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-8px)rotate(-5deg)}75%{transform:translateY(-8px)rotate(5deg)}}@media (max-width:768px){.winning-banner-container,.blocking-notification-container,.turn-notification-container{max-width:80%}.winning-banner-content{flex-direction:column;gap:16px;padding:20px 24px}.winning-trophy-icon{font-size:48px}.winning-banner-title{font-size:24px}.winning-banner-player{max-width:250px;padding:6px 16px;font-size:18px}.winning-banner-action{font-size:14px}.winning-banner-points{font-size:18px}}@media (max-width:480px){.winning-banner-content{padding:16px 20px}.winning-trophy-icon{font-size:40px}.winning-banner-title{font-size:20px}.winning-banner-player{max-width:200px;padding:5px 14px;font-size:16px}.winning-banner-action{font-size:13px}.winning-banner-points{padding:5px 12px;font-size:16px}.sparkle{font-size:16px}}.battle-countdown-compact{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#8b5cf6f2,#6366f1f2);border:2px solid #8b5cf699;border-radius:16px;align-items:center;gap:12px;padding:12px 24px;animation:.4s cubic-bezier(.34,1.56,.64,1) slideDown;display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #8b5cf666,0 0 40px #8b5cf633}@keyframes slideDown{0%{opacity:0;transform:translate(-50%)translateY(-100%)}to{opacity:1;transform:translate(-50%)translateY(0)}}.battle-countdown-label{color:#fff;letter-spacing:.05em;text-transform:uppercase;text-shadow:0 2px 4px #0000004d;font-size:14px;font-weight:700}.battle-countdown-timer{color:#fff;text-shadow:0 2px 8px #0006,0 0 20px #ffffff80;text-align:center;min-width:48px;font-size:28px;font-weight:900;animation:1s ease-in-out infinite timerPulse}@keyframes timerPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.1)}}.connection-status-indicator{z-index:100;cursor:help;position:fixed;top:20px;right:20px}.connection-led-cylinder{background:linear-gradient(#0000004d,#0009);border-radius:8px;width:36px;height:16px;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 2px 8px #0006,inset 0 1px 2px #ffffff1a}.connection-led-cylinder .led-core{border-radius:5px;transition:all .3s;position:absolute;inset:2px}.connection-led-cylinder .led-highlight{opacity:.6;z-index:1;background:linear-gradient(#fff6,#0000);border-radius:2px 2px 0 0;height:4px;position:absolute;top:1px;left:4px;right:4px}.connection-led-disconnected .led-core{background:var(--gradient-danger);box-shadow:var(--shadow-glow-danger),inset 0 -2px 4px #0006,inset 0 2px 2px #fff3}.connection-led-reconnecting .led-core{background:var(--gradient-warning);box-shadow:var(--shadow-glow-warning),inset 0 -2px 4px #0006,inset 0 2px 2px #fff3;animation:1s infinite pulse-glow-yellow}@keyframes pulse-glow-yellow{0%,to{box-shadow:var(--shadow-glow-warning),inset 0 -2px 4px #0006,inset 0 2px 2px #fff3}50%{box-shadow:var(--shadow-glow-warning),inset 0 -2px 4px #0006,inset 0 2px 3px #ffffff4d}}.blocking-notification{z-index:50;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.blocking-notification-container{max-width:60%;animation:.8s cubic-bezier(.34,1.56,.64,1) bounce;position:relative}@keyframes bounce{0%{opacity:0;transform:scale(.8)translateY(-20px)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.blocking-notification-card{background:var(--color-bg-card);border:2px solid var(--color-game-success);border-radius:16px;padding:16px 24px;box-shadow:0 10px 30px #10b9814d}.blocking-notification-title{color:var(--color-game-success);text-align:center;letter-spacing:.05em;margin-bottom:4px;font-size:14px;font-weight:700}.blocking-notification-player{color:var(--color-text-primary);text-align:center;font-size:13px;font-weight:500}.blocking-notification-points{color:var(--color-game-success);text-align:center;margin-top:4px;font-size:15px;font-weight:700}.turn-notification{z-index:50;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.turn-notification-container{max-width:60%;animation:.8s cubic-bezier(.34,1.56,.64,1) bounce;position:relative}.turn-notification-card{background:var(--color-bg-card);border:2px solid var(--color-game-warning);border-radius:16px;padding:16px 24px;box-shadow:0 10px 30px #fbbf244d}.turn-notification-title{color:var(--color-game-warning);text-align:center;letter-spacing:.05em;margin-bottom:4px;font-size:14px;font-weight:700}.turn-notification-message{color:var(--color-text-primary);text-align:center;font-size:13px;font-weight:500}.battle-cell{aspect-ratio:1;border-radius:var(--radius-md);border:2px solid var(--color-border);background:var(--color-bg-secondary);justify-content:center;align-items:center;min-height:68px;font-size:2.4rem;font-weight:900;line-height:1;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:visible;box-shadow:inset 0 2px 8px #0006}.battle-cell-empty{cursor:pointer;border-color:var(--color-border)}.battle-cell-empty:hover{background:var(--bg-action-light);border-color:var(--color-game-action);box-shadow:inset 0 2px 8px #0000004d,var(--shadow-glow-primary);transform:scale(1.02)}.battle-cell-empty:active{transform:scale(.98)}.battle-cell-disabled{cursor:not-allowed;opacity:.5;border-color:var(--color-border)}.battle-cell-submitting{background:var(--gradient-primary);color:#fff;cursor:wait;border-color:var(--color-game-action);animation:1s infinite pulse-soft}.battle-cell-filled{cursor:not-allowed;color:#fff;border:none;animation:.3s cubic-bezier(.34,1.56,.64,1) cellFillPop}@keyframes cellFillPop{0%{opacity:0;transform:scale(.5)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.battle-cell-player-1{background:var(--gradient-player-1);border:3px solid var(--color-player-1);box-shadow:var(--shadow-glow-player-1),inset 0 0 20px var(--bg-player-1-light);color:var(--color-text-inverse);text-shadow:var(--shadow-glow-player-1),0 2px 4px #000c;filter:var(--shadow-glow-player-1);font-size:2.8rem}.battle-cell-player-2{background:var(--gradient-player-2);border:3px solid var(--color-player-2);box-shadow:var(--shadow-glow-player-2),inset 0 0 20px var(--bg-player-2-light);color:var(--color-text-inverse);text-shadow:var(--shadow-glow-player-2),0 2px 4px #000c;filter:var(--shadow-glow-player-2);font-size:2.8rem}.battle-cell-player-3{background:var(--gradient-player-3);border:3px solid var(--color-player-3);box-shadow:var(--shadow-glow-player-3),inset 0 0 20px var(--bg-player-3-light);color:var(--color-text-inverse);text-shadow:var(--shadow-glow-player-3),0 2px 4px #000c;filter:var(--shadow-glow-player-3);font-size:2.8rem}.battle-cell-winning{z-index:10;animation:.6s ease-in-out infinite winningPulse;transform:scale(1.05)}@keyframes winningPulse{0%,to{box-shadow:var(--shadow-glow-warning),inset 0 0 30px var(--bg-warning-light);filter:brightness(1.5)drop-shadow(0 0 12px var(--color-game-warning))}50%{box-shadow:var(--shadow-glow-warning),inset 0 0 40px var(--bg-warning-light);filter:brightness(1.8)drop-shadow(0 0 16px var(--color-game-warning))}}.text-muted{color:var(--color-text-muted)}.timer-warning{color:var(--color-game-danger)}.winning-notification{z-index:1000;background:#000c;justify-content:center;align-items:center;animation:.3s ease-in fadeIn;display:flex;position:fixed;inset:0}.winning-notification-card{background:var(--gradient-warning);border-radius:var(--radius-lg);box-shadow:var(--shadow-glow-warning);text-align:center;border:3px solid var(--color-game-warning);padding:3rem 4rem;animation:.5s ease-out scaleIn,1.5s ease-in-out infinite pulse}.winning-notification-title{color:var(--color-text-inverse);text-shadow:0 4px 8px #0000004d;letter-spacing:.1em;margin-bottom:1.5rem;font-size:3rem;font-weight:900;animation:1s ease-in-out infinite alternate glow}.winning-notification-player{color:var(--color-text-inverse);flex-direction:column;align-items:center;gap:1rem;font-size:1.5rem;font-weight:700;display:flex}@keyframes glow{0%{text-shadow:0 4px 8px #0000004d,0 0 20px #ffffff80}to{text-shadow:0 4px 8px #0000004d,0 0 40px #fffc,0 0 60px #fff9}}.auth-header{text-align:center;margin-bottom:20px}.auth-logo{width:80px;height:80px;margin:0 auto 12px;display:block}.auth-title{color:var(--color-text-primary);letter-spacing:-.01em;margin-bottom:4px;font-size:24px;font-weight:700}.auth-subtitle{color:var(--color-text-secondary);font-size:14px;font-weight:500}.auth-error{background:var(--bg-danger-light);border:2px solid var(--color-game-danger);color:var(--color-game-danger);border-radius:16px;margin-bottom:24px;padding:16px 20px;font-size:15px;font-weight:500;animation:.3s ease-out slideUp}.auth-form-group{margin-bottom:28px}.auth-label{color:var(--color-text-secondary);margin-bottom:12px;font-size:16px;font-weight:600;display:block}.auth-hint{color:var(--color-text-muted);margin-top:12px;font-size:14px}.email-input-wrapper{align-items:stretch;gap:8px;display:flex}.email-input-wrapper .input-field{flex:1;margin-bottom:0}.email-send-btn{background:var(--gradient-primary);color:var(--color-text-inverse);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-sm),var(--shadow-glow-primary);border:none;border-radius:14px;padding:0 24px;font-size:15px;font-weight:700;transition:all .3s}.email-send-btn:hover:not(:disabled){box-shadow:var(--shadow-md),0 0 20px #e76f514d;transform:translateY(-2px)}.email-send-btn:disabled{opacity:.4;cursor:not-allowed}.otp-sent-notice{background:linear-gradient(135deg,#2a9d8f1f,#2a9d8f14);border:2px solid #2a9d8f40;border-radius:16px;align-items:center;gap:16px;margin-bottom:24px;padding:20px;display:flex}.otp-sent-icon{flex-shrink:0;font-size:48px;animation:2s ease-in-out infinite pulse-soft}.otp-sent-text{flex:1}.otp-sent-title{color:var(--color-game-success);margin:0 0 4px;font-size:18px;font-weight:700;line-height:1.2}.otp-sent-subtitle{color:var(--color-text-secondary);margin:0;font-size:14px;line-height:1.4}.otp-sent-subtitle strong{color:var(--color-text-primary);font-weight:600}.otp-input{text-align:center;letter-spacing:.5em;font-family:Courier New,monospace;font-size:24px;font-weight:700}.settings-actions-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.auth-submit{margin-bottom:20px}.auth-link{text-align:center;width:100%;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:16px;font-size:15px;font-weight:500;transition:color .2s}.auth-link:hover{color:var(--color-game-action)}.auth-dialog-header{text-align:center;margin-bottom:28px}.auth-icon-warning{margin-bottom:16px;font-size:56px;animation:2s ease-in-out infinite pulse-soft}.auth-dialog-title{color:var(--color-text-primary);margin:0;font-size:24px;font-weight:700}.auth-warning-text{color:var(--color-game-danger);text-align:center;margin:20px 0 28px;font-size:15px;font-weight:500}.auth-button-group{flex-direction:column;gap:12px;display:flex}.typo-comparison{flex-direction:column;gap:16px;display:flex}.typo-item{flex-direction:column;gap:8px;display:flex}.typo-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.typo-value{font-size:18px;font-weight:700}.typo-divider{background:var(--color-border);height:1px}.lobby-header{align-items:center;gap:var(--spacing-lg);flex:1;display:flex}.lobby-logo{-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 2px 4px #ff6b354d);flex-shrink:0;width:32px;height:32px}.leaderboard-icon{filter:drop-shadow(0 2px 4px #ff6b354d);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:32px;line-height:32px;display:flex}.lobby-header-content{align-items:flex-start;gap:var(--spacing-xs);text-align:left;flex-direction:column;flex:1;display:flex}.lobby-title{color:var(--color-text-primary);letter-spacing:.05em;text-transform:uppercase;background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:24px;font-weight:900;line-height:1}.lobby-subtitle{color:var(--color-text-secondary);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:12px;font-weight:700;line-height:1}.leaderboard-tabs{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;gap:8px;margin-bottom:20px;padding:6px;display:flex}.leaderboard-tab{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:12px 16px;font-size:14px;font-weight:600;transition:all .3s}.leaderboard-tab:hover{background:var(--bg-action-hover);color:var(--color-text)}.leaderboard-tab-active{background:var(--color-game-action);color:#fff}.leaderboard-tab-active:hover{background:var(--color-game-action);opacity:.9}.history-icon,.settings-icon{text-align:center;margin-bottom:4px;font-size:32px}.player-profile-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-bright);box-shadow:var(--shadow-md);border-radius:16px;margin-bottom:20px;padding:20px}.player-profile-header{border-bottom:1px solid var(--color-border);align-items:center;gap:16px;margin-bottom:16px;padding-bottom:16px;display:flex}.leaderboard-player-row{border-bottom:1px solid var(--color-border);align-items:center;gap:14px;padding:16px 14px;transition:all .3s;display:flex}.leaderboard-player-row:last-child{border-bottom:none}.leaderboard-player-row:hover{background:var(--bg-action-hover)}.leaderboard-player-row.player-row-highlighted{border-color:var(--color-game-action);background:#8b5cf614}.leaderboard-player-row.player-row-highlighted:hover{background:#8b5cf61f}.player-avatar-sm{flex-shrink:0;width:52px;height:52px}.player-avatar-sm .player-avatar-text{font-size:22px}.leaderboard-player-info{flex-direction:column;flex:1;align-items:flex-start;gap:6px;min-width:0;display:flex}.leaderboard-player-name{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:15px;font-weight:600;overflow:hidden}.leaderboard-player-stats{white-space:nowrap;text-align:left;font-size:11px;font-weight:700;line-height:1.2;transition:all .2s}.leaderboard-player-stats:hover{opacity:.8}.history-game-row{border-bottom:1px solid var(--color-border);align-items:center;gap:14px;padding:16px 14px;transition:all .3s;display:flex}.history-game-row:last-child{border-bottom:none}.history-game-row:hover{background:var(--bg-action-hover)}.history-game-info{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.history-game-id{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;line-height:1.3;transition:opacity .2s;overflow:hidden}.history-game-id:hover{opacity:.8}.history-game-datetime{white-space:nowrap;align-items:center;gap:6px;padding-left:0;font-size:14px;font-weight:500;line-height:1.3;display:flex}.history-date{color:var(--color-text-secondary)}.history-time{color:var(--color-text-muted)}.history-time:before{content:"•";color:var(--color-border);margin-right:6px}.history-game-result{text-align:right;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;min-width:70px;display:flex}.history-result-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;font-size:10px;font-weight:600;line-height:1.2}.history-result-rank{color:var(--color-text-primary);white-space:nowrap;font-size:14px;font-weight:600;line-height:1.3}.history-result-points{white-space:nowrap;font-size:16px;font-weight:700;line-height:1.3}.player-avatar{background:var(--gradient-primary);width:68px;height:68px;box-shadow:var(--shadow-glow);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.player-avatar-text{color:#fff;font-size:30px;font-weight:900}.player-profile-info{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.player-profile-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:600}.player-profile-name{color:var(--color-text-primary);word-wrap:break-word;font-size:22px;font-weight:700}.player-stats-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.stat-item{background:linear-gradient(135deg,var(--color-bg-card)0%,var(--color-bg-elevated)100%);border:2px solid var(--color-border);box-shadow:var(--shadow-sm);border-radius:20px;flex-direction:column;align-items:center;gap:10px;padding:20px 12px;transition:all .3s;display:flex;position:relative;overflow:hidden}.stat-item:before{content:"";background:var(--gradient-primary);border-radius:20px 20px 0 0;height:4px;position:absolute;top:0;left:0;right:0}.stat-item:hover{border-color:var(--color-border-focus);box-shadow:var(--shadow-md),var(--shadow-glow-primary);transform:translateY(-4px)}.stat-item:hover:before{opacity:1}.stat-item:nth-child(2):before{background:var(--gradient-warning)}.stat-item:nth-child(2):hover{box-shadow:var(--shadow-md),var(--shadow-glow-warning)}.stat-item:nth-child(3):before{background:var(--gradient-success)}.stat-item:nth-child(3):hover{box-shadow:var(--shadow-md),var(--shadow-glow-success)}.stat-icon{filter:drop-shadow(0 2px 4px #0000001a);flex-shrink:0;font-size:36px}.stat-value{color:var(--color-text-primary);text-align:center;background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:36px;font-weight:900;line-height:1}.stat-value-points{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.stat-value-wins{background:var(--gradient-success);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.stat-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700}.stat-row{background:linear-gradient(135deg,var(--color-bg-card)0%,var(--color-bg-elevated)100%);border:2px solid var(--color-border);box-shadow:var(--shadow-sm);border-radius:16px;align-items:center;gap:16px;margin-bottom:14px;padding:20px;transition:all .3s;display:flex}.stat-row:last-child{margin-bottom:0}.stat-row:hover{background:linear-gradient(135deg,var(--color-bg-hover)0%,var(--color-bg-card)100%);border-color:var(--color-border-focus);box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-row .stat-icon{text-align:center;flex-shrink:0;width:44px;font-size:36px}.stat-content{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.stat-content .stat-label{margin:0;font-size:14px}.stat-content .stat-value{text-align:left;font-size:36px;font-weight:900;line-height:1}.stat-row .stat-copied{text-align:center;width:100%;color:var(--color-game-success);padding:12px 0;font-size:18px;font-weight:700;display:block}.lobby-warning{color:var(--color-game-danger);text-align:center;background:#f871711a;border:2px solid #f871714d;border-radius:16px;margin-bottom:24px;padding:14px 18px;font-size:14px;font-weight:500;animation:.4s ease-out slideIn}.lobby-warning.fade-out{animation:.5s ease-out forwards fadeOut}.lobby-waiting-message{background:linear-gradient(135deg,#fbbf2426,#f59e0b26);border:2px solid #fbbf2480;border-radius:12px;align-items:center;gap:12px;margin-bottom:20px;padding:16px;display:flex;box-shadow:0 4px 12px #fbbf2433}.lobby-waiting-icon{flex-shrink:0;font-size:32px}.lobby-waiting-text{color:var(--color-text-secondary);font-size:14px;line-height:1.5}.error-message{background:linear-gradient(135deg,#f8717126,#ef444426);border:2px solid #f8717180;border-radius:12px;align-items:center;gap:12px;margin-bottom:20px;padding:16px;display:flex;position:relative;box-shadow:0 4px 12px #f8717133}.error-message-icon{flex-shrink:0;font-size:32px}.error-message-text{color:var(--color-text-secondary);flex:1;font-size:14px;line-height:1.5}.error-message-close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:20px;line-height:1;transition:color .2s;position:absolute;top:8px;right:8px}.error-message-close:hover{color:var(--color-text-primary)}.lobby-actions{flex-direction:column;gap:16px;margin-top:24px;display:flex}.lobby-find-game{gap:12px;min-height:60px;font-size:18px}.lobby-secondary-actions{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.lobby-action-btn{background:var(--color-bg-secondary);border-color:var(--color-border-bright);flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;min-height:68px;padding:12px 8px;font-size:14px}.lobby-action-btn:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-game-action)}.lobby-action-btn .btn-icon{font-size:30px}.lobby-action-btn-full{gap:10px;width:100%;min-height:56px}.settings-btn-with-badge{position:relative}.settings-badge{background:var(--gradient-danger);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;font-weight:700;animation:2s ease-in-out infinite pulse-badge;display:flex;position:absolute;top:8px;right:8px;box-shadow:0 0 10px #f8717180}@keyframes pulse-badge{0%,to{transform:scale(1);box-shadow:0 0 10px #f8717180}50%{transform:scale(1.1);box-shadow:0 0 15px #f87171cc}}.btn-icon{flex-shrink:0;font-size:26px;line-height:1}.battle-board-wrapper{background:linear-gradient(135deg,var(--color-bg-secondary)0%,var(--color-bg-card)100%);border-radius:var(--radius-lg);padding:var(--spacing-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm),inset 0 0 40px #ff6b3505;margin:0;position:relative}.battle-board-grid{grid-template-columns:repeat(4,1fr);gap:6px;max-width:100%;margin:0 auto;display:grid}@media (min-width:640px){.battle-board-grid{gap:8px;max-width:460px}}@media (min-width:768px){.battle-board-grid{gap:10px;max-width:500px}}.battle-board-grace-overlay{z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172ad9;border-radius:20px;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:absolute;inset:0}.battle-board-grace-message{color:var(--color-text-primary);text-shadow:var(--shadow-glow-primary),0 4px 12px #000c;background:var(--bg-action-light);border-radius:var(--radius-lg);border:3px solid var(--color-border-glow);box-shadow:var(--shadow-glow-primary),var(--shadow-lg),inset 0 2px #fff6;padding:20px 40px;font-size:32px;font-weight:900;animation:1.5s ease-in-out infinite pulse-glow}.room-header{text-align:center;margin-bottom:12px;padding-bottom:12px}.room-icon{margin-bottom:4px;font-size:32px}.room-title{color:var(--color-text-primary);letter-spacing:-.01em;margin-bottom:2px;font-size:20px;font-weight:700;line-height:1.2}.room-subtitle{color:var(--color-text-secondary);font-size:13px;font-weight:500;line-height:1.3}.room-status-section{text-align:center;margin-bottom:24px}.room-spinner{border:4px solid #8b5cf633;border-top-color:var(--color-game-action);border-radius:50%;width:56px;height:56px;margin-top:16px;margin-bottom:21px;animation:1s linear infinite spin;display:inline-block}.room-count-card{background:var(--color-bg-secondary);box-shadow:var(--shadow-md);border:1px solid #8b5cf64d;border-radius:20px;padding:32px 24px}.room-count{color:var(--color-game-action);margin-bottom:8px;font-size:56px;font-weight:900;line-height:1}.room-count-label{color:var(--color-text-secondary);font-size:15px;font-weight:500}.room-players-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#8b5cf614,#3b82f614);border:2px solid #8b5cf64d;border-radius:24px;margin-bottom:24px;padding:28px;box-shadow:0 8px 24px #8b5cf626,inset 0 1px #ffffff1a}.room-players-header{color:var(--color-game-action);letter-spacing:.15em;text-transform:uppercase;text-shadow:0 2px 8px #8b5cf680;align-items:center;gap:10px;margin-bottom:20px;font-size:14px;font-weight:800;display:flex}.room-players-header:before{content:"👥";filter:drop-shadow(0 2px 4px #8b5cf699);font-size:18px}.room-players-list{flex-direction:column;gap:14px;display:flex}.room-player-item{background:linear-gradient(135deg,#8b5cf626,#3b82f626);border:2px solid #8b5cf640;border-radius:16px;align-items:center;gap:16px;padding:16px 20px;transition:all .3s cubic-bezier(.4,0,.2,1);animation:.3s ease-out slideUp;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #8b5cf633,inset 0 1px #ffffff26}.room-player-item:before{content:"";background:linear-gradient(180deg,var(--color-game-action)0%,var(--color-player-1)100%);width:4px;height:100%;animation:2s ease-in-out infinite pulse-soft;position:absolute;top:0;left:0;box-shadow:0 0 12px #8b5cf6cc}.room-player-item:hover{border-color:#8b5cf680;transform:translate(4px);box-shadow:0 6px 16px #8b5cf659,inset 0 1px #fff3}.room-player-dot{background:linear-gradient(135deg,var(--color-game-success)0%,var(--color-game-action)100%);border-radius:50%;width:12px;height:12px;animation:1.5s ease-in-out infinite pulse-glow;position:relative;box-shadow:0 0 16px #10b981cc,0 0 4px #8b5cf699}.room-player-dot:after{content:"";opacity:.9;background:#fff;border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes pulse-glow{0%,to{transform:scale(1);box-shadow:0 0 16px #10b981cc,0 0 4px #8b5cf699}50%{transform:scale(1.1);box-shadow:0 0 24px #10b981,0 0 8px #8b5cf6cc}}.room-player-name{color:var(--color-text-primary);text-shadow:0 2px 4px #0000004d;letter-spacing:.02em;flex:1;font-size:16px;font-weight:600}.room-player-item-empty{opacity:.6;border-style:dashed}.room-player-item-empty .room-player-dot{background:linear-gradient(135deg,#8b5cf680,#3b82f680);animation:2s ease-in-out infinite pulse-soft;box-shadow:0 0 12px #8b5cf680}.room-player-item-empty .room-player-name{opacity:.8;font-style:italic}.room-actions{flex-direction:column;gap:16px;display:flex}.results-screen{min-height:100vh}.results-container{max-width:768px;margin:0 auto;animation:.6s ease-out fadeIn}.results-abandoned-warning{background:linear-gradient(135deg,#ef444426,#dc262626);border:2px solid #ef444480;border-radius:16px;align-items:center;gap:16px;margin-bottom:24px;padding:20px;animation:.5s ease-out slideDown;display:flex;box-shadow:0 4px 12px #ef444433}.results-abandoned-icon{filter:drop-shadow(0 2px 4px #0000004d);flex-shrink:0;font-size:48px}.results-abandoned-content{flex:1}.results-abandoned-title{color:var(--color-text-primary);letter-spacing:-.02em;margin-bottom:4px;font-size:20px;font-weight:700}.results-abandoned-message{color:var(--color-text-secondary);font-size:14px;line-height:1.5}.results-waiting-message{background:linear-gradient(135deg,#fbbf2426,#f59e0b26);border:2px solid #fbbf2480;border-radius:12px;align-items:center;gap:12px;margin-bottom:20px;padding:16px;display:flex;box-shadow:0 4px 12px #fbbf2433}.results-waiting-icon{flex-shrink:0;font-size:32px}.results-waiting-text{color:var(--color-text-secondary);font-size:14px;line-height:1.5}.results-header{text-align:center;margin-bottom:12px;padding-bottom:12px}.results-trophy{margin-bottom:8px;font-size:48px}.results-title{color:var(--color-text-primary);letter-spacing:-.01em;margin-bottom:4px;font-size:22px;font-weight:700}.results-game-id-container{justify-content:center;align-items:center;gap:8px;display:flex}.results-subtitle{color:var(--color-text-secondary);margin:0;font-size:15px;font-weight:500}.game-id-copy-btn{color:var(--color-text-primary);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:linear-gradient(135deg,#8b5cf626,#6366f126);border:1.5px solid #8b5cf64d;border-radius:12px;align-items:center;gap:8px;margin-top:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 2px 8px #8b5cf626}.game-id-copy-btn:hover{background:linear-gradient(135deg,#8b5cf640,#6366f140);border-color:#8b5cf680;transform:translateY(-2px);box-shadow:0 4px 16px #8b5cf64d}.game-id-copy-btn:active{transform:translateY(0)scale(.98);box-shadow:0 2px 8px #8b5cf633}.game-id-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px}.game-id-value{color:var(--color-game-action);letter-spacing:.5px;font-family:Courier New,monospace;font-weight:600}.game-id-icon{opacity:.8;font-size:16px}.game-header-subtitle-clickable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .2s}.game-header-subtitle-clickable:hover{color:var(--color-game-action);text-decoration:underline}.game-header-subtitle-clickable:active{transform:scale(.98)}.player-profile-label-clickable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .2s}.player-profile-label-clickable:hover{color:var(--color-game-action);text-decoration:underline}.player-profile-label-clickable:active{transform:scale(.98)}.results-error-text{color:var(--color-text-primary);margin-bottom:24px;font-size:20px}.results-player-card{background:var(--gradient-primary);box-shadow:var(--shadow-lg),var(--shadow-glow);border:2px solid #8b5cf680;border-radius:24px;margin-bottom:24px;padding:28px;animation:.5s ease-out slideUp}.results-winner{background:var(--gradient-success);border-color:var(--color-game-success);box-shadow:var(--shadow-lg),0 0 40px #34d39980;animation:.6s cubic-bezier(.34,1.56,.64,1) scaleIn,3s ease-in-out infinite pulse-soft}.results-player-header{text-align:center;margin-bottom:24px}.results-player-rank-badge{color:#fff;text-shadow:0 4px 12px #0000004d;margin-bottom:8px;font-size:48px;font-weight:900}.results-player-title{color:#ffffffe6;font-size:16px;font-weight:600}.results-stats-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.results-stat{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:20px 16px;display:flex}.results-stat-icon{font-size:32px}.results-stat-value{color:#fff;font-size:28px;font-weight:900}.results-stat-label{color:#ffffffe6;text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.results-standings-card{background:var(--color-bg-card);border:1px solid var(--color-border);box-shadow:var(--shadow-md);border-radius:24px;margin-bottom:20px;padding:24px;animation:.6s ease-out slideUp}.results-standings-title{color:var(--color-text-primary);margin-bottom:20px;font-size:20px;font-weight:700}.results-standings-list{flex-direction:column;gap:12px;display:flex}.results-standing-item{background:var(--color-bg-secondary);border:2px solid var(--color-border);border-radius:16px;justify-content:space-between;align-items:center;padding:16px;transition:all .3s;display:flex}.results-standing-item:hover{border-color:var(--color-border-bright);transform:translate(4px)}.results-standing-me{border-color:var(--color-game-action);background:#8b5cf61a;box-shadow:0 0 0 4px #8b5cf61a}.results-standing-left{align-items:center;gap:16px;display:flex}.results-standing-rank{color:var(--color-text-primary);min-width:50px;font-size:24px;font-weight:900}.results-standing-color{border-radius:50%;width:16px;height:16px;box-shadow:0 2px 8px #0000004d}.results-standing-name{color:var(--color-text-primary);font-size:16px;font-weight:600}.results-standing-you{color:var(--color-game-action);margin-left:8px;font-weight:700}.results-standing-abandoned{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;background:#ef444426;border:1px solid #ef444480;border-radius:6px;margin-left:8px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.results-standing-right{text-align:right}.results-standing-points{color:var(--color-text-primary);font-size:24px;font-weight:900}.results-standing-calc{color:var(--color-text-muted);margin-top:4px;font-size:12px;font-weight:500}.results-summary-card{background:var(--color-bg-card);border:1px solid var(--color-border);box-shadow:var(--shadow-md);border-radius:20px;margin-bottom:24px;padding:24px;animation:.7s ease-out slideUp}.results-summary-title{color:var(--color-text-primary);margin-bottom:20px;font-size:16px;font-weight:700}.results-summary-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.results-summary-item{flex-direction:column;align-items:center;gap:8px;display:flex}.results-summary-icon{font-size:32px}.results-summary-value{color:var(--color-text-primary);font-size:24px;font-weight:900}.results-summary-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.results-back-btn{animation:.8s ease-out slideUp}.results-actions{gap:20px;width:100%;animation:.8s ease-out slideUp;display:flex}.results-action-btn{flex:1;min-height:64px}@media (max-width:640px){.results-actions{flex-direction:column}.results-action-btn{width:100%}}.game-screen-container{background:var(--color-bg-primary);min-height:100vh;padding:0;animation:.3s ease-out fadeIn}.game-screen-wrapper{max-width:768px;padding:var(--spacing-screen);margin:0 auto}.game-header{background:var(--color-bg-card);border-radius:var(--radius-md);padding:var(--spacing-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.game-header-left{align-items:center;gap:10px;display:flex}.game-header-icon{font-size:24px}.game-header-text{flex-direction:column;gap:2px;display:flex}.game-header-title{color:var(--color-text-primary);margin:0;font-size:16px;font-weight:700}.game-header-subtitle{color:var(--color-text-muted);margin:0;font-size:12px}.game-abandon-btn{background:var(--gradient-danger);color:#fff;cursor:pointer;box-shadow:var(--shadow-sm);border:none;border-radius:12px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .3s;display:flex}.game-abandon-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.game-layout{grid-template-columns:1fr;display:grid}@media (min-width:768px){.game-layout{grid-template-columns:1fr}}@media (min-width:1024px){.game-layout{grid-template-columns:1fr 360px}}.game-battle-column{flex-direction:column;gap:12px;display:flex}.turn-info-bar{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--spacing-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);gap:var(--spacing-md);grid-template-columns:1fr auto;align-items:center;margin-bottom:0;display:grid}@media (max-width:640px){.turn-info-bar{padding:var(--spacing-md);gap:var(--spacing-md)}}.game-progress-column{flex-direction:column;gap:12px;display:flex}.turn-timer-card{flex-direction:column;align-items:center;gap:4px;min-width:100px;display:flex}.turn-timer-label{color:var(--color-text-muted);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:700}.turn-timer-value{color:var(--color-text-primary);font-size:36px;font-weight:900;line-height:1;transition:all .3s}.turn-timer-warning{color:var(--color-game-danger);animation:1s ease-in-out infinite pulse-soft}.turn-indicator-card{align-items:center;min-width:0;display:flex}.turn-indicator-content{align-items:center;gap:16px;display:flex}.turn-indicator-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex;box-shadow:0 4px 12px #0000004d}.turn-indicator-active{animation:2s ease-in-out infinite pulse-soft;box-shadow:0 4px 20px #8b5cf699}.turn-indicator-number{color:#fff;font-size:24px;font-weight:900}.turn-indicator-info{flex:1;min-width:0;overflow:hidden}.turn-indicator-label{color:var(--color-text-muted);letter-spacing:.1em;margin-bottom:4px;font-size:11px;font-weight:700}.turn-indicator-player{text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:700;overflow:hidden}.turn-indicator-you{color:var(--color-game-action)}.turn-indicator-name{color:var(--color-text-primary)}.battle-score-card{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--spacing-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.battle-score-title{color:var(--color-text-muted);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:800}.battle-score-list{flex-direction:column;gap:6px;display:flex}.battle-score-item{background:var(--color-bg-secondary);border-radius:10px;justify-content:space-between;align-items:center;padding:8px 10px;transition:all .2s;display:flex}.battle-score-item:hover{background:var(--color-bg-hover)}.battle-score-player{align-items:center;gap:10px;min-width:0;display:flex}.battle-score-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;box-shadow:0 2px 8px #0000004d}.battle-score-name{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.battle-score-points{color:var(--color-text-primary);flex-shrink:0;font-size:16px;font-weight:700}.game-progress-card{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--spacing-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.game-progress-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.game-progress-title{color:var(--color-text-primary);font-size:18px;font-weight:700}.game-progress-battles{color:var(--color-text-muted);font-size:13px;font-weight:500}.game-progress-stats{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;gap:16px;margin-bottom:20px;padding:16px;display:flex}.game-progress-stat-item{flex-direction:column;flex:1;align-items:center;gap:4px;display:flex}.game-progress-stat-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:500}.game-progress-stat-value{color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.game-progress-list{flex-direction:column;gap:12px;display:flex}.game-progress-item{background:var(--color-bg-secondary);border:2px solid var(--color-border);border-radius:16px;justify-content:space-between;align-items:center;padding:16px;transition:all .3s;display:flex}.game-progress-item:hover{border-color:var(--color-border-bright)}.game-progress-item-me{border-color:var(--color-game-action);background:#8b5cf614;box-shadow:0 0 0 4px #8b5cf61a}.game-progress-player{align-items:center;gap:12px;display:flex}.game-progress-dot{border-radius:50%;flex-shrink:0;width:16px;height:16px;box-shadow:0 2px 8px #0000004d}.game-progress-info{flex-direction:column;gap:4px;display:flex}.game-progress-name{color:var(--color-text-primary);font-size:16px;font-weight:600}.game-progress-you{color:var(--color-game-action);margin-left:8px;font-weight:700}.game-progress-rank{color:var(--color-text-muted);font-size:13px}.game-progress-score{text-align:right}.game-progress-points{color:var(--color-text-primary);font-size:24px;font-weight:900}.game-progress-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.error-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:400px;padding:48px 24px;display:flex}.error-icon{opacity:.8;font-size:80px;line-height:1}.error-title{color:var(--color-text-primary);margin:0;font-size:24px;font-weight:700}.error-message{color:var(--color-text-secondary);max-width:480px;margin:0;font-size:16px;line-height:1.6}.room-error-section{flex-direction:column;align-items:center;gap:32px;padding:40px 20px;display:flex}.room-error-message{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:400px;display:flex}.room-error-title{color:var(--color-text-primary);margin:0;font-size:20px;font-weight:700}.room-error-text{color:var(--color-text-secondary);margin:0;font-size:15px;line-height:1.5}.room-error-actions{flex-direction:column;gap:16px;width:100%;max-width:320px;display:flex}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}.notification-container{position:fixed;top:68px;right:12px;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}.notification-toast{position:relative;pointer-events:all;background:var(--color-bg-card);border-radius:8px;padding:16px;min-width:280px;max-width:340px;box-shadow:0 4px 12px #0000004d;border-left:4px solid;cursor:pointer;animation:slideIn .3s ease-out;transition:opacity .2s,transform .2s}.notification-toast:hover{opacity:.9;transform:translate(-4px)}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.notification-info{border-left-color:var(--color-game-action)}.notification-success{border-left-color:var(--color-game-success)}.notification-warning,.notification-error{border-left-color:var(--color-game-danger)}.notification-title{font-weight:600;font-size:14px;margin-bottom:4px;color:var(--color-text-primary)}.notification-message{font-size:13px;color:var(--color-text-secondary);line-height:1.4}.notification-action{margin-top:12px;padding:6px 12px;background:var(--color-game-action);color:var(--color-text-inverse);border:none;border-radius:var(--radius-sm);font-size:12px;font-weight:600;cursor:pointer;transition:opacity .2s}.notification-action:hover{opacity:.9}.persistent-warning{position:fixed;top:0;left:0;right:0;z-index:9998;background:var(--color-game-warning);color:var(--color-text-light);animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.persistent-warning-content{max-width:1200px;margin:0 auto;padding:16px 20px;display:flex;align-items:center;gap:16px}.persistent-warning-icon{font-size:24px;flex-shrink:0}.persistent-warning-text{flex:1}.persistent-warning-title{font-weight:700;font-size:14px;margin-bottom:2px}.persistent-warning-message{font-size:13px;opacity:.9}.persistent-warning-action{padding:8px 16px;background:var(--color-bg-primary);color:var(--color-text-primary);border:none;border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;transition:opacity .2s;flex-shrink:0}.persistent-warning-action:hover{opacity:.9}.persistent-warning-close{width:32px;height:32px;border:none;background:transparent;color:var(--color-text-light);font-size:24px;font-weight:300;cursor:pointer;border-radius:var(--radius-sm);transition:background .2s;flex-shrink:0;display:flex;align-items:center;justify-content:center;line-height:1}.persistent-warning-close:hover{background:#0000001a}@media (min-width: 481px){.notification-container{top:76px;right:16px}.notification-toast{min-width:300px;max-width:360px}}@media (min-width: 769px){.notification-container{top:84px;right:20px}.notification-toast{min-width:320px;max-width:400px}}@media (max-width: 480px){.notification-container{left:12px}.notification-toast{min-width:unset}.persistent-warning-content{padding:12px 16px;gap:12px}.persistent-warning-icon{font-size:20px}.persistent-warning-title{font-size:13px}.persistent-warning-message{font-size:12px}.persistent-warning-action{padding:6px 12px;font-size:12px}}
