:root{--bg:#0e141b;--card:#161e28;--card-border:#243040;--text:#e8edf3;--muted:#8da0b5;--accent:#f5a623;--accent-dark:#d48806;--ok:#4caf7d;--error:#e5534b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);min-height:100vh;margin:0}button{font:inherit;cursor:pointer;border:1px solid var(--card-border);color:var(--text);background:#1f2a38;border-radius:8px;padding:.6rem 1.2rem;transition:background .15s,border-color .15s}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}input[type=number],input[type=text],select{font:inherit;border:1px solid var(--card-border);color:var(--text);background:#0f1620;border-radius:8px;padding:.5rem .7rem}kbd{border:1px solid var(--card-border);background:#0f1620;border-radius:4px;padding:0 .35em;font-size:.85em}.app{max-width:860px;margin:0 auto;padding:2rem 1.2rem 4rem}header h1{margin:0 0 .3rem;font-size:1.9rem}header h1 span{color:var(--accent)}header p{color:var(--muted);margin:0 0 1.5rem}.login-app{max-width:420px;margin-top:12vh}.login-card{flex-direction:column;gap:.9rem;display:flex}.login-card h1{margin:0;font-size:1.5rem}.login-card h1 span{color:var(--accent)}.login-card input[type=password]{padding:.6rem .8rem;font-size:1rem}.modeswitch{gap:.5rem;margin:1rem 0 1.5rem;display:flex}.modeswitch button{flex:1;padding:.7rem 1rem}.modeswitch button.active{background:var(--accent);border-color:var(--accent);color:#14202e;font-weight:600}.card{background:var(--card);border:1px solid var(--card-border);border-radius:12px;margin-bottom:1.2rem;padding:1.2rem 1.4rem}.card.disabled{opacity:.55;pointer-events:none}.card h2{align-items:center;gap:.6rem;margin:0 0 .8rem;font-size:1.15rem;display:flex}.step{background:var(--accent);color:#14202e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.7rem;height:1.7rem;font-size:.95rem;display:inline-flex}.banner{border-radius:10px;margin-bottom:1.2rem;padding:.8rem 1rem}.banner-error{border:1px solid var(--error);color:#f4b6b2;cursor:pointer;background:#e5534b1f}.dropzone{border:2px dashed var(--card-border);text-align:center;cursor:pointer;color:var(--muted);border-radius:10px;padding:2.2rem 1rem;transition:border-color .15s,background .15s}.dropzone.over,.dropzone:hover{border-color:var(--accent);background:#f5a6230d}.dropzone-icon{margin:0 0 .4rem;font-size:2rem}.dropzone p{margin:.2rem 0}.hint{color:var(--muted);font-size:.85rem}.help{color:var(--muted);font-size:.92rem;line-height:1.5}.preview-wrap{max-width:100%;display:inline-block;position:relative}.preview-wrap img{border-radius:8px;max-width:100%;max-height:420px;display:block}.preview-wrap svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.preview-wrap polygon{fill:#f5a62340;stroke:var(--accent);stroke-width:3px;vector-effect:non-scaling-stroke}.preview-wrap circle{fill:var(--accent);stroke:#14202e;stroke-width:2px}.upload-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;margin-top:.6rem;font-size:.9rem;display:flex}button.ghost{background:0 0}button.primary{background:var(--accent);border-color:var(--accent);color:#14202e;font-weight:600}button.primary:hover:not(:disabled){background:var(--accent-dark)}.ok{color:var(--ok);margin:.7rem 0 0}.pulse{color:var(--accent);margin:.4rem 0;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.params{flex-wrap:wrap;gap:1rem 1.5rem;margin-bottom:.8rem;display:flex}.params select{min-width:14rem}.check{color:var(--muted);cursor:pointer;align-items:center;gap:.5rem;margin:.2rem 0 1rem;font-size:.92rem;display:flex}.check input{accent-color:var(--accent)}.swatches{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.8rem;display:flex}.swatch-label{color:var(--muted);margin-right:.2rem;font-size:.92rem}.swatch{border:2px solid var(--card-border);border-radius:6px;width:2rem;height:2rem;padding:0}.swatch.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.mark-head{align-items:center;gap:.6rem;margin:.4rem 0 .2rem;display:flex}.opening-editor{margin-top:.6rem}.opening-editor svg.drawing{cursor:crosshair;pointer-events:all}.opening-editor rect.opening{fill:#e5534b4d;stroke:var(--error);stroke-width:2px;vector-effect:non-scaling-stroke}.opening-editor rect.opening.draft{fill:#e5534b33;stroke-dasharray:6 4}.opening-editor rect.opening-del{fill:#0000;cursor:pointer}.opening-editor polygon.wall-done{fill:#4caf7d2e;stroke:var(--ok);stroke-width:2px;vector-effect:non-scaling-stroke}.opening-editor polyline.wall-draft{fill:none;stroke:var(--accent);stroke-width:2px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.opening-editor circle.wall-pt{fill:var(--accent);stroke:#14202e;stroke-width:2px}.swatches input[type=color]{border:1px solid var(--card-border);background:#0f1620;border-radius:6px;width:2.4rem;height:2rem;padding:2px}.params label{color:var(--muted);flex-direction:column;gap:.4rem;font-size:.92rem;display:flex}.params input[type=number]{width:9rem}.params input[type=range]{width:14rem;accent-color:var(--accent)}.stats{color:var(--muted);margin:0 0 .8rem}.main-preview{border:1px solid var(--card-border);border-radius:10px;max-width:100%;display:block}.thumbs{flex-wrap:wrap;gap:.7rem;margin-top:.9rem;display:flex}.thumbs figure{cursor:pointer;border:2px solid #0000;border-radius:8px;width:140px;margin:0;padding:3px;transition:border-color .15s}.thumbs figure.active,.thumbs figure:hover{border-color:var(--accent)}.thumbs img{object-fit:cover;border-radius:5px;width:100%;height:86px;display:block}.thumbs figcaption{color:var(--muted);text-align:center;margin-top:.25rem;font-size:.75rem}.uploadcare{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1rem;font-size:.92rem;display:flex}.uploadcare input{flex:1;min-width:220px;font-size:.85rem}.uploadcare a{color:var(--accent)}
