*{margin:0;padding:0;box-sizing:border-box}:root{--color-bg-primary:#1a1a2e;--color-bg-secondary:#16213e;--color-bg-tertiary:#0f1419;--color-accent-primary:#ff6b35;--color-accent-secondary:#f7931e;--color-accent-dark:#d94c1a;--color-highlight:#00d9ff;--color-highlight-dark:#00b8d4;--color-text-primary:#e8e8e8;--color-text-secondary:#a8a8a8;--color-text-muted:#707070;--color-text-on-accent:#0a0a0a;--color-success:#90d794;--color-success-dark:#165019;--color-error:#fcc8c8;--color-error-dark:#8b0000;--color-warning:#ffa726;--color-info:#00d9ff;--color-surface:#252d3a;--color-surface-hover:#2d3748;--color-border:#3a4556;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-sm:0 1px 3px rgba(0,0,0,0.3);--shadow-md:0 2px 8px rgba(0,0,0,0.4);--shadow-lg:0 4px 16px rgba(0,0,0,0.5);--transition-fast:0.15s ease;--transition-base:0.2s ease;--transition-slow:0.3s ease;--font-primary:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:"SF Mono",Monaco,"Cascadia Code","Roboto Mono",Consolas,"Courier New",monospace;--content-width-text:800px;--content-width-form:500px;--content-width-max:1280px}body,html{height:100%;background-color:var(--color-bg-primary);color:var(--color-text-primary);overflow-x:hidden;font-family:var(--font-primary);line-height:1.6}.container,body,html{margin:0;padding:0;width:100%}.container{min-height:100vh;display:flex;flex-direction:column}.main{flex:1;justify-content:center;align-items:center}.formContainer,.main{display:flex;padding:var(--space-xl)}.formContainer{width:100%;max-width:var(--content-width-form);background-color:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);flex-direction:column;border:1px solid var(--color-border)}.form-container-wide{max-width:700px}.formTitle{text-align:center;margin-bottom:var(--space-lg);color:var(--color-text-primary);font-size:1.875rem;font-weight:700;letter-spacing:-.025em}.form{gap:var(--space-md)}.form,.formGroup{display:flex;flex-direction:column}.formGroup{gap:var(--space-sm)}.formGroup label{font-weight:500;color:var(--color-text-secondary);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.checkbox-group{flex-direction:row;align-items:center}.checkbox-input{width:auto;height:auto;margin-right:var(--space-sm)}.checkbox-label{font-weight:400;text-transform:none;margin:0}.checkbox-label,.input{color:var(--color-text-primary)}.input{padding:12px var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:1rem;background-color:var(--color-bg-secondary);transition:all var(--transition-base);font-family:var(--font-primary)}.input:focus{outline:none;border-color:var(--color-highlight);box-shadow:0 0 0 3px rgba(0,217,255,.2);background-color:var(--color-bg-primary)}.input::-moz-placeholder{color:var(--color-text-muted)}.input::placeholder{color:var(--color-text-muted)}.submitButton{margin-top:var(--space-md);padding:12px var(--space-lg);background:linear-gradient(135deg,var(--color-accent-primary) 0,var(--color-accent-secondary) 100%);color:var(--color-text-on-accent);border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm);text-transform:uppercase;letter-spacing:.05em}.submitButton:hover{background:linear-gradient(135deg,var(--color-accent-dark) 0,var(--color-accent-primary) 100%);transform:translateY(-1px);box-shadow:var(--shadow-md)}.submitButton:focus{outline:none;box-shadow:0 0 0 3px rgba(255,107,53,.3),var(--shadow-md)}.submitButton:disabled{background:var(--color-surface);color:var(--color-text-muted);cursor:not-allowed;transform:none;box-shadow:none}.submitButton:active:not(:disabled){transform:translateY(0)}.error{background-color:rgba(255,82,82,.15);color:var(--color-error);border-left:4px solid var(--color-error)}.error,.successMessage{padding:12px var(--space-md);margin-bottom:var(--space-md);border-radius:var(--radius-sm);font-size:.9rem}.successMessage{background-color:rgba(76,175,80,.15);color:var(--color-success);border-left:4px solid var(--color-success)}.switchMode{margin-top:var(--space-lg);text-align:center}.switchMode p{color:var(--color-text-secondary)}.switchMode button,.switchModeButton{background:none;border:none;color:var(--color-highlight);cursor:pointer;font-weight:600;text-decoration:underline;transition:color var(--transition-base)}.switchMode button:hover,.switchModeButton:hover{color:var(--color-highlight-dark)}p,small,span{color:var(--color-text-secondary);font-size:.9rem}.passwordHint{color:var(--color-text-muted);font-size:.8rem;font-style:italic}.guest-entry-section{margin-bottom:var(--space-xl);text-align:center}.guest-entry-section .submitButton{margin-bottom:var(--space-md)}.section-description{font-size:.9rem;color:var(--color-text-muted);margin:0}.formSubtitle{text-align:center;margin-bottom:var(--space-lg);color:var(--color-text-primary);font-size:1.25rem;font-weight:600}.warningBox{margin-bottom:var(--space-xl);padding:var(--space-lg);background-color:rgba(255,167,38,.1);border-radius:var(--radius-md);border:1px solid var(--color-warning);border-left-width:4px}.warningBox h3{color:var(--color-warning);margin-bottom:var(--space-sm);font-size:1.125rem}.warningBox p{color:var(--color-text-secondary);line-height:1.6;margin-bottom:var(--space-md)}.button-group,.password-form,.warningBox .submitButton{margin-top:var(--space-md)}.button-group{display:flex;gap:var(--space-sm);flex-wrap:wrap}.button-secondary{padding:12px var(--space-lg);background-color:var(--color-surface);color:var(--color-text-primary);text-decoration:none;border-radius:var(--radius-md);border:1px solid var(--color-border);font-weight:600;display:inline-block;transition:all var(--transition-base);cursor:pointer;font-size:1rem}.button-secondary:hover{background-color:var(--color-surface-hover);border-color:var(--color-text-muted)}.hint-text{color:var(--color-text-muted);font-size:.8rem}.divider{border-top:1px solid var(--color-border);padding-top:var(--space-xl);margin-top:var(--space-xl)}.inlineFormGroup{display:flex;gap:var(--space-sm);align-items:flex-start}.inlineFormGroup .input{flex:1}.inlineFormGroup .submitButton{margin-top:0;white-space:nowrap}.steam-search-form{margin-bottom:var(--space-xl);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-md)}.manual-add-title,.steam-search-title{font-size:1.125rem;color:var(--color-text-secondary);margin-bottom:var(--space-md);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.steam-search-error-message{margin-top:var(--space-md)}.steam-search-results-container{margin-top:var(--space-md);max-height:300px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-bg-secondary)}.steam-search-results-list{list-style:none;padding:0;margin:0}.steam-search-result-item{padding:12px var(--space-md);cursor:pointer;border-bottom:1px solid var(--color-border);color:var(--color-text-primary);transition:background-color var(--transition-base)}.steam-search-result-item:hover{background-color:var(--color-surface-hover)}.steam-search-result-item:last-child{border-bottom:none}.form-message{margin-bottom:var(--space-md)}.addGameButton{margin-top:var(--space-md);padding:12px var(--space-lg);background:linear-gradient(135deg,var(--color-success) 0,var(--color-success-dark) 100%);color:var(--color-text-primary);border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm);text-transform:uppercase;letter-spacing:.05em}.addGameButton:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);background:linear-gradient(135deg,var(--color-success-dark) 0,var(--color-success) 100%)}.addGameButton:disabled{background:var(--color-surface);color:var(--color-text-muted);cursor:not-allowed;transform:none}.removeGameButton{margin-top:var(--space-md);padding:12px var(--space-lg);background:linear-gradient(135deg,var(--color-error) 0,var(--color-error-dark) 100%);color:var(--color-text-primary);border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm);text-transform:uppercase;letter-spacing:.05em}.removeGameButton:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);background:linear-gradient(135deg,var(--color-error-dark) 0,var(--color-error) 100%)}.removeGameButton:disabled{background:var(--color-surface);color:var(--color-text-muted);cursor:not-allowed;transform:none}.edit-game-form{margin-top:var(--space-lg)}.back-link-container{margin-top:var(--space-xl);text-align:center}.listContainer{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-xl);width:100%;max-width:var(--content-width-max);padding:0 var(--space-md)}.listTitle{font-size:2rem;font-weight:700;color:var(--color-text-primary);letter-spacing:-.025em}.add-game-section,.listTitle{text-align:center;margin-bottom:var(--space-lg)}.no-results-message{text-align:center;color:var(--color-text-secondary);padding:var(--space-xl);font-size:1.125rem}.gameList{display:flex;flex-direction:column;gap:var(--space-md)}.gameItem{background-color:var(--color-surface);padding:var(--space-lg);border-radius:var(--radius-md);color:var(--color-text-secondary);border:1px solid var(--color-border);transition:all var(--transition-base)}.gameItem:hover{border-color:var(--color-accent-primary);box-shadow:var(--shadow-md)}.game-list-item{display:flex;justify-content:space-between;align-items:center;position:relative}.game-info{margin-right:var(--space-lg);flex-grow:1}.game-name{font-size:1.25rem;color:var(--color-text-primary);margin-bottom:var(--space-sm);font-weight:600}.game-detail{font-size:.9rem;color:var(--color-text-secondary);margin:var(--space-xs) 0}.game-actions{display:flex;align-items:center;flex-shrink:0;margin-left:var(--space-md);gap:var(--space-md)}.edit-icon{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1.25rem;padding:0;text-decoration:none;transition:color var(--transition-base)}.edit-icon:hover{color:var(--color-text-primary)}.owned-badge-container{position:relative;cursor:default}.owned-badge{color:var(--color-success);font-weight:700;flex-shrink:0;cursor:pointer;transition:color var(--transition-base)}.owned-badge:hover{color:var(--color-success-dark)}.remove-owned-button{position:absolute;top:130%;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--color-error) 0,var(--color-error-dark) 100%);color:var(--color-text-primary);border:none;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);cursor:pointer;z-index:10;font-size:.875rem;white-space:nowrap;box-shadow:var(--shadow-md);font-weight:600;transition:all var(--transition-base)}.remove-owned-button:hover{transform:translateX(-50%) translateY(-1px);box-shadow:var(--shadow-lg)}.filterContainer{display:flex;justify-content:center;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap}.filterInput{padding:12px var(--space-md);border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-bg-secondary);color:var(--color-text-primary);font-size:1rem;flex-grow:1;min-width:200px;transition:all var(--transition-base)}.filterInput:focus{outline:none;border-color:var(--color-highlight);box-shadow:0 0 0 3px rgba(0,217,255,.2)}.filterInput::-moz-placeholder{color:var(--color-text-muted)}.filterInput::placeholder{color:var(--color-text-muted)}.ownedGamesSection{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.sectionTitle{font-size:1.5rem;color:var(--color-text-primary);margin-bottom:var(--space-md);font-weight:700}.gamesList{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-sm)}.actionButton{padding:var(--space-sm) var(--space-md);background-color:var(--color-accent-primary);color:var(--color-text-primary);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;font-weight:600;transition:all var(--transition-base);text-transform:uppercase;letter-spacing:.05em}.actionButton:hover{background-color:var(--color-accent-dark);transform:translateY(-1px)}.actionButton:disabled{background-color:var(--color-surface);color:var(--color-text-muted);cursor:not-allowed;transform:none}.addNewButton{padding:12px var(--space-lg);background-color:var(--color-accent-primary);color:var(--color-text-primary);text-decoration:none;border-radius:var(--radius-md);border:none;font-weight:600;display:inline-block;transition:all var(--transition-base);cursor:pointer;font-size:1rem}.addNewButton:hover{background-color:var(--color-accent-dark)}.textLink{color:var(--color-highlight);text-decoration:underline;transition:color var(--transition-base)}.textLink:hover{color:var(--color-highlight-dark)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.7);display:flex;justify-content:center;align-items:center;z-index:1000;padding:var(--space-lg)}.modal-content{background-color:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-xl);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.tournament-page{width:100%;max-width:1400px;margin:0 auto}.tournament-header{text-align:center;margin-bottom:var(--space-xl);padding:var(--space-xl);background:linear-gradient(135deg,var(--color-accent-primary) 0,var(--color-accent-secondary) 100%);border-radius:var(--radius-lg);position:relative}.tournament-title{font-size:3rem;font-weight:700;color:var(--color-text-on-accent);margin:0 0 var(--space-lg) 0;text-transform:uppercase;letter-spacing:.05em;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.tournament-creator{position:absolute;bottom:var(--space-sm);right:var(--space-lg);font-size:.875rem;color:var(--color-text-on-accent);opacity:.8}.tournament-info{display:flex;gap:var(--space-lg);justify-content:center;flex-wrap:wrap;margin-top:var(--space-md)}.tournament-info-item{display:inline-block;padding:var(--space-sm) var(--space-md);background-color:rgba(0,0,0,.2);border-radius:var(--radius-md);color:var(--color-text-on-accent);font-size:.95rem}.tournament-info-item.status-finished{background-color:rgba(139,69,19,.6);border:1px solid rgba(255,167,38,.5)}.tournament-info-item strong{font-weight:600;margin-right:var(--space-xs)}.auto-refresh-button{padding:var(--space-sm) var(--space-md);background-color:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;transition:all var(--transition-base);display:flex;align-items:center;gap:var(--space-xs)}.auto-refresh-button:hover{background-color:var(--color-surface-hover)}.auto-refresh-button.active{background-color:var(--color-success);border-color:var(--color-success);color:var(--color-text-on-accent)}.winner-announcement{font-size:1.75rem;font-weight:700;color:var(--color-warning);text-align:center;margin-top:var(--space-md);padding:var(--space-md);background-color:rgba(26,26,46,.85);border-radius:var(--radius-md);text-shadow:1px 1px 2px rgba(0,0,0,.5);border:2px solid rgba(255,167,38,.4)}.tournament-controls{gap:var(--space-sm)}.auto-refresh-toggle,.tournament-controls{display:flex;justify-content:center;margin-top:var(--space-lg);margin-bottom:var(--space-lg)}.button-danger{padding:12px var(--space-lg);background-color:var(--color-error-dark);color:var(--color-text-primary);text-decoration:none;border-radius:var(--radius-md);border:1px solid var(--color-error);font-weight:600;display:inline-block;transition:all var(--transition-base);cursor:pointer;font-size:1rem}.button-danger:hover{background-color:#a00000;border-color:var(--color-error)}.section-title{color:var(--color-accent-secondary);font-size:1.5rem;margin-top:var(--space-xl);margin-bottom:var(--space-md)}.tournament-finished{opacity:.8}.tournament-finished:hover{opacity:1}.score-input-section{background-color:var(--color-surface);padding:var(--space-xl);border-radius:var(--radius-md);margin-bottom:var(--space-xl);box-shadow:var(--shadow-sm)}.score-input-section h2{margin-top:0;margin-bottom:var(--space-lg);color:var(--color-accent-secondary)}.score-form{flex-direction:column}.score-form,.time-input-group{display:flex;gap:var(--space-md)}.time-input-group .formGroup{flex:1}.time-input{text-align:center}.leaderboard-section{background-color:var(--color-surface);padding:var(--space-xl);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.leaderboard-section h2{margin-top:0;margin-bottom:var(--space-lg);color:var(--color-accent-secondary)}.leaderboard-table{width:100%;border-collapse:collapse;background-color:var(--color-bg-secondary);border-radius:var(--radius-md);overflow:hidden}.leaderboard-table thead{background-color:var(--color-bg-tertiary)}.leaderboard-table th{padding:var(--space-md);text-align:left;font-weight:600;color:var(--color-accent-secondary);text-transform:uppercase;font-size:.875rem;letter-spacing:.05em}.leaderboard-table td{padding:var(--space-md);border-top:1px solid var(--color-border);font-size:1.125rem}.leaderboard-table tbody tr{transition:background-color var(--transition-base)}.leaderboard-table tbody tr:hover{background-color:var(--color-surface-hover)}.current-user-row{background-color:rgba(255,107,53,.1)!important}.current-user-row:hover{background-color:rgba(255,107,53,.2)!important}.rank-cell{font-weight:700;font-size:1.5rem;text-align:center;width:80px}@media (max-width:768px){.tournament-title{font-size:2rem}.tournament-creator{position:static;margin-top:var(--space-md)}.time-input-group{flex-direction:column}.leaderboard-table{font-size:.875rem}.leaderboard-table td,.leaderboard-table th{padding:var(--space-sm)}.rank-cell{font-size:1.25rem;width:60px}}