:root{--ms-bg:#f8fafc;--ms-surface:#ffffff;--ms-surface-hover:#f1f5f9;--ms-surface-active:#e2e8f0;--ms-border:#e2e8f0;--ms-border-light:#f1f5f9;--ms-border-focus:#22c55e;--ms-text:#0f172a;--ms-text-secondary:#475569;--ms-text-tertiary:#94a3b8;--ms-text-inverse:#ffffff;--ms-primary:#22c55e;--ms-primary-hover:#16a34a;--ms-primary-light:#f0fdf4;--ms-primary-bg:rgba(34,197,94,0.12);--ms-secondary:#ec4899;--ms-secondary-hover:#db2777;--ms-success:#22c55e;--ms-warning:#eab308;--ms-error:#ef4444;--ms-shadow-sm:0 1px 2px rgba(0,0,0,0.05);--ms-shadow:0 1px 3px rgba(0,0,0,0.08);--ms-shadow-md:0 4px 6px -1px rgba(0,0,0,0.06),0 2px 4px -1px rgba(0,0,0,0.03);--ms-shadow-lg:0 10px 15px -3px rgba(0,0,0,0.08),0 4px 6px -2px rgba(0,0,0,0.04);--ms-shadow-xl:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04);--ms-radius-sm:6px;--ms-radius:10px;--ms-radius-md:14px;--ms-radius-lg:18px;--ms-radius-xl:24px;--ms-font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--ms-font-mono:"JetBrains Mono","Fira Code",monospace;--ms-nav-height:56px;--ms-bottom-bar-height:52px;--ms-sidebar-width:380px;--ms-transition:200ms cubic-bezier(0.4,0,0.2,1);--ms-transition-slow:350ms cubic-bezier(0.4,0,0.2,1)}.meme-studio *,.meme-studio :after,.meme-studio :before{box-sizing:border-box}.meme-studio{font-family:var(--ms-font);color:var(--ms-text);background:var(--ms-bg);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased}.meme-studio ::-webkit-scrollbar{width:6px;height:6px}.meme-studio ::-webkit-scrollbar-track{background:transparent}.meme-studio ::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.meme-studio ::-webkit-scrollbar-thumb:hover{background:#94a3b8}.ms-navbar{height:var(--ms-nav-height);background:var(--ms-surface);border-bottom:1px solid var(--ms-border);display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:sticky;top:0;z-index:100}.ms-navbar-left,.ms-navbar-right{display:flex;align-items:center;gap:6px}.ms-navbar-center{display:flex;align-items:center;gap:4px;position:absolute;left:50%;transform:translateX(-50%)}.ms-navbar-brand{font-size:16px;font-weight:700;color:var(--ms-text);letter-spacing:-.3px;margin-right:12px}.ms-navbar-brand span{color:var(--ms-primary)}.ms-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 12px;border-radius:var(--ms-radius);font-size:13px;font-weight:500;font-family:var(--ms-font);border:none;cursor:pointer;transition:var(--ms-transition);white-space:nowrap;outline:none;position:relative}.ms-btn:focus-visible{box-shadow:0 0 0 2px var(--ms-primary-light),0 0 0 4px var(--ms-primary-bg)}.ms-btn--ghost{background:transparent;color:var(--ms-text-secondary)}.ms-btn--ghost:hover{background:var(--ms-surface-hover);color:var(--ms-text)}.ms-btn--ghost:active{background:var(--ms-surface-active)}.ms-btn--primary{background:var(--ms-primary);color:white}.ms-btn--primary:hover{background:var(--ms-primary-hover);transform:translateY(-1px);box-shadow:var(--ms-shadow-md)}.ms-btn--secondary{background:var(--ms-secondary);color:white}.ms-btn--secondary:hover{background:var(--ms-secondary-hover);transform:translateY(-1px);box-shadow:var(--ms-shadow-md)}.ms-btn--outline{background:transparent;color:var(--ms-text);border:1px solid var(--ms-border)}.ms-btn--outline:hover{background:var(--ms-surface-hover);border-color:var(--ms-text-tertiary)}.ms-btn--icon{width:34px;padding:0}.ms-btn--sm{height:28px;padding:0 8px;font-size:12px}.ms-btn--sm.ms-btn--icon{width:28px}.ms-btn svg{width:16px;height:16px;flex-shrink:0}.ms-btn--sm svg{width:14px;height:14px}.ms-divider{width:1px;height:24px;background:var(--ms-border);margin:0 6px;flex-shrink:0}.ms-workspace{height:calc(100vh - var(--ms-nav-height) - var(--ms-bottom-bar-height))}.ms-canvas-area,.ms-workspace{display:flex;position:relative}.ms-canvas-area{flex:1;align-items:center;justify-content:center;padding:12px;background:var(--ms-bg);overflow:hidden;min-width:0}.ms-resize-handle{width:4px;cursor:col-resize;background:transparent;position:relative;z-index:10;flex-shrink:0;transition:background .15s}.ms-resize-handle:active,.ms-resize-handle:hover{background:var(--ms-primary)}.ms-resize-handle:after{content:"";position:absolute;inset:0 -4px}.ms-sidebar{width:var(--ms-sidebar-width);border-left:1px solid var(--ms-border);flex-direction:column;overflow:hidden}.ms-sidebar,.ms-sidebar-tabs{background:var(--ms-surface);display:flex;flex-shrink:0}.ms-sidebar-tabs{border-bottom:1px solid var(--ms-border)}.ms-sidebar-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;height:42px;font-size:12px;font-weight:500;color:var(--ms-text-tertiary);background:transparent;border:none;cursor:pointer;transition:var(--ms-transition);position:relative}.ms-sidebar-tab:hover{color:var(--ms-text-secondary);background:var(--ms-surface-hover)}.ms-sidebar-tab.active{color:var(--ms-primary)}.ms-sidebar-tab.active:after{content:"";position:absolute;bottom:0;left:20%;right:20%;height:2px;background:var(--ms-primary);border-radius:1px 1px 0 0}.ms-sidebar-tab svg{width:16px;height:16px}.ms-sidebar-content{flex:1;overflow-y:auto;padding:16px}.ms-sidebar-search{position:relative;margin-bottom:16px}.ms-sidebar-search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--ms-text-tertiary);pointer-events:none}.ms-sidebar-search input{width:100%;height:38px;padding:0 12px 0 36px;background:var(--ms-bg);border:1px solid var(--ms-border);border-radius:var(--ms-radius);font-size:13px;font-family:var(--ms-font);color:var(--ms-text);outline:none;transition:var(--ms-transition)}.ms-sidebar-search input:focus{border-color:var(--ms-border-focus);box-shadow:0 0 0 3px var(--ms-primary-bg)}.ms-sidebar-search input::placeholder{color:var(--ms-text-tertiary)}.ms-categories{display:flex;flex-wrap:nowrap;gap:6px;padding-bottom:12px;margin-bottom:12px;overflow-x:auto;-webkit-overflow-scrolling:touch}.ms-category-chip{flex-shrink:0;height:28px;padding:0 14px;border-radius:14px;font-size:12px;font-weight:500;background:var(--ms-bg);color:var(--ms-text-secondary);border:1px solid var(--ms-border);cursor:pointer;transition:var(--ms-transition);white-space:nowrap}.ms-category-chip:hover{background:var(--ms-surface-hover);border-color:var(--ms-text-tertiary)}.ms-category-chip.active{background:var(--ms-primary-light);color:var(--ms-primary);border-color:var(--ms-primary)}.ms-template-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ms-template-card{border-radius:var(--ms-radius);overflow:hidden;background:var(--ms-bg);border:1px solid var(--ms-border-light);cursor:pointer;transition:var(--ms-transition);position:relative}.ms-template-card:hover{transform:translateY(-2px);box-shadow:var(--ms-shadow-md);border-color:var(--ms-border)}.ms-template-card:active{transform:translateY(0)}.ms-template-thumb{aspect-ratio:4/3;overflow:hidden;position:relative;background:var(--ms-bg)}.ms-template-thumb img{width:100%;height:100%;object-fit:cover;transition:var(--ms-transition-slow)}.ms-template-card:hover .ms-template-thumb img{transform:scale(1.05)}.ms-template-badge{position:absolute;top:6px;left:6px;height:20px;padding:0 8px;border-radius:10px;font-size:10px;font-weight:600;display:flex;align-items:center;gap:4px;background:rgba(239,68,68,.9);color:white;backdrop-filter:blur(4px)}.ms-template-badge svg{width:10px;height:10px}.ms-template-info{padding:8px 10px}.ms-template-name{font-size:12px;font-weight:600;color:var(--ms-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ms-template-meta{font-size:11px;color:var(--ms-text-tertiary);margin-top:2px}.ms-upload-card{border:2px dashed var(--ms-border);border-radius:var(--ms-radius-md);padding:24px;text-align:center;cursor:pointer;transition:var(--ms-transition);background:var(--ms-bg);margin-bottom:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.ms-upload-card:hover{border-color:var(--ms-primary);background:var(--ms-primary-light)}.ms-upload-card svg{width:32px;height:32px;color:var(--ms-text-tertiary);margin-bottom:8px}.ms-upload-card:hover svg{color:var(--ms-primary)}.ms-upload-card-title{font-size:14px;font-weight:600;color:var(--ms-text)}.ms-upload-card-sub{font-size:12px;color:var(--ms-text-tertiary);margin-top:4px}.ms-browse-btn{width:100%;height:38px;margin-top:12px;border-radius:var(--ms-radius);font-size:13px;font-weight:500;background:var(--ms-bg);color:var(--ms-primary);border:1px solid var(--ms-border);cursor:pointer;transition:var(--ms-transition)}.ms-browse-btn:hover{background:var(--ms-primary-light);border-color:var(--ms-primary)}.ms-canvas-wrapper{position:relative;border-radius:var(--ms-radius-lg);background:var(--ms-surface);box-shadow:var(--ms-shadow-lg);overflow:hidden;width:100%;height:100%}.ms-canvas-toolbar{position:absolute;top:0;left:0;right:0;height:40px;display:flex;align-items:center;justify-content:space-between;padding:0 8px;background:rgba(255,255,255,.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--ms-border-light);z-index:10;border-radius:var(--ms-radius-lg) var(--ms-radius-lg) 0 0}.ms-canvas-toolbar-group{display:flex;align-items:center;gap:2px}.ms-canvas-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:16px;position:relative}.ms-canvas{position:relative;overflow:hidden;background:white;box-shadow:0 0 0 1px rgba(0,0,0,.04);touch-action:none}.ms-canvas-layer{position:absolute;cursor:move}.ms-canvas-layer.selected{outline:2px solid var(--ms-primary);outline-offset:1px}.ms-canvas-layer:hover{outline:1px solid rgba(99,102,241,.3);outline-offset:1px}.ms-canvas-layer img,.ms-canvas-layer video{width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none}.ms-canvas-layer textarea{width:100%;height:100%;border:none;background:transparent;font-family:inherit;font-size:inherit;font-weight:inherit;color:inherit;text-align:inherit;resize:none;outline:none;overflow:hidden}.ms-handle{position:absolute;width:10px;height:10px;background:white;border:2px solid var(--ms-primary);border-radius:2px;z-index:5}.ms-handle-nw{top:-5px;left:-5px;cursor:nw-resize}.ms-handle-n{top:-5px;left:50%;margin-left:-5px;cursor:n-resize}.ms-handle-ne{top:-5px;right:-5px;cursor:ne-resize}.ms-handle-e{top:50%;margin-top:-5px;right:-5px;cursor:e-resize}.ms-handle-se{bottom:-5px;right:-5px;cursor:se-resize}.ms-handle-s{bottom:-5px;left:50%;margin-left:-5px;cursor:s-resize}.ms-handle-sw{bottom:-5px;left:-5px;cursor:sw-resize}.ms-handle-w{top:50%;margin-top:-5px;left:-5px;cursor:w-resize}.ms-rotate-handle{top:-24px;left:50%;margin-left:-5px;width:10px;height:10px;border-radius:50%;cursor:grab;z-index:5}.ms-rotate-handle,.ms-snap-guide{position:absolute;background:var(--ms-primary)}.ms-snap-guide{opacity:.5;pointer-events:none;z-index:9999}.ms-snap-guide-h{width:100%;height:1px}.ms-snap-guide-v{width:1px;height:100%}.ms-grid-overlay{display:none}.ms-drawing-canvas{position:absolute;inset:0;z-index:50;pointer-events:none}.ms-drawing-canvas.active{pointer-events:auto;cursor:crosshair}.ms-crop-overlay{position:absolute;inset:0;background:rgba(0,0,0,.5);z-index:60}.ms-crop-box{position:absolute;border:2px solid white;box-shadow:0 0 0 9999px rgba(0,0,0,.5);cursor:move}.ms-crop-handle{position:absolute;width:12px;height:12px;background:white;border:2px solid var(--ms-primary);border-radius:2px}.ms-zoom-controls{display:flex;align-items:center;gap:4px;padding:4px;background:var(--ms-surface);border:1px solid var(--ms-border);border-radius:var(--ms-radius);box-shadow:var(--ms-shadow-sm)}.ms-zoom-label{font-size:11px;font-weight:500;color:var(--ms-text-secondary);min-width:40px;text-align:center}.ms-snap-indicator{position:absolute;background:var(--ms-primary);pointer-events:none;z-index:9998}.ms-snap-indicator-x{width:100%;height:1px;left:0}.ms-snap-indicator-y{width:1px;height:100%;top:0}.ms-sticker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ms-sticker-card{aspect-ratio:1;border-radius:var(--ms-radius);background:var(--ms-bg);border:1px solid var(--ms-border-light);display:flex;align-items:center;justify-content:center;font-size:28px;cursor:pointer;transition:var(--ms-transition)}.ms-sticker-card:hover{transform:scale(1.05);border-color:var(--ms-primary);box-shadow:var(--ms-shadow-sm)}.ms-sticker-card img{width:100%;height:100%;object-fit:contain;padding:4px}.ms-font-card{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:var(--ms-radius);background:var(--ms-bg);border:1px solid var(--ms-border-light);cursor:pointer;transition:var(--ms-transition);margin-bottom:6px}.ms-font-card:hover{border-color:var(--ms-border);background:var(--ms-surface-hover)}.ms-font-card.active{border-color:var(--ms-primary);background:var(--ms-primary-light)}.ms-font-name{font-size:14px;font-weight:500;color:var(--ms-text)}.ms-font-preview{font-size:14px;color:var(--ms-text-secondary)}.ms-font-fav{width:28px;height:28px;border-radius:6px;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ms-text-tertiary);transition:var(--ms-transition)}.ms-font-fav.favorited,.ms-font-fav:hover{color:var(--ms-error)}.ms-props{padding:16px;overflow-y:auto;flex:1}.ms-props-section{margin-bottom:16px}.ms-props-section-title{font-size:11px;font-weight:600;color:var(--ms-text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.ms-props-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.ms-props-label{font-size:12px;color:var(--ms-text-secondary);min-width:60px;flex-shrink:0}.ms-props-input{flex:1;height:32px;padding:0 10px;background:var(--ms-bg);border:1px solid var(--ms-border);border-radius:var(--ms-radius-sm);font-size:12px;font-family:var(--ms-font);color:var(--ms-text);outline:none;transition:var(--ms-transition)}.ms-props-input:focus{border-color:var(--ms-border-focus);box-shadow:0 0 0 2px var(--ms-primary-bg)}.ms-props-input--sm{width:60px;flex:none}.ms-props-color{width:32px;height:32px;padding:2px;border:1px solid var(--ms-border);border-radius:var(--ms-radius-sm);cursor:pointer;background:none}.ms-props-color::-webkit-color-swatch-wrapper{padding:0}.ms-props-color::-webkit-color-swatch{border:none;border-radius:3px}.ms-props-slider{flex:1;height:4px;-webkit-appearance:none;appearance:none;background:var(--ms-border);border-radius:2px;outline:none}.ms-props-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--ms-primary);cursor:pointer;box-shadow:var(--ms-shadow-sm)}.ms-props-toggle{width:36px;height:20px;border-radius:10px;background:var(--ms-border);border:none;cursor:pointer;position:relative;transition:var(--ms-transition)}.ms-props-toggle.active{background:var(--ms-primary)}.ms-props-toggle:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:white;transition:var(--ms-transition);box-shadow:var(--ms-shadow-sm)}.ms-props-toggle.active:after{left:18px}.ms-layers-list{display:flex;flex-direction:column;gap:2px}.ms-layer-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--ms-radius-sm);cursor:pointer;transition:var(--ms-transition);font-size:12px}.ms-layer-item:hover{background:var(--ms-surface-hover)}.ms-layer-item.active{background:var(--ms-primary-light);color:var(--ms-primary)}.ms-layer-item.dragging{opacity:.5}.ms-layer-icon{width:20px;height:20px;border-radius:4px;background:var(--ms-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ms-layer-icon svg{width:12px;height:12px;color:var(--ms-text-secondary)}.ms-layer-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ms-layer-actions{display:flex;gap:2px;opacity:0;transition:var(--ms-transition)}.ms-layer-item:hover .ms-layer-actions{opacity:1}.ms-layer-action{width:22px;height:22px;border-radius:4px;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ms-text-tertiary);transition:var(--ms-transition)}.ms-layer-action:hover{background:var(--ms-surface-active);color:var(--ms-text)}.ms-layer-action svg{width:12px;height:12px}.ms-action-bar,.ms-bottom-bar{height:52px!important;min-height:52px!important;max-height:52px!important;background:var(--ms-surface,#ffffff);border-bottom:1px solid var(--ms-border,#e2e8f0);display:flex!important;align-items:center!important;justify-content:space-between!important;padding:0 16px!important;position:relative;z-index:50;gap:12px!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch}.ms-action-group,.ms-bottom-center,.ms-bottom-left,.ms-bottom-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.ms-action-group--end{margin-left:auto}.ms-action-divider{width:1px;height:22px;background:var(--ms-border);flex-shrink:0;margin:0 2px}.ms-action-btn,.ms-bottom-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:var(--ms-radius);font-size:12px;font-weight:500;font-family:var(--ms-font);border:1px solid var(--ms-border);background:var(--ms-bg);color:var(--ms-text-secondary);cursor:pointer;transition:var(--ms-transition);white-space:nowrap;user-select:none}.ms-action-btn:hover,.ms-bottom-btn:hover{background:var(--ms-surface-hover);color:var(--ms-text);border-color:var(--ms-text-tertiary);transform:translateY(-1px)}.ms-action-btn:active,.ms-bottom-btn:active{transform:translateY(0)}.ms-action-btn:disabled,.ms-bottom-btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.ms-action-btn svg,.ms-bottom-btn svg{width:14px;height:14px;flex-shrink:0}.ms-action-btn--danger:hover{color:var(--ms-error);border-color:rgba(239,68,68,.3);background:rgba(239,68,68,.06)}.ms-action-btn--primary,.ms-bottom-btn--primary{background:linear-gradient(135deg,#22c55e,#16a34a);color:#ffffff;border-color:#22c55e;font-weight:600;box-shadow:0 2px 4px rgba(34,197,94,.25)}.ms-action-btn--primary:hover,.ms-bottom-btn--primary:hover{background:linear-gradient(135deg,#16a34a,#15803d);color:#ffffff;border-color:#16a34a;box-shadow:0 4px 12px rgba(34,197,94,.35);transform:translateY(-1px)}.ms-fab-group{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:8px;z-index:200}.ms-fab{width:40px;height:40px;border-radius:50%;background:var(--ms-surface);border:1px solid var(--ms-border);box-shadow:var(--ms-shadow-md);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--ms-transition);color:var(--ms-text-secondary)}.ms-fab:hover{transform:translateY(-2px);box-shadow:var(--ms-shadow-lg);color:var(--ms-text);background:var(--ms-surface-hover)}.ms-fab svg{width:18px;height:18px}.ms-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:500;animation:msFadeIn .2s ease-out}.ms-modal{background:var(--ms-surface);border-radius:var(--ms-radius-lg);box-shadow:var(--ms-shadow-xl);width:90%;max-width:520px;max-height:90vh;overflow-y:auto;animation:msSlideUp .25s cubic-bezier(.16,1,.3,1)}.ms-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--ms-border-light)}.ms-modal-title{font-size:16px;font-weight:700}.ms-modal-close{width:32px;height:32px;border-radius:8px;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ms-text-tertiary);transition:var(--ms-transition)}.ms-modal-close:hover{background:var(--ms-surface-hover);color:var(--ms-text)}.ms-modal-body{padding:24px}.ms-format-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px}.ms-format-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border-radius:var(--ms-radius);border:1px solid var(--ms-border);background:var(--ms-bg);cursor:pointer;transition:var(--ms-transition);font-size:12px;font-weight:500;color:var(--ms-text-secondary)}.ms-format-card.active,.ms-format-card:hover{border-color:var(--ms-primary);background:var(--ms-primary-light);color:var(--ms-primary)}.ms-format-card svg{width:20px;height:20px}.ms-export-preview{width:100%;aspect-ratio:16/9;border-radius:var(--ms-radius);border:1px solid var(--ms-border);overflow:hidden;background:var(--ms-bg);margin-bottom:16px}.ms-export-preview img{width:100%;height:100%;object-fit:contain}.ms-community{padding:60px 0;background:var(--ms-bg)}.ms-community-header{text-align:center;margin-bottom:32px}.ms-community-title{font-size:24px;font-weight:700;color:var(--ms-text);margin-bottom:8px}.ms-community-sub{font-size:14px;color:var(--ms-text-secondary)}.ms-masonry{column-count:4;column-gap:16px;padding:0 12px;width:100%;margin:0}.ms-masonry-item{break-inside:avoid;margin-bottom:16px;border-radius:var(--ms-radius);overflow:hidden;background:var(--ms-surface);border:1px solid var(--ms-border-light);transition:var(--ms-transition);cursor:pointer}.ms-masonry-item:hover{transform:translateY(-3px);box-shadow:var(--ms-shadow-lg);border-color:var(--ms-border)}.ms-masonry-item img{width:100%;display:block}.ms-masonry-item-body{padding:12px}.ms-masonry-item-title{font-size:13px;font-weight:600;margin-bottom:6px}.ms-masonry-item-meta{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--ms-text-tertiary)}.ms-masonry-item-meta svg{width:12px;height:12px}.ms-faq{padding:60px 12px;width:100%;margin:0}.ms-faq-title{text-align:center;font-size:24px;font-weight:700;margin-bottom:32px}.ms-accordion{border-radius:var(--ms-radius);border:1px solid var(--ms-border);overflow:hidden;max-width:100%;background:var(--ms-surface)}.ms-accordion-item{border-bottom:1px solid var(--ms-border)}.ms-accordion-item:last-child{border-bottom:none}.ms-accordion-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:20px;background:transparent;border:none;cursor:pointer;font-size:14px;font-weight:600;font-family:var(--ms-font);color:var(--ms-text);text-align:left;transition:var(--ms-transition);outline:none}.ms-accordion-trigger:hover{background:var(--ms-surface-hover)}.ms-accordion-trigger svg{width:16px;height:16px;color:var(--ms-text-secondary);transition:var(--ms-transition)}.ms-accordion-content{padding:0 20px 20px;font-size:13px;color:var(--ms-text-secondary);line-height:1.7;background:var(--ms-surface)}.ms-features{padding:60px 24px;background:var(--ms-surface)}.ms-features-header{text-align:center;margin-bottom:40px}.ms-features-title{font-size:24px;font-weight:700;margin-bottom:8px}.ms-features-sub{font-size:14px;color:var(--ms-text-secondary)}.ms-features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;max-width:1000px;margin:0 auto}.ms-feature-card{padding:20px;border-radius:var(--ms-radius-md);background:var(--ms-bg);border:1px solid var(--ms-border-light);text-align:center;transition:var(--ms-transition)}.ms-feature-card:hover{transform:translateY(-2px);box-shadow:var(--ms-shadow-md);border-color:var(--ms-border)}.ms-feature-icon{width:40px;height:40px;border-radius:12px;background:var(--ms-primary-light);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;color:var(--ms-primary)}.ms-feature-icon svg{width:20px;height:20px}.ms-feature-name{font-size:14px;font-weight:600;margin-bottom:4px}.ms-feature-desc{font-size:12px;color:var(--ms-text-secondary);line-height:1.5}.ms-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);padding:10px 20px;border-radius:var(--ms-radius);background:var(--ms-text);color:var(--ms-text-inverse);font-size:13px;font-weight:500;box-shadow:var(--ms-shadow-lg);z-index:600;opacity:0;transition:var(--ms-transition-slow);pointer-events:none}.ms-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.ms-fullscreen{position:fixed;inset:0;background:#000;z-index:1000}.ms-fullscreen,.ms-fullscreen-close{display:flex;align-items:center;justify-content:center}.ms-fullscreen-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.1);border:none;cursor:pointer;color:white;transition:var(--ms-transition)}.ms-fullscreen-close:hover{background:rgba(255,255,255,.2)}.ms-shortcuts-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ms-shortcut-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;font-size:12px}.ms-shortcut-key{display:inline-flex;align-items:center;justify-content:center;height:24px;padding:0 8px;border-radius:4px;background:var(--ms-bg);border:1px solid var(--ms-border);font-family:var(--ms-font-mono);font-size:11px;color:var(--ms-text-secondary)}@keyframes msFadeIn{0%{opacity:0}to{opacity:1}}@keyframes msSlideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes msPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes msShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.ms-loading-skeleton{background:linear-gradient(90deg,var(--ms-bg) 25%,var(--ms-surface-hover) 50%,var(--ms-bg) 75%);background-size:200% 100%;animation:msShimmer 1.5s infinite;border-radius:var(--ms-radius)}@media (max-width:1200px){:root{--ms-sidebar-width:320px}}@media (max-width:1024px){.ms-workspace{flex-direction:column;height:auto;min-height:calc(100vh - var(--ms-nav-height) - var(--ms-bottom-bar-height))}.ms-sidebar{width:100%;border-left:none;border-top:1px solid var(--ms-border);max-height:50vh}.ms-canvas-area{padding:8px}.ms-navbar-center{position:static;transform:none}.ms-navbar{flex-wrap:wrap;gap:4px;height:auto;padding:8px 12px}.ms-masonry{column-count:3}}@media (max-width:768px){.ms-navbar{padding:6px 8px;gap:2px}.ms-navbar-btn-label{display:none}.ms-template-grid{grid-template-columns:1fr 1fr}.ms-masonry{column-count:2;padding:0 12px}.ms-action-bar,.ms-bottom-bar{flex-wrap:nowrap!important;height:52px!important;padding:0 12px!important;gap:8px!important}.ms-canvas-toolbar{height:36px}.ms-canvas-container{padding:44px 8px 8px}.ms-format-grid{grid-template-columns:repeat(3,1fr)}.ms-shortcuts-grid{grid-template-columns:1fr}.ms-features-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.ms-sidebar{max-height:40vh}.ms-template-grid{grid-template-columns:1fr 1fr;gap:6px}.ms-masonry{column-count:1}.ms-modal{width:95%;border-radius:var(--ms-radius-md)}.ms-community,.ms-faq,.ms-features{padding:40px 12px}.ms-fab-group{bottom:70px;right:12px}.ms-fab{width:36px;height:36px}.ms-fab svg{width:16px;height:16px}.ms-features-grid{grid-template-columns:1fr 1fr;gap:8px}.ms-feature-card{padding:14px}}.ms-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ms-flex-center{display:flex;align-items:center;justify-content:center}.ms-gap-2{gap:2px}.ms-gap-4{gap:4px}.ms-gap-6{gap:6px}.ms-gap-8{gap:8px}.ms-text-center{text-align:center}.ms-text-muted{color:var(--ms-text-secondary)}.ms-font-bold{font-weight:700}.ms-mb-8{margin-bottom:8px}.ms-mb-16{margin-bottom:16px}.ms-mt-8{margin-top:8px}.ms-mt-16{margin-top:16px}html[data-theme=dark] .studio-app{background-color:var(--background);color:var(--foreground)}html[data-theme=dark] .studio-properties,html[data-theme=dark] .studio-sidebar,html[data-theme=dark] .studio-topbar{background-color:var(--card);border-color:var(--border)}html[data-theme=dark] .studio-canvas-container{background-color:var(--surface-soft)}html[data-theme=dark] .studio-sidebar button,html[data-theme=dark] .tool-btn{color:var(--muted-foreground)}html[data-theme=dark] .studio-sidebar button:hover,html[data-theme=dark] .tool-btn:hover{background-color:var(--surface-soft);color:var(--foreground)}html[data-theme=dark] .studio-sidebar button.active,html[data-theme=dark] .tool-btn.active{background-color:var(--primary-soft);color:var(--primary)}html[data-theme=dark] .prop-group label{color:var(--muted-foreground)}html[data-theme=dark] .prop-input,html[data-theme=dark] .prop-select{background-color:var(--surface);border-color:var(--border);color:var(--foreground)}html[data-theme=dark] .layer-item{background-color:var(--surface);border-color:var(--border)}html[data-theme=dark] .layer-item:hover{background-color:var(--surface-soft)}html[data-theme=dark] .layer-item.active{background-color:var(--primary-soft);border-color:var(--primary)}html[data-theme=dark] .element-item,html[data-theme=dark] .template-item{background-color:var(--surface);border-color:var(--border)}html[data-theme=dark] .element-item:hover,html[data-theme=dark] .template-item:hover{border-color:var(--primary)}html[data-theme=dark]:has(.meme-studio){--ms-bg:var(--background);--ms-surface:var(--card);--ms-surface-hover:var(--surface-soft);--ms-surface-active:var(--surface);--ms-border:var(--border);--ms-border-light:var(--border);--ms-text:var(--foreground);--ms-text-secondary:var(--muted-foreground);--ms-text-tertiary:#64748b;--ms-text-inverse:#000000;--ms-shadow-sm:0 1px 2px rgba(0,0,0,0.5);--ms-shadow:0 1px 3px rgba(0,0,0,0.6);--ms-shadow-md:0 4px 6px -1px rgba(0,0,0,0.6)}html[data-theme=dark] .ms-tab.active{background:var(--ms-surface-hover);color:var(--ms-text)}html[data-theme=dark] .ms-community-card{background:var(--ms-surface);border-color:var(--ms-border)}