.prism-container{position:relative;width:100%;height:100%}.prism-container canvas{pointer-events:none}:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;color:#f3f5f7;background:#080b0e;font-synthesis:none;--app-bg: #080b0e;--surface: #11171c;--surface-raised: #171e24;--surface-hover: #1c252c;--ink: #f3f5f7;--muted: rgba(243,245,247,.68);--tertiary: rgba(243,245,247,.5);--line: rgba(255,255,255,.055);--line-strong: rgba(255,255,255,.09);--accent: #22e36e;--accent-soft: rgba(34,227,110,.13);--accent-ink: #06150b;--cool-line: #738590;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 16px;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-2xl: 24px;--line-height-tight: 1.25;--line-height-control: 1.4;--line-height-body: 1.5;--stage-motion-easing: cubic-bezier(.22,1,.36,1);--stage-card-duration: .3s;--stage-card-stagger: 70ms;--stage-sidebar-duration: .52s;--stage-center-duration: .65s}*{box-sizing:border-box}html,body,#root{margin:0;min-width:1024px;min-height:100%}body{min-height:100vh;background:var(--app-bg);color:var(--ink);font-size:var(--font-size-base);line-height:var(--line-height-body);-webkit-font-smoothing:antialiased}button,input{border-radius:0;font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-shell{width:100%;min-width:1024px;height:100vh;min-height:720px;overflow:hidden;background:var(--app-bg);color:var(--ink)}.topbar{height:68px;padding:0 18px 0 16px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:360px minmax(0,1fr) 360px;align-items:center;background:#0c0f13;position:relative;z-index:10;transition:height .28s cubic-bezier(.22,.61,.36,1),padding .28s cubic-bezier(.22,.61,.36,1)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;width:max-content}.brand-symbol{width:32px;height:32px;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);border-radius:var(--radius-sm)}.brand>span:last-child{display:grid;line-height:var(--line-height-tight);gap:2px}.brand strong{font-size:var(--font-size-base);letter-spacing:-.02em}.brand small{font-size:var(--font-size-xs);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;transition:opacity .18s ease}.topbar-context{justify-self:center;display:flex;align-items:baseline;gap:9px;transition:opacity .18s ease,transform .22s cubic-bezier(.22,.61,.36,1)}.topbar-context span{color:var(--accent);font-size:var(--font-size-xs);font-weight:760;letter-spacing:.1em}.topbar-context strong{font-size:var(--font-size-base);letter-spacing:-.01em}.topbar-context small{color:var(--muted);font-size:var(--font-size-sm)}.workspace{height:calc(100vh - 68px);min-height:652px;position:relative;display:grid;grid-template-columns:360px minmax(0,1fr) 360px;overflow:hidden;background:var(--app-bg);transition:grid-template-columns var(--stage-center-duration) var(--stage-motion-easing),height var(--stage-center-duration) var(--stage-motion-easing)}.workspace-prism-background{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.side-panel{width:360px;min-width:360px;min-height:0;flex-shrink:0;display:grid;grid-template-rows:auto 1fr 44px;position:relative;z-index:2;border:0;outline:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;color:var(--ink);transition:transform var(--stage-sidebar-duration) var(--stage-motion-easing),opacity var(--stage-sidebar-duration) var(--stage-motion-easing)}.frame-panel,.setup-panel{width:360px;min-width:360px;flex-shrink:0;border:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.panel-heading{padding:19px 20px 17px;border:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.panel-heading>span,.eyebrow{color:var(--accent);font-size:var(--font-size-xs);font-weight:760;letter-spacing:.1em;line-height:var(--line-height-control)}.panel-heading h2{margin:7px 0 8px;font-size:var(--font-size-lg);line-height:var(--line-height-tight);letter-spacing:-.03em}.panel-heading p{margin:0;color:var(--muted);font-size:var(--font-size-sm);line-height:var(--line-height-body)}.side-panel__scroll{min-height:0;padding:8px 12px 12px;overflow-y:auto;overscroll-behavior:contain;background:transparent;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.side-panel footer{border:0;display:flex;align-items:center;padding:0 18px;background:transparent;box-shadow:none;font-size:var(--font-size-xs);line-height:var(--line-height-control);color:var(--tertiary);letter-spacing:.04em;text-transform:uppercase;white-space:normal;overflow:hidden}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:8px}.control-section{margin:0 0 12px;padding:16px;border:0;border-radius:var(--radius-lg);background:var(--surface);box-shadow:none;opacity:1;transform:translate(0) scale(1);transform-origin:center;transition:opacity var(--stage-card-duration) var(--stage-motion-easing),transform var(--stage-card-duration) var(--stage-motion-easing);transition-delay:calc(.14s + var(--stagger-index, 0) * var(--stage-card-stagger));will-change:opacity,transform}.frame-panel .control-section{position:relative;overflow:hidden;isolation:isolate}.frame-panel .control-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse 52% 88% at 0% 50%,#daf0f880,#68b0d040 38%,#68b0d000 78%);filter:blur(36px);opacity:.14;transform:translate(-8%) scale(1.04)}.frame-panel .control-section>*{position:relative;z-index:1}.control-section:last-child{margin-bottom:0}.section-title{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.section-title h3{margin:0;font-size:var(--font-size-md);line-height:var(--line-height-control);letter-spacing:-.01em}.section-title__copy>span{font-size:var(--font-size-xs);line-height:var(--line-height-control);color:var(--muted);letter-spacing:.07em;text-transform:uppercase}.section-note{color:var(--muted);font-size:var(--font-size-sm);line-height:var(--line-height-body);margin:12px 0 0}.section-note--lead{margin:-6px 0 12px}.model-card{min-width:0;padding:2px 0 0;border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left}.model-card__identity{min-width:0;display:flex;align-items:center;gap:8px;white-space:nowrap}.model-card strong{min-width:0;font-size:var(--font-size-base);line-height:var(--line-height-control)}.model-card span{flex:0 0 auto;padding:3px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:var(--font-size-xs);line-height:var(--line-height-control);letter-spacing:0}.model-card small{flex:0 0 auto;font-size:var(--font-size-sm);color:var(--muted);white-space:nowrap}.model-card.is-selected{border-color:transparent;box-shadow:none;background:transparent}.setup-panel__heading{padding-bottom:14px}.setup-tabs{--stagger-index: 0;margin-top:18px;padding:4px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;border:0;border-radius:var(--radius-md);background:var(--surface-raised);opacity:1;transform:translate(0) scale(1);transform-origin:center;transition:opacity var(--stage-card-duration) var(--stage-motion-easing),transform var(--stage-card-duration) var(--stage-motion-easing);transition-delay:.14s;will-change:opacity,transform}.setup-tabs button{min-width:0;min-height:60px;padding:7px 8px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);display:grid;place-items:center;gap:2px;cursor:pointer}.setup-tabs button:hover{background:var(--surface-hover);color:var(--ink)}.setup-tabs button.is-active{background:var(--accent-soft);color:var(--accent)}.setup-tabs strong{font-size:var(--font-size-lg);line-height:var(--line-height-tight);font-weight:700}.setup-tabs small{color:var(--muted);font-size:var(--font-size-xs);line-height:var(--line-height-control);letter-spacing:.07em;text-transform:uppercase}.setup-tabs button.is-active small{color:var(--accent)}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-title__copy{min-width:0;display:flex;align-items:baseline;gap:7px}.section-title__action{flex:0 0 auto}.section-title__action .switch-row{min-height:28px;gap:7px;color:var(--muted);font-size:var(--font-size-sm);white-space:nowrap}.wheel-matrix__summary{margin:2px 0 12px;padding:2px 0 12px;border:0;background:transparent;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;justify-content:space-between;gap:10px}.wheel-matrix__summary span{color:var(--muted);font-size:var(--font-size-sm);letter-spacing:.03em}.wheel-matrix__summary strong{min-width:0;overflow:visible;text-align:right;white-space:normal;color:var(--accent);font-size:var(--font-size-base)}.wheel-matrix{border-top:1px solid rgba(255,255,255,.05)}.wheel-matrix__header,.wheel-matrix__row{display:grid;grid-template-columns:minmax(92px,1fr) 62px 62px;column-gap:8px;align-items:center}.wheel-matrix__header{min-height:44px;color:var(--muted)}.wheel-matrix__header strong{display:grid;place-items:center;font-size:var(--font-size-base);line-height:var(--line-height-tight)}.wheel-matrix__header small{margin-top:2px;font-size:var(--font-size-xs);font-weight:600;letter-spacing:.07em}.wheel-matrix__row{min-height:64px;border-top:1px solid rgba(255,255,255,.05)}.wheel-matrix__label{padding-left:1px;font-size:var(--font-size-base);line-height:var(--line-height-control);font-weight:650}.wheel-matrix__cell{position:relative;width:62px;height:50px;padding:3px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;display:grid;place-items:center;cursor:pointer}.wheel-matrix__cell:hover{border-color:transparent;background:var(--surface-hover)}.wheel-matrix__cell.is-selected{border-color:transparent;background:var(--accent-soft);box-shadow:none}.wheel-matrix__thumbnail{position:relative;display:block;width:46px;height:46px}.wheel-matrix__thumbnail>img,.wheel-matrix__thumbnail>span{position:absolute;display:block;max-width:none}.wheel-matrix__thumbnail>img{filter:invert(.88) hue-rotate(85deg) saturate(.42) brightness(1.06)}.wheel-matrix__check{display:none}.field-block+.field-block{margin-top:16px}.field-label{display:block;margin-bottom:7px;color:var(--muted);font-size:var(--font-size-sm);line-height:var(--line-height-control)}.segmented{display:flex;width:100%;gap:4px;border:0;background:transparent}.segmented button{min-width:0;flex:1;min-height:40px;padding:7px 6px;border:0;border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--muted);font-size:var(--font-size-base);line-height:var(--line-height-control);cursor:pointer}.segmented button:hover{background:var(--surface-hover);color:var(--ink)}.segmented button.is-selected{background:var(--accent-soft);color:var(--accent);font-weight:720}.segmented--compact{width:228px}.segmented--compact button{min-height:36px}.segmented--wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.segmented--wrap button{border:0}.stepper-row{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid rgba(255,255,255,.05)}.stepper-row:last-of-type{border-bottom:0}.stepper-label{font-size:var(--font-size-base);line-height:var(--line-height-control);white-space:nowrap}.stepper-label small{color:var(--tertiary);font-size:var(--font-size-sm);margin-left:4px}.stepper-control{display:grid;grid-template-columns:36px 62px 36px;height:36px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-raised);overflow:hidden}.stepper-control button,.stepper-control input{min-width:0;border:0;background:var(--surface-raised);text-align:center;font-size:var(--font-size-base);line-height:var(--line-height-control);color:var(--ink)}.stepper-control button{cursor:pointer;color:var(--muted)}.stepper-control button:hover{background:var(--accent-soft);color:var(--accent)}.stepper-control input{border-left:1px solid var(--line);border-right:1px solid var(--line);outline:0;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.stepper-control input:focus{box-shadow:inset 0 0 0 1px var(--accent)}.stepper-control input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.switch-row{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:9px;font-size:var(--font-size-base);line-height:var(--line-height-control)}.switch{flex:0 0 auto;width:40px;height:22px;padding:2px;border:0;border-radius:20px;background:#303840;cursor:pointer}.switch span{display:block;width:18px;height:18px;border-radius:50%;background:#d9dfe3;transition:transform .18s ease}.switch.is-on{background:var(--accent)}.switch.is-on span{background:#07110a;transform:translate(18px)}.geometry-grid{display:grid;grid-template-columns:1fr 1fr;border:0}.geometry-grid>div{padding:13px 12px 14px;border:0;background:transparent}.geometry-grid>div:nth-child(odd){border-right:1px solid rgba(255,255,255,.05)}.geometry-grid>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.05)}.geometry-grid span{display:block;color:var(--muted);font-size:var(--font-size-xs);line-height:var(--line-height-control);text-transform:uppercase;letter-spacing:0;white-space:nowrap}.geometry-grid strong{font-size:var(--font-size-2xl);line-height:var(--line-height-tight);font-variant-numeric:tabular-nums}.geometry-grid small{font-size:var(--font-size-sm);color:var(--tertiary);margin-left:4px}.geometry-detail-list{margin:0;border:0}.geometry-detail-list>div{min-height:44px;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;justify-content:space-between;gap:12px}.geometry-detail-list>div:last-child{border-bottom:0}.geometry-detail-list dt{min-width:0;flex:1 1 auto;color:var(--muted);font-size:var(--font-size-base);line-height:var(--line-height-control);white-space:nowrap}.geometry-detail-list dd{flex:0 0 auto;margin:0 0 0 auto;display:flex;align-items:baseline;justify-content:flex-end;gap:4px;text-align:right}.geometry-detail-list dd strong{font-size:var(--font-size-base);line-height:var(--line-height-control);font-variant-numeric:tabular-nums}.geometry-detail-list dd span{color:var(--tertiary);font-size:var(--font-size-sm)}.geometry-language-toggle{display:flex;align-items:center;gap:2px;padding:0;border:0;border-radius:8px;background:transparent}.geometry-language-toggle button{min-width:34px;height:26px;padding:0 7px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:var(--font-size-xs);line-height:1;cursor:pointer}.geometry-language-toggle button:hover{color:var(--ink);background:var(--surface-hover, var(--surface))}.geometry-language-toggle button.is-active{color:var(--accent);background:var(--accent-soft);font-weight:720;box-shadow:none}.main-stage{min-width:0;min-height:0;padding:0;background:transparent;display:grid;grid-template-rows:minmax(0,1fr);position:relative;z-index:1;transition:padding var(--stage-center-duration) var(--stage-motion-easing)}.main-stage>.visualizer{position:relative;z-index:1}.visualizer{min-height:0;position:relative;display:grid;grid-template-rows:112px minmax(0,1fr);overflow:hidden;border:0;border-radius:0;outline:0;background:transparent;box-shadow:none}.visualizer__header{position:relative;z-index:2;padding:20px 24px 14px;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:8px;border:0;outline:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.bike-title{min-width:220px}.bike-title h1{margin:0 0 8px;font-size:36px;line-height:1.1;font-weight:520;letter-spacing:-.035em}.bike-title h1>span{text-transform:uppercase}.bike-title h1 strong{font-weight:inherit}.bike-title p{margin:0;color:var(--muted);font-size:var(--font-size-sm);line-height:var(--line-height-control);letter-spacing:.02em}.bike-title p span{display:inline-block;height:14px;border-left:1px solid var(--line-strong);margin:0 8px -2px}.canvas-tools{position:absolute;left:50%;bottom:18px;z-index:4;transform:translate(-50%);min-height:48px;padding:4px 12px;border:1px solid var(--line);border-radius:var(--radius-md);background:#11171cf0;box-shadow:0 8px 22px #0000002e;display:flex;align-items:center;gap:16px}.canvas-tools .field-block{margin:0}.canvas-tools .switch-row{flex:0 0 auto;gap:8px;color:var(--muted);white-space:nowrap}.canvas-wrap{min-height:0;position:relative;overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none}.side-panel:before,.side-panel:after,.frame-panel:before,.frame-panel:after,.setup-panel:before,.setup-panel:after,.visualizer__header:before,.visualizer__header:after{display:none;content:none}.bike-canvas{display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;width:100%;height:100%;min-height:0;overflow:visible}.bike-reflection{pointer-events:none}.stage-content{transform-origin:490px 310px}.bike-layer *{vector-effect:non-scaling-stroke}.bike-layer{transition:opacity .2s ease}.bike-layer--primary{color:#586f6d}.bike-layer--overlay-reference{color:#273234;opacity:.32}.bike-layer--overlay-candidate{color:var(--accent);opacity:.62}.bike-layer--overlay-candidate .bike-silhouette{fill-opacity:.28;stroke:currentColor;stroke-width:1.4;stroke-dasharray:6 4}.bike-layer--overlay-candidate .bike-outline,.bike-layer--overlay-candidate .bike-wheel__tire,.bike-layer--overlay-candidate .bike-wheel__rim,.bike-layer--overlay-candidate .bike-cockpit__bar,.bike-layer--overlay-candidate .bike-drivetrain__chain{stroke-dasharray:7 5}.road-bike{--bike-cutout: var(--app-bg)}.figma-bike-template image{pointer-events:none}.figma-bike__wheel-asset{animation:wheelset-asset-enter .18s ease-out}@keyframes wheelset-asset-enter{0%{opacity:.35}to{opacity:1}}.bike-layer--reference .figma-bike-template image{filter:grayscale(1) contrast(.86) opacity(.86)}.bike-layer--reference .figma-bike__frame,.bike-layer--reference .figma-bike__fork{filter:grayscale(1) contrast(.86) opacity(.86)}.bike-layer--overlay-candidate .figma-bike-template{filter:saturate(.55) hue-rotate(128deg)}.figma-anchor-debug line{stroke:#d34732;stroke-width:1.2}.figma-anchor-debug__parent{fill:#ffffffd6;stroke:#d34732;stroke-width:1.6}.figma-anchor-debug__child{fill:#168c83;stroke:#fff;stroke-width:1.2}.saddle-system-debug__point{fill:#fff;stroke:#168c83;stroke-width:1.6}.saddle-system-debug line,.saddle-system-debug polyline{fill:none;stroke:#168c83;stroke-dasharray:4 3}.head-tube-debug line,.head-tube-debug circle{fill:#ffffffe6;stroke:#d67a22;stroke-width:1.6}.head-tube-debug text{fill:#a85c17}.figma-anchor-debug text{fill:#b13b2b;font-size:var(--font-size-xs);font-weight:760;letter-spacing:.02em;paint-order:stroke;stroke:#fff;stroke-width:2.4px;stroke-linejoin:round}.saddle-system-debug text{fill:#08766f}.geometry-skeleton{color:#d55f45;pointer-events:none}.geometry-skeleton>line{stroke:currentColor;stroke-width:1.2;stroke-dasharray:4 3;opacity:.8}.geometry-skeleton__point circle{fill:#fff;stroke:currentColor;stroke-width:2}.geometry-skeleton__point text{fill:currentColor;font-size:var(--font-size-xs);font-weight:700}.cockpit-geometry-debug line{stroke:#8a4ec2;stroke-width:2;stroke-dasharray:none}.cockpit-geometry-debug circle{fill:#fff;stroke:#8a4ec2;stroke-width:2}.cockpit-geometry-debug text{fill:#70409c;font-size:var(--font-size-xs);font-weight:760;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.bike-silhouette{fill:currentColor;stroke:currentColor;stroke-width:.8;stroke-linejoin:round}.frame-piece{transition:d .2s ease}.bike-frame__bb{fill:currentColor}.bike-frame__bb-cutout{fill:var(--bike-cutout);stroke:currentColor;stroke-width:2}.bike-frame__top-highlight{fill:none;stroke:#fff;stroke-width:1;opacity:.22}.road-bike--aero .bike-frame__top-highlight{opacity:.12}.bike-wheel__tire{fill:none;stroke:currentColor;stroke-width:8}.bike-wheel__rim{fill:none;stroke:currentColor;opacity:.78}.bike-wheel__rim-edge{fill:none;stroke:#fff;stroke-width:1.2;opacity:.66}.bike-wheel__spokes line{stroke:currentColor;stroke-width:.7;opacity:.27}.bike-wheel__hub{fill:var(--bike-cutout);stroke:currentColor;stroke-width:3.3}.bike-wheel__axle{fill:currentColor}.bike-brake__rotor,.bike-brake__inner{fill:none;stroke:currentColor;stroke-width:2;opacity:.78}.bike-brake__inner{stroke-width:3}.bike-brake__vent{fill:var(--bike-cutout);stroke:currentColor;stroke-width:.6;opacity:.9}.bike-brake__caliper{fill:currentColor}.bike-fork__highlight{fill:none;stroke:#fff;stroke-width:1.2;opacity:.24}.bike-seatpost__clamp{fill:currentColor}.bike-saddle__shell{stroke-width:1}.bike-saddle__rail{fill:none;stroke:currentColor;stroke-width:2;opacity:.72}.bike-cockpit__stem-cap{fill:var(--bike-cutout);stroke:currentColor;stroke-width:3}.bike-cockpit__bar{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.bike-cockpit__hood{stroke-width:1}.bike-cockpit__lever{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}.bike-crankset__ring{fill:var(--bike-cutout);stroke:currentColor}.bike-crankset__ring--outer{stroke-width:5.2}.bike-crankset__ring--inner{stroke-width:2.2;opacity:.85}.bike-crankset__spider{stroke:currentColor;stroke-width:4;stroke-linecap:round}.bike-crankset__bolt{fill:var(--bike-cutout);stroke:currentColor;stroke-width:3}.bike-crankset__arm{stroke:currentColor;stroke-width:7;stroke-linecap:round}.bike-crankset__arm--rear{stroke-width:4;opacity:.55}.bike-crankset__pedal{fill:currentColor}.bike-drivetrain__chain{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;opacity:.8}.bike-drivetrain__cassette circle{fill:var(--bike-cutout);stroke:currentColor;stroke-width:2}.bike-drivetrain__derailleur{fill:none;stroke:currentColor;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.bike-drivetrain__jockey{fill:var(--bike-cutout);stroke:currentColor;stroke-width:3}.bike-drivetrain__cage{stroke:currentColor;stroke-width:3}.contact-point circle:first-child{fill:#fff;stroke:var(--accent);stroke-width:4}.contact-point__halo{fill:none;stroke:var(--accent);stroke-width:1;opacity:.38}.contact-point text{fill:var(--accent);font-size:var(--font-size-base);font-weight:800}.contact-point-overlay{pointer-events:none}.dimensions{color:#84908f}.dimension-line line{stroke:#aeb8b6;stroke-width:1;stroke-dasharray:3 3}.dimension-line text{fill:#778281;font-size:var(--font-size-sm);letter-spacing:.04em}.dimension-line .dimension-value{fill:#354244;font-size:var(--font-size-base);font-weight:650;letter-spacing:0}.angle-label path{fill:none;stroke:#b4bdbb;stroke-width:1;stroke-dasharray:3 3}.angle-label text{fill:#536164;font-size:var(--font-size-base);font-weight:650}.angle-label .angle-label__name{fill:#8b9593;font-size:var(--font-size-sm);font-weight:600;letter-spacing:.06em}.rider-skeleton{color:#56666a;opacity:.35}.rider-skeleton polyline,.rider-skeleton line{fill:none;stroke:currentColor;stroke-width:3}.rider-skeleton circle{fill:#fff;stroke:currentColor;stroke-width:3}.rider-skeleton text{fill:currentColor;font-size:var(--font-size-xs)}.overlay-labels text{fill:#5c696b;font-size:var(--font-size-xs);letter-spacing:.04em}.bb-origin{opacity:.55}.bb-origin line{stroke:var(--accent);stroke-width:1}.bb-origin text{fill:#8b9593;font-size:var(--font-size-xs)}.stage-fullscreen-control{position:absolute;top:20px;right:24px;z-index:4;min-height:40px;padding:0 13px;border:0;border-radius:var(--radius-sm);outline:0;background:var(--surface-raised);color:var(--muted);display:inline-flex;align-items:center;gap:8px;cursor:pointer}.stage-fullscreen-control:hover{background:var(--surface-hover);color:var(--ink)}.stage-fullscreen-control:focus-visible{outline:0;background:var(--surface-hover);color:var(--accent)}.stage-fullscreen-control span{font-size:var(--font-size-base);line-height:var(--line-height-control);white-space:nowrap}@media(max-width:1199px){.workspace{grid-template-columns:360px minmax(0,1fr);position:relative}.setup-panel{position:absolute;top:0;right:0;bottom:0;width:360px;min-width:360px;box-shadow:none}.topbar{grid-template-columns:360px minmax(0,1fr) 360px}.visualizer__header{padding-inline:20px;gap:12px}.canvas-tools{gap:10px}.bike-title h1{font-size:36px}}@media(max-width:1399px){.visualizer{grid-template-rows:114px minmax(0,1fr)}.visualizer__header{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:10px;padding-block:14px 12px}.bike-title{min-width:0}.bike-title h1{margin-block:3px}.canvas-tools{justify-content:flex-start}}.bike-layer--primary{color:#b5c1c5}.figma-bike-template image{pointer-events:none;filter:brightness(1.13) contrast(1.08)}.figma-bike__wheel,.figma-bike__tire{filter:brightness(1.38) contrast(.86)}.figma-bike-template .figma-bike__frame,.figma-bike-template .figma-bike__frame-part,.figma-bike-template .figma-bike__fork{filter:none}.contact-point circle:first-child{fill:#10161a;stroke:var(--accent);filter:drop-shadow(0 0 4px rgba(34,227,110,.6))}.contact-point__halo{stroke:var(--accent);opacity:.5}.contact-point text{fill:var(--accent)}.dimensions{color:var(--cool-line)}.dimension-line line{stroke:#71828b;opacity:.74}.dimension-line text{fill:#92a2aa}.dimension-line .dimension-value{fill:#eef3f5}.angle-label path{stroke:#71828b;opacity:.76}.angle-label text{fill:#eef3f5}.angle-label .angle-label__name{fill:#92a2aa}.bb-origin circle{fill:var(--accent)}.bb-origin line{stroke:var(--accent)}.bb-origin text{fill:#81919a}@media(max-width:1199px){.setup-panel{box-shadow:none}.workspace .visualizer__header{padding-right:380px}.workspace .visualizer__header .stage-fullscreen-control{right:380px}.workspace .canvas-tools{left:calc(50% - 180px)}}.app-shell--stage-fullscreen .topbar{height:56px;padding-inline:16px}.app-shell--stage-fullscreen .topbar-context{opacity:0;transform:translateY(-4px);pointer-events:none}.app-shell--stage-fullscreen .brand small{opacity:0}.app-shell--stage-fullscreen .workspace{height:calc(100vh - 56px)}.frame-panel .side-panel__scroll>.control-section:nth-child(1){--stagger-index: 0}.frame-panel .side-panel__scroll>.control-section:nth-child(2){--stagger-index: 1}.frame-panel .side-panel__scroll>.control-section:nth-child(3){--stagger-index: 2}.frame-panel .side-panel__scroll>.control-section:nth-child(4){--stagger-index: 3}.setup-panel .side-panel__scroll>.control-section:nth-child(1){--stagger-index: 1}.setup-panel .side-panel__scroll>.control-section:nth-child(2){--stagger-index: 2}.setup-panel .side-panel__scroll>.control-section:nth-child(3){--stagger-index: 3}.setup-panel .side-panel__scroll>.control-section:nth-child(4){--stagger-index: 4}.setup-panel .side-panel__scroll>.control-section:nth-child(5){--stagger-index: 5}.setup-panel .side-panel__scroll>.control-section:nth-child(6){--stagger-index: 6}.workspace.workspace--stage-fullscreen{grid-template-columns:0 minmax(0,1fr) 0;transition-delay:.16s}.workspace--stage-fullscreen .side-panel{transition-delay:.16s}.workspace--stage-fullscreen .frame-panel{opacity:0;transform:translate(-100%);pointer-events:none}.workspace--stage-fullscreen .setup-panel{opacity:0;transform:translate(100%);pointer-events:none}.workspace--stage-fullscreen .frame-panel .control-section{opacity:0;transform:translate(-20px) scale(.985);transition-delay:calc(var(--stagger-index, 0) * var(--stage-card-stagger))}.workspace--stage-fullscreen .setup-panel .setup-tabs,.workspace--stage-fullscreen .setup-panel .control-section{opacity:0;transform:translate(20px) scale(.985);transition-delay:calc(var(--stagger-index, 0) * var(--stage-card-stagger))}.workspace--stage-fullscreen .main-stage{padding:0 24px 18px}.workspace--stage-fullscreen .visualizer__header{padding-right:24px}.workspace--stage-fullscreen .visualizer__header .stage-fullscreen-control{right:24px}.workspace--stage-fullscreen .canvas-tools{left:50%}@media(prefers-reduced-motion:reduce){.topbar,.topbar-context,.workspace,.side-panel,.main-stage,.control-section,.setup-tabs{transition-duration:.01ms!important;transition-delay:0ms!important}}
