@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;450;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{font-family:IBM Plex Sans,sans-serif;font-size:14px;line-height:1.5;color:#292927;background:#f6f6f4;font-synthesis:none;--ink: #292927;--muted: #7a7a78;--line: #dededc;--paper: #fff;--accent: #bf4d2c;--green: #292927;--dark: #292927;--lime: #eeeae1}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}button,input,select,textarea,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{line-height:1.25;font-weight:500}h1{font-size:32px;letter-spacing:-1.1px}h2{font-size:20px;letter-spacing:-.4px}h3{font-size:17px;letter-spacing:-.2px}h4{font-size:14px}p{line-height:1.65}svg{flex-shrink:0}hr{border:0;border-top:1px solid var(--line);margin:25px 0}small{font-size:12px}.muted{color:var(--muted)}.eyebrow,.workspace-label{display:block;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:400;letter-spacing:1.15px;color:var(--muted);margin-bottom:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 15px;border:1px solid var(--ink);border-radius:3px;background:var(--ink);color:#fff;font-size:13px;line-height:20px;font-weight:500;transition:background .12s}.btn:hover:not(:disabled){background:#474745;border-color:#474745}.btn.secondary{background:#fff;color:var(--ink);border-color:#d3d3d1}.btn.secondary:hover:not(:disabled){background:#efefed;border-color:#a8a8a6}.btn.lime{background:var(--accent);border-color:var(--accent);color:#fff}.btn.danger{background:#a73d2c;border-color:#a73d2c}.wide,.btn.wide{width:100%}.text-button{display:inline-flex;align-items:center;gap:7px;padding:0;border:0;background:none;color:var(--ink);font-size:12px;font-weight:500;text-align:left}.text-button:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:0;background:transparent;border-radius:3px;color:inherit}.icon-btn:hover{background:#e9e9e7}.danger-text{color:#a54b39}.badge{display:inline-flex;align-items:center;padding:3px 7px;border:1px solid #dededc;border-radius:3px;color:#777775;background:#fafaf8;font-family:IBM Plex Mono,monospace;font-size:10px;line-height:17px;white-space:nowrap;font-weight:400}.badge.green{color:#646462;border-color:#d0d0ce;background:#f6f6f4}.logo{font-size:32px;font-weight:700;letter-spacing:-1.7px;line-height:1;display:inline-flex;align-items:baseline}.logo-dot{color:var(--accent)}.logo-mark{display:none}.auth-page{min-height:100dvh;max-width:1240px;margin:0 auto;padding:38px 60px 25px;display:flex;flex-direction:column}.auth-header{display:flex;align-items:center;gap:25px;padding-bottom:26px;border-bottom:1px solid var(--line)}.auth-brand-caption{color:#727270;font-size:12px;border-left:1px solid #c9c9c7;padding-left:23px}.auth-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,405px);gap:110px;align-items:center;flex:1;padding:65px 35px 75px}.auth-intro h1{font-size:48px;font-weight:400;line-height:1.08;letter-spacing:-2px;max-width:440px;margin:20px 0 24px;white-space:pre-line}.auth-intro>p{font-size:15px;color:#6c6c6a;max-width:380px;line-height:1.7}.auth-steps{margin-top:42px;border-top:1px solid #d6d6d4;max-width:380px}.auth-step{display:flex;align-items:flex-start;gap:20px;padding:17px 0;border-bottom:1px solid #d6d6d4}.auth-step>span{font:11px/23px IBM Plex Mono,monospace;color:var(--accent)}.auth-step h3,.auth-step h4,.auth-step strong{font-size:13px;font-weight:500;display:block;margin-bottom:3px}.auth-step p{font-size:12px;color:#7f7f7d;line-height:1.5}.auth-panel{background:#fff;border:1px solid #dbdbd9;padding:32px 32px 26px;box-shadow:0 3px #e9e9e7;border-radius:4px}.auth-panel h2{font-size:24px;margin-bottom:9px;letter-spacing:-.7px}.auth-panel>p{font-size:13px;color:var(--muted)}.auth-panel form{margin-top:26px}.auth-panel form>.btn{margin-top:20px;background:var(--accent);border-color:var(--accent);min-height:44px}.auth-panel form>.btn:hover{background:#9b3e23;border-color:#9b3e23}.auth-panel form>small{display:block;color:var(--muted);font-size:11px;margin-top:-7px}.auth-switch{font-size:12px!important;text-align:center;margin-top:22px!important}.auth-switch .text-button{color:var(--accent)}.auth-footer{padding-top:22px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;color:#858583;font-size:11px}.auth-footer p{font-size:11px;max-width:630px}.auth-footer>span{font:10px IBM Plex Mono,monospace;letter-spacing:.8px}.fine-print{font-size:11px;line-height:1.6;color:#898987;margin-top:17px}.app-shell{min-height:100dvh}.sidebar{position:fixed;inset:0 auto 0 0;width:198px;padding:29px 16px 20px;background:#282826;color:#bfbfbd;display:flex;flex-direction:column;z-index:30;overflow-y:auto;scrollbar-width:thin}.sidebar>.logo{color:#f8f8f6;margin:0 14px 45px}.sidebar .workspace-label{color:#878785;padding:0 14px;font-size:9px;margin-bottom:14px}.sidebar nav{display:flex;flex-direction:column;gap:4px}.sidebar nav a,.settings-link{display:flex;gap:11px;align-items:center;padding:11px 13px;font-size:12px;line-height:20px;border-radius:3px;position:relative;color:#b5b5b3}.sidebar nav a svg,.settings-link svg{width:17px;height:17px;stroke-width:1.6}.sidebar nav a:hover,.settings-link:hover{background:#ffffff08;color:#fff}.sidebar nav a.active,.settings-link.active{background:#ffffff0b;color:#fff}.sidebar nav a.active:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:2px;background:#db704e}.sidebar-new-fit{margin:25px 11px 0;border-color:#696967;background:transparent;color:#e4e4e2;min-height:37px;font-size:12px}.sidebar-new-fit:hover{background:#ffffff12!important;border-color:#939391!important}.nav-count{margin-left:auto;font:10px IBM Plex Mono,monospace;color:#9b9b99}.settings-link{margin-top:auto}.user-block{margin-top:15px;border-top:1px solid #494947;padding:20px 5px 0;display:flex;gap:10px;align-items:center}.avatar{height:31px;width:31px;border:1px solid #dbdbd9;display:inline-flex;align-items:center;justify-content:center;border-radius:3px;font-size:12px;background:#f4f4f2;color:#6b6b69;flex-shrink:0}.sidebar .avatar{background:#40403e;border-color:#51514f;color:#d9d9d7}.user-block>div{flex:1;min-width:0}.user-block strong{display:block;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:#e6e6e4;font-weight:500;white-space:nowrap}.user-block small{display:block;color:#8f8f8d;font-size:10px;margin-top:3px}.user-block .icon-btn{width:24px}.sidebar .icon-btn:hover{background:#ffffff15}.sidebar>.logo,.sidebar nav,.workspace-label,.sidebar>.btn,.settings-link,.user-block{flex-shrink:0}.main-shell{margin-left:198px;min-height:100dvh;display:flex;flex-direction:column}.topbar{height:63px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;border-bottom:1px solid var(--line);background:#fafaf8}.breadcrumb{display:flex;align-items:center;gap:13px;color:#959593;font-size:11px}.breadcrumb strong{font-weight:400;color:#525250}.topbar-right{display:flex;align-items:center;gap:22px}.connection{display:flex;align-items:center;gap:7px;font:10px IBM Plex Mono,monospace;color:#878785}.connection i{width:5px;height:5px;background:#b89a64;border-radius:50%}.connection.ready i{background:#8b8b89}.mobile-menu{display:none}main{padding:37px 40px 50px;max-width:1480px;margin:0 auto;width:100%;flex:1}.page-title{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:32px}.page-title h1{margin-bottom:9px}.page-title p{font-size:13px;color:#787876}.page-title .eyebrow{font-size:9px;margin-bottom:10px;color:#858583}.page-title>.btn{flex-shrink:0;background:var(--accent);border-color:var(--accent)}.page-title>.btn:hover{background:#9b3e23;border-color:#9b3e23}.app-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);margin:0 40px;padding:17px 0;color:#949492;font-size:10px}.app-footer>span:last-child{font:9px IBM Plex Mono,monospace;letter-spacing:.8px}.panel{background:#fff;border:1px solid var(--line);border-radius:4px;padding:24px;min-width:0}.panel h2{font-size:18px;margin-bottom:12px}.panel h3{margin-bottom:10px}.panel p{font-size:13px;color:#7d7d7b}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.section-head h2{font-size:15px;font-weight:500;margin-bottom:5px;letter-spacing:0}.section-head p{font-size:12px;color:#81817f}.section-head .text-button{font-size:11px}.empty{max-width:460px;margin:auto;padding:55px 20px;text-align:center}.empty-icon{margin:0 auto 20px;color:#ababa9}.empty-icon svg{width:29px;stroke-width:1.3}.empty h3{font-size:18px;margin-bottom:9px}.empty p{font-size:13px;color:#848482;margin:0 auto 22px;max-width:330px}.empty .btn{font-size:12px}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:28px;align-items:start}.workspace-aside{display:flex;flex-direction:column;gap:25px}.session-workspace{min-height:410px;padding:24px 26px}.workspace-empty{padding:43px 6px 40px;max-width:430px}.workspace-empty>svg{color:#8f8f8d;width:25px;height:25px;margin-bottom:24px;stroke-width:1.25}.workspace-empty .eyebrow,.empty-step{display:block;font:10px IBM Plex Mono,monospace;color:var(--accent);margin-bottom:20px}.workspace-empty h2,.workspace-empty h3{font-size:25px;font-weight:400;letter-spacing:-.6px;line-height:1.25;margin-bottom:12px}.workspace-empty p{font-size:13px;line-height:1.75;max-width:330px;margin-bottom:24px;color:#81817f}.workspace-empty .btn{background:var(--accent);border-color:var(--accent)}.session-footnote{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:15px;font-size:11px!important;color:#979795!important}.setup-panel{border-top:2px solid #393937;padding-top:18px}.setup-panel button{padding:0;border:0;background:transparent;color:var(--text);font:inherit;cursor:pointer}.setup-panel button:hover{color:var(--accent)}.setup-panel h2,.setup-panel h3,.workspace-bikes h2,.workspace-bikes h3{font-size:13px;letter-spacing:0;margin-bottom:16px}.setup-panel .setup-row,.setup-panel>div,.setup-panel dl>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #dededc;font-size:12px;color:#7c7c7a}.setup-panel strong,.setup-panel dd{font-family:IBM Plex Mono,monospace;font-weight:400;color:#474745;margin:0}.workspace-bike{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #dededc}.workspace-bike>svg{color:#848482;width:20px;stroke-width:1.5}.workspace-bike>div{flex:1;min-width:0}.workspace-bike strong{font-size:12px;font-weight:500;display:block;overflow-wrap:anywhere}.workspace-bike small{display:block;color:#8a8a88;font-size:11px;margin-top:4px}.workspace-bike .icon-btn{width:27px;color:#636361}.workspace-bikes>p{font-size:12px;color:#848482;line-height:1.7}.capture-note{padding-top:20px;border-top:1px solid #d7d7d5}.capture-note h3{font-size:12px;margin-bottom:10px}.capture-note p{font-size:12px;color:#828280;margin-bottom:15px}.capture-note .text-button{font-size:11px}.fit-list{display:flex;flex-direction:column}.fit-row{width:100%;display:flex;align-items:center;gap:15px;padding:21px 0;text-align:left;border:0;border-bottom:1px solid #e9e9e7;background:none;color:inherit}.fit-row:last-child{border-bottom:0}.fit-row:hover{background:#f9f9f7}.fit-row-icon{width:34px;height:38px;display:grid;place-items:center;color:#868684;border:1px solid #e4e4e2;border-radius:3px}.fit-row-icon svg{width:17px;stroke-width:1.5}.fit-row>div:nth-child(2){flex:1;min-width:0}.fit-row h3,.fit-row h4,.fit-row strong{font-size:13px;font-weight:500;display:block;margin:0 0 6px}.fit-row p{font-size:11px;color:#8b8b89;line-height:1.5}.fit-row-end{display:flex;align-items:center;gap:15px;margin-left:auto}.fit-row-end span,.fit-row small{font:10px IBM Plex Mono,monospace;color:#8e8e8c}.fit-row-end>svg{width:15px;color:#a5a5a3}.filter-bar{display:flex;align-items:flex-end;gap:17px;margin-bottom:12px}.filter-bar>.field{min-width:150px}.filter-bar>.field:first-child{flex:1}.entity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:20px}.entity-card{padding:23px;background:#fff;border:1px solid var(--line);border-radius:4px;min-width:0}.entity-heading{display:flex;align-items:flex-start;gap:13px;margin-bottom:22px}.entity-heading>div{flex:1;min-width:0}.entity-heading h2{font-size:18px;line-height:1.35;margin:0 0 5px;overflow-wrap:anywhere}.entity-heading .muted{font-size:11px}.avatar.large{width:35px;height:35px;font-size:13px}.card-actions{display:flex;align-items:center;gap:0}.entity-heading>.card-actions{flex:0 0 auto}.card-actions .icon-btn{width:28px;height:28px}.card-actions .icon-btn svg{width:15px}.measure-row{display:flex;justify-content:space-between;gap:15px;padding:18px 0;border-top:1px solid #e5e5e3;border-bottom:1px solid #e5e5e3}.measure-row>div{display:flex;flex-direction:column;gap:7px}.measure-row small{font-size:10px;color:#888886}.measure-row strong{font:20px IBM Plex Mono,monospace;letter-spacing:-.6px;font-weight:400;white-space:nowrap}.measure-row em{font-style:normal;font:10px IBM Plex Sans,sans-serif;color:#91918f;letter-spacing:0}.profile-notes{margin-top:20px}.profile-notes>small{font:9px IBM Plex Mono,monospace;letter-spacing:.8px;color:#848482}.profile-notes p{margin:7px 0 15px;color:#7a7a78;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.bike-card-body{min-width:0}.bike-card-label{display:flex;align-items:center;gap:8px;font:10px IBM Plex Mono,monospace;color:#8f8f8d;margin-bottom:19px}.bike-card-label svg{width:18px;stroke-width:1.5}.bike-rider{display:flex;align-items:center;gap:7px;font-size:11px;color:#848482;margin-bottom:20px}.bike-rider>span{margin-left:auto;font-size:10px}.bike-card-body>.btn{margin-top:20px;font-size:12px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;min-width:0;font-size:12px}.field>span{font-weight:500;color:#525250}.field input,.field select,.field textarea,.adjustment-form>input{width:100%;border:1px solid #d0d0ce;border-radius:3px;background:#fff;color:#3d3d3b;padding:10px 11px;min-height:40px;font-size:13px;line-height:20px}.field textarea{min-height:95px;resize:vertical;line-height:1.6}.field input::placeholder,.field textarea::placeholder,.adjustment-form>input::placeholder{color:#9f9f9d;font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.full{grid-column:1/-1}.form-divider{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding:22px 0;font-size:13px}.form-divider small{display:block;font-size:11px;color:#8d8d8b;margin-top:4px}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:15px;padding-top:20px;border-top:1px solid var(--line)}dialog{padding:0;border:1px solid #cbcbc9;border-radius:5px;width:min(650px,calc(100% - 28px));max-height:90dvh;color:var(--ink);box-shadow:0 24px 100px #25252326}dialog::backdrop{background:#23232188}.modal{padding:25px 29px 27px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:26px}.modal-head h2{font-size:23px;font-weight:400}.error,.notice{padding:13px 15px;border:1px solid #e0dbc5;border-left:2px solid #b89958;background:#faf8f0;border-radius:2px;font-size:12px;line-height:1.6;color:#82764f;margin:15px 0}.error{display:flex;align-items:flex-start;gap:9px;background:#fdf3ef;color:#9a4c34;border-color:#ead2c7;border-left-color:#b96442}.error svg{margin-top:2px}.toast{position:fixed;bottom:25px;left:calc(50% + 95px);transform:translate(-50%);background:#353533;color:#fff;padding:13px 16px;border-radius:4px;box-shadow:0 8px 40px #2e2e2c20;display:flex;align-items:center;gap:11px;z-index:100;font-size:12px;max-width:calc(100vw - 32px)}.toast.danger{background:#8f4832}.toast .icon-btn{color:#dddddb}.toast .icon-btn:hover{background:#ffffff12}.loading-page{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}.loading-page>svg{color:#a4a4a2}.loading-page p{font-size:13px;color:#868684}.spin{animation:rotate 1s linear infinite}@keyframes rotate{to{transform:rotate(360deg)}}.pulse{animation:pulse 1.8s ease infinite}@keyframes pulse{50%{opacity:.4}}.back-link{font-size:11px;margin-bottom:25px;color:#848482}.inline-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tabs{display:flex;gap:12px;border-bottom:1px solid #d9d9d7;margin-bottom:30px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#d0d0ce transparent}.tabs button{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;padding:12px 5px 15px;border:0;border-bottom:2px solid transparent;color:#8f8f8d;background:none;font-size:12px}.tabs button svg{width:16px;height:16px;stroke-width:1.5}.tabs button.active{color:#444442;border-color:var(--accent)}.tab-dot{height:5px;width:5px;border-radius:50%;background:#8c8c8a}.capture-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:23px}.capture-toolbar>.muted{font:10px IBM Plex Mono,monospace;color:#969694}.segmented{display:inline-flex;border:1px solid #d7d7d5;border-radius:3px;padding:2px;gap:2px;background:#f3f3f1}.segmented button{border:0;background:none;padding:8px 13px;font-size:11px;line-height:18px;color:#8f8f8d;border-radius:2px;white-space:nowrap}.segmented button.active{background:#fff;color:#535351;box-shadow:0 1px 2px #41413f15}.upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.upload-zone{position:relative;display:block;padding:17px 20px 23px;border:1px dashed #c0c0be;background:#fafaf8;border-radius:3px;cursor:pointer;text-align:left}.upload-zone.primary{border-style:solid;border-color:#b1b1af;background:#f6f6f4}.upload-zone:hover{border-color:#90908e;background:#f1f1ef}.upload-zone:focus-within{outline:2px solid var(--accent);outline-offset:3px}.upload-zone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;font:10px IBM Plex Mono,monospace;color:#a2a2a0}.upload-zone>svg{width:24px;height:24px;color:#91918f;margin-bottom:13px;stroke-width:1.4}.upload-zone h3{font-size:17px;margin-bottom:5px}.upload-zone p{font-size:11px;color:#969694;margin-bottom:22px}.upload-link{display:flex;align-items:center;gap:7px;color:#737371;font-size:11px;font-weight:500}.upload-link svg{width:13px}.media-grid,.compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:26px}.media-card{overflow:hidden;border:1px solid #e0e0de;border-radius:3px;background:#fff;min-width:0}.media-card img,.media-card video{display:block;width:100%;max-height:370px;object-fit:contain;background:#252523}.media-caption{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;gap:10px}.media-caption>div{min-width:0}.media-caption strong{font-size:12px;font-weight:500;display:block}.media-caption small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;color:#9b9b99;margin-top:4px}.media-capture{padding:0 15px 15px}.media-capture .btn{font-size:11px;min-height:35px}.media-capture small{display:block;text-align:center;font-size:10px;color:#9f9f9d;margin-top:8px}.compare-grid h3{font-size:13px;margin-bottom:17px}.compare-grid .media-card{margin-bottom:18px}.analyze-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:25px;padding:25px 0;border-top:1px solid #dadad8;margin-top:30px}.analyze-icon{display:none}.analyze-panel h2{font-size:18px;margin-bottom:10px}.analyze-panel p{font-size:12px;color:#8c8c8a;max-width:620px;margin-bottom:15px}.analyze-panel>.btn{align-self:start;margin-top:4px;white-space:nowrap}.compact-notice{max-width:650px;font-size:11px;margin:12px 0}.check-label{display:flex;align-items:flex-start;gap:10px;color:#90908e;font-size:11px;line-height:1.65;max-width:600px}.check-label input{accent-color:var(--accent);margin:3px 0 0;flex-shrink:0}.context-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:22px}.context-note{padding:15px 0;border-bottom:1px solid #e6e6e4}.context-note h4{font-size:11px;font-weight:500;margin-bottom:7px;color:#959593}.context-note p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;color:#70706e}.context-layout .text-button{margin-top:22px}.details-list{margin:24px 0}.details-list>div{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #e5e5e3;font-size:12px}.details-list dt{color:#989896}.details-list dd{margin:0;text-align:right;color:#6a6a68;font-family:IBM Plex Mono,monospace;font-size:11px}.report-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:25px}.report-toolbar .eyebrow{margin:0}.report-summary{border-left:3px solid var(--accent);background:#f3f3f1;padding:25px 28px;margin-bottom:25px}.report-summary>div{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.report-summary>div>svg{display:none}.report-summary h2{margin-bottom:13px;font-size:24px}.report-summary p{font-size:15px;line-height:1.75;max-width:900px;color:#6e6e6c}.report-summary small{font:10px IBM Plex Mono,monospace;display:block;margin-top:18px;color:#979795}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:24px}.observation{padding:18px 0;border-bottom:1px solid #e6e6e4}.observation:last-child{border:0;padding-bottom:0}.observation>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.observation h4{font-size:13px}.observation p,.recommendation p{font-size:12px;color:#91918f;margin-top:9px;line-height:1.75}.recommendation{display:flex;gap:15px;padding:18px 0;border-bottom:1px solid #e6e6e4}.recommendation:last-child{border:0}.recommendation-num{font:11px IBM Plex Mono,monospace;color:#acacaa;padding-top:4px}.recommendation h4{font-size:14px;margin-top:11px}.report ul{padding-left:18px;color:#949492;font-size:12px;line-height:1.9}.adjustment-form{display:flex;align-items:center;gap:10px;margin-top:25px}.adjustment-form>input{flex:1;min-width:0}.adjustment-list{margin-top:24px}.adjustment{display:flex;align-items:flex-start;gap:12px;padding:17px 0;border-bottom:1px solid #e4e4e2;font-size:12px}.adjustment>label{display:flex;align-items:flex-start;gap:11px;flex:1;min-width:0;line-height:1.6}.adjustment input{accent-color:var(--accent);margin:3px 0 0}.adjustment>label>span{overflow-wrap:anywhere}.adjustment small{display:block;font-size:10px;color:#a5a5a3;margin-top:5px}.adjustment .done{text-decoration:line-through;color:#a9a9a7}.adjustment .icon-btn{width:28px;height:28px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.settings-grid .panel>p{margin:12px 0 18px}.password-form{max-width:420px;margin-top:23px}.delete-form{display:flex;align-items:flex-end;gap:12px;margin-top:23px}.delete-form .field{flex:1;max-width:360px;margin-bottom:0}.danger-panel{border-color:#e1cfc2}.danger-panel h3{color:#a35c3f}.guide-art{max-width:400px;margin:0 auto 25px;color:#828280}.cyclist{width:100%;height:auto;display:block}.guide>p{font-size:13px;color:#91918f}.guide-step{display:flex;align-items:flex-start;gap:13px;margin:24px 0}.guide-step>svg{width:17px;color:#a2a2a0;margin-top:2px}.guide-step h4{font-size:13px;margin-bottom:7px}.guide-step p{font-size:12px;color:#959593}.mobile-shade,.print-only{display:none}.panel p,.empty p,.page-title p,.section-head p,.workspace-empty p,.workspace-bikes>p,.capture-note p,.fit-row p,.profile-notes p,.analyze-panel p,.check-label,.context-note p,.report-summary p,.observation p,.recommendation p,.report ul,.guide p{color:#747472}.field>span,.details-list dd,.upload-link,.segmented button.active,.tabs button.active{color:#383836}.measure-row small,.profile-notes>small,.bike-rider,.upload-zone p,.context-note h4,.details-list dt,.media-caption small,.media-capture small,.report-summary small,.adjustment small,.report-toolbar .eyebrow{color:#828280}.report-summary,.upload-zone.primary{background:#f4f3ed}.upload-zone,.upload-zone.primary{border-color:#cbcbc9}.upload-zone:hover{background:#ededeb;border-color:#9d9d9b}.upload-link,.upload-zone>svg{color:#827d68}.segmented{border-color:#d6d6d4;background:#eeeeec}.media-card,.adjustment,.context-note,.details-list>div,.observation,.recommendation,.measure-row{border-color:#e4e4e2}.fit-row-icon{border-color:#e4e4e2;color:#858583}.measure-row strong{color:#383836}@media(min-width:1600px){main{padding-top:45px}.workspace-grid{grid-template-columns:minmax(0,1fr) 310px;gap:35px}.session-workspace{min-height:490px}.auth-layout{gap:140px}}@media(max-width:1150px){.workspace-grid{grid-template-columns:minmax(0,1fr) 245px;gap:22px}main{padding:30px 28px 40px}.topbar{padding:0 28px}.app-footer{margin:0 28px}.page-title h1{font-size:29px}.auth-layout{gap:60px;padding:60px 0}.auth-page{padding:35px 45px}.auth-intro h1{font-size:41px}.analyze-panel{grid-template-columns:1fr}.analyze-panel>.btn{justify-self:start}.context-layout{grid-template-columns:1fr 1fr}.fit-row-end{gap:8px;flex-wrap:wrap;justify-content:flex-end}.fit-row-end>svg{display:none}}@media(max-width:900px){.workspace-grid{grid-template-columns:1fr}.workspace-aside{display:grid;grid-template-columns:1fr 1fr;gap:25px}.capture-note{grid-column:1/-1}.workspace-bikes{border-top:2px solid #393937;padding-top:18px}.session-workspace{min-height:340px}.context-layout,.report-grid{grid-template-columns:1fr}.auth-layout{gap:40px;grid-template-columns:1fr 355px}.auth-panel{padding:25px}.auth-intro h1{font-size:36px}.auth-intro>p{font-size:13px}.auth-steps{margin-top:28px}.upload-grid{gap:10px}.upload-zone{padding:15px}.upload-zone p{min-height:34px}.entity-grid{grid-template-columns:1fr}}@media(max-width:760px){.sidebar{transform:translate(-100%);visibility:hidden;width:215px;transition:transform .15s}.sidebar.open{transform:translate(0);visibility:visible}.mobile-shade{display:block;position:fixed;inset:0;z-index:25;background:#24242270}.main-shell{margin-left:0}.mobile-menu{display:inline-flex}.topbar{padding:0 19px;height:57px}.breadcrumb{gap:9px}.topbar-right{gap:12px}.toast{left:50%}.auth-page{padding:25px 28px 20px}.auth-layout{grid-template-columns:1fr;gap:35px;padding:40px 0;max-width:450px;margin:auto;width:100%}.auth-intro h1{font-size:35px;white-space:normal;letter-spacing:-1.2px;margin:12px 0 15px}.auth-intro h1 br{display:none}.auth-intro>p{max-width:none}.auth-steps{display:none}.auth-panel{padding:25px 27px}.auth-footer>span{display:none}.auth-header{padding-bottom:20px}.auth-brand-caption{font-size:11px;padding-left:18px}.auth-header .logo{font-size:29px}.settings-grid{grid-template-columns:1fr}.entity-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}.auth-footer{padding-top:18px}.app-footer{font-size:10px}.page-title p{max-width:430px}.connection{font-size:9px}.topbar-right>.icon-btn{width:25px}.workspace-aside{gap:22px}}@media(max-width:520px){main{padding:27px 18px 34px}.topbar{padding:0 11px}.page-title{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:25px}.page-title h1{font-size:29px}.page-title .eyebrow{font-size:9px;overflow-wrap:anywhere}.page-title p{font-size:12px;line-height:1.6}.page-title>.btn{min-height:38px;font-size:12px}.app-footer{margin:0 18px}.app-footer>span:last-child{font-size:8px}.workspace-grid{gap:30px}.session-workspace{padding:20px;min-height:320px}.workspace-empty{padding:26px 0 25px}.workspace-empty h2,.workspace-empty h3{font-size:24px}.workspace-empty p{font-size:12px}.workspace-aside{grid-template-columns:1fr}.capture-note{grid-column:auto}.workspace-bikes{border-top-width:1px}.panel{padding:20px}.section-head{gap:12px;margin-bottom:19px;align-items:flex-start}.section-head h2{font-size:14px}.section-head .text-button{font-size:10px}.fit-row{gap:10px;flex-wrap:wrap}.fit-row-icon{width:28px;height:31px}.fit-row h3,.fit-row h4{font-size:12px}.fit-row-end{gap:7px;flex-direction:column;align-items:flex-end}.fit-row-end span{font-size:9px}.fit-row .badge{font-size:9px;padding:2px 5px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.modal{padding:22px 20px}.modal-head h2{font-size:21px}.filter-bar{flex-wrap:wrap;gap:0 12px}.filter-bar>.field{min-width:0;flex:1}.filter-bar>.field:first-child{flex-basis:100%}.entity-grid,.upload-grid{grid-template-columns:1fr}.upload-zone{padding:18px 20px}.upload-top{margin-bottom:14px}.upload-zone p{min-height:0;margin-bottom:17px}.upload-zone>svg{margin-bottom:10px}.capture-toolbar{align-items:flex-start;flex-direction:column;gap:13px}.segmented{width:100%;justify-content:space-between}.segmented button{padding:8px 10px;font-size:10px}.tabs{gap:12px;margin-bottom:25px}.tabs button{font-size:11px;padding:11px 2px 13px;gap:5px}.tabs button svg{width:14px}.media-grid,.compare-grid{grid-template-columns:1fr}.analyze-panel{padding-top:22px;gap:17px}.analyze-panel h2{font-size:18px}.report-toolbar{align-items:flex-start;flex-direction:column}.report-summary{padding:23px 20px}.report-summary h2{font-size:21px}.report-summary p{font-size:13px}.observation>div{align-items:flex-start;flex-direction:column;gap:8px}.adjustment-form{flex-wrap:wrap}.adjustment-form>input{flex-basis:100%}.adjustment-form>.btn{font-size:12px}.delete-form{display:block}.delete-form .field{margin-bottom:16px}.toast{width:calc(100vw - 28px)}.guide-art{padding:0}.auth-footer,.auth-footer p{font-size:10px}.auth-intro .eyebrow{font-size:9px}.entity-heading h2{font-size:17px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{body{background:#fff;color:#000}.sidebar,.topbar,.app-footer,.toast,.btn,.icon-btn,.tabs,.back-link,.inline-actions,.report-toolbar>.btn{display:none!important}.main-shell{margin:0}main{padding:0;max-width:none}.page-title{margin-bottom:25px}.page-title h1{font-size:25px}.panel,.report-summary{break-inside:avoid;box-shadow:none;border:1px solid #ddd}.report-grid{display:block}.report-grid>.panel{margin-bottom:18px}.report-summary{background:#f5f5f3}.report p,.report ul{color:#444}.report-toolbar{margin:20px 0}.print-only{display:block}dialog{display:none!important}}.position-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:20px}.position-toolbar .field{min-width:200px;margin:0}.position-toolbar p{flex:1;min-width:220px}.media-position{padding:0 16px 12px}.media-position .field{margin:0}.fit-adjustments{margin-bottom:32px}.adjustments-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}.adjustments-heading h2{font-size:25px}.adjustments-heading>p{max-width:340px;color:#62625f;font-size:12px}.adjustments-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);background:var(--paper)}.fit-adjustment{padding:24px;min-width:0;border-bottom:1px solid var(--line)}.fit-adjustment:nth-child(odd){border-right:1px solid var(--line)}.fit-adjustment:nth-last-child(-n+2){border-bottom:0}.fit-adjustment header{display:flex;align-items:center;gap:10px;min-height:27px}.fit-adjustment h3{font-size:16px}.adjustment-order{font:11px IBM Plex Mono,monospace;color:var(--muted)}.adjustment-first{margin-left:auto;color:var(--accent);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.adjustment-result{display:flex;gap:12px;flex-wrap:wrap;align-items:baseline;font-size:27px;line-height:1.3;margin-top:24px}.adjustment-result strong{font:500 34px IBM Plex Mono,monospace;letter-spacing:-1.5px}.adjustment-result strong small{font-size:17px;letter-spacing:0}.fit-adjustment.adjust .adjustment-result{color:var(--accent)}.fit-adjustment.needs_evidence .adjustment-result{color:#777773}.adjustment-qualifier{font-size:11px;color:#71716e;margin-top:6px}.adjustment-rationale{font-size:13px;line-height:1.65;margin:20px 0}.fit-adjustment dl{margin:0;border-top:1px solid #ecece9;padding-top:16px}.fit-adjustment dt{font-size:10px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px}.fit-adjustment dd{margin:0 0 12px;color:#646460;font-size:12px;line-height:1.65}.fit-adjustment footer{font:10px IBM Plex Mono,monospace;text-transform:uppercase;color:#73736f}.fit-adjustments>.fine-print{margin-top:12px}.measurement-report{margin-bottom:24px}.measurement-report>p{color:#6b6b67;font-size:12px;margin-top:10px}.measurement-clip{margin-top:24px}.measurement-clip h3{font-size:14px}.measurement-clip>p{color:#71716e;font-size:11px;margin:7px 0 14px}.measurement-scroll{overflow-x:auto}.measurement-report table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}.measurement-report th,.measurement-report td{padding:12px 9px;border-bottom:1px solid var(--line)}.measurement-report thead th{font-size:10px;color:#777773;white-space:nowrap;font-weight:400}.measurement-report tbody th{font-weight:500;text-transform:capitalize;min-width:200px}.measurement-report tbody th small{display:block;text-transform:none;font-weight:400;color:#777773;font-size:10px;margin-top:3px}.measurement-report td{font-family:IBM Plex Mono,monospace;white-space:nowrap}@media(max-width:650px){.adjustments-heading{align-items:flex-start;flex-direction:column;gap:12px}.adjustments-grid{grid-template-columns:1fr}.fit-adjustment{padding:20px}.fit-adjustment:nth-child(odd){border-right:0}.fit-adjustment:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.fit-adjustment:last-child{border-bottom:0}}@media print{.fit-adjustment,.measurement-clip{break-inside:avoid}.measurement-scroll{overflow:visible}.adjustments-grid{display:block}.fit-adjustment{border:1px solid #ddd!important;margin-bottom:12px}}.tracking-studio{border:1px solid var(--line);background:#fff;margin:22px 0}.tracking-header{display:flex;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid var(--line)}.tracking-header h2{font-size:20px;margin:6px 0;overflow-wrap:anywhere}.tracking-header p,.tracking-count{color:var(--muted);font-size:12px}.tracking-count{white-space:nowrap;font-family:IBM Plex Mono,monospace}.tracking-options{display:flex;flex-wrap:wrap;gap:16px;padding:16px 24px;background:#fafaf8;border-bottom:1px solid var(--line)}.tracking-options label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:500;min-width:170px}.tracking-options select{border:1px solid var(--line);padding:9px 12px;background:#fff;color:var(--ink);border-radius:3px;font-size:12px}.tracking-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px}.tracking-main{min-width:0;padding:20px}.tracking-screen{position:relative;width:100%;background:#191a19;overflow:hidden}.tracking-screen video{display:block;width:100%;height:100%;object-fit:contain}.tracking-overlay{position:absolute;inset:0;width:100%;height:100%}.tracking-overlay line{stroke:#b5ee7c;stroke-width:3;vector-effect:non-scaling-stroke}.tracking-overlay circle{fill:#d2ff91;stroke:#173014;stroke-width:1.5;vector-effect:non-scaling-stroke}.tracking-overlay text{fill:#fff;paint-order:stroke;stroke:#172015;stroke-width:3;stroke-linejoin:round;font-family:IBM Plex Sans,sans-serif;pointer-events:none}.tracking-overlay .tracking-angle-label{fill:#d2ff91;font-family:IBM Plex Mono,monospace}.tracking-screen.is-labeling{cursor:crosshair}.tracking-screen-status{position:absolute;left:12px;bottom:12px;background:#151815c9;color:#d5d8d2;padding:5px 8px;font-size:11px;pointer-events:none}.tracking-prompt{position:absolute;top:10px;left:10px;display:flex;gap:8px;align-items:center;background:#fff;padding:7px 10px;font-size:12px;box-shadow:0 1px 8px #0003}.tracking-prompt button{background:none;border:0;display:flex;padding:0}.tracking-transport{display:flex;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid var(--line)}.tracking-transport input{min-width:30px;flex:1;accent-color:var(--accent)}.tracking-transport span{font-family:IBM Plex Mono,monospace;font-size:10px;white-space:nowrap;color:var(--muted)}.tracking-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.tracking-actions .btn{font-size:11px;padding:9px 11px;min-height:36px}.tracking-progress{display:flex;gap:12px;align-items:center;margin-top:12px;color:var(--muted);font-size:11px}.tracking-progress progress{flex:1;accent-color:var(--accent)}.tracking-message{font-size:12px;margin-top:14px;color:#555650}.tracking-instructions{margin-top:22px;padding-top:17px;border-top:1px solid var(--line);font-size:12px}.tracking-instructions p{font-size:11px;color:var(--muted);margin-top:7px}.tracking-readout{padding:20px 16px;border-left:1px solid var(--line);background:#fafaf8;min-width:0}.tracking-readout h3{font-size:13px;letter-spacing:0}.tracking-readout-title{display:flex;align-items:center;justify-content:space-between}.tracking-hint{font-size:11px;color:var(--muted);margin:6px 0 12px;line-height:1.5}.tracking-joints{margin:10px 0 25px}.tracking-joints button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:0;border-bottom:1px solid var(--line);padding:8px 5px;background:transparent;font-size:12px;text-align:left}.tracking-joints button.selected{background:#f3e4dc;color:var(--accent)}.tracking-joints span{display:flex;align-items:center;gap:8px}.tracking-joints i{height:5px;width:5px;border-radius:50%;background:#c9c9c4}.tracking-joints i.found{background:#688848}.tracking-joints small{font-family:IBM Plex Mono,monospace;font-size:9px;color:var(--muted)}.tracking-angles,.tracking-ranges{margin:10px 0 24px}.tracking-angles>div,.tracking-ranges>div{display:flex;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}.tracking-angles dt,.tracking-ranges dt{font-size:12px}.tracking-angles dt small,.tracking-ranges dt small{display:block;font-size:9px;color:var(--muted);max-width:130px;line-height:1.4;margin-top:3px}.tracking-angles dd,.tracking-ranges dd{margin:0;font-family:IBM Plex Mono,monospace;font-size:15px;white-space:nowrap}.tracking-ranges dd{font-size:11px}@media(max-width:1000px){.tracking-layout{grid-template-columns:minmax(0,1fr)}.tracking-readout{border-left:0;border-top:1px solid var(--line)}.tracking-joints,.tracking-angles,.tracking-ranges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}}@media(max-width:520px){.tracking-header,.tracking-options{padding:15px}.tracking-main{padding:12px}.tracking-options label{flex:1;min-width:130px}.tracking-header{flex-wrap:wrap}.tracking-transport span{font-size:9px}.tracking-actions .btn{flex:1}.tracking-readout{padding:15px}.tracking-angles{grid-template-columns:1fr}.tracking-angles dt small{max-width:200px}}
