@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.top-3{top:.75rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.inline{display:inline}.table{display:table}.grid{display:grid}.hidden{display:none}.flex-1{flex:1 1 0%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.border{border-width:1px}.pb-24{padding-bottom:6rem}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-5xl{font-size:3rem;line-height:1}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-zinc-300{--tw-text-opacity: 1;color:rgb(212 212 216 / var(--tw-text-opacity, 1))}.text-zinc-400{--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}.text-zinc-500{--tw-text-opacity: 1;color:rgb(113 113 122 / var(--tw-text-opacity, 1))}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--bg-darkest: #06070d;--bg-dark: #0c0e16;--bg-panel: #12141f;--bg-panel-hover: #181b29;--bg-card: #14162200;--border: #1e2130;--border-light: #2a2e42;--text-primary: #f4f5f7;--text-secondary: #9ca3af;--text-muted: #6b7280;--accent-red: #e8371d;--accent-amber: #f59e0b;--accent-blue: #3b82f6;--accent-green: #22c55e}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;background:var(--bg-darkest);color:var(--text-primary);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}#root{min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#3a3f5c}.app-root{min-height:100vh;display:flex;background:var(--bg-darkest)}.app-content{flex:1;margin-left:0;min-width:0}@media (min-width: 768px){.app-content{margin-left:220px}}.sidebar{display:none;position:fixed;left:0;top:0;bottom:0;width:220px;background:var(--bg-dark);border-right:1px solid var(--border);flex-direction:column;padding:20px 14px;z-index:50}@media (min-width: 768px){.sidebar{display:flex}}.sidebar-logo{display:flex;align-items:baseline;gap:6px;padding:8px 12px 24px;border-bottom:1px solid var(--border);margin-bottom:12px}.sidebar-logo-mark{font-weight:900;font-size:20px;letter-spacing:-.5px;color:var(--accent-red)}.sidebar-logo-sub{font-weight:600;font-size:11px;letter-spacing:2px;color:var(--text-muted)}.sidebar-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .15s ease;margin-bottom:2px;text-align:left}.sidebar-item:hover{background:var(--bg-panel-hover);color:var(--text-primary)}.sidebar-item.active{background:linear-gradient(90deg,rgba(232,55,29,.12),transparent);color:var(--accent-red);border-left:2px solid var(--accent-red)}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:8px}.sidebar-log-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border:1px solid var(--accent-red);background:#e8371d14;color:var(--accent-red);font-size:12px;font-weight:700;letter-spacing:1px;border-radius:8px;cursor:pointer;transition:all .15s ease}.sidebar-log-btn:hover{background:#e8371d2e;box-shadow:0 0 12px #e8371d40}.sidebar-signout-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:1px;border-radius:8px;cursor:pointer;transition:all .15s ease}.sidebar-signout-btn:hover{border-color:var(--border-light);color:var(--text-primary);background:var(--bg-panel-hover)}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#0c0e16f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);padding:6px 4px calc(6px + env(safe-area-inset-bottom));z-index:50;align-items:center;justify-content:space-around}@media (min-width: 768px){.bottom-nav{display:none}}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;border:none;background:transparent;color:var(--text-muted);font-size:9px;font-weight:600;padding:4px 6px;border-radius:6px;cursor:pointer;transition:color .15s ease;flex:1;min-width:0}.bottom-nav-item.active{color:var(--accent-red)}.bottom-nav-log{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:2px solid var(--accent-red);background:#e8371d1f;color:var(--accent-red);border-radius:50%;cursor:pointer;transition:all .15s ease;flex-shrink:0;margin-top:-20px;box-shadow:0 0 12px #e8371d40}.bottom-nav-log:active{transform:scale(.92)}.page{padding:16px;max-width:1200px;margin:0 auto}@media (min-width: 640px){.page{padding:24px}}.page-header{margin-bottom:20px}.page-title{font-size:24px;font-weight:800;letter-spacing:-.5px;color:var(--text-primary)}@media (min-width: 640px){.page-title{font-size:30px}}.page-subtitle{font-size:12px;font-weight:600;letter-spacing:1.5px;color:var(--text-muted);margin-top:2px;text-transform:uppercase}.driver-hero{background:linear-gradient(135deg,var(--bg-panel) 0%,var(--bg-dark) 100%);border:1px solid var(--border);border-radius:16px;padding:24px 20px;margin-bottom:16px;position:relative;overflow:hidden}.driver-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;position:relative;z-index:1}.driver-hero-greeting{font-size:14px;font-weight:600;color:var(--text-secondary);margin-bottom:10px}.signout-btn{display:flex;align-items:center;gap:6px;flex-shrink:0;padding:6px 10px;border:1px solid var(--border);background:#06070d73;color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:1px;border-radius:8px;cursor:pointer;transition:all .15s ease}.signout-btn:hover{border-color:var(--border-light);color:var(--text-primary)}.driver-hero:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--level-color, var(--accent-red)),transparent)}.driver-hero:after{content:"";position:absolute;top:-50%;right:-20%;width:300px;height:300px;background:radial-gradient(circle,var(--level-glow, rgba(232,55,29,.15)),transparent 70%);pointer-events:none}.driver-hero-rank{font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:4px;position:relative;z-index:1}.driver-hero-level{font-size:36px;font-weight:900;letter-spacing:-1px;line-height:1;color:var(--text-primary);position:relative;z-index:1}@media (min-width: 640px){.driver-hero-level{font-size:44px}}.driver-hero-subtitle{font-size:11px;font-weight:600;letter-spacing:2px;color:var(--text-muted);margin-top:4px;position:relative;z-index:1}.driver-hero-xp{margin-top:16px;position:relative;z-index:1}.driver-hero-xp-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.xp-bar-track{width:100%;background:var(--bg-darkest);border-radius:99px;overflow:hidden;border:1px solid var(--border)}.xp-bar-fill{border-radius:99px;transition:width .6s cubic-bezier(.4,0,.2,1);box-shadow:0 0 8px #e8371d4d}.progress-bar{width:100%;height:6px;background:var(--bg-darkest);border-radius:99px;overflow:hidden;border:1px solid var(--border)}.progress-fill{height:100%;border-radius:99px;transition:width .5s cubic-bezier(.4,0,.2,1)}.goal-fill{background:linear-gradient(90deg,#f59e0b99,#f59e0b)!important;box-shadow:0 0 8px #f59e0b4d}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}@media (min-width: 640px){.stat-row{grid-template-columns:repeat(6,1fr)}}.stat-chip{background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;padding:12px 8px;text-align:center;transition:border-color .15s ease}.stat-chip:hover{border-color:var(--border-light)}.stat-chip-value{font-size:20px;font-weight:800;color:var(--text-primary);line-height:1}.stat-chip-label{font-size:9px;font-weight:700;letter-spacing:1px;color:var(--text-muted);margin-top:4px}.grid-2{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:12px}@media (min-width: 640px){.grid-2{grid-template-columns:1fr 1fr}}.card{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:12px;transition:border-color .15s ease}.card:hover{border-color:var(--border-light)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.card-tag{font-size:10px;font-weight:700;letter-spacing:1.5px;color:var(--text-muted);text-transform:uppercase}.card-action{font-size:11px;font-weight:700;letter-spacing:1px;color:var(--accent-red);background:transparent;border:none;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .15s ease}.card-action:hover{background:#e8371d1a}.mastery-mini{margin-top:12px}.mastery-mini-label{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.mastery-stats{display:flex;gap:12px;margin-top:8px;font-size:11px;color:var(--text-muted)}.car-name-display{display:flex;flex-direction:column;gap:2px;border-left:3px solid var(--car-color, var(--accent-red));padding-left:12px}.car-manufacturer{font-size:16px;font-weight:800;letter-spacing:1px;color:var(--text-primary)}.car-model{font-size:13px;color:var(--text-secondary)}.goal-card{background:linear-gradient(135deg,rgba(245,158,11,.05),var(--bg-panel));border-color:#f59e0b33}.goal-icon{font-size:28px;margin:8px 0 4px}.goal-name{font-size:18px;font-weight:800;color:var(--text-primary);letter-spacing:-.5px}.goal-desc{font-size:12px;color:var(--text-secondary);margin:4px 0 12px}.recent-race{display:flex;align-items:center;gap:12px}.recent-race-result{flex-shrink:0}.recent-race-info{flex:1;min-width:0}.recent-race-track{font-size:14px;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-race-meta{font-size:12px;color:var(--text-muted);margin-top:2px}.recent-race-xp{font-size:14px;font-weight:700;color:var(--accent-amber);flex-shrink:0}.result-badge{font-size:10px;font-weight:700;letter-spacing:1px;padding:4px 8px;border-radius:6px;text-transform:uppercase}.result-WIN{background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.result-PODIUM{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.result-TOP5{background:#22c55e1f;color:#4ade80;border:1px solid rgba(34,197,94,.25)}.result-TOP10{background:#9ca3af1a;color:#9ca3af;border:1px solid rgba(156,163,175,.2)}.result-FINISH{background:#9ca3af14;color:#6b7280;border:1px solid rgba(156,163,175,.15)}.result-DNF{background:#ef44441f;color:#f87171;border:1px solid rgba(239,68,68,.25)}.achievement-mini-list{display:flex;flex-direction:column;gap:8px}.achievement-mini{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--bg-dark);border-radius:8px;border:1px solid var(--border)}.achievement-mini-icon{font-size:20px}.achievement-mini-name{font-size:13px;font-weight:700;color:var(--text-primary)}.achievement-mini-rarity{font-size:10px;font-weight:600;letter-spacing:1px}.achievement-mini-xp{font-size:12px;font-weight:700;color:var(--accent-amber);margin-left:auto}.rank-ladder{display:flex;flex-direction:column;gap:0}.rank-step{display:flex;align-items:center;gap:12px;padding:8px 0;position:relative}.rank-step:not(:last-child):after{content:"";position:absolute;left:7px;top:28px;bottom:-8px;width:2px;background:var(--border)}.rank-step.done:not(:last-child):after{background:var(--border-light)}.rank-step-dot{width:16px;height:16px;border-radius:50%;background:var(--bg-darkest);border:2px solid var(--border);flex-shrink:0;z-index:1;position:relative}.rank-step.done .rank-step-dot,.rank-step.current .rank-step-dot{border-color:transparent}.rank-step-label{display:flex;flex-direction:column;gap:0;color:var(--text-muted)}.rank-step-num{font-size:10px;font-weight:700;letter-spacing:1px}.rank-step-title{font-size:13px;font-weight:700}.rank-step-check{margin-left:auto;color:var(--accent-green);font-size:14px;font-weight:700}.rank-step.current .rank-step-title{text-shadow:0 0 12px currentColor}.log-btn-primary{display:flex;align-items:center;justify-content:center;width:100%;padding:14px;margin-top:16px;border:1px solid var(--accent-red);background:#e8371d14;color:var(--accent-red);font-size:14px;font-weight:700;letter-spacing:1.5px;border-radius:10px;cursor:pointer;transition:all .15s ease}.log-btn-primary:hover{background:#e8371d2e;box-shadow:0 0 16px #e8371d33}.log-btn-primary:active{transform:scale(.98)}.current-car-banner{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;background:linear-gradient(135deg,rgba(232,55,29,.06),var(--bg-panel));border:1px solid var(--car-color, var(--accent-red));border-left:4px solid var(--car-color, var(--accent-red));border-radius:12px;margin-bottom:16px}.garage-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media (min-width: 640px){.garage-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1024px){.garage-grid{grid-template-columns:repeat(4,1fr)}}.car-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:12px;cursor:pointer;transition:all .15s ease;display:flex;flex-direction:column}.car-card:hover{border-color:var(--car-color, var(--border-light));transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.car-card-active{border-color:var(--car-color, var(--accent-red));border-width:2px;box-shadow:0 0 12px #e8371d26}.car-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.car-country{font-size:16px}.car-selected-badge{font-size:9px;font-weight:700;letter-spacing:1px;color:var(--accent-green);background:#22c55e1f;border:1px solid rgba(34,197,94,.25);padding:2px 6px;border-radius:4px}.car-visual{display:flex;justify-content:center;padding:8px 0 12px}.car-silhouette{width:80px;height:80px;border-radius:50%;border:2px dashed var(--border-light);display:flex;align-items:center;justify-content:center;background:var(--bg-darkest)}.car-silhouette-body{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid}.car-silhouette-icon{font-size:28px}.car-card-name{text-align:center;margin-bottom:10px}.car-mastery-bar{margin-bottom:8px}.car-stats-mini{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;text-align:center}.car-stats-mini>div{display:flex;flex-direction:column;gap:2px}.car-stats-mini>div>span:first-child{font-size:13px;font-weight:700;color:var(--text-primary)}.car-stats-mini>div>span:last-child{font-size:8px;font-weight:600;letter-spacing:.5px;color:var(--text-muted)}.car-undriven{text-align:center;font-size:10px;font-weight:700;letter-spacing:1px;color:var(--text-muted);padding:8px 0}.car-pb{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.tracks-grid{display:grid;grid-template-columns:1fr;gap:10px}@media (min-width: 640px){.tracks-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.tracks-grid{grid-template-columns:repeat(3,1fr)}}.track-card{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:block;width:100%;text-align:left;font:inherit;color:inherit;background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:14px;cursor:pointer;transition:border-color .15s ease}.track-card:hover{border-color:var(--border-light)}.track-detail-modal{max-width:640px}.track-detail-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;margin-bottom:16px}.track-detail-summary-stat{display:flex;flex-direction:column;gap:2px;background:var(--bg-dark);border:1px solid var(--border);border-radius:8px;padding:10px 8px;text-align:center}.track-detail-summary-stat>span:first-child{font-size:16px;font-weight:800;color:var(--text-primary);font-family:JetBrains Mono,monospace}.track-detail-summary-stat>span:last-child{font-size:9px;font-weight:700;letter-spacing:.8px;color:var(--text-muted)}.youtube-guide{margin:4px 0 16px}.youtube-guide-heading{font-size:11px;font-weight:700;letter-spacing:1.2px;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase}.youtube-embed{position:relative;width:100%;padding-bottom:56.25%;margin-bottom:10px;border-radius:10px;overflow:hidden;background:var(--bg-darkest);border:1px solid var(--border)}.youtube-embed iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.youtube-search-link{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--accent-red);text-decoration:none}.youtube-search-link:hover{text-decoration:underline}.guide-car-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.guide-car-chip{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:999px;border:1px solid var(--border);background:var(--bg-dark);color:var(--text-secondary);font-size:11px;font-weight:600;cursor:pointer;text-decoration:none}.guide-car-chip.active,.guide-car-chip:hover{border-color:var(--accent-red);color:var(--text-primary)}.track-card-locked{opacity:.55}.track-card-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.track-flag{font-size:24px}.track-name{font-size:15px;font-weight:800;color:var(--text-primary)}.track-country{font-size:11px;color:var(--text-muted)}.track-mastery-badge{margin-left:auto;font-size:10px;font-weight:700;letter-spacing:1px;padding:3px 8px;border-radius:6px;border:1px solid;white-space:nowrap}.track-length{font-size:11px;color:var(--text-muted);margin-bottom:8px}.mastery-tiers{display:flex;gap:8px;margin-bottom:4px}.mastery-tier-pip{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;background:var(--bg-darkest);border:1px solid var(--border);filter:grayscale(1);opacity:.3;transition:all .3s ease}.mastery-tier-pip.achieved{filter:none;opacity:1;border-color:transparent}.track-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:10px;text-align:center}.track-stat{display:flex;flex-direction:column;gap:2px}.track-stat>span:first-child{font-size:14px;font-weight:700;color:var(--text-primary)}.track-stat>span:last-child{font-size:8px;font-weight:600;letter-spacing:.5px;color:var(--text-muted)}.track-pb{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:8px;border-top:1px solid var(--border);font-size:12px}.track-pb>span:first-child{font-weight:700;color:var(--accent-amber);font-size:10px;letter-spacing:1px}.track-unvisited{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 0 4px;font-size:10px;font-weight:700;letter-spacing:1px;color:var(--text-muted)}.filter-row{display:flex;gap:6px;margin-bottom:12px;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch}.filter-row::-webkit-scrollbar{display:none}.filter-btn{flex-shrink:0;padding:6px 14px;border:1px solid var(--border);background:var(--bg-panel);color:var(--text-secondary);font-size:11px;font-weight:700;letter-spacing:1px;border-radius:99px;cursor:pointer;transition:all .15s ease}.filter-btn:hover{border-color:var(--border-light);color:var(--text-primary)}.filter-btn.active{background:#e8371d1f;border-color:var(--accent-red);color:var(--accent-red)}.empty-state{text-align:center;padding:48px 20px}.empty-state-icon{font-size:48px;margin-bottom:12px}.empty-state-text{font-size:16px;font-weight:700;color:var(--text-secondary)}.empty-state-sub{font-size:13px;color:var(--text-muted);margin-top:4px}.race-list{display:flex;flex-direction:column;gap:8px}.race-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;padding:12px 14px;cursor:pointer;transition:all .15s ease}.race-card:hover{border-color:var(--border-light)}.race-card-main{display:flex;align-items:center;gap:12px}.result-badge-lg{font-size:11px;font-weight:700;letter-spacing:1px;padding:6px 10px;border-radius:6px;text-transform:uppercase;flex-shrink:0;white-space:nowrap}.result-win{background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.result-podium{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.result-top5{background:#22c55e1f;color:#4ade80;border:1px solid rgba(34,197,94,.25)}.result-top10{background:#9ca3af1a;color:#9ca3af;border:1px solid rgba(156,163,175,.2)}.result-finish{background:#9ca3af14;color:#6b7280;border:1px solid rgba(156,163,175,.15)}.result-dnf{background:#ef44441f;color:#f87171;border:1px solid rgba(239,68,68,.25)}.race-card-info{flex:1;min-width:0}.race-card-track{font-size:14px;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.race-card-meta{font-size:11px;color:var(--text-muted);margin-top:2px}.race-card-detail{font-size:11px;color:var(--text-secondary);margin-top:2px}.race-card-xp{font-size:14px;font-weight:700;color:var(--accent-amber);flex-shrink:0}.race-card-expanded{margin-top:12px;padding-top:12px;border-top:1px solid var(--border);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.race-expanded-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}@media (min-width: 640px){.race-expanded-grid{grid-template-columns:repeat(5,1fr)}}.race-detail-cell{display:flex;flex-direction:column;gap:2px;background:var(--bg-dark);padding:8px 10px;border-radius:6px;border:1px solid var(--border)}.race-detail-label{font-size:9px;font-weight:600;letter-spacing:1px;color:var(--text-muted)}.race-detail-value{font-size:13px;font-weight:700;color:var(--text-primary);font-family:JetBrains Mono,monospace}.race-notes{margin-top:8px;padding:8px 10px;background:var(--bg-dark);border-radius:6px;font-size:12px;color:var(--text-secondary)}.race-card-actions{margin-top:12px;padding-top:12px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}.race-edit-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:transparent;border:1px solid var(--border);color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.5px;border-radius:8px;cursor:pointer;transition:all .15s ease}.race-edit-btn:hover{border-color:var(--accent-blue);color:var(--accent-blue);background:#3b82f614}.race-delete-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:transparent;border:1px solid var(--border);color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.5px;border-radius:8px;cursor:pointer;transition:all .15s ease}.race-delete-btn:hover{border-color:#ef444466;color:#f87171;background:#ef444414}.race-delete-confirm{width:100%;display:flex;flex-direction:column;gap:10px;padding:10px 12px;background:#ef444414;border:1px solid rgba(239,68,68,.25);border-radius:8px;font-size:12px;color:var(--text-secondary)}.race-delete-confirm-actions{display:flex;gap:8px;justify-content:flex-end}.race-delete-confirm-actions .btn-secondary{padding:8px 14px;font-size:11px;flex:none}.race-delete-confirm-btn{padding:8px 14px;border:none;background:linear-gradient(90deg,#dc2626,#ef4444);color:#fff;font-size:11px;font-weight:700;letter-spacing:.5px;border-radius:8px;cursor:pointer;transition:all .15s ease}.race-delete-confirm-btn:hover{box-shadow:0 0 12px #ef444459;filter:brightness(1.1)}.race-delete-confirm-btn:active{transform:scale(.97)}.pro-upsell-card{margin-top:16px;display:flex;align-items:center;gap:14px;padding:16px;background:linear-gradient(135deg,#f59e0b1a,#f59e0b05);border:1px solid rgba(245,158,11,.3);border-radius:12px}.pro-upsell-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#f59e0b1f;color:var(--accent-amber)}.pro-upsell-info{flex:1;min-width:0}.pro-upsell-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:800;color:var(--text-primary)}.pro-upsell-title svg{color:var(--accent-amber)}.pro-upsell-sub{font-size:11px;color:var(--text-muted);margin-top:3px}.pro-upsell-btn{flex-shrink:0;padding:10px 16px;border:none;background:linear-gradient(90deg,#f59e0b,#fbbf24);color:#1a1200;font-size:11px;font-weight:800;letter-spacing:.5px;border-radius:8px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.pro-upsell-btn:hover{box-shadow:0 0 14px #f59e0b66;filter:brightness(1.05)}.pro-upsell-btn:active{transform:scale(.97)}@media (max-width: 480px){.pro-upsell-card{flex-wrap:wrap}.pro-upsell-btn{width:100%}}.sub-test-widget{position:fixed;right:14px;bottom:78px;z-index:90;display:flex;flex-direction:column;gap:6px;max-width:220px;padding:8px 10px;background:var(--bg-panel);border:1px dashed var(--border-light);border-radius:10px;box-shadow:0 4px 16px #0006}@media (min-width: 768px){.sub-test-widget{right:20px;bottom:20px}}.sub-test-widget-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.sub-test-widget-error{font-size:9px;line-height:1.4;color:#f87171}.sub-test-widget-label{font-size:9px;font-weight:700;letter-spacing:.5px;color:var(--text-muted);white-space:nowrap}.sub-test-toggle-group{display:flex;gap:4px}.sub-test-toggle-btn{display:flex;align-items:center;gap:4px;padding:5px 10px;border:1px solid var(--border);background:var(--bg-dark);color:var(--text-secondary);font-size:10px;font-weight:800;letter-spacing:.5px;border-radius:6px;cursor:pointer;transition:all .15s ease}.sub-test-toggle-btn.active-free{border-color:var(--text-muted);color:var(--text-primary)}.sub-test-toggle-btn.active-pro{border-color:var(--accent-amber);color:var(--accent-amber);background:#f59e0b1a}.sub-test-toggle-btn:disabled{opacity:.5;cursor:not-allowed}.sidebar-pro-badge{color:var(--accent-amber);margin-left:-2px;background:transparent;border:none;padding:2px;cursor:pointer;display:flex;align-items:center}.sidebar-item-pro{color:var(--accent-amber)}.sidebar-item-pro:hover{background:#f59e0b1a;color:var(--accent-amber)}.sidebar-item-pro.active{background:linear-gradient(90deg,rgba(245,158,11,.15),transparent);color:var(--accent-amber);border-left:2px solid var(--accent-amber)}.pro-banner{width:100%;display:flex;align-items:center;gap:10px;padding:12px 14px;margin-bottom:12px;background:linear-gradient(90deg,#f59e0b1a,#f59e0b05);border:1px solid rgba(245,158,11,.3);border-radius:12px;cursor:pointer;transition:all .15s ease;text-align:left}.pro-banner:hover{border-color:#f59e0b80;box-shadow:0 0 14px #f59e0b26}.pro-banner-icon{color:var(--accent-amber);flex-shrink:0}.pro-banner-text{flex:1;min-width:0;display:flex;flex-direction:column}.pro-banner-title{font-size:12px;font-weight:800;letter-spacing:.5px;color:var(--text-primary)}.pro-banner-sub{font-size:11px;color:var(--text-muted);margin-top:2px}.pro-banner-arrow{color:var(--text-muted);flex-shrink:0}.pro-hero{display:flex;align-items:center;gap:14px;padding:18px;margin-bottom:16px;background:linear-gradient(135deg,#f59e0b1f,#f59e0b05);border:1px solid rgba(245,158,11,.3);border-radius:14px}.pro-hero-icon{flex-shrink:0;width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:#f59e0b1f;color:var(--accent-amber)}.pro-hero-copy{flex:1;min-width:0}.pro-hero-title{font-size:16px;font-weight:800;color:var(--text-primary)}.pro-hero-sub{font-size:12px;color:var(--text-secondary);margin-top:4px;line-height:1.4}.pro-compare{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:4px 14px;margin-bottom:16px}.pro-compare-head,.pro-compare-row{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:8px;align-items:center;padding:12px 0}.pro-compare-head{border-bottom:1px solid var(--border);font-size:10px;font-weight:800;letter-spacing:1px;color:var(--text-muted)}.pro-compare-head-pro{display:flex;align-items:center;gap:4px;color:var(--accent-amber)}.pro-compare-row{border-bottom:1px solid var(--border);font-size:12px}.pro-compare-row:last-child{border-bottom:none}.pro-compare-label{color:var(--text-primary);font-weight:600}.pro-compare-free{color:var(--text-muted)}.pro-compare-pro{color:var(--accent-green);display:flex;align-items:center;gap:4px;font-weight:600}.pro-purchase-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:24px 20px;background:var(--bg-panel);border:1px solid var(--border-light);border-radius:14px}.pro-price{display:flex;align-items:baseline;gap:8px}.pro-price-amount{font-size:34px;font-weight:900;color:var(--text-primary)}.pro-price-period{font-size:12px;color:var(--text-muted)}.pro-price-note{font-size:12px;color:var(--text-secondary);margin-bottom:10px}.pro-purchase-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:320px;padding:14px 20px;border:none;background:linear-gradient(90deg,#f59e0b,#fbbf24);color:#1a1200;font-size:13px;font-weight:800;letter-spacing:.5px;border-radius:10px;cursor:pointer;transition:all .15s ease}.pro-purchase-btn:hover:not(:disabled){box-shadow:0 0 18px #f59e0b66;filter:brightness(1.05)}.pro-purchase-btn:disabled{opacity:.6;cursor:not-allowed}.pro-purchase-error{font-size:11px;color:#f87171;margin-top:8px}.pro-purchase-fineprint{font-size:10px;color:var(--text-muted);margin-top:10px}.pro-export-card{display:flex;align-items:center;gap:14px;padding:16px;background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;margin-top:12px}.pro-export-locked{opacity:.6}.pro-export-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--bg-dark);color:var(--text-secondary)}.pro-export-info{flex:1;min-width:0}.pro-export-title{font-size:13px;font-weight:700;color:var(--text-primary)}.pro-export-sub{font-size:11px;color:var(--text-muted);margin-top:2px}.pro-export-btn{width:auto;max-width:none;padding:10px 16px;font-size:11px}.pro-combo-section{margin-top:20px}.pro-combo-header{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:1px;color:var(--text-muted);margin-bottom:10px}.pro-combo-header svg{color:var(--accent-amber)}.pro-combo-list{display:flex;flex-direction:column;gap:6px}.pro-combo-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px}.pro-combo-combo{display:flex;flex-direction:column;min-width:0}.pro-combo-track{font-size:12px;font-weight:700;color:var(--text-primary)}.pro-combo-car{font-size:11px;color:var(--text-muted);margin-top:2px}.pro-combo-lap{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700;color:var(--accent-green);flex-shrink:0}.leaderboard-error{padding:16px;background:#ef444414;border:1px solid rgba(239,68,68,.25);border-radius:12px}.leaderboard-error-title{font-size:13px;font-weight:800;color:#f87171}.leaderboard-error-detail{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text-secondary);margin-top:6px}.leaderboard-error-hint{font-size:11px;color:var(--text-muted);margin-top:8px;line-height:1.5}.leaderboard-error-hint code{background:var(--bg-dark);padding:1px 5px;border-radius:4px;font-size:10px}.save-status{position:fixed;top:14px;right:14px;z-index:90;display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;font-size:10px;font-weight:700;letter-spacing:.3px;background:var(--bg-panel);border:1px solid var(--border);box-shadow:0 4px 12px #0000004d;transition:opacity .3s ease;max-width:260px}@media (min-width: 768px){.save-status{top:16px;right:20px}}.save-status-saving{color:var(--text-secondary)}.save-status-saved{color:var(--accent-green);border-color:#22c55e4d}.save-status-error{color:#f87171;border-color:#ef444459;background:#ef444414}.save-status-detail{color:var(--text-muted);font-weight:500}.save-status-spin{animation:save-status-spin .8s linear infinite}@keyframes save-status-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.achievement-summary{display:flex;align-items:center;gap:20px;padding:16px;background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;margin-bottom:16px}.achievement-progress-ring{position:relative;flex-shrink:0}.achievement-ring-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.achievement-rarity-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;flex:1}.rarity-count{display:flex;flex-direction:column;gap:2px;text-align:center}.achievement-wall{display:grid;grid-template-columns:1fr;gap:8px}@media (min-width: 640px){.achievement-wall{grid-template-columns:repeat(2,1fr)}}.achievement-card{display:flex;gap:12px;padding:14px;border:1px solid var(--border);border-radius:10px;transition:all .2s ease}.achievement-unlocked{animation:achGlow .4s ease}@keyframes achGlow{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.achievement-locked{opacity:.45;background:var(--bg-dark)}.achievement-card-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px;background:var(--bg-darkest);border:1px solid var(--border);flex-shrink:0}.achievement-card-body{flex:1;min-width:0}.achievement-card-name{font-size:14px;font-weight:800;margin-bottom:2px}.achievement-card-desc{font-size:12px;color:var(--text-muted);margin-bottom:6px}.achievement-card-meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.achievement-rarity-tag{font-size:9px;font-weight:700;letter-spacing:1px;padding:2px 6px;border-radius:4px;border:1px solid}.achievement-category-tag{font-size:9px;font-weight:600;letter-spacing:1px;padding:2px 6px;border-radius:4px;background:var(--bg-darkest);color:var(--text-muted);border:1px solid var(--border)}.achievement-xp{font-size:11px;font-weight:700;color:var(--accent-amber)}.achievement-unlock-date{font-size:10px;color:var(--text-muted);margin-top:4px}.achievement-progress{display:flex;align-items:center;gap:8px;margin-top:6px}.achievement-progress-bar{flex:1;height:5px;background:var(--bg-dark);border-radius:3px;overflow:hidden}.achievement-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-amber),#fbbf24);border-radius:3px;transition:width .3s ease}.achievement-progress-label{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;color:var(--text-muted);flex-shrink:0}.trophy-cabinet-hero{margin-bottom:16px}.trophy-empty{text-align:center;padding:24px}.trophy-showcase{display:flex;gap:10px;overflow-x:auto;padding:8px 0 12px}.trophy-showcase-item{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0}.trophy-showcase-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px}.trophy-showcase-name{font-size:10px;font-weight:700;text-align:center;max-width:80px;line-height:1.2}.trophy-grid{display:grid;grid-template-columns:1fr;gap:8px}@media (min-width: 640px){.trophy-grid{grid-template-columns:repeat(2,1fr)}}.trophy-item{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:10px;transition:all .15s ease}.trophy-unlocked{background:var(--bg-panel)}.trophy-unlocked:hover{transform:translateY(-1px)}.trophy-locked{opacity:.35;background:var(--bg-dark)}.trophy-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px;background:var(--bg-darkest);border:1px solid var(--border);flex-shrink:0}.trophy-info{flex:1;min-width:0}.trophy-name{font-size:13px;font-weight:800}.trophy-rarity{font-size:10px;font-weight:700;letter-spacing:1px}.trophy-date{font-size:10px;color:var(--text-muted);margin-top:2px}.trophy-xp{font-size:13px;font-weight:700;flex-shrink:0}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px}@media (min-width: 640px){.stats-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1024px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.stats-cell{background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;padding:12px;text-align:center}.stats-cell-accent{border-color:#f59e0b33;background:linear-gradient(135deg,rgba(245,158,11,.04),var(--bg-panel))}.stats-cell-value{font-size:18px;font-weight:800;color:var(--text-primary);line-height:1}.stats-cell-label{font-size:9px;font-weight:700;letter-spacing:1px;color:var(--text-muted);margin-top:6px}.perf-bar-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.perf-bar-label{font-size:12px;font-weight:600;color:var(--text-secondary);width:120px;flex-shrink:0}.perf-bar-value{font-size:12px;font-weight:700;width:50px;text-align:right;flex-shrink:0}.timeline{display:flex;flex-direction:column;gap:0;padding:8px 0}.timeline-item{display:flex;gap:16px;padding:0 0 20px}.timeline-connector{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.timeline-dot{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;background:var(--bg-darkest);border:2px solid var(--border);filter:grayscale(1);opacity:.3;z-index:1}.timeline-dot.done{filter:none;opacity:1;border-color:var(--accent-amber);background:#f59e0b1a;box-shadow:0 0 12px #f59e0b33}.timeline-line{width:2px;flex:1;min-height:20px;background:var(--border);margin-top:4px}.timeline-line.done{background:var(--accent-amber);opacity:.4}.timeline-content{padding-top:4px;flex:1}.timeline-label{font-size:13px;font-weight:700;color:var(--text-primary)}.timeline-locked .timeline-label{color:var(--text-muted)}.timeline-date{font-size:11px;color:var(--text-muted);margin-top:2px}.timeline-xp{font-size:11px;font-weight:700;color:var(--accent-amber);margin-top:2px}.timeline-locked-text{font-size:10px;font-weight:600;letter-spacing:1px;color:var(--text-muted);margin-top:2px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#06070dd9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px;animation:fadeIn .2s ease}.modal{background:var(--bg-panel);border:1px solid var(--border-light);border-radius:16px;max-height:90vh;overflow-y:auto;width:100%;max-width:540px;animation:modalSlide .25s cubic-bezier(.4,0,.2,1)}@keyframes modalSlide{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg-panel);z-index:1;border-radius:16px 16px 0 0}.modal-title{font-size:18px;font-weight:800;color:var(--text-primary)}.modal-subtitle{font-size:12px;color:var(--text-muted);margin-top:2px}.modal-close{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px;border-radius:8px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.modal-close:hover{border-color:var(--border-light);color:var(--text-primary)}.modal-body{padding:18px 20px}.modal-footer{display:flex;gap:10px;padding:16px 20px;border-top:1px solid var(--border);position:sticky;bottom:0;background:var(--bg-panel);border-radius:0 0 16px 16px}.form-group{margin-bottom:14px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-label{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;letter-spacing:1px;color:var(--text-muted);margin-bottom:6px;text-transform:uppercase}.form-error{color:#f87171;font-weight:600;text-transform:none;letter-spacing:0}.form-select,.form-input,.form-textarea{width:100%;padding:10px 12px;background:var(--bg-dark);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:14px;font-family:Inter,sans-serif;outline:none;transition:border-color .15s ease;-webkit-appearance:none}.form-select:focus,.form-input:focus,.form-textarea:focus{border-color:var(--accent-red)}.form-select.error,.form-input.error{border-color:#f87171}.form-textarea{resize:vertical;min-height:44px;font-family:Inter,sans-serif}.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%239ca3af' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.result-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.result-btn{padding:10px 8px;border:1px solid var(--border);background:var(--bg-dark);color:var(--text-secondary);font-size:12px;font-weight:700;border-radius:8px;cursor:pointer;transition:all .15s ease;text-align:center}.result-btn:hover{border-color:var(--border-light)}.result-btn.active{border-width:2px}.result-btn-WIN.active{border-color:#f59e0b;color:#f59e0b;background:#f59e0b1a}.result-btn-PODIUM.active{border-color:#60a5fa;color:#60a5fa;background:#3b82f61a}.result-btn-TOP5.active{border-color:#4ade80;color:#4ade80;background:#22c55e14}.result-btn-TOP10.active{border-color:#9ca3af;color:#9ca3af;background:#9ca3af14}.result-btn-FINISH.active{border-color:#6b7280;color:#9ca3af;background:#9ca3af0f}.result-btn-DNF.active{border-color:#f87171;color:#f87171;background:#ef444414}.btn-primary{display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 20px;border:none;background:linear-gradient(90deg,#e8371d,#f5492d);color:#fff;font-size:13px;font-weight:700;letter-spacing:1px;border-radius:10px;cursor:pointer;transition:all .15s ease;flex:1}.btn-primary:hover{box-shadow:0 0 16px #e8371d59;filter:brightness(1.1)}.btn-primary:active{transform:scale(.97)}.btn-secondary{padding:12px 20px;border:1px solid var(--border-light);background:transparent;color:var(--text-secondary);font-size:13px;font-weight:700;letter-spacing:1px;border-radius:10px;cursor:pointer;transition:all .15s ease}.btn-secondary:hover{border-color:var(--text-muted);color:var(--text-primary)}.summary-modal{max-width:480px;text-align:center}.summary-header{padding:28px 20px 20px;background:linear-gradient(180deg,rgba(245,158,11,.08),transparent);border-bottom:1px solid var(--border)}.summary-title{font-size:14px;font-weight:700;letter-spacing:3px;color:var(--text-muted);text-transform:uppercase}.summary-xp{font-size:42px;font-weight:900;color:var(--accent-amber);margin-top:8px;font-family:JetBrains Mono,monospace;text-shadow:0 0 24px rgba(245,158,11,.3)}.summary-body{padding:16px 20px;text-align:left}.summary-section{margin-bottom:16px}.summary-section-title{font-size:11px;font-weight:700;letter-spacing:1.5px;color:var(--text-muted);text-transform:uppercase;margin-bottom:8px}.summary-xp-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.summary-xp-total{display:flex;justify-content:space-between;align-items:center;padding:8px 0 0;margin-top:4px;border-top:1px solid var(--border)}.summary-achievement{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid;border-radius:10px;margin-bottom:8px;animation:achPop .4s ease}@keyframes achPop{0%{transform:scale(.9);opacity:0}50%{transform:scale(1.03)}to{transform:scale(1);opacity:1}}.summary-ach-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.summary-mastery-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg-dark);border:1px solid var(--border);border-radius:8px;margin-bottom:6px;font-size:13px;color:var(--text-secondary)}.summary-levelup{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;background:linear-gradient(135deg,#f59e0b1a,#e8371d0f);border:1px solid rgba(245,158,11,.3);border-radius:10px;animation:levelUpPulse 1s ease infinite}@keyframes levelUpPulse{0%,to{box-shadow:0 0 12px #f59e0b33}50%{box-shadow:0 0 24px #f59e0b59}}.levelup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#06070deb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:200;opacity:0;transition:opacity .3s ease}.levelup-overlay.show{opacity:1}.levelup-content{text-align:center;position:relative;padding:40px;animation:levelUpSlide .5s cubic-bezier(.34,1.56,.64,1)}@keyframes levelUpSlide{0%{transform:scale(.5) translateY(30px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.levelup-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:400px;height:400px;pointer-events:none;animation:glowPulse 2s ease infinite}@keyframes glowPulse{0%,to{opacity:.6;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}}.levelup-label{font-size:14px;font-weight:700;letter-spacing:4px;color:var(--text-muted);text-transform:uppercase;position:relative;z-index:1}.levelup-number{font-size:64px;font-weight:900;letter-spacing:-2px;line-height:1;margin:12px 0 4px;position:relative;z-index:1;text-shadow:0 0 40px currentColor}.levelup-title{font-size:24px;font-weight:800;letter-spacing:1px;position:relative;z-index:1}.levelup-sub{font-size:13px;color:var(--text-muted);margin:12px 0 24px;position:relative;z-index:1}.levelup-btn{padding:12px 32px;border:2px solid;background:transparent;font-size:13px;font-weight:700;letter-spacing:2px;border-radius:10px;cursor:pointer;transition:all .15s ease;position:relative;z-index:1}.levelup-btn:hover{background:#ffffff0d;box-shadow:0 0 16px currentColor}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(232,55,29,.1),transparent 70%),radial-gradient(ellipse 60% 40% at 80% 100%,rgba(59,130,246,.06),transparent 70%),var(--bg-darkest);position:relative;overflow:hidden}.auth-screen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 39px,rgba(255,255,255,.015) 39px,rgba(255,255,255,.015) 40px),repeating-linear-gradient(90deg,transparent,transparent 39px,rgba(255,255,255,.015) 39px,rgba(255,255,255,.015) 40px);pointer-events:none}.auth-loading{font-size:14px;font-weight:700;letter-spacing:3px;color:var(--text-muted)}.auth-card{position:relative;width:100%;max-width:400px;background:linear-gradient(180deg,var(--bg-panel) 0%,var(--bg-dark) 100%);border:1px solid var(--border-light);border-radius:20px;padding:36px 28px 28px;box-shadow:0 24px 60px #00000080,0 0 0 1px #ffffff08 inset;animation:authCardIn .5s cubic-bezier(.16,1,.3,1)}@keyframes authCardIn{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-card:before{content:"";position:absolute;top:0;left:24px;right:24px;height:3px;background:linear-gradient(90deg,transparent,var(--accent-red),transparent);border-radius:0 0 3px 3px}.auth-logo{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:28px}.auth-logo-mark{font-size:44px;font-weight:900;letter-spacing:-2px;background:linear-gradient(135deg,#e8371d,#ff6b3d);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1;filter:drop-shadow(0 2px 12px rgba(232,55,29,.3))}.auth-logo-sub{font-size:11px;font-weight:700;letter-spacing:4px;color:var(--text-muted)}.auth-logo-tagline{font-size:13px;font-weight:500;color:var(--text-secondary);margin-top:8px;letter-spacing:.2px}.auth-tabs{display:flex;gap:4px;padding:4px;background:var(--bg-darkest);border:1px solid var(--border);border-radius:12px;margin-bottom:24px}.auth-tab{flex:1;padding:10px 8px;border:none;background:transparent;color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:1px;border-radius:8px;cursor:pointer;transition:all .2s ease}.auth-tab:hover{color:var(--text-secondary)}.auth-tab.active{background:linear-gradient(180deg,#e8371d26,#e8371d0d);color:var(--accent-red);box-shadow:0 0 0 1px #e8371d33 inset}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-form .form-input{padding:12px 14px;font-size:15px;border-radius:10px;transition:border-color .15s ease,box-shadow .15s ease}.auth-form .form-input:focus{border-color:var(--accent-red);box-shadow:0 0 0 3px #e8371d1f}.auth-error{font-size:13px;font-weight:600;color:#f87171;background:#f8717114;border:1px solid rgba(248,113,113,.2);padding:10px 12px;border-radius:8px;text-align:center}.auth-form .btn-primary{margin-top:4px;padding:14px 20px;font-size:14px;letter-spacing:1.5px;border-radius:10px}.auth-foot{text-align:center;font-size:13px;color:var(--text-muted);margin-top:20px;margin-bottom:0}.auth-switch{border:none;background:transparent;color:var(--accent-red);font-size:13px;font-weight:700;cursor:pointer;padding:0;transition:filter .15s ease}.auth-switch:hover{filter:brightness(1.2);text-decoration:underline}.flex-1{flex:1}.flex{display:flex}.justify-between{justify-content:space-between}.text-right{text-align:right}.text-center{text-align:center}.text-xs{font-size:12px}.text-sm{font-size:13px}.text-xl{font-size:20px}.text-5xl{font-size:48px}.font-bold{font-weight:700}.font-mono{font-family:JetBrains Mono,monospace}.text-white{color:#f4f5f7}.text-zinc-300{color:#d4d4d8}.text-zinc-400{color:#9ca3af}.text-zinc-500{color:#6b7280}.text-amber-400{color:#f59e0b}.text-green-400{color:#4ade80}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-6{margin-top:24px}.mr-1{margin-right:4px}.mr-2{margin-right:8px}.ml-auto{margin-left:auto}.inline{display:inline-flex}.pb-24{padding-bottom:96px}.tracking-widest{letter-spacing:.1em}.w-full{width:100%}.mt-4{margin-top:16px}.leaderboard-table{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--bg-panel)}.leaderboard-head,.leaderboard-row{display:grid;grid-template-columns:48px 1fr 40px 72px 72px 56px;gap:8px;align-items:center;padding:10px 14px;font-size:12px}.leaderboard-head{font-size:10px;font-weight:700;letter-spacing:1px;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--bg-dark)}.leaderboard-row{border-bottom:1px solid var(--border);color:var(--text-secondary)}.leaderboard-row:last-child{border-bottom:none}.leaderboard-row.mine{color:var(--text-primary);background:#e8371d14}.leaderboard-pos{font-weight:800;font-family:JetBrains Mono,monospace}.leaderboard-name{font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-verify{display:flex;flex-direction:column;gap:12px}.auth-verify-title{font-size:14px;font-weight:800;letter-spacing:1.5px}.auth-verify-copy{font-size:13px;color:var(--text-secondary);line-height:1.5;margin:0}a[href*="bolt.new"],a[href*="bolt.new"] *,[data-bolt-badge],#bolt-badge{display:none!important;visibility:hidden!important;pointer-events:none!important}@media (min-width: 768px){.md\:pb-0{padding-bottom:0}}
