/* Original romantic design, preserved verbatim from لقلبي ♥ */
:root{--ink:#fff;--pk:#ff9bb5;--glass:rgba(24,12,16,.52);--line:rgba(255,200,215,.22);box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:env(safe-area-inset-top,0px)}*{box-sizing:border-box}html,body{margin:0;min-height:100%}
body{font-family:Cairo,"Segoe UI",Tahoma,sans-serif;color:var(--ink);background:#1a0f14;overflow-x:hidden;position:relative}
#scene,#bgimg,#fg,.stars{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
#bgimg{background-size:cover;background-position:center}
#scene .sd,#scene .sn,#scene .sb{opacity:0;transition:opacity 1.2s}
body[data-sc=day] .sd,body[data-sc=night] .sn,body[data-sc=bday] .sn,body[data-sc=bday] .sb{opacity:1}
#fg{background:linear-gradient(180deg,rgba(0,0,0,.25),transparent 25%,transparent 45%,rgba(20,8,8,.75) 78%,rgba(14,6,8,.95))}
body[data-sc=day] #fg{background:linear-gradient(90deg,rgba(255,235,215,.35),transparent 28%),linear-gradient(180deg,rgba(0,0,0,.18),transparent 25%,transparent 45%,rgba(45,18,10,.8) 80%,rgba(30,12,8,.95))}
.stars{opacity:0;transition:opacity 1.2s}body[data-sc=night] .stars,body[data-sc=bday] .stars{opacity:1}
.stars i{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;animation:tw 3s infinite}
@keyframes tw{0%,100%{opacity:.15;transform:scale(.6)}50%{opacity:1;transform:scale(1.4)}}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:8;display:flex;align-items:center;gap:10px;padding:10px 18px;background:rgba(20,10,14,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);direction:ltr}
.logo{font-family:"Dancing Script",cursive;font-size:1.9rem;white-space:nowrap}
header nav{display:flex;gap:4px;overflow-x:auto;flex:1;justify-content:center;scrollbar-width:none}
header button{font:inherit;font-size:.85rem;color:#fff;background:none;border:0;padding:8px 12px;border-radius:22px;cursor:pointer;white-space:nowrap;opacity:.85}
header button.on{background:rgba(255,160,185,.25);opacity:1}header .gb{background:rgba(255,140,170,.28);border:1px solid var(--line)}
main{min-height:calc(100vh - 120px);display:flex;flex-direction:column;align-items:center;padding:28px 18px 30px;position:relative;z-index:2;text-align:center}
.v{width:100%;max-width:760px;display:flex;flex-direction:column;align-items:center}.v[hidden]{display:none}
#hico{font-size:2.3rem;opacity:.9}
h1{font-family:"Aref Ruqaa",Amiri,serif;font-size:clamp(2.2rem,8vw,3.4rem);margin:6px 0;text-shadow:0 2px 18px rgba(0,0,0,.45)}h1::before{content:"♡ ";font-size:.6em}
h2{font-family:"Aref Ruqaa",Amiri,serif;margin:6px 0 14px;font-size:1.8rem}
.orn{color:var(--pk);letter-spacing:.5em;margin:8px 0;opacity:.85}
.sub{font-family:"Aref Ruqaa",Amiri,serif;font-size:1.2rem;line-height:2.2;white-space:pre-line;max-width:480px;margin:0;text-shadow:0 2px 12px rgba(0,0,0,.5)}
#heart{width:58px;height:58px;background:none;border:0;cursor:pointer;padding:0;margin-top:10px;position:relative;filter:drop-shadow(0 0 14px rgba(255,100,150,.8));animation:beat 1.4s infinite;-webkit-tap-highlight-color:transparent}
#heart svg{width:100%;height:100%;fill:#ff6f96}#heart.pop{animation:pop .6s}
@keyframes beat{0%,100%{transform:scale(1)}15%{transform:scale(1.12)}30%{transform:scale(1)}45%{transform:scale(1.08)}}
@keyframes pop{30%{transform:scale(1.5) rotate(-6deg)}60%{transform:scale(.95) rotate(4deg)}}
.ring{position:absolute;inset:0;border:3px solid #ff6f96;border-radius:50%;animation:ring .9s forwards;pointer-events:none}@keyframes ring{to{transform:scale(2.6);opacity:0}}
.hint{margin-top:6px;font-size:.85rem;opacity:.75}
.card{background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:22px;padding:18px;margin:12px 0;width:100%}
#poem{display:none;font-family:Amiri,serif;font-size:clamp(1.25rem,5vw,1.6rem);line-height:2.1;margin-top:18px}#poem.show{display:block;animation:rise .8s}
#poem .l{display:block}#poem .g{display:block;height:10px}#poem .w{display:inline-block;opacity:0;animation:wd .7s forwards;margin:0 .13em}
@keyframes rise{from{opacity:0;transform:translateY(24px) scale(.96)}}@keyframes wd{from{opacity:0;transform:translateY(10px);filter:blur(4px)}to{opacity:1;filter:none}}
#today{display:none;line-height:1.9;white-space:pre-wrap}#today.show{display:block;animation:rise 1s 2s both}
.cards{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;width:100%;margin-top:26px}
.fc{flex:1 1 120px;max-width:148px;font:inherit;color:#fff;background:var(--glass);border:1px solid var(--line);border-radius:20px;padding:16px 6px;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.t .fc{max-width:200px;flex-basis:150px}.fc .ic{display:block;font-size:1.6rem;filter:grayscale(1) brightness(1.7)}.fc b{display:block;margin:6px 0 4px}.fc small{display:block;opacity:.7;font-size:.72rem}
.hand{margin-top:26px;font-family:"Aref Ruqaa",serif;color:var(--pk);font-size:1.3rem;display:flex;gap:30px;align-items:center;justify-content:center;flex-wrap:wrap}
.hand i{font-family:"Dancing Script",cursive;font-style:normal;font-size:1.3rem;transform:rotate(-8deg);display:inline-block}
.player{margin-top:22px;width:100%;max-width:460px;background:var(--glass);border:1px solid var(--line);border-radius:18px;padding:10px 14px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);position:relative;overflow:hidden;direction:ltr;text-align:left}
.pr{display:flex;align-items:center;gap:12px}.cov{width:44px;height:44px;border-radius:8px;background:linear-gradient(135deg,#ff9bb5,#7a4cc2)}.pi{flex:1;font-size:.85rem}.pi small{opacity:.7;display:block}
.player button{font:inherit;background:none;border:0;color:var(--pk);font-size:1.1rem;cursor:pointer;padding:4px 8px}
.pg{height:2px;background:rgba(255,255,255,.2);margin-top:8px}.pg i{display:block;height:100%;width:0;background:var(--pk)}.player.on .pg i{animation:pgr 60s linear infinite}@keyframes pgr{to{width:100%}}
footer{position:relative;z-index:2;text-align:center;padding:14px 20px 24px;font-size:.9rem}footer a{color:var(--pk);cursor:pointer;margin:0 8px;font-size:.8rem}
.fl{position:fixed;bottom:-40px;pointer-events:none;z-index:1;animation:up linear forwards;color:#ff8fab;opacity:.5}@keyframes up{to{transform:translateY(-115vh) rotate(40deg);opacity:0}}
.bp{position:fixed;pointer-events:none;z-index:9;font-size:22px;animation:bp 1.1s forwards}@keyframes bp{to{transform:translate(var(--x),var(--y)) scale(.4) rotate(var(--r));opacity:0}}
#lt{position:fixed;inset:0;z-index:20;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.55);backdrop-filter:blur(6px)}#lt.on{display:flex}
.box{width:min(100%,460px);max-height:82vh;overflow:auto;background:#2a1420;color:#fff;border:1px solid var(--line);border-radius:26px;padding:22px 18px;text-align:center;animation:rise .5s}
.it,.x,.btn{font:inherit;font-weight:700;border:0;cursor:pointer;color:#fff;background:rgba(255,255,255,.14)}
.it{display:block;width:100%;padding:13px 14px;border-radius:16px;margin:8px 0}.x,.btn.p{background:#e0457b;padding:9px 22px;border-radius:24px;margin-top:12px}
.paper{font-family:Amiri,serif;font-size:1.3rem;line-height:2.1;white-space:pre-wrap}.paper .en{font-style:italic;direction:ltr;display:block;margin-top:6px}
.tabs{display:flex;gap:6px;justify-content:center;margin:8px 0 14px}.tabs .btn{padding:8px 14px;border-radius:20px}.tabs .btn.on{background:#e0457b}
.tl{position:relative;padding-inline-start:26px;text-align:start;width:100%}.tl::before{content:"";position:absolute;inset-block:0;inset-inline-start:7px;width:2px;background:var(--pk);opacity:.5}
.tl .e{position:relative}.tl .e::before{content:"";position:absolute;inset-inline-start:-25px;top:22px;width:12px;height:12px;border-radius:50%;background:var(--pk);box-shadow:0 0 0 4px rgba(255,155,181,.25)}
.e img{width:100%;border-radius:16px;margin:8px 0}.e small{opacity:.75}.e h3{margin:0;font-family:Amiri,serif;font-size:1.3rem}.lock{opacity:.7}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.cell{aspect-ratio:1;font-size:1.8rem;border:0;border-radius:14px;background:rgba(255,255,255,.14);color:#fff;cursor:pointer}.cell.up{background:var(--pk);color:#3a0a1c}
#arena{position:relative;height:340px;overflow:hidden;border-radius:20px;background:rgba(255,255,255,.12)}
.fh{position:absolute;top:-40px;font-size:34px;border:0;background:none;cursor:pointer;animation:drop linear forwards}@keyframes drop{to{top:340px}}
input,textarea,select{font:inherit;width:100%;padding:10px 12px;border-radius:14px;border:1px solid rgba(0,0,0,.15);margin:5px 0;background:rgba(255,255,255,.9);color:#4d0725}
.adm{text-align:start}.adm .row{display:flex;gap:8px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:6px 0}
.sc{position:relative;margin-top:10px}.sc canvas{position:absolute;inset:0;width:100%;height:100%;border-radius:16px;touch-action:none}
.hb{font-family:"Dancing Script",cursive;font-size:clamp(3.2rem,14vw,5.8rem);line-height:1;text-shadow:0 4px 24px rgba(0,0,0,.5)}.hs{font-family:"Dancing Script",cursive;font-size:1.6rem}
.cd4{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}.cd4>div{border:1px solid var(--line);border-radius:14px;padding:12px 4px;background:rgba(0,0,0,.3)}.cd4 b{font-size:1.8rem;display:block;color:var(--pk)}.cd4 small{opacity:.8}
.pill{font:inherit;color:#fff;background:rgba(255,140,170,.2);border:1px solid var(--line);border-radius:14px;padding:12px 22px;margin-top:14px;cursor:pointer}
#ld{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#1a0f14;color:#ff9bb5;font-family:"Aref Ruqaa",serif;font-size:2rem;transition:opacity .8s}#ld.off{opacity:0;pointer-events:none}#ld b{font-size:4rem;animation:beat 1s infinite}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01s!important}}
:focus-visible{outline:3px solid var(--pk);outline-offset:2px}
