.tower-gift-card{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:10px;background:linear-gradient(120deg,#332c42,#181923);border:1px solid #ae89db80;border-radius:18px 5px 18px 5px;padding:10px;margin:12px 0;color:#f5edff}.gift-card-copy{display:grid;gap:5px}.gift-card-copy b{font-size:15px}.gift-card-copy small{font-size:11px;color:#d8c1eb}.gift-package{width:140px;height:140px;object-fit:contain;display:block;margin:0 auto}.tower-gift-card .gift-package{width:64px;height:70px;margin:0}.gift-open{padding:12px;background:#dac4f3;color:#201428;border-radius:50%;font-size:12px;font-weight:900;min-width:56px;min-height:56px}.gift-dialog{width:min(680px,calc(100vw - 24px));max-height:calc(100dvh - 28px);overflow:auto;background:#171c17;color:#f5f3e9;border:1px solid #bc91dd;border-radius:20px;padding:18px;overscroll-behavior:contain;box-sizing:border-box}.gift-dialog::backdrop{background:#000b}.gift-close{float:right;font-size:12px;padding:8px}.gift-dialog h2{font-size:clamp(24px,5vw,32px);line-height:1.1;clear:both;margin:14px 0}.gift-dialog button{touch-action:manipulation}.gift-dialog-body>.primary,.gift-ad{display:block;width:100%;margin:10px 0}.gift-intro{font-size:15px;color:#cbd5c2}.gift-timing{display:block;text-align:center;margin-bottom:14px;font-size:12px;color:#bcc7b5}.gift-art{display:block;width:100%;height:auto;aspect-ratio:2;background:#111;border-radius:9px;object-fit:contain}.gift-roast{font-size:20px;line-height:1.3;color:#e0bf75;margin:16px 0}.gift-reward-name{font-size:26px;margin:14px 0}.gift-collection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gift-collectible{border:1px solid #81977166;background:#252d24;border-radius:12px;padding:8px;min-width:0}.gift-collectible h3{font-size:15px;margin:9px 0 5px;line-height:1.2}.gift-collectible small{font-size:10px;display:block;margin-bottom:8px}.gift-collectible button{font-size:11px;width:100%;padding:11px 5px}.gift-rare{border-color:#daba79}.gift-epic{border-color:#c790ef}.gift-legendary{border-color:#e9c859;box-shadow:0 0 16px #e9c85933}.gift-locked .gift-art{filter:grayscale(1);opacity:.45}.gift-equipped{background:#d0f45b;color:#18201b}.gift-odds{font-size:12px;margin-top:16px}.gift-odds table{width:100%;margin-top:8px}.gift-odds td{padding:5px;border-bottom:1px solid #ffffff18}.gift-odds td:last-child{text-align:right}.gift-legendary-reveal .gift-art{animation:gift-glow 1.1s ease-out 2}.gift-lobby{grid-column:1/-1;margin-bottom:0}@keyframes gift-glow{50%{box-shadow:0 0 35px #e8c15099;transform:scale(1.025)}}@media(prefers-reduced-motion:reduce){.gift-legendary-reveal .gift-art{animation:none}}

#nickname-edit[data-gift-heart=true]::after{content:' 💚';filter:drop-shadow(0 0 4px #d2ee7c)}

#menu.compact-lobby .lobby-destinations{grid-template-columns:repeat(2,minmax(0,1fr))}
#menu.compact-lobby #lobby-gifts{background:linear-gradient(135deg,#33243e,#1d2121);border:1px solid #bd9bdf80;border-radius:18px 5px 18px 5px;color:#dcc4f2;gap:4px;position:relative}
#menu.compact-lobby #lobby-gifts::before{display:none}
#menu.compact-lobby #lobby-gifts .gift-package{width:44px;height:38px;margin:0;object-fit:contain}
#lobby-gifts b{font-size:11px}#lobby-gifts small{font-size:10px;line-height:1.1;color:#d1bbdf;font-weight:500;letter-spacing:0}
@media(min-width:540px){#menu.compact-lobby .lobby-destinations{grid-template-columns:repeat(4,minmax(0,1fr))}}
.gift-open-send{display:block;width:100%;font-size:13px;padding:13px;margin:9px 0}.gift-friend-share{background:#332543;border:1px solid #bd9bdf70;padding:12px;border-radius:12px;margin:14px 0}.gift-friend-share h3{font-size:17px;margin:0 0 12px}.gift-friend-share button{width:100%;font-size:14px}.gift-share-link{box-sizing:border-box;width:100%;min-width:0;font-size:12px;padding:10px;margin-top:10px;background:#111a12;color:#eee;border:1px solid #ffffff33;border-radius:8px}
#menu.compact-lobby #lobby-gifts{grid-column:auto}

/* Four compact destinations at phone and desktop widths alike. */
#menu.compact-lobby .lobby-destinations{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
#menu.compact-lobby .lobby-destinations>button{display:grid;grid-template-rows:26px 28px 14px;align-items:center;justify-items:center;gap:2px;height:86px;min-height:86px;padding:6px 3px;font-size:10px;line-height:1.15;letter-spacing:0;text-align:center;overflow-wrap:normal;hyphens:auto}
#menu.compact-lobby .lobby-destinations>button::before{width:25px;height:25px;align-self:center}
#menu.compact-lobby .lobby-destinations>button:not(#lobby-gifts)::after{content:' ';display:block;height:14px}
#menu.compact-lobby #lobby-gifts{gap:2px;height:86px;min-height:86px}
#menu.compact-lobby #lobby-gifts .gift-package{width:29px;height:26px;margin:0}
#menu.compact-lobby #lobby-gifts b{display:flex;align-items:center;justify-content:center;height:28px;font-size:10px}
#menu.compact-lobby #lobby-gifts small{height:14px;font-size:9px;line-height:14px;white-space:nowrap}
@media(max-width:350px){#menu.compact-lobby .lobby-destinations>button,#menu.compact-lobby #lobby-gifts b{font-size:9px}#menu.compact-lobby .lobby-destinations{gap:4px}}

/* Gift choice is a single clear view; sharing is an optional follow-up. */
.gift-dialog .gift-close{float:none;display:block;margin-left:auto;min-height:44px;min-width:44px;border-radius:10px;font-size:12px}
.gift-dialog .gift-dialog-body>h2{clear:none;margin:4px 0 12px;font-size:clamp(23px,4.6vw,30px)}
.gift-overview{display:grid;grid-template-columns:minmax(140px,190px) minmax(0,1fr);align-items:center;gap:18px;margin:0 0 18px;padding:8px 10px 12px;border-bottom:1px solid #bd9bdf30}
.gift-dialog .gift-overview>.gift-package{width:100%;height:auto;max-height:200px;aspect-ratio:1;object-fit:contain;margin:0}
.gift-overview-copy h3{font-size:21px;line-height:1.15;margin:0 0 8px;color:#eed3ff}
.gift-overview-copy p{font-size:14px;line-height:1.5;margin:0;color:#c8d5c1}
.gift-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}
.gift-choice{display:flex;flex-direction:column;align-items:stretch;min-width:0;padding:16px;border:1px solid #a7d27670;border-radius:16px;background:linear-gradient(145deg,#253420,#12251a)}
.gift-choice-ad{border-color:#b795d080;background:linear-gradient(145deg,#34243f,#19231f)}
.gift-choice h3{font-size:20px;margin:0 0 7px;line-height:1.2;color:#e1efbd}
.gift-choice-ad h3{color:#e4c7f7}
.gift-choice .gift-choice-status{min-height:38px;margin:0 0 12px;font-size:13px;line-height:1.4;color:#c9d8bf}
.gift-choice button,.gift-choice .gift-ad{display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;margin:auto 0 10px;padding:12px 10px;border-radius:12px;font-size:13px;line-height:1.25;letter-spacing:0;text-align:center;overflow-wrap:anywhere;touch-action:manipulation}
.gift-choice .gift-choice-condition{font-size:11px;line-height:1.4;color:#bfcbb5}
.gift-choice button:disabled{opacity:.48;cursor:default}
.gift-dialog .gift-collection-link{width:100%;min-height:44px;padding:11px;margin:0;border:1px solid #b996d34a;border-radius:10px;font-size:13px;color:#dfc6ee;text-transform:none;letter-spacing:0}
.gift-optional-share{margin:12px 0 0;padding:2px 0;border-top:1px solid #b49bc630}
.gift-optional-share>summary,.gift-odds>summary{min-height:44px;padding:13px 2px;font-size:12px;line-height:1.35;color:#d9c7e5;cursor:pointer}
.gift-optional-share>p{font-size:13px;line-height:1.45;color:#c4d0ba;margin:2px 0 12px}
.gift-optional-share>button{width:100%;min-height:44px;font-size:12px;letter-spacing:0;margin:0 0 9px}
.gift-dialog .gift-odds{margin-top:3px;border-top:1px solid #b49bc630}
@media(max-width:520px){.gift-dialog{padding:14px}.gift-overview{grid-template-columns:140px minmax(0,1fr);gap:8px;padding:0 0 12px}.gift-overview-copy h3{font-size:18px}.gift-overview-copy p{font-size:12px}.gift-choice{padding:12px}.gift-choice h3{font-size:18px}.gift-choice .gift-choice-status{font-size:12px;min-height:51px}.gift-choice button,.gift-choice .gift-ad{font-size:11px;min-height:58px;padding:10px 6px}}
@media(max-width:370px){.gift-overview{grid-template-columns:110px minmax(0,1fr)}.gift-choices{gap:8px}.gift-choice{padding:10px}.gift-choice h3{font-size:16px}.gift-choice .gift-choice-condition{font-size:10px}}
