.pr-editor{display:flex;flex-direction:column;gap:24px}.pr-editor>*{min-width:0}.pr-steps{margin:0}.pr-steps .is-complete>span{color:var(--color-ember-text)}.pr-steps li>span>span.pr-step-label-full,.pr-steps li>span>span.pr-step-label-short{font-family:var(--font-sans);font-size:inherit;letter-spacing:normal}.pr-step-label-short{display:none}@media(max-width:479px){.pr-step-label-full{display:none}.pr-step-label-short{display:inline}}.pr-steps .is-active>span{box-shadow:inset 0 -3px 0 var(--color-ember)}.pr-steps .is-active>span>span:first-child{color:var(--color-ember-text);font-weight:700}.pr-drop{position:relative;display:grid;gap:8px;place-items:center;padding:clamp(36px,6vw,60px) 20px;border:1px dashed var(--color-line-2, var(--color-line));background-color:color-mix(in srgb,var(--color-paper-2) 72%,white);background-image:var(--technical-grid);background-position:center top;background-size:48px 48px;text-align:center;cursor:pointer;transition:border-color .18s ease,background-color .18s ease}.pr-drop input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.pr-drop:hover{border-color:var(--color-ember-text);background:color-mix(in srgb,var(--color-ember) 5%,var(--color-paper))}.pr-drop:has(input:focus-visible){outline:2px solid var(--color-ember-text);outline-offset:2px}.pr-drop-title{font-size:clamp(17px,2vw,20px);font-weight:620;letter-spacing:-.01em}.pr-drop-hint{font-size:13px;color:var(--color-ink-soft)}.pr-drop-note{margin-top:4px;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--color-ink-soft)}.pr-drop-glyph{width:38px;height:38px;color:var(--color-ink-soft);transition:color .18s ease}.pr-drop:hover .pr-drop-glyph{color:var(--color-ember-text)}.pr-sample{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:8px;margin-top:-12px}.pr-sample-sep{font-size:12px;letter-spacing:.08em;color:var(--color-ink-soft)}.pr-sample-btn{padding:2px 0 3px;border:0;border-bottom:1px solid var(--color-ink);background:transparent;font-family:var(--font-sans);font-size:13px;font-weight:620;color:var(--color-ink);cursor:pointer}.pr-sample-btn:hover{color:var(--color-ember-text);border-color:var(--color-ember-text)}.pr-sample-btn:focus-visible{outline:2px solid var(--color-ember-text);outline-offset:2px}.pr-sample-btn:disabled{color:var(--color-ink-soft);border-color:var(--color-ink-soft);opacity:.6;cursor:default}.pr-drop--loaded{grid-template-columns:minmax(0,1fr) auto;gap:16px;place-items:center start;padding:13px 16px;text-align:left}.pr-drop-file{overflow:hidden;font-family:var(--font-mono);font-size:12px;letter-spacing:.02em;color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap}.pr-drop-swap{justify-self:end;padding-bottom:2px;border-bottom:1px solid var(--color-ink);font-size:13px;font-weight:620;white-space:nowrap}.pr-drop--loaded:hover .pr-drop-swap{color:var(--color-ember-text);border-color:var(--color-ember-text)}.pr-error{margin:0;border-left:3px solid var(--color-alarm);background:color-mix(in srgb,var(--color-alarm) 5%,var(--color-paper));padding:12px 14px;font-size:13px;line-height:1.55;color:var(--color-alarm)}.pr-error a{color:inherit;text-decoration:underline;text-underline-offset:2px}.pr-result{display:grid;gap:24px;align-items:start}.pr-result>*{min-width:0}@media(min-width:900px){.pr-result{grid-template-columns:1.2fr 1fr}.pr-preview-col{position:sticky;top:94px}}.pr-preview-col{display:grid;gap:12px}.pr-preview-col>*{min-width:0}.pr-webgl-fallback{margin:0;display:grid;place-items:center;aspect-ratio:4 / 3;max-height:480px;padding:24px;border:1px dashed var(--color-line);background:var(--color-paper-2);font-size:14px;line-height:1.55;color:var(--color-ink-soft);text-align:center}.pr-dims{margin:0;padding-inline:6px}.pr-dims .mono{font-size:12px;letter-spacing:.04em;font-variant-numeric:tabular-nums;white-space:nowrap}.pr-config{display:grid;gap:24px}.pr-card{min-width:0;display:grid;gap:18px;padding:22px;border:1px solid var(--color-line);background-color:color-mix(in srgb,var(--color-paper-2) 72%,white);background-image:var(--technical-grid);background-position:center top;background-size:48px 48px}.pr-card>*{min-width:0}.pr-card-title{margin:0;padding-bottom:14px;border-bottom:1px solid var(--color-line-2);font-size:18px;font-weight:620;letter-spacing:-.02em}.pr-fieldset{position:relative;min-width:0;margin:0;padding:0;border:0}.pr-field-label{display:block;padding:0;margin-bottom:10px;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-soft)}.pr-options{display:flex;gap:8px;flex-wrap:wrap}.pr-opt{display:inline-flex;align-items:center;gap:8px;min-height:40px;border:1px solid var(--color-line);background:var(--color-paper);padding:8px 14px;font-size:13px;cursor:pointer}.pr-opt input{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}.pr-opt:has(input:checked){border-color:var(--color-ember-text);box-shadow:inset 0 0 0 1px var(--color-ember-text)}.pr-opt:has(input:focus-visible){outline:2px solid var(--color-ember-text);outline-offset:1px}.pr-swatch{width:1em;height:1em;border-radius:50%;border:1px solid color-mix(in srgb,var(--color-ink) 30%,transparent)}.pr-stepper{display:inline-flex;align-items:stretch;border:1px solid var(--color-line);background:var(--color-paper);width:max-content}.pr-step-btn{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:0;border:0;background:transparent;font-size:20px;line-height:1;color:var(--color-ink);cursor:pointer}.pr-step-btn:hover:not(:disabled){color:var(--color-ember-text);background:color-mix(in srgb,var(--color-ember) 8%,transparent)}.pr-step-btn:disabled{color:var(--color-ink-soft);opacity:.4;cursor:default}.pr-step-btn:focus-visible{outline:2px solid var(--color-ember-text);outline-offset:-2px}.pr-step-value{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding-inline:6px;border-inline:1px solid var(--color-line);font-family:var(--font-mono);font-size:15px;font-variant-numeric:tabular-nums;color:var(--color-ink)}.pr-opt--infill{flex:1 1 0;min-width:0;justify-content:center;text-align:center}.pr-help{position:static;margin-left:8px}.pr-help-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:1px solid var(--color-line-2, var(--color-line));border-radius:50%;background:var(--color-paper);font-family:var(--font-sans);font-size:11px;font-weight:700;line-height:1;color:var(--color-ink-soft);cursor:pointer;vertical-align:middle}.pr-help-btn:hover,.pr-help-btn[aria-expanded=true]{border-color:var(--color-ember-text);color:var(--color-ember-text)}.pr-help-btn:focus-visible{outline:2px solid var(--color-ember-text);outline-offset:2px}.pr-help-pop{position:absolute;left:0;top:26px;z-index:20;display:block;width:max-content;max-width:min(320px,100%);padding:12px 14px;border:1px solid var(--color-line);background:var(--color-paper);box-shadow:0 8px 24px -12px color-mix(in srgb,var(--color-ink) 40%,transparent);font-family:var(--font-sans);font-size:13px;line-height:1.5;letter-spacing:normal;text-transform:none;color:var(--color-ink)}.pr-qty-note{margin:10px 0 0;font-size:12px;line-height:1.5;color:var(--color-ink-soft)}.pr-qty-note a{border-bottom:1px solid currentColor}.pr-qty-note a:hover{color:var(--color-ember-text)}.pr-price-breakdown{margin:0;font-size:12px;letter-spacing:.04em;color:var(--color-ink-soft);font-variant-numeric:tabular-nums}.pr-calib{display:grid;gap:4px;margin-top:4px;padding:10px 12px;border:1px dashed var(--color-line-2, var(--color-line));background:var(--color-paper-2);font-size:11px;line-height:1.5;color:var(--color-ink-soft)}.pr-calib p{margin:0}.pr-quote-zone{display:grid;gap:14px}.pr-progress{display:grid;gap:12px;padding-block:8px 2px}.pr-progress-track{position:relative;display:block;height:1px;background:var(--color-line)}.pr-progress-track:after{content:"";position:absolute;top:-2px;left:0;width:5px;height:5px;background:var(--color-ember);animation:pr-smolder 1.4s ease-in-out infinite alternate}@keyframes pr-smolder{to{left:calc(100% - 5px)}}.pr-progress-text{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;line-height:1.5;color:var(--color-ink-soft)}.pr-spinner{flex:none;width:14px;height:14px;border:2px solid color-mix(in srgb,var(--color-ember) 28%,transparent);border-top-color:var(--color-ember);border-radius:50%;animation:pr-spin .8s linear infinite}@keyframes pr-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.pr-progress-track:after,.pr-spinner{animation:none}}.pr-quote-btn{justify-self:start;min-width:min(240px,100%)}.pr-retry-btn{margin-top:10px;border:1px solid var(--color-alarm);background:transparent;color:var(--color-alarm);padding:8px 14px;font:620 13px var(--font-sans);cursor:pointer}.pr-retry-btn:hover{background:color-mix(in srgb,var(--color-alarm) 8%,transparent)}.pr-retry-btn:focus-visible{outline:2px solid var(--color-alarm);outline-offset:2px}.pr-quote-cancel{justify-self:start;padding:4px 0;border:0;background:transparent;font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;color:var(--color-ink-soft);cursor:pointer}.pr-quote-cancel:hover{color:var(--color-ember-text)}.pr-quote-cancel:focus-visible{outline:2px solid var(--color-ember-text);outline-offset:2px}.pr-quote{display:grid;gap:10px;padding-block:4px}.pr-quote .fuse{margin-bottom:4px}.pr-quote-label{font-size:10px}.pr-price{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.pr-price strong{font-family:var(--font-mono);font-size:clamp(34px,4vw,44px);font-weight:600;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.pr-price>span{font-size:12px;color:var(--color-ink-soft)}.pr-quote-placeholder-line{display:block;height:1px;background:var(--color-line);margin-bottom:4px}.pr-price--placeholder strong{color:var(--color-ink-soft)}.pr-spec{margin:8px 0 4px}.pr-add-btn{justify-content:center;width:100%}.pr-add .kc-status--error{border-left-color:var(--color-alarm);color:var(--color-alarm)}@media(max-width:899px){.pr-editor .kc-preview{aspect-ratio:4 / 3;height:auto;max-height:320px;touch-action:pan-y}.pr-steps li>span{padding-inline:10px;text-align:center}}
