/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.mt-6{margin-top:calc(var(--spacing) * 6)}.contents{display:contents}.flex{display:flex}.hidden{display:none}.cursor-pointer{cursor:pointer}.items-center{align-items:center}.justify-center{justify-content:center}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}*{box-sizing:border-box}body{margin:0;font-size:16px}a,button,input,textarea{-webkit-tap-highlight-color:transparent}a,button{transition:background .2s,opacity .2s}button{cursor:pointer}button:disabled{opacity:.35;cursor:not-allowed}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--pink);outline-offset:5px}input,textarea{font:inherit;color:var(--text);color-scheme:dark;background:#ffffff06;border:1px solid #ffffff20;border-radius:12px;outline:none;width:100%;padding:17px 18px}textarea{resize:vertical}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:91px;padding:0 5%;display:flex}.brand{letter-spacing:-2px;font-family:Georgia,serif;font-size:37px}.brand span{color:var(--pink);margin-left:5px;font-size:29px}.top-caption{letter-spacing:2.5px;color:var(--muted);font-size:11px}.draft-status{color:var(--muted);align-items:center;gap:9px;font-size:12px;display:flex}.draft-status span,.live-dot{background:var(--pink);border-radius:50%;width:6px;height:6px;display:inline-block}.workspace{grid-template-columns:56% 44%;min-height:calc(100vh - 91px);display:grid}.editor-panel{min-width:0;padding:38px 8% 0}.steps{border-bottom:1px solid var(--line);gap:25px;padding-bottom:30px;display:flex}.steps button{color:#8d8793;background:0 0;border:0;align-items:center;gap:9px;padding:0;font-size:13px;display:flex}.steps button>span{border:1px solid var(--line);border-radius:50%;place-items:center;width:27px;height:27px;font-size:10px;display:grid}.steps .active>span{background:var(--pink);color:#211a21;border-color:var(--pink)}.form-body{min-height:650px;padding:47px 0 34px}.eyebrow{letter-spacing:2px;color:var(--pink);text-transform:uppercase;font-size:10px;font-weight:700}h1{letter-spacing:-2px;margin:15px 0 17px;font-family:Georgia,serif;font-size:clamp(38px,4vw,59px);line-height:1.13}h1,h1 em{font-weight:400}h1 em{color:var(--pink)}.intro{color:var(--muted);max-width:420px;margin-bottom:38px;font-size:14px;line-height:1.8}.section-label{color:var(--pink);letter-spacing:2px;align-items:center;gap:10px;margin:30px 0 23px;font-size:10px;font-weight:700;display:flex}.field{margin:23px 0;display:block}.field>span{justify-content:space-between;margin-bottom:11px;font-size:13px;display:flex}.field small{letter-spacing:1.5px;color:#8d8793;font-size:9px}.hint{color:#918b96;margin-top:-10px;font-size:12px;line-height:1.8}.two-fields{grid-template-columns:1fr 1fr;gap:18px;display:grid}.note{color:#b8a5ae;background:#eaa4ba07;border:1px solid #eaa4ba18;border-radius:10px;align-items:center;gap:12px;margin-top:15px;padding:13px 16px;font-size:12px;display:flex}.note>span{color:var(--pink);font-size:22px}.form-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:24px 0 28px;display:flex}.form-footer>span{color:#827b87;font-size:10px}.primary{background:var(--pink);color:#271c25;border:0;border-radius:50px;justify-content:center;align-items:center;gap:12px;padding:15px 23px;font-size:13px;font-weight:600;display:inline-flex;box-shadow:0 4px 24px #eaa4ba15}.primary:hover{background:#f4bbcd}.text-button{color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;gap:8px;font-size:12px;display:inline-flex}.preview-panel{border-left:1px solid var(--line);background:radial-gradient(#4a2d423b,#0000 65%),#1c1a23;height:calc(100vh - 91px);min-height:760px;padding:35px 8%;position:sticky;top:0;overflow:hidden}.preview-toolbar{justify-content:space-between;align-items:center;display:flex}.preview-toolbar>span{letter-spacing:1.8px;color:#b2a8b7;align-items:center;gap:9px;font-size:10px;display:flex}.preview-toolbar>div{gap:4px;display:flex}.preview-toolbar button{color:#8f8699;background:0 0;border:0;border-radius:8px;padding:9px}.preview-toolbar .selected{color:var(--pink);background:#ffffff0d}.preview-frame{background:#1b1921;border:7px solid #100f15;border-radius:42px;margin:35px auto 0;transition:width .3s;position:relative;overflow:hidden;box-shadow:0 30px 70px #0005,0 0 0 1px #ffffff13}.preview-frame.mobile{width:min(100%,320px);height:570px}.preview-frame.desktop{border-radius:17px;width:100%;height:460px;margin-top:85px}.phone-speaker{z-index:3;background:#100f15;border-radius:20px;width:76px;height:16px;position:absolute;top:10px;left:50%;transform:translate(-50%)}.preview-caption{text-align:center;color:#918393;margin-top:27px;font-family:Georgia,serif;font-size:14px;font-style:italic}.preview-decoration{color:#aa809642;font-size:55px;position:absolute;bottom:11%;right:13%}.gift-scene{background:radial-gradient(at 50% 45%,#65324b44,#0000 66%),#1b1921;justify-content:center;align-items:center;min-height:100dvh;padding:50px 25px;display:flex;position:relative;overflow:hidden}.gift-scene.compact{height:100%;min-height:100%;padding:35px 20px;overflow:auto}.gift-content{text-align:center;width:100%;max-width:760px}.gift-content h2{color:#f6e7e6;margin:12px 0;font-family:Georgia,serif;font-size:52px;font-weight:400;line-height:1.15}.compact .gift-content h2{font-size:27px}.gift-content>.eyebrow{font-size:10px}.compact .gift-content>.eyebrow{letter-spacing:1.6px;font-size:8px}.from{color:#b7a1af;font-family:Georgia,serif;font-size:14px;font-style:italic;line-height:1.6}.compact .from{font-size:12px}.muted{color:var(--muted)}.present{background:radial-gradient(#bf8b7455 1px,#0000 0) 0 0/19px 19px,linear-gradient(135deg,#553343,#2d202c) 0 0/100% 100%;border:1px solid #a971794f;border-radius:13px;width:300px;height:240px;margin:52px auto 40px;transition:transform .3s;display:block;position:relative;box-shadow:0 24px 45px #0004}.present:hover{transform:rotate(-3deg)scale(1.03)}.compact .present{width:215px;height:178px;margin:43px auto 31px}.ribbon-horizontal{background:linear-gradient(#c77690,#f0b7c6 40%,#b96481);width:100%;height:20%;position:absolute;top:43%;left:0;box-shadow:0 3px 8px #0004}.ribbon-vertical{background:linear-gradient(90deg,#b36581,#f5c1d0 50%,#b76985);width:19%;height:100%;position:absolute;top:0;left:42%;box-shadow:3px 0 8px #0003}.bow{filter:saturate(.55);width:52%;font-size:105px;position:absolute;top:21%;left:24%}.compact .bow{font-size:80px}.gift-tag{color:#e5c5b0;background:#3a2633;padding:6px 9px;font-family:Georgia,serif;font-size:12px;font-style:italic;position:absolute;bottom:14px;right:12px;transform:rotate(-9deg)}.scene-star{color:#d7bda0;opacity:.5;font-size:24px;position:absolute}.star-one{top:18%;left:13%}.star-two{font-size:33px;bottom:20%;right:12%}.cake{margin:25px;font-size:86px}.gift-content .primary{margin-top:25px}.countdown{justify-content:center;gap:10px;margin:30px 0;display:flex}.countdown>div{background:#ffffff08;border:1px solid #ffffff20;border-radius:12px;min-width:65px;padding:14px}.countdown strong{font-size:30px;font-weight:400;display:block}.countdown small{color:var(--muted);font-size:10px}.compact .countdown{gap:5px}.compact .countdown>div{min-width:0;padding:8px}.compact .countdown strong{font-size:22px}.letter-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:30px 0;font-family:Georgia,serif;font-size:30px;line-height:1.7}.compact .letter-text{font-size:20px}.icon-button{border:1px solid var(--line);background:#ffffff08;border-radius:50%;padding:10px}.photo-strip{gap:15px;padding:15px;display:flex;overflow:auto}.photo-strip img{object-fit:cover;border:solid #f6eee8;border-width:6px 6px 20px;max-width:220px;height:170px;transform:rotate(-3deg)}.confetti{pointer-events:none;position:absolute;inset:0}.confetti i{width:5px;height:10px;animation:float 5s ease-in-out infinite;position:absolute}@keyframes float{50%{transform:translateY(30px)rotate(150deg)}}.upload{cursor:pointer;color:var(--pink);border:1px dashed #896579;border-radius:13px;flex-direction:column;align-items:center;gap:10px;padding:30px;display:flex}.upload span{color:var(--muted);font-size:11px}.upload input{display:none}.photo-row{justify-content:space-between;padding:10px;font-size:13px;display:flex}.summary{border:1px solid var(--line);background:#eaa4ba06;border-radius:15px;padding:28px}.summary blockquote{margin:20px 0;font-family:Georgia,serif;font-size:23px;line-height:1.6}.summary>div{color:var(--muted);gap:10px;font-size:12px}.privacy,.summary>div{justify-content:space-between;display:flex}.privacy{align-items:center;gap:20px;padding:25px 0}.privacy small{color:var(--muted);margin-top:8px;font-size:12px;display:block}.privacy input{width:20px;height:20px;accent-color:var(--pink)}.error{color:#ffb8b8;border:1px solid #f0939360;border-radius:10px;padding:15px;font-size:14px}.success{color:var(--pink);border:1px solid #eaa4ba50;border-radius:14px;flex-direction:column;gap:16px;padding:25px;display:flex}.success a,.success button{align-items:center;gap:8px;font-size:14px;display:flex}.close-preview,.mobile-preview-button{display:none}.locked{text-align:center;max-width:420px;margin:18vh auto;padding:25px}.locked h1{font-size:42px}.locked input{margin:20px 0}@media (max-width:1000px){.editor-panel{padding-left:6%;padding-right:6%}.steps{gap:14px}.steps button{font-size:11px}.form-footer>span{display:none}.preview-panel{padding-left:5%;padding-right:5%}.top-caption{display:none}}@media (max-width:760px){.topbar{height:75px}.workspace{display:block}.editor-panel{padding:25px 6% 80px}.form-body{min-height:0;padding-top:35px}.steps{justify-content:space-between;gap:8px}.steps button{font-size:11px}.preview-panel{display:none}.preview-panel.show-preview{z-index:10;height:100dvh;min-height:0;padding:20px;display:block;position:fixed;inset:0}.preview-frame.mobile{height:min(75vh,570px);margin-top:20px}.close-preview{display:inline-block}.mobile-preview-button{z-index:5;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 4px 25px #0006}.two-fields{grid-template-columns:1fr;gap:0}.gift-content h2{font-size:42px}.countdown>div{min-width:55px;padding:10px}.present{width:260px;height:210px}.letter-text{font-size:24px}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}}.group-link{color:#edb3c4;background:#eaa4ba0a;border:1px solid #eaa4ba30;border-radius:30px;align-items:center;gap:9px;padding:10px 16px;font-size:12px;display:inline-flex;position:absolute;left:50%;transform:translate(-50%)}.editor .topbar{position:relative}.collection-builder{background:radial-gradient(ellipse at 16% 52%,#70425421,transparent 35%),var(--bg);min-height:100vh}.builder-back{margin:29px 7%}.builder-body{grid-template-columns:1fr .9fr;align-items:center;gap:clamp(40px,8vw,115px);max-width:1160px;margin:5px auto 60px;padding:24px 28px;display:grid}.banner-content>h1,.builder-copy>h1{letter-spacing:-2.8px;max-width:570px;font-size:clamp(42px,5.4vw,72px);line-height:1.03}.add-wish-intro h2 em,.builder-copy>h1 em,.wall-heading h2 em{color:var(--pink);font-weight:400}.builder-copy .intro{max-width:480px;font-size:16px}.collection-preview-art{text-align:center;background:radial-gradient(#f3bfd033 1.4px,#0000 1.5px) 0 0/23px 23px,linear-gradient(125deg,#683b51,#2c2532) 0 0/cover;border:1px solid #eaa4ba47;border-radius:16px;place-items:center;max-width:455px;height:225px;display:grid;position:relative;overflow:hidden;box-shadow:0 20px 50px #0003}.art-heart{color:#f3c5d2;font-size:48px;position:absolute;top:17px;right:35px}.art-copy{text-shadow:0 3px 12px #291a23;gap:11px;display:grid;transform:rotate(-4deg)}.art-copy span{letter-spacing:2px;color:#eed4cb;font-size:9px}.art-copy strong{color:#f4d4cb;font:italic 43px Georgia,serif}.art-flowers{color:#eac3cf;letter-spacing:8px;position:absolute;bottom:20px;left:25px}.collection-builder .note{color:#d2c0c8;max-width:455px;margin-top:20px}.collection-form-card{background:linear-gradient(145deg,#29252d,#201e25);border:1px solid #ffffff1a;border-radius:19px;padding:clamp(25px,4vw,44px);box-shadow:0 24px 60px #0003}.collection-form-card h2{margin:10px 0;font:400 32px Georgia,serif}.collection-created>p:not(.eyebrow),.form-intro{color:var(--muted);font-size:14px;line-height:1.8}.collection-form-card .field{margin:21px 0}.collection-form-card .field small{color:var(--muted)}.primary.wide{width:100%;margin-top:13px}.collection-created{flex-direction:column;align-items:flex-start;gap:9px;display:flex}.add-wish-icon,.created-icon{width:48px;height:48px;color:var(--pink);background:#eaa4ba1c;border-radius:50%;place-items:center;margin-bottom:14px;display:grid}.collection-created h2{font-size:37px}.share-link{border:1px solid var(--line);background:#ffffff08;border-radius:13px;align-items:center;gap:10px;width:100%;margin:15px 0 12px;padding:6px 6px 6px 14px;display:flex}.share-link>span{text-overflow:ellipsis;white-space:nowrap;color:#c2b7c1;flex:1;font-size:13px;overflow:hidden}.share-link button{background:var(--pink);color:#261c24;border:0;border-radius:10px;align-items:center;gap:6px;padding:11px 12px;font-size:12px;display:flex}.share-link svg{width:15px;height:15px}.collection-created .text-button{margin-top:10px}.collection-footer{text-align:center;color:#928692;border-top:1px solid var(--line);padding:27px;font:italic 13px Georgia,serif}.collection-footer span{color:var(--pink)}.collection-page{background:radial-gradient(ellipse at 93% 13%,#57354a2b,transparent 30%),var(--bg);min-height:100vh}.collection-top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:84px;padding:0 clamp(22px,6vw,90px);display:flex}.collection-top .brand{font-size:34px}.print-actions{align-items:center;gap:22px;display:flex}.print-actions .primary{padding:12px 19px}.collection-banner{text-align:center;background:radial-gradient(at 50% 45%,#9d53644d,#0000 68%),radial-gradient(#f4ccda27 1.2px,#0000 1.4px) 0 0/23px 23px,linear-gradient(115deg,#442b3a,#282431 69%,#302a38) 0 0/cover;border:1px solid #e8abbc45;border-radius:24px;place-items:center;width:calc(100% - 48px);max-width:1370px;min-height:440px;margin:35px auto 0;display:grid;position:relative;overflow:hidden;box-shadow:0 30px 90px #0004}.banner-content{z-index:1;padding:55px 20px 63px;position:relative}.banner-content .eyebrow{color:#f3bfcc;justify-content:center;align-items:center;gap:9px;display:flex}.banner-content>h1{text-shadow:0 5px 40px #100d18;max-width:830px;margin:25px auto 15px;font-size:clamp(45px,7vw,84px)}.banner-content>h1 em{color:#f1bdc9;font-weight:400}.banner-date{color:#eee0df;font:italic 18px Georgia,serif}.banner-date span{color:var(--pink)}.banner-note{color:#d8c5d2;max-width:560px;margin:19px auto 20px;font:italic 16px/1.8 Georgia,serif}.banner-stats{color:#ead5df;justify-content:center;align-items:center;gap:15px;margin-top:27px;font-size:12px;display:flex}.banner-stats>span{align-items:center;gap:8px;display:flex}.banner-stats>span:first-child{background:#ffffff08;border:1px solid #efd5df31;border-radius:30px;padding:10px 15px}.banner-stats svg{color:var(--pink)}.pulse-dot{background:#d9ba9e;border-radius:50%;width:6px;height:6px;animation:softPulse 1.7s infinite;box-shadow:0 0 12px #f4d3a0}.banner-ribbon{letter-spacing:.5px;color:#dfbdc8;background:#eaa4ba12;border-top:1px solid #eaa4ba2c;width:100%;padding:11px;font:italic 13px Georgia,serif;position:absolute;bottom:0}.banner-orbit{border:1px solid #ecc7d414;border-radius:50%;width:300px;height:300px;position:absolute}.orbit-one{top:-160px;left:-130px}.orbit-two{width:430px;height:430px;bottom:-190px;right:-110px}.banner-spark{color:#f0d5af85;font-size:30px;position:absolute}.spark-a{top:14%;left:14%}.spark-b{font-size:45px;bottom:18%;right:17%}.wish-wall{max-width:1250px;margin:85px auto 100px;padding:0 30px}.wall-heading{justify-content:space-between;align-items:end;margin-bottom:29px;display:flex}.add-wish-intro h2,.wall-heading h2{letter-spacing:-1px;margin:13px 0 0;font:400 clamp(32px,4vw,49px)/1.16 Georgia,serif}.wall-count{color:#aaa0ac;padding-bottom:8px;font-size:13px}.wish-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;display:grid}.wish-card{background:linear-gradient(145deg,#28252d,#211f27);border:1px solid #ffffff1c;border-radius:15px;flex-direction:column;min-height:220px;padding:25px 25px 19px;display:flex;position:relative;box-shadow:0 10px 25px #0002}.wish-tone-1{background:linear-gradient(145deg,#34272f,#25222b)}.wish-tone-2{background:linear-gradient(145deg,#2e2b36,#222027)}.wish-tone-3{background:linear-gradient(145deg,#362b31,#222027)}.wish-mark{color:#eaa4ba9c;font:55px/.7 Georgia,serif}.wish-card>p{color:#f2e9e6;white-space:pre-wrap;overflow-wrap:anywhere;margin:14px 0 26px;font:italic 17px/1.65 Georgia,serif}.wish-signature{color:#a69ca8;align-items:center;gap:10px;margin-top:auto;font-size:11px;display:flex}.wish-signature>span:nth-child(2){gap:4px;display:grid}.wish-signature strong{color:#f1dce2;font-size:13px;font-weight:500}.wish-avatar{color:#edb3c4;background:#eaa4ba1f;border-radius:50%;place-items:center;width:32px;height:32px;font:italic 17px Georgia,serif;display:grid}.wish-heart{color:#e6a4b7;margin-left:auto;font-size:22px}.empty-wishes{color:#eaa4ba;border:1px dashed #ffffff25;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:200px;display:flex}.empty-wishes strong{color:var(--text);font:italic 21px Georgia,serif}.empty-wishes span{color:var(--muted);font-size:13px}.add-wish-section{background:linear-gradient(120deg,#eaa4ba09,#ffffff03);border:1px solid #ffffff19;border-radius:20px;grid-template-columns:1fr 1fr;gap:80px;max-width:1160px;margin:0 auto 100px;padding:55px 7%;display:grid}.add-wish-intro>h2{font-size:43px}.add-wish-intro>p:not(.eyebrow){max-width:330px;color:var(--muted);font-size:14px;line-height:1.8}.add-wish-form .field{margin:15px 0 20px}.field-count{color:#918b96;text-align:right;margin-top:6px;font-size:11px;display:block}.added-message{color:#c8dec7;align-items:center;gap:8px;font-size:13px;display:flex}.collection-bottom{border-top:1px solid var(--line);color:#938a97;justify-content:space-between;align-items:center;padding:24px clamp(22px,6vw,90px);font-size:12px;display:flex}.collection-bottom .text-button{font-size:12px}.collection-bottom>a{font:italic 14px Georgia,serif}.collection-bottom .text-button:first-child{color:#c3afb9}.collection-bottom .print-footer:hover{color:var(--pink)}@keyframes softPulse{50%{opacity:.5;transform:scale(.78)}}@media (max-width:900px){.builder-body{gap:35px;padding:20px 6%}.builder-copy>h1{font-size:51px}.collection-banner{min-height:390px}.wish-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.add-wish-section{gap:38px}.group-link{font-size:11px;left:50%}.top-caption{visibility:hidden}}@media (max-width:650px){.topbar{padding:0 5%}.group-link{max-width:160px;padding:9px 10px;font-size:10px;position:static;transform:none}.editor .top-caption{display:none}.editor .topbar .flex{gap:12px!important}.draft-status,.editor .topbar .text-button{font-size:10px}.builder-body{grid-template-columns:1fr;gap:27px;margin-top:5px;padding:12px 6%}.builder-copy>h1{font-size:47px}.builder-copy .intro{margin-bottom:20px}.collection-preview-art{height:170px}.builder-copy .note{margin-top:12px}.collection-form-card{padding:23px}.collection-top{height:72px;padding:0 18px}.collection-top .brand{font-size:30px}.print-actions{gap:10px}.print-actions .text-button{padding:8px;font-size:0}.print-actions .text-button svg{width:20px;height:20px}.print-actions .primary{padding:10px 12px;font-size:11px}.collection-banner{border-radius:17px;width:calc(100% - 28px);min-height:355px;margin-top:18px}.banner-content{padding:42px 18px 56px}.banner-content>h1{margin:20px auto 13px;font-size:48px}.banner-date{font-size:16px}.banner-note{font-size:14px}.banner-stats{margin-top:19px}.wish-wall{margin:56px auto 65px;padding:0 18px}.wall-heading{align-items:start}.wall-heading h2{font-size:34px}.wish-grid{grid-template-columns:1fr;gap:12px}.wish-card{min-height:170px;padding:22px}.wish-card>p{margin-bottom:22px}.add-wish-section{grid-template-columns:1fr;gap:12px;margin:0 14px 60px;padding:28px 22px}.add-wish-intro h2{font-size:38px}.add-wish-icon{width:41px;height:41px;margin-bottom:12px}.collection-bottom{flex-wrap:wrap;gap:12px;padding:20px}.collection-bottom>span{display:none}}@media print{.collection-page,body{color:#2c2830!important;background:#fff!important}.collection-top{border-color:#d6c8cf;height:auto;padding:0 0 15px}.collection-top .brand{color:#241d27}.add-wish-section,.banner-ribbon,.collection-bottom,.print-actions{display:none!important}.collection-page{min-height:0}.collection-banner{width:100%;min-height:250px;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;border:1px solid #caaab8;margin:20px 0 35px;background:#f9eff3!important}.banner-content{padding:35px 20px}.banner-content>h1,.banner-content>h1 em{text-shadow:none;color:#422e3a!important}.banner-content .eyebrow,.banner-date,.banner-note,.banner-stats{color:#574451!important}.banner-stats>span:first-child{color:#422e3a;border-color:#caaab8}.banner-orbit,.banner-spark{display:none}.wish-wall{max-width:none;margin:15px auto 0;padding:0}.wall-heading{margin-bottom:18px}.wall-heading h2,.wall-heading h2 em{color:#392e36!important}.wall-count{color:#6f646b}.wish-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.wish-card,.wish-tone-1,.wish-tone-2,.wish-tone-3{break-inside:avoid;min-height:150px;box-shadow:none;border-color:#d7cbd0;background:#fff!important}.wish-card>p{color:#392e36;font-size:15px}.wish-signature,.wish-signature strong{color:#524650}.wish-avatar{color:#75495e;background:#f6edf1}.wish-heart,.wish-mark{color:#c37b92}.collection-banner,.wish-grid{break-inside:avoid}.collection-top:after{content:"A keepsake made together";color:#775869;font:italic 13px Georgia,serif}.empty-wishes{color:#9b6073;border-color:#cbbcc2}.empty-wishes span,.empty-wishes strong{color:#493d45}}.gift-scene{isolation:isolate;transition:background .7s}.scene-glow{z-index:-1;pointer-events:none;filter:blur(58px);opacity:.2;border-radius:50%;width:min(62vw,620px);height:min(62vw,620px);transition:opacity .8s,transform 1s cubic-bezier(.2,.8,.2,1),background .8s;position:absolute}.scene-glow-one{background:radial-gradient(circle,#a64872,#0000 68%);top:17%;left:-22%}.scene-glow-two{background:radial-gradient(circle,#6c4d9d,#0000 68%);bottom:8%;right:-20%}.gift-scene:not(.compact) .scene-glow{animation:glow-breathe 9s ease-in-out infinite alternate}.gift-scene.celebrating .scene-glow{opacity:.5;transform:scale(1.32)}.gift-scene.celebrating .scene-glow-one{background:radial-gradient(circle,#c84978,#0000 68%)}.gift-scene.celebrating .scene-glow-two{background:radial-gradient(circle,#cc8853,#0000 65%)}.scene-star{z-index:0;transform-origin:50%;animation:star-twinkle 3.8s ease-in-out infinite}.star-two{animation-delay:1.2s}.star-three{color:#e8bb9d;opacity:.4;font-size:18px;animation-delay:2s;position:absolute;bottom:25%;left:22%}.gift-content{z-index:1;perspective:900px;position:relative}.present{transform-style:preserve-3d;isolation:isolate}.present-lid{z-index:3;transform-origin:50% 100%;background:linear-gradient(#835066,#593647);border:1px solid #e8a3bb55;border-radius:9px;width:104%;height:17%;transition:transform .62s cubic-bezier(.2,.75,.24,1),opacity .45s;position:absolute;top:-5%;left:-2%;box-shadow:0 7px 13px #100b14a3}.present.opening .present-lid{opacity:.74;transform:perspective(450px)rotateX(138deg)translateY(-18px)}.present.opening .ribbon-horizontal{opacity:0;transition:transform .48s,opacity .4s;transform:scaleX(1.45)}.present.opening .ribbon-vertical{opacity:0;transition:transform .48s,opacity .4s;transform:scaleY(1.45)}.present.opening .bow{opacity:0;transition:transform .5s,opacity .32s;transform:translateY(-36px)scale(1.2)}.gift-shine{z-index:4;pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff04 25%,#ffe5ee51 48%,#ffffff12 65%,#0000);width:45%;height:190%;position:absolute;inset:-45% auto auto -72%;transform:rotate(25deg)}.present:hover .gift-shine{animation:gift-shimmer 1.05s forwards}.present.opening .gift-shine{animation:gift-shimmer .62s forwards}.gift-content>.eyebrow:first-child{margin-bottom:12px}.birthday-eyebrow{z-index:2;text-shadow:0 0 22px #f4a9c2a3;position:relative}.gift-stage-2{flex-direction:column;justify-content:center;align-items:center;min-height:510px;display:flex}.cake-celebration{z-index:2;filter:drop-shadow(0 13px 24px #efa75d40);margin:15px 0 4px;font-size:98px;position:relative}.birthday-name{z-index:2;filter:drop-shadow(0 6px 28px #f6afce34);background:linear-gradient(108deg,#ff9db9 5%,#ffe59f 47%,#d5aaf9 92%) 0 0/210%;animation:name-glow 4s ease-in-out 1.2s infinite alternate;position:relative}.birthday-nickname{z-index:2;color:#e8cedb;font-family:Georgia,serif;font-style:italic;position:relative}.unlock-button{z-index:3;position:relative;box-shadow:0 10px 38px #e38aaf47;margin-top:29px!important}.party-popper{z-index:2;pointer-events:none;filter:drop-shadow(0 8px 15px #ea81ad45);font-size:clamp(40px,7vw,72px);position:absolute;top:33%}.popper-left{left:4%}.popper-right{right:4%}.confetti{z-index:1;overflow:hidden}.confetti i{width:8px;height:13px;box-shadow:0 2px 7px #0002}.compact .confetti i{width:6px;height:10px}.compact .party-popper{font-size:32px;top:23%}.compact .cake-celebration{margin:8px 0 0;font-size:68px}.compact .gift-stage-2{justify-content:center;min-height:100%}.compact .birthday-name{font-size:25px!important}.compact .unlock-button{padding:12px 16px;font-size:12px;margin-top:17px!important}.countdown>div{transform-style:preserve-3d;overflow:hidden}.countdown strong{font-variant-numeric:tabular-nums}.letter-sparkle{color:var(--gold);filter:drop-shadow(0 0 13px #eaca8c73);margin:-5px auto 14px;font-size:30px}.letter-text{transform-origin:50% 15%}.memory-controls{margin-top:10px}.memory-controls .icon-button{transition:border-color .2s,background .2s,color .2s}.memory-controls .icon-button:not(:disabled):hover{color:var(--pink);background:#eaa4ba12;border-color:#eaa4ba77}.replay-button{margin-top:14px!important}.gift-stage-3 .photo-strip{perspective:700px}.photo-strip img{box-shadow:0 11px 22px #0003}.music-link{background:#ffffff08;border:1px solid #ffffff17;border-radius:30px;padding:10px 15px}.unwrap-hint{position:relative}.unwrap-hint:after{content:"";background:linear-gradient(90deg,transparent,var(--pink),transparent);width:34px;height:1px;animation:hint-pulse 2.3s ease-in-out infinite;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)}@keyframes gift-shimmer{0%{opacity:0;left:-78%}18%{opacity:1}to{opacity:0;left:145%}}@keyframes star-twinkle{0%,to{opacity:.24;transform:scale(.85)rotate(-12deg)}50%{opacity:.82;transform:scale(1.17)rotate(10deg)}}@keyframes glow-breathe{0%{transform:scale(.88)translate(0)}to{transform:scale(1.12)translate(2vw,-2vh)}}@keyframes name-glow{0%{filter:drop-shadow(0 4px 17px #f6afce22);background-position:0}to{filter:drop-shadow(0 7px 32px #f4a1c256);background-position:100%}}@keyframes hint-pulse{0%,to{opacity:.35;width:24px}50%{opacity:1;width:48px}}@media (max-width:760px){.party-popper{font-size:43px;top:20%}.popper-left{left:-3%}.popper-right{right:-3%}.gift-stage-2{min-height:450px}.birthday-eyebrow{font-size:9px!important}.compact .party-popper{font-size:27px;top:27%}.scene-glow{filter:blur(42px);width:78vw;height:78vw}}@media (prefers-reduced-motion:reduce){.birthday-name,.scene-glow,.scene-star,.unwrap-hint:after{animation:none!important}.bow,.gift-scene,.gift-shine,.present-lid,.ribbon-horizontal,.ribbon-vertical{transition:none!important}}body{background:var(--bg);background-image:radial-gradient(circle at 10% 7%,#ffe3e9 0,#0000 28%),radial-gradient(circle at 85% 70%,#fff0d8 0,#0000 32%);font-family:Arial,Helvetica,sans-serif}.collection-top,.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffaf8e8;border-bottom-color:#eddae1}.brand{color:#673b52;font-weight:600}.brand span{color:#e873a0}.draft-status,.form-footer>span,.top-caption{color:#947984}.steps{border-bottom-color:#ead8df}.steps button>span{color:#b47790;background:#fff;border-color:#e9ccd8}.steps .active{color:#b83770;font-weight:700}.steps .active>span{background:#db5d8e;border-color:#db5d8e;box-shadow:0 5px 15px #db5d8e47}.steps .complete{color:#7c5367}.eyebrow,.section-label{color:#c74779}h1{color:#57364a}h1 em{color:#d9578b}.hint,.intro{color:#846d79}.field>span{color:#614456;font-weight:700}.field small{color:#a08390}input,textarea{color:#583c4c;color-scheme:light;background:#fff;border-color:#ead6df;box-shadow:0 3px 14px #9660790a}.note{color:#805a6d;background:#fff1f4;border-color:#f7d6e0;border-radius:16px}.note>span{color:#d9578b}.form-footer{border-top-color:#ead8df}.primary{color:#fff;background:linear-gradient(135deg,#e56796,#cb477c);font-weight:700;box-shadow:0 10px 24px #cc5a8840}.primary:hover{background:linear-gradient(135deg,#ee75a2,#cb477c);box-shadow:0 13px 28px #cc5a8852}.text-button{color:#ac4c76}.group-link{color:#a63b68;background:#fff0f4;border-color:#f2cad9;font-weight:700}.group-link:hover{background:#ffe2ec}.preview-panel{background:radial-gradient(circle at 50% 35%,#fff9ed,#0000 55%),linear-gradient(145deg,#fce5eb,#f7dbe5 65%,#f5e8db);border-left-color:#efcfdc}.preview-toolbar>span{color:#865c71;font-weight:700}.preview-toolbar button{color:#916d7c}.preview-toolbar .selected{color:#bd4474;background:#fff9;box-shadow:0 3px 10px #b8668626}.preview-frame{background:#fff3f4;border-color:#744a61;box-shadow:0 30px 70px #9b526b38,0 0 0 5px #fff9}.phone-speaker{background:#744a61}.preview-caption{color:#855f70}.preview-decoration{color:#c8658a63}.gift-content h2{color:#713c5a}.gift-content>.eyebrow{color:#b84472}.from,.gift-content .muted{color:#93677e}.present{box-shadow:0 30px 55px #a64f7350}.present:hover{box-shadow:0 34px 65px #a64f7366,0 0 38px #f19fbe50}.gift-tag{color:#fff}.scene-glow-one{background:radial-gradient(circle,#fa9dbc,#0000 68%)}.scene-glow-two{background:radial-gradient(circle,#f2c489,#0000 68%)}.letter-text{color:#754a61}.countdown>div{background:#fff9;border-color:#f2cad9;box-shadow:0 6px 18px #b6668830}.countdown strong{color:#a74270}.countdown small{color:#916b7d}.icon-button{color:#a74270;background:#fff8;border-color:#e8b9cc}.upload{color:#ab4e76;background:#fff7f9;border-color:#e7bbcb}.upload span{color:#947785}.summary{background:#fff4f6;border-color:#efcbd8}.summary blockquote{color:#774b63}.privacy small,.summary>div{color:#8b6e7c}.privacy{background:#fff;border-color:#ecd6df}.privacy strong{color:#6b465a}.error{color:#a63d4d;background:#fff1ee;border-color:#f1c6bf}.success{color:#326b4a;background:#f3fff7;border-color:#bfe9cd}.locked{background:linear-gradient(145deg,#fff0f4,#fff9ee)}.locked,.locked h1{color:#674457}@media (max-width:760px){.editor-panel{padding-bottom:90px}.preview-panel.show-preview{background:linear-gradient(145deg,#fce5eb,#f7dbe5)}.mobile-preview-button{box-shadow:0 9px 25px #bb5b834e}}.builder-back{color:#ad4d76;align-items:center;gap:9px;font-size:13px;font-weight:700;display:flex}.builder-body{gap:clamp(35px,7vw,105px);max-width:1260px;margin-top:15px}.builder-copy>h1{color:#633c53;font-size:clamp(52px,6vw,82px);line-height:1.03}.builder-copy>h1 em{color:#d9578b}.builder-copy .intro{color:#826976;font-size:17px;line-height:1.75}.journey-steps{grid-template-columns:repeat(3,1fr);gap:10px;max-width:580px;margin:35px 0;display:grid}.journey-steps>div{background:#fff9;border:1px solid #efcfda;border-radius:16px;min-width:0;padding:15px 12px;box-shadow:0 8px 23px #b6678420}.journey-steps span{color:#d4618d;font:italic 23px Georgia,serif;display:block}.journey-steps strong{color:#653d53;margin:8px 0 4px;font-size:14px;display:block}.journey-steps small{color:#947b88;font-size:11px;line-height:1.4}.collection-preview-art{color:#fff;background:radial-gradient(#fff8 1.5px,#0000 0),linear-gradient(125deg,#e9a2ba,#c86791);border:5px solid #fff;box-shadow:0 18px 45px #be6c8d42}.art-copy span,.art-copy strong,.art-flowers,.art-heart{color:#fff}.collection-builder .note{color:#825c70;background:#fff7f9}.collection-form-card{background:#fffdfa;border:1px solid #f1d4df;border-radius:30px;box-shadow:0 25px 65px #b46a872e}.collection-form-card h2{color:#674057}.collection-created>p:not(.eyebrow),.collection-form-card .form-intro{color:#856d79}.collection-footer{color:#926e80;background:#fff7f7;border-color:#eed3dd}.share-link{background:#fff3f7;border-color:#efd1dc}.share-link>span{color:#755569}.share-link button{color:#fff;background:#d9578b}.add-wish-icon,.created-icon{color:#c8497c;background:#ffe3ec}.celebration-app{color:#634357;background:radial-gradient(circle at 10% 15%,#ffe1e9,#0000 27%),radial-gradient(circle at 90% 70%,#fff0d9,#0000 31%),#fffaf6;min-height:100vh}.celebration-nav{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffbf9cc;border-bottom:1px solid #efd9e1;justify-content:space-between;align-items:center;height:82px;padding:0 clamp(20px,5vw,75px);display:flex}.celebration-nav>span{color:#966f82;font:italic 15px Georgia,serif}.nav-home{color:#a34770;align-items:center;gap:7px;font-size:12px;font-weight:700;display:flex}.contribute-hero{text-align:center;max-width:950px;margin:0 auto;padding:78px 24px 42px;position:relative}.contribute-hero h1{max-width:820px;margin:16px auto;font-size:clamp(44px,6vw,75px)}.contribute-hero>p:not(.eyebrow){color:#876c7b;max-width:560px;margin:0 auto;line-height:1.7}.hero-doodle{color:#dd79a0;opacity:.7;font:55px Georgia,serif;position:absolute}.doodle-one{top:26%;left:7%}.doodle-two{top:45%;right:7%;transform:rotate(16deg)}.hero-counter{color:#a74471;background:#fff;border:1px solid #f0d2dc;border-radius:30px;align-items:center;gap:8px;margin-top:27px;padding:12px 19px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 8px 20px #bf789529}.contribute-layout{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:center;gap:clamp(32px,7vw,100px);max-width:1120px;margin:18px auto 110px;padding:0 24px;display:grid}.wish-form-card{background:#fff;border:1px solid #efd7df;border-radius:28px;padding:clamp(25px,4vw,48px);position:relative;box-shadow:0 28px 70px #b9738e2b}.wish-form-card h2{margin:10px 0;font:400 43px Georgia,serif}.wish-form-card .field{margin:22px 0}.form-description{color:#8d7280;font-size:14px;line-height:1.7}.form-sticker{color:#a64471;background:#f9d6e4;border-radius:8px;padding:9px 16px;font:italic 13px Georgia,serif;position:absolute;top:-17px;right:24px;transform:rotate(6deg);box-shadow:0 5px 10px #b36a882b}.photo-drop{color:#bc4e7d;text-align:center;cursor:pointer;background:#fff7fa;border:2px dashed #e8b9cc;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:26px;display:flex;position:relative}.photo-drop span{color:#9c7a8b;font-size:11px}.photo-drop input{opacity:0;cursor:pointer;position:absolute;inset:0}.pending-photos{gap:10px;margin:14px 0;display:flex}.pending-photos>div{position:relative}.pending-photos img{object-fit:cover;border-radius:12px;width:78px;height:78px}.pending-photos button{color:#fff;background:#c7507e;border:0;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;position:absolute;top:-6px;right:-6px}.invite-aside{text-align:center}.paper-stack{background:#fffdfa;border:9px solid #fff;border-radius:5px;outline:1px solid #eccfd9;flex-direction:column;justify-content:center;align-items:center;width:min(100%,330px);min-height:360px;margin:0 auto 35px;padding:58px 35px 30px;display:flex;transform:rotate(5deg);box-shadow:15px 17px #f7d9e4,0 25px 50px #b66a8538}.stack-heart{color:#e17a9f;font-size:47px}.paper-stack p{font:italic 20px Georgia,serif}.paper-stack strong{color:#a94571;font:italic 29px/1.2 Georgia,serif}.paper-stack span{color:#ae7591;margin-top:25px;font:italic 15px Georgia,serif}.invite-aside h3{font:400 27px Georgia,serif}.invite-aside>p{color:#8c7181;max-width:310px;margin:10px auto 22px;font-size:13px;line-height:1.7}.copy-invite{color:#a94673;background:#fff;border:1px solid #e9c6d5;border-radius:30px;align-items:center;gap:9px;padding:13px 18px;font-weight:700;display:inline-flex;box-shadow:0 5px 15px #a75b7c1c}.invite-aside>.text-button{justify-content:center;margin:20px auto;display:flex}.is-reveal{background:radial-gradient(circle at 50% 20%,#ffedf1,#0000 50%),linear-gradient(160deg,#fff9f5,#fce5eb 70%,#f9e8d3);min-height:100vh}.reveal-progress{color:#a15d79;letter-spacing:.06em;text-transform:uppercase;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;max-width:820px;margin:0 auto;padding:28px 25px 0;font-size:11px;font-weight:700;display:grid}.progress-track{background:#f3d4df;border-radius:9px;height:7px;overflow:hidden}.progress-track>div{background:linear-gradient(90deg,#e98faf,#ca4d80);border-radius:9px;height:100%;transition:width .45s}.reveal-stage{text-align:center;max-width:1000px;margin:0 auto;padding:40px 24px 100px}.cake-finale,.reveal-intro{flex-direction:column;justify-content:center;align-items:center;min-height:610px;display:flex}.cake-finale h1,.keepsake h1,.reveal-intro h1{font-size:clamp(45px,6vw,78px)}.cake-finale>p:not(.eyebrow),.reveal-intro>p:not(.eyebrow){color:#866a79;max-width:520px;line-height:1.75}.envelope{background:linear-gradient(145deg,#f4a9c1,#d96491);border-radius:9px;place-items:center;width:205px;height:142px;margin-bottom:34px;animation:envelope-float 3s ease-in-out infinite;display:grid;position:relative;transform:rotate(-7deg);box-shadow:0 25px 45px #c6688d52}.envelope:before{content:"";border-top:83px solid #f8bdd1;border-left:102px solid #0000;border-right:102px solid #0000;position:absolute;top:0;left:0;right:0}.envelope span{z-index:1;color:#fff;background:#d15383;border-radius:50%;place-items:center;width:39px;height:39px;display:grid;box-shadow:0 4px 12px #9e466c63}.cake-finale .primary,.reveal-intro .primary{margin-top:24px}.reveal-wish{padding-top:25px}.reveal-wish,.wish-paper{flex-direction:column;align-items:center;display:flex}.wish-paper{background:#fffefa;border:1px solid #f0d9df;border-radius:9px;justify-content:center;width:min(100%,680px);min-height:440px;margin:22px auto 32px;padding:clamp(30px,5vw,58px);transform:rotate(-1deg);box-shadow:11px 14px #f7dbe5,0 25px 55px #b7749033}.wish-paper-mark{color:#df8eab;font:100px/.7 Georgia,serif}.wish-paper>p{white-space:pre-wrap;overflow-wrap:anywhere;color:#6d475b;margin:20px 0 30px;font:italic clamp(24px,3vw,37px)/1.45 Georgia,serif}.wish-paper>span{color:#af6585;font:italic 18px Georgia,serif}.reveal-photos{flex-wrap:wrap;justify-content:center;gap:12px;margin:4px 0 28px;display:flex}.reveal-photos img{object-fit:cover;border:7px solid #fff;max-width:min(190px,29vw);height:150px;transform:rotate(-3deg);box-shadow:0 8px 23px #9d617f42}.reveal-photos img:nth-child(2n){transform:rotate(4deg)}.cake-finale h1{margin-bottom:0}.cake-scene{perspective:600px;filter:drop-shadow(0 20px 18px #b4688750);width:320px;height:320px;margin:0 auto 10px;animation:cake-bob 3.5s ease-in-out infinite;position:relative}.cake-base{background:linear-gradient(#f8f0e8,#b48694);border-radius:50%;width:272px;height:30px;position:absolute;bottom:29px;left:24px;box-shadow:0 16px 22px #ad678c59}.cake-body{color:#fff;background:repeating-linear-gradient(0deg,#f3a8c2 0 24px,#ed89aa 24px 42px);border-radius:12px 12px 35px 35px;place-items:center;width:212px;height:126px;font-size:60px;display:grid;position:absolute;bottom:45px;left:54px;transform:skewY(-2deg);box-shadow:inset -24px -9px 22px #b65a8042,8px 11px #cf6d93}.cake-top{z-index:2;background:radial-gradient(at 35% 35%,#fff,#ffe0e8 65%,#e597b4);border-radius:50%;width:224px;height:67px;position:absolute;bottom:156px;left:48px;box-shadow:0 10px #fff0f4,0 18px #f5bbce}.candles{z-index:3;justify-content:space-between;width:130px;display:flex;position:absolute;bottom:212px;left:95px}.candles i{background:repeating-linear-gradient(45deg,#fff 0 8px,#ef86aa 8px 15px);border-radius:4px;width:13px;height:49px;position:relative}.candles i:before{content:"";background:radial-gradient(circle at 50% 75%,#fff4ad,#ffb944 62%,#ff7e58);border-radius:70% 0 70% 70%;width:11px;height:22px;animation:flame-dance 1.1s ease-in-out infinite alternate;position:absolute;bottom:54px;left:1px;transform:rotate(-45deg);box-shadow:0 0 18px #ffbd68}.cake-spark{color:#d86c96;font-size:37px;animation:star-twinkle 2s ease-in-out infinite;position:absolute}.spark-left{top:90px;left:5px}.spark-right{top:35px;right:12px}.keepsake-intro{color:#896c7c}.keepsake-actions{justify-content:center;gap:25px;margin:24px 0 40px;display:flex}.keepsake-grid{text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.keepsake-card{break-inside:avoid;background:#fffefa;border:1px solid #efd5de;border-radius:18px;padding:29px;box-shadow:0 10px 25px #b9718c1c}.keepsake-card>span{color:#d96591;font-size:25px}.keepsake-card>p{color:#69465a;white-space:pre-wrap;overflow-wrap:anywhere;font:italic 21px/1.5 Georgia,serif}.keepsake-card>strong{color:#ae5a7f;font:italic 17px Georgia,serif}.keepsake-photos{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.keepsake-photos img{object-fit:cover;border-radius:8px;max-width:45%;height:120px}@keyframes flame-dance{0%{transform:rotate(-50deg)scale(.9)}to{transform:rotate(-40deg)scale(1.13)}}@keyframes cake-bob{50%{transform:translateY(-7px)}}@keyframes envelope-float{50%{transform:rotate(-5deg)translateY(-9px)}}@media (max-width:750px){.celebration-nav{height:70px}.celebration-nav>span{display:none}.contribute-layout{grid-template-columns:1fr;gap:70px;margin-bottom:70px}.contribute-hero{padding-top:55px}.doodle-one{left:0}.doodle-two{right:0}.invite-aside{padding-bottom:25px}.journey-steps{gap:7px}.journey-steps>div{padding:11px 8px}.journey-steps small{font-size:10px}.reveal-progress{grid-template-columns:1fr auto}.progress-track{grid-area:2/1/auto/-1}.reveal-stage{padding-top:15px}.wish-paper{min-height:400px}.keepsake-grid{grid-template-columns:1fr}.reveal-photos img{height:105px}.keepsake-actions{flex-wrap:wrap}}@media (max-width:500px){.celebration-nav .nav-home{font-size:0}.celebration-nav .nav-home svg{width:20px;height:20px}.journey-steps{grid-template-columns:1fr}.journey-steps>div{align-items:center;gap:12px;display:flex}.journey-steps strong{margin:0}.journey-steps small{margin-left:auto}.cake-finale,.reveal-intro{min-height:550px}.cake-scene{margin:-15px auto;transform:scale(.85)}.cake-finale .primary{margin-top:0}.wish-paper>p{font-size:24px}}@media (prefers-reduced-motion:reduce){.cake-scene,.cake-spark,.candles i:before,.envelope{animation:none!important}}@media print{.celebration-nav,.keepsake-actions,.reveal-progress{display:none!important}.is-reveal,.reveal-stage{background:#fff!important;padding:0!important}.keepsake{color:#533a4a}.keepsake-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.keepsake-card{box-shadow:none}.keepsake-card img{max-height:100px}}.celebration-nav-actions{align-items:center;gap:22px;display:flex}.music-toggle{color:#a24670;background:#fff9;border:1px solid #edcbd8;border-radius:30px;align-items:center;gap:7px;padding:9px 13px;font-size:12px;font-weight:700;display:inline-flex}.music-toggle:hover{background:#ffe6ef}.music-toggle[aria-pressed=true]{background:#fce0e9;border-color:#e8adbf}.music-hint{color:#a67489;margin-top:17px;font:italic 13px Georgia,serif;display:block}@media (max-width:500px){.celebration-nav-actions{gap:9px}.music-toggle{padding:9px}.music-toggle span{display:none}}.is-reveal:not(.is-keepsake){flex-direction:column;height:100dvh;min-height:0;display:flex;overflow:hidden}.is-reveal:not(.is-keepsake) .celebration-nav{flex:none}.is-reveal:not(.is-keepsake) .reveal-progress{flex:none;width:100%;padding-top:15px}.is-reveal:not(.is-keepsake) .reveal-stage{flex:1;justify-content:center;align-items:stretch;width:100%;min-height:0;padding:12px 24px 22px;display:flex}.is-reveal:not(.is-keepsake) .cake-finale,.is-reveal:not(.is-keepsake) .reveal-intro{height:100%;min-height:0;padding:8px 0;overflow-y:auto}.is-reveal:not(.is-keepsake) .reveal-wish{height:100%;min-height:0;padding-top:5px}.is-reveal:not(.is-keepsake) .reveal-wish>.eyebrow{flex:none;margin:7px 0}.is-reveal:not(.is-keepsake) .reveal-wish>.primary{flex:none}.is-reveal:not(.is-keepsake) .wish-paper{overscroll-behavior:contain;flex:1;min-height:0;max-height:none;margin:12px auto 17px;padding:clamp(19px,3vh,42px);overflow-y:auto}.is-reveal:not(.is-keepsake) .wish-paper>p{margin:13px 0 17px;font-size:clamp(21px,3vw,34px);line-height:1.35}.is-reveal:not(.is-keepsake) .reveal-photos img{height:clamp(80px,14vh,135px)}.is-reveal:not(.is-keepsake) .envelope{width:clamp(125px,19vh,205px);height:clamp(90px,13vh,142px);margin-bottom:clamp(12px,3vh,34px)}.is-reveal:not(.is-keepsake) .envelope:before{border-top-width:clamp(55px,8vh,83px);border-left-width:clamp(62px,9.5vh,102px);border-right-width:clamp(62px,9.5vh,102px)}.is-reveal:not(.is-keepsake) .cake-finale h1,.is-reveal:not(.is-keepsake) .reveal-intro h1{margin:8px 0;font-size:clamp(38px,5vh,68px)}.is-reveal:not(.is-keepsake) .cake-scene{transform-origin:50%;height:clamp(215px,35vh,320px);margin:0 auto;animation:cake-bob-fit 3.5s ease-in-out infinite;transform:scale(.9)}@keyframes cake-bob-fit{0%,to{transform:scale(.9)translateY(0)}50%{transform:scale(.9)translateY(-7px)}}.is-reveal:not(.is-keepsake) .cake-finale>.primary{margin-top:12px}@media (max-width:750px){.is-reveal:not(.is-keepsake) .reveal-progress{row-gap:7px;padding-top:12px}.is-reveal:not(.is-keepsake) .reveal-stage{padding:9px 16px 17px}.is-reveal:not(.is-keepsake) .wish-paper{width:100%;margin:9px auto 14px}.is-reveal:not(.is-keepsake) .reveal-photos img{height:clamp(65px,11vh,105px)}}@media (max-height:700px){.is-reveal:not(.is-keepsake) .cake-finale>p:not(.eyebrow),.is-reveal:not(.is-keepsake) .reveal-intro>p:not(.eyebrow){margin:6px 0;line-height:1.45}.is-reveal:not(.is-keepsake) .reveal-intro .primary{margin-top:12px}.is-reveal:not(.is-keepsake) .cake-scene{height:205px;animation:none;transform:scale(.62)}.is-reveal:not(.is-keepsake) .music-hint{margin-top:7px}}@media (prefers-reduced-motion:reduce){.is-reveal:not(.is-keepsake) .cake-scene{animation:none}}.celebration-app:not(.is-reveal){grid-template-rows:72px minmax(0,1fr);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);height:100dvh;min-height:0;display:grid;overflow:hidden}.celebration-app:not(.is-reveal) .celebration-nav{grid-column:1/-1;height:72px}.celebration-app:not(.is-reveal) .contribute-hero{text-align:left;grid-area:2/1;align-self:center;width:100%;padding:22px clamp(25px,5vw,80px)}.celebration-app:not(.is-reveal) .contribute-hero h1{margin:13px 0 18px;font-size:clamp(39px,4.8vw,68px);line-height:1.06}.celebration-app:not(.is-reveal) .contribute-hero>p:not(.eyebrow){margin:0;font-size:14px}.celebration-app:not(.is-reveal) .hero-counter{margin-top:22px}.celebration-app:not(.is-reveal) .doodle-one{top:-4%;left:3%}.celebration-app:not(.is-reveal) .doodle-two{top:auto;bottom:3%;right:4%}.celebration-app:not(.is-reveal) .contribute-layout{overscroll-behavior:contain;flex-direction:column;grid-area:2/2;align-items:stretch;gap:10px;width:100%;max-width:none;min-height:0;margin:0;padding:18px clamp(22px,5vw,70px) 18px 0;display:flex;overflow-y:auto}.celebration-app:not(.is-reveal) .wish-form-card{border-radius:24px;flex:none;padding:clamp(20px,2.6vh,32px)}.celebration-app:not(.is-reveal) .wish-form-card h2{margin:5px 0;font-size:clamp(31px,3vw,40px)}.celebration-app:not(.is-reveal) .wish-form-card .field{margin:11px 0}.celebration-app:not(.is-reveal) .wish-form-card .field>span{margin-bottom:6px}.celebration-app:not(.is-reveal) .wish-form-card input,.celebration-app:not(.is-reveal) .wish-form-card textarea{border-radius:12px;padding:11px 13px}.celebration-app:not(.is-reveal) .wish-form-card textarea{min-height:78px;max-height:150px}.celebration-app:not(.is-reveal) .form-description{margin:5px 0 9px;font-size:12px}.celebration-app:not(.is-reveal) .field-count{margin-top:3px}.celebration-app:not(.is-reveal) .photo-drop{text-align:left;grid-template-rows:auto auto;grid-template-columns:25px 1fr;justify-content:stretch;gap:0 10px;padding:11px 15px;display:grid}.celebration-app:not(.is-reveal) .photo-drop svg{grid-row:1/3;align-self:center}.celebration-app:not(.is-reveal) .photo-drop strong{font-size:13px}.celebration-app:not(.is-reveal) .photo-drop span{font-size:10px}.celebration-app:not(.is-reveal) .wish-form-card .primary.wide{margin-top:10px;padding:12px}.celebration-app:not(.is-reveal) .invite-aside{text-align:left;flex:none;padding:0;display:block}.celebration-app:not(.is-reveal) .invite-aside summary{color:#a74773;cursor:pointer;background:#fff9;border:1px solid #efd1dc;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px;font-size:12px;font-weight:700;list-style:none;display:flex}.celebration-app:not(.is-reveal) .invite-aside summary::-webkit-details-marker{display:none}.celebration-app:not(.is-reveal) .invite-aside[open]{text-align:center;background:#fff9;border:1px solid #efd1dc;border-radius:12px;padding:0 15px 20px}.celebration-app:not(.is-reveal) .invite-aside[open] summary{border:0;border-bottom:1px solid #efd1dc;margin:0 -15px 20px}.celebration-app:not(.is-reveal) .paper-stack{width:185px;min-height:160px;margin:10px auto 18px;padding:17px;transform:rotate(3deg);box-shadow:8px 8px #f7d9e4}.celebration-app:not(.is-reveal) .paper-stack .stack-heart{font-size:20px}.celebration-app:not(.is-reveal) .paper-stack p{margin:5px;font-size:13px}.celebration-app:not(.is-reveal) .paper-stack strong{font-size:16px}.celebration-app:not(.is-reveal) .paper-stack span{margin-top:7px;font-size:11px}@media (max-width:750px){.celebration-app:not(.is-reveal){grid-template-rows:62px auto minmax(0,1fr);grid-template-columns:1fr}.celebration-app:not(.is-reveal) .celebration-nav{grid-area:1/1;height:62px}.celebration-app:not(.is-reveal) .contribute-hero{text-align:center;grid-area:2/1;padding:13px 20px 10px}.celebration-app:not(.is-reveal) .contribute-hero .eyebrow{font-size:9px}.celebration-app:not(.is-reveal) .contribute-hero h1{max-width:500px;margin:6px auto;font-size:clamp(29px,6vw,39px);line-height:1.08}.celebration-app:not(.is-reveal) .contribute-hero>p:not(.eyebrow){max-width:420px;margin:0 auto;font-size:11px;line-height:1.35}.celebration-app:not(.is-reveal) .hero-counter{margin-top:8px;padding:7px 12px;font-size:10px}.celebration-app:not(.is-reveal) .hero-counter svg{width:13px;height:13px}.celebration-app:not(.is-reveal) .hero-doodle{font-size:27px}.celebration-app:not(.is-reveal) .contribute-layout{grid-area:3/1;gap:7px;min-height:0;padding:8px 15px 13px}.celebration-app:not(.is-reveal) .wish-form-card{border-radius:19px;padding:15px 19px 17px}.celebration-app:not(.is-reveal) .wish-form-card h2{font-size:29px}.celebration-app:not(.is-reveal) .wish-form-card .eyebrow{margin:0;font-size:9px}.celebration-app:not(.is-reveal) .form-description{display:none}.celebration-app:not(.is-reveal) .wish-form-card .field{margin:9px 0}.celebration-app:not(.is-reveal) .wish-form-card input,.celebration-app:not(.is-reveal) .wish-form-card textarea{padding:9px 11px;font-size:13px}.celebration-app:not(.is-reveal) .wish-form-card textarea{min-height:68px}.celebration-app:not(.is-reveal) .form-sticker{display:none}.celebration-app:not(.is-reveal) .photo-drop{padding:9px 12px}}.pending-photos{flex-wrap:wrap}.photo-preview{border-radius:12px;width:88px;height:92px;position:relative;overflow:visible}.photo-preview img{border:2px solid #fff;width:88px;height:88px;display:block;box-shadow:0 4px 13px #a9627e3b}.photo-preview.uploading img{filter:brightness(.62)}.photo-preview.error img{filter:brightness(.8);border-color:#dc7282}.photo-preview.ready img{border-color:#9ac9a6}.photo-preview .photo-upload-state{color:#fff;background:#563c4bdc;border-radius:7px;justify-content:center;align-items:center;gap:4px;padding:3px 2px;font-size:9px;font-weight:700;line-height:1.2;display:flex;position:absolute;bottom:7px;left:3px;right:3px}.photo-preview.ready .photo-upload-state{background:#3f8e62e8}.photo-preview.error .photo-upload-state{background:#ba536ae8}.photo-preview button:disabled{opacity:.65}.photo-spinner{border:2px solid #ffffff70;border-top-color:#fff;border-radius:50%;width:11px;height:11px;animation:photo-spin .8s linear infinite;display:block}@keyframes photo-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.photo-spinner{border-color:#fff;animation:none}}.reveal-wish{width:100%}.reveal-wish .wish-paper{isolation:isolate;border-radius:24px;transition:background .3s,border-color .3s;position:relative;overflow-x:hidden;box-shadow:0 20px 55px #b16d8b2c}.reveal-wish .wish-paper>*{z-index:1;position:relative}.wish-paper-top{color:#a36e83;letter-spacing:.17em;justify-content:space-between;align-items:center;gap:15px;width:100%;font-size:10px;font-weight:800;display:flex}.wish-card-orbit{background:radial-gradient(circle,#ffe6ef73,#0000 70%);border:1px solid #e7a9c385;border-radius:50%;width:320px;height:320px;top:-190px;right:-155px}.wish-card-orbit,.wish-card-spark{pointer-events:none;z-index:0!important;position:absolute!important}.wish-card-spark{color:#e18cab88;font:clamp(40px,7vw,75px) Georgia,serif;top:14%;right:7%;transform:rotate(15deg)}.reveal-wish .wish-paper-mark{align-self:flex-start;margin-top:7px;font-size:clamp(58px,8vh,90px);line-height:.6}.is-reveal:not(.is-keepsake) .reveal-wish .wish-paper>p{text-align:left;z-index:1;width:100%;margin:auto 0}.reveal-wish .wish-paper .wish-signoff{color:#a15379;text-align:right;align-self:flex-end;margin-top:auto;padding-top:15px;font:italic 17px Georgia,serif}.wish-signoff i{color:#d36b94;margin-left:4px;font-size:23px;font-style:normal}.wish-paper-0{background:linear-gradient(115deg,#fffefa 80%,#fff0f4);border:1px solid #efd5df;border-left:8px solid #df8aab;transform:rotate(-1deg)}.wish-paper-0 .wish-paper-mark{color:#df8aab}.wish-paper-0>p{color:#71495d;font-family:Georgia,serif;font-style:italic}.wish-paper-1{background:radial-gradient(circle at 84% 18%,#d8c6f0 0,#f5eefa 34%,#fffbfa 77%);border:1px solid #d8c6e9;transform:rotate(1deg);box-shadow:0 18px 45px #8667a52e;border-radius:34px!important}.wish-paper-1 .wish-card-spark{color:#9e79c987;top:16%;right:11%}.wish-paper-1 .wish-card-orbit{background:radial-gradient(circle,#e4d6f1,#0000 70%);border-color:#be9edb8c}.wish-paper-1 .wish-paper-mark{color:#a180c1}.wish-paper-1>p{color:#604b76;font-style:normal;font-weight:500}.wish-paper-1 .wish-signoff,.wish-paper-1 .wish-signoff i{color:#8d67ad}.wish-paper-2{background:radial-gradient(circle at 88% 85%,#ffe1c1 0,#fff7e9 35%,#fffdf8 76%);border:1px solid #edcfad;transform:rotate(-.5deg);border-radius:16px 40px!important}.wish-paper-2:after{content:"";z-index:0;border-bottom:1px dashed #d9a57891;position:absolute;bottom:19px;left:28px;right:28px}.wish-paper-2 .wish-card-spark{color:#d8a263a1;top:18%;right:9%}.wish-paper-2 .wish-card-orbit{background:radial-gradient(circle,#ffe8ca,#0000 70%);border-color:#eac99a}.wish-paper-2 .wish-paper-mark{color:#dca66d}.wish-paper-2>p{color:#80563d}.wish-paper-2 .wish-signoff,.wish-paper-2 .wish-signoff i{color:#bc7c57}.reveal-wish .reveal-photos{justify-content:flex-start;width:100%;margin:5px 0 18px}.reveal-wish .reveal-photos img{border-radius:8px;box-shadow:0 7px 19px #8e597c3b}@media (max-width:750px){.wish-paper-top{letter-spacing:.1em;font-size:8px}.reveal-wish .wish-paper .wish-signoff{font-size:14px}.wish-card-spark{font-size:42px}.reveal-wish .wish-paper>p{font-size:clamp(20px,4.5vw,27px)}}.collection-builder{grid-template-rows:91px auto minmax(0,1fr) auto;height:100dvh;min-height:0;display:grid;overflow:hidden}.collection-builder .builder-back{margin:clamp(10px,2vh,20px) 7% 0}.collection-builder .builder-body{overscroll-behavior:contain;align-content:safe center;width:100%;min-height:0;margin:0 auto;padding:clamp(12px,2vh,24px) 28px;overflow-y:auto}.collection-builder .builder-copy>h1{margin:10px 0 12px;font-size:clamp(43px,5vw,68px)}.collection-builder .builder-copy .intro{margin-bottom:0;font-size:15px;line-height:1.55}.collection-builder .journey-steps{margin:clamp(15px,2.5vh,25px) 0}.collection-builder .journey-steps>div{padding:10px 12px}.collection-builder .journey-steps strong{margin:4px 0 2px}.collection-builder .collection-preview-art{height:clamp(130px,20vh,190px)}.collection-builder .note{margin-top:12px;padding:9px 13px}.collection-builder .note p{margin:0;line-height:1.4}.collection-builder .collection-form-card{padding:clamp(20px,3vh,32px)}.collection-builder .collection-form-card .field{margin:clamp(10px,1.7vh,17px) 0}.collection-builder .collection-form-card input,.collection-builder .collection-form-card textarea{padding:11px 13px}.collection-builder .collection-form-card textarea{min-height:72px}.collection-builder .collection-footer{padding:12px}@media (min-width:651px) and (max-height:800px){.collection-builder .builder-body{padding-top:8px;padding-bottom:8px}.collection-builder .builder-copy>h1{font-size:clamp(39px,4.3vw,59px)}.collection-builder .journey-steps{margin:13px 0}.collection-builder .collection-preview-art{height:120px}.collection-builder .note{display:none}.collection-builder .collection-form-card{padding:16px 22px}.collection-builder .collection-form-card h2{margin:5px 0;font-size:28px}.collection-builder .collection-form-card .form-intro{margin:5px 0;line-height:1.4}.collection-builder .collection-form-card .field{margin:8px 0}.collection-builder .collection-form-card .field>span{margin-bottom:5px}.collection-builder .collection-form-card input,.collection-builder .collection-form-card textarea{padding:8px 11px}.collection-builder .collection-form-card textarea{height:57px;min-height:57px}.collection-builder .collection-form-card .primary.wide{margin-top:8px;padding:12px}}@media (max-width:650px){.collection-builder{grid-template-rows:75px auto minmax(0,1fr) auto}.collection-builder .builder-back{margin:9px 6% 0;font-size:11px}.collection-builder .builder-body{padding:12px 6% 18px;display:block}.collection-builder .builder-copy>h1{font-size:clamp(36px,9vw,47px)}.collection-builder .journey-steps{margin:15px 0}.collection-builder .collection-preview-art{height:145px}.collection-builder .collection-form-card{margin-top:18px}}:root{--bg:#fff8f5;--panel:#fffdfb;--line:#f3c7d9;--text:#592747;--muted:#886477;--pink:#ef4e92;--gold:#ffba65}body{color:var(--text);background:#fff8f5}.birthday-atmosphere{z-index:4;pointer-events:none;contain:layout;position:fixed;inset:0;overflow:hidden}.birthday-atmosphere span{color:#f467a6;opacity:.28;filter:drop-shadow(0 5px 8px #e85e9930);font:32px Georgia,serif;animation:heart-drift 9s ease-in-out infinite alternate;position:absolute}.birthday-atmosphere span:first-child{font-size:23px;animation-delay:-2s;top:19%;left:3%}.birthday-atmosphere span:nth-child(2){color:#f6ae55;font-size:17px;animation-delay:-5s;top:6%;left:26%}.birthday-atmosphere span:nth-child(3){font-size:34px;animation-delay:-3s;top:27%;right:4%}.birthday-atmosphere span:nth-child(4){color:#ad8df0;font-size:20px;animation-delay:-7s;top:10%;right:17%}.birthday-atmosphere span:nth-child(5){font-size:26px;animation-delay:-6s;bottom:12%;left:12%}.birthday-atmosphere span:nth-child(6){color:#ffac59;font-size:25px;animation-delay:-1s;bottom:15%;right:7%}.birthday-atmosphere span:nth-child(7){color:#a586e8;font-size:21px;animation-delay:-4s;bottom:5%;left:42%}.birthday-atmosphere span:nth-child(8){color:#ffad58;font-size:16px;animation-delay:-8s;top:18%;right:36%}@keyframes heart-drift{0%{transform:translate(0)rotate(-12deg)scale(.9)}to{transform:translate(12px,-26px)rotate(15deg)scale(1.12)}}.celebration-nav,.collection-top,.topbar{background:linear-gradient(90deg,#fffaf6ed,#fff1f8e8);border-color:#f2d0df;box-shadow:0 5px 22px #b5527e10}.brand{color:#652a50;text-shadow:0 3px #ffcce2;font-weight:700}.brand span{color:#f05298;animation:brand-twinkle 4s ease-in-out infinite;display:inline-block}@keyframes brand-twinkle{50%{transform:rotate(35deg)scale(1.18)}}.eyebrow{color:#cc397a;letter-spacing:.22em}.add-wish-intro h2 em,.builder-copy>h1 em,.wall-heading h2 em,h1 em{color:#e9448a}.copy-invite,.primary,.share-link button{color:#fff;background:linear-gradient(110deg,#ef4e92,#f76d8e 50%,#ffa65d);border:1px solid #ed6a95;transition:transform .23s,box-shadow .23s,filter .23s;box-shadow:0 9px 23px #db4c8f38}.copy-invite:hover,.primary:hover,.share-link button:hover{filter:saturate(1.1);background:linear-gradient(110deg,#ee3d88,#f75e83 50%,#ff9950);transform:translateY(-3px);box-shadow:0 15px 28px #db4c8f45}.copy-invite:active,.primary:active,.share-link button:active{transform:translateY(0)scale(.98)}.copy-invite:focus-visible,.primary:focus-visible,.share-link button:focus-visible{outline-offset:3px;outline:3px solid #9d6af1}input,textarea{border-color:#edcddd;box-shadow:0 3px 10px #bd659616;color:#592747!important;background:#fff!important}input:focus,textarea:focus{border-color:#ed68a0;box-shadow:0 0 0 4px #f588b730}input::placeholder,textarea::placeholder{color:#a88b9d}.field>span,.wish-form-card .field>span{color:#713755;font-weight:700}.collection-builder{background:radial-gradient(circle at 8% 22%,#ffd2e5 0,#0000 31%),radial-gradient(circle at 90% 13%,#ffe5a7 0,#0000 29%),radial-gradient(circle at 53% 82%,#e9d6ff 0,#0000 35%),#fffaf7}.collection-builder .builder-copy>h1{color:#592747;text-shadow:0 4px #fff7}.collection-builder .builder-copy>h1 em{color:#0000;background:linear-gradient(105deg,#e43d87,#f87082,#f5a04f);-webkit-background-clip:text;background-clip:text}.journey-steps>div{background:linear-gradient(145deg,#fff,#fff0f6);border-color:#f3b9d3;transition:transform .3s,box-shadow .3s;box-shadow:0 9px 20px #d25b9029}.journey-steps>div:nth-child(2){background:linear-gradient(145deg,#fff,#f2e8ff);border-color:#d6bbf5}.journey-steps>div:nth-child(3){background:linear-gradient(145deg,#fff,#fff1db);border-color:#f6d4a4}.journey-steps>div:hover{transform:translateY(-5px)rotate(-1deg);box-shadow:0 15px 25px #d25b9035}.collection-preview-art{background:radial-gradient(#fff9 1.5px,#0000 0) 0 0/23px 23px,linear-gradient(125deg,#f65f9e,#dc73ca 54%,#ffae6a) 0 0/cover;transition:transform .3s;transform:rotate(-2deg);box-shadow:0 18px 38px #d6639e55}.collection-preview-art:hover{transform:rotate(1deg)scale(1.02)}.art-heart{animation:heart-beat 2.2s ease-in-out infinite}@keyframes heart-beat{50%{transform:scale(1.2)}}.collection-form-card,.summary,.wish-form-card{background:linear-gradient(150deg,#fffefa,#fff5fa);border-color:#f4c2d8;box-shadow:0 24px 60px #d3649740}.collection-form-card h2,.wish-form-card h2{color:#62284a}.collection-builder .note,.note{color:#8b5674;background:#fff0f8;border-color:#f4c6dc}.collection-footer{color:#a44d78;background:#fff0f6}.celebration-app:not(.is-reveal){background:radial-gradient(circle at 4% 42%,#ffd0e5,#0000 34%),radial-gradient(circle at 90% 85%,#fff0bf,#0000 34%),#fffaf7}.contribute-hero h1{color:#582747}.contribute-hero h1 em{color:#0000;background:linear-gradient(100deg,#e63e86,#f49a55);-webkit-background-clip:text;background-clip:text}.hero-doodle{color:#ed5597;animation:heart-drift 7s ease-in-out infinite alternate}.doodle-two{color:#a47deb;animation-delay:-3s}.hero-counter{color:#b43172;background:#fff2fa;border-color:#f0afd0;box-shadow:0 9px 22px #d1629633}.form-sticker{color:#742a52;background:linear-gradient(105deg,#ff8cb8,#ffc196);box-shadow:0 7px 15px #cb6c9250}.photo-drop{background:linear-gradient(125deg,#fff0f8,#fff8ec);border-color:#eb8ebd;transition:background .2s,transform .2s}.photo-drop:hover{background:#ffe7f3;transform:translateY(-2px)}.invite-aside summary,.paper-stack{background:#fff6fb;border-color:#f4c1da}.paper-stack{box-shadow:9px 9px #ffd4e7,0 20px 38px #be668e39}.paper-stack .stack-heart{color:#e6498d;animation:heart-beat 2.2s infinite}.is-reveal{background:radial-gradient(circle at 16% 20%,#ffd9eb,#0000 37%),radial-gradient(circle at 89% 76%,#ffe5ba,#0000 32%),linear-gradient(145deg,#fffaf7,#ffeef8)}.progress-track>div{background:linear-gradient(90deg,#ee4d92,#a776ea,#ffab60)}.envelope{background:linear-gradient(140deg,#ff8fbc,#ec5295 55%,#d853ac);box-shadow:0 25px 45px #cc59974f}.wish-paper{box-shadow:11px 14px #ffd8e8,0 25px 55px #be638c38}.wish-paper-0{background:linear-gradient(120deg,#fffefa,#fff1f8 72%,#ffe4ef);border-left-color:#ef5d9f}.wish-paper-1{background:radial-gradient(circle at 85% 12%,#dcc5ff,#f9f0ff 45%,#fffefa 85%)}.wish-paper-2{background:radial-gradient(circle at 88% 85%,#ffe2ae,#fff4df 43%,#fffefa 85%)}.reveal-photos img{transition:transform .25s,box-shadow .25s}.reveal-photos img:hover{transform:rotate(0)scale(1.07);box-shadow:0 12px 28px #a84f8766}.keepsake-card{background:linear-gradient(145deg,#fff,#fff1f7);border-color:#f0c5d9;transition:transform .25s;box-shadow:0 12px 25px #be6a9440}.keepsake-card:nth-child(3n+2){background:linear-gradient(145deg,#fff,#f4edff);border-color:#d9c7f3}.keepsake-card:nth-child(3n){background:linear-gradient(145deg,#fff,#fff2dd);border-color:#f5d5a7}.keepsake-card:hover{transform:translateY(-5px)rotate(.5deg)}.editor{color:#592747;background:radial-gradient(circle at 5% 20%,#ffe0ee,#0000 30%),radial-gradient(circle at 90% 80%,#ffe7b9,#0000 33%),#fffaf7}.editor-panel{background:0 0}.steps button{color:#91667c}.steps .active{color:#d93f83}.steps .active>span{color:#fff;background:linear-gradient(130deg,#eb4b8d,#ffa35f);border-color:#e95d94}.preview-panel{background:radial-gradient(circle at 50% 40%,#ffe1ed,#f3e2ff 60%,#ffefd9);border-color:#f1c7da}.preview-frame{box-shadow:0 30px 65px #b4578942,0 0 0 4px #fff8}.gift-scene{background:radial-gradient(circle at 50% 43%,#fff7d5,#0000 46%),radial-gradient(circle at 8% 18%,#ffd4e8,#0000 38%),linear-gradient(145deg,#fff0f8,#f8e8ff 66%,#fff1d6)}.gift-scene.celebrating{background:radial-gradient(circle at 50% 45%,#fff6cf,#0000 47%),linear-gradient(145deg,#ffd6e8,#f1d9ff 60%,#ffe1b3)}.present{background:radial-gradient(#fff6 1px,#0000 0),linear-gradient(135deg,#f68db6,#d85899 57%,#b861c2);box-shadow:0 26px 50px #c753954d}.present-lid{background:linear-gradient(#f9a7cc,#d65599)}.scene-star{color:#d84291}.birthday-name{background:linear-gradient(105deg,#ed458e,#f27c91,#e99f51);-webkit-background-clip:text;background-clip:text;color:#0000!important}.locked{border:1px solid #f2c1d8;border-radius:26px;box-shadow:0 25px 60px #cb73993b}.collection-page{color:#592747;background:radial-gradient(circle at 85% 8%,#e8d2ff,#0000 34%),radial-gradient(circle at 8% 60%,#ffd4e7,#0000 35%),#fffaf7}.collection-banner{background:radial-gradient(circle,#ffb2d4b0,#0000 55%),radial-gradient(#fff8 1.2px,#0000 1.4px),linear-gradient(120deg,#a951a9,#e85297 52%,#f9a564);box-shadow:0 30px 70px #b84e9a57}.collection-banner .banner-content>h1{color:#fff;text-shadow:0 5px 22px #8f387e69}.collection-banner .banner-date,.collection-banner .banner-note,.collection-banner .banner-ribbon,.collection-banner .banner-stats,.collection-banner .eyebrow{color:#fff8f9}.collection-banner .banner-date span,.collection-banner .banner-stats svg{color:#ffe6aa}.banner-content>h1 em{color:#ffe8ac}.add-wish-intro h2,.wall-heading h2{color:#592747}.collection-bottom,.wall-count{color:#815b71}.wish-card,.wish-tone-1,.wish-tone-2,.wish-tone-3{background:linear-gradient(145deg,#fffefa,#ffeefa);border-color:#f1c4db;box-shadow:0 12px 25px #bf699035}.wish-tone-2{background:linear-gradient(145deg,#fffefa,#f1e9ff);border-color:#dfc8f2}.wish-tone-3{background:linear-gradient(145deg,#fffefa,#fff0dd);border-color:#efd4a9}.wish-card>p{color:#66364f}.wish-heart,.wish-mark{color:#e05a95}.wish-signature{color:#8c6579}.wish-signature strong{color:#703b59}.wish-avatar{color:#b63f77;background:#ffe1ee}.empty-wishes{color:#d34786;background:#fff8fc;border-color:#e8acd0}.add-wish-section{background:linear-gradient(125deg,#fff4fa,#fff7ed);border-color:#f1c5d8;box-shadow:0 15px 35px #bd699031}.added-message{color:#337a58}.wish-card{transition:transform .25s,box-shadow .25s}.wish-card:hover{transform:translateY(-5px)rotate(-.5deg);box-shadow:0 18px 32px #bd63954a}.birthday-cake-3d{isolation:isolate;filter:drop-shadow(0 25px 18px #a84b8050);flex:none;width:320px;height:286px;margin:5px auto 8px;animation:cake-float-3d 4s ease-in-out infinite;display:block;position:relative}.birthday-cake-3d span{display:block;position:absolute}.cake-aura{z-index:-1;background:radial-gradient(circle,#fff4a9ad,#0000 66%);border-radius:50%;animation:cake-aura-pulse 3s ease-in-out infinite;inset:13px 8px 2px}.cake-plate-3d{z-index:1;background:linear-gradient(#fff,#f2dbe9 55%,#b878ad);border-radius:50%;width:270px;height:42px;bottom:17px;left:25px;box-shadow:0 11px #b876aa,0 20px 20px #a9558642}.cake-tier-3d{border-radius:24px 24px 46px 46px;width:204px;left:58px;overflow:visible;transform:skewY(-2deg);box-shadow:inset -22px -5px 26px #942d7640,inset 17px 2px 20px #fff6,9px 12px #b94b8b}.cake-tier-3d:before{content:"";z-index:2;background:radial-gradient(at 33% 32%,#fffdf7,#ffe8f3 52%,#f28eba);border-radius:50%;width:calc(100% + 2px);height:51px;position:absolute;top:-18px;left:-1px;box-shadow:0 10px #fff9,0 17px #f5b5d0}.cake-tier-bottom{z-index:2;background:repeating-linear-gradient(0deg,#f16b9f 0 24px,#e34e91 24px 38px,#ffacbd 38px 43px);height:105px;bottom:48px}.cake-tier-top{z-index:4;background:repeating-linear-gradient(0deg,#dba4ed 0 19px,#c879d6 19px 31px,#efc8f4 31px 37px);width:144px;height:84px;bottom:135px;left:88px;box-shadow:inset -15px -4px 20px #83429b48,inset 10px 2px 15px #fff6,7px 8px #a85bac}.cake-tier-top:before{background:radial-gradient(at 35% 28%,#fffdf9,#fff1f9 60%,#e3b6eb);box-shadow:0 8px #fff9,0 14px #e7b7e8}.cake-front-heart{z-index:5;color:#fff7e9;text-shadow:0 4px 7px #b9477c9e;font:48px Georgia,serif;animation:heart-beat 2.3s ease-in-out infinite;bottom:66px;left:140px}.cake-candles-3d{z-index:6;justify-content:space-between;align-items:flex-end;width:110px;height:56px;bottom:213px;left:105px;display:flex!important}.cake-candles-3d i{background:repeating-linear-gradient(45deg,#fff 0 7px,#f073aa 7px 13px);border-radius:4px;width:12px;height:43px;display:block;position:relative;box-shadow:inset -3px 0 2px #b44a8b80,0 3px 4px #af5c8c66}.cake-candles-3d i:nth-child(2){background:repeating-linear-gradient(45deg,#fff 0 7px,#a989e8 7px 13px);height:53px}.cake-candles-3d i:nth-child(3){background:repeating-linear-gradient(45deg,#fff 0 7px,#ffc266 7px 13px)}.cake-candles-3d i:before{content:"";background:radial-gradient(circle at 38% 60%,#fffde0,#ffdf6f 45%,#ff8a40 85%);border-radius:75% 10% 75% 75%;width:12px;height:21px;animation:flame-dance 1.1s ease-in-out infinite alternate;position:absolute;bottom:calc(100% + 5px);left:1px;transform:rotate(-45deg);box-shadow:0 0 17px 5px #ffca6e9c}.cake-candles-3d i:nth-child(2):before{animation-delay:-.35s}.cake-candles-3d i:nth-child(3):before{animation-delay:-.7s}.cake-glint{z-index:7;color:#ffbc56;font:34px Georgia,serif;animation:star-twinkle 2.5s ease-in-out infinite}.cake-glint-one{top:75px;left:15px}.cake-glint-two{color:#d87fdd;animation-delay:-1.2s;top:32px;right:12px}@keyframes cake-float-3d{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-10px)rotate(2deg)}}@keyframes cake-aura-pulse{50%{opacity:.7;transform:scale(1.12)}}.is-reveal:not(.is-keepsake) .birthday-cake-3d{transform-origin:50%;width:320px;height:clamp(215px,34vh,286px);margin:48px auto 0;animation:cake-float-3d 4s ease-in-out infinite}.cake-celebration{font-size:medium;margin:4px 0 0;line-height:1}.cake-celebration .birthday-cake-3d{width:320px;height:270px;margin:0 auto}.compact .cake-celebration .birthday-cake-3d{transform-origin:top;width:320px;height:160px;margin-bottom:-75px;animation:none;transform:scale(.58)}@media (max-height:700px){.is-reveal:not(.is-keepsake) .birthday-cake-3d{height:215px;margin:10px auto -10px;animation:none;transform:scale(.72)}}@media (max-width:600px){.birthday-atmosphere span:nth-child(2n){display:none}.is-reveal:not(.is-keepsake) .birthday-cake-3d{height:235px;margin:-10px auto -15px;animation:none;transform:scale(.76)}.cake-celebration .birthday-cake-3d{height:220px;margin:-8px auto -35px;animation:none;transform:scale(.76)}}@media (prefers-reduced-motion:reduce){.art-heart,.birthday-atmosphere span,.birthday-cake-3d,.brand span,.cake-aura,.cake-candles-3d i:before,.cake-front-heart,.cake-glint,.hero-doodle,.paper-stack .stack-heart{animation:none!important}.journey-steps>div:hover,.keepsake-card:hover,.primary:hover,.wish-card:hover{transform:none}}@media print{.birthday-atmosphere{display:none}.collection-page,.is-reveal{background:#fff!important}.keepsake-card,.wish-card{box-shadow:none!important}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}