:root{--bg-primary:#ffffff;--bg-secondary:#f8fafc;--bg-card:#ffffff;--bg-card-hover:#f1f5f9;--text-primary:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--accent-primary:#6366f1;--accent-secondary:#4f46e5;--accent-glow:rgba(99, 102, 241, 0.15);--success:#22c55e;--success-glow:rgba(34, 197, 94, 0.15);--danger:#ef4444;--danger-glow:rgba(239, 68, 68, 0.15);--warning:#f59e0b;--border-color:#e2e8f0;--border-hover:#cbd5e1;--font-sans:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;--font-mono:'JetBrains Mono', 'Fira Code', monospace;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--transition-fast:150ms ease;--transition-normal:250ms ease;--transition-slow:400ms ease}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh}a{color:var(--accent-secondary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-primary)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.page{min-height:100vh;display:flex;flex-direction:column}.header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:var(--spacing-md)0;position:sticky;top:0;z-index:100;backdrop-filter:blur(10px)}.header-content{display:flex;align-items:center;justify-content:space-between}.logo{font-size:1.5rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:var(--spacing-sm)}.logo-icon{color:var(--accent-primary)}.nav{display:flex;gap:var(--spacing-lg)}.nav-link{color:var(--text-secondary);font-weight:500;padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--radius-md);transition:all var(--transition-fast)}.nav-link:hover{color:var(--text-primary);background:var(--bg-card)}.nav-link.active{color:var(--accent-primary)}.main{flex:1;padding:var(--spacing-2xl)0}.voting-section{text-align:center;margin-bottom:var(--spacing-2xl)}.voting-question{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-lg);max-width:600px;margin-left:auto;margin-right:auto}.streak-badge{display:inline-flex;align-items:center;gap:var(--spacing-sm);background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));padding:var(--spacing-xs)var(--spacing-md);border-radius:var(--radius-xl);font-size:.875rem;font-weight:600;margin-bottom:var(--spacing-lg)}.streak-badge .fire{font-size:1rem}.matchup-container{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--spacing-lg);align-items:stretch;max-width:900px;margin:0 auto}.vs-divider{display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:var(--text-muted);padding:0 var(--spacing-md)}.company-card{background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-xl);cursor:pointer;transition:all var(--transition-normal);position:relative;overflow:hidden}.company-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--accent-glow),transparent);opacity:0;transition:opacity var(--transition-normal)}.company-card:hover{border-color:var(--accent-primary);transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,0,0,.3)}.company-card:hover::before{opacity:1}.company-card:active{transform:translateY(-2px)}.company-card.selected{border-color:var(--success);box-shadow:0 0 30px var(--success-glow)}.company-card.not-selected{opacity:.5;border-color:var(--danger)}.company-logo-box{width:100%;height:180px;border-radius:var(--radius-md);background:var(--bg-secondary);margin-bottom:var(--spacing-lg);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;z-index:1}.company-logo-box img{max-width:85%;max-height:140px;object-fit:contain}.company-logo-fallback{display:none;font-size:3rem;font-weight:700;color:var(--text-muted);align-items:center;justify-content:center}.company-info{position:relative;z-index:1}.company-name{font-size:1.25rem;font-weight:600;margin-bottom:var(--spacing-sm);position:relative;z-index:1}.company-meta{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md)}.company-ticker{font-family:var(--font-mono);font-size:.875rem;color:var(--text-muted);position:relative;z-index:1}.company-sector{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-secondary);position:relative;z-index:1}.company-logo{width:64px;height:64px;border-radius:var(--radius-md);background:var(--bg-secondary);margin:0 auto var(--spacing-md);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;z-index:1}.company-logo img{width:48px;height:48px;object-fit:contain}.company-logo-placeholder{font-size:1.5rem;font-weight:700;color:var(--text-muted)}.keyboard-hint{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);background:var(--bg-secondary);padding:var(--spacing-xs)var(--spacing-sm);border-radius:var(--radius-sm);opacity:0;transition:opacity var(--transition-fast)}.company-card:hover .keyboard-hint{opacity:1}.skip-container{margin-top:var(--spacing-xl);text-align:center}.skip-button{background:0 0;border:1px solid var(--border-color);color:var(--text-muted);padding:var(--spacing-sm)var(--spacing-lg);border-radius:var(--radius-md);font-size:.875rem;cursor:pointer;transition:all var(--transition-fast)}.skip-button:hover{border-color:var(--text-secondary);color:var(--text-secondary)}.vote-confirmation{position:fixed;bottom:var(--spacing-xl);left:50%;transform:translateX(-50%)translateY(100px);background:var(--bg-card);border:1px solid var(--border-color);padding:var(--spacing-md)var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:0 20px 40px rgba(0,0,0,.4);opacity:0;transition:all var(--transition-normal);z-index:200;max-width:90%}.vote-confirmation.show{transform:translateX(-50%)translateY(0);opacity:1}.vote-confirmation-text{font-size:.875rem;color:var(--text-secondary);font-style:italic}.recent-votes{margin-top:var(--spacing-2xl);padding-top:var(--spacing-2xl);border-top:1px solid var(--border-color)}.section-title{font-size:1.25rem;font-weight:600;margin-bottom:var(--spacing-lg);color:var(--text-primary)}.votes-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.vote-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm)var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md);font-size:.875rem}.vote-item .winner{color:var(--success);font-weight:600}.vote-item .loser{color:var(--text-muted)}.vote-item .vs{color:var(--text-muted)}.vote-item .time{margin-left:auto;color:var(--text-muted);font-size:.75rem}.rankings-container{overflow-x:auto}.rankings-controls{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.search-input{flex:1;min-width:200px;padding:var(--spacing-sm)var(--spacing-md);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.875rem}.search-input:focus{outline:none;border-color:var(--accent-primary)}.filter-select{padding:var(--spacing-sm)var(--spacing-md);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.875rem;cursor:pointer}.rankings-table{width:100%;border-collapse:collapse}.rankings-table th,.rankings-table td{padding:var(--spacing-md);text-align:left;border-bottom:1px solid var(--border-color)}.rankings-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600;cursor:pointer;user-select:none;transition:color var(--transition-fast)}.rankings-table th:hover{color:var(--text-primary)}.rankings-table th.sorted{color:var(--accent-primary)}.rankings-table th .sort-icon{margin-left:var(--spacing-xs)}.rankings-table tbody tr{transition:background var(--transition-fast)}.rankings-table tbody tr:hover{background:var(--bg-card)}.rank-cell{font-weight:700;color:var(--text-muted);font-family:var(--font-mono)}.rank-cell.top-3{color:var(--warning)}.company-cell{display:flex;align-items:center;gap:var(--spacing-md)}.company-cell img{width:32px;height:32px;border-radius:var(--radius-sm)}.company-cell .name{font-weight:600}.company-cell .ticker{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted)}.sector-cell{color:var(--accent-secondary);font-size:.875rem}.elo-cell{font-family:var(--font-mono);font-weight:600}.record-cell{font-family:var(--font-mono);font-size:.875rem;color:var(--text-secondary)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);color:var(--text-muted)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}.loading-text{margin-top:var(--spacing-md);font-size:.875rem}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.footer{background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:var(--spacing-xl)0;text-align:center}.footer-content{display:flex;flex-direction:column;gap:var(--spacing-md)}.footer-tagline{color:var(--text-secondary);font-size:.875rem;font-style:italic}.footer-credits{display:flex;justify-content:center;align-items:center;gap:var(--spacing-sm);font-size:.8rem;color:var(--text-muted)}.footer-credits a{color:var(--accent-secondary)}.footer-credits .separator{color:var(--border-color)}.footer-credits .memorial{color:var(--text-muted);font-style:italic}.footer-disclaimer{color:var(--text-muted);font-size:.7rem;opacity:.7}@media(max-width:768px){.matchup-container{grid-template-columns:1fr;gap:var(--spacing-md)}.vs-divider{padding:var(--spacing-sm)0}.company-card{padding:var(--spacing-lg)}.nav{gap:var(--spacing-sm)}.nav-link{padding:var(--spacing-xs)var(--spacing-sm);font-size:.875rem}.header-content{flex-direction:column;gap:var(--spacing-md)}.voting-question{font-size:1.25rem}.rankings-controls{flex-direction:column}.search-input{width:100%}}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.mt-lg{margin-top:var(--spacing-lg)}.mb-lg{margin-bottom:var(--spacing-lg)}