:root{--bg:#f6f5f2;--panel:#fff;--ink:#1b1b1b;--muted:#6b6b6b;--line:#e3e1dc;--accent:#c1502e;color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);margin:0}.app{flex-direction:column;min-height:100vh;display:flex}.app-header{border-bottom:1px solid var(--line);background:var(--panel);justify-content:space-between;align-items:center;padding:.9rem 1.4rem;display:flex}.brand{letter-spacing:.02em;font-size:1.2rem;font-weight:700}.layout{flex:1;grid-template-columns:1fr 340px;align-items:start;gap:1.2rem;padding:1.2rem;display:grid}@media (width<=900px){.layout{grid-template-columns:1fr}}.canvas{flex-direction:column;gap:1rem;display:flex}.preview{border:1px solid var(--line);border-radius:10px;align-items:center;min-height:220px;padding:1rem;display:flex}.canvas-actions{align-items:stretch;gap:1rem;display:flex}.canvas-actions .uploader{flex:1;min-height:64px;padding:1rem}.uploader{border:2px dashed var(--line);text-align:center;cursor:pointer;background:var(--panel);border-radius:10px;flex-direction:column;gap:.3rem;padding:2rem;transition:border-color .15s,background .15s;display:flex}.uploader span{color:var(--muted);font-size:.85rem}.uploader--drag{border-color:var(--accent);background:#fff7f4}.sidebar{flex-direction:column;gap:1rem;display:flex}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:1rem 1.1rem}.panel h3{margin:0 0 .8rem;font-size:1rem}.panel-head{justify-content:space-between;align-items:center;margin-bottom:.8rem;display:flex}.panel-head h3{margin:0}button.secondary{color:var(--ink);border:1px solid var(--line);background:0 0}button.secondary:hover{border-color:var(--ink)}button.small{padding:.3rem .6rem;font-size:.8rem}.panel hr{border:none;border-top:1px solid var(--line);margin:.9rem 0}.row{justify-content:space-between;align-items:center;gap:.6rem;margin:.5rem 0;font-size:.9rem;display:flex}.row.col{flex-direction:column;align-items:flex-start}.row em{color:var(--muted);text-align:right;min-width:2.5rem;font-style:normal}.row select,.row input[type=range]{flex:1}input,select,button{font:inherit}input[type=text],input[type=email],.row input:not([type]),.panel input:not([type]){border:1px solid var(--line);border-radius:6px;width:100%;padding:.45rem .55rem}button{cursor:pointer;border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:6px;padding:.5rem .8rem}button:disabled{opacity:.4;cursor:not-allowed}button.full{width:100%;margin-top:.5rem}button.link{color:var(--ink);text-align:left;background:0 0;border:none;padding:.3rem 0;text-decoration:underline}button.icon{color:var(--muted);background:0 0;border:none;padding:.2rem .4rem}.swatches{flex-wrap:wrap;gap:.5rem;margin-top:.4rem;display:flex}.swatch{flex-direction:column;align-items:center;gap:.2rem;max-width:70px;font-size:.7rem;display:flex}.swatch small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:64px;overflow:hidden}.projects{margin:.8rem 0 0;padding:0;list-style:none}.projects li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:.25rem 0;display:flex}.projects li.active button.link{color:var(--accent);font-weight:700}.login form{flex-direction:column;gap:.6rem;display:flex}.hint{color:var(--muted);font-size:.82rem}.error{color:#b00020;font-size:.88rem}.warnings{background:#fff7e6;border:1px solid #f0d9a8;border-radius:8px;margin:0;padding:.6rem .8rem;font-size:.85rem;list-style:none}.account{position:relative}.account-btn{border:1px solid var(--line);color:var(--ink);background:0 0}.account-menu{background:var(--panel);border:1px solid var(--line);z-index:10;border-radius:8px;flex-direction:column;min-width:180px;display:flex;position:absolute;top:110%;right:0;overflow:hidden}.account-menu a,.account-menu button{color:var(--ink);text-align:left;background:0 0;border:none;padding:.6rem .9rem;text-decoration:none}.account-menu a:hover,.account-menu button:hover{background:var(--bg)}.account-menu .danger{color:#b00020}
