:root{--ink:#f8f4ff;--muted:#b7aecb;--pink:#ff8da9;--rose:#ffb6c7;--violet:#a184ff;--deep:#171126;--panel:rgba(38,26,63,.62);--line:rgba(255,255,255,.14);--shadow:0 24px 70px rgba(8,4,23,.38);font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--deep)}
*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:radial-gradient(circle at 50% -20%,#4b286a 0,#211735 38%,#171126 75%);color:var(--ink)}button,input,textarea{font:inherit}button{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ambient{position:fixed;border-radius:50%;filter:blur(5px);pointer-events:none;opacity:.42}.ambient-one{width:34rem;height:34rem;right:-17rem;top:-10rem;background:#d45eb0}.ambient-two{width:28rem;height:28rem;left:-15rem;bottom:-10rem;background:#5348d8}.sparkles:before,.sparkles:after{content:'✦  ·   ✧    ·  ✦';position:fixed;letter-spacing:2rem;line-height:4rem;color:rgba(255,255,255,.32);font-size:.75rem;pointer-events:none}.sparkles:before{top:12%;left:9%;transform:rotate(-12deg)}.sparkles:after{right:8%;bottom:16%;transform:rotate(15deg)}.app-shell{position:relative;z-index:1;min-height:100vh}.screen{min-height:100vh;padding:28px clamp(20px,5vw,76px)}[hidden]{display:none!important}.glass-card{background:linear-gradient(145deg,rgba(62,42,91,.72),rgba(24,17,45,.74));border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.login-screen{display:grid;place-items:center;position:relative}.login-card{width:min(100%,500px);padding:54px clamp(25px,6vw,62px) 34px;border-radius:36px;text-align:center;position:relative;animation:float-in .8s ease both}.orbit-mark{width:76px;height:76px;display:grid;place-items:center;margin:-88px auto 25px;border-radius:50%;background:linear-gradient(145deg,#ffb3c6,#d979aa);box-shadow:0 16px 45px rgba(255,126,170,.36);font-size:2rem;transform:rotate(-8deg)}.orbit-mark:after{content:'';position:absolute;width:100px;height:100px;border:1px solid rgba(255,255,255,.2);border-radius:50%;transform:rotate(30deg)}.eyebrow,.mini-label,.meta-label{font-size:.66rem;letter-spacing:.18em;font-weight:700;color:var(--rose)}.eyebrow{margin:0 0 18px}.login-card h1,.date-heading h2{font:500 clamp(2.4rem,7vw,4.3rem)/1.05 'Playfair Display',serif;margin:0;letter-spacing:-.04em}.login-card h1 em,.date-heading h2 em,.home-content h2 em{font-weight:500;color:var(--rose)}.lead{color:var(--muted);margin:20px auto 32px;line-height:1.7}.login-form{display:grid;gap:14px}.input-wrap{display:flex;align-items:center;gap:12px;height:58px;padding:0 17px;border-radius:17px;background:rgba(10,7,23,.35);border:1px solid var(--line);transition:.25s}.input-wrap:focus-within{border-color:var(--rose);box-shadow:0 0 0 4px rgba(255,141,169,.1)}.input-wrap>span{color:var(--rose)}.input-wrap input{width:100%;border:0;outline:0;background:none;color:var(--ink)}.input-wrap input::placeholder,textarea::placeholder{color:#8e849f}.icon-button{border:0;background:none;color:var(--muted);padding:6px}.primary-button,.secondary-button{border:0;border-radius:15px;min-height:54px;padding:0 20px;display:flex;align-items:center;justify-content:center;gap:13px;font-weight:700;transition:transform .2s,box-shadow .2s}.primary-button{color:#28132e;background:linear-gradient(100deg,#ffb0bd,#d9a4ff);box-shadow:0 14px 28px rgba(220,135,192,.24)}.secondary-button{color:var(--ink);background:rgba(255,255,255,.08);border:1px solid var(--line)}.primary-button:hover,.secondary-button:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(0,0,0,.22)}.full-width{width:100%}.hint{font-size:.77rem;color:#9186a5;margin:22px 0 0}.hint span:first-child{color:var(--rose)}.language-holder{position:absolute;bottom:30px;left:50%;transform:translateX(-50%)}.language-picker{position:relative}.language-toggle{display:flex;align-items:center;gap:9px;color:var(--muted);background:transparent;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:9px 14px}.language-options{position:absolute;bottom:calc(100% + 9px);left:50%;transform:translateX(-50%);width:155px;padding:6px;border-radius:15px;background:#292040;border:1px solid var(--line);box-shadow:var(--shadow)}.language-option{width:100%;border:0;background:transparent;color:var(--ink);text-align:left;border-radius:10px;padding:10px;font-size:.85rem}.language-option:hover,.language-option.active{background:rgba(255,255,255,.1)}.app-screen{padding-top:22px}.topbar{max-width:1100px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;min-height:48px}.brand{display:flex;align-items:center;gap:9px;color:var(--ink);font-weight:700;letter-spacing:.08em;text-decoration:none}.brand-heart{display:grid;place-items:center;width:29px;height:29px;border-radius:10px;background:linear-gradient(145deg,#ff9db2,#9d82f4);color:#2b1839}.topbar-actions{display:flex;align-items:center;gap:16px}.text-button,.back-button{background:none;border:0;color:var(--muted);font-size:.82rem}.text-button:hover,.back-button:hover{color:var(--ink)}.page-content{max-width:1100px;margin:0 auto;padding:clamp(60px,10vh,120px) 0 45px}.home-content h2{font:500 clamp(3rem,8vw,6.8rem)/.98 'Playfair Display',serif;letter-spacing:-.06em;margin:0}.hero-lead{color:var(--muted);font-size:1.05rem;margin:22px 0 58px}.wave{font-family:system-ui;font-size:.45em;color:var(--pink);vertical-align:top;display:inline-block;transform:translateY(-.4em)}.home-grid{display:grid;grid-template-columns:1fr 1.18fr;gap:22px}.love-card,.date-preview,.proposal-card,.success-card{border-radius:28px;padding:28px}.love-card{min-height:320px;overflow:hidden;position:relative;background:linear-gradient(145deg,rgba(130,69,139,.5),rgba(34,22,61,.78))}.card-glow{position:absolute;width:220px;height:220px;right:-90px;top:-90px;border-radius:50%;background:rgba(255,158,188,.25);filter:blur(12px)}.love-card-top,.section-heading{display:flex;justify-content:space-between;align-items:flex-start}.small-heart{color:var(--pink)}.couple-illustration{display:flex;align-items:center;justify-content:center;gap:13px;margin:35px 0 25px}.person{width:68px;height:68px;border-radius:50% 50% 43% 43%;display:grid;place-items:center;font:500 1.65rem 'Playfair Display',serif;color:#37203d;position:relative}.person:before{content:'';position:absolute;width:42px;height:25px;top:-9px;border-radius:50% 50% 20% 20%;background:#392249}.person-one{background:linear-gradient(145deg,#ffca9d,#e9908f)}.person-two{background:linear-gradient(145deg,#bba4ff,#f3a7ca)}.connection{color:var(--pink);font-size:1.5rem;animation:pulse 1.8s infinite}.love-card h3{font:500 1.65rem/1.2 'Playfair Display',serif;margin:0}.love-card p,.date-preview p,.proposal-card p{color:var(--muted);line-height:1.6}.date-preview{display:flex;flex-direction:column;justify-content:space-between;min-height:320px}.date-preview h3{font-size:1.55rem;margin:9px 0 0}.date-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:rgba(255,255,255,.09);color:var(--pink);font-size:1.5rem}.date-meta{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:36px 0}.date-meta strong,.detail-item strong{display:block;margin-top:8px;font-size:1rem}.footer-note{text-align:center;color:#8e849f;font-size:.76rem;margin-top:48px}.footer-note span:first-child{color:var(--pink)}.date-content{max-width:760px;padding-top:clamp(45px,8vh,90px)}.date-heading{text-align:center;margin-bottom:38px}.date-heading h2{font-size:clamp(3rem,7vw,5.5rem)}.date-heading>p:last-child{color:var(--muted);margin-top:22px}.proposal-card{position:relative;overflow:hidden}.proposal-ribbon{font-size:.65rem;letter-spacing:.16em;color:var(--rose);font-weight:700;margin-bottom:34px}.proposal-details{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding-bottom:28px;border-bottom:1px solid var(--line)}.detail-item{display:flex;align-items:center;gap:15px}.detail-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.08);font-size:1.35rem;color:var(--pink)}.proposal-message{display:flex;gap:12px;margin:27px 0 30px}.proposal-message>span{font:3.5rem/1 'Playfair Display',serif;color:var(--pink)}.proposal-message p{margin:0;font:italic 1.08rem/1.55 'Playfair Display',serif;color:#ddd5eb}.response-form{border-top:1px solid var(--line);padding-top:26px}.response-form fieldset{border:0;padding:0;margin:0}.response-form legend{font-weight:700;margin-bottom:15px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice-card input{position:absolute;opacity:0}.choice-content{display:flex;align-items:center;gap:11px;padding:17px;border-radius:15px;border:1px solid var(--line);color:var(--muted);transition:.2s;cursor:pointer}.choice-card input:checked+.choice-content{border-color:var(--pink);background:rgba(255,141,169,.12);color:var(--ink);box-shadow:0 0 0 3px rgba(255,141,169,.08)}.choice-icon{color:var(--pink);font-size:1.2rem}.comment-label{display:block;font-size:.86rem;font-weight:600;margin:25px 0 10px}.comment-label span{font-weight:400;color:var(--muted)}textarea{display:block;width:100%;resize:vertical;min-height:92px;padding:14px 16px;border-radius:15px;border:1px solid var(--line);outline:0;background:rgba(10,7,23,.3);color:var(--ink);margin-bottom:16px}.success-card{text-align:center;margin-top:22px;animation:float-in .5s ease both}.success-heart{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 16px;border-radius:50%;background:rgba(255,141,169,.14);color:var(--pink);font-size:1.7rem}.success-card h3{font:500 1.8rem 'Playfair Display',serif;margin:0}.success-card p{margin:10px 0 20px}.form-message{font-size:.8rem;margin:0}.error{color:#ffacba}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);padding:12px 18px;border-radius:999px;background:#2b2141;border:1px solid var(--line);opacity:0;pointer-events:none;transition:.25s;z-index:10;font-size:.8rem}.toast.show{opacity:1;transform:translate(-50%,0)}.reveal{animation:float-in .65s ease both}.delay-one{animation-delay:.12s}.delay-two{animation-delay:.24s}@keyframes float-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{50%{transform:scale(1.16)}}
@media(max-width:700px){.screen{padding-left:17px;padding-right:17px}.login-card{padding:48px 22px 30px}.home-grid,.proposal-details,.choice-grid{grid-template-columns:1fr}.home-grid{gap:16px}.home-content h2{font-size:clamp(3rem,16vw,5rem)}.hero-lead{margin-bottom:36px}.love-card,.date-preview{min-height:290px}.page-content{padding-top:58px}.topbar-actions{gap:8px}.text-button{font-size:.75rem}.language-toggle{padding:8px 10px}.date-heading{text-align:left}.date-heading h2{font-size:clamp(2.9rem,14vw,5rem)}.proposal-card{padding:22px}.date-meta{margin:25px 0}.footer-note{margin-top:30px}}
[dir="rtl"] .language-option{text-align:right}[dir="rtl"] .proposal-message{flex-direction:row-reverse}[dir="rtl"] .back-button{direction:rtl}
.date-meta{grid-template-columns:repeat(3,1fr)}.proposal-details{grid-template-columns:repeat(3,1fr)}.detail-item{min-width:0}.detail-item strong,.date-meta strong{overflow-wrap:anywhere}@media(max-width:700px){.date-meta,.proposal-details{grid-template-columns:1fr}}
.dog-illustration .dog-paw{z-index:4}.dog-illustration.cover-eyes .dog-paw{top:26px;width:40px;height:48px}.dog-illustration.cover-eyes .dog-paw-left{left:40px;transform:rotate(-8deg) scale(1.08)}.dog-illustration.cover-eyes .dog-paw-right{right:40px;transform:rotate(8deg) scale(1.08)}
.dog-illustration.cover-eyes .dog-paw{top:8px;width:42px;height:52px}.dog-illustration.cover-eyes .dog-paw-left{left:38px}.dog-illustration.cover-eyes .dog-paw-right{right:38px}

/* Personal touches and mobile/iOS hardening */
/* Safari/iOS stability: prevent text inflation and use safe viewport units. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}
body{-webkit-font-smoothing:antialiased;min-height:100svh;min-height:100dvh}
.screen{min-height:100svh;min-height:100dvh}
input,textarea,button{appearance:none;-webkit-appearance:none}
@supports (-webkit-touch-callout:none){input,textarea{font-size:16px!important}}
.success-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.success-actions .secondary-button{min-width:150px}
.dog-illustration{position:relative;width:178px;height:164px;margin:-8px auto 5px;isolation:isolate}.dog-illustration img{position:absolute;z-index:1;left:50%;bottom:-12px;width:176px;height:auto;transform:translateX(-50%);filter:drop-shadow(0 14px 18px rgba(12,5,23,.25))}.dog-paw{position:absolute;z-index:2;top:70px;width:30px;height:42px;border-radius:52% 52% 45% 45%;background:linear-gradient(145deg,#ffe2ba,#d99768);box-shadow:inset -3px -4px 0 rgba(134,76,54,.15),0 5px 10px rgba(30,12,27,.2);opacity:.98;transition:transform .42s cubic-bezier(.2,.8,.2,1),top .42s cubic-bezier(.2,.8,.2,1)}.dog-paw:after{content:'';position:absolute;left:7px;bottom:5px;width:16px;height:6px;border-radius:50%;background:rgba(112,65,50,.28)}.dog-paw-left{left:55px;transform:rotate(-20deg)}.dog-paw-right{right:55px;transform:rotate(20deg)}.dog-illustration.cover-eyes .dog-paw{top:40px}.dog-illustration.cover-eyes .dog-paw-left{transform:rotate(-8deg) scale(1.08)}.dog-illustration.cover-eyes .dog-paw-right{transform:rotate(8deg) scale(1.08)}.dog-heart{position:absolute;z-index:3;right:17px;top:23px;color:var(--pink);font-size:1.15rem;animation:pulse 1.8s infinite}.photo-frame{width:88px;height:88px;flex:none;border-radius:50%;padding:4px;background:linear-gradient(145deg,#ffb5c5,#a184ff);box-shadow:0 12px 25px rgba(11,5,27,.3);overflow:hidden}.photo-frame img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}.photo-frame-one img{object-position:58% 38%}.photo-frame-two img{object-position:50% 35%}.couple-illustration{gap:14px}.iran-flag{display:inline-grid;place-items:center;width:1.35em;height:1em;overflow:hidden;border-radius:3px;vertical-align:-.12em;box-shadow:0 0 0 1px rgba(255,255,255,.16)}.iran-flag svg{display:block;width:100%;height:100%}.language-toggle .iran-flag{width:1.4em;height:1em}.language-option .iran-flag{margin-right:4px}.input-wrap input{font-size:16px}.primary-button,.secondary-button,.choice-content,.language-toggle,.text-button,.back-button{min-height:44px}.login-form .primary-button{min-height:54px}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@media(max-width:700px){.dog-illustration{width:164px;height:154px}.dog-illustration img{width:164px}.dog-paw-left{left:50px}.dog-paw-right{right:50px}.photo-frame{width:76px;height:76px}.love-card{min-height:330px}.screen{padding-bottom:max(28px,env(safe-area-inset-bottom))}}@media(max-width:380px){.login-card{padding-left:18px;padding-right:18px}.dog-illustration{transform:scale(.92);margin-top:-13px;margin-bottom:-4px}}
