.enhancer-root{--bg:#141310;--panel:#1c1a16;--panel-2:#201e19;--border:#322f28;--border-soft:#262420;--text:#f2eee4;--text-muted:#8f897a;--text-faint:#5c584c;--accent:#e8b14c;--accent-dim:#6b5527;--accent-text:#171307;--success:#7cb083;--danger:#d9705f;--radius:10px;--font-display:"Fraunces", ui-serif, Georgia, serif;--font-body:"Inter", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;background:var(--bg);color:var(--text);font-family:var(--font-body);width:100%;min-height:100vh}.enhancer-root *,.enhancer-root :before,.enhancer-root :after{box-sizing:border-box}.enhancer-root .app{grid-template-columns:380px 1fr;min-height:100vh;display:grid}@media (width<=900px){.enhancer-root .app{grid-template-columns:1fr}}.enhancer-root .sidebar{background:var(--panel);border-right:1px solid var(--border-soft);flex-direction:column;gap:26px;padding:28px 24px 40px;display:flex;overflow-y:auto}.enhancer-root .brand{align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.enhancer-root .brand .mark{background:linear-gradient(135deg, var(--accent), #b98a2f);border-radius:50% 50% 50% 4px;flex-shrink:0;width:22px;height:22px}.enhancer-root .brand h1{font-family:var(--font-display);margin:0;font-size:21px;font-weight:600}.enhancer-root .brand .model-tag{font-family:var(--font-mono);color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em;margin-left:auto;font-size:10px}.enhancer-root .usage-card{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.enhancer-root .usage-row{font-family:var(--font-mono);color:var(--text-muted);justify-content:space-between;align-items:baseline;font-size:11px;display:flex}.enhancer-root .usage-row b{color:var(--text);font-size:12.5px;font-weight:500}.enhancer-root .usage-bar-track{border:1px solid var(--border);background:#141310;border-radius:4px;height:6px;overflow:hidden}.enhancer-root .usage-bar-fill{background:var(--accent);border-radius:4px;height:100%;transition:width .3s,background .3s}.enhancer-root .usage-bar-fill.warn{background:#d9a25f}.enhancer-root .usage-bar-fill.over{background:var(--danger)}.enhancer-root .usage-stats{font-family:var(--font-mono);color:var(--text-faint);justify-content:space-between;font-size:10.5px;display:flex}.enhancer-root .usage-budget-row{font-family:var(--font-mono);color:var(--text-faint);align-items:center;gap:6px;font-size:10.5px;display:flex}.enhancer-root .usage-budget-row input{background:var(--panel);border:1px solid var(--border);width:56px;color:var(--text);font-family:var(--font-mono);border-radius:5px;padding:3px 6px;font-size:10.5px}.enhancer-root .field{flex-direction:column;gap:8px;display:flex}.enhancer-root .field label{font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.enhancer-root .hint{color:var(--text-faint);margin:0;font-size:12px;line-height:1.5}.enhancer-root input[type=password],.enhancer-root input[type=text],.enhancer-root textarea{background:var(--panel-2);border:1px solid var(--border);color:var(--text);font-family:var(--font-body);border-radius:8px;outline:none;width:100%;padding:10px 12px;font-size:13.5px;transition:border-color .15s}.enhancer-root input:focus,.enhancer-root textarea:focus{border-color:var(--accent)}.enhancer-root textarea{resize:vertical;min-height:84px;line-height:1.5}.enhancer-root select{background:var(--panel-2);border:1px solid var(--border);color:var(--text);font-family:var(--font-body);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%238f897a'><path d='M5.5 7.5L10 12l4.5-4.5z'/></svg>");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;border-radius:8px;outline:none;width:100%;padding:10px 34px 10px 12px;font-size:13.5px}.enhancer-root select:focus{border-color:var(--accent)}.enhancer-root select option{background:var(--panel-2);color:var(--text)}.enhancer-root .dropzone{border:1.5px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;background:var(--panel-2);padding:18px;transition:border-color .15s,background .15s;position:relative}.enhancer-root .dropzone:hover,.enhancer-root .dropzone.drag{border-color:var(--accent);background:#221f18}.enhancer-root .dropzone .dz-icon{opacity:.6;margin-bottom:6px;font-size:20px}.enhancer-root .dropzone .dz-text{color:var(--text-muted);font-size:12.5px}.enhancer-root .dropzone .dz-text b{color:var(--text);font-weight:600}.enhancer-root .dropzone input[type=file]{display:none}.enhancer-root .upload-preview{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:10px;padding:8px;display:flex}.enhancer-root .upload-preview img{object-fit:cover;border-radius:6px;flex-shrink:0;width:44px;height:44px}.enhancer-root .upload-preview .meta{flex:1;min-width:0}.enhancer-root .upload-preview .meta .name{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.enhancer-root .upload-preview .meta .size{color:var(--text-faint);font-size:11px;font-family:var(--font-mono)}.enhancer-root .upload-preview .remove{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;width:26px;height:26px;font-size:14px;line-height:1}.enhancer-root .upload-preview .remove:hover{border-color:var(--danger);color:var(--danger)}.enhancer-root .ratio-grid{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.enhancer-root .ratio-btn{background:var(--panel-2);border:1px solid var(--border);cursor:pointer;height:52px;color:var(--text-muted);border-radius:6px;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;padding:8px 4px 6px;transition:border-color .12s,color .12s;display:flex}.enhancer-root .ratio-btn:hover{color:var(--text);border-color:#4a4536}.enhancer-root .ratio-btn.active{border-color:var(--accent);color:var(--accent);background:#241f14}.enhancer-root .ratio-btn .swatch{opacity:.55;background:currentColor;border-radius:1.5px}.enhancer-root .ratio-btn.active .swatch{opacity:.9}.enhancer-root .ratio-btn .lbl{font-family:var(--font-mono);font-size:9.5px}.enhancer-root .seg{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;gap:3px;padding:3px;display:flex}.enhancer-root .seg button{color:var(--text-muted);font-family:var(--font-mono);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:8px 4px;font-size:12px}.enhancer-root .seg button.active{background:var(--accent);color:var(--accent-text);font-weight:600}.enhancer-root .res-note{color:var(--text-faint);font-size:11px;font-family:var(--font-mono)}.enhancer-root .generate-btn{background:var(--accent);color:var(--accent-text);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:14px;font-size:14.5px;font-weight:700;display:flex}.enhancer-root .generate-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 22px -6px #e8b14c73}.enhancer-root .generate-btn:disabled{opacity:.5;cursor:not-allowed}.enhancer-root .spinner{border:2px solid #17130759;border-top-color:var(--accent-text);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite enh-spin}@keyframes enh-spin{to{transform:rotate(360deg)}}.enhancer-root .error-box{color:#f0a99a;background:#2a1815;border:1px solid #4a2a24;border-radius:8px;padding:10px 12px;font-size:12.5px;line-height:1.5}.enhancer-root .canvas-area{flex-direction:column;min-height:100vh;padding:28px 36px;display:flex}.enhancer-root .canvas-top{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.enhancer-root .canvas-top .status{font-family:var(--font-mono);color:var(--text-faint);font-size:11.5px}.enhancer-root .icon-btn{background:var(--panel);border:1px solid var(--border);color:var(--text-muted);font-family:var(--font-mono);cursor:pointer;border-radius:8px;padding:8px 14px;font-size:11.5px}.enhancer-root .icon-btn:hover:not(:disabled){color:var(--text);border-color:#4a4536}.enhancer-root .icon-btn:disabled{opacity:.35;cursor:not-allowed}.enhancer-root .stage{border:1px solid var(--border-soft);background-color:#100f0c;background-image:linear-gradient(45deg,#1a1814 25%,#0000 25%),linear-gradient(-45deg,#1a1814 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#1a1814 75%),linear-gradient(-45deg,#0000 75%,#1a1814 75%);background-position:0 0,0 11px,11px -11px,-11px 0;background-repeat:repeat,repeat,repeat,repeat;background-size:22px 22px;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;border-radius:14px;flex:1;justify-content:center;align-items:center;min-height:420px;display:flex;position:relative;overflow:hidden}.enhancer-root .stage img{object-fit:contain;max-width:100%;max-height:72vh;box-shadow:0 20px 60px -20px #0009}.enhancer-root .placeholder{text-align:center;color:var(--text-faint);max-width:320px;padding:20px}.enhancer-root .placeholder .big{font-family:var(--font-display);color:var(--text-muted);margin:0 0 8px;font-size:18px}.enhancer-root .placeholder p{margin:0;font-size:12.5px;line-height:1.6}.enhancer-root .stage-loading{background:#100f0cd1;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:none;position:absolute;inset:0}.enhancer-root .stage-loading.show{display:flex}.enhancer-root .stage-loading .ring{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:38px;height:38px;animation:.9s linear infinite enh-spin}.enhancer-root .stage-loading .msg{font-family:var(--font-mono);color:var(--text-muted);font-size:12px}.enhancer-root .progress-track{background:var(--border);border-radius:4px;width:220px;height:5px;overflow:hidden}.enhancer-root .progress-fill{background:linear-gradient(90deg, var(--accent), #f2c874);border-radius:4px;height:100%;transition:width .25s}.enhancer-root .progress-pct{font-family:var(--font-mono);color:var(--accent);font-size:11px}.enhancer-root .meta-strip{font-family:var(--font-mono);color:var(--text-faint);flex-wrap:wrap;gap:18px;margin-top:16px;font-size:11.5px}.enhancer-root .meta-strip span b{color:var(--text-muted);font-weight:500}.enhancer-root .compare{border-radius:4px;width:100%;max-height:72vh;position:relative;overflow:hidden;box-shadow:0 20px 60px -20px #0009}.enhancer-root .compare-img{object-fit:cover;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.enhancer-root .compare-handle{cursor:ew-resize;touch-action:none;width:0;position:absolute;top:0;bottom:0}.enhancer-root .compare-handle:before{content:"";background:var(--accent);width:2px;position:absolute;top:0;bottom:0;left:-1px}.enhancer-root .compare-grip{background:var(--accent);width:32px;height:32px;color:var(--accent-text);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.enhancer-root .compare-tag{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-muted);pointer-events:none;background:#100f0cb3;border-radius:5px;padding:3px 8px;font-size:10px;position:absolute;bottom:10px}.enhancer-root .compare-tag.before-tag{left:10px}.enhancer-root .compare-tag.after-tag{right:10px}.enhancer-root .history-section{margin-top:18px}.enhancer-root .history-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.enhancer-root .history-head .title{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.enhancer-root .history-head .clear-btn{color:var(--text-faint);font-family:var(--font-mono);cursor:pointer;background:0 0;border:none;font-size:10.5px}.enhancer-root .history-head .clear-btn:hover{color:var(--danger)}.enhancer-root .history-strip{gap:10px;padding-bottom:6px;display:flex;overflow-x:auto}.enhancer-root .history-empty{color:var(--text-faint);font-size:12px;font-family:var(--font-mono);padding:10px 0}.enhancer-root .history-item{cursor:pointer;border:1.5px solid #0000;border-radius:8px;flex-shrink:0;width:76px;padding:3px}.enhancer-root .history-item:hover{border-color:#4a4536}.enhancer-root .history-item.active{border-color:var(--accent)}.enhancer-root .history-item img{object-fit:cover;border-radius:6px;width:100%;height:64px}.enhancer-root .history-item .hi-meta{font-family:var(--font-mono);color:var(--text-faint);text-align:center;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:8.5px;overflow:hidden}
