:root{--bg-primary: #0d0d1a;--bg-secondary: #161625;--bg-tertiary: #1e1e32;--border: #2a2a40;--text-primary: #e0e0e0;--text-secondary: #888;--accent: #FF5500;--accent-hover: #e64d00;--success: #4CAF50;--danger: #ef5350;--warning: #FFC107}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}code{background:var(--bg-tertiary);padding:2px 6px;font-size:.9em}.btn{display:inline-block;padding:10px 20px;border:none;cursor:pointer;font-size:14px;font-weight:600;text-align:center;transition:background .2s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.btn-small{padding:6px 12px;font-size:12px;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border)}.btn-small:hover{color:var(--text-primary);border-color:var(--text-secondary)}.btn-large{padding:14px 32px;font-size:16px}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh}.auth-card{background:var(--bg-secondary);border:1px solid var(--border);padding:40px;width:100%;max-width:400px}.auth-title{font-size:32px;font-weight:700;color:var(--accent);text-align:center;margin-bottom:4px}.auth-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:24px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:6px}.form-group input{width:100%;padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);font-size:14px;outline:none}.form-group input:focus{border-color:var(--accent)}.auth-card .btn{width:100%;margin-top:8px}.auth-link{text-align:center;margin-top:16px;color:var(--text-secondary);font-size:13px}.error-msg{background:#ef535026;border:1px solid var(--danger);color:var(--danger);padding:8px 12px;margin-bottom:16px;font-size:13px}.layout{min-height:100vh}.navbar{display:flex;align-items:center;gap:24px;padding:0 24px;height:56px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.nav-brand{font-size:20px;font-weight:700;color:var(--accent);margin-right:16px}.nav-links{display:flex;gap:4px}.nav-link{padding:8px 14px;color:var(--text-secondary);font-size:14px;font-weight:500;transition:color .2s}.nav-link:hover{color:var(--text-primary)}.nav-link.active{color:var(--accent)}.nav-user{margin-left:auto;display:flex;align-items:center;gap:12px}.nav-username{color:var(--text-secondary);font-size:13px}.main-content{max-width:960px;margin:0 auto;padding:32px 24px}.dashboard-page h2{margin-bottom:16px;font-size:18px}.dashboard-section{margin-bottom:32px}.waiting-card{background:var(--bg-secondary);border:1px solid var(--border);padding:48px;text-align:center}.waiting-card h2{color:var(--text-primary);margin-bottom:8px}.waiting-card p{color:var(--text-secondary)}.waiting-pulse{width:12px;height:12px;background:var(--accent);margin:0 auto 16px;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.prediction-card{background:var(--bg-secondary);border:1px solid var(--border);padding:24px}.prediction-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.map-name{font-size:16px;color:var(--text-secondary);font-weight:600}.win-probability{font-size:36px;font-weight:700}.prob-good{color:var(--success)}.prob-neutral{color:var(--warning)}.prob-bad{color:var(--danger)}.probability-bar{margin-bottom:20px}.bar-track{width:100%;height:8px;background:var(--bg-tertiary)}.bar-fill{height:100%;transition:width .8s ease}.bar-good{background:var(--success)}.bar-neutral{background:var(--warning)}.bar-bad{background:var(--danger)}.elo-comparison{display:flex;align-items:center;justify-content:center;gap:24px;margin-bottom:20px;padding:12px;background:var(--bg-tertiary)}.elo-team{display:flex;flex-direction:column;align-items:center}.elo-label{font-size:12px;color:var(--text-secondary)}.elo-value{font-size:18px;font-weight:600}.elo-vs{color:var(--text-secondary);font-size:14px}.rosters{display:grid;grid-template-columns:1fr 1fr;gap:16px}.roster-display{background:var(--bg-tertiary);padding:12px}.roster-title{font-size:13px;color:var(--text-secondary);margin-bottom:8px;font-weight:600}.roster-list{list-style:none}.roster-player{display:flex;justify-content:space-between;padding:4px 0;font-size:13px}.roster-player.highlighted{color:var(--accent);font-weight:600}.player-name{color:var(--text-primary)}.roster-player.highlighted .player-name{color:var(--accent)}.player-elo{color:var(--text-secondary)}.extension-status{display:flex;align-items:center;gap:8px}.status-dot{width:10px;height:10px;display:inline-block}.status-dot.green{background:var(--success)}.status-dot.red{background:var(--danger)}.status-text{font-size:13px;color:var(--text-secondary)}.match-history table{width:100%;border-collapse:collapse}.match-history th,.match-history td{padding:10px 12px;text-align:left;font-size:13px;border-bottom:1px solid var(--border)}.match-history th{color:var(--text-secondary);font-weight:600;font-size:12px;text-transform:uppercase}.match-history td{color:var(--text-primary)}.result-win{color:var(--success);font-weight:600}.result-loss{color:var(--danger);font-weight:600}.result-pending{color:var(--text-secondary)}.empty-state{color:var(--text-secondary);text-align:center;padding:24px}.load-more{display:block;margin:16px auto}.setup-page h1{margin-bottom:4px}.setup-subtitle{color:var(--text-secondary);margin-bottom:32px}.setup-step{background:var(--bg-secondary);border:1px solid var(--border);padding:24px;margin-bottom:16px}.step-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.step-number{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border);font-size:14px;font-weight:600;flex-shrink:0}.step-number.completed{background:var(--success);border-color:var(--success);color:#fff}.step-header h2{font-size:16px;margin:0}.step-content{padding-left:40px}.faceit-linked{display:flex;align-items:center;gap:8px;font-size:14px}.elo-badge{background:var(--bg-tertiary);padding:2px 8px;font-size:12px;color:var(--text-secondary)}.install-instructions{margin-top:16px}.instruction{display:flex;gap:8px;padding:6px 0;font-size:14px;color:var(--text-secondary)}.instruction-num{color:var(--accent);font-weight:600}.history-page h1{margin-bottom:24px}.stats-bar{display:flex;gap:16px;margin-bottom:24px}.stat{flex:1;background:var(--bg-secondary);border:1px solid var(--border);padding:16px;text-align:center}.stat-value{display:block;font-size:24px;font-weight:700;color:var(--accent)}.stat-label{display:block;font-size:12px;color:var(--text-secondary);margin-top:4px}
