*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #06040f;--deep: #0b0820;--purple-dark: #1a1035;--purple-mid: #2d1f5e;--purple-accent: #7c5cbf;--gold: #c9a84c;--gold-light: #e8c97a;--text: #e8e0f5;--text-dim: #9b8fc0;--glow: rgba(124, 92, 191, .4)}html,body,#root{height:100%}body{background:var(--bg);min-height:100vh;display:flex;align-items:center;justify-content:center;font-family:Cormorant Garamond,serif;overflow:hidden}.app{width:100vw;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.stars{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.star{position:absolute;border-radius:50%;background:#fff;animation:twinkle var(--dur) ease-in-out infinite var(--delay)}@keyframes twinkle{0%,to{opacity:var(--min-op);transform:scale(1)}50%{opacity:var(--max-op);transform:scale(1.3)}}.nebula{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 60% 50% at 30% 40%,rgba(45,31,94,.6) 0%,transparent 70%),radial-gradient(ellipse 50% 60% at 75% 65%,rgba(26,16,53,.7) 0%,transparent 70%),radial-gradient(ellipse 80% 40% at 50% 20%,rgba(15,10,35,.5) 0%,transparent 60%)}.vignette{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 80% 80% at 50% 50%,transparent 40%,rgba(6,4,15,.85) 100%)}.content{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;gap:40px;padding:40px 24px;max-width:680px;width:100%}.eyebrow{font-family:Cinzel,serif;font-size:10px;letter-spacing:.35em;color:var(--gold);text-transform:uppercase;opacity:.7;animation:fadeIn 1s ease both}.message-wrap{position:relative;text-align:center;width:100%}.message-glow{position:absolute;top:-60px;right:-60px;bottom:-60px;left:-60px;background:radial-gradient(ellipse at center,var(--glow) 0%,transparent 70%);pointer-events:none;animation:pulseGlow 4s ease-in-out infinite}@keyframes pulseGlow{0%,to{opacity:.5;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}.message{font-family:Cormorant Garamond,serif;font-size:clamp(24px,4.2vw,50px);font-weight:300;line-height:1.5;color:var(--text);letter-spacing:.01em;white-space:pre-line;position:relative;z-index:1;text-shadow:0 0 40px rgba(124,92,191,.5);transition:opacity .4s ease,transform .4s ease}.message.fading{opacity:0;transform:translateY(-10px)}.message.appearing{opacity:0;transform:translateY(10px)}.ornament{display:flex;align-items:center;gap:12px;opacity:.4}.ornament-line{width:60px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}.ornament-line.right{background:linear-gradient(90deg,var(--gold),transparent)}.ornament-dot{width:4px;height:4px;border-radius:50%;background:var(--gold)}.actions{display:flex;gap:12px;align-items:center}.btn{font-family:Cinzel,serif;font-size:9px;letter-spacing:.25em;text-transform:uppercase;padding:10px 22px;border:1px solid rgba(124,92,191,.4);background:#2d1f5e33;color:var(--text-dim);cursor:pointer;transition:all .2s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.btn:hover{border-color:var(--gold);color:var(--gold-light);background:#2d1f5e66;box-shadow:0 0 20px #c9a84c26}.btn:active{transform:scale(.97)}.btn.copied{border-color:var(--gold);color:var(--gold-light)}.tap-hint{font-family:Cormorant Garamond,serif;font-style:italic;font-size:13px;color:var(--text-dim);opacity:.5;animation:breathe 3s ease-in-out infinite;letter-spacing:.05em}@keyframes breathe{0%,to{opacity:.3}50%{opacity:.6}}.toast{position:fixed;bottom:32px;left:50%;transform:translate(-50%) translateY(20px);background:#2d1f5ef2;border:1px solid var(--gold);color:var(--gold-light);font-family:Cinzel,serif;font-size:10px;letter-spacing:.2em;padding:10px 24px;opacity:0;transition:all .3s ease;pointer-events:none;z-index:100;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 480px){.content{gap:32px;padding:32px 20px}.ornament-line{width:40px}}
