:root{--paper: #eeece5;--panel: #f7f5f0;--ink: #211f1c;--ink-soft: #57534a;--line: #d8d4c8;--thread: #b23a3a;--thread-soft: #e7d3ce;--display-font: "Fraunces", Georgia, serif;--body-font: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, sans-serif;--mono-font: "IBM Plex Mono", monospace}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body-font)}.app{max-width:1180px;margin:0 auto;padding:48px 24px 80px}.app-header{max-width:640px;margin-bottom:40px}.app-header h1{font-family:var(--display-font);font-weight:600;font-size:2.4rem;margin:0 0 12px;letter-spacing:-.01em}.app-header p{margin:0;color:var(--ink-soft);line-height:1.55;font-size:1.02rem}.workbench{display:grid;grid-template-columns:320px 1fr;gap:24px;align-items:start}@media (max-width: 860px){.workbench{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:24px}.control-block{margin-bottom:28px}.control-block h2,.history h2{font-family:var(--display-font);font-weight:500;font-size:1.05rem;margin:0 0 12px}.upload-area{border:1px dashed var(--line);border-radius:3px;padding:28px 16px;text-align:center;color:var(--ink-soft);font-size:.92rem;cursor:pointer;transition:border-color .15s ease,background .15s ease}.upload-area:hover,.upload-area:focus-visible{border-color:var(--thread);outline:none}.upload-area.is-drag-over{border-color:var(--thread);background:var(--thread-soft)}.upload-area.has-image{border-style:solid}.link-button{display:inline-block;margin-top:10px;background:none;border:none;padding:0;color:var(--thread);font-family:var(--body-font);font-size:.88rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.link-button:disabled{color:var(--ink-soft);cursor:default;text-decoration:none}.prompt-editor{width:100%;background:#fff;border:1px solid var(--line);border-radius:3px;padding:12px;font-family:var(--mono-font);font-size:.82rem;line-height:1.55;color:var(--ink);resize:vertical}.prompt-editor:focus-visible{outline:2px solid var(--thread);outline-offset:1px}.primary-button{width:100%;background:var(--thread);color:#fff;border:none;border-radius:3px;padding:13px 16px;font-family:var(--body-font);font-weight:500;font-size:.95rem;cursor:pointer;transition:opacity .15s ease}.primary-button:disabled{opacity:.4;cursor:default}.primary-button:not(:disabled):hover{opacity:.9}.secondary-button{background:transparent;border:1px solid var(--line);color:var(--ink);border-radius:3px;padding:9px 14px;font-family:var(--body-font);font-size:.88rem;cursor:pointer}.secondary-button:hover{border-color:var(--thread)}.error-text{color:var(--thread);font-size:.86rem;margin-top:14px;line-height:1.5}.stage{background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:22px 22px;background-color:var(--panel)}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width: 640px){.comparison{grid-template-columns:1fr}}.comparison-slot{display:flex;flex-direction:column;gap:8px}.comparison-label{font-size:.82rem;color:var(--ink-soft)}.comparison-frame{background:#fff;border:1px solid var(--line);border-radius:3px;min-height:320px;display:flex;align-items:center;justify-content:center;overflow:hidden}.comparison-frame img{max-width:100%;max-height:480px;display:block}.comparison-status{color:var(--ink-soft);font-size:.88rem;padding:20px;text-align:center}.stage-actions{margin-top:20px}.history{margin-top:32px}.history-strip{display:flex;flex-wrap:wrap;gap:10px}.history-thumb{width:76px;height:76px;padding:0;border:2px solid transparent;border-radius:3px;overflow:hidden;cursor:pointer;background:#fff}.history-thumb img{width:100%;height:100%;object-fit:cover;display:block}.history-thumb.is-active{border-color:var(--thread)}
