:root{--catalog-nav-w: calc(var(--type-xs) * 14);--catalog-panel-w: calc(var(--type-xs) * 60)}@media(min-width:761px){.floating-card.catalog-panel-wrap.catalog-panel-wrap--cols3{width:var(--catalog-panel-w);max-width:calc(100vw - var(--space-xxl))}.catalog-panel-wrap .catalog-cols3{grid-template-columns:var(--catalog-nav-w) var(--catalog-nav-w) minmax(0,1fr)}.catalog-panel-wrap .catalog-col--wide{grid-column:2 / -1}}.catalog-panel-wrap .catalog-col--parts{gap:var(--space-xxs);padding:0 var(--space-xs) var(--space-s) var(--space-s)}.catalog-panel-wrap .catalog-col>.catalog-item{flex:0 0 auto}.catalog-panel-wrap .catalog-col__head{position:sticky;top:0;z-index:1;display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-xs);margin-bottom:var(--space-xxs);padding:var(--space-xs) var(--space-xxs) var(--space-xxs);background:var(--bg-card);border-bottom:1px solid var(--border);font-size:var(--type-xxs);font-weight:618;line-height:1.2;color:var(--text-muted);text-transform:lowercase;letter-spacing:.04em}.catalog-panel-wrap .catalog-col__head-count{font-variant-numeric:tabular-nums}.catalog-panel-wrap .catalog-col__empty{font-style:normal;font-size:var(--type-xs);padding:var(--space-s) var(--space-xs)}.catalog-panel-wrap .catalog-item{position:static;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:var(--space-xxs);padding:var(--space-xs) var(--space-s);border:1px solid var(--border);border-radius:var(--radius-card);background:var(--bg-card);text-align:left;cursor:pointer;transition:border-color .12s ease,background .12s ease}.catalog-panel-wrap .catalog-item:hover{border-color:var(--accent-orange, var(--orange))}.catalog-panel-wrap .catalog-item.is-selected{border-color:var(--accent-orange, var(--orange));background:color-mix(in srgb,var(--accent-orange, var(--orange)) 8%,var(--bg-card))}.catalog-panel-wrap .catalog-item.is-incompat{opacity:.72}.catalog-panel-wrap .catalog-item.is-incompat:hover{opacity:1}.catalog-panel-wrap .catalog-item--none .catalog-item__head{justify-content:center}.catalog-panel-wrap .catalog-item--none .catalog-item__name{flex:0 0 auto;font-weight:382;color:var(--text-muted);text-align:center}.catalog-panel-wrap .catalog-item--none.is-selected .catalog-item__name{color:var(--fg);font-weight:618}.catalog-panel-wrap .catalog-item--none:hover{background:var(--accent-orange, var(--orange));border-color:var(--accent-orange, var(--orange))}.catalog-panel-wrap .catalog-item--none:hover .catalog-item__name{color:var(--on-orange, #fff)}.catalog-panel-wrap .catalog-item__head{display:flex;align-items:center;gap:var(--space-xs);min-width:0;min-height:var(--space-l)}.catalog-panel-wrap .catalog-item__name{flex:1 1 auto;min-width:0;font-size:var(--type-s);font-weight:618;line-height:1.25;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-panel-wrap .catalog-item__status{flex:0 0 auto;width:var(--space-xs);height:var(--space-xs);border-radius:var(--radius-full);border:1px solid var(--border-strong);background:transparent}.catalog-panel-wrap .catalog-item__status--ok{background:var(--success);border-color:var(--success)}.catalog-panel-wrap .catalog-item__status--red{background:var(--error);border-color:var(--error)}.catalog-panel-wrap .catalog-item__status--warn{background:var(--warn);border-color:var(--warn)}.catalog-panel-wrap .catalog-item__fit-slot{flex:0 0 auto;display:flex;justify-content:flex-end;min-width:calc(var(--type-xxs) * 4.8)}.catalog-panel-wrap .catalog-item__match{position:static;display:inline-flex;align-items:center;padding:0 var(--space-xxs);height:var(--space-l);border-radius:var(--radius-full);font-size:var(--type-xxs);font-weight:618;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums}.catalog-panel-wrap .catalog-item__meta{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-s);min-width:0;font-size:var(--type-xxs);font-weight:382;line-height:1.35;color:var(--text-muted)}.catalog-panel-wrap .catalog-item__origin{display:inline-flex;align-items:baseline;gap:var(--space-xxs);min-width:0}.catalog-panel-wrap .catalog-item__flag{flex:0 0 auto;font-size:var(--type-xs);line-height:1}.catalog-panel-wrap .catalog-item__brand{font-weight:618;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-panel-wrap .catalog-item__brand--clickable{cursor:pointer;text-decoration-line:underline;text-decoration-style:dotted;text-decoration-color:color-mix(in srgb,currentColor 45%,transparent);text-underline-offset:2px}.catalog-panel-wrap .catalog-item__brand--clickable:hover{color:var(--fg);text-decoration-style:solid}.catalog-panel-wrap .catalog-item__figures{flex:0 0 auto;display:inline-flex;align-items:baseline;gap:var(--space-xxs);white-space:nowrap;font-variant-numeric:tabular-nums}.catalog-panel-wrap .catalog-item__weight,.catalog-panel-wrap .catalog-item__price{color:var(--text-muted);font-weight:618}.catalog-panel-wrap .catalog-item__sep{color:var(--border-strong)}.catalog-panel-wrap .catalog-item__attrs{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-xxs);margin-top:0;min-height:var(--space-l);overflow:hidden}.catalog-panel-wrap .catalog-item__attr-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--space-xxs);height:var(--space-l);padding:0 var(--space-xs);border-radius:var(--radius-full);border:var(--contour-w) solid var(--chip-border);background:var(--chip-bg);font-size:var(--type-xxs);line-height:1;white-space:nowrap}.catalog-panel-wrap .catalog-item__attr-chip:last-child{flex:0 1 auto;min-width:0}.catalog-panel-wrap .catalog-item__attr-label{flex:0 0 auto;color:var(--text-muted);font-weight:382}.catalog-panel-wrap .catalog-item__attr-value{min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--fg);font-weight:618}.catalog-panel-wrap .catalog-item:has(.catalog-item__status) .catalog-item__meta,.catalog-panel-wrap .catalog-item:has(.catalog-item__status) .catalog-item__attrs{padding-left:calc(var(--space-xs) * 2)}.catalog-panel-wrap .cad-pending-notice{display:flex;align-items:center;gap:var(--space-xs)}.catalog-panel-wrap .cad-pending-notice__label{min-width:0;font-size:var(--type-xxs);font-weight:382;line-height:1.35;color:var(--text-muted)}.catalog-panel-wrap .cad-pending-notice__btn{flex:0 0 auto}.part-locked-banner__btn-row{display:flex;flex-direction:row;align-items:center;gap:var(--space-xxs, 4px)}.part-locked-banner__trash{width:var(--size-icon-xl, 32px);height:var(--size-icon-xl, 32px);border-radius:var(--radius-full, 9999px);border:var(--contour-w) solid color-mix(in srgb,var(--fg) 20%,transparent);background:var(--bg-card, #fff);color:var(--fg);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;flex-shrink:0;transition:background .12s ease,border-color .12s ease,color .12s ease,transform 80ms ease}.part-locked-banner__trash:hover{background:var(--orange);border-color:var(--orange);color:var(--on-orange, #fff)}.part-locked-banner__trash:active{background:var(--bg-card, #fff);border-color:var(--orange);color:var(--fg);transform:scale(.94)}.frame-bcad-io-toolbar{display:flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-s)}.frame-archetype-switcher{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-s);padding-bottom:var(--space-s);border-bottom:1px solid var(--border)}.frame-archetype-switcher__row{display:flex;align-items:center;gap:var(--space-s);flex-wrap:wrap}.frame-archetype-switcher__label{flex:0 0 auto;font-size:var(--type-xxs);font-weight:382;color:var(--text-muted);white-space:nowrap}.frame-archetype-switcher__pickers{display:flex;align-items:center;gap:var(--space-xs);flex:1 1 auto;min-width:0}.frame-archetype-switcher__pickers>.ds-dropdown:first-child{flex:0 0 auto;width:auto;min-width:7.5em}.frame-archetype-switcher__pickers>.ds-dropdown:last-child{flex:1 1 auto;min-width:0}.frame-archetype-switcher__desc{margin:0;font-size:var(--type-xxs);font-weight:382;color:var(--text-muted);line-height:1.35}.frame-archetype-switcher__undo{display:flex;align-items:center;gap:var(--space-s);font-size:var(--type-xxs);color:var(--text-muted);animation:frame-archetype-switcher-undo-in .16s ease}.frame-archetype-switcher__undo-btn{padding:var(--space-xxs) var(--space-s);font-size:var(--type-xxs)}@keyframes frame-archetype-switcher-undo-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.frame-archetype-switcher :focus-visible{outline:var(--contour-w) solid var(--orange);outline-offset:calc(var(--contour-w) * -1)}.param-row.read-only .price-row__value .ds-dropdown{width:auto;flex:0 0 auto;min-width:3.5em}.tl-section-body .template-item{grid-template-columns:36px 1fr auto}.tl-section-body .template-item:focus-visible{outline:none;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--orange, #FD9501) 50%,transparent)}.template-item__actions{grid-column:3;display:flex;align-items:center;gap:var(--space-xxs, 4px);align-self:center;flex-shrink:0}.template-item__trash,.template-item__pencil{display:inline-flex;align-items:center;justify-content:center;width:var(--space-l, 20px);height:var(--space-l, 20px);aspect-ratio:1 / 1;flex-shrink:0;border-radius:50%;border:1px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer;padding:0;transition:background .15s ease,color .15s ease,border-color .15s ease}.template-item__trash:hover,.template-item__pencil:hover{background:var(--orange, #FD9501);border-color:var(--orange, #FD9501);color:#fff}.template-item__vchevron{display:inline-flex;align-items:center;justify-content:center;line-height:1}.template-item__title-row{display:flex;align-items:baseline;gap:var(--space-xxs, 4px);min-width:0}.template-item__title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-item__rename-input{flex:1 1 auto;min-width:0;font:inherit;font-weight:618;font-size:var(--type-xs, 13px);text-transform:lowercase;color:var(--fg);background:var(--ctrl-glass-bg, var(--bg-card));border:var(--contour-w) solid var(--orange, #FD9501);border-radius:var(--radius-inline, var(--radius-xs, 8px));padding:0px var(--space-xxs, 6px);-webkit-backdrop-filter:var(--ctrl-glass-blur, none);backdrop-filter:var(--ctrl-glass-blur, none)}.template-item__rename-input:focus{outline:none}.template-item__rename-error{font-size:var(--type-xxs, 11px);color:var(--error, #dc2626);margin-top:1px;text-transform:none}.mybikes-flyout{z-index:90;box-sizing:border-box;display:flex;flex-direction:column;gap:2px;padding:var(--space-xs, 8px);overflow-y:auto;background:var(--ctrl-glass-bg);border:1px solid var(--ctrl-glass-border);border-radius:var(--radius-l, 14px);-webkit-backdrop-filter:var(--ctrl-glass-blur);backdrop-filter:var(--ctrl-glass-blur);box-shadow:none;color:var(--fg);scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}.mybikes-flyout::-webkit-scrollbar{width:6px}.mybikes-flyout::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.mybikes-flyout__bridge{z-index:90;background:transparent;pointer-events:auto}.save-fly-toast__view{pointer-events:auto;background:none;border:none;padding:0;margin-inline-start:var(--space-xs);font:inherit;font-weight:618;text-decoration:underline;text-underline-offset:.15em;color:inherit;cursor:pointer;text-transform:lowercase}.save-fly-toast__view:hover{opacity:var(--opacity-major)}.save-fly-toast__overlay{position:fixed;inset:0;z-index:400;pointer-events:none}@keyframes save-fly-move{0%{transform:translate(var(--fly-start-x),var(--fly-start-y)) translate(-50%,-50%) scale(1);opacity:var(--opacity-full)}65%{opacity:var(--opacity-full)}to{transform:translate(var(--fly-end-x),var(--fly-end-y)) translate(-50%,-50%) scale(.7);opacity:0}}.save-fly-toast__ghost{position:fixed;top:0;left:0;width:var(--space-xl);height:var(--space-xl);border-radius:var(--radius-full);background:var(--orange);color:var(--on-orange);display:flex;align-items:center;justify-content:center;font-size:var(--type-xxs);font-weight:618;text-transform:lowercase;box-shadow:inset 0 0 0 var(--contour-w) var(--bg-card);animation-name:save-fly-move;animation-duration:calc((var(--duration-l) + var(--duration-xl)) / 2);animation-timing-function:cubic-bezier(.22,.61,.36,1);animation-fill-mode:forwards;will-change:transform,opacity}@media(prefers-reduced-motion:reduce){.save-fly-toast__ghost{animation:none!important;display:none!important}}.about-page__quote{font-size:var(--type-m, 18px);line-height:var(--leading-relaxed, 1.618);font-weight:var(--font-weight-bold, 618);color:var(--fg);margin:0 0 var(--space-m, 14px);padding-bottom:var(--space-m, 14px);border-bottom:1px solid var(--border)}.about-page__signoff{margin-top:var(--space-l, 24px);padding-top:var(--space-m, 14px);border-top:1px solid var(--border);font-size:var(--type-xxs, 11px);color:var(--text-muted)}.about-page__signoff a{color:var(--accent-orange, var(--orange));text-decoration:none}.about-page__signoff a:hover{text-decoration:underline}.contact-form{display:flex;flex-direction:column;gap:var(--space-s, 10px)}.contact-form__lead{margin:0 0 var(--space-xs, 8px);color:var(--text-muted);font-size:var(--type-s, 14px);line-height:var(--leading-normal, 1.5)}.contact-form__field{display:flex;flex-direction:column;gap:var(--space-xxs, 4px);font-size:var(--type-xxs, 11px);color:var(--text-muted);text-transform:lowercase}.contact-form__field input,.contact-form__field textarea{padding:calc(var(--space-xs, 8px) - 1px) var(--space-s, 12px);border:var(--contour-w) solid var(--border);background:var(--bg-app);color:var(--fg);font-size:var(--type-s, 14px);font-family:inherit;outline:none}.contact-form__field input{border-radius:var(--shape-single, 999px)}.contact-form__field textarea{border-radius:var(--shape-multi, var(--radius-l));resize:vertical;min-height:calc(var(--space-xxxl, 6.2rem) * 1.2);line-height:var(--leading-normal, 1.5)}.contact-form__field input:focus,.contact-form__field textarea:focus{border-color:var(--accent-orange, var(--orange))}.contact-form__hp{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.contact-form__submit{align-self:stretch}.contact-form__error{font-size:var(--type-xxs, 11px);line-height:var(--leading-snug, 1.272);color:var(--error, #dc2626);text-align:center}.contact-form__hint{font-size:var(--type-xxs, 11px);color:var(--text-muted);text-align:center;margin:0}.contact-form__hint a{color:var(--accent-orange, var(--orange));text-decoration:none}.contact-form__hint a:hover{text-decoration:underline}.contact-form__sent{display:flex;flex-direction:column;align-items:center;gap:var(--space-s, 10px);text-align:center;padding:var(--space-l, 16px) var(--space-m, 12px);color:var(--fg)}.contact-form__sent p{margin:0;font-size:var(--type-s, 14px);line-height:var(--leading-normal, 1.5)}.bike-node{min-width:340px;max-width:420px}.bike-node .compatibility-warning{color:var(--error, #ef4444);font-size:var(--type-xxs);font-weight:618;padding:var(--space-xxs) var(--space-s);background:color-mix(in srgb,var(--error, #ef4444) 8%,transparent);border-radius:var(--radius-s);margin-top:var(--space-xxs);font-family:Haffer,sans-serif}.bike-node .compatibility-ok{color:var(--success, #22c55e);font-size:var(--type-xxs);font-weight:618;font-family:Haffer,sans-serif}:root{--space-xxs: clamp(.3313rem, .328032rem + .01373vw, .35rem);--space-xs: clamp(.5313rem, .525887rem + .022883vw, .5625rem);--space-s: clamp(.675rem, .668564rem + .02746vw, .7125rem);--space-m: clamp(.8625rem, .853919rem + .036613vw, .9125rem);--space-l: clamp(1.3938rem, 1.379805rem + .059497vw, 1.475rem);--space-xl: clamp(2.25rem, 2.227474rem + .09611vw, 2.3813rem);--space-xxl: clamp(3.6438rem, 3.60728rem + .155606vw, 3.8563rem);--space-xxxl: clamp(5.8938rem, 5.834754rem + .251716vw, 6.2375rem);--type-xxs: clamp(10px, .55vw, 14px);--type-xs: clamp(12px, .7vw, 17px);--type-s: clamp(14px, .89vw, 22px);--type-m: clamp(17px, 1.13vw, 28px);--type-l: clamp(20px, 1.44vw, 36px);--type-xl: clamp(24px, 1.83vw, 46px);--type-xxl: clamp(28px, 2.33vw, 60px);--type-xxxl: clamp(34px, 2.96vw, 76px);--radius-xxs: clamp(.3313rem, .328032rem + .01373vw, .35rem);--radius-xs: clamp(.5313rem, .525887rem + .022883vw, .5625rem);--radius-s: clamp(.675rem, .668564rem + .02746vw, .7125rem);--radius-m: clamp(.8625rem, .853919rem + .036613vw, .9125rem);--radius-l: clamp(1.3938rem, 1.379805rem + .059497vw, 1.475rem);--radius-xl: clamp(2.25rem, 2.227474rem + .09611vw, 2.3813rem);--radius-xxl: clamp(3.6438rem, 3.60728rem + .155606vw, 3.8563rem);--radius-xxxl: clamp(5.8938rem, 5.834754rem + .251716vw, 6.2375rem);--radius-inline: var(--radius-xs);--radius-input: var(--radius-s);--radius-button: var(--radius-m);--radius-card: var(--radius-m);--radius-dialog: var(--radius-l);--radius-sheet: var(--radius-xl);--radius-none: 0px;--radius-full: 9999px;--shape-single: var(--radius-full);--shape-multi: calc(var(--ctrl-h) / 2);--font-x-height: .535;--font-ascent: .95;--font-descent: .24;--phi3: 4.236068;--ctrl-h: calc(var(--type-s) * 2);--ctrl-optical-pad: calc(var(--type-s) * .175);--on-orange: #fff;--stroke-s: calc(var(--type-xs) * .146);--stroke-m: calc(var(--type-xs) * .236);--stroke-l: calc(var(--type-xs) * .382);--icon-xs: calc(var(--type-xs) * .882);--icon-s: var(--type-xs);--icon-m: calc(var(--type-xs) * 1.272);--slider-track-h: calc(var(--type-xs) * .236);--slider-thumb: var(--space-m);--toolbar-h: calc(var(--space-l) + var(--space-xxs) * 2);--header-h: calc(var(--toolbar-h) + var(--space-s) * 2);--toolbar-inset: var(--space-l);--layout-phi: 1.618;--layout-phi-inv: .618;--layout-full: 100%;--layout-half: 50%;--layout-third: 33.333%;--layout-quarter: 25%;--layout-major: 61.8%;--layout-minor: 38.2%;--layout-phi2: 72.36%;--layout-phi2-inv: 27.64%;--shadow-xs: 0 2px 4px rgba(0,0,0,.05);--shadow-s: 0 2px 4px rgba(0,0,0,.08);--shadow-m: 0 4px 8px rgba(0,0,0,.1);--shadow-l: 0 6px 12px rgba(0,0,0,.12);--shadow-xl: 0 10px 20px rgba(0,0,0,.15);--shadow-xxl: 0 17px 34px rgba(0,0,0,.18);--duration-xs: 99ms;--duration-s: 161ms;--duration-m: .26s;--duration-l: 421ms;--duration-xl: 681ms;--duration-xxl: 1101ms;--opacity-full: 1;--opacity-major: .618;--opacity-minor: .382;--opacity-subtle: .236;--opacity-faint: .146;--opacity-ghost: .09;--leading-tight: 1;--leading-snug: 1.272;--leading-normal: 1.5;--leading-relaxed: 1.618;--leading-loose: 1.7;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .05em;--tracking-wider: .08em;--font-weight-normal: 382;--font-weight-bold: 618;--size-icon-xs: 12px;--size-icon-sm: 16px;--size-icon: 20px;--size-icon-lg: 24px;--size-icon-xl: 32px;--size-avatar-xs: 24px;--size-avatar-sm: 32px;--size-avatar: 36px;--size-avatar-lg: 40px;--size-avatar-xl: 48px;--size-indicator: 6px;--size-handle: 8px;--size-divider: 1px;--size-swatch: 20px;--touch-min: 24px;--touch-target: 44px;--touch-comfy: 48px}button,[role=button],select,.phi-pill-toggle__item,[class*=pill],[class*=btn],[class*=menu-item],[class*=nav-item],[class*=tab-trigger],[class*=toggle]{font-weight:618!important;font-family:Haffer,sans-serif!important}.btn,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 var(--space-l);padding-bottom:var(--ctrl-optical-pad);border-radius:var(--shape-single, 999px);corner-shape:superellipse;-webkit-corner-shape:superellipse;font-family:Haffer,-apple-system,BlinkMacSystemFont,Inter,system-ui,sans-serif;font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"ss01" 1,"ss03" 1,"ss04" 1,"ss05" 1,"tnum" 1,"zero" 1;font-size:var(--type-s);font-weight:618;text-transform:lowercase;text-decoration:none;cursor:pointer;line-height:1;white-space:nowrap;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease;height:var(--ctrl-h, 44px);min-height:var(--ctrl-h, 44px);box-sizing:border-box}.btn:not(.btn-ghost):not(.btn-secondary){background:var(--orange, #FD9501);color:#fff;border:var(--contour-w) solid var(--orange, #FD9501)}.btn:not(.btn-ghost):not(.btn-secondary):hover,.btn-primary:hover,button.btn:hover,a.btn:not(.btn-ghost):not(.btn-secondary):hover{background:#000!important;color:#fff!important;border-color:#000!important}[data-theme=dark] .btn:not(.btn-ghost):not(.btn-secondary):hover,[data-theme=dark] .btn-primary:hover,[data-theme=dark] button.btn:hover,[data-theme=dark] a.btn:not(.btn-ghost):not(.btn-secondary):hover{background:#fff!important;color:#000!important;border-color:#fff!important}.btn-ghost,.btn-secondary{background:transparent!important;color:var(--fg)!important;border:var(--contour-w) solid var(--orange, #FD9501)!important}.btn-ghost:hover,.btn-secondary:hover{background:var(--orange, #FD9501)!important;color:#fff!important;border-color:var(--orange, #FD9501)!important}.btn-icon,.btn .btn-icon,.btn-ghost .btn-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--icon-s);height:var(--icon-s);flex-shrink:0}.btn-icon svg,.btn .btn-icon svg,.btn-ghost .btn-icon svg{stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.btn .btn-label,.btn-ghost .btn-label{display:inline-block}.btn-icon-only{box-sizing:border-box;width:var(--ctrl-h);height:var(--ctrl-h);min-height:var(--ctrl-h);padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--toolbar-bg);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);border:var(--contour-w) solid transparent;color:var(--fg);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.btn-icon-only:hover,.btn-icon-only:focus-visible{border-color:var(--orange, #FD9501)}.btn-icon-only.is-active,.btn-icon-only[aria-pressed=true]{background:var(--orange, #FD9501);border-color:var(--orange, #FD9501);color:var(--on-orange, #fff)}.btn-icon-only svg{stroke:currentColor;fill:none;stroke-width:1.8}.btn--lg{--ctrl-h: calc(var(--type-m) * var(--font-x-height) * var(--phi3));font-size:var(--type-m);padding:var(--space-m) var(--space-xl) calc(var(--space-m) + var(--ctrl-optical-pad)) var(--space-xl);min-height:var(--ctrl-h)}.btn--sm{--ctrl-h: calc(var(--type-xs) * var(--font-x-height) * var(--phi3));font-size:var(--type-xs);padding:var(--space-xs) var(--space-m) calc(var(--space-xs) + var(--ctrl-optical-pad)) var(--space-m);min-height:var(--ctrl-h);gap:var(--space-xs)}.btn:disabled,.btn[aria-disabled=true],.btn-ghost:disabled,.btn-ghost[aria-disabled=true]{opacity:.382;pointer-events:none;cursor:not-allowed}.btn:focus,.btn-ghost:focus,.btn-icon-only:focus{outline:none}.btn:focus-visible,.btn-ghost:focus-visible,.btn-icon-only:focus-visible{outline:none;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--orange, #FD9501) 50%,transparent)}[data-btn-context=photo] .btn:hover,[data-btn-context=photo] a.btn:hover{background:#0000009e!important;color:#fff!important;border-color:transparent!important}a:not([class*=btn]):not([class*=pill]):not([class*=ono-headroom-nav]):not([class*=phi-pill-toggle]):not([class*=counter]):not([class*=tab]):hover{opacity:.618;transition:opacity .15s ease}[data-tooltip],[data-tooltip-system]{position:relative}.ono-tooltip{position:fixed;z-index:9999;max-width:320px;padding:var(--space-s, 12px) var(--space-m, 16px);background:var(--bg, #FAFAF6);color:var(--fg, #1A1A1A);border:1px solid var(--line, rgba(0,0,0,.08));border-radius:var(--shape-multi, var(--radius-l, 12px));box-shadow:0 8px 32px #00000040;font-family:Haffer,-apple-system,system-ui,sans-serif;font-size:var(--type-xs, 13px);line-height:1.5;font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"ss01" 1,"ss03" 1,"ss04" 1,"ss05" 1,"tnum" 1,"zero" 1;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease;text-transform:none}.ono-tooltip.visible{opacity:1;transform:translateY(0);pointer-events:auto}html[data-theme=dark] .ono-tooltip,body.gamut-active .ono-tooltip{background:#18181bf2;color:var(--on-orange, #fff);border-color:#ffffff1a;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%)}.ono-tooltip__head{font-size:var(--type-xs, 13px);font-weight:var(--fw-b, 618);color:var(--orange, #FD9501);letter-spacing:.04em;text-transform:uppercase;margin-bottom:var(--space-xxs, 4px)}.ono-tooltip__meta{font-size:var(--type-xxs, 11px);margin-bottom:var(--space-xs, 8px);display:flex;flex-wrap:wrap;gap:var(--space-xxs, 4px) var(--space-xs, 8px)}.ono-tooltip__meta-chip{display:inline-flex;align-items:center;padding:2px var(--space-xs, 8px);border-radius:var(--shape-single, var(--radius-full, 9999px));background:#0000000f;font-weight:var(--fw-b, 618)}html[data-theme=dark] .ono-tooltip__meta-chip,body.gamut-active .ono-tooltip__meta-chip{background:#ffffff14}.ono-tooltip__body{font-size:var(--type-xs, 13px);font-weight:var(--fw, 382)}.ono-tooltip__use{margin-top:var(--space-xs, 8px);padding-top:var(--space-xs, 8px);border-top:1px solid rgba(0,0,0,.06);font-size:var(--type-xxs, 11px)}html[data-theme=dark] .ono-tooltip__use,body.gamut-active .ono-tooltip__use{border-top-color:#ffffff14}.ono-tooltip__use-label{font-weight:var(--fw-b, 618);color:var(--orange, #FD9501);margin-right:var(--space-xxs, 4px)}.range-slider{display:grid;grid-template-rows:auto auto auto;gap:var(--space-xxs);font-family:Haffer,-apple-system,BlinkMacSystemFont,Inter,system-ui,sans-serif;font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"ss01" 1,"ss03" 1,"ss04" 1,"ss05" 1,"tnum" 1,"zero" 1;font-size:var(--type-xs);color:var(--fg, #1a1a1a);position:relative}.range-slider button,.range-slider input,.range-slider select{font-family:inherit;font-feature-settings:inherit}.range-slider__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);min-height:var(--ctrl-h)}.range-slider__label{font-weight:618;text-transform:lowercase;color:var(--fg);font-size:var(--type-xs);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.range-slider__lock{flex:0 0 auto;border:0;background:transparent;padding:0 2px;font-size:var(--type-xxs);line-height:1;cursor:pointer;opacity:.22;filter:grayscale(1);transition:opacity .12s ease,filter .12s ease}.range-slider:hover .range-slider__lock{opacity:.6}.range-slider__lock:hover{opacity:1}.range-slider__lock.is-locked{opacity:1;filter:none}.range-slider__info-wrap{position:relative;display:none;align-items:center}.range-slider:hover .range-slider__info-wrap{display:inline-flex}.range-slider__info{width:14px;height:14px;border-radius:50%;border:var(--contour-w) solid var(--orange, #FD9501);background:transparent;color:var(--orange, #FD9501);cursor:help;display:inline-flex;align-items:center;justify-content:center;padding:0;margin:0;flex-shrink:0;transition:background var(--duration-s, .12s) ease,color var(--duration-s, .12s) ease}.range-slider__info:hover,.range-slider__info:focus-visible{background:var(--orange, #FD9501);color:var(--on-orange, #fff);outline:none}.range-slider__tooltip{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--fg, #1a1a1a);color:var(--bg-card, #fff);font-size:var(--type-xxs);font-family:Haffer,system-ui,sans-serif;font-feature-settings:inherit;padding:var(--space-xxs) var(--space-xs);border-radius:var(--radius-s, 6px);max-width:220px;white-space:normal;z-index:999;pointer-events:none;line-height:1.4}.range-slider__value-row{display:inline-flex;align-items:center;gap:var(--space-xxs);flex-shrink:0;justify-content:flex-end}.range-slider__value{background:transparent;border:1.5px solid transparent;color:var(--fg, #1a1a1a);text-align:right;font-variant-numeric:tabular-nums;font-feature-settings:inherit;font-family:inherit;font-weight:618;font-size:var(--type-s);padding:2px var(--space-xs);border-radius:var(--radius-full, 999px);cursor:pointer;line-height:1;transition:border-color var(--duration-s, .15s)}.range-slider__value:hover,.range-slider__value:focus-visible{border-color:var(--orange, #FD9501);outline:none}.range-slider__value.is-off-standard{text-decoration:underline dotted var(--orange, #FD9501);text-underline-offset:3px}.range-slider__edit-input{width:72px;padding:1.5px var(--space-xs);border:var(--contour-w) solid var(--orange, #FD9501);border-radius:var(--radius-full, 999px);font-family:inherit;font-feature-settings:inherit;font-variant-numeric:tabular-nums;font-weight:618;font-size:var(--type-s);color:var(--fg, #1a1a1a);background:var(--bg-card, #fff);text-align:center;line-height:1}.range-slider__edit-input:focus{outline:none}.range-slider__edit-input::-webkit-outer-spin-button,.range-slider__edit-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.range-slider__unit-toggle{display:inline-flex;border-radius:var(--radius-full, 999px);background:var(--bg-muted, rgba(0,0,0,.06));padding:2px;gap:1px}.range-slider__unit-btn{background:transparent;border:0;font-family:inherit;font-feature-settings:inherit;font-size:var(--type-xxs);padding:2px var(--space-s);border-radius:var(--radius-full, 999px);cursor:pointer;color:var(--fg, #1a1a1a);opacity:var(--opacity-subtle, .36);text-transform:lowercase;font-weight:618;min-height:var(--ctrl-h)}.range-slider__unit-btn.is-active{background:var(--orange, #FD9501);color:var(--on-orange, #fff);opacity:1}.range-slider__track{position:relative;width:100%;height:16px}.range-slider__layer{position:absolute;inset:0;pointer-events:none;z-index:0}.range-slider__layer--bg{opacity:1;z-index:1}.range-slider__layer--active{opacity:1;z-index:2}.range-slider__line{position:absolute;left:0;right:0;top:50%;height:5px;transform:translateY(-50%);border-radius:999px;background:var(--orange, #FD9501)}.range-slider__dot{position:absolute;top:50%;width:8px;height:8px;border-radius:50%;transform:translate(-50%,-50%);background:var(--orange, #FD9501)}.range-slider__input{-webkit-appearance:none;appearance:none;width:100%;height:16px;outline:none;position:absolute;top:0;left:0;background:transparent;cursor:pointer;margin:0;z-index:4}.range-slider__input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:13px;height:13px;background:var(--orange, #FD9501);border-radius:50%;cursor:pointer;border:0;box-shadow:none;margin-top:0}.range-slider__input::-moz-range-thumb{width:13px;height:13px;background:var(--orange, #FD9501);border-radius:50%;cursor:pointer;border:0;box-shadow:none}.range-slider__input::-moz-range-track{background:transparent;border:0}.range-slider__steps{position:absolute;inset:0;pointer-events:none;z-index:3}.range-slider__step-click{position:absolute;top:50%;width:14px;height:14px;border-radius:50%;transform:translate(-50%,-50%);background:transparent;border:0;padding:0;cursor:pointer;pointer-events:auto}.range-slider__step-labels{display:flex;justify-content:space-between;font-size:var(--type-xxs);font-variant-numeric:tabular-nums;font-feature-settings:inherit;color:var(--fg, #1a1a1a);opacity:1}[data-theme=dark] .range-slider__layer--bg{opacity:.3}.range-slider__unit-group{display:inline-flex;align-items:center;gap:var(--space-xxs, 4px)}.range-slider__unit-pill{background:transparent;color:var(--fg, #1a1a1a);border:var(--contour-w) solid var(--orange, #FD9501);font-family:inherit;font-feature-settings:inherit;font-size:var(--type-xxs);padding:1px var(--space-xs);border-radius:var(--radius-full, 999px);cursor:pointer;text-transform:lowercase;font-weight:618;min-height:var(--ctrl-h);min-width:3em;width:3em;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;line-height:1;transition:background var(--duration-s, .12s) ease,color var(--duration-s, .12s) ease;user-select:none}.range-slider__unit-pill:hover,.range-slider__unit-pill:focus-visible{background:color-mix(in srgb,var(--orange, #FD9501) 10%,transparent);outline:none}.range-slider__unit-pill.is-active{background:var(--orange, #FD9501);color:var(--on-orange, #ffffff)}.range-slider__unit-pill.is-active:hover,.range-slider__unit-pill.is-active:focus-visible{background:var(--orange, #FD9501);filter:brightness(1.06)}.range-slider__unit-pill:active{transform:scale(.94)}.range-slider__unit-pill.is-static{cursor:default;border-style:dashed;opacity:.78}.range-slider__unit-suffix{color:var(--fg, #1a1a1a);font-size:var(--type-xs);font-weight:618;text-transform:lowercase;min-width:24px;text-align:center}.range-slider__unit-badge{appearance:none;background:transparent;border:none;color:var(--fg, #1a1a1a);font-size:var(--type-xs);font-weight:618;font-family:inherit;text-transform:lowercase;min-width:24px;text-align:center;padding:2px 8px;border-radius:999px;cursor:pointer;transition:background .12s ease,color .12s ease}.range-slider__unit-badge:hover,.range-slider__unit-badge:focus-visible{background:var(--accent-orange, var(--orange, #FD9501));color:var(--on-orange, #fff);outline:none}.range-slider__unit-toggle,.range-slider__unit-btn{display:none!important}.floor-toggle{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:#0000009e;border:var(--contour-w) solid rgba(255,255,255,.18);color:#fff;border-radius:50%;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:0;pointer-events:auto;transition:background var(--duration-s, .15s) ease,border-color var(--duration-s, .15s) ease,transform var(--duration-s, .12s) ease}[data-theme=light] .floor-toggle{background:#ffffffb3;border-color:#00000026;color:#1a1a1a}[data-theme=light] .floor-toggle.is-active{background:var(--orange, #FD9501);border-color:var(--orange, #FD9501);color:#fff}.floor-toggle:hover,.floor-toggle:focus-visible{outline:none;transform:scale(1.04)}.floor-toggle:active{transform:scale(.96)}.floor-toggle.is-active{background:var(--orange, #FD9501);border-color:var(--orange, #FD9501);color:#fff}.coat-section{margin-top:var(--space-s);padding-top:var(--space-s);border-top:1px solid var(--border-subtle, rgba(0, 0, 0, .08))}.coat-section__head{margin-bottom:var(--space-xs)}.coat-section__title{font-size:var(--type-xxs);font-weight:618;text-transform:uppercase;letter-spacing:.04em;opacity:var(--opacity-subtle, .62);color:var(--fg)}.coat-section__grid{gap:var(--space-xxs)}.coat-section__color-row{align-items:center}.coat-section__color-wrap{display:inline-flex;align-items:center;gap:var(--space-xs)}.coat-section__color-picker{width:32px;height:32px;border:1.5px solid var(--border-subtle, rgba(0, 0, 0, .12));border-radius:var(--radius-s, 6px);padding:0;cursor:pointer;background:transparent}.coat-section__color-picker::-webkit-color-swatch-wrapper{padding:2px}.coat-section__color-picker::-webkit-color-swatch{border:0;border-radius:var(--radius-xs, 4px)}.coat-section__color-picker::-moz-color-swatch{border:0;border-radius:var(--radius-xs, 4px)}.coat-section__color-hex{font-size:var(--type-xxs);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;font-weight:618;color:var(--orange, #FD9501)}[data-theme=dark] .coat-section{border-top-color:var(--border)}[data-theme=dark] .coat-section__color-picker{border-color:var(--border-strong)}.coat-section,.coat-section__title,.coat-section__color-hex{font-family:Haffer,-apple-system,BlinkMacSystemFont,Inter,system-ui,sans-serif;font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"ss01" 1,"ss03" 1,"ss04" 1,"ss05" 1,"tnum" 1,"zero" 1}@font-face{font-family:Haffer;src:url(/fonts/Haffer-382.woff2) format("woff2");font-weight:382;font-style:normal;font-display:swap}@font-face{font-family:Haffer;src:url(/fonts/Haffer-618.woff2) format("woff2");font-weight:618;font-style:normal;font-display:swap}html,body,div,span,h1,h2,h3,h4,h5,h6,p,label,button,input,select,textarea,a,li,ul,ol,strong,em,summary,details,table,td,th,pre,code,nav,aside,header,footer,main,section{font-family:Haffer,Inter,system-ui,-apple-system,sans-serif;font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"ss01" 1,"ss03" 1,"ss04" 1,"ss05" 1,"tnum" 1,"zero" 1}:root{--header-h: calc(var(--space-xxl) + var(--space-xl) + var(--space-l));--header-edge-w: 300px;--viewer-ground-3d: var(--bg, #f5f2ec);--orange: #FD9501;--accent: #FD9501;--accent-orange: #FD9501;--accent-fg: var(--on-orange);--contour-w: 2px;--success: #16a34a;--error: #dc2626;--warn: #eab308;--fg: #1a1a1a;--bg: #fafafa;--bg-app: var(--bg);--bg-card: #ffffff;--bg-muted: #f5f5f5;--border: #e5e5e5;--border-strong: #d4d4d4;--text: var(--fg);--slider-rec-zone: #fff;--text-muted: var(--fg);--muted-foreground: var(--text-muted);--foreground: var(--fg);--background: var(--bg-card);--muted: var(--bg-muted);--chip-bg: rgba(0, 0, 0, .05);--chip-border: rgba(0, 0, 0, .1);--glass-dark-bg: rgba(20, 20, 22, .42);--glass-dark-border: rgba(255, 255, 255, .1);--glass-light-bg: rgba(255, 255, 255, .55);--glass-light-border: rgba(0, 0, 0, .08);--scrollbar-thumb: rgba(0, 0, 0, .18);--stats-row-border: rgba(0, 0, 0, .04);--select-chevron-color: %231a1a1a;--catalog-item-bg: rgba(0, 0, 0, .02);--catalog-item-border: rgba(0, 0, 0, .06);--catalog-item-hover-bg: rgba(0, 0, 0, .04);--catalog-item-hover-border: rgba(0, 0, 0, .1);--catalog-pill-bg: rgba(0, 0, 0, .04);--catalog-pill-border: rgba(0, 0, 0, .08);--catalog-pill-hover-bg: rgba(0, 0, 0, .08);--catalog-pill-hover-border: rgba(0, 0, 0, .14);--catalog-detail-bg: rgba(0, 0, 0, .04);--toolbar-bg: rgba(255, 255, 255, .85);--toolbar-border: rgba(0, 0, 0, .08);--ctrl-glass-bg: rgba(255, 255, 255, .62);--ctrl-glass-border: rgba(0, 0, 0, .1);--ctrl-glass-blur: blur(18px) saturate(140%);--toolbar-btn-hover-bg: rgba(0, 0, 0, .06);--floating-head-bg: rgba(0, 0, 0, .02);--floating-head-border: rgba(0, 0, 0, .06);--floating-btn-hover-bg: rgba(0, 0, 0, .06);--popover-light-bg: rgba(255, 255, 255, .55);--popover-light-border: rgba(0, 0, 0, .08);--popover-close-hover: rgba(0, 0, 0, .06);--schaltung-chart-bg: rgba(0, 0, 0, .02);--badge-warn-bg: color-mix(in srgb, var(--warn) 8%, transparent);--badge-warn-border: color-mix(in srgb, var(--warn) 40%, transparent);--badge-success-bg: color-mix(in srgb, var(--success) 8%, transparent);--badge-success-border: color-mix(in srgb, var(--success) 40%, transparent);--badge-error-bg: color-mix(in srgb, var(--error) 8%, transparent);--badge-error-border: color-mix(in srgb, var(--error) 40%, transparent);--placeholder-color: rgba(26, 26, 26, .45);--meta-color: var(--fg);--node-blue-accent: #336aea;--node-green-accent: #22c55e}[data-theme=light]{--fg: #1a1a1a;--bg: #fafafa;--bg-card: #ffffff;--bg-muted: #f5f5f5;--border: #e5e5e5;--border-strong: #d4d4d4;--text-muted: var(--fg);--muted-foreground: var(--text-muted);--foreground: var(--fg);--background: var(--bg-card);--muted: var(--bg-muted)}[data-theme=dark]{--viewer-ground-3d: #201d18;--fg: #f5f5f5;--bg: #0e0e10;--bg-card: #18181b;--bg-muted: #27272a;--border: #2a2a2a;--border-strong: #3f3f46;--slider-rec-zone: var(--bg-muted);--text-muted: var(--fg);--muted-foreground: var(--text-muted);--foreground: var(--fg);--background: var(--bg-card);--muted: var(--bg-muted);--chip-bg: rgba(255, 255, 255, .06);--chip-border: rgba(255, 255, 255, .12);--scrollbar-thumb: rgba(255, 255, 255, .18);--stats-row-border: rgba(255, 255, 255, .04);--select-chevron-color: %23f5f5f5;--catalog-item-bg: rgba(255, 255, 255, .03);--catalog-item-border: rgba(255, 255, 255, .06);--catalog-item-hover-bg: rgba(255, 255, 255, .06);--catalog-item-hover-border: rgba(255, 255, 255, .14);--catalog-pill-bg: rgba(255, 255, 255, .05);--catalog-pill-border: rgba(255, 255, 255, .1);--catalog-pill-hover-bg: rgba(255, 255, 255, .1);--catalog-pill-hover-border: rgba(255, 255, 255, .18);--catalog-detail-bg: rgba(0, 0, 0, .2);--toolbar-bg: rgba(24, 24, 27, .78);--toolbar-border: rgba(255, 255, 255, .08);--ctrl-glass-bg: rgba(24, 24, 27, .58);--ctrl-glass-border: rgba(255, 255, 255, .12);--ctrl-glass-blur: blur(18px) saturate(140%);--toolbar-btn-hover-bg: rgba(255, 255, 255, .08);--floating-head-bg: rgba(0, 0, 0, .12);--floating-head-border: rgba(255, 255, 255, .06);--floating-btn-hover-bg: rgba(255, 255, 255, .08);--popover-light-bg: rgba(20, 20, 22, .45);--popover-light-border: rgba(255, 255, 255, .1);--popover-close-hover: rgba(255, 255, 255, .08);--schaltung-chart-bg: rgba(255, 255, 255, .02);--placeholder-color: rgba(245, 245, 245, .4);--meta-color: var(--fg);--node-blue-accent: #5b8fff;--node-green-accent: #4ade80}[data-theme=dark] .param-row select,[data-theme=dark] .ds-select,[data-theme=dark] .topology-selector select{background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%2712%27 viewBox=%270 0 12 12%27 fill=%27none%27 stroke=%27%23f5f5f5%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27><polyline points=%273 5 6 8 9 5%27/></svg>")!important}[data-theme=dark] .ds-select--compact{background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%2712%27 viewBox=%270 0 12 12%27 fill=%27none%27 stroke=%27%23f5f5f5%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27><polyline points=%273 5 6 8 9 5%27/></svg>")!important}[data-theme=dark] .ds-select--compact:hover,[data-theme=dark] .ds-select--compact:focus{background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%2712%27 viewBox=%270 0 12 12%27 fill=%27none%27 stroke=%27%23ffffff%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27><polyline points=%273 5 6 8 9 5%27/></svg>")!important}:root{--logo-sun: #FD9501;--logo-ring: #FD9501;--logo-core: #000000}[data-theme=light]{--logo-core: #000000}[data-theme=dark]{--logo-core: #ffffff}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--logo-core: #ffffff}}[data-theme-choice=auto] [data-theme-toggle]:after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--orange);margin-left:4px;vertical-align:super}:focus{outline:none}:focus-visible{outline:var(--contour-w) solid var(--orange);outline-offset:calc(-1 * var(--contour-w))}html,body,#root{height:100%;margin:0}body{font-family:Haffer,system-ui,-apple-system,sans-serif;background:var(--bg-app);color:var(--fg);font-size:var(--type-xs);line-height:var(--leading-normal);overflow:hidden;font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"ss01" 1,"ss03" 1,"ss04" 1,"ss05" 1,"tnum" 1,"zero" 1}button,input,select,textarea,optgroup,[class*=range-slider],[class*=catalog-],[class*=template-],[class*=bom-],[class*=warning-],[class*=suggestion-],[class*=fge-],[class*=ds-],[class*=param-],[class*=modal],[class*=tl-],[class*=config-],svg text{font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"ss01" 1,"ss03" 1,"ss04" 1,"ss05" 1,"tnum" 1,"zero" 1;font-family:Haffer,system-ui,-apple-system,sans-serif}a:not([class*=btn]):hover{opacity:var(--opacity-major)}.viewer-layout{display:grid;grid-template-rows:var(--header-h, 56px) 1fr;height:100vh}.vl-header{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:var(--space-l);padding:0 var(--space-l);border-bottom:1px solid var(--border);background:var(--bg-card)}.vl-brand{display:flex;align-items:baseline;gap:var(--space-s)}.vl-brand h1{font-size:var(--type-m);margin:0;letter-spacing:var(--tracking-tight);font-weight:618}.muted{color:var(--text-muted);font-size:var(--type-xxs)}.view-mode-switch{display:inline-flex;background:var(--bg-muted);padding:2px;border-radius:var(--radius-full);gap:2px;justify-self:center}.view-mode-switch button{background:transparent;border:0;padding:var(--space-xxs) var(--space-l);border-radius:var(--radius-full);font-size:var(--type-xxs);cursor:pointer;color:var(--text-muted);font-weight:618;text-transform:lowercase;min-height:28px}.view-mode-switch button.active{background:var(--fg);color:var(--bg-card)}.vl-meta{display:flex;align-items:center;gap:var(--space-s);font-size:var(--type-xxs)}.vl-meta .config-name{color:var(--text-muted)}.vl-meta button.link{background:transparent;border:0;color:var(--text-muted);cursor:pointer;font-size:var(--type-xxs);text-decoration:underline}.vl-body{display:grid;grid-template-columns:1fr 360px;height:calc(100vh - var(--header-h, 56px));overflow:hidden}.viewer-wrap{position:relative;background:var(--bg-app);height:100%;overflow:hidden}.viewer-wrap.viewer-2d{padding:var(--space-l)}.viewer-wrap.viewer-3d{background:var(--bg-muted)}.viewer-wrap.viewer-graph{background:var(--bg-card)}.parametric-sidebar{border-left:1px solid var(--border);background:var(--bg-card);overflow-y:auto;padding:var(--space-l)}.parametric-sidebar h2{font-size:var(--type-s);margin:0 0 var(--space-s);font-weight:618;text-transform:lowercase}.parametric-sidebar h3{font-size:var(--type-xxs);margin:var(--space-l) 0 var(--space-xs);color:var(--text-muted);text-transform:lowercase}.parametric-sidebar h4{font-size:var(--type-xxs);margin:var(--space-s) 0 var(--space-xxs);color:var(--text-muted);text-transform:lowercase}.param-section{border-bottom:1px solid var(--border)}.param-section.selected{background:color-mix(in srgb,var(--orange) 6%,transparent)}.param-section .section-head{display:grid;grid-template-columns:16px 1fr auto;align-items:center;gap:var(--space-xs);width:100%;padding:var(--space-xs) var(--space-xxs);background:transparent;border:0;text-align:left;cursor:pointer;font-size:var(--type-xs);color:var(--fg);border-radius:var(--radius-s)}.param-section .section-head:hover{background:var(--bg-muted)}.param-section .label{font-weight:618;text-transform:lowercase}.param-section .meta{color:var(--text-muted);font-size:var(--type-xxs)}.param-section .caret{color:var(--text-muted)}.section-body{padding:var(--space-xs) var(--space-xxs) var(--space-s)}.meta-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xs);margin-bottom:var(--space-xs)}.params-grid{display:grid;gap:var(--space-s)}.param-row{display:grid;grid-template-columns:minmax(0,max-content) minmax(0,1fr);align-items:center;gap:var(--space-s)}.param-row{min-width:0;max-width:100%;box-sizing:border-box}.param-row>*{min-width:0;max-width:100%}.param-row select,.param-row input{text-overflow:ellipsis}.parametric-sidebar,.params-card-wrap,.floating-card__body{min-width:0;max-width:100%;overflow-x:hidden}.param-row label{font-size:var(--type-xs);font-weight:618;color:var(--fg, var(--fg));text-transform:lowercase;opacity:1;letter-spacing:0}.param-row select{padding:var(--space-xxs) var(--space-l) var(--space-xxs) var(--space-s);border:1.5px solid var(--orange, var(--orange));border-radius:var(--radius-full);font-family:inherit;font-feature-settings:inherit;font-size:var(--type-xs);font-weight:618;background-color:transparent;background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%2712%27 viewBox=%270 0 12 12%27 fill=%27none%27 stroke=%27%231a1a1a%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27><polyline points=%273 5 6 8 9 5%27/></svg>");background-repeat:no-repeat;background-position:right var(--space-xs) center;color:var(--fg, var(--fg));cursor:pointer;min-height:var(--ctrl-h, 30px);-webkit-appearance:none;-moz-appearance:none;appearance:none;text-transform:lowercase;text-align:center;text-align-last:center}.param-row select:hover,.param-row select:focus{border-color:var(--orange, var(--orange))}.param-row:has(>select:not(.ds-select--compact)),.param-row:has(>.ds-dropdown),.param-row.param-row--stacked{grid-template-columns:1fr!important;grid-template-rows:auto auto;gap:var(--space-xxs, 4px)}.param-row:has(>select:not(.ds-select--compact))>select,.param-row:has(>.ds-dropdown)>.ds-dropdown,.param-row:has(>select:not(.ds-select--compact))>.ds-select,.param-row.param-row--stacked>select,.param-row.param-row--stacked>.ds-select{width:100%;min-height:var(--ctrl-h);font-size:var(--type-xs)}.topology-selector{grid-template-columns:1fr;gap:var(--space-xxs)}.topology-selector select{width:100%;min-height:var(--ctrl-h)}.ds-text-input,.param-row input,.meta-row input{box-sizing:border-box;padding:0 var(--space-s);border:var(--contour-w) solid var(--border-strong);border-radius:var(--shape-single);font-size:var(--type-xs);width:100%;height:var(--ctrl-h);min-height:var(--ctrl-h);background:var(--bg-card);color:var(--fg)}.ds-text-input:focus,.param-row input:focus,.meta-row input:focus{border-color:var(--orange)}.ds-select{text-align:center;text-align-last:center;padding:var(--space-xxs) var(--space-l) calc(var(--space-xxs) + var(--ctrl-optical-pad)) var(--space-s);border:var(--contour-w) solid var(--orange, var(--orange));border-radius:var(--shape-single, 9999px);font-family:inherit;font-feature-settings:inherit;font-size:var(--type-xs);font-weight:618;background-color:transparent;background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%2712%27 viewBox=%270 0 12 12%27 fill=%27none%27 stroke=%27%231a1a1a%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27><polyline points=%273 5 6 8 9 5%27/></svg>");background-repeat:no-repeat;background-position:right var(--space-xs) center;color:var(--fg, var(--fg));cursor:pointer;min-height:var(--ctrl-h, 30px);-webkit-appearance:none;-moz-appearance:none;appearance:none;text-transform:lowercase}.ds-select:hover,.ds-select:focus{border-color:var(--orange, var(--orange))}.ds-select--compact{padding:1px 18px 1px var(--space-xs);min-height:22px;min-width:44px;width:auto;font-size:var(--type-xxs);background-position:right 4px center;background-size:10px 10px;border:1.5px solid var(--orange, var(--orange));background-color:transparent;color:var(--fg, var(--fg));background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%2712%27 viewBox=%270 0 12 12%27 fill=%27none%27 stroke=%27%231a1a1a%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27><polyline points=%273 5 6 8 9 5%27/></svg>");transition:background-color var(--duration-s, .12s) ease,color var(--duration-s, .12s) ease}.ds-select--compact:hover,.ds-select--compact:focus{background-color:var(--orange, var(--orange));color:var(--on-orange, #ffffff);background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%2712%27 viewBox=%270 0 12 12%27 fill=%27none%27 stroke=%27%23ffffff%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27><polyline points=%273 5 6 8 9 5%27/></svg>")}.ds-select--compact option{background-color:var(--bg-card, #ffffff);color:var(--fg, var(--fg))}.warning-list{margin-top:var(--space-l)}.warning-list-header{display:flex;justify-content:space-between;align-items:center}.warning-list .empty{color:var(--text-muted);font-style:italic;font-size:var(--type-xxs)}.warning-list ul{list-style:none;padding:0;margin:0}.warning-item,.suggestion-item{display:grid;grid-template-columns:18px 1fr auto;gap:var(--space-xs);align-items:start;padding:var(--space-xs);background:var(--bg-muted);border-radius:var(--radius-m);margin-bottom:var(--space-xs);border-left:3px solid var(--warn)}.warning-item.tone-error{border-left-color:var(--error)}.warning-item.tone-info{border-left-color:var(--text-muted)}.warning-item.tone-warn{border-left-color:var(--warn)}.warning-icon{width:18px;height:18px;border-radius:50%;color:var(--bg-card);background:var(--warn);font-size:var(--type-xxs);display:flex;align-items:center;justify-content:center;font-weight:618}.tone-error .warning-icon{background:var(--error)}.tone-info .warning-icon{background:var(--text-muted)}.tone-warn .warning-icon{background:var(--warn)}.warning-message{font-size:var(--type-xs);color:var(--fg)}.warning-meta{font-size:var(--type-xxs);color:var(--text-muted);margin-top:2px}.node-link{color:var(--fg);cursor:pointer;text-decoration:underline dotted var(--orange);text-underline-offset:2px}.suggestion-item{border-left-color:var(--success)}.suggestion-body{font-size:var(--type-xs);color:var(--fg)}.suggestion-body code{background:var(--bg-card);padding:1px 6px;border-radius:var(--radius-full);font-size:var(--type-xxs)}.bom-summary{margin-top:var(--space-l);padding-top:var(--space-s);border-top:1px solid var(--border)}.bom-totals{display:grid;gap:var(--space-xs);margin-bottom:var(--space-s)}.bom-totals>div{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--type-xs)}.bom-totals strong{font-size:var(--type-s);font-weight:618;font-variant-numeric:tabular-nums;color:var(--orange)}.bom-actions{display:grid;gap:var(--space-xxs)}.parametric-sidebar>.bom-summary:first-of-type{border:1.5px solid var(--orange);padding:var(--space-s);border-radius:var(--radius-m);margin-bottom:var(--space-l);background:color-mix(in srgb,var(--orange) 4%,transparent)}.parametric-sidebar>.bom-summary:first-of-type h3{margin-top:0;color:var(--fg)}.parametric-sidebar>.bom-summary:first-of-type .bom-totals strong{font-size:var(--type-m)}.template-library{border-right:1px solid var(--border);background:var(--bg-card);overflow-y:auto;padding:var(--space-s) var(--space-xs)}.tl-header{display:flex;justify-content:space-between;align-items:center;padding:0 var(--space-xxs);margin-bottom:var(--space-xs)}.tl-header h2{font-size:var(--type-s);margin:0;font-weight:618;text-transform:lowercase}.tl-section{margin-bottom:var(--space-xs)}.tl-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);width:100%;padding:var(--space-s) var(--space-xs);background:transparent;border:none;color:var(--fg);font:inherit;font-size:var(--type-s);font-weight:618;text-transform:lowercase;text-align:left;cursor:pointer;border-radius:var(--radius-s)}.tl-section-title{flex:1 1 auto}.tl-section-chevron{flex:0 0 auto;color:var(--fg);font-size:var(--type-xs);opacity:.7}.tl-section-head:hover{background:var(--bg-muted)}.tl-section-body{padding-left:var(--space-xxs)}.tl-group-divider{padding:var(--space-m, 14px) var(--space-xs, 6px) var(--space-xxs, 4px);font-size:var(--type-xxs);font-weight:618;letter-spacing:.04em;text-transform:lowercase;color:var(--text-muted);border-top:1px solid var(--border);margin-top:var(--space-xs, 6px)}.template-item{display:grid;grid-template-columns:36px 1fr;gap:var(--space-xs);align-items:center;width:100%;padding:var(--space-xs);background:transparent;border:1px solid transparent;border-radius:var(--radius-m);cursor:pointer;text-align:left;margin-bottom:2px;color:var(--fg)}.template-item:hover{background:var(--bg-muted);border-color:var(--orange)}.template-item--active{background:var(--bg-muted);border-color:var(--orange);border-width:1.5px}.template-item--active .template-thumb{box-shadow:inset 0 0 0 2.5px var(--bg-card, #fff)}.template-thumb{width:36px;height:36px;background:var(--orange);color:var(--on-orange);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--type-xxs);font-weight:618;text-transform:lowercase;flex-shrink:0}.template-body{font-size:var(--type-xxs);line-height:var(--leading-snug)}.template-body strong{display:block;font-weight:618;text-transform:lowercase;font-size:var(--type-xs);color:var(--fg)}.template-body .muted{font-size:var(--type-xxs);color:var(--text-muted);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-section{margin-bottom:var(--space-xs)}.template-section>summary{padding:var(--space-s) var(--space-xs);font-size:var(--type-s);font-weight:618;text-transform:lowercase;color:var(--fg);cursor:pointer;border-radius:var(--radius-s)}.template-section>summary:hover{background:var(--bg-muted)}.empty{color:var(--text-muted);font-style:italic;font-size:var(--type-xxs);padding:var(--space-xxs)}.library-toggle{position:fixed;left:var(--space-xs);top:calc(var(--header-h, 56px) + var(--space-xs));z-index:10}.config-toolbar{display:inline-flex;gap:var(--space-xxs);margin-left:var(--space-s)}.modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--bg-card);border-radius:var(--radius-dialog);padding:var(--space-l);min-width:360px;max-width:480px;border:1px solid var(--border)}.modal h2{font-size:var(--type-m);margin:0 0 var(--space-s);font-weight:618;text-transform:lowercase;color:var(--fg)}.modal p{font-size:var(--type-xs);margin:var(--space-xs) 0;color:var(--fg)}.form-grid{display:grid;gap:var(--space-xs);margin-bottom:var(--space-l)}.form-grid label{font-size:var(--type-xxs);color:var(--text-muted);text-transform:lowercase}.form-grid .checkbox-label{display:flex;align-items:center;gap:var(--space-xs);cursor:pointer;color:var(--fg);font-size:var(--type-xs)}.form-grid .checkbox-label input[type=checkbox]{accent-color:var(--orange)}.modal-actions{display:flex;gap:var(--space-xs);justify-content:flex-end;flex-wrap:wrap}.error{color:var(--error);font-size:var(--type-xxs)}.param-row.discrete{grid-template-columns:110px 1fr}.discrete-slider{display:flex;flex-direction:column;gap:var(--space-xxs);width:100%}.discrete-slider .ds-display{font-size:var(--type-xs);color:var(--fg)}.discrete-slider input[type=range]{width:100%;cursor:pointer;accent-color:var(--orange)}.discrete-slider .ds-ticks{display:flex;flex-wrap:wrap;gap:2px;margin-top:2px}.discrete-slider .ds-ticks .tick{background:var(--bg-muted);border:1px solid var(--border);color:var(--text-muted);padding:2px var(--space-xs);font-size:var(--type-xxs);border-radius:var(--radius-full);cursor:pointer;font-weight:618}.discrete-slider .ds-ticks .tick.active{background:var(--orange);color:var(--on-orange);border-color:var(--orange)}.discrete-slider .ds-ticks .tick:hover:not(.active){border-color:var(--orange)}.discrete-slider .ds-range-labels{display:flex;justify-content:space-between;font-size:var(--type-xxs);color:var(--text-muted)}.topology-selector{display:grid;gap:var(--space-xxs);margin-bottom:var(--space-s)}.topology-selector select{text-align:center;text-align-last:center;padding:var(--space-xxs) var(--space-l) var(--space-xxs) var(--space-s);border:1.5px solid var(--orange, var(--orange));border-radius:var(--radius-full);font-family:inherit;font-feature-settings:inherit;font-size:var(--type-xs);font-weight:618;background-color:transparent;background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%2712%27 viewBox=%270 0 12 12%27 fill=%27none%27 stroke=%27%231a1a1a%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27><polyline points=%273 5 6 8 9 5%27/></svg>");background-repeat:no-repeat;background-position:right var(--space-xs) center;color:var(--fg, var(--fg));cursor:pointer;min-height:var(--ctrl-h, 30px);-webkit-appearance:none;-moz-appearance:none;appearance:none;text-transform:lowercase}.topology-selector select:hover,.topology-selector select:focus{border-color:var(--orange, var(--orange))}.feature-toggle-editor{margin-top:var(--space-m);border-top:1px solid var(--border);padding-top:var(--space-s)}.feature-toggle-editor h3{font-size:var(--type-xxs);margin:0 0 var(--space-xs);color:var(--text-muted);text-transform:lowercase}.feature-toggle-editor .small{font-size:var(--type-xxs)}.feature-row{border-bottom:1px solid var(--border);padding:var(--space-xxs) 0}.feature-row.enabled{background:color-mix(in srgb,var(--orange) 4%,transparent)}.feature-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs)}.feature-toggle{display:flex;align-items:center;gap:var(--space-xs);cursor:pointer;flex:1}.feature-toggle input[type=checkbox]{cursor:pointer;accent-color:var(--orange)}.feature-label{font-size:var(--type-xs)}.feature-body{padding:var(--space-xxs) 0 var(--space-xs) calc(var(--space-l) + 4px);display:grid;gap:3px}.feature-body .prop-row{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:var(--space-xs)}.feature-body .prop-row label{font-size:var(--type-xxs);color:var(--text-muted)}.feature-body .prop-row input,.feature-body .prop-row select{padding:1px var(--space-s);border:var(--contour-w) solid var(--border);border-radius:var(--radius-full);font:inherit;font-size:var(--type-xxs);background:var(--bg-card);color:var(--fg)}.compliance-warnings{margin-top:var(--space-m);border-top:1px solid var(--border);padding-top:var(--space-s)}.compliance-warnings h3{font-size:var(--type-xxs);margin:0 0 var(--space-xs);color:var(--text-muted);text-transform:lowercase}.category-selector{display:grid;gap:2px;margin-bottom:var(--space-xs)}.category-selector select{padding:calc(var(--space-xxs) - 1px) var(--space-s);border:var(--contour-w) solid var(--border);border-radius:var(--radius-full);font:inherit;font-size:var(--type-xs);background:var(--bg-card);color:var(--fg)}.compliance-list{list-style:none;padding:0;margin:0}.compliance-item{display:grid;grid-template-columns:18px 1fr;gap:var(--space-xs);align-items:start;padding:var(--space-xs);border-left:3px solid var(--warn);background:var(--bg-muted);border-radius:var(--radius-m);margin-bottom:var(--space-xxs)}.compliance-icon{width:18px;height:18px;border-radius:50%;color:var(--bg-card);background:var(--warn);font-size:var(--type-xxs);display:flex;align-items:center;justify-content:center;font-weight:618}.compliance-message{font-size:var(--type-xs);color:var(--fg)}.compliance-meta{font-size:var(--type-xxs);color:var(--text-muted)}.param-row.read-only{background:var(--bg-muted);padding:var(--space-xxs) var(--space-s) calc(var(--space-xxs) + var(--ctrl-optical-pad)) var(--space-s);border-radius:var(--shape-multi);min-height:var(--ctrl-h)}.param-row.read-only .read-only-value{font-variant-numeric:tabular-nums;font-weight:618;padding:0;font-size:var(--type-xs);color:var(--fg);text-align:right}.param-row.read-only .price-row__value{display:inline-flex;align-items:center;gap:var(--space-xs, 6px);justify-content:flex-end}.param-row.read-only .price-row__value .read-only-value{font-variant-numeric:tabular-nums;font-weight:618;color:var(--fg)}.param-row.read-only .price-row__disclaimer{grid-column:1 / -1;font-size:var(--type-xxs);color:var(--fg);opacity:.62;text-align:right;font-style:italic}.fge-toggle{position:fixed;left:260px;top:calc(var(--header-h, 56px) + var(--space-s));z-index:10}.fge-panel{position:fixed;right:0;top:calc(var(--header-h, 56px) + var(--space-xl));bottom:0;width:340px;z-index:10;background:var(--bg-card);border-left:1px solid var(--border);overflow-y:auto;padding:var(--space-l)}.fge-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-s)}.fge-header h3{margin:0;font-size:var(--type-s);font-weight:618;text-transform:lowercase;color:var(--fg)}.fge-preset-row{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-l)}.fge-preset-row label{font-size:var(--type-xxs);color:var(--text-muted);text-transform:lowercase}.fge-params{display:flex;flex-direction:column;gap:var(--space-s)}.fge-row{display:flex;flex-direction:column;gap:var(--space-xxs);padding:var(--space-xxs) 0;border-bottom:1px solid var(--border)}.fge-row__head{display:flex;justify-content:flex-end}.fge-lock{width:28px;height:28px;font-size:var(--type-xxs);min-height:28px;border-radius:50%}.fge-lock.is-locked{color:var(--fg);border-color:var(--orange)}.fge-derived{margin-top:var(--space-l);padding:var(--space-s);background:var(--bg-muted);border-radius:var(--radius-m)}.fge-derived__title{font-size:var(--type-xxs);color:var(--text-muted);text-transform:lowercase;margin-bottom:var(--space-xs)}.fge-derived__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xxs);font-size:var(--type-xs)}.fge-derived__grid span{color:var(--text-muted)}.fge-derived__grid strong{font-weight:618;text-align:right;font-variant-numeric:tabular-nums;color:var(--fg)}.fge-footnote{margin-top:var(--space-s);font-size:var(--type-xxs);color:var(--text-muted);text-align:center;text-transform:lowercase}.catalog-toggle{position:fixed;left:var(--space-l);top:calc(var(--header-h, 56px) + var(--space-xl));z-index:10}.catalog-panel{position:fixed;left:0;top:calc(var(--header-h, 56px) + var(--space-xl));bottom:0;width:360px;z-index:10;background:var(--bg-card);border-right:1px solid var(--border);overflow-y:auto;padding:var(--space-l)}.catalog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-s)}.catalog-header h3{margin:0;font-size:var(--type-s);font-weight:618;text-transform:lowercase;color:var(--fg)}.catalog-error{padding:var(--space-xs);background:color-mix(in srgb,var(--error) 8%,transparent);color:var(--error);border-radius:var(--radius-m);margin-bottom:var(--space-s);font-size:var(--type-xs)}.catalog-section{margin-bottom:var(--space-l)}.catalog-section__title{font-size:var(--type-xxs);color:var(--text-muted);text-transform:lowercase;margin-bottom:var(--space-xs)}.catalog-pills{display:flex;flex-wrap:wrap;gap:var(--space-xxs)}.catalog-pill{padding:var(--space-xxs) var(--space-s);border-radius:var(--radius-full);border:1.5px solid var(--orange);background:transparent;color:var(--fg);font-size:var(--type-xxs);font-weight:618;cursor:pointer;text-transform:lowercase;min-height:28px;display:inline-flex;align-items:center;gap:var(--space-xxs)}.catalog-pill:hover,.catalog-pill.is-active{background:var(--orange);color:var(--on-orange)}.catalog-pill .count{opacity:var(--opacity-major);font-weight:382}.catalog-parts{display:flex;flex-direction:column;gap:var(--space-xxs)}.catalog-part{padding:var(--space-xs) var(--space-s);border-radius:var(--radius-m);border:1px solid var(--border);background:var(--bg-card);color:var(--fg);font-size:var(--type-xs);cursor:pointer;text-align:left;line-height:var(--leading-snug)}.catalog-part:hover{border-color:var(--orange);background:var(--bg-muted)}.catalog-part.is-selected{background:var(--bg-muted);border-color:var(--orange)}.catalog-part__title strong{font-weight:618}.catalog-part__title span{font-weight:382}.catalog-part__meta{font-size:var(--type-xxs);color:var(--text-muted);margin-top:2px}.catalog-part__hint{font-size:var(--type-xxs);color:var(--fg);margin-top:2px}.catalog-compat{margin-top:var(--space-xs);padding:var(--space-s);border-radius:var(--radius-m);font-size:var(--type-xxs);border:1px solid}.catalog-compat.is-valid{background:color-mix(in srgb,var(--success) 12%,transparent);border-color:color-mix(in srgb,var(--success) 40%,transparent)}.catalog-compat.is-invalid{background:color-mix(in srgb,var(--orange) 15%,transparent);border-color:color-mix(in srgb,var(--orange) 40%,transparent)}.catalog-compat.is-unknown{background:var(--bg-muted);border-color:var(--border)}.catalog-compat__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-xxs)}.catalog-compat__head strong{font-size:var(--type-xs);font-weight:618;text-transform:lowercase}.catalog-compat__head .muted{font-size:var(--type-xxs);color:var(--text-muted)}.catalog-detail{margin-top:var(--space-s);padding:var(--space-s);background:var(--bg-muted);border-radius:var(--radius-m)}.catalog-detail__title{font-size:var(--type-xs);font-weight:618;margin-bottom:var(--space-xxs);color:var(--fg)}.catalog-detail__specs{font-size:var(--type-xxs);line-height:var(--leading-snug);margin:0;white-space:pre-wrap;word-break:break-word;background:var(--bg-card);padding:var(--space-xs);border-radius:var(--radius-s);color:var(--fg)}.catalog-detail__interfaces{margin-top:var(--space-xs)}.preset-row{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-xs)}.preset-row label{font-size:var(--type-xxs);color:var(--text-muted);text-transform:lowercase}.velo-crash{padding:var(--space-l);font-family:Haffer,system-ui,sans-serif;color:var(--fg);background:var(--bg);min-height:100vh}.velo-crash h1{font-size:var(--type-l);font-weight:618;color:var(--fg);text-transform:lowercase;margin:0 0 var(--space-s)}.velo-crash pre{background:var(--bg-muted);color:var(--fg);padding:var(--space-s);border-radius:var(--radius-m);white-space:pre-wrap;font-size:var(--type-xxs);margin-bottom:var(--space-s)}.template-thumb{width:32px;height:32px}.template-body strong,.template-body .muted{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.floating-card{position:absolute;z-index:5;display:flex;flex-direction:column;border-radius:var(--radius-l, 14px);background:var(--glass-dark-bg);-webkit-backdrop-filter:blur(14px) saturate(130%);backdrop-filter:blur(14px) saturate(130%);border:1px solid var(--glass-dark-border);box-shadow:0 24px 48px #00000040;color:var(--fg);overflow:hidden;transition:opacity var(--duration-m, .26s) ease,transform var(--duration-m, .26s) ease,box-shadow var(--duration-s, .16s) ease}:root[data-theme=light] .floating-card,html[data-theme=light] .floating-card{background:var(--glass-light-bg);border-color:var(--glass-light-border);color:var(--fg)}.floating-card[data-open=false]{opacity:0;pointer-events:none;transform:translate(-8px)}.floating-card[data-open=true]{opacity:1;pointer-events:auto;transform:translate(0)}.floating-card[data-pinned=true]{box-shadow:0 0 0 2px var(--accent-orange, var(--orange)) inset,0 8px 32px #00000047}.floating-card[data-position=left]{left:var(--space-s, 12px);top:calc(var(--header-h, 56px) + var(--space-s, 12px));bottom:var(--space-s, 12px);max-height:calc(100vh - var(--header-h, 56px) - 2 * var(--space-s, 12px));width:max-content;min-width:380px;max-width:min(420px,calc(100vw - 32px));overflow:hidden}.floating-card[data-position=right]{right:var(--space-s, 12px);top:calc(var(--header-h, 56px) + var(--space-s, 12px));width:max-content;min-width:380px;max-width:min(420px,calc(100vw - 32px));overflow:hidden}.floating-card[data-position=left-bottom]{left:var(--space-s, 12px);bottom:var(--space-s, 12px)}.floating-card[data-position=right][data-open=false]{transform:translate(8px)}.floating-card[data-position=right],.floating-card[data-position=right-center]{transform-origin:right center}.floating-card[data-position=right-center]{right:var(--space-s, 12px);top:50%;bottom:auto;max-height:calc(100vh - var(--header-h, 56px) - var(--space-l, 24px));width:min(420px,calc(100vw - 32px));min-width:380px;max-width:min(420px,calc(100vw - 32px))}.floating-card[data-position=right-center][data-open=false]{transform:translate(8px,-50%) scale(.88);opacity:0}.floating-card[data-position=right-center][data-open=true]{transform:translateY(-50%) scale(1);opacity:1}.floating-card[data-position=right-center]{transition:transform .22s cubic-bezier(.2,.8,.2,1),opacity .18s ease}.floating-card__head{flex-shrink:0;display:flex;align-items:center;gap:var(--space-xs, 6px);padding:var(--space-s, 10px) var(--space-m, 14px);border-bottom:1px solid var(--floating-head-border);background:var(--floating-head-bg)}.floating-card__icon{font-size:var(--type-s, 14px);line-height:1;opacity:.85}.floating-card__title{flex:1 1 auto;margin:0;font-size:var(--type-xs, 12px);font-weight:618;letter-spacing:var(--tracking-tight, -.01em);text-transform:lowercase}.floating-card__btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:0;background:transparent;color:inherit;border-radius:var(--radius-s, 6px);cursor:pointer;font-size:var(--type-xs, 12px);opacity:.7;transition:opacity .12s ease,background .12s ease}.floating-card__btn:hover{opacity:1;background:var(--floating-btn-hover-bg)}.floating-card__close{font-size:var(--type-m, 16px)}.floating-card__body{flex:1 1 auto;overflow-y:auto;padding:var(--space-m, 14px);scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}.floating-card__body::-webkit-scrollbar{width:6px}.floating-card__body::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.floating-card--collapsed{width:40px;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.floating-card--collapsed .floating-card__icon{font-size:var(--type-m, 16px);opacity:.95}.vl-body.vl-body--floating{display:block;position:relative;grid-template-columns:none;overflow:hidden;height:calc(100vh - var(--header-h, 56px))}.vl-body.vl-body--floating>.viewer-wrap{position:absolute;inset:0;width:100%;height:100%}.stats-card__totals{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-s, 10px);margin-bottom:var(--space-m, 14px);padding-bottom:var(--space-s, 10px);border-bottom:1px solid var(--floating-head-border)}.stats-card__metric{display:flex;flex-direction:column;gap:2px;padding:var(--space-xs, 6px);border-radius:var(--radius-s, 6px);background:var(--chip-bg)}.stats-card__metric-label{font-size:var(--type-xxs, 10px);text-transform:lowercase;color:var(--text-muted);letter-spacing:.04em}.stats-card__metric-value{font-size:var(--type-m, 16px);font-weight:618}.stats-card__section{margin-bottom:var(--space-m, 14px)}.stats-card__axis-legend{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;margin-top:var(--space-s, 10px);font-size:var(--type-xxs, 10px)}.stats-card__axis-row{display:flex;justify-content:space-between;padding:2px 0;border-bottom:1px solid var(--stats-row-border)}.stats-card__axis-label{color:var(--text-muted);text-transform:lowercase}.stats-card__axis-value{font-weight:618;color:var(--accent-orange, var(--orange))}.stats-card__details{margin-top:var(--space-s, 10px);border-top:1px solid var(--floating-head-border);padding-top:var(--space-s, 10px)}.stats-card__details>summary{cursor:pointer;font-size:var(--type-xxs, 10px);text-transform:lowercase;letter-spacing:.04em;color:var(--text-muted);padding:4px 0}.stats-card__details>summary:hover{color:var(--fg)}.params-card-wrap .parametric-sidebar{border-left:0;background:transparent;padding:0;overflow:visible;height:auto}@media(max-width:768px){.floating-card{left:var(--space-s, 12px)!important;right:var(--space-s, 12px)!important;width:auto!important;max-height:60vh!important}.floating-card[data-position=right],.floating-card[data-position=right-bottom],.floating-card[data-position=left-bottom]{bottom:var(--space-s, 12px);top:auto}}.viewer-layout{height:auto!important;min-height:0!important;flex:1 1 auto!important}.vl-brand h1{font-size:var(--type-m)!important;line-height:1!important}.vl-brand .muted{font-size:12px!important}.vl-header{padding:0 var(--space-m, 14px)!important;gap:var(--space-m, 14px)!important}.vl-body.vl-body--floating{position:relative;display:block;height:auto;flex:1 1 auto;min-height:0;overflow:hidden}.floating-card[data-position=right-stack-top]{right:var(--space-s, 12px);top:calc(var(--header-h, 56px) + var(--space-s, 12px));max-height:calc(50vh - var(--header-h, 56px) - var(--space-s, 12px));width:max-content;min-width:380px;max-width:min(420px,calc(100vw - 32px));overflow:hidden}.floating-card[data-position=right-stack-bottom]{right:var(--space-s, 12px);bottom:var(--space-s, 12px);top:calc(50vh + var(--space-xs, 6px));max-height:calc(50vh - var(--space-s, 12px) - var(--space-xs, 6px));width:max-content;min-width:380px;max-width:min(420px,calc(100vw - 32px));overflow:hidden}.floating-card--collapsed[data-position=right-stack-top]{right:var(--space-s, 12px);top:calc(var(--header-h, 56px) + var(--space-s, 12px))}.floating-card--collapsed[data-position=right-stack-bottom]{right:var(--space-s, 12px);bottom:var(--space-s, 12px);top:auto;max-height:none}.floating-card[data-position=right]{right:var(--space-s, 12px);top:calc(var(--header-h, 56px) + var(--space-s, 12px))}.floating-card[data-position=right-bottom]{right:var(--space-s, 12px);bottom:var(--space-s, 12px)}.floating-card[data-position=left-bottom]{left:var(--space-s, 12px);bottom:var(--space-s, 12px);max-height:60vh}.catalog-panel-wrap .catalog-section{margin-bottom:10px}.catalog-panel-wrap .catalog-section__title{font-size:10px;text-transform:lowercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:6px}.catalog-panel-wrap .catalog-pills{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.catalog-panel-wrap .catalog-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;font-size:var(--type-xxs);font-weight:618;background:var(--catalog-pill-bg);color:var(--fg);border:var(--contour-w) solid var(--catalog-pill-border);border-radius:var(--radius-m);cursor:pointer;text-transform:lowercase;transition:background .12s,border-color .12s;line-height:1.4}.catalog-panel-wrap .catalog-pill .count{font-size:var(--type-xxs);opacity:.6;font-weight:400}.catalog-panel-wrap .catalog-pill:hover{background:var(--catalog-pill-hover-bg);border-color:var(--catalog-pill-hover-border)}.catalog-panel-wrap .catalog-pill.is-active{background:var(--accent-orange, var(--orange));color:var(--on-orange, #fff);border-color:var(--accent-orange, var(--orange))}.catalog-panel-wrap .catalog-parts{display:flex;flex-direction:column;gap:4px}.catalog-panel-wrap .catalog-part{display:flex;flex-direction:column;align-items:stretch;gap:2px;padding:8px 10px;background:var(--catalog-item-bg);border:1px solid var(--catalog-item-border);border-radius:8px;text-align:left;cursor:pointer;transition:background .12s,border-color .12s;color:var(--fg)}.catalog-panel-wrap .catalog-part:hover{background:var(--catalog-item-hover-bg);border-color:var(--catalog-item-hover-border)}.catalog-panel-wrap .catalog-part.is-selected{border-color:var(--accent-orange, var(--orange));background:color-mix(in srgb,var(--orange) 6%,transparent)}.catalog-panel-wrap .catalog-part__title{display:flex!important;align-items:center;gap:6px!important;font-size:12px;line-height:1.3}.catalog-panel-wrap .catalog-part__title strong{font-weight:618;white-space:nowrap}.catalog-panel-wrap .catalog-part__title span{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400;opacity:.85}.catalog-panel-wrap .catalog-part__meta,.catalog-panel-wrap .catalog-part__hint{font-size:10px;color:var(--text-muted);line-height:1.2}.catalog-panel-wrap .catalog-part__hint{color:var(--fg);opacity:.8}.catalog-panel-wrap .catalog-compat{margin-top:8px;padding:6px 8px;border-radius:6px;font-size:var(--type-xxs);border:1px solid var(--catalog-item-border)}.catalog-panel-wrap .catalog-compat.is-valid{background:var(--badge-success-bg);border-color:var(--badge-success-border)}.catalog-panel-wrap .catalog-compat.is-invalid{background:var(--badge-error-bg);border-color:var(--badge-error-border)}.catalog-panel-wrap .catalog-compat.is-unknown{background:var(--badge-warn-bg);border-color:var(--badge-warn-border)}.catalog-panel-wrap .catalog-compat__reason{font-size:10px;color:var(--text-muted);margin-top:3px}.catalog-panel-wrap .catalog-detail__specs{font-size:10px;max-height:120px;overflow:auto;background:var(--catalog-detail-bg);padding:6px;border-radius:4px;margin-top:4px}.params-card__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 16px;text-align:center;gap:6px;color:var(--text-muted)}.params-card__empty-icon{font-size:28px;opacity:.4}.params-card__empty-title{font-size:var(--type-xs);font-weight:618;color:var(--fg)}.params-card__empty-hint{font-size:10px;text-transform:lowercase;letter-spacing:.03em;opacity:.6}.params-card-wrap .parametric-sidebar h2,.params-card-wrap .parametric-sidebar .bcad-io-toolbar{display:none}.catalog-toggle{display:none!important}.ono-headroom-nav,nav.ono-headroom-nav,body.has-ono-headroom-nav>nav,[data-ono-headroom-nav-auto]+nav,.headroom-nav{display:none!important}body.has-ono-headroom-nav,#root{padding-top:0!important}.vl-header{display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;gap:var(--space-m, 14px)!important;padding:0 var(--space-m, 14px)!important;min-height:var(--header-h, 56px);border-bottom:1px solid var(--border);background:var(--bg-card)}.vl-header__left{justify-self:start;display:flex;align-items:baseline;gap:var(--space-s, 10px);min-width:0}.vl-header__center{justify-self:center}.vl-header__right{justify-self:end;display:flex;align-items:center;gap:var(--space-s, 10px);min-width:0}.vl-header__right .config-name{font-size:var(--type-xxs);color:var(--text-muted);white-space:nowrap}.viewer-toolbar{position:absolute;top:var(--toolbar-inset);right:var(--toolbar-inset);z-index:6;display:flex;gap:8px;align-items:center}.viewer-toolbar__group{display:inline-flex;background:var(--toolbar-bg);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);border:var(--contour-w) solid var(--toolbar-border);border-radius:999px;padding:2px;gap:2px}.viewer-toolbar__btn{display:inline-flex;align-items:center;justify-content:center;width:28px;min-width:28px;height:28px;padding:0;border:0;background:transparent;color:var(--fg);border-radius:50%;aspect-ratio:1 / 1;flex-shrink:0;cursor:pointer;font-size:var(--type-xxs);font-weight:618;letter-spacing:.01em;text-transform:lowercase;opacity:.8;transition:opacity .12s,background .12s,color .12s}.viewer-toolbar__btn:hover{opacity:1;background:var(--toolbar-btn-hover-bg)}.viewer-toolbar__btn:active,.viewer-toolbar__btn.is-active{background:var(--fg);color:var(--bg-card);opacity:1}.viewer-toolbar__btn--solo{background:var(--toolbar-bg);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);border:var(--contour-w) solid var(--toolbar-border);height:34px;padding:0 14px;border-radius:999px;width:auto;min-width:50px;aspect-ratio:auto}.viewer-toolbar .viewer-toolbar__btn--solo svg{color:currentColor}.floating-card.template-edit-mode-active{box-shadow:0 0 0 2px var(--accent-orange, var(--orange)) inset,0 8px 32px #00000047}.template-edit-warning{margin-bottom:10px;padding:8px 10px;font-size:10px;line-height:1.4;display:flex;align-items:flex-start;gap:6px;color:var(--fg);background:color-mix(in srgb,var(--orange) 8%,transparent);border:1px solid color-mix(in srgb,var(--orange) 30%,transparent);border-radius:6px;text-transform:lowercase}.template-save-hint{margin-top:10px;padding:7px 10px;font-size:var(--type-xxs);line-height:1.4;border-radius:6px;text-transform:lowercase;display:flex;align-items:flex-start;gap:6px}.template-save-hint.is-protected{color:var(--success);background:var(--badge-success-bg);border:var(--contour-w) solid var(--badge-success-border)}.template-save-hint.is-edit-mode{color:var(--fg);background:color-mix(in srgb,var(--orange) 8%,transparent);border:var(--contour-w) solid color-mix(in srgb,var(--orange) 30%,transparent)}.floating-card[data-position=right-center]{right:var(--space-s, 12px);top:50%;transform:translateY(-50%) translate(0);max-height:calc(100vh - var(--header-h, 56px) - 2 * var(--space-l, 24px));display:flex;flex-direction:column}.floating-card[data-position=right-center] .floating-card__body{flex:1 1 auto;overflow-y:auto;min-height:0;scrollbar-width:thin}.floating-card[data-position=right-center] .parametric-sidebar,.floating-card[data-position=right-center] .params-card-wrap{max-height:none;min-height:0;min-width:0}.floating-card[data-position=right-center] .parametric-sidebar{padding-left:var(--space-s, 10px);padding-right:var(--space-s, 10px)}.floating-card[data-position=right-center][data-open=false]{transform:translateY(-50%) translate(16px);opacity:0;pointer-events:none}.floating-card[data-position=right-center][data-open=true]{transform:translateY(-50%) translate(0);opacity:1;pointer-events:auto}.floating-card--collapsed[data-position=right-center]{right:var(--space-s, 12px);bottom:var(--space-s, 12px);top:auto;transform:none}.floating-card[data-position=right-stack-top]{max-height:42vh}@media(max-width:768px){.floating-card[data-position=right-center]{top:auto!important;bottom:var(--space-s, 12px)!important;transform:none!important;left:var(--space-s, 12px)!important;right:var(--space-s, 12px)!important;width:auto!important;max-height:70vh!important}}.floating-card[data-pinned=true]{box-shadow:none!important;border:1px solid var(--accent-orange, var(--orange))!important}.floating-card .muted,.floating-card__body .muted,.params-card-wrap label,.params-card-wrap .param-row label,.params-card-wrap .section-head .label,.params-card-wrap .section-head .meta,.params-card-wrap .ds-text-input,.params-card-wrap .ds-text-input::placeholder,.params-card-wrap .param-section h3,.params-card-wrap .param-section h4{color:var(--fg, var(--fg));opacity:1}:root[data-theme=light] .floating-card,html[data-theme=light] .floating-card{color:var(--fg)}:root[data-theme=light] .floating-card .muted,html[data-theme=light] .floating-card .muted,:root[data-theme=light] .params-card-wrap label,html[data-theme=light] .params-card-wrap label,:root[data-theme=light] .params-card-wrap .meta,html[data-theme=light] .params-card-wrap .meta{color:var(--fg)!important;opacity:1!important}:root[data-theme=light] .params-card-wrap .section-head .meta,html[data-theme=light] .params-card-wrap .section-head .meta,:root[data-theme=light] .vl-meta .config-name,html[data-theme=light] .vl-meta .config-name{color:var(--meta-color)!important;opacity:1!important}.params-card-wrap input::placeholder,.params-card-wrap .ds-text-input::placeholder{color:var(--placeholder-color);opacity:1}.params-card-wrap .param-section .section-head{font-weight:618;color:var(--fg, var(--fg));opacity:1}.params-card-wrap .param-section .section-head .label{font-size:var(--type-xs);letter-spacing:-.005em}.stats-card__axis-label{color:var(--fg, var(--fg))!important;opacity:1!important}:root[data-theme=light] .stats-card__axis-label,html[data-theme=light] .stats-card__axis-label{color:var(--fg)!important}.catalog-panel-wrap .catalog-part__meta,.catalog-panel-wrap .catalog-part__hint{color:var(--fg, var(--fg))!important;opacity:1}:root[data-theme=light] .catalog-panel-wrap .catalog-part__meta,html[data-theme=light] .catalog-panel-wrap .catalog-part__meta{color:var(--fg)!important;opacity:1}.floating-card__title{opacity:1!important}.params-card-wrap .section-head .meta{font-style:normal;font-weight:400}.part-hotspot-popover{pointer-events:auto;position:relative;width:360px;max-height:70vh;display:flex;flex-direction:column;background:var(--popover-light-bg);-webkit-backdrop-filter:blur(14px) saturate(130%);backdrop-filter:blur(14px) saturate(130%);border:1px solid var(--popover-light-border);border-radius:16px;box-shadow:0 24px 48px #00000040;color:var(--fg);margin-left:24px;transform-origin:left center;animation:hotspotPopoverIn .18s cubic-bezier(.2,.7,.2,1)}.part-hotspot-popover--fixed{position:fixed;top:calc(var(--header-h, 56px) + var(--space-s, 12px));right:16px;margin:0;width:420px;max-width:90vw;max-height:calc(100vh - var(--header-h, 56px) - var(--space-l, 24px));z-index:100;overflow:hidden}.part-hotspot-popover--fixed .part-hotspot-popover__body{padding:8px 14px;box-sizing:border-box;overflow-x:hidden}.part-hotspot-popover--fixed .parametric-sidebar{padding:0;max-width:100%}.part-hotspot-popover--fixed .param-row,.part-hotspot-popover--fixed .ds-range-slider,.part-hotspot-popover--fixed .ds-dropdown,.part-hotspot-popover--fixed input,.part-hotspot-popover--fixed select{max-width:100%;box-sizing:border-box}.part-hotspot-popover--fixed .part-hotspot-popover__body{overflow-y:auto;flex:1;min-height:0;overscroll-behavior:contain}.part-hotspot-popover .param-section,.part-hotspot-popover .param-section.selected,.part-hotspot-popover .param-section.is-selected{background:transparent!important}.part-hotspot-popover[data-flip=left]{margin-left:0;margin-right:24px;transform:translate(-100%);transform-origin:right center}@keyframes hotspotPopoverIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.part-hotspot-popover[data-flip=left]{animation-name:hotspotPopoverInLeft}@keyframes hotspotPopoverInLeft{0%{opacity:0;transform:translate(-100%) scale(.92)}to{opacity:1;transform:translate(-100%) scale(1)}}.part-hotspot-popover__head{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--floating-head-border);background:var(--floating-head-bg)}.part-hotspot-popover__title{font-size:var(--type-xs);font-weight:618;text-transform:lowercase;letter-spacing:-.005em;color:var(--fg)}.part-hotspot-popover__close{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:0;background:transparent;color:inherit;border-radius:6px;cursor:pointer;opacity:.7;transition:opacity .12s,background .12s}.part-hotspot-popover__close:hover{opacity:1;background:var(--popover-close-hover)}.part-hotspot-popover__radar{flex-shrink:0;display:flex;justify-content:center;padding:10px 14px 4px;border-bottom:1px solid var(--floating-head-border);color:var(--fg)}.part-hotspot-popover__body{flex:1 1 auto;overflow-y:auto;padding:14px}.part-hotspot-popover__body .parametric-sidebar{border-left:0;background:transparent;padding:0;overflow:visible}.part-hotspot-popover__body .parametric-sidebar h2,.part-hotspot-popover__body .parametric-sidebar .bcad-io-toolbar{display:none}.ono-headroom-nav,nav.ono-headroom-nav,body.has-ono-headroom-nav>nav,[data-ono-headroom-nav-auto]+nav,.headroom-nav{display:revert!important}body.has-ono-headroom-nav{padding-top:revert!important}#root{padding-top:64px!important}.param-row label,.param-section .label,.param-section h3,.param-section h4,.tl-section-head,.tl-header h2,.coat-section__title,.section-head .label,.range-slider__label,.parametric-sidebar h2,.parametric-sidebar h3,.parametric-sidebar h4{font-family:Haffer,-apple-system,BlinkMacSystemFont,Inter,system-ui,sans-serif!important;font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"ss01" 1,"ss03" 1,"ss04" 1,"ss05" 1,"tnum" 1,"zero" 1!important;font-weight:618!important;color:var(--fg, var(--fg))!important;text-transform:lowercase!important;opacity:1!important;letter-spacing:0!important}.param-row.read-only:has(.price-row__disclaimer){border-radius:var(--radius-m, 12px)!important;padding:var(--space-xs, 8px) var(--space-s, 12px)!important}.range-slider__info-wrap{display:inline-flex!important;width:18px;height:18px;visibility:hidden;flex-shrink:0}.range-slider:hover .range-slider__info-wrap,.range-slider:focus-within .range-slider__info-wrap{visibility:visible}.param-section .info-i-wrap,.param-row .info-i-wrap{display:inline-flex;width:18px;height:18px;visibility:hidden;flex-shrink:0}.param-section:hover .info-i-wrap,.param-row:hover .info-i-wrap{visibility:visible}.step-import-wrap{display:block;width:100%;margin:var(--space-xs, 6px) 0}.step-import-wrap .btn,.step-import-wrap button[type=button]{width:100%;min-height:30px;border-radius:var(--radius-full, 999px);border:1.5px solid var(--orange, var(--orange));background:transparent;color:var(--fg, var(--fg));font-family:Haffer,-apple-system,BlinkMacSystemFont,Inter,system-ui,sans-serif;font-weight:618;font-size:var(--type-xs);text-transform:lowercase;cursor:pointer;transition:background-color var(--duration-s, .12s) ease,color var(--duration-s, .12s) ease}.step-import-wrap .btn:hover,.step-import-wrap button[type=button]:hover{background:var(--orange, var(--orange));color:var(--on-orange, #ffffff)}.info-mini{display:flex;flex-direction:column;gap:var(--space-xs, 6px);max-width:240px;pointer-events:none}.info-mini__svg-wrap{width:100%;background:transparent;padding:4px 0;box-sizing:border-box}.info-mini__svg-wrap svg{width:100%;height:60px;display:block;color:var(--bg-card, #fff)}.range-slider__tooltip .info-mini__svg-wrap svg{color:var(--bg-card, #fff)}[data-theme=light] .info-mini__svg-wrap svg{color:var(--bg-card, #fff)}.info-mini__text{font-size:var(--type-xxs);line-height:1.4;margin:0;color:var(--bg-card, #fff)}.ds-dropdown{position:relative;display:inline-block;width:100%}.ds-dropdown__trigger{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);width:100%;height:var(--ctrl-h);min-height:var(--ctrl-h);padding:0 var(--space-s);background:transparent;color:var(--fg);border:var(--contour-w) solid var(--orange);border-radius:var(--shape-single);font:inherit;font-size:var(--type-xs);font-weight:618;text-transform:lowercase;cursor:pointer;text-align:left}.ds-dropdown.is-disabled .ds-dropdown__trigger,.ds-dropdown__trigger:disabled{opacity:.45;cursor:not-allowed}.ds-dropdown__trigger:hover{background:color-mix(in srgb,var(--orange) 8%,transparent)}.ds-dropdown.is-open .ds-dropdown__trigger{background:color-mix(in srgb,var(--orange) 12%,transparent)}.ds-dropdown__value{flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ds-dropdown__chevron{flex:0 0 auto;color:var(--fg);transition:transform .16s ease}.ds-dropdown.is-open .ds-dropdown__chevron{transform:rotate(180deg)}.ds-dropdown__popover{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;display:flex;flex-direction:column;padding:var(--space-xxs);background:var(--bg-card);border:var(--contour-w) solid var(--orange);border-radius:var(--radius-m);box-shadow:0 8px 24px #00000052;max-height:60vh;overflow-y:auto}.ds-dropdown__option{display:flex;align-items:center;gap:var(--space-s);padding:var(--space-xs) var(--space-s);background:transparent;color:var(--fg);border:none;border-radius:var(--radius-s);font:inherit;font-size:var(--type-xs);text-transform:lowercase;text-align:left;cursor:pointer;width:100%}.ds-dropdown__option:hover{background:color-mix(in srgb,var(--orange) 12%,transparent)}.ds-dropdown__option.is-selected{background:color-mix(in srgb,var(--orange) 18%,transparent)}.ds-dropdown__option.is-highlighted{background:color-mix(in srgb,var(--orange) 12%,transparent)}.ds-dropdown__preview-dot{flex:0 0 auto;display:inline-flex;align-items:center;color:var(--fg);opacity:.55}.ds-dropdown__thumb{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:20px;color:var(--fg)}.ds-dropdown__thumb svg{width:100%;height:100%}.ds-dropdown__label{flex:1 1 auto}.ds-dropdown__check{flex:0 0 auto;color:var(--fg)}.ds-dropdown--compact .ds-dropdown__trigger{padding:0 var(--space-xs)}.ds-dropdown__option.is-disabled{opacity:.4;cursor:not-allowed}.ds-dropdown__option.is-disabled:hover{background:transparent}@media(pointer:coarse){.ds-dropdown__trigger,.ds-dropdown__option{min-height:var(--space-xl)}}.ds-dropdown__trigger:focus-visible{outline:var(--contour-w) solid var(--orange);outline-offset:calc(-1 * var(--contour-w))}.ds-dropdown.range-slider__unit-select{width:auto;flex:0 0 auto}.ds-dropdown.range-slider__unit-select .ds-dropdown__trigger{padding:0 var(--space-xxs);gap:var(--space-xxs)}.ds-dropdown__search-wrap{position:relative;width:100%}.ds-dropdown__search-icon{position:absolute;left:var(--space-s);top:50%;transform:translateY(-50%);pointer-events:none;color:var(--fg);opacity:.55;display:flex}.ds-dropdown__trigger--search{padding-left:calc(var(--space-s) + var(--space-l));cursor:text;text-overflow:ellipsis}.ds-dropdown__trigger--search::placeholder{color:var(--fg);opacity:.45}.ds-dropdown__empty{padding:var(--space-s);font-size:var(--type-xs);line-height:1.4;color:var(--fg);opacity:.75;text-transform:none}.catalog-pill.is-active,.catalog-pill.is-active .count,.btn--primary,.btn-primary,button.is-active[style*=orange],[data-orange-active=true],.catalog-pill.is-active *{color:var(--on-orange, #fff)!important}.compat-badge,.warning-icon,.icon-button,.btn-icon,.btn-circle,.template-thumb{aspect-ratio:1 / 1!important;flex-shrink:0!important;flex-grow:0!important}.catalog-part .compat-badge,.catalog-part__title .compat-badge{width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;border-radius:50%!important;flex:0 0 16px!important}.left-menu-bar{position:absolute;top:50%;left:var(--space-s);transform:translateY(-50%);z-index:20;display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-xs);background:color-mix(in srgb,var(--bg-card) 88%,transparent);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border:1px solid color-mix(in srgb,var(--orange) 18%,transparent);border-radius:var(--radius-l);box-shadow:0 4px 16px #0003;max-height:calc(100vh - var(--header-h, 56px) - 2 * var(--space-l))}.left-menu-bar__group{display:flex;flex-direction:column;gap:2px}.left-menu-bar__divider{height:1px;background:color-mix(in srgb,var(--fg) 12%,transparent);margin:var(--space-xxs) 0}.left-menu-item{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-s);width:100%;min-width:144px;background:transparent;color:var(--fg);border:none;border-radius:999px;font:inherit;font-size:var(--type-xs);font-weight:618;text-transform:lowercase;text-align:left;cursor:pointer}.left-menu-item:hover{background:color-mix(in srgb,var(--orange) 10%,transparent)}.left-menu-item.is-active{background:var(--orange);color:var(--on-orange, #fff)}.left-menu-item.is-active *{color:var(--on-orange, #fff)!important}.left-menu-item__icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0}.left-menu-item__label{flex:1 1 auto;white-space:nowrap}.floating-card[data-position=left]{left:calc(var(--space-s, 12px) + 180px + var(--space-s, 12px))!important}.catalog-panel-wrap{display:flex;flex-direction:column;max-height:calc(100vh - var(--header-h, 56px) - 2 * var(--space-l, 24px))}.catalog-panel-wrap .floating-card__body,.catalog-panel-wrap>*{overflow-y:auto;scrollbar-width:thin}.viewer-toolbar__btn--solo.is-icon-only,.viewer-toolbar__btn--solo:has(>svg:only-child),.viewer-toolbar__btn--solo[aria-label*=grid],.viewer-toolbar__btn--solo[title*=grid]{width:34px!important;min-width:34px!important;padding:0!important;border-radius:50%!important;aspect-ratio:1 / 1!important}html,body{margin:0!important;padding:0!important}#root{padding-top:0!important;margin-top:0!important}.app-shell{display:grid;grid-template-rows:var(--header-h, 56px) 1fr;height:100vh;background:var(--bg-app);color:var(--fg);margin:0;padding:0}.app-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-xl);padding:0 var(--space-xl);background:transparent;border-bottom:0;position:relative;z-index:50}.app-shell{display:block!important;height:100vh}.app-shell>.app-header{position:fixed;top:var(--toolbar-inset);left:0;right:0;height:var(--header-h, 56px)}.app-shell>.app-stage{position:absolute;inset:0;height:100vh!important}.floating-card,.floating-card[data-position=left],.floating-card[data-position=left-stack-top],.floating-card[data-position=right],.floating-card[data-position=right-stack-top]{top:calc(var(--header-h, 56px) + var(--space-s, 12px))!important;left:12px!important}.app-header__logo{grid-area:logo;display:flex;align-items:center;gap:var(--space-s, 10px);cursor:default}.brand-card__appname{font-size:var(--type-s);font-weight:618;color:var(--fg);text-transform:none;white-space:nowrap}.brand-beta{margin-left:var(--space-xs, 6px);padding:1px 8px;border:var(--contour-w) solid var(--accent-orange, var(--orange));border-radius:999px;font-size:var(--type-xxs);line-height:1.35;font-weight:618;color:var(--fg);text-transform:lowercase;letter-spacing:.01em;white-space:nowrap}.brand-trigger__logo{display:inline-flex;align-items:center;justify-content:center}.brand-trigger__logo--spinning svg,.brand-trigger__logo--spinning img{animation:brandSpin 18s linear infinite;transform-origin:50% 50%}@keyframes brandSpin{to{transform:rotate(360deg)}}.login-screen .brand-trigger__logo--spinning svg,.login-screen .brand-trigger__logo--spinning img{animation-duration:4s}.app-header__nav{grid-area:nav;display:flex;align-items:center;gap:var(--space-s, 10px)}.header-pill.app-header__nav-pill{position:relative;padding:0 calc(var(--pill-px) - (var(--contour-w) - 1px));gap:var(--space-xs, 8px);text-transform:lowercase}.header-pill.app-header__nav-pill.is-active,.header-pill.app-header__nav-pill.is-active:hover,.app-header__account-wrap .header-icon-btn.is-active,.app-header__account-wrap .header-icon-btn.is-active:hover{background:color-mix(in srgb,var(--ono-orange, #FD9501) 10%,var(--bg-card));color:var(--fg);border-color:var(--ono-orange, #FD9501)}.app-header__title{font-size:var(--type-xs, 13px);color:var(--text-muted);font-weight:618;text-transform:lowercase;white-space:nowrap;padding:6px 12px;border-radius:999px;border:1px solid transparent;background:transparent;cursor:text;width:180px;box-sizing:border-box;text-align:left;transition:border-color .12s ease,color .12s ease}.app-header__title--button{font-family:inherit}.app-header__title--button:hover{border-color:var(--fg);color:var(--fg)}.app-header__title--editing{border-color:var(--fg);color:var(--fg);background:transparent}.app-header__title--editing:focus{border-color:var(--fg)}.app-header__center{display:flex;align-items:center;justify-content:center;gap:var(--space-s);min-width:0}.app-header__right{grid-area:right;display:flex;align-items:center;justify-content:flex-end;gap:var(--space-s);min-width:0}.app-header__account-wrap{position:relative}.app-header__stats{display:flex;align-items:center;gap:var(--space-m);margin-right:var(--space-m);font-size:var(--type-s, 14px);font-weight:618}.header-icon-btn{aspect-ratio:1/1;display:inline-flex;align-items:center;justify-content:center;color:var(--fg);cursor:pointer;transition:background .12s ease,border-color .12s ease}.login-popover__backdrop{position:fixed;inset:0;background:#0006;z-index:200}.login-popover{position:fixed;top:0;right:0;bottom:0;width:38.2vw;min-width:340px;background:color-mix(in srgb,var(--bg-card, #fff) 78%,transparent);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border-left:1px solid var(--border);border-radius:0;padding:calc(var(--space-l, 16px) * 2) var(--space-l, 24px) var(--space-l, 24px);z-index:210;display:flex;flex-direction:column;gap:var(--space-m, 14px);animation:login-slide-in .26s cubic-bezier(.22,1,.36,1)}@keyframes login-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.login-popover__head{display:flex;align-items:center;justify-content:space-between}.login-popover__head h2{margin:0;font-size:var(--type-m, 16px);font-weight:618;text-transform:lowercase}.login-popover__close{width:28px;height:28px;border:0;background:transparent;border-radius:999px;color:var(--text-muted);cursor:pointer}.login-popover__close:hover{background:var(--bg-muted);color:var(--fg)}.login-popover__tabs{display:flex;gap:4px;padding:4px;background:var(--bg-muted);border-radius:999px}.login-popover__tab{flex:1;padding:6px 12px;border-radius:999px;background:transparent;border:0;font-size:var(--type-xs, 12px);font-weight:618;text-transform:lowercase;color:var(--text-muted);cursor:pointer}.login-popover__tab.is-active{background:var(--accent-orange, var(--orange));color:var(--on-orange, #fff)!important}.login-popover__form{display:flex;flex-direction:column;gap:var(--space-s, 10px)}.login-popover__field{display:flex;flex-direction:column;gap:4px;font-size:var(--type-xxs);color:var(--text-muted);text-transform:lowercase}.login-popover__field input{padding:7px 12px;border:var(--contour-w) solid var(--border);border-radius:999px;background:var(--bg-app);color:var(--fg);font-size:var(--type-s, 14px)}.login-popover__field input:focus{border-color:var(--accent-orange, var(--orange))}.login-popover__submit{align-self:stretch}.login-popover__hint{font-size:var(--type-xxs);color:var(--text-muted);text-align:center;margin-top:4px}.login-popover__hint a{color:var(--fg);text-decoration:underline}.login-popover__hint a:hover{text-decoration:underline}.login-popover__intent{display:flex;gap:4px;padding:2px;border:var(--contour-w) solid var(--border);border-radius:999px;margin-bottom:var(--space-s, 10px)}.login-popover__intent-btn{flex:1 1 0;min-width:118px;padding:7px 14px;border:0;border-radius:999px;background:transparent;color:var(--text-muted);font:inherit;font-size:var(--type-xxs);text-transform:lowercase;cursor:pointer}.login-popover__intent-btn.is-active{background:var(--accent-orange, var(--orange));color:#fff}.login-popover__consent{display:flex;align-items:flex-start;gap:8px;font-size:var(--type-xxs);line-height:1.45;color:var(--text-muted);margin-top:2px}.login-popover__consent input{margin-top:2px;flex:0 0 auto}.login-popover__consent a{color:var(--fg);text-decoration:underline}.login-popover__sent{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:var(--space-l, 16px) var(--space-m, 12px);color:var(--fg)}.login-popover__sent svg{color:var(--fg)}.login-popover__sent p{margin:0;font-size:var(--type-s, 14px);line-height:1.5}.login-popover__error{font-size:var(--type-xxs);line-height:1.45;color:#d64545;text-align:center}.login-popover__profile{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:var(--space-s, 10px)}.login-popover__profile-email{font-size:var(--type-s, 14px);color:var(--fg)}.header-icon-btn--account{border-radius:999px;box-shadow:none}.account-welcome__backdrop{position:fixed;inset:0;z-index:300;background:color-mix(in srgb,var(--bg-app) 72%,transparent);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:var(--space-l, 16px)}.account-welcome{width:min(585px,100%);background:var(--bg-card, var(--bg-app));border:1px solid var(--border);border-radius:var(--radius-l, 18px);box-shadow:none;padding:var(--space-xl, 36px);text-align:center}.account-welcome__brand{display:flex;flex-direction:column;align-items:center;margin:0 auto var(--space-l, 22px)}.account-welcome__brand .brand-trigger__logo--spinning svg,.account-welcome__brand .brand-trigger__logo--spinning img{animation-duration:4s}.account-welcome__appname{margin-top:var(--space-xs, 6px);font-size:var(--type-l, 20px);font-weight:618;color:var(--fg);text-transform:none;white-space:nowrap}.account-welcome__brand .brand-beta{margin-top:var(--space-s, 10px);margin-left:0}.account-welcome h2{margin:0;font-size:var(--type-xl, 24px);font-weight:618;line-height:1.25;letter-spacing:-.01em;color:var(--fg);text-transform:lowercase}.nv-brand{text-transform:none}.account-welcome__lead{margin:var(--space-s, 10px) 0 0;font-size:var(--type-s, 14px);line-height:1.5;color:var(--fg)}.account-welcome__chip{display:inline-block;padding:1px 9px;border:var(--contour-w) solid var(--accent-orange, var(--orange));border-radius:999px;font-size:var(--type-xxs);color:var(--fg)}.account-welcome__list{list-style:none;margin:var(--space-l, 22px) 0 0;padding:0;text-align:left}.account-welcome__list li{display:flex;align-items:flex-start;gap:var(--space-s, 8px);padding:0 0 var(--space-s, 10px) 0;font-size:var(--type-s, 14px);line-height:1.5;color:var(--fg)}.account-welcome__list li strong{color:var(--fg);font-weight:618}.account-welcome__actions{margin-top:var(--space-l, 16px)}.account-welcome__actions .btn{width:100%}.account-welcome__note{display:inline-block;margin-top:var(--space-l, 22px);font-size:var(--type-xxs);color:var(--fg);text-decoration:underline}.account-welcome__note:hover{text-decoration:underline}@media(max-width:500px){.account-welcome .nowrap-email{font-size:var(--type-xxs)}}.login-popover__chip{padding:2px 10px;border:var(--contour-w) solid var(--accent-orange, var(--orange));border-radius:999px;font-size:var(--type-xxs);color:var(--fg);text-transform:lowercase}.app-stage{position:relative;width:100%;height:calc(100vh - var(--header-h, 56px));overflow:hidden;background:transparent}.app-stage>.viewer-wrap{position:absolute;inset:0;background:transparent}.app-stage__bottom{position:absolute;left:50%;bottom:80px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:14px;z-index:10}.app-stage__config-name{font-size:var(--type-m, 16px);font-weight:618;color:var(--fg);text-transform:lowercase;pointer-events:none;white-space:nowrap}.floating-card,.floating-card[data-position=left],.floating-card[data-position=left-stack-top],.floating-card[data-position=right],.floating-card[data-position=right-stack-top]{top:calc(var(--header-h, 56px) + var(--space-s, 12px))!important;left:12px!important;right:auto!important;bottom:auto!important;max-height:calc(100vh - var(--header-h, 56px) - var(--space-l, 24px))!important}.app-stage__bottom{max-width:calc(100vw - 48px);align-items:center}.viewer-bottom-bar{display:inline-flex!important;flex-direction:row!important;flex-wrap:nowrap!important;justify-content:center;align-items:center;white-space:nowrap}:root{--ds-pill-h: var(--pill-h, 32px);--ds-pill-px: var(--pill-px);--phi-step: 1.272;--pill-px: var(--space-m);--pill-gap: var(--space-xxs);--ds-group-pad: calc(var(--space-xxs) / var(--phi-step));--ds-group-gap: var(--ds-group-pad);--pill-chevron: var(--icon-s);--ds-pill-radius: 999px}.viewer-bottom-bar__group,.header-tabs{display:inline-flex;align-items:center;gap:var(--ds-group-gap);box-sizing:border-box}.viewer-bottom-bar .vbb-btn,.header-pill,.header-tab{font-size:var(--type-xxs);font-weight:618;text-transform:lowercase;display:inline-flex;align-items:center;justify-content:center;line-height:1;cursor:pointer;white-space:nowrap}.vbb-btn--icon,.header-icon-btn{aspect-ratio:1/1;justify-content:center}.ono-headroom-nav,.has-ono-headroom-nav .ono-headroom-nav{display:none!important}.catalog-panel-wrap.catalog-panel-wrap--cols3{width:720px;max-width:720px}.catalog-cols3{display:grid;grid-template-columns:200px 200px 1fr;gap:0;min-height:0;height:100%}.catalog-col{display:flex;flex-direction:column;gap:2px;overflow-y:auto;overscroll-behavior:contain;padding:4px 8px;border-right:1px solid var(--border);min-width:0;max-height:100%}.catalog-cols3{overflow:hidden;max-height:calc(100vh - var(--header-h, 56px) - 100px)}.catalog-col:last-child{border-right:0}.catalog-col--parts{gap:6px;padding-left:12px}.catalog-col__empty{color:var(--text-muted);font-size:var(--type-xs, 13px);padding:12px 8px;font-style:italic}.catalog-cat__chev{color:var(--text-muted);font-size:14px;margin-left:4px}.catalog-cat.is-active .catalog-cat__chev{color:var(--on-orange, #fff)}.catalog-panel-wrap.catalog-panel-wrap--two-col{width:520px;max-width:520px}.catalog-cols{display:grid;grid-template-columns:200px 1fr;gap:12px;min-height:0;height:100%}.catalog-cats{display:flex;flex-direction:column;gap:2px;overflow-y:auto;padding-right:8px;border-right:1px solid var(--border)}.catalog-cat{display:flex;align-items:center;gap:10px;padding:8px 12px;border:0;background:transparent;border-radius:999px;font-size:var(--type-xs, 13px);font-weight:618;color:var(--text-muted);text-transform:lowercase;text-align:left;cursor:pointer;transition:background .12s ease,color .12s ease}.catalog-cat:hover{background:var(--bg-muted);color:var(--fg)}.catalog-cat.is-active{background:var(--accent-orange, var(--orange));color:var(--on-orange, #fff)!important}.catalog-cat.is-active .catalog-cat__count{color:var(--on-orange, #fff);opacity:.85}.catalog-cat__icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0}.catalog-cat__label{flex:1}.catalog-cat__count{color:var(--text-muted);font-weight:500;font-size:var(--type-xxs)}.catalog-items{display:flex;flex-direction:column;gap:6px;overflow-y:auto;padding-left:4px;min-width:0}.catalog-items__empty{color:var(--text-muted);font-size:var(--type-xs, 13px);padding:12px 8px;font-style:italic}.catalog-item{display:flex;flex-direction:column;gap:2px;padding:8px 12px;border:1px solid var(--border);background:var(--bg-card);border-radius:12px;text-align:left;cursor:pointer;transition:border-color .12s ease,background .12s ease}.catalog-item:hover{border-color:var(--accent-orange, var(--orange))}.catalog-item.is-selected{border-color:var(--accent-orange, var(--orange));background:color-mix(in srgb,var(--accent-orange, var(--orange)) 8%,transparent)}.catalog-item__title{display:flex;align-items:center;gap:8px;font-size:var(--type-s, 14px);color:var(--fg)}.catalog-item__title strong{font-weight:618}.catalog-item__meta{font-size:var(--type-xxs);color:var(--text-muted)}.header-tabs{display:inline-flex;gap:4px}.header-tab{font-size:var(--type-xs, 13px);font-weight:618;color:var(--text-muted);text-transform:lowercase;cursor:pointer}.header-tab:hover{color:var(--fg)}.header-pill{display:inline-flex;align-items:center;font-size:var(--type-xs, 13px);font-weight:618;color:var(--fg);text-transform:lowercase;cursor:pointer;white-space:nowrap;transition:border-color .12s ease,background .12s ease,color .12s ease}.header-pill:hover{background:var(--bg-muted)}.header-pill[disabled]{opacity:.4;cursor:not-allowed}.stats-widget{position:absolute;right:24px;bottom:156px;display:flex;flex-direction:column;align-items:center;gap:8px;z-index:10;pointer-events:none}.stats-widget__totals{display:flex;gap:18px;font-size:var(--type-m, 16px);font-weight:618;color:var(--fg)}.app-shell .left-menu-bar{display:none!important}.app-body__config-name{position:absolute;bottom:84px;left:50%;transform:translate(-50%);font-size:var(--type-s, 14px);font-weight:618;color:var(--fg);text-transform:lowercase;pointer-events:none;z-index:5;white-space:nowrap}.viewer-bottom-bar{position:absolute;bottom:24px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:var(--space-s, 10px);z-index:10}.viewer-bottom-bar__group{display:inline-flex;align-items:center;gap:var(--ds-group-gap)}.vbb-btn{display:inline-flex;align-items:center;gap:var(--pill-gap);font-size:var(--type-xxs);font-weight:618;color:var(--text-muted);text-transform:lowercase;cursor:pointer;transition:background .12s ease,color .12s ease;white-space:nowrap}.nv-icon,.btn-icon>svg,.btn-icon-only>svg{width:var(--icon-s);height:var(--icon-s);flex:0 0 auto}.vbb-btn:hover,.vbb-btn:focus-visible{background:var(--accent-orange, var(--orange, #FD9501));color:var(--on-orange, #fff)}.vbb-sep{align-self:stretch;width:1px;margin:var(--space-xxs) var(--space-xxs);background:var(--border);flex:0 0 auto}.vbb-btn.is-disabled,.vbb-btn:disabled{opacity:.38;cursor:default;pointer-events:none}.vbb-btn--icon{aspect-ratio:1/1;justify-content:center}.vbb-btn__icon{display:inline-flex;align-items:center}.vbb-btn__label{display:inline-block}.stats-pane{border-left:1px solid var(--border);background:var(--bg-card);padding:var(--space-l, 16px);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-m, 14px)}.stats-pane__totals{display:flex;gap:var(--space-l, 16px)}.stats-pane__metric{display:flex;flex-direction:column;gap:2px}.stats-pane__metric-label{font-size:var(--type-xxs);color:var(--text-muted);text-transform:lowercase}.stats-pane__metric-value{font-size:var(--type-m, 16px);font-weight:618}.stats-pane__section{display:flex;flex-direction:column;gap:var(--space-s, 10px)}.stats-pane__axis-legend{display:grid;grid-template-columns:1fr auto;gap:4px 12px}.stats-pane__axis-row{display:contents;font-size:var(--type-xs, 12px)}.stats-pane__axis-label{color:var(--text-muted);text-transform:lowercase}.stats-pane__axis-value{font-weight:618;color:var(--accent-orange, var(--orange));text-align:right}.stats-pane__details{border-top:1px solid var(--border);padding-top:var(--space-s, 10px)}.stats-pane__details>summary{cursor:pointer;font-size:var(--type-xs, 12px);font-weight:618;color:var(--text-muted);text-transform:lowercase;padding:4px 0}.stats-pane__details>summary:hover{color:var(--fg)}.app-body>.left-menu-bar{position:static!important;top:auto!important;left:auto!important;transform:none!important;max-height:none!important;padding:var(--space-m, 14px) var(--space-s, 10px);background:var(--bg-card);display:flex;flex-direction:column;gap:var(--space-s, 10px);z-index:auto;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;border:none;border-right:1px solid var(--border);border-radius:0;width:200px;box-sizing:border-box}.app-body>.left-menu-bar>.left-menu-bar__group{display:flex;flex-direction:column;gap:4px}.app-body>.left-menu-bar .left-menu-item{min-width:0;width:100%}.floating-card,.header-menu__panel__card,.login-popover,.part-hotspot-popover,.part-hotspot-popover--fixed,.viewer-bottom-bar__group,.header-tabs,.viewer-bottom-bar>.vbb-btn,.header-pill,.left-menu-bar,.app-header,.brand-trigger__logo,.bn-cell,.btn,.ds-select{box-shadow:none!important}button,input,select,textarea{font-family:Haffer,Inter,system-ui,-apple-system,sans-serif!important;font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"ss01" 1,"ss03" 1,"ss04" 1,"ss05" 1,"tnum" 1,"zero" 1!important}.viewer-bottom-bar .vbb-btn,.header-pill,.header-tab,.header-icon-btn{font-family:inherit!important;font-feature-settings:inherit!important}.viewer-bottom-bar__group .vbb-btn{text-transform:none}.app-header{grid-template-columns:minmax(var(--header-edge-w),max-content) 1fr max-content 1fr minmax(var(--header-edge-w),max-content);grid-template-rows:auto auto;grid-template-areas:"logo   .   center  .   right" "nav    .   .       .   .";row-gap:var(--space-m, 14px);column-gap:var(--space-l, 22px)}.app-header__center{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;flex:0 0 auto}@media(max-width:1200px){.app-header{grid-template-columns:auto 1fr max-content 1fr auto}}.app-stage>.viewer-wrap{transition:transform .24s cubic-bezier(.2,.7,.2,1)}.app-stage[data-left-panel=templates]>.viewer-wrap{transform:none}.app-stage[data-left-panel=catalog]>.viewer-wrap{transform:none}.app-stage[data-left-panel=schaltung]>.viewer-wrap{transform:none}.app-stage[data-left-panel=closed]>.viewer-wrap{transform:none}.app-stage[data-right-panel=open][data-left-panel=closed]>.viewer-wrap{transform:none}.viewer-bottom-bar .vbb-btn,.header-pill,.header-tab,.header-icon-btn,.brand-card__appname,.header-menu__item,.catalog-cat,.catalog-item__title strong{font-weight:618!important}.app-header__title,.catalog-item__meta,.catalog-cat__count,.app-stage__config-name,.stats-widget__totals,.muted,.text-muted{font-weight:382}.app-header__right{display:flex;align-items:center;gap:var(--space-s, 10px)}.header-name-formular{position:relative;display:inline-flex;align-items:center;box-sizing:border-box;height:var(--ctrl-h);min-height:var(--ctrl-h);border-radius:var(--shape-single);background:var(--bg-card);border:var(--contour-w) solid var(--border-strong);overflow:hidden;flex:1 1 14em;min-width:8em;max-width:20em}.header-name-formular:focus-within{border-color:var(--ono-orange, #FD9501)}.header-name-field{box-sizing:border-box;height:100%;border:0;background:transparent;border-radius:0;padding:0 0 var(--ctrl-optical-pad) var(--space-m);padding-right:calc(var(--ctrl-h) + var(--space-xs));color:var(--fg);font-family:inherit;font-size:var(--type-xs);font-weight:618;line-height:1;width:100%;min-width:0}.header-name-field::placeholder{color:var(--text-muted)}.header-name-field:focus,.header-name-field:focus-visible{outline:none}.header-name-formular>.header-icon-btn{position:absolute;top:0;right:0;bottom:0;width:auto;height:auto;min-width:0;min-height:0;aspect-ratio:1 / 1;border:0}.schaltung-popover{font-size:var(--type-xs, 12px)}.schaltung__summary-line{font-size:var(--type-xxs);color:var(--text-muted);margin-bottom:8px}.schaltung__blatt-switch{margin-bottom:10px}.schaltung__chart{background:var(--schaltung-chart-bg);border-radius:12px;padding:4px 0;margin-bottom:10px}.schaltung__chart svg{color:var(--fg)}.schaltung__table-wrap{overflow-x:auto}.schaltung__table{width:100%;border-collapse:collapse;font-size:var(--type-xxs)}.schaltung__table th,.schaltung__table td{padding:4px 6px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--border)}.schaltung__table .ta-l{text-align:left}.schaltung__table th{color:var(--text-muted);font-weight:618;text-transform:lowercase}.schaltung__table .muted{color:var(--text-muted)}.schaltung__gangnum{color:var(--orange, var(--orange));font-weight:618}.schaltung__speed90{font-weight:618}.schaltung__summary{margin-top:10px;padding:10px 12px;background:color-mix(in srgb,var(--orange, var(--orange)) 6%,transparent);border-radius:10px;line-height:1.6;font-size:var(--type-xxs)}.schaltung__summary-title{font-weight:618;color:var(--fg);text-transform:lowercase;margin-bottom:4px}.schaltung__summary strong{font-weight:618}.standard-code{font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.88em;padding:0 6px;border-radius:var(--radius-m, 6px);white-space:nowrap}.standard-code--unknown{background:color-mix(in srgb,var(--fg) 6%,transparent);color:var(--text-muted);border:var(--contour-w) solid color-mix(in srgb,var(--fg) 10%,transparent)}.standard-code--clickable{background:color-mix(in srgb,var(--orange, var(--orange)) 10%,transparent);color:var(--fg);border:var(--contour-w) solid color-mix(in srgb,var(--orange, var(--orange)) 35%,transparent);cursor:pointer;text-decoration:none;transition:background .12s ease,border-color .12s ease,transform 80ms ease}.standard-code--clickable:hover{background:var(--orange, var(--orange));color:var(--on-orange, #fff);border-color:var(--orange, var(--orange))}.standard-code--clickable:active{transform:translateY(1px)}.standards-modal-overlay{z-index:200;-webkit-backdrop-filter:blur(6px) saturate(120%);backdrop-filter:blur(6px) saturate(120%)}.standards-modal{min-width:460px;max-width:min(640px,calc(100vw - 32px));max-height:calc(100vh - 64px);overflow-y:auto}.standards-modal__head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-m);margin-bottom:var(--space-s)}.standards-modal__head h2{font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:var(--type-l, 22px);margin:0;text-transform:none;color:var(--fg);letter-spacing:-.01em}.standards-modal__subtitle{font-size:var(--type-xs, 13px);color:var(--text-muted);margin-top:2px;text-transform:lowercase}.standards-modal__close{appearance:none;background:transparent;border:var(--contour-w) solid color-mix(in srgb,var(--fg) 18%,transparent);width:28px;height:28px;border-radius:999px;font-size:var(--type-m);line-height:1;color:var(--fg);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:background .12s ease}.standards-modal__close:hover{background:color-mix(in srgb,var(--fg) 8%,transparent)}.standards-modal__badges{display:flex;flex-wrap:wrap;gap:var(--space-xxs);margin-bottom:var(--space-s)}.standards-modal__category-pill{font-size:var(--type-xxs);padding:2px 10px;border-radius:999px;background:color-mix(in srgb,var(--orange, var(--orange)) 12%,transparent);color:var(--fg);border:var(--contour-w) solid color-mix(in srgb,var(--orange, var(--orange)) 35%,transparent);text-transform:lowercase;font-weight:618}.standards-modal__confidence-pill{font-size:var(--type-xxs);padding:2px 10px;border-radius:999px;background:color-mix(in srgb,var(--warn) 10%,transparent);color:var(--fg);border:var(--contour-w) solid color-mix(in srgb,var(--warn) 35%,transparent);font-weight:618}.standards-modal__short{font-size:var(--type-s, 14px);color:var(--fg);margin:0 0 var(--space-s);line-height:1.5}.standards-modal__long{font-size:var(--type-xs, 13px);color:var(--text-muted);margin:0 0 var(--space-m);line-height:1.55}.standards-modal__meta,.standards-modal__notes{display:grid;grid-template-columns:110px 1fr;gap:var(--space-xs);font-size:var(--type-xs, 13px);margin-bottom:var(--space-s);color:var(--fg)}.standards-modal__list{margin-bottom:var(--space-s)}.standards-modal__list-label{font-size:var(--type-xxs);color:var(--text-muted);text-transform:lowercase;margin-bottom:var(--space-xxs);font-weight:618}.standards-modal__list-items{display:flex;flex-wrap:wrap;gap:var(--space-xxs)}.standards-modal__chip{font-size:var(--type-xxs);padding:1px 8px;border-radius:var(--radius-m, 6px);background:color-mix(in srgb,var(--fg) 6%,transparent);border:var(--contour-w) solid color-mix(in srgb,var(--fg) 12%,transparent);color:var(--fg)}.standards-modal__code-chip{font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.78rem;padding:1px 8px;border-radius:var(--radius-m, 6px);background:color-mix(in srgb,var(--orange, var(--orange)) 8%,transparent);border:var(--contour-w) solid color-mix(in srgb,var(--orange, var(--orange)) 25%,transparent);color:var(--fg)}.standards-modal__sources{margin-bottom:var(--space-s)}.standards-modal__sources ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.standards-modal__sources a{font-size:var(--type-xxs);color:var(--fg);text-decoration:none;border-bottom:1px dashed color-mix(in srgb,var(--fg) 40%,transparent)}.standards-modal__sources a:hover{border-bottom-style:solid}.part-locked-banner{border:1px solid color-mix(in srgb,var(--orange, var(--orange)) 35%,transparent);border-radius:var(--radius-m, 8px);padding:var(--space-s, 10px);margin-bottom:var(--space-s, 10px);background:color-mix(in srgb,var(--orange, var(--orange)) 6%,transparent);font-family:Haffer,sans-serif}.part-locked-banner.is-locked{border-color:color-mix(in srgb,var(--orange, var(--orange)) 55%,transparent);background:color-mix(in srgb,var(--orange, var(--orange)) 10%,transparent)}.part-locked-banner.is-unlocked{border-style:dashed}.part-locked-banner__row{display:flex;align-items:center;gap:var(--space-s, 10px)}.part-locked-banner__img{width:44px;height:44px;object-fit:contain;border-radius:var(--radius-s, 4px);background:var(--bg-card, #fff);flex-shrink:0}.part-locked-banner__id{flex:1;min-width:0;overflow:hidden}.part-locked-banner__brand{font-size:var(--type-xs, 13px);font-weight:618;color:var(--fg);text-transform:lowercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.part-locked-banner__model{font-size:var(--type-xxs);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.part-locked-banner__meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:var(--type-xxs)}.part-locked-banner__price{font-weight:618;color:var(--fg)}.part-locked-banner__weight{color:var(--text-muted)}.part-locked-banner__datasheet{font-size:var(--type-xxs);color:var(--fg);text-decoration:none;border-bottom:1px dashed color-mix(in srgb,var(--fg) 40%,transparent)}.part-locked-banner__datasheet:hover{border-bottom-style:solid}.part-locked-banner__lock{width:32px;height:32px;border-radius:999px;border:var(--contour-w) solid color-mix(in srgb,var(--fg) 20%,transparent);background:var(--bg-card, #fff);font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;flex-shrink:0;transition:background .12s ease,transform 80ms ease}.part-locked-banner__lock:hover{background:color-mix(in srgb,var(--fg) 8%,transparent)}.part-locked-banner__lock:active{transform:scale(.94)}.part-locked-banner__hint{margin-top:var(--space-xxs, 4px);font-size:var(--type-xxs);color:var(--text-muted);text-transform:lowercase;line-height:1.4}.part-locked-banner__drift-actions{display:flex;gap:var(--space-xxs, 4px);margin-top:var(--space-xs, 6px);flex-wrap:wrap}.part-locked-banner__btn{appearance:none;font-family:Haffer,sans-serif;font-size:var(--type-xxs);padding:3px 10px;border-radius:999px;background:transparent;cursor:pointer;text-transform:lowercase;font-weight:618;transition:background .12s ease,color .12s ease}.part-locked-banner__btn--snap{border:var(--contour-w) solid color-mix(in srgb,var(--orange, var(--orange)) 45%,transparent);color:var(--fg)}.part-locked-banner__btn--snap:hover{background:var(--orange, var(--orange));color:var(--on-orange, #fff)}.part-locked-banner__btn--detach{border:var(--contour-w) solid color-mix(in srgb,var(--fg) 18%,transparent);color:var(--text-muted)}.part-locked-banner__btn--detach:hover{background:color-mix(in srgb,var(--fg) 8%,transparent);color:var(--fg)}.parametric-sidebar:has(.bike-cart-footer),.floating-card__body:has(.bike-cart-footer),.params-card-wrap:has(.bike-cart-footer),.params-card-wrap .parametric-sidebar:has(.bike-cart-footer),.params-card-wrap .floating-card__body:has(.bike-cart-footer){padding-bottom:0!important}.bike-cart-footer{position:sticky;bottom:0;margin:var(--space-m, 12px) calc(-1 * var(--space-l, 16px)) 0;padding:var(--space-m, 14px) var(--space-l, 16px);padding-bottom:max(var(--space-l, 18px),env(safe-area-inset-bottom,0px));background-color:var(--bg-card);background:color-mix(in srgb,var(--bg-card) 92%,var(--orange) 8%);border-top:1px solid color-mix(in srgb,var(--orange) 35%,var(--border));display:flex;gap:var(--space-l, 16px);align-items:center;z-index:50;font-family:Haffer,sans-serif;box-shadow:0 -8px 20px #00000038,inset 0 0 0 1px color-mix(in srgb,var(--bg-card) 92%,var(--orange) 8%)}.bike-cart-footer__cell{display:flex;flex-direction:column;gap:var(--space-xxs, 4px);min-width:0;line-height:1.2}.bike-cart-footer__cell--parts{margin-left:auto;align-items:flex-end}.bike-cart-footer__label{font-size:var(--type-xxs);color:var(--text-muted);text-transform:lowercase;line-height:1}.bike-cart-footer__value{font-size:var(--type-s, 15px);font-weight:618;color:var(--fg);white-space:nowrap;line-height:1.25;padding-bottom:1px}.manufacturer-modal-overlay{z-index:200}.manufacturer-modal{min-width:440px;max-width:min(560px,calc(100vw - 32px))}.manufacturer-modal__head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-m);margin-bottom:var(--space-s)}.manufacturer-modal__title{display:flex;align-items:center;gap:var(--space-s)}.manufacturer-modal__flag{font-size:32px;line-height:1}.manufacturer-modal__head h2{font-size:var(--type-l, 22px);margin:0;color:var(--fg);text-transform:lowercase}.manufacturer-modal__sub{font-size:var(--type-xs, 13px);color:var(--text-muted);margin-top:2px;text-transform:lowercase}.manufacturer-modal__close{appearance:none;background:transparent;border:var(--contour-w) solid color-mix(in srgb,var(--fg) 18%,transparent);width:28px;height:28px;border-radius:999px;font-size:var(--type-m);line-height:1;color:var(--fg);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.manufacturer-modal__badges{display:flex;flex-wrap:wrap;gap:var(--space-xxs);margin-bottom:var(--space-s)}.manufacturer-modal__verified{font-size:var(--type-xxs);padding:2px 10px;border-radius:999px;background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--fg);border:var(--contour-w) solid color-mix(in srgb,var(--success) 40%,transparent);font-weight:618}.manufacturer-modal__inuse{font-size:var(--type-xxs);padding:2px 10px;border-radius:999px;background:color-mix(in srgb,var(--orange, var(--orange)) 12%,transparent);color:var(--fg);border:var(--contour-w) solid color-mix(in srgb,var(--orange, var(--orange)) 35%,transparent);font-weight:618}.manufacturer-modal__desc{font-size:var(--type-s, 14px);line-height:1.5;color:var(--fg);margin:0 0 var(--space-m)}.manufacturer-modal__rows{display:grid;grid-template-columns:90px 1fr;gap:var(--space-xs);font-size:var(--type-xs, 13px)}.manufacturer-modal__row{display:contents}.manufacturer-modal__row-label{color:var(--text-muted);text-transform:lowercase}.manufacturer-modal__row a{color:var(--fg);text-decoration:none;border-bottom:1px dashed color-mix(in srgb,var(--fg) 40%,transparent)}.manufacturer-modal__row a:hover{border-bottom-style:solid}.catalog-item__brand-line{display:inline-flex;align-items:center;gap:6px}.catalog-item__flag{font-size:14px;line-height:1;opacity:.9}.catalog-item__brand{font-weight:618}.catalog-item__brand--clickable{cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-decoration-color:color-mix(in srgb,var(--orange, var(--orange)) 50%,transparent);text-underline-offset:3px}.catalog-item__brand--clickable:hover{color:var(--fg);text-decoration-style:solid}.catalog-item__compat{position:absolute;top:6px;right:8px;font-size:12px;line-height:1;pointer-events:none}.catalog-item__match{position:absolute;top:6px;right:28px;font-size:9px;line-height:1;padding:2px 6px;border-radius:999px;font-weight:618;font-family:Haffer,sans-serif;pointer-events:none}.catalog-item__match--green{background:color-mix(in srgb,var(--success) 18%,transparent);border:1px solid color-mix(in srgb,var(--success) 45%,transparent);color:var(--fg)}.catalog-item__match--yellow{background:color-mix(in srgb,var(--warn) 18%,transparent);border:1px solid color-mix(in srgb,var(--warn) 45%,transparent);color:var(--fg)}.catalog-item__match--red{background:color-mix(in srgb,var(--error) 12%,transparent);border:1px solid color-mix(in srgb,var(--error) 40%,transparent);color:var(--text-muted)}.catalog-item{position:relative}.catalog-item.is-incompat{opacity:.55}.catalog-item.is-incompat:hover{opacity:.85}.catalog-item{display:flex;flex-direction:column;gap:6px;padding:10px 12px}.catalog-item__model{font-size:var(--type-xxs);color:var(--text-muted);white-space:normal;line-height:1.3}.catalog-item__attrs{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.catalog-item__attr-chip{display:inline-flex;gap:4px;align-items:baseline;padding:1px 7px;border-radius:999px;background:color-mix(in srgb,var(--fg) 5%,transparent);border:var(--contour-w) solid color-mix(in srgb,var(--fg) 10%,transparent);font-size:10px;line-height:1.4;font-family:Haffer,sans-serif}.catalog-item__attr-label{color:var(--text-muted);text-transform:lowercase}.catalog-item__attr-value{color:var(--fg);font-weight:618}.catalog-item__footer{display:flex;gap:10px;justify-content:space-between;margin-top:4px;padding-top:6px;border-top:1px dashed color-mix(in srgb,var(--fg) 8%,transparent);font-size:10px;font-family:Haffer,sans-serif}.catalog-item__weight{color:var(--text-muted)}.catalog-item__price{color:var(--orange, var(--orange));font-weight:618}@keyframes catalog-toast-slide-up{0%{transform:translate(-50%,calc(100% + 32px));opacity:0}60%{transform:translate(-50%);opacity:1}to{transform:translate(-50%);opacity:1}}.catalog-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;background:color-mix(in srgb,var(--bg-card) 92%,var(--orange, var(--orange)) 8%);border:1px solid color-mix(in srgb,var(--orange, var(--orange)) 40%,transparent);color:var(--fg);font-family:Haffer,sans-serif;font-size:var(--type-xs, 13px);font-weight:618;text-transform:lowercase;box-shadow:0 8px 24px #00000047;z-index:300;animation:catalog-toast-slide-up .24s cubic-bezier(.2,.8,.2,1);pointer-events:none;max-width:min(90vw,480px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-toast--ok{border-color:color-mix(in srgb,var(--success) 50%,transparent)}.catalog-toast--warn{border-color:color-mix(in srgb,var(--warn) 50%,transparent)}.catalog-toast__icon{font-size:14px;opacity:.9}.coat-section{margin-top:var(--space-s, 10px);padding:var(--space-s, 10px);border:1px dashed color-mix(in srgb,var(--fg) 12%,transparent);border-radius:var(--radius-m, 8px)}.coat-section__head{margin-bottom:var(--space-xs, 6px)}.coat-section__title{font-size:var(--type-xs, 13px);color:var(--text-muted);text-transform:lowercase;font-weight:618}.coat-section__pills{display:flex;flex-wrap:wrap;gap:var(--space-xxs, 4px);margin-bottom:var(--space-s, 10px)}.coat-section__pill{flex:1 1 0;min-width:0;appearance:none;background:transparent;border:var(--contour-w) solid color-mix(in srgb,var(--orange, var(--orange)) 40%,transparent);border-radius:999px;padding:5px 10px;font-family:Haffer,sans-serif;font-size:var(--type-xs, 13px);color:var(--fg);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease;text-transform:lowercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.coat-section__pill:hover{background:color-mix(in srgb,var(--orange, var(--orange)) 10%,transparent)}.coat-section__pill.is-active{background:var(--orange, var(--orange));color:var(--on-orange, #fff);border-color:var(--orange, var(--orange))}.coat-section__color-row{display:flex;align-items:center;gap:var(--space-s, 10px);margin-top:var(--space-xs, 6px)}.coat-section__color-row.is-disabled{opacity:.4}.coat-section__color-row label{font-size:var(--type-xxs);color:var(--text-muted);text-transform:lowercase}.coat-section__color-wrap{display:inline-flex;align-items:center;gap:6px}.coat-section__color-picker{width:36px;height:28px;border:var(--contour-w) solid color-mix(in srgb,var(--fg) 18%,transparent);border-radius:var(--radius-m, 6px);background:transparent;cursor:pointer;padding:2px}.coat-section__color-picker:disabled{cursor:not-allowed}.coat-section__color-hex{font-family:JetBrains Mono,monospace;font-size:var(--type-xxs);color:var(--text-muted)}.section-cart-box{margin-top:var(--space-m, 12px);padding:var(--space-s, 10px) var(--space-m, 12px);border:1px solid color-mix(in srgb,var(--orange, var(--orange)) 30%,transparent);border-radius:var(--radius-m, 8px);background:color-mix(in srgb,var(--bg-card) 90%,var(--orange, var(--orange)) 10%);display:flex;gap:var(--space-m, 12px);align-items:center;justify-content:space-between;font-family:Haffer,sans-serif}.section-cart-box__cell{display:flex;flex-direction:column;gap:1px;min-width:0}.section-cart-box__cell--price{align-items:flex-end}.section-cart-box__label{font-size:var(--type-xxs);color:var(--text-muted);text-transform:lowercase;line-height:1}.section-cart-box__value{font-size:var(--type-s, 14px);font-weight:618;color:var(--fg);white-space:nowrap}.legal-links{position:fixed;right:var(--space-m, 24px);bottom:var(--space-s, 10px);z-index:40;display:flex;flex-wrap:nowrap;justify-content:flex-end;align-items:baseline;max-width:calc(100vw - 2 * var(--space-m, 24px));gap:var(--space-xxs, 4px);font-size:var(--type-xxs);color:var(--text-muted)}.legal-links__copy{opacity:.75;white-space:nowrap}.legal-links__attrib{color:var(--fg);white-space:nowrap}@media(max-width:1500px){.legal-links{flex-wrap:wrap}}@media(max-width:900px){.legal-links__attrib{white-space:normal}}.legal-links a{color:var(--text-muted);text-decoration:none;text-transform:lowercase}.legal-links a:hover{color:var(--fg);text-decoration:underline}.legal-overlay{position:fixed;inset:0;z-index:200;background:color-mix(in srgb,var(--bg) 55%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:var(--space-l, 24px)}.legal-overlay__card{position:relative;background:var(--bg-card);color:var(--fg);border:1px solid var(--border);border-radius:var(--radius-l, 14px);max-width:720px;width:100%;max-height:calc(100vh - 2 * var(--space-l, 24px));overflow-y:auto;padding:var(--space-l, 24px) var(--space-xl, 32px);font-size:var(--type-s, 14px);line-height:1.55}.legal-overlay__card h2{font-size:var(--type-m, 18px);margin:0 0 var(--space-s, 10px)}.legal-overlay__card h3{font-size:var(--type-s, 14px);margin:var(--space-m, 14px) 0 var(--space-xxs, 4px)}.legal-overlay__card a{color:var(--fg);text-decoration:underline}.legal-overlay__close{position:absolute;top:var(--space-s, 10px);right:var(--space-s, 10px);width:32px;height:32px;border-radius:999px;border:var(--contour-w) solid var(--border);background:var(--bg-muted);color:var(--fg);font-size:var(--type-m, 18px);line-height:1;cursor:pointer}.legal-overlay__close:hover{background:var(--orange, #FD9501);color:#fff}.part-locked-banner{border:1px solid color-mix(in srgb,var(--orange) 60%,transparent)!important;border-radius:var(--radius-m, 8px);padding-left:var(--space-s, 10px)}.part-locked-banner.is-locked{border-color:var(--orange)!important}.part-locked-banner.is-drifted{border-color:color-mix(in srgb,var(--orange) 80%,transparent)!important;background:color-mix(in srgb,var(--orange) 8%,transparent);border-style:solid}.part-locked-banner__right{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-xxs, 4px);flex-shrink:0}.part-locked-banner__state-pill{font-family:Haffer,sans-serif;font-size:var(--type-xxs);font-weight:618;padding:1px 8px;border-radius:999px;text-transform:lowercase;line-height:1.4}.part-locked-banner__state-pill.is-locked{background:var(--orange);color:#fff}.part-locked-banner__state-pill.is-drifted{background:transparent;border:var(--contour-w) solid var(--orange);color:var(--fg);display:inline-flex;align-items:center;gap:4px}.part-locked-banner__state-pill.is-catalog{background:var(--bg-muted);border:var(--contour-w) solid var(--border);color:var(--text-muted)}.part-locked-banner__btn--snap-primary{background:var(--orange)!important;color:#fff!important;border-color:var(--orange)!important}.part-locked-banner__btn--snap-primary:hover{background:var(--fg)!important;color:var(--bg-card, #fff)!important;border-color:var(--fg)!important}.range-slider__spec-pill{appearance:none;font-family:Haffer,sans-serif;font-size:var(--type-xxs);font-weight:618;padding:0 6px;border-radius:999px;border:var(--contour-w) solid color-mix(in srgb,var(--orange) 50%,transparent);background:transparent;color:var(--orange);cursor:pointer;white-space:nowrap;transition:background .1s ease,color .1s ease;flex-shrink:0}.range-slider__spec-pill:hover{background:var(--orange);color:#fff;border-color:var(--orange)}.part-custom-hint{display:flex;align-items:center;gap:var(--space-xs, 6px);padding:var(--space-xs, 6px) var(--space-s, 10px);border-radius:var(--radius-m, 8px);border:1px dashed color-mix(in srgb,var(--border) 60%,transparent);background:color-mix(in srgb,var(--fg) 3%,transparent);margin-bottom:var(--space-s, 10px);font-size:var(--type-xxs);flex-wrap:wrap}.part-custom-hint__pill{font-weight:618;padding:0 7px;border-radius:999px;background:var(--bg-muted);border:var(--contour-w) solid var(--border);color:var(--text-muted);flex-shrink:0}.part-custom-hint__text{color:var(--text-muted)}.part-custom-hint__link{appearance:none;background:none;border:none;padding:0;font-family:Haffer,sans-serif;font-size:var(--type-xxs);font-weight:618;color:var(--fg);cursor:pointer;text-decoration:underline;text-underline-offset:2px;text-decoration-color:color-mix(in srgb,var(--fg) 40%,transparent)}.part-custom-hint__link:hover{text-decoration-color:var(--fg)}.part-hotspot-popover__body{transition:opacity .15s ease}.part-hotspot-popover__body.is-visible{opacity:1}.part-hotspot-popover__body.is-fading{opacity:0;transition:opacity 80ms ease}.part-hotspot-popover--fixed{transition:height .15s ease}.schema-param-groups{display:grid;gap:var(--space-s)}.param-section-group{border-top:1px solid var(--border)}.section-head--sub{display:grid;grid-template-columns:16px 1fr;align-items:center;gap:var(--space-xs);width:100%;padding:var(--space-xs) var(--space-xxs);background:transparent;border:0;text-align:left;cursor:pointer;font-size:var(--type-xs);font-weight:618;color:var(--fg);border-radius:var(--radius-s)}.section-head--sub:hover{background:var(--bg-muted)}.section-head--sub .label{font-weight:618;text-transform:lowercase}.section-head--sub .caret{color:var(--text-muted)}.computed-readouts-block{border-top:1px solid var(--border);padding:var(--space-xs) var(--space-xxs);display:grid;gap:var(--space-xs)}.computed-readouts-block__title{font-size:var(--type-xxs);font-weight:618;color:var(--text-muted);text-transform:lowercase;letter-spacing:.04em}.computed-readout-row{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--type-xs)}.computed-readout-row__label{flex:1;color:var(--text-muted);text-transform:lowercase}.computed-readout-row__value{font-weight:618;color:var(--fg)}.computed-readout-row__info{position:relative;color:var(--text-muted);cursor:help;line-height:1}.header-lang-toggle{display:inline-flex;align-items:center;justify-content:center;gap:4px;font-size:var(--type-xxs);font-weight:618;line-height:1;color:var(--fg);cursor:pointer;text-transform:lowercase}.header-lang-toggle:hover{background:var(--bg-muted)}.header-lang-group{display:inline-flex;gap:var(--ds-group-gap);padding:var(--ds-group-pad);border:var(--contour-w) solid var(--ctrl-glass-border, var(--border));border-radius:999px;background:var(--ctrl-glass-bg, transparent)}.header-lang-group__btn{box-sizing:border-box;border:0;background:transparent;color:var(--text-muted);font-size:var(--type-xxs);font-weight:618;line-height:1;text-transform:lowercase;cursor:pointer;width:calc(var(--pill-h, 32px) - 2 * var(--ds-group-pad));height:calc(var(--pill-h, 32px) - 2 * var(--ds-group-pad));padding:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.header-lang-group__btn:hover:not(.is-active){background:var(--bg-muted)}.header-lang-group__btn.is-active{background:var(--ono-orange, #FD9501);color:var(--on-orange, #fff)}.schema-param-groups__toolbar{display:flex;justify-content:flex-end;padding:var(--space-xs) var(--space-xxs) 0}.schema-reset-btn{font-size:var(--type-xxs);font-weight:618;color:var(--text-muted);background:transparent;border:var(--contour-w) solid var(--border);border-radius:9999px;padding:1px var(--space-xs);cursor:pointer;text-transform:lowercase}.schema-reset-btn:hover{background:var(--bg-muted);color:var(--fg)}.angle-handle-pill{width:20px;height:20px;border-radius:50%;position:absolute;left:0;top:0;background:#fff;box-shadow:inset 0 0 0 3.5px #fd9501,0 1px 3px #00000047;border:none;cursor:grab;transition:box-shadow .12s ease,transform .12s ease;display:block}.angle-handle-pill:hover,.angle-handle-pill.dragging{background:#fd9501;box-shadow:inset 0 0 0 2px #ffffffe6,0 2px 6px #00000059}.angle-handle-pill:hover{transform:translate(-50%,-50%) scale(1.15)}.angle-handle-pill.dragging{cursor:grabbing;transform:translate(-50%,-50%) scale(1.08)}.catalog-search{position:relative;padding:8px 10px 6px;border-bottom:1px solid var(--border-subtle, #e5e2dc)}.catalog-search__icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-muted, #8a877f);display:flex}.catalog-search__input{width:100%;padding:6px 32px 6px 34px;font:inherit;font-size:var(--type-xs);border:var(--contour-w) solid var(--chip-border, rgba(0, 0, 0, .1));border-radius:999px;background:var(--chip-bg, rgba(0, 0, 0, .05));color:var(--fg, #1a1a1a)}.catalog-search__input::placeholder{color:var(--placeholder-color, rgba(26, 26, 26, .45))}.catalog-search__input:focus{border-color:var(--ono-orange, #FD9501)}.catalog-search__clear{position:absolute;right:16px;top:50%;transform:translateY(-50%);border:none;background:none;font-size:var(--type-s);line-height:1;cursor:pointer;color:var(--text-muted, #8a877f);padding:2px 4px}.catalog-search__results{height:100%;overflow-y:auto}.enum-cycle{display:flex;align-items:center;gap:4px;min-width:0;flex:1}.enum-cycle__body{flex:1;min-width:0}.enum-cycle__btn{flex:0 0 auto;width:22px;height:26px;border:var(--contour-w) solid var(--chip-border, rgba(0, 0, 0, .1));border-radius:6px;background:var(--chip-bg, rgba(0, 0, 0, .05));color:inherit;font-size:14px;line-height:1;cursor:pointer;padding:0}.enum-cycle__btn:hover{border-color:var(--ono-orange, #FD9501);color:var(--ono-orange, #FD9501)}@media(max-width:760px){.floating-card,.floating-card[data-position=left],.floating-card[data-position=right],.floating-card[data-position=right-center],.floating-card[data-position=right-bottom],.floating-card[data-position=left-bottom],.floating-card[data-position=right-stack-top],.floating-card[data-position=right-stack-bottom]{position:fixed!important;inset:auto 0 0!important;width:auto!important;min-width:0!important;max-width:100%!important;max-height:55vh!important;transform:none!important;border-radius:var(--radius-l, 14px) var(--radius-l, 14px) 0 0;border-left:0;border-right:0;border-bottom:0;z-index:32}.floating-card[data-position=right-stack-top]{z-index:33}.floating-card[data-position=right-center],.floating-card[data-position=right-stack-bottom],.floating-card[data-position=right]{z-index:34}.floating-card[data-open=false]{transform:none!important}.floating-card__body{-webkit-overflow-scrolling:touch;overflow-y:auto;padding-bottom:calc(var(--space-m, 14px) + env(safe-area-inset-bottom,0px))}.floating-card__btn{width:40px;height:40px;font-size:14px}.floating-card__title{font-size:var(--type-xs)}.floating-card--collapsed{left:auto!important;right:var(--space-s, 12px)!important;top:auto!important;bottom:calc(var(--space-s, 12px) + env(safe-area-inset-bottom,0px))!important;width:44px!important;height:44px!important;min-width:0!important;max-height:none!important;border-radius:999px;border:1px solid var(--glass-dark-border);z-index:35}.floating-card--collapsed[data-position=left],.floating-card--collapsed[data-position=left-bottom]{left:var(--space-s, 12px)!important;right:auto!important}.floating-card--collapsed[data-position=right-stack-top]{bottom:calc(64px + env(safe-area-inset-bottom,0px))!important}.vl-body>.parametric-sidebar{position:fixed;inset:auto 0 0;width:auto;max-height:55vh;overflow-y:auto;border-left:0;border-top:1px solid var(--border);z-index:31}.catalog-panel-wrap.catalog-panel-wrap--cols3{width:auto!important;max-width:100%!important}.catalog-cols3{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto minmax(0,1fr);height:100%;max-height:none}.catalog-cols3>.catalog-col{flex-direction:row;flex-wrap:wrap;align-items:center;align-content:flex-start;gap:6px;padding:8px 6px;border-right:0;border-bottom:1px solid var(--border);overflow-y:auto;max-height:22vh;min-height:0}.catalog-cols3>.catalog-col--parts{flex-direction:column;flex-wrap:nowrap;align-items:stretch;border-bottom:0;max-height:none;padding:8px 6px 12px}.catalog-cols3 .catalog-cat{flex:0 0 auto;min-height:40px;padding:8px 14px;border:var(--contour-w) solid var(--catalog-pill-border);background:var(--catalog-pill-bg);border-radius:999px;font-size:var(--type-xs);color:var(--fg)}.catalog-cols3 .catalog-cat.is-active{background:var(--accent-orange, var(--orange));border-color:var(--accent-orange, var(--orange));color:var(--on-orange, #fff)!important}.catalog-cols3 .catalog-cat__label{flex:0 0 auto;white-space:nowrap}.catalog-cols3 .catalog-col__empty{flex:1 1 100%;padding:6px 4px;font-size:var(--type-xs)}.catalog-cols3 .catalog-col .catalog-part,.catalog-cols3 .catalog-col .catalog-item{flex:1 1 100%;min-height:44px}.catalog-search__input{min-height:40px;font-size:14px}.catalog-search__clear{width:40px;height:40px;right:10px}.catalog-part{min-height:44px}.catalog-pill{min-height:36px}.floating-card,.parametric-sidebar,.catalog-panel-wrap{--type-xxs: 13px;--type-xs: 13px;--type-s: 14px}.param-row{min-height:40px}.param-row label{font-size:var(--type-xs)}.param-row select,.param-row input,.meta-row input,.ds-select,.ds-text-input{min-height:40px;font-size:14px}.param-row:has(>select:not(.ds-select--compact))>select,.param-row:has(>.ds-dropdown)>.ds-dropdown,.param-row.param-row--stacked>select,.param-row.param-row--stacked>.ds-select{min-height:40px;font-size:14px}.param-section .section-head{min-height:44px;font-size:14px}.enum-cycle__btn{width:36px;height:40px}.range-slider__track{height:40px}.range-slider__input{height:100%}.range-slider__input::-webkit-slider-thumb{width:22px;height:22px}.range-slider__input::-moz-range-thumb{width:22px;height:22px}.range-slider__step-click{width:24px;height:40px;border-radius:8px}.range-slider__label{font-size:var(--type-xs)}.range-slider__value{font-size:14px;min-height:40px;display:inline-flex;align-items:center}.range-slider__edit-input{min-height:40px;font-size:14px}.range-slider__unit-pill{min-height:36px;min-width:44px;font-size:var(--type-xs)}.range-slider__step-labels{font-size:var(--type-xs)}.discrete-slider input[type=range]{height:40px}.discrete-slider .ds-ticks .tick{min-height:32px;font-size:var(--type-xs)}.vl-header{display:flex!important;flex-wrap:wrap!important;align-items:center!important;height:auto!important;min-height:0!important;padding:8px 10px!important;gap:6px 10px!important}.vl-header__left{flex:1 1 auto;min-width:0;flex-wrap:wrap}.vl-header__right{flex:0 1 auto;flex-wrap:wrap;justify-content:flex-end;row-gap:6px}.vl-header__right .config-name{white-space:normal;overflow-wrap:anywhere}.vl-header__center{order:3;flex:1 1 100%;display:flex;justify-content:center;min-width:0}.vl-header__center .header-tabs,.header-tabs{flex-wrap:wrap;justify-content:center}.viewer-toolbar{flex-wrap:wrap;justify-content:flex-end;max-width:calc(100vw - 20px)}.viewer-toolbar__group{flex-wrap:wrap}.viewer-bottom-bar{display:flex!important;flex-wrap:wrap!important;white-space:normal!important;justify-content:center!important;max-width:calc(100vw - 16px);row-gap:6px}.viewer-bottom-bar__group{flex-wrap:wrap}}.feedback-fab{position:fixed;right:24px;bottom:16px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;padding:0;border:var(--contour-w) solid var(--border-strong, #d4d4d4);border-radius:50%;background:var(--bg-card, #ffffff);font-size:var(--type-m);line-height:1;cursor:pointer;z-index:9}.feedback-fab:hover{border-color:var(--ono-orange, #FD9501)}.legal-overlay__bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.legal-lang{display:inline-flex;gap:2px;border:var(--contour-w) solid var(--border, #e5e5e5);border-radius:14px;padding:1px}.legal-lang__btn{border:0;background:transparent;color:var(--text-muted, #888);font-size:12px;font-weight:640;text-transform:lowercase;padding:3px 10px;border-radius:11px;cursor:pointer}.legal-lang__btn.is-active{background:var(--ono-orange, #FD9501);color:#fff}.withdrawal-btn{display:inline-block;margin-top:10px;padding:12px 22px;border-radius:22px;background:var(--ono-orange, #FD9501);color:#fff!important;font-weight:660;font-size:var(--type-s);text-transform:lowercase;text-decoration:none}.withdrawal-btn:hover{filter:brightness(1.05)}.viewer-mode-switch{display:flex;gap:var(--ds-group-gap)}.viewer-mode-switch__btn{color:var(--fg, #1a1a1a);font-size:var(--type-xs);font-weight:640;text-transform:lowercase;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:var(--pill-gap)}.viewer-mode-switch__label{display:inline-flex;align-items:center;gap:var(--pill-gap);height:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.viewer-mode-switch__chevron{flex:0 0 auto;position:relative;width:var(--pill-chevron);height:100%;display:inline-flex;align-items:center;justify-content:center;padding:0;margin:0;border:0;background:transparent;color:inherit}button.viewer-mode-switch__chevron{cursor:pointer}button.viewer-mode-switch__chevron:after{content:"";position:absolute;top:0;bottom:0;left:calc(var(--pill-gap) * -1);right:calc(var(--pill-gap) * -1)}.viewer-mode-switch__btn:hover{background:var(--bg-muted, #f2f2f2)}[data-right-panel=open] .feedback-cta,[data-right-panel=open] .legal-links,[data-right-panel=open] .stats-widget{right:452px;transition:right .18s ease}:root{--pill-h: var(--ctrl-h)}.header-pill,.header-pill--icon,.header-tab,.header-subtabs .header-tab,.viewer-mode-switch__btn,.vbb-btn,.legal-lang__btn,.feedback-cta__pin,.feedback-cta__fab{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:var(--pill-gap);line-height:1}.vbb-btn--icon{width:var(--pill-h);padding:0}.header-pill--icon svg,.feedback-cta__pin svg,.feedback-cta__fab svg,.viewer-mode-switch__btn svg{flex:0 0 auto;display:block}.nv-shift-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer;transition:color .1s ease,background .1s ease}.nv-shift-btn:hover{color:var(--ono-orange, #FD9501);background:var(--bg-muted, rgba(0,0,0,.06))}.section-head--sub .caret--end{margin-left:auto}.section-head--sub .label{flex:0 0 auto}.section-head__icon{display:inline-flex;align-items:center;margin-right:6px;opacity:.6}.nv-range{-webkit-appearance:none;appearance:none;height:18px;background:transparent}.nv-range::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:linear-gradient(to right,var(--ono-orange, #FD9501) 0 var(--pct, 50%),color-mix(in srgb,var(--ono-orange, #FD9501) 22%,transparent) var(--pct, 50%) 100%)}.nv-range::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--ono-orange, #FD9501);border:0;margin-top:-5px}.nv-range::-moz-range-track{height:4px;border-radius:999px;background:color-mix(in srgb,var(--ono-orange, #FD9501) 22%,transparent)}.nv-range::-moz-range-progress{height:4px;border-radius:999px;background:var(--ono-orange, #FD9501)}.nv-range::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--ono-orange, #FD9501);border:0}.viewer-bottom-bar__group.is-disabled{opacity:.35;pointer-events:none;filter:grayscale(.6)}.vbb-btn--pin{color:var(--fg)!important;font-weight:660;white-space:nowrap}.vbb-btn--pin.is-active{background:var(--ono-orange, #FD9501)!important;color:#fff!important}.feedback-cta__pin.is-active{background:var(--ono-orange, #FD9501);color:#fff}.nv-pin-frame{position:fixed;inset:0;z-index:90;pointer-events:none;border:3px solid var(--ono-orange, #FD9501)}.part-hotspot-popover__pin{border:0;background:transparent;font-size:14px;line-height:1;padding:4px 6px;border-radius:8px;cursor:pointer;filter:grayscale(1);opacity:.6}.part-hotspot-popover__pin:hover{filter:none;opacity:1;background:var(--bg-muted, #f2f2f2)}.stats-widget__info{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:var(--contour-w) solid var(--border, #d4d4d4);color:var(--text-muted, #888);cursor:help;margin:0 6px}.stats-widget__info:hover{color:var(--ono-orange, #FD9501);border-color:var(--ono-orange, #FD9501)}.feedback-reply.is-team{border-left:3px solid var(--ono-orange, #FD9501);padding-left:8px;background:color-mix(in srgb,var(--ono-orange, #FD9501) 6%,transparent);border-radius:6px}.feedback-reply__teamchip{font-size:10px;font-weight:680;text-transform:lowercase;color:#fff;background:var(--ono-orange, #FD9501);border-radius:8px;padding:1px 7px;margin-left:4px}.feedback-item__solvebtn{border:var(--contour-w) solid var(--ono-orange, #FD9501);background:transparent;color:var(--fg);border-radius:10px;font-size:var(--type-xxs);font-weight:640;padding:2px 8px;cursor:pointer;white-space:nowrap}.feedback-item__solvebtn:hover{background:var(--ono-orange, #FD9501);color:#fff}.feedback-item__solvedchip{font-size:var(--type-xxs);font-weight:660;color:#1a9e5a;white-space:nowrap}.feedback-solve{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px dashed var(--ono-orange, #FD9501);border-radius:10px;margin:6px 0}.feedback-solvedlog{display:flex;flex-direction:column;gap:12px;max-height:380px;overflow-y:auto}.feedback-solveditem{border:1px solid var(--border, #e5e5e5);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:6px}.feedback-solveditem__head{display:flex;align-items:center;gap:8px}.feedback-solveditem__report{font-size:12px;color:var(--text-muted, #777);margin:0;font-style:italic}.feedback-solveditem__note{font-size:var(--type-xs);font-weight:640;color:#1a9e5a}.feedback-solveditem__shots{display:flex;gap:8px}.feedback-solveditem__shots figure{margin:0;display:flex;flex-direction:column;gap:2px}.feedback-solveditem__shots figcaption{font-size:10px;color:var(--text-muted, #888);text-transform:lowercase}.welcome-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,#000 42%,transparent);padding:var(--space-l, 24px)}.welcome-card{position:relative;width:100%;max-width:440px;padding:28px 26px 22px;border-radius:16px;background:var(--bg-card, #fff);color:var(--fg, #1a1a1a)}.welcome-card__x{position:absolute;top:12px;right:14px;border:0;background:transparent;color:var(--text-muted, #888);font-size:var(--type-l);line-height:1;cursor:pointer}.welcome-card__title{font-size:var(--type-l);font-weight:680;text-transform:lowercase;margin:0 0 8px}.welcome-card__sub{font-size:14px;line-height:1.5;color:var(--fg);margin:0 0 16px}.welcome-card__list{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:9px}.welcome-card__list li{display:flex;align-items:flex-start;gap:var(--space-s, 8px);font-size:14px;line-height:1.4}.check-bullet{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-top:2px;border-radius:999px;background:var(--ono-orange, #FD9501);color:var(--on-orange, #fff)}.warn-bullet{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:999px;background:var(--ono-orange, #FD9501);color:var(--on-orange, #fff)}a[href^="mailto:"],.nowrap-email{white-space:nowrap}.welcome-card__k{display:inline-block;min-width:44px;margin-right:8px;padding:1px 8px;border-radius:6px;background:color-mix(in srgb,var(--ono-orange, #FD9501) 16%,transparent);color:var(--fg);font-weight:640;text-align:center;font-size:12px}.welcome-card__actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.welcome-card__notes{font-size:var(--type-xs);color:var(--fg);text-decoration:underline}.welcome-card__notes:hover{text-decoration:underline}.welcome-card__go{height:var(--ctrl-h);padding:0 var(--space-l);border:0;border-radius:var(--shape-single);padding-bottom:var(--ctrl-optical-pad);box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;background:var(--ono-orange, #FD9501);color:var(--on-orange, #fff);font-weight:618;font-size:var(--type-xs);text-transform:lowercase;cursor:pointer;white-space:nowrap}.welcome-card__go:hover{filter:brightness(1.05)}.feedback-cta{position:fixed;right:24px;bottom:44px;display:flex;align-items:center;gap:8px;z-index:11}.feedback-cta__pin,.feedback-cta__fab{position:relative;display:inline-flex;align-items:center;gap:var(--pill-gap, 6px);height:var(--ctrl-h);padding:0 var(--space-m);padding-bottom:var(--ctrl-optical-pad);box-sizing:border-box;border-radius:var(--shape-single);font-size:var(--type-xs);font-weight:618;text-transform:lowercase;line-height:1;cursor:pointer;white-space:nowrap}.feedback-cta__fab{border:0;background:var(--ono-orange, #FD9501);color:#fff}.feedback-cta__fab:hover{filter:brightness(1.05)}.feedback-cta__pin{border:var(--contour-w) solid var(--ono-orange, #FD9501);background:var(--bg-card, #ffffff);color:var(--fg)}.feedback-cta__pin:hover{background:var(--ono-orange, #FD9501);color:#fff}.feedback-cta__hint{position:absolute;right:0;bottom:46px;max-width:240px;padding:8px 28px 8px 12px;border-radius:10px;background:var(--fg, #1a1a1a);color:var(--bg, #fff);font-size:12px;line-height:1.35}.feedback-cta__hint-x{position:absolute;top:4px;right:6px;border:0;background:transparent;color:inherit;font-size:14px;cursor:pointer;opacity:.7}.feedback-cta__fab .feedback-fab__badge{position:static;margin-left:2px}.feedback-panel{position:fixed;right:0;top:var(--header-h, 56px);bottom:0;width:min(420px,100vw);display:flex;flex-direction:column;gap:var(--space-s, 10px);padding:var(--space-m, 14px);border:none;border-left:1px solid var(--border, #e5e5e5);border-radius:0;background:var(--bg-card, #ffffff);z-index:120;min-height:0}.feedback-panel__head{display:flex;align-items:center;justify-content:space-between}.feedback-panel__title{font-size:var(--type-xs);font-weight:618;color:var(--fg);text-transform:lowercase}.feedback-panel__close{border:none;background:none;font-size:var(--type-s);line-height:1;cursor:pointer;color:var(--text-muted, #8a877f);padding:2px 4px}.feedback-panel__textarea{width:100%;min-height:72px;padding:7px 10px;font:inherit;font-size:var(--type-xs);border:var(--contour-w) solid var(--border, #d8d5cf);border-radius:8px;background:var(--bg-muted, #faf9f7);color:inherit;resize:vertical}.feedback-panel__textarea:focus{border-color:var(--ono-orange, #FD9501)}.feedback-panel__attach{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted, #8a877f);cursor:pointer}.feedback-panel__attach input{accent-color:var(--ono-orange, #FD9501)}.feedback-panel__send{align-self:flex-end;padding:5px 14px;font:inherit;font-size:var(--type-xs);border:var(--contour-w) solid var(--ono-orange, #FD9501);border-radius:8px;background:var(--ono-orange, #FD9501);color:#fff;cursor:pointer}.feedback-panel__send[disabled]{opacity:.5;cursor:not-allowed}.feedback-panel__error{font-size:12px;color:var(--error, #dc2626)}.feedback-panel__ok{padding:14px 4px;text-align:center;font-size:var(--type-xs);color:var(--fg)}.feedback-fab{position:fixed}.feedback-fab__badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--ono-orange, #FD9501);color:#fff;font-size:10px;font-weight:618;line-height:1}.feedback-panel--wide{width:min(420px,100vw);max-height:none}.feedback-tabs{display:flex;gap:4px}.feedback-tab{border:var(--contour-w) solid var(--border, #e5e5e5);border-radius:8px;background:var(--bg-muted, #f5f5f5);color:var(--text-muted, #8a877f);font:inherit;font-size:12px;padding:4px 10px;cursor:pointer;text-transform:lowercase}.feedback-tab.is-active{border-color:var(--ono-orange, #FD9501);background:var(--bg-card, #ffffff);color:var(--fg)}.feedback-panel__row{display:flex;align-items:center;justify-content:space-between;gap:8px}.feedback-btn{padding:5px 12px;font:inherit;font-size:var(--type-xs);border:var(--contour-w) solid var(--border, #e5e5e5);border-radius:8px;background:var(--bg-card, #ffffff);color:var(--fg);cursor:pointer}.feedback-btn:hover{border-color:var(--ono-orange, #FD9501)}.feedback-btn--ghost{background:var(--bg-muted, #f5f5f5)}.feedback-btn[disabled]{opacity:.5;cursor:not-allowed}.feedback-pins{display:flex;flex-direction:column;gap:8px;min-height:0}.feedback-pins__toolbar{display:flex;align-items:center;gap:6px}.feedback-pins__empty{padding:12px 4px;font-size:12px;color:var(--text-muted, #8a877f);text-align:center}.feedback-pins__list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;min-height:0}.feedback-item{border:1px solid var(--border, #e5e5e5);border-radius:8px;background:var(--bg-card, #ffffff);overflow:hidden}.feedback-item.is-resolved{opacity:.55}.feedback-item.is-open{border-color:var(--ono-orange, #FD9501)}.feedback-item__head{display:flex;align-items:center;gap:var(--space-s, 10px);padding:var(--space-s, 10px) var(--space-m, 14px);cursor:pointer;background:var(--bg-muted, #f5f5f5);min-width:0}.feedback-item__num{flex:0 0 auto;min-width:18px;height:18px;padding:0 4px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--ono-orange, #FD9501);color:#fff;font-size:var(--type-xxs);font-weight:618;line-height:1}.feedback-item__num.is-plain{background:transparent;color:var(--text-muted, #8a877f)}.feedback-item__author{font-size:var(--type-xs, 12px);font-weight:618;color:var(--fg);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feedback-item__time{font-size:var(--type-xxs);color:var(--text-muted, #8a877f);white-space:nowrap;flex:0 0 auto}.feedback-item__resolve{margin-left:auto;display:flex;cursor:pointer;flex:0 0 auto}.feedback-item__resolve input{accent-color:var(--ono-orange, #FD9501)}.feedback-item__body{display:flex;flex-direction:column;gap:var(--space-s, 10px);padding:var(--space-m, 14px)}.feedback-item__ver,.nv-pin-chip{align-self:flex-start;display:inline-flex;align-items:center;font-size:var(--type-xxs);line-height:1.35;color:var(--text-muted, #8a877f);border:var(--contour-w) solid var(--border, #e5e5e5);border-radius:999px;padding:2px var(--space-s, 10px);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.feedback-item__text{margin:0;font-size:var(--type-s, 14px);line-height:1.5;color:var(--fg);white-space:pre-wrap;overflow-wrap:anywhere}.feedback-item__thumb{width:100%;max-height:280px;object-fit:contain;background:var(--bg-muted, #f5f5f5);border:1px solid var(--border, #e5e5e5);border-radius:6px;cursor:zoom-in;display:block}.feedback-item__resolved-note{font-size:var(--type-xxs);color:var(--text-muted, #8a877f)}.nv-pin-chip{align-self:flex-start;font-size:10px;font-weight:618;text-transform:lowercase;color:var(--fg);border:var(--contour-w) solid var(--border, #e5e5e5);border-radius:4px;padding:0 6px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feedback-thread{display:flex;flex-direction:column;gap:8px;padding:0 8px 8px}.feedback-reply{padding:6px 8px;border:1px solid var(--border, #e5e5e5);border-radius:6px;background:var(--bg-muted, #f5f5f5)}.feedback-reply__meta{display:flex;align-items:center;gap:6px;margin-bottom:2px}.feedback-thread__reply{display:flex;flex-direction:column;gap:6px}.feedback-thread__reply .feedback-panel__send{align-self:flex-end}.nv-pin-layer{position:fixed;inset:0;z-index:110;pointer-events:none}.nv-pin-marker{position:fixed;transform:translate(-50%,-50%);width:24px;height:24px;display:none;align-items:center;justify-content:center;border:1px solid #ffffff;border-radius:999px;background:var(--ono-orange, #FD9501);color:#fff;font-size:12px;font-weight:618;line-height:1;cursor:pointer;pointer-events:auto;padding:0}.nv-pin-marker.is-active{border-width:3px}.nv-pin-marker.is-resolved{background:var(--text-muted, #8a877f)}.nv-pin-hint{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:130;display:flex;align-items:center;gap:12px;padding:8px 14px;border:1px solid var(--ono-orange, #FD9501);border-radius:999px;background:var(--bg-card, #ffffff);color:var(--fg);font-size:var(--type-xs)}.nv-pin-hint__cancel{border:var(--contour-w) solid var(--border, #e5e5e5);border-radius:8px;background:var(--bg-muted, #f5f5f5);color:var(--text-muted, #8a877f);font:inherit;font-size:12px;padding:2px 8px;cursor:pointer}.nv-pin-input{position:fixed;transform:translate(-50%,calc(-100% - 14px));z-index:130;width:240px;display:flex;flex-direction:column;gap:6px;padding:9px;border:var(--contour-w) solid var(--border, #e5e5e5);border-radius:10px;background:var(--bg-card, #ffffff)}.nv-pin-input__meta{display:flex;align-items:center;justify-content:space-between;gap:6px}.nv-pin-input__shot{font-size:10px;color:var(--text-muted, #8a877f)}.nv-pin-input__actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.nv-lightbox{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;background:#000000b8;cursor:zoom-out}.nv-lightbox img{max-width:96vw;max-height:92vh;border:1px solid var(--border-strong, #d4d4d4);border-radius:8px;background:var(--bg-card, #ffffff)}.nv-lightbox__close{position:fixed;top:16px;right:20px;width:32px;height:32px;border:var(--contour-w) solid var(--border-strong, #d4d4d4);border-radius:999px;background:var(--bg-card, #ffffff);color:var(--fg);font-size:var(--type-m);line-height:1;cursor:pointer}.kbh-keys{display:block;width:100%;max-width:640px;margin:2px auto 16px}.kbh-keys text{font-family:Haffer,Inter,system-ui,-apple-system,sans-serif;user-select:none}.kbh-key__cap{fill:#333;stroke:#4a4a4a;stroke-width:1}.kbh-key__char{fill:#fff;font-weight:618}.kbh-key__label{fill:#f2f2f2;opacity:.55;font-weight:382}.kbh-key--pressed .kbh-key__cap{fill:var(--ono-orange, #FD9501);stroke:var(--ono-orange, #FD9501)}.kbh-key--pressed .kbh-key__char{fill:#fff}.kbh-key--pressed .kbh-key__label{fill:#fff;opacity:.85}.catalog-panel-wrap .floating-card__body{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}.catalog-panel-wrap .catalog-search{flex:0 0 auto}.catalog-panel-wrap .catalog-cols3,.catalog-panel-wrap .catalog-search__results{flex:1 1 auto;min-height:0;height:auto;overflow-y:auto}.catalog-cols3>.catalog-col{min-height:0}.template-item-wrap{display:flex;flex-direction:column}.template-item__vchevron{align-self:center;padding:2px 8px;border-radius:8px;color:var(--text-muted);font-weight:640;cursor:pointer}.template-item__vchevron:hover{background:var(--bg-muted);color:var(--fg)}.template-versions{display:flex;flex-direction:column;gap:2px;padding:2px 0 6px 44px}.template-version-row{text-align:left;font-size:var(--type-s, 12px);padding:4px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--fg);cursor:pointer}.template-version-row:hover{background:var(--bg-muted)}.template-version-block{display:flex;flex-direction:column;gap:2px}.template-version-head{display:flex;gap:4px;align-items:stretch}.template-version-head .template-version-row{flex:1 1 auto}.template-version-part-btn{flex:0 0 auto;font-size:var(--type-xs, 11px);font-weight:618;text-transform:lowercase;padding:3px 8px;border:var(--contour-w) solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-muted);cursor:pointer}.template-version-part-btn:hover,.template-version-part-btn.is-active{background:var(--bg-muted);color:var(--fg);border-color:var(--orange)}.template-version-parts{display:flex;flex-direction:column;gap:2px;padding:2px 0 4px 12px}.template-version-part{display:flex;align-items:baseline;gap:4px;text-align:left;font-size:var(--type-s, 12px);padding:4px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--fg);cursor:pointer}.template-version-part:hover{background:var(--bg-muted);border-color:var(--orange)}.template-version-part__label{font-weight:618;text-transform:lowercase}.template-version-part__count{color:var(--text-muted);font-size:var(--type-xs, 11px)}.template-version-empty{font-size:var(--type-xs, 11px);color:var(--text-muted);text-transform:lowercase;padding:4px 10px}.tm-hintbar{border:1px solid var(--border);border-radius:8px;background:var(--bg-muted);padding:8px 10px;margin-bottom:8px;color:var(--fg)}.tm-hintbar__head{display:flex;align-items:center;gap:8px}.tm-hintbar__title{flex:1 1 auto;font-size:var(--type-s, 12px);font-weight:618;text-transform:lowercase}.tm-hintbar__close{flex:0 0 auto;border:none;background:transparent;color:var(--text-muted);font-size:var(--type-m, 15px);line-height:1;cursor:pointer;padding:0 4px}.tm-hintbar__close:hover{color:var(--fg)}.tm-hintbar__list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}.tm-hintbar__hint{font-size:var(--type-xs, 11px);color:var(--text-muted);text-transform:lowercase;padding-left:10px;position:relative}.tm-hintbar__hint:before{content:"·";position:absolute;left:2px;color:var(--warn, var(--orange))}.tm-hintbar__more{font-size:var(--type-xs, 11px);color:var(--text-muted);text-transform:lowercase;padding-left:10px}.header-pill,.header-pill--icon,.header-tab,.header-subtabs .header-tab,.viewer-mode-switch__btn,.vbb-btn,.legal-lang__btn,.feedback-cta__fab{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:var(--pill-gap);line-height:1}.vbb-btn--icon{width:var(--pill-h, 32px);padding:0}.app-header__center{margin-block:0;margin-inline:0}@media(max-width:1439.98px){.app-header__center{position:static;left:auto;transform:none;grid-area:center}}:root{--ono-orange: var(--orange, #FD9501)}.app-header__title{max-width:118px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-pill--icon{padding:0 10px!important}.template-item-wrap{position:relative}.template-item-wrap .template-versions{position:absolute;left:calc(100% - 8px);top:0;width:264px;background:var(--bg-card, #fff);border:1px solid var(--border, #e5e5e5);border-radius:12px;padding:8px;z-index:80;max-height:min(60vh,420px);overflow-y:auto}.viewer-bottom-bar .vbb-btn{height:var(--pill-h, 32px)}.viewer-bottom-bar .vbb-btn--icon{width:var(--pill-h, 32px)}.app-stage{--nv-pad-l: 0px;--nv-pad-r: 0px}.app-stage[data-left-panel=templates]{--nv-pad-l: 410px}.app-stage[data-left-panel=schaltung]{--nv-pad-l: 450px}.app-stage[data-left-panel=catalog]{--nv-pad-l: 750px}.app-stage[data-right-panel=open]{--nv-pad-r: 452px}.viewer-wrap.viewer-2d{padding-left:max(var(--space-l),var(--nv-pad-l));padding-right:max(var(--space-l),var(--nv-pad-r));padding-bottom:calc(var(--pill-h, 32px) + 2 * var(--ds-group-pad, 4px) + 104px + var(--space-l));transition:padding-left .25s ease,padding-right .25s ease}.app-stage__bottom{left:calc(50% + (var(--nv-pad-l) - var(--nv-pad-r)) / 2);transition:left .25s ease}.ride-hud-row{position:absolute;left:calc(50% + (var(--nv-pad-l, 0px) - var(--nv-pad-r, 0px)) / 2);transform:translate(-50%);bottom:calc(24px + 80px + var(--pill-h, 32px) + 2 * var(--ds-group-pad, 4px) + var(--space-m, 14px));z-index:20;display:flex;gap:8px;pointer-events:none;max-width:calc(100vw - 48px);transition:left .25s ease}.ride-panel{position:absolute;left:50%;transform:translate(-50%);top:72px;z-index:20;pointer-events:auto;display:flex;flex-direction:column;gap:var(--space-s, 10px);min-width:340px;padding:var(--space-m, 14px);background:var(--bg-card);color:var(--fg);border:1px solid var(--border);border-radius:var(--radius-l, 18px);box-shadow:none}.ride-panel__title{font-size:var(--type-xs, 13px);font-weight:618;text-transform:lowercase}.ride-panel__row{display:flex;align-items:center;gap:var(--space-s, 10px)}.ride-panel__row--stack{flex-direction:column;align-items:stretch;gap:4px}.ride-panel__label{flex:0 0 auto;min-width:76px;font-size:var(--type-xxs);font-weight:618;letter-spacing:.04em;text-transform:lowercase;color:var(--text-muted)}.ride-panel__slider{display:flex;align-items:center;gap:var(--space-s, 10px)}.ride-panel__end{font-size:var(--type-xxs);color:var(--text-muted);text-transform:lowercase}.ride-panel__readout{min-width:46px;text-align:right;font-size:var(--type-xxs);font-variant-numeric:tabular-nums;color:var(--accent-orange, var(--orange))}.ride-panel__row>.ds-dropdown{flex:1 1 auto;min-width:0}.header-pill,.header-icon-btn,.header-lang-toggle,.header-tab,.vbb-btn,.vbb-btn--icon,.viewer-mode-switch__btn{box-sizing:border-box;height:var(--pill-h, 32px);min-height:var(--pill-h, 32px);padding:0 calc(var(--pill-px) - (var(--contour-w) - 1px));border:var(--contour-w) solid var(--ctrl-glass-border, var(--border));border-radius:999px;background:var(--ctrl-glass-bg, var(--bg-card));-webkit-backdrop-filter:var(--ctrl-glass-blur, none);backdrop-filter:var(--ctrl-glass-blur, none);box-shadow:none}.header-icon-btn,.vbb-btn--icon{width:var(--pill-h, 32px);min-width:var(--pill-h, 32px);padding:0;aspect-ratio:1 / 1;justify-content:center}.viewer-bottom-bar__group,.header-tabs,.viewer-mode-switch{box-sizing:border-box;height:calc(var(--pill-h, 32px) + 2 * var(--ds-group-pad));align-items:center;gap:var(--ds-group-gap);padding:var(--ds-group-pad);border:none;border-radius:999px;background:var(--ctrl-glass-bg, var(--bg-card));-webkit-backdrop-filter:var(--ctrl-glass-blur, none);backdrop-filter:var(--ctrl-glass-blur, none);box-shadow:none}.viewer-bottom-bar__group>.vbb-btn,.header-tabs>.header-tab,.viewer-mode-switch>.viewer-mode-switch__btn{border:var(--contour-w) solid transparent;background:transparent;box-shadow:none}.header-pill:hover,.header-icon-btn:hover,.header-lang-toggle:hover,.header-tab:hover,.vbb-btn:hover,.vbb-btn--icon:hover,.viewer-mode-switch__btn:hover,.viewer-bottom-bar__group>.vbb-btn:hover,.header-tabs>.header-tab:hover,.viewer-mode-switch>.viewer-mode-switch__btn:hover,.header-menu__item:hover:not(:disabled){background:var(--ono-orange, #FD9501);color:var(--on-orange, #fff);border-color:var(--ono-orange, #FD9501)}.header-pill.is-active,.header-icon-btn.is-active,.header-tab.is-active,.vbb-btn.is-active,.viewer-mode-switch__btn.is-active,.viewer-bottom-bar__group>.vbb-btn.is-active,.header-tabs>.header-tab.is-active,.viewer-mode-switch>.viewer-mode-switch__btn.is-active,.header-menu__item.is-active{border:var(--contour-w) solid var(--ono-orange, #FD9501);background:color-mix(in srgb,var(--ono-orange, #FD9501) 10%,var(--bg-card));color:var(--fg)}.header-pill.is-active:hover,.header-icon-btn.is-active:hover,.header-tab.is-active:hover,.vbb-btn.is-active:hover,.viewer-mode-switch__btn.is-active:hover,.viewer-bottom-bar__group>.vbb-btn.is-active:hover,.header-tabs>.header-tab.is-active:hover,.viewer-mode-switch>.viewer-mode-switch__btn.is-active:hover,.header-menu__item.is-active:hover{background:var(--ono-orange, #FD9501);color:var(--on-orange, #fff);border-color:var(--ono-orange, #FD9501)}.header-icon-btn,.vbb-btn--icon{border-color:transparent}.header-icon-btn:hover,.header-icon-btn:focus-visible,.vbb-btn--icon:hover,.vbb-btn--icon:focus-visible,.viewer-bottom-bar__group>.vbb-btn--icon:hover{background:var(--ctrl-glass-bg, var(--bg-card));border-color:var(--ono-orange, #FD9501);color:var(--fg)}.header-icon-btn.is-active,.header-icon-btn.is-active:hover,.vbb-btn--icon.is-active,.vbb-btn--icon.is-active:hover,.viewer-bottom-bar__group>.vbb-btn--icon.is-active,.viewer-bottom-bar__group>.vbb-btn--icon.is-active:hover{background:var(--ono-orange, #FD9501);border-color:var(--ono-orange, #FD9501);color:var(--on-orange, #fff)}.header-icon-btn:disabled{cursor:default;pointer-events:none}.header-icon-btn:disabled:not(.is-active){opacity:.38}@keyframes header-save-spin{to{transform:rotate(360deg)}}.header-save-btn__ring{animation:header-save-spin .9s linear infinite;transform-origin:50% 50%}.header-icon-btn,.vbb-btn--icon,.btn-icon-only{box-sizing:border-box;width:var(--ctrl-h);min-width:var(--ctrl-h);height:var(--ctrl-h);min-height:var(--ctrl-h);aspect-ratio:1 / 1;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.header-pill svg,.header-icon-btn svg,.header-lang-toggle svg,.header-tab svg,.vbb-btn svg,.vbb-btn--icon svg,.viewer-mode-switch__btn svg,.app-header__nav-pill svg,.header-menu__item svg{color:inherit;stroke:currentColor}.header-menu__panel{position:absolute;top:100%;padding-top:var(--space-xs, 6px);z-index:100}.header-menu__panel[data-align=right]{right:0}.header-menu__panel__card{min-width:240px;padding:var(--space-s, 10px);display:flex;flex-direction:column;gap:var(--space-xxs, 6px);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-m, 12px);box-shadow:none}.header-menu__panel--wide .header-menu__panel__card{min-width:300px}.header-menu__item{display:flex;align-items:center;gap:var(--space-xs, 8px);width:100%;box-sizing:border-box;padding:8px 12px;border:0;border-radius:999px;background:transparent;color:var(--fg);text-decoration:none;font-size:var(--type-s, 13px);text-transform:lowercase;cursor:pointer;text-align:left;transition:background .12s ease,color .12s ease}.header-menu__item:disabled{cursor:default;color:var(--text-muted);opacity:.55}.header-menu__item--brand{text-transform:none}.header-menu__item--danger:hover:not(:disabled){background:var(--error, #e5484d);border-color:var(--error, #e5484d);color:#fff}.header-menu__divider{height:1px;margin:4px 6px;background:var(--border)}.header-menu__item-main{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-menu__item-hint{margin-left:auto;flex:0 0 auto;font-size:var(--type-xxs);color:var(--text-muted)}.header-menu__row{display:flex;align-items:center;gap:var(--space-s, 10px);padding:6px 12px}.header-menu__row--stack{flex-direction:column;align-items:stretch;gap:4px}.header-menu__label{flex:0 0 auto;font-size:var(--type-xxs);font-weight:618;letter-spacing:.04em;text-transform:lowercase;color:var(--text-muted)}.header-menu__hint{font-size:var(--type-xxs);line-height:1.5;color:var(--text-muted)}.header-menu__hint code{font-family:inherit;font-size:inherit;background:var(--bg-muted);border-radius:4px;padding:1px 5px}.ride-settings{position:absolute;left:50%;transform:translate(-50%);top:72px;z-index:20;pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:var(--space-xs, 6px)}.ride-settings .ride-panel{position:static;transform:none;top:auto;left:auto}.ride-settings .ride-panel[hidden]{display:none}.account-welcome__pitch{margin:var(--space-l, 22px) 0 0;font-size:var(--type-s, 14px);line-height:1.55;color:var(--fg)}.account-welcome__prompt{margin:var(--space-l, 22px) 0 0;font-size:var(--type-xxs);color:var(--fg)}.account-welcome__actions{display:flex;gap:var(--space-s, 10px);max-width:380px;margin-inline:auto}.account-welcome__actions .btn,.account-welcome__actions .btn-ghost{width:auto;flex:1 1 0}.intro-tour__card{position:fixed;width:min(320px,calc(100vw - 2 * var(--space-l, 16px)));background:var(--bg-card, var(--bg-app));border:1px solid var(--border);border-radius:var(--radius-l, 18px);box-shadow:none;padding:var(--space-m, 14px) var(--space-l, 16px);z-index:320}.intro-tour__card[data-side=bottom],.intro-tour__card[data-side=bottom-inset]{margin-top:var(--space-m, 14px)}.intro-tour__card[data-side=top]{margin-top:calc(-1 * var(--space-m, 14px))}.intro-tour__card[data-side=right]{margin-left:var(--space-m, 14px)}.intro-tour__card[data-side=left]{margin-left:calc(-1 * var(--space-m, 14px))}.intro-tour__x{position:absolute;top:var(--space-s, 10px);right:var(--space-s, 10px);border:0;background:transparent;color:var(--text-muted);cursor:pointer;opacity:.7}.intro-tour__x:hover{opacity:1}.intro-tour__eyebrow{font-size:var(--type-xxs);font-weight:618;text-transform:lowercase;color:var(--fg);margin:0 0 var(--space-xxs, 4px);padding-right:var(--space-l, 16px)}.intro-tour__body{margin:0;font-size:var(--type-xs, 13px);line-height:1.55;color:var(--fg)}.intro-tour__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-s, 10px);margin-top:var(--space-m, 14px)}.intro-tour__progress{font-size:var(--type-xxs);color:var(--text-muted)}.intro-tour__actions{display:flex;gap:var(--space-xs, 8px)}.intro-tour-target{outline:2px solid var(--accent-orange, #FD9501);outline-offset:var(--space-xxs, 4px);border-radius:var(--radius-s, 8px)}.header-pill.app-header__nav-pill:after,.app-header__account-wrap .header-icon-btn:after{content:"";position:absolute;left:0;right:0;top:100%;height:var(--space-xl, 36px);background:transparent}.light-dot{display:inline-block;width:13px;height:13px;border-radius:999px;background:var(--chip-border, rgba(255, 255, 255, .18));border:1px solid var(--border-strong, rgba(255, 255, 255, .28));box-sizing:border-box;transition:background .16s ease,box-shadow .22s ease,border-color .16s ease}.light-dot--front.is-on{background:#fff;border-color:#fff;box-shadow:0 0 6px 1px #ffffffe6,0 0 16px 5px #fff6d673}.light-dot--rear.is-on{background:#ff3b30;border-color:#ff5f57;box-shadow:0 0 6px 1px #ff3b30e6,0 0 16px 5px #ff3b3066}.viewer-bottom-bar__group .light-toggle .vbb-btn.is-active{background:transparent;color:inherit}.light-toggle{position:relative;display:inline-flex}.light-toggle:before{content:"";position:absolute;left:-4px;right:-4px;bottom:100%;height:var(--space-l, 22px)}.light-toggle__panel{position:absolute;bottom:calc(100% + var(--space-s, 11px));left:50%;transform:translate(-50%);z-index:60;display:block}.viewer-bottom-bar__group[aria-label="unit system"]>.vbb-btn,.phi-btn-group.app-header__unit-group>.phi-btn-group__item{width:var(--pill-h, 32px);min-width:var(--pill-h, 32px);padding:0;border-radius:999px;justify-content:center}.ride-jump-chip{padding-left:4px}.bike-compare-modal{width:min(94vw,76rem);max-width:94vw;max-height:90vh;display:flex;flex-direction:column;gap:var(--space-m);overflow-y:auto}.bike-compare-modal__head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-m)}.bike-compare-modal__head h2{margin:0;font-size:var(--type-l);font-weight:618;text-transform:lowercase;color:var(--fg)}.bike-compare-modal__close{appearance:none;background:transparent;border:var(--contour-w) solid color-mix(in srgb,var(--fg) 18%,transparent);box-sizing:border-box;width:var(--ctrl-h);height:var(--ctrl-h);border-radius:var(--shape-single);font-size:var(--type-s);line-height:1;color:var(--fg);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;flex-shrink:0;transition:background .12s ease}.bike-compare-modal__close:hover{background:color-mix(in srgb,var(--fg) 8%,transparent)}.bike-compare-modal__pickers{display:flex;gap:var(--space-m);flex-wrap:wrap}.bike-compare-modal__picker{display:flex;align-items:center;gap:var(--space-xs);flex:1 1 0;min-width:0}.bike-compare-modal__picker>.ds-dropdown{flex:1 1 0;min-width:0}.bike-compare-modal__swatch{display:inline-block;box-sizing:border-box;width:var(--icon-s);height:var(--icon-s);border-radius:var(--shape-single);flex-shrink:0}.bike-compare-modal__swatch--a{background:var(--node-blue-accent)}.bike-compare-modal__swatch--b{background:var(--node-green-accent)}.bike-compare-modal__canvas{width:100%;aspect-ratio:1000 / 620;max-height:60vh;background:var(--bg-muted);border:1px solid var(--border);border-radius:var(--radius-card);box-sizing:border-box;overflow:hidden}.bike-compare-modal__table{width:100%;border-collapse:collapse;font-size:var(--type-xs)}.bike-compare-modal__table th,.bike-compare-modal__table td{text-align:left;padding:var(--space-xxs) var(--space-s);border-bottom:1px solid var(--border)}.bike-compare-modal__table th{font-weight:618;text-transform:lowercase;color:var(--muted-foreground)}.bike-compare-modal__table td:first-child{color:var(--muted-foreground);text-transform:lowercase}.bike-compare-modal__table td:not(:first-child){font-variant-numeric:tabular-nums}.onb-overlay{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:var(--space-l);background:#0000009e;backdrop-filter:blur(3px)}.onb-card{position:relative;width:min(560px,100%);max-height:calc(100dvh - var(--space-xl));overflow-y:auto;background:var(--bg-card);color:var(--fg);border:var(--contour-w) solid var(--border);border-radius:var(--radius-xl);padding:var(--space-l)}.onb-card__x{position:absolute;top:var(--space-s);right:var(--space-s);width:var(--ctrl-h);height:var(--ctrl-h);aspect-ratio:1/1;border-radius:50%;display:flex;align-items:center;justify-content:center;background:transparent;border:var(--contour-w) solid var(--border);color:var(--fg);font-size:var(--type-m);line-height:1;cursor:pointer}.onb-card__bar{display:flex;gap:4px;margin-bottom:var(--space-m)}.onb-card__bar-seg{flex:1;height:3px;border-radius:999px;background:var(--bg-muted)}.onb-card__bar-seg.is-done{background:var(--orange)}.onb-card__count{margin:0;font-size:var(--type-xxs);opacity:.7;text-transform:lowercase}.onb-card__title{margin:4px 0 0;font-size:var(--type-l);font-weight:618;line-height:1.2}.onb-card__sub{margin:var(--space-xs) 0 0;font-size:var(--type-xs);opacity:.8;line-height:1.5}.onb-card__body{margin:var(--space-m) 0}.onb-choices{display:grid;gap:var(--space-xs)}.onb-choice{position:relative;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:var(--space-s) calc(var(--space-l) + var(--space-xs)) var(--space-s) var(--space-s);background:transparent;color:var(--fg);border:var(--contour-w) solid var(--border);border-radius:var(--shape-multi)}.onb-choice.is-active{border-color:var(--orange)}.onb-choice__label{font-size:var(--type-s);font-weight:560}.onb-choice__hint{font-size:var(--type-xxs);opacity:.7;line-height:1.4}.onb-choice__tick{position:absolute;right:var(--space-s);top:50%;transform:translateY(-50%);display:flex;color:var(--orange)}.onb-measure{display:grid;grid-template-columns:200px 1fr;gap:var(--space-m);align-items:start}.onb-blueprint{width:100%;height:auto;color:var(--fg);opacity:.9}.onb-blueprint__label{font-family:inherit;font-size:11px;letter-spacing:.04em;opacity:.7}.onb-blueprint__label.is-on{opacity:1;font-weight:618}.onb-numbers{display:grid;gap:var(--space-s);align-content:start}.onb-number__hint{font-size:var(--type-xxs);opacity:.6;line-height:1.35}.onb-number{display:flex;flex-direction:column;gap:4px}.onb-number__label{font-size:var(--type-xxs);opacity:.75}.onb-number__warn{font-size:var(--type-xxs);color:var(--warn, #b8860b)}.onb-textarea{width:100%;resize:vertical;padding:var(--space-s);border-radius:var(--shape-multi);border:var(--contour-w) solid var(--border);background:var(--bg);color:var(--fg);font-family:inherit;font-size:var(--type-xs);line-height:1.5}.onb-consent{display:flex;align-items:center;gap:var(--space-s);margin-top:var(--space-s);font-size:var(--type-xs);cursor:pointer}.onb-consent__label{opacity:.9;line-height:1.4}.onb-check__input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.onb-check{box-sizing:border-box;width:var(--ctrl-h);height:var(--ctrl-h);flex:0 0 auto;display:flex;align-items:center;justify-content:center;border:var(--contour-w) solid var(--border);border-radius:var(--shape-multi);color:transparent;transition:background .12s ease,border-color .12s ease,color .12s ease}.onb-check__input:checked+.onb-check{background:var(--orange);border-color:var(--orange);color:#fff}.onb-check__input:focus-visible+.onb-check{outline:2px solid var(--orange);outline-offset:2px}.onb-card__error{margin:0 0 var(--space-s);font-size:var(--type-xxs);color:var(--warn, #b8860b)}.onb-card__actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-s)}.onb-card__answered{font-size:var(--type-xxs);opacity:.65}.onb-btn{height:var(--ctrl-h);padding:0 var(--space-m);border-radius:var(--shape-single);border:var(--contour-w) solid var(--border);background:transparent;color:var(--fg);font-size:var(--type-xs);cursor:pointer}.onb-btn--go{background:var(--orange);border-color:var(--orange);color:#fff}.onb-btn--skip{border-color:transparent;opacity:.7}.onb-btn--skip:hover{opacity:1;border-color:var(--border)}.onb-btn[disabled]{opacity:.6;cursor:default}@media(max-width:520px){.onb-measure{grid-template-columns:1fr}.onb-blueprint{max-width:200px;margin:0 auto}.onb-card__actions{flex-wrap:wrap}.onb-card__answered{order:3;width:100%;text-align:center}}.param-anchor.is-hovered>*{outline:2px solid var(--ono-orange, #FD9501);outline-offset:3px;border-radius:var(--shape-multi, 10px);transition:outline-color .12s ease}.handle-mode-switch-wrap{position:absolute;left:50%;transform:translate(-50%);bottom:calc(var(--space-xxl, 48px) + var(--space-l, 24px));z-index:12;pointer-events:auto}.viewport-gate{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:var(--space-l, 24px);background:var(--bg, #fff);color:var(--fg, #111)}.viewport-gate__card{max-width:34ch;text-align:left}.viewport-gate__card h1{font-size:var(--type-l, 22px);font-weight:660;text-transform:lowercase;margin:0 0 var(--space-m, 16px)}.viewport-gate__card p{font-size:var(--type-s, 14px);line-height:1.45;margin:0 0 var(--space-s, 10px)}.viewport-gate__hint{opacity:var(--opacity-major, .618)}.sammel-punkt{min-width:22px;height:22px;padding:0 5px;border-radius:11px;background:var(--ono-orange, #FD9501);color:#fff;font-family:var(--font-sans, "Haffer", sans-serif);font-size:var(--type-xxs);font-weight:660;line-height:22px;text-align:center;box-shadow:0 0 0 2px #ffffffe6,0 1px 3px #0000004d;user-select:none}.angle-handle-pill.verdeckt{visibility:hidden;pointer-events:none}.farb-waehler{display:flex;flex-direction:column;gap:4px;min-width:0}.farb-waehler__zeile{display:flex;gap:6px;align-items:center}.farb-waehler__nachbar{display:flex;align-items:center;gap:6px;padding:3px 6px;border:1px solid var(--ds-border, #d8d4cc);border-radius:6px;background:transparent;cursor:pointer;text-align:left;width:100%;font-size:var(--type-xxs);color:var(--ds-text-muted, #6a6a6a)}.farb-waehler__nachbar:hover{border-color:#fd9501;color:var(--ds-text, #2a2a2a)}.farb-waehler__fleck{width:12px;height:12px;border-radius:3px;flex:0 0 auto;border:1px solid rgba(0,0,0,.15)}.farb-waehler__name{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.farb-waehler__hex{flex:0 0 auto;font-variant-numeric:tabular-nums;opacity:.7}.farb-waehler__hinweis{font-size:var(--type-xxs);color:var(--ds-text-muted, #8a8a8a);padding-left:2px}*{box-sizing:border-box}button,.react-flow__node{font-family:Haffer,Inter,system-ui,sans-serif;font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"ss01" 1,"ss03" 1,"ss04" 1,"ss05" 1,"tnum" 1,"zero" 1}.react-flow__handle{background:var(--orange);border:2px solid var(--bg-card);width:10px;height:10px;border-radius:50%}.react-flow__edge-path{stroke:var(--text-muted);stroke-width:1.5}.react-flow__controls{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-m)}.react-flow__controls button{background:transparent;color:var(--fg);border-bottom:1px solid var(--border)}
