[v-cloak]{display:none}
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap');

:root{font-family:'DM Sans',sans-serif;color:#1b302f;background:#f5f5f2;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible{outline:3px solid #c96e52;outline-offset:3px}.app-shell{min-height:100vh}.topbar{height:76px;border-bottom:1px solid #e0e4df;display:flex;align-items:center;justify-content:space-between;padding:0 max(4.7vw,24px);background:#f8f8f5}.brand{font-weight:700;font-size:24px;letter-spacing:-1.8px;display:flex;align-items:center;gap:11px}.brand-mark{height:29px;width:29px;background:#c97052;border-radius:8px;display:grid;place-items:center;transform:rotate(-12deg)}.brand-mark span{height:13px;width:13px;border:2px solid #fff;border-radius:4px}.brand-dot{color:#c97052}.topbar-right{display:flex;align-items:center;gap:10px;font-size:12px;color:#667670;font-weight:600}.privacy-dot{width:7px;height:7px;background:#73a480;border-radius:50%}.topbar-separator{width:1px;height:17px;background:#d5dbd5;margin:0 13px}.topbar-version{font-size:10px;letter-spacing:1.4px;color:#9aa6a0}.main-layout{max-width:1460px;padding:0 4.7vw;margin:auto}.intro{padding:66px 0 46px}.eyebrow,.section-index{font-size:10px;font-weight:700;letter-spacing:2px;color:#b6745c}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow-line{width:25px;height:1px;background:#bd7358}.intro h1{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(43px,5vw,72px);line-height:1.04;letter-spacing:-1.8px;font-weight:400;margin:19px 0 16px}.intro h1 em{color:#bd7358;font-weight:400}.intro p{max-width:500px;font-size:15px;line-height:1.7;color:#71807b;margin:0}.workspace{display:grid;grid-template-columns:minmax(0,1.53fr) minmax(335px,.87fr);align-items:start;gap:22px}.editor-panel,.controls-panel{background:#fff;border:1px solid #e5e9e3;box-shadow:0 5px 24px #1d382d08}.editor-panel{padding:24px;border-radius:15px}.panel-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px}.panel-head h2,.control-section h2{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:25px;letter-spacing:-.3px;margin:6px 0 0}.panel-caption{font-size:10px;letter-spacing:1px;color:#9ba7a0;font-weight:700}.stage{position:relative;height:min(42vw,490px);min-height:370px;border-radius:9px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#edf1ee}.stage-empty{border:1.5px dashed #b9c7c0;background:#f9faf7}.stage-drag{border:2px dashed #bd7358;background:#fff4ee}.empty-state{text-align:center;display:flex;flex-direction:column;align-items:center}.empty-icon{width:84px;height:84px;border-radius:21px;background:#eff2ee;display:grid;place-items:center;color:#91a69b;margin-bottom:19px}.empty-icon svg{width:47px}.empty-state h3{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:25px;margin:0 0 5px}.empty-state p{color:#90a09a;font-size:14px;margin:0 0 22px}.empty-state small{color:#aab5af;font-size:11px;margin-top:20px}.button{border:0;border-radius:7px;padding:12px 17px;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:18px;transition:transform .15s,filter .15s}.button:not(:disabled):hover{transform:translateY(-2px);filter:brightness(1.05)}.button-dark{background:#1c3631;color:#fff;min-width:154px;justify-content:space-between}.stage-image{position:relative;z-index:1;max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 9px 18px #1a302016)}.checkerboard{position:absolute;inset:0;background-color:#f7f8f5;background-image:linear-gradient(45deg,#e9ece8 25%,transparent 25%),linear-gradient(-45deg,#e9ece8 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e9ece8 75%),linear-gradient(-45deg,transparent 75%,#e9ece8 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0}.processing-shade{z-index:3;position:absolute;inset:0;background:#f9faf7dc;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}.processing-shade strong{font-family:'DM Serif Display',Georgia,serif;font-size:25px;font-weight:400;margin-top:16px}.processing-shade small{font-size:12px;color:#74847c;max-width:260px;margin-top:8px}.spinner{height:27px;width:27px;border:2px solid #d5e0d8;border-top-color:#bd7358;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.image-badge{position:absolute;z-index:2;top:15px;left:16px;font-size:10px;font-weight:700;letter-spacing:1.4px;color:#173329;background:#ffffffd9;padding:8px 10px;border-radius:4px}.canvas-footer{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-top:20px}.file-label{display:flex;align-items:center;gap:9px;color:#50645a;font-size:12px;font-weight:600;min-width:0}.file-icon{font-size:17px;color:#a0b0a5}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-actions{display:flex;gap:19px;flex-shrink:0}.text-action{border:0;background:none;color:#bd7358;font-size:12px;font-weight:700;padding:5px 0}.text-action:hover{text-decoration:underline}.controls-panel{border-radius:15px;overflow:hidden}.control-section{padding:24px 27px}.model-section{border-bottom:1px solid #e8ece7}.section-top,.cache-top{display:flex;justify-content:space-between;align-items:center}.status-pill{font-size:9px;font-weight:700;letter-spacing:1px;color:#899993;background:#f3f5f2;border-radius:20px;padding:7px 8px;display:flex;align-items:center;gap:5px}.status-pill span{width:6px;height:6px;background:#aebbb2;border-radius:50%}.status-pill.active{color:#4b8b63;background:#edf5ed}.status-pill.active span{background:#6ba67a}.status-pill.danger{color:#ad4f46;background:#fff1ed}.status-pill.danger span{background:#c7665c}.section-description{color:#87968e;font-size:12px;line-height:1.55;margin:7px 0 0}.status-card{display:flex;align-items:center;gap:12px;background:#f4f7f3;border:1px solid #ebf0e9;border-radius:7px;padding:13px 14px;margin-top:19px}.status-icon{height:32px;width:32px;flex-shrink:0;display:grid;place-items:center;border-radius:6px;background:#e3ece3;color:#52715c;font-size:20px}.status-icon.spinning{animation:spin 4s linear infinite}.status-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.status-copy strong{font-size:12px}.status-copy span{font-size:11px;color:#8a9c90;line-height:1.4}.progress-wrap{margin-top:13px}.progress-track{height:5px;border-radius:4px;background:#e6eae4;overflow:hidden}.progress-track span{height:100%;display:block;background:#c97052;transition:width .15s}.progress-wrap small{display:block;margin-top:6px;font-size:10px;color:#9aa59d}.error-text{color:#bb574a;font-size:11px;line-height:1.4}.button-outline{border:1px solid #cfdbd0;background:#fff;color:#456454;margin-top:14px}.full{width:100%;justify-content:space-between}.backdrop-section{padding-top:23px}.backdrop-section h2{margin-top:9px}.swatch-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 10px;margin:20px 0 23px}.swatch{border:0;background:transparent;padding:0;color:#73837a;font-size:10px;text-align:left;display:flex;flex-direction:column;gap:7px}.swatch.selected{font-weight:700;color:#19362b}.swatch-color{width:100%;height:44px;border-radius:5px;border:1px solid #e1e6de;position:relative;overflow:hidden}.swatch.selected .swatch-color{outline:2px solid #c77253;outline-offset:2px}.swatch-color.checkered{background-color:#fff;background-image:linear-gradient(45deg,#e5e9e5 25%,transparent 25%),linear-gradient(-45deg,#e5e9e5 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e5e9e5 75%),linear-gradient(-45deg,transparent 75%,#e5e9e5 75%);background-size:12px 12px;background-position:0 0,0 6px,6px -6px,-6px 0}.swatch-check{position:absolute;right:4px;top:4px;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#8d503d;font-size:11px;box-shadow:0 1px 3px #0002}.export-box{border-top:1px solid #edf0eb;padding-top:19px;display:flex;align-items:center;justify-content:space-between;gap:12px}.export-box>div{display:flex;flex-direction:column;gap:4px}.export-box strong{font-size:12px}.export-box span{font-size:10px;color:#97a49b}.button-accent{background:#c87355;color:#fff;white-space:nowrap;gap:8px}.button-accent:disabled{background:#d8d4ce;color:#fff}.cache-section{background:#f7f8f5;padding:18px 27px;border-top:1px solid #e8ece7}.cache-section .section-index{color:#8a9d8e}.cache-indicator{height:8px;width:8px;border:1px solid #a8b9ab;border-radius:50%}.cache-section p{color:#89988e;font-size:10.5px;line-height:1.6;margin:11px 0 13px}.cache-section strong{font-weight:700;color:#617668}.cache-section code{background:#ebefea;border-radius:3px;padding:1px 3px;overflow-wrap:anywhere}.cache-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:10px;color:#a2afa5}.cache-footer button{border:0;background:none;color:#9f6f5d;font-size:10px;font-weight:700;padding:0;white-space:nowrap}.cache-footer button:disabled{color:#b7bdb6}.page-footer{display:flex;justify-content:space-between;gap:20px;padding:24px 0 44px;color:#aab6aa;font-size:10px}.page-footer span:last-child{letter-spacing:1.3px;font-weight:700}@media(max-width:900px){.workspace{grid-template-columns:1fr}.stage{height:50vw;min-height:380px}.intro{padding-top:44px}.controls-panel{display:grid;grid-template-columns:1fr 1fr}.model-section{border-bottom:0;border-right:1px solid #e8ece7}.cache-section{grid-column:1/-1}}@media(max-width:620px){.topbar{height:64px;padding:0 20px}.topbar-version,.topbar-separator{display:none}.main-layout{padding:0 17px}.intro{padding:36px 0 30px}.intro h1{font-size:43px}.intro p{font-size:13px}.editor-panel{padding:14px}.panel-head{padding:4px}.panel-head h2,.control-section h2{font-size:23px}.panel-caption{font-size:9px}.stage{height:440px;min-height:0}.canvas-footer{align-items:flex-start}.canvas-actions{flex-direction:column;align-items:flex-end;gap:4px}.controls-panel{display:block}.model-section{border-right:0;border-bottom:1px solid #e8ece7}.control-section{padding:23px}.cache-section{padding:18px 23px}.page-footer{flex-direction:column;gap:6px;padding-bottom:28px}.button-accent{padding:11px 12px}.export-box strong{font-size:11px}}

a.button-accent{text-decoration:none}
