:root{--editor-cream:#fff8f3;--editor-blush:#f8ece7;--editor-workspace-start:#f6e9e0;--editor-workspace-end:#eddcd1;--editor-panel:#fffaf7;--editor-surface:#f4e7de;--editor-surface-strong:#efdfd4;--editor-ink:#251b1b;--editor-muted:#6f5a56;--editor-burgundy:#8f2438;--editor-burgundy-dark:#5f1425;--editor-gold:#d8a15d;--editor-gold-soft:#f2d6b3;--editor-line:#ead1c7}@media (max-width:1100px){.header-status-text{display:none!important}}.header-title-container{min-width:150px;max-width:300px}@media (max-width:1200px){.header-title-container{max-width:150px}}html,body{width:100vw;margin:0;padding:0;overflow-x:hidden}.app-editor-layout{background:var(--editor-cream);height:100dvh;color:var(--editor-ink);overflow-y:auto}.ant-message,.ant-notification{top:88px!important}.premium-warning-notification.ant-notification-notice{width:auto!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:16px!important;margin:0!important;padding:0!important;overflow:visible!important}.ant-notification-notice-wrapper:has(.premium-warning-notification){width:auto!important;box-shadow:none!important;background:0 0!important;border-radius:16px!important;margin-bottom:0!important}.premium-warning-notification .ant-notification-notice-content,.premium-warning-notification .ant-notification-notice-message,.premium-warning-notification .ant-notification-notice-description{margin:0!important;padding:0!important}.premium-warning-notification .ant-notification-notice-close{z-index:1;top:18px!important;right:18px!important}.premium-warning-notification .ant-notification-notice-message{display:none}.ant-message{pointer-events:none;flex-direction:column;align-items:flex-end;max-width:calc(100vw - 48px);display:flex;z-index:12000!important;width:auto!important;left:auto!important;right:24px!important;transform:none!important}.ant-message .ant-message-notice-wrapper{pointer-events:auto;margin-bottom:8px;margin-inline-start:0!important}.phone-container-wrapper{background:#fff;flex-direction:column;width:100%;min-height:100dvh;display:flex}.phone-container-frame{background:#fff;flex-direction:column;width:100%;min-height:100dvh;display:flex;position:relative}.phone-container-clip{width:100%;min-height:inherit;background:inherit;flex-direction:column;flex:1;display:flex;overflow:hidden}.phone-container-chrome,.phone-container-footer{display:none}.phone-container-screen{flex:1;width:100%;overflow-x:hidden}.template-preview-page{max-height:100vh;overflow:hidden}.template-preview-page .phone-container-wrapper,.template-preview-page .phone-container-frame{max-height:100vh}.template-preview-page .phone-container-screen{overscroll-behavior:none;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#4646468c transparent;position:relative;overflow:hidden auto}.template-preview-page .phone-container-screen::-webkit-scrollbar{width:8px;height:8px;display:block}.template-preview-page .phone-container-screen::-webkit-scrollbar-track{background:#0000000a;border-radius:999px}.template-preview-page .phone-container-screen::-webkit-scrollbar-thumb{background:#4646468c padding-box padding-box;border:2px solid #0000;border-radius:999px;transition:background-color .2s,opacity .2s}.template-preview-page .phone-container-screen::-webkit-scrollbar-thumb:hover{background:#2d2d2db8 padding-box padding-box}.invite-preview-phone-container .phone-container-screen,.editor-preview-phone-container .phone-container-screen{box-sizing:border-box;padding-bottom:calc(58px + env(safe-area-inset-bottom,0px))}.invite-preview-phone-container .phone-container-screen{-webkit-user-select:none;user-select:none}.invite-preview-phone-container .phone-container-screen input,.invite-preview-phone-container .phone-container-screen textarea{-webkit-user-select:text;user-select:text}.invite-preview-phone-container .phone-container-screen img,.invite-preview-phone-container .phone-container-screen svg{-webkit-user-drag:none;user-drag:none}.template-info-panel,.template-preview-mobile-header,.template-preview-mobile-desc-panel{display:none}@media (max-width:767px){.template-preview-mobile-header{-webkit-backdrop-filter:blur(12px);z-index:2100;background:#fffffff7;border-bottom:1px solid #1e171514;align-items:center;gap:8px;width:100%;height:52px;padding:0 10px;display:flex;position:fixed;top:0;left:0;box-shadow:0 2px 8px #251b1b12}.tp-mobile-btn{cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;color:#1e1715;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;gap:5px;height:36px;font-size:13px;font-weight:600;transition:background .15s,opacity .15s;display:flex}.tp-mobile-btn-primary{color:#fff;background:#8f2438;flex:1;padding:0 14px;box-shadow:0 4px 12px #8f243838}.tp-mobile-btn-primary:active{opacity:.85}.tp-mobile-btn-icon{color:#1e1715b8;flex-direction:column;flex-shrink:0;gap:2px;height:44px;padding:0 10px;font-size:11px;font-weight:600}.tp-mobile-btn-icon .anticon{color:#1e1715;font-size:17px}.tp-mobile-btn-icon.is-active,.tp-mobile-btn-icon.is-active .anticon{color:#8f2438}.template-preview-mobile-desc-panel{z-index:2099;background:#fffdfafa;border-bottom:1px solid #1e171514;width:100%;max-height:0;padding:0 16px;transition:max-height .25s,padding .25s;display:block;position:fixed;top:52px;left:0;overflow:hidden;box-shadow:0 4px 16px #251b1b14}.template-preview-mobile-desc-panel.is-open{max-height:180px;padding:14px 16px;overflow-y:auto}.tp-mobile-desc-text{color:#1e1715b8;margin:0;font-size:13px;line-height:1.6}.has-mobile-template-header .phone-container-screen{padding-top:52px}}@media (min-width:768px){.phone-container-wrapper{background:radial-gradient(circle at 20% 0%,#d8a15d29,transparent 30rem),linear-gradient(135deg,var(--editor-cream)0%,var(--editor-blush)100%);flex-direction:column;justify-content:safe center;align-items:center;gap:clamp(.75rem,2dvh,1.5rem);height:100dvh;min-height:100dvh;padding:clamp(1rem,3dvh,2rem) 0;display:flex;overflow-y:auto}.phone-container-frame{aspect-ratio:402/804;isolation:isolate;background:linear-gradient(#fffffffa,#faf7f5fa),#fff;border:1px solid #dddada;border-radius:clamp(34px,7dvh,54px);flex:none;width:clamp(289.08px,min(50dvh - 4.5rem,100vw - 2rem),438px);height:auto;min-height:578.16px;margin:auto auto 0;position:relative;overflow:visible;box-shadow:0 18px 42px #251b1b3d,0 6px 16px #5f14251f,inset 0 0 0 1px #ffffffbd,inset 0 -18px 30px #5f142506}.phone-container-wrapper.phone-container-overlay-scrollbar .phone-container-frame{max-width:430px}.phone-container-clip{border-radius:inherit;height:100%;min-height:0;position:relative;overflow:hidden}.template-preview-page .phone-container-wrapper,.template-preview-page .phone-container-frame{max-height:none}.template-info-panel{z-index:90;background:#fff;border-left:1px solid #dab9abb8;flex-direction:column;width:300px;height:100dvh;display:flex;position:fixed;top:0;right:0;overflow:hidden}.tip-body{scrollbar-width:thin;scrollbar-color:#4646464d transparent;flex-direction:column;flex:1;gap:12px;padding:28px 22px 16px;display:flex;overflow-y:auto}.tip-title{color:#251b1b;margin:0;font-size:20px;font-weight:800;line-height:1.3}.tip-badge-row{gap:6px;display:flex}.tip-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.tip-badge-free{color:#8f6020;background:#d8a15d2e;border:1px solid #d8a15d66}.tip-badge-premium{color:#fff;background:#8f2438;border:1px solid #8f24384d}.tip-description{color:#251b1bad;margin:0;font-size:13px;line-height:1.65}.tip-divider{background:#1e171514;height:1px;margin:4px 0}.tip-qr-label{color:#251b1b8c;text-align:center;margin:0;font-size:12px;font-weight:500}.tip-qr-code{background:#fff;border:1px solid #dab9abb8;border-radius:12px;justify-content:center;padding:12px;display:flex}.tip-actions{padding:14px 22px calc(14px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #dab9ab85;flex-direction:column;gap:8px;display:flex}.template-info-panel-loading{pointer-events:none}.tip-skeleton{background:linear-gradient(90deg,#ead1c76b,#ffffffb8,#ead1c76b);border-radius:999px;display:block}.tip-skeleton-title{width:78%;height:24px}.tip-skeleton-badge{width:86px;height:24px}.tip-skeleton-line{width:100%;height:13px;margin-top:4px}.tip-skeleton-line-short{width:72%}.tip-skeleton-label{width:82%;height:13px;margin:0 auto}.tip-skeleton-qr{border-radius:12px;width:154px;height:154px;margin:0 auto}.tip-skeleton-action{width:100%;height:40px}.tip-skeleton-action-secondary{opacity:.72}.template-preview-page .phone-container-wrapper{padding-right:300px}.phone-container-wrapper-no-footer .phone-container-frame{margin:auto}.editor-preview-phone-container.phone-container-wrapper{height:100%;min-height:0;padding:clamp(1rem,3dvh,2rem) 0;overflow:hidden}.editor-preview-phone-container .phone-container-frame{margin:auto}.phone-container-frame:before,.phone-container-frame:after{content:none}.phone-container-chrome{z-index:2001;background:#fffffff5;flex-shrink:0;justify-content:center;width:100%;display:flex;position:relative}.phone-container-chrome.top{align-items:center;height:54px}.phone-container-chrome.bottom{border-top:1px solid #251b1b16;align-items:flex-start;height:48px}.phone-container-speaker{background:linear-gradient(#d8a15d57,#f2d6b37a);border-radius:9999px;width:62px;height:8px;box-shadow:inset 0 1px 2px #5f142514,0 1px #ffffffb8}.phone-container-indicator{background:#d8a15d61;border:1px solid #8f243814;border-radius:50%;width:10px;height:10px;margin-top:12px}.phone-container-screen{overscroll-behavior:none;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#4646468c transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;border-top:1px solid #dddada;border-bottom:1px solid #dddada;position:relative;overflow:hidden auto}.phone-container-wrapper.phone-container-overlay-scrollbar .phone-container-screen{scrollbar-gutter:auto}.phone-container-screen::-webkit-scrollbar{width:8px;height:8px;display:block}.phone-container-screen::-webkit-scrollbar-track{background:#0000000a;border-radius:999px}.phone-container-screen::-webkit-scrollbar-thumb{background:#4646468c padding-box padding-box;border:2px solid #0000;border-radius:999px;transition:background-color .2s,opacity .2s}.phone-container-screen::-webkit-scrollbar-thumb:hover{background:#2d2d2db8 padding-box padding-box}.phone-container-footer{color:#251b1b8f;opacity:.92;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:.45rem;margin-top:auto;display:flex}.phone-container-footer-mark{color:#251b1b8f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#fffaf7;border:1px solid #ead1c7b8;border-radius:999px;justify-content:center;align-items:center;gap:.75rem;margin-bottom:5px;padding:7px 14px;text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s,background-color .2s;display:flex;box-shadow:0 8px 18px #251b1b0b,inset 0 1px #ffffffb3}.phone-container-footer-mark:hover,.phone-container-footer-mark:focus-visible{background:#fffdfae0;border-color:#d8a15d94;outline:none;transform:translateY(-1px);box-shadow:0 10px 22px #251b1b0f,inset 0 1px #ffffffd6}.phone-container-footer-brand{color:#251b1b9e;letter-spacing:.16em;text-transform:uppercase;font-size:.76rem;font-weight:800}.phone-container-footer-slogan{color:#6f5a56ad;letter-spacing:0;white-space:nowrap;font-size:.86rem;font-weight:500;line-height:1}.phone-container-footer-mark:before,.phone-container-footer-mark:after{content:"";background:#d8a15d7a;width:18px;height:1px}.phone-container-footer-divider{color:#d8a15d9e;font-size:.6rem}}@media (max-width:767px){.invite-preview-phone-container .phone-container-footer{padding:24px 16px calc(24px + 140px + env(safe-area-inset-bottom,0px));color:#251b1b8f;opacity:.96;flex-direction:column;justify-content:center;align-items:center;gap:.55rem;display:flex}.invite-preview-phone-container .phone-container-footer-mark{color:var(--editor-burgundy-dark);background:linear-gradient(135deg,#fffaf5,#fdf1e6);border:1.5px solid #d8a15d8c;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:9px 18px;text-decoration:none;display:inline-flex;box-shadow:0 10px 24px #8f243824,inset 0 1px #ffffffd9}.invite-preview-phone-container .phone-container-footer-mark:before,.invite-preview-phone-container .phone-container-footer-mark:after{content:"";background:#d8a15db3;width:14px;height:1px}.invite-preview-phone-container .phone-container-footer-brand{color:var(--editor-burgundy-dark);letter-spacing:.14em;text-transform:uppercase;font-size:.74rem;font-weight:800}.invite-preview-phone-container .phone-container-footer-slogan{color:#6f5a56b8;white-space:nowrap;font-size:.8rem;font-weight:600}}.moveable-control.moveable-rotation{background:var(--editor-burgundy)!important;border:2px solid #fff!important;border-radius:50%!important;width:24px!important;height:24px!important;margin-top:10px!important;box-shadow:0 2px 4px #0003!important}.canvas-container.interactive-canvas:not(:has(.widget-wrapper:hover)):hover:not(:active){outline:2px dashed var(--editor-burgundy);outline-offset:-2px}.canvas-container.interactive-canvas:focus,.canvas-container.interactive-canvas:active{outline:none}.widget-wrapper{touch-action:manipulation;-webkit-user-select:none;user-select:none}.widget-wrapper.selected{touch-action:none}.widget-wrapper:not(.preview-mode):hover{outline:1px dashed var(--editor-burgundy)}.widget-wrapper.preview-mode{touch-action:auto;-webkit-user-select:auto;user-select:auto}.widget-wrapper.preview-mode:hover{cursor:default!important;outline:none!important}.widget-wrapper.selected:hover{outline:none}.moveable-line.moveable-rotation-line{background:var(--editor-burgundy)!important;height:20px!important}.ant-popover,.ant-color-picker-panel{z-index:9999!important}.ant-tooltip{z-index:10020!important}@media (hover:none){.ant-tooltip{display:none!important}}.app-editor-layout .ant-layout,.app-editor-layout .ant-layout-content{background:0 0}.app-editor-layout .ant-input:hover,.app-editor-layout .ant-input:focus,.app-editor-layout .ant-input-focused,.app-editor-layout .ant-select:not(.ant-select-disabled):hover .ant-select-selector,.app-editor-layout .ant-select-focused .ant-select-selector,.app-editor-layout .ant-input-number:hover,.app-editor-layout .ant-input-number-focused{border-color:var(--editor-burgundy)!important;box-shadow:0 0 0 2px #8f24381f!important}.app-editor-layout .ant-btn-primary{background:linear-gradient(135deg,var(--editor-burgundy),var(--editor-burgundy-dark));border-color:var(--editor-burgundy)}.app-editor-layout .ant-btn-primary:hover{background:linear-gradient(135deg,var(--editor-burgundy-dark),var(--editor-burgundy))!important;border-color:var(--editor-burgundy-dark)!important}.app-editor-layout .ant-slider-track{background-color:var(--editor-burgundy)!important}.app-editor-layout .ant-slider-handle:after{box-shadow:0 0 0 2px var(--editor-burgundy)!important}.app-editor-layout .ant-upload-wrapper .ant-upload-select:hover,.app-editor-layout .ant-btn-default:hover{border-color:var(--editor-burgundy)!important;color:var(--editor-burgundy)!important}.editor-sidebar-item:hover{color:var(--editor-ink)!important;background:0 0!important}.editor-sidebar-item:not(.editor-sidebar-item-active):hover .editor-sidebar-item-icon{background:var(--editor-blush)!important}.editor-segmented-tabs.ant-segmented{background:var(--editor-blush);border:1px solid #ead1c7cc;border-radius:8px;padding:2px}.editor-segmented-tabs .ant-segmented-item{color:var(--editor-muted);border-radius:6px;min-width:0;transition:background-color .2s,color .2s}.editor-segmented-tabs .ant-segmented-item:hover:not(.ant-segmented-item-selected),.editor-segmented-tabs .ant-segmented-item:hover:not(.ant-segmented-item-selected) .ant-segmented-item-label{color:var(--editor-ink)!important;background:#fff!important;border-radius:6px!important}.editor-segmented-tabs .ant-segmented-group{width:100%}.editor-segmented-tabs .ant-segmented-item-label{min-width:0;padding:0 10px;text-overflow:clip!important;white-space:nowrap!important;overflow:visible!important}.editor-segmented-tabs .ant-segmented-thumb,.editor-segmented-tabs .ant-segmented-item-selected{background:var(--editor-burgundy)!important;box-shadow:none!important}.editor-segmented-tabs .ant-segmented-item-selected .ant-segmented-item-label{font-weight:600;color:#fff!important}.editor-motion-timing-select .ant-select-selector{border-color:var(--editor-line)!important;box-shadow:none!important;background:#fff!important;border-radius:8px!important}.editor-motion-timing-select:hover .ant-select-selector,.editor-motion-timing-select.ant-select-focused .ant-select-selector{border-color:var(--editor-burgundy)!important;box-shadow:0 0 0 2px #8f24381a!important}.editor-filter-pill,.editor-filter-pill.ant-btn,.editor-filter-pill.ant-btn-primary,.editor-filter-pill.ant-btn-default{color:#6f5a56;background:#fff;border:1px solid #e7c8bf;box-shadow:none!important;border-radius:999px!important;justify-content:center!important;align-items:center!important;gap:4px!important;height:30px!important;padding:0 12px!important;font-size:12px!important;font-weight:500!important;display:inline-flex!important}.editor-filter-pill.ant-btn-default,.editor-filter-pill.ant-tag{color:#6f5a56!important;background:#fff!important;border-color:#e7c8bf!important}.editor-filter-pill.ant-btn-default:hover,.editor-filter-pill.ant-btn-default:focus,.editor-filter-pill.ant-tag:hover,.editor-filter-pill:not(.editor-filter-pill-active):not(.ant-btn-primary):hover{border-color:var(--editor-burgundy)!important;background:var(--editor-blush)!important;color:var(--editor-burgundy)!important}.editor-filter-pill.ant-btn-primary:hover,.editor-filter-pill.ant-btn-primary:focus,.editor-filter-pill.ant-btn-default:hover,.editor-filter-pill.ant-btn-default:focus{box-shadow:none!important}.editor-filter-pill.ant-btn-primary,.editor-filter-pill.editor-filter-pill-active,.editor-filter-pill.ant-tag.editor-filter-pill-active{background:linear-gradient(135deg,var(--editor-burgundy),var(--editor-burgundy-dark))!important;color:#fff!important;border-color:#0000!important}.editor-filter-pill.ant-tag{margin:0!important;padding:0 12px!important;line-height:28px!important}.editor-filter-pill .anticon-close,.editor-filter-pill.ant-tag .anticon-close{color:inherit!important;margin-inline-start:2px!important}.editor-filter-pill-more.ant-btn{border-style:solid!important}.editor-sidebar-scroll{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#8f243866 #ead1c72e}.editor-sidebar-scroll::-webkit-scrollbar{width:10px}.editor-sidebar-scroll::-webkit-scrollbar-track{background:#ead1c72e;border-radius:999px;margin-block:10px}.editor-sidebar-scroll::-webkit-scrollbar-thumb{background:linear-gradient(#d8a15dc7,#8f243894) padding-box padding-box;border:2px solid #0000;border-radius:999px;min-height:40px}.editor-sidebar-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(#d8a15deb,#8f2438bd) padding-box padding-box}.editor-left-menu-scroll{scrollbar-width:thin;scrollbar-color:#8f24386b #ead1c729}.editor-left-menu-scroll::-webkit-scrollbar{width:8px}.editor-left-menu-scroll::-webkit-scrollbar-track{background:#ead1c729;border-radius:999px}.editor-left-menu-scroll::-webkit-scrollbar-thumb{background:linear-gradient(#d8a15de0,#8f2438ad) padding-box padding-box;border:2px solid #ffffffeb;border-radius:999px}.editor-left-menu-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(#d8a15df0,#8f2438c7) padding-box padding-box}.sidebar-content-scroll{padding-right:12px!important}.editor-library-card{background:var(--editor-surface);border:1px solid #8f24381f;border-radius:10px;transition:background-color .2s,border-color .2s,box-shadow .2s,transform .2s;box-shadow:inset 0 1px #ffffff61}.editor-library-card:hover{background:#fffdfb;border-color:#8f243857;transform:translateY(-2px);box-shadow:0 10px 24px #5f14251f}.widget-card.locked:hover{background:var(--editor-surface);border-color:#8f24381f;transform:none;box-shadow:inset 0 1px #ffffff61}.editor-library-card-label{color:var(--editor-ink)}.editor-library-card-icon{color:#251b1bb8}.editor-library-card-loading{background:linear-gradient(90deg,#efdfd4e6 25%,#fff8f3f5 50%,#efdfd4e6 75%) 0 0/200% 100%}.editor-image-upload-button.ant-btn{background:linear-gradient(135deg,var(--editor-burgundy),var(--editor-burgundy-dark))!important;border-color:var(--editor-burgundy)!important;box-shadow:none!important}.editor-image-upload-button.ant-btn:hover,.editor-image-upload-button.ant-btn:focus{background:linear-gradient(135deg,var(--editor-burgundy-dark),var(--editor-burgundy))!important;border-color:var(--editor-burgundy-dark)!important}.editor-image-alert.ant-alert{background:linear-gradient(#f2d6b32e,#f8ece7f0);border:1px solid #d8a15d57;border-radius:12px}.editor-image-alert .ant-alert-message{color:var(--editor-ink)}.editor-image-alert .ant-alert-description,.editor-image-alert .ant-alert-content{color:var(--editor-muted)}.editor-image-alert .ant-alert-icon{color:var(--editor-gold)!important}.editor-upgrade-button.ant-btn{background:linear-gradient(135deg,var(--editor-gold),#b67c2f)!important;box-shadow:none!important;border-color:#b67c2f!important}*,:before,:after{box-sizing:border-box}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes flipIn{0%{opacity:0;transform:rotateY(90deg)}to{opacity:1;transform:rotateY(0)}}@keyframes slideUpMix{0%{opacity:0;transform:translateY(50px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fadeInMix{0%{opacity:0;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-30px)}60%{transform:translateY(-15px)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slideLeft{0%{opacity:0;transform:translate(-100px)}to{opacity:1;transform:translate(0)}}@keyframes slideRight{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}@keyframes slideTop{0%{opacity:0;transform:translateY(-100px)}to{opacity:1;transform:translateY(0)}}@keyframes slideBottom{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}@keyframes zoomIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes zoomOut{0%{opacity:0;transform:scale(2)}to{opacity:1;transform:scale(1)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fadeIn{animation-name:fadeIn;animation-duration:var(--animation-duration,1s);animation-timing-function:ease-out;animation-fill-mode:forwards}.animate-slideUp{animation-name:slideUp;animation-duration:var(--animation-duration,1s);animation-timing-function:ease-out;animation-fill-mode:forwards}.animate-scaleIn{animation-name:scaleIn;animation-duration:var(--animation-duration,.8s);animation-timing-function:ease-out;animation-fill-mode:forwards}.animate-flipIn{animation-name:flipIn;animation-duration:var(--animation-duration,1s);animation-timing-function:ease-out;animation-fill-mode:forwards}.animate-slideUpMix{animation-name:slideUpMix;animation-duration:var(--animation-duration,1s);animation-timing-function:ease-out;animation-fill-mode:forwards}.animate-fadeInMix{animation-name:fadeInMix;animation-duration:var(--animation-duration,1s);animation-timing-function:ease-out;animation-fill-mode:forwards}.animate-bounce{animation-name:bounce;animation-duration:var(--animation-duration,1s);animation-timing-function:ease-out;animation-fill-mode:forwards}.animate-fade{animation-name:fade;animation-duration:var(--animation-duration,1s);animation-timing-function:ease-out;animation-fill-mode:forwards}.animate-slideLeft{animation-name:slideLeft;animation-duration:var(--animation-duration,1s);animation-timing-function:ease-out;animation-fill-mode:forwards}.animate-slideRight{animation-name:slideRight;animation-duration:var(--animation-duration,1s);animation-timing-function:ease-out;animation-fill-mode:forwards}.animate-slideTop{animation-name:slideTop;animation-duration:var(--animation-duration,1s);animation-timing-function:ease-out;animation-fill-mode:forwards}.animate-slideBottom{animation-name:slideBottom;animation-duration:var(--animation-duration,1s);animation-timing-function:ease-out;animation-fill-mode:forwards}.animate-zoomIn{animation-name:zoomIn;animation-duration:var(--animation-duration,1s);animation-timing-function:ease-out;animation-fill-mode:forwards}.animate-zoomOut{animation-name:zoomOut;animation-duration:var(--animation-duration,1s);animation-timing-function:ease-out;animation-fill-mode:forwards}.animate-rotate{animation-name:rotate;animation-duration:var(--animation-duration,1s);animation-timing-function:ease-out;animation-fill-mode:forwards}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin-slow{animation:3s linear infinite spin}.paused-animation{animation-play-state:paused}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.animate-shake{animation-name:shake;animation-duration:var(--animation-duration,2s);animation-timing-function:linear;animation-iteration-count:infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.animate-pulse{animation-name:pulse;animation-duration:var(--animation-duration,2s);animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.animate-float{animation-name:float;animation-duration:var(--animation-duration,3s);animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes heartbeat{0%{transform:scale(1)}14%{transform:scale(1.1)}28%{transform:scale(1)}42%{transform:scale(1.1)}70%{transform:scale(1)}}.animate-heartbeat{animation-name:heartbeat;animation-duration:var(--animation-duration,1.5s);animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes swing{0%{transform:rotate(0)}20%{transform:rotate(5deg)}40%{transform:rotate(-5deg)}60%{transform:rotate(3deg)}80%{transform:rotate(-3deg)}to{transform:rotate(0)}}.animate-swing{animation-name:swing;animation-duration:var(--animation-duration,2s);animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes wiggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.animate-wiggle{animation-name:wiggle;animation-duration:var(--animation-duration,1s);animation-timing-function:ease-in-out;animation-iteration-count:infinite}.animate-rotate{animation-name:rotate;animation-duration:var(--animation-duration,2s);animation-timing-function:linear;animation-iteration-count:infinite}.invite-preview-attendance{left:50%;bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:1001;pointer-events:none;position:fixed;transform:translate(-50%)}.invite-preview-attendance-button.ant-btn{color:#1e1715;pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border:1px solid #1e17151a;border-radius:999px;align-items:center;gap:8px;height:40px;padding:0 20px;font-size:13px;font-weight:600;display:inline-flex;box-shadow:0 8px 22px #1e171529}.invite-preview-attendance-button.ant-btn:hover,.invite-preview-attendance-button.ant-btn:focus-visible{color:#1e1715;background:#fff;border-color:#1e171524;box-shadow:0 10px 26px #1e17152e}.wish-ticker{z-index:950;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:none;background:#fffdfaeb;border:1px solid #ead1c7cc;border-radius:14px;align-items:center;gap:10px;min-height:54px;padding:9px 12px;animation:5.2s ease-in-out both wishTickerFloat;display:flex;position:absolute;top:14px;left:16px;right:16px;box-shadow:0 14px 30px #251b1b24,inset 0 1px #ffffffd1}@media (max-width:767px){.invite-preview-phone-container .wish-ticker{top:calc(14px + env(safe-area-inset-top,0px));position:fixed;left:16px;right:16px}}.wish-ticker-close{color:#6f5a56ad;cursor:pointer;pointer-events:auto;background:#fffdfad1;border:0;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:11px;transition:background-color .18s,color .18s;display:inline-flex;position:absolute;top:7px;right:7px}.wish-ticker-close:hover,.wish-ticker-close:focus-visible{color:var(--editor-burgundy-dark);background:#f8ece7f2;outline:none}.wish-ticker-avatar{color:#5f1425d1;background:#f2d6b3c2;border-radius:50%;flex:0 0 28px;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:800;display:inline-flex}.wish-ticker-content{flex:1;min-width:0}.wish-ticker-meta,.wish-ticker-message{align-items:center;min-width:0;display:flex}.wish-ticker-meta{color:#6f5a56b3;gap:5px;margin-bottom:3px;font-size:11px;line-height:1.2}.wish-ticker-name{color:var(--editor-ink);text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.wish-ticker-time{color:#6f5a569e;flex:none;font-weight:600}.wish-ticker-message{color:#251b1bdb;gap:6px;font-size:13px;font-weight:600;line-height:1.25}.wish-ticker-message span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.wish-ticker-message .anticon{color:var(--editor-burgundy);flex:none;font-size:13px}.invite-preview-menu-overlay{z-index:1000;padding:0 14px calc(72px + env(safe-area-inset-bottom,0px));background:linear-gradient(#0000 28%,#251b1b14 100%);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.invite-preview-menu-panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(#fffffff5,#fffaf7f0),#fff;border:1px solid #8f24382e;border-radius:22px;width:min(100%,360px);max-height:min(64vh,420px);padding:10px;animation:.24s ease-out inviteMenuRise;overflow-y:auto;box-shadow:0 18px 42px #251b1b33,0 6px 16px #8f243814,inset 0 1px #ffffffe6}.invite-preview-menu-items{flex-direction:column;gap:4px;display:flex}.invite-preview-menu-item{color:#251b1be6;cursor:pointer;text-align:center;background:0 0;border:0;border-radius:14px;width:100%;min-height:44px;padding:0 16px;font-family:inherit;font-size:14px;font-weight:650;line-height:1.25;transition:background-color .18s,color .18s,transform .18s}.invite-preview-menu-item:hover,.invite-preview-menu-item:focus-visible{color:var(--editor-burgundy-dark);background:linear-gradient(135deg,#f8ece7eb,#f2d6b357);outline:none;transform:translateY(-1px)}.invite-preview-menu-empty{color:#6f5a56b8;text-align:center;padding:18px;font-size:13px}.invite-preview-bottom-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;background:#fff;border-top:1px solid #dddada;justify-content:space-between;align-items:center;width:100%;height:60px;padding:0 20px;display:flex;position:fixed;bottom:0;left:0;box-shadow:0 -2px 10px #0000000d}.invite-desktop-qr-card{display:none}@media (min-width:768px){.invite-preview-attendance{z-index:999;position:absolute;bottom:120px}.invite-preview-menu-overlay{background:linear-gradient(#0000 26%,#251b1b14 100%);padding:0 28px 116px;position:absolute}.invite-preview-menu-panel{width:min(100%,332px);max-height:360px}.invite-preview-bottom-bar{width:100%;position:absolute;bottom:48px}.invite-desktop-qr-card{z-index:1100;color:#251b1bb8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:radial-gradient(circle at 50% 0,#f2d6b357,#0000 4.2rem),linear-gradient(#fffdfafa,#fff8f3f0);border:1px solid #d8a15d47;border-radius:14px;flex-direction:column;align-items:center;width:164px;padding:14px 12px 13px;display:flex;position:fixed;bottom:104px;right:28px;box-shadow:0 18px 44px #251b1b29,0 6px 16px #8f243814,inset 0 1px #ffffffd1}.invite-desktop-qr-close{color:#6f5a56d1;cursor:pointer;background:#fffdfb;border:1px solid #ead1c7cc;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:13px;display:inline-flex;position:absolute;top:-10px;right:-10px;box-shadow:0 6px 14px #251b1b1a}.invite-desktop-qr-close:hover,.invite-desktop-qr-close:focus-visible{color:var(--editor-burgundy-dark);outline:none}.invite-desktop-qr-badge,.invite-desktop-qr-caption{text-align:center;font-size:12px;line-height:1.25}.invite-desktop-qr-badge{max-width:100%;height:25px;color:var(--editor-burgundy-dark);white-space:nowrap;background:#ffffffb8;border:1px solid #ead1c7c7;border-radius:999px;justify-content:center;align-items:center;gap:5px;margin-bottom:10px;padding:0 9px;font-weight:800;display:inline-flex;box-shadow:inset 0 1px #ffffffd6}.invite-desktop-qr-caption{color:#6f5a56bd;margin-top:10px;font-weight:700}.invite-desktop-qr-code{background:#fff;border:1px solid #ead1c7db;border-radius:12px;justify-content:center;align-items:center;width:112px;height:112px;display:flex;box-shadow:0 10px 24px #251b1b1a,inset 0 0 0 5px #fff8f3b8}.template-preview-use-button.ant-btn{z-index:1100;background:linear-gradient(135deg,var(--editor-burgundy),var(--editor-burgundy-dark));border:1px solid #8f24382e;border-radius:999px;height:44px;padding:0 18px;font-size:14px;font-weight:800;position:fixed;top:24px;right:24px;box-shadow:0 14px 30px #5f142538,inset 0 1px #ffffff2e}.template-preview-use-button.ant-btn:hover,.template-preview-use-button.ant-btn:focus-visible{transform:translateY(-1px);background:linear-gradient(135deg,var(--editor-burgundy-dark),var(--editor-burgundy))!important;border-color:#8f24383d!important;box-shadow:0 16px 34px #5f142542,inset 0 1px #ffffff38!important}.wish-ticker{top:66px;left:18px;right:18px}}.support-floating-button-shell{display:none!important}@media (max-width:767px){.template-preview-use-button.ant-btn{display:none!important}}@keyframes inviteMenuRise{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.wish-modal-sheet .ant-input,.wish-modal-sheet .ant-input-affix-wrapper{color:var(--editor-ink)}@keyframes wishTickerFloat{0%{opacity:0;transform:translateY(-10px)scale(.98)}10%,82%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-8px)scale(.98)}}.wish-modal-list{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#464646b8 #ffffff38}.wish-modal-list::-webkit-scrollbar{width:10px;height:10px;display:block}.wish-modal-list::-webkit-scrollbar-track{background:#ffffff38;border-radius:999px}.wish-modal-list::-webkit-scrollbar-thumb{background:#464646b8 padding-box padding-box;border:2px solid #0000;border-radius:999px}.wish-modal-list::-webkit-scrollbar-thumb:hover{background:#2d2d2db8 padding-box padding-box}.wish-modal-sheet .ant-input::-moz-placeholder{color:#6f5a566b}.wish-modal-sheet .ant-input-affix-wrapper input::-moz-placeholder{color:#6f5a566b}.wish-modal-sheet .ant-input::placeholder,.wish-modal-sheet .ant-input-affix-wrapper input::placeholder{color:#6f5a566b}.wish-modal-sheet .ant-input:hover,.wish-modal-sheet .ant-input:focus,.wish-modal-sheet .ant-input-focused,.wish-modal-sheet .ant-input-affix-wrapper:hover,.wish-modal-sheet .ant-input-affix-wrapper-focused{border-color:#8f24386b!important;box-shadow:0 0 0 3px #8f243814!important}.wish-modal-header span{color:var(--editor-ink)!important;font-weight:800!important}.wish-modal-heart-icon,.wish-modal-heart-icon svg{color:var(--editor-burgundy)!important;fill:var(--editor-burgundy)!important}.wish-modal-sheet .ant-btn-text:hover,.wish-modal-sheet .ant-btn-text:focus-visible{background:#f8ece7c7!important}.text-toolbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:1000;scrollbar-width:none;background:#fffdfafa;border:1px solid #8f24384d;border-radius:12px;align-items:center;gap:12px;width:fit-content;max-width:100%;padding:6px 12px;display:flex;position:relative;overflow:auto hidden;box-shadow:0 14px 28px #6c192d24,0 4px 10px #6c192d14}.text-toolbar::-webkit-scrollbar{display:none}.toolbar-group{align-items:center;gap:8px;display:flex}.font-select-wrapper{align-items:center;min-width:0;display:flex}.editor-font-select .ant-select-selector{min-height:34px!important;box-shadow:none!important;border-radius:10px!important;align-items:center!important;padding-inline:12px 32px!important;display:flex!important}.editor-font-select .ant-select-selection-item,.editor-font-select .ant-select-selection-placeholder{white-space:nowrap!important;text-overflow:ellipsis!important;min-width:0!important;line-height:32px!important;display:block!important;overflow:hidden!important}.editor-font-select .ant-select-arrow{right:12px!important}.toolbar-container{min-width:0}.toolbar-shell-scrollable{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdfafa;border:1px solid #8f24384d;border-radius:12px;align-items:center;gap:6px;padding:6px 8px;position:relative;box-shadow:0 14px 28px #6c192d24,0 4px 10px #6c192d14;display:flex!important}.toolbar-scroll-body{flex:auto;min-width:0;display:flex}.toolbar-shell-scrollable .text-toolbar{-webkit-backdrop-filter:none;backdrop-filter:none;width:100%;max-width:100%;box-shadow:none;background:0 0;border:none;padding:0 4px}.toolbar-scroll-inline-button{flex:none;box-shadow:0 6px 14px #5f14251f;background:#fffdfaf5!important;border:1px solid #8f243824!important;width:28px!important;min-width:28px!important;height:28px!important}.toolbar-scroll-inline-button.ant-btn[disabled]{opacity:.35;pointer-events:none}.group-divider{background-color:#c7948480;width:1px;height:24px;margin:0 8px}.sub-divider{background-color:var(--editor-line);width:1px;height:16px;margin:0 4px}.toolbar-actions{align-items:center;gap:8px;display:flex}.text-toolbar .ant-btn-text{color:var(--editor-ink)}.text-toolbar .ant-btn-text:hover{color:var(--editor-burgundy);background-color:#f8ece7ad}.text-toolbar .action-btn-hover:hover{background-color:#f8ece7cc!important}.action-btn{border-radius:6px;justify-content:center;align-items:center;display:flex}.toolbar-shell-scrollable .text-toolbar .toolbar-group{flex-shrink:0}@media (min-width:769px) and (max-width:1280px){.text-toolbar{gap:10px}.group-divider{margin:0 6px}}@media (max-width:768px){.text-toolbar{-webkit-backdrop-filter:none;backdrop-filter:none;border:none;border-top:1px solid var(--editor-line);white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;background:#fff;border-radius:0;align-items:center;gap:12px;width:100%;max-width:none;height:56px;padding:8px 16px;display:flex;overflow:auto hidden;box-shadow:0 -3px 10px #00000014}.text-toolbar::-webkit-scrollbar{display:none}.text-toolbar .toolbar-group{flex-shrink:0;align-items:center;gap:8px;display:flex}.group-divider{background-color:#f0f0f0;height:20px;margin:0 4px}}.ant-notification{top:80px!important}@media (max-width:768px){.app-editor-layout,input,textarea,[contenteditable],.ant-input,.ant-input-number-input,.ant-select-selection-search-input{-webkit-touch-callout:none!important}*{-webkit-tap-highlight-color:transparent}}
