.app-header{display:flex;align-items:center;gap:24px;padding:0 20px;height:56px;background:var(--bg-panel);border-bottom:1px solid var(--border);flex-shrink:0}.logo{display:flex;align-items:center;gap:8px;flex-shrink:0}.logo-icon{font-size:22px;color:var(--accent)}.logo-text{font-size:18px;font-weight:700;letter-spacing:-.5px}.logo-accent{color:var(--accent)}.step-nav,.step-nav-item{display:flex;align-items:center;gap:2px}.step-arrow{color:var(--text-dim);font-size:18px;-webkit-user-select:none;user-select:none;margin:0 2px}.step-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:none;border:1px solid transparent;border-radius:var(--radius);color:var(--text-dim);font-family:var(--font);font-size:13px;cursor:pointer;transition:all .15s}.step-btn:hover{background:var(--bg-hover);color:var(--text)}.step-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.step-btn.done{color:var(--success)}.step-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--bg-hover);font-size:12px;font-weight:600}.step-btn.active .step-num{background:var(--accent);color:#fff}.step-btn.done .step-num{background:var(--success);color:#fff}@media(max-width:1100px){.step-label,.step-arrow{display:none}}.upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 20px;border:2px dashed var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s;text-align:center}.upload-zone:hover{border-color:var(--accent);background:var(--accent-dim)}.upload-icon{font-size:40px}.upload-hint{color:var(--text-dim);font-size:12px}.page-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.page-card{width:120px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.page-card img{width:100%;display:block}.page-card select{width:100%;padding:4px;background:var(--bg-hover);color:var(--text);border:none;font-size:12px;font-family:var(--font);text-align:center}.page-list-vertical{display:flex;flex-direction:column;gap:12px;margin-top:16px}.page-card-wide{display:flex;gap:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;padding:10px}.page-thumb-container{position:relative;width:200px;min-width:200px;border-radius:6px;overflow:hidden}.page-thumb-container img{width:100%;display:block}.page-card-info{display:flex;flex-direction:column;gap:6px;justify-content:center;flex:1}.page-card-num{font-size:13px;font-weight:600}.page-card-info select{width:100%;max-width:200px}.page-card-label-display{font-size:12px;color:var(--text-dim)}.split-line{position:absolute;top:0;bottom:0;width:2px;background:var(--danger);transform:translate(-50%);z-index:2}.split-line:before{content:"";position:absolute;top:0;bottom:0;left:-4px;right:-4px;background:#ff575726}.split-label{position:absolute;top:4px;padding:2px 6px;background:#000000b3;border-radius:4px;font-size:10px;color:#fff;white-space:nowrap}.split-label-left{right:8px}.split-label-right{left:8px}.split-ratio-control{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-dim)}.split-ratio-control input[type=range]{flex:1;max-width:120px;accent-color:var(--accent);background:transparent;border:none;padding:0}.toolbar{display:flex;gap:4px;padding:8px;background:var(--bg-card);border-radius:var(--radius);margin-bottom:12px;flex-wrap:wrap}.tool-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;background:none;border:1px solid transparent;border-radius:6px;color:var(--text-dim);font-family:var(--font);font-size:13px;cursor:pointer;transition:all .15s}.tool-btn:hover{background:var(--bg-hover);color:var(--text)}.tool-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.toolbar-sep{width:1px;background:var(--border);margin:0 4px}.split-side-selector{display:flex;gap:4px;margin-bottom:8px}.split-side-btn{flex:1;padding:8px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text-dim);font-family:var(--font);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;text-align:center}.split-side-btn:hover{border-color:var(--text-dim)}.split-side-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.editor-container{position:relative;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;min-height:300px}.editor-container canvas{display:block;width:100%;height:100%;object-fit:contain}.scale-input-row{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px 12px;background:var(--bg-card);border-radius:var(--radius);font-size:13px}.scale-input-row input{width:80px}.page-selector{display:flex;gap:8px;margin-top:8px}.page-selector button{padding:4px 12px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text-dim);font-family:var(--font);font-size:12px;cursor:pointer}.page-selector button.active{border-color:var(--accent);color:var(--accent)}.dim-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dim-group{display:flex;flex-direction:column;gap:4px}.dim-group label{font-size:12px;color:var(--text-dim);font-weight:500}.roof-options{display:flex;gap:12px}.roof-option{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all .15s;font-size:13px}.roof-option:hover{border-color:var(--text-dim)}.roof-option.active{border-color:var(--accent);background:var(--accent-dim)}.roof-preview{width:48px;height:32px;border:2px solid var(--text-dim);position:relative}.roof-flat{border-top:3px solid var(--text)}.roof-gable{border-top:none;clip-path:polygon(0 100%,0 40%,50% 0,100% 40%,100% 100%);background:var(--text-dim)}.roof-hip{border-top:none;clip-path:polygon(0 100%,0 40%,25% 0,75% 0,100% 40%,100% 100%);background:var(--text-dim)}.preset-grid{display:flex;flex-wrap:wrap;gap:8px}.preset-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all .15s;font-size:12px;min-width:72px;text-align:center}.preset-card:hover{border-color:var(--text-dim)}.preset-card.active{border-color:var(--accent);background:var(--accent-dim)}.preset-swatch{width:36px;height:36px;border-radius:6px;border:1px solid rgba(255,255,255,.1)}.result-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.render-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.render-gallery img{width:100%;border-radius:var(--radius);border:1px solid var(--border);cursor:pointer;transition:border-color .15s}.render-gallery img:hover{border-color:var(--accent)}.prompt-output{margin-top:12px}.prompt-output textarea{width:100%;resize:vertical;font-size:12px;line-height:1.6}.app{display:flex;flex-direction:column;height:100vh}.app-main{display:grid;grid-template-columns:1fr 1fr;flex:1;overflow:hidden}.panel-left{display:flex;flex-direction:column;border-right:1px solid var(--border);overflow:hidden}.step-content{flex:1;overflow-y:auto;padding:20px}.step-content h2{font-size:18px;font-weight:700;margin-bottom:4px}.step-content h3{font-size:14px;font-weight:600;margin-top:20px;margin-bottom:8px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.step-desc{color:var(--text-dim);margin-bottom:16px;font-size:13px}.step-footer{display:flex;justify-content:space-between;padding:12px 20px;border-top:1px solid var(--border);background:var(--bg-panel)}.panel-right{display:flex;flex-direction:column;overflow:hidden}.viewer-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--bg-panel);border-bottom:1px solid var(--border);font-size:13px;font-weight:600;color:var(--text-dim)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0f1117;--bg-panel: #181a20;--bg-card: #1e2028;--bg-hover: #262830;--border: #2a2d35;--text: #e4e6eb;--text-dim: #8b8e96;--accent: #4f8cff;--accent-hover: #6ba0ff;--accent-dim: rgba(79,140,255,.15);--danger: #ff5757;--success: #34d399;--warning: #fbbf24;--radius: 8px;--radius-lg: 12px;--font: "Inter", -apple-system, BlinkMacSystemFont, sans-serif}html,body,#root{height:100%;font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;overflow:hidden}input[type=number],input[type=text],select,textarea{padding:8px 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:var(--font);font-size:14px;outline:none;transition:border-color .15s}input:focus,textarea:focus,select:focus{border-color:var(--accent)}.btn-primary{padding:10px 20px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-family:var(--font);font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{padding:10px 20px;background:var(--bg-card);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font);font-size:14px;cursor:pointer;transition:all .15s}.btn-secondary:hover{border-color:var(--text-dim)}.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.btn-sm{padding:4px 12px;background:var(--bg-card);color:var(--text);border:1px solid var(--border);border-radius:6px;font-family:var(--font);font-size:12px;cursor:pointer}.btn-sm:hover{border-color:var(--accent);color:var(--accent)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}
