:root{--ink:#44363a;--muted:#83747a;--pink:#f5c4d2;--pink-dark:#bd7189;--pink-light:#fff0f4;--yellow:#f6df9c;--cream:#fffaf5;--line:#f0e2df;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{min-height:100%;background:#fff9f3}body{margin:0;min-height:100vh;color:var(--ink);font-family:var(--sans);background:radial-gradient(ellipse at 10% 8%,rgba(255,216,226,.75),transparent 28%),radial-gradient(ellipse at 92% 18%,rgba(255,233,175,.72),transparent 30%),linear-gradient(135deg,#fffaf7 0%,#fff6f8 52%,#fffdf5 100%);overflow-x:hidden}.topbar{height:76px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2;border-bottom:1px solid rgba(224,190,193,.28)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:var(--serif);font-size:19px;font-weight:600;letter-spacing:-.3px}.brand-mark{width:34px;height:34px;border-radius:50%;background:#f8d8e2;color:#a85873;display:grid;place-items:center;font-size:20px}.top-note{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:#a28e94}.page-wrap{width:min(100% - 32px,890px);margin:0 auto}.intro{text-align:center;padding:62px 20px 34px}.eyebrow,.section-kicker{font-size:10px;letter-spacing:2.3px;font-weight:700;color:#b16b82;text-transform:uppercase}.eyebrow{display:flex;align-items:center;justify-content:center;gap:12px}.eyebrow span{height:1px;width:25px;background:#e8b7c6}.intro h1{font-family:var(--serif);font-weight:500;font-size:clamp(36px,6vw,57px);line-height:1.1;letter-spacing:-1.7px;margin:18px 0 14px}.intro h1 em{font-weight:600;color:#c2788f}.intro p{max-width:510px;margin:0 auto;color:var(--muted);font-size:14px;line-height:1.8}.tiny-trail{display:flex;align-items:center;justify-content:center;gap:12px;color:#d89aaf;margin-top:22px}.tiny-trail i{width:34px;height:1px;background:#efd1d9}.studio-card{width:min(100%,680px);margin:0 auto;background:rgba(255,255,255,.83);border:1px solid rgba(238,213,215,.9);border-radius:25px;padding:clamp(22px,5vw,46px);box-shadow:0 24px 80px rgba(145,97,111,.08),0 3px 12px rgba(145,97,111,.035);position:relative;backdrop-filter:blur(14px)}.login-panel{max-width:420px;margin:0 auto;text-align:center}.card-icon{width:55px;height:55px;border-radius:19px;display:grid;place-items:center;margin:0 auto 19px;background:#fff0f4;color:#b76883;font-size:25px;transform:rotate(-5deg)}h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.4px}h2{font-size:30px;margin:9px 0 10px}.muted{font-size:13px;line-height:1.75;color:var(--muted)}.login-panel>.muted{margin:0 0 25px}.stack-form{display:flex;flex-direction:column;gap:19px;text-align:left}.stack-form label{font-size:12px;letter-spacing:.2px;font-weight:700;display:block;margin:0 0 9px}.stack-form input[type=text],.stack-form input[type=url],.stack-form input[type=password],.stack-form textarea,.share-url-row input{font:inherit;font-size:13px;color:var(--ink);width:100%;border:1px solid #ecdddf;border-radius:12px;background:#fffdfa;padding:13px 14px;outline:none;transition:border .2s,box-shadow .2s}.stack-form textarea{resize:vertical;min-height:125px;line-height:1.65}.stack-form input:focus,.stack-form textarea:focus,.share-url-row input:focus{border-color:#d99aae;box-shadow:0 0 0 3px rgba(217,154,174,.14)}.form-note,.field-block small{display:block;font-size:10px;line-height:1.65;color:#a08f94;margin-top:8px}.form-note{text-align:center}.form-note code{font-size:10px;background:#fff2f5;border-radius:4px;padding:1px 4px}.primary-btn{border:0;border-radius:12px;padding:14px 18px;display:flex;align-items:center;justify-content:center;gap:18px;background:linear-gradient(100deg,#c77991,#d993a8);box-shadow:0 8px 17px rgba(192,112,139,.2);font:700 12px var(--sans);color:white;cursor:pointer;transition:transform .18s,box-shadow .18s}.primary-btn:hover{transform:translateY(-1px);box-shadow:0 11px 23px rgba(192,112,139,.25)}.primary-btn:disabled{opacity:.6;cursor:wait;transform:none}.primary-btn span:last-child{font-size:16px}.error-text{min-height:0;color:#b6425d;font-size:12px;line-height:1.5;margin:0}.error-text:empty{display:none}.creator-panel[hidden],.login-panel[hidden],.link-result[hidden]{display:none}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:24px}.panel-heading h2{font-size:29px;margin:7px 0 0}.panel-heading .section-kicker{margin:0}.text-btn{border:0;background:transparent;color:#a36379;font:700 11px var(--sans);padding:8px 0;cursor:pointer}.text-btn:hover{text-decoration:underline}.field-block{min-width:0}.required{color:#b76f86;font-size:10px;font-weight:600;margin-left:5px}.optional{color:#9c8e91;font-size:10px;font-weight:500;margin-left:5px}.field-foot{display:flex;justify-content:space-between;gap:8px}.field-foot small{margin-top:7px}.upload-zone{position:relative;min-height:145px;border:1px dashed #e5bdca;border-radius:15px;background:linear-gradient(140deg,rgba(255,243,247,.72),rgba(255,251,234,.65));display:flex;flex-direction:column;align-items:center;justify-content:center;padding:17px;text-align:center;overflow:hidden;transition:border .2s,background .2s}.upload-zone:hover{border-color:#ce8ea5;background:linear-gradient(140deg,#fff0f5,#fff8e6)}.upload-zone input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}.upload-emoji{font-size:22px;color:#c27d94;line-height:1.1;margin-bottom:8px}.upload-zone strong{font-size:12px}.upload-sub{font-size:10px;color:#9c898f;line-height:1.5;margin-top:5px}.upload-action{margin-top:10px;font-size:10px;font-weight:700;color:#a96079;border:1px solid #e8c5d0;border-radius:40px;padding:6px 12px;background:rgba(255,255,255,.75)}.song-zone{min-height:132px}.photo-preview{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.photo-thumb{position:relative;width:68px;height:68px;border-radius:10px;overflow:hidden;border:2px solid white;box-shadow:0 2px 8px #c79aa633}.photo-thumb img{width:100%;height:100%;object-fit:cover}.photo-thumb span{position:absolute;bottom:0;left:0;right:0;text-align:center;background:#4b343bb8;color:white;font-size:9px;padding:3px}.selected-file{padding:9px 12px;background:#f5fff3;border:1px solid #d9ead1;border-radius:9px;color:#62815c;font-size:11px;margin-top:9px}.or-divider{display:flex;align-items:center;gap:12px;margin:17px 0 13px;color:#ae9b9e;font-size:9px;letter-spacing:1.5px}.or-divider:before,.or-divider:after{content:"";height:1px;background:#f0e2e3;flex:1}.privacy-note{display:flex;align-items:flex-start;gap:12px;padding:14px 15px;background:linear-gradient(100deg,#fff5f7,#fffbed);border:1px solid #f3e2dc;border-radius:13px}.privacy-note>span{font-size:20px;color:#c07c93}.privacy-note p{font-size:11px;line-height:1.65;color:#8b777d;margin:0}.privacy-note strong{color:#72545c}.create-btn{width:100%;margin-top:1px;padding:16px}.link-result{margin-top:26px;padding:25px 20px 17px;border:1px solid #e9d1d5;border-radius:18px;background:linear-gradient(135deg,#fff7f9,#fffdf3);text-align:center;animation:rise .45s ease both}.success-mark{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#f5d5df;color:#aa5f79;font-size:24px;margin:0 auto 12px}.link-result .section-kicker{margin:0}.link-result h3{font-size:26px;margin:8px 0}.link-result>.muted{max-width:420px;margin:0 auto 18px}.share-url-row{display:flex;gap:8px;align-items:stretch}.share-url-row input{min-width:0;background:white;font-size:11px}.copy-btn{border:0;border-radius:11px;background:#654952;color:#fff;font:700 11px var(--sans);padding:0 14px;white-space:nowrap;cursor:pointer}.copy-btn:hover{background:#4f373f}.result-actions{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:15px}.secondary-btn{color:#a15d77;background:#fff;border:1px solid #efd0d9;text-decoration:none;border-radius:9px;padding:9px 12px;font-size:11px;font-weight:700}.copy-status{color:#66865c;font-size:11px;margin:13px 0 0;min-height:0}.footer-note{display:flex;justify-content:center;align-items:center;gap:10px;color:#ab969c;font-size:10px;letter-spacing:1px;padding:28px 0 35px}.footer-note span{color:#d18da3}.ambient{position:fixed;z-index:0;pointer-events:none;color:rgba(208,137,160,.23);filter:blur(1px);animation:float 8s ease-in-out infinite;font-family:var(--serif)}.ambient-one{font-size:56px;top:18%;left:5%;transform:rotate(-14deg)}.ambient-two{font-size:42px;top:57%;right:7%;animation-delay:-2s;color:rgba(238,202,117,.35)}.ambient-three{font-size:46px;top:83%;left:8%;animation-delay:-4s}@keyframes float{0%,100%{translate:0 0;rotate:0deg}50%{translate:8px -16px;rotate:8deg}}@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.topbar{height:65px;padding:0 17px}.brand{font-size:16px}.brand-mark{width:30px;height:30px}.top-note{font-size:8px;letter-spacing:.7px}.intro{padding:45px 6px 25px}.intro h1{font-size:40px}.intro p{font-size:12px}.studio-card{padding:23px 18px;border-radius:20px}.panel-heading h2{font-size:25px}.share-url-row{flex-direction:column}.copy-btn{padding:12px}.result-actions{gap:16px}.ambient-one{left:-10px}.ambient-two{right:-12px}}

/* Mobile-friendly form controls and the password reveal affordance. */
.stack-form select{font:inherit;font-size:13px;color:var(--ink);width:100%;border:1px solid #ecdddf;border-radius:12px;background:#fffdfa;padding:13px 14px;outline:none;transition:border .2s,box-shadow .2s;appearance:auto}
.stack-form select:focus{border-color:#d99aae;box-shadow:0 0 0 3px rgba(217,154,174,.14)}
.password-field{position:relative;width:100%;display:flex;align-items:center}
.password-field{min-width:0}
.password-field input{width:100%;min-width:0;padding-right:48px!important}
.password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:34px;height:34px;border:1px solid #efd2dc;border-radius:10px;background:#fff3f7;color:#a55e78;font:20px/1 var(--sans);padding:0;cursor:pointer;min-width:34px;box-shadow:0 2px 8px rgba(164,87,119,.07)}
.password-toggle:hover{background:#ffeaf1;transform:translateY(-50%) scale(1.04)}
.password-toggle:focus-visible{outline:3px solid #f1bed0;outline-offset:2px}
#customOccasionBlock[hidden]{display:none}
@media(max-width:600px){
  .topbar{gap:8px}
  .top-note{max-width:132px;text-align:right;line-height:1.5}
  .stack-form input[type=text],.stack-form input[type=url],.stack-form input[type=password],.stack-form textarea,.stack-form select,.share-url-row input{font-size:16px}
  .upload-zone{min-height:138px;padding:14px 12px}
  .upload-sub{max-width:280px}
}


/* Dynamic two-tier cake preview on the creator form. Uses only CSS-drawn shapes. */
.cake-live-preview-card { border:1px solid #f0dce1; border-radius:18px; padding:16px 14px 14px; background:linear-gradient(145deg,rgba(255,248,250,.95),rgba(255,252,239,.9)); }
.cake-preview-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; color:#604650; font-size:12px; }
.cake-preview-heading span { font-size:8px; font-weight:800; letter-spacing:1.5px; color:#ba718a; border:1px solid #efd4dd; background:#fff8fb; padding:5px 7px; border-radius:999px; }
.cake-preview-stage { height:218px; position:relative; display:grid; place-items:center; overflow:hidden; border-radius:13px; margin-top:11px; background:radial-gradient(ellipse at 50% 72%,rgba(220,164,184,.23),transparent 56%),linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,246,242,.42)); }
.creator-cake-preview { position:relative; width:280px; height:230px; flex:0 0 auto; transform:scale(.88); transform-origin:center center; filter:drop-shadow(0 12px 13px rgba(164,105,124,.16)); animation:creatorCakeBob 4.7s ease-in-out infinite; }
.creator-cake-plate { position:absolute; left:17px; bottom:5px; width:246px; height:30px; border-radius:50%; background:linear-gradient(180deg,#fffaf7,#f4dce3); border:2px solid #e8bdc9; box-shadow:0 7px 10px #c7869a22; z-index:1; }
.creator-cake-tier { position:absolute; }
.creator-tier-lower { left:28px; bottom:24px; width:224px; height:78px; z-index:2; }
.creator-tier-upper { left:65px; bottom:92px; width:150px; height:60px; z-index:4; }
.creator-tier-body { position:absolute; inset:0; border:2px solid #cf7292; border-radius:9px 9px 17px 17px; background:linear-gradient(90deg,#c94978 0%,#f08eb2 24%,#ffb8d1 55%,#da628f 100%); box-shadow:inset 0 -7px 0 rgba(142,37,78,.2); background-size:180% 100%; animation:creatorCakeShimmer 7s ease-in-out infinite; }
.creator-tier-upper .creator-tier-body { border-radius:8px 8px 12px 12px; }
.creator-tier-top { position:absolute; top:-14px; left:-3%; width:106%; height:28px; border-radius:50%; border:2px solid #c85c80; background:linear-gradient(180deg,#fffafd 0%,#ffe1ed 48%,#f49ab9 100%); box-shadow:inset 0 -4px 0 #ef9db9; z-index:0; }
.creator-tier-drips { position:absolute; top:-1px; left:7px; right:7px; height:17px; display:flex; gap:3px; z-index:3; }
.creator-tier-drips i { flex:1; height:15px; border-radius:0 0 8px 8px; background:#fff6fa; box-shadow:inset -2px -2px 1px #f6c4d7; }
.creator-tier-drips i:nth-child(2n) { height:11px; }
.creator-tier-drips i:nth-child(3n) { height:18px; }
.creator-cake-inscription { position:absolute; top:14px; left:7px; right:7px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; text-align:center; color:#761943; font-family:var(--serif); text-shadow:0 1px 0 rgba(255,255,255,.34),0 1px 2px rgba(35,15,25,.15); }
.creator-cake-inscription span:first-child { width:100%; font-size:11px; line-height:1.05; font-weight:800; letter-spacing:-.15px; overflow-wrap:anywhere; }
.creator-cake-inscription span:last-child { width:100%; font-size:17px; line-height:1.02; font-weight:700; overflow-wrap:anywhere; }
.creator-cake-inscription span[hidden] { display:none; }
.creator-cake-preview.cake-chocolate .creator-tier-body { border-color:#4c251d; background:linear-gradient(90deg,#3c1c17 0%,#6e3828 24%,#8b4c35 55%,#51241d 100%); box-shadow:inset 0 -7px 0 rgba(28,9,7,.35); }
.creator-cake-preview.cake-chocolate .creator-tier-top { border-color:#4a241c; background:linear-gradient(180deg,#a56a4e 0%,#6d392b 48%,#3b1c18 100%); box-shadow:inset 0 -4px 0 #442019; }
.creator-cake-preview.cake-chocolate .creator-tier-drips i { background:#f0d8b5; box-shadow:inset -2px -2px 1px #d5b18a; }
.creator-cake-preview.cake-chocolate .creator-cake-inscription { color:#fff1d5; text-shadow:0 1px 1px rgba(20,8,5,.45),0 -1px 0 rgba(255,255,255,.24); }
.creator-cake-preview.cake-vanilla .creator-tier-body { border-color:#d2a56a; background:linear-gradient(90deg,#d7a45b 0%,#f4dca4 25%,#fff0c5 55%,#dfb574 100%); box-shadow:inset 0 -7px 0 rgba(161,111,48,.18); }
.creator-cake-preview.cake-vanilla .creator-tier-top { border-color:#c59b5d; background:linear-gradient(180deg,#fffef5 0%,#f9e8b8 54%,#e6c47d 100%); box-shadow:inset 0 -4px 0 #e1bf75; }
.creator-cake-preview.cake-vanilla .creator-tier-drips i { background:#fff9e9; box-shadow:inset -2px -2px 1px #e9d7ad; }
.creator-cake-preview.cake-vanilla .creator-cake-inscription { color:#74481c; }
.creator-cake-preview.cake-berry .creator-tier-body { border-color:#7768bd; background:linear-gradient(90deg,#6555b0 0%,#9d8fe2 25%,#c2b8ff 55%,#7768c8 100%); box-shadow:inset 0 -7px 0 rgba(56,39,123,.24); }
.creator-cake-preview.cake-berry .creator-tier-top { border-color:#7771bd; background:linear-gradient(180deg,#fbf7ff 0%,#dcd4ff 48%,#9e91e2 100%); box-shadow:inset 0 -4px 0 #9184dc; }
.creator-cake-preview.cake-berry .creator-tier-drips i { background:#f8f4ff; box-shadow:inset -2px -2px 1px #d1c8f1; }
.creator-cake-preview.cake-berry .creator-cake-inscription { color:#392a83; }
.creator-candles { position:absolute; left:0; right:0; top:37px; z-index:9; display:flex; justify-content:center; align-items:flex-end; gap:18px; height:27px; }
.creator-candles i { width:11px; height:27px; display:block; position:relative; border:1px solid #e8c86d; border-radius:4px 4px 2px 2px; background:repeating-linear-gradient(135deg,#f7e7a6 0 5px,#fff9df 5px 10px); box-shadow:inset -2px 0 2px rgba(190,150,72,.1); }
.creator-candles b { position:absolute; left:50%; top:-15px; height:14px; width:9px; transform:translateX(-50%); border-radius:70% 30% 65% 35%; background:radial-gradient(ellipse at 50% 68%,#fff9b6 0 21%,#ffbd60 47%,#f08b77 74%,transparent 76%); filter:drop-shadow(0 0 7px rgba(255,187,85,.9)); animation:creatorFlame .6s ease-in-out infinite alternate; }
.cake-preview-caption { margin:9px 0 0; text-align:center; font-size:11px; font-weight:700; color:#8e5668; }
.cake-live-preview-card>small { margin-top:7px; text-align:center; }
@keyframes creatorCakeBob { 0%,100% { translate:0 0; } 50% { translate:0 -2px; } }
@keyframes creatorCakeShimmer { 0%,100% { background-position:0% 50%; } 50% { background-position:100% 50%; } }
@keyframes creatorFlame { from { transform:translateX(-50%) rotate(-4deg) scale(.95); } to { transform:translateX(-50%) rotate(5deg) scale(1.07); } }
@media(max-width:400px) { .cake-preview-stage { height:210px; } .creator-cake-preview { transform:scale(.78); } }
@media(prefers-reduced-motion:reduce) { .creator-cake-preview,.creator-tier-body,.creator-candles b { animation:none!important; } }

/* v1.5: cake wish on upper tier, name piped directly on lower-tier frosting. */
.creator-cake-inscription {
  top: 18px !important; left: 7px !important; right: 7px !important;
  display: flex; align-items: center; justify-content: center;
  min-height: 0; padding: 0; border: 0; border-radius: 0;
  background: transparent !important; box-shadow: none !important;
  color: var(--creator-letter, #761943); text-shadow: 0 1px 0 rgba(255,255,255,.28),0 1px 2px rgba(30,8,20,.25);
  overflow: visible;
}
.creator-cake-inscription span:first-child {
  display: block; width: 100%; max-width: 100%;
  font-family: var(--serif); font-size: 18px; line-height: 1.02;
  font-weight: 800; letter-spacing: -.45px; text-wrap: balance; overflow-wrap: anywhere;
}
.creator-cake-preview.is-medium-greeting .creator-cake-inscription span:first-child { font-size: 15px; letter-spacing: -.35px; }
.creator-cake-preview.is-long-greeting .creator-cake-inscription span:first-child { font-size: 12px; line-height: 1; letter-spacing: -.2px; }
.creator-lower-inscription { position: absolute; z-index: 5; top: 29px; left: 10px; right: 10px; display: flex; align-items: center; justify-content: center; min-height: 0; background: transparent; border: 0; box-shadow: none; color: var(--creator-letter, #761943); text-align: center; pointer-events: none; overflow: visible; }
.creator-lower-inscription span { display: block; width: 100%; max-width: 100%; font-family: var(--serif); font-size: 29px; font-weight: 800; line-height: .98; letter-spacing: -.65px; overflow-wrap: anywhere; text-wrap: balance; -webkit-text-stroke: .18px currentColor; text-shadow: 0 1px 0 rgba(255,255,255,.3),0 1.5px 1px rgba(30,8,20,.25); }
.creator-lower-inscription span[hidden] { display: none !important; }
.creator-cake-preview.is-long-name .creator-lower-inscription span { font-size: 23px; letter-spacing: -.4px; }
.creator-cake-preview.is-extra-long-name .creator-lower-inscription span { font-size: 18px; letter-spacing: -.2px; line-height: 1; }
.creator-cake-preview.cake-chocolate { --creator-letter: #fff1d5; }
.creator-cake-preview.cake-strawberry { --creator-letter: #761943; }
.creator-cake-preview.cake-vanilla { --creator-letter: #74481c; }
.creator-cake-preview.cake-berry { --creator-letter: #392a83; }
.creator-cake-preview.cake-chocolate .creator-cake-inscription,
.creator-cake-preview.cake-chocolate .creator-lower-inscription { text-shadow: 0 1px 1px rgba(20,8,5,.55),0 -1px 0 rgba(255,255,255,.22); }
.creator-cake-preview.cake-vanilla .creator-cake-inscription,
.creator-cake-preview.cake-vanilla .creator-lower-inscription { text-shadow: 0 1px 0 rgba(255,255,255,.6),0 1.5px 1px rgba(71,42,12,.22); }
@media(max-width:520px) { .creator-cake-inscription { top:18px!important; } .creator-cake-inscription span:first-child { font-size:16px; } .creator-cake-preview.is-medium-greeting .creator-cake-inscription span:first-child { font-size:14px; } .creator-cake-preview.is-long-greeting .creator-cake-inscription span:first-child { font-size:11px; } .creator-lower-inscription { top:27px; left:9px; right:9px; } .creator-lower-inscription span { font-size:27px; } .creator-cake-preview.is-long-name .creator-lower-inscription span { font-size:24px; } .creator-cake-preview.is-extra-long-name .creator-lower-inscription span { font-size:17px; } }
@media(max-width:400px) { .creator-cake-inscription span:first-child { font-size:15px; } .creator-cake-preview.is-medium-greeting .creator-cake-inscription span:first-child { font-size:13px; } .creator-cake-preview.is-long-greeting .creator-cake-inscription span:first-child { font-size:10px; } .creator-lower-inscription { top:27px; } .creator-lower-inscription span { font-size:24px; } .creator-cake-preview.is-long-name .creator-lower-inscription span { font-size:19px; } .creator-cake-preview.is-extra-long-name .creator-lower-inscription span { font-size:16px; } }

/* Saved surprise archive: cards share the creator studio's soft pink/cream glass style. */
.saved-gifts-section { margin-top: 34px; padding-top: 28px; border-top: 1px solid #f0dfe2; }
.saved-gifts-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:15px; }
.saved-gifts-heading .section-kicker { margin:0; }
.saved-gifts-heading h3 { margin:7px 0 5px; font-size:25px; color:#563f47; }
.saved-gifts-heading .muted { margin:0; font-size:11px; }
.saved-count { display:inline-grid; place-items:center; min-width:25px; height:25px; padding:0 7px; border:1px solid #ecd0d9; border-radius:999px; background:#fff2f6; color:#a45c76; font:700 11px var(--sans); vertical-align:middle; }
.saved-gifts-status { min-height:0; margin:0 0 12px; color:#997984; font-size:11px; }
.saved-gifts-status:empty { display:none; }
.saved-gifts-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.saved-gift-card { min-width:0; padding:15px; border:1px solid #eed9df; border-radius:16px; background:linear-gradient(145deg,rgba(255,249,251,.98),rgba(255,253,243,.96)); box-shadow:0 8px 22px rgba(149,95,113,.055); }
.saved-gift-card-top { display:flex; align-items:flex-start; justify-content:space-between; gap:9px; }
.saved-gift-title-wrap { display:flex; align-items:flex-start; gap:9px; min-width:0; }
.saved-gift-icon { flex:0 0 31px; width:31px; height:31px; display:grid; place-items:center; border-radius:11px; background:#f9e1e9; color:#ad6680; font-size:18px; }
.saved-gift-title-wrap h4 { margin:1px 0 4px; color:#604751; font:700 13px var(--sans); overflow-wrap:anywhere; }
.saved-gift-subtitle { margin:0; color:#9b8189; font-size:10px; line-height:1.45; overflow-wrap:anywhere; }
.saved-gift-date { flex:0 0 auto; padding-top:3px; color:#ad939b; font-size:9px; white-space:nowrap; }
.saved-gift-meta { display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin:13px 0 14px; }
.saved-gift-meta span { max-width:100%; padding:5px 7px; border:1px solid #f0e3e4; border-radius:999px; background:rgba(255,255,255,.68); color:#8b6875; font-size:9px; overflow-wrap:anywhere; }
.saved-gift-actions { display:flex; gap:7px; align-items:stretch; }
.saved-gift-open,.saved-gift-copy { flex:1; display:flex; align-items:center; justify-content:center; text-align:center; border-radius:10px; min-height:36px; padding:8px 9px; font:700 10px var(--sans); cursor:pointer; text-decoration:none; }
.saved-gift-open { border:1px solid #e8c4d0; background:#fff; color:#a45d76; }
.saved-gift-open:hover { background:#fff4f7; }
.saved-gift-copy { border:0; background:#694b55; color:#fff; }
.saved-gift-copy:hover { background:#503740; }
.saved-gift-copy-status { min-height:0; margin:8px 0 0; color:#66865c; font-size:10px; line-height:1.4; }
.saved-gift-copy-status:empty { display:none; }
.saved-gifts-empty { grid-column:1/-1; padding:25px 18px; border:1px dashed #e8cad4; border-radius:15px; background:linear-gradient(135deg,#fff8fa,#fffdf4); text-align:center; color:#846872; }
.saved-empty-icon { display:grid; place-items:center; width:38px; height:38px; margin:0 auto 9px; border-radius:50%; background:#f9e1e9; color:#af6581; font-size:22px; }
.saved-gifts-empty strong { display:block; font:700 12px var(--sans); }
.saved-gifts-empty p { max-width:340px; margin:7px auto 0; color:#a28b92; font-size:10px; line-height:1.6; }
@media(max-width:600px) { .saved-gifts-list { grid-template-columns:1fr; } .saved-gifts-heading h3 { font-size:22px; } .saved-gift-card { padding:13px; } }
@media(prefers-reduced-motion:reduce) { .saved-gift-card { scroll-behavior:auto; } }

/* v1.6: dedicated saved-surprises + reusable media library pages */
.archive-page-wrap{max-width:1000px}.archive-intro{padding-top:46px}.archive-intro h1{font-size:clamp(34px,5vw,49px)}.archive-studio{width:100%;max-width:1000px;min-height:250px}.archive-panel-heading{align-items:center}.archive-panel-heading h2{font-size:27px}.archive-tabs{display:flex;gap:8px;padding:6px;border:1px solid #f0dfe2;border-radius:14px;background:#fff9fa;margin:0 0 20px}.archive-tab{flex:1;text-align:center;text-decoration:none;padding:11px 13px;border-radius:10px;color:#997984;font-size:12px;font-weight:700;transition:background .2s,color .2s}.archive-tab.active{background:linear-gradient(100deg,#c77991,#d993a8);color:white;box-shadow:0 5px 14px #c779912e}.archive-tab-panel[hidden]{display:none}.archive-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 13px}.archive-toolbar h3{margin:0 0 4px;color:#624650;font-size:22px}.archive-toolbar .muted{margin:0;max-width:620px}.small-outline-btn,.small-danger-btn{border:1px solid #e9cbd5;background:#fff;border-radius:9px;padding:8px 11px;color:#a05e77;font:700 10px var(--sans);cursor:pointer;white-space:nowrap}.small-outline-btn:hover{background:#fff2f6}.small-danger-btn{border-color:#f0c7ca;color:#b64e5d;background:#fff8f8}.small-danger-btn:hover{background:#ffeded}.small-outline-btn:disabled,.small-danger-btn:disabled{opacity:.5;cursor:wait}.archive-status{min-height:0;margin:9px 0 13px;color:#987b84;font-size:11px;line-height:1.55}.archive-status:empty{display:none}.saved-gift-card.is-disabled{opacity:.82;background:linear-gradient(145deg,#f9f5f5,#fdfbf7)}.gift-state{font-size:9px;font-weight:800;border-radius:30px;padding:5px 8px;white-space:nowrap}.state-active{background:#edf8e9;color:#628755}.state-disabled{background:#f6e8e9;color:#a56c73}.saved-gift-link{padding:8px 10px;background:#fff;border:1px dashed #ead5dc;border-radius:8px;color:#a1848e;font-size:10px;overflow-wrap:anywhere;margin-bottom:10px}.saved-gift-management{display:flex;gap:8px;justify-content:flex-end;border-top:1px solid #f0e2e5;margin-top:12px;padding-top:11px}.gift-action-status{font-size:10px;color:#8b7b80;line-height:1.4;margin:7px 0 0;overflow-wrap:anywhere}.media-upload-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:17px 0;padding:15px;border:1px solid #f0dfe2;border-radius:16px;background:linear-gradient(135deg,#fff9fb,#fffdf4)}.media-drop{min-height:145px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;border:1px dashed #e5bdca;border-radius:13px;padding:16px;background:#fffdfb;overflow:hidden}.media-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.media-drop-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:12px;background:#fbe7ed;color:#b86f8a;font-size:20px}.media-drop strong{font-size:12px;color:#604751}.media-drop small{font-size:10px;line-height:1.5;color:#a08f94}.media-upload-form>.primary-btn{grid-column:1/-1;width:100%}.media-upload-form>.archive-status{grid-column:1/-1}.media-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.media-library-card{min-width:0;overflow:hidden;border:1px solid #eed9df;border-radius:15px;background:linear-gradient(145deg,#fff9fb,#fffdf5);box-shadow:0 7px 18px #955f710d}.media-library-preview{height:145px;display:grid;place-items:center;background:linear-gradient(135deg,#fff1f5,#fff9e9);overflow:hidden}.media-library-preview img{width:100%;height:100%;object-fit:cover}.media-audio-art{width:68px;height:68px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:22px;background:#f7dce5;color:#a75e79;font-size:30px}.media-audio-art small{font:800 8px var(--sans);letter-spacing:1px}.media-library-details{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:12px}.media-library-details strong{max-width:100%;font-size:11px;color:#604751;overflow-wrap:anywhere}.media-library-details small{color:#a08b92;font-size:9px}.media-library-details a{font-size:10px;color:#a45d76;font-weight:700;text-decoration:none}.media-library-details button{margin-top:4px;white-space:normal}.library-reuse-box{padding:15px;border:1px solid #f0dfe2;border-radius:15px;background:linear-gradient(135deg,#fff9fb,#fffdf5)}.library-reuse-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.library-reuse-head strong{display:block;color:#654953;font-size:12px}.library-reuse-head small{display:block;color:#a08f94;font-size:10px;margin-top:5px}.reuse-media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.reuse-media-item{min-width:0;position:relative;display:flex;flex-direction:column;gap:5px;border:1px solid #eed8df;border-radius:10px;padding:6px;background:#fff;cursor:pointer}.reuse-media-item input{align-self:flex-start;accent-color:#c77991}.reuse-media-item img{width:100%;height:68px;object-fit:cover;border-radius:6px}.reuse-media-item span{font-size:9px;color:#8e6e79;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reuse-song-label{display:block;font-size:11px;font-weight:700;margin:14px 0 7px}.library-reuse-box select{width:100%;padding:11px;border:1px solid #ecdddf;border-radius:10px;background:#fff;font:inherit;font-size:12px;color:#44363a}.library-picker-note{font-size:10px;color:#a08f94;line-height:1.5;margin:8px 0 0}.panel-heading-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.archive-nav-link{display:inline-block;text-decoration:none;border:1px solid #edd0da;background:#fff8fa;padding:9px 11px;border-radius:10px}.archive-login-btn{margin-top:18px;text-decoration:none}.archive-login-btn span{margin-left:8px}
@media(max-width:700px){.media-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.media-library-preview{height:125px}.reuse-media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.archive-studio{padding:20px 15px}.archive-panel-heading{align-items:flex-start}.archive-toolbar{align-items:flex-start}.saved-gift-management{flex-wrap:wrap}.panel-heading-actions{gap:6px}.archive-nav-link{font-size:10px}}
@media(max-width:480px){.media-upload-form{grid-template-columns:1fr}.media-upload-form>.primary-btn,.media-upload-form>.archive-status{grid-column:1}.media-library-grid{grid-template-columns:1fr 1fr}.reuse-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-tabs{gap:4px}.archive-tab{font-size:10px;padding:10px 5px}.archive-panel-heading h2{font-size:22px}.saved-gift-actions{flex-wrap:wrap}.saved-gift-management>*{flex:1}.archive-intro{padding-top:35px}}

/* v1.7 account entry, profile and multi-user controls */
.auth-switch{display:flex;gap:8px;padding:5px;background:#fff4f7;border:1px solid #f5dce5;border-radius:999px;margin:24px 0 19px;max-width:390px}.auth-tab{flex:1;border:0;background:transparent;border-radius:999px;padding:11px 14px;color:#9b7c8a;font:700 12px var(--sans);cursor:pointer}.auth-tab.active{background:#fff;color:#cf3f78;box-shadow:0 4px 11px #d885a51f}.auth-form[hidden]{display:none!important}.auth-form input[type=email],.auth-form input[type=tel],.auth-form input[type=text]{width:100%}
.auth-form .password-field,.account-inline-form .password-field{width:100%;min-width:0}.form-note code{font-size:11px}.user-welcome{font-size:11px;font-weight:800;color:#9e657d;white-space:nowrap}.account-settings-card{margin:0 0 25px;padding:0 18px;border:1px solid #f0dbe3;border-radius:15px;background:#fffaf9}.account-settings-card details>summary{list-style:none;cursor:pointer;padding:15px 0;display:flex;align-items:center;justify-content:space-between;gap:16px}.account-settings-card details>summary::-webkit-details-marker{display:none}.account-settings-card details>summary span{display:flex;flex-direction:column;gap:4px}.account-settings-card details>summary strong{font-size:12px;color:#594552}.account-settings-card details>summary small{font-size:10px;color:#9a8793}.account-settings-card details>summary b{font-size:21px;font-weight:400;color:#e16a96}.account-settings-card details[open]>summary b{transform:rotate(45deg)}.account-settings-content{display:grid;grid-template-columns:1fr 1fr;gap:17px;padding:0 0 19px}.account-settings-content>.form-note{grid-column:1/-1;margin:0}.account-inline-form{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:15px;background:#fff;border:1px solid #f5e4e9;border-radius:12px}.account-inline-form label{font-size:11px;font-weight:700;color:#775e6d}.account-inline-form input{border:1px solid #ecd9e1;border-radius:9px;min-height:40px;padding:10px 12px;font:12px var(--sans);color:#453646;background:#fffcfb}.account-inline-form .small-outline-btn{align-self:flex-start}.account-inline-form .archive-status{font-size:10px;margin:2px 0 0}.panel-heading-actions{flex-wrap:wrap;justify-content:flex-end}.panel-heading-actions [hidden]{display:none!important}
@media(max-width:700px){.account-settings-content{grid-template-columns:1fr}.account-settings-content>.form-note{grid-column:auto}.user-welcome{width:100%;text-align:right}.panel-heading-actions{gap:10px}}
