#hug-dialog{padding:0;border:0;width:min(720px,100vw - 20px);max-height:94dvh;border-radius:30px;background:#322c49;color:#fff5ec;overflow:auto}#hug-dialog::backdrop{background:#211b38b8;backdrop-filter:blur(10px)}.hug-scene{--hug-progress:0;position:relative;isolation:isolate;overflow:hidden;min-height:650px;background:linear-gradient(165deg,#302b4a,#675574 65%,#a68b9e);text-align:center;padding:20px 24px 24px}.hug-scene:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(160deg,#826b8a,#d2a3a0 65%,#e7c4a8);opacity:var(--hug-progress)}.hug-header{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:3;font-size:12px;letter-spacing:2px;color:#e5d8e8}.hug-header button{background:#ffffff18;color:white;min-width:44px;min-height:44px}.hug-moon{width:70px;height:70px;border-radius:50%;background:#ffeac0;box-shadow:0 0 60px #ffe8ac55;margin:20px auto 28px}.hug-copy{position:relative;z-index:2;min-height:92px}.hug-copy p{font-size:13px;letter-spacing:3px;color:#e8dbe7}.hug-copy h2{font-size:clamp(20px,4vw,28px);line-height:1.6}.hug-stars{position:absolute;inset:0;pointer-events:none;z-index:-1}.hug-stars i{position:absolute;color:#ffeccc;font-size:10px;font-style:normal;animation:hugTwinkle 4s ease-in-out infinite}.hug-world{position:relative;height:250px;max-width:540px;margin:auto}.hug-ground{position:absolute;bottom:12px;left:-10%;width:120%;height:80px;border-radius:50%;background:#e8d1cb24}.hug-friend{position:absolute;bottom:25px;width:clamp(100px,27vw,150px);transition:opacity .8s;filter:drop-shadow(0 6px 10px #30233720)}.hug-cat{left:calc(0% + var(--hug-progress)*24%)}.hug-dog{right:calc(0% + var(--hug-progress)*24%)}.hug-friend svg{display:block;width:100%}.hug-holding .hug-friend svg{animation:hugBob .8s ease-in-out infinite alternate}.hug-dog svg{animation-delay:.2s!important}.hug-path{position:absolute;bottom:37px;width:100%;letter-spacing:8px;color:#ffe9d1;opacity:var(--hug-progress);overflow:hidden;white-space:nowrap}.hug-together{position:absolute;width:250px;height:235px;object-fit:contain;left:50%;bottom:8px;transform:translateX(-50%) scale(.85);opacity:0;transition:opacity 1s,transform 1.2s;pointer-events:none}.hug-finished .hug-friend{opacity:0}.hug-finished .hug-together{opacity:1;transform:translateX(-50%) scale(1)}.hug-finished .hug-path{opacity:0}.hug-heart{position:absolute;left:50%;top:15px;transform:translateX(-50%);opacity:0;color:#fff2df;font-size:36px;transition:opacity 1s}.hug-finished .hug-heart{opacity:1;animation:hugTwinkle 3s infinite}.hug-controls{position:relative;z-index:2}.hug-controls>p{font-size:13px;line-height:1.8;min-height:24px;color:#fff0e9;margin:8px 0 14px}.hug-hold{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;border:1px solid #f8e8e280;border-radius:50px;color:#fff6ed;background:#fff4e51f;padding:16px 32px;min-width:220px;box-shadow:0 8px 30px #39284522;font-size:16px}.hug-holding .hug-hold{background:#fff0df40;box-shadow:0 0 30px #ffdfbb44}.hug-progress{height:3px;width:160px;margin:18px auto;background:#ffffff25;border-radius:5px;overflow:hidden}.hug-progress i{display:block;height:100%;width:calc(var(--hug-progress)*100%);background:#ffe5bb}.hug-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;font-size:11px;color:#f0dfe5}.hug-links button{font-size:12px;color:#fff1e8;background:transparent;text-decoration:underline;text-underline-offset:4px}.hug-launch{background:linear-gradient(120deg,#e8deec,#f3e5dc);display:flex;gap:20px;align-items:center;justify-content:space-between}.hug-launch p{margin-bottom:0}.hug-launch button{flex-shrink:0}#hug-dialog [hidden]{display:none!important}@keyframes hugTwinkle{0%,100%{opacity:.35}50%{opacity:1}}@keyframes hugBob{from{transform:translateY(0) rotate(-1deg)}to{transform:translateY(-5px) rotate(1deg)}}.hug-reduced *{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){.hug-scene *{animation:none!important;transition:none!important}}@media(max-width:480px){.hug-scene{min-height:590px;padding:14px}.hug-world{height:220px}.hug-moon{width:55px;height:55px;margin:20px auto}.hug-together{width:220px;height:210px}.hug-launch{display:block}.hug-launch button{margin-top:16px}}
