body{background:radial-gradient(circle at 8% 16%,rgba(75,185,245,.11),transparent 18%),radial-gradient(circle at 92% 34%,rgba(242,106,165,.1),transparent 20%),#fffdf9}.hero{position:relative;background:radial-gradient(circle at 12% 22%,rgba(75,185,245,.22),transparent 27%),radial-gradient(circle at 53% 7%,rgba(242,106,165,.2),transparent 20%),linear-gradient(180deg,#fffdf9,#fff8df)}
.party-balloons{position:absolute;z-index:0;display:flex;gap:7px;pointer-events:none}.party-balloons i{display:block;width:35px;height:44px;border-radius:52% 48% 48% 52%;background:linear-gradient(145deg,#70caff,#278fd1);box-shadow:inset 8px 7px 9px rgba(255,255,255,.45);animation:balloon 4s ease-in-out infinite}.party-balloons i::after{content:"";display:block;width:1px;height:70px;margin:42px auto 0;background:rgba(7,31,73,.25)}.party-balloons i:nth-child(2){background:linear-gradient(145deg,#ff91c2,#e44b8f);animation-delay:-1.1s}.party-balloons i:nth-child(3){background:linear-gradient(145deg,#ffd968,#e7a41d);animation-delay:-2.2s}.balloons-left{left:2.2vw;top:78px}.balloons-right{right:2vw;top:115px;transform:scale(.82)}.hero-copy,.hero-gallery{z-index:1}
.party-ribbon{display:flex;align-items:center;justify-content:center;gap:22px;overflow:hidden;margin:0;padding:17px 20px;background:linear-gradient(90deg,var(--navy),#114487,var(--navy));color:#fff;font-size:13px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 12px 35px rgba(7,31,73,.18)}.party-ribbon b{color:var(--gold);font-size:18px}.section{position:relative}.section:nth-of-type(4){background:linear-gradient(180deg,#eef9ff,#fffdf9)}.section:nth-of-type(6){background:linear-gradient(180deg,#fff1f7,#fffdf9)}.section-heading h2::after{content:"✦";display:inline-block;margin-left:14px;color:var(--gold);font-size:.42em;vertical-align:top;animation:sparkle 2.6s ease-in-out infinite}
.picker-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:13px}.picker-title span{padding:7px 11px;border-radius:999px;background:var(--navy);color:#fff;font-weight:900}.character-picker{display:grid;grid-template-columns:1fr 1fr;gap:9px;max-height:330px;margin-bottom:16px;padding:3px;overflow:auto}.pick-card{position:relative;display:grid;grid-template-columns:54px 1fr 28px;align-items:center;gap:11px;margin:0;padding:8px;border:2px solid #e8e2d7;border-radius:16px;background:#fff;cursor:pointer;transition:.2s ease}.pick-card:hover{border-color:#8ed2f7;transform:translateY(-1px)}.pick-card.is-selected{border-color:var(--gold);background:#fff8dc;box-shadow:0 7px 18px rgba(231,173,47,.18)}.pick-card input{position:absolute;opacity:0;pointer-events:none}.pick-card img{width:54px;height:54px;border-radius:11px;object-fit:cover;object-position:center top}.pick-card span{display:grid;gap:4px}.pick-card b{font-size:13px}.pick-card small{color:var(--muted);font-size:11px}.pick-card i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e9edf3;color:transparent;font-style:normal;font-weight:950}.pick-card.is-selected i{background:var(--gold);color:var(--navy)}.character-note.warning{background:#ffe9ef;color:#a11d55}
@keyframes balloon{50%{transform:translateY(-10px) rotate(2deg)}}@keyframes sparkle{50%{opacity:.35;transform:scale(.75) rotate(30deg)}}@media(max-width:700px){.party-balloons{opacity:.42;transform:scale(.65)}.balloons-left{left:-22px;top:130px}.balloons-right{display:none}.party-ribbon{justify-content:flex-start;gap:14px;white-space:nowrap;overflow:auto;font-size:11px}.character-picker{grid-template-columns:1fr;max-height:350px}}@media(prefers-reduced-motion:reduce){.party-balloons i,.section-heading h2::after{animation:none}}
