@import"https://fonts.googleapis.com/css2?family=Cousine:wght@400;700&family=Inter:wght@300;400;500;600&display=swap";:root{--green: #4DE378;--green-dark: #2fba58;--green-dim: rgba(77,227,120,.1);--green-glow: rgba(77,227,120,.18);--green-border: rgba(77,227,120,.28);--bg-base: #1A1918;--bg-surface: #222120;--bg-card: #2A2826;--bg-card-hover: #302E2C;--bg-input: #242220;--border: rgba(255,255,255,.07);--border-med: rgba(255,255,255,.1);--border-strong: rgba(255,255,255,.12);--text-primary: #F2F0EE;--text-secondary: #9A9490;--text-muted: #5E5B58;--red: #F05252;--amber: #F0A830;--blue: #5B9CF0;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-pill: 999px;--shadow-card: 0 2px 16px rgba(0,0,0,.45);--shadow-glow: 0 0 32px rgba(77,227,120,.12);--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "Cousine", "Courier New", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg-base);color:var(--text-primary);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}.screen{min-height:calc(100vh - 60px);padding:2rem 1rem 4rem}.screen-inner{max-width:640px;margin:0 auto}.screen-inner-wide{max-width:980px;margin:0 auto}.card{background:var(--bg-card);border:.5px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1.375rem;margin-bottom:1rem}.card-section-title{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1rem;font-family:var(--font-mono)}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],select,textarea{width:100%;background:var(--bg-input);border:.5px solid var(--border-strong);border-radius:var(--radius-sm);padding:10px 13px;color:var(--text-primary);font-family:var(--font-sans);font-size:14px;line-height:1.4;outline:none;transition:border-color .15s,box-shadow .15s;appearance:none;-webkit-appearance:none}input::placeholder,textarea::placeholder{color:var(--text-muted)}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-dim)}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%235E5B58' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;cursor:pointer}select option{background:var(--bg-card);color:var(--text-primary)}textarea{resize:vertical;min-height:84px}.field-group{margin-bottom:1rem}.field-label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:5px;letter-spacing:.01em}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .14s ease;font-family:var(--font-sans);text-decoration:none!important;white-space:nowrap;letter-spacing:.01em}.btn-primary{background:var(--green);color:#111;font-weight:600}.btn-primary:hover:not(:disabled){background:var(--green-dark)}.btn-primary:disabled{background:var(--text-muted);color:var(--bg-base);cursor:not-allowed}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:.5px solid var(--border-strong)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--text-muted)}.btn-ghost{background:transparent;color:var(--text-secondary);padding:8px 12px}.btn-ghost:hover{background:var(--bg-card);color:var(--text-primary)}.btn-nav{background:transparent;color:var(--text-secondary);font-size:13px;padding:7px 14px;border-radius:var(--radius-sm);border:none}.btn-nav:hover,.btn-nav.active{background:#ffffff0f;color:var(--text-primary)}.btn-danger{background:transparent;color:var(--red);border:.5px solid rgba(240,82,82,.25)}.btn-danger:hover{background:#f0525214}.btn-lg{padding:13px 28px;font-size:15px;border-radius:var(--radius-lg)}.btn-sm{padding:6px 13px;font-size:13px;border-radius:var(--radius-sm)}.btn-full{width:100%}.btn-row{display:flex;gap:10px;margin-top:1.5rem;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:var(--radius-pill);font-size:11px;font-weight:600;font-family:var(--font-mono);letter-spacing:.02em}.badge-green{background:#4de3781f;color:var(--green)}.badge-amber{background:#f0a8301f;color:var(--amber)}.badge-red{background:#f052521f;color:var(--red)}.badge-blue{background:#5b9cf01f;color:var(--blue)}.badge-muted{background:#ffffff0d;color:var(--text-secondary)}.progress-bar{display:flex;gap:5px;margin-bottom:2rem}.progress-seg{flex:1;height:2px;border-radius:2px;background:var(--border);transition:background .25s}.progress-seg.done{background:#4de37866}.progress-seg.active{background:var(--green)}.progress-seg.clickable{cursor:pointer;position:relative}.progress-seg.clickable:after{content:"";position:absolute;inset:-12px 0}.step-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--green);margin-bottom:5px;font-family:var(--font-mono)}.step-title{font-size:22px;font-weight:600;margin-bottom:.3rem;letter-spacing:-.01em}.step-subtitle{font-size:14px;color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.55}.chip-group{display:flex;flex-wrap:wrap;gap:7px}.chip{padding:6px 15px;border-radius:var(--radius-pill);border:.5px solid var(--border-strong);font-size:13px;cursor:pointer;background:var(--bg-input);color:var(--text-secondary);transition:all .14s;-webkit-user-select:none;user-select:none}.chip:hover{border-color:var(--green);color:var(--text-primary)}.chip.selected{background:var(--green-dim);border-color:var(--green-border);color:var(--green);font-weight:500}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.metric-box{background:var(--bg-surface);border:.5px solid var(--border);border-radius:var(--radius-md);padding:12px 14px}.metric-label{font-size:10px;color:var(--text-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.08em;font-family:var(--font-mono)}.metric-value{font-size:20px;font-weight:600;font-family:var(--font-mono);letter-spacing:-.02em}.metric-value.ok{color:var(--green)}.metric-value.warn{color:var(--amber)}.metric-value.bad{color:var(--red)}.metric-value.unreliable{color:var(--text-muted)}.metric-note{font-size:9px;color:var(--amber);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;margin-top:3px}.divider{height:.5px;background:var(--border);margin:1.25rem 0}.spinner{width:34px;height:34px;border:2px solid var(--border);border-top-color:var(--green);border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem;text-align:center}.loading-title{font-size:15px;color:var(--text-secondary)}.loading-sub{font-size:13px;color:var(--text-muted)}.alert{padding:11px 14px;border-radius:var(--radius-sm);font-size:13px;line-height:1.5;margin-bottom:1rem}.alert-error{background:#f0525214;border:.5px solid rgba(240,82,82,.2);color:#fca5a5}.alert-success{background:#4de37814;border:.5px solid rgba(77,227,120,.2);color:var(--green)}.alert-info{background:#5b9cf014;border:.5px solid rgba(91,156,240,.2);color:#93c5fd}.alert-amber{background:#f0a83014;border:.5px solid rgba(240,168,48,.2);color:var(--amber)}.check-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);border:.5px solid var(--border);cursor:pointer;font-size:14px;transition:border-color .14s}.check-item:hover{border-color:var(--green)}.check-item input{accent-color:var(--green);width:15px;height:15px;cursor:pointer}.app-header{display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;height:62px;background:var(--bg-surface);border-bottom:.5px solid var(--border);position:sticky;top:0;z-index:100;gap:1rem}.logo-mark{display:flex;align-items:baseline;gap:0px;text-decoration:none!important;line-height:1}.logo-bikefit{font-size:18px;font-weight:700;color:var(--green);letter-spacing:-.03em;font-family:Inter,system-ui,sans-serif;font-stretch:condensed;text-transform:uppercase}.logo-lab-wrap{display:inline-flex;align-items:center;justify-content:center;border:1.5px solid white;border-radius:4px;padding:1px 5px 1px 6px;margin-left:7px}.logo-lab{font-size:14px;font-weight:700;color:#fff;font-family:Cousine,Courier New,monospace;letter-spacing:.04em;text-transform:uppercase}.app-nav{display:flex;align-items:center;gap:2px;flex:1;justify-content:center}.app-nav a{font-size:13px;font-weight:500;color:var(--text-secondary);padding:6px 13px;border-radius:var(--radius-sm);transition:all .14s;text-decoration:none!important}.app-nav a:hover,.app-nav a.active{color:var(--text-primary);background:#ffffff0d}.user-pill{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);font-family:var(--font-mono)}.rec-card{background:var(--bg-card);border:.5px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1rem}.rec-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:.75rem;flex-wrap:wrap}.rec-card-title{font-size:14px;font-weight:600}.rec-card-body{font-size:14px;color:var(--text-secondary);line-height:1.65;margin-bottom:1rem}.rec-detail{background:var(--bg-surface);border-radius:var(--radius-xs);padding:10px 12px;font-size:13px;color:var(--text-secondary);margin-bottom:6px;line-height:1.55;border-left:2px solid var(--border-strong)}.rec-detail strong{color:var(--text-primary);font-weight:500}.rec-frames{font-size:11px;color:var(--text-muted);margin-top:10px;font-family:var(--font-mono)}.fit-card-header{background:var(--bg-card);border:.5px solid var(--green-border);border-radius:var(--radius-xl);padding:1.75rem;margin-bottom:1rem;position:relative;overflow:hidden}.fit-card-header:after{content:"";position:absolute;top:-60px;right:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(77,227,120,.07),transparent 70%);pointer-events:none}.fit-score-row{display:flex;gap:10px;margin-top:1.25rem;flex-wrap:wrap}.fit-score-box{flex:1;min-width:76px;background:#ffffff0a;border:.5px solid rgba(255,255,255,.06);border-radius:var(--radius-md);padding:12px;text-align:center}.fit-score-val{font-size:24px;font-weight:700;font-family:var(--font-mono);color:var(--green);letter-spacing:-.02em}.fit-score-lbl{font-size:10px;color:#ffffff4d;margin-top:3px;text-transform:uppercase;letter-spacing:.08em;font-family:var(--font-mono)}.dash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.session-card{background:var(--bg-card);border:.5px solid var(--border);border-radius:var(--radius-lg);padding:1.1rem 1.25rem;cursor:pointer;transition:border-color .14s,box-shadow .14s}.session-card:hover{border-color:var(--green-border);box-shadow:var(--shadow-glow)}.session-card-date{font-size:11px;color:var(--text-muted);margin-bottom:4px;font-family:var(--font-mono)}.session-card-bike{font-size:15px;font-weight:600;margin-bottom:8px}.session-card-metrics{display:flex;gap:6px;flex-wrap:wrap}.landing-hero{text-align:center;padding:6rem 1.5rem 3rem;max-width:720px;margin:0 auto}.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--green);margin-bottom:1.5rem;font-family:var(--font-mono);background:var(--green-dim);padding:5px 14px;border-radius:var(--radius-pill);border:.5px solid var(--green-border)}.hero-title{font-size:clamp(2.2rem,5.5vw,3.8rem);font-weight:700;line-height:1.08;letter-spacing:-.025em;margin-bottom:1.25rem}.hero-title .green{color:var(--green)}.hero-sub{font-size:17px;color:var(--text-secondary);line-height:1.7;max-width:500px;margin:0 auto 2.5rem}.hero-bike{width:100%;max-width:700px;margin:2.5rem auto 0;border-radius:var(--radius-xl);overflow:hidden;border:.5px solid var(--border);display:block}.hero-bike img{width:100%;display:block}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1px;background:var(--border);border:.5px solid var(--border);border-radius:var(--radius-xl);overflow:hidden;margin:3rem 0}.feature-cell{background:var(--bg-card);padding:1.5rem}.feature-icon{font-size:22px;margin-bottom:.75rem}.feature-title{font-size:14px;font-weight:600;margin-bottom:.4rem}.feature-body{font-size:13px;color:var(--text-secondary);line-height:1.55}.strapline{font-size:13px;color:var(--text-muted);text-align:center;letter-spacing:.04em;font-family:var(--font-mono);margin:1rem 0 2.5rem}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;max-width:860px;margin:2rem auto}.price-card{background:var(--bg-card);border:.5px solid var(--border);border-radius:var(--radius-xl);padding:2rem;position:relative}.price-card.featured{border-color:var(--green-border);box-shadow:var(--shadow-glow)}.price-card-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--green);color:#111;font-size:11px;font-weight:700;padding:3px 13px;border-radius:var(--radius-pill);font-family:var(--font-mono);letter-spacing:.04em;white-space:nowrap}.price-name{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-family:var(--font-mono)}.price-amount{font-size:42px;font-weight:700;font-family:var(--font-mono);margin:.5rem 0 0;letter-spacing:-.03em}.price-amount span{font-size:15px;color:var(--text-muted);font-weight:400}.price-features{margin:1.5rem 0;display:grid;gap:9px}.price-feature{display:flex;gap:10px;font-size:13px;color:var(--text-secondary);align-items:flex-start}.price-feature:before{content:"✓";color:var(--green);font-weight:700;flex-shrink:0;font-family:var(--font-mono)}.video-box{background:#0a0908;border-radius:var(--radius-lg);overflow:hidden;border:.5px solid var(--border);position:relative}.video-box video{display:block;width:100%}footer{border-top:.5px solid var(--border);padding:1.5rem 2rem;text-align:center;color:var(--text-muted);font-size:12px;font-family:var(--font-mono);letter-spacing:.03em}footer a{color:var(--text-muted)}footer a:hover{color:var(--green);text-decoration:none}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-green{color:var(--green)}.text-red{color:var(--red)}.text-amber{color:var(--amber)}.text-mono{font-family:var(--font-mono)}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}@media(max-width:640px){.field-row,.field-row-3{grid-template-columns:1fr}.btn-row{flex-direction:column}.app-header{padding:0 1rem}.pricing-grid{grid-template-columns:1fr}.app-nav{display:none}.landing-hero{padding:3.5rem 1rem 2rem}}
