:root{--sky:#69c7ff;--blue:#2879c7;--navy:#183b61;--cream:#fffaf0;--white:#fff;--text:#25415d;--muted:#668097;--shadow:0 18px 45px #21527824;--radius:28px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--text);background:var(--cream);margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.55}a{color:inherit}img{max-width:100%;display:block}.hero{background:radial-gradient(circle at 18% 18%,#ffffffd9 0 4%,#0000 5%),radial-gradient(circle at 82% 12%,#fff9 0 3%,#0000 4%),linear-gradient(#73d1ff 0%,#a8e5ff 62%,#e7f8ff 100%);grid-template-columns:1fr;align-items:center;min-height:min(820px,100svh);padding:42px 22px 20px;display:grid;position:relative;overflow:hidden}.hero__content{z-index:2;text-align:center;max-width:600px;margin:0 auto;position:relative}.eyebrow,.section-kicker{color:var(--blue);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:.82rem;font-weight:800}.hero .eyebrow{color:#183b61b8}h1,h2,h3{margin-top:0;line-height:1.08}h1{color:var(--navy);letter-spacing:-.045em;margin-bottom:18px;font-size:clamp(2.55rem,12vw,5.7rem)}h1 span{color:#147bc2;display:block}.hero__message{color:#315673;max-width:520px;margin:0 auto 22px;font-size:1.05rem}.birthday-badge{background:#ffffffe0;border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;padding:11px 17px;display:inline-flex;box-shadow:0 10px 30px #26679721}.quick-nav{justify-content:center;gap:10px;margin-top:24px;display:flex}.quick-nav a{background:#ffffff94;border:2px solid #ffffffb3;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:82px;min-height:70px;font-size:1.45rem;text-decoration:none;transition:transform .2s,background .2s;display:flex}.quick-nav a span{font-size:.75rem;font-weight:800}.quick-nav a:hover,.quick-nav a:focus-visible{background:var(--white);transform:translateY(-4px)}.hero__character{z-index:1;width:min(92vw,430px);margin:-4px auto 0;animation:5s ease-in-out infinite float;position:relative}.hero__character img{object-fit:contain;object-position:bottom center;filter:drop-shadow(0 24px 18px #265e822e);width:100%;max-height:55svh}.hero__stars{pointer-events:none;justify-content:space-around;font-size:1.4rem;display:flex;position:absolute;top:3%;left:0;right:0}.hero__cloud{background:#ffffff85;border-radius:999px;width:170px;height:55px;position:absolute}.hero__cloud:before,.hero__cloud:after{content:"";background:inherit;border-radius:50%;position:absolute}.hero__cloud:before{width:75px;height:75px;bottom:8px;left:30px}.hero__cloud:after{width:55px;height:55px;bottom:4px;right:25px}.hero__cloud--one{top:13%;left:-65px}.hero__cloud--two{top:30%;right:-80px;transform:scale(.75)}.section{width:min(1120px,100% - 32px);margin:0 auto;padding:76px 0}.section--birthday{text-align:center;padding-bottom:45px}.section-heading{text-align:center;max-width:720px;margin:0 auto 32px}.section-heading h2{color:var(--navy);letter-spacing:-.035em;margin-bottom:12px;font-size:clamp(2rem,7vw,3.4rem)}.section-heading>p:last-child{color:var(--muted);margin:0}.music-list{gap:18px;display:grid}.music-card{border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow);border:1px solid #4382a81f;grid-template-columns:auto 1fr;align-items:start;gap:16px;padding:20px;display:grid}.music-card__icon{background:#e2f5ff;border-radius:18px;place-items:center;width:56px;height:56px;font-size:1.65rem;display:grid}.music-card h3{color:var(--navy);margin-bottom:4px;font-size:1.2rem}.music-card p{color:var(--muted);margin:0 0 12px;font-size:.92rem}.music-card audio{width:100%}.section--memories{background:#e9f8ff;border-radius:36px}.memory-grid{gap:18px;display:grid}.memory-card{border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow);margin:0;overflow:hidden}.memory-card img{width:100%;height:auto}.future-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.future-card{background:var(--white);border-radius:24px;padding:22px 16px;position:relative;box-shadow:0 12px 32px #21527817}.future-card>span:first-child{margin-bottom:12px;font-size:2rem;display:block}.future-card h3{margin-bottom:7px;font-size:1.05rem}.future-card p{color:var(--muted);margin:0 0 12px;font-size:.86rem}.coming{color:var(--muted);background:#eef6fa;border-radius:999px;padding:4px 9px;font-size:.7rem;font-weight:800;display:inline-block}.footer{text-align:center;background:var(--navy);color:#ffffffdb;padding:35px 20px 45px}.footer p{margin:0 0 5px;font-weight:700}.footer small{opacity:.7}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (width>=760px){.hero{grid-template-columns:1fr 1fr;gap:20px;min-height:760px;padding:70px 6vw}.hero__content{text-align:left;margin:0}.hero__message{margin-left:0}.quick-nav{justify-content:flex-start}.hero__character{width:min(45vw,520px);margin:0 auto}.hero__character img{max-height:690px}.music-list{grid-template-columns:repeat(3,1fr)}.music-card{grid-template-columns:1fr}.memory-grid{grid-template-columns:repeat(2,1fr)}.future-grid{grid-template-columns:repeat(4,1fr)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero__character{animation:none}.quick-nav a{transition:none}}.footer__signature{color:#ffffff6b;letter-spacing:.04em;margin-top:5px;font-size:.66rem;font-weight:600;display:block}.section--party{padding-top:50px}.party-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.party-card{background:var(--white);border:1px solid #4382a81a;border-radius:25px;flex-direction:column;justify-content:center;min-height:145px;padding:22px 16px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 12px 32px #21527817}.party-card:hover,.party-card:focus-visible{box-shadow:var(--shadow);transform:translateY(-4px)}.party-card>span{margin-bottom:10px;font-size:2rem}.party-card strong{color:var(--navy);font-size:1rem}.party-card small{color:var(--muted);margin-top:5px;font-size:.78rem}@media (width>=760px){.party-grid{grid-template-columns:repeat(4,1fr)}}@media (prefers-reduced-motion:reduce){.party-card{transition:none}}.party-page{isolation:isolate;position:relative;overflow:hidden}.party-page:before,.party-page:after{z-index:-1;pointer-events:none;content:"";opacity:.55;border-radius:999px;position:absolute}.party-page:before{background:#ffffffb8;width:180px;height:180px;top:30px;left:-75px;box-shadow:95px 25px 0 -20px #ffffffad,125px 5px 0 -35px #ffffffa6}.party-page:after{background:#ffffff7a;width:150px;height:150px;top:170px;right:-65px;box-shadow:-70px 25px 0 -22px #ffffff73,-95px 5px 0 -35px #fff6}.party-top{position:relative}.party-top:after{content:"✦   ✧   ⭐";color:#2879c780;letter-spacing:.35em;margin-top:18px;font-size:.9rem;display:block}.party-hero-icon{background:#ffffffb8;border:5px solid #ffffffc7;border-radius:32px;place-items:center;width:92px;height:92px;margin:0 auto 18px;font-size:3.4rem;display:grid;transform:rotate(-2deg);box-shadow:0 18px 38px #2152781f,inset 0 1px #ffffffe6}.party-top h1{color:var(--navy);letter-spacing:-.035em;line-height:1.04}.party-panel{backdrop-filter:blur(8px);border:1px solid #4382a817;position:relative;overflow:hidden}.party-panel:after{content:"";pointer-events:none;background:#9fe4ff2b;border-radius:50%;width:100px;height:100px;position:absolute;top:-34px;right:-34px}.party-panel--featured{background:linear-gradient(135deg,#fffffff5,#effaffeb);border:2px solid #43aadd21}.party-panel--soft{background:linear-gradient(135deg,#ffffffeb,#fffaeff0)}.party-panel__badge{color:#2879c7;letter-spacing:.06em;background:#e5f6ff;border-radius:999px;align-items:center;min-height:30px;margin-bottom:12px;padding:5px 11px;font-size:.68rem;font-weight:900;display:inline-flex}.party-section-icon{background:#eaf8ff;border-radius:19px;place-items:center;width:58px;height:58px;margin-bottom:14px;font-size:1.8rem;display:grid}.party-audio{border-radius:16px;width:100%;margin-top:18px;display:block}.party-actions{z-index:1;position:relative}.party-button{border:2px solid #0000;min-height:60px;transition:transform .18s,box-shadow .18s,background-color .18s}.party-button:focus-visible,.party-back a:focus-visible,.party-card:focus-visible{outline-offset:4px;outline:4px solid #2879c73d}.party-button:hover{box-shadow:0 14px 30px #2879c738}.party-button--soft:hover{background:#d9f1ff}.party-back{text-align:center;padding:24px 0 0}.party-back a{min-height:48px;color:var(--navy);background:#ffffffb8;border-radius:999px;justify-content:center;align-items:center;padding:10px 17px;font-size:.84rem;font-weight:800;text-decoration:none;display:inline-flex;box-shadow:0 8px 22px #21527812}.party-back a:hover{background:#fff}.game-grid{grid-template-columns:repeat(2,1fr)}.game-card{border:1px solid #4382a814;min-height:190px;transition:transform .18s,box-shadow .18s;position:relative}.game-card--interactive{cursor:pointer}.game-card--interactive:hover{transform:translateY(-4px);box-shadow:0 16px 34px #21527821}.game-card__icon{background:#f0faff;border-radius:21px;justify-content:center;align-items:center;width:62px;height:62px;display:inline-flex}.game-card__status{color:#71808d;background:#f3f5f7;border-radius:999px;width:fit-content;margin-top:14px;padding:5px 9px;font-size:.66rem;font-weight:900;display:inline-flex}.game-card__status--ready{color:#32824c;background:#e8f8ed}.gift-card{border:1px solid #4382a814;transition:transform .18s,box-shadow .18s;position:relative}.gift-card:hover{transform:translateY(-3px);box-shadow:0 15px 32px #2152781f}.gift-card__icon{box-shadow:inset 0 1px #fffc}.friend-card{border:1px solid #4382a814;transition:transform .18s,box-shadow .18s}.friend-card:hover{transform:translateY(-3px);box-shadow:0 15px 32px #2152781f}.friend-card__avatar{position:relative}.friend-card__avatar:after{content:"✦";color:#2879c757;font-size:1rem;position:absolute;bottom:10px;right:12px}@media (width<=520px){.party-page{padding-left:14px;padding-right:14px}.party-panel{border-radius:26px;padding:20px}.party-hero-icon{border-radius:28px;width:82px;height:82px;font-size:3rem}.game-grid{grid-template-columns:1fr}.game-card{min-height:155px}}@media (prefers-reduced-motion:reduce){.party-button,.party-card,.game-card,.gift-card,.friend-card{transition:none}}
