.artwork-image[data-v-edf58a5a]{display:block;pointer-events:none}.artwork-image>img[data-v-edf58a5a],.artwork-image[data-v-edf58a5a] svg{display:block;width:100%;height:100%;object-fit:contain}.greeting-chapter[data-v-60cb0ec4]{padding:105px 24px 90px;background:radial-gradient(ellipse at 50% 50%,var(--background-soft),var(--background-deep) 75%);text-align:center}.greeting-content[data-v-60cb0ec4]{position:relative;z-index:2;max-width:1000px;margin:auto}.greeting-glow[data-v-60cb0ec4]{position:absolute;inset:18% 10%;background:radial-gradient(ellipse,color-mix(in srgb,var(--primary-color),transparent 88%),transparent 68%);pointer-events:none}.greeting-read-full[data-v-60cb0ec4]{border:1px solid #c2a06255;border-radius:99px;background:#fffdf80c;color:var(--gold-color);padding:11px 18px;font-size:12px;cursor:pointer}.greeting-read-overlay[data-v-60cb0ec4]{position:fixed;inset:0;z-index:500;display:grid;place-items:center;overflow:auto;background:#080b13ef;padding:max(18px,env(safe-area-inset-top)) 16px max(18px,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.greeting-read-paper[data-v-60cb0ec4]{position:relative;width:min(600px,100%);max-height:82dvh;overflow:auto;border:8px solid #efe9df;background:linear-gradient(90deg,#eadfcf,#fffbf1 8%,#fffaf0);padding:clamp(24px,7vw,48px);color:#68544b;box-shadow:0 28px 90px #0008;text-align:center}.greeting-read-paper h3[data-v-60cb0ec4]{margin:0 0 24px;font-family:Songti SC,SimSun,serif;font-size:clamp(22px,5vw,32px);font-weight:400;overflow-wrap:anywhere}.greeting-read-paper .greeting-page-star[data-v-60cb0ec4]{display:block;margin:8px 0 24px}.greeting-read-paper .greeting-recipient[data-v-60cb0ec4]{margin:0 0 18px}.greeting-read-text[data-v-60cb0ec4]{margin:0;color:#57483e;font-size:16px;line-height:2.1;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere}.greeting-read-paper .greeting-divider[data-v-60cb0ec4]{display:block;margin-top:24px}.greeting-read-paper .greeting-signature[data-v-60cb0ec4]{margin:16px 0 0;text-align:right}.greeting-read-close[data-v-60cb0ec4]{position:sticky;top:0;float:right;margin:-16px -13px 0 0;border:0;background:transparent;color:#705b4e;font-size:30px;cursor:pointer}.greeting-stage[data-v-60cb0ec4]{--card-color: #efe9df;--card-ink: #745759;--card-accent: #a66d82;width:min(100%,710px);margin:45px auto 34px;padding:26px 15px;perspective:1800px}.greeting-stage[data-design=blossom][data-v-60cb0ec4]{--card-color: #883949;--card-ink: #ffebdb;--card-accent: #f0d1ad}.greeting-stage[data-design=starlight][data-v-60cb0ec4]{--card-color: #f2e8cd;--card-ink: #755d39;--card-accent: #a48143}.greeting-stage[data-design=bunny][data-v-60cb0ec4]{--card-color: #bf6b90;--card-ink: #fff7ec;--card-accent: #fae0be}.greeting-book[data-v-60cb0ec4]{position:relative;width:50%;aspect-ratio:3 / 4;margin-left:50%;transform:translate(-50%) rotate(-3deg);transform-style:preserve-3d;transition:transform 1.25s cubic-bezier(.22,.65,.15,1)}.is-open .greeting-book[data-v-60cb0ec4]{transform:translate(0) rotate(0)}.greeting-page[data-v-60cb0ec4]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:safe center;overflow-y:auto;scrollbar-width:thin;padding:9%;border:5px solid var(--card-color);color:#68544b;background:linear-gradient(90deg,#eadfcf,#fffbf1 8%,#fffaf0);box-shadow:4px 8px 20px #0003}.greeting-page[data-v-60cb0ec4]>*{flex-shrink:0}.greeting-page[data-v-60cb0ec4]:after{content:"";position:absolute;inset:8px;border:1px solid #c9ad7955;pointer-events:none}.greeting-page-star[data-v-60cb0ec4]{color:#bb9652;font-size:19px;margin-bottom:10%}.greeting-recipient[data-v-60cb0ec4]{margin:0 0 8%;color:#a18970;font-size:clamp(8px,1.3vw,10px);letter-spacing:.17em;overflow-wrap:anywhere}.greeting-page h3[data-v-60cb0ec4]{margin:0 0 9%;font-family:Songti SC,SimSun,serif;font-size:clamp(16px,3.2vw,28px);font-weight:400;overflow-wrap:anywhere}.greeting-message[data-v-60cb0ec4]{width:100%;margin:0;font-size:clamp(10px,1.65vw,14px);line-height:2;white-space:pre-line;overflow-wrap:anywhere}.greeting-divider[data-v-60cb0ec4]{margin-top:7%;color:#c2a062;font-size:20px}.greeting-signature[data-v-60cb0ec4]{max-width:100%;margin:6% 0 0;font-size:clamp(9px,1.5vw,12px);overflow-wrap:anywhere}.greeting-cover[data-v-60cb0ec4]{position:absolute;inset:0;transform-origin:left center;transform-style:preserve-3d;transition:transform 1.25s cubic-bezier(.22,.65,.15,1)}.is-open .greeting-cover[data-v-60cb0ec4]{transform:rotateY(-180deg)}.greeting-cover-front[data-v-60cb0ec4],.greeting-cover-inside[data-v-60cb0ec4]{position:absolute;inset:0;border:0;color:var(--card-ink);background:var(--card-color);backface-visibility:hidden;-webkit-backface-visibility:hidden}.greeting-cover-front[data-v-60cb0ec4]{display:block;width:100%;padding:0;cursor:pointer;transform:translateZ(1px);box-shadow:4px 12px 25px #0004}.greeting-cover-frame[data-v-60cb0ec4]{position:absolute;inset:12px;border:1px solid color-mix(in srgb,var(--card-accent),transparent 50%)}.greeting-art[data-v-60cb0ec4]{position:absolute;inset:-4% 0 0;width:100%;height:92%;pointer-events:none}.greeting-cover-type[data-v-60cb0ec4]{position:absolute;left:12%;right:12%;bottom:14%;display:grid;gap:7px;text-shadow:0 1px 8px var(--card-color)}.greeting-cover-type small[data-v-60cb0ec4]{font-size:clamp(7px,1.3vw,9px);letter-spacing:.24em}.greeting-cover-type strong[data-v-60cb0ec4]{font-family:Playfair Display,Georgia,serif;font-weight:400;font-style:italic;font-size:clamp(22px,5vw,44px);line-height:.98}.greeting-cover-type>span[data-v-60cb0ec4]{font-size:clamp(9px,1.6vw,12px);margin-top:3px;overflow-wrap:anywhere}.greeting-cover-hint[data-v-60cb0ec4]{position:absolute;bottom:5%;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:6px;font-size:clamp(8px,1.3vw,10px);opacity:.75}.greeting-stage[data-design=lily] .greeting-cover-type[data-v-60cb0ec4]{left:34%;right:6%;bottom:24%}.greeting-stage[data-design=starlight] .greeting-cover-type[data-v-60cb0ec4]{bottom:33%}.greeting-stage[data-design=bunny] .greeting-cover-type[data-v-60cb0ec4]{bottom:20%}.greeting-cover-inside[data-v-60cb0ec4]{transform:rotateY(180deg);box-shadow:inset -10px 0 18px #00000013,-3px 8px 20px #0003}.greeting-inside-art[data-v-60cb0ec4]{position:absolute;left:0;top:2%;width:100%;height:85%;opacity:.72}.greeting-inside-note[data-v-60cb0ec4]{position:absolute;right:9%;bottom:15%;font-family:Songti SC,SimSun,serif;font-size:clamp(11px,2vw,17px);line-height:2;letter-spacing:.12em}.greeting-inside-star[data-v-60cb0ec4]{position:absolute;bottom:6%;left:12%;font-size:22px;color:var(--card-accent)}.greeting-actions[data-v-60cb0ec4]{display:grid;justify-items:center;gap:24px}.greeting-actions .pill-button[data-v-60cb0ec4]{min-width:220px}.greeting-footnote[data-v-60cb0ec4]{margin:0;color:var(--muted-color);font-size:10px;letter-spacing:.1em}@media(min-width:481px)and (max-width:767px){.greeting-message[data-v-60cb0ec4]{font-size:14px;line-height:1.9;text-wrap:balance}.greeting-recipient[data-v-60cb0ec4],.greeting-signature[data-v-60cb0ec4]{font-size:12px}.greeting-page h3[data-v-60cb0ec4]{font-size:24px}}@media(max-width:480px){.greeting-chapter[data-v-60cb0ec4]{padding:64px max(14px,env(safe-area-inset-left)) 60px max(14px,env(safe-area-inset-right))}.greeting-book[data-v-60cb0ec4]{aspect-ratio:1 / 2}.greeting-stage[data-v-60cb0ec4]{margin-top:30px;padding:22px 4px}.greeting-page[data-v-60cb0ec4]{padding:8%;border-width:3px}.greeting-page[data-v-60cb0ec4]:after{inset:5px}.greeting-cover-frame[data-v-60cb0ec4]{inset:7px}.greeting-page-star[data-v-60cb0ec4]{margin-bottom:6%;font-size:14px}.greeting-message[data-v-60cb0ec4]{font-size:13px;line-height:1.9;text-wrap:balance}.greeting-recipient[data-v-60cb0ec4],.greeting-signature[data-v-60cb0ec4]{font-size:11px}.greeting-page h3[data-v-60cb0ec4]{font-size:22px;line-height:1.4}.greeting-cover-type strong[data-v-60cb0ec4]{font-size:30px}.greeting-cover-type>span[data-v-60cb0ec4]{font-size:12px}.greeting-cover-hint[data-v-60cb0ec4]{font-size:11px}.greeting-inside-note[data-v-60cb0ec4]{font-size:14px}.greeting-actions[data-v-60cb0ec4]{gap:18px}.greeting-divider[data-v-60cb0ec4]{margin-top:5%;font-size:16px}}@media(max-width:360px){.greeting-book[data-v-60cb0ec4]{aspect-ratio:4 / 9}.greeting-message[data-v-60cb0ec4]{font-size:12px}.greeting-page h3[data-v-60cb0ec4]{font-size:20px}.greeting-cover-type strong[data-v-60cb0ec4]{font-size:26px}}@media(prefers-reduced-motion:reduce){.greeting-book[data-v-60cb0ec4],.greeting-cover[data-v-60cb0ec4]{transition-duration:.01ms}}.birthday-label{min-width:0}.birthday-fields{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,.65fr) auto minmax(0,.65fr);align-items:center;gap:5px}.birthday-fields input{width:100%;min-width:0;text-align:center}.birthday-fields i{color:#8793aa;font-style:normal}.birthday-label>small{color:#a9b5ce;font-size:10px}.service-promise{display:grid;grid-template-columns:95px minmax(0,1fr);gap:8px 12px;margin:18px 0;border:1px solid #b4e4d521;border-radius:11px;background:#b4e4d506;padding:14px;color:#a9b5ce;font-size:10px;line-height:1.7}.service-promise b{color:#b4e4d5;font-size:10px;font-weight:500}.confirm-photos{display:flex;gap:9px;overflow:auto;margin:14px 0 4px;padding:2px 0 5px}.confirm-photos figure{flex:none;width:78px;margin:0}.confirm-photos img{width:78px;height:66px;border-radius:8px;object-fit:cover}.confirm-photos figcaption{overflow:hidden;margin-top:4px;color:#a9b5ce;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.contact-phone-field{display:grid;gap:8px;margin:18px 0 4px;color:#e2eaf5;font-size:11px}.contact-phone-field>input{width:100%;min-height:44px;border:1px solid #ffffff19;border-radius:9px;background:#090f1b;color:#edf2f8;padding:11px 12px;font-size:15px}.contact-phone-field>input:focus{border-color:#b4e4d584;outline:none;box-shadow:0 0 0 3px #b4e4d50b}.contact-phone-field small{color:#a9b5ce;font-size:10px;line-height:1.65}.contact-consent,.content-consent{display:flex;align-items:flex-start;gap:8px;color:#b9c7d8;font-size:10px;line-height:1.6}.contact-consent input,.content-consent input{flex:none;width:15px;height:15px;margin-top:1px;accent-color:#b4e4d5}.privacy-details{margin-top:9px;border:1px solid #ffffff13;border-radius:9px;background:#ffffff03;padding:10px 12px;color:#c4cedb;font-size:10px;line-height:1.75}.privacy-details summary{cursor:pointer;color:#b4e4d5}.privacy-details p{margin:8px 0 0;color:#a9b5ce}.order-reference{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 12px;max-width:100%;overflow-wrap:anywhere;text-align:center}.order-reference small{color:#a9b5ce;font:10px/1.6 monospace}.order-reference .text-link{font-size:10px}.wechat-contact{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:9px;margin:4px 0 8px;border:1px solid #b4e4d538;border-radius:11px;background:#b4e4d509;padding:12px}.wechat-contact span{color:#a9b5ce;font-size:11px}.wechat-contact b{color:#d8f4e9;font-size:14px;letter-spacing:.03em}.wechat-contact .ghost-button{min-height:36px;padding-inline:12px;font-size:11px}.wechat-pending{color:#a9b5ce;font-size:11px}.sample-link{display:inline-flex;align-items:center;gap:6px;margin-top:8px;border:0;background:none;color:#b4e4d5;font-size:10px;cursor:pointer}.sample-link:hover{color:#fff}.sample-preview-overlay{position:fixed;inset:0;z-index:150;overflow:auto;background:var(--platform-bg,#080c17)}.sample-preview-overlay .full-preview-bar>div{display:flex;align-items:center;gap:8px}.sample-use-button{display:inline-flex;align-items:center;gap:6px;min-height:37px;border:1px solid #b4e4d585;border-radius:8px;background:#b4e4d51c;color:#d8f4e9;padding:0 12px;font-size:11px;cursor:pointer}.sample-preview-overlay>.studio{min-height:100%;overflow:visible}.photo-row{grid-template-columns:58px minmax(0,1fr) auto;align-items:start}.photo-row>img{width:58px;height:auto;aspect-ratio:3/3.7;object-fit:cover}.photo-details{display:grid;gap:9px;min-width:0}.photo-adjust{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:8px}.photo-adjust label{display:grid;gap:4px;color:#a9b5ce;font-size:9px}.photo-adjust input{width:100%;height:18px;margin:0;accent-color:#b4e4d5}.photo-adjust button{min-height:27px;border:1px solid #ffffff1b;border-radius:6px;background:#ffffff06;color:#cdd7e5;padding:0 7px;font-size:9px;cursor:pointer}.confirm-photos figure{width:63px}.confirm-photos img{width:63px;height:auto;aspect-ratio:3/3.7;border-radius:7px;object-fit:cover}@media(max-width:720px){.photo-row{grid-template-columns:52px minmax(0,1fr) auto;gap:8px}.photo-row>img{width:52px;height:auto;aspect-ratio:3/3.7}.photo-adjust{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5px}.photo-adjust button{grid-column:2;justify-self:end}.photo-controls{flex-direction:column}.sample-preview-overlay .full-preview-bar{gap:8px;align-items:flex-start}.sample-preview-overlay .full-preview-bar>div{flex-wrap:wrap;justify-content:flex-end}.sample-preview-overlay .full-preview-bar>span{line-height:1.6}.sample-use-button,.sample-preview-overlay .full-preview-bar .ghost-button{min-height:34px;font-size:9px;padding-inline:8px}}:root{--platform-bg:#080c17;--platform-panel:#11192a;--platform-text:#f1f4fa;--platform-muted:#a9b5ce;--platform-accent:#b4e4d5;--platform-lavender:#9e96cc;--platform-ease:cubic-bezier(.2,.75,.3,1)}html:has(.studio){scroll-behavior:smooth;scroll-padding-top:98px}body:has(.studio){min-width:320px;margin:0;background:var(--platform-bg);color:var(--platform-text);font-family:Inter,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--platform-accent);outline-offset:4px}.studio{min-height:100vh;overflow:clip;background:radial-gradient(ellipse 68% 42% at 78% -5%,#27274170,transparent 72%),radial-gradient(ellipse 50% 34% at -10% 30%,#182b3c45,transparent 72%),var(--platform-bg);color:var(--platform-text);--theme-a:#e4aabc;--theme-b:#b5a2d9;--theme-bg:#191426}.studio.theme-star-night{--theme-a:#a9c5f4;--theme-b:#8f96df;--theme-bg:#10182a}.studio.theme-luxury-black{--theme-a:#dfc99e;--theme-b:#b49778;--theme-bg:#171513}.studio button,.studio a{touch-action:manipulation}.glass{background:linear-gradient(135deg,#99abd013,#181f3357);border:1px solid rgba(186,203,236,.13);box-shadow:0 24px 70px -34px #000a,inset 0 1px #ffffff0d;-webkit-backdrop-filter:blur(22px) saturate(125%);backdrop-filter:blur(22px) saturate(125%)}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.studio .glass{background:#151d2e}}.site-announcement{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px max(20px,calc((100vw - 1240px)/2));border-bottom:1px solid #b4e4d528;background:linear-gradient(90deg,#b4e4d510,#b4e4d506);color:#dce9e2;font-size:12px;line-height:1.7;animation:announcement-in .35s ease-out both}.announcement-copy{display:flex;align-items:baseline;gap:10px;min-width:0}.site-announcement b{color:#b4e4d5;flex:none}.site-announcement[data-level=warning]{border-bottom-color:#dfbc7650;background:linear-gradient(90deg,#dfbc7612,#dfbc7605)}.site-announcement[data-level=warning] b{color:#e8cb91}.site-announcement[data-level=important]{border-bottom-color:#e88da457;background:linear-gradient(90deg,#e88da412,#e88da405)}.site-announcement[data-level=important] b{color:#f1a9b8}.announcement-copy>span{white-space:pre-wrap;overflow-wrap:anywhere}.site-announcement-close{display:grid;flex:none;width:30px;height:30px;place-items:center;border:1px solid #b4e4d526;border-radius:50%;background:#ffffff05;color:#c8d8d4;font-size:20px;cursor:pointer;transition:background .2s,transform .2s}.site-announcement-close:hover{transform:rotate(90deg);background:#b4e4d514}@keyframes announcement-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.site-announcement{align-items:flex-start;gap:9px;padding:10px 14px;font-size:11px}.announcement-copy{display:grid;gap:3px}.site-announcement-close{width:28px;height:28px}}.maintenance-banner{position:fixed;z-index:300;inset:0;display:grid;place-content:center;gap:14px;background:#080c17f2;color:#f1f4fa;padding:30px;text-align:center;font-size:16px;line-height:1.8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.studio-nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:14px max(28px,calc((100vw - 1320px)/2));border-bottom:1px solid #c4cee50b;background:#080c17c9;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.studio-brand{display:inline-flex;align-items:center;gap:11px;color:var(--platform-text);text-decoration:none;font-size:15px;letter-spacing:.02em}.studio-brand>span:last-child{display:flex;flex-direction:column;gap:2px}.studio-brand b{font-weight:500}.studio-brand small{color:var(--platform-muted);font-size:8px;letter-spacing:.23em}.brand-mark{display:grid;width:36px;height:36px;place-items:center;border:1px solid #b4e4d54d;border-radius:13px;background:#b4e4d50c;color:var(--platform-accent);font-size:20px}.studio-nav nav{display:flex;align-items:center;gap:32px}.studio-nav nav a,.text-link,.back-link{color:var(--platform-muted);font-size:13px;text-decoration:none;transition:color .2s}.studio-nav nav a:hover,.text-link:hover,.back-link:hover{color:#fff}.nav-start,.mint-button,.ghost-button,.arrow-button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:10px;border-radius:12px;padding:0 18px;font-size:13px;font-weight:550;cursor:pointer;text-decoration:none;transition:transform .25s var(--platform-ease),background .25s,border-color .25s,box-shadow .25s}.nav-start,.mint-button{border:1px solid #b4e4d56b;background:var(--platform-accent);color:#101d20;box-shadow:0 5px 24px #b4e4d50d}.nav-start:hover,.mint-button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 10px 28px #b4e4d527}.mint-button:active,.nav-start:active,.ghost-button:active{transform:scale(.975)}.mint-button:disabled{opacity:.52;cursor:not-allowed}.ghost-button{border:1px solid #ffffff20;background:#ffffff05;color:#e5ebf7}.ghost-button:hover{border-color:#b4e4d550;background:#ffffff0a}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--platform-accent);font-family:Inter,Arial,sans-serif;font-size:10px;font-weight:500;letter-spacing:.19em;line-height:1.6}.tiny-orb,.online-dot i{width:6px;height:6px;border-radius:50%;background:var(--platform-accent);box-shadow:0 0 14px #b4e4d577}.studio h1,.studio h2,.studio h3,.studio p{margin-top:0}.studio-hero{position:relative;display:grid;max-width:1290px;min-height:590px;grid-template-columns:1fr .95fr;align-items:center;gap:45px;margin:0 auto;padding:55px 38px 70px}.hero-copy{z-index:2}.hero-copy h1{margin:25px 0 22px;font-size:clamp(45px,6.1vw,78px);font-weight:500;line-height:1.2;letter-spacing:-.065em}.hero-copy h1 em{color:var(--platform-accent);font-style:normal}.hero-copy>p{color:var(--platform-muted);font-size:15px;line-height:2.05}.hero-actions{display:flex;gap:13px;margin-top:30px}.hero-actions .ghost-button{min-height:49px}.hero-proof{display:flex;align-items:center;gap:15px;margin-top:37px;color:#aebad0aa;font-size:10px;letter-spacing:.08em}.hero-proof i{width:19px;height:1px;background:#aebad02c}.hero-stage{position:relative;min-height:500px;display:grid;place-items:center;isolation:isolate}.orbital{position:absolute;width:min(35vw,400px);aspect-ratio:1;border:1px solid #b4e4d50c;border-radius:50%;transform:rotate(-25deg) scaleY(.72)}.orbital-two{width:min(28vw,320px);border-color:#9e96cc21;transform:rotate(28deg) scaleY(.76)}.phone-mock{position:relative;z-index:2;width:228px;min-height:400px;overflow:hidden;border:1px solid #dfe5f030;border-radius:33px;background:linear-gradient(155deg,#151d2e,#0c111e);box-shadow:0 35px 100px #0009,0 0 60px #b4e4d51a;transform:rotate(4deg);animation:phone-float 8s ease-in-out infinite alternate}.phone-top{display:flex;justify-content:center;gap:4px;padding:11px}.phone-top i{width:3px;height:3px;border-radius:50%;background:#cbd4e66d}.phone-image{position:relative;height:143px;overflow:hidden}.phone-image img{width:100%;height:100%;object-fit:cover;opacity:.83}.phone-image span{position:absolute;right:10px;bottom:8px;border:1px solid #ffffff2b;border-radius:99px;background:#07101b9c;padding:5px 8px;color:#eff3fad9;font-size:8px}.phone-text{display:grid;gap:13px;padding:17px 15px}.phone-text small,.phone-text>span{color:#aab9cda3;font-family:Arial,sans-serif;font-size:7px;letter-spacing:.14em}.phone-text strong{color:#f2f4fa;font-family:Georgia,Songti SC,serif;font-size:19px;font-weight:400;line-height:1.75}.phone-bottom{display:flex;justify-content:center;gap:11px;color:#b4e4d58c;font-size:9px}.floating-note{position:absolute;z-index:3;top:19%;left:1%;display:grid;gap:12px;width:224px;border-radius:17px;padding:17px;transform:rotate(-7deg);animation:note-float 9s -3s ease-in-out infinite alternate}.floating-note b{font-family:Georgia,Songti SC,serif;font-size:15px;font-weight:400;line-height:1.8}.note-sign{color:var(--platform-muted);font-size:9px}.floating-memory{position:absolute;right:-1%;bottom:16%;z-index:4;display:grid;gap:5px;width:128px;overflow:hidden;border-radius:13px;padding:7px;transform:rotate(7deg);animation:note-float 8s -2s ease-in-out infinite alternate}.floating-memory img{width:100%;height:74px;border-radius:7px;object-fit:cover}.floating-memory span{padding:2px 4px 4px;color:#c1c9d8b8;font-family:Georgia,serif;font-size:9px;font-style:italic}.hero-flower,.hero-spark{position:absolute;color:var(--platform-accent)}.hero-flower{top:11%;right:11%;font-size:47px;opacity:.3;animation:note-float 11s ease-in-out infinite alternate}.hero-spark{bottom:15%;left:14%;font-size:21px;opacity:.55}.orbit-label{position:absolute;right:7%;top:15%;color:#a9b5ce71;font:9px/1.8 monospace;letter-spacing:.16em}.section-shell,.template-section,.how-section{max-width:1240px;margin-inline:auto;padding-inline:34px}.template-section{padding-top:72px;padding-bottom:85px;border-top:1px solid #ffffff0b}.section-intro{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:30px}.section-intro h2,.section-intro h1{margin:11px 0 0;font-size:clamp(28px,3.5vw,43px);font-weight:450;letter-spacing:-.045em}.muted-copy,.section-intro>div>p{margin:0;color:var(--platform-muted);font-size:12px}.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.template-card{overflow:hidden;border-radius:18px;transition:transform .35s var(--platform-ease),border-color .35s}.template-card:hover{transform:translateY(-5px);border-color:#b4e4d537}.template-art{position:relative;display:block;width:100%;height:267px;overflow:hidden;border:0;background:var(--theme-bg);text-align:left;color:#fff;cursor:pointer}.template-art:after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,#0000 25%,#0a101dd8)}.template-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.46;transition:transform .7s,opacity .4s}.template-card:hover .template-art img{transform:scale(1.04);opacity:.58}.template-art .art-ring{position:absolute;z-index:1;inset:27px 74px;border:1px solid var(--theme-a);border-radius:50%;opacity:.45;transform:rotate(-30deg) scaleY(.57)}.template-art .ring-b{inset:45px 99px;border-color:var(--theme-b);transform:rotate(40deg) scaleY(.68)}.art-flower{position:absolute;z-index:1;top:14%;left:50%;color:var(--theme-a);font-size:65px;text-shadow:0 0 35px var(--theme-a);opacity:.75;transform:translate(-50%)}.art-copy{position:absolute;z-index:2;left:22px;bottom:20px;display:grid;gap:8px}.art-copy small{color:var(--theme-a);font-size:8px;letter-spacing:.19em}.art-copy b{font-family:Georgia,Songti SC,serif;font-size:20px;font-weight:400;line-height:1.4}.art-tag{position:absolute;z-index:2;top:17px;right:16px;border:1px solid #ffffff43;border-radius:99px;background:#10152370;padding:6px 10px;color:#fff;font-size:8px;letter-spacing:.1em}.template-art[data-theme]{--theme-a:#e4aabc}.template-card[data-theme=star-night]{--theme-a:#adc6f3;--theme-b:#8f96df;--theme-bg:#10182a}.template-card[data-theme=luxury-black]{--theme-a:#dfc99e;--theme-b:#b49778;--theme-bg:#171513}.template-meta{display:flex;align-items:center;justify-content:space-between;padding:17px 17px 15px}.template-meta h3{margin:0 0 5px;font-size:15px;font-weight:520}.template-meta p{margin:0;color:var(--platform-muted);font-size:11px}.arrow-button{width:39px;min-height:39px;padding:0;border:1px solid #ffffff1a;background:#ffffff05;color:var(--theme-a);border-radius:12px}.arrow-button:hover{background:#ffffff10;transform:translate(1px,-2px)}.how-section{padding-top:12px;padding-bottom:90px}.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--platform-accent);border:0;background:none;cursor:pointer}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.step-card{position:relative;min-height:188px;border-top:1px solid #9e96cc33;padding:19px 17px}.step-no{color:#a9b5ce70;font-family:monospace;font-size:10px}.step-icon{position:absolute;top:13px;right:18px;color:var(--platform-accent);font-size:22px}.step-card h3{margin:29px 0 8px;font-size:15px;font-weight:500}.step-card p{max-width:260px;color:var(--platform-muted);font-size:12px;line-height:1.85}.step-line{position:absolute;right:16px;bottom:18px;width:19px;height:1px;background:#b4e4d56b}.cta-panel{position:relative;max-width:1150px;overflow:hidden;margin:0 auto 64px;border-radius:21px;padding:39px 46px}.cta-panel h2{margin:12px 0 21px;font-family:Georgia,Songti SC,serif;font-size:clamp(27px,4vw,42px);font-weight:400;line-height:1.45}.cta-flower{position:absolute;right:8%;top:2%;color:#b4e4d51b;font-size:183px}.studio-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1240px;margin:auto;padding:23px 35px 29px;border-top:1px solid #ffffff0d;color:var(--platform-muted);font-size:11px}.studio-footer>a:last-child{color:var(--platform-accent);text-decoration:none}.editor-page,.works-page{max-width:1330px;margin:auto;padding:27px 35px 90px}.back-link{display:inline-flex;align-items:center;gap:7px;border:0;background:none;cursor:pointer}.editor-heading{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:28px 0 19px}.editor-heading>div{position:absolute;left:50%;text-align:center;transform:translate(-50%)}.editor-heading h1{margin:5px 0 0;font-size:clamp(20px,2.4vw,29px);font-weight:470;letter-spacing:-.04em}.save-state{display:flex;align-items:center;gap:7px;color:var(--platform-muted);font-size:10px}.save-state i{width:6px;height:6px;border-radius:50%;background:var(--platform-accent)}.editor-steps{display:flex;justify-content:center;gap:40px;margin:27px 0 24px}.editor-steps button{position:relative;display:flex;align-items:center;gap:9px;border:0;background:none;color:#a9b5ce80;font-size:11px;cursor:pointer}.editor-steps button>span{display:grid;width:29px;height:29px;place-items:center;border:1px solid #ffffff20;border-radius:50%;font-family:monospace;font-size:10px}.editor-steps button.current{color:#e5edf5}.editor-steps button.current>span,.editor-steps button.done>span{border-color:#b4e4d569;background:#b4e4d514;color:var(--platform-accent)}.editor-steps button>i{position:absolute;left:calc(100% + 11px);width:29px;height:1px;background:#ffffff19}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:18px}.editor-main{min-width:0;border-radius:18px;padding:28px 31px 25px}.form-title{margin-bottom:26px}.form-title .eyebrow,.editor-divider .eyebrow{font-size:9px}.form-title h2{margin:8px 0;font-size:22px;font-weight:480;letter-spacing:-.035em}.form-title p,.editor-divider p{margin:0;color:var(--platform-muted);font-size:11px;line-height:1.85}.form-title p b{color:var(--theme-a)}.editor-themes{display:grid;gap:9px}.theme-option{display:grid;grid-template-columns:87px 1fr 19px;align-items:center;gap:15px;min-height:90px;border:1px solid #ffffff13;border-radius:13px;background:#ffffff03;padding:8px 13px;color:var(--platform-text);text-align:left;cursor:pointer;transition:border-color .22s,background .22s,transform .22s}.theme-option:hover{transform:translateY(-1px);border-color:#ffffff36}.theme-option.selected{border-color:#b4e4d58c;background:#b4e4d50a}.theme-thumb{position:relative;height:68px;overflow:hidden;border-radius:8px;background:var(--theme-bg)}.theme-thumb img{width:100%;height:100%;object-fit:cover;opacity:.65}.theme-thumb i{position:absolute;top:50%;left:50%;color:var(--theme-a);font-size:22px;font-style:normal;text-shadow:0 0 12px var(--theme-a);transform:translate(-50%,-50%)}.theme-option>span:nth-child(2){display:grid;gap:6px}.theme-option strong{font-size:13px;font-weight:500}.theme-option small{color:var(--platform-muted);font-size:10px}.radio-dot{width:14px;height:14px;border:1px solid #ffffff54;border-radius:50%}.theme-option.selected .radio-dot{border:4px solid var(--platform-accent);background:var(--platform-bg)}.theme-option[data-theme=star-night]{--theme-a:#adc6f3;--theme-bg:#10182a}.theme-option[data-theme=luxury-black]{--theme-a:#dfc99e;--theme-bg:#171513}.theme-tip{display:flex;align-items:center;gap:10px;margin-top:19px;border-radius:11px;background:#b4e4d508;padding:13px;color:#c5d1dc;font-size:10px}.theme-tip svg{flex:none;color:var(--platform-accent)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 14px}.form-grid>label{position:relative;display:grid;align-content:start;gap:8px;color:#e2eaf5;font-size:11px}.form-grid>label>b{position:absolute;top:0;left:53px;color:#e4aabc}.form-grid>label>span{color:var(--platform-muted);margin-left:3px}.form-grid input,.form-grid textarea{width:100%;min-width:0;min-height:44px;border:1px solid #ffffff19;border-radius:9px;background:#090f1b;color:var(--platform-text);padding:11px 12px;font-size:13px;line-height:1.65;resize:vertical;transition:border-color .2s,box-shadow .2s}.form-grid textarea{min-height:81px}.form-grid input::placeholder,.form-grid textarea::placeholder{color:#a9b5ce70}.form-grid input:focus,.form-grid textarea:focus{border-color:#b4e4d584;box-shadow:0 0 0 3px #b4e4d50b;outline:none}.full-field{grid-column:1/-1}.full-field>small{position:absolute;right:6px;bottom:-16px;color:#a9b5ce85;font-size:9px}.editor-divider{margin:29px 0 16px;border-top:1px solid #ffffff12;padding-top:22px}.editor-divider h3{margin:7px 0;color:#edf2f8;font-size:15px;font-weight:500}.photo-editor{display:grid;gap:9px}.photo-row{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:12px;border:1px solid #ffffff12;border-radius:11px;background:#ffffff03;padding:8px}.photo-row>img{width:58px;height:55px;border-radius:7px;object-fit:cover}.caption-label{display:grid;gap:5px;color:#a9b5ce;font-size:9px}.caption-label input{min-width:0;border:0;border-bottom:1px solid #ffffff1c;background:transparent;color:#edf2f8;padding:6px 0;font-size:11px;outline:none}.photo-controls{display:flex;gap:3px}.photo-controls button{display:grid;width:30px;height:34px;place-items:center;border:1px solid transparent;border-radius:7px;background:#ffffff05;color:#d0d9e8;cursor:pointer}.photo-controls button:hover:not(:disabled){background:#ffffff10}.photo-controls button:disabled{opacity:.3}.photo-controls .remove{color:#e7aab5}.upload-zone{display:grid;justify-items:center;gap:7px;min-height:131px;border:1px dashed #b4e4d559;border-radius:12px;background:#b4e4d504;padding:18px;cursor:pointer;transition:background .2s,border-color .2s}.upload-zone:hover{background:#b4e4d50b;border-color:#b4e4d5a0}.upload-zone input{position:absolute;width:1px;height:1px;opacity:0}.upload-plus{display:grid;width:36px;height:36px;place-items:center;border:1px solid #b4e4d541;border-radius:11px;color:var(--platform-accent)}.upload-zone b{font-size:11px;font-weight:500}.upload-zone>span:not(.upload-plus),.upload-zone small{color:var(--platform-muted);font-size:9px}.modules-heading{margin-top:32px}.module-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.module-option{position:relative;display:grid;grid-template-columns:30px 1fr 30px;align-items:center;gap:9px;min-height:60px;border:1px solid #ffffff12;border-radius:10px;background:#ffffff02;padding:8px}.module-glyph{display:grid;width:28px;height:28px;place-items:center;border-radius:9px;background:#b4e4d50b;color:var(--platform-accent)}.module-option>span:nth-child(2){display:grid;gap:4px}.module-option b{font-size:10px;font-weight:500}.module-option small{color:var(--platform-muted);font-size:9px;line-height:1.5}.module-option input{position:absolute;right:11px;width:1px;height:1px;opacity:0}.module-option>i{position:relative;width:29px;height:17px;border:1px solid #a9b5ce45;border-radius:99px;background:#20283a;transition:background .2s}.module-option>i:after{position:absolute;top:2px;left:2px;width:11px;height:11px;border-radius:50%;background:#a9b5ce;content:"";transition:transform .2s,background .2s}.module-option input:checked+i{border-color:#b4e4d569;background:#b4e4d522}.module-option input:checked+i:after{transform:translate(12px);background:var(--platform-accent)}.module-option input:focus-visible+i{outline:2px solid var(--platform-accent);outline-offset:3px}.module-option input:disabled+i{opacity:.38}.story-editor{margin-top:8px}.repeat-editor{display:grid;gap:10px;margin:10px 0;border:1px solid #ffffff15;border-radius:10px;background:#ffffff03;padding:12px}.repeat-editor>label{display:grid;gap:6px;color:#b7c1d0;font-size:10px}.repeat-editor input,.repeat-editor textarea{width:100%;min-height:39px;border:1px solid #ffffff19;border-radius:8px;background:#090f1b;color:#f1f4fa;padding:9px 10px;font-size:13px}.repeat-editor textarea{resize:vertical}.repeat-delete{justify-self:start;border:0;background:none;color:#e2a6b1;font-size:10px;cursor:pointer}.repeat-add{min-height:39px;border:1px dashed #b4e4d553;border-radius:9px;background:#b4e4d505;color:#b4e4d5;padding:0 12px;font-size:10px;cursor:pointer}.form-hint{color:var(--platform-muted);font-size:10px}.confirm-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.confirm-grid>div{display:grid;gap:9px;min-height:73px;border:1px solid #ffffff13;border-radius:11px;background:#ffffff03;padding:13px}.confirm-grid span{color:var(--platform-muted);font-size:10px}.confirm-grid b{font-size:14px;font-weight:500}.full-preview-button{display:flex;width:100%;min-height:51px;justify-content:center;align-items:center;gap:11px;margin-top:15px;border:1px solid #b4e4d546;border-radius:11px;background:#b4e4d50b;color:var(--platform-accent);font-size:12px;cursor:pointer;transition:background .2s}.full-preview-button:hover{background:#b4e4d518}.draft-ref{margin:12px 0 0;text-align:center;color:var(--platform-muted);font:10px monospace}.editor-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:28px;padding-top:19px;border-top:1px solid #ffffff12}.editor-actions>.mint-button{min-width:130px}.editor-left-actions{display:flex;align-items:center;gap:9px}.save-draft{border:0;background:none;color:#b4e4d5;font-size:10px;cursor:pointer}.submit-note{display:flex;justify-content:center;align-items:center;gap:6px;margin:13px 0 0;color:var(--platform-muted);font-size:10px}.submit-note svg{color:var(--platform-accent)}.form-error{margin-top:16px;border:1px solid #ef889b4c;border-radius:9px;background:#ef889b0a;padding:11px 13px;color:#ffc2cb;font-size:11px}.editor-preview{position:sticky;top:98px;border:1px solid #ffffff12;border-radius:17px;background:#0e1421a8;padding:14px}.preview-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.preview-title .eyebrow{font-size:8px}.online-dot{display:inline-flex;align-items:center;gap:6px;color:var(--platform-accent);font-size:9px}.online-dot:before{width:5px;height:5px;border-radius:50%;background:var(--platform-accent);box-shadow:0 0 12px var(--platform-accent);content:""}.mini-phone{position:relative;min-height:477px;overflow:hidden;border:6px solid #273247;border-radius:29px;background:#0b1020;padding:5px 8px 15px}.mini-phone[data-theme=star-night]{background:radial-gradient(ellipse at 85% 15%,#344672,#10182a 67%)}.mini-phone[data-theme=luxury-black]{background:radial-gradient(ellipse at 85% 15%,#53442f,#171513 70%)}.mini-speaker{width:49px;height:4px;margin:3px auto 10px;border-radius:9px;background:#8893a445}.mini-speaker.bottom{width:39px;height:4px;margin-top:14px}.mini-cover{position:relative;display:grid;justify-items:center;gap:11px;min-height:226px;overflow:hidden;border:1px solid #ffffff13;border-radius:16px;background:linear-gradient(155deg,#a4678234,#151b30 70%);padding:17px 12px}.mini-phone[data-theme=star-night] .mini-cover{background:linear-gradient(155deg,#748fc23d,#10182a 75%)}.mini-phone[data-theme=luxury-black] .mini-cover{background:linear-gradient(155deg,#c4a2683b,#171513 75%)}.mini-cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.25;-webkit-mask-image:linear-gradient(160deg,#000,transparent 85%);mask-image:linear-gradient(160deg,#000,transparent 85%)}.mini-halo{position:absolute;top:-60px;right:-70px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,var(--theme-a,#e4aabc),transparent 67%);opacity:.2}.mini-overline,.mini-cover>strong,.mini-date,.mini-cta{position:relative;z-index:1}.mini-overline{margin-top:6px;color:#ffffff9c;font:7px Inter,sans-serif;letter-spacing:.15em}.mini-cover>strong{margin-top:18px;color:#fff;font:500 23px/1.5 Georgia,Songti SC,serif;text-align:center}.mini-cover>strong em{color:var(--theme-a);font-style:normal}.mini-date{color:#fff9;font-size:8px;letter-spacing:.1em}.mini-cta{display:inline-flex;align-items:center;gap:5px;margin-top:4px;color:var(--theme-a);font-size:8px}.mini-star{position:absolute;color:var(--theme-a);font-size:15px;font-style:normal;opacity:.8}.star-one{top:23%;left:12%}.star-two{right:10%;bottom:18%}.mini-card{display:grid;gap:9px;margin-top:11px;border:1px solid #c3a8764d;border-radius:9px;background:linear-gradient(135deg,#f9f1e5,#eae1d4);padding:14px 12px;color:#51483d}.mini-card>span{color:#a58454;font-size:7px;letter-spacing:.16em}.mini-card>b{font-family:Georgia,Songti SC,serif;font-size:15px;font-weight:500}.mini-card>p{max-height:5.4em;overflow:auto;scrollbar-width:thin;margin:0;color:#6a5d4f;font-family:Songti SC,serif;font-size:10px;line-height:1.8;white-space:pre-line}.mini-card>small{color:#897762;font-size:8px;text-align:right}.preview-caption{display:flex;justify-content:center;align-items:center;gap:6px;margin:12px 0 7px;color:var(--platform-muted);font-size:9px}.preview-caption svg{color:var(--theme-a)}.preview-action{width:100%;justify-content:center;padding:8px}.draft-ref{word-break:break-all}.works-page{min-height:70vh;padding-top:44px}.works-page .section-intro{margin-top:30px}.works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.work-item{position:relative;display:grid;align-content:start;gap:10px;border-radius:14px;padding:19px}.work-item h2{margin:6px 0 0;font-size:17px;font-weight:500}.work-item>p{margin:0;color:var(--platform-muted);font-size:12px}.work-item>small{color:#a9b5ce92;font-size:10px}.status-badge{justify-self:start;border:1px solid #9e96cc45;border-radius:50px;background:#9e96cc12;padding:5px 10px;color:#d0c9f0;font-size:10px}.status-badge[data-status=published]{border-color:#b4e4d548;background:#b4e4d50d;color:var(--platform-accent)}.status-badge[data-status=revision]{border-color:#eab77b58;color:#f2d8ab}.review-note{border-left:2px solid #d9bb80;padding-left:10px;color:#ecdab6!important;line-height:1.7}.compact{justify-self:start;min-height:36px;font-size:10px}.work-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.qr-mini{min-height:36px;border:1px solid #b4e4d543;border-radius:9px;background:#b4e4d50c;color:#b4e4d5;padding:0 10px;font-size:10px;cursor:pointer}.empty-card{display:grid;justify-items:center;gap:11px;margin:32px auto;border-radius:18px;padding:55px 24px;text-align:center}.empty-card>span{color:var(--platform-accent);font-size:26px}.empty-card h2{margin:2px;font-size:20px;font-weight:450}.empty-card p{color:var(--platform-muted);font-size:12px}.delivery-card{display:grid;justify-items:center;gap:10px;max-width:520px;margin:12px auto 42px;border-radius:14px;padding:19px;text-align:center}.delivery-card h3{margin:0;font-weight:450;font-size:16px}.delivery-card>p{margin:0 0 5px;color:var(--platform-muted);font-size:11px;line-height:1.7}.delivery-card .text-link{margin-top:2px}.qr-overlay{position:fixed;inset:0;z-index:120;display:grid;place-items:center;background:#050810dc;padding:16px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.qr-card{position:relative;display:grid;justify-items:center;gap:10px;width:min(370px,100%);border:1px solid #b4e4d536;border-radius:19px;background:#111a29;padding:27px;box-shadow:0 30px 100px #0009;text-align:center}.qr-card h2{margin:0;font-weight:450;font-size:20px}.qr-card>p,.qr-card>small{margin:0;color:var(--platform-muted);font-size:11px;overflow-wrap:anywhere}.qr-card>img{width:min(248px,100%);aspect-ratio:1;background:#fff;padding:8px;border-radius:12px}.qr-card>.mint-button{margin-top:4px}.qr-close{position:absolute;top:10px;right:11px;border:0;background:none;color:#dce4ef;font-size:23px;cursor:pointer}.full-preview{position:fixed;inset:0;z-index:100;overflow:auto;background:var(--platform-bg)}.full-preview-bar{position:sticky;top:0;z-index:110;display:flex;justify-content:space-between;align-items:center;min-height:56px;border-bottom:1px solid #ffffff16;background:#080c17eb;padding:7px 18px;font-size:12px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.full-preview-bar span{color:var(--platform-muted)}.full-preview-bar b{color:#fff;font-size:14px}.full-preview-bar .ghost-button{min-height:37px}.studio-toast{position:fixed;z-index:200;right:20px;bottom:max(20px,env(safe-area-inset-bottom));border:1px solid #b4e4d545;border-radius:11px;background:#101b28ee;padding:13px 17px;box-shadow:0 10px 45px #0007;color:#d8f4e9;font-size:12px}.editor-heading .save-state{flex:none}@keyframes phone-float{to{transform:rotate(1deg) translateY(-11px)}}@keyframes note-float{to{transform:translateY(-9px) rotate(-3deg)}}@media(max-width:950px){.studio-hero{min-height:530px;gap:12px;padding-inline:30px}.hero-stage{transform:scale(.9)}.editor-layout{grid-template-columns:minmax(0,1fr) 255px}.editor-main{padding:23px}.mini-phone{min-height:443px}}@media(max-width:720px){.studio-nav{padding:10px 16px;gap:10px}.studio-nav nav{display:none}.studio-brand{font-size:13px}.brand-mark{width:33px;height:33px}.nav-start{min-height:40px;padding:0 12px;font-size:11px}.studio-hero{min-height:auto;grid-template-columns:1fr;padding:59px 22px 46px}.hero-copy h1{margin:19px 0 16px;font-size:clamp(43px,11vw,62px)}.hero-copy>p{font-size:13px}.hero-actions{gap:9px;margin-top:22px}.mint-button,.ghost-button{min-height:46px;padding-inline:14px;font-size:12px}.hero-proof{gap:8px;margin-top:24px;font-size:9px}.hero-proof i{width:11px}.hero-stage{min-height:390px;margin-top:8px;transform:none}.phone-mock{width:203px;min-height:362px;border-radius:29px}.phone-image{height:117px}.phone-text{gap:10px;padding:14px}.phone-text strong{font-size:17px}.floating-note{top:12%;left:0;width:178px;padding:12px;gap:8px}.floating-note b{font-size:12px}.floating-memory{right:0;bottom:11%;width:105px}.floating-memory img{height:60px}.orbit-label{top:4%;right:4%;font-size:7px}.hero-flower{top:8%;right:7%;font-size:34px}.template-section,.how-section{padding-inline:19px}.template-section{padding-top:41px;padding-bottom:51px}.section-intro{display:block;margin-bottom:19px}.section-intro h2,.section-intro h1{font-size:29px}.muted-copy{display:block;margin-top:10px;line-height:1.7}.template-grid{grid-template-columns:1fr;gap:12px}.template-art{height:210px}.template-art img{opacity:.42}.template-meta{padding:13px}.how-section{padding-bottom:51px}.how-section .text-link{margin-top:14px}.steps-grid{grid-template-columns:1fr;gap:0}.step-card{min-height:149px;padding-inline:13px}.step-card h3{margin-top:19px}.cta-panel{margin:0 17px 35px;padding:25px 23px}.cta-flower{right:0;font-size:115px}.cta-panel h2{font-size:31px}.studio-footer{display:grid;grid-template-columns:1fr auto;padding:19px}.studio-footer>span{grid-column:1/-1;grid-row:2;font-size:10px}.studio-footer>a:last-child{font-size:10px}.editor-page,.works-page{padding:20px 14px calc(105px + env(safe-area-inset-bottom))}.editor-heading{display:grid;grid-template-columns:1fr auto;margin:19px 0 14px}.editor-heading>div{position:static;grid-column:1/-1;grid-row:1;margin:3px 0;text-align:left;transform:none}.editor-heading .back-link{grid-column:1;grid-row:2}.editor-heading .save-state{grid-column:2;grid-row:2}.editor-steps{justify-content:space-around;gap:8px;margin:16px 0}.editor-steps button{gap:6px;font-size:10px}.editor-steps button>span{width:27px;height:27px}.editor-steps button>i{left:calc(100% + 6px);width:clamp(8px,4vw,22px)}.editor-layout{display:block}.editor-main{border-radius:14px;padding:19px 15px}.editor-preview{position:static;margin-top:15px}.mini-phone{max-width:300px;margin:auto;min-height:475px}.preview-caption{font-size:10px}.editor-preview>.preview-title{max-width:300px;margin-inline:auto}.editor-preview>.preview-action{display:flex;max-width:300px;margin:auto}.form-title{margin-bottom:20px}.form-title h2{font-size:19px}.form-title p,.editor-divider p{font-size:10px}.form-grid{gap:17px 10px}.form-grid>label{font-size:10px}.form-grid input{font-size:16px}.form-grid input,.form-grid textarea{padding:10px;font-size:14px}.form-grid textarea{font-size:14px}.module-options{grid-template-columns:1fr}.editor-divider{margin-top:25px}.photo-row{grid-template-columns:52px minmax(0,1fr) auto;gap:7px;padding:7px}.photo-row>img{width:52px;height:52px}.photo-controls{gap:1px}.photo-controls button{width:27px}.upload-zone{min-height:123px}.confirm-grid{gap:8px}.confirm-grid>div{padding:11px}.editor-actions{position:fixed;z-index:70;right:0;bottom:0;left:0;min-height:74px;margin:0;border:0;border-top:1px solid #ffffff17;background:#0a101def;padding:10px 15px max(10px,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(19px);backdrop-filter:blur(19px)}.editor-actions>.mint-button{min-width:145px}.editor-actions:before{position:absolute;inset:0;z-index:-1;content:"";background:#101725db}.submit-note{padding-bottom:5px;font-size:9px}.full-preview{z-index:100}.full-preview-bar{padding-inline:10px;font-size:10px}.full-preview-bar .ghost-button{font-size:10px;padding-inline:9px}.works-page .section-intro{display:flex;align-items:center;gap:7px}.works-grid{grid-template-columns:1fr}.studio-toast{right:11px;bottom:calc(86px + env(safe-area-inset-bottom));left:11px;text-align:center}}@media(max-width:370px){.studio-nav{padding-inline:11px}.studio-brand{font-size:11px}.nav-start{gap:5px;padding-inline:9px}.hero-copy h1{font-size:42px}.floating-note{left:-5px;width:156px}.floating-note b{font-size:11px}.floating-memory{right:-5px;width:95px}.hero-stage{min-height:350px}.editor-page,.works-page{padding-inline:10px}.editor-main{padding-inline:12px}.form-grid{grid-template-columns:1fr}.full-field{grid-column:auto}.editor-steps button{font-size:9px}}@media(prefers-reduced-motion:reduce){.studio *,.studio *:before,.studio *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.studio-hero .phone-mock,.studio-hero .floating-note,.studio-hero .floating-memory{animation:none}}.features-section,.faq-section{max-width:1200px;margin:auto;padding:22px 32px 76px}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.feature-card{min-height:150px;border-radius:13px;padding:19px}.feature-card>span{display:grid;width:33px;height:33px;place-items:center;border:1px solid #b4e4d526;border-radius:10px;color:#b4e4d5;font-size:16px}.feature-card h3{margin:15px 0 6px;color:#e9eef4;font-size:14px;font-weight:500}.feature-card p{margin:0;color:#a9b5ce;font-size:11px;line-height:1.7}.faq-section{padding-top:0}.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.faq-list details{align-self:start;border:1px solid #ffffff15;border-radius:10px;background:#ffffff04;padding:0 14px}.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:51px;color:#e6ebf2;font-size:12px;cursor:pointer;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:#b4e4d5;font-size:18px;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{margin:0;padding:0 0 15px;color:#a9b5ce;font-size:11px;line-height:1.8}.module-order{display:grid;gap:7px;margin:18px 0;padding:15px;border:1px solid #ffffff12;border-radius:11px;background:#ffffff04}.module-order h4{margin:2px 0 5px;color:#edf3f8;font-size:13px;font-weight:500}.order-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;color:#ccd5e2;font-size:11px}.order-row button,.music-options button{min-height:40px;border:1px solid #ffffff1b;border-radius:8px;background:#ffffff06;color:#dce4ed;padding:0 11px;font-size:11px;cursor:pointer}.order-row button:disabled{opacity:.4}.music-options{display:flex;gap:8px;margin:0 0 18px}.music-options button{min-height:44px}.music-options button.selected{border-color:#b4e4d577;background:#b4e4d512;color:#b4e4d5}@media(max-width:720px){.features-section,.faq-section{padding:22px 18px 50px}.feature-grid{grid-template-columns:1fr 1fr;gap:8px}.feature-card{min-height:137px;padding:13px}.feature-card h3{font-size:12px}.feature-card p{font-size:10px}.faq-list{grid-template-columns:1fr;gap:7px}}.work-cover{width:100%;height:132px;border-radius:9px;background:#ffffff08;object-fit:cover;object-position:center}.work-item .work-cover{margin-bottom:3px}@media(max-width:720px){.work-cover{height:172px}}.optional-module-toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0 10px}.optional-module-toggle{position:relative;display:flex;align-items:center;gap:12px;min-height:68px;border:1px solid #ffffff17;border-radius:12px;background:#ffffff03;padding:12px;cursor:pointer;transition:border-color .2s,background .2s}.optional-module-toggle.active{border-color:#b4e4d548;background:#b4e4d509}.optional-module-toggle>input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.optional-module-toggle>span:last-child{display:grid;gap:5px}.optional-module-toggle b{color:#e6edf5;font-size:11px;font-weight:500}.optional-module-toggle small{color:var(--platform-muted);font-size:9px;line-height:1.5}.optional-toggle-mark{position:relative;flex:none;width:34px;height:20px;border:1px solid #a9b5ce45;border-radius:99px;background:#20283a;transition:background .2s,border-color .2s}.optional-toggle-mark:after{position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:#a9b5ce;content:"";transition:transform .2s,background .2s}.optional-module-toggle.active .optional-toggle-mark{border-color:#b4e4d569;background:#b4e4d522}.optional-module-toggle.active .optional-toggle-mark:after{transform:translate(14px);background:var(--platform-accent)}.optional-module-toggle>input:focus-visible+.optional-toggle-mark{outline:2px solid var(--platform-accent);outline-offset:3px}@media(max-width:720px){.studio{overflow-x:clip;overflow-y:visible}.editor-page{padding-bottom:calc(22px + env(safe-area-inset-bottom))}.editor-main{overflow:visible}.optional-module-toggles{grid-template-columns:1fr;gap:8px;margin-top:18px}.optional-module-toggle{min-height:60px}.editor-actions{position:static;min-height:0;justify-content:space-between;margin:28px -15px 0;border:0;border-top:1px solid #ffffff17;border-radius:0;background:#0a101def;padding:13px 15px max(10px,env(safe-area-inset-bottom));-webkit-backdrop-filter:none;backdrop-filter:none}.editor-actions:before{display:none}.editor-actions>.mint-button{min-width:140px}}.greeting-style-picker{display:grid;gap:13px;margin:16px 0 20px;padding:17px;border:1px solid #b4e4d51b;border-radius:13px;background:linear-gradient(135deg,#b4e4d509,#ffffff03)}.greeting-style-heading{display:grid;gap:5px}.greeting-style-heading>b{color:#e7eef4;font-size:12px;font-weight:550}.greeting-style-heading>small{color:#a9b5ce;font-size:10px}.greeting-style-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.greeting-style-option{display:flex;min-width:0;min-height:62px;align-items:center;gap:10px;border:1px solid #ffffff16;border-radius:10px;background:#ffffff04;padding:8px 10px;color:#dce4ed;text-align:left;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}.greeting-style-option:hover{transform:translateY(-1px);border-color:#b4e4d54c}.greeting-style-option.selected{border-color:#b4e4d577;background:#b4e4d510;box-shadow:inset 0 0 0 1px #b4e4d511}.greeting-style-swatch{display:grid;flex:none;width:34px;height:42px;place-items:center;border:1px solid #ffffff2a;border-radius:5px;background:linear-gradient(150deg,#fff6e7,#e4cdbd);color:#a56d83;font-family:Georgia,serif;font-size:17px;box-shadow:0 3px 12px #0002}.greeting-style-swatch[data-style=blossom]{background:linear-gradient(150deg,#a85366,#632c40);color:#f0d1ad}.greeting-style-swatch[data-style=starlight]{background:linear-gradient(150deg,#fbf0d1,#dfcca0);color:#a48143}.greeting-style-swatch[data-style=bunny]{background:linear-gradient(150deg,#e7a3bb,#a94f79);color:#fff1da}.greeting-style-copy{display:grid;gap:4px;min-width:0}.greeting-style-copy>b{font-size:10px;font-weight:550}.greeting-style-copy>small{color:#a9b5ce;font-size:9px;line-height:1.45}.greeting-style-check{margin-left:auto;color:#b4e4d5;font-size:14px}.mini-card[data-design=blossom]{border-color:#d595a277;background:linear-gradient(140deg,#87394d,#542b39);color:#fff0df}.mini-card[data-design=blossom]>span,.mini-card[data-design=blossom]>p,.mini-card[data-design=blossom]>small{color:#f4d4c3}.mini-card[data-design=starlight]{border-color:#c8a96688;background:linear-gradient(140deg,#f6ebcf,#dfd0ab)}.mini-card[data-design=bunny]{border-color:#ec9cbd88;background:linear-gradient(140deg,#f7d9e4,#deb0c5)}body:has(.admin-platform){margin:0;background:#080c17;color:#f1f4fa;font-family:Inter,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}.admin-platform{min-height:100vh;background:radial-gradient(ellipse at 75% 0%,#25244288,transparent 44%),#080c17;color:#f1f4fa}.admin-platform button,.admin-platform input,.admin-platform textarea,.admin-platform select{font:inherit}.admin-platform header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:15px max(22px,calc((100% - 1200px)/2));border-bottom:1px solid #ffffff11;background:#080c17d9;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.admin-platform header>a{display:flex;align-items:center;gap:10px;color:#eaf0f7;font-size:11px;letter-spacing:.16em;text-decoration:none}.admin-platform header>a>span{color:#b4e4d5;font-size:22px}.admin-platform header small{color:#a9b5ce;margin-left:8px;letter-spacing:0}.admin-platform header>div{display:flex;align-items:center;gap:8px;color:#a9b5ce;font-size:11px}.admin-platform header>div button{margin-left:10px;border:0;background:none;color:#b4e4d5;cursor:pointer}.secure-dot{width:6px;height:6px;border-radius:50%;background:#b4e4d5;box-shadow:0 0 11px #b4e4d5}.login-wrap{position:relative;display:grid;min-height:calc(100vh - 57px);place-items:center;overflow:hidden}.login-card{position:relative;z-index:1;width:min(420px,calc(100% - 32px));border:1px solid #bbc9e324;border-radius:20px;background:linear-gradient(140deg,#141d2cdb,#0c1320f2);box-shadow:0 30px 90px #0006,inset 0 1px #ffffff0b;padding:32px}.eyebrow{color:#b4e4d5;font-size:9px;letter-spacing:.2em}.login-card h1{margin:13px 0 8px;font-size:28px;font-weight:450}.login-card>p,.login-card>small{color:#a9b5ce;font-size:12px;line-height:1.8}.login-card form{display:grid;gap:16px;margin:25px 0}.login-card label,.detail-grid label,.expiry-field{display:grid;gap:8px;color:#dfe6ef;font-size:12px}.login-card input,.detail-grid input,.detail-grid textarea,.detail-grid select,.expiry-field input{width:100%;border:1px solid #ffffff20;border-radius:9px;background:#090f1b;color:#f1f4fa;padding:11px;font-size:14px}.admin-primary,.admin-plain{min-height:43px;border:1px solid #b4e4d565;border-radius:9px;background:#b4e4d5;color:#101d20;padding:0 15px;font-size:12px;font-weight:550;cursor:pointer}.admin-primary:disabled{opacity:.5}.login-card .admin-primary{width:100%}.login-orb{position:absolute;width:300px;height:300px;border-radius:50%;background:#9e96cc21;filter:blur(60px)}.orb-left{left:-150px;top:12%}.orb-right{right:-160px;bottom:5%;background:#b4e4d513}.admin-settings{display:block;margin:26px 0 0;border:1px solid #ffffff18;border-radius:14px;background:#ffffff04;padding:0}.settings-summary{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:60px;padding:12px 17px;list-style:none;cursor:pointer}.settings-summary::-webkit-details-marker{display:none}.settings-summary>span{display:grid;gap:4px}.settings-summary b{color:#dfe6ef;font-size:12px;font-weight:500}.settings-summary small{color:#8996ab;font-size:10px;line-height:1.5}.settings-summary>i{display:grid;width:27px;height:27px;place-items:center;border:1px solid #ffffff1c;border-radius:50%;color:#b4e4d5;font-size:17px;font-style:normal;transition:transform .2s}.admin-settings[open] .settings-summary>i{transform:rotate(45deg)}.announcement-form{margin:0 17px 17px;padding-top:12px;border-top:1px solid #ffffff12;display:grid;grid-template-columns:1fr 1fr;gap:13px}.settings-field{display:grid;gap:7px;color:#dfe6ef;font-size:11px}.settings-field>span{justify-self:end;margin-top:-20px;color:#a9b5ce;font-size:10px}.settings-field input,.settings-field textarea,.settings-field select{width:100%;box-sizing:border-box;border:1px solid #ffffff20;border-radius:9px;background:#090f1b;color:#f1f4fa;padding:11px}.settings-field input,.settings-field select{min-height:42px}.settings-field textarea{resize:vertical;line-height:1.7}.settings-field small{color:#a9b5ce;font-size:10px}.announcement-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px;grid-column:1/-1}.announcement-form>.settings-field:nth-of-type(3),.announcement-form>.settings-field:nth-of-type(4),.announcement-form>.settings-field:nth-of-type(6),.announcement-preview,.announcement-form>hr{grid-column:1/-1}.setting-switch{display:flex;align-items:center;gap:8px;color:#dbe4ef;font-size:12px}.announcement-preview{display:grid;gap:8px;border:1px solid #b4e4d538;border-radius:11px;background:#b4e4d50b;padding:13px}.announcement-preview>span,.announcement-preview>small{color:#a9b5ce;font-size:10px}.announcement-preview>b{color:#b4e4d5;font-size:13px}.announcement-preview>p{margin:0;color:#e1e9f1;font-size:12px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.announcement-preview[data-level=warning]{border-color:#e0b87555;background:#e0b8750b}.announcement-preview[data-level=important]{border-color:#e4879c66;background:#e4879c0c}.announcement-form>hr{width:100%;border:0;border-top:1px solid #ffffff14}.admin-settings .admin-primary{justify-self:start}.admin-main{max-width:1120px;margin:auto;padding:45px 24px 80px}.admin-heading{display:flex;justify-content:space-between;align-items:end;gap:20px}.admin-heading h1{margin:10px 0;font-size:clamp(24px,3vw,36px);font-weight:450;letter-spacing:-.04em}.admin-heading p{color:#a9b5ce;font-size:12px}.search-box{display:flex;align-items:center;gap:7px;min-width:230px;border:1px solid #ffffff1b;border-radius:9px;background:#ffffff05;padding:0 10px;color:#a9b5ce;font-size:18px}.search-box input{width:100%;height:40px;border:0;outline:none;background:transparent;color:#f1f4fa;font-size:11px}.order-filters{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-top:17px;border:1px solid #ffffff12;border-radius:10px;background:#ffffff04;padding:12px}.order-filters label{display:grid;gap:5px;color:#a9b5ce;font-size:10px}.order-filters input,.order-filters select,.order-pagination select{min-height:36px;border:1px solid #ffffff20;border-radius:7px;background:#090f1b;color:#f1f4fa;padding:0 9px;font-size:11px}.order-filters>span{margin-left:auto;padding-bottom:9px;color:#b4e4d5;font-size:11px}.order-pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:19px 0;color:#a9b5ce;font-size:11px}.order-pagination .admin-plain{min-height:35px}.order-pagination label{display:flex;align-items:center;gap:7px}.order-pagination select{min-height:32px}.admin-stats{display:flex;gap:8px;margin:31px 0 18px;border-bottom:1px solid #ffffff15;overflow:auto}.admin-stats button{display:flex;align-items:center;gap:8px;white-space:nowrap;border:0;border-bottom:2px solid transparent;background:none;color:#a9b5ce;padding:11px 13px;font-size:11px;cursor:pointer}.admin-stats button.active{border-bottom-color:#b4e4d5;color:#eaf6f2}.admin-stats button span{color:#b4e4d5}.admin-stats b{border-radius:20px;background:#ffffff0c;padding:3px 6px;color:#cbd3df;font:10px monospace}.admin-list{display:grid;gap:9px}.order-card{display:grid;width:100%;grid-template-columns:36px 1fr auto 18px;align-items:center;gap:13px;border:1px solid #ffffff13;border-radius:12px;background:linear-gradient(130deg,#151d2b9c,#0c132088);padding:13px 15px;color:#eaf0f7;text-align:left;cursor:pointer;transition:border-color .2s,transform .2s}.order-card:hover,.order-card.selected{transform:translateY(-1px);border-color:#b4e4d550}.order-icon{display:grid;width:33px;height:33px;place-items:center;border:1px solid #b4e4d51c;border-radius:10px;color:#b4e4d5}.order-name{display:grid;gap:4px}.order-name b{font-size:12px;font-weight:500}.order-name small,.order-name code{color:#a9b5ce;font-size:10px}.order-name code{font-family:monospace}.status-chip{border:1px solid #9e96cc46;border-radius:40px;background:#9e96cc13;padding:5px 9px;color:#d5d0ef;font-size:9px;white-space:nowrap}.status-chip[data-status=published]{border-color:#b4e4d554;background:#b4e4d512;color:#b4e4d5}.status-chip[data-status=revision]{border-color:#dfc99e52;color:#dfc99e}.admin-empty{display:grid;min-height:260px;place-content:center;justify-items:center;border:1px dashed #ffffff22;border-radius:13px;color:#a9b5ce;text-align:center}.admin-empty>span{color:#b4e4d5;font-size:24px}.admin-empty h2{color:#edf3f8;font-size:17px;font-weight:450}.admin-empty p{font-size:11px}.detail-panel{margin-top:24px;border:1px solid #ffffff15;border-radius:15px;background:#111925ba;padding:21px}.detail-head>button{border:0;background:none;color:#b4e4d5;font-size:11px;cursor:pointer}.detail-head h2{margin:14px 0 6px;font-size:22px;font-weight:450}.detail-head p{color:#a9b5ce;font-size:11px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:21px}.detail-grid label{font-size:11px}.detail-grid input,.detail-grid textarea,.detail-grid select,.expiry-field input{font-size:13px}.wide{grid-column:1/-1}.detail-photos{display:flex;gap:10px;overflow:auto;margin:19px 0}.detail-photos figure{flex:none;width:90px;margin:0}.detail-photos img{width:90px;height:77px;border-radius:7px;object-fit:cover}.detail-photos figcaption{overflow:hidden;margin-top:4px;color:#a9b5ce;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.expiry-field{max-width:240px;margin:18px 0;font-size:11px}.detail-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:21px;border-top:1px solid #ffffff12;padding-top:15px}.detail-actions>div{display:flex;gap:9px}.admin-plain{border-color:#ffffff20;background:#ffffff08;color:#e1e7ef}.revise{border-color:#dfc99e42;color:#dfc99e}.published-link{display:flex;flex-wrap:wrap;align-items:center;gap:9px;border:1px solid #b4e4d52c;border-radius:8px;background:#b4e4d508;padding:12px;color:#a9b5ce;font-size:10px}.published-link a{overflow-wrap:anywhere;color:#b4e4d5}.published-link button{border:1px solid #ffffff21;border-radius:7px;background:#ffffff07;color:#f1f4fa;padding:7px 9px;font-size:10px;cursor:pointer}.alert{margin:10px 0;border:1px solid #eab0b658;border-radius:8px;background:#eab0b60a;padding:9px 12px;color:#f5c9cf;font-size:11px}.admin-toast{position:fixed;right:16px;bottom:16px;z-index:99;border:1px solid #b4e4d53e;border-radius:9px;background:#121d2bea;padding:12px 16px;color:#d6f2e7;font-size:11px}@media(max-width:650px){.announcement-form,.announcement-dates{grid-template-columns:1fr}.announcement-dates{grid-column:auto}.announcement-form>.settings-field:nth-of-type(3),.announcement-form>.settings-field:nth-of-type(4),.announcement-form>.settings-field:nth-of-type(6){grid-column:auto}.admin-platform header{padding-inline:14px}.admin-main{padding:30px 13px 50px}.admin-heading{display:grid}.search-box{width:100%}.order-filters{align-items:stretch}.order-filters label{flex:1 1 130px}.order-filters>span{width:100%;margin:0;padding:0}.order-pagination{gap:7px}.order-pagination span{width:100%;order:-1;text-align:center}.order-card{grid-template-columns:32px 1fr auto;gap:9px;padding:11px}.order-card>svg{display:none}.status-chip{font-size:8px}.order-name b{font-size:11px}.detail-panel{padding:15px}.detail-grid{gap:11px}.detail-actions{align-items:stretch;flex-direction:column}.detail-actions>div{display:grid;grid-template-columns:1fr 1fr}.detail-actions>div .admin-primary{grid-column:1/-1;grid-row:1}.published-link{font-size:9px}}.payment-config-status{color:#a9b5ce;font-size:10px;line-height:1.6}.admin-plain{min-height:40px;border-color:#ffffff20;background:#ffffff08;color:#e1e7ef;padding:0 12px;font-size:11px}.detail-photos figure{flex:none;width:130px;margin:0}.detail-photos img{width:130px;height:100px;border-radius:7px;object-fit:cover}.detail-photos figcaption{display:grid;grid-template-columns:1fr 28px 28px auto;gap:4px;margin-top:4px}.detail-photos figcaption input{min-width:0;border:1px solid #ffffff15;border-radius:5px;background:#ffffff08;color:#f1f4fa;padding:4px;font-size:9px}.detail-photos figcaption button{border:1px solid #ffffff19;border-radius:5px;background:#ffffff08;color:#e3e9f0;font-size:9px}.detail-photos .photo-remove{color:#e0b0b6}.admin-preview{position:fixed;inset:0;z-index:120;overflow:auto;background:#080c17}.admin-preview>div:first-child{position:sticky;top:0;z-index:121;display:flex;justify-content:space-between;align-items:center;min-height:56px;border-bottom:1px solid #ffffff18;background:#080c17ed;padding:8px 17px;color:#eaf0f7;font-size:12px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.admin-preview .admin-plain{min-height:36px}@media(max-width:650px){.detail-photos figure{width:120px}.detail-photos img{width:120px;height:90px}}.usage-card{display:flex;align-items:center;gap:12px;width:max-content;max-width:100%;margin-top:17px;border:1px solid #ffffff12;border-radius:8px;background:#ffffff05;padding:8px 11px;color:#a9b5ce;font-size:10px}.usage-card b{color:#e3ece8;font-weight:500}.usage-card small{color:#a9b5ce}.admin-module-editor{margin-top:17px;border:1px solid #ffffff14;border-radius:10px;background:#ffffff04;padding:14px}.admin-module-editor>b{font-size:12px;font-weight:500}.admin-module-editor>p{margin:5px 0 12px;color:#a9b5ce;font-size:10px}.admin-module-options{display:flex;flex-wrap:wrap;gap:8px 14px}.admin-module-options label{display:flex;align-items:center;gap:6px;color:#dce4ec;font-size:10px;cursor:pointer}.admin-module-options input{accent-color:#b4e4d5}.admin-order{display:grid;gap:6px;margin-top:13px}.admin-order>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;color:#cbd5e1;font-size:10px}.admin-order button{min-height:33px;border:1px solid #ffffff18;border-radius:6px;background:#ffffff08;color:#e1e7ef;padding:0 9px;font-size:10px}.admin-order button:disabled{opacity:.4}.detail-grid textarea{line-height:1.7;resize:vertical}.customer-contact{color:#a9b5ce;font-size:12px}.customer-contact a{color:#b4e4d5;text-decoration:none}.customer-contact a:hover{text-decoration:underline}.workflow-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.workflow-buttons button:disabled{opacity:.65;cursor:default}.status-chip[data-status=in_production],.status-chip[data-status=customer_confirmation],.status-chip[data-status=customer_approved]{border-color:#b4e4d55a;color:#b4e4d5}.viewer-message[data-v-c504f19b]{display:grid;min-height:100svh;place-content:center;justify-items:center;gap:12px;background:#0d0b1a;color:#f1f4fa;font-family:PingFang SC,sans-serif;text-align:center;padding:24px}.viewer-message>span[data-v-c504f19b]{color:#b4e4d5;font-size:32px}.viewer-message h1[data-v-c504f19b]{font-size:21px;font-weight:450}.viewer-message p[data-v-c504f19b]{color:#a9b5ce;font-size:14px}.viewer-message a[data-v-c504f19b]{color:#b4e4d5;font-size:13px}:root,.birthday-app[data-theme=pink-dream]{--primary-color: #e8abc8;--secondary-color: #b8a0df;--background-color: #130f22;--background-deep: #0d0b1a;--background-soft: #25192e;--text-color: #fff7f3;--muted-color: #bdb1c6;--glow-color: #f4c5d8;--gold-color: #efd5a4;--card-background: rgba(255, 248, 245, .09);--paper-color: #fff8ed}.birthday-app[data-theme=star-night]{--primary-color: #a9c5f4;--secondary-color: #8f96df;--background-color: #0c142a;--background-deep: #080e1d;--background-soft: #152446;--text-color: #f7faff;--muted-color: #afc0d5;--glow-color: #a5cbff;--gold-color: #e7d7ad;--card-background: rgba(225, 239, 255, .09);--paper-color: #f6f7f5}.birthday-app[data-theme=luxury-black]{--primary-color: #dfc99e;--secondary-color: #b49778;--background-color: #171513;--background-deep: #0e0d0c;--background-soft: #29231e;--text-color: #fff9ef;--muted-color: #c4b8a6;--glow-color: #edcd88;--gold-color: #f0d8a4;--card-background: rgba(255, 246, 225, .08);--paper-color: #fffaf0}.birthday-app[data-theme=fresh]{--primary-color: #a6d8cd;--secondary-color: #b7d7a0;--background-color: #122824;--background-deep: #0b1918;--background-soft: #1b3730;--text-color: #f5fff9;--muted-color: #b6cec3;--glow-color: #a3e2ce;--gold-color: #f1dda9;--card-background: rgba(230, 255, 245, .09);--paper-color: #f8fbef}.birthday-app[data-theme=minimal]{--primary-color: #ddd2ca;--secondary-color: #bcb0aa;--background-color: #25211f;--background-deep: #171513;--background-soft: #35302d;--text-color: #fffaf5;--muted-color: #c8beb7;--glow-color: #e6d5c8;--gold-color: #ead9b6;--card-background: rgba(255, 250, 245, .07);--paper-color: #fffaf2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:0;background:#0d0b1a}button{font:inherit}button:focus-visible{outline:2px solid var(--gold-color);outline-offset:5px}button:disabled{cursor:default}::selection{background:#d7a8ce;color:#21162b}.birthday-app{min-height:100svh;position:relative;isolation:isolate;overflow:clip;color:var(--text-color);background:var(--background-deep);font-family:DM Sans,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased}.birthday-app::selection{background:var(--primary-color)}.particle-background{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.82}.stage,.chapter{position:relative;isolation:isolate;overflow:hidden}.stage{min-height:100svh;min-height:100dvh;display:grid;place-items:center;padding:max(80px,env(safe-area-inset-top)) 24px max(55px,env(safe-area-inset-bottom));text-align:center}.stage-index{position:absolute;z-index:4;left:max(24px,env(safe-area-inset-left));bottom:max(26px,env(safe-area-inset-bottom));color:color-mix(in srgb,var(--muted-color),transparent 22%);font-size:9px;letter-spacing:.24em}.stage-index span{margin:0 10px;opacity:.48}.eyebrow{margin:0;color:var(--gold-color);font-size:10px;font-weight:500;letter-spacing:.32em;line-height:1.8}.pill-button{min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:14px 27px;border:1px solid color-mix(in srgb,var(--text-color),transparent 72%);border-radius:999px;color:var(--text-color);background:linear-gradient(135deg,color-mix(in srgb,var(--primary-color),transparent 76%),color-mix(in srgb,var(--secondary-color),transparent 86%));box-shadow:inset 0 1px #ffffff38,0 16px 50px #0003,0 0 38px color-mix(in srgb,var(--glow-color),transparent 84%);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background .3s ease}.pill-button:hover{transform:translateY(-3px);box-shadow:inset 0 1px #ffffff4d,0 22px 54px #00000045,0 0 50px color-mix(in srgb,var(--glow-color),transparent 72%)}.pill-button:active{transform:translateY(1px) scale(.97)}.glass-control{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:var(--text-color);background:#23193159;box-shadow:inset 0 1px #ffffff29;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);cursor:pointer}.music-control{position:fixed;top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));z-index:100;width:51px;height:51px;gap:3px;transition:transform .3s,border-color .3s}.music-control:hover{transform:scale(1.07);border-color:var(--primary-color)}.music-rings{display:grid;place-items:center}.music-rings.playing{animation:music-sway 4s ease-in-out infinite}.music-label{position:absolute;bottom:7px;right:7px;color:var(--gold-color);font-size:6px;letter-spacing:.08em}@keyframes music-sway{50%{transform:rotate(20deg) scale(1.1)}}.welcome-stage{background:radial-gradient(ellipse 65% 55% at 52% 45%,color-mix(in srgb,var(--background-soft),transparent 15%),transparent 85%),linear-gradient(155deg,var(--background-deep),var(--background-color) 55%,#23182a)}.welcome-stage:before{content:"";position:absolute;inset:0;z-index:5;background:#080711;pointer-events:none;animation:curtain-lift 2.2s ease forwards}@keyframes curtain-lift{0%,9%{opacity:1}to{opacity:0}}.welcome-stage:after{content:"";position:absolute;top:14%;right:-15%;width:65vw;height:65vw;max-width:650px;max-height:650px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--secondary-color),transparent 89%),transparent 65%);filter:blur(28px);animation:orb-drift 12s ease-in-out infinite alternate}.welcome-stage .meteor{position:absolute;top:15%;left:88%;width:2px;height:70px;background:linear-gradient(var(--gold-color),transparent);transform:rotate(40deg);opacity:0;animation:meteor-fall 8s 3s linear infinite}@keyframes meteor-fall{0%,79%{opacity:0;transform:translate(0) rotate(40deg)}82%{opacity:.75}89%,to{opacity:0;transform:translate(-180px,180px) rotate(40deg)}}.ambient-orb{position:absolute;pointer-events:none;border-radius:50%;filter:blur(65px);animation:orb-drift 13s ease-in-out infinite alternate}.orb-one{left:-12%;bottom:-16%;width:60vw;height:50vw;background:color-mix(in srgb,var(--primary-color),transparent 89%)}.orb-two{right:10%;top:12%;width:25vw;height:25vw;background:color-mix(in srgb,var(--secondary-color),transparent 88%);animation-delay:-6s}@keyframes orb-drift{to{transform:translate(35px,-27px) scale(1.12)}}.welcome-inner{position:relative;z-index:3;width:min(100%,680px);padding:38px 0 15px}.welcome-kicker{opacity:0;animation:gentle-rise 1s .55s forwards}.welcome-rule{width:38px;height:1px;margin:22px auto 29px;background:var(--gold-color);opacity:0;animation:gentle-rise 1s .7s forwards}.welcome-title{margin:0;font-family:Playfair Display,Georgia,serif;font-size:clamp(70px,17vw,150px);font-weight:400;letter-spacing:-.08em;line-height:1.12;white-space:normal;overflow-wrap:anywhere;opacity:0;animation:welcome-title 1.5s .85s forwards}.welcome-title span:first-child{font-style:italic;font-size:.62em;color:var(--gold-color);letter-spacing:-.075em}.welcome-title em{color:var(--text-color);font-style:normal;text-shadow:0 0 60px color-mix(in srgb,var(--glow-color),transparent 63%)}.welcome-title .title-star{display:inline-block;margin-left:.26em;color:var(--primary-color);font-family:serif;font-size:.23em;vertical-align:top;animation:twinkle 2.7s ease-in-out infinite}@keyframes welcome-title{0%{opacity:0;transform:translateY(28px);filter:blur(10px)}to{opacity:1;transform:none;filter:blur(0)}}.welcome-type{min-height:60px;margin:28px auto 0;color:var(--muted-color);font-size:clamp(13px,3.8vw,16px);font-weight:300;letter-spacing:.11em;line-height:1.8}.type-cursor{display:inline-block;width:1px;height:1em;margin-left:3px;background:var(--gold-color);vertical-align:-.13em;animation:blink .85s steps(1) infinite}@keyframes blink{50%{opacity:0}}.welcome-button{margin-top:20px;opacity:0;animation:gentle-rise 1s 2.25s forwards,button-breathe 3.6s 3.2s ease-in-out infinite}.welcome-small{margin:38px 0 0;color:color-mix(in srgb,var(--muted-color),transparent 40%);font-size:8px;letter-spacing:.35em;opacity:0;animation:gentle-rise 1s 2.5s forwards}@keyframes gentle-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes button-breathe{50%{box-shadow:0 0 52px color-mix(in srgb,var(--glow-color),transparent 68%),inset 0 1px #fff3}}.lucky-star{position:absolute;z-index:6;left:15%;top:25%;width:44px;height:44px;border:0;color:var(--gold-color);background:none;text-shadow:0 0 15px var(--gold-color);font-size:15px;cursor:pointer;animation:twinkle 4s ease-in-out infinite}@keyframes twinkle{50%{opacity:.45;transform:scale(.72) rotate(20deg)}}.gift-stage{background:radial-gradient(ellipse 60% 52% at 50% 61%,color-mix(in srgb,var(--secondary-color),transparent 79%),transparent),linear-gradient(160deg,var(--background-deep),var(--background-color))}.gift-scene{position:relative;z-index:3;width:100%}.stage-heading{max-width:620px;margin:14px auto 16px;font-family:Playfair Display,Songti SC,serif;font-weight:400;font-size:clamp(26px,6vw,45px);letter-spacing:.06em}.gift-hit{position:relative;display:block;width:min(310px,76vw);height:340px;margin:24px auto 0;border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent;animation:gift-float 4.7s ease-in-out infinite}.gift-hit:active{transform:scale(.97)}@keyframes gift-float{50%{translate:0 -12px}}.gift-aura{position:absolute;inset:45px -20px 0;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--gold-color),transparent 75%),transparent 67%);filter:blur(23px)}.gift-shadow{position:absolute;bottom:9px;left:16%;width:68%;height:25px;border-radius:50%;background:#0000007a;filter:blur(16px)}.gift-box{position:absolute;inset:0;display:block;filter:drop-shadow(0 24px 24px rgba(0,0,0,.25))}.gift-body{position:absolute;display:block;left:15%;right:15%;bottom:32px;height:155px;border:1px solid rgba(255,255,255,.35);border-radius:8px 8px 16px 16px;background:linear-gradient(125deg,#efd6dd,#ba85a9 51%,#916791);box-shadow:inset -22px -9px 45px #2d193957,inset 8px 9px 17px #ffffff3d}.gift-body:before{content:"";position:absolute;top:0;left:14px;width:40px;height:100%;background:#ffffff1f;transform:skew(-12deg)}.gift-ribbon-v{position:absolute;display:block;left:calc(50% - 17px);top:0;width:34px;height:100%;background:linear-gradient(90deg,#d2a566,#fff0bd 47%,#bc8c54);box-shadow:2px 0 8px #371f294d}.gift-lid{position:absolute;z-index:3;display:block;left:11%;right:11%;bottom:178px;height:52px;border:1px solid rgba(255,255,255,.45);border-radius:8px;background:linear-gradient(155deg,#f9e2e6,#c68dab 52%,#9a719a);box-shadow:0 12px 19px #321c3759,inset 0 5px 5px #ffffff45;transform-origin:20% 85%}.gift-lid-top{position:absolute;left:2%;right:2%;top:-17px;height:27px;border-radius:50%;background:linear-gradient(100deg,#f4d4dc,#c89cb7)}.gift-ribbon-h{position:absolute;display:block;left:calc(50% - 18px);top:-17px;width:36px;height:70px;background:linear-gradient(90deg,#c69c65,#fff1bc,#c99b5d)}.gift-bow{position:absolute;z-index:4;display:block;top:-65px;width:70px;height:45px;border:13px solid #f7ddaa;border-radius:70% 20%;box-shadow:0 4px 8px #28142833}.bow-left{left:calc(50% - 67px);transform:rotate(32deg)}.bow-right{left:calc(50% - 3px);transform:rotate(58deg) scaleX(-1)}.gift-knot{position:absolute;z-index:5;top:-36px;left:calc(50% - 18px);width:36px;height:30px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff1c8,#c59256)}.gift-inner-light{position:absolute;z-index:2;left:28%;right:28%;bottom:160px;height:20px;border-radius:50%;background:#fff3c7;opacity:0;filter:blur(25px)}.gift-hit.opening{animation:gift-shake .3s ease-in-out 2}.gift-hit.opening .gift-lid{animation:lid-open 1.2s .28s cubic-bezier(.18,.72,.26,1) forwards}.gift-hit.opening .gift-bow,.gift-hit.opening .gift-knot,.gift-hit.opening .gift-ribbon-v{animation:ribbon-fade .6s ease forwards}.gift-hit.opening .gift-inner-light{animation:inner-burst 1.25s .4s ease-out forwards}.gift-light{position:absolute;z-index:4;inset:0;background:radial-gradient(circle at 50% 54%,rgba(255,245,207,.95),transparent 68%);opacity:0;pointer-events:none}.gift-light.burst{animation:gift-flash 1.6s .55s forwards}@keyframes gift-shake{25%{transform:rotate(-2deg)}75%{transform:rotate(2deg)}}@keyframes lid-open{55%{transform:translateY(-125px) rotate(-13deg)}to{transform:translate(-65px,-180px) rotate(-24deg);opacity:.4}}@keyframes ribbon-fade{to{opacity:0;transform:translateY(35px) rotate(20deg)}}@keyframes inner-burst{35%{opacity:1;transform:scale(4)}to{opacity:0;transform:scale(9)}}@keyframes gift-flash{20%{opacity:.88}to{opacity:0}}.gift-hint{display:inline-flex;align-items:center;gap:10px;margin:0;color:var(--muted-color);font-size:11px;letter-spacing:.17em}.reveal-stage{background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--primary-color),transparent 70%),transparent 62%),var(--background-deep)}.count-number{color:var(--text-color);font-family:Playfair Display,serif;font-size:clamp(180px,44vw,410px);line-height:1;text-shadow:0 0 30px var(--glow-color),0 0 110px var(--primary-color);animation:count-pulse .82s ease-out}@keyframes count-pulse{0%{opacity:0;transform:scale(.35);filter:blur(18px)}60%{opacity:1}to{transform:scale(1.12);filter:blur(0)}}.reveal-message{position:relative;z-index:2;animation:reveal-enter 1s cubic-bezier(.16,1,.3,1) both}.reveal-balloons{position:absolute;inset:0;pointer-events:none}.balloon{position:absolute;bottom:-130px;width:53px;height:69px;border-radius:50% 50% 46% 46%;opacity:.65;box-shadow:inset -11px -8px 17px #23102d40,inset 8px 9px 12px #ffffff3d;animation:balloon-rise 6s ease-out forwards}.balloon:after{content:"";position:absolute;top:66px;left:50%;height:100px;border-left:1px solid rgba(255,255,255,.4)}.balloon-one{left:12%;background:var(--primary-color);animation-delay:.15s}.balloon-two{right:13%;width:43px;height:58px;background:var(--gold-color);animation-delay:.65s}.balloon-three{left:75%;width:32px;height:43px;background:var(--secondary-color);animation-delay:1.1s}@keyframes balloon-rise{to{opacity:0;transform:translateY(-115vh) rotate(15deg)}}.reveal-message h1{margin:16px 0 20px;font-family:Playfair Display,Georgia,serif;font-weight:400;font-size:clamp(70px,16vw,180px);line-height:.89;letter-spacing:-.065em}.reveal-message h1 span,.reveal-message h1 em{display:block}.reveal-message h1 em{color:var(--primary-color);font-weight:400;font-style:italic;text-shadow:0 0 60px color-mix(in srgb,var(--glow-color),transparent 60%)}.reveal-message p{margin:28px 0 9px;font-size:clamp(16px,5vw,24px);letter-spacing:.18em}.reveal-message small{color:var(--muted-color);font-size:12px;letter-spacing:.15em}.reveal-flash{position:absolute;inset:0;z-index:3;background:#fff;pointer-events:none;animation:screen-flash 1s ease-out forwards}@keyframes screen-flash{0%{opacity:.92}to{opacity:0}}@keyframes reveal-enter{0%{opacity:0;transform:scale(.8);filter:blur(20px)}to{opacity:1;transform:none;filter:blur(0)}}.story-main{position:relative;z-index:2}.chapter{padding:110px 24px}.chapter-content,.section-head,.letter-wrap{position:relative;z-index:3;width:min(100%,1050px);margin:0 auto}.hero-chapter{min-height:100svh;min-height:100dvh;display:grid;place-items:center;padding-top:115px;padding-bottom:90px;background:radial-gradient(ellipse 57% 58% at 52% 41%,color-mix(in srgb,var(--secondary-color),transparent 82%),transparent 88%),linear-gradient(180deg,var(--background-color),var(--background-soft) 58%,var(--background-deep));text-align:center}.hero-halo{position:absolute;width:min(680px,108vw);aspect-ratio:1;top:14%;left:50%;transform:translate(-50%);border:1px solid rgba(255,255,255,.06);border-radius:50%;box-shadow:0 0 0 70px #ffffff05,0 0 0 145px #ffffff03,inset 0 0 100px color-mix(in srgb,var(--glow-color),transparent 94%)}.hero-content{padding:25px 0}.age-wrap{position:relative;width:max-content;margin:5px auto -10px}.hero-age,.age-outline{font-family:Playfair Display,Georgia,serif;font-size:clamp(170px,43vw,370px);line-height:1;letter-spacing:-.1em}.hero-age{position:relative;z-index:2;padding:0 .08em 0 0;border:0;color:transparent;background:linear-gradient(155deg,#fffdf5 5%,var(--gold-color) 27%,var(--primary-color) 53%,#fff5ec 72%,var(--secondary-color));background-size:200% 200%;background-clip:text;-webkit-background-clip:text;filter:drop-shadow(0 0 37px color-mix(in srgb,var(--primary-color),transparent 60%));cursor:pointer;animation:age-shimmer 7s linear infinite}.age-outline{position:absolute;z-index:1;inset:0;color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--primary-color),transparent 74%);transform:translate(14px,9px);pointer-events:none}@keyframes age-shimmer{50%{background-position:100% 0}}.age-spark{position:absolute;color:var(--gold-color);text-shadow:0 0 14px var(--gold-color);animation:twinkle 3s infinite}.age-spark-one{top:21%;left:-15%;font-size:26px}.age-spark-two{right:-9%;bottom:18%;font-size:31px;animation-delay:-1.5s}.hero-title{margin:0;font-family:Playfair Display,Songti SC,serif;font-size:clamp(27px,6vw,50px);font-weight:400;letter-spacing:.06em}.hero-message{margin:19px auto 31px;color:var(--muted-color);font-size:clamp(13px,3.7vw,17px);font-weight:300;letter-spacing:.14em;line-height:1.9}.birthday-date{display:flex;align-items:center;justify-content:center;gap:20px}.date-line{width:clamp(20px,12vw,100px);height:1px;background:linear-gradient(90deg,transparent,var(--gold-color),transparent);opacity:.65}.birthday-date div{display:grid;gap:5px}.date-label{color:var(--muted-color);font-size:8px;letter-spacing:.25em}.birthday-date strong{color:var(--gold-color);font-family:Playfair Display,serif;font-size:20px;font-weight:400;letter-spacing:.15em}.birthday-countdown{display:inline-flex;gap:8px;align-items:center;margin-top:25px;color:color-mix(in srgb,var(--muted-color),transparent 15%);font-size:11px;letter-spacing:.08em}.scroll-cue{display:flex;align-items:center;gap:8px;margin:55px auto 0;padding:10px;border:0;color:var(--muted-color);background:none;font-size:11px;letter-spacing:.18em;cursor:pointer}.scroll-cue svg{animation:scroll-bob 2s ease-in-out infinite}@keyframes scroll-bob{50%{transform:translateY(7px)}}.photos-chapter{background:linear-gradient(180deg,var(--background-deep),color-mix(in srgb,var(--background-soft),#36283c 25%) 55%,var(--background-deep))}.section-head{max-width:620px;text-align:center}.section-head h2,.letter-wrap h2,.cake-content h2{margin:17px 0;font-family:Playfair Display,Songti SC,serif;font-size:clamp(31px,7vw,57px);font-weight:400;line-height:1.25;letter-spacing:.025em}.section-head>p:last-child{color:var(--muted-color);font-size:13px;line-height:1.9;letter-spacing:.07em}.photo-collage{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:25px 12px;max-width:1100px;margin:65px auto 0}.polaroid{position:relative;display:block;width:100%;min-width:0;padding:8px 8px 31px;border:0;color:#382b36;background:#fff9f4;box-shadow:0 14px 32px #00000059,0 2px 4px #00000024;text-align:left;cursor:pointer;transform:perspective(700px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg));transition:transform .3s ease,box-shadow .3s ease}.polaroid:hover{z-index:5;transform:perspective(700px) translateY(-6px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg));box-shadow:0 26px 45px #0000006b}.polaroid:active{transform:scale(1.04)}.polaroid:nth-child(4n+1){margin-top:8px;rotate:-4deg}.polaroid:nth-child(4n+2){margin-top:52px;rotate:4deg}.polaroid:nth-child(4n+3){margin-top:-10px;rotate:3deg}.polaroid:nth-child(4n+4){margin-top:37px;rotate:-3deg}.photo-image{display:block;width:100%;aspect-ratio:3 / 3.7;overflow:hidden;background:#b7a7b4}.photo-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s ease}.polaroid:hover img{transform:scale(1.07)}.photo-caption{display:block;padding:15px 6px 0;min-height:53px;font-family:Playfair Display,Songti SC,serif;font-size:clamp(11px,3vw,15px);line-height:1.5}.photo-number{position:absolute;right:12px;bottom:9px;color:#8f7a87;font-size:8px;letter-spacing:.1em}.photo-endnote{margin:95px 0 0;color:var(--muted-color);font-family:Playfair Display,serif;font-size:15px;font-style:italic;letter-spacing:.07em;text-align:center}.lightbox{position:fixed;z-index:250;inset:0;display:grid;place-items:center;padding:72px 54px 36px;background:#08060fe8;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.lightbox-figure{max-width:min(950px,100%);margin:0;text-align:center}.lightbox-figure img{display:block;max-width:100%;max-height:calc(100dvh - 170px);margin:0 auto;object-fit:contain;box-shadow:0 24px 70px #0006;animation:photo-appear .35s ease}.lightbox-figure figcaption{display:flex;justify-content:center;gap:22px;margin-top:19px;color:#fff3eb;font-size:13px;letter-spacing:.05em}.lightbox-figure small{color:#c5b4c4}@keyframes photo-appear{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.lightbox-close,.lightbox-arrow{position:absolute;z-index:2;width:46px;height:46px}.lightbox-close{top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right))}.lightbox-prev{left:15px;top:50%}.lightbox-next{right:15px;top:50%}.timeline-chapter{background:radial-gradient(ellipse at 10% 30%,color-mix(in srgb,var(--secondary-color),transparent 91%),transparent 55%),var(--background-deep)}.timeline-head{margin-bottom:70px}.timeline-list{position:relative;max-width:680px;margin:0 auto;padding-left:33px}.timeline-rail{position:absolute;left:10px;top:8px;bottom:90px;width:1px;background:#ffffff24}.timeline-rail-fill{display:block;width:2px;height:100%;background:linear-gradient(var(--gold-color),var(--primary-color));box-shadow:0 0 14px var(--primary-color);transform-origin:top}.timeline-item{position:relative;margin-bottom:55px}.timeline-item:last-child{margin-bottom:0}.timeline-dot{position:absolute;left:-30px;top:14px;width:15px;height:15px;border:3px solid var(--gold-color);border-radius:50%;background:var(--background-deep);box-shadow:0 0 18px var(--gold-color),0 0 0 7px color-mix(in srgb,var(--gold-color),transparent 91%)}.timeline-card{padding:24px;border:1px solid rgba(255,255,255,.12);border-radius:4px 24px 24px;background:var(--card-background);box-shadow:0 18px 60px #0000001f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.timeline-date{color:var(--gold-color);font-family:Playfair Display,serif;font-size:13px;letter-spacing:.17em}.timeline-card h3{margin:12px 0 7px;font-family:Playfair Display,Songti SC,serif;font-size:clamp(22px,5vw,30px);font-weight:400}.timeline-card p{margin:0;color:var(--muted-color);font-size:13px;line-height:1.9}.timeline-card img{display:block;width:100%;max-height:260px;margin-top:19px;border-radius:3px 14px 14px;object-fit:cover}.letter-chapter{min-height:760px;background:linear-gradient(180deg,var(--background-deep),color-mix(in srgb,var(--background-soft),#503c40 35%) 55%,var(--background-deep));text-align:center}.letter-ambient{position:absolute;left:50%;top:34%;width:80vw;height:60vw;max-width:850px;max-height:650px;transform:translate(-50%);border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--gold-color),transparent 87%),transparent 68%);filter:blur(30px)}.letter-wrap{max-width:720px}.letter-wrap h2{margin-bottom:45px}.envelope-scene{display:grid;justify-items:center;gap:54px}.envelope{position:relative;width:min(310px,77vw);aspect-ratio:1.53;filter:drop-shadow(0 28px 28px rgba(0,0,0,.3));transform:rotate(-4deg);animation:envelope-hover 5s ease-in-out infinite}@keyframes envelope-hover{50%{transform:translateY(-10px) rotate(-2deg)}}.envelope-scene.opening .envelope{animation:envelope-recede .72s ease-in forwards}.envelope-scene.opening .envelope-flap{transform-origin:top;animation:envelope-open .55s ease-out forwards}.envelope-scene.opening .envelope-seal{animation:ribbon-fade .4s ease forwards}@keyframes envelope-open{to{transform:rotateX(175deg);filter:brightness(1.12)}}@keyframes envelope-recede{to{opacity:0;transform:translateY(26px) scale(.92) rotate(-4deg)}}.envelope-back{position:absolute;inset:0;border-radius:7px;background:#e8d8c8}.envelope-flap{position:absolute;z-index:2;inset:0;background:#f7e9d8;clip-path:polygon(0 0,100% 0,50% 61%);filter:drop-shadow(0 3px 2px rgba(0,0,0,.1))}.envelope-front{position:absolute;z-index:3;inset:0;border-radius:0 0 7px 7px;background:linear-gradient(140deg,#e8d5c2,#f9eddd);clip-path:polygon(0 32%,50% 72%,100% 32%,100% 100%,0 100%)}.envelope-seal{position:absolute;z-index:4;top:53%;left:50%;display:grid;place-items:center;width:37px;height:37px;border-radius:50%;color:#fff8e9;background:#a56d74;box-shadow:0 3px 8px #0003;transform:translate(-50%,-50%)}.letter-paper{position:relative;margin:0 auto;padding:clamp(30px,7vw,72px);color:#4f3e3e;background:var(--paper-color);box-shadow:0 25px 80px #00000057,inset 0 0 85px #9b704f12;text-align:left;transform-origin:top;animation:paper-unfold .9s cubic-bezier(.2,.8,.2,1) both}.letter-paper:before{content:"";position:absolute;inset:11px;border:1px solid rgba(130,95,86,.15);pointer-events:none}@keyframes paper-unfold{0%{opacity:0;transform:translateY(65px) scaleY(.72)}to{opacity:1;transform:none}}.letter-paper-mark{display:block;color:#a58377;font-size:9px;letter-spacing:.25em}.letter-paper h3{margin:22px 0 35px;color:#49353a;font-family:Playfair Display,Songti SC,serif;font-size:clamp(26px,6vw,43px);font-weight:400}.letter-paragraph{margin:0 0 23px;color:#574748;font-family:Songti SC,"Noto Serif CJK SC",serif;font-size:clamp(15px,3.9vw,18px);letter-spacing:.05em;line-height:2.15;opacity:0;animation:letter-line .8s forwards}@keyframes letter-line{to{opacity:1;transform:translateY(0)}0%{opacity:0;transform:translateY(12px)}}.letter-signature{margin:35px 0 0;color:#8a6666;font-family:Playfair Display,Songti SC,serif;font-size:17px;text-align:right}.cake-chapter{min-height:800px;min-height:100dvh;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 55%,color-mix(in srgb,var(--gold-color),transparent 88%),transparent 42%),linear-gradient(180deg,var(--background-deep),#090911);text-align:center}.cake-chapter:after{content:"";position:absolute;z-index:8;inset:0;background:#04030aad;opacity:0;pointer-events:none;transition:opacity 1s ease}.cake-chapter.dimmed:after{opacity:1}.cake-chapter.dimmed .cake-glow{animation-play-state:paused}.cake-content{position:relative;z-index:2}.cake-content h2{margin-bottom:10px}.cake-action{display:grid;place-items:center}.cake-intro{color:var(--muted-color);font-family:Playfair Display,serif;font-size:14px;font-style:italic;letter-spacing:.04em}.cake-scene{position:relative;width:min(360px,89vw);height:340px;margin:14px auto 0}.cake-glow{position:absolute;left:50%;top:43%;width:290px;height:290px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--gold-color),transparent 74%),transparent 67%);filter:blur(21px);animation:candle-glow 2.4s ease-in-out infinite}@keyframes candle-glow{50%{opacity:.55;transform:translate(-50%,-50%) scale(1.13)}}.candle{position:absolute;z-index:5;bottom:182px;left:50%;width:90px;height:102px;transform:translate(-50%);border:0;background:none;cursor:pointer}.candle:not(.ready){cursor:default}.candle-number{position:absolute;left:50%;bottom:0;color:#ffead1;font-family:Playfair Display,Georgia,serif;font-size:68px;line-height:1;text-shadow:0 2px 0 #b98482,2px 0 0 #a77c87,0 0 20px rgba(255,219,150,.28);transform:translate(-50%);white-space:nowrap}.flame-outer{position:absolute;z-index:6;bottom:68px;left:50%;width:22px;height:36px;border-radius:55% 55% 45% 45%;background:radial-gradient(ellipse at 50% 70%,#fffbed 3%,#ffdf8b 35%,#ff9b53 70%,transparent 82%);box-shadow:0 0 15px 7px #ffbb5da6,0 0 55px 20px #ffae5840;transform:translate(-50%);transform-origin:bottom;animation:flame-dance 1.1s ease-in-out infinite alternate}.flame-inner{position:absolute;left:50%;bottom:2px;width:8px;height:17px;border-radius:50%;background:#fffef0;transform:translate(-50%)}@keyframes flame-dance{0%{transform:translate(-50%) rotate(-8deg) scale(.93,1.05);filter:brightness(.85)}to{transform:translate(-50%) rotate(8deg) scale(1.06,.93);filter:brightness(1.16)}}.candle.blown .flame-outer{animation:flame-out .35s forwards}@keyframes flame-out{to{opacity:0;transform:translate(-50%) scale(.1)}}.smoke{position:absolute;z-index:6;left:50%;bottom:92px;width:13px;height:20px;border-left:2px solid rgba(222,212,215,.6);border-radius:50%;opacity:0}.candle.blown .smoke{animation:smoke-rise 1.2s .2s ease-out forwards}.candle.blown .smoke-two{animation-delay:.4s;left:56%}@keyframes smoke-rise{20%{opacity:.8}to{opacity:0;transform:translateY(-70px) translate(16px) scale(2)}}.cake-plate{position:absolute;left:8%;right:8%;bottom:18px;height:29px;border-radius:50%;background:linear-gradient(#fff3e2,#c0a9a4);box-shadow:0 10px 26px #0006}.cake-top{position:absolute;z-index:3;left:15%;right:15%;bottom:160px;height:45px;border-radius:50%;background:radial-gradient(ellipse at 40% 35%,#fffbf2,#f4d9d1 65%,#d1aeb9)}.cake-layer{position:absolute;left:15%;right:15%;height:85px;border-radius:4px 4px 21px 21px;background:linear-gradient(90deg,#b5848e,#f5c9c6 21%,#f5d5c9 68%,#b88191);box-shadow:inset 0 -14px 23px #6531462e}.layer-one{z-index:2;bottom:95px}.layer-two{z-index:1;bottom:32px;left:12%;right:12%;background:linear-gradient(90deg,#9d677c,#e4b2bb 23%,#edc8c7 66%,#98657c)}.icing{position:absolute;top:0;left:0;right:0;height:22px;border-radius:50%;background:#fff3e5}.cake-berry{position:absolute;z-index:4;width:13px;height:10px;border-radius:50%;background:#b66579;box-shadow:inset -3px -2px 4px #4614263d}.berry-one{left:17%;top:16px}.berry-two{right:22%;top:14px}.berry-three{right:42%;top:24px}.cake-base{position:absolute;z-index:1;bottom:37px;left:12%;right:12%;height:25px;border-radius:50%;background:#f5dfd7}.cake-wish-button{margin-top:1px}.candle-hint{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--gold-color);font-size:12px;letter-spacing:.17em;animation:hint-pulse 2.2s ease-in-out infinite}@keyframes hint-pulse{50%{opacity:.55}}.quiet-moment{color:var(--gold-color);font-size:22px}.fireworks-canvas{position:fixed;z-index:80;inset:0;pointer-events:none;opacity:0}.fireworks-canvas.active{opacity:1}.finale-overlay{position:fixed;z-index:75;inset:0;display:grid;align-items:safe center;justify-items:center;overflow-y:auto;overscroll-behavior:contain;padding:max(75px,env(safe-area-inset-top)) 20px max(35px,env(safe-area-inset-bottom));background:radial-gradient(ellipse at 50% 35%,color-mix(in srgb,var(--secondary-color),transparent 68%),transparent 58%),linear-gradient(150deg,#090713,var(--background-color) 55%,#140c1f);text-align:center}.finale-content{position:relative;z-index:90;width:min(680px,100%);padding:25px 0;pointer-events:auto}.finale-eyebrow{animation:final-rise .8s .2s both}.finale-content h2{margin:19px 0 4px;font-family:Playfair Display,Georgia,serif;font-size:clamp(48px,13vw,115px);font-weight:400;line-height:1;letter-spacing:-.06em;color:var(--text-color);text-shadow:0 0 50px color-mix(in srgb,var(--glow-color),transparent 55%);animation:final-rise 1s .85s both}.finale-content strong{display:block;margin:12px 0 19px;color:var(--gold-color);font-family:Playfair Display,Songti SC,serif;font-size:clamp(31px,8vw,60px);font-weight:400;letter-spacing:.15em;animation:final-rise 1s 1.8s both}.finale-wish{margin:0;font-size:clamp(16px,4vw,22px);letter-spacing:.14em;animation:final-rise 1s 3s both}.finale-subtitle{margin:25px 0 12px;color:var(--muted-color);font-size:13px;letter-spacing:.09em;line-height:1.8;animation:final-rise 1s 4.2s both}.finale-signature{display:block;color:var(--gold-color);font-family:Playfair Display,Songti SC,serif;font-size:17px;animation:final-rise 1s 5.2s both}.finale-actions{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:45px;animation:final-rise 1s 7s both}.secret-link{min-height:42px;border:0;color:var(--muted-color);background:transparent;font-size:11px;letter-spacing:.1em;text-decoration:underline;text-underline-offset:5px;cursor:pointer}@keyframes final-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}.finale-halo{position:fixed;left:50%;top:48%;width:min(78vw,680px);aspect-ratio:1;border:1px solid color-mix(in srgb,var(--gold-color),transparent 82%);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);animation:finale-orbit 38s linear infinite}.finale-halo:after{content:"✦";position:absolute;top:-10px;left:50%;color:var(--gold-color);font-size:15px}.finale-halo-inner{width:min(59vw,500px);border-color:color-mix(in srgb,var(--primary-color),transparent 86%);animation-duration:52s;animation-direction:reverse}.finale-halo-inner:after{font-size:10px;opacity:.7}@keyframes finale-orbit{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.finale-divider{display:flex;align-items:center;gap:18px;width:min(210px,60%);margin:0 auto 23px;color:var(--gold-color);font-size:11px;animation:final-rise 1s 2.35s both}.finale-divider:before,.finale-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--gold-color),transparent 35%))}.finale-divider:after{transform:rotate(180deg)}.direct-ending{display:grid;place-items:center;min-height:320px;background:var(--background-deep)}.site-footer{position:relative;z-index:2;padding:65px 20px max(55px,env(safe-area-inset-bottom));background:var(--background-deep);text-align:center}.site-footer span{color:var(--gold-color);font-size:19px}.site-footer p{margin:15px 0 8px;color:var(--muted-color);font-family:Playfair Display,serif;font-size:14px;font-style:italic}.site-footer small{color:color-mix(in srgb,var(--muted-color),transparent 38%);font-size:9px;letter-spacing:.2em}.surprise-toast{position:fixed;z-index:300;left:50%;bottom:max(30px,env(safe-area-inset-bottom));display:inline-flex;align-items:center;gap:10px;width:max-content;max-width:calc(100vw - 32px);padding:14px 20px;border:1px solid rgba(255,255,255,.26);border-radius:999px;color:var(--text-color);background:#271a2fd6;box-shadow:0 15px 45px #00000059;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);font-size:12px;letter-spacing:.04em;transform:translate(-50%)}.surprise-toast svg{flex:none;color:var(--gold-color)}.toast-enter-active,.toast-leave-active{transition:opacity .3s,transform .3s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%,16px)}@media(min-width:700px){.photo-collage{grid-template-columns:repeat(3,minmax(0,1fr));gap:55px 36px;margin-top:85px}.polaroid:nth-child(5n+1){margin-top:10px}.polaroid:nth-child(5n+2){margin-top:90px}.polaroid:nth-child(5n+3){margin-top:23px}.polaroid:nth-child(5n+4){margin-top:-36px}.polaroid:nth-child(5n+5){margin-top:42px}.timeline-list{padding-left:50px}.timeline-rail{left:16px}.timeline-dot{left:-40px}.timeline-card{padding:30px 35px}}@media(max-width:390px){.welcome-title{font-size:16vw}.welcome-type{font-size:12px}.gift-hit{height:315px}.photo-collage{gap:20px 10px}.polaroid{padding:6px 6px 28px}.photo-caption{padding:11px 3px 0;font-size:10px}.letter-paper{padding:29px}}@media(max-height:820px){.hero-chapter{padding-top:clamp(38px,7dvh,65px);padding-bottom:clamp(35px,7dvh,60px)}.hero-content{padding:0}.hero-age,.age-outline{font-size:clamp(110px,min(40vw,32dvh),250px)}.hero-message{margin:10px auto 14px;line-height:1.6}.birthday-countdown{margin-top:10px}.scroll-cue{margin-top:15px}.finale-overlay{padding:max(42px,env(safe-area-inset-top)) 16px max(22px,env(safe-area-inset-bottom))}.finale-content{padding:4px 0}.finale-content h2{margin-top:12px;font-size:clamp(40px,min(11vw,12dvh),86px)}.finale-content strong{margin:6px 0 10px;font-size:clamp(27px,6vw,45px)}.finale-divider{margin-bottom:12px}.finale-wish{font-size:clamp(14px,3.5vw,19px)}.finale-subtitle{margin-top:14px}.finale-actions{gap:8px;margin-top:20px}}@media(max-height:670px)and (orientation:landscape){.stage{padding:28px 24px}.welcome-inner{padding:0}.welcome-title{font-size:clamp(48px,17dvh,78px)}.welcome-rule{margin:10px auto 14px}.welcome-type{min-height:36px;margin-top:12px}.welcome-button{margin-top:10px}.welcome-small{margin-top:12px}.gift-hit{width:250px;height:260px;margin:-20px auto -18px;scale:.78}.gift-body{height:115px}.gift-lid{bottom:140px}.gift-hint{margin-top:0}.hero-chapter{padding:28px 24px}.hero-age,.age-outline{font-size:clamp(95px,26dvh,140px)}.hero-title{font-size:clamp(23px,4vw,33px)}.hero-message{margin:5px auto 8px}.birthday-countdown{margin-top:5px}.scroll-cue{margin-top:8px}.cake-chapter{padding:15px 20px}.cake-content{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);grid-template-rows:1fr 1fr;align-items:center;column-gap:clamp(18px,4vw,48px);width:min(800px,100%)}.cake-intro-block{grid-column:2;grid-row:1;align-self:end}.cake-content h2{margin:7px 0;font-size:clamp(23px,3.5vw,36px)}.cake-intro{font-size:11px}.cake-scene{grid-column:1;grid-row:1 / 3;width:min(360px,100%);height:340px;margin:0}.cake-action{grid-column:2;grid-row:2;align-self:start}.cake-wish-button{min-height:44px;padding:8px 18px}.finale-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;column-gap:28px;width:min(780px,100%)}.finale-eyebrow{grid-column:1 / -1;margin-bottom:8px}.finale-content h2{grid-column:1;grid-row:2;margin:0;font-size:clamp(37px,6vw,58px)}.finale-content strong{grid-column:1;grid-row:3;margin:0;font-size:28px}.finale-divider{grid-column:1;grid-row:4;margin:4px auto}.finale-wish{grid-column:2;grid-row:2}.finale-subtitle{grid-column:2;grid-row:3;margin:0}.finale-signature{grid-column:2;grid-row:4}.finale-actions{grid-column:2;grid-row:5;margin-top:8px;gap:2px}.finale-actions .pill-button{min-height:44px;padding:8px 18px}}@media(max-width:600px)and (max-height:700px){.music-control{top:auto;bottom:max(10px,env(safe-area-inset-bottom));right:max(10px,env(safe-area-inset-right));width:42px;height:42px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}[data-reveal]{opacity:1!important;transform:none!important}.timeline-rail-fill{transform:none!important}}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}button{touch-action:manipulation}@media(max-width:767px){.stage,.chapter{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}.stage{min-height:100svh;padding-top:max(76px,calc(env(safe-area-inset-top) + 54px));padding-bottom:max(60px,calc(env(safe-area-inset-bottom) + 38px))}.stage-index{left:max(18px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));font-size:9px}.music-control{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));bottom:auto;width:46px;height:46px}.eyebrow{font-size:9px;letter-spacing:.2em;overflow-wrap:anywhere}.pill-button{max-width:100%;min-height:52px;gap:12px;padding:13px 22px;font-size:14px;line-height:1.5}.pill-button svg{flex-shrink:0}.welcome-inner{min-width:0;padding:16px 0}.welcome-title{font-size:clamp(42px,14vw,82px);white-space:normal;line-height:1.2;overflow-wrap:anywhere}.welcome-title em{overflow-wrap:anywhere}.welcome-rule{margin:20px auto 24px}.welcome-type{max-width:340px;min-height:56px;margin-top:22px;font-size:14px;line-height:1.85;letter-spacing:.06em;overflow-wrap:anywhere}.welcome-small{margin-top:26px;font-size:9px;letter-spacing:.16em}.lucky-star{left:8%;top:18%}.stage-heading{font-size:clamp(24px,6vw,34px);line-height:1.5;text-wrap:balance}.gift-hit{width:min(290px,100%);height:300px;margin:12px auto 0}.gift-hint{max-width:100%;font-size:12px;letter-spacing:.08em;line-height:1.7}.reveal-message{min-width:0;max-width:100%}.reveal-message h1{font-size:clamp(43px,12.5vw,86px);line-height:1.05}.reveal-message p{font-size:20px;line-height:1.5;overflow-wrap:anywhere}.reveal-message small{display:block;font-size:13px;line-height:1.8;letter-spacing:.08em}.chapter{padding-top:68px;padding-bottom:68px}.chapter-content,.section-head,.letter-wrap,.cake-content{min-width:0;max-width:100%}.section-head h2,.letter-wrap h2,.cake-content h2{font-size:clamp(26px,6.5vw,34px);line-height:1.45;text-wrap:balance;overflow-wrap:anywhere}.section-head>p:last-child{font-size:14px;line-height:1.85;letter-spacing:.02em}.hero-chapter{min-height:100svh;padding-top:76px;padding-bottom:50px}.hero-content{padding:0}.hero-age,.age-outline{font-size:clamp(120px,min(38vw,28svh),220px)}.hero-title{font-size:clamp(25px,6vw,33px);line-height:1.5;overflow-wrap:anywhere}.hero-message{max-width:340px;margin:16px auto 22px;font-size:14px;line-height:1.9;letter-spacing:.04em}.birthday-date{gap:14px}.birthday-countdown{max-width:100%;margin-top:20px;font-size:12px;line-height:1.8;flex-wrap:wrap;justify-content:center}.scroll-cue{min-height:44px;margin-top:28px;font-size:12px}.photo-collage{gap:30px 18px;margin-top:38px;padding:0 8px}.photo-caption{padding:14px 4px 0;font-size:13px;line-height:1.65;overflow-wrap:anywhere}.photo-endnote{margin-top:48px;font-size:13px;line-height:1.7}.timeline-head{margin-bottom:38px}.timeline-list{padding-left:28px}.timeline-card{padding:20px 18px;border-radius:4px 18px 18px}.timeline-item{margin-bottom:34px}.timeline-dot{left:-25px;width:13px;height:13px}.timeline-card h3{font-size:24px;line-height:1.45;overflow-wrap:anywhere}.timeline-card p{font-size:14px;line-height:1.9;overflow-wrap:anywhere}.timeline-card img{max-height:220px}.letter-chapter{min-height:auto}.letter-wrap h2{margin-bottom:36px}.envelope-scene{gap:38px}.envelope{width:min(290px,92%)}.letter-paper{padding:30px 24px}.letter-paper-mark{font-size:9px;letter-spacing:.12em}.letter-paper h3{margin:20px 0 26px;font-size:27px;line-height:1.5;overflow-wrap:anywhere}.letter-paragraph{font-size:16px;line-height:2;letter-spacing:.02em;overflow-wrap:anywhere}.letter-signature{font-size:16px;overflow-wrap:anywhere}.cake-chapter{min-height:100svh;padding-top:66px;padding-bottom:max(46px,calc(env(safe-area-inset-bottom) + 24px))}.cake-scene{width:min(320px,100%);height:300px}.cake-intro{font-size:13px;line-height:1.7}.candle-hint{min-height:44px;font-size:14px;letter-spacing:.06em}.finale-overlay{padding:max(68px,calc(env(safe-area-inset-top) + 48px)) max(18px,env(safe-area-inset-right)) max(30px,calc(env(safe-area-inset-bottom) + 18px)) max(18px,env(safe-area-inset-left))}.finale-content{padding:0}.finale-content h2{font-size:clamp(38px,11vw,64px);line-height:1.1;overflow-wrap:anywhere}.finale-content strong{font-size:clamp(28px,7vw,40px);line-height:1.5;overflow-wrap:anywhere}.finale-wish{font-size:16px;line-height:1.9;letter-spacing:.05em;overflow-wrap:anywhere}.finale-subtitle{font-size:14px;line-height:1.9;letter-spacing:.03em}.finale-actions{gap:12px;margin-top:24px}.secret-link{min-height:44px;font-size:12px}.site-footer{padding-top:42px;padding-bottom:max(42px,env(safe-area-inset-bottom))}.surprise-toast{padding:12px 16px;font-size:13px;line-height:1.7;border-radius:20px}.lightbox{padding:max(76px,calc(env(safe-area-inset-top) + 54px)) max(18px,env(safe-area-inset-right)) max(102px,calc(env(safe-area-inset-bottom) + 80px)) max(18px,env(safe-area-inset-left));overflow-y:auto}.lightbox-figure{width:100%;min-width:0}.lightbox-figure img{max-height:calc(100svh - 240px)}.lightbox-figure figcaption{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;font-size:14px;line-height:1.8}.lightbox-figure figcaption span{overflow-wrap:anywhere}.lightbox-arrow{top:auto;bottom:max(24px,calc(env(safe-area-inset-bottom) + 14px))}.lightbox-prev{left:max(24px,env(safe-area-inset-left))}.lightbox-next{right:max(24px,env(safe-area-inset-right))}}@media(max-width:480px){.photo-collage{grid-template-columns:minmax(0,1fr);max-width:340px;gap:28px;padding:0 10px}.polaroid{padding:10px 10px 29px}.polaroid:nth-child(n){margin-top:0;rotate:-2deg}.polaroid:nth-child(2n){rotate:2deg}.photo-image{aspect-ratio:4 / 4.5}.photo-caption{font-size:14px}}@media(max-width:767px)and (max-height:650px)and (orientation:portrait){.welcome-inner{padding:0}.welcome-rule{margin:14px auto 18px}.welcome-type{margin-top:18px;min-height:48px}.welcome-small{margin-top:20px}.gift-hit{height:265px;margin-top:4px}.hero-chapter{padding-top:58px;padding-bottom:30px}.hero-age,.age-outline{font-size:min(38vw,24svh)}.hero-message{margin:10px auto 14px}.birthday-countdown{margin-top:12px}.scroll-cue{margin-top:14px}.cake-chapter{padding-top:52px;padding-bottom:30px}.cake-content h2{margin-top:12px}.cake-scene{height:285px;margin-top:6px}.finale-overlay{padding-top:max(56px,calc(env(safe-area-inset-top) + 38px));padding-bottom:max(20px,env(safe-area-inset-bottom))}.finale-eyebrow{font-size:8px;letter-spacing:.15em}.finale-content h2{margin-top:10px;font-size:clamp(30px,9vw,40px);line-height:1.05}.finale-content strong{margin:5px 0 8px;font-size:26px;line-height:1.35}.finale-divider{margin-bottom:8px}.finale-wish{font-size:15px;line-height:1.7}.finale-subtitle{margin:10px 0 8px;font-size:13px;line-height:1.7}.finale-signature{font-size:15px}.finale-actions{margin-top:16px;gap:6px}}@media(max-height:500px)and (orientation:landscape){.stage,.chapter{padding-left:max(28px,env(safe-area-inset-left));padding-right:max(28px,env(safe-area-inset-right))}.stage{padding-top:38px;padding-bottom:48px}.stage-index{bottom:max(12px,env(safe-area-inset-bottom))}.welcome-title{font-size:clamp(40px,15svh,66px)}.welcome-type{min-height:30px;margin-top:12px}.welcome-rule{margin:10px auto 14px}.welcome-button{margin-top:10px}.welcome-small{margin-top:16px}.reveal-message h1{font-size:clamp(38px,15svh,66px)}.cake-chapter{min-height:100svh;padding-top:32px;padding-bottom:32px}.cake-content{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cake-scene{width:min(320px,100%);height:285px}.finale-overlay{padding-top:max(54px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom))}.lightbox{padding-top:52px;padding-bottom:66px}.lightbox-figure img{max-height:calc(100svh - 158px)}.lightbox-arrow{top:50%;bottom:auto}}@media(hover:none){.pill-button:hover,.music-control:hover,.polaroid:hover,.polaroid:hover img{transform:none}}.blessings-chapter,.wish-list-chapter{background:radial-gradient(ellipse at 50% 35%,color-mix(in srgb,var(--secondary-color),transparent 92%),transparent 65%),var(--background-deep)}.little-things-chapter,.keepsake-chapter{background:linear-gradient(180deg,var(--background-deep),var(--background-soft) 50%,var(--background-deep))}.blessing-grid,.little-things-grid{position:relative;z-index:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1000px;margin:52px auto 0}.blessing-card{min-width:0;padding:27px;border:1px solid color-mix(in srgb,var(--primary-color),transparent 78%);border-radius:6px 24px 24px;background:var(--card-background);box-shadow:0 18px 40px #00000015}.blessing-person{display:flex;align-items:center;gap:12px}.blessing-avatar{flex-shrink:0;width:46px;height:46px;border-radius:50%;object-fit:cover}.blessing-initial{display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--gold-color),transparent 65%);color:var(--gold-color);background:color-mix(in srgb,var(--primary-color),transparent 88%);font-family:Songti SC,serif;font-size:21px}.blessing-person>div{flex:1;min-width:0}.blessing-person h3{margin:0 0 5px;font-size:16px;font-weight:500;overflow-wrap:anywhere}.blessing-person>div>span{color:var(--muted-color);font-size:11px;line-height:1.6}.blessing-heart{flex-shrink:0;color:var(--primary-color)}.blessing-message{margin:25px 0 0;color:var(--text-color);font-family:Songti SC,serif;font-size:16px;line-height:2;overflow-wrap:anywhere}.blessing-card audio{display:block;width:100%;height:44px;margin-top:24px}.module-status{margin:12px 0 0;color:var(--muted-color);font-size:12px;line-height:1.8;text-align:center}.little-thing-wrap{min-width:0}.little-thing{display:flex;flex-direction:column;width:100%;min-height:285px;padding:30px;border:1px solid color-mix(in srgb,var(--gold-color),transparent 75%);border-radius:6px;color:var(--text-color);background:linear-gradient(145deg,var(--card-background),#ffffff03);text-align:left;cursor:pointer;transition:background .35s,border-color .35s,box-shadow .35s}.little-thing.is-revealed{background:color-mix(in srgb,var(--primary-color),transparent 89%);border-color:color-mix(in srgb,var(--gold-color),transparent 45%);box-shadow:0 14px 42px color-mix(in srgb,var(--glow-color),transparent 95%)}.little-thing-number{display:flex;align-items:center;justify-content:space-between;width:100%;color:var(--gold-color);font-family:Georgia,serif;font-size:14px}.little-thing>strong{margin-top:32px;font-family:Songti SC,serif;font-size:22px;font-weight:400;line-height:1.6;overflow-wrap:anywhere}.little-thing-answer{display:block;flex:1;margin-top:18px;color:var(--muted-color);font-size:13px;line-height:1.9;overflow-wrap:anywhere}.little-thing-answer.visible{color:var(--text-color);font-size:15px}.little-thing-cue{display:flex;align-items:center;gap:10px;margin-top:26px;color:var(--gold-color);font-size:11px}.birthday-wishes{position:relative;z-index:3;display:grid;gap:16px;max-width:720px;margin:50px auto 0}.birthday-wish{display:flex;align-items:center;gap:23px;width:100%;min-height:110px;padding:26px;border:1px solid #ffffff19;border-radius:8px 22px 22px;color:var(--text-color);background:var(--card-background);text-align:left;cursor:pointer;transition:background .3s,border-color .3s}.birthday-wish.is-lit{border-color:color-mix(in srgb,var(--gold-color),transparent 50%);background:color-mix(in srgb,var(--gold-color),transparent 93%)}.wish-star{flex-shrink:0;display:grid;place-items:center;width:46px;height:46px;border:1px solid #ffffff20;border-radius:50%;color:var(--gold-color);transition:box-shadow .3s}.is-lit .wish-star{box-shadow:0 0 22px color-mix(in srgb,var(--gold-color),transparent 82%)}.wish-words{flex:1;min-width:0}.wish-words strong{display:block;font-family:Songti SC,serif;font-size:22px;font-weight:400;line-height:1.5;overflow-wrap:anywhere}.wish-words>span{display:block;margin-top:8px;color:var(--muted-color);font-size:13px;line-height:1.8;overflow-wrap:anywhere}.wish-check{flex-shrink:0;color:var(--gold-color)}.wish-count{margin:27px 0 0;color:var(--muted-color);font-size:12px;line-height:1.8;text-align:center}.keepsake-content{position:relative;z-index:3;display:grid;justify-items:center;gap:30px;margin-top:48px}.keepsake-preview,.keepsake-generated{display:block;width:min(100%,340px);border:1px solid color-mix(in srgb,var(--gold-color),transparent 60%);box-shadow:0 20px 60px #00000040}.keepsake-preview{display:grid;justify-items:center;gap:17px;padding:28px;color:var(--text-color);background:linear-gradient(145deg,var(--background-color),var(--background-soft),var(--background-deep));text-align:center}.keepsake-preview>p{margin:0;color:var(--gold-color);font-size:8px;letter-spacing:.13em}.keepsake-preview h3{max-width:100%;margin:2px 0 0;color:var(--text-color);font-family:Songti SC,serif;font-size:34px;font-weight:400;overflow-wrap:anywhere}.keepsake-preview>strong{color:var(--gold-color);font-family:Georgia,serif;font-size:27px;font-weight:400;font-style:italic}.keepsake-preview>img{display:block;width:100%;aspect-ratio:1.6;object-fit:cover;border-radius:3px}.keepsake-preview-star{display:grid;place-items:center;width:100%;aspect-ratio:1.6;color:var(--gold-color);background:#ffffff05;font-size:50px}.keepsake-preview-wish{font-family:Songti SC,serif;font-size:15px;line-height:1.8;overflow-wrap:anywhere}.keepsake-preview>small{color:var(--muted-color);font-size:10px;line-height:1.7}.keepsake-actions{display:grid;justify-items:center}@media(max-width:900px){.blessing-grid,.little-things-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.blessing-grid,.little-things-grid{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:34px}.blessing-card{padding:24px 22px}.blessing-person>div>span{font-size:12px}.little-thing{min-height:245px;padding:25px}.little-thing>strong{margin-top:24px}.little-thing-answer{font-size:14px}.little-thing-answer.visible{font-size:16px}.birthday-wishes{margin-top:34px}.birthday-wish{gap:14px;padding:22px 18px}.wish-star{width:42px;height:42px}.wish-words strong{font-size:20px}.wish-words>span{font-size:14px}.keepsake-content{margin-top:34px}.keepsake-preview{padding:24px}}.chapter-art-background{position:absolute;inset:0;z-index:-1;opacity:.3}.chapter-art-background>img{object-fit:cover;object-position:center}:root,.birthday-app[data-theme=pink-dream]{--heading-font: "Songti SC", SimSun, serif;--display-font: "Playfair Display", Georgia, serif;--particle-rgb: 245,199,215;--firework-colors: #f7dca8 #e9a5c7 #c4aae9 #ffffff;--gift-light-color: #f4cfdb;--gift-top: #f6dce4;--gift-mid: #bd8faa;--gift-dark: #926e92;--cake-light: #f8d7d4;--cake-dark: #af7c93;--paper-ink: #68544b;--theme-pattern: radial-gradient(ellipse at 12% 22%, #df99b512, transparent 48%), radial-gradient(ellipse at 88% 70%, #bca3dc12, transparent 42%)}.birthday-app[data-theme=star-night]{--heading-font: "PingFang SC", "Microsoft YaHei", sans-serif;--display-font: Georgia, serif;--particle-rgb: 178,207,255;--firework-colors: #b2d3ff #a9a0ec #dceaff #e7d7ad;--gift-light-color: #b9d8ff;--gift-top: #d6e6ff;--gift-mid: #839dcd;--gift-dark: #465b8c;--cake-light: #dbe5ff;--cake-dark: #7e88bc;--paper-ink: #465673;--theme-pattern: radial-gradient(ellipse at 75% 15%, #829aea1c, transparent 55%), repeating-linear-gradient(125deg, transparent 0 180px, #bfd9ff04 181px, transparent 182px 360px)}.birthday-app[data-theme=luxury-black]{--heading-font: "Songti SC", "Noto Serif SC", SimSun, serif;--display-font: "Bodoni MT", "Didot", Georgia, serif;--particle-rgb: 232,201,147;--firework-colors: #e8c993 #f6e7c7 #ba9461 #ffffff;--gift-light-color: #e9d1a2;--gift-top: #827260;--gift-mid: #4e4237;--gift-dark: #201c19;--cake-light: #ecd9b5;--cake-dark: #867051;--paper-ink: #67543c;--theme-pattern: repeating-linear-gradient(135deg, transparent 0 100px, #dfc99e07 101px, transparent 102px 200px)}.birthday-app[data-theme=fresh]{--gift-top: #d5ede0;--gift-mid: #83b8a5;--gift-dark: #557a6e;--cake-light: #dcead6;--cake-dark: #8ea98b;--particle-rgb: 179,226,207;--firework-colors: #a6d8cd #b7d7a0 #f1dda9 #ffffff}.birthday-app[data-theme=minimal]{--gift-top: #e6ddd3;--gift-mid: #b4a69b;--gift-dark: #80736a;--cake-light: #e8ddd1;--cake-dark: #a59587;--particle-rgb: 226,212,201;--firework-colors: #ddd2ca #ead9b6 #ffffff}.birthday-app{font-family:DM Sans,PingFang SC,Microsoft YaHei,sans-serif}.stage,.chapter{background-image:var(--theme-pattern),radial-gradient(ellipse at 50% 30%,var(--background-soft),var(--background-deep) 78%)}.stage-heading,.section-head h2,.cake-content h2,.letter-paper h2,.finale-content h2{font-family:var(--heading-font);font-weight:400}.welcome-title,.hero-title,.finale-content strong{font-family:var(--display-font)}.birthday-app[data-theme=luxury-black] .eyebrow{letter-spacing:.32em}.gift-body,.gift-lid{background:linear-gradient(125deg,var(--gift-top),var(--gift-mid) 51%,var(--gift-dark))}.gift-lid-top{background:linear-gradient(100deg,var(--gift-top),var(--gift-mid))}.gift-light{background:radial-gradient(ellipse,color-mix(in srgb,var(--gift-light-color),transparent 30%),transparent 70%)}.gift-light.burst{animation:gift-radiance 2.25s .15s ease-in-out forwards}.gift-hit.opening .gift-inner-light{animation:inner-radiance 2.1s .25s ease-in-out forwards}.gift-hit.opening .gift-box{animation:gift-unseal .55s ease-in-out}@keyframes gift-radiance{0%{opacity:0;transform:scale(.6)}65%{opacity:.45}to{opacity:.12;transform:scale(1.5)}}@keyframes inner-radiance{0%{opacity:0;transform:scale(.5)}60%{opacity:.75}to{opacity:0;transform:scale(6)}}@keyframes gift-unseal{45%{transform:translateY(-5px) rotate(-1deg)}}.cake-layer,.layer-two{background:linear-gradient(90deg,var(--cake-dark),var(--cake-light) 25%,var(--cake-light) 68%,var(--cake-dark))}.cake-top{background:radial-gradient(ellipse at 40% 35%,var(--paper-color),var(--cake-light) 65%,var(--cake-dark))}.polaroid{background:var(--paper-color);box-shadow:0 18px 34px #00000026,0 3px 8px #0000001a,0 0 0 1px #ffffff1a}.polaroid:active{transform:scale(.985)}.birthday-app[data-feedback=true] :is(.pill-button,.greeting-design,.music-button,.secret-link){transition:scale .3s cubic-bezier(.2,1.7,.4,1),box-shadow .3s ease,background .3s ease}.birthday-app[data-feedback=true] :is(.pill-button,.greeting-design,.music-button,.secret-link):active{scale:.965}.birthday-app[data-texture=true] :is(.greeting-page,.greeting-cover-front,.greeting-cover-inside,.letter-paper){background-image:repeating-linear-gradient(0deg,#89745a07 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,#fff5df0d 0 1px,transparent 1px 3px),linear-gradient(90deg,#00000009,transparent 9%)}.birthday-app .greeting-page{background-color:var(--paper-color);color:var(--paper-ink)}.birthday-app .greeting-page h3{font-family:var(--heading-font)}.quiet-moment{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;color:var(--gold-color)}.quiet-moment span{font-size:12px;letter-spacing:.08em}.scene-enter-active{transition:opacity .85s ease,transform .85s cubic-bezier(.2,.65,.3,1)}.scene-leave-active{transition:opacity .35s ease;pointer-events:none}.scene-enter-from{opacity:0;transform:translateY(8px)}.scene-leave-to{opacity:0}@media(prefers-reduced-motion:reduce){.scene-enter-active,.scene-leave-active{transition-duration:.01ms}.scene-enter-from{transform:none}.birthday-app[data-feedback=true] :is(.pill-button,.greeting-design,.music-button,.secret-link){transition:none}.birthday-app[data-feedback=true] :is(.pill-button,.greeting-design,.music-button,.secret-link):active{scale:none}.gift-light.burst,.gift-hit.opening .gift-inner-light,.gift-hit.opening .gift-box{animation:none}}
