.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(24px + env(safe-area-inset-bottom,0));max-width:calc(100vw - 32px);padding:12px 20px;background:#000000c7;color:#fff;font-size:14px;line-height:1.5;border-radius:10px;box-shadow:0 4px 20px #0003;z-index:9999;animation:toast-in .25s var(--ease-bounce);pointer-events:none}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 768px){.toast{font-size:15px;padding:14px 24px;bottom:calc(72px + env(safe-area-inset-bottom,0))}}@media (prefers-reduced-motion: reduce){.toast{animation:none}}.editor-header{display:flex;justify-content:space-between;align-items:center;padding:14px 28px;min-height:56px;background:#fffffff2;border-bottom:1px solid var(--border-medium);box-shadow:var(--shadow-sm);z-index:100;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);position:relative}.editor-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,36,66,.1) 50%,transparent)}.header-left{display:flex;align-items:center;gap:16px}.logo{display:flex;align-items:center;gap:10px;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:20px;letter-spacing:-.5px;position:relative}.logo svg{color:var(--primary);filter:drop-shadow(0 2px 4px rgba(255,36,66,.2))}.title-editor{display:flex;align-items:center}.title-display{font-size:17px;font-weight:600;color:var(--text-primary);cursor:pointer;padding:6px 12px;border-radius:var(--radius-md);transition:all var(--duration-base) var(--ease-bounce);position:relative;overflow:hidden}.title-display:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ff24420d,#ff6b9d0d);opacity:0;transition:opacity .3s}.title-display:hover{background:linear-gradient(135deg,#ff244214,#ff6b9d0f);transform:translateY(-1px)}.title-display:hover:before{opacity:1}.title-input{font-size:17px;font-weight:600;color:var(--text-primary);border:2px solid var(--primary);border-radius:var(--radius-md);padding:6px 12px;outline:none;min-width:200px;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);box-shadow:0 0 0 4px #ff24421f;transition:all var(--duration-base) var(--ease-bounce)}.title-input:focus{box-shadow:0 0 0 6px #ff244226;transform:translateY(-1px)}.header-right{display:flex;gap:12px}.header-btn{display:flex;align-items:center;gap:7px;padding:10px 20px;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);border:1.5px solid var(--border-dark);border-radius:var(--radius-pill);cursor:pointer;font-size:14px;color:var(--text-primary);transition:all var(--duration-base) var(--ease-bounce);font-weight:600;position:relative;overflow:hidden;box-shadow:var(--shadow-sm)}.header-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(135deg,#ff244214,#ff6b9d14);transition:left .4s cubic-bezier(.34,1.56,.64,1)}.header-btn:hover{background:var(--gradient-primary);border-color:transparent;color:var(--bg-primary);transform:translateY(-2px) scale(1.02);box-shadow:var(--shadow-primary-lg)}.header-btn:hover:before{left:100%}.header-btn:active{transform:translateY(-1px) scale(1);box-shadow:0 4px 12px #ff244240}.header-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.header-btn:disabled:hover{background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);border-color:var(--border-dark);color:var(--text-primary);transform:none;box-shadow:var(--shadow-sm)}.header-btn:disabled:hover:before{left:-100%}.header-file-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.editor-header-mobile-floating{position:fixed;top:0;left:0;right:0;min-height:0;height:0;overflow:visible;pointer-events:none;z-index:100;padding:0;background:transparent;border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.editor-header-mobile-floating:after{display:none}.editor-header-mobile-floating .header-help-fab{pointer-events:auto;position:fixed;top:calc(10px + env(safe-area-inset-top,0));left:calc(12px + env(safe-area-inset-left,0));display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;color:var(--text-secondary);background:#fffffff2;border:1px solid var(--border-medium);border-radius:50%;box-shadow:var(--shadow-sm);cursor:pointer;transition:color var(--duration-fast) var(--ease-smooth),background var(--duration-fast) var(--ease-smooth),transform var(--duration-fast) var(--ease-smooth);-webkit-tap-highlight-color:transparent;touch-action:manipulation;z-index:99}.editor-header-mobile-floating .header-help-fab:active{transform:scale(.95)}.editor-header-mobile-floating .header-help-fab:hover{color:var(--primary);background:#fff}.editor-header-mobile-floating .header-save-fab{pointer-events:auto;position:fixed;top:calc(10px + env(safe-area-inset-top,0));right:calc(12px + env(safe-area-inset-right,0));display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:36px;padding:8px 14px;font-size:13px;font-weight:600;color:var(--bg-primary);background:var(--gradient-primary);border:none;border-radius:var(--radius-pill);box-shadow:var(--shadow-md);cursor:pointer;transition:transform var(--duration-fast) var(--ease-smooth),box-shadow var(--duration-fast) var(--ease-smooth);-webkit-tap-highlight-color:transparent;touch-action:manipulation;z-index:100}.editor-header-mobile-floating .header-save-fab:active{transform:scale(.96)}.editor-header-mobile-floating .header-save-fab:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.editor-header-mobile-floating .header-save-fab:disabled{opacity:.5;cursor:not-allowed;background:var(--border-dark);color:var(--text-secondary)}.editor-header-mobile-floating .header-save-fab:disabled:hover{transform:none;background:var(--border-dark);color:var(--text-secondary)}.editor-header-mobile-floating .header-file-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.save-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px;pointer-events:auto;box-sizing:border-box}.save-modal{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:24px;min-width:320px;max-width:90vw;pointer-events:auto}.save-modal-title{margin:0 0 20px;font-size:18px;font-weight:600;color:var(--text-primary)}.save-modal-label{display:block;margin-bottom:16px;font-size:14px;font-weight:500;color:var(--text-secondary)}.save-modal-input{display:block;width:100%;margin-top:8px;padding:10px 14px;font-size:15px;border:1.5px solid var(--border-dark);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);outline:none;box-sizing:border-box}.save-modal-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #ff24421f}.save-modal-input::placeholder{color:var(--text-tertiary)}.save-modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.save-modal-btn{padding:10px 20px;font-size:14px;font-weight:600;border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-smooth)}.save-modal-cancel{background:transparent;border:1.5px solid var(--border-dark);color:var(--text-primary)}.save-modal-cancel:hover{background:var(--bg-secondary)}.save-modal-confirm{background:var(--gradient-primary);border:none;color:var(--bg-primary)}.save-modal-confirm:hover:not(:disabled){opacity:.95;transform:translateY(-1px)}.save-modal-confirm:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.editor-header:not(.editor-header-mobile-floating){padding:10px 12px;padding-top:calc(10px + env(safe-area-inset-top,0));flex-wrap:nowrap;gap:8px}.editor-header:not(.editor-header-mobile-floating) .header-left{flex:1;min-width:0;gap:8px}.editor-header:not(.editor-header-mobile-floating) .logo{font-size:15px;flex-shrink:0}.editor-header:not(.editor-header-mobile-floating) .logo svg{width:20px;height:20px}.editor-header:not(.editor-header-mobile-floating) .title-editor{min-width:0}.editor-header:not(.editor-header-mobile-floating) .title-display{font-size:14px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-header:not(.editor-header-mobile-floating) .title-input{font-size:16px;min-width:80px;max-width:min(140px,50vw)}.editor-header:not(.editor-header-mobile-floating) .header-right{flex-shrink:0;gap:6px}.editor-header:not(.editor-header-mobile-floating) .header-btn{padding:10px 12px;min-height:44px;font-size:12px;border-radius:12px}.editor-header:not(.editor-header-mobile-floating) .header-btn span:not(:first-child){display:none}}.template-preview-wrap{width:100%;height:120px;background:#f0f0f0;border-radius:8px;border:2px solid #e5e5e5;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:border-color .2s,transform .2s}.template-preview-wrap-compact{height:100px;align-items:flex-start;justify-content:center}.template-preview-wrap-compact .template-preview-inner{flex-shrink:0}.template-item:hover .template-preview-wrap{border-color:#ff2442;transform:scale(1.02)}.template-preview-inner{position:relative;border-radius:4px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.template-preview-effect{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.5}.template-preview-effect-hearts{color:#ff2442}.template-preview-effect-sakura{color:#ffb7c5}.template-preview-effect-confetti{color:gold}.template-preview-effect-hearts:after,.template-preview-effect-sakura:after,.template-preview-effect-confetti:after{content:"";position:absolute;width:3px;height:3px;border-radius:50%;box-shadow:8px 10px 0 0 currentColor,25px 25px 0 0 currentColor,40px 8px 0 0 currentColor,15px 45px 0 0 currentColor,45px 40px 0 0 currentColor}.template-preview-effect-snow:after{content:"";position:absolute;width:2px;height:2px;background:#fff;border-radius:50%;box-shadow:10px 15px #fff,30px 8px #fff,20px 35px #fff;opacity:.9}.template-preview-effect-stars:after,.template-preview-effect-nightSky:after{content:"";position:absolute;width:1.5px;height:1.5px;background:#fff;border-radius:50%;box-shadow:12px 20px #fff,28px 12px #fff,18px 40px #fff,38px 35px #fff}.template-preview-effect-nightSky:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0f0c2966,#302b634d)}.template-preview-effect-leaves:after{content:"";position:absolute;width:4px;height:5px;background:#c45c26;border-radius:50% 0 50% 50%;opacity:.7;box-shadow:20px 15px #b8860b,35px 40px sienna}.template-preview-effect-aurora:after,.template-preview-effect-fireflies:after,.template-preview-effect-fireworks:after,.template-preview-effect-rainbow:after,.template-preview-effect-rosePetals:after,.template-preview-effect-sparkle:after,.template-preview-effect-magicDust:after,.template-preview-effect-neonRain:after{content:"";position:absolute;width:2px;height:2px;background:#fff;border-radius:50%;box-shadow:10px 12px #ffc8ffcc,25px 8px #c8ffffcc,15px 28px #ffffc8cc,32px 22px #ffb4ffcc,8px 35px #b4ffffcc;opacity:.85}.template-preview-el{position:absolute;border-radius:2px;pointer-events:none}.template-preview-text{min-height:4px;border-radius:1px}.template-preview-image{background:linear-gradient(135deg,#e8e8e8,#f0f0f0);border:1px dashed rgba(0,0,0,.15)}.template-preview-button{border-radius:4px;min-height:6px}.template-preview-block{background:#0000000f}.sidebar{width:300px;background:linear-gradient(180deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);border-right:1px solid var(--border-medium);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-lg);position:relative}.sidebar:after{content:"";position:absolute;top:0;right:0;width:1px;height:100%;background:linear-gradient(180deg,transparent,rgba(255,36,66,.1) 50%,transparent);pointer-events:none}.sidebar-tabs{display:flex;border-bottom:2px solid var(--border-light);padding:var(--space-4) 10px;gap:var(--space-2);background:linear-gradient(180deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);position:relative}.sidebar-tabs:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(255,36,66,.1) 50%,transparent)}.tab-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;background-color:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-sm);color:var(--text-secondary);transition:all var(--duration-base) var(--ease-bounce);font-weight:var(--font-medium);position:relative}.tab-btn:before{content:"";position:absolute;bottom:0;left:50%;width:0;height:3px;background:var(--gradient-primary);border-radius:3px 3px 0 0;transform:translate(-50%);transition:width .3s cubic-bezier(.34,1.56,.64,1)}.tab-btn:hover{background:linear-gradient(135deg,#ff244214,#ff6b9d0f);color:var(--primary);transform:translateY(-2px)}.tab-btn.active{background:linear-gradient(135deg,#ff24421f,#ff6b9d1a);color:var(--primary);font-weight:var(--font-bold)}.tab-btn.active:before{width:60%}.tab-btn svg{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.tab-btn:hover svg,.tab-btn.active svg{transform:scale(1.1)}.sidebar-content{flex:1;overflow-y:auto;padding:var(--space-5);background:linear-gradient(180deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.sidebar-content::-webkit-scrollbar{width:8px}.sidebar-content::-webkit-scrollbar-track{background:#00000005;border-radius:4px}.sidebar-content::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#ff24424d,#ff6b9d4d);border-radius:4px;transition:background .3s}.sidebar-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#ff244280,#ff6b9d80)}.sidebar-mobile-hint{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);background:linear-gradient(135deg,#ff244214,#ff6b9d0f);border-radius:var(--radius-lg);font-size:13px;color:var(--text-secondary);line-height:1.6;border:2px solid rgba(255,36,66,.15);box-shadow:var(--shadow-primary-sm);position:relative;overflow:hidden}.sidebar-mobile-hint:before{content:"💡";position:absolute;top:8px;left:8px;font-size:20px;opacity:.3}.components-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.component-item{display:flex;flex-direction:column;align-items:center;gap:10px;padding:var(--space-5) var(--space-4);background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--duration-base) var(--ease-bounce);border:2px solid var(--border-light);position:relative;overflow:hidden;box-shadow:var(--shadow-sm)}.component-item:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:radial-gradient(circle,rgba(255,36,66,.15) 0%,transparent 70%);transform:translate(-50%,-50%);transition:width .4s,height .4s}.component-item:hover{background:linear-gradient(135deg,#ff244214,#ff6b9d0f);border-color:#ff24424d;transform:translateY(-4px) scale(1.02);box-shadow:var(--shadow-primary-lg)}.component-item:hover:before{width:200%;height:200%}.component-item:active{transform:translateY(-2px) scale(1);box-shadow:0 4px 16px #ff244226}.component-item svg{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.component-item:hover svg{transform:scale(1.15) rotate(5deg);color:var(--primary)}.component-item>span:first-of-type{font-size:var(--font-base);color:var(--text-primary);font-weight:var(--font-semibold);letter-spacing:-.2px;transition:all var(--duration-base)}.component-item:hover>span:first-of-type{color:var(--primary);transform:scale(1.05)}.component-item .component-hint{font-size:var(--font-xs);color:var(--text-tertiary);margin-top:-2px;opacity:.7;transition:opacity var(--duration-base)}.component-item:hover .component-hint{opacity:1;color:var(--primary)}.templates-wrapper{display:flex;flex-direction:column;gap:16px}.template-categories{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--border-light)}.category-btn{padding:var(--space-2) var(--space-5);background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);border:2px solid var(--border-medium);border-radius:var(--radius-pill);font-size:13px;color:var(--text-secondary);cursor:pointer;transition:all var(--duration-base) var(--ease-bounce);font-weight:var(--font-semibold);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.category-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:radial-gradient(circle,rgba(255,36,66,.2) 0%,transparent 70%);transform:translate(-50%,-50%);transition:width .4s,height .4s}.category-btn:hover{background:linear-gradient(135deg,#ff244214,#ff6b9d0f);border-color:#ff24424d;color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-primary-md)}.category-btn:hover:before{width:200%;height:200%}.category-btn.active{background:var(--gradient-primary);border-color:transparent;color:var(--bg-primary);font-weight:var(--font-bold);box-shadow:var(--shadow-primary-lg);transform:translateY(-2px) scale(1.05)}.templates-list,.themes-list{display:flex;flex-direction:column;gap:12px}.empty-templates{padding:var(--space-10) var(--space-5);text-align:center;color:var(--text-tertiary);font-size:13px}.template-item,.theme-item{display:flex;flex-direction:column;gap:8px;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s}.theme-item:hover{background-color:var(--bg-secondary)}.theme-item.active{background-color:#ff244214}.theme-preview{width:100%;height:140px;background-color:var(--bg-tertiary);border-radius:var(--radius-lg);border:3px solid var(--border-medium);transition:all var(--duration-base) var(--ease-bounce);display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--text-tertiary);position:relative;overflow:hidden;box-shadow:var(--shadow-sm)}.theme-item:hover .theme-preview{border-color:#ff244266;transform:scale(1.03) translateY(-2px);box-shadow:0 6px 20px #ff244226}.theme-item.active .theme-preview{border-color:var(--primary);border-width:3px;box-shadow:var(--shadow-primary-lg)}.theme-preview.light{background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-tertiary) 100%);position:relative;overflow:hidden}.theme-preview.light:before{content:"☀️";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:32px;opacity:.4;animation:pulse 3s ease-in-out infinite}.theme-preview.dark{background:linear-gradient(135deg,#1a1a1a,#2d2d2d);position:relative;overflow:hidden}.theme-preview.dark:before{content:"🌙";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:32px;opacity:.6;animation:pulse 3s ease-in-out infinite}.theme-preview.colorful{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 50%,var(--warning) 100%);position:relative;overflow:hidden}.theme-preview.colorful:before{content:"🌈";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:32px;opacity:.7;animation:pulse 3s ease-in-out infinite}.theme-preview.minimal{background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-tertiary) 100%);position:relative;overflow:hidden}.theme-preview.minimal:before{content:"✨";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:32px;opacity:.4;animation:pulse 3s ease-in-out infinite}.theme-preview.vibrant-orange{background:linear-gradient(135deg,#fff8f0,#fed7aa,#fdba74);position:relative;overflow:hidden}.theme-preview.vibrant-orange:before{content:"🍊";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:32px;opacity:.8}.theme-preview.fresh-green{background:linear-gradient(135deg,#f0fdf4,#bbf7d0,#86efac);position:relative;overflow:hidden}.theme-preview.fresh-green:before{content:"🌿";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:32px;opacity:.8}.theme-preview.cyberpunk{background:linear-gradient(135deg,#0a0e1a,#1e1b4b,#312e81);position:relative;overflow:hidden}.theme-preview.cyberpunk:before{content:"💻";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:32px;opacity:.8}.theme-preview.cozy{background:linear-gradient(135deg,#fff7ed,#fed7aa,#fdba74);position:relative;overflow:hidden}.theme-preview.cozy:before{content:"☕";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:32px;opacity:.8}.theme-preview.stargaze{background:linear-gradient(135deg,#0f172a,#1e293b,#334155);position:relative;overflow:hidden}.theme-preview.stargaze:before{content:"✨";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:32px;opacity:.8}.theme-preview.neon{background:linear-gradient(135deg,#0d0d0f,#1a1a24,#0d0d0f);position:relative;overflow:hidden}.theme-preview.neon:before{content:"💡";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:32px;opacity:.9}.theme-preview.retro{background:linear-gradient(135deg,#f5e6d3,#e8d5c4,#d4b896);position:relative;overflow:hidden}.theme-preview.retro:before{content:"📻";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:32px;opacity:.8}.theme-preview.candy{background:linear-gradient(135deg,#fff5f8,#ffe4ec,#ffd6e0);position:relative;overflow:hidden}.theme-preview.candy:before{content:"🍬";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:32px;opacity:.9}.template-item{border:2px solid var(--border-light);background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);transition:all var(--duration-base) var(--ease-bounce);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-sm);position:relative}.template-item:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ff244214,#ff6b9d14);opacity:0;transition:opacity .3s;pointer-events:none}.template-item:hover{border-color:#ff24424d;box-shadow:var(--shadow-primary-lg);transform:translateY(-4px) scale(1.02)}.template-item:hover:before{opacity:1}.template-info{display:flex;flex-direction:column;gap:4px;padding:4px 0}.template-name{font-size:var(--font-base);color:var(--text-primary);font-weight:var(--font-bold);text-align:center;letter-spacing:-.2px}.template-desc{font-size:var(--font-sm);color:var(--text-tertiary);text-align:center;line-height:1.4}.theme-item span{font-size:var(--font-sm);color:var(--text-secondary);text-align:center}.effects-list{display:flex;flex-direction:column;gap:20px}.effect-category{display:flex;flex-direction:column;gap:12px}.effect-category-title{font-size:var(--font-base);font-weight:var(--font-bold);color:var(--text-primary);margin:0;padding-bottom:10px;border-bottom:2px solid var(--border-light);display:flex;align-items:center;gap:var(--space-2);letter-spacing:-.2px}.effect-category-title:before{content:"";width:4px;height:16px;background:var(--gradient-primary);border-radius:2px}.effects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.effect-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4) 10px;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-base) var(--ease-bounce);border:2px solid var(--border-light);position:relative;overflow:hidden;box-shadow:var(--shadow-sm)}.effect-item:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:radial-gradient(circle,rgba(255,36,66,.15) 0%,transparent 70%);transform:translate(-50%,-50%);transition:width .4s,height .4s}.effect-item:hover{background:linear-gradient(135deg,#ff244214,#ff6b9d0f);border-color:#ff24424d;transform:translateY(-3px) scale(1.05);box-shadow:var(--shadow-primary-md)}.effect-item:hover:before{width:200%;height:200%}.effect-item:active{transform:translateY(-1px) scale(1.02)}.effect-icon{font-size:28px;line-height:1;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.effect-item:hover .effect-icon{transform:scale(1.2) rotate(10deg)}.effect-name{font-size:var(--font-sm);color:var(--text-secondary);font-weight:var(--font-semibold);text-align:center;transition:color var(--duration-base)}.effect-item:hover .effect-name{color:var(--primary)}.effect-hint{padding:var(--space-5);background:linear-gradient(135deg,#ff244214,#ff6b9d0f);border-radius:var(--radius-lg);font-size:13px;color:var(--primary);text-align:center;border:2px dashed rgba(255,36,66,.3);box-shadow:var(--shadow-primary-sm);font-weight:var(--font-medium);line-height:1.6;position:relative;overflow:hidden}.effect-hint:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);animation:pulse 3s ease-in-out infinite}.effect-hint-inline{font-size:var(--font-xs);color:var(--text-tertiary);margin-top:6px;display:block}@media (max-width: 768px){.sidebar-tabs{padding:12px 10px;gap:6px}.tab-btn{padding:12px 8px;font-size:13px;min-height:48px}.sidebar-content{padding:14px 16px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0))}.components-list{gap:12px}.component-item{padding:16px 12px;min-height:72px}.component-item .component-hint{opacity:1;font-size:11px}.template-categories{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;padding-bottom:12px;margin:0 -16px 12px;padding-left:16px;padding-right:16px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.template-categories::-webkit-scrollbar{display:none}.category-btn{padding:10px 16px;min-height:44px;font-size:13px;flex-shrink:0}.templates-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.template-item{padding:10px;min-height:0;display:flex;flex-direction:column;gap:8px}.template-item .template-preview-wrap{width:100%;min-height:100px}.template-item .template-info{padding:0;gap:2px}.template-item .template-name{font-size:12px;font-weight:600;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.template-item .template-desc{font-size:10px;text-align:left;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.themes-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.theme-item{padding:12px;min-height:48px}.effect-item{padding:14px 10px;min-height:52px}}.aplayer{background:#fff;font-family:Arial,Helvetica,sans-serif;margin:5px;box-shadow:0 2px 2px #00000012,0 1px 5px #0000001a;border-radius:2px;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:normal;position:relative}.aplayer *{box-sizing:content-box}.aplayer svg{width:100%;height:100%}.aplayer svg circle,.aplayer svg path{fill:#fff}.aplayer.aplayer-withlist .aplayer-info{border-bottom:1px solid #e9e9e9}.aplayer.aplayer-withlist .aplayer-list{display:block}.aplayer.aplayer-withlist .aplayer-icon-order,.aplayer.aplayer-withlist .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon.aplayer-icon-menu{display:inline}.aplayer.aplayer-withlrc .aplayer-pic{height:90px;width:90px}.aplayer.aplayer-withlrc .aplayer-info{margin-left:90px;height:90px;padding:10px 7px 0}.aplayer.aplayer-withlrc .aplayer-lrc{display:block}.aplayer.aplayer-narrow{width:66px}.aplayer.aplayer-narrow .aplayer-info,.aplayer.aplayer-narrow .aplayer-list{display:none}.aplayer.aplayer-narrow .aplayer-body,.aplayer.aplayer-narrow .aplayer-pic{height:66px;width:66px}.aplayer.aplayer-fixed{position:fixed;bottom:0;left:0;right:0;margin:0;z-index:99;overflow:visible;max-width:400px;box-shadow:none}.aplayer.aplayer-fixed .aplayer-list{margin-bottom:65px;border:1px solid #eee;border-bottom:none}.aplayer.aplayer-fixed .aplayer-body{position:fixed;bottom:0;left:0;right:0;margin:0;z-index:99;background:#fff;padding-right:18px;transition:all .3s ease;max-width:400px}.aplayer.aplayer-fixed .aplayer-lrc{display:block;position:fixed;bottom:10px;left:0;right:0;margin:0;z-index:98;pointer-events:none;text-shadow:-1px -1px 0 #fff}.aplayer.aplayer-fixed .aplayer-lrc:after,.aplayer.aplayer-fixed .aplayer-lrc:before{display:none}.aplayer.aplayer-fixed .aplayer-info{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:0 0;transform-origin:0 0;transition:all .3s ease;border-bottom:none;border-top:1px solid #e9e9e9}.aplayer.aplayer-fixed .aplayer-info .aplayer-music{width:calc(100% - 105px)}.aplayer.aplayer-fixed .aplayer-miniswitcher{display:block}.aplayer.aplayer-fixed.aplayer-narrow .aplayer-info{display:block;-webkit-transform:scaleX(0);transform:scaleX(0)}.aplayer.aplayer-fixed.aplayer-narrow .aplayer-body{width:66px!important}.aplayer.aplayer-fixed.aplayer-narrow .aplayer-miniswitcher .aplayer-icon{-webkit-transform:rotateY(0);transform:rotateY(0)}.aplayer.aplayer-fixed .aplayer-icon-back,.aplayer.aplayer-fixed .aplayer-icon-forward,.aplayer.aplayer-fixed .aplayer-icon-lrc,.aplayer.aplayer-fixed .aplayer-icon-play{display:inline-block}.aplayer.aplayer-fixed .aplayer-icon-back,.aplayer.aplayer-fixed .aplayer-icon-forward,.aplayer.aplayer-fixed .aplayer-icon-menu,.aplayer.aplayer-fixed .aplayer-icon-play{position:absolute;bottom:27px;width:20px;height:20px}.aplayer.aplayer-fixed .aplayer-icon-back{right:75px}.aplayer.aplayer-fixed .aplayer-icon-play{right:50px}.aplayer.aplayer-fixed .aplayer-icon-forward{right:25px}.aplayer.aplayer-fixed .aplayer-icon-menu{right:0}.aplayer.aplayer-arrow .aplayer-icon-loop,.aplayer.aplayer-arrow .aplayer-icon-order,.aplayer.aplayer-mobile .aplayer-icon-volume-down{display:none}.aplayer.aplayer-loading .aplayer-info .aplayer-controller .aplayer-loading-icon{display:block}.aplayer.aplayer-loading .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played .aplayer-thumb{-webkit-transform:scale(1);transform:scale(1)}.aplayer .aplayer-body{position:relative}.aplayer .aplayer-icon{width:15px;height:15px;border:none;background-color:transparent;outline:none;cursor:pointer;opacity:.8;vertical-align:middle;padding:0;font-size:12px;margin:0;display:inline-block}.aplayer .aplayer-icon path{transition:all .2s ease-in-out}.aplayer .aplayer-icon-back,.aplayer .aplayer-icon-forward,.aplayer .aplayer-icon-lrc,.aplayer .aplayer-icon-order,.aplayer .aplayer-icon-play{display:none}.aplayer .aplayer-icon-lrc-inactivity svg{opacity:.4}.aplayer .aplayer-icon-forward{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.aplayer .aplayer-lrc-content{display:none}.aplayer .aplayer-pic{position:relative;float:left;height:66px;width:66px;background-size:cover;background-position:50%;transition:all .3s ease;cursor:pointer}.aplayer .aplayer-pic:hover .aplayer-button{opacity:1}.aplayer .aplayer-pic .aplayer-button{position:absolute;border-radius:50%;opacity:.8;text-shadow:0 1px 1px rgba(0,0,0,.2);box-shadow:0 1px 1px #0003;background:#0003;transition:all .1s ease}.aplayer .aplayer-pic .aplayer-button path{fill:#fff}.aplayer .aplayer-pic .aplayer-hide{display:none}.aplayer .aplayer-pic .aplayer-play{width:26px;height:26px;border:2px solid #fff;bottom:50%;right:50%;margin:0 -15px -15px 0}.aplayer .aplayer-pic .aplayer-play svg{position:absolute;top:3px;left:4px;height:20px;width:20px}.aplayer .aplayer-pic .aplayer-pause{width:16px;height:16px;border:2px solid #fff;bottom:4px;right:4px}.aplayer .aplayer-pic .aplayer-pause svg{position:absolute;top:2px;left:2px;height:12px;width:12px}.aplayer .aplayer-info{margin-left:66px;padding:14px 7px 0 10px;height:66px;box-sizing:border-box}.aplayer .aplayer-info .aplayer-music{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:0 0 13px 5px;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;cursor:default;padding-bottom:2px;height:20px}.aplayer .aplayer-info .aplayer-music .aplayer-title{font-size:14px}.aplayer .aplayer-info .aplayer-music .aplayer-author{font-size:12px;color:#666}.aplayer .aplayer-info .aplayer-controller{position:relative;display:flex}.aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap{margin:0 0 0 5px;padding:4px 0;cursor:pointer!important;flex:1}.aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap:hover .aplayer-bar .aplayer-played .aplayer-thumb{-webkit-transform:scale(1);transform:scale(1)}.aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar{position:relative;height:2px;width:100%;background:#cdcdcd}.aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-loaded{position:absolute;left:0;top:0;bottom:0;background:#aaa;height:2px;transition:all .5s ease}.aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played{position:absolute;left:0;top:0;bottom:0;height:2px}.aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played .aplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:10px;width:10px;border-radius:50%;cursor:pointer;transition:all .3s ease-in-out;-webkit-transform:scale(0);transform:scale(0)}.aplayer .aplayer-info .aplayer-controller .aplayer-time{position:relative;right:0;bottom:4px;height:17px;color:#999;font-size:11px;padding-left:7px}.aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-time-inner{vertical-align:middle}.aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon{cursor:pointer;transition:all .2s ease}.aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:#666}.aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon.aplayer-icon-loop{margin-right:2px}.aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover path{fill:#000}.aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon.aplayer-icon-menu,.aplayer .aplayer-info .aplayer-controller .aplayer-time.aplayer-time-narrow .aplayer-icon-menu,.aplayer .aplayer-info .aplayer-controller .aplayer-time.aplayer-time-narrow .aplayer-icon-mode{display:none}.aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap{position:relative;display:inline-block;margin-left:3px;cursor:pointer!important}.aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap:hover .aplayer-volume-bar-wrap{height:40px}.aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap .aplayer-volume-bar-wrap{position:absolute;bottom:15px;right:-3px;width:25px;height:0;z-index:99;overflow:hidden;transition:all .2s ease-in-out}.aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap .aplayer-volume-bar-wrap.aplayer-volume-bar-wrap-active{height:40px}.aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap .aplayer-volume-bar-wrap .aplayer-volume-bar{position:absolute;bottom:0;right:10px;width:5px;height:35px;background:#aaa;border-radius:2.5px;overflow:hidden}.aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap .aplayer-volume-bar-wrap .aplayer-volume-bar .aplayer-volume{position:absolute;bottom:0;right:0;width:5px;transition:all .1s ease}.aplayer .aplayer-info .aplayer-controller .aplayer-loading-icon{display:none}.aplayer .aplayer-info .aplayer-controller .aplayer-loading-icon svg{position:absolute;-webkit-animation:rotate 1s linear infinite;animation:rotate 1s linear infinite}.aplayer .aplayer-lrc{display:none;position:relative;height:30px;text-align:center;overflow:hidden;margin:-10px 0 7px}.aplayer .aplayer-lrc:before{top:0;height:10%;background:linear-gradient(180deg,#fff 0,#fff0);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#00ffffff",GradientType=0)}.aplayer .aplayer-lrc:after,.aplayer .aplayer-lrc:before{position:absolute;z-index:1;display:block;overflow:hidden;width:100%;content:" "}.aplayer .aplayer-lrc:after{bottom:0;height:33%;background:linear-gradient(180deg,#fff0 0,#fffc);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ffffff",endColorstr="#ccffffff",GradientType=0)}.aplayer .aplayer-lrc p{font-size:12px;color:#666;line-height:16px!important;height:16px!important;padding:0!important;margin:0!important;transition:all .5s ease-out;opacity:.4;overflow:hidden}.aplayer .aplayer-lrc p.aplayer-lrc-current{opacity:1;overflow:visible;height:auto!important;min-height:16px}.aplayer .aplayer-lrc.aplayer-lrc-hide{display:none}.aplayer .aplayer-lrc .aplayer-lrc-contents{width:100%;transition:all .5s ease-out;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;cursor:default}.aplayer .aplayer-list{overflow:auto;transition:all .5s ease;will-change:height;display:none;overflow:hidden}.aplayer .aplayer-list.aplayer-list-hide{max-height:0!important}.aplayer .aplayer-list ol{list-style-type:none;margin:0;padding:0;overflow-y:auto}.aplayer .aplayer-list ol::-webkit-scrollbar{width:5px}.aplayer .aplayer-list ol::-webkit-scrollbar-thumb{border-radius:3px;background-color:#eee}.aplayer .aplayer-list ol::-webkit-scrollbar-thumb:hover{background-color:#ccc}.aplayer .aplayer-list ol li{position:relative;height:32px;line-height:32px;padding:0 15px;font-size:12px;border-top:1px solid #e9e9e9;cursor:pointer;transition:all .2s ease;overflow:hidden;margin:0}.aplayer .aplayer-list ol li:first-child{border-top:none}.aplayer .aplayer-list ol li:hover{background:#efefef}.aplayer .aplayer-list ol li.aplayer-list-light{background:#e9e9e9}.aplayer .aplayer-list ol li.aplayer-list-light .aplayer-list-cur{display:inline-block}.aplayer .aplayer-list ol li .aplayer-list-cur{display:none;width:3px;height:22px;position:absolute;left:0;top:5px;cursor:pointer}.aplayer .aplayer-list ol li .aplayer-list-index{color:#666;margin-right:12px;cursor:pointer}.aplayer .aplayer-list ol li .aplayer-list-author{color:#666;float:right;cursor:pointer}.aplayer .aplayer-notice{opacity:0;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);font-size:12px;border-radius:4px;padding:5px 10px;transition:all .3s ease-in-out;overflow:hidden;color:#fff;pointer-events:none;background-color:#f4f4f5;color:#909399}.aplayer .aplayer-miniswitcher{display:none;position:absolute;top:0;right:0;bottom:0;height:100%;background:#e6e6e6;width:18px;border-radius:0 2px 2px 0}.aplayer .aplayer-miniswitcher .aplayer-icon{height:100%;width:100%;-webkit-transform:rotateY(180deg);transform:rotateY(180deg);transition:all .3s ease}.aplayer .aplayer-miniswitcher .aplayer-icon path{fill:#666}.aplayer .aplayer-miniswitcher .aplayer-icon:hover path{fill:#000}@-webkit-keyframes aplayer-roll{0%{left:0}to{left:-100%}}@keyframes aplayer-roll{0%{left:0}to{left:-100%}}@-webkit-keyframes rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.audio-player-wrapper{width:100%;height:100%;min-width:0;max-width:100%;overflow:hidden;box-sizing:border-box;display:flex;align-items:center;justify-content:center;container-type:size;container-name:audio-player}.audio-player-wrapper.audio-player-rounded-round{border-radius:12px}.audio-player-wrapper.audio-player-rounded-square{border-radius:4px}.audio-player-container{width:100%;height:100%;overflow:hidden;border-radius:inherit}.audio-player-wrapper .aplayer,.audio-player-wrapper .aplayer *{box-sizing:border-box}.audio-player-wrapper .aplayer{margin:0;box-shadow:0 4px 12px #0000001a;background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid rgba(0,0,0,.05);width:100%;height:100%;display:flex;flex-direction:row;align-items:center;min-width:0;overflow:hidden}.audio-player-wrapper .aplayer-body{height:100%;flex:1;min-width:0;display:flex;flex-direction:row;align-items:center}.audio-player-wrapper .aplayer-pic{float:none!important;height:100%!important;width:auto!important;min-height:0;max-height:100%;aspect-ratio:1;flex-shrink:0;align-self:center;display:block;overflow:hidden}.audio-player-wrapper .aplayer-info{margin-left:0;height:100%;min-width:0;flex:1;display:flex;flex-direction:column;justify-content:center;padding:8px 10px;overflow:hidden}.audio-player-wrapper .aplayer-music{margin-bottom:6px!important}.audio-player-wrapper .aplayer-title{font-size:13px;font-weight:600;color:#1a1a1a}.audio-player-wrapper .aplayer-author{font-size:11px;color:#666}.audio-player-wrapper .aplayer-controller{flex:1;min-width:0;display:flex;align-items:center}.audio-player-wrapper .aplayer-bar-wrap{flex:1;margin:0 5px!important}.audio-player-wrapper .aplayer-bar{height:3px!important;border-radius:1.5px;background:#00000014!important}.audio-player-wrapper .aplayer-loaded{background:#0000001f!important;border-radius:1.5px}.audio-player-wrapper .aplayer-played{background:var(--aplayer-theme, #ff2442)!important;border-radius:1.5px}.audio-player-wrapper .aplayer-thumb{width:12px!important;height:12px!important;margin-top:-4.5px!important;background:var(--aplayer-theme, #ff2442)!important;box-shadow:0 2px 6px #ff244266}.audio-player-wrapper .aplayer-volume-wrap{display:none!important}.audio-player-wrapper .aplayer-volume{background:var(--aplayer-theme, #ff2442)!important}.audio-player-wrapper .aplayer-time{font-size:10px;color:#999;flex-shrink:0;white-space:nowrap}.audio-player-wrapper .aplayer-icon path{fill:#666;transition:fill .2s}.audio-player-wrapper .aplayer-icon:hover path{fill:var(--aplayer-theme, #ff2442)}.audio-player-wrapper .aplayer-pic .aplayer-button{background:#00000059;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center}.audio-player-wrapper .aplayer-pic .aplayer-play,.audio-player-wrapper .aplayer-pic .aplayer-pause{position:absolute!important;left:50%!important;top:50%!important;bottom:auto!important;right:auto!important;margin:0!important;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;border-color:#ffffffe6}.audio-player-wrapper .aplayer-pic .aplayer-play svg,.audio-player-wrapper .aplayer-pic .aplayer-pause svg{position:static!important;top:auto!important;left:auto!important;width:60%!important;height:60%!important;display:block;flex-shrink:0}.audio-player-wrapper .aplayer-pic .aplayer-play svg{transform:translate(4%)}.audio-player-wrapper .aplayer-pic .aplayer-pause svg{transform:translate(-3%,-2%)}.audio-player-style-full .aplayer{display:flex;flex-direction:row}.audio-player-style-full .aplayer-pic{width:auto;height:100%}.audio-player-style-full .aplayer-info{flex:1}.audio-player-style-mini .aplayer{width:min(100cqw,100cqh)!important;height:min(100cqw,100cqh)!important;min-width:0;min-height:0;max-width:100%;max-height:100%;flex-shrink:0}.audio-player-style-mini .audio-player-container .aplayer-body,.audio-player-style-mini .audio-player-container .aplayer-pic{width:100%!important;height:100%!important;min-width:0;min-height:0}.audio-player-style-mini .aplayer-pic{float:none!important;width:100%!important;height:100%!important;aspect-ratio:unset;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}.audio-player-style-mini .aplayer-pic .aplayer-button{top:0;right:0;bottom:0;left:0;margin:auto;width:28%;height:28%;max-width:36px;max-height:36px}.audio-player-style-mini.audio-player-size-small .aplayer-pic,.audio-player-style-mini.audio-player-size-large .aplayer-pic{max-width:none!important;max-height:none!important;min-width:0!important;min-height:0!important;width:100%!important;height:100%!important}.audio-player-style-dark .aplayer{background:linear-gradient(135deg,#1a1a2e,#16213e);border-color:#ffffff1a}.audio-player-style-dark .aplayer-title{color:#fff}.audio-player-style-dark .aplayer-author{color:#fff9}.audio-player-style-dark .aplayer-time{color:#ffffff80}.audio-player-style-dark .aplayer-bar{background:#ffffff26!important}.audio-player-style-dark .aplayer-loaded{background:#ffffff40!important}.audio-player-style-dark .aplayer-icon path{fill:#ffffffb3}.audio-player-style-dark .aplayer-icon:hover path{fill:#fff}.audio-player-style-dark .aplayer-notice{background:#ffffff26;color:#fff}.audio-player-rounded-round .aplayer{border-radius:12px}.audio-player-rounded-square .aplayer{border-radius:4px}.audio-player-rounded-round .aplayer-pic{border-top-left-radius:12px;border-bottom-left-radius:12px}.audio-player-rounded-square .aplayer-pic{border-top-left-radius:4px;border-bottom-left-radius:4px}.audio-player-style-mini.audio-player-rounded-round .aplayer-pic{border-radius:12px}.audio-player-style-mini.audio-player-rounded-square .aplayer-pic{border-radius:4px}.audio-player-size-small .aplayer{font-size:11px}.audio-player-size-small .aplayer-pic{max-width:45px;max-height:45px}.audio-player-size-small .aplayer-info{padding:4px 8px}.audio-player-size-small .aplayer-title{font-size:11px}.audio-player-size-small .aplayer-author{font-size:10px}.audio-player-size-small .aplayer-bar{height:2px!important}.audio-player-size-small .aplayer-thumb{width:8px!important;height:8px!important;margin-top:-3px!important}.audio-player-size-large .aplayer{font-size:15px}.audio-player-size-large .aplayer-pic{min-width:80px;min-height:80px}.audio-player-size-large .aplayer-info{padding:12px 16px}.audio-player-size-large .aplayer-title{font-size:16px}.audio-player-size-large .aplayer-author{font-size:13px}.audio-player-size-large .aplayer-bar{height:5px!important}.audio-player-size-large .aplayer-thumb{width:16px!important;height:16px!important;margin-top:-5.5px!important}.audio-player-hide-title .aplayer-music{display:none!important}.audio-player-hide-title .aplayer-info{justify-content:center}@media (max-width: 768px){.audio-player-wrapper .aplayer{-webkit-tap-highlight-color:transparent;align-items:center}.audio-player-wrapper .aplayer-body{min-width:0;align-items:stretch;min-height:100%}.audio-player-wrapper .aplayer-pic{float:none!important;height:auto!important;min-height:100%;width:auto!important;aspect-ratio:1;flex-shrink:0;align-self:stretch}.audio-player-wrapper .aplayer-info{min-width:0}.audio-player-wrapper .aplayer-music{min-width:0;overflow:hidden;text-overflow:ellipsis}.audio-player-wrapper .aplayer-title,.audio-player-wrapper .aplayer-author{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audio-player-wrapper .aplayer-bar-wrap{min-width:0}}@media (hover: none) and (pointer: coarse){.audio-player-wrapper .aplayer{-webkit-tap-highlight-color:transparent}.audio-player-wrapper .aplayer-icon{min-width:44px;min-height:44px;padding:4px;box-sizing:border-box}}.audio-player-wrapper .aplayer-icon:focus{outline:2px solid var(--aplayer-theme, #ff2442);outline-offset:2px;border-radius:4px}.audio-player-wrapper .aplayer-bar-wrap:focus-within{outline:2px solid var(--aplayer-theme, #ff2442);outline-offset:2px;border-radius:4px}.audio-player-wrapper .aplayer-list,.audio-player-wrapper .aplayer-icon-menu,.audio-player-wrapper .aplayer-icon-order,.audio-player-wrapper .aplayer-icon-loop{display:none!important}.audio-player-wrapper .aplayer-loading .aplayer-bar .aplayer-played .aplayer-thumb{animation:aplayer-loading-pulse 1.5s ease-in-out infinite}@keyframes aplayer-loading-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.9)}}.audio-player-wrapper .aplayer-notice{background:#000000b3;color:#fff;border-radius:6px;padding:8px 14px;font-size:12px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideLeft{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideRight{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-20px)}60%{transform:translateY(-10px)}}@keyframes rotateIn{0%{opacity:0;transform:rotate(-180deg) scale(.8)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes flipX{0%{opacity:0;transform:perspective(400px) rotateX(90deg)}to{opacity:1;transform:perspective(400px) rotateX(0)}}@keyframes flipY{0%{opacity:0;transform:perspective(400px) rotateY(90deg)}to{opacity:1;transform:perspective(400px) rotateY(0)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(3deg)}75%{transform:rotate(-3deg)}}@keyframes glow{0%,to{box-shadow:0 0 5px #ff244280}50%{box-shadow:0 0 20px #ff2442cc,0 0 30px #ff244299}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animate-fade-in{animation:fadeIn .6s ease-out}.animate-slide-up{animation:slideUp .6s cubic-bezier(.4,0,.2,1)}.animate-slide-down{animation:slideDown .6s cubic-bezier(.4,0,.2,1)}.animate-slide-left{animation:slideLeft .6s cubic-bezier(.4,0,.2,1)}.animate-slide-right{animation:slideRight .6s cubic-bezier(.4,0,.2,1)}.animate-zoom-in{animation:zoomIn .5s cubic-bezier(.4,0,.2,1)}.animate-bounce{animation:bounce .8s cubic-bezier(.68,-.55,.265,1.55)}.animate-rotate-in{animation:rotateIn .7s ease-out}.animate-flip-x{animation:flipX .6s ease-out}.animate-flip-y{animation:flipY .6s ease-out}.animate-shake{animation:shake .5s ease-in-out infinite}.animate-wiggle{animation:wiggle .5s ease-in-out infinite}.animate-gradient-shift{background-size:200% 200%;animation:gradientShift 3s linear infinite}@keyframes flashIn{0%{opacity:0;transform:scale(.9);filter:brightness(.5)}30%{opacity:1;transform:scale(1.05);filter:brightness(1.4)}to{opacity:1;transform:scale(1);filter:brightness(1)}}@keyframes heartbeat{0%,to{transform:scale(1)}14%{transform:scale(1.08)}28%{transform:scale(1)}42%{transform:scale(1.06)}56%,70%,84%{transform:scale(1)}}@keyframes twinkleEl{0%,to{opacity:1;filter:brightness(1)}50%{opacity:.85;filter:brightness(1.3)}}.animate-flash-in{animation:flashIn .5s ease-out infinite}.animate-heartbeat{animation:heartbeat 1.2s ease-in-out infinite}.animate-twinkle{animation:twinkleEl 2s ease-in-out infinite}@keyframes growIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes floatIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes swingEl{0%,to{transform:rotate(0)}20%{transform:rotate(15deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(5deg)}80%{transform:rotate(-5deg)}}@keyframes shimmerEl{0%{background-position:-200% center}to{background-position:200% center}}@keyframes blurFadeIn{0%{opacity:0;filter:blur(8px)}to{opacity:1;filter:blur(0)}}.animate-grow{animation:growIn .5s cubic-bezier(.34,1.56,.64,1)}.animate-float{animation:floatIn .7s ease-out}.animate-swing{animation:swingEl .8s ease-in-out infinite}.animate-shimmer{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);background-size:200% 100%;animation:shimmerEl 2s ease-in-out infinite}.animate-blur-fade{animation:blurFadeIn .8s ease-out}@keyframes bobEl{0%,to{transform:translateY(-8px)}50%{transform:translateY(-4px)}}@keyframes wobbleHEl{16.65%{transform:translate(8px)}33.3%{transform:translate(-6px)}49.95%{transform:translate(4px)}66.6%{transform:translate(-2px)}83.25%{transform:translate(1px)}to{transform:translate(0)}}@keyframes popEl{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes buzzEl{0%,to{transform:translate(-3px) rotate(-2deg)}50%{transform:translate(3px) rotate(2deg)}}@keyframes sinkIn{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGrowEl{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes bounceInEl{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes growRotateIn{0%{opacity:0;transform:scale(.8) rotate(-10deg)}to{opacity:1;transform:scale(1) rotate(0)}}.animate-bob{animation:bobEl 1.5s ease-in-out infinite}.animate-wobble-h{animation:wobbleHEl 1s ease-in-out infinite}.animate-pop{animation:popEl .4s linear}.animate-buzz{animation:buzzEl .15s linear infinite}.animate-sink{animation:sinkIn .6s ease-out}.animate-pulse-grow{animation:pulseGrowEl .4s linear infinite}.animate-bounce-in{animation:bounceInEl .7s cubic-bezier(.47,2.02,.31,-.36)}.animate-grow-rotate{animation:growRotateIn .6s ease-out}.element-wrapper{position:absolute;border:2px solid transparent;transition:border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1);border-radius:4px;box-sizing:border-box;overflow:hidden;contain:layout style}.element-wrapper.selected{overflow:visible;border-color:var(--primary);border-width:2px;box-shadow:var(--shadow-focus),var(--shadow-primary-md);z-index:100}.element-wrapper.edit-mode{touch-action:none;-webkit-user-select:none;user-select:none;backface-visibility:hidden;transform:translateZ(0)}.element-wrapper.dragging{transition:none!important;will-change:transform;z-index:9999!important;box-shadow:0 8px 32px #00000026,0 2px 8px #0000001a}.element-wrapper.resizing{transition:none!important;will-change:left,top,width,height;z-index:9999!important}.element-wrapper.selected:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border:1px solid rgba(255,255,255,.5);border-radius:4px;pointer-events:none}.element-wrapper:hover:not(.selected){border-color:#ff244266;box-shadow:0 0 0 2px #ff244214}.element-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);border:2px dashed var(--border-dark);border-radius:var(--radius-md);color:var(--text-tertiary);font-size:13px;transition:all .25s var(--ease-smooth)}.element-placeholder:hover{border-color:#ff244266;background:linear-gradient(135deg,#ff24420d,#ff6b9d08);color:var(--primary);transform:scale(1.01)}.element-placeholder-image{background:linear-gradient(145deg,#f8f9fc,#eef1f8,#f0f2f7);border:1px solid rgba(0,0,0,.06);border-radius:var(--radius-md);box-shadow:inset 0 1px 2px #fff9;color:#8b95a5;gap:6px}.element-placeholder-image:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border-radius:6px;background:repeating-linear-gradient(-45deg,transparent,transparent 8px,rgba(0,0,0,.02) 8px,rgba(0,0,0,.02) 10px);pointer-events:none}.element-placeholder-image:hover{background:linear-gradient(145deg,#f0f4ff,#e8ecf8,#eef1fa);border-color:#ff244233;color:var(--primary);box-shadow:inset 0 1px 2px #ffffffb3,0 0 0 1px #ff244214}.element-placeholder-image-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:#fffc;box-shadow:0 2px 8px #0000000f;color:#a8b3c4;position:relative;z-index:1}.element-placeholder-image:hover .element-placeholder-image-icon{background:#fffffff2;color:var(--primary);box-shadow:0 2px 12px #ff24421f}.element-placeholder-image-text{font-size:14px;font-weight:500;color:#6b7280;position:relative;z-index:1}.element-placeholder-image:hover .element-placeholder-image-text{color:var(--primary)}.element-placeholder-image-hint{font-size:11px;color:#9ca3af;position:relative;z-index:1}.element-placeholder-image:hover .element-placeholder-image-hint{color:#ff2442b3}.element-placeholder-audio{position:relative;background:linear-gradient(145deg,#f8f9fc,#eef1f8,#f0f2f7);border:1px solid rgba(0,0,0,.06);border-radius:var(--radius-md);box-shadow:inset 0 1px 2px #fff9;color:#8b95a5;gap:6px}.element-placeholder-audio:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border-radius:6px;background:repeating-linear-gradient(-45deg,transparent,transparent 8px,rgba(0,0,0,.02) 8px,rgba(0,0,0,.02) 10px);pointer-events:none}.element-placeholder-audio:hover{background:linear-gradient(145deg,#f0f4ff,#e8ecf8,#eef1fa);border-color:#ff244233;color:var(--primary);box-shadow:inset 0 1px 2px #ffffffb3,0 0 0 1px #ff244214}.element-placeholder-audio-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:#fffc;box-shadow:0 2px 8px #0000000f;color:#a8b3c4;position:relative;z-index:1}.element-placeholder-audio:hover .element-placeholder-audio-icon{background:#fffffff2;color:var(--primary);box-shadow:0 2px 12px #ff24421f}.element-placeholder-audio-text{font-size:14px;font-weight:500;color:#6b7280;position:relative;z-index:1}.element-placeholder-audio:hover .element-placeholder-audio-text{color:var(--primary)}.element-placeholder-clickable{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.element-resize-borders{position:absolute;top:-6px;left:-6px;right:-6px;bottom:-6px;pointer-events:none;z-index:100}.resize-border{position:absolute;pointer-events:all;background:transparent;z-index:101}.resize-border-n{top:-4px;left:16px;right:16px;height:12px;cursor:ns-resize}.resize-border-s{bottom:-4px;left:16px;right:16px;height:12px;cursor:ns-resize}.resize-border-w{left:-4px;top:16px;bottom:16px;width:12px;cursor:ew-resize}.resize-border-e{right:-4px;top:16px;bottom:16px;width:12px;cursor:ew-resize}.resize-border-nw{top:-6px;left:-6px;width:22px;height:22px;cursor:nwse-resize}.resize-border-ne{top:-6px;right:-6px;width:22px;height:22px;cursor:nesw-resize}.resize-border-sw{bottom:-6px;left:-6px;width:22px;height:22px;cursor:nesw-resize}.resize-border-se{bottom:-6px;right:-6px;width:22px;height:22px;cursor:nwse-resize}@media (max-width: 768px){.element-resize-borders{display:none}}.element-resize-handles-mobile{position:absolute;top:-20px;left:-20px;right:-20px;bottom:-20px;pointer-events:none;z-index:10;display:none}@media (max-width: 768px){.element-resize-handles-mobile{display:block}}.resize-handle-mobile{position:absolute;pointer-events:all;z-index:11;will-change:transform;backface-visibility:hidden;-webkit-tap-highlight-color:transparent;touch-action:none}.resize-handle-mobile-nw,.resize-handle-mobile-ne,.resize-handle-mobile-sw,.resize-handle-mobile-se{width:36px;height:36px;background:linear-gradient(135deg,#fff,#f8f9fa);border:3px solid var(--primary);border-radius:50%;box-shadow:0 2px 8px #ff24424d,0 0 0 3px #ffffffe6;transition:transform .15s ease,box-shadow .15s ease}.resize-handle-mobile-nw:active,.resize-handle-mobile-ne:active,.resize-handle-mobile-sw:active,.resize-handle-mobile-se:active{transform:scale(1.15);background:var(--gradient-primary);border-color:#fff;box-shadow:0 4px 16px #ff244266,0 0 0 4px #fff}.resize-handle-mobile-nw{top:2px;left:2px}.resize-handle-mobile-ne{top:2px;right:2px}.resize-handle-mobile-sw{bottom:2px;left:2px}.resize-handle-mobile-se{bottom:2px;right:2px}.resize-handle-mobile-edge{background:var(--primary);border-radius:6px;box-shadow:0 2px 8px #ff24424d;transition:transform .15s ease,background .15s ease}.resize-handle-mobile-edge:active{background:linear-gradient(135deg,#ff2442,#ff6b9d);transform:scale(1.1)}.resize-handle-mobile-n{top:2px;left:50%;transform:translate(-50%);width:56px;height:12px}.resize-handle-mobile-n:active{transform:translate(-50%) scaleX(1.1)}.resize-handle-mobile-s{bottom:2px;left:50%;transform:translate(-50%);width:56px;height:12px}.resize-handle-mobile-s:active{transform:translate(-50%) scaleX(1.1)}.resize-handle-mobile-w{left:2px;top:50%;transform:translateY(-50%);width:12px;height:56px}.resize-handle-mobile-w:active{transform:translateY(-50%) scaleY(1.1)}.resize-handle-mobile-e{right:2px;top:50%;transform:translateY(-50%);width:12px;height:56px}.resize-handle-mobile-e:active{transform:translateY(-50%) scaleY(1.1)}.scene-effects{position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;overflow:hidden}.scene-effects-paused,.scene-effects-paused *{animation-play-state:paused!important}.scene-effects-sakura .sakura-petal{position:absolute;top:-20px;box-shadow:0 0 6px #ffb6c1cc,0 0 12px #ff69b466;filter:drop-shadow(0 0 3px rgba(255,182,193,.6))}.scene-effects-sakura .sakura-petal.variant-0{animation:fall-sway linear infinite}.scene-effects-sakura .sakura-petal.variant-1{animation:fall-sway-wide linear infinite}.scene-effects-sakura .sakura-petal.variant-2{animation:fall-sway-soft linear infinite}@keyframes fall-sway{0%{opacity:.75;transform:translateY(0) rotate(0) translate(0)}25%{opacity:1;transform:translateY(calc(var(--effect-height, 100vh) * .25)) rotate(90deg) translate(24px)}50%{opacity:.95;transform:translateY(calc(var(--effect-height, 100vh) * .5)) rotate(180deg) translate(-18px)}75%{opacity:.85;transform:translateY(calc(var(--effect-height, 100vh) * .75)) rotate(270deg) translate(22px)}to{opacity:.4;transform:translateY(var(--effect-height, 100vh)) rotate(360deg) translate(0)}}@keyframes fall-sway-wide{0%{opacity:.7;transform:translateY(0) rotate(0) translate(0)}25%{opacity:1;transform:translateY(calc(var(--effect-height, 100vh) * .25)) rotate(90deg) translate(36px)}50%{opacity:.9;transform:translateY(calc(var(--effect-height, 100vh) * .5)) rotate(180deg) translate(-28px)}75%{opacity:.8;transform:translateY(calc(var(--effect-height, 100vh) * .75)) rotate(270deg) translate(32px)}to{opacity:.35;transform:translateY(var(--effect-height, 100vh)) rotate(360deg) translate(0)}}@keyframes fall-sway-soft{0%{opacity:.6;transform:translateY(0) rotate(0) translate(0)}50%{opacity:1;transform:translateY(calc(var(--effect-height, 100vh) * .5)) rotate(180deg) translate(-12px)}to{opacity:.3;transform:translateY(var(--effect-height, 100vh)) rotate(360deg) translate(0)}}.scene-effects-snow .snow-flake{position:absolute;top:-10px;background:radial-gradient(circle at 30% 30%,#fff,#e0f4ff,#b8e0f8);border-radius:50%;box-shadow:0 0 8px #ffffffe6,0 0 16px #c8e6ff80}.scene-effects-snow .snow-flake.variant-0{animation:fall-snow linear infinite}.scene-effects-snow .snow-flake.variant-1{animation:fall-snow-slow linear infinite}.scene-effects-snow .snow-flake.variant-2{animation:fall-snow-drift linear infinite}@keyframes fall-snow{0%{opacity:.8;transform:translateY(0) translate(0)}50%{opacity:1;transform:translateY(calc(var(--effect-height, 100vh) * .5)) translate(14px)}to{opacity:.4;transform:translateY(var(--effect-height, 100vh)) translate(-10px)}}@keyframes fall-snow-slow{0%{opacity:.7;transform:translateY(0) translate(0)}to{opacity:.35;transform:translateY(var(--effect-height, 100vh)) translate(20px)}}@keyframes fall-snow-drift{0%{opacity:.75;transform:translateY(0) translate(0)}33%{opacity:1;transform:translateY(calc(var(--effect-height, 100vh) * .33)) translate(-18px)}66%{opacity:.9;transform:translateY(calc(var(--effect-height, 100vh) * .66)) translate(12px)}to{opacity:.4;transform:translateY(var(--effect-height, 100vh)) translate(-5px)}}.scene-effects-confetti .confetti-piece{position:absolute;top:-20px;box-shadow:0 0 6px currentColor,0 0 12px #ffffff4d;filter:brightness(1.1) saturate(1.2)}.scene-effects-confetti .confetti-piece.variant-0{animation:fall-confetti linear infinite}.scene-effects-confetti .confetti-piece.variant-1{animation:fall-confetti-spin linear infinite}@keyframes fall-confetti{0%{opacity:.85;transform:translateY(0) rotate(0)}to{opacity:.35;transform:translateY(var(--effect-height, 100vh)) rotate(720deg)}}@keyframes fall-confetti-spin{0%{opacity:.75;transform:translateY(0) rotate(0)}50%{opacity:1;transform:translateY(calc(var(--effect-height, 100vh) * .5)) rotate(360deg)}to{opacity:.3;transform:translateY(var(--effect-height, 100vh)) rotate(900deg)}}.scene-effects-hearts .heart-piece{position:absolute;top:-20px;color:#ff1744;text-shadow:0 0 12px rgba(255,23,68,.9),0 0 24px rgba(255,36,66,.5);filter:drop-shadow(0 0 4px rgba(255,36,66,.8));animation:fall-heart linear infinite;opacity:.95}@keyframes fall-heart{0%{transform:translateY(0) scale(1) translate(0)}33%{transform:translateY(calc(var(--effect-height, 100vh) * .33)) scale(1.15) translate(16px)}66%{transform:translateY(calc(var(--effect-height, 100vh) * .66)) scale(1.05) translate(-12px)}to{transform:translateY(var(--effect-height, 100vh)) scale(1) translate(0)}}.scene-effects-stars .star-dot{position:absolute;background:#fff;border-radius:50%;box-shadow:0 0 8px #fff,0 0 16px #fffc,0 0 24px #fff6;transform:translate(-50%,-50%);animation:twinkle ease-in-out infinite;opacity:.95}@keyframes twinkle{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.35)}}.scene-effects-night-sky .night-sky-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0f0c2999,#302b6373,#24243e99);pointer-events:none}.scene-effects-night-sky .star-dot-bright{background:#fff;box-shadow:0 0 10px #fff,0 0 20px #fffc,0 0 30px #fff6;animation:twinkle ease-in-out infinite}.scene-effects-leaves .leaf-piece{position:absolute;top:-20px;border-radius:50% 0 50% 50%;animation:fall-leaves linear infinite;opacity:.95;box-shadow:0 0 6px #0003,0 0 12px #8b5a2b26;filter:saturate(1.15) brightness(1.05)}@keyframes fall-leaves{0%{transform:translateY(0) rotate(0) translate(0)}25%{transform:translateY(calc(var(--effect-height, 100vh) * .25)) rotate(90deg) translate(28px)}50%{transform:translateY(calc(var(--effect-height, 100vh) * .5)) rotate(180deg) translate(-22px)}75%{transform:translateY(calc(var(--effect-height, 100vh) * .75)) rotate(270deg) translate(26px)}to{transform:translateY(var(--effect-height, 100vh)) rotate(360deg) translate(0)}}.scene-effects-bubbles .bubble-piece{position:absolute;top:-30px;left:0;border-radius:50%;background:radial-gradient(circle at 28% 28%,#fffffffa,#dcf0ff99,#b4dcff59);border:1.5px solid rgba(255,255,255,.85);box-shadow:inset 0 0 12px #fff9,0 0 12px #fff6,0 0 24px #c8e6ff4d;animation:rise-bubble linear infinite;opacity:.92}@keyframes rise-bubble{0%{transform:translateY(0) translate(0) scale(1);opacity:.7}50%{transform:translateY(calc(var(--effect-height, 100vh) * .5)) translate(14px) scale(1.08);opacity:.95}to{transform:translateY(var(--effect-height, 100vh)) translate(-10px) scale(.95);opacity:.35}}.scene-effects-glitter .glitter-piece{position:absolute;top:0;left:0;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#fffde7 0%,#fff59d 25%,#ffeb3b 50%,transparent 72%);box-shadow:0 0 12px #ffeb3bf2,0 0 24px #ffc10780;animation:glitter-twinkle ease-in-out infinite;opacity:.95}@keyframes glitter-twinkle{0%,to{opacity:.4;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.45)}}.scene-effects-aurora{background:transparent}.scene-effects-aurora .aurora-band{position:absolute;left:-10%;right:-10%;height:45%;border-radius:50%;opacity:.5;animation:aurora-flow 12s ease-in-out infinite;mix-blend-mode:screen}.scene-effects-aurora .aurora-band-1{top:5%;background:linear-gradient(90deg,transparent,rgba(0,255,200,.4),rgba(150,100,255,.4),transparent);animation-delay:0s}.scene-effects-aurora .aurora-band-2{top:35%;background:linear-gradient(90deg,transparent,rgba(255,100,200,.35),rgba(100,200,255,.35),transparent);animation-delay:-4s}.scene-effects-aurora .aurora-band-3{top:65%;background:linear-gradient(90deg,transparent,rgba(100,255,220,.3),rgba(255,150,100,.3),transparent);animation-delay:-8s}@keyframes aurora-flow{0%,to{transform:translate(0) scaleY(1);opacity:.45}50%{transform:translate(8%) scaleY(1.1);opacity:.6}}.scene-effects-fireflies .firefly-dot{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(255,255,200,.95) 0%,rgba(200,255,150,.6) 40%,transparent 70%);box-shadow:0 0 10px #ffffb4e6,0 0 20px #c8ff9666;transform:translate(-50%,-50%);animation:firefly-float ease-in-out infinite}@keyframes firefly-float{0%,to{opacity:.6;transform:translate(-50%,-50%) translate(0)}25%{opacity:1;transform:translate(-50%,-50%) translate(8px,-12px)}50%{opacity:.8;transform:translate(-50%,-50%) translate(-6px,-8px)}75%{opacity:1;transform:translate(-50%,-50%) translate(5px,-15px)}}.scene-effects-fireworks .firework-burst{position:absolute;width:0;height:0;top:0;left:0;transform:translate(-50%,-50%);animation:firework-burst-pop 2.5s ease-out infinite}.scene-effects-fireworks .firework-particle{position:absolute;left:0;top:0;width:4px;height:4px;border-radius:50%;background:linear-gradient(135deg,gold,#ff6b9d,#4dabf7);box-shadow:0 0 6px currentColor;transform:rotate(var(--fw-angle, 0deg)) translateY(0);animation:firework-particle-fly 2.5s ease-out infinite}@keyframes firework-burst-pop{0%{opacity:1;transform:translate(-50%,-50%) scale(0)}15%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1)}}@keyframes firework-particle-fly{0%{transform:rotate(var(--fw-angle, 0deg)) translateY(0);opacity:1}to{transform:rotate(var(--fw-angle, 0deg)) translateY(-80px);opacity:0}}.scene-effects-rainbow .rainbow-piece{position:absolute;top:-20px;animation:fall-confetti linear infinite;opacity:.92;box-shadow:0 0 6px currentColor;filter:brightness(1.1) saturate(1.2)}.scene-effects-rainbow .rainbow-piece{animation-name:fall-rainbow}@keyframes fall-rainbow{0%{transform:translateY(0) rotate(0)}to{transform:translateY(var(--effect-height, 100vh)) rotate(540deg)}}.scene-effects-rose-petals .rose-petal{position:absolute;top:-20px;animation:fall-sway linear infinite;opacity:.92;box-shadow:0 0 6px #b41e3c80;filter:drop-shadow(0 0 2px rgba(0,0,0,.1))}.scene-effects-rose-petals .rose-petal{animation-name:fall-rose}@keyframes fall-rose{0%{transform:translateY(0) rotate(0) translate(0)}25%{transform:translateY(calc(var(--effect-height, 100vh) * .25)) rotate(90deg) translate(22px)}50%{transform:translateY(calc(var(--effect-height, 100vh) * .5)) rotate(180deg) translate(-18px)}75%{transform:translateY(calc(var(--effect-height, 100vh) * .75)) rotate(270deg) translate(20px)}to{transform:translateY(var(--effect-height, 100vh)) rotate(360deg) translate(0)}}.scene-effects-sparkle .sparkle-diamond{position:absolute;top:0;left:0;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff 0%,rgba(255,255,255,.85) 30%,rgba(200,230,255,.4) 60%,transparent 70%);box-shadow:0 0 15px #fff,0 0 30px #ffffffb3,0 0 45px #b4dcff66;animation:sparkle-diamond-pulse ease-in-out infinite}@keyframes sparkle-diamond-pulse{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.4)}}.scene-effects-magic-dust .magic-dust-dot{position:absolute;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 8px currentColor;animation:magic-dust-float ease-in-out infinite}@keyframes magic-dust-float{0%,to{opacity:.3;transform:translate(-50%,-50%) scale(1) translate(0)}50%{opacity:.9;transform:translate(-50%,-50%) scale(1.2) translate(10px,-15px)}}.scene-effects-neon-rain .neon-rain-line{position:absolute;top:-20px;width:2px;height:60px;background:linear-gradient(180deg,var(--neon-color, #00fff7) 0%,transparent 100%);box-shadow:0 0 10px var(--neon-color),0 0 20px var(--neon-color);animation:neon-rain-fall linear infinite;opacity:.9}@keyframes neon-rain-fall{0%{transform:translateY(0);opacity:0}5%{opacity:.9}to{transform:translateY(var(--effect-height, 100vh));opacity:.3}}.scene-effects-matrix-rain{background:transparent!important}.scene-effects-matrix-rain .matrix-rain-canvas{position:absolute;left:0;top:0;width:100%;height:100%;opacity:.6;pointer-events:none}.canvas-empty-hint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;z-index:0;max-width:300px;padding:var(--space-5)}.canvas-empty-title{font-size:var(--font-xl, 18px);color:var(--text-primary);margin:0 0 var(--space-2);font-weight:600;letter-spacing:-.2px}.canvas-empty-desc{font-size:var(--font-base, 14px);color:var(--text-secondary);margin:0;line-height:1.6}.canvas-empty-desc strong{color:var(--primary);font-weight:600}@media (prefers-reduced-motion: no-preference){.canvas-empty-hint{animation:canvas-empty-in .5s var(--ease-bounce)}}@keyframes canvas-empty-in{0%{opacity:0;transform:translate(-50%,-50%) translateY(12px)}to{opacity:1;transform:translate(-50%,-50%) translateY(0)}}.canvas-mobile-action-bar{position:absolute;z-index:1000;display:flex;align-items:center;justify-content:center;gap:12px;pointer-events:auto}.canvas-mobile-action-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border:none;border-radius:24px;font-size:14px;font-weight:500;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.canvas-mobile-action-btn:active{transform:scale(.98)}.canvas-mobile-action-delete{background:var(--primary);color:var(--bg-primary);box-shadow:var(--shadow-primary-md)}.canvas-mobile-action-delete:active{background:#e01e3a}.canvas-mobile-action-property{background:var(--bg-primary);color:var(--primary);border:2px solid var(--primary);box-shadow:var(--shadow-md)}.canvas-mobile-action-property:active{background:#ff244214}.canvas-container{flex:1;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);background-image:linear-gradient(45deg,var(--bg-tertiary) 25%,transparent 25%),linear-gradient(-45deg,var(--bg-tertiary) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--bg-tertiary) 75%),linear-gradient(-45deg,transparent 75%,var(--bg-tertiary) 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px;overflow:auto;padding:var(--space-10, 40px);outline:none;position:relative;touch-action:pan-x pan-y}.canvas-container.preview-mode{background:#000;padding:0}.canvas{position:relative;box-shadow:var(--shadow-lg);border-radius:var(--radius-sm);overflow:hidden;transform-origin:center;transition:box-shadow var(--duration-base) var(--ease-bounce);background:var(--bg-primary);border:1px solid var(--border-light)}.canvas:hover{box-shadow:0 6px 24px #0000001a,0 2px 8px #0000000f}.canvas-container.preview-mode .canvas{border-radius:0;box-shadow:none;width:100vw!important;height:100vh!important;max-width:100%;max-height:100%}@media (max-width: 768px){.canvas-container{padding:8px 4px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0));-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-x pan-y;align-items:flex-start;justify-content:flex-start}.canvas{border-radius:6px;flex-shrink:0;box-shadow:0 2px 12px #00000014;backface-visibility:hidden;transform:translateZ(0)}.canvas-empty-hint{max-width:90%;padding:var(--space-4)}.canvas-empty-title{font-size:17px;font-weight:600}.canvas-empty-desc{font-size:14px;line-height:1.6}.canvas-mobile-action-btn{min-height:44px;padding:12px 20px;font-size:15px}}.property-panel{width:360px;background:linear-gradient(180deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);border-left:1px solid var(--border-medium);display:flex;flex-direction:column;overflow-y:auto;box-shadow:var(--shadow-lg);position:relative}.property-panel:before{content:"";position:absolute;top:0;left:0;width:1px;height:100%;background:linear-gradient(180deg,transparent,rgba(255,36,66,.1) 50%,transparent);pointer-events:none}.property-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:2px solid rgba(0,0,0,.04);background:linear-gradient(135deg,#ff244205,#ff6b9d03);position:relative}.property-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(255,36,66,.2) 50%,transparent)}.property-header h3{font-size:17px;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0;letter-spacing:-.3px}.delete-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:linear-gradient(135deg,#ff244214,#ff6b9d0f);border:2px solid rgba(255,36,66,.2);border-radius:var(--radius-md);cursor:pointer;color:var(--primary);transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 2px 8px #ff24421a;position:relative;overflow:hidden}.delete-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.4) 0%,transparent 70%);transform:translate(-50%,-50%);transition:width .4s,height .4s}.delete-btn:hover{background:var(--gradient-primary);border-color:transparent;color:var(--bg-primary);transform:translateY(-2px) rotate(5deg) scale(1.05);box-shadow:var(--shadow-primary-lg)}.delete-btn:hover:before{width:200%;height:200%}.delete-btn:active{transform:translateY(-1px) rotate(3deg) scale(1)}.property-section{padding:20px;border-bottom:1px solid rgba(0,0,0,.04);background:linear-gradient(180deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);position:relative}.property-section:after{content:"";position:absolute;bottom:0;left:20px;right:20px;height:1px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.06) 50%,transparent)}.property-section h4{font-size:15px;font-weight:var(--font-bold);color:var(--text-primary);margin:0 0 var(--space-4) 0;display:flex;align-items:center;gap:8px}.property-section h4:before{content:"";width:4px;height:16px;background:var(--gradient-primary);border-radius:2px}.property-group{margin-bottom:var(--space-4)}.property-group label{display:flex;align-items:center;justify-content:space-between;font-size:var(--font-base);color:var(--text-secondary);margin-bottom:10px;font-weight:var(--font-semibold);letter-spacing:-.2px}.property-group label .hint{font-size:var(--font-xs);color:var(--text-tertiary);font-weight:var(--font-normal);margin-left:var(--space-2);padding:2px var(--space-2);background:var(--border-light);border-radius:6px}.property-inline-hint{font-size:var(--font-sm);color:var(--text-secondary);margin-left:var(--space-2);font-family:var(--font-family-mono)}.property-group input[type=text],.property-group input[type=number],.property-group select,.property-group textarea{width:100%;padding:10px 14px;border:2px solid var(--border-medium);border-radius:var(--radius-md);font-size:var(--font-base);color:var(--text-primary);background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);transition:all var(--duration-base) var(--ease-bounce);font-weight:var(--font-medium)}.property-group input[type=text]:hover,.property-group input[type=number]:hover,.property-group select:hover,.property-group textarea:hover{background:var(--bg-primary);border-color:#ff244233;box-shadow:var(--shadow-primary-sm)}.property-group input[type=text]:focus,.property-group input[type=number]:focus,.property-group select:focus,.property-group textarea:focus{outline:none;border-color:var(--primary);background:var(--bg-primary);box-shadow:var(--shadow-focus);transform:translateY(-1px)}.property-group input[type=range]{width:100%;cursor:pointer}.number-input-with-unit{display:flex;align-items:center;gap:8px}.number-input-with-unit input{flex:1;min-width:0}.input-unit{flex-shrink:0;font-size:var(--font-sm);color:var(--text-tertiary);font-weight:var(--font-medium);padding:var(--space-2) 10px;background-color:var(--bg-tertiary);border-radius:6px;border:1px solid var(--border-medium);min-width:36px;text-align:center}.input-range-hint{font-size:var(--font-xs);color:var(--text-tertiary);margin-top:4px;display:flex;justify-content:space-between}.input-range-hint span{opacity:.8}.property-group input[type=checkbox]{margin-right:8px;cursor:pointer}.property-group textarea{resize:vertical;min-height:60px;font-family:inherit}.upload-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-5);background:linear-gradient(135deg,#ff244214,#ff6b9d0f);border:2px solid rgba(255,36,66,.2);border-radius:var(--radius-md);color:var(--primary);font-size:var(--font-base);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--duration-base) var(--ease-bounce);position:relative;overflow:hidden;box-shadow:var(--shadow-primary-sm)}.upload-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.4) 0%,transparent 70%);transform:translate(-50%,-50%);transition:width .4s,height .4s}.upload-btn:hover{background:var(--gradient-primary);color:var(--bg-primary);border-color:transparent;transform:translateY(-2px) scale(1.02);box-shadow:var(--shadow-primary-lg)}.upload-btn:hover:before{width:300%;height:300%}.upload-btn:active{transform:translateY(-1px) scale(1);box-shadow:0 4px 12px #ff244240}.upload-btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.background-image-actions{display:flex;flex-wrap:wrap;gap:10px}.background-image-actions .upload-btn{flex:1;min-width:120px}.delete-bg-btn{background:var(--bg-secondary)!important;border-color:var(--border-medium)!important;color:var(--text-secondary)!important}.delete-bg-btn:hover{background:#ff244214!important;border-color:var(--primary)!important;color:var(--primary)!important}.btn-spinner{width:14px;height:14px;border:2px solid rgba(255,36,66,.3);border-top-color:var(--primary);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.image-preview-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.image-preview-item{position:relative;aspect-ratio:1;border-radius:6px;overflow:hidden;border:1px solid var(--border-medium)}.image-preview-item img{width:100%;height:100%;object-fit:cover}.remove-image-btn{position:absolute;top:var(--space-1);right:var(--space-1);width:20px;height:20px;background-color:#0009;color:var(--bg-primary);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1;transition:all .2s}.remove-image-btn:hover{background-color:var(--primary);transform:scale(1.1)}.property-panel-mobile-empty{padding:var(--space-5) var(--space-4);border-bottom:1px solid var(--border-light);background:linear-gradient(135deg,#ff24420a,#ff6b9d08)}.property-panel-mobile-empty-desc{font-size:var(--font-base);color:var(--text-secondary);margin:0 0 var(--space-2);line-height:1.5}.property-panel-mobile-empty-hint{font-size:var(--font-sm);color:var(--text-tertiary);margin:0 0 var(--space-4);line-height:1.4}.property-panel-mobile-empty-actions{display:flex;gap:12px;flex-wrap:wrap}.property-panel-mobile-nav-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--primary);color:var(--bg-primary);border:none;border-radius:var(--radius-md);font-size:var(--font-base);font-weight:500;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.property-panel-mobile-nav-btn.secondary{background:var(--bg-tertiary);color:var(--text-primary)}.property-panel-mobile-nav-btn:active{transform:scale(.98)}@media (max-width: 768px){.property-panel{padding-bottom:calc(16px + env(safe-area-inset-bottom,0));-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.property-header{padding:14px 16px}.property-header h3{font-size:15px}.delete-btn{width:44px;height:44px;min-width:44px;min-height:44px}.property-section{padding:14px 16px}.property-group input[type=text],.property-group input[type=number],.property-group select,.property-group textarea{padding:10px 12px;font-size:16px;min-height:44px}.upload-btn{padding:12px 16px;min-height:48px;font-size:14px}.property-group input[type=color]{width:48px;height:48px}.property-group label{min-height:44px;padding:8px 0;display:flex;align-items:center;cursor:pointer}.property-group input[type=checkbox]{width:22px;height:22px;margin-right:12px;flex-shrink:0}.property-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}.property-group textarea{min-height:88px}}.help-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4);animation:helpFadeIn .25s var(--ease-smooth)}@keyframes helpFadeIn{0%{opacity:0}to{opacity:1}}.help-modal{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:420px;width:100%;max-height:90vh;overflow:hidden;animation:helpSlideIn .3s var(--ease-bounce)}@keyframes helpSlideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.help-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-light)}.help-modal-header h2{font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.help-modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.help-modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.help-modal-body{padding:var(--space-6);overflow-y:auto}.help-modal-intro{font-size:var(--font-base);color:var(--text-secondary);margin:0 0 var(--space-4)}.help-modal-steps{list-style:none;margin:0;padding:0}.help-step{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--border-light)}.help-step:last-of-type{border-bottom:none}.help-step-num{flex-shrink:0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;background:var(--gradient-primary);color:#fff;font-size:12px;font-weight:700;border-radius:50%}.help-step-icon{flex-shrink:0;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-tertiary);color:var(--primary);border-radius:var(--radius-md)}.help-step-text{display:flex;flex-direction:column;gap:4px}.help-step-text strong{font-size:15px;color:var(--text-primary)}.help-step-text span{font-size:13px;color:var(--text-secondary);line-height:1.5}.help-modal-tips{margin-top:var(--space-4);padding:var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-md)}.help-modal-tips p{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.6}.editor-layout{display:flex;flex-direction:column;height:100vh;background-color:var(--bg-primary)}.editor-content{display:flex;flex:1;overflow:hidden}.editor-layout-mobile{height:100vh;height:100dvh;padding-bottom:0;padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}.editor-mobile-content{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:0;padding-top:0}.editor-mobile-panel{display:none;flex:1;flex-direction:column;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-height:0;padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0);animation:editor-mobile-panel-in var(--duration-base) var(--ease-bounce)}.editor-mobile-panel.editor-mobile-panel--active{display:flex}@keyframes editor-mobile-panel-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.editor-mobile-panel.editor-mobile-canvas.editor-mobile-panel--active{overflow:auto;display:flex;flex-direction:column;padding:0;animation:none}.editor-mobile-tabs{display:flex;align-items:stretch;justify-content:space-around;background:#fffffffa;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-medium);padding:6px 0;padding-bottom:calc(8px + env(safe-area-inset-bottom,0));box-shadow:0 -2px 12px #0000000d;flex-shrink:0;z-index:50}.editor-mobile-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:1;min-height:44px;padding:4px 6px;background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:12px;font-weight:500;color:var(--text-secondary);transition:background var(--duration-base) var(--ease-bounce),color var(--duration-base) var(--ease-bounce),transform var(--duration-fast) var(--ease-bounce);-webkit-tap-highlight-color:transparent;touch-action:manipulation;position:relative}.editor-mobile-tab span{font-size:11px;line-height:1.2;font-weight:500;letter-spacing:.02em}.editor-mobile-tab svg{width:20px;height:20px;flex-shrink:0}.editor-mobile-tab.active{color:var(--primary);background:#ff244214}.editor-mobile-tab.active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:36px;height:3px;background:var(--gradient-primary);border-radius:0 0 3px 3px}.editor-mobile-tab:active{background:#0000000f;transform:scale(.97)}.editor-mobile-tab.active:active{background:#ff244224}.editor-mobile-panel .sidebar{width:100%;max-width:none;height:100%;min-height:100%;border-right:none;border-radius:0}.editor-mobile-panel .property-panel{width:100%;max-width:none;min-height:100%;border-left:none;border-radius:0}.editor-my-design-panel{padding:10px 14px 18px;gap:6px}.editor-my-design-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:6px}.editor-my-design-title-group{display:flex;flex-direction:column;gap:2px}.editor-my-design-title{margin:0;font-size:15px;font-weight:600;color:var(--text-primary)}.editor-my-design-subtitle{margin:0;font-size:11px;color:var(--text-secondary)}.editor-my-design-tabs{display:inline-flex;padding:1px;border-radius:999px;background:#0f172a0a}.editor-my-design-tab{border:none;background:transparent;padding:4px 10px;font-size:12px;border-radius:999px;cursor:pointer;color:var(--text-secondary);transition:background var(--duration-fast) var(--ease-bounce),color var(--duration-fast) var(--ease-bounce)}.editor-my-design-tab.active{background:#fff;color:var(--primary);box-shadow:0 1px 3px #0f172a14}.editor-my-design-list{display:flex;flex-direction:column;gap:8px;align-items:center}.editor-my-design-item{width:100%;max-width:420px;padding:8px 10px;border-radius:10px;background:#ffffffc7;box-shadow:0 8px 24px #0f172a14;border:1px solid rgba(226,232,240,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);display:flex;justify-content:space-between;align-items:center;gap:8px}.editor-my-design-meta{min-width:0;display:flex;flex-direction:column;gap:4px}.editor-my-design-name{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.editor-my-design-link{padding:0;margin:0;border:none;background:transparent;font:inherit;font-size:13px;font-weight:600;color:var(--text-primary);text-align:left;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;cursor:pointer}.editor-my-design-time{font-size:11px;color:var(--text-secondary)}.editor-my-design-tag{display:inline-flex;align-items:center;padding:1px 7px;border-radius:999px;font-size:10px;color:#0f172a;background:#0f172a0a;width:fit-content;margin-top:2px}.editor-my-design-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.editor-my-design-btn{border-radius:999px;padding:4px 10px;border:none;font-size:11px;cursor:pointer;color:#fff;display:inline-flex;align-items:center;justify-content:center;min-width:70px}.editor-my-design-btn-preview{background:linear-gradient(135deg,var(--bg-primary),var(--bg-secondary));color:var(--text-primary);box-shadow:0 4px 10px #0f172a2e}.editor-my-design-btn-edit{background:#3b82f6;color:#fff;box-shadow:0 4px 10px #3b82f659}.editor-my-design-btn-build{background:var(--gradient-primary);color:var(--bg-primary);box-shadow:var(--shadow-primary-lg, 0 4px 12px rgba(255, 36, 66, .35))}.editor-my-design-empty{margin-top:40px;text-align:center;color:var(--text-secondary);font-size:12px}.editor-my-design-empty-sub{margin-top:4px;font-size:11px}.editor-my-design-loading,.editor-my-design-tip{margin:8px 0 4px;text-align:center;font-size:11px;color:var(--text-secondary)}.editor-generate-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:220}.editor-generate-modal{width:min(420px,92vw);border-radius:16px;background:#fff;padding:16px 16px 14px;box-shadow:0 18px 45px #0f172a52}.editor-generate-title{font-size:16px;font-weight:600;margin-bottom:4px}.editor-generate-desc{font-size:13px;color:var(--text-secondary);margin-bottom:8px}.editor-generate-design{font-size:13px;margin-bottom:8px}.editor-generate-design span{font-weight:500}.editor-generate-field{display:block;margin-bottom:10px}.editor-generate-label{display:block;font-size:13px;margin-bottom:4px}.editor-generate-domain{display:flex;align-items:center;border-radius:999px;border:1px solid var(--border-medium);padding:4px 10px;background:#f8fafce6}.editor-generate-input{flex:1;border:none;outline:none;background:transparent;font-size:13px}.editor-generate-suffix{font-size:13px;color:var(--text-secondary);margin-left:4px}.editor-generate-checkbox{display:flex;align-items:center;gap:6px;font-size:13px;margin-bottom:6px}.editor-generate-integral{font-size:13px;color:var(--text-secondary);margin-bottom:10px}.editor-generate-integral-num{margin:0 4px;font-weight:600;color:var(--primary)}.editor-generate-actions{display:flex;justify-content:flex-end;gap:8px}.editor-generate-btn{min-width:80px;padding:6px 12px;font-size:13px;border-radius:999px;border:1px solid var(--border-medium);background:#fff;cursor:pointer}.editor-generate-btn.primary{border-color:transparent;background:var(--gradient-primary);color:#fff}@media (max-width: 1024px) and (min-width: 769px){.editor-content{flex-direction:row}.sidebar{width:240px;min-width:200px}.property-panel{width:280px;min-width:240px}}@media (max-width: 768px){.editor-mobile-tabs{padding-bottom:calc(8px + env(safe-area-inset-bottom,0))}.editor-mobile-panel{animation-duration:.25s}}.editor-landscape-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text-secondary);font-size:15px;font-weight:500;text-align:center;padding:var(--space-6)}.editor-landscape-icon{color:var(--primary);opacity:.8;animation:editor-rotate-hint 2s ease-in-out infinite}@keyframes editor-rotate-hint{0%,to{transform:rotate(0)}50%{transform:rotate(-90deg)}}@media (prefers-reduced-motion: reduce){.editor-landscape-icon{animation:none}}@media (prefers-reduced-motion: reduce){.editor-mobile-panel{animation:none}.editor-mobile-tab{transition-duration:.01ms}.editor-mobile-tab:active{transform:none}}.app{width:100%;height:100vh;height:100dvh;display:flex;flex-direction:column;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);font-family:var(--font-family)}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);text-align:center;padding:var(--space-6);padding-top:calc(var(--space-6) + env(safe-area-inset-top,0));padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom,0))}.app-loading-spinner{width:44px;height:44px;margin:0 auto var(--space-4);border:4px solid rgba(255,36,66,.15);border-top-color:var(--primary);border-radius:var(--radius-circle);animation:app-spin .9s linear infinite}.app-loading-text{color:var(--text-secondary);font-size:var(--font-base);font-weight:500}@keyframes app-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.app-loading-spinner{animation:none;border-top-color:var(--primary);border-right-color:#ff244266}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes gradientMove{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes glow{0%,to{box-shadow:0 0 5px #ff24424d,0 0 10px #ff244233,0 0 15px #ff24421a}50%{box-shadow:0 0 10px #ff244280,0 0 20px #ff24424d,0 0 30px #ff244233}}@keyframes swing{20%{transform:rotate(15deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(5deg)}80%{transform:rotate(-5deg)}to{transform:rotate(0)}}@keyframes heartbeat{0%,to{transform:scale(1)}10%,30%{transform:scale(.9)}20%,40%,60%,80%{transform:scale(1.1)}50%,70%{transform:scale(1.05)}}.animate-fade-in-up{animation:fadeInUp .6s ease-out}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-bounce{animation:bounce 1s ease-in-out infinite}.animate-shimmer{background:linear-gradient(90deg,#fff0,#ffffff4d,#fff0);background-size:1000px 100%;animation:shimmer 2s infinite}.animate-glow{animation:glow 2s ease-in-out infinite}.animate-swing{animation:swing 1s ease-in-out}.animate-heartbeat{animation:heartbeat 1.5s ease-in-out infinite}.smooth-transition{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.smooth-transition-fast{transition:all .2s cubic-bezier(.34,1.56,.64,1)}.smooth-transition-slow{transition:all .5s cubic-bezier(.34,1.56,.64,1)}.hover-lift{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.hover-scale{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.hover-scale:hover{transform:scale(1.05)}.hover-glow{transition:all .3s ease}.hover-glow:hover{box-shadow:0 0 20px #ff244266}.loading-spinner{width:20px;height:20px;border:3px solid rgba(255,36,66,.2);border-top-color:#ff2442;border-radius:50%;animation:rotate .8s linear infinite}.loading-dots:after{content:"...";animation:dots 1.5s steps(4,end) infinite}@keyframes dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}.gradient-animated{background:linear-gradient(-45deg,#ff2442,#ff6b9d,#ff2442,#ff6b9d);background-size:400% 400%;animation:gradientMove 15s ease infinite}.glass-effect{background:#ffffffb3;backdrop-filter:blur(10px) saturate(180%);-webkit-backdrop-filter:blur(10px) saturate(180%);border:1px solid rgba(255,255,255,.3)}.neumorphism{background:#f0f0f0;box-shadow:8px 8px 16px #0000001a,-8px -8px 16px #ffffffe6}.neumorphism-inset{background:#f0f0f0;box-shadow:inset 4px 4px 8px #0000001a,inset -4px -4px 8px #ffffffe6}@media (max-width: 768px){.hover-lift:hover,.hover-scale:hover,.hover-glow:hover{transform:none;box-shadow:none}.animate-fade-in-up{animation-duration:.4s}}:root{--primary: #ff2442;--primary-light: #ff6b9d;--gradient-primary: linear-gradient(135deg, #ff2442 0%, #ff6b9d 100%);--bg-primary: #ffffff;--bg-secondary: #fafafa;--bg-tertiary: #f5f5f5;--text-primary: #333333;--text-secondary: #666666;--text-tertiary: #999999;--border-light: rgba(0, 0, 0, .04);--border-medium: rgba(0, 0, 0, .06);--border-dark: rgba(0, 0, 0, .08);--success: #52c41a;--warning: #faad14;--error: #f5222d;--info: #1890ff;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 16px;--radius-pill: 24px;--radius-circle: 50%;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-family-mono: "Monaco", "Menlo", "Courier New", monospace;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-xs: 11px;--font-sm: 12px;--font-base: 14px;--font-lg: 16px;--font-xl: 18px;--font-2xl: 20px;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1);--duration-fast: .2s;--duration-base: .3s;--duration-slow: .4s;--duration-slower: .5s;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .04);--shadow-md: 0 2px 8px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .08);--shadow-xl: 0 8px 24px rgba(0, 0, 0, .12);--shadow-primary-sm: 0 2px 8px rgba(255, 36, 66, .1);--shadow-primary-md: 0 4px 12px rgba(255, 36, 66, .15);--shadow-primary-lg: 0 6px 20px rgba(255, 36, 66, .25);--shadow-primary-xl: 0 8px 24px rgba(255, 36, 66, .35);--shadow-focus: 0 0 0 4px rgba(255, 36, 66, .12);--focus-ring: 0 0 0 2px var(--primary)}*{margin:0;padding:0;box-sizing:border-box}html{touch-action:manipulation;-webkit-text-size-adjust:100%}body{font-family:var(--font-family);font-size:var(--font-base);font-weight:var(--font-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-secondary);color:var(--text-primary);line-height:1.5;overscroll-behavior-y:contain;overflow-x:hidden;-webkit-touch-callout:none}#root{width:100%;height:100vh;height:100dvh;overflow:hidden;padding-top:env(safe-area-inset-top,0);padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}::selection{background:#ff24421f;color:var(--text-primary)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:2px;transition:background var(--duration-fast) var(--ease-smooth)}::-webkit-scrollbar-thumb:hover{background:#ff24424d}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(-16px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}button,a,[role=button],input,select,textarea,.editor-mobile-tab,.header-btn,.tab-btn,.component-item,.category-btn,.template-item,.theme-item,.effect-item,.property-group input,.property-group select,.property-group textarea,.delete-btn,.upload-btn{transition:background-color var(--duration-fast) var(--ease-bounce),border-color var(--duration-fast) var(--ease-bounce),color var(--duration-fast) var(--ease-bounce),transform var(--duration-fast) var(--ease-bounce),box-shadow var(--duration-fast) var(--ease-bounce),opacity var(--duration-fast) var(--ease-bounce)}button{font-family:inherit;cursor:pointer;outline:none;border:none}button:focus-visible,a:focus-visible,[role=button]:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--primary);outline-offset:2px}input,textarea,select{font-family:inherit;outline:none}input:focus,textarea:focus,select:focus{outline:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width: 768px){button,[role=button],.header-btn,.tab-btn,.component-item,.category-btn,.theme-item,.template-item,.effect-item{min-height:44px;min-width:44px}body{font-size:var(--font-base);overflow-x:hidden;-webkit-overflow-scrolling:touch}a,button,input,select,textarea,.editor-mobile-tab,.template-item,.canvas-mobile-action-btn{-webkit-tap-highlight-color:transparent}.header-save-fab{min-height:44px;min-width:44px}.editor-mobile-panel,.sidebar-content,.property-panel,.canvas-container{-webkit-overflow-scrolling:touch}}
