@keyframes kb{0%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes breathe{50%{transform:scale(1.05);box-shadow:0 0 0 4px #fff,0 0 70px rgba(200,144,46,.85)}}@keyframes glowup{40%{box-shadow:0 0 0 3px #e9c27a,0 0 60px rgba(233,194,122,.8)}}@keyframes ring{0%{transform:scale(.9);opacity:1}to{transform:scale(1.25);opacity:0}}html{background:#120f24}body{background:0 0!important}#bgfx{position:fixed;inset:0;z-index:-2;overflow:hidden}#bgfx .l{position:absolute;inset:-5%;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s ease;animation:kb 30s ease-in-out infinite alternate}#bgfx .l.on{opacity:1}#bgfx::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(250,246,239,.45),rgba(250,246,239,.7) 30%,rgba(250,246,239,.84) 60%,rgba(250,246,239,.9));backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}#app{background:0 0}.card{background:rgba(255,255,255,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:rgba(230,223,211,.8);box-shadow:0 8px 28px rgba(30,27,58,.08)}.tintcard{background:rgba(245,231,200,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}h1{font-weight:700;font-size:31px;letter-spacing:-.01em}.btn{background:linear-gradient(135deg,#c8324b,#b3263e 55%,#8a1c2f);box-shadow:0 10px 26px rgba(179,38,62,.35)}.composer{background:0 0}.bubble{box-shadow:0 4px 14px rgba(30,27,58,.07)}.b-sh{background:rgba(255,255,255,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.shrow{display:flex;gap:8px;align-items:flex-end;align-self:flex-start;max-width:92%}.shrow .bubble{max-width:100%}.av,.avbig{border-radius:50%;background:#1e1b3a center/cover}.av{width:34px;height:34px;flex-shrink:0;box-shadow:0 0 0 2px #fff,0 0 14px rgba(200,144,46,.55)}.avbig{width:120px;height:120px;box-shadow:0 0 0 4px #fff,0 0 40px rgba(200,144,46,.6);animation:breathe 3s ease-in-out infinite}.shname{display:flex;align-items:center;gap:10px;margin-bottom:2px}.shname .av{width:44px;height:44px}.shname b{font-family:"Frank Ruhl Libre",serif;font-size:18px}.shname small{font-weight:400}@media (prefers-reduced-motion:reduce){#bgfx .l,.avbig{animation:none}}.photo,.rvcard{height:300px;background:#1e1b3a}.photo .rv,.rvcard .rv{position:absolute;inset:0;background-size:cover;background-position:center 25%;transform:scale(1.15);transition:filter 2.2s ease,transform 2.2s ease}.photo .badge{z-index:2;background:rgba(30,27,58,.75);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.rvcard{position:relative;height:340px;border-radius:20px;overflow:hidden;box-shadow:0 12px 34px rgba(30,27,58,.18)}.rvcard::after{content:"";position:absolute;inset:auto 0 0 0;height:90px;background:linear-gradient(transparent,rgba(18,15,36,.75))}.rvbar,.rvtxt{position:absolute;z-index:2}.rvbar{inset:auto 16px 40px 16px;height:4px;border-radius:2px;background:rgba(255,255,255,.3);overflow:hidden}.rvbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#e9c27a,#fff);transition:width 2s ease}.rvtxt{inset:auto 16px 12px 16px;color:#fff;font-size:13px;font-weight:500}.rvcard.full{animation:glowup 2.5s ease}.rvdone{width:110px;height:110px;border-radius:50%;background:center 25%/cover;box-shadow:0 0 0 4px #fff,0 0 30px rgba(200,144,46,.5);align-self:center}.datehero{position:relative;width:150px;height:150px;align-self:center;margin-top:8px}.dph,.dring{position:absolute;border-radius:50%}.dph{inset:0;background:center 25%/cover;box-shadow:0 0 0 4px #fff}.dring{inset:-10px;border:2px solid #e9c27a;animation:ring 2.4s ease-out infinite}.datecard,.drow{gap:12px}.drow{display:flex;align-items:center}.dic{width:40px;height:40px;border-radius:12px;background:var(--tint);display:grid;place-items:center;font-size:18px;flex-shrink:0}.drow small,.shname small{display:block;color:var(--muted);font-size:12px}.drow b{font-size:16px}.lookscard hr{border:0;border-top:1px solid var(--line);margin:4px 0}.myph,.phpick{display:flex;align-items:center}.myph{gap:14px}.phpick{width:84px;height:84px;flex-shrink:0;border-radius:50%;border:2px dashed var(--gold);flex-direction:column;justify-content:center;font-size:26px;color:var(--gold);background:rgba(245,231,200,.5) center/cover;cursor:pointer;line-height:1}.phpick small{font-size:11px;color:var(--muted);margin-top:4px}.lchip,.tnav button{border-radius:19px;color:var(--ink);cursor:pointer}.lchip{min-height:38px;border:1.5px solid var(--field);background:rgba(255,255,255,.8);font:500 14px Heebo,sans-serif;padding:0 14px}.lchip[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.top{gap:8px}.proto{order:2}.tnav{display:flex;gap:6px;order:3}.tnav button{width:38px;height:38px;border:1px solid var(--line);background:rgba(255,255,255,.75);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:18px}.brand{margin-inline-end:auto}.hlist{display:flex;flex-direction:column;gap:10px;margin-top:6px}.hitem{display:flex;align-items:center;gap:12px;text-align:right;width:100%;min-height:68px;padding:10px 14px;border-radius:18px;border:1px solid rgba(230,223,211,.8);background:rgba(255,255,255,.75);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font:inherit;color:var(--ink);cursor:pointer;box-shadow:0 6px 20px rgba(30,27,58,.06)}.hitem b,.hitem small{display:block;font-size:16px}.hitem small{color:var(--muted);font-size:13px}.hitem>span:nth-child(2){flex:1}.hic,.hph{width:44px;height:44px}.hic{border-radius:14px;background:var(--tint);display:grid;place-items:center;font-size:20px;flex-shrink:0;font-style:normal}.hph{display:block;border-radius:50%;background:center 25%/cover}.hgo{color:var(--muted);font-size:22px}.toast{position:fixed;z-index:50;top:12px;left:50%;transform:translate(-50%,-140%);width:min(92vw,420px);display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:18px;background:rgba(30,27,58,.92);color:#fff;font-size:14px;box-shadow:0 14px 40px rgba(0,0,0,.3);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .45s cubic-bezier(.2,.8,.2,1)}.toast.in{transform:translate(-50%,0)}.toast .av{width:36px;height:36px}