.meme-editor-container{display:flex;flex-direction:column;gap:1.5rem;max-width:1200px;margin:0 auto}@media (min-width:992px){.meme-editor-container{flex-direction:row;align-items:flex-start}}.meme-preview-col{position:sticky;top:2rem}.meme-controls-col,.meme-preview-col{flex:1;display:flex;flex-direction:column;gap:1rem}.meme-controls-col{max-width:500px}@media (max-width:991px){.meme-controls-col{max-width:100%}.meme-preview-col{position:relative;top:0}}.meme-canvas-wrapper{background:repeating-conic-gradient(#e5e7eb 0 25%,#f9fafb 0 50%) 50% /20px 20px;border-radius:.75rem;overflow:hidden;position:relative;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);border:1px solid var(--border-color,#e5e7eb);display:flex;align-items:center;justify-content:center;min-height:300px;transition:transform .2s ease}.meme-render-area{position:relative;transform-origin:center center;user-select:none}.meme-base-image{display:block;max-width:100%;max-height:70vh;object-fit:contain;pointer-events:none}.meme-layer{position:absolute;cursor:grab;transform-origin:center center;white-space:pre-wrap;line-height:1.2}.meme-layer:active{cursor:grabbing}.meme-layer.selected{outline:2px dashed #3b82f6;outline-offset:4px}.meme-layer-sticker img{display:block;width:100%;height:100%;pointer-events:none}.layer-handle{position:absolute;width:12px;height:12px;background:var(--card-bg,#ffffff);border:2px solid #3b82f6;border-radius:50%;display:none}.meme-layer.selected .layer-handle{display:block}.handle-br{bottom:-8px;right:-8px;cursor:nwse-resize}.handle-rotate{top:-24px;left:50%;transform:translateX(-50%);cursor:crosshair}.meme-accordion{background:var(--card-bg,#ffffff);border-radius:.75rem;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06);overflow:hidden;border:1px solid var(--border-color,#e5e7eb);transition:border-color .3s ease,box-shadow .3s ease}.meme-accordion:hover{border-color:var(--primary,#3b82f6);box-shadow:0 0 0 1px var(--primary,#3b82f6)}.meme-accordion-header{padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;background:var(--card-bg,#ffffff);border-bottom:1px solid transparent;transition:background-color .15s ease}.meme-accordion-header:hover{background-color:var(--bg-secondary)}.meme-accordion-header.active{border-bottom-color:var(--border-color,#e5e7eb)}.meme-accordion-title{font-weight:600;display:flex;align-items:center;gap:.5rem}.meme-accordion-body{padding:1.25rem;background:var(--bg-secondary,#fafafa)}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem}.template-item{aspect-ratio:1;border-radius:.5rem;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all .2s ease}.template-item:hover{transform:scale(1.05);border-color:#3b82f6}.template-item img{width:100%;height:100%;object-fit:cover}.font-preview{font-size:1.1rem}.feature-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.feature-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .75rem;border-radius:9999px;background:var(--bg-secondary,#e5e7eb);color:var(--text-primary,#111827);font-size:.85rem;font-weight:500}.layer-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:var(--card-bg,#ffffff);border:1px solid var(--border-color,#e5e7eb);border-radius:.5rem;margin-bottom:.5rem;cursor:pointer;transition:border-color .15s}.layer-item.active{border-color:var(--accent,#3b82f6);background:color-mix(in srgb,var(--accent,#3b82f6) 10%,transparent)}.layer-item-actions{display:flex;gap:.25rem}.layer-item-actions button{background:none;border:none;padding:.25rem;cursor:pointer;border-radius:.25rem;color:var(--text-secondary)}.layer-item-actions button:hover{background:color-mix(in srgb,var(--text-primary) 10%,transparent);color:var(--text-primary)}.export-preview-info{display:flex;justify-content:space-between;margin-bottom:1rem;font-size:.9rem;color:var(--text-secondary)}.meme-toolbar{display:flex;gap:.5rem;justify-content:flex-end;margin-bottom:.5rem}.text-stroke-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}