:root{--text:#52525b;--text-h:#18181b;--bg:#f4f4f5;--border:#e4e4e7;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;--app-header-block:7rem;font:16px/1.5 var(--sans);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{text-align:left;box-sizing:border-box;width:100%;min-height:100svh}h1,h2{font-family:var(--sans);color:var(--text-h);font-weight:600}h1{margin:0 0 .25rem;font-size:1.75rem}h2{margin:0 0 .5rem;font-size:1rem}p{margin:0}code{font-family:var(--mono);color:var(--text-h);background:#e4e4e7;border-radius:4px;padding:.15rem .35rem;font-size:.85rem}.buyer-queries-layout{height:calc(100svh - var(--app-header-block,7rem));text-align:left;grid-template-columns:280px minmax(0,1fr) 340px;grid-template-areas:"list main side";gap:.75rem;max-width:none;min-height:0;display:grid;overflow-x:hidden}.bq-column{background:#fff;border:1px solid #e4e4e7;border-radius:8px;flex-direction:column;min-width:0;min-height:0;display:flex}.bq-style-list{grid-area:list;padding:.75rem;overflow:auto}.bq-main{grid-area:main;padding:.75rem;overflow:auto}.bq-export{grid-area:side;padding:.75rem;overflow:auto}.bq-style-list-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.bq-style-list h2,.bq-export h2{margin:0 0 .5rem;font-size:1rem}.bq-style-rows{flex:1;min-height:0;margin:0;padding:0;list-style:none;overflow:auto}.bq-style-row{text-align:left;cursor:pointer;background:#fafafa;border:1px solid #0000;border-radius:6px;width:100%;margin-bottom:.35rem;padding:.45rem .5rem}.bq-style-row:hover{border-color:#d4d4d8}.bq-style-row.active{background:#eff6ff;border-color:#2563eb}.bq-style-row-title{overflow-wrap:break-word;font-size:.85rem;font-weight:600;display:block}.bq-style-row-meta{color:#71717a;overflow-wrap:break-word;font-size:.75rem;display:block}.buyer-queries-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.field.inline{flex-direction:row;align-items:center;gap:.5rem}.buyer-queries-subtitle{margin:0}.buyer-queries-cards{flex-direction:column;gap:.75rem;display:flex}.buyer-query-card{overflow-wrap:break-word;background:#fafafa;border:1px solid #e4e4e7;border-radius:8px;min-width:0;padding:.75rem}.buyer-query-card .buyer-saved-answer{border-left:3px solid var(--accent,#4a7);background:#0000000a;margin:.75rem 0;padding:.5rem .75rem}.buyer-saved-answer-title{margin:0 0 .25rem;font-weight:600}.buyer-query-head{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.priority-badge{background:#e4e4e7;border-radius:4px;padding:.1rem .4rem;font-size:.75rem}.priority-high{background:#fecaca}.priority-medium{background:#fde68a}.priority-low{background:#e0e7ff}.status-badge{font-size:.8rem;font-weight:600}.buyer-question-ko{overflow-wrap:break-word;margin:0 0 .25rem;font-weight:600}.buyer-question-en{overflow-wrap:break-word;margin:0 0 .5rem;font-size:.9rem}.buyer-why{color:#52525b;overflow-wrap:break-word;margin:0 0 .5rem;font-size:.85rem}.assumed-hint{color:#71717a;font-size:.75rem}.buyer-answer-meta{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem;margin-top:.5rem;display:grid}.buyer-query-actions{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.buyer-export-actions{flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem;display:flex}.buyer-export-preview{white-space:pre-wrap;overflow-wrap:break-word;background:#f4f4f5;border-radius:6px;max-height:240px;padding:.5rem;font-size:.72rem;overflow:auto}.buyer-override-list{margin:0 0 .75rem;padding-left:1.1rem;font-size:.85rem}.buyer-conflicts ul{margin:0;padding-left:1.1rem;font-size:.85rem}.buyer-cli{overflow-wrap:anywhere;font-family:ui-monospace,monospace;font-size:.75rem}.error-text{color:#b91c1c;margin:.25rem 0}.btn{cursor:pointer;background:#fff;border:1px solid #d4d4d8;border-radius:6px;padding:.35rem .65rem}.btn.primary{color:#fff;background:#18181b;border-color:#18181b}.btn:disabled{opacity:.5;cursor:not-allowed}@media (width>=768px) and (width<=1023px){.buyer-queries-layout{grid-template:"list main"minmax(0,1fr)"side side"/280px minmax(0,1fr)}.bq-export{max-height:40vh}}@media (width<=767px){.buyer-queries-layout{height:auto;min-height:calc(100svh - var(--app-header-block,7rem));grid-template-columns:minmax(0,1fr);grid-template-areas:"list""main""side"}.bq-style-list{max-height:40vh}}.pattern-layout{height:calc(100svh - var(--app-header-block,7rem));text-align:left;grid-template-columns:300px minmax(0,1fr) 360px;grid-template-areas:"list canvas info";gap:.75rem;max-width:none;min-height:0;display:grid}.pattern-column{background:#fff;border:1px solid #e4e4e7;border-radius:8px;flex-direction:column;min-height:0;display:flex}.style-list{grid-area:list;padding:.75rem;overflow:auto}.style-list-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.style-list h2,.info-panel h2,.canvas-column h2{margin:0 0 .5rem;font-size:1rem}.field{flex-direction:column;gap:.25rem;margin-bottom:.5rem;font-size:.85rem;display:flex}.field input,.field select{border:1px solid #d4d4d8;border-radius:6px;padding:.35rem .5rem}.style-rows{flex:1;margin:0;padding:0;list-style:none;overflow:auto}.style-row{text-align:left;cursor:pointer;background:#fafafa;border:1px solid #0000;border-radius:6px;width:100%;margin-bottom:.35rem;padding:.45rem .5rem}.style-row:hover{border-color:#d4d4d8}.style-row.selected{background:#eff6ff;border-color:#2563eb}.style-row-title{word-break:break-all;font-size:.85rem;font-weight:600;display:block}.style-row-meta{color:#71717a;font-size:.75rem;display:block}.badge-row{flex-wrap:wrap;gap:.25rem;margin-top:.35rem;display:flex}.badge-neutral{color:#3f3f46;background:#f4f4f5}.badge-warn{color:#854d0e;background:#fef9c3}.badge-info{color:#1e40af;background:#dbeafe}.pattern-center{flex-direction:column;grid-area:canvas;min-width:0;min-height:0;display:flex}.canvas-column{flex-direction:column;flex:1;min-height:0;display:flex}.canvas-viewport{flex:1;min-height:0;overflow:hidden}.seam-canvas-shell{height:100%}.canvas-toolbar{border-bottom:1px solid #e4e4e7;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.5rem .65rem;display:flex}.layer-toggles{flex-wrap:wrap;gap:.35rem .65rem;max-width:100%;display:flex}.layer-toggle{white-space:nowrap;align-items:center;gap:.25rem;font-size:.75rem;display:flex}.canvas-actions{flex-shrink:0;align-items:center;gap:.65rem;display:flex}.scale-readout{color:#52525b;font-size:.75rem}.canvas-shell{cursor:grab;touch-action:none;flex:1;min-height:0}.canvas-shell:active{cursor:grabbing}.pattern-svg{width:100%;height:100%;display:block}.vector-stroke{vector-effect:non-scaling-stroke}.info-panel{grid-area:info;padding:.75rem;overflow:auto}.info-block{margin-bottom:1rem}.info-block h3{margin:0 0 .35rem;font-size:.9rem}.info-dl{margin:0;font-size:.8rem}.info-dl dt{color:#52525b;margin-top:.35rem;font-weight:600}.info-dl dd{word-break:break-word;margin:.1rem 0 0}.mono{font-family:ui-monospace,monospace;font-size:.72rem}.compact-list{margin:0;padding-left:1.1rem}.piece-link-list{margin:0;padding:0;list-style:none}.piece-link-list button{color:#2563eb;cursor:pointer;text-align:left;background:0 0;border:none;padding:.15rem 0;font-size:.8rem}.units-warning{color:#854d0e;background:#fef9c3;border:1px solid #fde047;border-radius:6px;margin-bottom:.75rem;padding:.5rem .65rem;font-size:.85rem}.warn-text{color:#b45309;font-weight:600}.muted{color:#71717a}.center-msg{text-align:center;padding:2rem 1rem}.inline-error{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.inline-error.compact{margin-bottom:.5rem}.app-shell{box-sizing:border-box;width:100%;max-width:none;padding:1rem 1rem .75rem}.app-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:.75rem;display:flex}.app-tabs{gap:.35rem;display:flex}.tab{cursor:pointer;background:#fff;border:1px solid #d4d4d8;border-radius:6px;padding:.45rem .85rem;font-size:.9rem}.tab.active{background:#eff6ff;border-color:#2563eb;font-weight:600}.health-ok{color:#15803d;font-weight:500}.fabric-panel{max-width:960px}@media (width>=768px) and (width<=1023px){.pattern-layout{grid-template:"list canvas"minmax(0,1fr)"info info"/300px minmax(0,1fr)}.info-panel{max-height:40vh}}@media (width<=767px){.pattern-layout{height:auto;min-height:calc(100svh - var(--app-header-block,7rem));grid-template-columns:1fr;grid-template-areas:"list""canvas""info"}.style-list{max-height:40vh}.pattern-center{height:60vh;min-height:0;max-height:60vh}.canvas-column{height:100%;min-height:0}.app-shell{overflow-x:hidden}}.seam-cut-faint{stroke:#e4e4e7;stroke-width:1px;vector-effect:non-scaling-stroke;pointer-events:none}.seam-edge{fill:none;stroke-width:2px;vector-effect:non-scaling-stroke;cursor:pointer}.seam-edge.edge-confirmed{stroke:#15803d}.seam-edge.edge-candidate{stroke:#2563eb}.seam-edge.edge-unused{stroke:#71717a}.seam-edge.edge-micro{stroke:#a1a1aa;stroke-width:1px}.seam-edge.selected-edge{stroke-width:4px}.seam-notch{fill:#dc2626;pointer-events:none}.seam-internal{stroke:#7c3aed;stroke-width:3px;vector-effect:non-scaling-stroke;cursor:pointer}.seam-drill{fill:#7c3aed;stroke:#fff;stroke-width:1px;vector-effect:non-scaling-stroke;cursor:pointer}.selected-feature{stroke:#f59e0b;stroke-width:5px}.notch-align-preview{stroke:#9333ea;stroke-dasharray:4 3;stroke-width:1px;vector-effect:non-scaling-stroke;pointer-events:none}.edge-dir-guide{stroke:#f59e0b;stroke-width:2px;fill:none;vector-effect:non-scaling-stroke;pointer-events:none}.edge-side-label{fill:#18181b;pointer-events:none;font-weight:600}.edge-vertex-handle{fill:#fff;stroke:#2563eb;stroke-width:1px;cursor:crosshair}.seam-legend{flex-wrap:wrap;gap:.5rem;padding:.25rem .5rem;font-size:.75rem;display:flex}.legend-item{align-items:center;gap:.25rem;display:inline-flex}.swatch{border-radius:2px;width:12px;height:4px;display:inline-block}.swatch.edge-confirmed{background:#15803d}.swatch.edge-candidate{background:#2563eb}.swatch.edge-unused{background:#71717a}.swatch.edge-micro{background:#a1a1aa;height:2px}.seam-panel-tabs{flex-wrap:wrap;gap:.25rem;margin-bottom:.5rem;display:flex}.seam-panel-tabs .tab{padding:.3rem .45rem;font-size:.75rem}.seam-tab-body{flex:1;font-size:.85rem;overflow:auto}.dirty-banner{color:#b45309;margin:0 0 .5rem;font-weight:600}.seam-table-scroll{max-width:100%;overflow-x:auto}.seam-table{border-collapse:collapse;width:max-content;min-width:100%;font-size:.72rem}.seam-table th,.seam-table td{text-align:left;border-bottom:1px solid #eee;padding:.25rem}.seam-row-click{cursor:pointer}.seam-row-click:hover{background:#f4f4f5}.side-item{flex-wrap:wrap;align-items:center;gap:.25rem;margin-bottom:.35rem;display:flex}.btn-row{flex-wrap:wrap;gap:.35rem;margin:.5rem 0;display:flex}.preview-box{border:1px solid #e4e4e7;border-radius:6px;margin:.5rem 0;padding:.5rem}.twist-badge{background:#f4f4f5;border-radius:4px;padding:.15rem .45rem;font-weight:600;display:inline-block}.diff-view{background:#fafafa;max-height:30vh;padding:.5rem;font-size:.7rem;overflow:auto}.instance-row,.candidate-row,.rev-row{flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.5rem;display:flex}.side-pick-row{gap:.35rem;margin-bottom:.5rem;display:flex}.role-editor{border-top:1px solid #e4e4e7;margin-top:.75rem;padding-top:.5rem}.role-editor select,.role-editor input{box-sizing:border-box;max-width:100%;margin:0 .25rem .35rem 0}.placement-layout .placement-center{flex-direction:column;min-height:0;display:flex}.placement-toolbar{border-bottom:1px solid #e4e4e7;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.5rem .75rem;padding:.5rem .75rem;display:flex}.placement-toolbar .field.inline{flex-direction:row;align-items:center;gap:.35rem;margin:0}.check-inline{align-items:center;gap:.35rem;font-size:.85rem;display:inline-flex}.view-presets{flex-wrap:wrap;gap:.35rem;margin-left:auto;display:flex}.placement-scene-wrap{flex:1;min-height:0;position:relative;overflow:hidden}.placement-canvas-host{width:100%;height:100%;min-height:320px}.placement-canvas-host canvas{width:100%;height:100%;display:block}.placement-loading,.placement-guidance{padding:1rem}.panel-tabs{border-bottom:1px solid #e4e4e7;flex-wrap:wrap;gap:.35rem;padding:.5rem .75rem;display:flex}.panel-tab{cursor:pointer;background:#fafafa;border:1px solid #d4d4d8;border-radius:6px;padding:.25rem .5rem;font-size:.85rem}.panel-tab.active{background:#eff6ff;border-color:#2563eb}.data-table{border-collapse:collapse;width:100%;font-size:.82rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #e4e4e7;padding:.35rem .25rem}.clickable-row{cursor:pointer}.clickable-row:hover{background:#f4f4f5}.instance-visibility-list{margin:0;padding:0;list-style:none}.oi-note{color:#b45309;font-size:.85rem}@media (width<=767px){.placement-layout .pattern-center{height:60vh}}:root{color:#1a1a1a;background:#f4f4f5;font-family:system-ui,sans-serif;line-height:1.5}body{margin:0}.app{margin:0 auto}header h1{margin:0 0 .25rem;font-size:1.75rem}.subtitle{color:#52525b;margin:0 0 1.5rem}.panel{background:#fff;border:1px solid #e4e4e7;border-radius:8px;margin-bottom:1rem;padding:1rem 1.25rem}.panel h2{margin:0 0 .75rem;font-size:1.1rem}table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{text-align:left;border-bottom:1px solid #e4e4e7;padding:.5rem .35rem}.error{color:#b91c1c}.ok{color:#15803d;font-weight:600}.badge{border-radius:4px;padding:.15rem .45rem;font-size:.8rem;font-weight:600;display:inline-block}.badge-valid{color:#166534;background:#dcfce7}.badge-review{color:#854d0e;background:#fef9c3}.badge-invalid{color:#991b1b;background:#fee2e2}.reference-page{color:#27272a;max-width:1280px;margin:0 auto}.reference-heading{justify-content:space-between;align-items:flex-end;gap:1rem;margin:.5rem 0 1rem;display:flex}.reference-heading h2,.reference-form h3{color:#18181b;margin:0}.eyebrow{color:#71717a;letter-spacing:.12em;margin:0 0 .35rem;font-size:.68rem;font-weight:700}.reference-description{color:#71717a;margin:.35rem 0 0;font-size:.9rem}.reference-count{color:#52525b;white-space:nowrap;font-size:.85rem}.reference-layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.reference-form{margin:0;padding:1.15rem;position:sticky;top:1rem}.panel-heading-row{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.reference-field{color:#3f3f46;flex-direction:column;gap:.35rem;margin-bottom:.85rem;font-size:.82rem;font-weight:600;display:flex}.reference-field input,.reference-field select,.reference-field textarea,.reference-toolbar input,.reference-toolbar select{box-sizing:border-box;color:#18181b;width:100%;font:inherit;background:#fff;border:1px solid #d4d4d8;border-radius:6px;padding:.55rem .65rem}.reference-field textarea{resize:vertical;min-height:180px;line-height:1.55}.reference-field small{color:#71717a;font-size:.72rem;font-weight:400}.reference-field input:focus,.reference-field select:focus,.reference-field textarea:focus,.reference-toolbar input:focus,.reference-toolbar select:focus{border-color:#2563eb;outline:2px solid #bfdbfe}.reference-submit,.button-quiet,.button-danger,.attachment-delete{color:#3f3f46;cursor:pointer;font:inherit;background:#fff;border:1px solid #d4d4d8;border-radius:6px}.reference-submit{color:#fff;background:#2563eb;border-color:#1d4ed8;width:100%;margin-top:.3rem;padding:.65rem .8rem;font-weight:700}.reference-submit:disabled{cursor:wait;opacity:.65}.button-quiet,.button-danger,.attachment-delete{padding:.3rem .55rem;font-size:.78rem}.button-quiet:hover,.attachment-delete:hover{background:#f4f4f5;border-color:#a1a1aa}.button-danger{color:#b91c1c;border-color:#fecaca}.button-danger:hover{background:#fef2f2}.reference-error{margin:.6rem 0}.selected-files{flex-wrap:wrap;gap:.35rem;margin:-.25rem 0 .7rem;display:flex}.file-chip,.reference-category{color:#1d4ed8;background:#eff6ff;border-radius:999px;padding:.22rem .5rem;font-size:.72rem;display:inline-block}.reference-list-column{min-width:0}.reference-toolbar{grid-template-columns:minmax(0,1fr) 150px auto;gap:.5rem;margin-bottom:.75rem;display:grid}.reference-toolbar .button-quiet{padding-inline:.85rem}.reference-cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem;display:grid}.reference-card{background:#fff;border:1px solid #e4e4e7;border-radius:8px;flex-direction:column;min-height:180px;padding:1rem;display:flex}.reference-card-topline{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.65rem;display:flex}.reference-card-topline time{color:#a1a1aa;font-size:.72rem}.reference-card h3{color:#18181b;margin:0 0 .55rem;font-size:1rem}.reference-content{color:#52525b;white-space:pre-wrap;-webkit-line-clamp:6;-webkit-box-orient:vertical;margin:0;font-size:.86rem;line-height:1.55;display:-webkit-box;overflow:hidden}.reference-attachments{border-top:1px solid #f4f4f5;flex-direction:column;gap:.35rem;margin-top:.8rem;padding-top:.65rem;display:flex}.attachment-row{align-items:center;gap:.4rem;min-width:0;font-size:.78rem;display:flex}.attachment-row a{color:#2563eb;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.attachment-row span{color:#a1a1aa;white-space:nowrap}.attachment-delete{margin-left:auto;padding:.15rem .35rem}.reference-card-actions{justify-content:flex-end;gap:.4rem;margin-top:auto;padding-top:.85rem;display:flex}.reference-empty{color:#71717a;text-align:center;border:1px dashed #d4d4d8;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;min-height:220px;display:flex}.reference-empty strong{color:#52525b}@media (width<=800px){.reference-layout{grid-template-columns:1fr}.reference-form{position:static}}@media (width<=520px){.reference-heading{flex-direction:column;align-items:flex-start}.reference-toolbar{grid-template-columns:1fr}}
