:root{--bg-color:#121212;--bg-surface:#1e1e1e;--bg-surface-elevated:#2c2c2c;--text-primary:#fff;--text-secondary:#b0b0b0;--accent-primary:#ff5722;--accent-secondary:#00bcd4;--accent-success:#4caf50;--border-color:#333;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--transition-speed:.2s;--border-radius-sm:6px;--border-radius-md:12px;--border-radius-lg:16px}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}*{box-sizing:border-box}h1,h2,h3,h4,h5,h6,p{margin:0}button{font-family:inherit}.panel{background-color:var(--bg-surface);border-radius:var(--border-radius-md);border:1px solid var(--border-color);transition:transform var(--transition-speed), box-shadow var(--transition-speed);padding:16px;box-shadow:0 4px 12px #0006}.text-fastest{color:var(--accent-primary);font-weight:700}.text-leader{color:var(--accent-secondary);font-weight:700}.text-muted{color:var(--text-secondary)}.app-footer{color:var(--text-secondary);justify-content:center;align-items:center;gap:8px;margin-top:24px;padding:12px 0;font-size:.8rem;display:flex}.app-footer a,.app-footer button{color:var(--text-secondary);font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.app-footer a:hover,.app-footer button:hover{color:var(--text-primary)}.consent-banner{z-index:1100;background-color:var(--bg-surface-elevated);max-width:568px;margin:0 auto;animation:.25s ease-out consent-in;position:fixed;bottom:16px;left:16px;right:16px;box-shadow:0 8px 24px #0009}.consent-title{margin-bottom:8px;font-size:1rem}.consent-text{color:var(--text-secondary);font-size:.85rem;line-height:1.45}.consent-text a{color:var(--accent-secondary)}.consent-actions{gap:8px;margin-top:12px;display:flex}.consent-btn{border-radius:var(--border-radius-sm);border:1px solid var(--border-color);background-color:var(--bg-surface);color:var(--text-primary);cursor:pointer;transition:border-color var(--transition-speed);flex:1;padding:12px;font-size:.9rem;font-weight:600}.consent-btn:hover,.consent-btn:focus-visible{border-color:var(--accent-secondary);outline:none}@keyframes consent-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
