:root{--ink:#39212c;--muted:#806171;--pink:#ff7ea8;--rose:#ffb4c8;--cream:#fff8ee;--line:rgba(124,71,91,0.14);--shadow:0 18px 48px rgba(186,87,121,0.18)}*{box-sizing:border-box}html{background:#fff6f8}body,html{min-height:100%}body{margin:0;color:var(--ink);background:radial-gradient(circle at 18% 4%,rgba(255,197,215,.82),transparent 28rem),radial-gradient(circle at 92% 12%,rgba(255,233,194,.88),transparent 24rem),linear-gradient(160deg,#fff6fb,#fff8ec 46%,#ffeef4);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;letter-spacing:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{border:0}.page-shell{width:min(100%,520px);margin:0 auto;padding:18px 16px 34px}.hero{min-height:92vh;display:flex;flex-direction:column;justify-content:center;padding:22px 0 20px}.topbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px}.brand,.topbar{align-items:center}.brand{display:inline-flex;gap:8px;font-weight:800}.brand-mark{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#ff719d,#ffc26c);box-shadow:0 10px 24px rgba(255,113,157,.32)}.nav-link{min-height:38px;display:inline-flex;align-items:center;padding:0 12px;border-radius:999px;color:#795367;background:rgba(255,255,255,.68);border:1px solid rgba(255,255,255,.82)}.admin-card,.form-card,.hero-card,.soft-card{border:1px solid rgba(255,255,255,.76);background:rgba(255,255,255,.72);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.hero-card{border-radius:28px;padding:26px 20px;overflow:hidden;position:relative}.hero-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,128,168,.16),transparent 45%),linear-gradient(315deg,rgba(255,202,113,.16),transparent 44%);pointer-events:none}.hero-card>*{position:relative}.eyebrow{color:#b55a77;font-size:13px;font-weight:800;margin:0 0 10px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(34px,10vw,50px);line-height:1.04}h1,h2{margin-bottom:14px}h2{font-size:25px;line-height:1.18}h3{font-size:17px;margin-bottom:8px}.lead{color:var(--muted);line-height:1.75;font-size:16px;margin-bottom:22px}.actions{display:flex;gap:10px;flex-wrap:wrap}.danger-button,.ghost-button,.primary-button,.secondary-button{min-height:48px;border-radius:18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;font-weight:800;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.primary-button{color:#fff;background:linear-gradient(135deg,#ff6f9f,#ffb45f);box-shadow:0 14px 30px rgba(255,111,159,.32)}.ghost-button,.secondary-button{color:#7d435b;background:rgba(255,255,255,.76);border:1px solid var(--line)}.danger-button{color:#fff;background:#d94c6c}.danger-button:active,.ghost-button:active,.primary-button:active,.secondary-button:active{transform:scale(.98)}.danger-button:disabled,.ghost-button:disabled,.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.62;transform:none}.section{margin-top:22px}.grid{display:grid;grid-gap:12px;gap:12px}.price-grid,.template-grid{grid-template-columns:1fr}.admin-card,.form-card,.soft-card{border-radius:24px;padding:18px}.price{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.price strong{font-size:28px;color:#ff6f9f}.feature-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.pill{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;color:#8a5268;background:rgba(255,240,246,.78);font-size:12px;font-weight:700}.template-preview{min-height:132px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.preview-lines{display:grid;grid-gap:7px;gap:7px;margin-top:16px}.preview-lines span{height:9px;border-radius:999px;background:rgba(255,255,255,.72)}.theme-cherry{background:linear-gradient(145deg,#ffd4e2,#fff3f7 52%,#ff88ad)}.theme-cream{background:linear-gradient(145deg,#fffaf0,#ffe7bd 52%,#f7cad6)}.theme-film{color:#3d2a22;background:linear-gradient(145deg,#f8ddac,#d99871 55%,#47342d)}.form-card{margin-top:14px}.template-choice-card,.template-choice-grid{display:grid;grid-gap:12px;gap:12px}.template-choice-card{border:1px solid var(--line);border-radius:22px;padding:12px;background:rgba(255,255,255,.68)}.template-choice-card.selected{border-color:rgba(255,111,159,.78);box-shadow:0 12px 30px rgba(255,111,159,.16)}.template-thumb{min-height:150px;border-radius:18px;padding:14px;overflow:hidden;position:relative}.template-thumb-title{font-weight:900;font-size:20px}.template-thumb-lines{display:grid;grid-gap:7px;gap:7px;width:70%;margin-top:18px}.template-thumb-lines span{height:8px;border-radius:999px;background:rgba(255,255,255,.72)}.template-thumb-photo{position:absolute;right:14px;bottom:14px;width:82px;height:64px;border-radius:16px;border:2px solid rgba(255,255,255,.72);background:rgba(255,255,255,.38)}.template-card-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.template-card-actions .primary-button,.template-card-actions .secondary-button{min-height:44px;border-radius:15px}.field{display:grid;grid-gap:8px;gap:8px;margin-bottom:16px}.create-gift-form{display:grid;grid-gap:16px;gap:16px}.create-section{display:grid;grid-gap:14px;gap:14px;border-radius:26px;padding:16px;background:rgba(255,255,255,.58);border:1px solid rgba(255,188,208,.28);box-shadow:0 12px 28px rgba(117,61,82,.07)}.create-section .field{margin-bottom:0}.create-section-head{display:grid;grid-template-columns:38px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:start}.create-section-head>span{width:38px;height:38px;display:grid;place-items:center;border-radius:15px;color:#fff;font-size:16px;font-weight:900;background:linear-gradient(135deg,#ff6f9f,#ffb45f);box-shadow:0 12px 22px rgba(255,111,159,.18)}.create-section-head h2{margin:0 0 4px;color:#5f3149;font-size:20px}.create-section-head p{margin:0;color:#8a5268;line-height:1.6;font-size:14px}.advanced-settings{display:grid;grid-gap:14px;gap:14px}.advanced-settings summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;border-radius:20px;padding:13px 14px;color:#6e4056;background:rgba(255,246,250,.76);border:1px solid rgba(255,188,208,.38)}.advanced-settings summary::-webkit-details-marker{display:none}.advanced-settings summary span{font-weight:900}.advanced-settings summary small{color:#9b7182;text-align:right}.advanced-settings[open] summary{margin-bottom:12px}.template-fit{margin:5px 0;color:#9a3e62;font-size:13px;font-weight:900}.field label,.field-title{color:#6e4056;font-size:14px;font-weight:800}.field small{color:#9b7182}.input,.select,.textarea{width:100%;min-height:50px;border:1px solid var(--line);border-radius:18px;padding:12px 14px;outline:0;color:var(--ink);background:rgba(255,255,255,.82)}.textarea{min-height:170px;line-height:1.7;resize:vertical}.radio-cards,.segmented{display:grid;grid-gap:10px;gap:10px}.radio-card{cursor:pointer;border:1px solid var(--line);border-radius:20px;padding:14px;background:rgba(255,255,255,.62)}.radio-card input{margin-right:8px}.radio-card:has(input:checked){border-color:rgba(255,111,159,.75);box-shadow:0 10px 26px rgba(255,111,159,.14)}.image-upload-box{display:grid;grid-gap:10px;gap:10px;border:1px dashed rgba(255,111,159,.42);border-radius:20px;padding:14px;background:rgba(255,255,255,.58)}.file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.upload-button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:18px;padding:0 18px;cursor:pointer;color:#fff;font-weight:800;background:linear-gradient(135deg,#ff6f9f,#ff9f73);box-shadow:0 12px 28px rgba(255,111,159,.24);-webkit-tap-highlight-color:transparent}.upload-count{color:#6e4056;font-size:15px;font-weight:700}.upload-count strong{color:#ff5f97;font-size:22px}.stamp-setting-field{gap:12px}.stamp-mode-tabs{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.stamp-mode-tabs .primary-button,.stamp-mode-tabs .secondary-button{min-height:42px;padding:0 12px}.stamp-upload-row{display:grid;grid-gap:8px;gap:8px}.stamp-preview-row{display:flex;gap:12px;align-items:center;justify-content:space-between;border-radius:22px;padding:12px;background:rgba(255,246,250,.74);border:1px solid rgba(255,188,208,.42)}.stamp-preview-card{width:88px;height:88px;display:grid;place-items:center;overflow:hidden;border-radius:50%;color:rgba(198,64,106,.76);border:2px solid rgba(255,111,159,.42);background:rgba(255,255,255,.68);transform:rotate(8deg);font-size:14px;font-weight:900;text-align:center;line-height:1.18}.stamp-preview-card img{max-width:88px;max-height:88px;width:100%;height:100%;object-fit:contain}.caption-list{display:grid;grid-gap:10px;gap:10px}.selected-image-list{display:grid;grid-gap:12px;gap:12px}.selected-image-card{display:grid;grid-template-columns:96px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:start;border:1px solid var(--line);border-radius:18px;padding:10px;background:rgba(255,255,255,.66)}.selected-image-preview{position:relative;width:96px;aspect-ratio:1;overflow:hidden;border-radius:14px;background:rgba(255,231,239,.72)}.selected-image-preview img{width:100%;height:100%;transform-origin:center}.selected-image-body{min-width:0;display:grid;grid-gap:10px;gap:10px}.selected-image-title{display:flex;justify-content:space-between;gap:8px;align-items:center}.mini-action-row{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.selected-image-title .mini-action-row{max-width:220px}.mini-button{min-height:34px;border-radius:12px;padding:0 11px;font-size:12px}.notice{color:#8a5268;border-radius:18px;padding:12px 14px;background:rgba(255,244,221,.8);border:1px solid rgba(255,193,105,.28);line-height:1.6}.media-upload-module{scroll-margin-top:92px;outline:none;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.media-upload-module.has-error{border:1px solid rgba(190,48,86,.56);border-radius:20px;padding:12px;background:rgba(255,235,241,.78)}.media-upload-module.is-error-highlighted{animation:mediaErrorHighlight 1.6s ease-out}.media-module-error{display:grid;grid-gap:5px;gap:5px;border-left:4px solid #c33261;border-radius:14px;padding:10px 12px;color:#7c2947;background:rgba(255,244,247,.96)}.media-module-error strong:before{content:"! "}.media-error-reselect{width:-moz-fit-content;width:fit-content;min-height:40px;display:inline-flex;align-items:center;margin-top:3px;color:#9e2853;font-weight:900;text-decoration:underline;cursor:pointer}.media-error-summary{display:grid;grid-gap:8px;gap:8px;margin-bottom:16px}.media-error-summary button{border:0;padding:0;color:#8a294c;background:transparent;text-align:left;text-decoration:underline;cursor:pointer}@keyframes mediaErrorHighlight{0%,35%{box-shadow:0 0 0 5px rgba(214,55,105,.2);background:rgba(255,220,231,.96)}to{box-shadow:0 0 0 0 rgba(214,55,105,0)}}.strong-notice{color:#743148;background:rgba(255,231,239,.92);border-color:rgba(255,126,168,.32);font-weight:800}.redeem-form{margin-top:16px}.redeem-input{min-height:64px;border-radius:22px;font-size:21px;font-weight:900;text-transform:uppercase;letter-spacing:0}.redeem-button{min-height:58px;font-size:17px}.redeem-result-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.redeem-expired-note{margin:12px 0 0;color:#9a3e62;font-weight:800}.success-shell{width:min(100%,520px);margin:28px auto;padding:34px 22px;text-align:center;border:1px solid rgba(255,126,168,.2);border-radius:28px;background:rgba(255,255,255,.82);box-shadow:0 24px 64px rgba(117,61,82,.13)}.success-shell h1{margin:8px auto 12px;max-width:420px}.success-gift-mark{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 16px;border-radius:24px;color:#fff;font-size:34px;font-weight:900;background:linear-gradient(135deg,#ff709e,#ffad76);box-shadow:0 16px 34px rgba(255,111,159,.26);transform:rotate(-3deg)}.success-gift-mark span{transform:rotate(3deg)}.success-qr-card{display:grid;justify-items:center;grid-gap:7px;gap:7px;width:min(100%,280px);margin:24px auto;padding:20px;border:1px dashed rgba(152,75,103,.3);border-radius:22px 22px 22px 8px;background:#fff9f5;box-shadow:0 14px 30px rgba(91,44,62,.1)}.success-qr-card img{width:160px;height:160px;border-radius:12px}.success-qr-card span{color:#8a5268;font-size:13px}.success-action-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.success-action-grid .primary-button,.success-action-grid .secondary-button{min-height:50px}.success-action-grid .notice{grid-column:1/-1}.packing-overlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px;color:#6b3650;background:radial-gradient(circle at 24% 18%,rgba(255,255,255,.72),transparent 26%),radial-gradient(circle at 78% 28%,rgba(255,208,226,.74),transparent 24%),linear-gradient(145deg,#fff5f8,#ffd7e4 46%,#ffc1d4)}.packing-overlay:before{content:"";position:absolute;inset:0;opacity:.48;background-image:radial-gradient(circle,rgba(255,255,255,.96) 0 2px,transparent 3px),radial-gradient(circle,rgba(255,126,168,.34) 0 3px,transparent 4px);background-size:34px 34px,72px 72px;animation:sparkleDrift 2.4s ease-in-out infinite}.packing-gift{position:relative;width:168px;height:150px;filter:drop-shadow(0 24px 34px rgba(178,62,98,.2));animation:giftFloat 1.8s ease-in-out infinite}.packing-box,.packing-lid{position:absolute;left:50%;transform:translateX(-50%);border-radius:22px;background:linear-gradient(135deg,#ff7ea8,#ffb45f)}.packing-box{bottom:4px;width:134px;height:92px}.packing-lid{top:22px;width:154px;height:34px;animation:lidSeal 2.4s ease-in-out infinite}.packing-ribbon{position:absolute;z-index:1;border-radius:999px;background:rgba(255,255,255,.82)}.packing-ribbon.vertical{left:50%;bottom:4px;width:18px;height:126px;transform:translateX(-50%)}.packing-ribbon.horizontal{left:20px;bottom:45px;width:128px;height:18px}.packing-gift i{position:absolute;width:9px;height:9px;border-radius:50%;background:#fff;animation:packingSpark 1.2s ease-in-out infinite}.packing-gift i:first-of-type{top:0;left:22px}.packing-gift i:nth-of-type(2){top:16px;right:18px;animation-delay:.2s}.packing-gift i:nth-of-type(3){bottom:12px;right:4px;animation-delay:.4s}.packing-copy{position:relative;z-index:1;width:min(86vw,340px);min-height:34px;margin-top:22px;font-size:18px;font-weight:900;text-align:center}.packing-copy span{display:block;opacity:1;white-space:nowrap;animation:packingTextIn .36s ease both}@keyframes giftFloat{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}}@keyframes lidSeal{0%{transform:translate(-50%,-18px) rotate(-3deg)}42%,to{transform:translate(-50%) rotate(0deg)}}@keyframes packingSpark{0%,to{opacity:.35;transform:scale(.72)}50%{opacity:1;transform:scale(1.18)}}@keyframes packingTextIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes sparkleDrift{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.filter-grid{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px;margin-bottom:14px}.card-stage{width:min(100%,520px);margin:0 auto;padding:18px 16px 34px}.gift-card{min-height:calc(100vh - 36px);border-radius:32px;padding:24px 18px;box-shadow:var(--shadow);overflow:hidden;position:relative}.gift-card.theme-cherry{background:linear-gradient(160deg,#fff5f8,#ffd6e4 54%,#ff8bad)}.gift-card.theme-cream{background:linear-gradient(160deg,#fffaf0,#ffe7bf 55%,#ffc9d8)}.gift-card.theme-film{color:#fff9ef;background:linear-gradient(160deg,#382922,#c98861 54%,#f5d39a)}.gift-card.theme-film .card-message,.gift-card.theme-film .muted{color:rgba(255,249,239,.84)}.cover{min-height:calc(100vh - 84px);display:flex;flex-direction:column;justify-content:center;text-align:center}.cover h1{margin-bottom:8px}.cover-name{font-size:48px;font-weight:900;line-height:1.04}.muted{color:var(--muted)}.card-message{white-space:pre-wrap;color:#604555;font-size:17px;line-height:1.9}.watermark{position:fixed;right:14px;bottom:16px;z-index:20;padding:9px 12px;border-radius:999px;color:rgba(123,59,83,.72);background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.86);font-size:12px;font-weight:800}.image-wall{display:grid;grid-gap:12px;gap:12px}.memory-photo{overflow:hidden;border-radius:22px;background:rgba(255,255,255,.6)}.memory-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.memory-photo figcaption{padding:11px 12px 13px;color:#70475a;font-weight:700}.preview-photo-placeholder{display:grid;place-items:center;width:100%;aspect-ratio:4/3;color:rgba(116,49,72,.78);font-weight:900}.preview-photo-placeholder.cherry{background:linear-gradient(135deg,#ffd4e2,#ff8bad)}.preview-photo-placeholder.cream{background:linear-gradient(135deg,#fff7e9,#ffcbd9)}.preview-photo-placeholder.film{color:rgba(255,249,239,.92);background:linear-gradient(135deg,#d99871,#47342d)}.preview-modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:end center;padding:18px 12px;background:rgba(57,33,44,.42)}.preview-modal{width:min(100%,520px);height:calc(100vh - 36px);max-height:calc(100vh - 36px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;border-radius:28px;overflow:hidden;background:rgba(255,250,252,.96);box-shadow:0 24px 70px rgba(82,39,55,.32);border:1px solid rgba(255,255,255,.86)}.preview-modal-footer,.preview-modal-header{padding:14px;background:rgba(255,255,255,.9)}.preview-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.preview-modal-header h2{margin-bottom:0}.preview-close-button{width:44px;height:44px;border-radius:16px;color:#7d435b;background:rgba(255,231,239,.9);font-size:28px;line-height:1;cursor:pointer}.preview-modal-body{min-height:0;overflow:auto;padding:12px}.preview-gift-card{min-height:auto;border-radius:24px;padding:16px 14px}.preview-gift-card h1{font-size:32px}.preview-modal-footer{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;border-top:1px solid var(--line)}.preview-modal-footer .primary-button,.preview-modal-footer .secondary-button{min-height:52px;padding:0 12px}.image-editor-backdrop{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:14px;background:rgba(74,38,54,.48);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.image-editor-modal{width:min(100%,430px);max-height:min(92vh,820px);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;grid-gap:14px;gap:14px;overflow:auto;border-radius:26px;padding:16px;background:rgba(255,250,252,.96);box-shadow:0 24px 70px rgba(60,28,42,.28)}.image-editor-header{text-align:center}.image-editor-header>div{min-width:0}.image-editor-header-action,.image-editor-header-spacer{width:64px;min-height:44px;flex:0 0 64px}.image-editor-header-action{border:0;border-radius:14px;color:#87344f;background:rgba(255,231,239,.82);font-weight:900;cursor:pointer}.image-editor-stage{display:grid;grid-gap:7px;gap:7px;min-height:0;place-items:center}.image-editor-gesture-tip{color:#815066;font-weight:700}.image-editor-footer,.image-editor-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.image-editor-header h2{margin:2px 0 0;font-size:20px}.image-crop-frame{position:relative;width:100%;overflow:hidden;border-radius:20px;background:linear-gradient(45deg,rgba(255,218,230,.42) 25%,transparent 25% 75%,rgba(255,218,230,.42) 75%),linear-gradient(45deg,rgba(255,218,230,.42) 25%,transparent 25% 75%,rgba(255,218,230,.42) 75%);background-position:0 0,12px 12px;background-size:24px 24px;border:1px solid rgba(255,188,208,.52)}.image-crop-frame.square{width:min(100%,320px);justify-self:center}.image-crop-frame:after{content:"";position:absolute;inset:12px;border:1px dashed rgba(255,255,255,.88);border-radius:14px;pointer-events:none;box-shadow:0 0 0 999px rgba(65,30,46,.08)}.image-crop-frame.is-interactive{touch-action:none;cursor:-webkit-grab;cursor:grab}.image-crop-frame.is-interactive:active{cursor:-webkit-grabbing;cursor:grabbing}.image-editor-controls{display:grid;grid-gap:12px;gap:12px;border-radius:20px;padding:12px;background:rgba(255,244,248,.72)}.image-fit-tabs{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.image-range-control>span{display:flex;justify-content:space-between;gap:12px}.image-range-control output{color:#a52f5b;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.image-editor-controls label{display:grid;grid-gap:7px;gap:7px;color:#72445a;font-size:13px;font-weight:900}.image-editor-controls input[type=range]{width:100%;min-height:36px;accent-color:#ff6f9f}.rotation-control{display:grid;grid-template-columns:minmax(0,1fr) 92px;grid-gap:10px;gap:10px;align-items:end}.rotation-number-input{min-height:42px;padding:0 10px}.image-editor-footer{justify-content:flex-end}.image-editor-footer .primary-button,.image-editor-footer .secondary-button{min-height:44px}.admin-stamp-image{width:96px;height:96px;object-fit:contain;border-radius:18px;background:rgba(255,246,250,.8)}@media (min-width:601px){.image-editor-modal{grid-template-rows:none;grid-auto-rows:max-content}.image-editor-footer{position:static}}@media (max-width:600px){.image-editor-backdrop{padding:0;place-items:stretch}.image-editor-modal{width:100%;height:100dvh;max-height:none;grid-template-rows:auto minmax(210px,1fr) minmax(0,auto) auto auto;gap:10px;overflow:hidden;border-radius:0;padding:max(10px,env(safe-area-inset-top)) 12px max(10px,env(safe-area-inset-bottom))}.image-editor-header{position:-webkit-sticky;position:sticky;top:0;z-index:3}.image-editor-header .eyebrow{display:none}.image-editor-header h2{max-width:190px;overflow:hidden;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.image-editor-stage{overflow:hidden}.image-crop-frame{max-height:42vh}.image-crop-frame.square{width:min(100%,42vh)}.image-editor-controls{max-height:30vh;overflow-y:auto;overscroll-behavior:contain;padding-bottom:16px}.image-editor-footer{position:-webkit-sticky;position:sticky;bottom:0;z-index:3;display:grid;grid-template-columns:1fr 1fr;padding-top:8px;background:rgba(255,250,252,.98)}.image-editor-footer .primary-button,.image-editor-footer .secondary-button{min-height:50px}}@media (prefers-reduced-motion:reduce){.media-upload-module.is-error-highlighted{animation:none;box-shadow:0 0 0 3px rgba(214,55,105,.18)}}.confirm-backdrop,.real-preview-backdrop{position:fixed;inset:0;z-index:88;display:grid;place-items:center;padding:14px;background:rgba(74,38,54,.52);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.real-preview-modal{width:min(100%,520px);height:min(94vh,820px);max-height:min(94vh,820px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-radius:28px;background:rgba(255,250,252,.97);box-shadow:0 26px 74px rgba(60,28,42,.3)}.real-preview-footer,.real-preview-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px}.real-preview-header{border-bottom:1px solid rgba(255,188,208,.3)}.real-preview-header h2{margin:2px 0 0;font-size:20px}.real-preview-body{min-height:0;overflow:auto;padding:14px;-webkit-overflow-scrolling:touch}.birthday-h5-preview-host{overflow:hidden;padding:0;background:#e8e4e3}.birthday-h5-preview-stage{position:relative;width:100%;height:100%;min-height:0;overflow:hidden}.birthday-h5-preview-stage>.birthday-h5{height:100%;min-height:0}.real-preview-footer{border-top:1px solid rgba(255,188,208,.3)}.real-preview-footer .primary-button,.real-preview-footer .secondary-button{flex:1 1;min-height:50px}.confirm-backdrop{z-index:98}.confirm-modal{width:min(100%,390px);border-radius:28px;padding:24px 18px;text-align:center;background:rgba(255,250,252,.98);box-shadow:0 26px 74px rgba(60,28,42,.3)}.confirm-modal h2{margin:0 0 10px;color:#5f3149;font-size:24px}.confirm-modal p{margin:0;color:#8a5268;line-height:1.7}.confirm-actions{display:grid;grid-gap:10px;gap:10px;margin-top:20px}.confirm-actions .primary-button,.confirm-actions .secondary-button{min-height:50px}.tool-row{grid-template-columns:1fr;margin-top:16px}.admin-list,.tool-row{display:grid;grid-gap:10px;gap:10px}.admin-item{text-align:left;width:100%;border:1px solid var(--line);border-radius:18px;padding:12px;color:var(--ink);background:rgba(255,255,255,.72);cursor:pointer}.admin-item.active{border-color:rgba(255,111,159,.78)}.code-row{cursor:default}.code-meta{margin:6px 0;font-size:13px}.code-actions{align-items:stretch}.code-actions .danger-button,.code-actions .primary-button,.code-actions .secondary-button{min-height:42px;border-radius:15px;padding:0 13px;font-size:13px}.row-feedback{margin-top:10px;border-radius:14px;padding:9px 10px;color:#743148;background:rgba(255,231,239,.82);border:1px solid rgba(255,126,168,.24);font-size:13px;font-weight:800}.admin-layout{display:grid;grid-gap:14px;gap:14px}.status-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border-radius:999px;color:#7b3b53;background:rgba(255,231,239,.9);font-size:12px;font-weight:800}.status-unused{color:#476433;background:rgba(221,245,202,.92)}.status-used{color:#70475a;background:rgba(255,231,239,.92)}.status-disabled,.status-expired{color:#8b334b;background:rgba(255,221,228,.92)}.empty-state{padding:24px;border-radius:22px;text-align:center;color:var(--muted);background:rgba(255,255,255,.58)}.card-stage{min-height:100vh;min-height:100svh;margin:0;padding:0}.birthday-player,.card-stage{width:100%;height:100vh;height:100svh;overflow:hidden}.birthday-player{position:relative;color:var(--ink);isolation:isolate;touch-action:pan-y}.birthday-player.theme-cherry{background:radial-gradient(circle at 22% 16%,rgba(255,255,255,.86),transparent 12rem),radial-gradient(circle at 82% 8%,rgba(255,192,214,.95),transparent 15rem),linear-gradient(160deg,#fff0f6,#ffd0df 50%,#ff7aa8)}.birthday-player.theme-cream{background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.94),transparent 14rem),radial-gradient(circle at 88% 18%,rgba(255,233,194,.84),transparent 16rem),linear-gradient(160deg,#fffdf7,#fff1d6 54%,#ffd9e3)}.birthday-player.theme-film{color:#fff8ed;background:radial-gradient(circle at 16% 12%,rgba(255,218,158,.36),transparent 13rem),linear-gradient(160deg,#30231e,#875a3e 48%,#e1a66d)}.birthday-player:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0}.birthday-player.theme-cherry:after{background-image:radial-gradient(circle,rgba(255,255,255,.86) 0 2px,transparent 3px),radial-gradient(circle,rgba(255,107,150,.36) 0 3px,transparent 4px);background-size:34px 34px,78px 78px}.birthday-player.theme-cream:after{background:linear-gradient(110deg,rgba(255,255,255,.3),transparent 30%),radial-gradient(circle at 10% 82%,rgba(255,255,255,.62),transparent 12rem)}.birthday-player.theme-film:after{opacity:.24;background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 0),radial-gradient(circle,rgba(255,244,219,.5) 0 1px,transparent 1.6px);background-size:100% 18px,22px 22px}.birthday-scene-decor{position:absolute;inset:0;z-index:0;pointer-events:none}.birthday-scene-decor span{position:absolute;display:block;opacity:.62;filter:blur(.1px)}.theme-cherry .birthday-scene-decor span:first-child{width:64px;height:64px;left:8%;top:12%;border-radius:50% 50% 46% 46%;background:#ff5f94;box-shadow:22px 0 0 #ff7fb0;transform:rotate(-18deg)}.theme-cherry .birthday-scene-decor span:nth-child(2){width:86px;height:86px;right:8%;bottom:18%;border-radius:26px 26px 18px 18px;background:linear-gradient(#fff6fb 0 38%,#ff9fbe 39% 100%)}.theme-cherry .birthday-scene-decor span:nth-child(3){width:54px;height:54px;right:18%;top:14%;-webkit-clip-path:polygon(50% 0,62% 34%,98% 35%,69% 56%,79% 92%,50% 70%,21% 92%,31% 56%,2% 35%,38% 34%);clip-path:polygon(50% 0,62% 34%,98% 35%,69% 56%,79% 92%,50% 70%,21% 92%,31% 56%,2% 35%,38% 34%);background:rgba(255,255,255,.78)}.theme-cream .birthday-scene-decor span:first-child{width:118px;height:118px;left:-18px;bottom:13%;border-radius:50%;background:radial-gradient(circle at 36% 38%,#fff 0 16%,#ffcdd8 17% 34%,transparent 35%)}.theme-cream .birthday-scene-decor span:nth-child(2){width:98px;height:132px;right:6%;top:10%;border-radius:48px 48px 18px 18px;background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,214,178,.54))}.theme-cream .birthday-scene-decor span:nth-child(3){width:150px;height:16px;left:24%;top:20%;border-radius:999px;background:rgba(255,255,255,.64)}.theme-film .birthday-scene-decor span:first-child{width:132px;height:96px;left:8%;bottom:12%;border-radius:10px;border:10px solid rgba(255,247,226,.74);background:rgba(70,41,28,.28);transform:rotate(-9deg)}.theme-film .birthday-scene-decor span:nth-child(2){width:126px;height:26px;right:5%;top:18%;border-radius:999px;background:repeating-linear-gradient(90deg,rgba(255,236,192,.65) 0 14px,rgba(65,42,32,.36) 14px 22px)}.theme-film .birthday-scene-decor span:nth-child(3){width:92px;height:132px;right:14%;bottom:16%;border-radius:9px;background:linear-gradient(rgba(255,248,232,.8) 0 72%,rgba(255,248,232,.96) 73% 100%);transform:rotate(7deg)}.birthday-cover,.birthday-slide-shell{position:relative;z-index:1;width:min(100%,520px);height:100vh;height:100svh;margin:0 auto;padding:74px 16px 92px;display:grid;place-items:center}.birthday-cover-card,.birthday-page-card{width:100%;min-height:min(640px,calc(100vh - 170px));min-height:min(640px,calc(100svh - 170px));max-height:calc(100vh - 170px);max-height:calc(100svh - 170px);border:1px solid rgba(255,255,255,.76);border-radius:34px;padding:24px 20px;background:rgba(255,255,255,.72);box-shadow:0 20px 54px rgba(91,44,62,.2);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overflow:hidden}.theme-film .birthday-cover-card,.theme-film .birthday-page-card{border-color:rgba(255,247,226,.32);background:rgba(55,36,28,.58);box-shadow:0 22px 62px rgba(36,22,18,.32)}.birthday-cover-card{display:flex;flex-direction:column;justify-content:center;text-align:center;animation:cardFloatIn .54s ease both}.birthday-cover-card h1{font-size:38px;line-height:1.08;margin-bottom:16px}.open-card-button{align-self:center;min-width:176px;margin-top:12px}.opening-gift-overlay{position:absolute;inset:0;z-index:6;display:grid;place-items:center;border-radius:34px;background:rgba(255,232,241,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;animation:openingOverlayFade 1.5s ease both}.opening-envelope{position:relative;width:168px;height:118px;border-radius:16px;background:linear-gradient(145deg,#fffaf7,#ffd7e5);box-shadow:0 20px 42px rgba(190,75,112,.24);animation:openingEnvelopeLift 1.5s ease both}.opening-envelope:after,.opening-envelope:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(32deg,transparent 49%,rgba(255,126,168,.24) 50%,transparent 51%),linear-gradient(-32deg,transparent 49%,rgba(255,126,168,.24) 50%,transparent 51%)}.opening-flap{position:absolute;left:0;right:0;top:0;height:72px;transform-origin:top;-webkit-clip-path:polygon(0 0,100% 0,50% 100%);clip-path:polygon(0 0,100% 0,50% 100%);border-radius:16px 16px 0 0;background:linear-gradient(180deg,#ffb8ce,#fff4f8);animation:openingFlap 1.5s ease both}.opening-letter{position:absolute;left:28px;right:28px;bottom:22px;height:72px;border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 10px 24px rgba(160,71,98,.13);animation:openingLetter 1.5s ease both}.opening-envelope i{position:absolute;z-index:3;width:10px;height:10px;border-radius:50%;background:#fff;animation:openingSpark 1.5s ease both}.opening-envelope i:first-of-type{left:-18px;top:22px}.opening-envelope i:nth-of-type(2){right:-20px;top:12px;animation-delay:.08s}.opening-envelope i:nth-of-type(3){right:18px;bottom:-16px;animation-delay:.16s}.birthday-page-card{display:flex;flex-direction:column;justify-content:center}.slide-enter{animation:slideCardIn .32s ease both}.birthday-slide-content{min-height:0;display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:center}.centered-slide{align-items:center}.slide-eyebrow{margin:0 0 12px;color:#b64f72;font-size:13px;font-weight:900;letter-spacing:0;text-transform:uppercase}.theme-film .signature,.theme-film .slide-eyebrow,.theme-film .slide-lead{color:rgba(255,248,232,.84)}.birthday-slide-content h1{font-size:44px;line-height:1;margin-bottom:14px}.birthday-slide-content h2{font-size:28px;line-height:1.16;margin-bottom:14px}.slide-lead{color:#7d596a;line-height:1.7;margin-bottom:18px}.tiny-sparkles{display:flex;justify-content:center;gap:9px;margin-top:8px}.tiny-sparkles span{width:9px;height:9px;border-radius:999px;background:#ff7ea8;animation:sparklePulse 1.6s ease-in-out infinite}.tiny-sparkles span:nth-child(2){animation-delay:.2s}.tiny-sparkles span:nth-child(3){animation-delay:.4s}.letter-slide{text-align:left}.letter-paper{min-height:0;flex:1 1;overflow:auto;border-radius:24px;padding:20px 18px;color:#5d4351;background:linear-gradient(rgba(255,255,255,0),rgba(255,255,255,0)),repeating-linear-gradient(#fffaf6 0 30px,#ffe5ee 31px 32px);border:1px solid rgba(255,188,208,.42);box-shadow:inset 0 1px 0 rgba(255,255,255,.74);-webkit-overflow-scrolling:touch;scrollbar-width:none}.letter-paper::-webkit-scrollbar{width:0;height:0}.theme-film .letter-paper{color:#4b3328;background:linear-gradient(rgba(255,251,238,.36),rgba(255,251,238,.36)),repeating-linear-gradient(#f8e2b8 0 30px,#d8a06d 31px 32px);border-color:rgba(255,232,184,.42)}.letter-paper p{margin:0;white-space:pre-wrap;font-size:16px;line-height:1.9}.signature{margin:14px 0 0;color:#8a5268;font-weight:900;text-align:right}.photo-slide{justify-content:flex-start;text-align:left}.polaroid-strip{min-height:0;display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;padding:6px 4px 12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.polaroid-strip>.polaroid-photo{flex:0 0 78%;max-width:300px;margin:0;padding:10px 10px 18px;border-radius:8px;color:#624352;background:rgba(255,255,255,.9);box-shadow:0 14px 30px rgba(91,44,62,.16);scroll-snap-align:center;transform:rotate(-1.5deg)}.polaroid-strip>.polaroid-photo:nth-child(2n){transform:rotate(1.5deg)}.theme-film .polaroid-strip>.polaroid-photo{color:#4a3127;background:#fff4de}.polaroid-strip>.polaroid-photo .preview-photo-placeholder,.polaroid-strip>.polaroid-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px}.polaroid-strip>.polaroid-photo figcaption{min-height:42px;padding-top:12px;line-height:1.45;font-size:14px;font-weight:800;text-align:center}.voice-player{width:100%;margin-top:12px}.share-slide .tool-row{width:100%;margin-top:8px}.music-toggle{position:fixed;z-index:5;top:max(14px,env(safe-area-inset-top));right:14px;min-height:40px;border-radius:999px;padding:0 13px;background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.86);box-shadow:0 10px 24px rgba(91,44,62,.16);font-size:12px;font-weight:900}.theme-film .music-toggle{color:#fff8ed;background:rgba(55,36,28,.62);border-color:rgba(255,248,232,.24)}.music-toggle.playing{background:linear-gradient(135deg,#ff6f9f,#ff9f73)}.slide-nav{position:fixed;z-index:4;left:50%;bottom:max(14px,env(safe-area-inset-bottom));width:min(calc(100% - 28px),488px);transform:translateX(-50%);display:grid;grid-template-columns:1fr auto 1fr;grid-gap:10px;gap:10px;align-items:center}.slide-nav .primary-button,.slide-nav .secondary-button{min-height:46px;border-radius:16px;padding:0 12px}.page-progress{min-width:58px;min-height:36px;display:grid;place-items:center;border-radius:999px;color:#7b3b53;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.82);font-weight:900;font-size:13px}.theme-film .page-progress{color:#fff8ed;background:rgba(55,36,28,.62);border-color:rgba(255,248,232,.24)}.birthday-preview-stack,.birthday-render-stack{display:grid;grid-gap:14px;gap:14px}.preview-page-card{min-height:520px;max-height:none}.preview-page-index{align-self:center;margin-top:14px;width:28px;height:28px;display:grid;place-items:center;border-radius:999px;color:#8a5268;background:rgba(255,255,255,.7);font-size:12px;font-weight:900}@keyframes cardFloatIn{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideCardIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes sparklePulse{0%,to{opacity:.4;transform:scale(.75)}50%{opacity:1;transform:scale(1)}}@keyframes candleFlameFlicker{0%,to{opacity:.86;transform:translateX(-50%) rotate(39deg) scale(.94);filter:brightness(1)}36%{opacity:1;transform:translateX(-50%) translateY(-1px) rotate(48deg) scale(1.05);filter:brightness(1.08)}68%{opacity:.9;transform:translateX(-50%) translateY(1px) rotate(35deg) scale(.98);filter:brightness(.96)}}@media (prefers-reduced-motion:reduce){.decor-cake:after{animation-duration:3.2s}}@media (min-width:760px){.page-shell{width:min(100%,980px)}.hero{min-height:88vh}.hero-card{padding:42px}.price-grid,.template-grid{grid-template-columns:repeat(3,1fr)}.template-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-layout{grid-template-columns:340px 1fr;align-items:start}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-row{grid-template-columns:repeat(3,1fr)}}.birthday-player.is-cover .birthday-scene-decor span{animation:giftDrift 4.8s ease-in-out infinite}.birthday-cover-card{gap:12px}.gift-envelope{position:relative;width:min(72vw,260px);aspect-ratio:1.42;margin:0 auto 18px;border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(255,218,230,.9));box-shadow:0 22px 46px rgba(145,63,92,.2);transform:rotate(-2deg);animation:envelopeFloat 3.6s ease-in-out infinite}.theme-cream .gift-envelope{background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,239,207,.94))}.theme-film .gift-envelope{background:linear-gradient(145deg,rgba(255,244,217,.96),rgba(197,132,84,.82));box-shadow:0 22px 46px rgba(42,25,20,.35)}.gift-envelope:after,.gift-envelope:before{content:"";position:absolute;inset:0;border-radius:18px;pointer-events:none}.gift-envelope:before{-webkit-clip-path:polygon(0 0,50% 56%,100% 0,100% 100%,0 100%);clip-path:polygon(0 0,50% 56%,100% 0,100% 100%,0 100%);background:linear-gradient(180deg,rgba(255,255,255,.25),rgba(255,126,168,.18))}.gift-envelope:after{-webkit-clip-path:polygon(0 100%,50% 48%,100% 100%);clip-path:polygon(0 100%,50% 48%,100% 100%);background:rgba(255,255,255,.46)}.gift-envelope span:first-child{position:absolute;left:50%;top:47%;width:50px;height:50px;border-radius:999px;transform:translate(-50%,-50%);background:linear-gradient(135deg,#ff6f9f,#ffb45f);box-shadow:0 8px 18px rgba(255,111,159,.24);z-index:2}.gift-envelope span:first-child:before{content:"";position:absolute;inset:14px 10px;-webkit-clip-path:polygon(50% 0,61% 34%,97% 34%,68% 55%,79% 91%,50% 69%,21% 91%,32% 55%,3% 34%,39% 34%);clip-path:polygon(50% 0,61% 34%,97% 34%,68% 55%,79% 91%,50% 69%,21% 91%,32% 55%,3% 34%,39% 34%);background:rgba(255,255,255,.92)}.gift-envelope span:last-child{position:absolute;right:22px;top:18px;width:36px;height:36px;border-radius:999px;background:rgba(255,255,255,.54);filter:blur(1px)}.birthday-cover-card h1{max-width:9em;align-self:center}.open-card-button{min-height:56px;border-radius:999px}.title-gift-slide h1{text-shadow:0 10px 24px rgba(255,111,159,.14)}.ending-slide h2,.letter-slide h2,.letter-subtitle,.photo-slide h2,.share-slide h2,.voice-slide h2{text-align:center}.letter-subtitle{margin:-4px 0 14px;color:#946376;line-height:1.6}.theme-film .letter-subtitle{color:rgba(255,248,232,.78)}.letter-paper{position:relative;border-radius:26px;padding:24px 20px 34px;background:linear-gradient(90deg,rgba(255,126,168,.12) 0 1px,transparent 1px 100%),repeating-linear-gradient(#fffaf6 0 31px,#ffe2ec 32px 33px);background-size:100% 100%,100% 33px;background-attachment:local,local}.letter-paper:before{content:"";position:absolute;left:18px;top:18px;bottom:18px;width:2px;border-radius:999px;background:rgba(255,126,168,.22)}.letter-paper p{padding-left:12px}.photo-carousel{display:grid;grid-gap:14px;gap:14px;width:100%;justify-items:center}.featured-polaroid{width:min(100%,300px);max-height:min(52vh,420px);display:grid;grid-template-rows:minmax(0,1fr) auto;transform:rotate(-1.4deg);animation:slideCardIn .28s ease both}.featured-polaroid .preview-photo-placeholder,.featured-polaroid img{min-height:0;max-height:min(38vh,300px)}.photo-controls{width:100%;display:grid;grid-template-columns:1fr auto 1fr;grid-gap:10px;gap:10px;align-items:center}.photo-control-button{min-height:40px;border-radius:999px;padding:0 12px;font-size:13px}.photo-progress{min-width:56px;min-height:34px;display:grid;place-items:center;border-radius:999px;color:#7b3b53;background:rgba(255,255,255,.7);font-size:13px;font-weight:900}.theme-film .photo-progress{color:#fff8ed;background:rgba(55,36,28,.62)}.voice-letter-card{width:100%;display:grid;grid-template-columns:74px minmax(0,1fr);grid-gap:14px;gap:14px;align-items:center;border-radius:26px;padding:16px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.76);box-shadow:0 16px 34px rgba(91,44,62,.14)}.theme-film .voice-letter-card{background:rgba(255,244,217,.18);border-color:rgba(255,248,232,.28)}.voice-play-button{width:66px;height:66px;border-radius:999px;color:#fff;background:linear-gradient(135deg,#ff6f9f,#ffb45f);box-shadow:0 12px 28px rgba(255,111,159,.26);font-size:13px;font-weight:900}.voice-play-button.playing{background:linear-gradient(135deg,#ff8fab,#8d6bff)}.voice-letter-body{min-width:0;display:grid;grid-gap:7px;gap:7px;text-align:left}.voice-letter-body strong{color:#6e4056;font-size:16px}.theme-film .voice-letter-body span,.theme-film .voice-letter-body strong{color:rgba(255,248,232,.9)}.voice-letter-body span{color:#9b7182;font-size:13px;font-weight:800}.voice-progress{height:9px;overflow:hidden;border-radius:999px;background:rgba(255,210,224,.72)}.voice-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff6f9f,#ffb45f);transition:width .18s linear}.ending-slide{position:relative}.stamp-mark{position:absolute;top:8px;right:8px;width:76px;height:76px;display:grid;place-items:center;overflow:hidden;border:2px solid rgba(255,111,159,.44);border-radius:50%;color:rgba(198,64,106,.72);font-size:13px;font-weight:900;line-height:1.16;text-align:center;transform:rotate(12deg);opacity:.92;pointer-events:none}.theme-film .stamp-mark{border-color:rgba(255,230,188,.42);color:rgba(255,238,202,.82)}.stamp-image-mark{width:88px;height:88px;border:0;border-radius:18px;background:rgba(255,255,255,.18);transform:rotate(6deg)}.stamp-image-mark img{display:block;max-width:88px;max-height:88px;width:100%;height:100%;object-fit:contain}.stamp-text-mark{padding:8px}.signature-large{align-self:center;margin-top:18px;color:#7b3b53;font-size:25px;font-family:Segoe Script,Bradley Hand ITC,Kaiti SC,cursive}.theme-film .signature-large{color:#fff2dc}.card-date{margin:8px 0 0;color:#a36b7f;font-size:13px;font-weight:800}.theme-film .card-date{color:rgba(255,248,232,.74)}.gift-tag-card{width:100%;display:grid;grid-template-columns:92px minmax(0,1fr);grid-gap:14px;gap:14px;align-items:center;margin:4px 0 14px;border-radius:24px;padding:14px;text-align:left;background:rgba(255,255,255,.72);border:1px dashed rgba(255,111,159,.42)}.theme-film .gift-tag-card{background:rgba(255,244,217,.16);border-color:rgba(255,248,232,.34)}.fake-qr,.gift-tag-card img{width:82px;height:82px;border-radius:16px;background:#fff}.fake-qr{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:7px;gap:7px;padding:12px}.fake-qr span{border-radius:5px;background:#7b3b53}.gift-tag-card strong{display:block;margin-bottom:4px;color:#6e4056;font-size:17px}.theme-film .gift-tag-card small,.theme-film .gift-tag-card strong{color:rgba(255,248,232,.92)}.gift-tag-card small{color:#9b7182;line-height:1.55}.share-slide .tool-row{grid-template-columns:1fr}.slide-nav .primary-button,.slide-nav .secondary-button{box-shadow:none}.birthday-cover,.birthday-slide-shell{width:min(100%,430px)}.birthday-cover-card,.birthday-page-card{min-height:min(610px,calc(100svh - 168px));max-height:calc(100svh - 168px)}.birthday-party-decor{position:relative;width:min(76vw,286px);height:112px;margin:0 auto 14px}.birthday-party-decor span{position:absolute;display:block}.decor-cake{left:50%;bottom:4px;width:118px;height:70px;border-radius:18px 18px 24px 24px;transform:translateX(-50%);background:linear-gradient(#fff7fb 0 28%,#ff91b4 29% 100%),linear-gradient(90deg,transparent 0 24%,#fff 24% 30%,transparent 30% 70%,#fff 70% 76%,transparent 76%);box-shadow:0 16px 30px rgba(255,111,159,.22)}.decor-cake:before{top:-26px;width:8px;height:28px;border-radius:999px;transform:translateX(-50%);background:#ffcf73;box-shadow:-22px 10px 0 #ffcf73,22px 10px 0 #ffcf73}.decor-cake:after,.decor-cake:before{content:"";position:absolute;left:50%}.decor-cake:after{top:-36px;width:14px;height:18px;border-radius:999px 999px 999px 0;transform:translateX(-50%) rotate(45deg);background:#ffd65e;box-shadow:0 0 18px rgba(255,214,94,.5),-22px 22px 0 -1px #ffd65e,-22px 22px 16px -4px rgba(255,214,94,.42),22px -22px 0 -1px #ffd65e,22px -22px 16px -4px rgba(255,214,94,.42);transform-origin:50% 82%;animation:candleFlameFlicker 1.55s ease-in-out infinite}.decor-balloon{left:8px;top:12px;width:42px;height:54px;border-radius:50% 50% 46% 46%;background:linear-gradient(135deg,#ff8fab,#ffcf73);box-shadow:0 12px 22px rgba(255,111,159,.2);animation:giftDrift 4s ease-in-out infinite}.decor-balloon:after{content:"";position:absolute;left:50%;top:54px;width:1px;height:44px;background:rgba(123,59,83,.28)}.decor-candle{right:30px;bottom:18px;width:18px;height:68px;border-radius:999px;background:repeating-linear-gradient(135deg,#fff 0 8px,#ff9fbe 8px 16px);transform:rotate(9deg)}.decor-star{right:2px;top:4px;width:38px;height:38px;-webkit-clip-path:polygon(50% 0,61% 34%,97% 34%,68% 55%,79% 91%,50% 69%,21% 91%,32% 55%,3% 34%,39% 34%);clip-path:polygon(50% 0,61% 34%,97% 34%,68% 55%,79% 91%,50% 69%,21% 91%,32% 55%,3% 34%,39% 34%);background:rgba(255,255,255,.86);animation:sparklePulse 1.8s ease-in-out infinite}.theme-film .decor-cake{background:linear-gradient(#fff3df 0 28%,#c88658 29% 100%)}.theme-film .decor-balloon{background:linear-gradient(135deg,#f1bf7d,#d98862)}.theme-film .decor-star{background:rgba(255,239,203,.78)}.title-wishes{display:grid;grid-gap:8px;gap:8px;margin-top:8px;color:#7b3b53;font-weight:900}.title-wishes span{display:inline-flex;justify-content:center;align-self:center;border-radius:999px;padding:8px 12px;background:rgba(255,255,255,.54)}.theme-film .title-wishes{color:rgba(255,248,232,.92)}.theme-film .title-wishes span{background:rgba(55,36,28,.32)}.letter-short{justify-content:center;text-align:center}.letter-short .letter-paper{flex:0 1;min-height:148px;display:grid;place-items:center;padding:26px 22px}.letter-short .letter-paper:before{display:none}.letter-short .letter-paper p{padding-left:0;text-align:center;font-size:clamp(21px,5.8vw,28px);line-height:1.65;font-weight:900}.letter-medium .letter-paper{max-height:min(48vh,360px)}.letter-long .letter-paper{max-height:min(49vh,382px);overflow:auto;padding-bottom:42px}.letter-long .letter-paper:after{content:none}.slide-nav{width:min(calc(100% - 32px),398px);grid-template-columns:minmax(82px,1fr) auto minmax(98px,1fr);padding:7px;border-radius:999px;background:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.64);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.theme-film .slide-nav{background:rgba(55,36,28,.42);border-color:rgba(255,248,232,.18)}.slide-nav .primary-button,.slide-nav .secondary-button{min-height:40px;border-radius:999px;font-size:13px}.slide-nav .secondary-button{background:transparent;border-color:transparent}.slide-nav .secondary-button:disabled{opacity:.28}.page-progress{min-width:48px;min-height:30px;font-size:12px;opacity:.76;background:transparent;border-color:transparent}.music-toggle{min-height:38px;color:#7b3b53;background:rgba(255,255,255,.58);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.music-toggle.blocked,.music-toggle.idle,.music-toggle.paused{color:#9a3e62;background:rgba(255,241,247,.72)}.music-toggle.playing{color:#fff}.share-slide .slide-lead{margin-bottom:12px}.gift-tag-card{position:relative;grid-template-columns:86px minmax(0,1fr);border-style:solid;border-radius:26px 26px 26px 8px;box-shadow:0 16px 32px rgba(91,44,62,.12)}.gift-tag-card:before{content:"";position:absolute;left:18px;top:16px;width:10px;height:10px;border-radius:999px;background:rgba(255,111,159,.34);box-shadow:inset 0 0 0 3px rgba(255,255,255,.72)}.fake-qr,.gift-tag-card img{width:76px;height:76px;margin-left:10px}.share-slide .tool-row{gap:9px}.share-slide .tool-row .primary-button,.share-slide .tool-row .secondary-button{min-height:44px;border-radius:999px}@media (min-width:760px){.birthday-cover,.birthday-slide-shell{width:min(100%,430px)}.birthday-cover-card,.birthday-page-card{min-height:610px;max-height:640px}}@media (max-width:374px){.birthday-cover,.birthday-slide-shell{padding-left:12px;padding-right:12px}.birthday-cover-card,.birthday-page-card{padding:20px 16px}.birthday-slide-content h1{font-size:38px}.birthday-slide-content h2{font-size:25px}.success-action-grid{grid-template-columns:1fr}}@keyframes envelopeFloat{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(1deg)}}@keyframes giftDrift{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes openingOverlayFade{0%{opacity:0}12%,82%{opacity:1}to{opacity:0}}@keyframes openingEnvelopeLift{0%{transform:translateY(10px) scale(.94)}38%,to{transform:translateY(-4px) scale(1)}}@keyframes openingFlap{0%,24%{transform:rotateX(0deg)}64%,to{transform:rotateX(168deg)}}@keyframes openingLetter{0%,28%{transform:translateY(18px)}70%,to{transform:translateY(-42px)}}@keyframes openingSpark{0%,26%{opacity:0;transform:translate(0) scale(.6)}64%{opacity:1;transform:translate(18px,-18px) scale(1.18)}to{opacity:0;transform:translate(30px,-30px) scale(.7)}}