@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Space+Grotesk:wght@300;400;500;600;700&display=swap";:root{--color-bg:#f3f5f2;--color-surface:#e8ece6;--color-surface-high:#dde3da;--color-surface-dot:#bcc6bb;--color-text:#435048;--color-text-strong:#0d130f;--color-text-muted:#5f6d63;--color-border:#cdd5cc;--color-border-dot:#a8b4a7;--color-accent:#29c214;--color-accent-bg:#29c2141a;--color-accent-border:#29c21447;--color-accent-glow:#29c21424;--color-success:#15803d;--color-success-bg:#15803d14;--color-warning:#b45309;--color-warning-bg:#b4530914;--color-error:#dc2626;--color-error-bg:#dc262614;--color-projected:#1b9f3f;--color-projected-stripe:#6fe182;--font-body:"Inter", system-ui, -apple-system, sans-serif;--font-heading:"Space Grotesk", system-ui, -apple-system, sans-serif;--font-mono:ui-monospace, Consolas, monospace;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;font:18px/1.5 var(--font-body);letter-spacing:-.01em;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--color-text);background:var(--color-bg);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}:root{--bg:var(--color-bg);--text:var(--color-text);--text-muted:var(--color-text-muted);--border:var(--color-border);--accent:var(--color-accent);--accent-bg:var(--color-accent-bg);--accent-border:var(--color-accent-border)}@media (prefers-color-scheme:dark){:root{--color-bg:#0a0d0b;--color-surface:#141914;--color-surface-high:#1c231d;--color-surface-dot:#232b24;--color-border:#283229;--color-border-dot:#374339;--color-text:#c7d1c8;--color-text-strong:#f3f7f3;--color-text-muted:#8e9d90;--color-accent:#39ff14;--color-accent-bg:#39ff1424;--color-accent-border:#39ff1457;--color-accent-glow:#39ff1429;--color-success:#52db70;--color-warning:#facc15;--color-error:#f87171}}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f3f5f2;--color-surface:#e8ece6;--color-surface-high:#dde3da;--color-surface-dot:#bcc6bb;--color-text:#435048;--color-text-strong:#0d130f;--color-text-muted:#5f6d63;--color-border:#cdd5cc;--color-border-dot:#a8b4a7;--color-accent:#29c214;--color-accent-bg:#29c2141a;--color-accent-border:#29c21447;--color-accent-glow:#29c21424;--color-success:#15803d;--color-warning:#b45309;--color-error:#dc2626}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0a0d0b;--color-surface:#141914;--color-surface-high:#1c231d;--color-surface-dot:#232b24;--color-border:#283229;--color-border-dot:#374339;--color-text:#c7d1c8;--color-text-strong:#f3f7f3;--color-text-muted:#8e9d90;--color-accent:#39ff14;--color-accent-bg:#39ff1424;--color-accent-border:#39ff1457;--color-accent-glow:#39ff1429;--color-success:#52db70;--color-success-bg:#52db701f;--color-warning:#facc15;--color-warning-bg:#facc151a;--color-error:#f87171;--color-error-bg:#f871711a}#root{box-sizing:border-box;background:var(--color-bg);flex-direction:column;width:100%;max-width:1200px;min-height:100dvh;margin:0 auto;display:flex}body{margin:0;overflow-x:hidden}h1,h2,h3{font-family:var(--font-heading);color:var(--color-text-strong);letter-spacing:-.025em;font-weight:700}h1{margin:2rem 0;font-size:clamp(2rem,5vw,3.5rem)}h2{margin-bottom:.5rem;font-size:1.5rem}code{font-family:var(--font-mono);background:var(--color-surface-high);border-radius:var(--radius-sm);padding:.2rem .4rem;font-size:.875em}.aria-hidden{display:none}*{box-sizing:border-box}.login-container{background-color:var(--color-bg);height:100dvh;padding:var(--space-md);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.login-container:before{content:"";background-image:linear-gradient(var(--color-surface-dot) 1px, transparent 1px), linear-gradient(90deg, var(--color-surface-dot) 1px, transparent 1px);opacity:.4;pointer-events:none;background-position:50%;background-size:60px 60px;position:absolute;inset:0}.login-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:400px;padding:var(--space-xl);box-shadow:var(--shadow-md);z-index:1;text-align:center;flex-direction:column;max-height:90vh;animation:.6s cubic-bezier(.16,1,.3,1) slideUp;display:flex;position:relative;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.login-brand{margin-bottom:var(--space-xl)}.login-logo{color:var(--color-text-strong);letter-spacing:-.04em;margin-bottom:var(--space-xs);justify-content:center;align-items:center;gap:var(--space-sm);font-size:2.25rem;font-weight:800;display:flex}.login-logo-mark{background:var(--color-accent);border-radius:var(--radius-md);color:#fff;width:36px;height:36px;box-shadow:0 4px 12px var(--color-accent-glow);flex-shrink:0;justify-content:center;align-items:center;font-size:1.125rem;display:flex;position:relative;overflow:hidden}.login-logo-mark:after{content:"";background:#fff3;width:100%;height:1px;position:absolute;top:50%;left:0;transform:rotate(-45deg)}.login-tagline{color:var(--color-text-muted);margin:0;font-size:.9375rem;font-weight:500;line-height:1.5}.login-benefits{text-align:left;margin-top:var(--space-lg);margin-bottom:var(--space-xl);padding:var(--space-lg);background:var(--color-surface-high);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.benefit-item{align-items:center;gap:var(--space-sm);color:var(--color-text);margin-bottom:12px;font-size:.875rem;font-weight:500;display:flex}.benefit-item:last-child{margin-bottom:0}.benefit-icon{color:var(--color-success);font-weight:900}.login-error{background-color:var(--color-error-bg);border:1px solid var(--color-error);color:var(--color-error);padding:var(--space-sm);border-radius:var(--radius-md);margin-bottom:var(--space-lg);text-align:left;align-items:center;font-size:.8125rem;font-weight:600;display:flex}.login-error-icon{margin-right:var(--space-sm);font-size:1.1em}.login-button{justify-content:center;align-items:center;gap:var(--space-sm);background-color:var(--color-text-strong);width:100%;color:var(--color-bg);border-radius:var(--radius-lg);cursor:pointer;border:none;flex-shrink:0;padding:14px 24px;font-size:1rem;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 4px 12px #0000001a}.login-button:hover:not(:disabled){background-color:var(--color-accent);color:#071008;transform:translateY(-2px)}.login-button:disabled{opacity:.7;cursor:not-allowed}.login-button.login-button-secondary{margin-top:.5rem}.login-footer{margin-top:var(--space-xl);color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.6875rem;font-weight:800}@keyframes spin{to{transform:rotate(360deg)}}.loading-container{background-color:var(--color-background);color:var(--color-text);z-index:1000;justify-content:center;align-items:center;display:flex}.full-screen{background-image:radial-gradient(circle,#1a1a1a 0%,#000 100%),linear-gradient(90deg,#ffffff08 1px,#0000 1px),linear-gradient(#ffffff08 1px,#0000 1px);background-size:100% 100%,40px 40px,40px 40px;position:fixed;inset:0}.loading-content{text-align:center;gap:var(--space-xl,32px);max-width:400px;padding:var(--space-xl,32px);flex-direction:column;display:flex}.technical-spinner{width:80px;height:80px;margin:0 auto;position:relative}.spinner-ring{border:4px solid #0000;border-radius:50%;width:100%;height:100%;position:absolute;top:0;left:0}.ring-outer{border-top-color:var(--color-accent,#3b82f6);border-right-color:var(--color-accent,#3b82f6);animation:1.5s linear infinite spin-clockwise}.ring-inner{border-bottom-color:var(--color-accent-dim,#3b82f680);border-left-color:var(--color-accent-dim,#3b82f680);opacity:.6;width:70%;height:70%;animation:1s linear infinite spin-counter-clockwise;top:15%;left:15%}.spinner-core{background-color:var(--color-accent,#3b82f6);width:30%;height:30%;box-shadow:0 0 15px var(--color-accent-glow,#3b82f6cc);border-radius:50%;animation:2s ease-in-out infinite pulse-core;position:absolute;top:35%;left:35%}.loading-text{gap:var(--space-sm,8px);flex-direction:column;display:flex}.loading-title{font-family:var(--font-technical,"Inter", sans-serif);letter-spacing:-.02em;color:var(--color-text-high,#fff);margin:0;font-weight:700}.loading-subtitle{font-family:var(--font-technical,"Inter", sans-serif);color:var(--color-text-muted,#a3a3a3);margin:0;font-size:.9rem}@keyframes spin-clockwise{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin-counter-clockwise{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}@keyframes pulse-core{0%{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}to{opacity:.6;transform:scale(.9)}}.skeleton{background-color:var(--card-bg,#1a1a1a);background-image:linear-gradient(90deg,#fff0 0%,#ffffff0d 50%,#fff0 100%);background-size:200% 100%;border-radius:4px;animation:2s linear infinite shimmer}.skeleton-text{height:1.2rem;margin-bottom:.5rem}.skeleton-rect{min-height:20px}.skeleton-circle{border-radius:50%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.global-credit-container{flex-direction:column;gap:6px;width:100%;max-width:340px;display:flex}.credit-labels{justify-content:space-between;align-items:baseline;gap:12px;font-size:.875rem;display:flex}.credit-total{font-family:var(--font-heading);color:var(--color-text-strong);letter-spacing:-.03em;font-size:1.2rem;font-weight:800}.credit-total small{font-family:var(--font-body);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.12em;margin-left:6px;font-size:.64rem;font-weight:700}.credit-max{font-family:var(--font-body);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.12em;white-space:nowrap;font-size:.68rem;font-weight:700}.credit-bar-bg{background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface-high) 92%, var(--color-bg)), color-mix(in srgb, var(--color-surface-dot) 88%, var(--color-bg)));border:1px solid color-mix(in srgb, var(--color-border) 92%, transparent);border-radius:999px;height:12px;padding:2px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0d,inset 0 -1px #00000047}.credit-bar-bg:after{content:"";border-radius:inherit;background:repeating-linear-gradient(90deg, transparent 0, transparent 18px, color-mix(in srgb, var(--color-text-muted) 14%, transparent) 18px, color-mix(in srgb, var(--color-text-muted) 14%, transparent) 19px);pointer-events:none;opacity:.4;position:absolute;inset:2px}.credit-bar-earned{border-radius:inherit;background:linear-gradient(90deg, color-mix(in srgb, var(--color-success) 78%, black), var(--color-accent));height:100%;transition:width .5s ease-out;box-shadow:inset 0 0 14px #ffffff1f}.credit-bar-projected{border-radius:inherit;background:repeating-linear-gradient(45deg, var(--color-projected-stripe), var(--color-projected-stripe) 8px, var(--color-projected) 8px, var(--color-projected) 16px);opacity:.88;height:100%;transition:width .5s ease-out}.credit-footer{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.12em;justify-content:space-between;align-items:center;font-size:.64rem;font-weight:700;display:flex}.season-progress-grid{flex-wrap:wrap;justify-content:flex-start;gap:6px;margin-top:12px;padding:8px 0;display:flex;position:relative}.week-box{font-family:var(--font-body);cursor:help;-webkit-user-select:none;user-select:none;border-radius:4px;outline:none;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.75rem;font-weight:700;transition:all .1s ease-out;display:flex;position:relative;overflow:visible}.week-box.is-clickable{cursor:pointer}.week-box:hover,.week-box:focus-visible{z-index:100;filter:brightness(1.1);transform:scale(1.2)}.week-box.is-current{z-index:10;animation:2s infinite current-week-pulse;box-shadow:0 0 0 2px #1a1d23,0 0 0 4px #3b82f6,0 0 12px #3b82f680}.week-box-current-indicator{color:#f8fbff;letter-spacing:.06em;pointer-events:none;background:#3b82f6;border:1px solid #1a1d23;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:16px;padding:0 5px;font-size:.5rem;font-weight:800;line-height:1;display:inline-flex;position:absolute;top:-12px;left:50%;transform:translate(-50%);box-shadow:0 4px 10px #0f172a59}@keyframes current-week-pulse{0%{box-shadow:0 0 0 2px #1a1d23,0 0 0 4px #3b82f6,0 0 #3b82f600}50%{box-shadow:0 0 0 2px #1a1d23,0 0 0 4px #3b82f6,0 0 12px #3b82f699}to{box-shadow:0 0 0 2px #1a1d23,0 0 0 4px #3b82f6,0 0 #3b82f600}}@media (prefers-reduced-motion:reduce){.week-box.is-current{animation:none}.week-box-current-indicator{transition:none}}.week-box:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 4px #3b82f6}.tooltip{font-family:var(--font-body);color:#fff;white-space:nowrap;pointer-events:none;z-index:1000;letter-spacing:normal;text-transform:none;background:#000;border-radius:4px;padding:6px 10px;font-size:.7rem;font-weight:600;animation:.1s ease-out tooltip-fade-in;box-shadow:0 4px 12px #00000080}@keyframes tooltip-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.tooltip{animation:none}}.status-done{color:#000;background-color:#2ecc17;border:1px solid #0000}.status-current{color:#3b82f6;background-color:#0000;border:2px solid #3b82f6}.status-current_locked{color:#3b82f6;opacity:.8;background-color:#0000;border:2px dashed #3b82f6}.status-future_owned{color:#3b82f6;background-color:#0000;border:1px solid #3b82f6}.status-future_locked{color:#4b5563;background-color:#0000;border:1px dashed #4b5563}.status-missed{color:#fff;background-color:#f87171;border:1px solid #0000}.status-current:not(.status-done),.status-current_locked:not(.status-done){animation:2s infinite pulse-border-blue}@keyframes pulse-border-blue{0%{border-color:#3b82f6;box-shadow:0 0 #3b82f64d}70%{border-color:#3b82f6;box-shadow:0 0 0 6px #3b82f600}to{border-color:#3b82f6;box-shadow:0 0 #3b82f600}}.dashboard-container{background-color:var(--color-bg);flex-direction:column;min-height:100vh;display:flex}.dashboard-header{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);background-color:var(--color-bg);z-index:100;justify-content:space-between;align-items:center;gap:var(--space-lg);display:flex;position:sticky;top:0}.logo-container{align-items:center;gap:var(--space-sm);display:flex}.guest-badge-minimal{color:var(--color-warning);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:6px;margin-left:4px;padding-left:4px;font-size:.625rem;font-weight:800;display:flex;position:relative}.pulse-dot{background-color:var(--color-warning);border-radius:50%;width:6px;height:6px;animation:2s infinite pulse-dot;box-shadow:0 0 #b4530966}@keyframes pulse-dot{0%{box-shadow:0 0 #b4530966}70%{box-shadow:0 0 0 4px #b4530900}to{box-shadow:0 0 #b4530900}}.garage-nav-button{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-strong);border-radius:var(--radius-md);cursor:pointer;letter-spacing:.02em;height:40px;font-size:.8125rem;font-weight:700;font-family:var(--font-body);align-items:center;gap:8px;padding:0 16px;transition:all .2s cubic-bezier(.4,0,.2,1);display:none}.garage-nav-button svg{color:var(--color-accent)}.garage-nav-button:hover{background:var(--color-surface-high);border-color:var(--color-text-muted)}.header-center{flex:1;justify-content:center;display:flex}.dashboard-main{padding:0 var(--space-lg) var(--space-3xl);width:100%;max-width:1200px;margin:0 auto}.dashboard-hero{margin-top:var(--space-xl);margin-bottom:var(--space-xl);justify-content:space-between;align-items:flex-end;display:flex}.dashboard-title{color:var(--color-text-strong);letter-spacing:-.04em;margin:0;font-size:clamp(1.5rem,5vw,2.25rem);font-weight:800}.dashboard-subtitle{color:var(--color-text-muted);margin:var(--space-xs) 0 0 0;font-size:clamp(.875rem,3vw,1rem);font-weight:500}.hero-content{gap:var(--space-sm);flex-direction:column;display:flex}.dashboard-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.grid-group{margin-top:var(--space-2xl)}.grid-group:first-of-type{margin-top:var(--space-lg)}.grid-group-title{color:var(--color-text-strong);margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);border-bottom:2px solid var(--color-border);align-items:center;gap:var(--space-sm);text-transform:uppercase;letter-spacing:.05em;font-size:1.125rem;font-weight:800;display:flex}.series-grid{gap:var(--space-xl);margin-top:var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr));transition:opacity .5s;display:grid}.series-grid.is-fetching{opacity:.8}.series-card{background-color:color-mix(in srgb, var(--color-surface) 72%, black);border:1px solid color-mix(in srgb, var(--color-border) 85%, black);border-radius:8px;flex-direction:column;height:100%;transition:transform .2s,box-shadow .2s;display:flex;position:relative}.series-card:hover{z-index:10;transform:translateY(-4px);box-shadow:0 12px 24px #0006}.series-card-accent-bar{background:var(--color-accent);z-index:10;border-top-left-radius:8px;border-bottom-left-radius:8px;width:4px;position:absolute;top:0;bottom:0;left:0}.series-card-hero-image{background:color-mix(in srgb, var(--color-surface) 72%, black);border-top-left-radius:8px;border-top-right-radius:8px;height:240px;position:relative;overflow:hidden}.track-bg-blur{object-fit:cover;filter:blur(1px);width:100%;height:100%;transform:scale(1.05);-webkit-mask-image:linear-gradient(#000 40%,#0000 100%);mask-image:linear-gradient(#000 40%,#0000 100%)}.hero-gradient-overlay{background:linear-gradient(to top, color-mix(in srgb, var(--color-surface) 72%, black) 0%, color-mix(in srgb, var(--color-surface) 44%, transparent) 40%, transparent 100%);z-index:2;position:absolute;inset:0}.hero-logo-overlay{z-index:5;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0 0 100px}.hero-text-overlay{z-index:6;padding:24px 20px;position:absolute;bottom:0;left:0;right:0}.series-meta-new{color:color-mix(in srgb, var(--color-accent) 72%, white);letter-spacing:.05em;text-shadow:0 2px 4px #0000004d;margin-bottom:6px;font-size:.75rem;font-weight:800}.series-title-new{color:var(--color-text-strong);letter-spacing:-.02em;margin:0;font-size:1.35rem;font-weight:700;line-height:1.1}.series-actual-logo{object-fit:contain;filter:drop-shadow(0 8px 16px #0009);max-width:75%;max-height:100%;margin-top:2rem}.series-logo-placeholder{color:var(--color-text-muted);flex-direction:column;align-items:center;gap:8px;display:flex}.series-logo-text{letter-spacing:.15em;text-transform:uppercase;opacity:.8;font-size:.625rem;font-weight:800}.hero-badge-overlay{z-index:10;gap:8px;display:flex;position:absolute;top:16px;left:20px}.badge-new{font-family:var(--font-heading);letter-spacing:.05em;border:1px solid #0000;border-radius:2px;padding:4px 10px;font-size:.625rem;font-weight:800;box-shadow:0 2px 4px #0000004d}.badge-purple{color:#8dff76;background-color:#071008e6;border-color:#39ff146b}.badge-green{background-color:var(--color-accent);color:#071008}.badge-neutral{color:#ecf1f8eb;background-color:#0c0f12eb;border-color:#ecf1f83d}.badge-license{color:#bfdbfe;background-color:#3b82f647;border-color:#60a5fa6b}.badge-warning{color:#fff1a6;background-color:#facc153d;border-color:#facc156b}.badge-closed{color:#fecaca;background-color:#ef44443d;border-color:#f871716b}.series-card-content{flex-direction:column;flex-grow:1;padding:20px;display:flex}.telemetry-section{margin-top:auto}.telemetry-header{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.telemetry-label,.telemetry-count{color:var(--color-text-muted);letter-spacing:.05em;font-size:.6875rem;font-weight:800}.count-success{color:var(--color-accent)}html[data-theme=light] .series-meta-new{color:#76d85f;text-shadow:0 1px 2px #0000006b}html[data-theme=light] .badge-purple{color:#39ff14;background-color:#071008f0;border-color:#39ff1475}html[data-theme=light] .badge-neutral{color:#edf3ee;background-color:#121613eb;border-color:#edf3ee38}html[data-theme=light] .badge-license{color:#eff6ff;background-color:#0a3f91eb;border-color:#93c5fd66}html[data-theme=light] .badge-warning{color:#fff7cc;background-color:#785604f0;border-color:#facc1561}html[data-theme=light] .badge-closed{color:#fee2e2;background-color:#7f1d1df0;border-color:#fca5a55c}html[data-theme=light] .telemetry-count{color:#f3f7f3d1;text-shadow:0 1px 2px #00000080}html[data-theme=light] .count-success{color:#7dff65}.series-card-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;display:grid}.btn-primary,.btn-secondary{cursor:pointer;letter-spacing:.05em;border-radius:4px;justify-content:center;align-items:center;gap:8px;height:44px;font-size:.75rem;font-weight:800;transition:all .2s;display:flex}.btn-primary{background-color:var(--color-accent);color:#071008;border:none}.btn-primary:hover:not(:disabled){background-color:color-mix(in srgb, var(--color-accent) 82%, black);transform:translateY(-1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background-color:color-mix(in srgb, var(--color-surface) 78%, black);color:var(--color-text-strong);border:1px solid color-mix(in srgb, var(--color-border) 82%, black)}.btn-secondary:hover{background-color:color-mix(in srgb, var(--color-surface-high) 70%, black);border-color:var(--color-border-dot)}.sync-icon{font-size:1rem}.spinning{animation:1s linear infinite spin}.series-card.is-ineligible{opacity:.6;filter:grayscale(.5)}.filter-bar{gap:var(--space-md);margin-bottom:var(--space-xl);padding:var(--space-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.filter-group{align-items:center;gap:var(--space-md);display:flex}.filter-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em;min-width:80px;font-size:.6875rem;font-weight:800}.tabs{gap:var(--space-xs);background-color:var(--color-surface-high);border-radius:var(--radius-lg);border:1px solid var(--color-border);flex-wrap:wrap;padding:4px;display:flex}.tab{border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;background:0 0;border:1px solid #0000;padding:6px 16px;font-size:.8125rem;font-weight:700;transition:all .3s cubic-bezier(.25,.46,.45,.94);position:relative;overflow:hidden}.tab:hover{color:var(--color-text-strong);background-color:#00000008}.tab:active{transform:scale(.96)}.tab.active{background:var(--color-bg);color:var(--color-accent);border-color:var(--color-border);transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.logo{color:var(--color-accent);letter-spacing:-.04em;margin:0;font-size:1.5rem;font-weight:800}.header-actions{gap:var(--space-md);align-items:center;display:flex}.syncing-status{color:var(--color-text-muted);text-align:right;min-width:140px;font-size:.75rem}.sync-success{color:var(--color-success);font-weight:700}.theme-toggle,.logout-button{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:all .2s;display:flex}.theme-toggle{width:40px;height:40px;font-size:1.25rem;display:none}.logout-button{height:40px;padding:0 16px;font-size:.875rem;font-weight:600;display:none}.theme-toggle:hover,.logout-button:hover{background:var(--color-surface-high);color:var(--color-text-strong);border-color:var(--color-text-muted)}.sync-garage-btn{background-color:var(--color-text-strong);color:var(--color-bg);border-radius:var(--radius-lg);cursor:pointer;border:none;align-items:center;gap:8px;padding:12px 24px;font-size:.9375rem;font-weight:700;transition:all .2s;display:flex}.sync-garage-btn:hover:not(:disabled){background-color:var(--color-accent);transform:translateY(-2px)}.spinner{border:2px solid #fff3;border-top-color:currentColor;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}.spinner-large{width:32px;height:32px;margin-bottom:var(--space-md)}.spin{animation:1s linear infinite spin}.empty-state{padding:var(--space-3xl);border:1px dashed var(--color-border);border-radius:var(--radius-xl);text-align:center;margin-top:var(--space-xl);background-color:var(--color-surface-high)}.empty-state-title{color:var(--color-text-strong);margin-bottom:var(--space-sm);font-size:1.25rem;font-weight:700}.empty-state-text{color:var(--color-text-muted)}.error-container,.loading-container{padding:var(--space-2xl);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:50vh;display:flex}.error-title{color:var(--color-error);margin-bottom:var(--space-md);font-size:1.5rem;font-weight:700}.error-text{color:var(--color-text-muted);margin-bottom:var(--space-lg)}.retry-button{background-color:var(--color-surface-high);color:var(--color-text-strong);border:1px solid var(--color-border);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);cursor:pointer;font-weight:600;transition:all .2s}.retry-button:hover{background-color:var(--color-bg);border-color:var(--color-text-muted)}.meter-fill-success{background-color:var(--color-success)}.meter-fill-complete{background-color:var(--color-accent)}.meter-fill-progress{background-color:var(--color-surface-dot)}@media (width<=768px){.dashboard-header{text-align:left;grid-template-columns:1fr auto;grid-template-areas:"logo logo""meter actions";align-items:center;gap:10px 12px;padding:12px 16px;display:grid}.logo-container{grid-area:logo;justify-content:center}.logo{width:auto;font-size:1.75rem}.header-center{order:initial;grid-area:meter;justify-content:flex-start;width:100%;min-width:0}.header-actions{grid-area:actions;justify-content:flex-end;gap:8px;width:auto}.garage-nav-button,.theme-toggle,.logout-button{display:inline-flex}.logout-button{padding:0 12px}.dashboard-hero{text-align:center;flex-direction:column;align-items:center}.sync-garage-btn{justify-content:center;width:100%}.filter-group{flex-direction:column;align-items:flex-start}.tabs{scrollbar-width:none;flex-wrap:nowrap;width:100%;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{flex:none}}@media (width<=480px){.series-grid{grid-template-columns:1fr}.series-card-header{flex-direction:column}.series-stats{align-items:flex-start;width:100%}.badge-group{justify-content:flex-start}}@media (width<=900px){.dashboard-header{padding:12px 16px}.header-center{justify-content:flex-start}.syncing-status{display:none}}@media (width<=600px){.logo-container .logo{font-size:1.45rem}.guest-badge,.garage-link{padding:1px 4px;font-size:.5rem}.logout-button{padding:0 10px;font-size:.75rem}}.dashboard-root{max-width:none!important}.dashboard-container{--dashboard-sidebar-top:120px;--dashboard-shell-padding:20px;--dashboard-sidebar-width:240px;--dashboard-shell-gap:24px;background:radial-gradient(circle at top left, var(--color-accent-glow), transparent 28%), var(--color-bg)}.dashboard-main.dashboard-shell{max-width:none;padding:var(--dashboard-shell-padding);min-height:calc(100dvh - var(--dashboard-sidebar-top));display:block;position:relative}.dashboard-sidebar{width:var(--dashboard-sidebar-width);height:calc(100dvh - var(--dashboard-sidebar-top) - 20px);max-height:calc(100dvh - var(--dashboard-sidebar-top) - 20px);left:var(--dashboard-shell-padding);top:var(--dashboard-sidebar-top);background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 88%, transparent), var(--color-surface));border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);scrollbar-gutter:stable;flex-direction:column;display:flex;position:fixed;overflow:hidden auto}.dashboard-sidebar-head{border-bottom:1px solid var(--color-border);padding:20px 20px 16px}.dashboard-sidebar-kicker,.telemetry-panel-kicker,.filter-eyebrow{color:var(--color-accent);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.dashboard-sidebar-subtitle{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;margin:6px 0 0;font-size:.7rem;font-weight:700}.dashboard-sidebar-nav{flex-direction:column;gap:8px;padding:10px;display:flex}.sidebar-view-button{border-radius:var(--radius-md);width:100%;color:var(--color-text-muted);cursor:pointer;text-align:left;font:inherit;background:0 0;border:1px solid #0000;align-items:center;gap:12px;padding:14px 16px;transition:background-color .2s,color .2s,border-color .2s,transform .2s;display:flex}.sidebar-view-button:hover{background:var(--color-surface-high);border-color:var(--color-border);color:var(--color-text-strong)}.sidebar-view-button.active{background:var(--color-accent-bg);border-color:var(--color-accent-border);color:var(--color-accent)}.sidebar-view-icon{justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.sidebar-view-copy{font-size:.95rem;font-weight:700}.dashboard-sidebar-footer{border-top:1px solid var(--color-border);gap:8px;margin-top:auto;padding:14px 10px 10px;display:grid}.sidebar-meta-button{border-radius:var(--radius-md);width:100%;color:var(--color-text-muted);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;padding:12px 14px;font-size:.85rem;font-weight:700;transition:background-color .2s,color .2s,border-color .2s}.sidebar-meta-button:hover{background:var(--color-surface-high);border-color:var(--color-border);color:var(--color-text-strong)}.dashboard-content{min-width:0;margin-left:calc(var(--dashboard-sidebar-width) + var(--dashboard-shell-gap))}.telemetry-panel-header{justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px;display:flex}.telemetry-panel-title{color:var(--color-text-strong);letter-spacing:-.04em;margin:8px 0 0;font-size:clamp(1.6rem,4vw,2.35rem);line-height:1}.telemetry-panel-subtitle{max-width:720px;color:var(--color-text-muted);margin:8px 0 0;font-size:.95rem}.telemetry-panel-actions{flex-shrink:0}.sync-garage-btn{border-radius:var(--radius-md)}.filter-bar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);gap:16px;margin-bottom:24px;padding:20px}.filter-group{gap:14px}.filter-control-row{flex-wrap:wrap;align-items:stretch;gap:14px;display:flex}.filter-control-box{background:color-mix(in srgb, var(--color-surface-high) 72%, var(--color-surface));border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;flex:24rem;gap:10px;min-width:18rem;padding:14px;display:flex}.filter-control-box-compact{flex:0 1 fit-content;min-width:fit-content;max-width:max-content}.filter-label{min-width:0;color:var(--color-text-muted);letter-spacing:.16em;font-size:.68rem}.tabs{background:var(--color-surface-high);border:1px solid var(--color-border);border-radius:var(--radius-lg);gap:6px;padding:4px}.tab{text-transform:uppercase;letter-spacing:.06em;min-height:40px;padding:8px 14px;font-size:.74rem;font-weight:800}.tab.active{background:var(--color-bg);color:var(--color-accent);border-color:var(--color-accent-border);box-shadow:none;transform:none}.series-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:0}@media (width<=1100px){.dashboard-main.dashboard-shell{min-height:0;display:grid}.dashboard-container{--dashboard-sidebar-top:0px}.dashboard-sidebar{width:auto;height:auto;min-height:0;max-height:none;position:static;left:auto}.dashboard-sidebar-nav{flex-flow:wrap}.sidebar-view-button,.sidebar-meta-button{flex:220px}.dashboard-sidebar-footer{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-content{margin-left:0}.series-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.dashboard-main.dashboard-shell{gap:16px;padding:16px}.telemetry-panel-header{flex-direction:column;align-items:flex-start}.telemetry-panel-actions,.sync-garage-btn{width:100%}.filter-control-box{min-width:100%}.filter-control-box-compact{min-width:100%;max-width:none}.tabs{scrollbar-width:none;flex-wrap:nowrap;width:100%;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.series-grid{grid-template-columns:1fr}}@media (width<=560px){.sidebar-view-button,.sidebar-meta-button{flex-basis:100%}.series-grid{grid-template-columns:1fr}}.garage-container{background:var(--color-bg);flex-direction:column;min-height:100vh;display:flex}.garage-loading{height:100vh;font-family:var(--font-body);letter-spacing:.1em;color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}.garage-main{width:100%;max-width:1200px;padding:var(--space-xl) var(--space-lg);box-sizing:border-box;flex:1;margin:0 auto}.garage-header{margin-bottom:var(--space-xl);justify-content:space-between;align-items:flex-end;display:flex}.garage-title{color:var(--color-text-strong);letter-spacing:-.04em;margin:0;font-size:clamp(1.5rem,5vw,2.25rem);font-weight:800}.garage-subtitle{color:var(--color-text-muted);margin:var(--space-xs) 0 0 0;font-size:clamp(.875rem,3vw,1rem);font-weight:500}.garage-stats-summary{gap:var(--space-xl);margin-left:var(--space-2xl);flex:1;display:flex}.garage-stat-item{gap:var(--space-xs);flex-direction:column;display:flex}.stat-label{color:var(--color-text-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.625rem;font-weight:800}.stat-value{font-family:var(--font-heading);color:var(--color-text-strong);font-size:1.25rem;font-weight:800}.stat-value.primary{color:var(--color-accent)}.back-button{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-strong);padding:.75rem var(--space-lg);border-radius:var(--radius-lg);cursor:pointer;font-size:.75rem;font-weight:800;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1)}.back-button:hover{background:var(--color-surface-high);transform:translateY(-1px)}.garage-grid{flex-direction:column;gap:2rem;display:flex}.content-section{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--space-lg);border-radius:var(--radius-md);margin-bottom:var(--space-xl)}.content-section-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.content-section-title{letter-spacing:.02em;color:var(--color-text-strong);text-transform:uppercase;margin:0;font-size:1.125rem;font-weight:800}.content-search-input{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-strong);border-radius:var(--radius-sm);width:320px;font-size:.8125rem;font-family:var(--font-body);box-shadow:var(--shadow-sm);padding:.625rem 1.25rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.content-search-input:focus{border-color:var(--color-accent);width:380px;box-shadow:0 0 0 3px var(--color-accent-glow);outline:none}.content-grid{gap:var(--space-md);max-height:700px;padding:var(--space-xs);margin-top:var(--space-xs);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid;overflow-y:auto}.content-grid::-webkit-scrollbar{width:4px}.content-grid::-webkit-scrollbar-track{background:0 0}.content-grid::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}.content-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-sm);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.content-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md);transform:translateY(-4px)}.content-card.owned{border-color:var(--color-success);background:var(--color-bg);box-shadow:0 4px 20px -5px var(--color-success-bg)}.content-card-image-container{background:#000;justify-content:center;align-items:center;height:120px;display:flex;position:relative;overflow:hidden}.content-card-overlay{background:var(--color-accent-glow);pointer-events:none;opacity:.1;transition:opacity .3s;position:absolute;inset:0}.content-card-placeholder{background:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.placeholder-logo{font-family:var(--font-heading);color:var(--color-text-muted);opacity:.1;letter-spacing:-.05em;-webkit-user-select:none;user-select:none;font-size:2rem;font-weight:900}.content-card-selection-indicator{top:var(--space-md);left:var(--space-md);z-index:5;transition:all .3s cubic-bezier(.4,0,.2,1);position:absolute}.check-circle{border-radius:var(--radius-full);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;background:#0006;border:1.5px solid #ffffff4d;justify-content:center;align-items:center;width:32px;height:32px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.check-circle svg{opacity:0;width:18px;height:18px;transition:all .3s cubic-bezier(.4,0,.9,1);transform:scale(.5)rotate(-15deg)}.content-card:hover .check-circle{background:#0009;border-color:#fff9}.content-card.owned .check-circle{background:var(--color-success);border-color:var(--color-success);box-shadow:0 0 15px var(--color-success-bg)}.content-card.owned .check-circle svg{opacity:1;transform:scale(1)rotate(0)}.content-card-image{object-fit:cover;filter:grayscale(.2)brightness(.8);width:100%;height:100%;transition:all .5s cubic-bezier(.4,0,.2,1)}.content-card-image.has-map{opacity:.3;filter:grayscale()brightness(.3)contrast(1.2)}.content-card:hover .content-card-image{filter:grayscale(0)brightness();transform:scale(1.1)}.content-card:hover .content-card-image.has-map{opacity:.2}.content-card.owned .content-card-image{filter:grayscale(0)brightness()}.content-card-info{padding:var(--space-md);background:var(--color-bg);border-top:1px solid var(--color-border)}.content-card-name{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:700;font-family:var(--font-body);transition:color .2s;display:block;overflow:hidden}.content-card.owned .content-card-name,.content-card:hover .content-card-name{color:var(--color-text-strong)}.content-card-map-overlay{pointer-events:none;z-index:2;padding:var(--space-md);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.content-card-track-map{max-width:90%;max-height:90%;filter:drop-shadow(0 0 12px var(--color-accent-glow)) brightness(1.2);opacity:.8;transition:all .5s cubic-bezier(.4,0,.2,1)}.content-card:hover .content-card-track-map{opacity:1;filter:drop-shadow(0 0 20px var(--color-accent)) brightness(1.4);transform:scale(1.1)rotate(-1deg)}.content-card-logo-overlay{top:var(--space-sm);right:var(--space-sm);z-index:3;pointer-events:none;border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009;border:1px solid #ffffff1a;justify-content:center;align-items:center;padding:4px 10px;display:flex;position:absolute}.content-card-logo{object-fit:contain;width:auto;max-width:70px;height:18px;transition:transform .3s}.content-card:hover .content-card-logo{transform:scale(1.05)}.content-empty-state{padding:var(--space-3xl) var(--space-lg);background:var(--color-surface);border-radius:var(--radius-lg);border:1px dashed var(--color-border);color:var(--color-text-muted);flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;display:flex}.empty-state-icon{margin-bottom:var(--space-md);opacity:.3;font-size:2.5rem}.empty-state-text{margin-bottom:var(--space-lg);font-size:.875rem;font-weight:500}.clear-search-btn{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-strong);padding:.5rem var(--space-lg);border-radius:var(--radius-sm);cursor:pointer;font-size:.75rem;font-weight:700;transition:all .2s}.clear-search-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}@media (width<=1024px){.garage-stats-summary{gap:var(--space-lg);margin-left:var(--space-lg)}}@media (width<=768px){.garage-header{align-items:flex-start;gap:var(--space-lg);margin-bottom:var(--space-xl);flex-direction:column}.garage-stats-summary{background:var(--color-surface-high);width:100%;padding:var(--space-md);border-radius:var(--radius-md);justify-content:space-between;margin:0}.garage-stat-item{flex:1}.back-button{text-align:center;width:100%}.content-section-header{align-items:flex-start;gap:var(--space-md);flex-direction:column}.content-search-input{width:100%!important}.content-grid{gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));max-height:none;overflow-y:visible}.content-card-image-container{height:100px}}@media (width<=480px){.garage-main{padding:var(--space-md)}.garage-title{font-size:1.75rem}.content-grid{grid-template-columns:1fr 1fr}.stat-value{font-size:1.125rem}}
