:root{--bg: #08080d;--card: #16161f;--card-border: rgba(255, 255, 255, .06);--text: #f4f4f6;--muted: #9b9bab;--a1: #6366f1;--a2: #22d3ee;--grad: linear-gradient(135deg, var(--a1), var(--a2));--glow1-r: 99;--glow1-g: 102;--glow1-b: 241;--glow2-r: 34;--glow2-g: 211;--glow2-b: 238;--radius: 24px;--max: 540px}*{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:radial-gradient(120% 80% at 50% -10%,rgba(var(--glow1-r),var(--glow1-g),var(--glow1-b),.25),transparent 60%),radial-gradient(120% 90% at 90% 110%,rgba(var(--glow2-r),var(--glow2-g),var(--glow2-b),.18),transparent 55%),var(--bg);-webkit-font-smoothing:antialiased;min-height:100%}.app{display:flex;flex-direction:column;min-height:100vh;max-width:var(--max);margin:0 auto;padding:max(20px,env(safe-area-inset-top)) 22px max(20px,env(safe-area-inset-bottom))}.topbar{display:flex;align-items:center;justify-content:space-between;height:52px}.brand{display:flex;align-items:center;gap:10px}.logo{width:26px;height:26px;border-radius:8px;background:var(--grad);box-shadow:0 6px 18px rgba(var(--glow1-r),var(--glow1-g),var(--glow1-b),.45)}.brand-name{font-weight:600;letter-spacing:.3px;font-size:16px}.install-btn{font:inherit;font-size:13px;font-weight:600;color:var(--text);background:#ffffff0f;border:1px solid var(--card-border);padding:9px 14px;border-radius:999px;cursor:pointer;transition:transform .15s ease,background .2s ease}.install-btn:active{transform:scale(.96)}.install-btn[hidden]{display:none}.stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px;padding:24px 0}.kicker{margin:0;color:var(--muted);font-size:14px;text-align:center}.card{position:relative;width:100%;min-height:200px;display:flex;align-items:center;justify-content:center;padding:46px 28px;background:linear-gradient(180deg,#ffffff0a,#fff0),var(--card);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:0 24px 60px #00000073,inset 0 1px #ffffff0d;text-align:center}.quote-mark{position:absolute;top:12px;left:20px;font-family:Georgia,Times New Roman,serif;font-size:70px;line-height:1;color:transparent;background:var(--grad);-webkit-background-clip:text;background-clip:text;opacity:.5;pointer-events:none}.starter{margin:0;font-size:clamp(22px,6vw,30px);line-height:1.4;font-weight:600;letter-spacing:.2px}.animate-in{animation:popIn .42s cubic-bezier(.22,1,.36,1)}@keyframes popIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.generate-btn{width:100%;max-width:420px;height:64px;border:0;border-radius:18px;font:inherit;font-size:18px;font-weight:700;letter-spacing:.4px;color:#0a0a0f;background:var(--grad);background-size:160% 160%;background-position:0 0;cursor:pointer;box-shadow:0 16px 40px rgba(var(--glow1-r),var(--glow1-g),var(--glow1-b),.45),0 6px 16px rgba(var(--glow2-r),var(--glow2-g),var(--glow2-b),.25);transition:transform .12s ease,box-shadow .2s ease,background-position .6s ease;-webkit-tap-highlight-color:transparent}.generate-btn:hover{background-position:100% 0}.generate-btn:active{transform:translateY(2px) scale(.99);box-shadow:0 8px 20px rgba(var(--glow1-r),var(--glow1-g),var(--glow1-b),.4)}.generate-btn-label{display:inline-flex;align-items:center;gap:10px}.foot{margin-top:auto;padding-top:18px;color:var(--muted);font-size:12px;text-align:center;opacity:.8;display:flex;align-items:center;justify-content:center;gap:12px}.colour-picker-wrap{display:inline-flex;align-items:center;cursor:pointer;position:relative}.colour-swatch{display:block;width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.2);transition:transform .15s ease,border-color .15s ease}.colour-picker-wrap:hover .colour-swatch{transform:scale(1.15);border-color:#ffffff80}.colour-input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}@media(max-height:680px){.stage{gap:22px}.card{min-height:160px;padding:34px 24px}}@media(prefers-reduced-motion:reduce){.animate-in{animation:none}.generate-btn{transition:none}}
