.fabrication-configurator{padding-block:32px 72px}.fabrication-back{color:var(--muted-foreground);align-items:center;gap:8px;margin-bottom:30px;font-size:13px;display:inline-flex}.fabrication-form-heading{justify-content:space-between;align-items:center;gap:25px;display:flex}.fabrication-form-heading h1{margin:12px 0;font-size:clamp(30px,3.5vw,48px);line-height:1.12}.fabrication-form-heading p:not(.eyebrow){color:var(--muted-foreground)}.fabrication-form-heading>span{white-space:nowrap;color:var(--muted-foreground);align-items:center;gap:8px;font-size:12px;display:flex}.fabrication-steps{border-bottom:1px solid var(--border);grid-template-columns:repeat(4,1fr);margin:32px 0;display:grid}.fabrication-steps button{color:var(--muted-foreground);border-bottom:2px solid #0000;align-items:center;gap:10px;padding:16px 8px;font-size:14px;display:flex}.fabrication-steps button>span{border:1px solid var(--border);border-radius:50%;place-items:center;width:25px;height:25px;font-size:12px;display:grid}.fabrication-steps button[aria-current]{color:var(--section-accent);border-color:var(--section-accent);font-weight:650}.fabrication-steps button[aria-current]>span{background:var(--section-soft);border-color:var(--section-line)}.fabrication-steps button:disabled{opacity:1;cursor:not-allowed;color:var(--disabled-foreground);background:var(--disabled-surface);border-color:var(--border)}.fabrication-workspace{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start;gap:28px;display:grid}.fabrication-form-panel,.fabrication-preview-panel{background:var(--card);border:1px solid var(--border);border-radius:22px;min-width:0;padding:30px}.fabrication-form-panel h2,.fabrication-preview-panel h2{margin:0 0 24px;font-size:21px}.fabrication-form-panel h2:focus{outline:none}.fabrication-form-panel fieldset{border:0;flex-direction:column;gap:20px;min-width:0;margin:0;padding:0;display:flex}.fabrication-form-panel label{flex-direction:column;gap:8px;font-size:13px;font-weight:550;display:flex}.fabrication-form-panel input:not([type=checkbox]),.fabrication-form-panel select,.fabrication-form-panel textarea{width:100%;min-height:45px;color:var(--foreground);background:var(--background);border:1px solid var(--input-border);font:inherit;border-radius:10px;padding:11px 12px}.fabrication-form-panel textarea{resize:vertical}:is(.fabrication-form-panel :focus-visible,.fabrication-steps :focus-visible,.fabrication-preview-panel :focus-visible){outline:2px solid var(--focus);outline-offset:3px}.fabrication-form-panel .fabrication-check{flex-direction:row;align-items:flex-start;font-weight:400;line-height:1.55}.fabrication-check input{width:17px;height:17px;accent-color:var(--section-accent);flex:none;margin-top:4px}.fabrication-check small{color:var(--muted-foreground);margin-top:3px;display:block}.fabrication-dropzone{border:1px dashed var(--section-line);background:var(--section-soft);min-height:196px;color:var(--section-accent);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:12px;padding:25px 16px;display:flex}.fabrication-dropzone strong{font-size:16px}.fabrication-dropzone span,.fabrication-dropzone small{font-size:12px}.fabrication-dropzone.is-dragging{outline:2px solid var(--focus);outline-offset:3px}.fabrication-dropzone:disabled{opacity:1;cursor:not-allowed;color:var(--disabled-foreground);background:var(--disabled-surface);border-color:var(--border)}.fabrication-files{margin:0;padding:0;list-style:none}.fabrication-files li{border-bottom:1px solid var(--border);align-items:center;gap:12px;display:flex}.fabrication-files li button:first-child{text-align:left;flex:1;min-width:0;padding:13px 0}.fabrication-files strong{overflow-wrap:anywhere;font-size:13px;display:block}.fabrication-files small{color:var(--muted-foreground);font-size:11px}.fabrication-files li button:last-child{place-items:center;width:44px;height:44px;display:grid}.fabrication-files button[aria-pressed=true] strong{color:var(--section-accent)}.fabrication-help{color:var(--muted-foreground);font-size:12px;line-height:1.65}.fabrication-field-row{grid-template-columns:1.25fr 1fr 1fr;gap:12px;display:grid}.fabrication-alert,.fabrication-notice{border:1px solid var(--border);overflow-wrap:anywhere;border-radius:10px;margin:0 0 20px;padding:14px 18px;font-size:13px;line-height:1.6}.fabrication-alert{color:var(--status-danger);background:var(--status-danger-soft);border-color:color-mix(in srgb, var(--status-danger) 35%, var(--border))}.fabrication-notice{color:var(--status-info);background:var(--status-info-soft);border-color:color-mix(in srgb, var(--status-info) 35%, var(--border))}.fabrication-busy{color:var(--section-accent);align-items:center;gap:8px;margin-top:15px;font-size:13px;display:flex}.fabrication-status-label{color:var(--foreground);font-weight:650}.fabrication-quote{background:var(--section-soft);border-radius:14px;flex-direction:column;gap:8px;padding:24px;display:flex}.fabrication-quote>strong{font-size:40px;font-weight:620;line-height:1.2}.fabrication-quote>small,.fabrication-quote>p{font-size:12px;line-height:1.6}.fabrication-quote dl{border-top:1px solid var(--border);margin:15px 0;padding-top:15px}.fabrication-quote dl>div{justify-content:space-between;gap:15px;margin-bottom:8px;font-size:12px;display:flex}.fabrication-action-row{flex-wrap:wrap;gap:12px;display:flex}.fabrication-complete{flex-direction:column;align-items:flex-start;gap:20px;padding:14px 0;display:flex}.fabrication-complete>svg{color:var(--status-success)}.fabrication-complete h3{font-size:24px}.fabrication-preview-heading{justify-content:space-between;align-items:start;gap:14px;display:flex}.fabrication-preview-heading>span{color:var(--muted-foreground);margin-top:4px;font-size:11px}.fabrication-preview-canvas{background:var(--background);border-radius:14px;height:310px;position:relative;overflow:hidden}.fabrication-preview-canvas canvas{touch-action:none;display:block;position:absolute;inset:0}.fabrication-preview-canvas img{object-fit:contain;width:100%;height:100%}.fabrication-preview-cover,.fabrication-empty-preview{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:15px;min-height:290px;padding:20px;display:flex}.fabrication-preview-cover>span{font:11px var(--font-geist-mono), monospace;color:var(--section-accent)}.fabrication-preview-cover>p{overflow-wrap:anywhere;max-width:100%;font-size:13px}.fabrication-preview-status{background:var(--card);text-align:center;place-items:center;margin:auto;padding:30px;font-size:13px;display:grid;position:absolute;inset:0}.fabrication-empty-preview{background:var(--background);color:var(--muted-foreground);border-radius:14px}.fabrication-empty-preview span{max-width:240px;font-size:12px}.fabrication-viewer-tools{flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0;display:flex}.fabrication-viewer-tools button{border:1px solid var(--border);border-radius:9px;justify-content:center;align-items:center;gap:6px;min-width:40px;min-height:40px;padding:8px;font-size:11px;display:inline-flex}.fabrication-file-preview>small{color:var(--muted-foreground);font-size:11px;display:block}.fabrication-dimensions{border-block:1px solid var(--border);flex-direction:column;gap:8px;margin-top:20px;padding:16px 0;display:flex}.fabrication-dimensions span{color:var(--muted-foreground);font-size:11px}.fabrication-dimensions strong{font-size:16px;font-weight:550}.fabrication-format-help{margin-top:22px;font-size:12px}.fabrication-format-help summary{cursor:pointer}.fabrication-format-help p{color:var(--muted-foreground);margin:15px 0 0}@media (max-width:800px){.fabrication-workspace{grid-template-columns:1fr}.fabrication-form-heading{display:block}.fabrication-form-heading>span{margin-top:18px}.fabrication-form-panel,.fabrication-preview-panel{padding:22px}.fabrication-steps{margin-block:24px}.fabrication-steps button{flex-direction:column;gap:7px;padding:12px 3px;font-size:11px}.fabrication-field-row{gap:8px}.fabrication-field-row label{font-size:11px}}.fabrication-colors legend{margin-bottom:10px;font-size:13px;font-weight:550}.fabrication-colors>div{flex-wrap:wrap;gap:10px;display:flex}.fabrication-form-panel .fabrication-colors label{border:1px solid var(--border);border-radius:10px;flex-direction:row;align-items:center;gap:8px;padding:10px 14px;display:flex}.fabrication-colors label:has(input:checked){border-color:var(--section-accent);background:var(--section-soft)}.fabrication-colors input[type=radio]{width:15px;min-height:15px;accent-color:var(--section-accent)}.fabrication-colors span{border:1px solid var(--input-border);border-radius:50%;width:20px;height:20px}
