:root{color:#182230;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#eef1f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.app-shell{grid-template-rows:auto minmax(0,1fr);height:100vh;min-height:100vh;padding:18px;display:grid;overflow:hidden}.topbar{justify-content:space-between;align-items:center;gap:16px;max-width:1480px;margin:0 auto 16px;display:flex}.brand-block,.top-actions,.export-actions,.panel-heading,.metric-row{align-items:center;display:flex}.brand-block{gap:12px;min-width:0}.brand-mark{color:#0f766e;background:#fff;border:1px solid #d0d5dd;border-radius:8px;place-items:center;width:42px;height:42px;display:grid}h1,h2,p{margin:0}h1{font-size:22px;line-height:1.2}h2{font-size:16px;line-height:1.3}.brand-block p,.preview-toolbar p,.usage-name small{color:#667085}.top-actions,.export-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.workspace{grid-template-columns:minmax(230px,280px) minmax(320px,1fr) minmax(260px,340px);gap:16px;width:100%;max-width:1480px;height:100%;min-height:0;margin:0 auto;display:grid}.panel,.preview-area{background:#fff;border:1px solid #d0d5dd;border-radius:8px;box-shadow:0 10px 24px #1018280f}.panel{padding:16px}.controls-panel,.colors-panel{align-self:start;max-height:100%;overflow:auto}.panel-heading{justify-content:space-between;gap:12px;margin-bottom:16px}.field{gap:7px;margin-bottom:14px;display:grid}.compact-field{margin-bottom:10px}.field span{color:#344054;font-size:13px;font-weight:650}input,select{color:#182230;background:#fff;border:1px solid #cbd5e1;border-radius:7px;width:100%;height:38px;padding:0 10px}input[type=range]{accent-color:#0f766e;height:28px;padding:0}input:focus,select:focus,button:focus-visible{outline-offset:2px;outline:2px solid #0f766e59}.button,.icon-button{color:#182230;background:#fff;border:1px solid #cbd5e1;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:38px;display:inline-flex}.button{padding:0 13px;font-weight:700}.button.primary{color:#fff;background:#0f766e;border-color:#0f766e}.button.full{width:100%}.button:disabled,.icon-button:disabled{color:#98a2b3;background:#f2f4f7;border-color:#e4e7ec}.preset-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:-4px 0 14px;display:grid}.preset-button{color:#344054;background:#fff;border:1px solid #cbd5e1;border-radius:7px;min-width:0;min-height:34px;font-size:13px;font-weight:700}.preset-button:hover{color:#0f766e;border-color:#0f766e}.icon-button{width:38px;padding:0}.preview-area{grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.preview-toolbar{border-bottom:1px solid #eaecf0;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.preview-shell{background:#f8fafc;place-items:center;width:100%;height:100%;min-height:0;padding:18px;display:grid;overflow:auto}.draggable-preview{cursor:grab;touch-action:none}.draggable-preview:active{cursor:grabbing}.model-preview-canvas{background:#f8fafc;width:100%;height:100%;min-height:0}.model-preview-canvas canvas{width:100%;height:100%;display:block}.preview-loading{color:#667085;background:#f8fafc;place-items:center;width:100%;height:100%;min-height:320px;font-weight:700;display:grid}.pattern-canvas{background:#fff;border:1px solid #cbd5e1;border-radius:8px;display:block}.zoom-actions{background:#fff;border:1px solid #cbd5e1;border-radius:7px;align-items:center;gap:6px;height:38px;padding:0 6px;display:inline-flex}.zoom-input-label{color:#344054;align-items:center;gap:3px;min-width:72px;font-size:13px;font-weight:750;display:inline-flex}.zoom-input-label input{text-align:right;border:0;width:54px;height:28px;padding:0 4px;font-size:13px;font-weight:750}.zoom-input-label span{flex:none}.count-pill{color:#0f766e;background:#e6f4f1;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:13px;font-weight:750;display:inline-flex}.tool-switch{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:14px;display:grid}.tool-switch button{color:#344054;background:#fff;border:1px solid #cbd5e1;border-radius:7px;justify-content:center;align-items:center;gap:5px;min-width:0;min-height:36px;font-size:13px;font-weight:750;display:inline-flex}.tool-switch button.active{color:#fff;background:#0f766e;border-color:#0f766e}.undo-button{margin-bottom:14px}.crop-panel{border-top:1px solid #eaecf0;margin-top:18px;padding-top:16px}.crop-panel h2{margin-bottom:12px}.crop-mode,.crop-selector{width:100%;margin-bottom:10px}.crop-canvas{cursor:crosshair;touch-action:none;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;width:100%;display:block}.crop-actions{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:10px;display:grid}.crop-actions .button{min-width:0;padding:0 10px}.toggle-field{color:#344054;align-items:center;gap:8px;margin-bottom:14px;font-size:13px;font-weight:650;display:flex}.toggle-field input{accent-color:#0f766e;width:18px;height:18px}.inspect-box{background:#f8fafc;border:1px solid #d0d5dd;border-radius:8px;gap:3px;margin-bottom:14px;padding:10px;display:grid}.inspect-box span,.inspect-box small{color:#667085;font-size:12px}.inspect-box strong{color:#182230;font-size:18px;line-height:1.2}.replace-panel{gap:8px;margin-bottom:14px;display:grid}.usage-list{gap:8px;padding-right:2px;display:grid}.usage-item{text-align:left;background:#fff;border:1px solid #e4e7ec;border-radius:8px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:9px;display:grid}.usage-item.selected{background:#f0fdfa;border-color:#0f766e}.swatch{border:1px solid #00000029;border-radius:6px;width:28px;height:28px}.usage-name{gap:2px;min-width:0;display:grid}.usage-name strong,.usage-name small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.usage-count{color:#182230;text-align:right;min-width:38px;font-weight:800}.model-panel{border-top:1px solid #eaecf0;margin-top:18px;padding-top:16px}.model-panel summary{cursor:pointer;color:#182230;font-size:16px;font-weight:800;line-height:1.3}.model-panel[open] summary{margin-bottom:12px}.model-orientation-panel{gap:8px;margin:2px 0 12px;display:grid}.axis-button-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.axis-button-row .button{min-width:0;padding:0 8px}.metric-row{color:#475467;justify-content:space-between;margin-bottom:10px;font-size:14px}.metric-row strong{color:#182230}.layer-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;max-height:220px;margin-top:12px;display:grid;overflow:auto}.segmented-control{background:#fff;border:1px solid #cbd5e1;border-radius:7px;grid-template-columns:repeat(2,minmax(54px,1fr));height:38px;display:inline-grid;overflow:hidden}.segmented-control.one-way{grid-template-columns:minmax(72px,1fr)}.segmented-control.three-way{grid-template-columns:repeat(3,minmax(54px,1fr))}.segmented-control button{color:#475467;background:0 0;border:0;min-width:0;padding:0 10px;font-size:13px;font-weight:750}.segmented-control button.active{color:#fff;background:#0f766e}.layer-button{color:#344054;background:#fff;border:1px solid #e4e7ec;border-radius:7px;min-width:0;min-height:42px;padding:5px;display:grid}.layer-button.active{color:#0f766e;background:#f0fdfa;border-color:#0f766e}.layer-button span,.layer-button strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.layer-button span{font-size:12px}.layer-button strong{font-size:13px}@media (width<=1120px){body{overflow:auto}.app-shell{height:auto;display:block;overflow:visible}.workspace{grid-template-columns:260px minmax(320px,1fr);height:auto}.controls-panel,.colors-panel{max-height:none;overflow:visible}.preview-area{min-height:620px}.colors-panel{grid-column:1/-1}.usage-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}}@media (width<=760px){.app-shell{padding:12px}.topbar,.preview-toolbar{flex-direction:column;align-items:stretch}.top-actions,.export-actions{justify-content:stretch}.top-actions .button{flex:150px}.workspace{grid-template-columns:1fr}.preview-area{min-height:420px}.preview-shell{min-height:340px;padding:10px}.usage-list{grid-template-columns:1fr}}
