@import"https://fonts.googleapis.com/css2?family=Quicksand:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,700;1,400&display=swap";:root{font-family:Quicksand,system-ui,-apple-system,sans-serif;line-height:1.6;font-weight:500;color:#4a4e69;background:linear-gradient(135deg,#ffe5ec,#ffc2d1 40%,#ffd166);background-attachment:fixed;--primary-color: #ff4d6d;--primary-hover: #ff758f;--primary-light: #fff0f3;--secondary-color: #ff85a1;--accent-color: #ffb3c1;--gold-color: #ffd166;--card-bg: rgba(255, 255, 255, .55);--card-border: rgba(255, 255, 255, .5);--card-shadow: 0 8px 32px 0 rgba(255, 77, 109, .12);--text-dark: #383a59;--text-muted: #6c757d;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;display:flex;justify-content:center;align-items:center;min-width:320px;min-height:100vh;overflow-x:hidden;background:linear-gradient(135deg,#ffe5ec,#ffc2d1 40%,#ffd166)}#root{width:100%;max-width:100%;display:flex;justify-content:center;align-items:center;min-height:100vh;padding:15px}h1,h2,h3{color:var(--text-dark);font-weight:700}.glass-panel{background:var(--card-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--card-border);border-radius:24px;box-shadow:var(--card-shadow);padding:40px 30px;width:100%;max-width:550px;text-align:center;transition:all .4s cubic-bezier(.16,1,.3,1);animation:fadeIn .8s ease-out;position:relative;z-index:10}.glass-panel:hover{transform:translateY(-2px);box-shadow:0 12px 40px #ff4d6d2e;border-color:#ffffffb3}@media (max-width: 480px){.glass-panel{padding:25px 20px;border-radius:20px}h2{font-size:1.65rem!important}p{font-size:.95rem!important;margin-bottom:25px!important}}.btn{font-family:Quicksand,sans-serif;font-weight:700;font-size:1.05rem;padding:14px 28px;border-radius:50px;border:none;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 15px #ff4d6d33;outline:none}@media (max-width: 480px){.btn{padding:12px 24px;font-size:.95rem}}.btn-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-hover) 0%,var(--primary-color) 100%);transform:scale(1.05);box-shadow:0 6px 20px #ff4d6d59}.btn-primary:active{transform:scale(.98)}.btn-secondary{background:#fffc;color:var(--text-dark);border:1px solid rgba(255,77,109,.25);box-shadow:0 4px 10px #0000000d}.btn-secondary:hover{background:#fff;border-color:var(--primary-color);color:var(--primary-color);transform:scale(1.05);box-shadow:0 6px 15px #ff4d6d26}.btn-danger{background:linear-gradient(135deg,#ff85a1,#ff4d6d);color:#fff}.vouchers-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;width:100%}@media (max-width: 500px){.vouchers-grid{grid-template-columns:1fr;gap:12px}}.falling-lyric{font-family:Playfair Display,Georgia,serif;font-size:.82rem;line-height:1.45;font-weight:600;font-style:italic;color:var(--primary-color);background:#ffffffd1;border:1px solid rgba(255,77,109,.25);padding:8px 12px;border-radius:12px;box-shadow:0 4px 10px #ff4d6d1a;white-space:normal;text-align:center;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);max-width:180px}@media (max-width: 480px){.falling-lyric{font-size:.72rem;padding:6px 10px;max-width:130px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}@keyframes heartbeat{0%{transform:scale(1)}14%{transform:scale(1.12)}28%{transform:scale(1)}42%{transform:scale(1.12)}70%{transform:scale(1)}}.heartbeat-animation{animation:heartbeat 2s infinite ease-in-out}.falling-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:hidden}.falling-item{position:absolute;top:-100px;pointer-events:none;animation:fall linear forwards}@keyframes fall{0%{transform:translateY(0) rotate(0) translate(0);opacity:0}10%{opacity:.9}90%{opacity:.9}to{transform:translateY(105vh) rotate(360deg) translate(50px);opacity:0}}.custom-scrollbar::-webkit-scrollbar{width:6px}.custom-scrollbar::-webkit-scrollbar-track{background:#00000005;border-radius:10px}.custom-scrollbar::-webkit-scrollbar-thumb{background:#ff4d6d33;border-radius:10px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#ff4d6d66}.desktop-only-overlay{display:none}@media (max-width: 1279px){.desktop-only-overlay{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;background:radial-gradient(ellipse at 50% 30%,#20203a,#11111e 60%,#08080f);z-index:9999999;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center;overflow:hidden;color:#f0eef5}.main-content-wrapper{display:none!important}.dno-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:44px 44px;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse at center,black 30%,transparent 80%);mask-image:radial-gradient(ellipse at center,black 30%,transparent 80%)}.dno-card{position:relative;z-index:2;padding:36px 28px;max-width:380px;width:100%;background:#161624b8;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 1px #ff85a10d inset,0 30px 70px #00000080;border-radius:18px;animation:dnoSoftFade .8s ease-out}.dno-badge{display:inline-flex;align-items:center;gap:8px;font-size:.66rem;font-weight:700;letter-spacing:2px;color:#ffb8c6;padding:5px 12px;border:1px solid rgba(255,133,161,.3);border-radius:999px;background:#ff85a10f;margin-bottom:22px;text-transform:uppercase}.dno-dot{width:6px;height:6px;border-radius:50%;background:#ff85a1;box-shadow:0 0 8px #ff85a1bf;animation:dnoSoftPulse 1.8s infinite ease-in-out}.dno-icon{font-size:3.4rem;margin-bottom:14px;filter:drop-shadow(0 0 14px rgba(255,133,161,.35));animation:dnoFloat 4s infinite ease-in-out}.dno-title{font-size:1.5rem;font-weight:700;color:#fff;letter-spacing:.3px;margin-bottom:22px;font-family:Playfair Display,Georgia,serif;font-style:italic}.dno-sub{font-size:.92rem;color:#b9b6c4;margin-bottom:22px;line-height:1.6;font-weight:500}.dno-hint{font-size:.88rem;font-weight:600;color:#ffd6df;background:#ff85a114;border:1px solid rgba(255,133,161,.22);padding:11px 16px;border-radius:12px;letter-spacing:.3px}.dno-hint-prefix{color:#ff85a1;font-weight:800;margin-right:6px}@keyframes dnoSoftFade{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes dnoSoftPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}@keyframes dnoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}}.falling-lyric-item{position:absolute;top:-120px;pointer-events:none;animation:fall-straight linear forwards}@keyframes fall-straight{0%{transform:translateY(0) translate(0);opacity:0}10%{opacity:.95}90%{opacity:.95}to{transform:translateY(105vh) translate(30px);opacity:0}}.peeking-crush{position:fixed;bottom:0;right:50px;z-index:90;max-height:250px;width:auto;pointer-events:none;animation:peekBounce 4s infinite ease-in-out;transform-origin:bottom center}.speech-bubble{position:fixed;bottom:215px;right:65px;z-index:95;background:#fff;border:1.5px solid rgba(255,77,109,.35);padding:10px 18px;border-radius:20px 20px 0;font-size:.88rem;font-weight:700;color:var(--text-dark);box-shadow:0 8px 25px #ff4d6d1f;animation:bubbleFloat 4s infinite ease-in-out;pointer-events:none;white-space:nowrap}.speech-bubble:after{content:"";position:absolute;bottom:-9px;right:20px;border-width:9px 9px 0 0;border-style:solid;border-color:white transparent;display:block;width:0}.speech-bubble:before{content:"";position:absolute;bottom:-11px;right:19px;border-width:10px 10px 0 0;border-style:solid;border-color:rgba(255,77,109,.35) transparent;display:block;width:0;z-index:-1}@keyframes peekBounce{0%,to{transform:translateY(8px) rotate(0)}50%{transform:translateY(0) rotate(1.5deg)}}@keyframes bubbleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}
