:root{--color-ink:#1c1a17;--color-paper:#fff;--color-paper-soft:#f8f5f0;--color-accent:#b8860f;--color-accent-ink:#1c1a17;--color-text-muted:#6b6258;--radius:4px;--font-display:"Fraunces", ui-serif, Georgia, serif;--font-body:"Inter", ui-sans-serif, system-ui, sans-serif;--border:#e4ddd2}*{box-sizing:border-box}html{overflow-x:clip}body{font-family:var(--font-body);color:var(--color-ink);background:var(--color-paper-soft);margin:0}a{color:inherit}.studio-header{background:var(--color-ink);color:#fff;justify-content:space-between;align-items:center;width:100vw;padding:16px 24px;display:flex}.studio-header a.back-link{color:#ffffffb3;font-size:.9rem;font-weight:600;text-decoration:none}.studio-header .brand{font-family:var(--font-display);font-size:1.1rem;font-weight:700}.studio-header .brand span{color:var(--color-accent)}@media (width<=600px){.studio-header .phone-link{display:none}.studio-header .brand{white-space:nowrap;margin-left:12px}}.studio-layout{grid-template-columns:minmax(0,1fr);gap:24px;width:100%;max-width:1180px;margin:0 auto;padding:24px;display:grid}@media (width>=960px){.studio-layout{grid-template-columns:300px 1fr 300px}}.panel{border:1px solid var(--border);border-radius:var(--radius);background:#fff;min-width:0;padding:18px}.panel h3{font-family:var(--font-display);margin:0 0 14px;font-size:1rem}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.product-card{border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;background:var(--color-paper-soft);text-align:center;overflow-wrap:anywhere;min-width:0;padding:10px;font-size:.85rem;font-weight:600}.product-card.active{border-color:var(--color-accent);background:#fdf6e6}.product-card img{aspect-ratio:1;object-fit:contain;width:100%;margin-bottom:6px}.swatch-row,.view-row{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.swatch{border:2px solid var(--border);cursor:pointer;border-radius:50%;width:28px;height:28px}.swatch.active{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent)}.view-pill{border:1.5px solid var(--border);cursor:pointer;background:#fff;border-radius:999px;padding:6px 14px;font-size:.82rem;font-weight:600}.view-pill.active{background:var(--color-ink);color:#fff;border-color:var(--color-ink)}.stage-wrap{flex-direction:column;align-items:center;gap:14px;min-width:0;display:flex}.stage-frame{aspect-ratio:1;border:1px solid var(--border);border-radius:var(--radius);background:repeating-conic-gradient(#f0ece4 0% 25%,#fff 0% 50%) 50%/20px 20px;width:min(100%,440px);overflow:auto}.toolbar{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.tb-btn{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--color-ink);background:#fff;padding:8px 12px;font-size:.82rem;font-weight:600}.tb-btn:hover{border-color:var(--color-accent)}.tb-btn:disabled{opacity:.4;cursor:not-allowed}.tb-btn.danger{color:#b3261e;border-color:#f0c9c5}.uploader{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;color:var(--color-text-muted);margin-bottom:14px;padding:22px 14px;font-size:.85rem}.uploader.dragover{border-color:var(--color-accent);color:var(--color-ink);background:#fdf6e6}.text-field{border:1px solid var(--border);border-radius:var(--radius);width:100%;font-family:var(--font-body);margin-bottom:10px;padding:10px 12px;font-size:.9rem}.btn-primary{background:var(--color-accent);width:100%;color:var(--color-accent-ink);border-radius:var(--radius);cursor:pointer;border:none;padding:12px;font-size:.95rem;font-weight:700}.btn-secondary{background:var(--color-ink);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;width:100%;margin-top:8px;padding:12px;font-size:.95rem;font-weight:700}.warning{color:#7a5a00;border-radius:var(--radius);background:#fff4e0;border:1px solid #f0d49a;margin-bottom:10px;padding:10px 12px;font-size:.82rem}.warning.error{color:#8a2c22;background:#fdecea;border-color:#f0c9c5}.layer-list{flex-direction:column;gap:6px;margin-top:8px;display:flex}.layer-row{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;justify-content:space-between;align-items:center;padding:8px 10px;font-size:.82rem;display:flex}.layer-row.active{border-color:var(--color-accent);background:#fdf6e6}.success-banner{color:#1f5c2b;border-radius:var(--radius);text-align:center;background:#eaf6ec;border:1px solid #b7e0bd;padding:16px;font-weight:600}
