.audition-hint[data-v-393a003c]{position:relative;flex:none;color:var(--hint-ink,var(--text));font-size:11px;line-height:1.5}summary[data-v-393a003c]{display:flex;align-items:center;justify-content:center;position:relative;min-width:32px;min-height:26px;padding:2px 4px;list-style:none;cursor:pointer;font-weight:500;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:4px;text-decoration-color:currentColor}summary[data-v-393a003c]::-webkit-details-marker{display:none}summary[data-v-393a003c]:before{content:"";position:absolute;inset:-6px -4px}summary[data-v-393a003c]:focus-visible{outline:2px solid var(--hint-ink,var(--accent));outline-offset:3px;border-radius:3px}.audition-tooltip[data-v-393a003c]{position:absolute;right:0;bottom:calc(100% + 8px);z-index:8;width:210px;max-width:calc(100vw - 48px);padding:10px 12px;border:1px solid var(--hint-border,var(--hairline));border-radius:8px;background:var(--hint-bg,var(--surface-2));box-shadow:0 4px 18px #00000012;color:var(--hint-ink,var(--text));font-size:12px;line-height:1.8;text-align:left;text-decoration:none}.songletter-mark{display:inline-flex;flex:none;width:36px;height:36px;vertical-align:middle;line-height:0}.songletter-mark>svg{display:block;width:100%;height:100%}.gd-trigger[data-v-44931c1e]{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--hairline);border-radius:8px;background:var(--input-bg,var(--surface-1));color:var(--text);font:inherit;text-align:left;cursor:pointer}.gd-trigger span[data-v-44931c1e]{flex:1;font-size:12px}.gd-trigger.placeholder[data-v-44931c1e]{color:var(--muted)}.gd-trigger[data-v-44931c1e]:focus-visible{outline:1px solid var(--accent);outline-offset:2px;box-shadow:none}.gift-calendar[data-v-44931c1e]{position:fixed;z-index:1260;box-sizing:border-box;overflow:auto;padding:16px;border:1px solid var(--hairline);border-radius:14px;background:var(--surface-2);color:var(--text);box-shadow:var(--shadow-lg);font-family:var(--font-sans)}.gift-calendar header[data-v-44931c1e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.gift-calendar strong[data-v-44931c1e]{font-size:13px;font-weight:500}.gift-calendar button[data-v-44931c1e]{display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:inherit;font:inherit;font-size:12px;min-height:36px;cursor:pointer}.gift-calendar button[data-v-44931c1e]:hover{background:var(--surface-1)}.gift-calendar button[data-v-44931c1e]:focus-visible{outline:1px solid var(--accent);outline-offset:-2px;box-shadow:none}.gift-calendar header button[data-v-44931c1e]{width:32px}.gd-week[data-v-44931c1e],.gd-days[data-v-44931c1e]{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.gd-week[data-v-44931c1e]{color:var(--muted);font-size:10px;text-align:center;padding:0 0 10px}.gd-days .outside[data-v-44931c1e]{color:var(--muted);opacity:.4}.gd-days .today[data-v-44931c1e]{box-shadow:inset 0 0 0 1px var(--hairline)}.gd-days [aria-pressed=true][data-v-44931c1e]{background:var(--accent);color:var(--accent-ink);opacity:1}.gift-calendar footer[data-v-44931c1e]{display:flex;justify-content:space-between;margin-top:12px;padding-top:8px;border-top:1px solid var(--hairline)}.gift-calendar footer button[data-v-44931c1e]{color:var(--muted);padding:0 8px}.gd-selectors[data-v-44931c1e]{display:flex;align-items:center;gap:8px}.gd-selectors label[data-v-44931c1e]{display:flex;align-items:center;gap:2px;font-size:12px;margin:0;color:var(--text)}.gd-selectors select[data-v-44931c1e]{font:inherit;color:var(--text);background:var(--surface-1);border:1px solid var(--hairline);border-radius:6px;min-height:36px;max-width:80px;padding:5px 4px;cursor:pointer}.gd-selectors select[data-v-44931c1e]:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.gd-selectors option[data-v-44931c1e]{color:var(--text);background:var(--surface-2)}@media(max-width:760px){.gd-selectors select[data-v-44931c1e]{font-size:16px;min-height:40px}.gd-selectors label[data-v-44931c1e]{font-size:11px}}.synced-lyrics[data-v-ad8dbb22]{width:100%}.synced-lyrics-viewport[data-v-ad8dbb22]{max-height:140px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scroll-behavior:smooth;mask-image:linear-gradient(to bottom,transparent 0%,#000 6%,#000 94%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 6%,#000 94%,transparent 100%);padding:var(--space-2) 0}.synced-lyrics.fill .synced-lyrics-viewport[data-v-ad8dbb22]:before{content:"";display:block;height:8px;flex-shrink:0;pointer-events:none}.synced-lyrics.fill .synced-lyrics-viewport[data-v-ad8dbb22]:after{content:"";display:block;height:18%;min-height:36px;flex-shrink:0;pointer-events:none}.synced-lyrics-line[data-v-ad8dbb22]{margin:0;padding:4px 8px;font-size:.9rem;line-height:1.75;color:var(--muted);text-align:center;transition:color var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out),font-weight var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),text-shadow var(--dur-fast) var(--ease-out);opacity:.45}.synced-lyrics-line.past[data-v-ad8dbb22]{opacity:.35}.synced-lyrics-line.active[data-v-ad8dbb22]{color:var(--accent);font-weight:600;opacity:1}.synced-lyrics-line.viz-spectrum[data-v-ad8dbb22]{letter-spacing:.14em;line-height:2.05}.synced-lyrics-glyph[data-v-ad8dbb22]{display:inline-block;will-change:transform;transition:none}.synced-lyrics-glyph.space[data-v-ad8dbb22]{transform:none!important;will-change:auto}.synced-lyrics-static[data-v-ad8dbb22]{max-height:140px;overflow-y:auto;overscroll-behavior:contain;font-size:.9rem;line-height:1.75;color:var(--text);white-space:pre-line}.synced-lyrics-static-body[data-v-ad8dbb22]{margin:8px 0 0;white-space:pre-line}.synced-lyrics-empty[data-v-ad8dbb22]{font-size:.82rem;color:var(--muted);text-align:center}.synced-lyrics-empty-note[data-v-ad8dbb22]{margin:10px 0 0;font-size:inherit;color:inherit}.synced-lyrics.fill .synced-lyrics-empty[data-v-ad8dbb22]{margin:auto;display:flex;flex-direction:column;justify-content:center;align-items:center}.synced-lyrics.fill[data-v-ad8dbb22]{height:100%;min-height:0;display:flex;flex-direction:column}.synced-lyrics.fill .synced-lyrics-viewport[data-v-ad8dbb22],.synced-lyrics.fill .synced-lyrics-static[data-v-ad8dbb22]{flex:1;min-height:0;max-height:none;height:100%}.synced-lyrics.fill .synced-lyrics-static[data-v-ad8dbb22]{text-align:center;padding:8px var(--space-3) var(--space-2);display:flex;flex-direction:column;justify-content:flex-start;mask-image:linear-gradient(to bottom,transparent 0%,#000 5%,#000 95%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 5%,#000 95%,transparent 100%)}.synced-lyrics.fill .synced-lyrics-line[data-v-ad8dbb22]{font-size:1.05rem;line-height:1.9;padding:6px 12px}@media(prefers-reduced-motion:reduce){.synced-lyrics-line[data-v-ad8dbb22]{transition:none}.synced-lyrics-glyph[data-v-ad8dbb22]{transform:none!important;will-change:auto}.synced-lyrics-viewport[data-v-ad8dbb22]{scroll-behavior:auto}}.birthday-celebration[data-v-c46e0b2e]{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden;border-radius:inherit}.birthday-trim[data-v-c46e0b2e]{position:absolute;top:3px;left:0;width:100%;height:22px;opacity:.55}.birthday-light[data-v-c46e0b2e]{position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 28px 5px #efb96942,inset 0 0 2px 1px #e8bc7899;animation:birthday-wish-c46e0b2e 3.8s ease-out both}.birthday-spark[data-v-c46e0b2e]{position:absolute;width:12px;height:12px;color:var(--foil);opacity:0;animation:birthday-spark-c46e0b2e 2.6s var(--delay) ease-in-out both;transform-origin:center}.birthday-spark[data-v-c46e0b2e]:nth-child(2n){width:9px;height:9px;color:var(--confetti-warm)}@keyframes birthday-wish-c46e0b2e{0%{opacity:0}24%,50%{opacity:1}to{opacity:0}}@keyframes birthday-spark-c46e0b2e{0%,to{opacity:0;transform:scale(.55)}35%{opacity:1;transform:scale(1)}65%{opacity:.65;transform:scale(.85)}}@media(prefers-reduced-motion:reduce){.birthday-light[data-v-c46e0b2e]{display:none;animation:none}.birthday-spark[data-v-c46e0b2e]{animation:none}}.gift-letter[data-v-dc6a506b]{--paper:#fbf8f0;--paper-deep:#e9e1d0;--paper-edge:#cec0a7;--ink:#3f3b34;--quiet:#898071;--foil:#a28b59;--scene:#eeeae1;--scene-ink:#50483d;--seal:#663c42;--seal-ink:#e8d3b0;--text:var(--ink);--muted:var(--quiet);--accent:var(--foil);height:100dvh;min-height:0;width:100%;overflow:hidden;display:flex;flex-direction:column;position:relative;isolation:isolate;background:radial-gradient(ellipse at 16% 8%,#fffdf8,transparent 65%),linear-gradient(125deg,#eee9df,var(--scene));color:var(--scene-ink);font-family:var(--font-sans);box-sizing:border-box}.gift-letter[data-v-dc6a506b]:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:repeating-linear-gradient(0deg,#8e7e5c05 0 1px,transparent 1px 4px)}.gift-letter.night[data-v-dc6a506b]{--paper:#f4f3ef;--paper-deep:#c9cdd2;--paper-edge:#818b98;--ink:#283444;--quiet:#7d858e;--foil:#a1a9b4;--scene:#111d2b;--scene-ink:#eee9dc;--seal:#263d53;--seal-ink:#dad9cf;background:radial-gradient(ellipse at 70% 0%,#3b4a5d77,transparent 60%),linear-gradient(135deg,#152335,#0c1520)}.gift-letter.night[data-v-dc6a506b]:before{background:radial-gradient(circle at 12% 19%,#d6dbdf88 0 .7px,transparent 1.4px),radial-gradient(circle at 84% 24%,#d6dbdf88 0 .7px,transparent 1.4px),radial-gradient(circle at 72% 68%,#d6dbdf55 0 .6px,transparent 1.4px)}.gift-letter.vinyl[data-v-dc6a506b]{--paper:#f2ead9;--paper-deep:#d9c7a6;--paper-edge:#b79a70;--ink:#493c2e;--quiet:#8b7860;--foil:#ad8a53;--scene:#332d28;--scene-ink:#ece0cd;--seal:#3b3c2f;--seal-ink:#ddc494;background:radial-gradient(ellipse at 85% 10%,#8e73554d,transparent 65%),linear-gradient(125deg,#302922,#201e1b)}.gift-letter button[data-v-dc6a506b]{font:inherit;color:inherit;cursor:pointer}.gift-letter button[data-v-dc6a506b]:disabled{cursor:default}.gift-letter button[data-v-dc6a506b]:focus-visible,.gl-reading[data-v-dc6a506b]:focus-visible,.gl-lyric-content[data-v-dc6a506b]:focus-visible{outline:1px solid currentColor;outline-offset:4px;box-shadow:none}.gl-head[data-v-dc6a506b]{width:min(1120px,100%);margin:0 auto;flex-shrink:0;padding:25px 36px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:72px}.gl-brand[data-v-dc6a506b]{font-size:12px;letter-spacing:3px;display:inline-flex;align-items:center;gap:10px;min-height:32px;color:inherit;text-decoration:none;border-radius:4px}.gl-brand[data-v-dc6a506b]:focus-visible{outline:2px solid currentColor;outline-offset:5px}.gl-brand-name[data-v-dc6a506b]{line-height:1}.gl-brand .songletter-mark[data-v-dc6a506b]{width:30px;height:30px;color:var(--scene-ink);--logo-paper:var(--scene)}.gl-brand-note[data-v-dc6a506b]{font-size:8px;letter-spacing:2px;border-left:1px solid currentColor;padding-left:12px;opacity:.65}.gl-edition[data-v-dc6a506b]{font-size:10px;letter-spacing:2px;opacity:.65}.gl-text-button[data-v-dc6a506b]{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:transparent;border:0;padding:10px 0;font-size:11px!important;opacity:.75}.gl-sealed[data-v-dc6a506b]{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 24px 26px;text-align:center}.gl-dedication[data-v-dc6a506b]{flex-shrink:0;position:relative;z-index:2}.gl-eyebrow[data-v-dc6a506b]{font:9px/1.5 var(--font-sans);letter-spacing:2.2px;color:var(--foil)}.gl-dedication h1[data-v-dc6a506b]{margin:16px 0 14px;font:400 clamp(23px,3.4vw,38px)/1.65 "Songti SC","Noto Serif CJK SC",serif;letter-spacing:3px;overflow-wrap:anywhere}.gl-dedication h1 em[data-v-dc6a506b]{font-size:.72em;letter-spacing:4px;font-style:normal}.gl-dedication p[data-v-dc6a506b]{font-size:12px;line-height:1.8;opacity:.7;margin:0}.gl-envelope-scene[data-v-dc6a506b]{position:relative;width:min(520px,90%);flex:1;min-height:160px;max-height:330px;display:flex;justify-content:center;align-items:center;perspective:1200px}.gl-envelope[data-v-dc6a506b]{position:relative;display:block;width:min(360px,90%);aspect-ratio:1.7;background:transparent;border:0;padding:0;perspective:1200px;filter:drop-shadow(0 25px 18px #35291c26);transform:rotate(-6deg);transition:transform 1s cubic-bezier(.22,1,.36,1)}@media(hover:hover)and (pointer:fine){.gl-envelope[data-v-dc6a506b]:hover:not(:disabled){transform:rotate(-3deg) translateY(-4px)}}.gl-back[data-v-dc6a506b]{position:absolute;inset:0;background:var(--paper-deep);border:1px solid var(--paper-edge)}.gl-front[data-v-dc6a506b]{position:absolute;inset:0;background:linear-gradient(145deg,transparent 49.7%,#91795e20 50%,transparent 50.3%),linear-gradient(35deg,var(--paper-deep),var(--paper));clip-path:polygon(0 0,50% 52%,100% 0,100% 100%,0 100%);z-index:3}.gl-flap[data-v-dc6a506b]{position:absolute;inset:0;background:linear-gradient(175deg,var(--paper),var(--paper-deep));clip-path:polygon(0 0,100% 0,50% 57%);transform-origin:top center;transition:transform .85s .3s,filter .85s .3s;z-index:4}.gl-peek[data-v-dc6a506b]{position:absolute;inset:10px 12px 6px;background:var(--paper);color:var(--ink);display:flex;flex-direction:column;justify-content:center;text-align:left;padding:25px;font:italic 22px/1.7 Georgia,serif;transition:transform 1s 1s;z-index:2;border:1px solid color-mix(in srgb,var(--foil) 25%,transparent);box-shadow:0 0 10px #34281b0c}.gl-peek i[data-v-dc6a506b]{font-size:11px;margin-top:15px;color:var(--quiet)}.gl-seal[data-v-dc6a506b]{position:absolute;z-index:5;top:42%;left:calc(50% - 24px);width:48px;height:48px;border-radius:48% 44% 49% 47%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 25%,color-mix(in srgb,var(--seal) 85%,#fff),var(--seal));color:var(--seal-ink);box-shadow:inset 0 0 0 3px #0001,inset 0 0 0 4px #ffffff20,1px 4px 5px #0002;transition:opacity .4s,transform .6s}.gl-seal i[data-v-dc6a506b]{font:italic 25px/1 Georgia,serif}.gl-seal small[data-v-dc6a506b]{font:4px/1.5 Georgia,serif;letter-spacing:1px}.gl-name[data-v-dc6a506b]{position:absolute;bottom:22px;left:25px;right:65px;z-index:4;font:italic 15px/1.5 Georgia,Songti SC,serif;color:var(--ink);text-align:left;overflow-wrap:anywhere}.gl-name small[data-v-dc6a506b]{display:block;font:6px/1.6 var(--font-sans);letter-spacing:1.4px;color:var(--foil);margin-bottom:5px}.gl-postmark[data-v-dc6a506b]{position:absolute;bottom:20px;right:20px;z-index:4;width:40px;height:40px;border:1px solid var(--foil);border-radius:50%;font:6px/1.8 Georgia,serif;letter-spacing:1px;color:var(--foil);display:grid;place-content:center;transform:rotate(12deg);opacity:.65}.gl-keepsake[data-v-dc6a506b]{position:absolute;top:16%;right:2%;width:105px;height:130px;background:var(--paper);padding:7px 7px 20px;box-shadow:4px 12px 25px #0002;transform:rotate(12deg);transition:transform 1.6s,opacity 1.6s}.gl-keepsake img[data-v-dc6a506b]{width:100%;height:100%;object-fit:cover}.gl-keepsake>span[data-v-dc6a506b]{display:block;font:italic 7px/1.5 Georgia,serif;color:var(--quiet)}.night .gl-envelope .gl-front[data-v-dc6a506b]{background:linear-gradient(145deg,transparent 49.7%,#8595a520 50%,transparent 50.3%),linear-gradient(35deg,#aeb7c2,var(--paper))}.vinyl .gl-envelope[data-v-dc6a506b]{transform:rotate(-4deg)}.vinyl .gl-name[data-v-dc6a506b]{border-left:1px solid var(--foil);padding-left:10px}.opening .gl-envelope[data-v-dc6a506b]{transform:rotate(0) translateY(18px) scale(1.03)}.opening .gl-flap[data-v-dc6a506b]{transform:rotateX(175deg);filter:brightness(.85);z-index:1}.opening .gl-seal[data-v-dc6a506b]{opacity:0;transform:translateY(20px) rotate(15deg) scale(.9)}.opening .gl-peek[data-v-dc6a506b]{transform:translateY(-62%)}.opening .gl-keepsake[data-v-dc6a506b]{transform:translate(20px,-20px) rotate(18deg);opacity:.4}.gl-invitation[data-v-dc6a506b]{display:flex;flex-direction:column;gap:4px;align-items:center;flex-shrink:0}.gl-open[data-v-dc6a506b]{display:flex;gap:28px;align-items:center;border:0;border-bottom:1px solid var(--foil);background:transparent;padding:10px 4px 12px;min-width:160px;justify-content:center;font-size:13px!important;letter-spacing:4px}.gl-skip[data-v-dc6a506b]{font-size:10px!important;letter-spacing:1px}.gl-whisper[data-v-dc6a506b]{flex-shrink:0;font:11px/1.8 Songti SC,serif;letter-spacing:2px;opacity:.6;margin:20px 0 0}.gl-opened-stage[data-v-dc6a506b]{flex:1;min-height:0;width:100%;display:flex;flex-direction:column;align-items:center;padding:0 28px max(18px,env(safe-area-inset-bottom));gap:13px}.gl-paper[data-v-dc6a506b]{flex:1;min-height:0;display:flex;flex-direction:column;width:min(650px,100%);background:var(--paper);color:var(--ink);position:relative;box-shadow:0 12px 55px #00000015;padding:25px 42px 18px;animation:letter-arrive-dc6a506b 1.1s cubic-bezier(.22,1,.36,1) both}.gl-paper[data-v-dc6a506b]:before{content:"";pointer-events:none;position:absolute;inset:9px;border:1px solid color-mix(in srgb,var(--foil) 22%,transparent)}.night .gl-paper[data-v-dc6a506b]{box-shadow:0 14px 60px #0004}.vinyl .gl-paper[data-v-dc6a506b]{border-left:4px solid var(--foil)}.gl-paper-top[data-v-dc6a506b]{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-shrink:0}.gl-paper-top .gl-eyebrow[data-v-dc6a506b]{font-size:8px;letter-spacing:1.5px}.gl-date[data-v-dc6a506b]{font-size:8px;letter-spacing:1.3px;color:var(--quiet)}.gl-paper-title[data-v-dc6a506b]{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:20px 0 16px;flex-shrink:0}.gl-for[data-v-dc6a506b]{display:block;font:italic 11px/1.5 Georgia,serif;color:var(--foil);letter-spacing:2px}.gl-paper-title h1[data-v-dc6a506b]{font:400 28px/1.5 Songti SC,serif;letter-spacing:4px;margin:2px 0 0;overflow-wrap:anywhere}.gl-paper-title h1 em[data-v-dc6a506b]{font:10px var(--font-sans);letter-spacing:2px;margin-left:15px;color:var(--quiet)}.gl-paper-seal[data-v-dc6a506b]{width:39px;height:39px;flex-shrink:0;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--foil) 50%,transparent);color:var(--foil);border-radius:50%;font:italic 27px Georgia,serif}.gl-reading-toolbar[data-v-dc6a506b]{flex-shrink:0;display:flex;justify-content:space-between;gap:8px;align-items:center;border-bottom:1px solid color-mix(in srgb,var(--foil) 25%,transparent);margin-bottom:18px;padding-bottom:10px}.gl-modes[data-v-dc6a506b]{display:flex;gap:18px}.gl-modes button[data-v-dc6a506b],.gl-reading-actions button[data-v-dc6a506b]{display:flex;align-items:center;gap:5px;background:transparent;border:0;padding:6px 0;font-size:10px;color:var(--quiet)}.gl-modes [aria-pressed=true][data-v-dc6a506b]{color:var(--ink);text-decoration:underline;text-underline-offset:7px;text-decoration-color:var(--foil)}.gl-reading-actions[data-v-dc6a506b]{display:flex;gap:13px}.gl-read-dot[data-v-dc6a506b]{width:4px;height:4px;border-radius:50%;background:var(--quiet);opacity:.5}.gl-read-dot.active[data-v-dc6a506b]{background:var(--foil);opacity:1}.gl-preview-mark[data-v-dc6a506b]{font-size:9px;color:var(--quiet);letter-spacing:1px}.gl-reading[data-v-dc6a506b],.gl-lyric-content[data-v-dc6a506b]{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--foil) 28%,transparent) transparent}.gl-reading[data-v-dc6a506b]{padding:3px 2px 10px;scroll-behavior:auto}.gl-writing[data-v-dc6a506b]{position:relative;min-height:100%;padding-bottom:12px}.gl-salutation[data-v-dc6a506b]{font:16px/1.9 Kaiti SC,STKaiti,KaiTi,Songti SC,serif;letter-spacing:1px;margin:0 0 22px;overflow-wrap:anywhere}.gl-copy[data-v-dc6a506b]{white-space:pre-wrap;font:18px/2.1 Kaiti SC,STKaiti,KaiTi,Songti SC,serif;letter-spacing:1px;overflow-wrap:anywhere;margin:0}.gl-copy.placeholder[data-v-dc6a506b]{color:var(--quiet)}.gl-ink.unwritten[data-v-dc6a506b]{opacity:0}.gl-ink.fresh[data-v-dc6a506b]{color:color-mix(in srgb,var(--ink) 78%,var(--foil))}.gl-pen[data-v-dc6a506b]{position:absolute;width:2px;height:2px;pointer-events:none;left:0;top:0;transition:transform .09s linear;will-change:transform;z-index:2}.gl-signature[data-v-dc6a506b]{clear:both;text-align:right;padding-top:32px;transition:opacity 1s;overflow-wrap:anywhere}.gl-signature>span[data-v-dc6a506b]{font:11px/1.8 Songti SC,serif;color:var(--quiet)}.gl-signature strong[data-v-dc6a506b]{display:block;font:25px/1.8 Kaiti SC,STKaiti,KaiTi,serif;margin-top:7px;letter-spacing:3px}.gl-signature small[data-v-dc6a506b]{font-size:9px;color:var(--quiet)}.gl-final-note[data-v-dc6a506b]{text-align:center;clear:both;font:12px/2 Songti SC,serif;color:var(--quiet);padding:40px 0 16px}.gl-final-note>span[data-v-dc6a506b]{display:block;color:var(--foil);font-size:17px;margin-bottom:10px}.waiting[data-v-dc6a506b]{opacity:0}.gl-paper-foot[data-v-dc6a506b]{flex-shrink:0;display:flex;justify-content:space-between;gap:12px;margin-top:15px;font:7px/1.5 var(--font-sans);letter-spacing:1px;color:var(--quiet);padding-top:10px;border-top:1px solid color-mix(in srgb,var(--foil) 20%,transparent);overflow-wrap:anywhere}.gl-lyric-content[data-v-dc6a506b]{--text:var(--ink);--muted:var(--quiet);--accent:var(--foil)}.gl-lyric-content[data-v-dc6a506b] .synced-lyrics{height:auto;min-height:100%}.gl-lyric-content.is-synced[data-v-dc6a506b] .synced-lyrics{height:100%}.gl-lyric-content[data-v-dc6a506b] .synced-lyrics-viewport{max-height:none;height:100%;padding:20px 2px;scroll-behavior:auto}.gl-lyric-content[data-v-dc6a506b] .synced-lyrics-static{max-height:none;overflow:visible;font:18px/2.2 Songti SC,serif;text-align:center;white-space:pre-wrap}.gl-lyric-content[data-v-dc6a506b] .synced-lyrics-line{font-family:Songti SC,serif;font-size:18px;font-weight:400}.gl-lyric-content[data-v-dc6a506b] .synced-lyrics-line.active{color:var(--ink)}.gl-plain-hint[data-v-dc6a506b]{color:var(--quiet);text-align:center;font-size:10px}.gl-player[data-v-dc6a506b]{flex-shrink:0;display:flex;align-items:center;gap:16px;width:min(650px,100%);padding:0 6px}.gl-play[data-v-dc6a506b]{display:grid;place-items:center;width:43px;height:43px;flex-shrink:0;border:1px solid color-mix(in srgb,var(--scene-ink) 25%,transparent);background:transparent;border-radius:50%}.gl-track[data-v-dc6a506b]{flex:1;min-width:0}.gl-track strong[data-v-dc6a506b]{display:block;font:12px/1.5 var(--font-sans);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gl-track input[data-v-dc6a506b]{display:block;width:100%;height:13px;accent-color:var(--scene-ink);margin:3px 0}.gl-time[data-v-dc6a506b]{display:flex;justify-content:space-between;font-size:8px;opacity:.6;font-variant-numeric:tabular-nums}.gl-song-dedication[data-v-dc6a506b]{font:10px/1.6 Songti SC,serif;letter-spacing:3px;opacity:.65;padding-left:8px;border-left:1px solid color-mix(in srgb,var(--scene-ink) 20%,transparent)}.gl-audio-error[data-v-dc6a506b]{margin:0;font-size:10px;flex-shrink:0;line-height:1.4}.gl-audio-error button[data-v-dc6a506b]{border:0;background:transparent;text-decoration:underline;padding:3px 7px}.gift-letter.live[data-v-dc6a506b]{height:100%}.live .gl-head[data-v-dc6a506b]{padding:17px 24px;min-height:55px}.live .gl-brand[data-v-dc6a506b]{font-size:10px}.live .gl-brand-note[data-v-dc6a506b],.live .gl-edition[data-v-dc6a506b]{display:none}.live .gl-opened-stage[data-v-dc6a506b]{padding:0 22px 18px}.live .gl-paper[data-v-dc6a506b]{padding:22px 28px 15px;animation:none}.live .gl-paper-title[data-v-dc6a506b]{margin:16px 0}.live .gl-paper-title h1[data-v-dc6a506b]{font-size:25px}.live .gl-copy[data-v-dc6a506b]{font-size:16px}.live .gl-paper-foot[data-v-dc6a506b]{font-size:6px;letter-spacing:.6px}.live .gl-song-dedication[data-v-dc6a506b]{display:none}@keyframes letter-arrive-dc6a506b{0%{opacity:0;transform:translateY(40px) rotate(-1.5deg)}to{opacity:1;transform:none}}.reduced[data-v-dc6a506b] *{animation:none!important;transition:none!important}@media(max-width:520px){.gl-head[data-v-dc6a506b]{padding:17px 20px 12px;min-height:60px}.gl-brand[data-v-dc6a506b]{font-size:10px;letter-spacing:2px}.gl-brand-note[data-v-dc6a506b]{display:none}.gl-edition[data-v-dc6a506b]{font-size:9px;letter-spacing:1px}.gl-sealed[data-v-dc6a506b]{padding:8px 20px 23px}.gl-dedication h1[data-v-dc6a506b]{font-size:28px;margin:14px 0 12px;letter-spacing:2px}.gl-dedication p[data-v-dc6a506b]{max-width:270px;font-size:11px}.gl-eyebrow[data-v-dc6a506b]{font-size:8px;letter-spacing:1.5px}.gl-envelope-scene[data-v-dc6a506b]{width:100%;max-height:280px}.gl-envelope[data-v-dc6a506b]{width:88%}.gl-envelope-scene.has-keepsake .gl-envelope[data-v-dc6a506b]{width:84%}.gl-keepsake[data-v-dc6a506b]{width:80px;height:100px;right:0}.gl-name[data-v-dc6a506b]{font-size:13px;bottom:17px;left:19px}.gl-name small[data-v-dc6a506b]{font-size:5px}.gl-postmark[data-v-dc6a506b]{right:15px;bottom:17px;width:33px;height:33px;font-size:5px}.gl-seal[data-v-dc6a506b]{width:43px;height:43px;left:calc(50% - 21px)}.gl-whisper[data-v-dc6a506b]{font-size:10px;letter-spacing:1px;margin-top:15px}.gl-opened-stage[data-v-dc6a506b]{padding:0 12px max(12px,env(safe-area-inset-bottom));gap:12px}.gl-paper[data-v-dc6a506b]{padding:22px 25px 14px}.gl-paper[data-v-dc6a506b]:before{inset:7px}.gl-paper-title[data-v-dc6a506b]{margin:17px 0 14px}.gl-paper-title h1[data-v-dc6a506b]{font-size:25px}.gl-paper-title h1 em[data-v-dc6a506b]{font-size:9px;letter-spacing:1px;margin-left:10px}.gl-paper-title .gl-paper-seal[data-v-dc6a506b]{width:33px;height:33px;font-size:24px}.gl-reading-toolbar[data-v-dc6a506b]{margin-bottom:16px}.gl-modes[data-v-dc6a506b]{gap:16px}.gl-reading-actions[data-v-dc6a506b]{gap:10px}.gl-reading-actions button[data-v-dc6a506b],.gl-modes button[data-v-dc6a506b]{font-size:9px;min-height:28px}.gl-copy[data-v-dc6a506b]{font-size:17px;line-height:2.05}.gl-salutation[data-v-dc6a506b]{font-size:15px;margin-bottom:18px}.gl-paper-foot[data-v-dc6a506b]{font-size:6px;letter-spacing:.6px}.gl-paper-foot>span[data-v-dc6a506b]:last-child{max-width:52%;text-align:right}.gl-signature strong[data-v-dc6a506b]{font-size:24px}.gl-player[data-v-dc6a506b]{padding:0 8px;gap:12px}.gl-player .gl-play[data-v-dc6a506b]{width:40px;height:40px}.gl-audio-error[data-v-dc6a506b]{padding-inline:10px}}@media(max-height:650px){.gl-head[data-v-dc6a506b]{min-height:48px;padding-top:10px;padding-bottom:10px}.gl-dedication h1[data-v-dc6a506b]{font-size:24px;margin:8px 0}.gl-envelope-scene[data-v-dc6a506b]{max-height:220px;min-height:115px}.gl-envelope[data-v-dc6a506b]{width:min(280px,80%)}.gl-whisper[data-v-dc6a506b]{display:none}.gl-sealed[data-v-dc6a506b]{padding-bottom:12px}.gl-paper-title[data-v-dc6a506b]{margin:10px 0}.gl-paper-title h1[data-v-dc6a506b]{font-size:22px}.gl-paper-top[data-v-dc6a506b]{display:none}.gl-paper[data-v-dc6a506b]{padding-top:15px}.gl-paper-foot[data-v-dc6a506b]{margin-top:8px;padding-top:7px}}@media(max-width:520px)and (max-height:650px){.gl-envelope-scene.has-keepsake .gl-envelope[data-v-dc6a506b]{width:min(280px,76%)}}@media(prefers-reduced-motion:reduce){.gift-letter[data-v-dc6a506b] *{animation:none!important;transition:none!important}}@media(max-width:760px){.live .gl-head[data-v-dc6a506b]{display:none}.live .gl-opened-stage[data-v-dc6a506b]{padding:10px 15px;gap:6px}.live .gl-paper[data-v-dc6a506b]{padding:12px 20px 8px}.live .gl-paper-top[data-v-dc6a506b],.live .gl-paper-seal[data-v-dc6a506b],.live .gl-paper-foot[data-v-dc6a506b],.live .gl-reading-toolbar[data-v-dc6a506b],.live .gl-final-note[data-v-dc6a506b],.live .gl-song-dedication[data-v-dc6a506b]{display:none}.live .gl-paper-title[data-v-dc6a506b]{margin:0 0 8px}.live .gl-for[data-v-dc6a506b]{display:none}.live .gl-paper-title h1[data-v-dc6a506b]{font-size:16px;line-height:1.4}.live .gl-paper-title h1 em[data-v-dc6a506b]{font-size:8px}.live .gl-salutation[data-v-dc6a506b]{font-size:12px;margin:0 0 8px}.live .gl-copy[data-v-dc6a506b]{font-size:13px;line-height:1.9}.live .gl-signature[data-v-dc6a506b]{padding-top:12px}.live .gl-signature>span[data-v-dc6a506b],.live .gl-signature small[data-v-dc6a506b]{display:none}.live .gl-signature strong[data-v-dc6a506b]{font-size:15px;margin:0}.live .gl-player[data-v-dc6a506b]{gap:8px;padding:0}.live .gl-play[data-v-dc6a506b]{width:25px;height:25px}.live .gl-play>svg[data-v-dc6a506b]{width:11px;height:11px}.live .gl-track strong[data-v-dc6a506b]{font-size:9px}.live .gl-track input[data-v-dc6a506b],.live .gl-time[data-v-dc6a506b]{display:none}}.gift-letter[data-v-dc6a506b]{--envelope:#e7dfcf;--envelope-light:#f3eddf;--envelope-ink:#6c5e49;--foil:#a88b56;--seal:#925645;--seal-ink:#ead6ae;background:radial-gradient(ellipse at 15% 8%,#fffdf8,transparent 65%),linear-gradient(135deg,#f1eee6,#e5e0d5)}.gift-letter.night[data-v-dc6a506b]{--paper:#fff7f0;--paper-deep:#e6d6cc;--paper-edge:#bea798;--ink:#523e40;--quiet:#997b7b;--foil:#bb9a6c;--scene-ink:#f5e8dd;--envelope:#633849;--envelope-light:#8b5967;--envelope-ink:#eedbc4;--seal:#4c2839;--seal-ink:#e2be81;background:radial-gradient(ellipse at 80% 10%,#a66f7744,transparent 60%),linear-gradient(135deg,#4c303f,#2d202c)}.gift-letter.vinyl[data-v-dc6a506b]{--paper:#f6edda;--paper-deep:#decba8;--ink:#57452e;--foil:#a18350;--envelope:#957858;--envelope-light:#b39875;--envelope-ink:#f9ecd4;--seal:#485046;--seal-ink:#dec497;background:radial-gradient(ellipse at 90% 10%,#d2bb8f44,transparent 65%),linear-gradient(135deg,#564939,#34312a)}.gift-letter.bloom[data-v-dc6a506b]{--paper:#f8f8ef;--paper-deep:#e2e6d5;--paper-edge:#b3bda5;--ink:#3f5041;--quiet:#7b8c76;--foil:#8d9b71;--scene-ink:#405346;--envelope:#748b75;--envelope-light:#9eaf94;--envelope-ink:#f1efdb;--seal:#3c5c48;--seal-ink:#d9d7ac;background:radial-gradient(ellipse at 5% 10%,#fbfcf4,transparent 60%),linear-gradient(135deg,#e6ecdf,#ccd8c7)}.gift-letter.celebration[data-v-dc6a506b]{--paper:#FFFCF5;--paper-deep:#f3e4cf;--paper-edge:#dfcba6;--ink:#594540;--quiet:#8d7164;--foil:#C3A16A;--scene:#FFF0D5;--scene-ink:#655047;--envelope:#edc3ac;--envelope-light:#f7dbc5;--envelope-ink:#805947;--seal:#EC927D;--seal-ink:#fff4d5;--confetti-warm:#EC927D;--confetti-cool:#A8C7CF;background:radial-gradient(ellipse at 80% 4%,#fffbed,transparent 65%),linear-gradient(135deg,#fff5df,#fff0d5 60%,#f5dfbf)}.gift-letter.voyage[data-v-dc6a506b]{--paper:#f4f7f4;--paper-deep:#dce5e3;--paper-edge:#a8bfc1;--ink:#3f5961;--quiet:#7d969b;--foil:#849da2;--scene-ink:#415e67;--envelope:#6d8c98;--envelope-light:#9ab3b9;--envelope-ink:#eff0db;--seal:#3d6374;--seal-ink:#dfd8ba;background:radial-gradient(ellipse at 10% 10%,#f4f9f8,transparent 60%),linear-gradient(135deg,#e4eeed,#c3d3d5)}.gift-letter[data-v-dc6a506b]:before{background:repeating-linear-gradient(95deg,#81735a05 0 1px,transparent 1px 3px),repeating-linear-gradient(2deg,#81735a05 0 1px,transparent 1px 5px)}.gl-envelope[data-v-dc6a506b]{aspect-ratio:1.64;filter:drop-shadow(1px 2px 1px #36281d1a) drop-shadow(6px 22px 16px #35291c28)}.gl-envelope-layers[data-v-dc6a506b]{position:absolute;inset:0;display:block;perspective:1200px;transition:opacity .28s}.has-art .gl-envelope-layers[data-v-dc6a506b]{opacity:0}.gl-envelope-art[data-v-dc6a506b]{position:absolute;z-index:6;left:-6%;top:-12%;width:112%;height:124%;max-width:none;object-fit:fill;pointer-events:none;transition:opacity .28s}.has-art .gl-name[data-v-dc6a506b]{z-index:7}.bloom .has-art .gl-name[data-v-dc6a506b]{color:#41523c}.vinyl .has-art .gl-name[data-v-dc6a506b]{color:#4e3928}.voyage .has-art .gl-name[data-v-dc6a506b]{color:#203f51}.night .has-art .gl-envelope-layers[data-v-dc6a506b]{--envelope:#9e5963;--envelope-light:#b0757a}.bloom .has-art .gl-envelope-layers[data-v-dc6a506b]{--envelope:#b7bfa0;--envelope-light:#d0d5ba}.opening .has-art .gl-envelope-layers[data-v-dc6a506b]{opacity:1}.opening .gl-envelope-art[data-v-dc6a506b]{opacity:0}.gl-envelope.has-art[data-v-dc6a506b] :is(.gl-back,.gl-front,.gl-flap){background-image:linear-gradient(135deg,#ffffff18,#00000008),var(--envelope-art-texture);background-size:100% 100%,800% 800%;background-position:center,25% 30%}.gl-back[data-v-dc6a506b]{border-radius:3px;background:var(--envelope);border-color:color-mix(in srgb,var(--envelope) 80%,#453523);box-shadow:inset 0 0 0 1px #ffffff20}.gl-envelope .gl-front[data-v-dc6a506b],.night .gl-envelope .gl-front[data-v-dc6a506b]{border-radius:2px;background:linear-gradient(147deg,transparent 49.5%,#4a352422 49.9%,#ffffff35 50.2%,transparent 50.7%),repeating-linear-gradient(4deg,#ffffff04 0 .5px,transparent .5px 3px),linear-gradient(35deg,var(--envelope),var(--envelope-light))}.gl-flap[data-v-dc6a506b]{background:repeating-linear-gradient(94deg,#ffffff04 0 1px,transparent 1px 3px),linear-gradient(174deg,var(--envelope-light),var(--envelope));filter:drop-shadow(0 2px 1px #39261d24)}.gl-name[data-v-dc6a506b]{color:var(--envelope-ink);font-family:Kaiti SC,STKaiti,Georgia,serif;font-size:18px;letter-spacing:1px}.gl-name small[data-v-dc6a506b]{color:var(--envelope-ink);opacity:.6;font-size:5px;letter-spacing:1.9px}.gl-postmark[data-v-dc6a506b]{display:none}.gl-envelope-motif[data-v-dc6a506b]{position:absolute;z-index:4;width:85px;height:85px;right:12px;bottom:5px;color:var(--envelope-ink);opacity:.38;pointer-events:none}.gl-seal[data-v-dc6a506b]{border-radius:45% 50% 43% 48%;box-shadow:inset 1px 2px 2px #ffffff38,inset -2px -3px 3px #0003,0 2px 1px #fff2,2px 5px 7px #25151130;background:radial-gradient(ellipse at 35% 18%,color-mix(in srgb,var(--seal) 75%,#fff),var(--seal) 62%)}.gl-seal[data-v-dc6a506b]:before{content:"";position:absolute;inset:6px;border:1px solid color-mix(in srgb,var(--seal-ink) 30%,transparent);border-radius:50%;box-shadow:0 1px 1px #0003}.gl-seal i[data-v-dc6a506b]{text-shadow:0 1px 0 #fff4,0 -1px 1px #0005;font-size:23px}.gl-seal small[data-v-dc6a506b]{display:none}.gl-paper[data-v-dc6a506b]{background:linear-gradient(90deg,#00000002,transparent 8%,#ffffff30 50%,transparent 92%,#00000004),var(--paper);border-radius:2px 3px 2px 1px;box-shadow:0 1px 1px #41351d22,0 4px 8px #41351d08,0 20px 50px #34291a14}.gl-paper[data-v-dc6a506b]:before{inset:11px;border-color:color-mix(in srgb,var(--foil) 16%,transparent)}.gl-paper[data-v-dc6a506b]:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;opacity:.08;mix-blend-mode:normal;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E")}.vinyl .gl-paper[data-v-dc6a506b]{border-left:0}.night .gl-paper[data-v-dc6a506b]{box-shadow:0 20px 60px #130d2044}.gl-paper-motif[data-v-dc6a506b]{position:absolute;width:145px;height:145px;right:22px;top:22px;color:var(--foil);opacity:.13;pointer-events:none}.gl-paper-top[data-v-dc6a506b],.gl-paper-title[data-v-dc6a506b],.gl-reading-toolbar[data-v-dc6a506b],.gl-reading[data-v-dc6a506b],.gl-lyric-content[data-v-dc6a506b],.gl-paper-foot[data-v-dc6a506b]{position:relative}.gl-paper-title[data-v-dc6a506b]{margin:23px 0 20px}.gl-paper-title h1[data-v-dc6a506b]{font-family:Kaiti SC,STKaiti,Songti SC,serif;font-size:32px;letter-spacing:3px}.gl-paper-seal[data-v-dc6a506b]{border:0;font-size:31px;opacity:.7}.gl-for[data-v-dc6a506b]{font-size:9px;letter-spacing:3px}.gl-paper-top .gl-eyebrow[data-v-dc6a506b]{font-size:7px;letter-spacing:2px}.gl-copy[data-v-dc6a506b]{line-height:2.25}.gl-salutation[data-v-dc6a506b]{color:var(--ink)}.gl-pen[data-v-dc6a506b]{z-index:3}.gl-pen .gift-quill[data-v-dc6a506b]{position:absolute;width:70px;height:140px;bottom:-2px;left:-8px;transform:rotate(17deg);transform-origin:8px 138px;filter:drop-shadow(3px 4px 2px #3b332520)}.live .gl-opened-stage[data-v-dc6a506b]{padding:24px;gap:16px}.live .gl-paper[data-v-dc6a506b]{padding-top:30px}.live .gl-paper-title h1[data-v-dc6a506b]{font-size:30px}@media(max-width:520px){.gl-envelope-motif[data-v-dc6a506b]{width:65px;height:65px;right:9px;bottom:4px}.gl-name[data-v-dc6a506b]{font-size:17px}.gl-paper-title[data-v-dc6a506b]{margin:18px 0 15px}.gl-paper-title h1[data-v-dc6a506b]{font-size:27px}.gl-paper-motif[data-v-dc6a506b]{width:115px;height:115px;right:16px}.gl-pen .gift-quill[data-v-dc6a506b]{width:58px;height:116px;transform-origin:7px 114px;left:-7px}.gl-copy[data-v-dc6a506b]{line-height:2.15}}@media(max-height:650px){.gl-paper-title[data-v-dc6a506b]{margin:10px 0}.gl-paper-title h1[data-v-dc6a506b]{font-size:23px}}.gl-reading[data-v-dc6a506b],.gl-lyric-content[data-v-dc6a506b]{contain:layout paint}.gl-reading-toolbar[data-v-dc6a506b]{gap:6px}.gl-modes[data-v-dc6a506b]{display:flex;flex-shrink:0;gap:2px;padding:2px;border:1px solid color-mix(in srgb,var(--foil) 24%,transparent);border-radius:11px;background:color-mix(in srgb,var(--foil) 7%,var(--paper))}.gl-modes button[data-v-dc6a506b]{justify-content:center;min-width:70px;min-height:44px;box-sizing:border-box;padding:0 10px;border-radius:8px;font-size:13px;color:var(--quiet);text-decoration:none}.gl-modes [aria-pressed=true][data-v-dc6a506b]{background:var(--paper);color:var(--ink);box-shadow:0 1px 4px #45351c12,inset 0 0 0 1px color-mix(in srgb,var(--foil) 22%,transparent);text-decoration:none;font-weight:600}.gl-modes button[data-v-dc6a506b]:focus-visible{outline:1px solid var(--foil);outline-offset:-3px}.gl-modes button>svg[data-v-dc6a506b]{width:13px;height:13px}@media(max-width:520px){.gl-modes button[data-v-dc6a506b]{min-width:60px;min-height:44px;padding:0 8px;font-size:12px}.gl-reading-actions[data-v-dc6a506b]{gap:6px}.gl-reading-toolbar[data-v-dc6a506b]{margin-bottom:12px;padding-bottom:8px}}.gl-final-note.waiting[data-v-dc6a506b]{visibility:hidden}.gl-paper-title>div[data-v-dc6a506b]:first-child{min-width:0}.gl-photo-viewer[data-v-dc6a506b]{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:max(64px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom));border:0;background:#171511fa;color:#fff;box-sizing:border-box}.gl-photo-viewer[open][data-v-dc6a506b]{display:flex;align-items:center;justify-content:center}.gl-photo-viewer[data-v-dc6a506b]::backdrop{background:#171511e6}.gl-photo-viewer>img[data-v-dc6a506b]{display:block;width:100%;height:100%;object-fit:contain}.gl-photo-viewer>button[data-v-dc6a506b]{position:absolute;right:max(16px,env(safe-area-inset-right));top:max(16px,env(safe-area-inset-top));width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid #ffffff35;border-radius:50%;background:#ffffff12;color:inherit;cursor:pointer}.gl-paper .gl-photo-card[data-v-dc6a506b]{position:relative;float:right;display:block;box-sizing:border-box;width:92px;padding:4px;margin:7px 10px 20px 20px;border:1px solid color-mix(in srgb,var(--foil) 22%,transparent);border-radius:1px;background:var(--paper);color:var(--quiet);box-shadow:3px 6px 10px #34291a20;transform:rotate(3deg);transform-origin:center;transition:transform .2s;cursor:zoom-in}.gl-photo-card img[data-v-dc6a506b]{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.gl-photo-card>span[data-v-dc6a506b]{display:block;width:100%;overflow:hidden;padding-top:4px;text-align:center;font:9px/1.4 Georgia,serif;letter-spacing:.25px;white-space:normal}@media(hover:hover){.gl-paper .gl-photo-card[data-v-dc6a506b]:hover{transform:translateY(-2px) rotate(2deg)}}.gl-unlock[data-v-dc6a506b]{width:min(100%,320px);display:flex;flex-direction:column;align-items:center;gap:10px;flex-shrink:0;color:var(--ink);font:12px/1.6 var(--font-sans)}.gl-unlock label[data-v-dc6a506b]{font-size:14px}.gl-unlock-input[data-v-dc6a506b]{display:flex;width:100%;align-items:center;border:1px solid color-mix(in srgb,var(--foil) 40%,transparent);border-radius:10px;background:var(--paper)}.gl-unlock-input[data-v-dc6a506b]:focus-within{border-color:var(--foil)}.gl-unlock-input input[data-v-dc6a506b]{min-width:0;flex:1;min-height:44px;padding:10px 12px;border:0;border-radius:10px;background:transparent;color:var(--ink);font:13px var(--font-sans);outline:none;box-shadow:none}.gl-unlock-input input[data-v-dc6a506b]:focus{outline:none;box-shadow:none}.gl-unlock-input input[data-v-dc6a506b]::placeholder{color:var(--quiet)}.gl-unlock p[data-v-dc6a506b]{margin:0;color:var(--quiet);font-size:11px}.gl-unlock p[role=alert][data-v-dc6a506b]{color:var(--ink)}.gl-unlock .gl-open[data-v-dc6a506b]{margin:0;min-height:44px}.gl-unlock button[data-v-dc6a506b]:disabled{opacity:.55;cursor:default}.gift-letter.unlocking .gl-envelope-scene[data-v-dc6a506b]{min-height:90px;max-height:230px}.gift-letter.unlocking .gl-dedication h1[data-v-dc6a506b]{font-size:24px;margin:8px 0}.gift-letter.unlocking .gl-dedication p[data-v-dc6a506b]{display:none}@media(max-height:650px){.gift-letter.unlocking .gl-envelope-scene[data-v-dc6a506b]{max-height:130px;min-height:60px}.gift-letter.unlocking .gl-dedication[data-v-dc6a506b]{display:none}.gift-letter.unlocking .gl-envelope[data-v-dc6a506b]{width:min(220px,65%)}}.gift-letter.unlocking .gl-envelope[data-v-dc6a506b]{width:min(300px,80%)}.gift-letter.unlocking .gl-envelope-scene[data-v-dc6a506b]{margin:16px 0 24px}@media(max-height:650px){.gift-letter.unlocking .gl-envelope[data-v-dc6a506b]{width:min(180px,60%)}.gift-letter.unlocking .gl-envelope-scene[data-v-dc6a506b]{margin:8px 0 14px}}.gift-letter[data-v-dc6a506b]{--paper-tint:var(--envelope);--paper-trim:var(--foil)}.gift-letter.night[data-v-dc6a506b]{--paper:#fff1f3;--paper-deep:#efd5de;--paper-edge:#d6a5b6;--ink:#633e50;--quiet:#8f6778;--foil:#a96882;--scene:#ead3dd;--scene-ink:#71495c;--seal:#8b4b65;--seal-ink:#f7d8d8;--paper-tint:#d891ac;--paper-trim:#bd8298;background:radial-gradient(ellipse at 12% 10%,#fff1f1c9,transparent 58%),radial-gradient(ellipse at 92% 90%,#d4bfd8aa,transparent 64%),linear-gradient(145deg,#f1dfe4,#e8ced9 55%,#dcc6d5)}.night .gl-paper[data-v-dc6a506b]{background:radial-gradient(ellipse at 100% 0%,#e8b9ce70,transparent 55%),radial-gradient(ellipse at 0% 100%,#edc4d344,transparent 52%),linear-gradient(120deg,#ffffff44,transparent 60%),var(--paper);box-shadow:0 1px 2px #77415b16,0 8px 24px #77415b0b,0 24px 60px #77415b1c}.night .gl-paper-motif[data-v-dc6a506b]{color:#b87491;opacity:.3}.night .gl-paper-seal[data-v-dc6a506b]{color:#a86b83}.night .gl-for[data-v-dc6a506b]{color:#a96882}.gift-letter.bloom[data-v-dc6a506b]{--paper-tint:#8b9f76}.gift-letter.celebration[data-v-dc6a506b]{--paper-tint:#EC927D}.gift-letter.voyage[data-v-dc6a506b]{--paper-tint:#7b9ba9}.gl-opened-stage[data-v-dc6a506b]{gap:8px}.gl-paper[data-v-dc6a506b]{isolation:isolate;--quiet:color-mix(in srgb,var(--ink) 80%,var(--paper));border-top:2px solid color-mix(in srgb,var(--paper-trim) 65%,var(--paper));background:radial-gradient(ellipse at 100% 0%,color-mix(in srgb,var(--paper-tint) 15%,transparent),transparent 48%),radial-gradient(ellipse at 0% 100%,color-mix(in srgb,var(--paper-tint) 8%,transparent),transparent 42%),linear-gradient(90deg,#00000002,transparent 12%,#ffffff24 52%,transparent 88%,#00000003),var(--paper);box-shadow:0 1px 2px #33282020,0 6px 18px #3328200a,0 24px 60px #241a1720}.gl-paper[data-v-dc6a506b]:before{inset:10px;border-color:color-mix(in srgb,var(--foil) 27%,transparent);border-radius:1px 20px 1px 1px}.gl-paper[data-v-dc6a506b]:after{opacity:.065}.night .gl-paper[data-v-dc6a506b]:before{border-radius:1px 35px 1px 1px;border-color:color-mix(in srgb,var(--paper-trim) 28%,transparent)}.vinyl .gl-paper[data-v-dc6a506b]:before{border-style:double;border-width:3px;border-radius:0}.bloom .gl-paper[data-v-dc6a506b]:before{border-radius:1px 28px}.celebration .gl-paper[data-v-dc6a506b]:before{border-radius:18px 1px}.voyage .gl-paper[data-v-dc6a506b]:before{border-radius:0;border-bottom-style:double;border-bottom-width:3px}.gl-paper-motif[data-v-dc6a506b]{width:154px;height:154px;top:16px;right:18px;opacity:.23;color:var(--paper-trim);-webkit-mask-image:linear-gradient(#000 25%,transparent 100%);mask-image:linear-gradient(#000 25%,transparent 100%)}.bloom .gl-paper-motif[data-v-dc6a506b]{transform:rotate(14deg)}.vinyl .gl-paper-motif[data-v-dc6a506b]{opacity:.18}.celebration .gl-paper-motif[data-v-dc6a506b]{opacity:.46}.gl-paper-top .gl-eyebrow[data-v-dc6a506b]{font-size:9px;letter-spacing:2px;color:var(--ink);opacity:.7}.gl-date[data-v-dc6a506b]{font-size:8px;letter-spacing:1.2px}.gl-paper-title[data-v-dc6a506b]{margin:18px 0 15px}.gl-paper-title h1[data-v-dc6a506b]{font-size:30px;line-height:1.6}.gl-paper-seal[data-v-dc6a506b]{width:36px;height:36px;font-size:23px;border:1px solid color-mix(in srgb,var(--foil) 35%,transparent);outline:1px solid color-mix(in srgb,var(--foil) 12%,transparent);outline-offset:3px;opacity:.85}.gl-reading-toolbar[data-v-dc6a506b]{padding-bottom:9px;margin-bottom:16px}.gl-modes[data-v-dc6a506b]{border:0;border-radius:0;background:transparent;padding:0;gap:18px}.gl-modes button[data-v-dc6a506b]{position:relative;border-radius:0;min-width:44px;min-height:44px;padding:0 3px;color:color-mix(in srgb,var(--ink) 78%,var(--paper))}.gl-modes [aria-pressed=true][data-v-dc6a506b]{background:transparent;box-shadow:none;font-weight:500;color:var(--ink)}.gl-modes [aria-pressed=true][data-v-dc6a506b]:after{content:"";position:absolute;bottom:1px;left:3px;right:3px;height:2px;border-radius:2px;background:var(--paper-trim)}.gl-reading-actions button[data-v-dc6a506b]{min-height:44px;color:color-mix(in srgb,var(--ink) 68%,var(--paper))}.gl-copy[data-v-dc6a506b]{font-size:18px;line-height:2.15;letter-spacing:.65px}.gl-salutation[data-v-dc6a506b]{margin-bottom:20px}.gl-signature[data-v-dc6a506b]{position:relative;min-height:105px;padding-left:85px}.gl-signature-motif[data-v-dc6a506b]{position:absolute;left:2px;bottom:0;width:80px;height:80px;color:var(--paper-trim);opacity:.4;pointer-events:none}.live .gl-signature-motif[data-v-dc6a506b]{display:none}.live .gl-signature[data-v-dc6a506b]{min-height:0;padding-left:0}.gl-paper-foot[data-v-dc6a506b]{margin-top:10px;padding-top:8px;opacity:.8}.is-lyrics .gl-paper-title h1[data-v-dc6a506b]{font:400 clamp(19px,3vw,26px)/1.6 "Songti SC","Noto Serif CJK SC",serif;letter-spacing:1px}.is-lyrics .gl-paper-title h1 em[data-v-dc6a506b]{display:none}.is-lyrics .gl-paper-foot[data-v-dc6a506b]{border-top:0}.gl-lyric-content[data-v-dc6a506b]{position:relative}.gl-lyric-content[data-v-dc6a506b] .synced-lyrics.fill{min-height:100%}.gl-lyric-content[data-v-dc6a506b] .synced-lyrics.fill .synced-lyrics-viewport{padding:12px 6px 24px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--foil) 28%,transparent) transparent;-webkit-mask-image:linear-gradient(transparent,#000 18px,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(transparent,#000 18px,#000 calc(100% - 24px),transparent)}.gl-lyric-content[data-v-dc6a506b] .synced-lyrics.fill .synced-lyrics-line{margin:0;padding:8px 6px;font:400 20px/1.8 Songti SC,"Noto Serif CJK SC",serif;letter-spacing:.6px;opacity:1;color:color-mix(in srgb,var(--ink) 82%,var(--paper));overflow-wrap:anywhere;transition:color .45s ease,transform .45s ease}.gl-lyric-content[data-v-dc6a506b] .synced-lyrics.fill .synced-lyrics-line.past{color:color-mix(in srgb,var(--ink) 78%,var(--paper));opacity:1}.gl-lyric-content[data-v-dc6a506b] .synced-lyrics.fill .synced-lyrics-line.active{color:var(--ink);font-weight:600;transform:scale(1.025);text-shadow:0 0 24px color-mix(in srgb,var(--paper-trim) 16%,transparent)}.gl-lyric-content[data-v-dc6a506b] .synced-lyrics.fill .synced-lyrics-credit{padding:3px 6px;font:14px/1.8 var(--font-sans);color:var(--quiet);letter-spacing:.5px;opacity:1}.gl-lyric-content[data-v-dc6a506b] .synced-lyrics.fill .synced-lyrics-credit+.synced-lyrics-line:not(.synced-lyrics-credit){margin-top:10px}.gl-lyric-content[data-v-dc6a506b] .synced-lyrics.fill .synced-lyrics-static{flex:none;height:auto;min-height:100%;max-height:none;overflow:visible;padding:14px 6px 30px;-webkit-mask-image:none;mask-image:none}.gl-lyric-content[data-v-dc6a506b] .synced-lyrics-static-body{margin:16px 0 0;font:400 19px/2 Songti SC,"Noto Serif CJK SC",serif;letter-spacing:.6px;color:var(--ink);overflow-wrap:anywhere}.gl-plain-hint[data-v-dc6a506b]{font-size:10px;line-height:1.8;color:var(--quiet);margin:0 0 16px}.gl-music[data-v-dc6a506b]{width:min(650px,100%);flex:none;color:var(--scene-ink)}.gift-letter .gl-player[data-v-dc6a506b]{box-sizing:border-box;width:100%;min-height:48px;gap:10px;padding:0 4px;border:0;border-radius:0;background:transparent}.gift-letter .gl-play[data-v-dc6a506b]{position:relative;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;background:transparent;color:var(--scene-ink)}.gl-play[data-v-dc6a506b]:before,.gl-lyric-peek[data-v-dc6a506b]:before{content:"";position:absolute;inset:5px;border:1px solid color-mix(in srgb,var(--scene-ink) 24%,transparent);border-radius:50%;background:color-mix(in srgb,var(--scene-ink) 4%,transparent);transition:background .2s,transform .2s}.gl-play>svg[data-v-dc6a506b]{position:relative;z-index:1}.gl-play[data-v-dc6a506b]:active:before,.gl-lyric-peek[data-v-dc6a506b]:active:before{transform:scale(.94)}.gl-play[data-v-dc6a506b]:focus-visible,.gl-lyric-peek[data-v-dc6a506b]:focus-visible{border-radius:50%}.gl-track-title[data-v-dc6a506b]{display:flex;align-items:center;justify-content:space-between;gap:12px}.gift-letter .gl-track strong[data-v-dc6a506b]{font:400 11px/1.5 var(--font-sans);opacity:.9}.gift-letter .gl-song-dedication[data-v-dc6a506b]{display:block;flex:none;padding:0;border:0;font:10px/1.5 Songti SC,serif;letter-spacing:1px;opacity:.6}.gl-track-progress[data-v-dc6a506b]{gap:8px}.gl-position[data-v-dc6a506b]{flex:none;font:9px/1.5 var(--font-sans);font-variant-numeric:tabular-nums;opacity:.65}.gl-track-title[data-v-dc6a506b]{min-height:18px;min-width:0;gap:12px}.gl-track-title strong[data-v-dc6a506b]{min-width:0;flex:0 1 40%}.gl-track-title strong[data-v-dc6a506b]:only-child{flex:1}.gl-lyric-peek[data-v-dc6a506b]{position:relative;flex:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;border:0;background:transparent;color:inherit}.gl-current-lyric[data-v-dc6a506b]{flex:1;min-width:0;overflow:hidden;font:12px/1.5 Songti SC,serif;letter-spacing:.3px;opacity:.78}.gl-current-lyric>span[data-v-dc6a506b]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gl-lyric-peek-action[data-v-dc6a506b]{position:relative;z-index:1;display:flex;flex:none;flex-direction:column;align-items:center;justify-content:center;gap:1px;font:9px/1.1 var(--font-sans);letter-spacing:.3px;color:var(--scene-ink)}.lyric-line-enter-active[data-v-dc6a506b],.lyric-line-leave-active[data-v-dc6a506b]{transition:opacity .18s ease,transform .18s ease}.lyric-line-enter-from[data-v-dc6a506b]{opacity:0;transform:translateY(4px)}.lyric-line-leave-to[data-v-dc6a506b]{opacity:0;transform:translateY(-4px)}@media(hover:hover){.gl-play[data-v-dc6a506b]:hover:before,.gl-lyric-peek[data-v-dc6a506b]:hover:before{background:color-mix(in srgb,var(--scene-ink) 10%,transparent)}.gl-lyric-peek:hover .gl-lyric-peek-action[data-v-dc6a506b]{opacity:1}}.gift-letter.live .gl-music[data-v-dc6a506b]{margin-top:0}.gift-letter.live .gl-player[data-v-dc6a506b]{padding:0;min-height:44px}.gift-letter.live .gl-play[data-v-dc6a506b]{width:44px;height:44px}@media(max-width:520px){.gl-paper[data-v-dc6a506b]{padding:20px 25px 12px}.gl-paper-title[data-v-dc6a506b]{margin:13px 0 10px}.gl-paper-title h1[data-v-dc6a506b]{font-size:27px}.gl-paper-motif[data-v-dc6a506b]{width:125px;height:125px;right:12px;top:14px}.gl-copy[data-v-dc6a506b]{font-size:17px;line-height:2.1}.gl-reading-toolbar[data-v-dc6a506b]{margin-bottom:13px}.gl-modes[data-v-dc6a506b]{gap:14px}.gl-modes button[data-v-dc6a506b]{min-width:44px;font-size:12px}.gl-paper-foot[data-v-dc6a506b]{font-size:6px}.gl-lyric-content[data-v-dc6a506b] .synced-lyrics.fill .synced-lyrics-line{font-size:17px;line-height:1.85;padding-block:7px}.gl-lyric-content[data-v-dc6a506b] .synced-lyrics.fill .synced-lyrics-credit{font-size:14px;padding-block:2px}.gl-lyric-content[data-v-dc6a506b] .synced-lyrics-static-body{font-size:17px;line-height:2}.gift-letter .gl-player[data-v-dc6a506b]{padding:0 3px;gap:8px}.gl-current-lyric[data-v-dc6a506b]{font-size:12px}.gl-track-title .gl-current-lyric[data-v-dc6a506b]{display:none}.gl-track-title strong[data-v-dc6a506b]{flex:1}}@media(max-height:650px){.gl-for[data-v-dc6a506b]{display:none}.gl-paper[data-v-dc6a506b]{padding-top:14px}.gl-paper-title[data-v-dc6a506b]{margin:6px 0}.gl-paper-title h1[data-v-dc6a506b]{font-size:23px}.gl-reading-toolbar[data-v-dc6a506b]{margin-bottom:10px;padding-bottom:5px}.gl-paper-foot[data-v-dc6a506b]{margin-top:6px;padding-top:5px}.gl-head[data-v-dc6a506b]{padding-top:max(8px,env(safe-area-inset-top))!important;padding-bottom:8px;min-height:48px}}@media(prefers-reduced-motion:reduce){.lyric-line-enter-active[data-v-dc6a506b],.lyric-line-leave-active[data-v-dc6a506b],.gl-lyric-content[data-v-dc6a506b] .synced-lyrics-line{transition:none}}:root{--bg: #f1f2ee;--surface-1: #f8f9f6;--surface-2: #ffffff;--surface-3: #e2e6df;--surface: var(--surface-2);--hairline: rgba(12, 22, 18, .14);--hairline-strong: rgba(12, 22, 18, .26);--hairline-top: inset 0 1px 0 rgba(255, 255, 255, .88);--border: var(--hairline);--text: #0a1410;--muted: rgba(10, 20, 16, .7);--faint: rgba(10, 20, 16, .48);--tier-basic: #5c6561;--brand-logo: #0a1410;--brand-primary: #1a9a5c;--brand-soft: #146b42;--brand-muted: #3d6b54;--brand-link: #157a48;--pi-green: #038247;--pi-green-deep: #026b3a;--pi-green-ink: #1a4631;--pi-green-soft: #2a9b5c;--accent: var(--brand-primary);--accent-hover: #158752;--accent-ink: #ffffff;--accent-soft: rgba(26, 154, 92, .12);--accent-glow: rgba(26, 154, 92, .28);--accent-glow-strong: rgba(26, 154, 92, .42);--accent-cyan: #2a8f8a;--danger: #c93d3d;--pro-gold: #d4b978;--pro-gold-soft: rgba(212, 185, 120, .14);--glow-gold: rgba(212, 185, 120, .28);--user-bubble: #cfe8da;--user-bubble-text: #0a1410;--agent-bubble: #eaf3ee;--header-bg: rgba(241, 242, 238, .88);--input-bg: var(--surface-1);--btn-primary-text: var(--accent-ink);--glass-bg: rgba(255, 255, 255, .9);--glass-border: rgba(12, 22, 18, .16);--content-narrow: 780px;--content-auth: 1040px;--content-auth-form-max: 460px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(12, 22, 18, .08);--shadow-md: 0 6px 18px rgba(12, 22, 18, .1);--shadow-lg: 0 16px 36px rgba(12, 22, 18, .12);--shadow-accent: 0 4px 16px rgba(26, 154, 92, .28);--glow-accent: 0 0 20px rgba(26, 154, 92, .22);--dur-fast: .14s;--dur: .22s;--dur-slow: .42s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--font-display: "Smiley Sans", "Syne", "PingFang SC", system-ui, sans-serif;--font-display-en: "Syne", "Smiley Sans", system-ui, sans-serif;--font-sans: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", system-ui, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--font-track: .03em;--font-stroke: .35px;--paper-noise: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 0.18 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--panel-solid: rgba(255, 255, 255, .97);--panel-solid-deep: rgba(248, 249, 246, .98);--overlay-scrim: rgba(12, 22, 18, .32);--overlay-scrim-strong: rgba(12, 22, 18, .48);--chrome-top: rgba(255, 255, 255, .98);--chrome-mid: rgba(248, 249, 246, .99);--chrome-bottom: rgba(241, 242, 238, .99);--chrome-playlist: rgba(255, 255, 255, .99);--header-fade-0: rgba(241, 242, 238, .88);--header-fade-1: rgba(241, 242, 238, .2);--scrollbar-thumb: rgba(12, 22, 18, .22);--scrollbar-thumb-hover: rgba(12, 22, 18, .36);--grain-opacity: .04;--text-gradient-start: #0a1410;color-scheme:light;font-family:var(--font-sans);line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html[data-theme=light]{--bg: #f1f2ee;--surface-1: #f8f9f6;--surface-2: #ffffff;--surface-3: #e2e6df;--surface: var(--surface-2);--hairline: rgba(12, 22, 18, .14);--hairline-strong: rgba(12, 22, 18, .26);--hairline-top: inset 0 1px 0 rgba(255, 255, 255, .88);--border: var(--hairline);--text: #0a1410;--muted: rgba(10, 20, 16, .7);--faint: rgba(10, 20, 16, .48);--tier-basic: #5c6561;--brand-logo: #0a1410;--brand-primary: #1a9a5c;--brand-soft: #146b42;--brand-muted: #3d6b54;--brand-link: #157a48;--accent: var(--brand-primary);--accent-hover: #158752;--accent-ink: #ffffff;--accent-soft: rgba(26, 154, 92, .12);--accent-glow: rgba(26, 154, 92, .28);--accent-glow-strong: rgba(26, 154, 92, .42);--accent-cyan: #2a8f8a;--danger: #c93d3d;--pro-gold: #d4b978;--pro-gold-soft: rgba(212, 185, 120, .14);--glow-gold: rgba(212, 185, 120, .28);--user-bubble: #cfe8da;--user-bubble-text: #0a1410;--agent-bubble: #eaf3ee;--header-bg: rgba(241, 242, 238, .88);--input-bg: var(--surface-1);--btn-primary-text: var(--accent-ink);--glass-bg: rgba(255, 255, 255, .9);--glass-border: rgba(12, 22, 18, .16);--panel-solid: rgba(255, 255, 255, .97);--panel-solid-deep: rgba(248, 249, 246, .98);--overlay-scrim: rgba(12, 22, 18, .32);--overlay-scrim-strong: rgba(12, 22, 18, .48);--chrome-top: rgba(255, 255, 255, .98);--chrome-mid: rgba(248, 249, 246, .99);--chrome-bottom: rgba(241, 242, 238, .99);--chrome-playlist: rgba(255, 255, 255, .99);--header-fade-0: rgba(241, 242, 238, .88);--header-fade-1: rgba(241, 242, 238, .2);--scrollbar-thumb: rgba(12, 22, 18, .22);--scrollbar-thumb-hover: rgba(12, 22, 18, .36);--grain-opacity: .04;--text-gradient-start: #0a1410;--shadow-sm: 0 1px 2px rgba(12, 22, 18, .08);--shadow-md: 0 6px 18px rgba(12, 22, 18, .1);--shadow-lg: 0 16px 36px rgba(12, 22, 18, .12);--shadow-accent: 0 4px 16px rgba(26, 154, 92, .28);--glow-accent: 0 0 20px rgba(26, 154, 92, .22);color-scheme:light}html[data-theme=anime]{--bg: #f6f0fb;--surface-1: #fcf7ff;--surface-2: #ffffff;--surface-3: #ebe0f4;--surface: var(--surface-2);--hairline: rgba(120, 80, 160, .16);--hairline-strong: rgba(120, 80, 160, .28);--hairline-top: inset 0 1px 0 rgba(255, 255, 255, .92);--border: var(--hairline);--text: #2a2438;--muted: rgba(42, 36, 56, .66);--faint: rgba(42, 36, 56, .44);--tier-basic: #7a7488;--brand-logo: #2a2438;--brand-primary: #ff6aad;--brand-soft: #c94e8a;--brand-muted: #9a7ab0;--brand-link: #e85d9a;--accent: var(--brand-primary);--accent-hover: #ff7fba;--accent-ink: #ffffff;--accent-soft: rgba(255, 106, 173, .14);--accent-glow: rgba(255, 106, 173, .32);--accent-glow-strong: rgba(255, 106, 173, .48);--accent-cyan: #6ec8ff;--danger: #e2556e;--pro-gold: #d4b978;--pro-gold-soft: rgba(212, 185, 120, .14);--glow-gold: rgba(212, 185, 120, .28);--user-bubble: #ffd6ea;--user-bubble-text: #2a2438;--agent-bubble: #f0e8ff;--header-bg: rgba(246, 240, 251, .88);--input-bg: var(--surface-1);--btn-primary-text: var(--accent-ink);--glass-bg: rgba(255, 255, 255, .82);--glass-border: rgba(180, 130, 220, .28);--panel-solid: rgba(255, 255, 255, .96);--panel-solid-deep: rgba(252, 247, 255, .98);--overlay-scrim: rgba(60, 40, 90, .28);--overlay-scrim-strong: rgba(60, 40, 90, .42);--chrome-top: rgba(255, 255, 255, .96);--chrome-mid: rgba(252, 247, 255, .98);--chrome-bottom: rgba(246, 240, 251, .99);--chrome-playlist: rgba(255, 255, 255, .98);--header-fade-0: rgba(246, 240, 251, .88);--header-fade-1: rgba(246, 240, 251, .2);--scrollbar-thumb: rgba(180, 120, 210, .32);--scrollbar-thumb-hover: rgba(180, 120, 210, .48);--grain-opacity: .05;--text-gradient-start: #ff6aad;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 22px;--radius-xl: 28px;--radius-pill: 999px;--shadow-sm: 0 2px 8px rgba(160, 100, 200, .1);--shadow-md: 0 10px 28px rgba(160, 100, 200, .14);--shadow-lg: 0 20px 48px rgba(140, 80, 190, .16);--shadow-accent: 0 6px 22px rgba(255, 106, 173, .35);--glow-accent: 0 0 28px rgba(255, 106, 173, .35);color-scheme:light}html[data-theme=warm]{--bg: #fff8f0;--surface-1: #fffaf5;--surface-2: #fffdf9;--surface-3: #f2e4d6;--surface: var(--surface-2);--hairline: rgba(101, 64, 43, .16);--hairline-strong: rgba(101, 64, 43, .28);--hairline-top: inset 0 1px 0 rgba(255, 255, 255, .88);--border: var(--hairline);--text: #292524;--muted: #766157;--faint: #90796c;--tier-basic: #766157;--brand-logo: #ee715e;--brand-primary: #ee715e;--brand-soft: #aa4935;--brand-muted: #936756;--brand-link: #a83f2b;--accent: #a83f2b;--accent-hover: #92331f;--accent-ink: #ffffff;--accent-soft: rgba(238, 113, 94, .1);--accent-glow: rgba(198, 85, 57, .16);--accent-glow-strong: rgba(198, 85, 57, .24);--accent-cyan: #897963;--danger: #b63131;--pro-gold: #d4b978;--pro-gold-soft: rgba(212, 185, 120, .14);--glow-gold: rgba(212, 185, 120, .28);--user-bubble: #f7dccc;--user-bubble-text: #292524;--agent-bubble: #f7ede3;--header-bg: rgba(255, 248, 240, .9);--input-bg: var(--surface-1);--btn-primary-text: var(--accent-ink);--glass-bg: rgba(255, 255, 255, .9);--glass-border: rgba(83, 51, 32, .16);--panel-solid: rgba(255, 255, 255, .97);--panel-solid-deep: rgba(255, 250, 245, .98);--overlay-scrim: rgba(83, 51, 32, .32);--overlay-scrim-strong: rgba(83, 51, 32, .48);--chrome-top: rgba(255, 255, 255, .98);--chrome-mid: rgba(255, 250, 245, .99);--chrome-bottom: rgba(255, 248, 240, .99);--chrome-playlist: rgba(255, 255, 255, .99);--header-fade-0: rgba(255, 248, 240, .9);--header-fade-1: rgba(255, 248, 240, .2);--scrollbar-thumb: rgba(83, 51, 32, .22);--scrollbar-thumb-hover: rgba(83, 51, 32, .36);--grain-opacity: .04;--text-gradient-start: #292524;--shadow-sm: 0 1px 2px rgba(83, 51, 32, .08);--shadow-md: 0 6px 18px rgba(83, 51, 32, .1);--shadow-lg: 0 16px 36px rgba(83, 51, 32, .12);--shadow-accent: 0 4px 16px rgba(198, 85, 57, .16);--glow-accent: 0 0 20px rgba(198, 85, 57, .14);color-scheme:light;--brand-button-ink: #34211b}.gift-root{z-index:240}.gift-panel{gap:14px}.gift-panel button,.gift-panel input,.gift-panel textarea,.gift-panel select{font:inherit}.gift-panel button{cursor:pointer}.gift-panel button:disabled{opacity:.5;cursor:default}.gift-tabs{display:flex;gap:4px;padding:4px;background:var(--surface-1);border-radius:10px;border:1px solid var(--hairline)}.gift-tabs button{flex:1;border:0;border-radius:7px;background:transparent;color:var(--muted);padding:8px 4px;font-size:12px}.gift-tabs [aria-current]{background:var(--surface-3);color:var(--text)}.gift-scroll{flex:1;min-height:0;overflow-y:auto;padding-bottom:max(12px,env(safe-area-inset-bottom));scrollbar-width:thin}.gift-heading{margin:6px 0 20px}.gift-heading>p{font-size:9px;letter-spacing:1.7px;color:var(--muted);margin:0 0 8px}.gift-heading h3{font-size:21px;font-weight:500;letter-spacing:-.4px;color:var(--text);margin:0 0 7px}.gift-heading>span{font-size:12px;color:var(--muted)}.gift-product{display:grid;grid-template-columns:118px 1fr;gap:15px;border:1px solid var(--hairline);border-radius:12px;background:var(--surface-1);overflow:hidden;margin-bottom:12px;min-height:170px}.gift-object-stage{display:grid;place-items:center;background:radial-gradient(ellipse at 50% 90%,color-mix(in srgb,var(--text) 12%,transparent),transparent 70%);perspective:650px}.gift-product-text{padding:14px 14px 14px 0}.gift-tag{font-size:10px;color:var(--accent)}.gift-product-text h3{font-size:16px;font-weight:550;margin:3px 0 6px;color:var(--text)}.gift-product-text p{font-size:11px;color:var(--muted);margin:0 0 12px;line-height:1.7}.gift-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:8px 12px;border-radius:8px;border:1px solid var(--hairline);background:var(--surface-2);color:var(--text);font-size:12px!important;cursor:pointer}.gift-btn.primary{background:var(--accent);border-color:transparent;color:var(--accent-ink)}.gift-btn:hover:not(:disabled){filter:brightness(1.08)}.gift-btn[aria-pressed=true]{color:var(--accent);background:var(--accent-soft)}.gift-note{color:var(--muted);font-size:11px;line-height:1.7;margin:12px 0}.gift-text{display:inline-flex;align-items:center;justify-content:center;gap:5px;border:0;background:transparent;color:var(--muted);padding:9px 0;font-size:11px!important;cursor:pointer}.gift-text:hover{color:var(--text)}.gift-error{color:var(--danger);font-size:12px;line-height:1.6;padding:10px 12px;background:color-mix(in srgb,var(--danger) 8%,transparent);border-radius:8px;overflow-wrap:anywhere}.gift-form fieldset{border:0;padding:0;margin:0;min-width:0}.gift-form label{display:block;color:var(--muted);font-size:12px;margin-bottom:16px}.gift-form input:not([type=file]),.gift-form textarea,.gift-form select{display:block;width:100%;min-width:0;border:1px solid var(--hairline);border-radius:8px;background:var(--surface-1);color:var(--text);padding:10px 11px;font-size:13px;margin-top:7px}.gift-form textarea{resize:vertical;line-height:1.9;min-height:200px}.gift-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gift-assist{display:flex;align-items:center;justify-content:space-between;margin:-12px 0 14px}.gift-assist>span{font-size:10px;color:var(--muted)}.gift-suggestion p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.8;color:var(--text)}.gift-suggestion .gift-text{margin-left:12px}.gift-templates{display:flex;gap:10px;margin:8px 0 18px}.gift-templates>button{flex:1;min-width:0;padding:5px 5px 8px;border:1px solid var(--hairline);border-radius:9px;background:var(--surface-1);font-size:10px;color:var(--muted)}.gift-templates [aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);color:var(--text)}.gift-swatch{display:grid;place-items:center;height:65px;border-radius:5px;margin-bottom:6px;font:italic 18px Georgia}.gift-swatch.warm{background:#e9dfcd;color:#805e47}.gift-swatch.night{background:radial-gradient(ellipse at 90% 0,#555071,#161c36);color:#e3cfa5}.gift-swatch.vinyl{background:#d1b699;color:#393129}.gift-free{font-size:10px;border-left:1px solid currentColor;padding-left:8px}.gift-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-top:1px solid var(--hairline);padding-top:14px}.gift-upload{position:relative;display:flex!important;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;border:1px dashed var(--hairline-strong);border-radius:10px;padding:18px 12px;cursor:pointer}.gift-upload small{width:100%;text-align:center;font-size:10px}.gift-upload input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.gift-photo-preview{display:block;max-width:100%;max-height:170px;border-radius:8px;margin:0 auto 15px}.gift-history{display:flex;align-items:flex-start;gap:12px;padding:16px 0;border-bottom:1px solid var(--hairline)}.gift-history>svg{color:var(--accent);flex-shrink:0;margin-top:3px}.gift-history>div{flex:1;min-width:0;overflow-wrap:anywhere}.gift-history strong{display:block;font-size:13px;color:var(--text);font-weight:500}.gift-history small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.gift-history-actions{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:var(--muted)}.gift-done{display:flex;flex-direction:column;align-items:center;gap:14px;padding:45px 12px;text-align:center}.gift-done>svg{color:var(--accent)}.gift-done h3{font-size:25px;font-weight:500;color:var(--text);margin:5px 0}.gift-done p{font-size:13px;color:var(--muted);margin:0}.gift-done>.gift-btn{width:100%;max-width:260px}.gift-done .gift-note{margin:10px 0;font-size:11px}.gift-preview{position:absolute;inset:0;z-index:1;background:var(--surface-1);overflow-y:auto}@media(pointer:coarse){.gift-btn,.gift-text,.gift-tabs button,.gift-templates>button{min-height:44px}.gift-form input:not([type=file]),.gift-form textarea,.gift-form select{font-size:16px}}@media(max-width:360px){.gift-product{grid-template-columns:94px 1fr;gap:10px}.gift-product-text{padding-right:10px}.gift-heading h3{font-size:20px}.gift-form-actions>.primary{margin-left:0}.gift-form-actions{justify-content:space-between}.gift-fields{gap:8px}}.gift-workspace{display:flex;flex:1;min-height:0}.gift-workspace>.gift-scroll{width:100%}.gift-panel.gift-studio{width:min(1160px,calc(100% - 48px));height:calc(100% - 48px);top:24px;right:24px;border:1px solid var(--hairline);border-radius:18px;padding:22px 24px}.gift-studio .md-header{padding-bottom:16px}.gift-workspace.studio{display:grid;grid-template-columns:minmax(330px,410px) minmax(0,1fr);gap:26px}.gift-studio .gift-scroll{padding:4px 8px 18px 0}.gift-studio .gift-heading{margin:2px 0 20px}.gift-studio .gift-heading h3{font-size:23px;letter-spacing:-.6px}.gift-studio .gift-heading>span{font-size:11px}.gift-studio .gift-form label{font-size:11px;margin-bottom:17px}.gift-studio .gift-form input:not([type=file]),.gift-studio .gift-form textarea,.gift-studio .gift-form select{border:1px solid var(--hairline);border-radius:8px;background:var(--input-bg);font-size:13px;padding:11px 12px;box-shadow:none}.gift-studio .gift-form input:focus-visible,.gift-studio .gift-form textarea:focus-visible,.gift-studio .gift-form select:focus-visible{outline:none;border-color:color-mix(in srgb,var(--accent) 45%,var(--hairline));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent)}.gift-studio .gift-form textarea{min-height:175px;line-height:1.95}.gift-studio .gift-assist{margin:-10px 0 22px}.gift-studio .gift-section-label{margin-bottom:6px}.gift-studio .gift-templates{gap:9px;margin:0 0 23px}.gift-studio .gift-templates>button{padding:5px 5px 10px;border-color:transparent;background:transparent;box-shadow:none;border-radius:9px}.gift-studio .gift-templates>button[aria-pressed=true]{border-color:var(--hairline);background:var(--surface-1);box-shadow:none}.gift-studio .gift-templates>button strong{display:block;font-size:11px;font-weight:500;margin-bottom:3px}.gift-studio .gift-templates>button small{display:block;font-size:8px;opacity:.7}.gift-studio .gift-swatch{height:65px;position:relative;overflow:hidden;border-radius:5px;margin-bottom:9px}.gift-swatch:before{content:"";position:absolute;width:70%;height:65%;border:1px solid #a28b5940;transform:rotate(-8deg);background:#fbf8f0;box-shadow:4px 7px 9px #0001}.gift-swatch>i{position:relative;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#663c42;color:#e8d3b0;font:italic 17px Georgia,serif;transform:rotate(-8deg)}.gift-swatch.warm{background:linear-gradient(135deg,#f6f2e9,#ded5c5)}.gift-swatch.night{background:linear-gradient(135deg,#263c54,#101c2b)}.gift-swatch.night:before{background:#e6e9eb;border-color:#bbc3cd}.gift-swatch.night>i{background:#263d53;color:#dad9cf;font-size:11px}.gift-swatch.vinyl{background:linear-gradient(135deg,#6c5944,#332d28)}.gift-swatch.vinyl:before{background:#f2ead9;border-color:#ad8a53}.gift-swatch.vinyl>i{background:#3b3c2f;color:#ddc494}.gift-studio .gift-form-actions{position:sticky;bottom:-18px;z-index:2;background:var(--surface-2);padding:14px 0 5px}.gift-live-preview{min-width:0;min-height:0;display:flex;flex-direction:column;border-radius:12px;overflow:hidden;background:var(--surface-1);border:1px solid var(--hairline)}.gift-live-preview>.gift-letter{flex:1;min-height:0}.gift-share-card{display:block;width:min(260px,100%);height:auto;border-radius:2px;box-shadow:var(--shadow-md);margin:5px auto 10px}.gift-done{padding:20px 8px;gap:12px}.gift-done .gift-source-note{margin:4px 0 10px}.gift-upload:focus-within{outline:1px solid var(--accent);outline-offset:3px}.gift-preview{display:flex;flex-direction:column;overflow:hidden}.gift-preview>.gift-letter{flex:1;height:0;min-height:0}@media(max-width:760px){.gift-panel.gift-studio{width:100%;height:100%;inset:0;border-radius:0;border:0;padding:18px}.gift-workspace.studio{display:flex;flex-direction:column;gap:15px}.gift-live-preview{order:-1;height:250px;flex:0 0 250px}.gift-studio .gift-scroll{padding-right:0;flex:1}.gift-studio .gift-heading{display:none}.gift-studio .gift-form input:not([type=file]),.gift-studio .gift-form textarea,.gift-studio .gift-form select{font-size:16px}.gift-studio .gift-form-actions{bottom:-18px}.gift-studio .gift-templates>button small{font-size:8px}}.gift-preview{z-index:10}@media(max-width:760px)and (max-height:650px){.gift-studio .gift-form-actions{position:static}}.gift-composer-layer{position:absolute;inset:0;z-index:3}.gift-composer-backdrop{position:absolute;inset:0;background:var(--overlay-scrim-strong, #0009);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.gift-panel.gift-composer{top:50%;right:50%;transform:translate(50%,-50%);background:var(--surface-2);box-shadow:var(--shadow-lg)}.gift-composer.selecting-song>[inert]{visibility:hidden}.gift-compose-step{display:flex;align-items:flex-start;gap:12px;margin:26px 0 15px}.gift-compose-step>span{display:grid;place-items:center;flex:none;width:27px;height:27px;border:1px solid var(--hairline);border-radius:50%;color:var(--accent);font:10px Georgia,serif}.gift-compose-step h3{margin:2px 0 5px;color:var(--text);font-size:13px;font-weight:500}.gift-compose-step p{margin:0;color:var(--muted);font-size:11px;line-height:1.7}.gift-studio .gift-heading{margin-bottom:10px}.gift-studio .gift-form .my-song-select{margin-bottom:4px}.gift-studio .gift-form :deep(.my-song-select input){margin:0;border:0;background:transparent;box-shadow:none}@media(max-width:760px){.gift-panel.gift-composer{inset:0;width:100%;height:100%;transform:none;padding:16px;padding-top:max(16px,env(safe-area-inset-top))}.gift-composer .md-header{padding-bottom:12px}.gift-composer .md-sub{font-size:11px}.gift-compose-step{margin-top:20px}}@media(prefers-reduced-motion:no-preference){.gift-composer{animation:gift-composer-enter .3s ease-out}@keyframes gift-composer-enter{0%{opacity:0;margin-top:10px}to{opacity:1;margin-top:0}}}.gift-studio .gift-templates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.gift-studio .gift-swatch{height:76px}.gift-swatch.bloom{background:linear-gradient(135deg,#aab7a2,#526c59)}.gift-swatch.bloom:before{background:#f4f4e9}.gift-swatch.bloom>i{background:#466451;color:#d3d5ae}.gift-swatch.celebration{background:linear-gradient(135deg,#f4ded2,#d5a287)}.gift-swatch.celebration:before{background:#fff7eb}.gift-swatch.celebration>i{background:#b57c5b;color:#f6ddaa}.gift-swatch.voyage{background:linear-gradient(135deg,#b5c7ca,#4e6b7b)}.gift-swatch.voyage:before{background:#f3f6f2}.gift-swatch.voyage>i{background:#476875;color:#e2d4b4}.gift-swatch.night{background:linear-gradient(135deg,#a9797d,#502d3c)}.gift-swatch.night:before{background:#fff3e9}.gift-swatch.night>i{background:#783e50;color:#e8cc9c}.gift-image-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 22px}.gift-image-options button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;position:relative;min-height:78px;border:1px solid var(--hairline);border-radius:10px;background:var(--input-bg,var(--surface-1));color:var(--muted);font-size:11px!important}.gift-image-options [aria-pressed=true]{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,var(--hairline));background:var(--accent-soft)}.gift-image-options button>svg:last-child:not(:first-child){position:absolute;right:6px;top:6px}.gift-date-field{margin-bottom:22px}.gift-date-field>span{display:block;color:var(--muted);font-size:11px;margin-bottom:9px}.gift-date-field small{margin-left:5px;opacity:.6;font-size:10px}.gift-live-preview{border:0;background:transparent}.gift-live-preview>.gift-letter{border-radius:12px}.gift-ai-layer{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:20px}.gift-ai-backdrop{position:absolute;inset:0;background:var(--overlay-scrim-strong,#0008);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.gift-ai-dialog{position:relative;width:min(440px,100%);max-height:calc(100dvh - 40px);overflow:auto;padding:24px;border:1px solid var(--hairline);border-radius:18px;background:var(--surface-2);color:var(--text);box-shadow:var(--shadow-lg);font-family:var(--font-sans)}.gift-ai-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.gift-ai-dialog h3{margin:9px 0 0;font-size:20px;font-weight:500}.gift-ai-dialog label{display:block;font-size:12px;color:var(--muted);margin:18px 0 10px}.gift-ai-dialog input,.gift-ai-dialog textarea{display:block;box-sizing:border-box;width:100%;margin-top:9px;padding:11px 12px;border:1px solid var(--hairline);border-radius:8px;background:var(--input-bg,var(--surface-1));color:var(--text);font:inherit;font-size:14px;line-height:1.7;resize:vertical}.gift-ai-dialog :is(input,textarea):focus-visible{outline:none;border-color:color-mix(in srgb,var(--accent) 45%,var(--hairline));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent)}.gift-tone-options{display:flex;flex-wrap:wrap;gap:6px}.gift-tone-options button{padding:6px 9px;border:1px solid var(--hairline);border-radius:7px;background:transparent;color:var(--muted);font:inherit;font-size:10px;cursor:pointer}.gift-tone-options [aria-pressed=true]{color:var(--accent);background:var(--accent-soft);border-color:transparent}.gift-ai-dialog .gift-suggestion{max-height:230px;overflow:auto;padding:14px;margin-top:18px;border:1px solid var(--hairline);background:var(--surface-1);border-radius:10px}.gift-ai-dialog .gift-suggestion p{margin:0;font-size:13px;line-height:1.9}.gift-ai-dialog .gift-suggestion small{display:block;margin-top:12px;color:var(--muted);font-size:10px}.gift-ai-dialog footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:20px}.gift-ai-dialog button{cursor:pointer}@media(max-width:760px){.gift-live-preview{display:none}.gift-ai-dialog{padding:20px}.gift-ai-dialog input,.gift-ai-dialog textarea{font-size:16px}}.gift-preview-return{position:absolute;top:max(12px,env(safe-area-inset-top));right:16px;z-index:5;min-height:34px;background:var(--surface-2);box-shadow:var(--shadow-sm);font-size:10px!important}.gift-preview :deep(.gl-head .gl-text-button),.gift-preview :deep(.gl-edition){display:none}.gift-ai-dialog footer .gift-btn{white-space:nowrap}.gift-image-options{margin-bottom:10px}.gift-image-slot{height:88px;margin-bottom:22px;overflow-anchor:none}.gift-image-slot .gift-upload,.gift-image-detail{display:flex;align-items:center;justify-content:flex-start;flex-wrap:nowrap;gap:12px;box-sizing:border-box;width:100%;height:100%;padding:12px 14px;margin:0;border:1px solid var(--hairline);border-radius:10px;background:var(--input-bg,var(--surface-1));color:var(--muted)}.gift-image-slot .gift-upload{border-style:dashed;border-color:color-mix(in srgb,var(--accent) 40%,var(--hairline));cursor:pointer}.gift-image-slot .gift-upload:hover{background:var(--accent-soft)}.gift-image-slot img{display:block;flex:none;width:58px;height:58px;max-height:none;object-fit:cover;border-radius:6px;margin:0}.gift-image-slot svg{flex:none;margin:0 5px;color:var(--muted)}.gift-attachment-copy{display:flex;flex-direction:column;gap:6px;min-width:0}.gift-attachment-copy strong{font-size:12px;line-height:1.5;font-weight:500;color:var(--text)}.gift-image-slot .gift-attachment-copy small{width:auto;text-align:left;font-size:10px;line-height:1.5;color:var(--muted)}.gift-studio .gift-image-slot .gift-upload{margin:0}.gift-new-song-hint{margin:10px 0 0;font-size:11px;color:var(--muted);line-height:1.8}.gift-new-song-hint .gift-text{color:var(--accent);padding:4px}.gift-object-stage{min-width:0;grid-template-columns:minmax(0,1fr);background:radial-gradient(ellipse at 50% 55%,#e8dfcc26,transparent 74%)}.gift-photo-card{width:112px;max-width:96%;aspect-ratio:1;transform:rotate(-3deg)}.gift-photo-card.letter{transform:rotate(-4deg) scale(.88)}.gift-photo-card.magnet{transform:rotate(-3deg) scale(.88)}.gift-photo-card.frame{transform:rotate(3deg)}.gift-photo-card.music-box{transform:rotate(-2deg)}.gift-product-photo{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 9px 7px #0002)}.gift-interest-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.gift-interest-count{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.gift-studio .gift-envelope-swatch{position:relative;overflow:visible;background:radial-gradient(ellipse at 50% 60%,#e8dfcc22,transparent 75%)}.gift-envelope-swatch:before{display:none}.gift-envelope-swatch img{display:block;width:100%;height:100%;object-fit:contain;transform:rotate(-4deg);filter:drop-shadow(0 5px 4px #0002)}.gift-ai-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.gift-image-slot .gift-attachment-copy .gift-upload-error{color:var(--danger)}.gift-upload[aria-busy=true]{cursor:progress}.gift-image-slot .gift-upload-spinner{margin:0 18px;color:var(--accent);animation:gift-upload-spin .9s linear infinite}@keyframes gift-upload-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.gift-image-slot .gift-upload-spinner{animation:none}}.gift-passphrase-setting{margin-top:22px;padding-top:18px;border-top:1px solid var(--hairline)}.gift-passphrase-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}.gift-passphrase-title{font-size:13px;color:var(--text)}.gift-passphrase-title small{margin-left:6px;font-size:11px;color:var(--muted)}.gift-passphrase-action{min-height:44px;padding:0 4px;color:var(--accent)}.gift-passphrase-purpose{margin:0 0 12px;color:var(--muted);font-size:11px;line-height:1.7}.gift-passphrase-input{flex:1;min-width:0;display:flex;align-items:center;border:1px solid var(--hairline);border-radius:10px;background:var(--surface-1)}.gift-studio .gift-form .gift-passphrase-input input:not([type=file]){min-width:0;flex:1;border:0;background:transparent;margin-top:0;box-shadow:none}.gift-passphrase-input:focus-within{border-color:var(--accent)}.gift-passphrase-hint{display:flex;justify-content:space-between;gap:8px;margin-top:8px;color:var(--muted);font-size:10px;line-height:1.7}.gift-passphrase-hint span:last-child{white-space:nowrap}.gift-share-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,textarea{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input,textarea{color:var(--text);background:var(--input-bg);border:1px solid var(--hairline);border-radius:8px;padding:11px 12px;min-width:0}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;border-color:color-mix(in srgb,var(--accent) 45%,var(--hairline));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.65}img{max-width:100%}button svg,a svg{flex-shrink:0}::selection{background:var(--accent-soft)}.songletter-app{max-width:1240px;padding:0 40px;margin:auto}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px}.wordmark{display:flex;align-items:center;gap:11px}.brand-monogram{font:italic 38px/1 Georgia,serif;transform:translateY(-3px);color:var(--accent)}.wordmark>span:last-child{font:12px/1.5 Georgia,serif;letter-spacing:3px}.wordmark small{display:block;font:7px/1.8 var(--font-sans);letter-spacing:2.4px;color:var(--muted);margin-top:3px}.site-header nav{display:flex;align-items:center;gap:24px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:none}.eyebrow{font-size:9px;line-height:1.6;letter-spacing:1.7px;color:var(--muted)}.gift-panel.songletter-studio{position:relative;inset:auto;transform:none;width:100%;height:calc(100dvh - 150px);min-height:570px;max-height:1040px;display:flex;flex-direction:column;gap:0;background:var(--surface-2);border:1px solid var(--hairline);border-radius:18px;padding:24px;box-shadow:var(--shadow-md);overflow:hidden}.studio-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 0 20px;border-bottom:1px solid var(--hairline);flex-shrink:0}.md-kicker{font-size:9px;letter-spacing:1.7px;color:var(--muted);margin:0 0 8px}.studio-header h1{font-size:24px;letter-spacing:-.5px;font-weight:500;line-height:1.5;margin:0 0 6px}.md-sub{font-size:12px;color:var(--muted);margin:0}.studio-price{text-align:right;padding-right:4px}.studio-price>span{display:block;color:var(--muted);font-size:10px;letter-spacing:1px}.studio-price strong{display:block;font:26px/1.5 Georgia,serif;color:var(--accent);margin-top:3px}.studio-price small{font:10px var(--font-sans);color:var(--muted)}.songletter-studio .gift-workspace.studio{padding-top:22px;grid-template-columns:minmax(330px,410px) minmax(0,1fr);gap:26px}.songletter-studio .gift-heading{margin-bottom:22px}.songletter-studio .gift-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;padding-bottom:0}.compose-steps{display:flex;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:9px 0;gap:4px;margin-bottom:8px}.compose-steps button{display:flex;align-items:center;justify-content:center;gap:6px;flex:1;min-width:0;min-height:34px;color:var(--muted);font-size:10px}.compose-steps button>span{font:10px Georgia,serif;border:1px solid var(--hairline);border-radius:50%;height:20px;width:20px;display:grid;place-items:center}.compose-steps [aria-current]{color:var(--accent)}.compose-steps [aria-current]>span{background:var(--accent-soft);border-color:transparent}.gift-studio .gift-form .gift-compose-step{margin-top:23px}.gift-studio .gift-form textarea{min-height:220px}.gift-studio .gift-form .song-direction{min-height:105px}.gift-studio .gift-form-actions{bottom:0;background:var(--surface-2);padding:14px 0 4px;margin-top:25px;min-height:58px}.gift-form-actions>.primary{margin-left:auto}.gift-form-actions>.gift-text:first-child{max-width:110px;text-align:left;justify-content:flex-start;font-size:10px!important}.gift-form-actions .preview-trigger{border-color:transparent;background:transparent;color:var(--muted);padding-inline:4px}.gift-form-actions>.gift-btn{min-height:38px}.gift-form fieldset:disabled{opacity:.65}.gift-form label{line-height:1.6}.gift-form textarea{white-space:pre-wrap}.gift-studio .gift-form input[type=radio]{display:inline-block;width:14px;padding:0;margin:0;accent-color:var(--accent);box-shadow:none}.guest-callout{margin:18px 0 6px;padding:13px 12px;display:flex;align-items:center;gap:9px;border:1px solid var(--hairline);border-radius:10px;background:var(--surface-1)}.guest-callout>svg{flex:none;color:var(--accent)}.guest-callout p{flex:1;font-size:11px;line-height:1.7;margin:0}.guest-callout small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.guest-callout .gift-btn{font-size:10px!important;white-space:nowrap;padding-inline:10px}.guest-still-life{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;text-align:center;padding:30px 18px;border-radius:12px;background:radial-gradient(ellipse at 15% 0,#fffdf8,transparent 65%),linear-gradient(125deg,#eee9df,#eeeae1);color:#50483d}.guest-still-life>.eyebrow{font:8px Georgia,serif;letter-spacing:1.8px;color:#a28b59}.guest-still-life h2{font:400 28px/1.8 Songti SC,serif;letter-spacing:3px;margin:17px 0 10px}.guest-still-life img{width:85%;max-width:340px;max-height:230px;object-fit:contain;filter:drop-shadow(0 24px 18px #35291c26);transform:rotate(-5deg);margin:10px 0 20px}.guest-still-life p{font:12px/2 Songti SC,serif;color:#898071;letter-spacing:1px}.guest-signature{font:italic 12px Georgia,serif;color:#a28b59;margin-top:15px}.studio-foot{display:flex;justify-content:space-between;gap:10px;flex:none;font-size:8px;letter-spacing:1px;color:var(--muted);padding-top:18px;opacity:.8}.studio-foot>span:last-child{font-size:9px;letter-spacing:0}.site-footer{display:flex;justify-content:space-between;align-items:center;padding:17px 4px 20px;color:var(--muted);font:12px Songti SC,serif;letter-spacing:1px}.site-footer span{font:8px var(--font-sans);letter-spacing:1.2px}.song-from-letter{width:100%;margin:0 0 18px;justify-content:flex-start;background:var(--accent-soft);color:var(--accent);border-color:transparent}.song-from-letter svg:last-child{margin-left:auto}.song-plan{padding:16px 14px 0;background:var(--surface-1);border:1px solid var(--hairline);border-radius:10px;margin:4px 0 18px}.song-plan>.eyebrow{display:block;margin-bottom:14px}.song-plan .gift-fields{gap:10px}.generation-rule{display:flex;align-items:flex-start;gap:8px;color:var(--muted);font-size:11px;line-height:1.9;margin:16px 0}.generation-rule svg{flex:none;margin-top:3px;color:var(--accent)}.song-options{display:grid;gap:10px}.gift-studio .song-option{display:block;padding:13px;border:1px solid var(--hairline);border-radius:10px;background:var(--surface-1);margin:0}.song-option.selected{border-color:var(--accent)}.song-option>span{display:flex;align-items:center;gap:8px;margin-bottom:9px;color:var(--text);font-size:12px}.song-option>span>svg{margin-left:auto;color:var(--accent)}.song-option audio{width:100%;height:32px}.summary-list{font-size:12px;margin:0 0 25px}.summary-list>div{display:flex;gap:16px;justify-content:space-between;border-bottom:1px solid var(--hairline);padding:15px 0}.summary-list dt{color:var(--muted)}.summary-list dd{margin:0;text-align:right;overflow-wrap:anywhere}.wide{width:100%}.notice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border:1px solid var(--hairline);border-radius:9px;background:var(--surface-2);font-size:12px;line-height:1.8;margin-bottom:12px}.error,.danger{color:var(--danger)}.how-panel{padding:20px;border:1px solid var(--hairline);border-radius:12px;background:var(--surface-2);margin-bottom:16px}.how-panel h2{font-size:18px;font-weight:500}.how-panel p{font-size:12px;color:var(--muted);line-height:1.9}.modal,.gift-ai-dialog{position:fixed;inset:0;margin:auto;border:1px solid var(--hairline);border-radius:18px;box-shadow:var(--shadow-lg);color:var(--text);background:var(--surface-2);width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:28px;overflow:auto}.modal::backdrop,.gift-ai-dialog::backdrop{background:var(--overlay-scrim-strong);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal h2{font-size:23px;font-weight:500;line-height:1.6;margin:12px 0}.modal p,.modal>small{font-size:12px;line-height:1.9;color:var(--muted)}.modal-close{position:absolute;right:12px;top:12px}.modal form{display:flex;flex-direction:column;gap:20px;margin:25px 0}.modal label{display:block;font-size:12px;color:var(--muted)}.modal input{display:block;width:100%;margin-top:9px;font-size:14px}.code-row{display:flex;gap:8px;margin-top:9px}.code-row input{margin:0}.code-row button{flex:none;white-space:nowrap;padding-inline:10px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:10px 15px;border:1px solid var(--hairline);border-radius:8px;font-size:12px}.primary{background:var(--accent);border-color:transparent;color:var(--accent-ink)}.secondary{background:var(--surface-2);color:var(--text)}.test-note{background:var(--surface-1);border-radius:8px;padding:10px;font-size:11px!important}.button-row{display:flex;gap:10px;margin:24px 0 0}.button-row>*{flex:1}.payment-modal{text-align:center}.payment-price{display:block;font:40px Georgia,serif;color:var(--accent);margin:24px 0}.payment-modal>.gift-text{margin-top:14px}.preview-modal{position:fixed;inset:0;margin:auto;padding:0;border:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;background:var(--surface-1);overflow:hidden}.preview-modal .gift-preview-return{position:absolute;top:max(18px,env(safe-area-inset-top));right:24px;z-index:5;min-height:36px}.preview-modal .gl-head{padding-right:150px}.preview-modal .gl-edition,.preview-modal .gl-head .gl-text-button{display:none}.gift-ai-dialog footer{gap:8px}.gift-ai-dialog .gift-ai-actions{gap:7px}.gift-ai-dialog .gift-suggestion p{white-space:pre-wrap}.gift-ai-dialog .gift-note{margin-top:14px}.result-workspace{display:grid;grid-template-columns:410px minmax(0,1fr);flex:1;min-height:0;gap:26px;padding-top:22px}.gift-done{overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.gift-done .gift-share-card{max-width:200px;margin-top:6px}.result-letter{min-width:0;min-height:0;border-radius:12px;overflow:hidden}.result-letter>.gift-letter{height:100%}.result-letter .gl-brand-name{font-size:9px;letter-spacing:1px}.result-letter .gl-brand-note,.result-letter .gl-edition{display:none}.result-letter .gl-dedication h1{font-size:26px}.result-letter .gl-envelope-scene{max-height:200px}.result-letter .gl-whisper{font-size:10px}.gift-done .gift-note{font-size:10px;line-height:1.8}.share-url{display:block;width:100%;max-width:310px;font-size:10px;color:var(--muted);text-align:left}.share-url input{width:100%;font-size:10px;margin-top:5px}.download-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;font-size:11px;max-width:320px}.download-links a{display:flex;align-items:center;gap:5px;min-height:32px;color:var(--accent)}.history-modal{width:min(540px,calc(100vw - 24px))}.history-item{display:flex;align-items:center;gap:15px;text-align:left;padding:20px 0;border-bottom:1px solid var(--hairline);width:100%}.history-item>svg{color:var(--accent)}.history-item>span{flex:1;min-width:0}.history-item strong{display:block;font-size:13px;font-weight:500;margin-bottom:7px}.history-item small{font-size:10px;color:var(--muted)}.songletter-app.public-page{max-width:none;padding:0}.recipient-page{height:100dvh;overflow:hidden}.recipient-status{height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:30px;text-align:center}.recipient-status h1{font-size:22px;font-weight:500;margin:0}.recipient-status p{font-size:13px;color:var(--muted)}.gift-pass-it-on{display:inline-flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;margin-top:14px;font:11px var(--font-sans);color:var(--foil)}.gift-pass-it-on small{display:block;width:100%;margin-top:4px;font-size:9px;opacity:.65}@media(max-width:1000px){.songletter-app{padding:0 24px}.gift-panel.songletter-studio{padding:20px}.songletter-studio .gift-workspace.studio,.result-workspace{grid-template-columns:minmax(300px,.9fr) minmax(0,1fr);gap:20px}.gift-form-actions{gap:5px}.gift-form-actions>.gift-text:first-child{max-width:75px}.gift-form-actions>.gift-btn{padding-inline:9px}.studio-foot>span:first-child{font-size:7px;letter-spacing:.5px}.gift-ai-dialog footer .gift-btn{padding-inline:10px}}@media(max-width:760px){.songletter-app{padding:0 16px}.site-header{height:70px;gap:12px}.site-header nav{gap:10px}.site-header nav>.gift-text:first-child{display:none}.wordmark>span:last-child{font-size:10px;letter-spacing:2px}.wordmark small{font-size:6px}.brand-monogram{font-size:32px}.wordmark{gap:7px}.site-header .gift-btn{font-size:11px!important;padding:6px 10px;min-height:34px}.site-header .gift-text{font-size:10px!important}.gift-panel.songletter-studio{min-height:0;max-height:none;height:auto;overflow:visible;border-radius:14px;padding:20px 16px}.studio-header{padding-bottom:18px;gap:12px}.studio-header h1{font-size:23px}.studio-header .md-sub{font-size:11px;max-width:215px;line-height:1.9}.studio-price>span{font-size:8px;letter-spacing:0;white-space:nowrap}.studio-price strong{font-size:23px}.md-kicker{font-size:8px;letter-spacing:1.4px}.songletter-studio .gift-workspace.studio{display:block;padding-top:16px}.songletter-studio .gift-scroll{overflow:visible;padding:0}.songletter-studio .gift-heading{display:none}.gift-studio .gift-form .gift-compose-step{margin-top:22px}.gift-studio .gift-form textarea{min-height:230px}.gift-studio .gift-form input:not([type=file]),.gift-studio .gift-form textarea{font-size:16px}.compose-steps{gap:0;border-top:0;margin-top:-4px;padding-top:0}.compose-steps button{font-size:10px;gap:5px;min-height:40px}.compose-steps button>span{width:18px;height:18px;font-size:9px}.gift-form-actions{position:sticky!important;bottom:0!important;z-index:3;box-shadow:0 -8px 12px var(--surface-2);padding-top:14px;padding-bottom:6px;flex-wrap:nowrap}.gift-form-actions .gift-btn{font-size:11px!important;white-space:nowrap;padding-inline:8px}.gift-form-actions>.gift-text:first-child{font-size:9px!important;max-width:60px}.gift-form-actions .preview-trigger{gap:4px}.gift-form-actions>.gift-text{white-space:nowrap}.studio-foot{padding-top:18px;display:block}.studio-foot>span:first-child{display:none}.studio-foot>span:last-child{display:block;font-size:8px;text-align:center;line-height:1.8}.site-footer{display:block;text-align:center;font-size:11px;padding:21px 0}.site-footer span{display:block;margin-top:8px;font-size:7px}.guest-callout{padding:12px 9px;gap:7px}.guest-callout p{font-size:10px}.guest-callout small{font-size:9px}.guest-callout>.gift-btn{font-size:10px!important;padding-inline:9px}.result-workspace{display:block;min-height:0;padding-top:12px}.result-letter{display:none}.gift-done{overflow:visible;padding:20px 0;gap:13px}.gift-done .gift-share-card{max-width:230px}.gift-ai-dialog{padding:20px}.gift-ai-dialog footer{flex-wrap:wrap}.gift-ai-dialog .gift-ai-actions{margin-left:auto}.gift-ai-dialog .gift-text{font-size:10px!important}.gift-ai-dialog .gift-btn{font-size:11px!important}.modal{padding:25px}.modal input,.gift-ai-dialog input,.gift-ai-dialog textarea{font-size:16px}.preview-modal .gift-preview-return{right:14px;top:max(14px,env(safe-area-inset-top))}.preview-modal .gl-head{padding-right:130px}.notice{font-size:11px}.how-panel{padding:16px}.summary-list{margin-bottom:20px}.gift-studio .gift-form .song-direction{min-height:115px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(min-width:761px){.gift-panel.songletter-studio{min-height:760px}.result-letter .gift-letter{height:100%}.result-letter .gl-sealed{padding-top:12px}.result-letter .gl-envelope-scene{min-height:160px;max-height:230px}.result-letter .gl-dedication h1{margin-top:12px}}.gift-done>*{flex-shrink:0}.gift-done .gift-share-card{width:200px;height:auto}.gift-studio .gift-templates button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:760px){.gift-studio .gift-form-actions{position:static!important;box-shadow:none;margin-top:24px}.gift-passphrase-setting{margin-bottom:8px}.gift-image-slot .gift-attachment-copy small{font-size:10px;line-height:1.6}}.gift-panel.songletter-studio.is-result{height:auto;max-height:none;min-height:0}.is-result .result-workspace{display:flex;justify-content:center;padding-top:26px}.is-result .gift-done{width:100%;max-width:420px;overflow:visible;padding-bottom:28px}.is-result .gift-done .gift-share-card{width:250px;max-width:100%}.is-result .studio-foot{border-top:1px solid var(--hairline);padding-bottom:2px}:root{--ease-gift:cubic-bezier(.22,1,.36,1)}button,a,input,textarea{-webkit-tap-highlight-color:transparent}.gift-btn,.primary,.secondary,.gift-templates>button,.gift-tone-options button{transition:background-color .18s,border-color .18s,box-shadow .18s,color .18s}.gift-btn:active:not(:disabled),.primary:active:not(:disabled),.secondary:active:not(:disabled){transform:translateY(1px)}.songletter-studio .gift-form label{font-size:12px}.songletter-studio .gift-form input:not([type=file]),.songletter-studio .gift-form textarea{font-size:14px}.gift-note{font-size:12px;line-height:1.9}.gift-form input[aria-invalid=true],.gift-form textarea[aria-invalid=true]{border-color:var(--danger)!important}.field-error{display:block;margin-top:7px;color:var(--danger);font-size:11px;line-height:1.8}.field-error.song-error{padding:11px 12px;background:color-mix(in srgb,var(--danger) 6%,transparent);border-radius:8px;margin:12px 0}.compose-steps [aria-current]>span{background:var(--accent);color:var(--accent-ink)}.compose-steps .completed>span{border-color:transparent;background:var(--accent-soft);color:var(--accent)}.guest-invitation.guest-callout{display:flex;flex-direction:column;align-items:flex-start;gap:0;border:0;background:transparent;padding:18px 0 8px;margin:0;min-height:310px;justify-content:center}.invitation-kicker{color:var(--accent);font-size:11px;letter-spacing:2px;margin-bottom:15px}.guest-invitation h2{font-family:Songti SC,"Noto Serif CJK SC",serif;font-size:25px;font-weight:400;line-height:1.85;letter-spacing:1px;margin:0 0 13px}.guest-invitation p{flex:none;color:var(--muted);font-size:12px;line-height:2.1;margin:0 0 24px}.guest-invitation .gift-btn{min-height:46px;min-width:180px;font-size:13px!important;gap:18px}.guest-invitation>small{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--muted);margin-top:15px}.guest-mobile-envelope{display:none}.song-plan{padding-bottom:1px}.song-plan summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none;color:var(--muted);font-size:12px;min-height:44px}.song-plan summary::-webkit-details-marker{display:none}.song-plan summary>svg{transition:transform .2s}.song-plan[open] summary>svg{transform:rotate(180deg)}.song-plan.is-confirmed{padding:0 14px;margin:14px 0}.song-plan-fields{padding-top:3px}.song-plan.is-confirmed .song-plan-fields{padding-top:12px}.song-plan-fields :is(input,textarea)[readonly]{color:var(--muted)}.song-created-note{display:flex;gap:11px;align-items:flex-start;padding:15px 14px;background:var(--accent-soft);border-radius:10px;margin:12px 0 16px;color:var(--accent)}.song-created-note>svg{flex:none;margin-top:3px}.song-created-note strong{font-size:13px;font-weight:500}.song-created-note p{font-size:11px;color:var(--muted);line-height:1.85;margin:6px 0 0}.generation-progress{display:flex;align-items:center;gap:10px;border:1px solid var(--hairline);border-radius:10px;padding:14px;margin:15px 0;background:var(--surface-1);color:var(--accent)}.generation-progress>svg{flex:none;animation:gift-turn 2s linear infinite}.generation-progress p{font-size:12px;line-height:1.9;color:var(--muted);margin:0}.gift-studio .song-option{padding:15px;margin-bottom:0}.gift-studio .song-option>label{display:flex;align-items:center;gap:9px;color:var(--text);font-size:12px;min-height:28px;margin:0 0 10px;cursor:pointer}.song-option>label>svg{margin-left:auto;color:var(--accent)}.song-option.selected{background:color-mix(in srgb,var(--accent) 5%,var(--surface-1))}.experience-toast{position:fixed;z-index:1500;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translate(-50%);width:max-content;max-width:calc(100vw - 32px);display:flex;align-items:center;gap:9px;padding:9px 10px 9px 15px;color:var(--text);background:var(--surface-2);border:1px solid var(--hairline);box-shadow:var(--shadow-md);border-radius:12px;font-size:12px;line-height:1.8;pointer-events:auto}.experience-toast>svg{color:var(--accent);flex:none}.experience-toast .icon-button{width:28px;height:28px}.toast-enter-active,.toast-leave-active{transition:opacity .22s,margin-bottom .22s var(--ease-gift)}.toast-enter-from,.toast-leave-to{opacity:0;margin-bottom:-8px}.gift-done .gift-share-actions{padding:0}.gift-done .gift-share-actions .gift-text{min-height:44px;font-size:12px!important}.gift-manage{font-size:11px;color:var(--muted);margin-top:4px}.gift-manage>summary{list-style:none;cursor:pointer;min-height:44px;display:grid;place-items:center}.gift-manage>summary::-webkit-details-marker{display:none}.gift-share-card{animation:keepsake-arrive .65s var(--ease-gift) both}.share-card-placeholder{width:250px;min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:var(--surface-1);border:1px solid var(--hairline);border-radius:2px;color:var(--muted);font-size:11px;padding:28px;line-height:1.9}.delivery-ritual{padding:12px 0 16px;display:flex;flex-direction:column;align-items:center;gap:12px}.delivery-seal{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font:italic 35px Georgia,serif;box-shadow:inset 0 0 0 4px #ffffff25;animation:seal-breathe 2.2s ease-in-out infinite}.delivery-ritual p{margin:0}.delivery-ritual small{color:var(--muted);font-size:10px}.modal[open],.gift-ai-dialog[open]{top:calc(var(--visual-top,0px) + var(--visual-height,100dvh)/2);bottom:auto;transform:translateY(-50%);max-height:calc(var(--visual-height,100dvh) - 32px)}.modal :is(input,textarea),.gift-ai-dialog :is(input,textarea){scroll-margin-block:20px}.login-modal .error{color:var(--danger)}.gift-letter .gl-head{padding-top:max(18px,env(safe-area-inset-top))}.gift-letter .gl-text-button{min-height:44px}.gift-letter .gl-track input[type=range]{height:26px;padding:0;margin:-5px 0;background:transparent;border:0;cursor:pointer}.gift-letter .gl-play{flex-shrink:0;min-width:44px;min-height:44px}.gift-letter .gl-paper-title h1,.gift-letter .gl-dedication h1{text-wrap:balance}.gift-letter .gl-copy{overflow-wrap:anywhere}.gift-letter .gl-unlock input{font-size:16px}.gift-letter .gl-unlock-input{box-shadow:0 2px 8px #00000005}.gift-letter .gl-audio-error{line-height:1.8}.gift-letter .gl-audio-error button{min-height:44px}.gift-pass-it-on{min-height:44px;line-height:1.8}[data-keyboard=open] .gift-letter.unlocking{height:var(--visual-height,100dvh)}[data-keyboard=open] .gift-letter.unlocking .gl-envelope-scene,[data-keyboard=open] .gift-letter.unlocking .gl-dedication{display:none}[data-keyboard=open] .gift-letter.unlocking .gl-sealed{justify-content:center;padding-bottom:18px}[data-keyboard=open] .gift-letter.unlocking .gl-head{min-height:48px;padding-block:8px}@keyframes keepsake-arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes seal-breathe{50%{box-shadow:inset 0 0 0 4px #ffffff25,0 0 0 8px var(--accent-soft)}}@keyframes gift-turn{to{transform:rotate(360deg)}}@media(hover:hover)and (pointer:fine){.gift-templates>button:hover{background:var(--surface-1)}.gift-btn:hover:not(:disabled){box-shadow:0 2px 10px #00000008}.gift-manage>summary:hover{color:var(--accent)}}@media(max-width:760px){.songletter-app{padding-inline:14px}.gift-panel.songletter-studio{padding-inline:18px}.site-header nav{gap:6px}.studio-header .md-sub{font-size:12px;line-height:1.85}.studio-price strong{font-size:24px}.gift-panel .gift-btn{min-height:44px}.gift-studio .gift-form .gift-compose-step{margin-bottom:19px}.gift-compose-step h3{font-size:14px}.gift-compose-step p,.gift-studio .gift-form label{font-size:12px}.gift-studio .gift-form input:not([type=file]),.gift-studio .gift-form textarea{font-size:16px;line-height:1.85}.gift-studio .gift-form textarea{min-height:220px}.compose-steps button{min-height:44px;font-size:11px;gap:5px}.compose-steps button>span{width:19px;height:19px}.gift-studio .gift-form-actions{gap:9px;flex-wrap:wrap;padding-top:14px}.gift-form-actions>.gift-text:first-child{max-width:95px;font-size:10px!important;white-space:normal;line-height:1.7}.gift-form-actions>.gift-btn{font-size:12px!important;padding-inline:12px}.gift-form-actions>.gift-text{min-height:44px}.gift-form-actions .preview-trigger{min-height:44px}.gift-studio .gift-assist{margin-bottom:22px}.gift-studio .gift-assist .gift-text{min-height:44px;font-size:12px!important}.gift-studio .gift-assist>span{font-size:11px}.guest-invitation.guest-callout{align-items:center;text-align:center;padding-top:10px;padding-bottom:22px;min-height:0}.guest-mobile-envelope{display:block;width:210px;max-width:78%;height:145px;object-fit:contain;margin:4px auto 18px;filter:drop-shadow(0 12px 10px #35291c18);transform:rotate(-4deg)}.invitation-kicker{font-size:10px;margin-bottom:12px}.guest-invitation h2{font-size:24px;margin-bottom:15px;letter-spacing:1px}.guest-invitation p{font-size:12px;margin-bottom:24px}.guest-invitation .gift-btn{min-width:210px;min-height:48px;font-size:14px!important}.guest-invitation>small{font-size:10px;margin-top:16px}.guest-invitation .guest-mobile-envelope+h2{margin-top:0}.gift-studio .gift-heading>span{font-size:12px}.gift-studio .gift-templates>button{padding-bottom:12px}.gift-studio .gift-templates>button strong{font-size:12px}.gift-studio .gift-templates>button small{font-size:9px;line-height:1.7}.gift-image-options button{min-height:82px;font-size:12px!important}.gift-image-slot .gift-attachment-copy strong{font-size:12px}.gift-passphrase-title{font-size:14px}.gift-passphrase-purpose,.gift-passphrase-hint{font-size:11px;line-height:1.8}.gift-date-field>span{font-size:12px}.summary-list>div{padding-block:17px;font-size:13px}.gift-ai-dialog .gift-tone-options button{min-height:40px;font-size:11px;padding-inline:10px}.gift-ai-dialog footer .gift-btn{min-height:44px;font-size:12px!important}.gift-ai-dialog footer .gift-text{min-height:44px}.gift-ai-dialog .gift-suggestion p{font-size:14px;line-height:1.95}.gift-ai-dialog .gift-suggestion{max-height:200px}.gift-ai-dialog header{gap:10px}.modal{padding:25px 22px}.modal .button-row{flex-wrap:wrap}.modal .button-row button{min-height:44px}.modal h2{font-size:23px}.gift-letter .gl-brand-name{font-size:9px}.gift-letter .gl-head{padding-inline:20px}.gift-letter .gl-edition{font-size:9px;letter-spacing:.5px}.gift-letter .gl-whisper{line-height:1.9}.gift-letter .gl-unlock{width:min(100%,300px)}.gift-letter .gl-unlock .gl-open{min-height:48px}.gift-letter .gl-reading-actions button{min-height:36px}.gift-letter .gl-reading-actions{gap:8px}.is-result .result-workspace{padding-top:20px}.is-result .gift-done{gap:14px;padding-bottom:20px}.is-result .gift-done .gift-share-card{width:230px}.gift-done h3{font-size:26px}.gift-done>p{font-size:13px}.gift-done .gift-note{line-height:1.9}.experience-toast{bottom:max(16px,env(safe-area-inset-bottom));font-size:12px}.studio-foot>span:last-child{font-size:9px;line-height:1.8}}@media(max-width:359px){.songletter-app{padding-inline:10px}.gift-panel.songletter-studio{padding-inline:14px}.site-header .wordmark>span:last-child{font-size:9px}.compose-steps button{font-size:10px;gap:4px}.compose-steps button>span{width:17px;height:17px}.gift-form-actions{gap:6px!important}.gift-form-actions>.gift-text:first-child{max-width:70px}.gift-form-actions>.gift-btn{padding-inline:9px}.gift-studio .gift-form-actions .preview-trigger>svg{display:none}.guest-invitation h2{font-size:22px}.gift-letter .gl-reading-toolbar{flex-wrap:wrap;gap:5px}.gift-letter .gl-reading-actions{margin-left:auto}.gift-letter .gl-reading-actions button{font-size:9px}.gift-letter .gl-dedication h1{font-size:25px}}@media(prefers-reduced-motion:reduce){.gift-share-card,.delivery-seal,.generation-progress>svg{animation:none}.toast-enter-active,.toast-leave-active{transition:none}}@media(max-width:760px)and (max-height:700px){.guest-mobile-envelope{height:100px;margin-block:0 12px}.guest-invitation h2{font-size:23px;line-height:1.7;margin-bottom:10px}.guest-invitation p{line-height:1.9;margin-bottom:18px}.guest-invitation.guest-callout{padding-bottom:10px}.guest-invitation>small{margin-top:12px}}@media(max-width:760px)and (max-height:600px){.guest-mobile-envelope{height:75px;margin-bottom:8px}.guest-invitation h2{font-size:21px;line-height:1.6}.guest-invitation p{font-size:11px;margin-bottom:14px}.guest-invitation .invitation-kicker{margin-bottom:8px}.gift-panel .studio-header{padding-bottom:14px}.guest-invitation .gift-btn{min-height:44px}.guest-invitation.guest-callout{padding-top:2px}}@media(max-width:760px){.site-header .gift-btn,.site-header .icon-button{min-height:44px;min-width:44px}.gift-letter .gl-reading-actions button{min-height:44px}}@media(min-width:761px){.gift-studio #letter-body{min-height:180px}.songletter-studio .gift-form>.compose-steps{margin-top:0}}.gift-done.is-inactive .gift-share-card{opacity:.5}.gift-done.is-inactive>svg{color:var(--muted)}.studio-price{flex:none;white-space:nowrap}.studio-header>div:first-child{min-width:0}.compose-steps button{white-space:nowrap;padding-inline:3px;gap:4px}.compose-steps button>span{flex-shrink:0}.gift-btn.primary,.primary{background:color-mix(in srgb,var(--accent) 94%,#000)}.compose-steps [aria-current]>span{background:color-mix(in srgb,var(--accent) 94%,#000)}.gift-pass-it-on{color:var(--ink);opacity:.85}.gift-letter .gl-reading-actions button,.gift-letter .gl-modes button{color:color-mix(in srgb,var(--ink) 85%,var(--paper))}.gift-letter .gl-modes [aria-pressed=true]{color:var(--ink)}.studio-header .md-sub{text-wrap:balance}.gift-btn.primary:hover:not(:disabled),.primary:hover:not(:disabled){filter:none;background:color-mix(in srgb,var(--accent) 88%,#000)}@media(max-width:760px)and (max-height:600px){.site-header{height:64px}.guest-mobile-envelope{height:65px}.guest-invitation p{margin-bottom:12px}}@media(min-width:761px)and (max-height:820px){.site-header{height:64px}.gift-panel.songletter-studio:not(.is-result){height:calc(100dvh - 112px);min-height:560px;padding:18px 20px}.studio-header{padding-bottom:14px}.studio-header .md-kicker{display:none}.studio-header h1{font-size:21px;margin-bottom:3px}.studio-header .md-sub{font-size:11px}.songletter-studio .gift-workspace.studio{padding-top:16px}.songletter-studio .studio-foot{padding-top:12px}.songletter-studio .gift-live-preview .live .gl-opened-stage{padding:16px;gap:10px}.songletter-studio .gift-live-preview .live .gl-paper{padding:18px 24px 12px}.songletter-studio .gift-live-preview .live .gl-paper-title{margin:10px 0}.songletter-studio .gift-live-preview .live .gl-paper-title h1{font-size:25px}.songletter-studio .gift-live-preview .live .gl-reading-toolbar{margin-bottom:10px;padding-bottom:8px}.songletter-studio .gift-live-preview .live .gl-paper-foot{margin-top:8px;padding-top:7px}.songletter-studio .gift-live-preview .live .gl-modes button{min-height:36px}.songletter-studio .gift-live-preview .live .gl-salutation{margin-bottom:16px}.songletter-studio .gift-live-preview .live .gl-copy{font-size:15px;line-height:2}.songletter-studio .guest-still-life h2{font-size:26px}}@media(min-width:761px)and (max-height:820px){.songletter-studio .gift-form .gift-compose-step{margin-top:14px;margin-bottom:10px}.songletter-studio .gift-compose-step p{display:none}.songletter-studio .gift-form label{margin-bottom:12px}.gift-studio #letter-body{min-height:120px}.songletter-studio .gift-form-actions{margin-top:16px}}.gift-done>.download-links{width:100%;max-width:360px;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px;border-top:1px solid var(--hairline);padding-top:12px;margin-top:8px}.gift-done>.download-links a{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:12px!important}.gift-done>.save-share-card{width:100%;max-width:260px;min-height:44px;font-size:13px!important}.gift-done .gift-share-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;max-width:260px;gap:8px;padding:0}.gift-done .gift-share-actions>.gift-btn{width:100%;min-width:0;min-height:44px;padding:10px 8px;gap:6px;font-size:12px!important;white-space:nowrap}.gift-done .gift-share-actions>.gift-btn svg{flex-shrink:0}.songletter-app:not(.public-page){max-width:none;margin:0;padding:0;min-height:100svh;background:radial-gradient(ellipse at 88% 26%,var(--accent-soft),transparent 56%),var(--bg)}.site-header{height:72px;padding:0 clamp(24px,4vw,72px);border-bottom:1px solid var(--hairline);background:var(--bg)}.site-header nav{gap:20px}.site-header .wordmark{gap:10px}.site-header .brand-monogram{font-size:34px}.gift-panel.songletter-studio,.gift-panel.songletter-studio:not(.is-result){inset:auto;width:100%;height:auto;min-height:calc(100svh - 72px);max-height:none;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;overflow:visible;display:block}.songletter-studio .studio-header{max-width:1520px;margin:auto;padding:30px clamp(24px,4vw,72px) 25px;border:0;gap:28px}.studio-header .md-kicker{display:block;margin-bottom:8px;font-size:9px}.studio-header h1{font:400 28px/1.55 Songti SC,"Noto Serif SC",serif;letter-spacing:1px;margin-bottom:4px}.studio-header .md-sub{font-size:12px;line-height:1.8}.studio-price strong{font-size:26px}.songletter-studio .gift-workspace.studio{max-width:1520px;margin:auto;padding:0 clamp(24px,4vw,72px) 28px;display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1fr);gap:clamp(36px,5vw,88px);align-items:start}.songletter-studio .gift-scroll{width:auto;min-width:0;max-height:none;height:auto;overflow:visible;padding:0;scrollbar-gutter:auto;overscroll-behavior:auto}.songletter-studio .gift-form{max-width:620px;margin:0 auto}.songletter-studio .gift-form>.compose-steps{position:sticky;top:0;z-index:4;margin:0 0 24px;padding:8px 0;border-top:0;background:var(--bg);box-shadow:0 8px 12px -12px var(--text)}.songletter-studio .compose-steps button{min-height:44px;font-size:12px;gap:7px}.songletter-studio .compose-steps button>span{width:21px;height:21px}.songletter-studio .gift-form .gift-compose-step{margin:0 0 24px}.songletter-studio .gift-compose-step h3{font:400 22px/1.6 Songti SC,serif;letter-spacing:.6px}.songletter-studio .gift-compose-step p{display:block;font-size:12px;margin-top:5px;line-height:1.8}.songletter-studio .gift-compose-step>span{font-size:11px;margin-top:7px}.songletter-studio .gift-form label{font-size:12px;margin-bottom:20px}.songletter-studio .gift-form :is(input:not([type=file]),textarea){font-size:15px;padding:12px 14px;background:color-mix(in srgb,var(--surface-2) 78%,transparent);border-radius:5px;line-height:1.9}.songletter-studio .gift-form textarea#letter-body{min-height:clamp(220px,32vh,380px);resize:vertical;line-height:2.1;font-family:Songti SC,"Noto Serif SC",serif;font-size:17px;padding:18px 20px;background:var(--surface-2);box-shadow:0 4px 20px #00000003}.songletter-studio .letter-writing-assist{margin:-12px 0 20px;align-items:center}.letter-writing-assist>span{font-size:11px}.songletter-studio .gift-form-actions{position:static;z-index:5;flex-wrap:nowrap;gap:12px;margin:26px 0 0;padding:14px 0 max(14px,env(safe-area-inset-bottom));min-height:76px;border-top:1px solid var(--hairline);background:var(--bg)}.songletter-studio .gift-form-actions>.gift-btn{min-height:44px;border-radius:5px;font-size:12px!important}.songletter-studio .gift-form-actions>.gift-text:first-child{max-width:110px;font-size:11px!important}.songletter-studio .gift-form-actions>.primary{margin-left:auto;white-space:nowrap}.songletter-studio .gift-form-actions>.gift-text{white-space:nowrap}.songletter-studio .gift-live-preview{position:sticky;top:24px;height:calc(100dvh - 120px);min-height:520px;max-height:900px;border:0;border-radius:0;overflow:hidden;background:transparent}.songletter-studio .gift-live-preview>.gift-letter{border-radius:3px;height:100%;box-shadow:0 14px 48px #00000008}.songletter-studio .gift-live-preview .live .gl-opened-stage{padding:24px;gap:16px}.songletter-studio .gift-live-preview .live .gl-paper{padding:26px 30px 18px}.songletter-studio .gift-live-preview .live .gl-copy{font-size:16px;line-height:2.15}.songletter-studio .gift-live-preview .live .gl-paper-title h1{font-size:30px}.songletter-studio .gift-live-preview .live .gl-reading-toolbar{margin-bottom:14px;padding-bottom:10px}.songletter-studio .guest-still-life{border-radius:0;background:transparent;padding:32px 0;min-height:520px}.guest-still-life img{max-width:410px;max-height:290px}.songletter-studio .guest-invitation{padding:45px 0 35px;text-align:left;align-items:flex-start}.guest-invitation h2{font-size:clamp(25px,2.5vw,36px);line-height:1.9}.guest-invitation p{font-size:14px;line-height:2}.guest-invitation .gift-btn{border-radius:5px;min-height:48px;min-width:220px}.guest-invitation>small{font-size:11px}.songletter-studio .studio-foot{max-width:1520px;margin:auto;padding:10px clamp(24px,4vw,72px) 20px;line-height:1.8}.site-footer{padding:20px clamp(24px,4vw,72px);border-top:1px solid var(--hairline);background:var(--bg)}.songletter-app>.notice,.songletter-app>.how-panel{margin:16px clamp(24px,4vw,72px);border-radius:5px}.songletter-studio.is-result .result-workspace{min-height:0;overflow:visible;padding:0 24px 32px}.songletter-studio.is-result .gift-done{overflow:visible;max-height:none;padding-top:20px}.theme-picker{position:relative;display:flex}.theme-dismiss{position:fixed;inset:0;z-index:19;cursor:default}.theme-options{position:absolute;top:calc(100% + 10px);right:0;width:160px;z-index:20;padding:6px;background:var(--surface-2);border:1px solid var(--hairline);box-shadow:var(--shadow-md);border-radius:10px}.theme-options>button{width:100%;min-height:44px;padding:9px 10px;display:flex;align-items:center;gap:10px;font-size:12px;border-radius:6px}.theme-options>button[aria-pressed=true]{background:var(--accent-soft)}.theme-options>button>svg{margin-left:auto}.theme-dot{width:16px;height:16px;border-radius:50%;border:1px solid #8885;flex:none}html[data-theme=anime]{--accent-ink:#36172b}.theme-options button:hover{background:var(--accent-soft)}@media(min-width:761px)and (max-height:740px){.songletter-studio .gift-live-preview{min-height:480px;height:calc(100dvh - 100px)}.songletter-studio .gift-live-preview .live .gl-opened-stage{padding:16px}.songletter-studio .gift-live-preview .live .gl-paper{padding:20px 24px 14px}.songletter-studio .gift-live-preview .live .gl-paper-title h1{font-size:26px}}@media(min-width:761px)and (max-width:1000px){.songletter-studio .gift-workspace.studio{grid-template-columns:minmax(330px,1fr) minmax(0,1fr);gap:28px;padding-inline:24px}.songletter-studio .gift-live-preview .live .gl-opened-stage{padding:12px}.songletter-studio .gift-live-preview .live .gl-paper{padding:20px 16px}.songletter-studio .gift-live-preview .live .gl-paper-title h1{font-size:24px}}@media(max-width:760px){.site-header{height:60px;padding-inline:20px;gap:10px}.site-header nav{gap:7px}.site-header .wordmark>span:last-child{font-size:10px;letter-spacing:2px}.site-header .brand-monogram{font-size:30px}.site-header .gift-btn{padding-inline:11px;font-size:11px!important}.gift-panel.songletter-studio,.gift-panel.songletter-studio:not(.is-result){min-height:calc(100svh - 60px);padding:0;border:0;border-radius:0;height:auto}.songletter-studio .studio-header{padding:22px 22px 16px;gap:14px;align-items:center}.studio-header .md-kicker{font-size:8px;margin-bottom:5px}.studio-header h1{font-size:23px}.studio-header .md-sub{font-size:11px}.studio-price strong{font-size:24px}.studio-price>span{font-size:9px;letter-spacing:0}.songletter-studio .gift-workspace.studio{display:block;padding:0 22px}.songletter-studio .gift-live-preview{display:none}.songletter-studio .gift-scroll{padding:0;overflow:visible;flex:none}.songletter-studio .gift-form{max-width:560px}.songletter-studio .gift-form>.compose-steps{margin-bottom:22px;padding:5px 0;background:var(--bg)}.songletter-studio .compose-steps button{font-size:11px;gap:5px}.songletter-studio .compose-steps button>span{width:18px;height:18px}.songletter-studio .gift-form .gift-compose-step{margin:0 0 22px}.songletter-studio .gift-compose-step h3{font-size:21px}.songletter-studio .gift-compose-step p{font-size:12px}.songletter-studio .gift-form label{font-size:12px;margin-bottom:20px}.songletter-studio .gift-form :is(input:not([type=file]),textarea){font-size:16px;padding:11px 12px}.songletter-studio .gift-form textarea#letter-body{min-height:250px;padding:17px 16px;font-size:17px;line-height:2.05}.songletter-studio .gift-form textarea.song-direction{min-height:140px}.songletter-studio .gift-assist .gift-text{font-size:12px!important;min-height:44px}.songletter-studio .letter-writing-assist{margin-bottom:22px}.songletter-studio .gift-form-actions{position:static;min-height:76px;gap:9px;flex-wrap:nowrap;padding:12px 0 max(12px,env(safe-area-inset-bottom));margin-top:22px}.songletter-studio .gift-form-actions>.gift-text:first-child{max-width:78px;font-size:10px!important;white-space:normal}.songletter-studio .gift-form-actions>.gift-btn{font-size:12px!important;padding-inline:12px}.songletter-studio .gift-form-actions>.preview-trigger{padding-inline:3px;gap:4px}.songletter-studio .gift-form-actions>.gift-text{font-size:11px!important}.songletter-studio .gift-form-actions>.primary{margin-left:auto}.songletter-studio .guest-invitation{align-items:center;text-align:center;padding:10px 0 30px;min-height:0}.guest-mobile-envelope{width:210px;height:125px;margin:5px auto 20px}.guest-invitation h2{font-size:25px;line-height:1.85;margin-bottom:16px}.guest-invitation p{font-size:12px;line-height:2;margin-bottom:24px}.guest-invitation>small{font-size:10px;margin-top:16px}.songletter-studio .studio-foot{padding:14px 22px 20px;flex-wrap:wrap;gap:4px}.studio-foot>span:first-child{display:none}.studio-foot>span:last-child{font-size:9px}.site-footer{padding:18px 22px;font-size:11px}.site-footer span{font-size:7px}.songletter-studio .gift-date-field{overflow:visible}.songletter-studio.is-result .studio-header h1{font-size:21px}.songletter-app>.notice,.songletter-app>.how-panel{margin:12px 22px}}@media(max-width:359px){.site-header{padding-inline:16px}.songletter-studio .studio-header{padding-inline:16px;gap:8px}.studio-header h1{font-size:21px}.studio-header .md-sub{font-size:10px}.studio-price strong{font-size:22px}.songletter-studio .gift-workspace.studio{padding-inline:16px}.songletter-studio .compose-steps button{font-size:10px;gap:4px}.songletter-studio .gift-form-actions{gap:7px}.songletter-studio .gift-form-actions>.gift-btn{padding-inline:8px;font-size:11px!important}.songletter-studio .gift-form-actions>.gift-text:first-child{max-width:67px}.guest-invitation h2{font-size:22px}.songletter-studio .gift-form-actions>.preview-trigger>svg{display:none}}@media(max-width:760px)and (max-height:700px){.songletter-studio .guest-invitation{padding-top:0;padding-bottom:16px}.guest-mobile-envelope{height:90px;margin:0 auto 12px}.guest-invitation h2{font-size:23px;line-height:1.7;margin-bottom:12px}.guest-invitation p{margin-bottom:18px}.songletter-studio .studio-header{padding-top:16px}}@media(max-width:760px)and (max-height:600px){.guest-mobile-envelope{height:65px;margin-bottom:10px}.guest-invitation h2{font-size:21px;line-height:1.6}.guest-invitation p{font-size:11px;line-height:1.8;margin-bottom:14px}.guest-invitation .invitation-kicker{margin-bottom:8px}.guest-invitation>small{margin-top:12px}.songletter-studio .studio-header{padding-block:12px}.studio-header .md-kicker{display:none}}@media(prefers-reduced-motion:no-preference){.songletter-studio .gift-compose-step{animation:writing-arrive .35s var(--ease-gift)}@keyframes writing-arrive{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}}@media(min-width:761px){.songletter-studio .gift-form textarea#letter-body{min-height:clamp(200px,24vh,300px)}.songletter-studio .gift-live-preview{height:calc(100dvh - 246px);min-height:490px}}@media(min-width:761px)and (max-height:740px){.songletter-studio .studio-header{padding-block:18px}.songletter-studio .gift-live-preview{height:calc(100dvh - 220px);min-height:440px}.songletter-studio .gift-form textarea#letter-body{min-height:190px}.songletter-studio .gift-form .gift-compose-step{margin-bottom:18px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.songletter-app{--chrome-height:60px}.songletter-app.header-hidden{--chrome-height:0px}.site-header{position:sticky;top:0;z-index:15;height:60px;background:color-mix(in srgb,var(--bg) 94%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:transform .28s var(--ease-gift);border-bottom-color:color-mix(in srgb,var(--hairline) 65%,transparent)}.header-hidden .site-header{transform:translateY(-100%);pointer-events:none}.header-hidden .site-header:focus-within{transform:none;pointer-events:auto}.site-header .wordmark>span:last-child{font-size:11px}.site-header .gift-btn{min-height:36px;border-radius:50px;padding:8px 15px;font-size:11px!important;background:transparent}.site-header nav{gap:14px}.site-header .gift-text{font-size:11px!important}.songletter-app.is-making{background:radial-gradient(ellipse at 90% 35%,color-mix(in srgb,var(--accent-soft) 46%,transparent),transparent 70%),var(--bg)}.is-making .gift-panel.songletter-studio:not(.is-result){min-height:0}.is-making .songletter-studio .gift-workspace.studio{padding-top:20px;padding-bottom:12px;grid-template-columns:minmax(360px,.95fr) minmax(0,1.05fr);gap:clamp(32px,5vw,76px);max-width:1440px}.is-making .gift-form>.compose-steps{top:var(--chrome-height);padding:5px 0;margin-bottom:24px;box-shadow:none;background:var(--bg);border-bottom-color:var(--hairline);transition:top .28s var(--ease-gift)}.is-making .compose-steps button{font-size:11px;gap:6px;min-height:42px;color:var(--muted)}.is-making .compose-steps button>span{width:19px;height:19px}.is-making .compose-steps [aria-current]{color:var(--text)}.is-making .compose-steps [aria-current]>span{color:var(--accent-ink)}.is-making .gift-form .gift-compose-step{margin-bottom:20px}.is-making .gift-compose-step>span{width:auto;height:auto;border:0;background:transparent;color:var(--accent);font:italic 23px Georgia,serif;align-self:flex-start;line-height:1.5;margin:0 12px 0 0;padding:0}.is-making .gift-compose-step h3{font-size:25px;letter-spacing:1px;line-height:1.6}.is-making .gift-compose-step p{font-size:12px;margin-top:4px}.is-making .gift-form label{margin-bottom:16px}.is-making .gift-form :is(input:not([type=file]),textarea){border-color:color-mix(in srgb,var(--hairline) 85%,transparent);background:color-mix(in srgb,var(--surface-2) 82%,transparent);border-radius:8px;padding:10px 13px}.is-making .gift-form .gift-fields input{min-height:44px}.is-making .gift-form textarea#letter-body{min-height:clamp(190px,27vh,300px);font-size:18px;line-height:2.05;padding:18px 21px;border-radius:2px;background:linear-gradient(125deg,#ffffff08,transparent),var(--surface-2);box-shadow:0 8px 26px #00000004}.is-making .gift-form-actions{margin-top:18px;padding:12px 0;min-height:68px;border-top-color:var(--hairline)}.is-making .gift-form-actions>.primary{border-radius:50px;padding-inline:22px;min-height:44px;box-shadow:0 4px 14px var(--accent-soft)}.is-making .gift-form-actions>.gift-text:first-child{font-size:10px!important}.is-making .gift-form fieldset:disabled{opacity:1}.is-making .gift-live-preview{top:calc(var(--chrome-height) + 24px);height:calc(100dvh - 150px);min-height:470px;max-height:850px;transition:top .28s var(--ease-gift)}.is-making .gift-live-preview>.gift-letter{border-radius:4px;box-shadow:0 14px 45px #00000007}.is-making .site-footer{max-width:1440px;margin:auto;padding-top:14px;padding-bottom:16px;border:0;background:transparent;font-size:11px}.is-making .studio-foot{display:none}.is-making .song-plan{position:relative;margin:0 0 18px;padding:0;border:1px solid var(--hairline);border-radius:12px;background:var(--surface-2);box-shadow:0 8px 30px #00000004;overflow:hidden}.song-document-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px 10px}.song-document-heading>span{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text)}.song-document-heading svg{color:var(--accent)}.song-document-heading>small{font-size:10px;color:var(--muted);white-space:nowrap}.is-making .song-plan .song-document-label{display:block;margin:0;padding:0 4px}.is-making .song-plan .song-document-label textarea{min-height:255px;max-height:480px;resize:vertical;border:0;border-radius:0;background:transparent;box-shadow:none;padding:12px 16px 22px;font:15px/2 Songti SC,serif;width:100%;color:var(--text)}.song-plan.is-confirmed>.song-document-heading{display:none}.is-making .song-plan.is-confirmed>summary{padding:16px 18px;min-height:48px;font-size:12px}.song-plan.is-confirmed .song-document-label textarea{max-height:300px}.song-conversation{padding:15px 16px 12px;border-top:1px solid var(--hairline);background:color-mix(in srgb,var(--surface-1) 70%,var(--surface-2))}.song-conversation-top{display:flex;gap:12px;justify-content:space-between;align-items:baseline}.song-conversation-top label{font-size:12px!important;margin:0!important;color:var(--text)}.song-conversation-top>span{font-size:10px;color:var(--muted);flex:none}.is-making .song-conversation textarea.song-direction{padding:11px 0 6px;margin:0;min-height:80px;max-height:200px;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:14px;line-height:1.9}.song-conversation-actions{display:flex;align-items:center;gap:12px;justify-content:space-between}.is-making .song-conversation .song-from-letter{width:auto;margin:0;padding:6px 0;border:0;background:transparent;font-size:11px!important;min-height:40px;color:var(--text);gap:6px}.song-send{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--text);color:var(--bg);flex:none;transition:transform .2s,background .2s}.song-send:hover:not(:disabled){transform:translateY(-2px);background:var(--accent);color:var(--accent-ink)}.song-send:active:not(:disabled){transform:scale(.93)}.song-ink-wait{padding:15px 18px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--accent-soft);font-size:12px}.song-ink-wait small{display:block;width:100%;padding-left:24px;font-size:10px;color:var(--muted)}.ink-spinner{display:inline-block;width:14px;height:14px;border-radius:50%;border:1.5px solid currentColor;border-right-color:transparent;animation:gift-turn .9s linear infinite}.thinking-dots{animation:ink-pulse 1.8s ease-in-out infinite}.is-making .generation-rule{font-size:11px;margin:16px 0;line-height:1.9}.is-making .gift-form .wide.primary{border-radius:50px;min-height:46px;letter-spacing:.5px}.creation-ritual{display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px 18px 22px;border:1px solid var(--hairline);border-radius:12px;background:radial-gradient(ellipse at 50% 22%,var(--accent-soft),transparent 70%),var(--surface-2)}.ritual-visual{width:140px;height:140px;position:relative;display:grid;place-items:center;margin-bottom:16px}.ritual-record{width:88px;height:88px;border:1px solid var(--hairline);border-radius:50%;display:grid;place-items:center;color:var(--accent);background:repeating-radial-gradient(circle,transparent 0 3px,var(--hairline) 3.5px 4px,transparent 4.5px 7px),var(--surface-2);box-shadow:0 8px 30px #00000008;animation:record-breathe 4s ease-in-out infinite}.ritual-record>svg{padding:10px;box-sizing:content-box;border-radius:50%;background:var(--surface-2)}.ritual-orbit{position:absolute;inset:6px;border:1px solid var(--hairline);border-right-color:var(--accent);border-bottom-color:transparent;border-radius:50%;animation:gift-turn 10s linear infinite}.ritual-orbit.second{inset:0;opacity:.35;animation-direction:reverse;animation-duration:17s}.ritual-spark{position:absolute;right:6px;top:22px;font-size:17px;color:var(--accent);animation:ink-pulse 3s ease-in-out infinite}.ritual-kicker{font:8px Georgia,serif;letter-spacing:1.8px;color:var(--muted)}.creation-ritual h3{font:400 20px/1.8 Songti SC,serif;margin:12px 0 8px;letter-spacing:.7px}.creation-ritual>p{font-size:12px;line-height:1.9;margin:0;color:var(--muted)}.creation-ritual>small{font-size:11px;line-height:1.9;color:var(--muted);max-width:310px}.creation-ritual .ritual-reassurance{font-size:10px;margin-top:14px}.ritual-wave{height:32px;display:flex;gap:4px;align-items:center;margin:18px 0;color:var(--accent)}.ritual-wave i{display:block;width:2px;height:20px;background:currentColor;border-radius:2px;animation:melody-wave 1.8s ease-in-out infinite;animation-delay:calc(var(--beat)*-.14s);opacity:.6}.creation-ritual .gift-text{margin-top:10px;min-height:44px;gap:8px}.generation-problem{padding:24px;border:1px solid var(--hairline);border-radius:12px;background:var(--surface-2);text-align:center}.generation-problem>svg{color:var(--muted)}.generation-problem h4{font:400 21px Songti SC,serif;margin:14px 0}.generation-problem p{font-size:13px;line-height:1.9}.generation-problem small{display:block;font-size:11px;line-height:1.9;color:var(--muted)}.generation-problem .gift-btn{margin-top:16px}.personal-touches{padding:22px 20px 8px;border:1px solid var(--hairline);border-radius:12px;background:color-mix(in srgb,var(--surface-2) 86%,transparent);margin-bottom:28px;box-shadow:0 6px 22px #00000003}.personal-touches>header>span{font-size:8px;letter-spacing:1.7px;color:var(--accent)}.personal-touches h4{font:400 19px/1.8 Songti SC,serif;margin:7px 0 4px;letter-spacing:.4px}.personal-touches>header>p{font-size:11px;line-height:1.9;color:var(--muted);margin:0 0 22px}.personal-touches .gift-image-options{gap:8px;margin-bottom:14px}.personal-touches .gift-image-slot{margin:0 0 18px}.personal-touches .gift-date-field{border-top:1px solid var(--hairline);padding-top:18px;margin-top:0}.personal-touches .gift-passphrase-setting{border-top:1px solid var(--hairline);padding-top:18px;margin-top:18px;margin-bottom:16px}.personal-touches .gift-passphrase-title{font-size:13px}.personal-touches .gift-passphrase-purpose{font-size:11px}.personal-touches .gift-passphrase-action{min-width:64px;min-height:40px;border:1px solid var(--hairline);border-radius:50px;padding:6px 14px!important;color:var(--text);background:var(--surface-2)}.stationery-heading{margin:0 0 14px;display:flex;flex-direction:column;gap:5px}.stationery-heading>span{font:18px/1.8 Songti SC,serif}.stationery-heading>small{font-size:11px;color:var(--muted)}.is-making .gift-templates{gap:12px}.is-making .gift-templates>button{border:1px solid var(--hairline);background:color-mix(in srgb,var(--surface-2) 65%,transparent);padding:7px 7px 12px;transition:border-color .2s,transform .2s,box-shadow .2s}.is-making .gift-templates>button[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}.is-making .gift-templates>button:hover{transform:translateY(-2px)}.is-making .gift-templates .gift-swatch{height:76px}@keyframes ink-pulse{50%{opacity:.35}}@keyframes record-breathe{50%{transform:scale(1.04);box-shadow:0 8px 36px var(--accent-soft)}}@keyframes melody-wave{0%,to{transform:scaleY(.25)}50%{transform:scaleY(1)}}@media(min-width:761px)and (max-height:760px){.is-making .gift-live-preview{min-height:430px;height:calc(100dvh - 135px)}.is-making .gift-form .gift-compose-step{margin-bottom:14px}.is-making .gift-form textarea#letter-body{min-height:180px}.is-making .gift-form label{margin-bottom:14px}}@media(max-width:760px){.songletter-app{--chrome-height:56px}.songletter-app.header-hidden{--chrome-height:0px}.site-header{height:56px;padding-inline:20px}.is-making .songletter-studio .gift-workspace.studio{display:block;padding:12px 22px 2px}.is-making .gift-form>.compose-steps{margin-bottom:21px;padding-block:2px}.is-making .compose-steps button{font-size:10px;gap:4px;min-height:42px}.is-making .compose-steps button>span{width:17px;height:17px}.is-making .gift-compose-step h3{font-size:22px}.is-making .gift-compose-step>span{font-size:20px;margin-right:8px}.is-making .gift-compose-step p{font-size:11px;line-height:1.8}.is-making .gift-form .gift-compose-step{margin-bottom:22px}.is-making .gift-form textarea#letter-body{min-height:230px;padding:16px 18px;font-size:18px}.is-making .gift-form-actions{padding:12px 0 max(12px,env(safe-area-inset-bottom));margin-top:18px;gap:8px}.is-making .gift-form-actions>.primary{padding-inline:16px}.is-making .gift-form-actions>.gift-text:first-child{max-width:78px}.is-making .site-footer{padding:16px 22px 18px;font-size:10px}.is-making .site-footer span{font-size:7px}.is-making .gift-form .song-document-label textarea{font-size:16px;min-height:235px;line-height:2;padding:12px 13px 18px}.song-document-heading{padding:15px 15px 10px}.song-document-heading>span{font-size:11px}.song-document-heading>small{font-size:9px}.song-conversation{padding:14px 14px 10px}.song-conversation-top label{font-size:12px!important}.is-making .song-conversation textarea.song-direction{font-size:16px;min-height:90px;padding-top:12px}.is-making .song-conversation .song-from-letter{font-size:11px!important}.song-send{width:44px;height:44px}.creation-ritual{padding:24px 16px}.creation-ritual h3{font-size:19px}.personal-touches{padding:19px 16px 7px;margin-bottom:25px}.personal-touches h4{font-size:18px}.personal-touches .gift-image-options button{min-height:72px}.is-making .gift-templates .gift-swatch{height:67px}.personal-touches .gift-date-field>span{font-size:13px}.personal-touches .gift-passphrase-purpose{font-size:11px}.stationery-heading>span{font-size:17px}}@media(max-width:359px){.is-making .songletter-studio .gift-workspace.studio,.site-header{padding-inline:16px}.site-header nav{gap:5px}.site-header .gift-text{font-size:10px!important}.is-making .gift-form-actions>.primary{padding-inline:12px}.personal-touches{padding-inline:13px}.song-document-heading>span{font-size:10px}.song-document-heading>small{font-size:9px}.is-making .gift-form textarea#letter-body{min-height:205px}.creation-ritual h3{font-size:18px}}@media(prefers-reduced-motion:reduce){.site-header,.is-making .gift-form>.compose-steps,.is-making .gift-live-preview{transition:none}.ink-spinner,.thinking-dots,.ritual-record,.ritual-orbit,.ritual-spark,.ritual-wave i{animation:none}.ritual-wave i:nth-child(odd){height:10px}.is-making .gift-templates>button:hover{transform:none}}.is-making .song-plan .song-document-label textarea{height:clamp(220px,32dvh,320px);min-height:220px;max-height:420px}@media(max-width:760px){.is-making .song-plan .song-document-label textarea{height:clamp(220px,32dvh,310px);min-height:220px;max-height:390px}}@media(pointer:coarse){.site-header .gift-btn,.is-making .compose-steps button{min-height:44px}}.audition-player{display:flex;align-items:center;gap:8px;min-width:0}.song-option .audition-player audio{flex:1;min-width:0;width:0}.gl-track-progress{display:flex;align-items:center;gap:8px;min-width:0}.gift-letter .gl-track-progress input[type=range]{flex:1;min-width:0;width:0}.gift-letter .audition-hint{--hint-ink:var(--ink);--hint-bg:var(--paper);--hint-border:color-mix(in srgb,var(--ink) 18%,transparent)}.is-making .gift-templates .gift-envelope-swatch{display:block;position:relative;height:auto;aspect-ratio:8/5;min-height:0;overflow:hidden;margin-bottom:10px}.is-making .gift-envelope-swatch img{position:absolute;inset:6px;width:calc(100% - 12px);height:calc(100% - 12px);max-width:none;max-height:none;min-width:0;min-height:0;object-fit:contain;transform:rotate(-3deg);filter:drop-shadow(0 4px 3px #0002)}.is-making .gift-templates>button strong{position:relative;font-size:12px;line-height:1.7;margin:0 0 4px;color:var(--text)}@media(max-width:760px){.is-making .gift-envelope-swatch img{inset:5px;width:calc(100% - 10px);height:calc(100% - 10px)}}html[data-theme=warm] .brand-monogram{color:var(--brand-logo)}html[data-theme=warm] :is(.gift-btn.primary,.primary){background:var(--brand-primary);color:var(--brand-button-ink)}html[data-theme=warm] :is(.gift-btn.primary,.primary):hover:not(:disabled){background:#e66955;color:var(--brand-button-ink)}.is-making .song-plan:has(.song-document-label textarea:focus-visible),.is-making .song-conversation:focus-within,.gift-passphrase-input:focus-within{border-color:color-mix(in srgb,var(--accent) 45%,var(--hairline));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent)}.login-modal .login-consent{display:flex;align-items:flex-start;gap:9px;color:var(--muted);font-size:11px;line-height:1.9}.login-modal .login-consent input[type=checkbox]{appearance:auto;flex:0 0 16px;width:16px;height:16px;min-height:0;padding:0;margin:3px 0 0;accent-color:var(--accent);cursor:pointer}.login-modal .login-consent>div{flex:1;min-width:0}.login-modal .login-consent label{display:inline;font-size:inherit;cursor:pointer}.login-modal .login-consent a{color:var(--accent);text-underline-offset:3px}.login-modal .login-consent a:hover{text-decoration:underline}.login-modal .login-consent input:focus-visible{outline:1px solid var(--accent);outline-offset:3px;box-shadow:none}.login-consent-dialog{width:min(380px,calc(100vw - 32px));padding:28px 24px 24px;border-radius:16px}.login-consent-dialog p{font-size:14px;line-height:1.9;margin:0;color:var(--text)}.login-consent-dialog a{color:var(--accent);text-underline-offset:3px}.login-consent-dialog a:hover{text-decoration:underline}.login-consent-dialog .consent-actions{display:flex;gap:12px;margin-top:24px}.login-consent-dialog .consent-actions>button{flex:1;min-height:44px;font-size:13px;border-radius:10px}.login-modal{width:min(420px,calc(100vw - 32px));padding:34px 30px 28px;border-radius:20px}.login-modal .modal-close{top:14px;right:14px;width:36px;height:36px;color:var(--muted)}.login-modal>.eyebrow{font-size:9px;letter-spacing:2px;color:var(--accent)}.login-modal h2{font:500 27px/1.55 Songti SC,"Noto Serif SC",serif;letter-spacing:.5px;margin:12px 0 8px}.login-modal .login-intro{margin:0;color:var(--muted);font-size:12px;line-height:1.8}.login-modal>form{gap:14px;margin:26px 0 18px}.login-modal .login-field{position:relative}.login-modal .login-field input{height:56px;width:100%;margin:0;padding:24px 14px 8px;border-radius:10px;border:1px solid var(--hairline);background:var(--input-bg);font-size:16px;line-height:1.5;transition:border-color .16s,box-shadow .16s}.login-modal .login-field label{position:absolute;left:14px;top:50%;transform:translateY(-50%);pointer-events:none;margin:0;font-size:14px;line-height:1;color:var(--muted);transform-origin:left center;transition:top .14s,transform .14s,font-size .14s}.login-modal .login-field input:is(:focus,:not(:placeholder-shown),:autofill)+label{top:10px;transform:none;font-size:10px}.login-modal .login-field input:focus+label{color:var(--accent)}.login-modal .login-field input::placeholder{color:transparent}.login-modal .login-field input:focus::placeholder{color:var(--muted);opacity:.65}.login-modal .login-code-field input{padding-right:122px;letter-spacing:2px}.login-modal .login-send-code{position:absolute;right:8px;top:8px;min-height:40px;min-width:96px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:8px 10px;border-radius:999px;border:0;background:var(--accent-soft);color:var(--accent);font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums}.login-modal .login-send-code:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 16%,transparent)}.login-modal .login-sent{display:flex;align-items:center;gap:5px;margin:-5px 0 0;color:var(--muted);font-size:11px;line-height:1.7}.login-modal .login-consent{margin-top:6px;line-height:1.9}.login-modal>form>.primary{width:100%;min-height:46px;border-radius:10px;font-size:13px;margin-top:2px}.login-modal .login-privacy{display:flex;align-items:center;justify-content:center;gap:6px;font-size:10px;line-height:1.8;color:var(--muted)}.login-modal>form>.error{font-size:12px;line-height:1.7;margin:0}.login-modal .test-note{margin:0;padding:8px 10px;font-size:10px!important}.login-spinner{animation:gift-turn 1s linear infinite}@media(max-width:480px){.login-modal{padding:30px 22px 24px;border-radius:18px}.login-modal h2{font-size:25px}.login-modal>form{margin-top:24px}.login-modal .login-privacy{font-size:10px;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.login-modal .login-field :is(input,label){transition:none}.login-spinner{animation:none}}.is-making .songletter-studio .gift-form{padding-bottom:102px}.is-making .songletter-studio .gift-form-actions{position:fixed!important;left:var(--action-left,24px);bottom:0!important;width:var(--action-width, calc(100% - 48px) );z-index:12;display:flex;align-items:center;flex-wrap:nowrap;gap:10px;margin:0;padding:14px 0 max(14px,env(safe-area-inset-bottom));min-height:76px;background:var(--bg);border-top:1px solid var(--hairline);box-shadow:0 -14px 24px -24px var(--muted)}.gift-panel :is(.gift-btn,.gift-text),:is(.primary,.secondary),.song-send,.login-send-code{font-family:var(--font-sans);line-height:1.2;align-items:center;justify-content:center}.gift-panel .gift-btn,.gift-panel .gift-text{display:inline-flex}.is-making .gift-form-actions>.gift-text:first-child{max-width:none;min-width:49px;white-space:nowrap;font-size:10px!important;gap:4px}.save-spinner{animation:gift-turn 1s linear infinite}.is-making .song-conversation-actions{align-items:center;gap:10px;flex-wrap:wrap}.is-making .song-send{width:auto;height:auto;min-height:44px;display:inline-flex;gap:10px;padding:9px 12px;border-radius:10px;background:var(--accent-soft);color:var(--accent);margin-left:auto}.song-send>span{display:flex;align-items:center;gap:7px;font-size:12px;white-space:nowrap}.song-send .song-turns{font-size:10px;font-weight:400;opacity:.8}.is-making .personal-touches{margin-top:0;margin-bottom:26px}.is-making .summary-list+.gift-passphrase-setting{margin:0 0 24px;padding:16px 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}.audition-player{display:block}.song-audio-player{display:flex;position:relative;flex-wrap:wrap;align-items:center;gap:12px;width:100%;padding:12px 0 2px;color:var(--text)}.song-audio-player>audio{display:none}.song-audio-toggle{display:grid;place-items:center;flex:none;width:40px;height:40px;padding:0;border-radius:50%;border:1px solid var(--hairline);background:var(--accent-soft);color:var(--accent)}.song-audio-toggle svg{display:block}.song-audio-toggle:has(svg.lucide-play) svg{margin-left:2px}.song-audio-track{flex:1;min-width:0}.song-audio-progress{display:flex;align-items:center;gap:8px;min-height:26px}.song-audio-time{display:flex;justify-content:space-between;gap:10px;font-size:10px;line-height:1.5;color:var(--muted);font-variant-numeric:tabular-nums}.song-audio-error{width:100%;display:flex;align-items:center;gap:10px;margin:4px 0 0;font-size:11px;color:var(--muted)}.song-audio-error button{color:var(--accent);min-height:32px}.audio-spinner{animation:gift-turn 1s linear infinite}.songletter-studio .gift-form .song-audio-progress input,.gl-track-progress input[type=range]{appearance:none;-webkit-appearance:none;flex:1;min-width:0;display:block;width:100%;height:26px!important;min-height:0;padding:0;margin:0!important;border:0;border-radius:0;background:transparent;box-shadow:none;cursor:pointer;outline:none}.song-audio-progress input::-webkit-slider-runnable-track,.gl-track-progress input::-webkit-slider-runnable-track{height:3px;border-radius:99px;background:linear-gradient(to right,var(--accent) var(--played,0%),var(--hairline) var(--played,0%))}.song-audio-progress input::-webkit-slider-thumb,.gl-track-progress input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:10px;height:10px;border-radius:50%;margin-top:-3.5px;background:var(--accent);border:2px solid var(--surface-2);box-shadow:0 0 0 1px var(--accent)}.song-audio-progress input::-moz-range-track,.gl-track-progress input::-moz-range-track{height:3px;border-radius:99px;background:var(--hairline)}.song-audio-progress input::-moz-range-progress,.gl-track-progress input::-moz-range-progress{height:3px;border-radius:99px;background:var(--accent)}.song-audio-progress input::-moz-range-thumb,.gl-track-progress input::-moz-range-thumb{width:7px;height:7px;border-radius:50%;background:var(--accent);border:2px solid var(--surface-2);box-shadow:0 0 0 1px var(--accent)}.song-audio-progress input:focus-visible,.gl-track-progress input:focus-visible{outline:1px solid var(--accent);outline-offset:2px;border-radius:5px}.gift-letter .gl-player{--accent:var(--scene-ink);--surface-2:var(--paper);--hairline:color-mix(in srgb,var(--scene-ink) 18%,transparent);gap:14px;padding:12px 14px;border:1px solid var(--hairline);border-radius:14px;background:color-mix(in srgb,var(--paper) 45%,transparent)}.gift-letter .gl-play{width:44px;height:44px;color:var(--scene-ink);background:color-mix(in srgb,var(--scene-ink) 7%,transparent);border-color:color-mix(in srgb,var(--scene-ink) 20%,transparent)}.gift-letter .gl-track{min-width:0}.gift-letter .gl-track strong{font-weight:500;line-height:1.5}.gift-letter .gl-time{font-size:10px;opacity:.75}.gift-letter .gl-song-dedication{font-size:10px;line-height:1.7}.gift-letter.live .gl-player{padding:8px 10px;gap:10px}.gift-letter.live .gl-play{width:36px;height:36px}.gift-letter.live .gl-play>svg{width:15px;height:15px}@media(max-width:760px){.is-making .songletter-studio .gift-form-actions{left:0;width:100%;padding:12px 22px max(12px,env(safe-area-inset-bottom));gap:8px}.is-making .songletter-studio .gift-form{padding-bottom:98px}.is-making .song-conversation-actions{gap:6px}.is-making .song-send{padding-inline:10px}.song-send>span{font-size:11px}.song-send .song-turns{font-size:10px}.gift-letter .gl-player{padding:10px;gap:10px}.gift-letter .gl-song-dedication{display:none}}@media(max-width:359px){.is-making .songletter-studio .gift-form-actions{padding-inline:16px;gap:6px}.is-making .gift-form-actions>.gift-btn{padding-inline:10px}.is-making .song-send{gap:5px}.song-send>span{gap:5px}.is-making .song-from-letter{font-size:10px!important}}@media(prefers-reduced-motion:reduce){.save-spinner,.audio-spinner{animation:none}}.gift-letter.live .gl-track-progress input{display:block}.gift-letter.live .gl-time{display:flex}html:has(.is-making){scroll-padding-bottom:110px}.is-making .gift-form :is(input,textarea,button){scroll-margin-bottom:110px}.is-making .gift-compose-step h3{scroll-margin-top:calc(var(--chrome-height,72px) + 76px)}[data-keyboard=open] .is-making .songletter-studio .gift-form-actions{bottom:max(0px,calc(100dvh - var(--visual-height,100dvh) - var(--visual-top,0px)))!important}@media(max-width:760px){.is-making .song-conversation textarea.song-direction{min-height:112px}}.site-header .brand-monogram{width:38px;height:38px;transform:none;font:inherit;color:var(--accent)}html[data-theme=warm] .site-header .brand-monogram{color:var(--brand-logo)}.delivery-seal .songletter-mark{width:34px;height:34px;--logo-paper:var(--accent)}@media(max-width:760px){.site-header .brand-monogram{width:32px;height:32px}}.is-making .songletter-studio .gift-form-actions{display:grid;grid-template-columns:84px 60px minmax(0,1fr) 52px max-content;gap:8px;min-height:76px;padding-block:12px max(12px,env(safe-area-inset-bottom))}.is-making .songletter-studio .gift-form-actions>button{box-sizing:border-box;height:44px;min-height:44px;min-width:0;margin:0;padding:0 8px;font-size:12px!important;line-height:1.2;gap:5px}.is-making .songletter-studio .gift-form-actions>.save-control{grid-column:1;display:grid;grid-template-columns:14px minmax(0,1fr);width:84px;max-width:none;padding:0 3px;font-size:11px!important;gap:4px;white-space:nowrap;text-align:left}.save-indicator{display:grid;place-items:center;width:14px;height:14px}.save-label{white-space:nowrap}.is-making .songletter-studio .gift-form-actions>.previous-trigger{grid-column:4}.is-making .songletter-studio .gift-form-actions :is(.preview-trigger,.previous-trigger){border:0;border-radius:8px;background:transparent;box-shadow:none;color:var(--muted);padding-inline:4px}.is-making .songletter-studio .gift-form-actions :is(.preview-trigger,.previous-trigger):hover{background:transparent;color:var(--accent)}.is-making .songletter-studio .gift-form-actions>.preview-trigger{grid-column:2;color:color-mix(in srgb,var(--brand-link) 70%,var(--text));font-size:13px!important;font-weight:600;gap:4px;padding-inline:2px}.is-making .songletter-studio .gift-form-actions>.preview-trigger:hover{color:color-mix(in srgb,var(--brand-link) 70%,var(--text));text-decoration:underline;text-underline-offset:4px}.is-making .songletter-studio .gift-form-actions>.primary{grid-column:5;width:auto;min-width:112px;justify-self:end;border-radius:24px;white-space:nowrap}.is-making .songletter-studio .gift-form-actions .gift-free{font-size:10px;padding-left:6px}.is-making .songletter-studio .gift-form-actions .preview-trigger>svg{display:block;width:14px;height:14px;flex:none}@media(max-width:760px){.is-making .songletter-studio .gift-form-actions{grid-template-columns:76px 52px minmax(0,1fr) 48px max-content;gap:8px}.is-making .songletter-studio .gift-form-actions>.save-control{width:76px}}@media(max-width:389px){.is-making .songletter-studio .gift-form-actions{grid-template-columns:68px 44px minmax(0,1fr) 44px max-content;gap:4px!important}.is-making .songletter-studio .gift-form-actions>.preview-trigger{font-size:12px!important;gap:3px;padding-inline:0}.is-making .songletter-studio .gift-form-actions>.save-control{width:68px;font-size:10px!important;padding-inline:1px;gap:3px}.is-making .songletter-studio .gift-form-actions>.primary{min-width:0;font-size:11px!important;padding-inline:6px;gap:4px}.is-making .songletter-studio .gift-form-actions .gift-free{font-size:9px;padding-left:4px}}.is-making .songletter-studio .gift-form.is-writing{display:flex;flex-direction:column;min-height:calc(100svh - 92px)}.is-making .gift-form.is-writing>fieldset{display:contents}.is-making .gift-form.is-writing>fieldset>:not(.letter-body-field){flex-shrink:0}.is-making .gift-form.is-writing .letter-body-field{display:flex;flex-direction:column;flex:1}.is-making .gift-form.is-writing textarea#letter-body{flex:1}
