:root{color:#16213e;background:#f8fafc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}.app-shell{max-width:960px;margin:0 auto;padding:24px}header{margin-bottom:20px}.eyebrow{color:#2563eb;font-size:11px;font-weight:800;letter-spacing:.12em;margin:0 0 6px}h1{font-size:28px;letter-spacing:-.04em;margin:0}.subhead,.preview-panel p,.preview-note,.upgrade-card span{color:#64748b;font-size:14px;line-height:1.45}.upload-zone{min-height:260px;border:2px dashed #93c5fd;border-radius:18px;background:#eff6ff;display:grid;place-content:center;gap:8px;text-align:center;cursor:pointer}.upload-zone input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.upload-zone strong{font-size:18px}.upload-failure{color:#b91c1c;font-size:14px;font-weight:700}.editor-grid{display:grid;gap:20px;grid-template-columns:minmax(0,1fr) 270px}.preview-panel{background:repeating-conic-gradient(#eef2f7,#eef2f7 25%,#fff 0%,#fff 50%) 50% / 18px 18px;border-radius:16px;overflow:hidden;padding:16px;text-align:center}.preview-panel canvas{background:transparent;cursor:default;max-width:100%;border-radius:8px}.preview-panel canvas.picking{cursor:crosshair;outline:3px solid #2563eb}.controls{display:grid;align-content:start;gap:14px}.controls label{display:grid;gap:7px;font-size:13px;font-weight:700}.controls label:has(input[type=color]){grid-template-columns:1fr 48px;align-items:center}.controls input[type=color]{width:48px;height:38px;border:1px solid #cbd5e1;border-radius:8px;padding:3px;background:#fff}.controls input[type=range]{width:100%;accent-color:#2563eb}output{color:#2563eb;justify-self:end;margin-top:-25px}button{border:0;border-radius:9px;cursor:pointer;font-weight:750;padding:11px 13px}button:disabled{cursor:wait;opacity:.65}.primary{background:#2563eb;color:#fff}.secondary{background:#e2e8f0;color:#1e293b}.upgrade-card{display:grid;gap:7px;border-top:1px solid #dbe3ef;margin-top:5px;padding-top:15px}.link-button{background:none;color:#1d4ed8;padding:0;text-align:left}.error{color:#b91c1c;margin-top:16px}@media (max-width: 720px){.editor-grid{grid-template-columns:1fr}.app-shell{padding:16px}}
