:root{--color-primary: #646cff;--color-primary-hover: #535bf2;--color-background: #000;--color-text: rgba(255, 255, 255, .87);--color-text-light: rgba(255, 255, 255, .6);--color-light-text: #213547;--color-light-background: #ffffff;--color-light-hover: #747bff;--color-dashboard-dark: #07203a;--color-dashboard-sidebar: #2c3544;--color-dashboard-light: #fbfdff;--color-success: #4CAF50;--color-error: #f44336;--color-warning: #f39c12;--color-info: #2196F3;--spacing-xs: 8px;--spacing-sm: 12px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--transition-fast: .2s;--transition-normal: .3s;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme: light){:root{color:var(--color-light-text);background-color:var(--color-light-background)}}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--color-text);background-color:var(--color-background)}h1{font-size:3.2em;line-height:1.1;margin:0}h2{font-size:2.5em;line-height:1.2;margin:0}h3{font-size:1.8em;line-height:1.3;margin:0}a{font-weight:500;color:var(--color-primary);text-decoration:inherit}a:hover{color:var(--color-primary-hover)}button{border-radius:var(--radius-md);border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color var(--transition-fast);color:#fff}button:hover{border-color:var(--color-primary)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){button{background-color:#f9f9f9}}.app-shell{min-height:100vh;display:flex;flex-direction:column}.site-main{flex:1;display:flex;flex-direction:column;min-height:calc(100vh - 200px);background-size:cover;background-position:center;background-attachment:fixed}main{text-align:center}.home-page{height:100vh;overflow:hidden}.home-page .site-main{min-height:0;overflow:hidden}.home-hero{flex:1 1 auto;display:flex;margin:0;min-height:0}.home-hero-image{width:100%;height:100%;object-fit:cover;display:block}.page-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 20px;max-width:1000px;margin:0 auto;min-height:60vh}.content-container{background:#ffffff0d;border-radius:var(--radius-lg);padding:40px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.content-section{margin-bottom:var(--spacing-xl)}.content-section h2{color:#fff;font-size:1.6em;margin-bottom:var(--spacing-md);border-bottom:2px solid rgba(255,255,255,.3);padding-bottom:var(--spacing-xs)}.content-section p{color:#ffffffd9;line-height:1.8;margin-bottom:var(--spacing-md);font-size:1.05em}@media (max-width: 768px){.page-content{padding:40px 16px}.content-container{padding:24px}}.page-content .download{display:inline-flex;align-items:center;gap:14px;margin:40px auto 0;padding:20px 48px;font-size:1.6em;font-weight:600;border-radius:14px;color:#fff;text-decoration:none;transition:all .2s ease}.page-content .download .icon-download{height:1.4em}.site-header{display:flex;flex-direction:column;padding:16px 32px;background-color:var(--color-background);flex-shrink:0}.site-header .header-links{display:flex;align-items:center;flex-wrap:wrap;gap:24px;width:100%}.site-header .logo{height:7.5em;width:auto;display:block;margin-right:3em;padding-top:7px}.download{display:flex;align-items:center;gap:var(--spacing-xs);cursor:pointer;font-weight:500;margin-left:auto;padding-right:5em;color:#fff;text-decoration:none}.download:hover{text-decoration:none;color:#fff}.icon-download{height:1em;width:auto;display:block;flex-shrink:0}.lien{color:inherit;text-decoration:none;margin-right:2em}.lien:hover{text-decoration:underline;color:#fff}.site-footer{text-align:center;padding:16px 0;width:100%;background-color:var(--color-background);flex-shrink:0}.site-footer .footer-links{display:flex;justify-content:center;align-items:center;flex-wrap:nowrap;gap:16px 24px;margin-bottom:var(--spacing-sm)}.site-footer .social-links{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);flex-wrap:nowrap;margin-bottom:var(--spacing-sm)}.twitter-icon,.facebook-icon,.insta-icon{height:1.5em;width:auto;display:block;flex-shrink:0}.separator{height:2px;width:100%;max-width:90%;background:currentColor;opacity:.15;margin:8px auto 12px}.site-footer small{opacity:.7}@media (max-width: 480px){.site-footer .footer-links{gap:12px 16px}}.login-page{position:relative;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.login-background{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}.login-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;width:100%;max-width:600px;padding:20px}.login-logo{width:200px;height:auto}.login-card{background:#192332bf;border:2px solid rgba(200,100,220,.5);border-radius:var(--radius-lg);padding:40px 50px;width:100%;max-width:500px;box-shadow:0 8px 32px #ff40b440,0 0 60px #c864dc33;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.login-title{color:#fff;font-size:1.8em;font-weight:400;letter-spacing:.15em;text-align:center;margin:0 0 30px}.login-form{display:flex;flex-direction:column;gap:30px}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-label{color:#dc96ffe6;font-size:.9em;font-weight:400;text-align:left}.form-input{background:#28324699;border:1px solid rgba(200,100,220,.4);border-radius:6px;padding:12px 16px;font-size:1em;color:#fff;font-family:inherit;transition:all var(--transition-fast)}.form-input:focus{outline:none;border-color:#dc96ffcc;box-shadow:0 0 12px #dc96ff66,0 0 20px #ff64c833;background:#283246cc}.form-input::placeholder{color:#fff6}.form-actions{display:flex;gap:var(--spacing-md);margin-top:10px}.btn-primary,.btn-secondary{flex:1;padding:12px 24px;font-size:1em;font-weight:500;border-radius:6px;border:none;cursor:pointer;transition:all var(--transition-fast);font-family:inherit;text-align:center}.btn-primary{background:linear-gradient(135deg,#c864dce6,#6496ffe6);color:#fff;font-weight:600}.btn-primary:hover{background:linear-gradient(135deg,#dc78f0,#78aaff);transform:translateY(-1px);box-shadow:0 4px 16px #c864dc80,0 0 20px #ff64c84d}.btn-secondary{background:transparent;color:#dc96ffe6;border:1px solid rgba(200,100,220,.5)}.btn-secondary:hover{background:#c864dc26;border-color:#dc96ffcc;transform:translateY(-1px);box-shadow:0 0 12px #c864dc4d;color:#fff}.login-security-info{text-align:center;color:#718096;margin-bottom:20px;font-size:14px}.login-error{padding:10px;margin-bottom:15px;background-color:#ff000020;border:1px solid #ff0000;border-radius:5px;color:red}@media (max-width: 600px){.login-card{padding:30px 25px}.login-title{font-size:1.5em}.login-logo{width:150px}}.dashboard-container{display:flex;height:100vh;width:100vw;overflow:hidden;background:#fff}.dashboard-sidebar{width:240px;background:var(--color-dashboard-sidebar);display:flex;flex-direction:column;padding:24px 0;flex-shrink:0}.sidebar-header{padding:0 24px 32px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-logo{width:120px;height:auto}.sidebar-nav{flex:1;padding:24px 0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.nav-item{color:#ffffffb3;text-decoration:none;padding:12px 24px;font-size:.95em;transition:all var(--transition-fast);border-left:3px solid transparent}.nav-item:hover{background:#ffffff0d;color:#fff}.nav-item.active{background:#ffffff1a;color:#fff;border-left-color:#fff;font-weight:500}.sidebar-user{display:flex;justify-content:center;padding:16px 32px}.sidebar-back{color:#ffffffb3;text-decoration:none;padding:16px 24px;font-size:.9em;transition:color var(--transition-fast);margin-top:auto}.sidebar-back:hover{color:#fff}.dashboard-main{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--color-dashboard-light)}.dashboard-main p{color:#000}.dashboard-header{background:#fff;padding:20px 32px;border-top:1px solid #e0e0e0;display:flex;justify-content:center;color:var(--color-dashboard-dark);border-bottom:1px solid #e0e0e0}.dashboard-content{flex:1;padding:var(--spacing-xl);overflow:auto;color:var(--color-dashboard-dark)}.content-placeholder{background:#d9d9d9;border-radius:var(--radius-md);height:100%;display:flex;align-items:center;justify-content:center;min-height:400px}.content-placeholder p{color:#333;font-size:1.2em}.search-bar-players{display:flex;align-items:center;gap:var(--spacing-sm);background:var(--color-dashboard-dark);border-radius:24px;padding:10px 20px;max-width:520px;width:100%}.search-input{background:transparent;border:none;color:#fff;font-size:.95em;outline:none;flex:1;font-family:inherit}.search-input::placeholder{color:#fff9}.search-icon{width:20px;height:20px}@media (max-width: 768px){.dashboard-sidebar{width:200px}.sidebar-logo{width:100px}}.search-bar-users{display:flex;align-items:center;gap:var(--spacing-sm);background:#000;color:#fff;border-radius:24px;padding:10px 20px;max-width:400px;width:100%;margin-bottom:2em}.users-stats{display:flex;gap:20px;padding:0 32px}.stat-card{flex:1;padding:20px;background:#fff;border-radius:var(--radius-md);box-shadow:0 2px 4px #0000001a}.stat-card h3{margin:0 0 10px;font-size:16px;color:#666;font-weight:400}.stat-number{font-size:32px;font-weight:700;margin:10px 0;color:#333}.users-table{overflow-x:auto;background:#fff;border-radius:var(--radius-md);box-shadow:0 2px 4px #0000001a;margin:0 32px}.users-table table{width:100%;border-collapse:collapse}.users-table thead tr{background:var(--color-dashboard-dark);color:#fff}.users-table th{padding:12px;text-align:center;font-weight:600}.users-table tbody tr{border-bottom:1px solid #ddd;transition:background-color var(--transition-fast)}.users-table tbody tr:hover{background-color:#f9f9f9}.users-table td{padding:12px;color:#333;font-size:14px}.users-table tbody tr td:first-child{font-family:monospace;color:#666;font-size:14px}.users-table tbody tr:last-child{border-bottom:none}.users-table tbody tr.clickable{cursor:pointer}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.user-card-modal{background:#fff;border-radius:var(--radius-lg);width:90%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0000004d;position:relative;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:16px;right:16px;background:transparent;border:none;font-size:24px;cursor:pointer;color:#666;width:32px;height:32px;min-width:50px;min-height:50px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all var(--transition-fast);flex-shrink:0;padding:0}.modal-close:hover{background:#f0f0f0;color:#333}.user-card-header{padding:32px 32px 24px;border-bottom:1px solid #e0e0e0}.user-name-status{display:flex;align-items:center;gap:var(--spacing-sm)}.user-card-header h2{margin:0;color:#333;font-size:24px}.user-status{padding:6px 12px;border-radius:20px;font-size:14px;font-weight:500}.user-status.verified{background:#e8f5e9;color:#2e7d32;align-content:center}.user-status.not-verified{background:#fff3e0;color:#f57c00}.user-card-body{padding:24px 32px 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.user-info-group{display:flex;flex-direction:column;gap:6px}.user-info-group label{font-size:12px;color:#666;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.user-info-group p{margin:0;color:#333;font-size:15px;word-break:break-word}.user-info-group .user-id{font-family:monospace;font-size:13px;color:#666;background:#f5f5f5;padding:8px 12px;border-radius:6px}.player-link{color:#000;text-decoration:none;font-size:15px;font-weight:500;display:block;text-align:center;padding:8px 12px;transition:all var(--transition-fast)}.player-link:hover{color:#000;text-decoration:underline}.user-info-section{grid-column:1 / -1;padding:20px;background:#f9f9f9;border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.user-info-section .section-title{margin:0 0 16px;font-size:16px;font-weight:600;color:#333;border-bottom:2px solid #e0e0e0;padding-bottom:var(--spacing-xs)}.editable-section{background:#fff;border:1px solid #e0e0e0}.edit-input{width:100%;max-width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:var(--radius-sm);font-size:15px;font-family:inherit;color:#fff;transition:all var(--transition-fast);box-sizing:border-box}select.edit-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.edit-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #646cff1a}.user-card-footer{display:flex;gap:var(--spacing-sm);justify-content:flex-end;padding:20px 32px;border-top:1px solid #e0e0e0;background:#f9f9f9}.btn-edit,.btn-delete,.btn-save,.btn-cancel{padding:10px 24px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);border:none;font-family:inherit}.btn-edit{background:var(--color-primary);color:#fff}.btn-edit:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #646cff4d}.btn-delete{background:transparent;color:#d32f2f;border:1px solid #d32f2f}.btn-delete:hover{background:#d32f2f;color:#fff;transform:translateY(-1px)}.btn-save{background:#2e7d32;color:#fff}.btn-save:hover{background:#1b5e20;transform:translateY(-1px);box-shadow:0 4px 12px #2e7d324d}.btn-cancel{background:transparent;color:#666;border:1px solid #ddd}.btn-cancel:hover{background:#f5f5f5;border-color:#999}@media (max-width: 768px){.user-card-modal{width:95%;max-height:95vh}.user-card-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.user-card-body{grid-template-columns:1fr}}.player-search-input{width:100%;padding:12px 16px;font-size:1rem;border-radius:var(--radius-md);border:1px solid #ddd;outline:none;margin-bottom:20px}.player-search-input:focus{border-color:var(--color-info);box-shadow:0 0 0 3px #2196f31a}.player-header-card{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;background:#fff;padding:24px;border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000000a}.player-header-left{display:flex;gap:var(--spacing-md);align-items:center}.player-avatar,.player-avatar-large{width:64px;height:64px;border-radius:var(--radius-lg);background:#eef6ff;display:flex;align-items:center;justify-content:center;font-size:28px;color:#083145;font-weight:800}.player-avatar-small{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid #e0e0e0}.player-header-info h2{margin:0;color:#0b2b45;font-size:1.5rem}.player-usertag{color:#556670;margin-top:4px}.player-status{margin-top:6px;font-size:.9rem;font-weight:600}.player-status.online,.status-online{color:var(--color-success)}.player-status.offline,.status-offline{color:var(--color-error)}.player-details-container{display:grid;grid-template-columns:1fr 1.5fr;gap:20px}.player-info-card,.player-stats-card{background-color:#fff;padding:22px;border-radius:10px;box-shadow:0 8px 30px #0a1e3c0f}.player-info-card h3,.player-stats-card h3{color:var(--color-dashboard-dark);margin-top:0;border-bottom:2px solid #f0f0f0;padding-bottom:var(--spacing-sm);margin-bottom:20px}.info-row{display:flex;justify-content:space-between;padding:10px;background:#f9f9f9;border-radius:var(--radius-sm);border-left:3px solid var(--color-info);margin-bottom:10px}.info-label,.info-row-label{font-weight:600;color:#555}.info-value,.info-row-value{color:#333;word-break:break-all;font-weight:600;max-width:60%;overflow:hidden;text-overflow:ellipsis}.info-row-value.small{font-size:.8rem}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:30px}.stat-card.games{background:linear-gradient(135deg,#667eea,#764ba2)}.stat-card.wins{background:linear-gradient(135deg,var(--color-success) 0%,#45a049 100%)}.stat-card.losses{background:linear-gradient(135deg,var(--color-error) 0%,#da190b 100%)}.stat-card.winrate{background:linear-gradient(135deg,var(--color-warning) 0%,#e65100 100%)}.stat-card{color:#fff;padding:18px;border-radius:10px;text-align:center;box-shadow:0 6px 18px #0a1e3c0f}.progress-bar{position:relative;height:30px;background:#e0e0e0;border-radius:var(--radius-sm);overflow:hidden;display:flex;align-items:center}.progress-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .6s cubic-bezier(.2,.9,.3,1)}.progress-label{position:absolute;left:var(--spacing-xs);color:#fff;font-weight:600;font-size:12px;text-shadow:0 1px 2px rgba(0,0,0,.2)}.win-rate-bar{margin-top:10px;height:6px;background:#e0e0e0;border-radius:3px;overflow:hidden}.win-rate-fill{height:100%;background:var(--color-success)}.player-actions,.edit-actions,.action-row{margin-top:20px;display:flex;gap:10px}.player-actions button,.edit-actions button{flex:1}.btn{flex:1;padding:10px;color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;transition:all var(--transition-fast)}.btn-edit{background:linear-gradient(90deg,#4ea8ff,#2b8cff);box-shadow:0 6px 18px #2e88ff2e}.btn-delete{background:linear-gradient(90deg,#ff7b7b,#ff5252);box-shadow:0 6px 18px #ff505024}.btn-save{background:linear-gradient(90deg,#4dd36a,#28b44b);box-shadow:0 6px 18px #28b44b1f}.btn-cancel{background:linear-gradient(90deg,#cfcfcf,#9e9e9e);box-shadow:0 6px 18px #0000000d}.edit-form{display:flex;flex-direction:column;gap:15px}.edit-input-group{display:flex;flex-direction:column;gap:5px}.edit-input-group label{font-size:.85rem;font-weight:600;color:#666}.edit-input,.edit-select{width:100%;padding:10px;border:1px solid #ddd;border-radius:var(--radius-sm);box-sizing:border-box;font-size:.95rem}.stats-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.game-stat-item{background:#f9fafb;padding:var(--spacing-md);border-radius:var(--radius-md);border:1px solid #eee}.game-stat-header{display:flex;justify-content:space-between;align-items:center}.game-stat-title{font-size:1.1rem;color:#0b2b45;font-weight:700}.game-badge{display:inline-block;background:linear-gradient(90deg,#fff 0,#f1f9ff);color:#0b2b45;padding:6px 10px;border-radius:999px;font-weight:600;border:1px solid #e6f2ff}.game-rank-badge{padding:4px 12px;border-radius:20px;font-size:.85rem;font-weight:700}.game-rank-badge.ranked{background:#fff8e1;color:#f57f17;border:1px solid #ffe082}.game-rank-badge.unranked{background:#eee;color:#888;border:1px solid transparent}.game-rank-badge.ranked{text-decoration:none;cursor:pointer;transition:all var(--transition-fast)}.game-rank-badge.ranked:hover{background:#fff3cd;border-color:#ffc107}@media (max-width: 1200px){.player-details-container{grid-template-columns:1fr}}@media (max-width: 768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.player-info-card,.player-stats-card{padding:15px}}.ranking-content{padding:20px}.ranking-header{text-align:center;margin-bottom:30px}.ranking-header h2{color:#333;font-size:2rem;margin-bottom:10px}.game-selector{display:flex;gap:15px;justify-content:center;margin-bottom:30px;flex-wrap:wrap}.game-button{padding:12px 24px;border:2px solid #e0e0e0;border-radius:var(--radius-md);background:#fff;cursor:pointer;font-size:16px;font-weight:500;display:flex;align-items:center;gap:var(--spacing-xs);transition:all var(--transition-normal) ease;color:var(--color-dashboard-dark)}.game-button:hover{border-color:var(--color-info);background:#f5f5f5;transform:translateY(-2px)}.game-button.active{border-color:var(--color-dashboard-dark);background:#e3f2fd;font-weight:600;box-shadow:0 0 10px #4299e180}.ranking-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.ranking-table th.sortable:hover{background:#ececec}.game-icon{font-size:20px}.ranking-table-container{background:#fff;border-radius:var(--radius-lg);padding:20px;box-shadow:0 2px 8px #0000001a;overflow-x:auto}.ranking-table{width:100%;border-collapse:collapse;min-width:800px}.ranking-table thead{background:#f5f5f5;border-bottom:2px solid #e0e0e0}.ranking-table th{padding:15px 12px;text-align:left;font-weight:600;color:#555;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.ranking-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background var(--transition-fast) ease}.ranking-table tbody tr:hover{background:#fafafa}.ranking-table td{padding:15px 12px;color:#333}.rank-cell{font-weight:600;font-size:18px;width:80px}.rank-badge{display:inline-block;min-width:40px;text-align:center}.rank-gold{color:gold;font-size:24px}.rank-silver{color:silver;font-size:22px}.rank-bronze{color:#cd7f32;font-size:20px}.player-cell{display:flex;align-items:center;gap:var(--spacing-sm)}.player-name{font-weight:500;color:#333}.player-tag{color:#666;font-size:14px;font-weight:400}.wins-cell{color:var(--color-success);font-weight:600}.losses-cell{color:var(--color-error);font-weight:600}.winrate-cell{min-width:150px}.winrate-bar-small{display:flex;align-items:center;gap:var(--spacing-xs)}.winrate-fill-small{height:8px;background:#e0e0e0;border-radius:var(--radius-sm);flex:1;overflow:hidden;position:relative}.winrate-fill-small:after{content:"";position:absolute;left:0;top:0;height:100%;background:linear-gradient(90deg,var(--color-success),#8BC34A);border-radius:var(--radius-sm);width:var(--winrate)}.winrate-text{font-weight:600;font-size:14px;min-width:45px;color:#666}.btn-view{padding:8px 16px;background:var(--color-info);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;text-decoration:none;display:inline-block;transition:background var(--transition-fast) ease}.btn-view:hover{background:#1976d2;transform:translateY(-1px)}.ranking-loading,.ranking-error,.ranking-empty{text-align:center;padding:40px;font-size:18px}.ranking-loading{color:var(--color-info)}.ranking-error{color:var(--color-error)}.ranking-empty{color:#999;font-size:16px}@media (max-width: 768px){.game-selector{flex-direction:column;gap:10px}.game-button{width:100%;justify-content:center}.ranking-table-container{padding:10px}.ranking-table{font-size:14px}.ranking-table th,.ranking-table td{padding:10px 8px}.player-avatar-small{width:32px;height:32px}.rank-cell{font-size:16px}}.loading,.loading-message{text-align:center;padding:3rem;color:var(--color-info);font-weight:700;font-size:18px}.spinner{border:4px solid rgba(0,0,0,.1);border-left-color:var(--color-info);border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:0 auto 1rem}.error-container,.error-message{text-align:center;padding:3rem;color:var(--color-error);font-size:1.2rem}.error-box{background:#ffebee;color:var(--color-error);padding:var(--spacing-sm);border-radius:var(--radius-sm);margin-top:10px;border-left:4px solid var(--color-error)}.placeholder-center{text-align:center}.placeholder-text{color:#333;font-size:1.2em;margin-bottom:20px}.date-info{text-align:center;color:#fff9;font-size:.9em;margin-bottom:30px}.content-wrapper{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:18px}.content-header{align-items:center}.content-header h1{margin:0;color:#0b2b45}.content-actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs)}.quick-summary,.summary-item{display:flex;gap:var(--spacing-sm);align-items:center}.summary-card{background:#fff;padding:var(--spacing-sm);border-radius:10px;text-align:center;min-width:100px}.summary-card .value,.summary-value{font-size:18px;font-weight:700}.summary-card .label,.summary-label{font-size:12px;color:#6b7b86;text-transform:uppercase;letter-spacing:.5px}.stat-small{font-size:12px;color:#566674}.time-played{margin-top:20px;padding:15px;background:#fff7e6;border-left:4px solid #ffb545;border-radius:6px;color:#8a5b00;font-size:14px}.stats-total-time{margin-top:20px;padding-top:15px;border-top:1px solid #eee;text-align:right;color:#666;font-size:.9rem}@media (max-width: 900px){.content-wrapper{padding:0 var(--spacing-md)}.quick-summary{gap:var(--spacing-xs)}}.verification-info{text-align:center;color:#4a5568;margin-bottom:20px;font-size:15px;line-height:1.6}.verification-info strong{color:#2d3748;font-weight:600}.verification-error{padding:10px;margin-bottom:15px;background-color:#ff000020;color:#c53030;border-radius:5px;text-align:center;font-size:14px}.verification-code-input{text-align:center;font-size:24px;letter-spacing:8px;font-family:monospace}.btn-submit{transition:opacity var(--transition-fast),cursor var(--transition-fast)}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.verification-resend{margin-top:20px;text-align:center;font-size:14px}.verification-resend-text{color:#718096;margin-bottom:10px}.verification-countdown{color:#a0aec0}.btn-resend{background:none;border:none;color:#4299e1;cursor:pointer;text-decoration:underline;font-size:14px;transition:opacity var(--transition-fast)}.btn-resend:disabled{cursor:not-allowed;opacity:.6}.btn-resend:hover:not(:disabled){color:#2b6cb0}.verification-back{margin-top:30px;text-align:center;padding-top:20px;border-top:1px solid #e2e8f0}.verification-back-link{color:#4299e1;text-decoration:none;font-size:14px;transition:color var(--transition-fast)}.verification-back-link:hover{color:#2b6cb0}.dashboard-home{padding:2rem;width:100%;max-width:none;margin:0;height:100vh;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;color:#2c3e50}.dashboard-home>*{max-width:1400px;margin-left:auto;margin-right:auto}.dashboard-header{display:flex;align-items:center;margin-bottom:2rem}.dashboard-header h1,.dashboard-header span{font-size:2.5rem;margin:0;color:#2c3e50}.refresh-btn-header{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:transform .2s,box-shadow .2s;font-weight:600}.refresh-btn-header:hover{transform:scale(1.05);box-shadow:0 4px 12px #667eea66}.loading{text-align:center;padding:3rem}.spinner{border:4px solid rgba(0,0,0,.1);border-left-color:#3498db;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.error-container{text-align:center;padding:3rem}.error{color:#e74c3c;font-size:1.2rem;margin-bottom:1rem}.retry-btn{padding:.75rem 1.5rem;background-color:#3498db;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1rem;transition:background-color .3s}.retry-btn:hover{background-color:#2980b9}.stats-section{margin-bottom:2.5rem}.section-title{font-size:1.5rem;color:#2c3e50;margin-bottom:1rem;font-weight:600}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.stats-row.single{grid-template-columns:1fr;max-width:600px;margin:0 auto 2.5rem}.stat-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;transition:transform .3s,box-shadow .3s}.stat-card.large{padding:2rem;text-align:center}.stat-card.large .stat-value{font-size:3.5rem}.stat-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026}.stat-content{width:100%}.stat-content h3{font-size:.9rem;color:#34495e!important;margin-bottom:.5rem;font-weight:600;text-transform:uppercase}.stat-value{font-size:2.5rem;font-weight:700;margin:.5rem 0;line-height:1}.stat-card .stat-label{font-size:.85rem;color:#2c3e50!important;font-weight:500}.stat-card.primary{border-left:4px solid #3498db}.stat-card.primary .stat-value{color:#3498db}.stat-card.success{border-left:4px solid #2ecc71}.stat-card.success .stat-value{color:#2ecc71}.stat-card.info{border-left:4px solid #9b59b6}.stat-card.info .stat-value{color:#9b59b6}.stat-card.warning{border-left:4px solid #f39c12}.stat-card.warning .stat-value{color:#f39c12}.stat-card.accent{border-left:4px solid #e74c3c}.stat-card.accent .stat-value{color:#e74c3c}.stat-card.secondary{border-left:4px solid #1abc9c}.stat-card.secondary .stat-value{color:#1abc9c}.stat-card.tertiary{border-left:4px solid #34495e}.stat-card.tertiary .stat-value{color:#34495e}@media (max-width: 768px){.stats-info .dashboard-home{padding:1rem;height:auto}.stats-info .dashboard-header{flex-direction:column;gap:1rem;align-items:flex-start}.stats-info .dashboard-header h1,.stats-info .stat-value{font-size:2rem}}.stats-info .dashboard-header h1{font-size:2rem}.stats-info .stats-grid{grid-template-columns:1fr}.stats-info .stat-value{font-size:2rem}
