@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;600;700;800;900&family=Playfair+Display:wght@700;800&display=swap');
:root{--pink:#ff4f91;--purple:#7658e8;--ink:#33244c;--muted:#8d7d9f;--glass:rgba(255,255,255,.7);--input:#fff;--result:#fff8fd;--line:rgba(255,255,255,.9)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:Vazirmatn,Tahoma,sans-serif;color:var(--ink);overflow-x:hidden;background:radial-gradient(circle at 12% 15%,#ffe1ed 0,transparent 29%),radial-gradient(circle at 88% 82%,#e6dcff 0,transparent 32%),linear-gradient(135deg,#fffaff,#f6f1ff);display:grid;place-items:center;transition:background .7s,color .4s}body:before{content:"";position:fixed;inset:0;opacity:.3;pointer-events:none;background-image:radial-gradient(#ff9fc4 1px,transparent 1px);background-size:27px 27px}.app-shell{width:min(92vw,650px);position:relative;padding:20px 0 18px}.topbar{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;margin:0 4px 25px;padding:12px 15px 12px 19px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.35);box-shadow:0 12px 30px #794b9120;backdrop-filter:blur(16px);animation:dropIn .7s ease both}.brand{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:800;color:var(--ink);text-decoration:none;letter-spacing:.02em}.brand>span:first-child{color:var(--pink);font-size:1.5rem;margin-inline-end:4px}.brand-heart{color:var(--pink);margin-inline:2px}.top-actions{display:flex;gap:8px;align-items:center}.icon-btn,.language-btn{border:1px solid #ffffff88;background:#ffffff55;color:var(--ink);cursor:pointer;font:inherit;font-weight:800;transition:.3s}.icon-btn{width:38px;height:38px;border-radius:50%;font-size:1.2rem}.language-btn{padding:8px 12px;border-radius:13px;font-size:.76rem}.icon-btn:hover,.language-btn:hover{transform:translateY(-2px);background:#fff9}.aurora{position:fixed;border-radius:50%;filter:blur(24px);opacity:.5;pointer-events:none;animation:float 9s ease-in-out infinite}.aurora-one{width:220px;height:220px;background:#ffafd0;top:4%;left:2%}.aurora-two{width:280px;height:280px;background:#c9baff;bottom:-4%;right:0;animation-delay:-3s}.hero-orbit{position:absolute;z-index:1;top:72px;right:8%;width:100px;height:100px;border:1px solid #ff8fbc77;border-radius:50%;animation:spin 13s linear infinite}.hero-orbit span{position:absolute;inset:31px;text-align:center;font-size:1.8rem;color:var(--pink);animation:pulse 2s ease-in-out infinite}.hero-orbit i,.hero-orbit em{position:absolute;font-style:normal;color:var(--pink);font-size:1.2rem;background:#fff8;padding:3px}.hero-orbit i{top:-10px;left:39px}.hero-orbit em{bottom:4px;right:-6px}.card{position:relative;z-index:2;text-align:center;padding:clamp(32px,7vw,68px) clamp(22px,7vw,70px);border:1px solid var(--line);border-radius:38px;background:var(--glass);box-shadow:0 30px 80px #794b912e,inset 0 1px 0 #fff;backdrop-filter:blur(18px);animation:cardIn .8s cubic-bezier(.2,.8,.2,1)}.envelope-icon{font-size:4.8rem;filter:drop-shadow(0 12px 12px #fa8ab644);animation:bob 3.2s ease-in-out infinite}.eyebrow{font-size:.85rem;font-weight:700;color:var(--pink);margin:16px 0 12px}h1,h2{margin:0;font-weight:900;line-height:1.5;color:var(--ink)}h1{font-size:clamp(2rem,7vw,3.2rem)}h2{font-size:clamp(1.8rem,6vw,2.6rem)}.subtitle{color:var(--muted);line-height:2;margin:13px auto 34px;max-width:420px}.buttons{display:flex;justify-content:center;align-items:center;gap:14px;min-height:74px}.invite-start-btn{display:block;margin:12px auto 0;border:1px solid #ff9fc4aa;border-radius:14px;padding:11px 18px;background:#fff5fa99;color:var(--pink);cursor:pointer;font:inherit;font-size:.86rem;font-weight:800;transition:.3s}.invite-start-btn:hover{transform:translateY(-3px);background:#fff0f7}.btn,.download-btn{border:0;cursor:pointer;font-family:inherit;font-weight:800;transition:transform .55s cubic-bezier(.2,.9,.2,1),box-shadow .35s,background .3s}.btn{padding:16px 23px;border-radius:18px;font-size:1rem}.yes-btn{color:#fff;background:linear-gradient(135deg,#ff5796,#f12d75);box-shadow:0 12px 24px #f33d7c40}.yes-btn:hover{transform:translateY(-4px);box-shadow:0 17px 30px #f33d7c55}.no-btn{color:#786a82;background:#f2edf6}.no-btn:hover{background:#eae1f0}.tiny-note,.footer-note{font-size:.72rem;color:#b5a8ba}.tiny-note{margin:28px 0 0}.footer-note{text-align:center;margin:17px 0 0}.hidden{display:none!important}.date-card{padding-top:45px}.celebrate{font-size:2rem;letter-spacing:8px;animation:pop 1.2s ease-in-out infinite alternate}.date-form{display:grid;gap:15px;text-align:start;margin-top:22px}.date-form label{font-size:.84rem;color:var(--muted);font-weight:700}.date-form label small{font-size:.72rem;color:#b5a8ba;font-weight:500}.date-form input{display:block;width:100%;margin-top:8px;border:1px solid #eadcef;border-radius:15px;padding:14px 16px;background:var(--input);color:var(--ink);font:inherit;outline:0;transition:.25s}.date-form input:focus{border-color:#d887bb;box-shadow:0 0 0 4px #ffb5d72b}.confirm-btn{color:#fff;background:linear-gradient(135deg,#785be8,#ad6fda);margin-top:8px;box-shadow:0 12px 22px #7c5ee83d}.confirm-btn:hover{transform:translateY(-3px)}.result{margin-top:25px;padding:20px;border-radius:22px;background:var(--result);border:1px dashed #efacd1}.result-icon{font-size:2.2rem}.result p{margin:4px 0;color:var(--muted)}.result strong{display:block;font-size:1.15rem;color:var(--pink);margin:8px}.location-line{font-size:.95rem!important;color:#7658e8!important;font-weight:700;margin-top:10px!important}.download-btn{margin-top:13px;padding:12px 17px;border-radius:13px;background:#ffe3f0;color:#c92d6d}.card-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.card-actions .download-btn{margin-top:13px}.thanks{font-size:1.2rem!important;color:#7658e8!important;font-weight:800;margin-top:20px!important}.sparkles i{position:fixed;color:#ff81ad;font-style:normal;animation:twinkle 2.5s ease-in-out infinite}.sparkles i:nth-child(1){top:18%;right:13%;font-size:22px}.sparkles i:nth-child(2){bottom:17%;left:13%;font-size:30px;animation-delay:.8s}.sparkles i:nth-child(3){top:37%;left:8%;animation-delay:1.5s}.sparkles i:nth-child(4){top:70%;right:10%;font-size:40px;animation-delay:.3s}.sparkles i:nth-child(5){top:9%;right:43%;animation-delay:1.1s}
body.dark{--ink:#f9eafa;--muted:#c6b5d4;--glass:rgba(35,24,55,.72);--input:#211832;--result:#291b39;--line:#ffffff1d;background:radial-gradient(circle at 12% 15%,#562b52 0,transparent 32%),radial-gradient(circle at 88% 82%,#30265e 0,transparent 35%),linear-gradient(135deg,#110d20,#1d1230)}body.dark:before{opacity:.12;background-image:radial-gradient(#ff81ad 1px,transparent 1px)}body.dark .topbar{background:#ffffff0b}body.dark .icon-btn,body.dark .language-btn{background:#ffffff0d;color:var(--ink)}body.dark .no-btn{background:#342842;color:#d8c7df}body.dark .date-form input{border-color:#4b385b}body.dark .download-btn{background:#4a2340;color:#ffafd0}
[dir="ltr"] .date-form{text-align:start}.rtl-only{display:inline}@keyframes dropIn{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:none}}@keyframes cardIn{from{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:none}}@keyframes bob{50%{transform:translateY(-9px) rotate(3deg)}}@keyframes float{50%{transform:translate(25px,-20px)}}@keyframes twinkle{50%{opacity:.2;transform:scale(.7) rotate(30deg)}}@keyframes pop{to{transform:scale(1.08)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{transform:scale(1.2)}}
@media(max-width:480px){.topbar{margin-bottom:18px}.hero-orbit{right:2%;transform:scale(.75)}.card{border-radius:28px}.buttons{gap:9px}.btn{padding:14px 15px;font-size:.9rem}.no-btn{padding-inline:17px}.custom-copy-grid{grid-template-columns:1fr}.custom-copy-head{margin-top:4px}}
.setup-card{padding-top:42px}.setup-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border:1px solid #ff9fc466;border-radius:99px;color:var(--pink);background:#fff5fa88;font-size:.68rem;font-weight:900;letter-spacing:.1em;box-shadow:0 8px 25px #ff76ad1f}.setup-badge:first-letter{font-size:1.2rem}.invite-form{display:grid;gap:15px;text-align:start;margin-top:24px}.invite-form label{font-size:.84rem;color:var(--muted);font-weight:700}.invite-form small{font-size:.72rem;color:#b5a8ba;font-weight:500}.invite-form input,.invite-form textarea{display:block;width:100%;margin-top:8px;border:1px solid #eadcef;border-radius:15px;padding:14px 16px;background:var(--input);color:var(--ink);font:inherit;outline:0;resize:vertical;transition:.25s}.invite-form input:focus,.invite-form textarea:focus{border-color:#d887bb;box-shadow:0 0 0 4px #ffb5d72b}.custom-copy-head{display:flex;flex-direction:column;gap:4px;text-align:start;margin-top:8px;padding:15px 16px 0;border-top:1px solid #ffffff66;color:var(--pink);font-size:.9rem;font-weight:900}.custom-copy-head small{color:var(--muted);font-size:.72rem;font-weight:500}.custom-copy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:2px}.custom-copy-grid label{font-size:.78rem!important}.custom-copy-grid input{padding:11px 13px!important;font-size:.82rem}.share-box{margin-top:24px;padding:20px;border-radius:25px;background:linear-gradient(145deg,var(--result),#fff0f8aa);border:1px dashed #efacd1;animation:cardIn .6s ease;box-shadow:0 15px 35px #d86b9e20}.share-title{margin:0 0 12px;color:var(--pink);font-weight:900}.share-box textarea{width:100%;height:72px;padding:10px;border:1px solid #eadcef;border-radius:12px;background:var(--input);color:var(--ink);font: .72rem Arial;direction:ltr;resize:none}.share-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.share-actions .download-btn{cursor:pointer;font-family:inherit;font-weight:800}.share-hint{margin:12px 0 0;color:var(--muted);font-size:.72rem}.copied{background:#d9f8e8!important;color:#178652!important}.date-card.completed{padding-top:52px;padding-bottom:52px;background:linear-gradient(145deg,var(--glass),rgba(255,240,249,.82))}.date-card.completed .date-intro{display:none}.date-card.completed .result{margin-top:0;padding:34px 24px 28px;border:1px solid #ffb1d2;background:linear-gradient(145deg,#fffafd,#fff0f8 55%,#f1edff);box-shadow:0 18px 45px #d86b9e26}.date-card.completed .result-icon{font-size:3.8rem;filter:drop-shadow(0 8px 10px #f478aa55);animation:bob 3s ease-in-out infinite}.date-card.completed .result strong{font-size:clamp(1.05rem,4vw,1.35rem);line-height:2;color:var(--pink)}.date-card.completed .thanks{font-size:1.35rem!important}.footer-note a{color:inherit;text-decoration:none;transition:color .25s}.footer-note a:hover{color:var(--pink)}body.dark .date-card.completed{background:linear-gradient(145deg,rgba(35,24,55,.82),rgba(63,32,71,.88))}body.dark .date-card.completed .result{background:linear-gradient(145deg,#2b1c3a,#40213e 55%,#27204c);border-color:#ff78ae66}.personal-greeting{display:inline-block;margin:-10px auto 18px;padding:9px 15px;border-radius:99px;background:#fff0f7;color:var(--pink);font-size:.78rem;font-weight:800;animation:pop .8s ease both}body.dark .setup-badge{background:#ffffff0c}body.dark .personal-greeting{background:#4a2340}body.dark .share-box textarea{border-color:#4b385b}
