/* A birthday party in coral, sunshine, mint, blue and pink. */
.personal-birthday{--party-ink:#18324c;--party-coral:#f46c55;--party-yellow:#ffd45b;--party-mint:#78d8c2;--party-blue:#679bf0;background:#fff8eb;color:var(--party-ink);background-image:radial-gradient(#dfbd8a2b .8px,transparent .8px);background-size:20px 20px}.personal-birthday .site-header{border-color:#e9ddc9}.personal-birthday .site-header nav,.personal-birthday .site-directory{display:none}.personal-birthday .site-footer{border-color:#e9ddc9}.personal-birthday .skip:not(:focus){visibility:hidden}.personal-party{max-width:1210px;margin:auto;padding:0 44px}.party-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 0 18px}.party-date-tag{font-size:17px;font-weight:800;color:#ed6d52;letter-spacing:-.5px;display:flex;gap:14px;align-items:center}.party-date-tag b{font-size:8px;letter-spacing:1.6px;color:#64717b;border-left:1px solid #ddcfb7;padding-left:14px}.party-topline>div{display:flex;gap:20px}.party-topline button{border:0;background:none;color:#60727c;font-size:10px;padding:8px 0}.party-label,.gift-panel-kicker{font-size:9px;letter-spacing:1.8px;font-weight:700;color:#658487;line-height:1.8}.party-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:24px;align-items:center;min-height:640px;padding:35px 0 55px}.party-hero h1{font-family:'Manrope',sans-serif;font-size:clamp(57px,6.2vw,83px);line-height:1.02;letter-spacing:-4px;font-weight:800;margin:22px 0 25px;position:relative}.party-hero h1 span{display:block}.party-hero h1 span:first-child{color:#f06c54}.party-hero h1 span:nth-child(2){color:#19364c}.party-hero h1 em{display:inline-block;color:#5e9dda;font-style:normal;background:linear-gradient(transparent 75%,#ffda6c 75%);padding:0 8px 4px 0;transform:rotate(-3deg)}#personal-birthday-heading:focus{outline:none}.party-korean{font-size:11px;color:#70998e;letter-spacing:.4px}.party-intro{font-size:13px;line-height:1.95;color:#737b78;margin:17px 0 25px}.party-button{display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:14px 23px;background:#19384e;border:1px solid #19384e;border-radius:8px;color:#fffaf1;font:600 11px var(--sans);box-shadow:4px 5px 0 #d2c8ad;transition:translate .2s,box-shadow .2s;cursor:pointer}.party-button:hover{translate:0 -3px;box-shadow:5px 8px 0 #d2c8ad}.party-button.light{background:#fffdf5;color:#214256;border-color:#bdc8b8;box-shadow:3px 4px 0 #d8dbb8}.party-ticket{display:flex;flex-direction:column;align-items:flex-start;width:max-content;background:#f7b1cb;border:1px dashed #d486a4;border-radius:4px;padding:12px 18px;transform:rotate(-7deg);margin:30px 0 0 13px;position:relative;box-shadow:4px 5px 0 #eab1bf44}.party-ticket:before,.party-ticket:after{content:'';position:absolute;top:calc(50% - 7px);width:14px;height:14px;border-radius:50%;background:#fff8eb}.party-ticket:before{left:-7px}.party-ticket:after{right:-7px}.party-ticket>span{font-size:6px;letter-spacing:2px;color:#a55b78}.party-ticket strong{font:italic 20px var(--serif);color:#784a68;margin:4px 0}.party-ticket small{font-size:7px;color:#a26882}.party-wish-station{text-align:center;min-width:0}.birthday-sculpture{height:390px;max-width:460px;position:relative;margin:auto;isolation:isolate}.cake-orbit{position:absolute;inset:22px 16px 35px;border:2px dashed #eed098;border-radius:50%;transform:rotate(-15deg);background:radial-gradient(ellipse,#ffe3a647,transparent 66%)}.cake-spark{position:absolute;z-index:5;font:50px var(--serif);animation:partyBob 5s ease-in-out infinite}.spark-coral{left:13px;top:135px;color:#f49373}.spark-blue{right:22px;top:58px;color:#70b4dc;font-size:36px;animation-delay:.8s}.cake-sticker{position:absolute;right:0;bottom:97px;height:82px;width:82px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffd75c;border:2px solid #eec04b;outline:4px dotted #efc455;color:#926c2c;font-size:10px;font-weight:800;line-height:1.4;transform:rotate(13deg);z-index:6}.party-cake{position:absolute;width:225px;height:220px;top:60px;left:calc(50% - 112px);transform:rotate(-4deg);z-index:3}.party-cake-side{position:absolute;left:0;right:0;top:97px;height:110px;border-radius:0 0 110px 110px / 0 0 28px 28px;background:linear-gradient(90deg,#ef8c93,#ffb5bd 46%,#ffd0c4 58%,#ed91a6);box-shadow:inset 0 -10px 0 #d9769d23,0 7px 10px #a96e7220}.party-cake-side>span{position:absolute;top:75px;left:0;right:0;text-align:center;font:italic 18px var(--serif);color:#b36280}.party-cake-top{position:absolute;left:0;right:0;top:60px;height:76px;border-radius:50%;background:radial-gradient(ellipse at 40% 35%,#fff2b0,#ffe17a 58%,#f8cb59);border:1px solid #ffe99c;z-index:4}.party-cake-top>span{position:absolute;right:44px;top:30px;font-size:22px;color:#edab72;transform:rotate(-12deg)}.party-icing{position:absolute;top:108px;left:0;right:0;display:flex;justify-content:space-around;padding:0 4px;z-index:5}.party-icing b{display:block;width:30px;height:27px;background:linear-gradient(#ffe891,#ffdc6c);border-radius:0 0 22px 22px}.party-icing b:nth-child(even){height:40px}.party-icing b:first-child,.party-icing b:last-child{height:17px;width:24px}.party-candle{position:absolute;left:55px;top:2px;width:11px;height:74px;border-radius:4px;background:repeating-linear-gradient(35deg,#e9fffa 0 7px,#4bb5b2 8px 14px);border:1px solid #81bfb9;z-index:6}.candle-middle{left:107px;top:-8px;background:repeating-linear-gradient(35deg,#fff 0 7px,#9482d9 8px 14px);border-color:#b3a0e0;height:78px}.candle-right{left:160px;top:2px;background:repeating-linear-gradient(35deg,#fff3ee 0 7px,#e98878 8px 14px);border-color:#e5a198}.party-candle i{position:absolute;width:14px;height:25px;left:-2px;top:-29px;border-radius:60% 40% 50% 50% / 65% 65% 35% 35%;background:linear-gradient(#ec9753,#ffe47d 50%,#fff9bc);box-shadow:0 0 24px #f7c36680;transform-origin:50% 100%;animation:partyFlame 2s ease-in-out infinite;transition:opacity .25s,scale .25s}.candle-middle i{animation-delay:.4s}.candle-right i{animation-delay:.8s}.candles-out .party-candle i{animation:none;opacity:0;scale:.2}.cake-sprinkles{position:absolute;top:145px;left:30px;right:30px;height:25px;z-index:6;display:flex;gap:18px;align-items:center}.cake-sprinkles i{height:7px;width:3px;background:#73b9c7;border-radius:3px;transform:rotate(30deg)}.cake-sprinkles i:nth-child(2n){background:#fff5ae;transform:rotate(-25deg)}.cake-sprinkles i:nth-child(3n){background:#b38add;translate:0 -5px}.birthday-pedestal{position:absolute;left:calc(50% - 155px);bottom:66px;width:310px;height:60px;border-radius:50%;background:linear-gradient(90deg,#70c2b8,#c2f1dc 40%,#8fd9ca);box-shadow:0 12px 0 #65b8b2,0 20px 0 #51a6ab,0 40px 25px -5px #58968c25;z-index:1}.cake-handwriting{position:absolute;bottom:5px;left:0;right:0;text-align:center;color:#719c91;font:italic 16px var(--serif);transform:rotate(-4deg)}.party-wish-button{display:inline-flex;align-items:center;gap:22px;border:1px solid #d3b773;border-radius:25px;background:#ffdf80;color:#755a2d;font-size:11px;font-weight:700;padding:13px 22px;box-shadow:0 5px 0 #e9c97655;cursor:pointer;margin-top:13px}.party-wish-button span{font-size:17px}.party-wish-station>p{font-size:9px;color:#91947a;line-height:1.8;margin:13px auto 0;max-width:330px}.party-wish-result{display:flex;align-items:center;gap:23px;border:1px solid #a9c8ac;border-radius:12px;background:#dcf1cb;padding:24px 29px;margin:0 0 35px;animation:partyRise .45s both}.party-wish-result>span{font-size:37px;color:#4d9b93}.party-wish-result strong{font-size:12px;letter-spacing:1px;color:#316c61}.party-wish-result p{font-size:12px;line-height:1.8;color:#638678;margin:9px 0 0}.party-wish-result .wish-result-doodle{margin-left:auto;color:#84b09a;font-size:36px}.party-marquee{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:19px 10px;border-block:2px solid #19394d;white-space:nowrap;overflow:hidden;margin:0 0 60px;font-size:10px;font-weight:800;letter-spacing:2px;color:#214459}.party-marquee i{font-size:22px;font-style:normal;color:#ef8869}.party-marquee i:nth-child(4n){color:#67b8bc}.birthday-gifts{padding:0 0 45px;scroll-margin-top:25px}.gift-room-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:32px}.gift-room-heading h2{font:800 42px/1.12 'Manrope',sans-serif;letter-spacing:-1.7px;margin:17px 0 0;color:#213a51}.gift-room-heading h2 em{font:italic 46px/1.2 var(--serif);color:#ed7b5e;letter-spacing:-1.5px}.gift-progress{background:#d7e7ff;border:1px solid #bdd3ed;padding:14px 18px;border-radius:9px;transform:rotate(4deg);text-align:center;color:#537d9d;flex-shrink:0}.gift-progress strong{display:block;font:800 27px 'Manrope',sans-serif;letter-spacing:-1px}.gift-progress span{font-size:8px;display:block;margin-top:4px}.birthday-gift-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;align-items:stretch}.birthday-gift-card{position:relative;display:flex;flex-direction:column;text-align:left;align-items:flex-start;padding:24px 26px 27px;border:2px solid #e89782;border-radius:14px;background:#ffc2aa;color:#734b43;box-shadow:5px 7px 0 #e3c1a34d;cursor:pointer;transition:translate .25s,box-shadow .25s;overflow:hidden}.birthday-gift-card:hover{translate:0 -7px;box-shadow:6px 14px 0 #e3c1a34d}.gift-blue{background:#badbfa;border-color:#8cb8df;color:#355f82}.gift-yellow{background:#ffe48c;border-color:#edc66d;color:#8d682f}.gift-card-number{font-size:8px;letter-spacing:1.4px;font-weight:700;opacity:.68}.gift-card-art{display:block;position:relative;height:134px;width:100%;margin:17px 0 12px}.letter-art i{position:absolute;width:115px;height:85px;background:#fff8ec;border:1px solid #e2b293;border-radius:4px;left:calc(50% - 58px);top:21px;transform:rotate(-10deg);box-shadow:5px 7px 0 #d6998066}.letter-art i:before{content:'';position:absolute;inset:0;background:#f8ddc3;clip-path:polygon(0 0,100% 0,50% 58%)}.letter-art b{position:absolute;left:calc(50% - 14px);top:46px;font:37px var(--serif);color:#db8f83;transform:rotate(-10deg)}.photo-art i{position:absolute;left:calc(50% - 47px);top:8px;width:95px;height:113px;border:9px solid #f8fcff;border-bottom-width:25px;background:linear-gradient(145deg,#abc1ea,#8dbfb6);transform:rotate(10deg);box-shadow:-15px 9px 0 -4px #e2efff,5px 8px 0 #80a8d34d}.photo-art b{position:absolute;top:25px;left:calc(50% - 14px);font:italic 49px var(--serif);color:#f5faf8;transform:rotate(10deg)}.star-art{display:grid;place-items:center;font:110px/1 var(--serif);color:#e8ac54;text-shadow:3px 4px 0 #fff0b4;transform:rotate(-13deg)}.birthday-gift-card>strong{font:800 27px/1.12 'Manrope',sans-serif;letter-spacing:-.8px}.gift-card-hint{font-size:9px;line-height:1.8;display:block;opacity:.7;margin-top:17px}.gift-check{position:absolute;right:15px;top:14px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#fff9;color:#4d9277;font-size:14px;opacity:0;scale:.5;transition:opacity .2s,scale .2s}.gift-found .gift-check{opacity:1;scale:1}.gift-open-panel{margin-top:28px;scroll-margin-top:30px;border:1px solid #e4d5bf;border-radius:13px;background:#fffdf5;padding:33px;animation:partyRise .4s both}.gift-panel-kicker{font-size:8px;color:#c18469;letter-spacing:1.8px}.gift-open-panel h3{font:800 31px/1.18 'Manrope',sans-serif;letter-spacing:-1px;color:#314b57;margin:18px 0}.gift-open-panel h3:focus{outline:none}.personal-birthday-letter{max-width:780px;margin:30px auto 0;background:repeating-linear-gradient(#fffcf1 0 34px,#eee1c74d 35px 36px);border:1px solid #ddcbb0;box-shadow:7px 8px 0 #ebdbc657;padding:36px 42px;position:relative}.personal-birthday-letter:before{content:'';position:absolute;top:-12px;left:42%;width:95px;height:27px;background:#8fc9c082;transform:rotate(-5deg)}.personal-birthday-letter h3{font:italic 34px var(--serif);color:#c4765f;letter-spacing:0;margin:25px 0}.personal-birthday-letter p{font-size:13px;line-height:2;color:#867966;margin:0 0 20px}.birthday-letter-signoff{font:italic 30px/1.5 var(--serif);color:#c68b69;padding-top:7px}.birthday-letter-signoff strong{font:500 12px var(--sans);color:#a4947a;display:block;margin-top:6px}.gift-panel-heading{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:25px}.gift-panel-heading h3{font-size:28px;margin-bottom:0}.party-photo-section{background:#edf5ff;border-color:#c9ddef}.party-photo-section .gift-panel-kicker{color:#739cb7}.party-photo-section .party-button{font-size:10px;white-space:nowrap;padding:12px 17px;gap:12px}.party-text-link{display:block;width:max-content;max-width:100%;font-size:10px;color:#608dad;border-bottom:1px solid #aac4d9;padding-bottom:5px;margin:6px auto 0}.personal-birthday .surprise-photo-wall .memory{background:#fffdf6;border-color:#d3dce1;box-shadow:0 9px 20px #6094b112}.personal-birthday .surprise-photo-wall .memory:nth-child(3n+2){background:#fff0cd;border-color:#e8d5a8}.personal-birthday .surprise-photo-wall .memory:nth-child(3n){background:#e4f3de;border-color:#c7dfbd}.personal-birthday .memory h3{color:#747b77}.personal-birthday .memory-meta{color:#8a9b96}.personal-birthday .save-button{color:#c48a87}.party-photo-pause{padding:35px;text-align:center;font-size:12px;color:#7995a8}.birthday-scratch-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:37px;align-items:center;background:#fff1cc;border-color:#e4cf94}.birthday-scratch-panel h3{font-size:34px;color:#7b623d}.birthday-scratch-panel h3 em{font-family:var(--serif);color:#be864e;font-weight:500}.birthday-scratch-panel>div>p{font-size:12px;line-height:1.9;color:#a68c62;margin:0 0 23px}.birthday-scratch-panel .party-button{font-size:10px;padding:12px 17px}.birthday-scratch-card{position:relative;min-height:280px;background:#fffdfa;border:3px solid #fff;border-radius:16px;box-shadow:5px 8px 0 #d9bd8b40;overflow:hidden}.scratch-secret{position:relative;min-height:280px;padding:28px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:radial-gradient(circle at 100% 0,#f9d5e3,transparent 60%),#fdfaf2}.scratch-secret>span:first-child{font-size:7px;letter-spacing:1.8px;font-weight:700;color:#aa9b7e}.scratch-secret>strong{font:800 28px/1.17 'Manrope',sans-serif;letter-spacing:-.8px;color:#31554d;margin:18px 0 13px}.scratch-secret em{font-family:var(--serif);font-weight:500;color:#dd8469}.scratch-secret p{font-size:10px;line-height:1.8;color:#9a8f78;max-width:240px;margin:0}.scratch-secret-star{position:absolute;right:14px;bottom:10px;font-size:26px;color:#c6c182}#birthday-scratch-canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair;touch-action:none;border-radius:12px;transition:opacity .5s,visibility .5s}.birthday-scratch-card.is-revealed canvas{opacity:0;visibility:hidden;pointer-events:none}.birthday-scratch-panel #scratch-status{font-size:10px;margin:14px 0 0;min-height:18px;color:#84986b}.birthday-bonus{position:relative;display:flex;gap:42px;align-items:center;border:2px solid #8fbcad;background:#bde5d4;border-radius:15px;padding:36px 42px;margin:0 0 45px;overflow:hidden;animation:partyRise .5s both}.bonus-badge{height:140px;width:140px;flex-shrink:0;display:flex;align-items:center;justify-content:center;text-align:center;font:800 24px/1.1 'Manrope',sans-serif;letter-spacing:-1px;background:#ffda6b;color:#916b2f;border-radius:50%;outline:6px dotted #e8bc54;transform:rotate(-12deg);box-shadow:0 10px 0 #7cb1a126}.birthday-bonus .party-label{color:#538f7d}.birthday-bonus h2{font:800 35px/1.12 'Manrope',sans-serif;letter-spacing:-1px;color:#2b6357;margin:15px 0}.birthday-bonus h2 em{font:italic 42px var(--serif);color:#578f74}.birthday-bonus p{font-size:12px;line-height:1.9;color:#699b87;margin:0 0 22px}.birthday-bonus .party-button{background:#285f54;border-color:#285f54;box-shadow:4px 5px 0 #89baa4}.bonus-star{position:absolute;right:30px;top:30px;color:#7bb79b;font-size:90px;transform:rotate(15deg)}.party-last-note{text-align:center;padding:5px 20px 33px}.party-last-note>span{font:39px var(--serif);color:#e28c92}.party-last-note p{font:800 27px/1.4 'Manrope',sans-serif;letter-spacing:-.8px;color:#47656a;margin:13px 0}.party-last-note em{font:italic 32px var(--serif);color:#d48c70;letter-spacing:-.3px}.party-last-note small{font-size:9px;color:#9fa086;letter-spacing:.4px}.party-footer-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:24px;font-size:10px;color:#8b917b;padding:10px 0 20px}.party-footer-actions a{border-bottom:1px solid #cdc9ac;padding-bottom:5px}.party-footer-actions>span:empty{display:none}.party-preview-label{text-align:center;font-size:8px;line-height:1.8;color:#b0a18a;margin:0 0 25px}.personal-birthday-ribbon{display:block;text-align:center;background:linear-gradient(90deg,#ffdda0,#fbb9b2,#b9ded3);border-bottom:1px solid #dec394;color:#795e49;font-size:11px;font-weight:500;padding:12px 20px;line-height:1.7}
/* The entrance is a playable reveal, not the birthday page in a modal. */
#birthday-gate{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#153248;color:#fff6df;overflow:auto;box-shadow:none;isolation:isolate}#birthday-gate::backdrop{background:#153248}#birthday-gate:before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse at 15% 20%,#315f7160,transparent 50%),radial-gradient(ellipse at 90% 80%,#5e3e6940,transparent 50%);pointer-events:none;z-index:-1}.gate-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 30px;border-bottom:1px solid #ffffff12;position:relative;z-index:10}.gate-topbar>span{font-size:8px;letter-spacing:2px;color:#9bb1af;line-height:1.8}.gate-topbar b{font-size:12px;color:#f3d47d;margin-left:14px;letter-spacing:1px}.gate-topbar>div{display:flex;gap:22px}.gate-topbar button{background:none;border:0;color:#bdc5b6;font-size:9px;padding:7px 0}.gate-topbar button:last-child{border-bottom:1px solid #5b777c;color:#dde3ce}.gate-footer{text-align:center;padding:17px 20px 25px;font-size:7px;letter-spacing:3px;color:#718e94}.gate-sky{position:absolute;inset:90px 0 30px;pointer-events:none;overflow:hidden;z-index:-1}.gate-sky i{position:absolute;font-style:normal;font-size:44px;color:#ffd566;animation:partyBob 6s ease-in-out infinite}.gate-sky i:nth-child(1){left:9%;top:8%;transform:rotate(12deg)}.gate-sky i:nth-child(2){right:12%;top:18%;color:#78ceb6;font-size:28px;animation-delay:1s}.gate-sky i:nth-child(3){left:16%;bottom:18%;color:#ee99b6;font-size:35px;animation-delay:2s}.gate-sky i:nth-child(4){right:7%;bottom:15%;color:#7da9e9;font-size:55px;animation-delay:.5s}.gate-sky i:nth-child(5){left:36%;top:4%;font-size:15px;color:#fb966e;animation-delay:1.6s}.gate-sky i:nth-child(6){right:35%;bottom:7%;font-size:19px;color:#b5a0e0;animation-delay:2.6s}#birthday-gate-stage{min-height:calc(100dvh - 145px);display:flex;align-items:center;justify-content:center;padding:35px 25px}.gate-invitation,.balloon-game,.birthday-countdown,.birthday-grand-reveal{text-align:center;width:100%;max-width:850px;margin:auto;animation:partyRise .35s both}.secret-ticket{width:315px;max-width:90%;padding:21px 25px 18px;background:#ffd665;border:2px dashed #cf9c3b;border-radius:9px;color:#794f23;box-shadow:10px 12px 0 #f29a7844;transform:rotate(-7deg);position:relative;margin:0 auto 35px}.secret-ticket:before,.secret-ticket:after{content:'';position:absolute;top:calc(50% - 12px);height:24px;width:24px;border-radius:50%;background:#183a4e}.secret-ticket:before{left:-13px}.secret-ticket:after{right:-13px}.secret-ticket>span:first-child{font-size:9px;font-weight:700;letter-spacing:3px;display:block}.secret-ticket>strong{font:800 35px/1.1 'Manrope',sans-serif;letter-spacing:-1.4px;display:block;margin:8px 0 19px}.secret-ticket>div{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px dashed #c094475e;padding-top:12px}.secret-ticket b{font-size:6px;letter-spacing:1px}.secret-ticket i{font:italic 19px var(--serif)}.secret-ticket .ticket-star{position:absolute;right:-25px;top:-23px;font-size:65px;line-height:1;color:#f79092;text-shadow:2px 3px 0 #9f5b6244;transform:rotate(18deg)}#birthday-gate-title{font:800 clamp(31px,4.2vw,51px)/1.1 'Manrope',sans-serif;letter-spacing:-1.8px;color:#fff4dc;margin:0 0 20px}#birthday-gate-title em{font:italic 1.08em var(--serif);letter-spacing:-.8px;color:#7ed7c1}.gate-invitation>p{font-size:13px;line-height:1.9;color:#9fb9b7;margin:0 0 26px}.gate-invitation>.party-button,.birthday-grand-reveal>.party-button{background:#f59173;color:#542f2a;border-color:#ffb095;box-shadow:4px 5px 0 #915f5477;font-size:12px;padding:15px 25px}.gate-invitation>.party-button:hover,.birthday-grand-reveal>.party-button:hover{box-shadow:5px 8px 0 #915f5477}.gate-invitation>small,.birthday-grand-reveal>small{font-size:9px;color:#6f9797;display:block;margin-top:23px;letter-spacing:.4px}.gate-step-label{display:block;font-size:9px;letter-spacing:2.7px;color:#c3b887;margin-bottom:24px}.balloon-game #birthday-gate-title{font-size:40px}.birthday-balloons{display:flex;justify-content:center;gap:35px;margin:40px auto 20px;max-width:600px;height:242px}.birthday-balloon{position:relative;display:block;width:150px;height:230px;border:0;background:none;padding:0;cursor:pointer;flex:0 1 150px;color:inherit}.balloon-shape{position:absolute;left:0;top:0;width:150px;max-width:100%;height:172px;border-radius:50% 50% 46% 46%;background:radial-gradient(ellipse at 30% 22%,#ffbdb4,#ff8875 45%,#e56c63);box-shadow:inset -10px -8px 18px #a9464f35,8px 14px 18px #00000017;transition:transform .25s,opacity .25s}.balloon-shape:before{content:'';position:absolute;left:23%;top:15%;width:18%;height:29%;border-radius:50%;background:#fff7;transform:rotate(25deg)}.balloon-shape:after{content:'';position:absolute;bottom:-9px;left:calc(50% - 9px);border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:15px solid #e77166}.balloon-shape>i{position:absolute;top:42%;left:0;right:0;font:italic 35px var(--serif);color:#ffffff9c;z-index:1}.balloon-1 .balloon-shape{background:radial-gradient(ellipse at 30% 22%,#fff0ae,#ffda6c 45%,#e5b449);box-shadow:inset -10px -8px 18px #b9852830,8px 14px 18px #00000017;top:14px}.balloon-1 .balloon-shape:after{border-bottom-color:#eac04e}.balloon-2 .balloon-shape{background:radial-gradient(ellipse at 30% 22%,#bef3e5,#80d7c7 45%,#51b6b1);box-shadow:inset -10px -8px 18px #257e8a33,8px 14px 18px #00000017}.balloon-2 .balloon-shape:after{border-bottom-color:#58bcb4}.balloon-string{position:absolute;top:179px;left:50%;height:46px;width:20px;border-left:1px solid #bbc8b870;border-radius:50%;transform:rotate(-12deg)}.balloon-1 .balloon-string{top:193px;height:32px}.balloon-word{position:absolute;top:60px;left:0;right:0;color:#fff2cb;font:800 29px 'Manrope',sans-serif;letter-spacing:-.5px;opacity:0;scale:.6;transition:opacity .2s,scale .3s}.birthday-balloon.popped .balloon-shape{transform:scale(1.25);opacity:0}.birthday-balloon.popped .balloon-string{opacity:0}.birthday-balloon.popped .balloon-word{opacity:1;scale:1}.birthday-balloon:disabled{opacity:1!important;cursor:default}.birthday-balloon:focus-visible{outline:2px dashed #ffffff75;outline-offset:9px;border-radius:20px}.balloon-game>p{font-size:11px;color:#8fb2b2;line-height:1.8;margin:5px 0 0}.birthday-countdown>strong{display:block;font:800 clamp(140px,25vw,260px)/1 'Manrope',sans-serif;color:#ffd766;text-shadow:8px 10px 0 #f68b775e;letter-spacing:-14px;margin:30px 0}.birthday-countdown>p{font-size:13px;color:#96b6b3}.countdown-tick{animation:countPop .35s both}.reveal-sticker{display:inline-block;background:#79d9bd;color:#194f48;border-radius:5px;font-size:11px;font-weight:800;letter-spacing:3px;padding:10px 22px;transform:rotate(-8deg);margin-bottom:22px;box-shadow:5px 5px 0 #3b8f8655}.birthday-grand-reveal #birthday-gate-title{font:800 clamp(44px,10vw,106px)/1.01 'Manrope',sans-serif;letter-spacing:-4px;margin-bottom:24px}.birthday-grand-reveal h2 span{display:block;color:#ffd862}.birthday-grand-reveal h2 span:nth-child(2){color:#f6a1c3}.birthday-grand-reveal h2 em{font:800 1.15em/1.1 'Manrope',sans-serif!important;letter-spacing:-3px!important;color:#83dcbe!important;display:block}.birthday-grand-reveal>p{font-size:13px;line-height:1.8;color:#a2bfb9;margin:0 0 24px}.personal-confetti{position:fixed;inset:0;z-index:100;pointer-events:none;overflow:hidden}.personal-confetti span{position:absolute;left:var(--confetti-x);top:-50px;font-size:var(--confetti-size);animation:rainbowConfetti 3.2s var(--confetti-delay) ease-in forwards}@keyframes rainbowConfetti{to{transform:translate(30px,112vh) rotate(var(--confetti-turn));opacity:0}}@keyframes partyBob{50%{translate:0 -8px}}@keyframes partyFlame{50%{transform:rotate(5deg) scale(.88);opacity:.78}}@keyframes partyRise{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}@keyframes countPop{from{opacity:.4;scale:.65}to{opacity:1;scale:1}}
@media(max-width:1050px){.personal-party{padding:0 32px}.party-hero{gap:15px;min-height:610px}.party-hero h1{font-size:65px;letter-spacing:-3px}.party-label{font-size:8px;letter-spacing:1.5px}.birthday-sculpture{height:365px}.party-cake{transform:rotate(-4deg) scale(.92);top:50px}.birthday-pedestal{width:280px;left:calc(50% - 140px);bottom:61px}.cake-sticker{height:66px;width:66px;font-size:8px;right:0;bottom:90px}.spark-coral{left:0;font-size:40px}.spark-blue{right:0;font-size:30px}.gift-room-heading h2{font-size:37px}.gift-room-heading h2 em{font-size:41px}.birthday-gift-grid{gap:19px}.birthday-gift-card{padding:22px}.birthday-gift-card>strong{font-size:24px}.gift-card-hint{font-size:8px}.gift-panel-heading{gap:20px}.gift-panel-heading h3{font-size:26px}.birthday-scratch-panel{gap:26px}.scratch-secret{padding:24px}.scratch-secret>strong{font-size:25px}.birthday-bonus{gap:32px;padding:32px}.bonus-star{right:20px;font-size:70px}}
@media(max-width:760px){.personal-party{padding:0 23px}.party-topline{padding:22px 0 13px;gap:14px}.party-date-tag{font-size:15px;gap:10px}.party-date-tag b{font-size:6px;letter-spacing:.8px;padding-left:10px;max-width:110px;line-height:1.6}.party-topline>div{gap:15px}.party-topline button{font-size:8px}.party-hero{grid-template-columns:1fr;gap:14px;padding:25px 0 35px;min-height:0}.party-hero h1{font-size:clamp(53px,11.8vw,75px);letter-spacing:-2.8px;line-height:1.02;margin:20px 0 25px}.party-korean{font-size:10px}.party-intro{font-size:12px;line-height:1.95}.party-label{font-size:7px;letter-spacing:1.5px}.party-button{font-size:10px;padding:13px 21px;gap:20px}.party-ticket{margin:23px 0 0 10px;padding:10px 16px}.party-ticket strong{font-size:19px}.party-ticket>span{font-size:5px}.party-ticket small{font-size:6px}.birthday-sculpture{max-width:400px;height:375px;margin-top:16px}.party-cake{transform:rotate(-4deg);top:58px}.birthday-pedestal{width:300px;left:calc(50% - 150px);bottom:64px}.cake-sticker{right:7px;bottom:98px;height:70px;width:70px}.spark-coral{left:10px;top:110px;font-size:39px}.spark-blue{right:15px;top:44px;font-size:31px}.cake-handwriting{font-size:15px;bottom:1px}.party-wish-button{font-size:10px;gap:17px;padding:12px 20px}.party-wish-station>p{font-size:8px}.party-wish-result{padding:20px;gap:15px}.party-wish-result strong{font-size:10px}.party-wish-result p{font-size:10px}.party-wish-result>span{font-size:28px}.party-wish-result .wish-result-doodle{display:none}.party-marquee{justify-content:flex-start;padding:16px 7px;gap:23px;margin-bottom:40px;font-size:8px;letter-spacing:1.7px}.party-marquee i{font-size:19px}.gift-room-heading{gap:20px;align-items:center;margin-bottom:27px}.gift-room-heading h2{font-size:31px;margin-top:14px}.gift-room-heading h2 em{font-size:34px}.gift-progress{padding:12px 13px}.gift-progress strong{font-size:23px}.gift-progress span{font-size:6px}.birthday-gift-grid{grid-template-columns:1fr;gap:20px}.birthday-gift-card{display:grid;grid-template-columns:120px 1fr;gap:8px 20px;padding:23px;align-items:center}.gift-card-art{grid-column:1;grid-row:1/4;height:120px;width:120px;margin:0}.gift-card-number,.birthday-gift-card>strong,.gift-card-hint{grid-column:2}.gift-card-number{font-size:7px;letter-spacing:1.1px}.birthday-gift-card>strong{font-size:25px;letter-spacing:-.7px;line-height:1.1}.gift-card-hint{margin:0;font-size:8px}.gift-check{height:20px;width:20px;top:10px;right:10px;font-size:11px}.letter-art i{width:97px;height:76px;left:calc(50% - 49px);top:23px}.letter-art b{top:44px;left:calc(50% - 13px);font-size:32px}.photo-art i{width:85px;height:105px;left:calc(50% - 42px);top:5px}.photo-art b{font-size:44px;left:calc(50% - 13px);top:23px}.star-art{font-size:94px}.gift-open-panel{padding:25px;margin-top:24px}.gift-open-panel h3{font-size:28px}.gift-panel-kicker{font-size:7px;letter-spacing:1.2px}.personal-birthday-letter{padding:29px 27px}.personal-birthday-letter h3{font-size:30px;margin:22px 0}.personal-birthday-letter p{font-size:12px}.birthday-letter-signoff{font-size:27px}.birthday-letter-signoff strong{font-size:10px;line-height:1.7}.gift-panel-heading{flex-direction:column;align-items:flex-start;gap:20px}.gift-panel-heading h3{font-size:25px}.party-photo-section .party-button{font-size:9px;padding:11px 15px}.party-text-link{font-size:9px;line-height:1.7}.birthday-scratch-panel{grid-template-columns:1fr;gap:23px}.birthday-scratch-panel h3{font-size:31px}.birthday-scratch-panel>div>p{font-size:11px;margin-bottom:20px}.birthday-scratch-panel .party-button{font-size:10px}.birthday-scratch-card,.scratch-secret{min-height:270px}.scratch-secret{padding:27px}.scratch-secret>strong{font-size:28px}.scratch-secret p{font-size:10px}.birthday-bonus{padding:27px;gap:26px;flex-wrap:wrap}.bonus-badge{height:100px;width:100px;font-size:20px;outline-width:4px}.birthday-bonus>div:nth-child(2){flex:1;min-width:180px}.birthday-bonus h2{font-size:29px}.birthday-bonus h2 em{font-size:36px}.birthday-bonus p{font-size:11px}.bonus-star{display:none}.party-last-note p{font-size:24px}.party-last-note em{font-size:28px}.party-last-note small{font-size:8px}.party-footer-actions{font-size:9px;gap:17px}.party-preview-label{font-size:7px}.personal-birthday-ribbon{font-size:10px;padding:11px 17px}.gate-topbar{padding:17px 20px;gap:15px}.gate-topbar>span{font-size:6px;letter-spacing:1.2px;max-width:165px}.gate-topbar b{font-size:10px;display:block;margin:4px 0 0}.gate-topbar>div{gap:14px}.gate-topbar button{font-size:8px}.gate-footer{font-size:6px;letter-spacing:1.7px;padding:12px 15px 22px}#birthday-gate-stage{min-height:calc(100dvh - 143px);padding:32px 24px}.gate-sky{inset:95px 0 40px}.gate-sky i:nth-child(1){left:4%;top:4%;font-size:31px}.gate-sky i:nth-child(2){right:5%;top:19%;font-size:22px}.gate-sky i:nth-child(3){left:5%;bottom:19%;font-size:27px}.gate-sky i:nth-child(4){right:3%;bottom:8%;font-size:39px}.gate-sky i:nth-child(5),.gate-sky i:nth-child(6){display:none}.secret-ticket{width:285px;padding:20px 23px 16px;margin-bottom:35px}.secret-ticket>strong{font-size:32px}.secret-ticket>span:first-child{font-size:8px}.secret-ticket b{font-size:5px}.secret-ticket .ticket-star{font-size:52px;right:-19px;top:-18px}#birthday-gate-title{font-size:37px;letter-spacing:-1.2px}.gate-invitation>p{font-size:12px;margin-bottom:24px}.gate-invitation>.party-button,.birthday-grand-reveal>.party-button{font-size:11px;padding:14px 21px;gap:19px}.gate-invitation>small,.birthday-grand-reveal>small{font-size:8px}.gate-step-label{font-size:7px;letter-spacing:1.8px;margin-bottom:20px}.balloon-game #birthday-gate-title{font-size:31px}.birthday-balloons{gap:19px;max-width:350px;height:190px;margin:35px auto 15px}.birthday-balloon{width:95px;flex-basis:95px;height:180px}.balloon-shape{width:95px;height:121px}.balloon-shape>i{font-size:27px;top:38%}.balloon-shape:after{bottom:-9px;border-left-width:7px;border-right-width:7px;border-bottom-width:13px;left:calc(50% - 7px)}.balloon-string{top:130px;height:45px}.balloon-1 .balloon-string{top:144px;height:30px}.balloon-word{font-size:20px;top:45px}.balloon-game>p{font-size:10px}.birthday-countdown>strong{font-size:190px;letter-spacing:-9px;margin:27px 0}.birthday-countdown>p{font-size:12px}.reveal-sticker{font-size:9px;padding:9px 18px;letter-spacing:2.5px;margin-bottom:25px}.birthday-grand-reveal #birthday-gate-title{font-size:clamp(43px,10.6vw,70px);letter-spacing:-2px;margin-bottom:25px}.birthday-grand-reveal h2 em{letter-spacing:-2px!important}.birthday-grand-reveal>p{font-size:12px;max-width:290px;margin:0 auto 23px}}
@media(max-width:420px){.party-topline{gap:10px}.party-date-tag{font-size:14px;gap:9px}.party-date-tag b{font-size:5px;letter-spacing:.6px;padding-left:9px;max-width:83px}.party-topline>div{gap:11px}.party-topline button{font-size:7px}.party-hero h1{font-size:clamp(43px,12vw,51px);letter-spacing:-2.1px}.party-label{font-size:6px;letter-spacing:1px}.party-korean{font-size:8px}.party-intro{font-size:11px}.party-button{font-size:9px;padding:12px 18px;gap:17px}.birthday-sculpture{height:337px}.party-cake{transform:rotate(-4deg) scale(.86);top:34px}.birthday-pedestal{width:254px;left:calc(50% - 127px);bottom:61px;height:54px}.cake-orbit{inset:14px 9px 33px}.cake-sticker{height:53px;width:53px;right:0;bottom:101px;font-size:7px;outline-width:3px}.spark-coral{left:0;top:110px;font-size:31px}.spark-blue{right:1px;top:29px;font-size:25px}.cake-handwriting{font-size:13px}.party-wish-button{font-size:9px;padding:11px 18px;margin-top:11px}.party-wish-station>p{font-size:7px}.party-wish-result{padding:18px;gap:13px}.party-wish-result strong{font-size:9px;letter-spacing:.7px}.party-wish-result p{font-size:9px}.party-marquee{font-size:7px;gap:20px;padding-block:15px}.gift-room-heading{gap:14px}.gift-room-heading h2{font-size:27px;letter-spacing:-1px}.gift-room-heading h2 em{font-size:30px;letter-spacing:-.7px}.gift-progress{padding:10px 11px}.gift-progress strong{font-size:21px}.gift-progress span{font-size:5px;line-height:1.5;max-width:62px}.birthday-gift-card{grid-template-columns:91px 1fr;gap:7px 17px;padding:22px 18px}.gift-card-art{width:91px;height:114px}.gift-card-number{font-size:6px;letter-spacing:.8px}.birthday-gift-card>strong{font-size:21px;letter-spacing:-.6px}.gift-card-hint{font-size:7px;line-height:1.7}.letter-art i{width:78px;height:66px;left:calc(50% - 39px);top:22px}.letter-art b{font-size:28px;top:40px;left:calc(50% - 11px)}.photo-art i{width:70px;height:90px;left:calc(50% - 35px);top:11px;border-width:7px;border-bottom-width:21px;box-shadow:-12px 7px 0 -3px #e2efff,5px 8px 0 #80a8d34d}.photo-art b{font-size:37px;top:24px;left:calc(50% - 10px)}.star-art{font-size:79px}.gift-open-panel{padding:23px 20px}.gift-panel-kicker{font-size:6px;letter-spacing:.9px}.gift-open-panel h3{font-size:25px}.personal-birthday-letter{padding:27px 23px}.personal-birthday-letter h3{font-size:28px;letter-spacing:0}.personal-birthday-letter p{font-size:11px;line-height:1.95}.birthday-letter-signoff{font-size:25px}.birthday-letter-signoff strong{font-size:9px}.gift-panel-heading h3{font-size:23px}.birthday-scratch-panel h3{font-size:28px}.birthday-scratch-panel>div>p{font-size:10px}.birthday-scratch-card,.scratch-secret{min-height:255px}.scratch-secret{padding:23px}.scratch-secret>strong{font-size:25px}.scratch-secret>span:first-child{font-size:6px;letter-spacing:1.1px}.scratch-secret p{font-size:9px}.birthday-scratch-panel .party-button{font-size:9px;padding:11px 15px}.birthday-scratch-panel #scratch-status{font-size:9px}.birthday-bonus{padding:26px 23px;gap:24px}.bonus-badge{height:85px;width:85px;font-size:18px}.birthday-bonus h2{font-size:28px}.birthday-bonus h2 em{font-size:34px}.birthday-bonus p{font-size:10px}.party-last-note p{font-size:21px;letter-spacing:-.4px}.party-last-note em{font-size:25px}.party-last-note small{font-size:7px}.party-footer-actions{font-size:8px;gap:15px}.party-preview-label{font-size:6px}.gate-topbar{padding:16px 17px;gap:13px}.gate-topbar>span{font-size:5px;letter-spacing:.8px;max-width:138px}.gate-topbar b{font-size:9px}.gate-topbar>div{gap:12px}.gate-topbar button{font-size:7px}.gate-footer{font-size:5px;letter-spacing:1.1px}#birthday-gate-stage{padding:30px 22px}.secret-ticket{width:255px;padding:18px 21px 15px;margin-bottom:34px}.secret-ticket>strong{font-size:28px}.secret-ticket>span:first-child{font-size:7px;letter-spacing:2px}.secret-ticket>div{gap:8px;padding-top:10px}.secret-ticket b{font-size:4px;letter-spacing:.6px}.secret-ticket i{font-size:17px}.secret-ticket .ticket-star{font-size:47px;right:-17px;top:-16px}#birthday-gate-title{font-size:32px;letter-spacing:-1px}.gate-invitation>p{font-size:11px}.gate-invitation>.party-button,.birthday-grand-reveal>.party-button{font-size:10px;padding:13px 18px;gap:14px}.gate-invitation>small,.birthday-grand-reveal>small{font-size:7px;line-height:1.8}.balloon-game #birthday-gate-title{font-size:27px}.gate-step-label{font-size:6px;letter-spacing:1.5px}.birthday-balloons{gap:14px;height:173px;margin-top:31px}.birthday-balloon{width:78px;flex-basis:78px;height:170px}.balloon-shape{height:106px;width:78px}.balloon-shape>i{font-size:25px}.balloon-string{top:115px;height:39px}.balloon-1 .balloon-string{top:130px;height:29px}.balloon-word{font-size:17px;top:41px}.balloon-game>p{font-size:9px}.birthday-countdown>strong{font-size:160px}.birthday-countdown>p{font-size:11px}.reveal-sticker{font-size:8px;letter-spacing:2px}.birthday-grand-reveal #birthday-gate-title{font-size:clamp(38px,11.1vw,46px);letter-spacing:-1.6px}.birthday-grand-reveal>p{font-size:11px}.gate-sky i:nth-child(1){font-size:25px}.gate-sky i:nth-child(4){font-size:31px}}
.personal-birthday .toast{background:#1d4152;border-color:#86b2a6;color:#fff1cc;box-shadow:0 10px 25px #1b39432b}.personal-birthday button:focus-visible,.personal-birthday a:focus-visible{outline-color:#287c83}#birthday-gate button:focus-visible{outline-color:#ffdb75}
@media(prefers-reduced-motion:reduce){.cake-spark,.party-candle i,.gate-sky i{animation:none!important}.personal-confetti{display:none}.birthday-gift-card,.party-button,.balloon-shape,.balloon-word,#birthday-scratch-canvas{transition:none!important}.party-wish-result,.gift-open-panel,.birthday-bonus,.gate-invitation,.balloon-game,.birthday-countdown,.birthday-grand-reveal,.countdown-tick{animation:none!important}.birthday-gift-card:hover,.party-button:hover{translate:none}}
