*{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#0a0a0b;--bg-secondary:#111113;--bg-tertiary:#18181b;--border-color:#27272a;--border-hover:#3f3f46;--text-primary:#fafafa;--text-secondary:#a1a1aa;--text-muted:#71717a;--accent:#f97316;--accent-hover:#ea580c;--accent-glow:#f9731626;--success:#22c55e;--error:#ef4444;--radius-sm:6px;--radius-md:10px;--radius-lg:16px}html{scroll-behavior:smooth}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;line-height:1.6}.main{flex-direction:column;min-height:100vh;display:flex}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}.header{z-index:100;-webkit-backdrop-filter:blur(20px);background:#0a0a0bd9;border-bottom:1px solid #ffffff0f;position:sticky;top:0;box-shadow:0 4px 20px #0000004d}.header-content{grid-template-columns:1fr auto 1fr;align-items:center;max-width:1200px;margin:0 auto;padding:14px 24px;display:grid}.header-content .logo{justify-self:start}.header-content .mode-toggle{justify-self:center}.header-content .header-controls{justify-self:end}.logo{letter-spacing:-.5px;background:linear-gradient(135deg,var(--accent)0%,#fdba74 50%,var(--accent)100%);-webkit-text-fill-color:transparent;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;font-size:22px;font-weight:800;animation:3s ease-in-out infinite shimmer}@keyframes shimmer{0%,to{background-position:0%}50%{background-position:100%}}.header-controls{align-items:center;gap:12px;display:flex}.mobile-only{display:none!important}.mobile-menu{display:none}@media (max-width:768px){.mobile-menu{display:block}}.mode-toggle{background:var(--bg-tertiary);border-radius:var(--radius-sm);border:1px solid var(--border-color);padding:3px;display:flex}.mode-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-direction:column;align-items:center;gap:1px;padding:8px 16px;transition:all .15s;display:flex}.mode-btn-label{font-size:13px;font-weight:600}.mode-btn-caption{opacity:.7;font-size:10px}.mode-btn.active{background:var(--accent);color:#fff}.mode-btn.active .mode-btn-caption{opacity:.85}.mode-btn:hover:not(.active){color:var(--text-primary)}.unit-toggle{background:var(--bg-tertiary);border-radius:var(--radius-sm);border:1px solid var(--border-color);padding:3px;display:flex}.unit-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .15s}.unit-btn.active{background:var(--accent);color:#fff}.unit-btn:hover:not(.active){color:var(--text-primary)}.hero{text-align:center;padding:48px 0 32px}.hero-title{letter-spacing:-1px;margin-bottom:12px;font-size:clamp(28px,5vw,40px);font-weight:700}.hero-subtitle{color:var(--text-secondary);max-width:500px;margin:0 auto;font-size:16px}.calculator{padding:16px 0 48px}.calculator-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}@media (max-width:900px){.calculator-grid{flex-direction:column;grid-template-columns:1fr;display:flex}.calculator-grid .results-panel{order:-1}.rolling-grid{grid-template-columns:repeat(2,1fr)}}.panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:28px;transition:box-shadow .2s;box-shadow:0 4px 24px #0003,0 1px 2px #0000001a}.results-panel{background:linear-gradient(180deg,var(--bg-secondary)0%,#111113f2 100%);border-color:#f9731626}.empty-results{text-align:center;min-height:300px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-icon{opacity:.4;width:64px;height:64px;margin-bottom:16px}.empty-results p{max-width:200px;margin:0;font-size:14px}.panel-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px;align-items:center;gap:8px;margin-bottom:24px;font-size:13px;font-weight:600;display:flex}.panel-title:before{content:"";background:var(--accent);border-radius:2px;width:3px;height:14px}.timeslip-link{text-align:center;color:var(--text-muted);background:var(--bg-tertiary);border-radius:var(--radius-sm);margin-bottom:12px;padding:8px 12px;font-size:12px;text-decoration:none;transition:all .15s;display:block}.timeslip-link:hover{color:var(--accent);background:var(--bg-secondary)}.ai-input-container{margin-bottom:16px}.ai-input-wrapper{gap:8px;display:flex}.ai-input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);outline:none;flex:1;padding:12px 14px;font-size:14px;transition:all .15s}.ai-input:hover{border-color:var(--border-hover)}.ai-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.ai-input::placeholder{color:var(--text-muted);font-size:13px}.ai-input:disabled{opacity:.6;cursor:not-allowed}.ai-submit-btn{color:#fff;border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#4285f4 0%,#7b68ee 100%);border:none;padding:12px 20px;font-size:14px;font-weight:600;transition:all .15s}.ai-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #4285f466}.ai-submit-btn:active:not(:disabled){transform:translateY(0)}.ai-submit-btn:disabled{opacity:.5;cursor:not-allowed}.ai-error{color:var(--error);margin-top:8px;font-size:12px}.ai-input-container.ai-loading{animation:1.5s ease-in-out infinite ai-pulse}.ai-input-container.ai-loading .ai-input{border-color:#4285f480;box-shadow:0 0 20px #4285f433,0 0 40px #7b68ee1a}.ai-input-container.ai-loading .ai-suggestion-chip{animation:1.5s ease-in-out infinite ai-shimmer}.ai-input-container.ai-loading .ai-suggestion-chip:nth-child(2){animation-delay:.2s}.ai-input-container.ai-loading .ai-suggestion-chip:nth-child(3){animation-delay:.4s}@keyframes ai-pulse{0%,to{opacity:1}50%{opacity:.85}}@keyframes ai-shimmer{0%,to{opacity:.5;transform:scale(.98)}50%{opacity:.3;transform:scale(.96)}}.ai-loading-dots{gap:2px;display:inline-flex}.ai-loading-dots span{font-weight:700;animation:1.4s ease-in-out infinite ai-dot-bounce}.ai-loading-dots span:first-child{animation-delay:0s}.ai-loading-dots span:nth-child(2){animation-delay:.2s}.ai-loading-dots span:nth-child(3){animation-delay:.4s}@keyframes ai-dot-bounce{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.ai-submit-btn:disabled{opacity:1;background:linear-gradient(135deg,#4285f4 0%,#7b68ee 50%,#4285f4 100%) 0 0/200% 100%;animation:2s infinite ai-gradient-shift}@keyframes ai-gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.ai-suggestions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.ai-suggestion-chip{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:20px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .15s}.ai-suggestion-chip:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}.ai-suggestion-chip:disabled{opacity:.5;cursor:not-allowed}.ai-suggestion-refresh{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .15s;display:flex}.ai-suggestion-refresh:hover:not(:disabled){color:var(--text-primary)}.ai-suggestion-refresh:active:not(:disabled) svg{transform:scale(.85)}.ai-suggestion-refresh:disabled{opacity:.3;cursor:not-allowed}.ai-suggestion-refresh.spinning svg{animation:.6s ease-in-out infinite refresh-spin}@keyframes refresh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ai-suggestion-chip.skeleton{background:linear-gradient(90deg,var(--bg-tertiary)25%,var(--bg-secondary)50%,var(--bg-tertiary)75%);background-size:200% 100%;border-color:#0000;width:120px;height:28px;animation:1.5s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:600px){.ai-input-container{margin-bottom:12px}.ai-input-wrapper{flex-direction:row;gap:8px}.ai-input{padding:12px;font-size:15px}.ai-submit-btn{padding:12px 16px}.ai-suggestions{gap:6px;margin-top:8px}.ai-suggestion-chip{padding:5px 10px;font-size:11px}}.setup-tabs{background:var(--bg-primary);border-radius:var(--radius-sm);border:1px solid var(--border-color);-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;gap:4px;margin-bottom:16px;padding:4px;display:flex;overflow-x:auto}.setup-tabs::-webkit-scrollbar{display:none}.setup-tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;flex:1;min-width:max-content;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s}.setup-tab.active{background:var(--accent);color:#fff;box-shadow:0 2px 8px #f973164d}.setup-tab:hover:not(.active){color:var(--text-primary);background:var(--bg-tertiary)}.setup-tab:disabled{opacity:.4;cursor:not-allowed}.tab-content{flex-direction:column;gap:16px;display:flex}.upload-zone-compact{border:2px dashed var(--border-color);border-radius:var(--radius-md);text-align:center;cursor:pointer;background:var(--bg-secondary);padding:24px;transition:all .2s}.upload-zone-compact:hover{border-color:var(--accent);background:var(--bg-tertiary)}.upload-zone-compact.dragging{border-color:var(--accent);background:#f973161a}.upload-zone-compact.uploading{pointer-events:none;opacity:.7}.upload-icon-small{width:32px;height:32px;color:var(--text-muted);margin:0 auto 12px}.upload-text-compact{color:var(--text-primary);margin:0 0 4px;font-size:14px;font-weight:500}.upload-hint-compact{color:var(--text-muted);margin:0;font-size:12px}.upload-loading{flex-direction:column;align-items:center;gap:12px;display:flex}.upload-loading p{color:var(--text-muted);margin:0;font-size:14px}.upload-success{border-radius:var(--radius-sm);color:#22c55e;background:#22c55e1a;border:1px solid #22c55e4d;align-items:center;gap:8px;padding:12px;font-size:13px;font-weight:500;display:flex}.success-icon{font-size:16px}.vehicle-details-prompt{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;align-items:center;gap:10px;margin-top:10px;padding:12px 14px;transition:all .15s;display:flex}.vehicle-details-prompt:hover{background:var(--bg-secondary);border-color:var(--accent)}.vehicle-details-prompt .prompt-icon{opacity:.7;font-size:18px}.vehicle-details-prompt .prompt-text{flex-direction:column;flex:1;gap:2px;display:flex}.vehicle-details-prompt .prompt-text strong{font-size:13px;font-weight:600}.vehicle-details-prompt .prompt-text small{color:var(--text-muted);font-size:11px}.vehicle-details-prompt .prompt-arrow{color:var(--accent);font-size:14px}.analyze-chart{margin-bottom:8px}.analyze-chart .recharts-responsive-container{flex-shrink:0}@media (max-width:768px){.analyze-chart .recharts-responsive-container{height:160px!important}}.chart-footer{flex-direction:column;align-items:center;gap:0;margin-top:8px;display:flex}.chart-legend{color:var(--text-secondary);justify-content:center;gap:12px;padding:16px 0 2px;font-size:10px;display:flex}.legend-item{align-items:center;gap:4px;display:flex}.legend-dot{border-radius:50%;width:8px;height:8px}.chart-disclaimer{color:#666;margin:0;font-size:9px;font-style:italic}.hidden-input{display:none}.primary-result.rolling-result{background:linear-gradient(135deg,var(--bg-tertiary)0%,#22c55e14 100%);border-radius:var(--radius-md);text-align:center;border:1px solid #22c55e33;margin-top:16px;padding:20px}.rolling-result .result-metric{flex-direction:column;align-items:center;gap:4px;display:flex}.rolling-result .result-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:14px;font-weight:500}.rolling-result .result-value{color:#22c55e;font-family:SF Mono,ui-monospace,monospace;font-size:42px;font-weight:700;line-height:1}.rolling-result .result-estimate{color:var(--text-muted);border-top:1px solid var(--border-color);margin-top:12px;padding-top:12px;font-size:13px}.whatif-predictions{background:var(--bg-tertiary);border-radius:var(--radius-md);margin-top:16px;padding:16px}.whatif-predictions h4{color:var(--text-secondary);align-items:center;gap:8px;margin:0 0 12px;font-size:13px;font-weight:600;display:flex}.baseline-power{color:var(--text-muted);font-weight:400}.prediction-row{border-bottom:1px solid var(--border-color);align-items:center;gap:8px;padding:6px 0;font-size:13px;display:flex}.prediction-row:last-child{border-bottom:none}.pred-label{color:var(--text-secondary);min-width:50px;font-weight:600}.pred-original{color:var(--text-muted);font-family:SF Mono,ui-monospace,monospace}.pred-arrow{color:var(--text-muted)}.pred-new{font-family:SF Mono,ui-monospace,monospace;font-weight:600}.pred-new.faster{color:#22c55e}.pred-new.slower{color:#ef4444}.pred-delta{font-family:SF Mono,ui-monospace,monospace;font-size:11px}.pred-delta.faster{color:#22c55e}.pred-delta.slower{color:#ef4444}.pred-trap{color:var(--text-muted);margin-left:auto;font-size:11px}.power-estimate{background:var(--bg-tertiary);border-radius:var(--radius-sm);text-align:center;padding:12px}.power-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.power-value{color:var(--accent);font-family:SF Mono,ui-monospace,monospace;font-size:24px;font-weight:700}.reset-whatif-btn{border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background:0 0;margin-top:8px;padding:8px 16px;font-size:12px;font-weight:500;transition:all .15s}.reset-whatif-btn:hover{border-color:var(--accent);color:var(--accent)}.save-modal .modal-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.save-modal .modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:400px;padding:24px}.save-modal h3{margin:0 0 16px;font-size:18px;font-weight:600}.preset-name-input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);margin-bottom:12px;padding:12px;font-size:14px}.preset-name-input:focus{border-color:var(--accent);outline:none}.preset-preview{background:var(--bg-tertiary);border-radius:var(--radius-sm);margin-bottom:16px;padding:12px;font-size:13px}.modal-cancel{border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background:0 0;padding:10px 20px;font-size:13px;font-weight:500;transition:all .15s}.modal-save:hover{background:var(--accent-hover)}.save-btn{background:var(--accent);border-radius:var(--radius-sm);color:#fff;cursor:pointer;border:none;width:100%;margin-top:16px;padding:12px;font-size:14px;font-weight:600;transition:all .15s}.save-btn:hover{background:var(--accent-hover)}.input-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.input-group{flex-direction:column;gap:8px;display:flex}.input-group.full-width{grid-column:1/-1}.input-group label{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:13px;font-weight:500;display:flex}.label-value{color:var(--text-primary);font-family:SF Mono,ui-monospace,monospace;font-weight:600}.input-with-unit{align-items:center;display:flex;position:relative}.input-with-unit input{width:100%;padding-right:50px}.input-unit{color:var(--text-muted);font-size:13px;font-weight:500;position:absolute;right:14px}input[type=number],input[type=text],select{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);outline:none;padding:12px 14px;font-size:15px;font-weight:500;transition:all .15s}input::placeholder{color:var(--text-muted)}input:hover,select:hover{border-color:var(--border-hover)}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:40px}.toggle-group{background:var(--bg-primary);border-radius:var(--radius-md);border:1px solid var(--border-color);padding:4px;display:flex;position:relative}.toggle-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);z-index:1;background:0 0;border:none;flex:1;padding:10px 12px;font-size:14px;font-weight:500;transition:all .2s;position:relative}.toggle-btn.active{background:var(--accent);color:#fff;box-shadow:0 2px 8px #f9731659}.toggle-btn:hover:not(.active){color:var(--text-primary);background:var(--bg-tertiary)}.toggle-btn:active{transform:scale(.98)}.slider{appearance:none;background:linear-gradient(to right,var(--accent)0%,var(--bg-tertiary)0%);cursor:pointer;border:none;border-radius:3px;outline:none;width:100%;height:6px;margin-top:6px}.slider::-webkit-slider-thumb{appearance:none;background:linear-gradient(145deg,var(--accent),#ea580c);cursor:pointer;border:3px solid var(--bg-primary);border-radius:50%;width:22px;height:22px;transition:transform .15s,box-shadow .15s;box-shadow:0 2px 10px #f9731666,0 2px 8px #0000004d}.slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 4px 16px #f9731680,0 4px 12px #0000004d}.slider::-webkit-slider-thumb:active{transform:scale(1.05)}.slider::-moz-range-thumb{background:linear-gradient(145deg,var(--accent),#ea580c);cursor:pointer;border:3px solid var(--bg-primary);border-radius:50%;width:20px;height:20px;box-shadow:0 2px 10px #f9731666}.slider::-moz-range-track{background:var(--bg-tertiary);border-radius:3px;height:6px}.slider-labels{color:var(--text-muted);justify-content:space-between;margin-top:8px;font-size:11px;display:flex}.input-hint{color:var(--text-muted);margin-top:4px;font-size:11px}.calculate-btn{background:var(--accent);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:24px;padding:14px 24px;font-size:15px;font-weight:600;transition:all .15s;display:flex}.calculate-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.calculate-btn:active:not(:disabled){transform:translateY(0)}.calculate-btn:disabled{opacity:.7;cursor:not-allowed}.loading-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-message{color:var(--error);text-align:center;margin-top:12px;font-size:13px}.reverse-note{color:var(--text-muted);text-align:center;margin-top:16px;font-size:13px}.results-content{flex-direction:column;gap:24px;display:flex}.results-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.result-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;gap:6px;padding:20px;transition:transform .2s,box-shadow .2s;display:flex}.result-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000026}.result-card.primary{border:2px solid var(--accent);background:linear-gradient(135deg,#f973161f 0%,#f973160a 100%);flex-direction:row;justify-content:space-between;align-items:center;padding:24px 28px;box-shadow:0 0 40px #f9731626,0 4px 16px #0003}.result-card.primary:hover{box-shadow:0 0 50px #f9731633,0 8px 24px #00000040}.result-card.primary .result-value{color:var(--accent);text-shadow:0 0 30px #f973164d;font-size:48px}.result-card.primary .result-info{text-align:right}.result-value{letter-spacing:-1px;font-family:SF Mono,ui-monospace,monospace;font-size:28px;font-weight:700;line-height:1}.result-label{color:var(--text-primary);font-size:14px;font-weight:600}.result-secondary{color:var(--text-muted);font-size:13px}.distance-splits{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px 20px}.distance-splits+.distance-splits{margin-top:16px}.distance-splits h4{color:var(--accent);text-transform:uppercase;letter-spacing:.8px;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:11px;font-weight:600;display:flex}.splits-unit{color:var(--text-muted);text-transform:uppercase;font-size:10px;font-weight:500}.splits-grid{grid-template-columns:1fr 1fr;gap:0;display:grid}.split-cell{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.split-cell:nth-child(odd){border-right:1px solid var(--border-color)}.split-cell:nth-last-child(-n+2){border-bottom:none}.split-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:12px;font-weight:500}.split-value{color:var(--text-primary);font-family:SF Mono,ui-monospace,monospace;font-size:15px;font-weight:700}.split-value-group{text-align:right;white-space:nowrap;flex-wrap:nowrap;align-items:baseline;gap:6px;display:flex}.split-trap{color:var(--accent);font-family:SF Mono,ui-monospace,monospace;font-size:12px;font-weight:500}.split-cell.highlight{background:linear-gradient(90deg,#0000 0%,#f9731614 100%)}.split-value.highlight{color:var(--accent)}.split-value.derived{color:#22c55e;font-style:italic}.splits-derived{color:#22c55e;margin-left:4px;font-size:12px}.splits-disclaimer{color:var(--text-muted);text-align:center;margin:8px 0 0;font-size:11px;font-style:italic}.rolling-times{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:20px}.rolling-times h4{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px;align-items:center;gap:8px;margin-bottom:16px;font-size:11px;font-weight:600;display:flex}.rolling-times h4:before{content:"";background:var(--text-muted);border-radius:1px;width:2px;height:10px}.rolling-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.rolling-item{background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border-color);flex-direction:column;gap:4px;padding:12px;transition:border-color .2s;display:flex}.rolling-item:hover{border-color:var(--border-hover)}.rolling-value{color:var(--text-primary);font-family:SF Mono,ui-monospace,monospace;font-size:18px;font-weight:600}.rolling-label{color:var(--text-muted);font-size:11px}.chart-container{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;padding:10px 6px 6px;display:flex}.acceleration-chart-container{height:240px}@media (max-width:768px){.acceleration-chart-container{height:180px}}.swipeable-tabs{display:none}@media (max-width:768px){.swipeable-tabs{margin-top:-4px;display:block}.analyze-chart{margin-bottom:0}.swipeable-tabs-header{background:var(--bg-secondary);border-radius:6px;gap:2px;margin-bottom:6px;padding:2px;display:flex}.swipeable-tab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:1;padding:4px 8px;font-size:11px;font-weight:500;transition:all .2s}.swipeable-tab-btn.active{background:var(--bg-tertiary);color:var(--text-primary)}.swipeable-tabs-content{scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;overscroll-behavior-x:contain;display:flex;overflow-x:scroll}.swipeable-tabs-content::-webkit-scrollbar{display:none}.swipeable-tab-panel{scroll-snap-align:start;scroll-snap-stop:always;touch-action:pan-x;flex:0 0 100%;min-width:100%}.splits-desktop{display:none}}@media (min-width:769px){.splits-desktop{display:block}.swipeable-tabs{display:none}}.results-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:60px 20px;display:flex}.empty-icon{color:var(--text-muted);opacity:.5}.results-empty p{color:var(--text-muted);font-size:14px}.features{border-top:1px solid var(--border-color);padding:48px 0}.features-grid{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}@media (max-width:700px){.features-grid{grid-template-columns:1fr}}.feature{text-align:center}.feature-icon{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);width:48px;height:48px;color:var(--accent);justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.feature h4{margin-bottom:8px;font-size:15px;font-weight:600}.feature p{color:var(--text-secondary);font-size:14px;line-height:1.5}.footer{text-align:center;border-top:1px solid var(--border-color);margin-top:auto;padding:24px}.footer p{color:var(--text-muted);font-size:13px}.site-footer{border-top:1px solid var(--border-color);background:var(--bg-secondary);margin-top:auto}.footer-container{grid-template-columns:1.5fr 1fr 1fr;gap:40px;max-width:1200px;margin:0 auto;padding:40px 24px;display:grid}.footer-section h4{color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px;font-size:14px;font-weight:600}.footer-nav{flex-direction:column;gap:10px;display:flex}.footer-nav a,.footer-link-btn{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:14px;text-decoration:none;transition:color .15s}.footer-nav a:hover,.footer-link-btn:hover{color:var(--accent)}.footer-apps-section{grid-column:span 2}.footer-apps-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.footer-app-item{border-radius:var(--radius-md);color:inherit;align-items:flex-start;gap:10px;padding:10px;text-decoration:none;transition:background .15s;display:flex}a.footer-app-item:hover{background:var(--bg-tertiary)}.footer-app-item .footer-app-icon{border-radius:6px;flex-shrink:0;width:32px;height:32px}.footer-app-icon-placeholder{background:var(--bg-tertiary);width:32px;height:32px;color:var(--text-muted);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.footer-app-icon-placeholder svg{width:18px;height:18px}.footer-app-details{flex-direction:column;gap:2px;display:flex}.footer-app-name{color:var(--text-primary);font-size:13px;font-weight:500}.footer-app-desc{color:var(--text-muted);font-size:12px;line-height:1.3}.app-badge{background:var(--bg-tertiary);color:var(--text-muted);vertical-align:middle;border-radius:4px;margin-left:4px;padding:2px 5px;font-size:9px}.coming-soon-badge{background:var(--accent);color:var(--bg-primary);width:fit-content;margin-top:4px;margin-left:0;display:inline-block}.android-coming-soon{color:var(--text-muted);font-size:10px;font-style:italic}.footer-newsletter{max-width:300px}.footer-subscribe-form{gap:8px;display:flex}.footer-subscribe-form input{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);outline:none;flex:1;padding:10px 12px;font-size:14px;transition:border-color .15s}.footer-subscribe-form input:focus{border-color:var(--accent)}.footer-subscribe-form input::placeholder{color:var(--text-muted)}.footer-subscribe-form button{background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:none;padding:10px 16px;font-size:14px;font-weight:500;transition:background .15s}.footer-subscribe-form button:hover:not(:disabled){background:var(--accent-hover)}.footer-subscribe-form button:disabled{opacity:.5;cursor:not-allowed}.subscribed-message{color:var(--success);font-size:14px}.footer-bottom{border-top:1px solid var(--border-color);text-align:center;padding:20px 24px}.footer-bottom p{color:var(--text-muted);margin:0;font-size:13px}@media (max-width:900px){.footer-container{grid-template-columns:1fr 1fr;gap:32px;padding:32px 20px}.footer-apps-section{grid-column:span 2}.footer-apps-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.footer-container{grid-template-columns:1fr;gap:28px}.footer-apps-section{grid-column:span 1}.footer-apps-grid{grid-template-columns:1fr}.footer-newsletter{max-width:none}.footer-nav{flex-flow:wrap;gap:12px 20px}.container{padding:0 16px}.header-content{justify-content:space-between;align-items:center;padding:10px 12px;display:flex;position:relative}.logo{font-size:16px}.desktop-only{display:none!important}.mobile-only{display:flex!important}.mobile-current-page{color:var(--text-muted);font-size:13px;font-weight:500;position:absolute;left:50%;transform:translate(-50%)}.mobile-header-right{align-items:center;gap:8px;display:flex}.mobile-unit-toggle{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:500}.mobile-menu-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.mobile-menu{background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:12px 16px}.mobile-nav{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.mobile-nav-link{color:var(--text-muted);border-radius:8px;align-items:center;gap:8px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.mobile-nav-link:hover,.mobile-nav-link.active{background:var(--bg-tertiary);color:var(--text-primary)}.mobile-menu-controls{border-top:1px solid var(--border-color);padding-top:12px}.mobile-menu-controls .unit-toggle{gap:8px;display:flex}.mobile-menu-controls .unit-btn{flex:1;padding:8px 12px;font-size:13px}.hero{padding:16px 0 12px}.hero-title{margin-bottom:4px;font-size:22px}.hero-subtitle{font-size:13px;display:none}.reverse-note{margin-top:12px;font-size:12px}.calculator{padding:12px 0 32px}.calculator-grid{gap:16px}.panel{border-radius:var(--radius-md);padding:16px}.panel-title{margin-bottom:16px;font-size:11px}.panel-title:before{width:2px;height:12px}.setup-tabs{border-left:none;border-right:none;border-radius:0;margin:0 -16px 16px;padding:4px 16px}.setup-tab{flex:none;padding:10px 18px;font-size:13px}.input-grid{grid-template-columns:1fr 1fr;gap:16px}.input-group.full-width{grid-column:1/-1}.input-group{gap:8px}.input-group label{font-size:12px}.label-value{font-size:13px}input[type=number],input[type=text],select{border-radius:var(--radius-sm);min-height:48px;padding:12px 14px;font-size:15px}select{background-position:right 12px center;padding-right:36px}.toggle-group{padding:3px}.toggle-btn{min-height:44px;padding:10px 12px;font-size:13px}.slider{height:8px;margin-top:8px}.slider::-webkit-slider-thumb{border-width:3px;width:28px;height:28px}.slider-labels{margin-top:8px;font-size:11px}.results-content{gap:12px}.results-grid{grid-template-columns:repeat(2,1fr);gap:10px}.result-card{border-radius:var(--radius-sm);gap:4px;padding:14px}.result-card.primary{flex-direction:column;align-items:flex-start;gap:8px;padding:16px}.result-card.primary .result-value{font-size:36px}.result-card.primary .result-info{text-align:left}.result-value{font-size:22px;line-height:1.1}.result-label{font-size:12px;line-height:1.2}.result-secondary{font-size:11px;line-height:1.2}.distance-splits{border-radius:var(--radius-sm);padding:12px}.distance-splits h4{margin-bottom:10px;font-size:10px}.splits-grid{grid-template-columns:1fr 1fr}.split-cell{padding:6px}.split-label{font-size:10px}.split-value{font-size:13px}.split-value-group{gap:3px}.split-trap{font-size:11px}.conditions-display{flex-wrap:wrap;justify-content:center;gap:4px;padding:6px 10px}.condition-item{gap:4px}.condition-label{font-size:9px}.condition-value{font-size:12px}.rolling-times{border-radius:var(--radius-sm);padding:14px}.rolling-times h4{margin-bottom:12px;font-size:10px}.rolling-times h4:before{width:2px;height:8px}.rolling-grid{grid-template-columns:1fr 1fr;gap:8px}.rolling-item{gap:2px;padding:10px}.rolling-value{font-size:15px}.rolling-label{font-size:9px}.chart-container{border-radius:var(--radius-sm);padding:8px 4px 4px}.conditions-display{gap:20px;padding:10px 14px}.features{display:none}.footer{padding:20px}.footer p{font-size:12px}}.transmission-chart{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);margin-top:16px;padding:12px}.chart-header{margin-bottom:8px}.chart-stats{justify-content:space-around;gap:16px;display:flex}.chart-stats .stat{flex-direction:column;align-items:center;gap:2px;display:flex}.chart-stats .stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:10px}.chart-stats .stat-value{color:var(--text-primary);font-family:SF Mono,Monaco,monospace;font-size:14px;font-weight:600}.gear-chart{min-height:120px;margin-top:8px}.cvt-info,.ev-info{text-align:center;color:var(--text-secondary);justify-content:center;align-items:center;min-height:120px;padding:12px;font-size:12px;display:flex}.conditions-display{background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border-color);justify-content:space-around;gap:8px;min-height:42px;padding:8px 12px;display:flex}.condition-item{align-items:center;gap:6px;display:flex}.condition-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:10px;font-weight:500}.condition-value{color:var(--text-primary);font-family:SF Mono,Monaco,monospace;font-size:13px;font-weight:600}.custom-trans-inputs{flex-direction:column;gap:12px;display:flex}.custom-trans-row{gap:12px;display:flex}.custom-trans-row .input-group{flex:1}.text-input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);padding:10px 12px;font-family:SF Mono,Monaco,monospace;font-size:13px}.text-input:focus{border-color:var(--accent);outline:none}.text-input::placeholder{color:var(--text-muted)}.trans-ai-search{border-top:1px solid var(--border-color);margin-top:12px;padding-top:12px}.trans-ai-search label{color:var(--text-muted);margin-bottom:6px;font-size:11px}.trans-ai-input-row{gap:8px;display:flex}.trans-ai-input-row .text-input{flex:1;padding:8px 10px;font-size:12px}.trans-ai-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:8px 14px;font-size:14px;transition:all .15s}.trans-ai-btn:hover:not(:disabled){background:var(--accent-hover)}.trans-ai-btn:disabled{opacity:.5;cursor:not-allowed}.trans-ai-result{border-radius:var(--radius-sm);margin-top:6px;padding:6px 10px;font-size:11px}.trans-ai-result.success{color:#22c55e;background:#22c55e1a}.trans-ai-result.error{color:#ef4444;background:#ef44441a}.nav-links{gap:24px;display:flex}.nav-link{color:var(--text-secondary);font-size:14px;font-weight:500;text-decoration:none;transition:color .15s}.nav-link:hover,.nav-link.active{color:var(--accent)}.desktop-only{display:flex}@media (max-width:600px){.desktop-only{display:none}}.footer-links{justify-content:center;gap:24px;margin-bottom:12px;display:flex}.footer-links a{color:var(--text-secondary);font-size:13px;text-decoration:none;transition:color .15s}.footer-links a:hover{color:var(--accent)}.content-section{padding:48px 0 64px}.page-title{letter-spacing:-1px;text-align:center;margin-bottom:12px;font-size:clamp(28px,5vw,40px);font-weight:700}.page-subtitle{color:var(--text-secondary);text-align:center;max-width:600px;margin:0 auto 48px;font-size:16px}.faq-list{flex-direction:column;gap:24px;max-width:800px;margin:0 auto;display:flex}.faq-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px 28px}.faq-question{color:var(--text-primary);margin-bottom:12px;font-size:18px;font-weight:600}.faq-answer{color:var(--text-secondary);font-size:15px;line-height:1.7}.about-content{flex-direction:column;gap:32px;max-width:800px;margin:0 auto;display:flex}.about-section h2{color:var(--text-primary);margin-bottom:12px;font-size:20px;font-weight:600}.about-section p{color:var(--text-secondary);font-size:15px;line-height:1.7}.feature-list{flex-direction:column;gap:8px;margin-top:16px;padding-left:20px;display:flex}.feature-list li{color:var(--text-secondary);font-size:15px;line-height:1.6}.feature-list li::marker{color:var(--accent)}.contact-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);text-align:center;padding:32px}.contact-section h2{margin-bottom:12px;font-size:20px;font-weight:600}.contact-section p{color:var(--text-secondary);margin-bottom:16px;font-size:15px}.contact-link{color:var(--accent);background:var(--accent-glow);border-radius:var(--radius-md);padding:12px 24px;font-size:16px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-block}.contact-link:hover{background:#f9731640}.cta-section{text-align:center;border-top:1px solid var(--border-color);margin-top:48px;padding-top:48px}.cta-section h2{margin-bottom:20px;font-size:24px;font-weight:600}.cta-button{background:var(--accent);color:#fff;border-radius:var(--radius-md);padding:14px 32px;font-size:16px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-block}.cta-button:hover{background:var(--accent-hover);transform:translateY(-2px)}@media (max-width:600px){.content-section{padding:32px 0 48px}.page-title{font-size:24px}.page-subtitle{margin-bottom:32px;font-size:14px}.faq-item{padding:20px}.faq-question{font-size:16px}.faq-answer{font-size:14px}.about-section h2{font-size:18px}.about-section p,.feature-list li{font-size:14px}.contact-section{padding:24px}.cta-section{margin-top:32px;padding-top:32px}.cta-section h2{font-size:20px}}.not-found-section{justify-content:center;align-items:center;min-height:60vh;padding:48px 0;display:flex}.not-found-content{text-align:center}.not-found-code{letter-spacing:-4px;background:linear-gradient(135deg,var(--accent)0%,#fdba74 50%,var(--accent)100%);-webkit-text-fill-color:transparent;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;margin-bottom:16px;font-size:clamp(80px,20vw,150px);font-weight:800;line-height:1;animation:3s ease-in-out infinite shimmer}.not-found-title{color:var(--text-primary);margin-bottom:12px;font-size:24px;font-weight:600}.not-found-message{color:var(--text-secondary);margin-bottom:32px;font-size:16px}.not-found-actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.secondary-button{background:var(--bg-tertiary);color:var(--text-primary);border-radius:var(--radius-md);border:1px solid var(--border-color);padding:14px 32px;font-size:16px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-block}.secondary-button:hover{border-color:var(--border-hover);background:var(--bg-secondary)}@media (max-width:600px){.not-found-section{min-height:50vh;padding:32px 0}.not-found-title{font-size:20px}.not-found-message{margin-bottom:24px;font-size:14px}.not-found-actions{flex-direction:column;gap:12px}.cta-button,.secondary-button{width:100%}}.ai-input-field{flex:1;position:relative}.ai-input-icon{opacity:.5;pointer-events:none;width:20px;height:20px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.ai-input-field .ai-input{padding-left:40px}.ai-dropdown{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);z-index:50;margin-top:4px;animation:.15s dropdown-appear;position:absolute;top:100%;left:0;right:0;overflow:hidden;box-shadow:0 8px 24px #0000004d}@keyframes dropdown-appear{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ai-dropdown-item{color:var(--text-secondary);cursor:pointer;border-bottom:1px solid var(--border-color);align-items:center;gap:8px;padding:12px 14px;font-size:14px;transition:all .1s;display:flex}.ai-dropdown-item:last-child{border-bottom:none}.ai-dropdown-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.ai-dropdown-item:before{content:"";background:var(--accent);opacity:0;border-radius:50%;width:6px;height:6px;transition:opacity .1s}.ai-dropdown-item:hover:before{opacity:1}.ai-dropdown-hint{color:var(--text-muted);padding:12px 14px;font-size:13px;font-style:italic}.ai-result-toast{border-radius:var(--radius-md);background:linear-gradient(135deg,#4285f41f 0%,#7b68ee14 100%);border:1px solid #4285f44d;align-items:center;gap:8px;margin-top:10px;padding:10px 14px;animation:.3s toast-appear;display:flex}@keyframes toast-appear{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.ai-result-icon{color:#4285f4;flex-shrink:0;width:18px;height:18px}.ai-result-text{color:var(--text-secondary);font-size:13px;line-height:1.4}.ai-result-text strong{color:var(--text-primary);font-weight:600}.input-group.highlight{animation:1.5s ease-out field-highlight}.input-group.highlight label{animation:1.5s ease-out label-flash}.input-group.highlight .slider{animation:1.5s ease-out slider-glow}.input-group.highlight .toggle-group,.input-group.highlight select{animation:1.5s ease-out control-highlight}@keyframes field-highlight{0%{border-radius:var(--radius-md);background:#4285f426}to{background:0 0}}@keyframes label-flash{0%,30%{color:#4285f4}to{color:var(--text-secondary)}}@keyframes slider-glow{0%,30%{filter:drop-shadow(0 0 8px #4285f499)}to{filter:none}}@keyframes control-highlight{0%{border-color:#4285f4;box-shadow:0 0 0 3px #4285f466}to{box-shadow:none;border-color:var(--border-color)}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:460px;padding:28px;animation:.2s ease-out modal-in;position:relative}@keyframes modal-in{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;transition:color .15s;position:absolute;top:16px;right:16px}.modal-close:hover{color:var(--text-primary)}.modal-title{margin-bottom:4px;font-size:20px;font-weight:600}.modal-subtitle{color:var(--text-muted);margin-bottom:20px;font-size:14px}.feedback-types{gap:8px;margin-bottom:16px;display:flex}.feedback-type{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;flex:1;padding:8px 12px;font-size:13px;font-weight:500;transition:all .15s}.feedback-type:hover{border-color:var(--border-hover);color:var(--text-primary)}.feedback-type.active{background:var(--accent);border-color:var(--accent);color:#fff}.feedback-textarea{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);resize:vertical;min-height:100px;padding:12px;font-family:inherit;font-size:14px;transition:border-color .15s}.feedback-textarea:focus{border-color:var(--accent);outline:none}.feedback-textarea::placeholder{color:var(--text-muted)}.feedback-error{color:var(--error);margin-top:8px;font-size:13px}.feedback-submit{background:var(--accent);border-radius:var(--radius-sm);color:#fff;cursor:pointer;border:none;width:100%;margin-top:16px;padding:12px;font-size:14px;font-weight:600;transition:background .15s}.feedback-submit:hover:not(:disabled){background:var(--accent-hover)}.feedback-submit:disabled{opacity:.5;cursor:not-allowed}.modal-success{text-align:center;padding:20px 0}.modal-success svg{margin-bottom:16px}.modal-success h3{margin-bottom:8px;font-size:18px;font-weight:600}.modal-success p{color:var(--text-muted);font-size:14px}.feedback-link{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;transition:color .15s}.feedback-link:hover{color:var(--accent)}.auth-signin{background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:all .15s;display:flex}.auth-signin:hover{border-color:var(--border-hover);background:var(--bg-secondary)}.auth-signin svg{width:16px;height:16px}.auth-user{align-items:center;gap:10px;display:flex;position:relative}.auth-avatar-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;padding:2px;transition:all .15s}.auth-avatar-btn:hover{background:var(--bg-tertiary)}.auth-avatar{border:2px solid var(--border-color);border-radius:50%;width:32px;height:32px;transition:border-color .15s;display:block}.auth-avatar-btn:hover .auth-avatar{border-color:var(--accent)}.auth-avatar-placeholder{border:2px solid var(--border-color);background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:600;display:flex}.auth-signout{border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background:0 0;padding:6px 12px;font-size:12px;font-weight:500;transition:all .15s}.auth-signout:hover{border-color:var(--error);color:var(--error)}.auth-dropdown-menu{z-index:1000;background:#1a1a1a;border:1px solid #333;border-radius:8px;min-width:200px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 8px 24px #0006}.auth-dropdown-user{border-bottom:1px solid #333;padding:12px 14px}.auth-dropdown-name{color:#fff;margin-bottom:2px;font-size:13px;font-weight:600;display:block}.auth-dropdown-email{color:#888;text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden}.auth-dropdown-item{color:#aaa;text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:10px 14px;font-size:13px;font-weight:500;transition:all .15s}.auth-dropdown-item:hover{color:#fff;background:#252525}.auth-button-skeleton{background:var(--bg-tertiary);border-radius:50%;width:32px;height:32px;animation:1.5s ease-in-out infinite skeleton-shimmer}.main-nav{align-items:center;gap:16px;display:flex}.main-nav .nav-link{color:var(--text-muted);border-radius:var(--radius-sm);padding:8px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s}.main-nav .nav-link:hover{color:var(--text-primary);background:var(--bg-tertiary)}.main-nav .nav-link.active{color:var(--accent)}.nav-badge{text-transform:uppercase;letter-spacing:.5px;color:#fff;background:var(--accent);vertical-align:middle;border-radius:4px;margin-left:6px;padding:2px 6px;font-size:9px;font-weight:600;display:inline-block}.nav-dropdown{position:relative}.nav-dropdown-trigger{color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.nav-dropdown-trigger:hover{background:var(--bg-tertiary)}.nav-dropdown-trigger svg{opacity:.5;transition:transform .15s}.nav-dropdown:has(.nav-dropdown-menu) .nav-dropdown-trigger svg{transform:rotate(180deg)}.nav-dropdown-menu{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);z-index:200;min-width:180px;animation:.15s dropdown-fade;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden;box-shadow:0 8px 24px #0006}@keyframes dropdown-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.nav-dropdown-item{text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:2px;width:100%;padding:10px 14px;transition:background .15s;display:flex}.nav-dropdown-item:hover{background:var(--bg-tertiary)}.nav-dropdown-item.active{background:var(--accent-glow)}.nav-dropdown-item.active .dropdown-item-label{color:var(--accent)}.dropdown-item-label{color:var(--text-primary);font-size:13px;font-weight:500}.dropdown-item-desc{color:var(--text-muted);font-size:11px}.save-preset-row{border-top:1px solid var(--border-color);align-items:center;gap:12px;margin-top:16px;padding-top:16px;display:flex}.save-preset-button{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.save-preset-button:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}.save-preset-button.guest{color:var(--text-muted)}.save-preset-button.guest:hover{border-color:var(--border-hover);color:var(--text-primary);background:var(--bg-secondary)}.save-preset-button.wide{justify-content:center;width:100%}.preset-saved-toast{color:var(--success);font-size:13px;font-weight:500;animation:3s forwards toast-fade}@keyframes toast-fade{0%,70%{opacity:1}to{opacity:0}}.presets-tab-content{grid-column:1/-1}.presets-sidebar{background:0 0;border:none;flex-direction:column;gap:12px;padding:0;display:flex}.presets-header{justify-content:space-between;align-items:center;display:flex}.presets-header h3{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:600}.save-preset-btn{background:var(--accent);border-radius:var(--radius-sm);color:#fff;cursor:pointer;border:none;padding:6px 10px;font-size:11px;font-weight:600;transition:all .15s}.save-preset-btn:hover{background:var(--accent-hover)}.presets-list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.preset-item{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:10px 12px;transition:border-color .15s;display:flex}.preset-item:hover{border-color:var(--border-hover)}.preset-info{flex-direction:column;gap:2px;min-width:0;display:flex}.preset-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.preset-meta{color:var(--text-muted);font-size:11px}.preset-actions{gap:4px;display:flex}.preset-load{background:var(--accent-glow);border:1px solid var(--accent);color:var(--accent);cursor:pointer;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:500;transition:all .15s}.preset-load:hover{background:var(--accent);color:#fff}.preset-delete{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:14px;font-weight:500;transition:color .15s}.preset-delete:hover{color:var(--error)}.presets-loading,.presets-empty{text-align:center;color:var(--text-muted);padding:20px 10px;font-size:13px}.presets-empty .hint{opacity:.7;margin-top:4px;font-size:11px}.presets-teaser{min-height:140px;position:relative}.teaser-items{filter:blur(4px);opacity:.4;grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.teaser-item{background:var(--bg-tertiary);border-radius:var(--radius-sm);border:1px solid var(--border-color);height:70px}.teaser-overlay{text-align:center;border-radius:var(--radius-md);background:#11111399;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}.teaser-overlay p{color:var(--text-primary);margin-bottom:14px;font-size:14px}.teaser-cta{background:var(--accent);border-radius:var(--radius-sm);color:#fff;cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.teaser-cta:hover{background:var(--accent-hover);transform:translateY(-1px)}.preset-name-input{width:100%;margin-bottom:12px}.preset-preview{background:var(--bg-tertiary);border-radius:var(--radius-sm);justify-content:center;gap:16px;margin-bottom:16px;padding:12px;display:flex}.preset-preview span{color:var(--text-secondary);font-size:13px;font-weight:500}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.modal-cancel{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;padding:10px 16px;font-size:13px;font-weight:500;transition:all .15s}.modal-cancel:hover{border-color:var(--border-hover);color:var(--text-primary)}.modal-save{background:var(--accent);border-radius:var(--radius-sm);color:#fff;cursor:pointer;border:none;padding:10px 20px;font-size:13px;font-weight:600;transition:all .15s}.modal-save:hover:not(:disabled){background:var(--accent-hover)}.modal-save:disabled{opacity:.5;cursor:not-allowed}.modal-content h3{margin-bottom:16px;font-size:18px;font-weight:600}.save-options{flex-direction:column;gap:12px;display:flex}.save-option-btn{border-radius:var(--radius-sm);cursor:pointer;width:100%;padding:12px 16px;font-size:14px;font-weight:600;transition:all .15s}.save-option-btn.primary{background:var(--accent);color:#fff;border:none}.save-option-btn.primary:hover:not(:disabled){background:var(--accent-hover)}.save-option-btn.secondary{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary)}.save-option-btn.secondary:hover:not(:disabled){border-color:var(--border-hover)}.save-option-btn:disabled{opacity:.5;cursor:not-allowed}.save-option-divider{color:var(--text-muted);align-items:center;gap:12px;font-size:12px;display:flex}.save-option-divider:before,.save-option-divider:after{content:"";background:var(--border-color);flex:1;height:1px}.save-new-section{gap:8px;display:flex}.save-new-section .preset-name-input{flex:1;margin-bottom:0}.save-new-section .save-option-btn{white-space:nowrap;width:auto}.modal-cancel-link{width:100%;color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin-top:12px;padding:8px;font-size:13px;transition:color .15s;display:block}.modal-cancel-link:hover{color:var(--text-primary)}.newsletter-modal{max-width:400px}.newsletter-apps{flex-direction:column;gap:8px;margin:0 0 20px;display:flex}.newsletter-app{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:inherit;align-items:center;gap:12px;padding:10px 12px;text-decoration:none;transition:border-color .15s,background .15s;display:flex}a.newsletter-app:hover{border-color:var(--accent);background:#f973160d}.newsletter-app .app-icon{object-fit:cover;border-radius:10px;flex-shrink:0;width:40px;height:40px}.newsletter-app .placeholder-icon{background:var(--bg-tertiary);color:var(--text-muted);justify-content:center;align-items:center;display:flex}.newsletter-app .placeholder-icon svg{width:22px;height:22px}.newsletter-app .app-info{flex-direction:column;gap:2px;display:flex}.newsletter-app .app-name{color:var(--text-primary);font-size:14px;font-weight:500}.newsletter-app .app-desc{color:var(--text-muted);font-size:12px}.newsletter-app .coming-soon{background:var(--accent);color:var(--bg-primary);text-transform:uppercase;border-radius:10px;width:fit-content;padding:2px 8px;font-size:10px;font-weight:600}.newsletter-app .app-badge-inline{background:var(--bg-tertiary);color:var(--text-muted);vertical-align:middle;border-radius:4px;margin-left:4px;padding:2px 5px;font-size:9px}.newsletter-app .android-soon{color:var(--text-muted);font-size:10px;font-style:italic}.newsletter-input{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);width:100%;color:var(--text-primary);outline:none;padding:14px 16px;font-size:15px;transition:border-color .15s}.newsletter-input:focus{border-color:var(--accent)}.newsletter-input::placeholder{color:var(--text-muted)}.newsletter-error{color:var(--error);margin-top:8px;margin-bottom:0;font-size:13px}.newsletter-submit{background:var(--accent);width:100%;color:var(--bg-primary);border-radius:var(--radius-md);cursor:pointer;border:none;margin-top:12px;padding:14px 20px;font-size:15px;font-weight:600;transition:background .15s}.newsletter-submit:hover:not(:disabled){background:var(--accent-hover)}.newsletter-submit:disabled{opacity:.5;cursor:not-allowed}.compare-loading{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:80px 20px;display:flex}.compare-guest{justify-content:center;align-items:center;min-height:60vh;display:flex}.compare-guest-content{text-align:center;max-width:400px;padding:40px}.compare-guest-content h2{margin-bottom:12px;font-size:28px;font-weight:700}.compare-guest-content p{color:var(--text-secondary);margin-bottom:24px;font-size:15px}.compare-signin-btn{border-radius:var(--radius-md);color:#333;cursor:pointer;background:#fff;border:none;align-items:center;gap:10px;padding:12px 24px;font-size:15px;font-weight:600;transition:all .15s;display:inline-flex;box-shadow:0 2px 8px #00000026}.compare-signin-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0003}.compare-content{padding:32px 0 64px}.compare-section{margin-bottom:32px}.compare-section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.compare-section h2{font-size:18px;font-weight:600}.selection-count{color:var(--text-muted);font-size:13px}.compare-empty{text-align:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:48px 20px}.compare-empty p{color:var(--text-muted);margin-bottom:8px}.compare-empty .hint{opacity:.7;font-size:13px}.compare-back-link{color:var(--accent);margin-top:16px;font-size:14px;font-weight:500;text-decoration:none;display:inline-block}.compare-back-link:hover{text-decoration:underline}.preset-cards-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.preset-card{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--radius-md);text-align:left;cursor:pointer;padding:16px;transition:all .15s;position:relative}.preset-card:hover:not(:disabled){border-color:var(--border-hover)}.preset-card.selected{border-color:var(--accent);background:linear-gradient(135deg,#f9731614 0%,#f9731605 100%)}.preset-card:disabled{opacity:.4;cursor:not-allowed}.preset-card-name{color:var(--text-primary);margin-bottom:8px;font-size:14px;font-weight:600}.preset-card-specs{color:var(--text-muted);gap:10px;font-size:12px;display:flex}.preset-card-check{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex;position:absolute;top:8px;right:8px}.compare-actions{text-align:center;margin-top:20px}.compare-run-btn{background:var(--accent);border-radius:var(--radius-md);color:#fff;cursor:pointer;border:none;padding:14px 32px;font-size:15px;font-weight:600;transition:all .15s}.compare-run-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.compare-run-btn:disabled{opacity:.5;cursor:not-allowed}.race-section{margin-bottom:32px}.race-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.race-header h2{margin:0}.race-start-btn{background:linear-gradient(135deg,var(--accent)0%,var(--accent-hover)100%);border-radius:var(--radius-sm);color:#fff;cursor:pointer;border:none;padding:10px 24px;font-size:14px;font-weight:600;transition:all .2s}.race-start-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #f973164d}.race-start-btn:disabled{opacity:.6;cursor:not-allowed}.race-track{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:linear-gradient(#1a1a1a 0%,#0d0d0d 100%);padding:40px 24px 24px;position:relative;overflow:hidden}.race-line{z-index:1;width:3px;position:absolute;top:40px;bottom:24px}.race-line.start-line{background:repeating-linear-gradient(#fff 0 8px,#0000 8px 16px);left:180px}.race-line.finish-line{background:repeating-linear-gradient(#fff 0 8px,#000 8px 16px);right:24px;box-shadow:-3px 0 #000,-6px 0 #fff}.race-distance-markers{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;justify-content:space-between;font-size:10px;display:flex;position:absolute;top:12px;left:180px;right:24px}.race-lane{align-items:center;gap:16px;margin-bottom:16px;display:flex}.race-lane:last-child{margin-bottom:0}.race-lane-label{flex-direction:column;flex-shrink:0;gap:2px;width:140px;display:flex}.lane-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.lane-result{color:var(--text-muted);font-size:11px}.lane-result.winner{color:var(--success);font-weight:600}.race-lane-track{background:linear-gradient(#0000 0%,#ffffff08 50%,#0000 100%);border-top:1px dashed #ffffff1a;border-bottom:1px dashed #ffffff1a;flex:1;height:40px;position:relative}.race-car{width:36px;height:18px;color:var(--accent);filter:drop-shadow(0 0 8px #f9731666);position:absolute;top:50%;left:0;transform:translateY(-50%)}.race-car.winner{color:var(--success);filter:drop-shadow(0 0 12px #22c55e99)}.race-car svg{width:100%;height:100%}.race-results-summary{border-top:1px solid var(--border-color);flex-direction:column;gap:8px;margin-top:24px;padding-top:20px;display:flex}.race-result-item{background:var(--bg-tertiary);border-radius:var(--radius-sm);border:1px solid var(--border-color);align-items:center;gap:12px;padding:12px 16px;display:flex}.race-result-item.winner{background:linear-gradient(135deg,#22c55e1a 0%,#22c55e0d 100%);border-color:#22c55e4d}.race-position{color:var(--text-muted);min-width:32px;font-size:14px;font-weight:700}.race-result-item.winner .race-position{color:var(--success)}.race-car-name{color:var(--text-primary);flex:1;font-size:14px;font-weight:600}.race-time{color:var(--text-primary);font-family:SF Mono,ui-monospace,monospace;font-size:14px;font-weight:600}.race-gap{color:var(--text-muted);text-align:right;min-width:120px;font-size:12px}.comparison-table-wrapper{border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow-x:auto}.comparison-table{border-collapse:collapse;width:100%;font-size:14px}.comparison-table th,.comparison-table td{text-align:left;border-bottom:1px solid var(--border-color);padding:12px 16px}.comparison-table th{background:var(--bg-tertiary);color:var(--text-primary);white-space:nowrap;font-weight:600}.comparison-table th:first-child{background:var(--bg-secondary);color:var(--text-muted);min-width:120px;font-weight:500}.comparison-table td{background:var(--bg-secondary);font-family:SF Mono,ui-monospace,monospace}.comparison-table td:first-child{color:var(--text-secondary);font-family:inherit;font-weight:500}.comparison-table tr:last-child td{border-bottom:none}.comparison-table tr.section-row td{background:var(--bg-primary);text-transform:uppercase;letter-spacing:.5px;color:var(--accent);padding:8px 16px;font-size:11px;font-weight:600}.comparison-table .best-value{color:var(--success);font-weight:600}.panel-subtitle{color:var(--text-muted);margin:-8px 0 16px;font-size:13px}.input-section{margin-bottom:20px}.input-section-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:12px;font-weight:600;display:block}.metric-groups{flex-direction:column;gap:12px;display:flex}.metric-group{flex-direction:column;gap:6px;display:flex}.metric-group-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:11px}.metric-chips{flex-wrap:wrap;gap:6px;display:flex}.metric-chip{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;padding:6px 12px;font-size:12px;transition:all .15s}.metric-chip:hover{border-color:var(--accent);color:var(--text-primary)}.metric-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.input-hint{color:var(--text-muted);margin-top:4px;font-size:11px;display:block}.vehicle-details{border:1px solid var(--border-color);border-radius:var(--radius-md);margin-top:16px;overflow:hidden}.vehicle-summary{cursor:pointer;background:var(--bg-secondary);justify-content:space-between;align-items:center;padding:12px 16px;font-size:13px;font-weight:500;display:flex}.vehicle-summary:hover{background:var(--bg-tertiary)}.vehicle-summary-hint{color:var(--text-muted);font-size:11px;font-weight:400}.vehicle-details[open] .vehicle-summary{border-bottom:1px solid var(--border-color)}.vehicle-details .input-grid{padding:16px}.slope-reference{background:var(--bg-tertiary);border-radius:var(--radius-md);margin-top:20px;padding:12px 16px;font-size:12px}.slope-reference h4{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin:0 0 8px;font-size:11px;font-weight:600}.slope-reference ul{color:var(--text-muted);margin:0;padding-left:16px}.slope-reference li{margin-bottom:4px}.slope-reference strong{color:var(--text-secondary)}.slope-result{text-align:center}.slope-result-header{margin-bottom:24px}.slope-metric-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:14px;font-weight:500;display:block}.slope-correction-label{color:var(--text-muted);font-size:13px}.slope-times{flex-direction:column;align-items:center;gap:8px;margin-bottom:20px;display:flex}.slope-time-row{background:var(--bg-tertiary);border-radius:var(--radius-md);flex-direction:column;align-items:center;min-width:200px;padding:16px 24px;display:flex}.slope-time-row.corrected{background:linear-gradient(135deg,var(--bg-tertiary)0%,#22c55e1a 100%);border:1px solid #22c55e33}.slope-time-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:4px;font-size:11px}.slope-time-value{color:var(--text-primary);font-family:SF Mono,ui-monospace,monospace;font-size:32px;font-weight:700}.slope-time-row.corrected .slope-time-value{color:#22c55e}.slope-time-note{color:var(--text-muted);margin-top:4px;font-size:12px}.slope-arrow{color:var(--text-muted);font-size:24px}.slope-delta{background:var(--bg-secondary);border-radius:var(--radius-md);flex-direction:column;align-items:center;gap:4px;margin-bottom:20px;padding:12px;display:flex}.slope-delta-value{font-family:SF Mono,ui-monospace,monospace;font-size:18px;font-weight:600}.slope-delta-value.faster{color:#22c55e}.slope-delta-value.slower{color:#ef4444}.slope-delta-note{color:var(--text-muted);font-size:12px}.slope-explanation{background:var(--bg-tertiary);border-radius:var(--radius-md);margin-bottom:16px;padding:16px}.slope-explanation p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.slope-cta{text-align:center}.slope-analyze-link{color:var(--accent);font-size:13px;text-decoration:none}.slope-analyze-link:hover{text-decoration:underline}@media (max-width:600px){.slope-times{flex-direction:row;align-items:stretch;gap:12px}.slope-time-row{flex:1;min-width:0;padding:12px 8px}.slope-time-value{font-size:22px}.slope-time-note{font-size:10px}.slope-arrow{align-items:center;font-size:18px;display:flex;transform:rotate(-90deg)}.slope-delta{padding:8px}.slope-delta-value{font-size:15px}.slope-explanation{padding:12px}.slope-explanation p{font-size:12px}.metric-chips{gap:4px}.metric-chip{padding:5px 8px;font-size:11px}}@media (max-width:900px){.header-content{grid-template-columns:auto 1fr auto;gap:12px}.main-nav{justify-self:center}.presets-list{grid-template-columns:1fr 1fr}}@media (max-width:600px){.main-nav{gap:4px}.main-nav .nav-link{padding:6px 8px;font-size:12px}.nav-badge{display:none}.header-controls{gap:6px}.header-controls .unit-toggle{padding:2px}.header-controls .unit-btn{padding:4px 8px;font-size:10px}.auth-signin{width:28px;height:28px}.auth-signin svg{width:14px;height:14px}.auth-avatar{width:28px;height:28px}.compare-guest-content{padding:20px}.compare-guest-content h2{font-size:22px}.preset-cards-grid{grid-template-columns:1fr 1fr;gap:8px}.preset-card{padding:12px}.preset-card-name{font-size:13px}.preset-card-specs{flex-direction:column;gap:4px;font-size:11px}.comparison-table{font-size:12px}.comparison-table th,.comparison-table td{padding:10px 12px}}
