html{height:100%}body,html{background-color:#f8f9fa;background-color:var(--background-color);overflow-x:hidden;width:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#1a1a1a;color:var(--text-color);font-family:Jost,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;min-height:100%}*,body{box-sizing:border-box}*{max-width:100%}h1,h2,h3,h4,h5,h6{font-family:Oswald,sans-serif;letter-spacing:.05em;text-transform:uppercase}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--background-color:#f8f9fa;--text-color:#1a1a1a;--text-secondary:#4a4a4a;--text-tertiary:#717171;--primary-color:#10b981;--primary-hover:#059669;--secondary-color:#fff;--border-color:#e5e7eb;--success-color:#10b981;--warning-color:#f59e0b;--error-color:#ef4444;--info-bg:#ecfdf5;--info-text:#065f46;--error-bg:#fef2f2;--error-text:#991b1b;--input-bg-color:#fff;--button-text-color:#fff}[data-theme=dark]{--background-color:#080808;--text-color:#f3f4f6;--text-secondary:#d1d5db;--text-tertiary:#9ca3af;--primary-color:#10b981;--primary-hover:#34d399;--secondary-color:#121212;--border-color:#1f2937;--success-color:#10b981;--warning-color:#fbbf24;--error-color:#f87171;--info-bg:#064e3b;--info-text:#d1fae5;--error-bg:#7f1d1d;--error-text:#fee2e2;--input-bg-color:#1a1a1a;--button-text-color:#fff}:root{--tournament-type-atgames-4k-color:#0c5460;--tournament-type-atgames-4k-shadow-color:#0c546033;--tournament-type-atgames-hd-color:#721c24;--tournament-type-atgames-hd-shadow-color:#721c2433;--tournament-type-atgames-all-legends-color:#4a148c;--tournament-type-atgames-all-legends-shadow-color:#4a148c33;--tournament-type-unknown-color:#6c757d;--tournament-type-unknown-shadow-color:#6c757d33;--tournament-type-stern-current-color:#0c5460;--tournament-type-stern-current-shadow-color:#0c546033;--tournament-type-stern-past-color:#721c24;--tournament-type-stern-past-shadow-color:#721c2433;--atgames-4k-color:var(--tournament-type-atgames-4k-color);--atgames-4k-shadow-color:var(--tournament-type-atgames-4k-shadow-color);--atgames-hd-color:var(--tournament-type-atgames-hd-color);--atgames-hd-shadow-color:var(--tournament-type-atgames-hd-shadow-color);--atgames-all-legends-color:var(--tournament-type-atgames-all-legends-color);--atgames-all-legends-shadow-color:var(--tournament-type-atgames-all-legends-shadow-color);--stern-current-color:var(--tournament-type-stern-current-color);--stern-past-color:var(--tournament-type-stern-past-color)}.App{background-color:var(--background-color);display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden;text-align:center;transition:all .3s ease}.App,.App-header{color:var(--text-color)}.App-header{background-color:var(--secondary-color);border-bottom:1px solid var(--border-color);box-shadow:0 4px 6px -1px #0000000d;padding:10px 0;position:sticky;top:0;z-index:1000}[data-theme=dark] .App-header{border-bottom-color:#10b98133}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 20px;width:calc(100% - 40px)}.header-text{text-align:left}.header-title{color:var(--primary-color);font-family:Oswald,sans-serif;font-size:1.8rem;letter-spacing:.1em;margin:0;text-transform:uppercase}.main-content{box-sizing:border-box;flex:1 1;margin:0 auto;max-width:1400px;overflow-x:hidden;padding:24px 20px;width:100%}.footer{background-color:var(--secondary-color);border-top:1px solid var(--border-color);color:var(--text-tertiary);font-family:Jost,sans-serif;font-size:.9rem;padding:24px}.footer p{margin:0}.footer a{color:var(--primary-color);font-weight:500;text-decoration:none}.footer a:hover{color:var(--primary-hover)}.refresh-button,.theme-toggle{align-items:center;background-color:var(--primary-color);border:none;border-radius:12px;box-shadow:0 10px 15px -3px #10b9814d;color:#fff;cursor:pointer;display:flex;height:48px;justify-content:center;position:fixed;right:24px;transition:all .3s cubic-bezier(.4,0,.2,1);width:48px;z-index:100}.theme-toggle{bottom:24px}.refresh-button{bottom:84px}.refresh-button:hover,.theme-toggle:hover{background-color:var(--primary-hover);box-shadow:0 20px 25px -5px #10b98166;transform:translateY(-4px)}.links-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;box-sizing:border-box;display:flex;flex-direction:column;height:100%;padding:15px}.links-card.dark{background-color:#333;color:#f5f5f5}.links-card-title{color:#333;font-size:1.2em;font-weight:700;margin-bottom:10px}.links-card.dark .links-card-title{color:#f5f5f5}.links-card-header{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:20px}.links-card-header h2{color:#333;color:var(--text-color,#333);font-size:1.5rem;margin:0}.links-card-content{background-color:#f8f8f8;border-radius:4px;display:flex;flex:1 1;flex-direction:column;padding:10px}.links-card.dark .links-card-content{background-color:#444}.links-list{list-style-type:none;margin:0;padding:0}.links-list li{margin-bottom:8px}.links-list li:last-child{margin-bottom:0}.links-list a{align-items:center;color:#4caf50;display:flex;padding:5px 0;text-decoration:none}.qr-code-container{align-items:center;cursor:pointer;display:inline-flex;margin-left:10px}.qr-code-popup{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 10px #0003;display:flex;flex-direction:column;left:50%;padding:20px;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:1000}.qr-code-popup.dark{background:#333;color:#f5f5f5}.qr-code-popup-overlay{background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.links-card.dark .links-list a{color:#8bc34a}.links-list a:hover{text-decoration:underline}.ranking-disclaimer{background-color:#f8f8f8;background-color:var(--background-color,#f8f8f8);border-left:4px solid #ffc107;border-radius:4px;color:#666;color:var(--text-secondary,#666);font-size:.9em;line-height:1.4;margin-top:15px;margin-top:10px;padding:12px 15px;transition:background-color .3s ease,color .3s ease}.ranking-disclaimer p{margin:0}.ranking-disclaimer a{color:#4caf50;color:var(--primary-color,#4caf50);font-weight:700;text-decoration:none}.ranking-disclaimer a:hover{text-decoration:underline}.dark .ranking-disclaimer{background-color:#222;background-color:var(--background-color,#222);border-left-color:#ffc107;color:#aaa;color:var(--text-secondary,#aaa)}.google-auth-container{display:flex;justify-content:center;margin:5px 0}.google-signin-button{align-items:center;background-color:#fff;border:1px solid #dadce0;border-radius:4px;box-shadow:0 1px 3px #0000001f;color:#757575;cursor:pointer;display:flex;font-family:Roboto,sans-serif;font-size:14px;font-weight:500;padding:6px 12px;transition:background-color .3s}.google-signin-button:hover{background-color:#f5f5f5;box-shadow:0 1px 3px #0000003d}.google-logo{height:18px;margin-right:10px;width:18px}.user-profile{align-items:center;background-color:#f5f5f5;border-radius:4px;box-shadow:0 1px 3px #0000001f;display:flex;gap:10px;padding:6px 12px}.user-photo{border-radius:50%;height:32px;object-fit:cover;width:32px}.user-name{color:#333;font-family:Roboto,sans-serif;font-size:14px;font-weight:500}.logout-button{background-color:var(--primary-color);border:none;border-radius:4px;color:var(--button-text-color);cursor:pointer;font-size:12px;padding:6px 12px;transition:background-color .3s}.logout-button:hover{background-color:var(--primary-hover)}.dark .google-signin-button{background-color:#333;border-color:#555;color:#e0e0e0}.dark .google-signin-button:hover{background-color:#444}.dark .user-profile{background-color:#333;box-shadow:0 1px 3px #00000080}.dark .user-name{color:#e0e0e0}.modal-backdrop{align-items:center;animation:fadeIn .2s ease-out;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}.modal-container{animation:slideIn .3s ease-out;background-color:#fff;background-color:var(--secondary-color,#fff);border-radius:8px;box-shadow:0 4px 8px #0003;display:flex;flex-direction:column;max-height:90vh;min-height:300px;min-width:320px;transition:background-color .3s ease}.modal-container.small{max-width:400px;width:90%}.modal-container.medium{max-width:600px;width:90%}.modal-container.large{max-width:800px;width:90%}.modal-header{align-items:center;border-bottom:1px solid #eee;border-bottom:1px solid var(--border-color,#eee);display:flex;justify-content:space-between;padding:15px 20px 0}.modal-header h2{color:#333;color:var(--text-color,#333);font-size:1.5rem;margin:0}.modal-close-button{background:none;border:none;color:#666;color:var(--text-secondary,#666);cursor:pointer;font-size:1.5rem;transition:color .2s}.modal-close-button:hover,.modal-content{color:#333;color:var(--text-color,#333)}.modal-content{flex:1 1;overflow-y:auto;overscroll-behavior:contain;padding:15px}.modal-backdrop.dark .modal-container{background-color:#080808;border:1px solid #10b981;box-shadow:0 0 50px #10b9811a}.modal-backdrop.dark .modal-header{border-bottom-color:#10b981}.modal-backdrop.dark .modal-content,.modal-backdrop.dark .modal-header h2{color:#eee;color:var(--text-color,#eee)}.modal-backdrop.dark .modal-close-button{color:#aaa;color:var(--text-secondary,#aaa)}.modal-backdrop.dark .modal-close-button:hover{color:#eee;color:var(--text-color,#eee)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:600px){.modal-container.large,.modal-container.medium,.modal-container.small{max-width:none;min-width:300px;width:95%}.modal-header h2{font-size:1.2rem}.modal-content{padding:15px}}:root{--atgames-4k-color:var(--tournament-type-atgames-4k-color,#0c5460);--atgames-4k-shadow-color:var(--tournament-type-atgames-4k-shadow-color,#0c546033);--atgames-hd-color:var(--tournament-type-atgames-hd-color,#721c24);--atgames-hd-shadow-color:var(--tournament-type-atgames-hd-shadow-color,#721c2433);--atgames-all-legends-color:var(--tournament-type-atgames-all-legends-color,#4a148c);--atgames-all-legends-shadow-color:var(--tournament-type-atgames-all-legends-shadow-color,#4a148c33);--unknown-color:var(--tournament-type-unknown-color,#6c757d);--unknown-shadow-color:var(--tournament-type-unknown-shadow-color,#6c757d33)}.tournament-input-wrapper{box-sizing:border-box;display:flex;position:relative;width:100%}.tournament-input-wrapper.has-type-indicator .tournament-id-input{padding-right:80px}.tournament-id-input{align-items:center;background-color:#fff;background-color:var(--input-bg-color,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:8px 0 0 8px;border-right:none;box-sizing:border-box;color:#333;color:var(--text-color,#333);cursor:pointer;display:flex;flex:1 1;font-family:Jost,sans-serif;font-size:1rem;min-height:48px;padding:12px 16px;position:relative;transition:border-color .3s ease,box-shadow .3s ease;word-break:break-word}.tournament-id-input:hover{background-color:#f9f9f9;background-color:var(--input-hover-bg-color,#f9f9f9)}.tournament-id-input:focus{border-color:#4caf50;border-color:var(--primary-color,#4caf50);box-shadow:0 0 0 2px #4caf5033;outline:none}.tournament-id-controls{align-items:stretch;display:flex}.tournament-id-button{align-items:center;background-color:#fff;background-color:var(--input-bg-color,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);box-sizing:border-box;color:#333;color:var(--text-color,#333);cursor:pointer;display:flex;font-size:1.2rem;font-weight:700;justify-content:center;margin:0;padding:0;transition:background-color .2s,color .2s;width:36px}.tournament-id-button:hover{background-color:#4caf50;background-color:var(--primary-color,#4caf50);color:#fff}.tournament-id-button:active{background-color:#388e3c;background-color:var(--primary-dark-color,#388e3c)}.tournament-id-button:focus{box-shadow:0 0 0 2px #4caf5033;outline:none}.tournament-id-button.decrement{border-right:none;position:relative}.tournament-id-button.decrement:after{background-color:#ddd;background-color:var(--border-color,#ddd);content:"";height:60%;position:absolute;right:0;top:20%;width:1px}.tournament-id-button.increment{border-radius:0 8px 8px 0}.tournament-id-button.paste{font-size:1rem;position:relative}.tournament-id-button.paste:not(:last-child){border-right:none}.tournament-id-button.paste:last-child{border-radius:0 4px 4px 0}.tournament-id-button.paste:not(:last-child):after{background-color:#ddd;background-color:var(--border-color,#ddd);content:"";height:60%;position:absolute;right:0;top:20%;width:1px}.tournament-id-button.paste:hover{background-color:#2196f3}.input-type-indicator{border-radius:12px;font-size:12px;padding:3px 8px;right:10px}.tournament-picker-container{box-sizing:border-box;display:flex;flex-direction:column;height:100%;max-height:70vh;overflow:hidden;width:100%}.tournament-search-box{margin-bottom:15px;width:100%}.tournament-search-box input{background-color:#fff;background-color:var(--input-bg-color,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:4px;box-sizing:border-box;color:#333;color:var(--text-color,#333);font-size:1rem;overflow:hidden;padding:12px;text-overflow:ellipsis;width:100%}.tournament-search-box input:focus{border-color:#4caf50;border-color:var(--primary-color,#4caf50);box-shadow:0 0 0 2px #4caf5033;outline:none}.tournament-search-box.paste-container{display:flex;gap:10px}.paste-url-button{background-color:#4caf50;background-color:var(--primary-color,#4caf50);border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:700;padding:0 15px;transition:background-color .2s;white-space:nowrap}.paste-url-button:hover{background-color:#388e3c;background-color:var(--primary-dark-color,#388e3c)}.paste-url-button.dark{background-color:#2196f3}.paste-url-button.dark:hover{background-color:#1976d2}.tournament-list-container{display:flex;flex:1 1;flex-direction:column;overflow-y:auto}.tournament-list{height:100%;padding-right:5px}.tournament-item{background-color:#f5f5f5;background-color:var(--card-bg-color,#f5f5f5);border-left:3px solid #0000;border-radius:4px;cursor:pointer;margin-bottom:8px;padding:12px;position:relative;transition:background-color .2s,transform .1s}.tournament-item:hover{background-color:#e9e9e9;background-color:var(--card-hover-bg-color,#e9e9e9);transform:translateY(-1px)}.tournament-item.selected{background-color:#e8f5e9;background-color:var(--card-selected-bg-color,#e8f5e9);border-left-color:#4caf50;border-left-color:var(--primary-color,#4caf50)}.tournament-item.current{border-style:solid;border-width:2px}.tournament-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px}.tournament-type-container{align-items:center;display:flex;gap:8px}.active-badge{background-color:#4caf50;background-color:var(--primary-color,#4caf50);border-radius:10px;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;white-space:nowrap}.active-badge.type-atgames-4k{background-color:var(--tournament-type-atgames-4k-color)}.active-badge.type-atgames-hd{background-color:var(--tournament-type-atgames-hd-color)}.active-badge.type-atgames-all-legends{background-color:var(--tournament-type-atgames-all-legends-color)}.active-badge.type-stern-current{background-color:var(--tournament-type-stern-current-color)}.active-badge.type-stern-past{background-color:var(--tournament-type-stern-past-color)}.active-badge.type-unknown{background-color:var(--tournament-type-unknown-color)}.tournament-id{color:#666;color:var(--text-secondary,#666);font-size:.85rem}.tournament-type{border-radius:10px;color:#fff;font-size:11px;font-weight:700;padding:2px 6px}.tournament-type.type-atgames-4k{background-color:var(--tournament-type-atgames-4k-color)}.tournament-type.type-atgames-hd{background-color:var(--tournament-type-atgames-hd-color)}.tournament-type.type-atgames-all-legends{background-color:var(--tournament-type-atgames-all-legends-color)}.tournament-type.type-stern-current{background-color:var(--tournament-type-stern-current-color)}.tournament-type.type-stern-past{background-color:var(--tournament-type-stern-past-color)}.tournament-title{color:#333;color:var(--text-color,#333);flex:1 1;font-weight:700;text-align:left}.tournament-item-details{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px}.tournament-games-container{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.tournament-game-pill{background-color:#e8f5e9;background-color:var(--primary-light-color,#e8f5e9);border:1px solid #4caf50;border:1px solid var(--primary-color,#4caf50);border-radius:12px;color:#4caf50;color:var(--primary-color,#4caf50);display:inline-block;font-size:.75rem;font-weight:500;padding:3px 8px;white-space:nowrap}.tournament-game-pill.no-games{background-color:#f5f5f5;background-color:var(--card-bg-color,#f5f5f5);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);color:#666;color:var(--text-secondary,#666)}.dark .tournament-game-pill{background-color:#1b5e20;background-color:var(--primary-dark-color,#1b5e20);border:1px solid #4caf50;border:1px solid var(--primary-color,#4caf50);color:#eee;color:var(--text-color,#eee)}.dark .tournament-game-pill.no-games{background-color:#333;background-color:var(--card-bg-color,#333);border:1px solid #555;border:1px solid var(--border-color,#555);color:#aaa;color:var(--text-secondary,#aaa)}.tournament-date{color:#666;color:var(--text-secondary,#666);font-size:.85rem}.no-tournaments,.tournament-loading{align-items:center;color:#666;color:var(--text-secondary,#666);display:flex;height:100px;justify-content:center}.no-tournaments{text-align:center}.create-tournament-item{align-items:center;background-color:#f5f5f5;background-color:var(--card-bg-color,#f5f5f5);border-radius:4px;cursor:pointer;display:flex;padding:15px;transition:background-color .2s}.create-tournament-item:hover{background-color:#e9e9e9;background-color:var(--card-hover-bg-color,#e9e9e9)}.create-tournament-icon{color:#4caf50;color:var(--primary-color,#4caf50);font-size:1.5rem;margin-right:15px}.create-tournament-text{flex:1 1;text-align:left}.create-tournament-subtext{color:#666;color:var(--text-secondary,#666);font-size:.85rem;margin-top:5px}.dark .tournament-id-input{background-color:#333;background-color:var(--input-bg-color,#333);border-color:#555;border-color:var(--border-color,#555);color:#eee;color:var(--text-color,#eee)}.dark .tournament-id-input:hover{background-color:#3a3a3a;background-color:var(--input-hover-bg-color,#3a3a3a)}.dark .tournament-id-button{background-color:#333;background-color:var(--input-bg-color,#333);border-color:#555;border-color:var(--border-color,#555);color:#eee;color:var(--text-color,#eee)}.dark .tournament-id-button.decrement:after{background-color:#555;background-color:var(--border-color,#555)}.dark .tournament-id-button:hover{background-color:#4caf50;background-color:var(--primary-color,#4caf50);color:#fff}.dark .tournament-id-button:active{background-color:#388e3c;background-color:var(--primary-dark-color,#388e3c)}.dark .tournament-item{background-color:#333;background-color:var(--card-bg-color,#333)}.dark .tournament-item:hover{background-color:#3a3a3a;background-color:var(--card-hover-bg-color,#3a3a3a)}.dark .tournament-item.selected{background-color:#2d3b2e;background-color:var(--card-selected-bg-color,#2d3b2e)}.dark .tournament-item.current{border-style:solid;border-width:2px}.dark .tournament-date,.dark .tournament-games,.dark .tournament-id{color:#aaa;color:var(--text-secondary,#aaa)}.dark .tournament-title{color:#eee;color:var(--text-color,#eee)}.dark .create-tournament-item{background-color:#333;background-color:var(--card-bg-color,#333)}.dark .create-tournament-item:hover{background-color:#3a3a3a;background-color:var(--card-hover-bg-color,#3a3a3a)}.dark .create-tournament-subtext{color:#aaa;color:var(--text-secondary,#aaa)}@media (max-width:600px){.tournament-picker-container{max-height:80vh}.tournament-item{padding:10px}.tournament-item-details,.tournament-item-header{align-items:flex-start;flex-direction:column}.tournament-type-container{align-items:flex-end;flex-direction:column;gap:4px;margin-top:5px}.tournament-games,.tournament-type{align-self:flex-end;margin-top:5px}.tournament-title{margin-bottom:5px}.active-badge{font-size:9px;padding:1px 4px}}.search-button{align-items:center;background-color:var(--primary-color);border:1px solid var(--primary-color);border-left:none;border-radius:0 8px 8px 0;box-sizing:border-box;color:var(--button-text-color);cursor:pointer;display:flex;font-family:Jost,sans-serif;font-size:1rem;font-weight:700;height:100%;justify-content:center;margin:0;min-height:48px;min-width:54px;padding:12px 20px;transition:all .3s ease}.search-button svg{height:20px;width:20px}.search-button:hover{background-color:var(--primary-hover)}.search-button:disabled{cursor:not-allowed;opacity:.7}.username-picker-container{display:flex;position:relative;width:100%}.username-picker-container.with-search-button{align-items:stretch;display:flex}.username-picker-input{background-color:#fff;background-color:var(--input-bg-color,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:8px;box-sizing:border-box;color:#333;color:var(--text-color,#333);font-family:Jost,sans-serif;font-size:1rem;min-height:48px;padding:12px 16px;transition:all .3s ease;width:100%}.username-picker-input.with-search-button{border-radius:8px 0 0 8px;border-right:none}.username-picker-input:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033;outline:none}.username-picker-input.dark{background-color:#333;border-color:#555;color:#fff}.username-picker-input.dark:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf504d}.username-picker-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}.username-picker-input::-webkit-calendar-picker-indicator:hover{opacity:1}@media (max-width:768px){.username-picker-input{font-size:16px}}.tournament-search-card{background-color:var(--secondary-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;box-sizing:border-box;color:var(--text-color);max-width:800px;padding:24px;transition:all .3s ease;width:100%}[data-theme=dark] .tournament-search-card{background-color:#121212;border-color:#1f2937}.loading-indicator{animation:pulse 1.5s infinite;color:var(--primary-color);font-family:Jost,sans-serif;font-size:.9rem;font-style:italic;margin-bottom:15px}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.search-fields-container,.tournament-search-form{display:flex;flex-direction:column;width:100%}.search-fields-container{gap:15px}.input-group{display:flex;flex:1 1;flex-direction:column;min-width:0}.input-group label{color:var(--text-tertiary);font-family:Jost,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.1em;margin-bottom:6px;text-transform:uppercase}.input-group .tournament-id-input,.input-group .username-picker-input,.input-group input{background-color:var(--input-bg-color);border:1px solid var(--border-color);border-radius:8px;box-sizing:border-box;color:var(--text-color);font-family:Jost,sans-serif;font-size:1rem;min-height:48px;padding:12px 16px;transition:all .2s ease;width:100%}.input-group .tournament-id-input:focus,.input-group .username-picker-input:focus,.input-group input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #10b98126;outline:none}.input-type-indicator{border-radius:20px;color:#fff;font-family:Oswald,sans-serif;font-size:.75rem;font-weight:700;padding:4px 10px;position:absolute;right:12px;text-transform:uppercase;top:50%;transform:translateY(-50%);z-index:2}.input-type-indicator.type-atgames-4k{background-color:var(--tournament-type-atgames-4k-color)}.input-type-indicator.type-atgames-hd{background-color:var(--tournament-type-atgames-hd-color)}.input-type-indicator.type-atgames-all-legends{background-color:var(--tournament-type-atgames-all-legends-color)}.input-type-indicator.type-stern-current{background-color:var(--tournament-type-stern-current-color)}.input-type-indicator.type-stern-past{background-color:var(--tournament-type-stern-past-color)}.input-type-indicator.type-unknown{background-color:var(--tournament-type-unknown-color)}.result-card{background-color:var(--background-color);border-left:4px solid var(--primary-color);border-radius:8px;box-shadow:0 2px 4px #0000000d;color:var(--text-color);margin-top:15px;padding:20px}[data-theme=dark] .result-card{background-color:#080808;border-color:#10b981}.result-card p strong{color:var(--text-tertiary);font-family:Jost,sans-serif;font-size:.8rem;letter-spacing:.05em;min-width:120px;text-transform:uppercase}@media (max-width:768px){.tournament-search-card{border-left:none;border-radius:0;border-right:none;padding:20px}}.matching-tournament-button{align-items:center;background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:14px;justify-content:center;margin-bottom:15px;padding:8px 12px;transition:background-color .3s}.matching-tournament-button:hover{background-color:#45a049}.matching-tournament-button:disabled{background-color:#ccc;cursor:not-allowed}.matching-tournament-button .loading-indicator{display:inline-block;margin-right:5px}.dark .matching-tournament-button{background-color:#388e3c;color:#f5f5f5}.dark .matching-tournament-button:hover{background-color:#2e7d32}.dark .matching-tournament-button:disabled{background-color:#424242;color:#9e9e9e}.score-graph-container{padding:15px 0;width:100%}.score-graph-controls{display:flex;justify-content:center;margin-bottom:15px}.graph-type-button{background-color:#fff;background-color:var(--secondary-color,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:4px;color:#333;color:var(--text-color,#333);cursor:pointer;margin:0 5px;padding:8px 16px;transition:all .2s ease}.graph-type-button:hover{background-color:#e8f5e9;background-color:var(--primary-color-light,#e8f5e9)}.graph-type-button.active{background-color:#4caf50;background-color:var(--primary-color,#4caf50);border-color:#4caf50;border-color:var(--primary-color,#4caf50);color:#fff}.score-graph-wrapper{height:400px;margin-bottom:15px;width:100%}.score-graph-tooltip{background-color:#fff;background-color:var(--secondary-color,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:4px;box-shadow:0 2px 5px #0000001a;padding:10px}.score-graph-tooltip p{margin:0;padding:3px 0}.score-graph-tooltip .player-name{font-weight:700}.current-user-stats{background-color:#e8f5e9;background-color:var(--highlight-bg,#e8f5e9);border-radius:4px;margin-top:15px;padding:10px;text-align:center}.score-graph-container.dark .graph-type-button{background-color:#333;background-color:var(--secondary-color,#333);border-color:#555;border-color:var(--border-color,#555);color:#eee;color:var(--text-color,#eee)}.score-graph-container.dark .graph-type-button:hover{background-color:#1b5e20;background-color:var(--primary-color-dark,#1b5e20)}.score-graph-container.dark .graph-type-button.active{background-color:#4caf50;background-color:var(--primary-color,#4caf50);border-color:#4caf50;border-color:var(--primary-color,#4caf50);color:#fff}.score-graph-tooltip.dark{background-color:#333;background-color:var(--secondary-color,#333);border-color:#555;border-color:var(--border-color,#555);color:#eee;color:var(--text-color,#eee)}.current-user-stats.dark{background-color:#1b5e20;background-color:var(--highlight-bg,#1b5e20);color:#fff}@media (max-width:600px){.score-graph-wrapper{height:300px}.graph-type-button{font-size:14px;padding:6px 12px}}.consolidated-players-list-container{width:100%}.consolidated-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:15px}.consolidated-header h3{margin:0}.consolidated-buttons{display:flex;flex-wrap:wrap;gap:10px}.back-to-original-button{background-color:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:6px 10px;transition:background-color .3s}.back-to-original-button:hover{background-color:#0b7dda}.type-badge{border-radius:4px;display:inline-block;font-size:12px;font-weight:700;padding:3px 6px}.type-badge.type-atgames-4k{background-color:var(--tournament-type-atgames-4k-color);color:#fff}.type-badge.type-atgames-hd{background-color:var(--tournament-type-atgames-hd-color);color:#fff}.type-badge.type-stern-current{background-color:var(--tournament-type-stern-current-color);color:#fff}.type-badge.type-stern-past{background-color:var(--tournament-type-stern-past-color);color:#fff}tr.type-atgames-4k{background-color:var(--tournament-type-atgames-4k-shadow-color)}tr.type-atgames-hd{background-color:var(--tournament-type-atgames-hd-shadow-color)}tr.type-stern-current{background-color:var(--tournament-type-stern-current-shadow-color)}tr.type-stern-past{background-color:var(--tournament-type-stern-past-shadow-color)}.dark .back-to-original-button{background-color:#1976d2;color:#f5f5f5}.dark .back-to-original-button:hover{background-color:#1565c0}.dark .type-badge.type-atgames-4k{background-color:#0d47a1;color:#e3f2fd}.dark .type-badge.type-atgames-hd{background-color:#b71c1c;color:#ffebee}.dark tr.type-atgames-4k{background-color:#0d47a11a}.dark tr.type-atgames-hd{background-color:#b71c1c1a}.players-list-container{width:100%}.players-list-actions{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:15px}.players-list-search{flex:1 1}.players-list-search input{background-color:#fff;background-color:var(--input-bg,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:4px;color:#333;color:var(--text-color,#333);font-family:Jost,sans-serif;font-size:14px;padding:10px;transition:border-color .3s,background-color .3s,color .3s;width:100%}.players-list-search input:focus{border-color:#10b981;border-color:var(--primary-color,#10b981);outline:none}.players-list-search input.dark{background-color:#1a1a1a;border-color:#333;color:#eee}.view-graph-button{background-color:#10b981;background-color:var(--primary-color,#10b981);border:none;border-radius:4px;color:#fff;cursor:pointer;font-family:Jost,sans-serif;font-weight:700;padding:10px 15px;transition:background-color .3s;white-space:nowrap}.view-graph-button:hover{background-color:#059669}.players-list-filter{align-items:center;display:flex}.filter-button-group{background:#f0f0f0;border:1px solid #ddd;border-radius:8px;display:flex;padding:4px}.filter-button-group.dark{background:#1a1a1a;border-color:#333}.filter-button{background:#0000;border:none;border-radius:6px;color:#666;cursor:pointer;font-family:Jost,sans-serif;font-size:.85rem;font-weight:600;padding:6px 16px;transition:all .2s ease;white-space:nowrap}.filter-button.dark{color:#aaa}.filter-button.active{background:#10b981;background:var(--primary-color,#10b981);box-shadow:0 2px 4px #10b98133;color:#fff}.filter-button.active.dark{color:#fff}.players-list-image-header{border-bottom:2px solid #10b981;height:180px;margin:-15px -15px 15px;max-width:none;overflow:hidden;position:relative;width:calc(100% + 30px)}.backglass-image{display:block;height:100%;object-fit:cover;width:100%}.image-overlay{align-items:flex-end;background:linear-gradient(#0000,#000c);bottom:0;display:flex;left:0;padding:20px 15px 10px;position:absolute;right:0}.game-title-large{color:#fff;font-family:Oswald,sans-serif;font-size:1.8rem;font-weight:700;letter-spacing:.05em;text-shadow:2px 2px 4px #000000e6,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;text-transform:uppercase}.players-list-content{border-radius:8px;display:flex;flex-direction:column;gap:0;overflow:hidden}.players-list-header{background-color:#f5f5f5;border-bottom:1px solid #ddd;color:#666;display:flex;font-family:Oswald,sans-serif;font-size:.85rem;font-weight:700;letter-spacing:.05em;padding:12px 15px}.players-list-header>div{cursor:pointer;-webkit-user-select:none;user-select:none}.header-rank{width:60px}.header-player{flex:2 1}.header-score{flex:1 1;margin-right:40px;text-align:right}.header-friend{width:30px}.players-list-scroll{max-height:450px;overflow-y:auto}.score-item{align-items:center;border-bottom:1px solid #eee;display:flex;font-family:Jost,sans-serif;padding:15px;transition:background-color .2s}.score-item:hover{background-color:#f9f9f9}.item-rank{color:#10b981;font-family:Oswald,sans-serif;font-size:1.1rem;font-weight:700;width:60px}.item-player{align-items:center;display:flex;flex:2 1;flex-direction:row}.player-avatar-circle{align-items:center;background-color:#333;border:2px solid #fff3;border-radius:50%;display:flex;flex-shrink:0;height:32px;justify-content:center;margin-right:12px;overflow:hidden;width:32px}.player-avatar-circle img{height:80%;object-fit:contain;width:80%}.player-details{display:flex;flex-direction:column}.player-name{font-size:1rem}.item-score{flex:1 1;font-family:Oswald,sans-serif;font-size:1.1rem;font-weight:600;margin-right:40px;text-align:right}.item-friend{display:flex;justify-content:center;width:30px}.friend-button.add-friend{background-color:#f0fdf4;color:#10b981}.friend-button.add-friend:hover,.friend-button.remove-friend{background-color:#10b981;color:#fff}.friend-button.remove-friend:hover{background-color:#ef4444}.players-list-header.dark{background-color:#121212;border-bottom-color:#333;color:#10b981}.score-item.dark{background-color:#080808;border-bottom-color:#1a1a1a;color:#fff}.score-item.dark:hover{background-color:#121212}.score-item.current-user.dark{background-color:#10b98122;border-left:4px solid #10b981}.score-item.current-user.dark .player-name{color:#10b981}.players-list-scroll::-webkit-scrollbar{width:6px}.players-list-scroll::-webkit-scrollbar-track{background:#0000}.players-list-scroll::-webkit-scrollbar-thumb{background:#333;border-radius:3px}.players-list-scroll::-webkit-scrollbar-thumb:hover{background:#10b981}.no-results{color:#888;font-family:Jost,sans-serif;font-style:italic;padding:40px;text-align:center}@media (max-width:600px){.players-list-actions{flex-wrap:wrap}.players-list-search{flex:none;width:100%}.players-list-filter,.view-graph-button{display:flex;flex:1 1;justify-content:center}.filter-button-group{width:100%}.filter-button{flex:1 1;padding:6px 8px;text-align:center}.item-rank{font-size:1rem;width:50px}.item-score{font-size:1rem}.header-score,.item-score{margin-right:20px}.player-name{font-size:.95rem}.score-item{padding:12px 10px}}.score-info{background-color:#f0f0f0;background-color:var(--background-color,#f0f0f0);border-radius:4px;font-size:.9em;margin-top:0;padding:10px;position:relative}.next-rank-section,.rank50-section,.top-score-section{margin-bottom:8px}.percentage-info{color:#666;color:var(--text-secondary,#666);font-style:italic;margin-left:10px;margin-top:2px}@media (max-width:768px){.score-info{padding:8px}}.collage-container{align-items:center;display:flex;flex-direction:column;gap:8px;padding:10px}.collage-container.dark{color:#e0e0e0}.collage-container.light{color:#333}.collage-loading{font-size:16px;font-style:italic;padding:20px;text-align:center}.collage-error{background-color:#ffebee;border-left:4px solid #c62828;border-radius:4px;color:#c62828;margin:20px 0;padding:15px;text-align:center}.dark .collage-error{background-color:#3e2723;color:#ef9a9a}.collage-image-container{margin:0 auto;max-width:1200px;text-align:center;width:100%}.collage-image{border-radius:4px;box-shadow:0 4px 8px #0003;height:auto;max-width:100%}.dark .collage-image{box-shadow:0 4px 8px #00000080}.collage-actions{gap:20px;justify-content:center;margin:8px 0}.checkbox-container,.collage-actions,.collage-options{align-items:center;display:flex}.checkbox-container{color:#333;cursor:pointer;font-size:16px;-webkit-user-select:none;user-select:none}.dark .checkbox-container{color:#e0e0e0}.checkbox-container input{accent-color:#4caf50;cursor:pointer;height:18px;margin-right:8px;width:18px}.checkbox-label{font-weight:500}.download-button{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;padding:10px 20px;transition:background-color .3s}.download-button:hover{background-color:#45a049}.dark .download-button{background-color:#388e3c}.dark .download-button:hover{background-color:#2e7d32}.social-share-container{margin:0 auto;max-width:600px;text-align:center;width:100%}.social-share-container h3{margin-bottom:0;margin-top:0}.share-message-container{display:flex;gap:10px;justify-content:center;margin-bottom:10px}.share-message-field{background-color:#f9f9f9;border:1px solid #ddd;border-radius:4px;cursor:text;flex-grow:1;font-size:14px;padding:10px}.dark .share-message-field{background-color:#333;border-color:#555;color:#e0e0e0}.copy-button{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;min-width:80px;padding:10px 15px;transition:background-color .3s}.copy-button:hover{background-color:#45a049}.copy-button.copied{background-color:#2196f3}.dark .copy-button{background-color:#388e3c}.dark .copy-button:hover{background-color:#2e7d32}.dark .copy-button.copied{background-color:#1976d2}.social-buttons{flex-wrap:wrap;gap:10px}.social-button,.social-buttons{display:flex;justify-content:center}.social-button{align-items:center;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;min-width:120px;padding:8px 15px;transition:background-color .3s}.social-icon{font-size:16px;font-style:normal;font-weight:700;margin-right:8px}.facebook-button{background-color:#3b5998}.facebook-button:hover{background-color:#2d4373}.twitter-button{background-color:#1da1f2}.twitter-button:hover{background-color:#0c85d0}.linkedin-button{background-color:#0077b5}.linkedin-button:hover{background-color:#005582}.discord-button{background-color:#5865f2}.discord-button:hover{background-color:#4752c4}.whatsapp-button{background-color:#25d366}.whatsapp-button:hover{background-color:#1da851}.social-button:disabled{cursor:not-allowed;opacity:.6}.social-button:disabled:hover{background-color:inherit}@media (max-width:768px){.social-buttons{align-items:center;flex-direction:column}.social-button{max-width:200px;width:100%}.share-message-container{flex-direction:column}.copy-button{width:100%}}.collage-button-container{margin-top:15px;text-align:center}.generate-collage-button{background-color:var(--primary-color);border:none;border-radius:4px;color:var(--button-text-color);cursor:pointer;font-size:16px;padding:10px 20px;transition:background-color .3s}.generate-collage-button:hover{background-color:var(--primary-hover)}@media (max-width:768px){.generate-collage-button{padding:12px 20px;width:100%}}.tournament-summary-card{background-color:var(--secondary-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;color:var(--text-color);display:flex;flex-direction:column;height:100%;padding:16px;transition:all .3s ease}[data-theme=dark] .tournament-summary-card{background-color:#121212;border-color:#1f2937}.tournament-summary-card h2,.tournament-summary-card h3{font-family:Oswald,sans-serif;letter-spacing:.05em;margin-bottom:4px;margin-top:0;text-transform:uppercase}.no-user-message{background-color:#00000008;border-radius:8px;color:var(--text-tertiary);font-style:italic;margin:10px 0;padding:20px;text-align:center}[data-theme=dark] .no-user-message{background-color:#ffffff08}.summary-content{display:flex;flex-direction:column;flex-grow:1;gap:8px}.summary-section{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:10px;padding:8px 12px;transition:all .3s ease}[data-theme=dark] .summary-section{background-color:#080808;border-color:#1f2937}.points-display{align-items:center;display:flex;flex-direction:column;gap:4px}.points-value-container{align-items:baseline;display:flex;font-family:Oswald,sans-serif;gap:8px;justify-content:center}.points-value{color:var(--primary-color);font-size:2rem;font-weight:700}.points-divider,.points-max{color:var(--text-tertiary);font-size:1.2rem}.points-percentage{font-size:1.5rem}.points-percentage,.rank-item.overall .rank-value{color:var(--primary-color);font-family:Oswald,sans-serif;font-weight:700}.rank-item.overall .rank-value{font-size:2.5rem;line-height:1}.best-worst-container{display:flex;gap:16px;justify-content:space-between;margin-top:8px}.best-worst-container .rank-item{flex:1 1}.rank-label{color:var(--text-tertiary);font-family:Jost,sans-serif;font-size:.85rem;font-weight:500;margin-bottom:4px;text-transform:uppercase}.rank-value{font-family:Oswald,sans-serif;font-size:1.25rem;font-weight:700}.rank-item.best .rank-value{color:#10b981}.rank-item.worst .rank-value{color:var(--warning-color)}.rank-game{color:var(--text-secondary);font-family:Jost,sans-serif;font-size:.9rem;font-weight:400}.unranked-games{border-top:1px dashed var(--border-color);margin-top:15px;padding-top:15px}.unranked-label{color:var(--error-color);font-family:Oswald,sans-serif;font-size:.9rem;margin-bottom:0;text-transform:uppercase}.unranked-list{color:var(--text-tertiary);font-size:.85rem}.initials-list{color:var(--text-secondary);font-family:Jost,sans-serif;font-size:.9rem}.points-to-next-rank{display:flex;flex-direction:column;gap:0;text-align:center}.next-rank-text,.rank50-text{color:var(--text-tertiary);font-family:Jost,sans-serif;font-size:.8rem}.tournament-overall-actions{background-color:#fff;background-color:var(--secondary-color,#fff);border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px;margin-top:30px;padding:20px;transition:background-color .3s ease,color .3s ease}.tournament-overall-actions.dark{background-color:#333;background-color:var(--secondary-color,#333);color:#f5f5f5;color:var(--text-color,#f5f5f5)}.tournament-rankings-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:20px}.tournament-rankings-title{color:#333;color:var(--text-color,#333);font-size:1.5em;font-weight:700}.toggle-buttons-container{display:flex;flex-wrap:wrap;gap:10px}.toggle-rankings-button{background-color:var(--primary-color);border:none;border-radius:4px;color:var(--button-text-color);cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .3s ease}.toggle-rankings-button.active,.toggle-rankings-button:hover{background-color:var(--primary-hover)}.table-responsive{margin-bottom:20px;overflow-x:auto}.rankings-table{border-collapse:collapse;margin-bottom:10px;width:100%}.rankings-table td,.rankings-table th{border-bottom:1px solid #ddd;border-bottom:1px solid var(--border-color,#ddd);padding:10px;text-align:left}.rankings-table th{background-color:#f8f8f8;background-color:var(--background-color,#f8f8f8);color:#333;color:var(--text-color,#333);font-weight:700}.tournament-overall-actions.dark .rankings-table th{background-color:#222;background-color:var(--background-color,#222)}.rankings-table tr:hover{background-color:#4caf501a;background-color:var(--hover-bg,#4caf501a)}.rankings-table .highlighted-player{background-color:#4caf5033;background-color:var(--highlight-bg,#4caf5033)}.rankings-table .below-cutoff{background-color:#ff98001a;background-color:var(--warning-bg,#ff98001a)}.player-rank{font-weight:700}.cutoff-indicator{cursor:help;margin-left:5px}.cutoff-explanation{font-size:.9em;margin-top:10px}.cutoff-info{align-items:center;background-color:#ff98001a;background-color:var(--warning-bg,#ff98001a);border-radius:4px;display:flex;gap:5px;padding:8px}.hidden-players-message{color:#666;color:var(--text-secondary,#666);font-style:italic;margin-top:10px;text-align:center}.show-all-link{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:inherit;font-style:italic;padding:0;text-decoration:underline}.show-all-link:hover{color:var(--primary-hover)}.no-friends-message{background-color:#f8f8f8;background-color:var(--background-color,#f8f8f8);border-radius:8px;margin-top:20px;padding:20px}.tournament-overall-actions.dark .no-friends-message{background-color:#222;background-color:var(--background-color,#222)}.no-friends-message p{margin:5px 0}.no-friends-message p:first-child{color:#666;color:var(--text-color,#666);font-size:16px}.no-friends-message p:nth-child(2){color:#888;color:var(--text-secondary,#888);font-size:14px}.no-friends-message button{margin-top:10px}.friend-button,.player-link-button{border:none;border-radius:4px;cursor:pointer;font-size:12px;padding:5px 10px;transition:background-color .3s ease}.player-link-button{background:none;color:var(--primary-color);padding:0;text-decoration:underline}.friend-button{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:16px;height:30px;justify-content:center;transition:all .2s ease;width:30px}.friend-button.add-friend{background-color:var(--primary-color);color:var(--button-text-color)}.friend-button.add-friend:hover{background-color:var(--primary-hover)}.friend-button.remove-friend{background-color:var(--primary-color);color:var(--button-text-color)}.friend-button.remove-friend:hover{background-color:#f44336;color:#fff}@media (max-width:768px){.tournament-rankings-header{align-items:flex-start;flex-direction:column}.rankings-table td,.rankings-table th{font-size:.9em;padding:8px 5px}.friend-button{font-size:11px;padding:4px 8px}}.calendar-container{display:flex;justify-content:flex-end;margin-top:10px}.calendar{grid-gap:2px;background-color:#f5f5f5;background-color:var(--background-color,#f5f5f5);border-radius:8px;box-shadow:0 2px 4px #0000001a;display:grid;gap:2px;grid-template-columns:repeat(7,1fr);max-width:350px;padding:10px;width:100%}.calendar-day{align-items:center;background-color:#fff;background-color:var(--secondary-color,#fff);border-radius:4px;color:#333;color:var(--text-color,#333);display:flex;font-size:.9em;height:30px;justify-content:center}.calendar-day.header{background-color:initial;font-weight:700}.calendar-day.tournament{font-weight:500;line-height:1.2}.calendar-day.today{background-color:#e8f5e9;background-color:var(--today-bg,#e8f5e9);font-weight:700}.calendar-day.tournament.today{background-color:#4caf50;background-color:var(--tournament-bg,#4caf50);color:#333;color:var(--future-day-text,#333)}.calendar-day.tournament.past{background-color:#e0e0e0;background-color:var(--tournament-past-bg,#e0e0e0);color:#666;color:var(--text-secondary,#666)}.calendar-day.tournament.future{background-color:#fff9c4;background-color:var(--tournament-future-bg,#fff9c4);color:#333;color:var(--future-day-text,#333)}.calendar-day:not(.tournament):not(.header){background-color:#f9f9f9;background-color:var(--non-tournament-bg,#f9f9f9);color:#999;color:var(--text-tertiary,#999)}:root{--tournament-bg:#4caf50;--tournament-past-bg:#e0e0e0;--tournament-future-bg:#fff9c4;--today-bg:#e8f5e9;--non-tournament-bg:#f9f9f9;--future-day-text:#333}.dark .calendar{background-color:#333;background-color:var(--background-color,#333)}.dark .calendar-day{background-color:#444;background-color:var(--secondary-color,#444);color:#eee;color:var(--text-color,#eee)}.dark .calendar-day.header{background-color:initial}.dark .calendar-day.tournament.today{background-color:#66bb6a;background-color:var(--success-color,#66bb6a);color:#bbb;color:var(--text-color,#bbb)}.dark .calendar-day.tournament.past{background-color:#555;background-color:var(--dark-tournament-past-bg,#555);color:#bbb;color:var(--text-secondary,#bbb)}.dark .calendar-day.tournament.future{background-color:#8b7d00;background-color:var(--dark-tournament-future-bg,#8b7d00);color:#e0e0e0;color:var(--text-secondary,#e0e0e0)}.dark .calendar-day:not(.tournament):not(.header){background-color:#2a2a2a;background-color:var(--dark-non-tournament-bg,#2a2a2a);color:#777;color:var(--text-tertiary,#777)}[data-theme=dark]{--dark-tournament-past-bg:#555;--tournament-past-bg:#555;--dark-tournament-future-bg:#567588;--tournament-future-bg:#567588;--dark-non-tournament-bg:#2a2a2a;--non-tournament-bg:#2a2a2a}@media (max-width:768px){.calendar-container{justify-content:center;margin-top:15px}.calendar{max-width:100%}}.tournament-info-content{display:flex;flex-wrap:wrap;gap:24px;width:100%}.tournament-info-main{display:flex;flex:1 1;flex-direction:column;gap:16px;min-width:0}.tournament-info-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}.title-group{flex:1 1;min-width:250px}.tournament-info h2{align-items:center;display:flex;gap:12px;line-height:1.2;margin:0 0 4px}.tournament-dates{color:var(--text-secondary);font-family:Jost,sans-serif;font-size:1rem;opacity:.8}.tournament-sort-container{align-items:center;display:flex;gap:12px}.sort-label{color:var(--text-tertiary);font-family:Jost,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.sort-button-group{background:var(--background-color);border:1px solid var(--border-color);border-radius:12px;display:flex;padding:4px}.sort-button{background:#0000;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;font-family:Jost,sans-serif;font-size:.85rem;font-weight:600;padding:6px 12px;transition:all .2s ease}.sort-button.active{background:var(--primary-color);box-shadow:0 4px 6px -1px #10b9814d;color:#fff}.tournament-status-bar{align-items:center;border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:20px;padding-top:12px}.status-item{align-items:center;color:var(--text-tertiary);display:flex;font-family:Jost,sans-serif;font-size:.85rem;gap:6px}.status-label{font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.stale-warning{background-color:#ef44441a;border-radius:6px;color:var(--error-color);cursor:pointer;font-weight:600;padding:4px 10px;transition:background-color .2s}.stale-warning:hover{background-color:#ef444433}.tournament-info-calendar{flex-shrink:0}@media (max-width:900px){.tournament-info-calendar{border-top:1px dashed var(--border-color);display:flex;justify-content:center;padding-top:16px;width:100%}}@media (max-width:768px){.tournament-info-header{align-items:flex-start;flex-direction:column;gap:12px}.tournament-sort-container{justify-content:flex-start;width:100%}.sort-button-group{flex:1 1}.sort-button{flex:1 1;text-align:center}}.tournament-info{background-color:var(--secondary-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;color:var(--text-color);height:100%;padding:16px;position:relative;transition:all .3s ease}[data-theme=dark] .tournament-info{border-color:#10b98133;box-shadow:0 0 20px #10b9810d}.tournament-type-indicator{border-radius:20px;color:#fff;display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.05em;margin-left:10px;padding:4px 12px;text-transform:uppercase}.results{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));width:100%}.game-card{background-color:var(--secondary-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 10px 15px -3px #0000001a;color:var(--text-color);display:flex;flex-direction:column;overflow:hidden;position:relative;transition:transform .3s ease,box-shadow .3s ease}.game-card:hover{box-shadow:0 20px 25px -5px #0000001a;transform:translateY(-5px)}[data-theme=dark] .game-card{background-color:#121212;border-color:#1f2937}.game-image-container{aspect-ratio:16/9;overflow:hidden;position:relative;width:100%}.game-card img{height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.game-card:hover img{transform:scale(1.05)}.game-title{background:linear-gradient(180deg,#000c 0,#0000);font-size:1.6rem;left:0;letter-spacing:.02em;padding:20px;right:0;text-align:left;text-transform:uppercase;top:0;z-index:2}.game-rank,.game-title{color:#fff;font-family:Oswald,sans-serif;font-weight:700;position:absolute;text-shadow:2px 2px 4px #000000e6,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000}.game-rank{align-items:center;background-color:#10b981;border:3px solid #fff;border-radius:50%;box-shadow:0 4px 10px #0006;display:flex;font-size:2.25rem;height:60px;justify-content:center;right:20px;top:50%;transform:translateY(-50%);width:60px;z-index:3}.game-score{background:linear-gradient(0deg,#000c 0,#0000);bottom:0;color:#fff;font-size:2rem;font-weight:600;left:0;padding:15px 20px;right:0;text-align:right;z-index:2}.game-initials,.game-score{font-family:Oswald,sans-serif;position:absolute;text-shadow:2px 2px 4px #000000e6,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000}.game-initials{bottom:15px;color:#10b981;font-size:1.2rem;font-weight:700;left:20px;z-index:3}.user-info{display:flex;flex-direction:column;gap:10px;padding:20px}.game-card .view-players-icon-button{align-items:center;background-color:initial;border:1px solid var(--border-color);border-radius:8px;bottom:15px;color:var(--text-tertiary);cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;right:15px;transition:all .2s;width:36px;z-index:10}.game-card .view-players-icon-button:hover{background-color:#10b981;border-color:#10b981;color:#fff;transform:scale(1.1)}.game-card.best-rank{border:2px solid #10b981;box-shadow:0 0 15px #10b98133}.game-card.worst-rank{border:2px solid var(--warning-color)}.game-card.unranked{border:2px solid var(--error-color);opacity:.8}@media (max-width:800px){.top-section{flex-direction:column}.children-container,.tournament-info-container{flex:none;width:100%}.results{grid-template-columns:1fr}.game-title{font-size:1.4rem}.game-rank{font-size:2.5rem;height:90px;top:50%;transform:translateY(-50%);width:90px}}.search-links-container{box-shadow:none;margin:0;width:100%}.children-container,.search-links-container .tournament-search-card{box-shadow:none}.links-container,.search-container{display:flex;justify-content:center;min-width:0}.links-container{margin:30px 0}.top-section{align-items:stretch;display:flex;gap:24px;margin-bottom:24px;width:100%}.search-links-container{flex:1 1;min-width:0}.tournament-info-container{flex:2 1;min-width:0}.links-container .links-card,.search-container .tournament-search-card,.tournament-info-container .tournament-info{display:flex;flex-direction:column;height:100%;width:100%}.links-container,.search-container{display:flex;justify-content:center;width:100%}@media (max-width:1024px){.top-section{align-items:center;flex-direction:column}.search-links-container,.tournament-info-container{max-width:800px;width:100%}}@media (max-width:768px){.links-container .links-card,.search-container .tournament-search-card,.tournament-info-container .tournament-info{width:100%}}.nav-tabs-container{background-color:var(--background-color);display:flex;justify-content:center;margin-bottom:24px;padding:10px 0;position:sticky;top:0;width:100%;z-index:10}.nav-tabs{background-color:var(--secondary-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 15px #0000001a;display:flex;max-width:800px;padding:4px;position:relative;width:100%}[data-theme=dark] .nav-tabs{background-color:#121212;box-shadow:0 4px 20px #00000080}.nav-tab-btn{background:#0000;border:none;color:var(--text-secondary);cursor:pointer;flex:1 1;font-family:Oswald,sans-serif;font-size:1rem;font-weight:500;letter-spacing:1px;padding:12px 16px;position:relative;text-transform:uppercase;transition:color .3s ease;white-space:nowrap;z-index:2}.nav-tab-btn.active{color:#fff}.nav-tab-indicator{background-color:var(--primary-color);border-radius:8px;bottom:4px;position:absolute;top:4px;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1}.nav-tab-btn:hover:not(.active){color:var(--text-color)}.placeholder-view{align-items:center;background-color:var(--secondary-color);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 10px 30px #0000000d;display:flex;flex-direction:column;justify-content:center;margin:0 auto;max-width:600px;min-height:400px;padding:60px 20px;text-align:center}[data-theme=dark] .placeholder-view{background-color:#121212}.placeholder-view h2{color:var(--primary-color);font-size:2.5rem;margin-bottom:16px}.placeholder-view p{color:var(--text-secondary);font-size:1.1rem;max-width:400px}.placeholder-content{background-color:var(--background-color);border:2px dashed var(--border-color);border-radius:12px;margin-top:40px;padding:20px 40px}.placeholder-content p{font-family:Oswald,sans-serif;font-size:1.2rem;letter-spacing:2px;margin:0;text-transform:uppercase}@media (max-width:480px){.nav-tab-btn{font-size:.85rem;padding:10px 8px}.nav-tabs{border-radius:8px}}.friend-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e232db3;border:1px solid #00ffcc1a;border-radius:16px;margin-bottom:24px;overflow:hidden;padding:20px;position:relative;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s ease}.friend-card:hover{border-color:#00ffcc4d;box-shadow:0 12px 24px #0000004d,0 0 15px #00ffcc1a;transform:translateY(-4px)}.friend-card:before{background:linear-gradient(180deg,#0fc,#0c9);content:"";height:100%;left:0;position:absolute;top:0;width:4px}.friend-card-header{align-items:flex-start;border-bottom:1px solid #ffffff0d;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.friend-info{display:flex;flex-direction:column}.friend-avatar-circle{height:36px;width:36px}.friend-name{color:#fff;font-family:Oswald,sans-serif;font-size:1.5rem;letter-spacing:1px;margin:0;text-transform:uppercase}.friend-overall-stats{display:flex;gap:20px;margin-top:5px}.stat-item{display:flex;flex-direction:column}.stat-label{color:#ffffff80;font-size:.7rem;letter-spacing:.5px;text-transform:uppercase}.stat-value{color:#0fc;font-family:Jost,sans-serif;font-size:1.1rem;font-weight:600}.friend-overall-rank{color:#fff;font-family:Oswald,sans-serif;font-size:2rem;opacity:.9}.friend-games-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.friend-game-item{background:#ffffff08;border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:10px;transition:background .2s ease}.friend-game-item:hover{background:#ffffff0f}.game-title-mini{color:#fffc;font-size:.75rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-perf-mini{align-items:baseline;display:flex;justify-content:space-between}.game-rank-mini{color:#fff;font-family:Oswald,sans-serif;font-size:1rem}.game-score-mini{color:#ffffff80;font-family:Jost,sans-serif;font-size:.8rem}.unranked-badge{color:#ffffff4d;font-size:.7rem;font-style:italic}.friend-card-actions{align-items:center;display:flex;gap:10px;position:absolute;right:12px;top:12px;z-index:2}.friend-card.selected{border-color:#0fc;box-shadow:0 0 15px #0fc3}.compare-friend-btn.active{background:#0fc;color:#000}.compare-friend-btn{background:#00ffcc1a;border:1px solid #00ffcc4d;border-radius:20px;color:#0fc;cursor:pointer;font-family:Oswald,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase;transition:all .2s ease}.compare-friend-btn:hover{background:#0fc;box-shadow:0 4px 10px #0fc3;color:#000;transform:translateY(-1px)}.remove-friend-btn{align-items:center;background:#ffffff0d;border:none;border-radius:50%;color:#fff6;cursor:pointer;display:flex;font-size:1.2rem;height:28px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:28px}.remove-friend-btn:hover{background:#f443;color:#f44;transform:scale(1.1)}.light .remove-friend-btn{background:#0000000d;color:#0000004d}.light .remove-friend-btn:hover{background:#ff00001a;color:#d00}.light .friend-card{background:#ffffffe6;border-color:#0000000d;box-shadow:0 4px 12px #0000000d}.light .friend-name{color:#333}.light .stat-value{color:#086}.light .friend-overall-rank{color:#444}.light .friend-game-item{background:#00000008}.light .game-title-mini{color:#555}.light .game-rank-mini{color:#222}.player-comparison-container{background-color:#121212;background-color:var(--background-color,#121212);border-radius:8px;box-sizing:border-box;color:#f5f5f5;color:var(--text-color,#f5f5f5);margin-top:20px;padding:20px;width:100%}.comparison-header{align-items:center;border-bottom:1px solid #333;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:15px}.comparison-players-info{align-items:center;display:flex;font-family:Oswald,sans-serif;font-size:1.5rem;font-weight:700;gap:15px;letter-spacing:1px}.comp-player-info{align-items:center;display:flex;gap:10px}.comp-avatar-circle{align-items:center;background-color:#333;border:2px solid #fff3;border-radius:50%;display:flex;flex-shrink:0;height:32px;justify-content:center;overflow:hidden;width:32px}.comp-avatar-circle img{height:80%;object-fit:contain;width:80%}.vs-text{color:#666;font-size:1rem}.close-comparison-btn{background:#0000;border:1px solid #10b981;border:1px solid var(--primary-color,#10b981);border-radius:4px;color:#10b981;color:var(--primary-color,#10b981);cursor:pointer;font-family:Jost,sans-serif;font-size:.8rem;font-weight:600;padding:8px 16px;transition:all .2s ease}.close-comparison-btn:hover{background-color:#10b981;background-color:var(--primary-color,#10b981);color:#000}.comparison-table-wrapper{overflow-x:auto}.comparison-table{border-collapse:collapse;text-align:left;width:100%}.comparison-table th{border-bottom:2px solid #333;color:#888;font-family:Oswald,sans-serif;font-size:.9rem;letter-spacing:1px;padding:12px 10px}.comparison-table td{border-bottom:1px solid #222;font-family:Jost,sans-serif;padding:15px 10px}.col-table{width:30%}.col-player{text-align:right;width:35%}.comp-game-title{color:#10b981;color:var(--primary-color,#10b981);font-size:1.05rem;font-weight:700}.player-stats{color:#ccc;text-align:right}.player-stats.winner .score{color:#10b981;color:var(--primary-color,#10b981);font-weight:700}.rank{color:#666;font-size:.9rem;margin-right:10px}.score{font-size:1.1rem}.star{color:#10b981;color:var(--primary-color,#10b981);font-size:1.2rem;margin-left:8px}.no-score{color:#444;font-size:.9rem;font-style:italic}@media (max-width:768px){.player-comparison-container{padding:15px}.comparison-players-info{font-size:1.2rem;gap:10px}.comp-avatar-circle{height:24px;width:24px}.comp-game-title{font-size:.9rem}.score{font-size:.95rem}.rank{font-size:.75rem;margin-right:4px}.star{font-size:1rem;margin-left:4px}.comparison-table td,.comparison-table th{padding:10px 5px}}@media (max-width:480px){.player-comparison-container{padding:10px}.comparison-header{align-items:center;flex-direction:column;gap:15px;text-align:center}.close-comparison-btn{width:100%}.comparison-players-info{flex-wrap:wrap;font-size:1.1rem;justify-content:center}.col-table{width:40%}.col-player{width:30%}.comp-game-title{font-size:.85rem;word-break:break-word}.score{font-size:.85rem}.rank,.score{display:block}.rank{margin-bottom:2px;margin-right:0}.star{display:none}.player-stats{padding:10px 2px!important}}.friends-view-container{margin:0 auto;max-width:1200px;padding:20px}.friends-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.friends-header h2{color:#fff;font-family:Oswald,sans-serif;font-size:2.5rem;letter-spacing:2px;margin:0;text-transform:uppercase}.friends-subtitle{color:#fff9;font-family:Jost,sans-serif;margin-top:5px}.friends-list{display:flex;flex-direction:column;gap:10px}.no-friends-message{background:#ffffff0d;border:1px dashed #ffffff1a;border-radius:12px;padding:40px;text-align:center}.no-friends-message p{color:#ffffffb3;font-size:1.1rem;margin-bottom:20px}.add-friends-tip{color:#0fc;font-size:.9rem;font-style:italic}.friends-loading{color:#0fc;font-family:Oswald,sans-serif;letter-spacing:1px;padding:40px;text-align:center}.light .friends-header h2{color:#333}.light .friends-subtitle{color:#666}.light .no-friends-message{background:#00000005;border-color:#0000001a}.light .no-friends-message p{color:#555}.movement-list{display:flex;flex-direction:column;gap:15px}.movement-item{border-bottom:1px solid #eee;border-bottom:1px solid var(--border-color,#eee);padding-bottom:15px}.historical-comparison-card.dark .movement-item{border-bottom-color:#444}.movement-item:last-child{border-bottom:none}.movement-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.game-title-simplified{color:#00bcd4;font-size:1.1rem;font-weight:700;text-transform:uppercase}.rank-movement{font-size:1.2rem;font-weight:700}.past-rank-context{font-size:.9rem;font-weight:400;opacity:.8}.rank-improved{color:#4cd964}.rank-worse{color:#ff3b30}.rank-same{color:#666;color:var(--text-secondary,#666)}.cta-message-box{background-color:#ffc1070d;border-left:4px solid #ffc107;border-radius:4px;padding:12px 15px}.historical-comparison-card.dark .cta-message-box{background-color:#ffc1071a}.cta-message-box p{color:#ffc107;font-size:.95rem;font-style:italic;line-height:1.4;margin:0}.historical-comparison-card{background-color:#fff;background-color:var(--secondary-color,#fff);border-radius:12px;box-shadow:0 4px 6px #0000000d;color:#333;color:var(--text-color,#333);display:flex;flex-direction:column;padding:20px}.historical-comparison-card.dark{background-color:#333;background-color:var(--secondary-color,#333);color:#f5f5f5;color:var(--text-color,#f5f5f5)}.historical-comparison-card .card-header h3{color:teal;color:var(--primary-color,teal);font-size:1.3rem;margin-bottom:0;margin-top:0}.friend-name-container{align-items:center;display:flex;gap:12px;margin-bottom:20px}.friend-avatar-circle{align-items:center;background-color:#333;border:2px solid #fff3;border-radius:50%;display:flex;flex-shrink:0;height:32px;justify-content:center;overflow:hidden;width:32px}.friend-avatar-circle img{height:80%;object-fit:contain;width:80%}.no-comparisons{background-color:#f8f8f8;background-color:var(--background-color,#f8f8f8);border-radius:8px;color:#666;color:var(--text-secondary,#666);font-style:italic;padding:20px;text-align:center}.historical-comparison-card.dark .no-comparisons{background-color:#222;background-color:var(--background-color,#222)}@media (max-width:768px){.historical-comparison-card{padding:15px}.game-title-simplified{font-size:1rem}.rank-movement{font-size:1.1rem}}@media (max-width:480px){.historical-comparison-card{padding:12px}.movement-row{align-items:flex-start;flex-direction:column;gap:5px}.rank-movement{align-self:flex-start;font-size:1rem}.game-title-simplified{font-size:.95rem;word-break:break-word}.friend-name-container{gap:8px;margin-bottom:15px}}.concierge-highlights-card{background-color:#fff;background-color:var(--secondary-color,#fff);border-left:4px solid teal;border-left:4px solid var(--primary-color,teal);border-radius:12px;box-shadow:0 4px 15px #0000001a;grid-column:1/-1;margin-bottom:20px;padding:20px}.concierge-highlights-card.dark{background-color:#1e1e1e;box-shadow:0 4px 15px #0000004d}.highlights-header{border-bottom:1px solid #eee;border-bottom:1px solid var(--border-color,#eee);margin-bottom:20px;padding-bottom:10px}.dark .highlights-header{border-bottom-color:#333}.highlights-header h3{color:teal;color:var(--primary-color,teal);font-family:Oswald,sans-serif;font-size:1.4rem;letter-spacing:1px;margin:0;text-transform:uppercase}.highlights-subtitle{color:#666;color:var(--text-secondary,#666);font-size:.9rem;margin:5px 0 0}.dark .highlights-subtitle{color:#aaa}.highlights-content{display:flex;flex-wrap:wrap;gap:30px}.highlights-section{flex:1 1;min-width:300px}.highlights-section h4{color:#333;color:var(--text-primary,#333);font-size:1.1rem;font-weight:600;margin-bottom:15px;margin-top:0}.dark .highlights-section h4{color:#eee}.highlights-list{display:flex;flex-direction:column;gap:12px}.highlight-item{align-items:center;background-color:#00000005;border-radius:8px;display:flex;justify-content:space-between;padding:10px;transition:transform .2s,background-color .2s}.dark .highlight-item{background-color:#ffffff08}.highlight-item:hover{background-color:#0000000a;transform:translateX(5px)}.dark .highlight-item:hover{background-color:#ffffff0d}.player-info{align-items:center;display:flex;gap:12px}.highlight-avatar-circle{align-items:center;border:2px solid #ffffff1a;border-radius:50%;display:flex;height:32px;justify-content:center;overflow:hidden;width:32px}.highlight-avatar-circle img{height:100%;object-fit:cover;width:100%}.player-text{display:flex;flex-direction:column}.player-name{font-size:.95rem;font-weight:600}.player-initials{color:#888;font-size:.8rem;margin-left:4px}.movement-stats{align-items:flex-end;display:flex;flex-direction:column}.rank-change{color:#4caf50;font-size:1rem;font-weight:700}.rank-transition{color:#666;color:var(--text-secondary,#666);font-size:.8rem}.dark .rank-transition{color:#aaa}.rank-badge{background-color:teal;background-color:var(--primary-color,teal);border-radius:20px;color:#fff;font-size:.9rem;font-weight:700;padding:4px 10px}.new-rank{background:linear-gradient(135deg,teal,#00c2c2);background:linear-gradient(135deg,var(--primary-color,teal),#00c2c2)}@media (max-width:768px){.highlights-content{flex-direction:column;gap:20px}}.rank-history-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;background:var(--card-bg,#ffffff0d);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:12px;box-shadow:0 8px 32px 0 #0000005e;grid-column:1/-1;margin-bottom:24px;padding:20px}.rank-history-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.rank-history-header h3{color:#00f2ff;color:var(--primary-accent,#00f2ff);font-family:Oswald,sans-serif;letter-spacing:1px;margin:0;text-transform:uppercase}.view-mode-select{background:#0003;border:1px solid #fff3;border-radius:6px;color:#fff;cursor:pointer;font-family:Jost,sans-serif;outline:none;padding:6px 12px;transition:all .3s ease}.view-mode-select:hover{border-color:#00f2ff;border-color:var(--primary-accent,#00f2ff)}.view-mode-select option{background:#1a1a1a;color:#fff}.rank-history-graph-wrapper{margin-top:10px}.rank-history-tooltip{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#141414e6;border:1px solid #00f2ff;border:1px solid var(--primary-accent,#00f2ff);border-radius:8px;box-shadow:0 4px 15px #00000080;padding:10px}.tooltip-time{border-bottom:1px solid #444;color:#888;font-size:12px;font-weight:700;margin:0 0 5px;padding-bottom:3px}.tooltip-rank{font-family:Jost,sans-serif;font-size:14px;margin:2px 0}.rank-history-loading{background:#ffffff0d;border-radius:12px;color:#00f2ff;color:var(--primary-accent,#00f2ff);font-style:italic;grid-column:1/-1;margin-bottom:24px;padding:40px;text-align:center}.rank-history-loading,.recharts-cartesian-axis-tick-value{font-family:Jost,sans-serif}.recharts-legend-item-text{color:#ccc!important;font-family:Jost,sans-serif!important;font-size:12px!important}@media (max-width:768px){.rank-history-header{align-items:flex-start;flex-direction:column;gap:12px}.view-mode-select{width:100%}}.concierge-view{margin:0 auto;max-width:1400px;padding:20px}.concierge-header-section{background-color:#fff;background-color:var(--secondary-color,#fff);border-radius:12px;box-shadow:0 4px 6px #0000000d;margin-bottom:30px;padding:20px}.concierge-view.dark .concierge-header-section{background-color:#333;background-color:var(--secondary-color,#333)}.concierge-header-section h2{color:teal;color:var(--primary-color,teal);font-size:2rem;margin-bottom:5px;margin-top:0}.concierge-subtitle{color:#666;color:var(--text-secondary,#666);font-size:1.1rem;margin-bottom:20px}.concierge-view.dark .concierge-subtitle{color:#aaa}.global-historical-controls{border-top:1px solid #eee;border-top:1px solid var(--border-color,#eee);display:flex;flex-direction:column;gap:12px;margin-top:10px;padding-top:20px}.concierge-view.dark .global-historical-controls{border-top-color:#444}.global-historical-controls label{color:#666;color:var(--text-secondary,#666);font-size:.95rem;font-weight:500}.concierge-view.dark .global-historical-controls label{color:#aaa}.global-select-wrapper{align-items:center;display:flex;gap:12px;max-width:600px;width:100%}.timestamp-select{background-color:#fff;border:1px solid #ccc;border-radius:6px;color:#333;flex-grow:1;font-family:inherit;font-size:1rem;padding:10px 15px;transition:border-color .2s,box-shadow .2s}.timestamp-select.dark{background-color:#2a2a2a;border-color:#444;color:#f0f0f0}.timestamp-select:focus{border-color:teal;border-color:var(--primary-color,teal);box-shadow:0 0 0 2px #00808033;outline:none}.select-most-recent-button{background-color:teal;background-color:var(--primary-color,teal);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:background-color .2s,transform .1s;white-space:nowrap}.select-most-recent-button:hover:not(:disabled){background-color:#066;background-color:var(--primary-hover,#066)}.select-most-recent-button:active:not(:disabled){transform:translateY(1px)}.select-most-recent-button:disabled{background-color:#ccc;color:#888;cursor:not-allowed}.concierge-view.dark .select-most-recent-button:disabled{background-color:#444;color:#777}.concierge-grid{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}@media (max-width:768px){.concierge-grid{grid-template-columns:1fr}.global-select-wrapper{align-items:stretch;flex-direction:column}.select-most-recent-button{width:100%}}@media (max-width:480px){.concierge-view{padding:10px}.concierge-header-section{padding:15px}.concierge-header-section h2{font-size:1.5rem}}.no-users-message{background-color:#fff;background-color:var(--secondary-color,#fff);border-radius:8px;color:#666;color:var(--text-secondary,#666);font-style:italic;grid-column:1/-1;padding:40px;text-align:center}.concierge-view.dark .no-users-message{background-color:#333;background-color:var(--secondary-color,#333);color:#aaa}.info-history{background-color:#e3f2fd;border-radius:4px;color:#1976d2;font-size:.9rem;padding:10px}.concierge-view.dark .info-history{background-color:#1a237e;color:#90caf9}.toast{background-color:#333;border-radius:4px;bottom:20px;box-shadow:0 4px 8px #0003;color:#fff;cursor:pointer;left:50%;max-width:80%;min-width:250px;opacity:0;padding:12px 20px;position:fixed;text-align:center;transform:translateX(-50%) translateY(100px);transition:transform .3s ease,opacity .3s ease;z-index:1000}.toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}.toast-content{align-items:center;display:flex;gap:10px;justify-content:center}.toast-icon{font-size:1.2em}.toast-message{font-weight:500}.toast.info{background-color:#2196f3;color:#fff}.toast.success{background-color:#4caf50;color:#fff}.toast.error{background-color:#f44336;color:#fff}.dark .toast{background-color:#555;color:#fff}.dark .toast.info{background-color:#1976d2}.dark .toast.success{background-color:#388e3c}.dark .toast.error{background-color:#d32f2f}.notification-banner{background:linear-gradient(135deg,#065f46,#059669);border-bottom:1px solid #10b98133;box-shadow:0 4px 6px -1px #0000001a;color:#fff;font-family:Jost,sans-serif;position:relative;width:100%;z-index:2000}.banner-content{align-items:center;display:flex;gap:16px;justify-content:space-between;margin:0 auto;max-width:1400px;padding:10px 24px}.banner-message{align-items:center;display:flex;flex:1 1;gap:12px}.banner-icon{flex-shrink:0;font-size:1.2rem}.banner-text{font-size:.9rem;line-height:1.5;text-align:left}.banner-text strong{color:#fff;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.banner-links{align-items:center;display:inline-flex;gap:8px;margin-left:8px}.banner-link{border-bottom:1px solid #fff6;color:#fff;font-weight:600;text-decoration:none;transition:all .2s ease}.banner-link:hover{background-color:#ffffff1a;border-bottom-color:#10b981;border-radius:4px;color:#10b981;margin:0 -4px;padding:0 4px}.banner-divider{font-weight:300;opacity:.5}.banner-dismiss{align-items:center;background:#0003;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;height:32px;justify-content:center;transition:all .2s ease;width:32px}.banner-dismiss:hover{background:#0006;transform:rotate(90deg)}[data-theme=dark] .notification-banner{background:linear-gradient(135deg,#064e3b,#065f46)}@media (max-width:800px){.banner-content{align-items:center;flex-direction:column;padding:12px 16px;text-align:center}.banner-message{flex-direction:column;gap:8px}.banner-text{text-align:center}.banner-links{display:flex;justify-content:center;margin-left:0;margin-top:5px}.banner-dismiss{position:absolute;right:10px;top:10px}}
/*# sourceMappingURL=main.e0571622.css.map*/