.stair-configurator{--sd-color-bg: #f5f1eb;--sd-color-surface: #fffdf9;--sd-color-surface-raised: #ffffff;--sd-color-border: #ddd5c9;--sd-color-input-border: #948a7c;--sd-color-text: #26231f;--sd-color-text-muted: #5f5a52;--sd-color-text-subtle: #71695f;--sd-color-label: #49443d;--sd-color-accent: #95500c;--sd-color-accent-contrast: #fffaf2;--sd-color-selected: #ead8c4;--sd-color-selected-text: #65370e;--sd-color-selected-border: #b67a3f;--sd-color-danger: #a23b3d;--sd-color-success: #286a3b;--sd-color-warning: #8a4b0f;--sd-color-seen: #696157;--sd-color-seen-contrast: #ffffff;--sd-color-swatch-border: #b8aea1;--sd-color-swatch-check: #95500c;--sd-color-swatch-check-contrast: #fffaf2;--sd-color-swatch-disabled-overlay: rgba(255, 253, 249, .72);--sd-color-panel-bg: #f0ebe4;--sd-color-bg-muted: #d8d0c5;--sd-color-bg-disabled: #ece7df;--sd-color-text-disabled: #71695f;--sd-color-focus-ring: #95500c;--sd-color-tooltip: #332e28;--sd-color-tooltip-text: #fffdf9;--sd-color-scrim: rgba(38, 35, 31, .45);--sd-shadow-control-hover: 0 2px 8px rgba(55, 45, 34, .14);--sd-shadow-drawer: 0 -4px 24px rgba(55, 45, 34, .18);--sd-shadow-dialog: 0 12px 36px rgba(55, 45, 34, .24);--sd-duration-press: .14s;--sd-duration-ui: .18s;--sd-ease-out: cubic-bezier(.23, 1, .32, 1);--sd-ease-standard: cubic-bezier(.4, 0, .2, 1);--sd-transition-icon: var(--sd-duration-ui) var(--sd-ease-standard);--sd-radius-sm: 4px;--sd-radius-md: 6px;--sd-radius-lg: 14px;--sd-space-1: 4px;--sd-space-2: 8px;--sd-space-3: 12px;--sd-space-4: 16px;--sd-font-sans: system-ui, -apple-system, sans-serif;--sd-font-size-caption: 11px;--sd-font-size-body: 13px;--sd-font-size-section: 15px;--sd-font-size-title: 20px;--sd-line-height-caption: 1.35;--sd-line-height-body: 1.45;--sd-line-height-section: 1.3;--sd-line-height-title: 1.2;--sd-font-weight-regular: 400;--sd-font-weight-medium: 500;--sd-font-weight-semibold: 600;--sd-sidebar-width: 340px;--sd-drawer-breakpoint: 1024px;font-family:var(--sd-font-sans);font-size:var(--sd-font-size-body);line-height:var(--sd-line-height-body);font-variant-numeric:tabular-nums;color:var(--sd-color-text);color-scheme:light}.stair-configurator[data-theme=dark]{--sd-color-bg: #171512;--sd-color-surface: #211e1a;--sd-color-surface-raised: #2a2621;--sd-color-border: #4b443c;--sd-color-input-border: #807467;--sd-color-text: #f4eee6;--sd-color-text-muted: #c5bbb0;--sd-color-text-subtle: #aaa095;--sd-color-label: #ddd3c8;--sd-color-accent: #e6a056;--sd-color-accent-contrast: #281708;--sd-color-selected: #4b351f;--sd-color-selected-text: #ffd7aa;--sd-color-selected-border: #c4894f;--sd-color-danger: #f08b8e;--sd-color-success: #72ce8a;--sd-color-warning: #f0b26c;--sd-color-seen: #91867a;--sd-color-seen-contrast: #171512;--sd-color-swatch-border: #6b6157;--sd-color-swatch-check: #e6a056;--sd-color-swatch-check-contrast: #281708;--sd-color-swatch-disabled-overlay: rgba(33, 30, 26, .76);--sd-color-panel-bg: #2a2621;--sd-color-bg-muted: #4d463e;--sd-color-bg-disabled: #35302a;--sd-color-text-disabled: #92877c;--sd-color-focus-ring: #f2ad65;--sd-color-tooltip: #f4eee6;--sd-color-tooltip-text: #211e1a;--sd-color-scrim: rgba(0, 0, 0, .68);--sd-shadow-control-hover: 0 2px 8px rgba(0, 0, 0, .34);--sd-shadow-drawer: 0 -4px 24px rgba(0, 0, 0, .42);--sd-shadow-dialog: 0 12px 36px rgba(0, 0, 0, .54);color-scheme:dark}.stair-configurator :where(button,input,select,[tabindex]):focus-visible{outline:3px solid var(--sd-color-focus-ring);outline-offset:2px}.stair-configurator :where(button,input,select){font-family:var(--sd-font-sans)}.sd-visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;white-space:nowrap;border:0;clip:rect(0 0 0 0);clip-path:inset(50%)}.stair-configurator :where(button:not(:disabled),input:not(:disabled),select:not(:disabled)){transition:color var(--sd-duration-ui) var(--sd-ease-standard),background-color var(--sd-duration-ui) var(--sd-ease-standard),border-color var(--sd-duration-ui) var(--sd-ease-standard),box-shadow var(--sd-duration-ui) var(--sd-ease-standard),transform var(--sd-duration-press) var(--sd-ease-out)}.stair-configurator :where(button,input,select):disabled{cursor:not-allowed}.stair-configurator__sidebar{width:var(--sd-sidebar-width);flex-shrink:0;border-left:1px solid var(--sd-color-border);background:var(--sd-color-surface);overflow-y:auto;padding:var(--sd-space-3);display:flex;flex-direction:column;gap:14px}.stair-configurator__drawer-handle{display:none}.stair-configurator__viewport canvas{cursor:grab;touch-action:none}.stair-configurator__viewport canvas:active{cursor:grabbing}.stair-configurator__interaction-hint{position:absolute;left:50%;bottom:var(--sd-space-4);z-index:4;max-width:calc(100% - 160px);padding:7px 12px;color:var(--sd-color-tooltip-text);font-size:var(--sd-font-size-caption);font-weight:var(--sd-font-weight-medium);line-height:var(--sd-line-height-caption);white-space:nowrap;pointer-events:none;background:color-mix(in srgb,var(--sd-color-tooltip) 88%,transparent);border:1px solid color-mix(in srgb,var(--sd-color-tooltip-text) 18%,transparent);border-radius:999px;box-shadow:var(--sd-shadow-control-hover);transform:translate(-50%);animation:sd-interaction-hint-in .22s var(--sd-ease-out)}@keyframes sd-interaction-hint-in{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.stair-configurator__status{position:absolute;bottom:var(--sd-space-3);left:var(--sd-space-3);z-index:5;max-width:calc(100% - var(--sd-space-3) * 2)}.sd-status-card{--sd-status-color: var(--sd-color-text-muted);width:fit-content;max-width:100%;overflow:hidden;color:var(--sd-color-text);background:var(--sd-color-surface);border:1px solid var(--sd-color-border);border-radius:999px;box-shadow:var(--sd-shadow-control-hover)}.sd-status-card[data-compliance-state=compliant]{--sd-status-color: var(--sd-color-success)}.sd-status-card[data-compliance-state=advisory]{--sd-status-color: var(--sd-color-warning)}.sd-status-card[data-compliance-state=violation]{--sd-status-color: var(--sd-color-danger)}.sd-status-card.is-expanded{display:flex;flex-direction:column;width:min(380px,calc(100vw - var(--sd-space-3) * 2));max-height:min(460px,calc(100vh - 96px));border-radius:var(--sd-radius-lg)}.sd-status-card__toggle{display:flex;align-items:center;gap:var(--sd-space-2);width:100%;min-height:44px;box-sizing:border-box;padding:7px 10px;color:var(--sd-status-color);text-align:left;cursor:pointer;background:transparent;border:0;touch-action:manipulation}.stair-configurator .sd-status-card__toggle:focus-visible{outline:none;box-shadow:inset 0 0 0 3px var(--sd-color-focus-ring)}.sd-status-card__state-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0}.sd-status-card__label{overflow:hidden;font-size:var(--sd-font-size-body);font-weight:var(--sd-font-weight-semibold);line-height:var(--sd-line-height-body);text-overflow:ellipsis;white-space:nowrap}.sd-status-card__chevron{margin-left:auto;flex-shrink:0;color:currentColor;transition:transform var(--sd-transition-icon)}.sd-status-card__chevron.is-open{transform:rotate(180deg)}.sd-status-card__details{min-height:0;padding:var(--sd-space-3);overflow-y:auto;border-top:1px solid var(--sd-color-border)}.sd-status-card__title{display:block;margin-bottom:var(--sd-space-3);font-size:var(--sd-font-size-section);font-weight:var(--sd-font-weight-semibold);line-height:var(--sd-line-height-section)}.sd-status-card__metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sd-space-2);margin:0}.sd-status-card__metrics>div{min-width:0;padding:var(--sd-space-2);background:var(--sd-color-bg-muted);border-radius:var(--sd-radius-md)}.sd-status-card__metrics dt{color:var(--sd-color-text-subtle);font-size:var(--sd-font-size-caption);line-height:var(--sd-line-height-caption)}.sd-status-card__metrics dd{margin:2px 0 0;color:var(--sd-color-text);font-size:var(--sd-font-size-body);font-weight:var(--sd-font-weight-semibold);line-height:var(--sd-line-height-body)}.sd-status-card__clear{margin:var(--sd-space-3) 0 0;color:var(--sd-color-text-muted);font-size:var(--sd-font-size-body);line-height:var(--sd-line-height-body)}.sd-status-card__issues{display:flex;flex-direction:column;gap:var(--sd-space-2);margin:var(--sd-space-3) 0 0;padding:var(--sd-space-3) 0 0;list-style:none;border-top:1px solid var(--sd-color-border)}.sd-status-card__issue{display:flex;gap:6px;color:var(--sd-color-text-muted);font-size:var(--sd-font-size-body);line-height:var(--sd-line-height-body)}.sd-status-card__issue-icon{flex-shrink:0;color:var(--sd-color-warning)}.sd-status-card__issue.is-error .sd-status-card__issue-icon{color:var(--sd-color-danger)}.sd-accordion__chevron,.sd-compliance__chevron{flex-shrink:0;color:var(--sd-color-text-subtle);transition:transform var(--sd-transition-icon)}.sd-accordion__chevron{transform:rotate(-90deg)}.sd-accordion__chevron.is-open{transform:rotate(0)}.sd-compliance__chevron{margin-left:2px}.sd-compliance__chevron.is-open{transform:rotate(180deg)}.sd-material-swatches,.sd-material-schemes{min-width:0;margin:0;padding:0;border:0}.sd-material-schemes>legend{padding:0}.sd-material-schemes__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sd-space-2)}.sd-material-scheme{position:relative;min-width:0;padding:var(--sd-space-1);overflow:hidden;font-family:var(--sd-font-sans);color:var(--sd-color-text);text-align:left;cursor:pointer;border:1px solid var(--sd-color-swatch-border);border-radius:var(--sd-radius-sm);background:var(--sd-color-surface)}.sd-material-scheme.is-selected{border-color:var(--sd-color-selected-border);box-shadow:0 0 0 2px var(--sd-color-selected-border)}.sd-material-scheme__preview{position:relative;display:flex;height:46px;overflow:hidden;border-radius:2px}.sd-material-scheme__stripe{min-width:0;flex:1;background-position:center;background-size:cover}.sd-material-scheme__check{position:absolute;top:var(--sd-space-1);right:var(--sd-space-1);display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;color:var(--sd-color-swatch-check-contrast);border-radius:50%;background:var(--sd-color-swatch-check)}.sd-material-scheme__title,.sd-material-scheme__description{display:block}.sd-material-scheme__title{margin-top:var(--sd-space-1);font-size:var(--sd-font-size-body);font-weight:var(--sd-font-weight-semibold);line-height:var(--sd-line-height-body)}.sd-material-scheme__customised{color:var(--sd-color-text-subtle);font-weight:var(--sd-font-weight-medium)}.sd-material-scheme__description,.sd-material-schemes__notice{font-size:var(--sd-font-size-caption);line-height:var(--sd-line-height-caption);color:var(--sd-color-text-subtle)}.sd-material-scheme__description{margin-top:2px}.sd-material-schemes__notice{margin-top:var(--sd-space-2);padding:var(--sd-space-2);border-left:2px solid var(--sd-color-selected-border);background:var(--sd-color-bg-muted)}.sd-material-swatches>legend{padding:0}.sd-material-swatches__groups,.sd-material-swatches__group{display:flex;flex-direction:column;gap:var(--sd-space-2)}.sd-material-swatches__groups{margin-top:2px}.sd-material-swatches__category{font-size:var(--sd-font-size-caption);font-weight:var(--sd-font-weight-semibold);line-height:var(--sd-line-height-caption);color:var(--sd-color-text-subtle)}.sd-material-swatches__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sd-space-2)}.sd-material-swatch{position:relative;min-width:0;padding:var(--sd-space-1);overflow:hidden;font-family:var(--sd-font-sans);color:var(--sd-color-text);text-align:left;cursor:pointer;border:1px solid var(--sd-color-swatch-border);border-radius:var(--sd-radius-sm);background:var(--sd-color-surface);transform:translateY(0)}.sd-material-swatch.is-selected{border-color:var(--sd-color-selected-border);box-shadow:0 0 0 2px var(--sd-color-selected-border)}.sd-material-swatch:disabled{cursor:not-allowed;color:var(--sd-color-text-disabled)}.sd-material-swatch:disabled:after{position:absolute;inset:0;content:"";pointer-events:none;background:var(--sd-color-swatch-disabled-overlay)}.sd-material-swatch__preview{position:relative;display:block;width:100%;height:46px;overflow:hidden;border-radius:2px;background-position:center;background-size:cover}.sd-material-swatch__check{position:absolute;top:var(--sd-space-1);right:var(--sd-space-1);display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;color:var(--sd-color-swatch-check-contrast);border-radius:50%;background:var(--sd-color-swatch-check);transition:opacity var(--sd-duration-ui) var(--sd-ease-out),transform var(--sd-duration-ui) var(--sd-ease-out)}.sd-material-swatch__label,.sd-material-swatch__hint{display:block}.sd-material-swatch__label{min-height:calc(var(--sd-line-height-body) * 2em);margin-top:var(--sd-space-1);font-size:var(--sd-font-size-body);font-weight:var(--sd-font-weight-medium);line-height:var(--sd-line-height-body)}.sd-material-swatch__hint{margin-top:2px;font-size:var(--sd-font-size-caption);line-height:var(--sd-line-height-caption);color:var(--sd-color-text-subtle)}.sd-wall-switches{display:flex;flex-direction:column;gap:var(--sd-space-2)}.sd-wall-switches__title{font-size:var(--sd-font-size-caption);font-weight:var(--sd-font-weight-semibold);line-height:var(--sd-line-height-caption);color:var(--sd-color-label);text-transform:uppercase}.sd-switch{display:flex;width:100%;min-height:32px;align-items:center;justify-content:space-between;gap:var(--sd-space-3);padding:0;font-size:var(--sd-font-size-body);line-height:var(--sd-line-height-body);font-family:var(--sd-font-sans);text-align:left;color:var(--sd-color-text);cursor:pointer;border:0;background:none}.sd-switch__track{display:inline-flex;width:38px;height:22px;flex-shrink:0;align-items:center;padding:2px;border-radius:999px;background:var(--sd-color-bg-muted);transition:background-color var(--sd-duration-ui) var(--sd-ease-standard)}.sd-switch__thumb{width:18px;height:18px;border-radius:50%;background:var(--sd-color-surface-raised);box-shadow:0 1px 2px var(--sd-color-scrim);transform:translate(0);transition:transform var(--sd-duration-ui) var(--sd-ease-out)}.sd-switch[aria-checked=true] .sd-switch__track{background:var(--sd-color-accent)}.sd-switch[aria-checked=true] .sd-switch__thumb{transform:translate(16px)}.sd-guided-form{display:flex;flex-direction:column;gap:14px}.sd-guided-progress{display:flex;flex-direction:column;gap:var(--sd-space-2);padding:var(--sd-space-3);border:1px solid var(--sd-color-border);border-radius:var(--sd-radius-md);background:var(--sd-color-panel-bg)}.sd-guided-phase{display:grid;grid-template-columns:68px minmax(0,1fr);align-items:center;gap:var(--sd-space-3)}.sd-guided-phase__label{display:flex;min-width:0;flex-direction:column;gap:1px;color:var(--sd-color-text-subtle)}.sd-guided-phase__label span:first-child{font-size:var(--sd-font-size-body);font-weight:var(--sd-font-weight-semibold);line-height:var(--sd-line-height-body);color:var(--sd-color-text-muted)}.sd-guided-phase__label span:last-child{font-size:var(--sd-font-size-caption);font-weight:var(--sd-font-weight-medium);line-height:var(--sd-line-height-caption)}.sd-guided-phase.is-current .sd-guided-phase__label span:first-child{color:var(--sd-color-selected-text)}.sd-guided-phase.is-reviewed .sd-guided-phase__label span:last-child{color:var(--sd-color-selected-text)}.sd-guided-phase__steps{position:relative;display:grid;grid-template-columns:repeat(var(--sd-guided-step-count),minmax(0,1fr));align-items:center;justify-items:center}.sd-guided-phase__steps:before{position:absolute;right:calc(50% / var(--sd-guided-step-count));left:calc(50% / var(--sd-guided-step-count));height:1px;content:"";background:var(--sd-color-border)}.sd-guided-step{position:relative;z-index:1;display:inline-flex;width:30px;height:30px;min-height:30px;align-items:center;justify-content:center;padding:0;cursor:pointer;font-size:var(--sd-font-size-caption);font-weight:var(--sd-font-weight-semibold);line-height:1;color:var(--sd-color-text-subtle);border:1px solid var(--sd-color-border);border-radius:50%;background:var(--sd-color-surface)}.sd-guided-step.is-visited{color:var(--sd-color-selected-text);border-color:var(--sd-color-selected-border);background:var(--sd-color-selected)}.sd-guided-step.is-current{color:var(--sd-color-accent-contrast);border-color:var(--sd-color-accent);background:var(--sd-color-accent);box-shadow:0 0 0 2px var(--sd-color-surface),0 0 0 3px var(--sd-color-accent)}.sd-guided-step:disabled{cursor:default;color:var(--sd-color-text-disabled);border-color:var(--sd-color-border);background:var(--sd-color-bg-disabled);opacity:.72}.sd-guided-form__step-meta,.sd-guided-complete__eyebrow{font-size:var(--sd-font-size-caption);font-weight:var(--sd-font-weight-medium);line-height:var(--sd-line-height-caption);color:var(--sd-color-text-subtle);text-transform:uppercase}.sd-guided-form__title,.sd-guided-complete__title{margin:0;font-size:var(--sd-font-size-title);font-weight:var(--sd-font-weight-semibold);line-height:var(--sd-line-height-title);text-wrap:balance}.sd-guided-nav,.sd-guided-complete__actions{display:flex;gap:var(--sd-space-2);margin-top:var(--sd-space-1)}.sd-guided-nav__button{display:inline-flex;min-height:36px;flex:1;align-items:center;justify-content:center;gap:6px;padding:8px 10px;cursor:pointer;font-size:var(--sd-font-size-body);font-weight:var(--sd-font-weight-medium);line-height:var(--sd-line-height-body);color:var(--sd-color-text);border:1px solid var(--sd-color-input-border);border-radius:var(--sd-radius-sm);background:var(--sd-color-surface)}.sd-guided-nav__button--primary{color:var(--sd-color-accent-contrast);border-color:var(--sd-color-accent);background:var(--sd-color-accent)}.sd-guided-nav__button:disabled{color:var(--sd-color-text-disabled);border-color:var(--sd-color-border);background:var(--sd-color-bg-disabled)}.sd-guided-complete{display:flex;flex-direction:column;gap:var(--sd-space-3);padding:20px;border:1px solid var(--sd-color-selected-border);border-radius:var(--sd-radius-md);background:var(--sd-color-surface-raised);box-shadow:var(--sd-shadow-control-hover)}.sd-guided-complete__icon{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;color:var(--sd-color-selected-text);border-radius:50%;background:var(--sd-color-selected)}.sd-guided-complete__description{margin:0;font-size:var(--sd-font-size-body);line-height:var(--sd-line-height-body);color:var(--sd-color-text-muted)}.sd-guided-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sd-space-2);margin:0}.sd-guided-summary>div{min-width:0;padding:var(--sd-space-2);border-radius:var(--sd-radius-sm);background:var(--sd-color-panel-bg)}.sd-guided-summary dt{margin:0 0 2px;font-size:var(--sd-font-size-caption);font-weight:var(--sd-font-weight-semibold);line-height:var(--sd-line-height-caption);color:var(--sd-color-label);text-transform:uppercase}.sd-guided-summary dd{margin:0;overflow-wrap:anywhere;font-size:var(--sd-font-size-body);font-weight:var(--sd-font-weight-medium);line-height:var(--sd-line-height-body);color:var(--sd-color-text)}.sd-field-hint{min-height:calc(var(--sd-font-size-caption) * var(--sd-line-height-caption));font-size:var(--sd-font-size-caption);line-height:var(--sd-line-height-caption);color:var(--sd-color-text-subtle)}.sd-camera-preset{position:relative;display:inline-flex;min-width:0}.sd-tooltip{position:absolute;top:calc(100% + var(--sd-space-2));left:50%;z-index:25;width:max-content;max-width:220px;padding:6px 8px;pointer-events:none;font-size:var(--sd-font-size-caption);font-weight:var(--sd-font-weight-medium);line-height:var(--sd-line-height-caption);text-align:center;color:var(--sd-color-tooltip-text);border-radius:var(--sd-radius-sm);background:var(--sd-color-tooltip);box-shadow:var(--sd-shadow-control-hover);opacity:0;transform:translate(-50%,-3px) scale(.97);transform-origin:top center;transition:opacity var(--sd-duration-ui) var(--sd-ease-out),transform var(--sd-duration-ui) var(--sd-ease-out)}.sd-camera-preset:hover .sd-tooltip,.sd-camera-preset:focus-visible .sd-tooltip{opacity:1;transform:translate(-50%) scale(1)}.sd-camera-presets .sd-camera-preset:first-child .sd-tooltip{left:0;transform:translateY(-3px) scale(.97);transform-origin:top left}.sd-camera-presets .sd-camera-preset:first-child:hover .sd-tooltip,.sd-camera-presets .sd-camera-preset:first-child:focus-visible .sd-tooltip{transform:translate(0) scale(1)}.sd-camera-presets .sd-camera-preset:last-child .sd-tooltip{right:0;left:auto;transform:translateY(-3px) scale(.97);transform-origin:top right}.sd-camera-presets .sd-camera-preset:last-child:hover .sd-tooltip,.sd-camera-presets .sd-camera-preset:last-child:focus-visible .sd-tooltip{transform:translate(0) scale(1)}.sd-dialog-backdrop{position:absolute;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:var(--sd-space-4);background:var(--sd-color-scrim)}.sd-dialog{width:min(100%,340px);padding:20px;color:var(--sd-color-text);border:1px solid var(--sd-color-border);border-radius:8px;background:var(--sd-color-surface-raised);box-shadow:var(--sd-shadow-dialog)}.sd-dialog__title{margin:0 0 var(--sd-space-2);font-size:var(--sd-font-size-section);font-weight:var(--sd-font-weight-semibold);line-height:var(--sd-line-height-section)}.sd-dialog__description{margin:0 0 var(--sd-space-4);font-size:var(--sd-font-size-body);line-height:var(--sd-line-height-body);color:var(--sd-color-text-muted)}.sd-dialog__actions{display:flex;justify-content:flex-end;gap:var(--sd-space-2)}.sd-button{min-height:36px;padding:6px 12px;cursor:pointer;font-size:var(--sd-font-size-body);font-weight:var(--sd-font-weight-medium);line-height:var(--sd-line-height-body);color:var(--sd-color-text);border:1px solid var(--sd-color-input-border);border-radius:var(--sd-radius-sm);background:var(--sd-color-surface)}.sd-button--primary{color:var(--sd-color-accent-contrast);border-color:var(--sd-color-accent);background:var(--sd-color-accent)}.sd-button--danger{border-color:var(--sd-color-danger);background:var(--sd-color-danger)}@media(hover:hover)and (pointer:fine){.stair-configurator button:not(:disabled):hover{box-shadow:var(--sd-shadow-control-hover);transform:translateY(-1px)}.stair-configurator :where(input:not(:disabled),select:not(:disabled)):hover{box-shadow:0 0 0 1px var(--sd-color-selected-border)}.stair-configurator button:not(:disabled):active{box-shadow:none;transform:scale(.97)}.stair-configurator .sd-material-swatch:not(:disabled):hover{border-color:var(--sd-color-selected-border);box-shadow:var(--sd-shadow-control-hover);transform:translateY(-2px)}}@media(max-width:1024px){.stair-configurator__interaction-hint{top:var(--sd-space-3);bottom:auto;max-width:calc(100% - var(--sd-space-4) * 2)}.stair-configurator__status{bottom:calc(48px + var(--sd-space-3))}.stair-configurator__sidebar{position:fixed;inset:auto 0 0;width:auto;max-height:75vh;border-left:none;border-top:1px solid var(--sd-color-border);border-radius:var(--sd-radius-lg) var(--sd-radius-lg) 0 0;box-shadow:var(--sd-shadow-drawer);transform:translateY(calc(100% - 48px));transition:transform .25s var(--sd-ease-out);z-index:15}.stair-configurator__sidebar.is-drawer-open{transform:translateY(0)}.stair-configurator__drawer-handle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sd-space-1);width:calc(100% + var(--sd-space-3) * 2);height:48px;flex-shrink:0;margin:calc(var(--sd-space-3) * -1) calc(var(--sd-space-3) * -1) var(--sd-space-2);padding:0;cursor:pointer;font-family:var(--sd-font-sans);font-size:var(--sd-font-size-body);font-weight:var(--sd-font-weight-semibold);line-height:var(--sd-line-height-body);color:var(--sd-color-text-muted);border:none;border-bottom:1px solid var(--sd-color-border);background:var(--sd-color-surface);border-radius:var(--sd-radius-lg) var(--sd-radius-lg) 0 0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.stair-configurator__drawer-grabber{width:36px;height:4px;flex-shrink:0;border-radius:999px;background:var(--sd-color-bg-muted)}.stair-configurator__sidebar :where(button,select,input,[tabindex]){min-height:44px}.sd-guided-step{width:44px;height:44px}.sd-guided-complete__actions{flex-direction:column}.sd-dialog__actions{flex-direction:column-reverse}.sd-dialog__actions .sd-button{width:100%;min-height:44px}}@media(prefers-reduced-motion:reduce){.stair-configurator *,.stair-configurator *:before,.stair-configurator *:after{scroll-behavior:auto!important;transition-delay:0ms!important;transition-duration:0ms!important;animation-delay:0ms!important;animation-duration:0ms!important;animation-iteration-count:1!important}}
