@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&family=IBM+Plex+Sans:wght@400;500;600&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-sans:"IBM Plex Sans", system-ui, -apple-system, sans-serif;--font:var(--font-mono);--font-display:var(--font-mono);--mono:var(--font-mono);--bg:#0a0a0a;--bg-raised:#111;--bg-card:#141414;--bg-card-hover:#1a1a1a;--bg-input:#0d0d0d;--bg-subtle:#060606;--border:#262626;--border-light:#1c1c1c;--border-bright:#3a3a3a;--border-focus:#ff5c00;--text:#e6e6e6;--text-secondary:#9a9a9a;--text-muted:#5a5a5a;--text-heading:#fff;--accent:#ff5c00;--accent-hover:#ff7a2b;--accent-dim:#ff5c001a;--accent-border:#ff5c0059;--accent-text:#ff7a2b;--success:#0f8;--success-dim:#00ff8814;--success-border:#00ff8840;--warning:#fc0;--warning-dim:#ffcc0014;--warning-border:#ffcc0040;--error:#ff3b30;--error-dim:#ff3b301a;--error-border:#ff3b304d;--info:#00d4ff;--info-dim:#00d4ff14;--info-border:#00d4ff40;--radius:2px;--radius-sm:2px;--radius-xs:0;--shadow:none;--shadow-lg:none;--glow:0 0 0 1px var(--accent)}html,body{height:100%}body{font:400 12px/1.5 var(--font-mono);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1, "calt" 0, "ss01" 1;background-image:radial-gradient(circle at 1px 1px,#ffffff06 1px,#0000 0);background-size:24px 24px;background-attachment:fixed}#root{height:100vh;overflow:hidden}::selection{background:var(--accent);color:#000}.app{flex-direction:column;max-width:1600px;height:100vh;margin:0 auto;padding:0 20px;display:flex;position:relative;overflow:hidden}.app:before{content:"";background:linear-gradient(90deg, transparent 0%, var(--accent) 40%, var(--accent) 60%, transparent 100%);opacity:.6;z-index:1000;pointer-events:none;height:1px;position:fixed;top:0;left:0;right:0}.app-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:12px 0 10px;display:flex}.app-brand{align-items:baseline;gap:14px;min-width:0;display:flex}.app-brand h1{font:700 13px/1 var(--font-mono);color:var(--text-heading);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.app-brand .accent{color:var(--accent);padding:0 2px;font-weight:700}.app-brand p{font:400 10px/1 var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;border-left:1px solid var(--border);padding-left:14px}.app-status{flex-shrink:0;align-items:center;gap:8px;display:flex}.status-btn{font:500 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--border);background:var(--bg-raised);color:var(--text-muted);cursor:pointer;border-radius:0;padding:6px 12px 6px 24px;transition:border-color .15s,color .15s;position:relative}.status-btn:before{content:"";background:var(--text-muted);border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:10px;transform:translateY(-50%);box-shadow:0 0}.status-btn:hover{color:var(--text);border-color:var(--border-bright)}.status-btn.connected{color:var(--success);border-color:var(--success-border);background:var(--success-dim)}.status-btn.connected:before{background:var(--success);box-shadow:0 0 6px var(--success);animation:2.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.tabs{border-bottom:1px solid var(--border);background:0 0;flex-shrink:0;gap:0;margin:0 0 12px;padding:0;display:flex}.tab{font:500 10px/1 var(--font-mono);color:var(--text-muted);cursor:pointer;text-transform:uppercase;letter-spacing:.12em;text-align:center;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 18px;transition:color .15s,border-color .15s,background .15s;position:relative}.tab:hover{color:var(--text);background:#ffffff05}.tab.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--accent-dim)}.tab.active:before{content:"> ";color:var(--accent)}.two-col{flex:1;grid-template-columns:360px 1fr;gap:12px;min-height:0;display:grid;overflow:hidden}.two-col>*{scrollbar-width:thin;scrollbar-color:var(--border-bright) transparent;padding-bottom:12px;overflow-y:auto}.two-col>:last-child{flex-direction:column;padding-bottom:0;display:flex;overflow:hidden}@media (width<=900px){.two-col{grid-template-columns:1fr;overflow:auto}}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);position:relative;overflow:hidden}.card+.card{margin-top:10px}.two-col>:last-child>.card{background:var(--bg-card);border:1px solid var(--border);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.two-col>:last-child>.card>.card-header{background:var(--bg-raised);padding:10px 14px}.card-header{border-bottom:1px solid var(--border);background:var(--bg-raised);justify-content:space-between;align-items:center;min-height:40px;padding:10px 14px;display:flex}.card-header h2{font:600 10px/1 var(--font-mono);color:var(--text-heading);letter-spacing:.14em;text-transform:uppercase;align-items:center;display:inline-flex}.card-header h2:before{content:"// ";color:var(--accent);margin-right:4px;font-weight:700}.card-body{padding:14px}.card-footer{border-top:1px solid var(--border);background:var(--bg-raised);padding:10px 14px}.btn{font:600 10px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border-radius:var(--radius);cursor:pointer;border:1px solid var(--border);background:var(--bg-raised);color:var(--text);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:8px 14px;text-decoration:none;transition:background .12s,border-color .12s,color .12s,transform 80ms;display:inline-flex}.btn:disabled{opacity:.35;cursor:not-allowed}.btn:not(:disabled):active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:#000;border-color:var(--accent);font-weight:700}.btn-primary:not(:disabled):hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-success{background:var(--success);color:#000;border-color:var(--success);font-weight:700}.btn-success:not(:disabled):hover{filter:brightness(1.1)}.btn-danger{background:var(--error);color:#000;border-color:var(--error);font-weight:700}.btn-danger:not(:disabled):hover{filter:brightness(1.1)}.btn-warning{background:var(--warning-dim);color:var(--warning);border-color:var(--warning-border)}.btn-warning:not(:disabled):hover{border-color:var(--warning);background:#ffcc0024}.btn-ghost{color:var(--text-secondary);border-color:var(--border);background:0 0}.btn-ghost:not(:disabled):hover{background:var(--bg-card-hover);color:var(--text);border-color:var(--border-bright)}.btn-sm{padding:6px 10px;font-size:9px}.btn-xs{letter-spacing:.08em;padding:4px 8px;font-size:9px}.btn-block{width:100%}.btn-deployed{background:var(--success-dim);color:var(--success);border:1px solid var(--success-border);cursor:default}.card-body>button.btn-success.btn-block{padding:12px 14px;font-size:10px}.dropzone{border:1px dashed var(--border-bright);border-radius:var(--radius);cursor:pointer;background:var(--bg-subtle);padding:16px;transition:background .15s,border-color .15s;position:relative}.dropzone:before{content:"";pointer-events:none;border:1px solid #0000;transition:border-color .15s;position:absolute;inset:3px}.dropzone:hover,.dropzone.active{border-color:var(--accent);background:var(--accent-dim)}.dropzone:hover:before,.dropzone.active:before{border-color:var(--accent-border)}.dropzone-label{font:600 10px/1 var(--font-mono);color:var(--text);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:8px;margin-bottom:6px;display:flex}.dropzone-hint{font:400 10px/1.4 var(--font-mono);color:var(--text-muted)}.dropzone-file{font:500 10px/1.5 var(--font-mono);color:var(--success)}.dropzone-file>div:before{content:"[✓] "}.pill{font:600 9px/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid #0000;border-radius:0;align-items:center;gap:4px;padding:2px 6px;display:inline-flex}.pill-required{background:var(--error-dim);color:var(--error);border-color:var(--error-border)}.pill-optional{background:var(--info-dim);color:var(--info);border-color:var(--info-border)}.pill-draft{background:var(--warning-dim);color:var(--warning);border-color:var(--warning-border)}.pill-accent{background:var(--accent-dim);color:var(--accent);border-color:var(--accent-border)}.file-tag{font:500 10px/1 var(--font-mono);color:var(--text-secondary);background:var(--bg-raised);border:1px solid var(--border);border-radius:0;align-items:center;gap:6px;padding:4px 8px;display:inline-flex}.file-tag:before{content:"▸";color:var(--accent);font-size:9px}.file-tag .remove{cursor:pointer;color:var(--text-muted);padding:0 2px;font-weight:700}.file-tag .remove:hover{color:var(--error)}.stats-row{border:1px solid var(--border);background:var(--bg-raised);grid-template-columns:repeat(4,1fr);gap:0;display:grid}.stat{text-align:left;border-right:1px solid var(--border);padding:12px 10px;position:relative}.stat:last-child{border-right:none}.stat:before{content:"";background:var(--accent);width:10px;height:1px;position:absolute;top:0;left:0}.stat-value{font:700 20px/1 var(--font-mono);color:var(--text-heading);font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums}.stat-label{font:500 9px/1 var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-top:6px}.log-header{font:600 9px/1 var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.14em;background:var(--bg-raised);border-bottom:1px solid var(--border);align-items:center;padding:8px 12px;display:flex}.log-header:before{content:"//";color:var(--accent);margin-right:6px;font-weight:700}.log-body{font:400 11px/1.7 var(--font-mono);scrollbar-width:thin;background:var(--bg-subtle);max-height:320px;padding:10px 12px;overflow-y:auto}.log-body>div{padding-left:14px;position:relative}.log-body>div:before{content:">";color:var(--text-muted);position:absolute;left:0}.log-info{color:var(--text-secondary)}.log-success{color:var(--success)}.log-success:before{color:var(--success)!important;content:"✓"!important}.log-error{color:var(--error)}.log-error:before{color:var(--error)!important;content:"✗"!important}.log-warning{color:var(--warning)}.log-warning:before{color:var(--warning)!important;content:"!"!important}.log-skip{color:var(--text-muted)}.log-processing{color:var(--info)}.log-processing:before{color:var(--info)!important;content:"~"!important}.preview-scroll{scrollbar-width:thin;flex-direction:column;flex:1;gap:8px;padding:10px 12px;display:flex;overflow-y:auto}.preview-group{background:var(--bg-raised);border:1px solid var(--border);border-left:2px solid var(--border);border-radius:0;padding:12px 14px;transition:border-left-color .15s,background .15s}.preview-group:hover{border-left-color:var(--accent);background:var(--bg-card-hover)}.preview-ref{font:500 9px/1 var(--font-mono);color:var(--accent);background:var(--accent-dim);border:1px solid var(--accent-border);text-transform:uppercase;letter-spacing:.08em;border-radius:0;margin-bottom:10px;padding:3px 6px;display:inline-block}.preview-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.preview-label{font:500 9px/1 var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;flex-shrink:0;min-width:36px}.preview-input{font:600 12px/1.2 var(--font-mono);border:1px solid var(--border);background:var(--bg-input);color:var(--text-heading);border-radius:0;outline:none;flex:1;padding:7px 10px;transition:border-color .15s,background .15s}.preview-input:focus{border-color:var(--accent);background:var(--bg)}.preview-input-sm{width:130px;font-size:11px;font-weight:500}.preview-meta{font:500 10px/1 var(--font-mono);color:var(--text-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:14px;display:flex}.preview-meta strong{color:var(--text);font-weight:700}.preview-colors{flex-wrap:wrap;gap:4px;margin:10px 0 8px;display:flex}.preview-color-card{background:var(--bg-card);border:1px solid var(--border);border-radius:0;min-width:100px;padding:7px 10px;transition:border-color .15s}.preview-color-card:hover{border-color:var(--accent-border)}.preview-color-card .color-name{font:700 10px/1 var(--font-mono);color:var(--accent);text-transform:uppercase;letter-spacing:.06em}.preview-color-card .color-detail{font:500 9px/1.3 var(--font-mono);color:var(--text-secondary);font-variant-numeric:tabular-nums;margin-top:4px}.preview-color-card .color-title{font:400 9px/1.3 var(--font-mono);color:var(--text-muted);margin-top:2px;font-style:normal}.preview-siblings{font:500 10px/1 var(--font-mono);color:var(--info);background:var(--info-dim);border:1px solid var(--info-border);margin-bottom:6px;padding:4px 8px;display:inline-block}.wysiwyg-toolbar{gap:2px;margin-top:8px;display:flex}.wysiwyg-toolbar button{font:700 10px/1 var(--font-mono);border:1px solid var(--border);background:var(--bg-raised);color:var(--text-secondary);cursor:pointer;border-radius:0;padding:4px 10px;transition:all .12s}.wysiwyg-toolbar button:hover{background:var(--accent-dim);color:var(--accent);border-color:var(--accent-border)}.wysiwyg-editor{width:100%;min-height:120px;font:400 12px/1.65 var(--font-sans);border:1px solid var(--border);background:var(--bg-input);color:var(--text);border-radius:0;outline:none;margin-top:6px;padding:12px;transition:border-color .15s}.wysiwyg-editor:focus{border-color:var(--accent)}.wysiwyg-editor p{margin-bottom:8px}.wysiwyg-editor ul,.wysiwyg-editor ol{margin:6px 0 10px 20px}.wysiwyg-editor strong{color:var(--text-heading)}.wysiwyg-raw textarea{width:100%;min-height:60px;font:10px/1.5 var(--font-mono);border:1px solid var(--border);background:var(--bg-input);color:var(--text-muted);resize:vertical;border-radius:0;outline:none;margin-top:6px;padding:8px}.wysiwyg-raw textarea:focus{border-color:var(--border-bright)}.checklist{list-style:none}.checklist-item{border-bottom:1px solid var(--border-light);cursor:pointer;border-left:2px solid #0000;align-items:center;gap:12px;padding:10px 14px;transition:background .12s,border-left-color .12s;display:flex}.checklist-item:hover{background:var(--bg-card-hover);border-left-color:var(--accent)}.checklist-item:last-child{border-bottom:none}.checklist-check{border:1px solid var(--border-bright);background:var(--bg-input);cursor:pointer;appearance:none;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;transition:all .12s;display:flex;position:relative}.checklist-check:hover{border-color:var(--accent)}.checklist-check:checked{background:var(--accent);border-color:var(--accent)}.checklist-check:checked:after{content:"";border:2px solid #000;border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:0;left:3px;transform:rotate(45deg)}.checklist-info{flex:1;min-width:0}.checklist-title{font:500 12px/1.3 var(--font-mono);color:var(--text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.checklist-ref{font:400 9px/1 var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:3px}.checklist-meta{font:500 10px/1 var(--font-mono);color:var(--text-muted);font-variant-numeric:tabular-nums;gap:14px;display:flex}.checklist-meta strong{color:var(--text);font-weight:700}.checklist-actions{flex-shrink:0;gap:4px;display:flex}.step-badge{font:600 9px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--border);background:var(--bg-subtle);color:var(--text-muted);align-items:center;gap:6px;padding:5px 9px;display:inline-flex}.step-badge .step-num{opacity:.7}.step-badge .step-label{color:inherit}.step-badge .step-check{color:var(--success);font-weight:700}.step-badge.step-active{color:var(--accent);border-color:var(--accent);background:var(--accent-dim);animation:1.6s ease-in-out infinite stepPulse}.step-badge.step-active .step-num{opacity:1}.step-badge.step-done{color:var(--success);border-color:var(--success-border);background:var(--success-dim)}@keyframes stepPulse{0%,to{border-color:var(--accent)}50%{border-color:var(--accent-border)}}.thumb-row{flex-wrap:wrap;gap:4px;padding:6px 0 2px;display:flex}.photo-thumb{border:1px solid var(--border);background:var(--bg-input);width:56px;height:56px;transition:border-color .12s;position:relative;overflow:hidden}.photo-thumb:hover{border-color:var(--accent)}.photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.photo-thumb button{color:var(--accent);border:1px solid var(--accent);font:700 10px/1 var(--font-mono);cursor:pointer;background:#000;justify-content:center;align-items:center;width:16px;height:16px;padding:0;display:flex;position:absolute;top:0;right:0}.photo-thumb button:hover{background:var(--accent);color:#000}.drop-hint-inline{font:400 9px/1 var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:6px 0 2px}.history-item{border-bottom:1px solid var(--border-light);font:400 11px/1.5 var(--font-mono);padding:10px 0}.history-item:last-child{border-bottom:none}.history-date{font:600 10px/1 var(--font-mono);color:var(--accent);text-transform:uppercase;letter-spacing:.08em}.history-files{font:400 10px/1 var(--font-mono);color:var(--text-muted)}.history-link{color:var(--info);border-bottom:1px dotted var(--info-border);text-decoration:none;transition:color .12s}.history-link:hover{color:var(--info);border-bottom-color:var(--info)}.history-created{color:var(--success);font:400 10px/1.5 var(--font-mono);margin-left:10px;padding-left:14px;position:relative}.history-created:before{content:"[+]";position:absolute;left:0}.history-existing{color:var(--text-secondary);font:400 10px/1.5 var(--font-mono);margin-left:10px;padding-left:14px;position:relative}.history-existing:before{content:"[=]";color:var(--text-muted);position:absolute;left:0}.history-error{color:var(--error);font:400 10px/1.5 var(--font-mono);margin-left:10px;padding-left:14px;position:relative}.history-error:before{content:"[!]";position:absolute;left:0}.tab-fill{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.tab-fill .card-body{scrollbar-width:thin;flex:1;overflow-y:auto}.tab-fill .checklist{max-height:none;overflow-y:auto}details>summary{cursor:pointer;font:500 10px/1 var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:4px 0;transition:color .12s}details>summary:hover,details[open]>summary{color:var(--accent)}.alert-warning{background:var(--warning-dim);border:1px solid var(--warning-border);border-left:3px solid var(--warning);font:500 11px/1.4 var(--font-mono);color:var(--warning);border-radius:0;padding:10px 14px}.alert-warning:before{content:"!!";color:var(--warning);margin-right:8px;font-weight:700}.section-label{font:600 9px/1 var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.14em;margin-bottom:10px}.empty-state{text-align:center;color:var(--text-muted);font:400 11px/1.6 var(--font-mono);padding:48px 20px}.empty-state p{text-transform:uppercase;letter-spacing:.08em;margin-top:10px;font-size:11px}.empty-state .icon{opacity:.25;filter:grayscale();margin-bottom:6px;font-size:28px}.flex{display:flex}.flex-wrap{flex-wrap:wrap}.gap-6{gap:6px}.gap-8{gap:8px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}select,input[type=text],input[type=number]{font:500 11px/1 var(--font-mono);background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:0;outline:none;padding:6px 10px;transition:border-color .15s}select:focus,input[type=text]:focus,input[type=number]:focus{border-color:var(--accent)}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-muted) 50%), linear-gradient(135deg, var(--text-muted) 50%, transparent 50%);text-transform:uppercase;letter-spacing:.06em;background-position:calc(100% - 12px),calc(100% - 7px);background-repeat:no-repeat;background-size:5px 5px;padding-right:26px}.siblings-overlay{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000d1;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.siblings-panel{background:var(--bg-card);border:1px solid var(--accent-border);border-radius:0;flex-direction:column;width:100%;max-width:960px;max-height:85vh;display:flex;position:relative;overflow:hidden}.siblings-panel:before{content:"";background:var(--accent);height:2px;position:absolute;top:0;left:0;right:0}.siblings-body{scrollbar-width:thin;flex:1;padding:16px;overflow-y:auto}.siblings-summary{border:1px solid var(--border);background:var(--bg-raised);grid-template-columns:repeat(4,1fr);gap:0;margin-bottom:16px;display:grid}.siblings-summary .stat{border-right:1px solid var(--border)}.siblings-summary .stat:last-child{border-right:none}.siblings-section-title{text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px;font:600 10px/1 var(--font-mono)!important;color:var(--accent)!important;padding:10px 0!important}.siblings-list{flex-direction:column;gap:4px;margin-bottom:16px;display:flex}.siblings-delete-item{font:400 10px/1.4 var(--font-mono);color:var(--error);background:var(--error-dim);border:1px solid var(--error-border);border-left:2px solid var(--error);padding:5px 10px}.siblings-delete-item:before{content:"[- DEL] ";font-weight:700}.siblings-family{background:var(--bg-raised);border:1px solid var(--border);border-left:2px solid var(--accent);padding:10px 12px}.siblings-family-header{font:600 12px/1 var(--font-mono);color:var(--text-heading);justify-content:space-between;align-items:center;gap:8px;display:flex}.siblings-family-collection{font:500 10px/1 var(--font-mono);color:var(--accent);margin:6px 0 8px;padding-left:14px;position:relative}.siblings-family-collection:before{content:"└";color:var(--text-muted);position:absolute;left:0}.siblings-family-products{flex-direction:column;gap:2px;display:flex}.siblings-product-row{font:400 10px/1.4 var(--font-mono);align-items:center;gap:8px;padding:3px 0;display:flex}.siblings-product-title{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.siblings-product-cutline{color:var(--accent);text-transform:uppercase;letter-spacing:.06em;min-width:80px;font-size:9px;font-weight:600}.siblings-product-change{font:400 9px/1 var(--font-mono);color:var(--warning);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--accent)}.wysiwyg-editor,.wysiwyg-editor *{font-family:var(--font-sans)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.view-shell{flex-direction:column;flex:1;gap:16px;min-height:0;padding:16px 0;display:flex;overflow-y:auto}.session-list-header{justify-content:space-between;align-items:center;padding:0 4px;display:flex}.session-list-header h2{font:600 14px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-heading)}.session-list-header h2:before{content:"// ";color:var(--accent)}.session-list-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.session-summary-card{background:var(--bg-card);border:1px solid var(--border);border-left:2px solid var(--border);padding:16px;transition:border-left-color .15s}.session-summary-card:hover{border-left-color:var(--accent)}.session-summary-card.archived{opacity:.5}.session-summary-label{font:600 13px/1.3 var(--font-mono);color:var(--text-heading);margin-bottom:8px}.session-summary-meta{font:500 10px/1 var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-variant-numeric:tabular-nums;gap:14px;margin-bottom:12px;display:flex}.session-summary-actions{gap:4px;display:flex}.session-header-strip{background:var(--bg-raised);border:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.session-header-strip h2{font:600 12px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-heading)}.session-header-strip h2:before{content:"// ";color:var(--accent)}.session-header-strip>div:last-child{font:500 10px/1 var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-variant-numeric:tabular-nums}.connection-badge{font:500 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--border);background:var(--bg-raised);color:var(--text-muted);border-radius:0;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.connection-badge .connection-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.connection-online{color:var(--success);border-color:var(--success-border);background:var(--success-dim)}.connection-online .connection-dot{box-shadow:0 0 6px var(--success);animation:2.4s ease-in-out infinite pulse}.connection-offline{color:var(--error);border-color:var(--error-border);background:var(--error-dim)}.connection-pending{color:var(--warning);border-color:var(--warning-border);background:var(--warning-dim)}.connection-pending .connection-dot{animation:1.2s ease-in-out infinite pulse}.wizard-container{background:var(--bg-card);border:1px solid var(--border);border-left:2px solid var(--accent);max-width:640px;margin:32px auto;padding:24px}.wizard-container h2{font:600 14px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-heading);margin-bottom:4px}.wizard-container h2:before{content:"// ";color:var(--accent)}.wizard-container>p{font:400 11px/1.5 var(--font-mono);color:var(--text-muted);margin-bottom:24px}.wizard-field{margin-bottom:16px}.wizard-field label{font:500 9px/1 var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px;display:block}.wizard-field input[type=text]{width:100%}.wizard-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;margin-top:24px;padding-top:16px;display:flex}.session-view{gap:10px}.session-header-strip{flex-direction:row}.session-header-strip>div:first-child{flex:1;min-width:0}.session-header-meta{font:400 10px/1.4 var(--font-mono);color:var(--text-muted);text-transform:none;letter-spacing:0;margin-top:4px}.session-stats-row{border:1px solid var(--border);background:var(--bg-raised);grid-template-columns:repeat(9,1fr);gap:0;display:grid}.session-stat{text-align:center;border-right:1px solid var(--border);padding:10px 8px;position:relative}.session-stat:last-child{border-right:none}.session-stat-value{font:700 16px/1 var(--font-mono);color:var(--text-heading);font-variant-numeric:tabular-nums}.session-stat-label{font:500 9px/1 var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-top:4px}.session-filter-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.filter-chips{flex-wrap:wrap;gap:2px;display:flex}.filter-chip{font:500 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--border);background:var(--bg-raised);color:var(--text-secondary);cursor:pointer;border-radius:0;padding:6px 12px;transition:color .12s,border-color .12s,background .12s}.filter-chip:hover{color:var(--text);border-color:var(--border-bright);background:var(--bg-card-hover)}.filter-chip[data-active=true]{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.item-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;padding-bottom:20px;display:grid}.item-card{background:var(--bg-card);border:1px solid var(--border);border-left:2px solid var(--border);cursor:pointer;flex-direction:column;gap:6px;padding:10px;transition:border-left-color .12s,background .12s;display:flex}.item-card:hover{border-left-color:var(--accent);background:var(--bg-card-hover)}.item-card[data-state=live]{border-left-color:var(--success)}.item-card[data-state=error]{border-left-color:var(--error)}.item-card[data-state=pushed]{border-left-color:var(--info)}.item-card[data-state=on_shopify]{border-left-color:#0891b2}.item-card[data-state=skipped]{opacity:.4}.item-card-thumbs{background:var(--bg-input);border:1px solid var(--border);gap:2px;height:80px;display:flex;overflow:hidden}.item-card-thumbs img{object-fit:cover;flex:1;min-width:0;height:100%}.item-card-no-photo{font:500 9px/1 var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;flex:1;justify-content:center;align-items:center;display:flex}.item-card-ref{font:600 10px/1.3 var(--font-mono);color:var(--accent);text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;overflow:hidden}.item-card-meta{font:500 10px/1 var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;gap:6px;display:flex}.item-card-sep{opacity:.4}.item-card-action{font:600 9px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;padding:6px 8px;transition:all .12s}.item-card-action:hover{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.state-dots{align-items:center;gap:3px;display:flex}.state-dots .dot{background:var(--border-bright);width:8px;height:2px}.state-dots .dot.dot-on{background:var(--accent)}.state-dots .dot.dot-live{background:var(--success)}.state-dots-error,.state-dots-skipped{font:600 9px/1 var(--font-mono);letter-spacing:.1em;border:1px solid;padding:2px 6px}.state-dots-error{color:var(--error);border-color:var(--error-border);background:var(--error-dim)}.state-dots-skipped{color:var(--text-muted);border-color:var(--border)}.item-drawer-overlay{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000d9;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.item-drawer-panel{background:var(--bg-card);border:1px solid var(--accent-border);border-top:2px solid var(--accent);flex-direction:column;width:100%;max-width:1200px;max-height:90vh;display:flex;overflow:hidden}.item-drawer-header{border-bottom:1px solid var(--border);background:var(--bg-raised);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.item-drawer-ref{font:700 12px/1 var(--font-mono);color:var(--accent);text-transform:uppercase;letter-spacing:.08em}.item-drawer-sub{font:500 10px/1 var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:6px}.item-drawer-sub [data-state]{color:var(--accent);padding:0 4px}.item-drawer-body{flex:1;grid-template-columns:1fr 1fr;gap:0;min-height:0;display:grid;overflow:hidden}.item-drawer-left{border-right:1px solid var(--border);flex-direction:column;gap:12px;padding:16px;display:flex;overflow-y:auto}.item-drawer-right{padding:16px;overflow-y:auto}.photo-drop-zone{border:1px dashed var(--border-bright);background:var(--bg-subtle);justify-content:center;align-items:center;min-height:140px;transition:border-color .15s,background .15s;display:flex}.photo-drop-zone.drop-active,.photo-drop-zone:hover{border-color:var(--accent);background:var(--accent-dim)}.photo-drop-cta{cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:6px;padding:18px;display:flex}.photo-drop-cta>span:first-child{font:700 13px/1 var(--font-mono);color:var(--accent);letter-spacing:.1em}.photo-drop-hint{font:500 10px/1 var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.drawer-thumbs{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px;display:grid}.drawer-thumb{aspect-ratio:1;background:var(--bg-input);border:1px solid var(--border);cursor:grab;position:relative;overflow:hidden}.drawer-thumb:hover{border-color:var(--accent)}.drawer-thumb.dragging{opacity:.3}.drawer-thumb-order{background:var(--accent);color:#fff;font-size:9px;font-family:var(--font-mono);z-index:1;justify-content:center;align-items:center;width:16px;height:16px;display:flex;position:absolute;top:2px;left:2px}.drawer-thumb img{object-fit:cover;width:100%;height:100%}.drawer-thumb-remove{width:18px;height:18px;color:var(--accent);border:1px solid var(--accent);font:700 12px/1 var(--font-mono);cursor:pointer;background:#000;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:2px;right:2px}.drawer-thumb-remove:hover{background:var(--accent);color:#000}.raw-tillin{font:400 10px/1.6 var(--font-mono);background:var(--bg-input);border:1px solid var(--border);max-height:260px;padding:10px;overflow-y:auto}.raw-tillin-row{border-bottom:1px solid var(--border-light);grid-template-columns:140px 1fr;gap:8px;padding:2px 0;display:grid}.raw-tillin-key{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}.raw-tillin-val{color:var(--text);word-break:break-word}.raw-tillin-empty{color:var(--text-muted);text-align:center;padding:12px}.enriched-panel{font:400 11px/1.6 var(--font-mono);background:var(--bg-input);border:1px solid var(--border);padding:10px}.enriched-panel strong{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-size:9px}.item-drawer-footer{border-top:1px solid var(--border);background:var(--bg-raised);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.item-drawer-footer>div{min-width:0}.item-drawer-footer>div:last-child{flex-wrap:wrap;justify-content:flex-end}.enriched-editor{background:var(--bg-input);border:1px solid var(--border);padding:12px}.enriched-editor .section-label{font:600 9px/1 var(--font-mono);color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}.enriched-field{margin-bottom:10px}.enriched-field label{font:500 9px/1 var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;display:block}.enriched-field input,.enriched-field textarea{width:100%;font:400 11px/1.4 var(--font-mono);background:var(--bg);color:var(--text);border:1px solid var(--border);outline:none;padding:6px 8px}.enriched-field input:focus,.enriched-field textarea:focus{border-color:var(--accent)}.enriched-field textarea{resize:vertical;min-height:100px}.enriched-field input:disabled,.enriched-field textarea:disabled{opacity:.6;cursor:not-allowed}@media (width<=900px){.item-drawer-body{grid-template-columns:1fr}.item-drawer-left{border-right:none;border-bottom:1px solid var(--border)}.session-stats-row{grid-template-columns:repeat(3,1fr)}}.matched-badge{color:#fff;letter-spacing:.12em;text-transform:uppercase;vertical-align:middle;background:#ff5c00;border-radius:0;margin-left:10px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700;display:inline-block}.item-card{position:relative}.item-card[data-selected]{outline-offset:-2px;border-color:#ff5c00;outline:1px solid #ff5c00}.item-card-header{justify-content:space-between;align-items:center;gap:6px;min-height:18px;margin-bottom:2px;display:flex}.item-card-header-tags{align-items:center;gap:4px;display:flex}.item-card-tag{color:#fff;letter-spacing:.1em;text-transform:uppercase;background:#ff5c00;border-radius:0;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700;display:inline-block}.item-card-tag-variants{color:var(--text-muted);border:1px solid var(--border);background:0 0}.item-card-checkbox{background:var(--bg-input);border:1px solid var(--border-bright);cursor:pointer;color:#000;width:16px;height:16px;font:700 10px/1 var(--font-mono);flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .12s,border-color .12s;display:flex}.item-card-checkbox:hover{border-color:#ff5c00}.item-card-checkbox.checked{background:#ff5c00;border-color:#ff5c00}.item-card-checkbox-mark{color:#000}.shopify-preview{border:1px solid var(--border);background:var(--bg-raised);color:var(--text);margin-bottom:12px;padding:12px}.shopify-preview-loading,.shopify-preview-empty{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;padding:8px 0;font-family:JetBrains Mono,monospace;font-size:11px}.shopify-preview-title{color:var(--text-heading);align-items:center;gap:10px;margin:6px 0 10px;font-family:IBM Plex Sans,sans-serif;font-size:14px;font-weight:600;display:flex}.shopify-preview-status{letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--border);border-radius:0;flex-shrink:0;padding:2px 7px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700}.shopify-preview-status.status-active{color:#fff;background:#0a7c2f;border-color:#0a7c2f}.shopify-preview-status.status-draft{color:#fff;background:#ff5c00;border-color:#ff5c00}.shopify-preview-status.status-archived{color:#fff;background:#555;border-color:#555}.shopify-preview-gallery{gap:6px;margin-bottom:10px;padding-bottom:4px;display:flex;overflow-x:auto}.shopify-preview-gallery img{object-fit:cover;border:1px solid var(--border);background:var(--bg-card);flex-shrink:0;width:80px;height:80px}.shopify-preview-desc{border:1px solid var(--border);background:var(--bg-card);max-height:200px;color:var(--text);margin-bottom:10px;padding:8px 10px;font-family:IBM Plex Sans,sans-serif;font-size:12px;line-height:1.5;overflow-y:auto}.shopify-preview-desc,.shopify-preview-desc *,.shopify-preview-desc p,.shopify-preview-desc span,.shopify-preview-desc div,.shopify-preview-desc li,.shopify-preview-desc ul,.shopify-preview-desc ol,.shopify-preview-desc strong,.shopify-preview-desc em,.shopify-preview-desc b,.shopify-preview-desc i,.shopify-preview-desc h1,.shopify-preview-desc h2,.shopify-preview-desc h3,.shopify-preview-desc h4,.shopify-preview-desc h5,.shopify-preview-desc h6{color:var(--text)!important;background:0 0!important;font-family:IBM Plex Sans,sans-serif!important}.shopify-preview-desc a{color:var(--accent-text)!important}.shopify-preview-desc p{margin:0 0 6px}.shopify-preview-desc ul,.shopify-preview-desc ol{margin:4px 0;padding-left:18px}.html-preview{color:var(--text);max-height:300px;font-family:IBM Plex Sans,sans-serif;font-size:13px;line-height:1.6;overflow-y:auto}.html-preview p{margin:0 0 10px}.html-preview strong,.html-preview b{color:var(--text-heading,#fff);font-weight:700}.html-preview em,.html-preview i{font-style:italic}.html-preview ul,.html-preview ol{margin:8px 0;padding-left:22px}.html-preview ul{list-style-type:disc}.html-preview ol{list-style-type:decimal}.html-preview li{margin:3px 0;padding-left:4px}.html-preview a{color:var(--accent-text);text-decoration:underline}.shopify-preview-variants{border-collapse:collapse;width:100%;color:var(--text);font-family:JetBrains Mono,monospace;font-size:10px}.shopify-preview-variants th,.shopify-preview-variants td{border:1px solid var(--border);text-align:left;color:var(--text);padding:4px 6px}.shopify-preview-variants th{background:var(--bg-card);color:var(--text-heading);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.shopify-preview-variants td{background:var(--bg-raised)}.upload-status-bar{color:#fff;text-transform:uppercase;letter-spacing:.08em;background:#ff5c00;border:1px solid #ff5c00;border-radius:0;align-items:center;gap:10px;margin-bottom:10px;padding:10px 12px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;display:flex}.upload-status-bar.success{background:#0a7c2f;border-color:#0a7c2f}.upload-status-bar.error{background:#c02020;border-color:#c02020}.spinner-dot{background:#fff;border-radius:0;width:8px;height:8px;animation:1s ease-in-out infinite pulse-dot;display:inline-block}@keyframes pulse-dot{0%,to{opacity:.3}50%{opacity:1}}.drawer-thumb.optimistic{position:relative}.drawer-thumb.optimistic img{opacity:.5}.drawer-thumb.optimistic:after{content:"";pointer-events:none;background:repeating-linear-gradient(45deg,#ff5c0026,#ff5c0026 8px,#ff5c0059 8px 16px);animation:1.2s linear infinite stripe-slide;position:absolute;inset:0}@keyframes stripe-slide{0%{background-position:0 0}to{background-position:22px 0}}.drawer-thumb-overlay{color:#fff;letter-spacing:.1em;text-align:center;z-index:1;background:#ff5c00;padding:2px 4px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700;position:absolute;bottom:4px;left:4px;right:4px}.llm-status-block{color:var(--text,#111);background:#ff5c0014;border:1px solid #ff5c00;margin-bottom:12px;padding:12px;font-family:JetBrains Mono,monospace;font-size:11px}.llm-status-block.success{color:#0a7c2f;text-transform:uppercase;letter-spacing:.1em;background:#0a7c2f1a;border-color:#0a7c2f;font-weight:700}.llm-status-block.error{color:#c02020;background:#c020201a;border-color:#c02020}.llm-status-header{text-transform:uppercase;letter-spacing:.12em;color:#ff5c00;margin-bottom:8px;font-weight:700}.llm-status-steps{flex-direction:column;gap:4px;display:flex}.llm-status-step{border-left:2px solid var(--border);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:4px 8px;font-size:10px}.llm-status-step.active{color:#ff5c00;border-left-color:#ff5c00;font-weight:700;animation:1.4s ease-in-out infinite pulse-llm}@keyframes pulse-llm{0%,to{opacity:1}50%{opacity:.5}}.login-view{background:var(--bg);min-height:100vh;font-family:var(--font-mono);color:var(--text);background-image:linear-gradient(#ff5c0008 1px,#0000 1px),linear-gradient(90deg,#ff5c0008 1px,#0000 1px);background-size:40px 40px;justify-content:center;align-items:center;display:flex}.login-card{background:var(--bg-card);border:1px solid var(--border);width:380px;padding:32px 28px 22px}.login-brand{border-bottom:1px dashed var(--border);margin-bottom:22px;padding-bottom:18px}.login-mark{letter-spacing:2px;color:var(--text-heading);font-size:22px;font-weight:700}.login-sub{color:var(--accent);letter-spacing:1.5px;margin-top:4px;font-size:11px}.login-form{flex-direction:column;gap:10px;display:flex}.login-label{letter-spacing:1.5px;color:var(--text-secondary);font-size:10px}.login-input{background:var(--bg-input);border:1px solid var(--border);color:var(--text);font-family:var(--font-mono);border-radius:0;outline:none;padding:10px 12px;font-size:14px}.login-input:focus{border-color:var(--accent)}.login-error{color:var(--error);background:var(--error-dim);border:1px solid var(--error-border);letter-spacing:1px;padding:6px 10px;font-size:11px}.login-button{background:var(--accent);color:#0a0a0a;border:1px solid var(--accent);font-family:var(--font-mono);letter-spacing:2px;cursor:pointer;border-radius:0;margin-top:8px;padding:11px 14px;font-size:12px;font-weight:700}.login-button:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.login-button:disabled{opacity:.4;cursor:not-allowed}.login-footer{text-align:center;letter-spacing:2px;color:var(--text-muted);margin-top:22px;font-size:9px}.photo-modal-overlay{z-index:2000;background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.photo-modal{background:var(--bg,#fff);border:1px solid var(--border,#ddd);flex-direction:column;width:92vw;max-width:1200px;height:90vh;display:flex;overflow:hidden}.photo-modal-header{border-bottom:1px solid var(--border,#ddd);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.photo-modal-toggle{gap:4px;display:flex}.photo-modal-body{flex:1;display:flex;overflow:hidden}.photo-modal-img-wrap{background:#f5f5f5;flex:1;justify-content:center;align-items:center;padding:16px;display:flex;position:relative;overflow:auto}.photo-modal-img-wrap img{object-fit:contain;max-width:100%;max-height:100%}.reprocess-panel{border-left:1px solid var(--border,#ddd);flex-shrink:0;width:280px;padding:16px;font-family:JetBrains Mono,monospace;font-size:11px;overflow-y:auto}.reprocess-presets label,.reprocess-advanced label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:4px;font-size:10px;display:block}.reprocess-presets select,.reprocess-advanced select{border:1px solid var(--border,#ddd);background:var(--bg,#fff);width:100%;margin-bottom:8px;padding:6px 8px;font-family:inherit;font-size:11px}.reprocess-field{margin-bottom:10px}.reprocess-field input[type=range]{width:100%;margin-top:4px}.reprocess-field input[type=checkbox]{margin-right:6px}.photo-modal-action-bar{border-top:1px solid var(--accent-border);background:var(--accent-dim);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.photo-modal-action-bar-info{align-items:center;gap:8px;display:flex}.photo-modal-pending-badge{font:600 10px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent);border:1px solid var(--accent-border);background:#ff5c0014;padding:3px 8px}.photo-modal-pending-model{font:400 10px/1 var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.photo-modal-action-bar-buttons{gap:8px;display:flex}.photo-modal-processing-overlay{z-index:1;font:600 11px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--accent);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:0}
