:root{--bg:#0b1020;--bg-grad-1:#1a1f3a;--bg-grad-2:#0b1020;--card:#ffffff0f;--card-border:#ffffff1f;--text:#eef1f8;--text-muted:#9aa3bd;--accent:#6d8bff;--accent-2:#a06dff;--ok:#35d07f}*{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{color:var(--text);background:radial-gradient(1200px 800px at 15% -10%, var(--bg-grad-1), transparent 60%), radial-gradient(1000px 700px at 110% 10%, #241a3a, transparent 55%), var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex}.wrap{width:100%;max-width:440px}.card{background:var(--card);border:1px solid var(--card-border);-webkit-backdrop-filter:blur(16px);border-radius:24px;padding:32px;box-shadow:0 24px 60px #00000073}.title{letter-spacing:-.02em;background:linear-gradient(90deg, var(--accent), var(--accent-2));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 4px;font-size:24px;font-weight:700}.subtitle{color:var(--text-muted);margin:0 0 24px;font-size:14px}.field{gap:10px;margin-bottom:24px;display:flex}.input{border:1px solid var(--card-border);min-width:0;color:var(--text);background:#00000040;border-radius:14px;outline:none;flex:1;padding:14px 16px;font-size:15px;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--text-muted)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6d8bff40}.qr-stage{aspect-ratio:1;background:#fff;border-radius:20px;justify-content:center;align-items:center;margin-bottom:20px;padding:20px;transition:opacity .2s;display:flex}.qr-stage.transparent{background-color:#fff;background-image:linear-gradient(45deg,#d9deec 25%,#0000 25%),linear-gradient(-45deg,#d9deec 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#d9deec 75%),linear-gradient(-45deg,#0000 75%,#d9deec 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}.qr-stage.empty{border:1px dashed var(--card-border);color:var(--text-muted);text-align:center;background:#ffffff0a;font-size:14px}.qr-stage svg,.qr-stage img{width:100%;height:100%;display:block}.settings{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.presets{gap:10px;display:flex}.swatch{aspect-ratio:1;border:1px solid var(--card-border);cursor:pointer;border-radius:10px;flex:1;justify-content:center;align-items:center;padding:7px;transition:transform 80ms,box-shadow .15s,border-color .15s;display:flex}.swatch:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 6px 16px #0006}.swatch:active{transform:translateY(0)}.swatch svg{shape-rendering:crispedges;width:100%;height:100%;display:block}.controls{grid-template-columns:1fr 1fr;gap:10px;display:grid}.control{color:var(--text);border:1px solid var(--card-border);background:#0003;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;height:46px;padding:10px 14px;font-size:14px;display:flex}.control.disabled{opacity:.4}.control input[type=color]{appearance:none;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:none;width:28px;height:28px;padding:0;overflow:hidden}.control input[type=color]::-webkit-color-swatch-wrapper{padding:0}.control input[type=color]::-webkit-color-swatch{border:1px solid #ffffff40;border-radius:8px}.control input[type=color]::-moz-color-swatch{border:1px solid #ffffff40;border-radius:8px}.control.toggle{cursor:pointer;color:var(--text-muted);grid-column:1/-1;justify-content:flex-start}.control.toggle input{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;flex:none}.actions{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.btn{appearance:none;border:1px solid var(--card-border);color:var(--text);cursor:pointer;background:#ffffff0d;border-radius:14px;padding:12px 8px;font-size:14px;font-weight:600;transition:transform 80ms,background .15s,border-color .15s,opacity .15s}.btn:hover:not(:disabled){border-color:var(--accent);background:#ffffff1a}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.copied{border-color:var(--ok);color:var(--ok)}.footer{text-align:center;color:var(--text-muted);margin-top:20px;font-size:12px}
