.gift-world[data-theme=birthday-confetti]{--birthday-ink:#56283f;--birthday-muted:#75616b;--birthday-paper:#fff9ef;background:linear-gradient(140deg,#fff4e7,#f9e8e3 58%,#fff5e8);color:var(--birthday-ink);min-height:100vh}
[data-theme=birthday-confetti] .gift-atmosphere{display:none}
[data-theme=birthday-confetti] .gift-mode-banner{background:#f7e8db;color:#704453;border-color:#d8bdb5}
[data-theme=birthday-confetti] .gift-mode-banner a{color:#884566}
[data-theme=birthday-confetti] .gift-top{background:#fff5ebe8;border-bottom-color:#703c531c}
[data-theme=birthday-confetti] .gift-monogram,[data-theme=birthday-confetti] .gift-monogram span{color:#68334d}
[data-theme=birthday-confetti] .gift-top .gift-for{color:#866a74}
[data-theme=birthday-confetti] .music-toggle{color:#68334d;background:#fff9ef44;border-color:#c18e9e59}
[data-theme=birthday-confetti] .gift-progress span{background:#bc6d8d}
.birthday-opening{max-width:1160px;margin:0 auto;padding:95px 35px 80px;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.birthday-mark{display:block;margin-bottom:23px;color:#bd8b50;font-size:25px}
.birthday-kicker{font:10px/1.8 var(--sans,sans-serif);letter-spacing:.19em;text-transform:uppercase;color:#947372;margin:0 0 18px}
.birthday-opening h1{margin:19px 0 27px;line-height:1.05;font-weight:400;letter-spacing:-.04em;color:#56283f}
.birthday-opening h1>span{display:block;margin-bottom:17px;font:35px/1.2 var(--serif,Georgia,serif);letter-spacing:-.02em;color:#a45e7a}
.birthday-opening h1 em{display:block;font:italic clamp(46px,5.6vw,79px)/1.05 var(--serif,Georgia,serif);letter-spacing:-.035em;color:#56283f}
.birthday-intro{max-width:490px;margin:0;color:#765d69;font:15px/1.95 var(--sans,sans-serif)}
.birthday-byline{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:30px;color:#8b6977;font:12px var(--sans,sans-serif)}
.birthday-byline:before{content:'';height:1px;width:30px;background:#d7a49c}.birthday-byline strong{font:italic 25px var(--serif,Georgia,serif);color:#8c4a69}
.birthday-scroll{display:flex;align-items:center;gap:18px;margin-top:38px;color:#83546b;text-decoration:none;font:11px/1.7 var(--sans,sans-serif)}
.birthday-scroll span{display:grid;place-items:center;width:32px;height:32px;border:1px solid #ddc1b0;border-radius:50%}
.birthday-art{margin:0;position:relative}.birthday-art img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain}.birthday-art figcaption{text-align:center;font:italic 21px/1.5 var(--serif,Georgia,serif);color:#986f7a;margin-top:-10px}
.birthday-section{max-width:1120px;margin:0 auto;padding:85px 35px}
.birthday-section h2{margin:12px 0 20px;color:#56283f;font:400 clamp(36px,4.5vw,57px)/1.08 var(--serif,Georgia,serif);letter-spacing:-.025em}.birthday-section h2 em{color:#ba6d8b}
.birthday-section-heading>p,.birthday-letter-section>p{font:13px/1.9 var(--sans,sans-serif);color:#8f7279}
.birthday-note-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:35px;align-items:start}
.birthday-note{margin:0;padding:0;border:1px solid #e6c9bd;border-radius:18px;background:#fff9efb3;box-shadow:0 10px 30px #68334d04;overflow:hidden}
.birthday-note summary{padding:23px;display:grid;grid-template-columns:1fr auto;gap:21px;cursor:pointer;list-style:none}.birthday-note summary::-webkit-details-marker{display:none}
.birthday-note-number{grid-column:1/-1;color:#b78978;font:11px var(--sans,sans-serif);letter-spacing:.12em}.birthday-note-title{color:#68334d;font:25px/1.12 var(--serif,Georgia,serif)}.birthday-note-plus{align-self:center;color:#bc6d8d;font:20px var(--sans,sans-serif)}
.birthday-note[open] .birthday-note-plus{transform:rotate(45deg)}.birthday-note-body{padding:0 23px 25px}.birthday-note-body p{margin:0;color:#785966;font:13px/1.95 var(--sans,sans-serif)}
.birthday-letter-section{text-align:center;border-top:1px solid #ddb7aa55;border-bottom:1px solid #ddb7aa55}
.birthday-letter-section>h2{max-width:620px;margin-left:auto;margin-right:auto}
.birthday-envelope{position:relative;display:block;width:320px;max-width:90%;height:215px;margin:86px auto 28px;border:1px solid #985576;border-radius:10px;background:linear-gradient(135deg,#c7819d,#9b4e73);box-shadow:0 25px 50px #70314f24;cursor:pointer;overflow:visible}
.birthday-envelope-paper{position:absolute;inset:-40px 22px 20px;padding:27px 26px;border:1px solid #e3ccad;border-radius:8px;background:#fff9ef;color:#935b71;text-align:left;font:24px var(--serif,Georgia,serif);box-shadow:0 -3px 12px #70314f08}
.birthday-envelope-paper i{display:block;width:95%;height:2px;background:#d9bdae;margin-top:17px}.birthday-envelope-paper i:last-child{width:68%}
.birthday-envelope-fold{position:absolute;inset:26px 0 0;border-radius:0 0 9px 9px;background:linear-gradient(145deg,transparent 49%,#b96d92 50%) left/50% 100% no-repeat,linear-gradient(215deg,transparent 49%,#a45a7e 50%) right/50% 100% no-repeat}
.birthday-envelope:after{content:'';position:absolute;inset:65px 0 0;border-radius:0 0 9px 9px;background:linear-gradient(150deg,#c17b9c,#9c5276);clip-path:polygon(0 0,50% 64%,100% 0,100% 100%,0 100%)}
.birthday-envelope-seal{position:absolute;top:96px;left:calc(50% - 23px);display:grid;place-items:center;width:46px;height:46px;border:2px solid #e9d8b8;border-radius:50%;background:#bda780;color:#fff5df;font-size:22px;z-index:2}
.birthday-envelope-label{position:absolute;bottom:18px;left:0;right:0;z-index:3;color:#f7eee0;font:11px var(--sans,sans-serif);letter-spacing:.04em}.birthday-envelope-label span{margin-left:8px}
.birthday-envelope:hover{transform:translateY(-3px)}
[data-theme=birthday-confetti] .birthday-letter{background:#fff9ef;color:#68334d;border:1px solid #e5cdb5;border-radius:18px}
[data-theme=birthday-confetti] .birthday-letter article{background:none}.birthday-paper-heading{display:flex;justify-content:space-between;margin-bottom:29px;color:#82958b;font:10px var(--sans,sans-serif);letter-spacing:.1em}
[data-theme=birthday-confetti] .birthday-letter h2{color:#68334d}[data-theme=birthday-confetti] .birthday-letter .letter-body-text{color:#755c67}
[data-theme=birthday-confetti] .birthday-letter .letter-signoff{color:#935b71}[data-theme=birthday-confetti] .birthday-letter .letter-signoff strong{color:#68334d}
[data-theme=birthday-confetti] .birthday-letter .dialog-close{color:#4f6c75;background:#f6e5d8;border-color:#d9baaa}
.birthday-wish{text-align:center;max-width:760px}.birthday-wish h2{max-width:660px;margin-left:auto;margin-right:auto}
.birthday-last-button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;margin:17px auto 0;padding:14px 25px;border:1px solid #b98598;border-radius:100px;background:#fff7edcc;color:#68334d;font:12px/1.6 var(--sans,sans-serif);cursor:pointer}
.birthday-last-button[aria-expanded=true]{background:#f6dfdd}.birthday-last-note{padding:33px 28px;margin-top:28px;border:1px solid #e4c6b9;border-radius:18px;background:#fff9efab}.birthday-last-note>span{color:#b2874d;font-size:20px}.birthday-last-note p{font:17px/1.9 var(--serif,Georgia,serif);color:#80586c;margin:15px 0 0}
.birthday-closing{max-width:680px;margin:0 auto;padding:65px 30px 95px;text-align:center}.birthday-closing>span{color:#ba8a51;font-size:24px}.birthday-closing>p{font:italic 30px/1.45 var(--serif,Georgia,serif);color:#935b71;margin:25px 0 16px}.birthday-closing h2{font:40px var(--serif,Georgia,serif);color:#68334d;margin:12px 0}.birthday-closing-line{width:45px;height:1px;background:#dbbdaa;margin:25px auto}.birthday-closing .birthday-closing-small{font:11px/1.9 var(--sans,sans-serif);color:#9d747f}
.birthday-memory{max-width:550px;padding:20px 30px 55px;margin:auto;text-align:center}.birthday-memory img{max-height:460px;width:100%;object-fit:contain;border:10px solid #fff9ef;border-radius:8px;box-shadow:0 15px 35px #68334d16}.birthday-memory p{font:italic 20px var(--serif,Georgia,serif);color:#a27387}
[data-theme=birthday-confetti] .gift-share{color:#68334d}[data-theme=birthday-confetti] .gift-share-toggle{color:#68334d;background:#fff9ef66;border-color:#b9819859}
[data-theme=birthday-confetti] .gift-share-panel{background:#fff9ef;border-color:#e2c4b5;color:#68334d;box-shadow:0 20px 60px #56283f26}[data-theme=birthday-confetti] .gift-share-heading h2,[data-theme=birthday-confetti] .gift-share-close{color:#68334d}
[data-theme=birthday-confetti] .gift-share-intro,[data-theme=birthday-confetti] .gift-share-label,[data-theme=birthday-confetti] .gift-share-privacy{color:#876576}
[data-theme=birthday-confetti] .gift-share-links a,[data-theme=birthday-confetti] .gift-share-links button{background:#f9e7da;color:#68334d;border-color:#e1bfae}
[data-theme=birthday-confetti] .gift-share-copy input{background:#fffcf5;color:#68334d;border-color:#e1bfae}[data-theme=birthday-confetti] .gift-share-copy button{background:#68334d;color:#fff9ef;border-color:#68334d}[data-theme=birthday-confetti] .gift-share-status{color:#8f5a6d}
[data-theme=birthday-confetti] .gift-share-ending p,[data-theme=birthday-confetti] .gift-share-ending>span{color:#a27285}[data-theme=birthday-confetti] .gift-share-ending a{color:#68334d;border-color:#d1a3ab;background:#fff9ef66}
[data-theme=birthday-confetti] .gift-footer{background:#f9e9de55;border-color:#e1c7b655}[data-theme=birthday-confetti] .gift-footer a,[data-theme=birthday-confetti] .gift-footer span{color:#8e6c77}
[data-theme=birthday-confetti] :is(a,button,summary):focus-visible{outline:2px solid #9d3d6d;outline-offset:4px}
@media(max-width:760px){.birthday-opening{grid-template-columns:1fr;padding:58px 25px 25px;gap:30px}.birthday-opening h1 em{font-size:52px}.birthday-opening h1>span{font-size:31px}.birthday-intro{font-size:14px}.birthday-mark{margin-bottom:18px}.birthday-art{max-width:390px;margin:0 auto}.birthday-art img{max-height:365px}.birthday-art figcaption{font-size:20px}.birthday-section{padding:58px 24px}.birthday-note-list{grid-template-columns:1fr;gap:12px}.birthday-note summary{padding:22px;gap:12px}.birthday-note-number{grid-column:auto;grid-row:1/3}.birthday-note-title{font-size:25px}.birthday-note-plus{grid-column:2;justify-self:end}.birthday-note-body{padding-left:22px}.birthday-section h2{font-size:39px}.birthday-envelope{width:290px;height:195px;margin-top:78px}.birthday-wish{padding-top:65px}.birthday-closing{padding:35px 27px 60px}.birthday-closing>p{font-size:28px}.birthday-last-note p{font-size:18px}}
@media(prefers-reduced-motion:reduce){.birthday-envelope:hover{transform:none}}

.birthday-sample-nav{background:#fff3e7;border-bottom-color:#e6c9bb;color:#80566b}.birthday-sample-nav a{color:#80566b;border-color:#dec0b0}.birthday-sample-nav a[aria-current=page]{background:#884564;border-color:#884564;color:#fff8ec}
[data-theme=birthday-confetti] .birthday-letter .letter-body-text p{color:#70525f}
.birthday-note:nth-child(2){background:#fae8df}.birthday-note:nth-child(3){background:#fff1d7}
.birthday-wish{position:relative;overflow:hidden}.birthday-wish-button{display:flex;flex-direction:column;align-items:center;gap:29px;margin:35px auto 0;max-width:100%;padding:35px 22px 20px;border:0;background:transparent;color:#7c3b5d;cursor:pointer}
.birthday-cake{display:block;position:relative;width:210px;height:150px;margin-top:30px}.birthday-candles{position:absolute;top:-28px;left:45px;right:45px;display:flex;justify-content:space-between;height:45px;z-index:3}.birthday-candles i{position:relative;display:block;width:9px;height:45px;background:repeating-linear-gradient(35deg,#a8c1ad 0 8px,#fff5df 8px 12px);border-radius:3px}.birthday-candles i:nth-child(2){background:repeating-linear-gradient(35deg,#c67998 0 8px,#fff0df 8px 12px);transform:translateY(-10px)}.birthday-candles i:nth-child(3){background:repeating-linear-gradient(35deg,#d4a264 0 8px,#fff0df 8px 12px)}.birthday-candles i:before{content:'';position:absolute;left:-3px;bottom:49px;width:15px;height:25px;background:#d5a04f;border-radius:80% 10% 60% 40%;transform:rotate(-18deg);box-shadow:0 0 28px #efc56d77;animation:birthday-flame 2.7s ease-in-out infinite;transition:opacity .5s,scale .5s}.birthday-candles i:nth-child(2):before{animation-delay:-1s}.birthday-candles i:nth-child(3):before{animation-delay:-.5s}
.birthday-cake-base{position:absolute;inset:17px 0 8px;border-radius:20px 20px 15px 15px;background:linear-gradient(135deg,#cf8ca2,#b76588);box-shadow:0 18px 25px #8a4a6820}.birthday-icing{position:absolute;top:6px;left:0;width:210px;height:38px;background:#fff7e9;border:1px solid #e5c6ae;border-radius:50%;z-index:2}.birthday-icing:after{content:'';position:absolute;top:26px;left:16px;width:20px;height:31px;border-radius:0 0 18px 18px;background:#fff1df;box-shadow:53px -6px 0 #fff1df,115px 3px 0 #fff1df,155px -10px 0 #fff1df}.birthday-cake-base>i{position:absolute;top:88px;height:10px;left:0;right:0;background:#f1c5b3}.birthday-cake-base>i:nth-child(2){top:70px;background:#b35b80;height:2px}.birthday-cake-base>i:nth-child(3){display:none}.birthday-plate{position:absolute;bottom:0;left:-13px;width:236px;height:18px;border-radius:50%;background:#d1ad82;box-shadow:0 -6px 0 #fff4df;z-index:3}.birthday-wish-label{font:12px/1.7 var(--sans,sans-serif);border:1px solid #c99aab;border-radius:100px;padding:13px 22px;background:#fff6e8}.birthday-wish-button:hover .birthday-wish-label{background:#f7e2df}.birthday-wish-button[aria-expanded=true] .birthday-candles i:before{opacity:0;scale:.1}.birthday-wish-button[aria-expanded=true] .birthday-wish-label{background:#f5dcd9}
.birthday-confetti{inset:0;position:absolute;pointer-events:none;overflow:hidden;z-index:4}.birthday-confetti i{background:#bd6b91!important;border-radius:1px!important;width:8px!important;height:13px!important}.birthday-confetti i:nth-child(3n){background:#b9985b!important}.birthday-confetti i:nth-child(3n + 1){background:#91ada0!important}
.birthday-photo{padding:12px 12px 32px;background:#fffaf2;box-shadow:0 14px 40px #7b3d5520;transform:rotate(-2deg)}.birthday-photo img{border:0;box-shadow:none;border-radius:0}
.birthday-last-note{position:relative;z-index:2}.birthday-closing-small{max-width:440px;margin:auto!important}.birthday-section-heading h2,.birthday-opening h1,.birthday-letter h2{overflow-wrap:anywhere}
@keyframes birthday-flame{0%,100%{transform:rotate(-18deg) scale(1)}50%{transform:rotate(-11deg) scale(.94,1.08)}}
@media(max-width:760px){.birthday-opening h1 em{font-size:48px}.birthday-note-number{grid-column:1/-1;grid-row:auto}.birthday-note-title{grid-column:1}.birthday-note-plus{grid-column:2;grid-row:2}.birthday-art img{max-height:380px}.birthday-letter{max-width:calc(100vw - 28px)}.birthday-wish-button{padding-top:35px}.birthday-cake{scale:.9}.birthday-intro{font-size:14px;line-height:1.9}}
@media(prefers-reduced-motion:reduce){.birthday-candles i:before{animation:none}.birthday-wish-button .birthday-candles i:before{transition:none}}
