.app{min-height:100vh;display:flex;flex-direction:column}.app-footer{display:flex;justify-content:center;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--header-bg);border-top:1px solid var(--border-color);font-size:.85rem;color:var(--text-muted);flex-wrap:wrap}.app-footer a{color:#fadfdf;text-decoration:none;transition:opacity .2s}.app-footer a:hover{color:#fff;opacity:.8;text-decoration:underline}.footer-divider{color:var(--border-color)}.app-header{display:flex;justify-content:space-between;align-items:center;padding:.2rem 1.2rem;background:linear-gradient(90deg,var(--header-bg) 0%,var(--header-gradient-end) 100%);border-bottom:1px solid var(--border-color)}.app-header h1{margin:0;font-size:1.5rem}.app-logo{height:90px;width:auto;cursor:pointer;transition:transform .2s}.app-logo:hover{transform:scale(1.05)}.rickroll-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;justify-content:center;align-items:center;z-index:9999}.rickroll-content{position:relative;background:var(--card-bg, #2a2a2a);padding:1.5rem;border-radius:12px;text-align:center;max-width:90%;box-shadow:0 8px 32px #00000080}.rickroll-close{position:absolute;top:.5rem;right:.75rem;background:none;border:none;color:var(--text-color, #fff);font-size:1.75rem;cursor:pointer;line-height:1;opacity:.7;transition:opacity .2s}.rickroll-close:hover{opacity:1}.rickroll-message{margin:0 0 1rem;font-size:1.25rem;color:var(--text-color, #fff)}.rickroll-subtitle{margin:1rem 0 0;font-size:.9rem;color:var(--text-muted, #888)}.rickroll-content video{border-radius:8px;max-width:100%}.header-right{display:flex;align-items:center;gap:1rem}.header-actions{display:flex;gap:.75rem}.import-btn,.export-btn,.sample-btn{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s}.import-btn,.sample-btn{background:var(--card-bg);color:var(--text-color)}.import-btn:hover,.sample-btn:hover{background:var(--border-color)}.export-btn{background:var(--success-color);color:#fff}.export-btn:hover{background:#219150}.theme-selector{display:flex;align-items:center;gap:.5rem}.theme-selector label{font-size:1.1rem}.theme-selector select{padding:.4rem .6rem;border:1px solid var(--border-color);border-radius:4px;background:var(--input-bg);color:var(--text-color);font-size:.85rem;cursor:pointer}.theme-selector select:hover{border-color:var(--primary-color)}.theme-selector select:focus{outline:none;border-color:var(--primary-color)}.language-selector{position:relative;display:flex;align-items:center}.language-flag-button{background:transparent;border:none;cursor:pointer;padding:.4rem;border-radius:4px;font-size:1.4rem;line-height:1;transition:background-color .2s}.language-flag-button:hover{background:var(--hover-bg)}.language-flag-button .flag{display:block}.language-panel{position:absolute;top:100%;right:0;margin-top:.25rem;background:var(--panel-bg);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:140px;padding:.25rem}.language-option{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;border:none;background:transparent;cursor:pointer;border-radius:4px;font-size:.9rem;color:var(--text-color);transition:background-color .15s}.language-option:hover{background:var(--hover-bg)}.language-option.active{background:var(--primary-color);color:#fff}.language-option .flag{font-size:1.2rem}.language-option .label{white-space:nowrap}.app-content{display:flex;flex:1;overflow:hidden}.sidebar{width:320px;background:var(--panel-bg);border-right:1px solid var(--border-color);display:flex;flex-direction:row;position:relative;transition:width .3s ease,min-width .3s ease}.sidebar-content{flex:1;overflow-y:auto;display:flex;flex-direction:column;min-width:0}.sidebar.collapsed{width:28px;min-width:28px}.sidebar.collapsed .sidebar-content{display:none}.sidebar-toggle{position:absolute;right:0;top:0;width:28px;background:var(--card-bg);border:none;border-left:1px solid var(--border-color);color:var(--text-color);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem 0;transition:background-color .2s}.sidebar-toggle:hover{background:var(--border-color)}.sidebar-toggle .toggle-icon{font-size:.75rem;line-height:1}.sidebar-toggle .toggle-text{writing-mode:vertical-rl;text-orientation:mixed;font-size:.75rem;font-weight:500;letter-spacing:.05em}.sidebar.collapsed .sidebar-toggle{border-left:none}.main-panel{flex:1;overflow-y:auto;padding:1.5rem;background:linear-gradient(135deg,var(--panel-bg) 0%,var(--panel-gradient-end) 100%)}.deck-editor{padding:1rem;border-bottom:1px solid var(--border-color)}.deck-editor h2{margin:0 0 1rem;font-size:1.1rem;color:var(--primary-color)}.form-group{margin-bottom:.75rem}.form-group label{display:block;margin-bottom:.25rem;font-size:.8rem;color:var(--text-muted);font-weight:500}.form-group input[type=text],.form-group input[type=number],.form-group select,.form-group textarea{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background:var(--input-bg);color:var(--text-color)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color)}.form-group textarea{resize:vertical;min-height:60px}.form-row{display:flex;gap:.75rem}.form-row .form-group{flex:1}.card-list{flex:1;padding:1rem;overflow-y:auto}.card-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.card-list-header h2{margin:0;font-size:1.1rem;color:var(--primary-color)}.add-card-btn{padding:.4rem .75rem;border:none;border-radius:4px;background:var(--primary-color);color:#fff;font-size:.8rem;font-weight:500}.add-card-btn:hover{background:var(--primary-hover)}.card-list-items{list-style:none;margin:0;padding:0}.card-list-item{display:flex;align-items:center;margin-bottom:.5rem;border-radius:6px;overflow:hidden;background:var(--card-bg);transition:background-color .2s}.card-list-item:hover{background:var(--border-color)}.card-list-item.selected{background:var(--primary-color)}.card-select-btn{flex:1;display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;border:none;background:transparent;color:var(--text-color);text-align:left;font-size:.9rem}.card-number{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#ffffff1a;font-size:.75rem;font-weight:600}.card-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}.card-has-image{font-size:.8rem}.card-delete-btn{padding:.5rem .75rem;border:none;background:transparent;color:var(--text-muted);font-size:1.2rem;line-height:1}.card-delete-btn:hover{color:var(--danger-color)}.empty-list{color:var(--text-muted);font-size:.85rem;text-align:center;padding:1rem}.editor-layout{display:grid;grid-template-columns:minmax(auto,800px) minmax(auto,600px);gap:1.5rem;min-height:calc(100vh - 100px);justify-content:start}.editor-section,.preview-section{background:var(--panel-bg);border-radius:14px;overflow:hidden}.editor-section{position:relative}.back-to-top-container{position:sticky;bottom:-24px;display:flex;justify-content:flex-end;padding:.75rem 0;pointer-events:none}.back-to-top-btn{width:40px;height:40px;border-radius:50%;background:var(--primary-color);color:#fff;border:none;font-size:1.2rem;cursor:pointer;box-shadow:0 2px 8px #0003;transition:all .2s;pointer-events:auto}.back-to-top-btn:hover{background:var(--primary-hover);transform:scale(1.1)}.no-selection{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);text-align:center}.card-editor{padding:1rem;overflow-y:auto;max-height:calc(100vh - 130px)}.card-editor h3{margin:0 0 1rem;font-size:1.1rem;color:var(--primary-color)}.image-input{display:flex;gap:.5rem}.image-input input{flex:1}.image-input-toggle{display:flex;gap:.25rem;margin-bottom:.5rem}.image-input-toggle .toggle-btn{padding:.25rem .75rem;border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-muted);font-size:.8rem;cursor:pointer;transition:all .2s}.image-input-toggle .toggle-btn:first-child{border-radius:8px}.image-input-toggle .toggle-btn:last-child{border-radius:8px}.image-input-toggle .toggle-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.image-input-toggle .toggle-btn:hover:not(.active){background:var(--border-color)}.upload-btn{padding:.5rem .75rem;border:none;border-radius:4px;background:var(--card-bg);color:var(--text-color);font-size:.85rem;cursor:pointer;white-space:nowrap}.upload-btn:hover{background:var(--border-color)}.text-sections{margin-top:1.5rem}.text-sections-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.text-sections-header h4{margin:0;font-size:1rem;color:var(--primary-color)}.clear-all-link{margin-left:.75rem;font-size:.75rem;font-weight:400;color:var(--text-muted);text-decoration:none}.clear-all-link:hover{color:var(--danger-color);text-decoration:underline}.add-section-btn{padding:.35rem .6rem;border:none;border-radius:4px;background:var(--primary-color);color:#fff;font-size:.8rem;font-weight:500}.add-section-btn:hover{background:var(--primary-hover)}.empty-sections{color:var(--text-muted);font-size:.85rem;text-align:center;padding:1rem;background:var(--card-bg);border-radius:6px}.text-section-editor{margin-bottom:.75rem;border:1px solid var(--border-color);border-radius:6px;overflow:hidden;transition:border-color .2s,box-shadow .2s}.text-section-editor.focused{border-color:var(--primary-color);box-shadow:0 0 0 2px #4f8bff40}.section-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--card-bg)}.expand-btn{padding:.2rem .4rem;border:none;background:transparent;color:var(--text-muted);font-size:.7rem}.section-label{font-weight:600;font-size:.85rem}.section-preview{flex:1;color:var(--text-muted);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-section-btn,.delete-section-btn{padding:.2rem .5rem;border:none;background:transparent;color:var(--text-muted);font-size:1.2rem;line-height:1}.copy-section-btn:hover{color:var(--primary-color)}.delete-section-btn:hover{color:var(--danger-color)}.section-content{padding:.75rem;background:#0003}.position-fieldset,.color-fieldset{border:1px solid var(--border-color);border-radius:6px;padding:.75rem;margin:.75rem 0 0}.position-fieldset legend,.color-fieldset legend{padding:0 .5rem;font-size:.8rem;color:var(--text-muted)}.position-controls{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.position-controls .form-group.small input[type=number]{width:70px;margin-right:.5rem}.position-controls .form-group.small input[type=range]{flex:1;margin-top:.25rem}.color-controls{display:flex;flex-direction:column;gap:.75rem}.form-group.color-input{flex:1}.color-picker-wrapper{display:flex;gap:.5rem;align-items:center}.color-picker-wrapper input[type=color]{width:40px;height:32px;padding:0;border:1px solid var(--border-color);border-radius:4px;cursor:pointer}.color-picker-wrapper input[type=text]{flex:1}.color-picker-wrapper .clear-color-btn{background:var(--danger-color);color:#fff;border:none;border-radius:4px;width:24px;height:24px;cursor:pointer;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center}.color-picker-wrapper .clear-color-btn:hover{background:var(--danger-hover)}.form-group label .hint{font-size:.75rem;color:var(--text-muted);font-weight:400}.form-group.checkbox-input{margin-top:.5rem}.form-group.checkbox-input .checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400}.form-group.checkbox-input input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary-color)}.card-preview{padding:1rem;height:100%;display:flex;flex-direction:column}.preview-header{display:flex;justify-content:flex-end;align-items:center;margin-bottom:.75rem}.preview-header h3{margin:0;font-size:1.1rem;color:var(--primary-color)}.translation-toggle{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-muted);cursor:pointer}.translation-toggle input{cursor:pointer}.watermark-toggle{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-muted);cursor:pointer;padding:.4rem .75rem;border-radius:4px}.watermark-toggle input{cursor:pointer}.preview-controls{display:flex;align-items:center;gap:1rem}.save-png-btn{padding:.4rem .75rem;border:none;border-radius:4px;background:var(--success-color);color:#fff;font-size:.85rem;font-weight:500;cursor:pointer;transition:background-color .2s}.save-png-btn:hover{background:#219150}.save-combined-btn{background:#6366f1}.save-combined-btn:hover{background:#4f46e5}.orientation-picker-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.orientation-picker-modal{position:relative;background:var(--card-bg);border-radius:12px;padding:2rem 1.5rem 1.5rem;min-width:280px;max-width:90vw;box-shadow:0 8px 32px #0000004d}.orientation-picker-close{position:absolute;top:.5rem;right:.5rem;background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;padding:0;line-height:1;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color .2s}.orientation-picker-close:hover{color:var(--danger-color)}.orientation-picker-modal h4{margin:0 0 .5rem;font-size:1.2rem;color:var(--text-color)}.orientation-picker-modal p{margin:0 0 1rem;font-size:.9rem;color:var(--text-muted)}.orientation-picker-buttons{display:flex;gap:1rem;margin-bottom:1rem}.orientation-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;border:2px solid var(--border-color);border-radius:8px;background:var(--card-bg);color:var(--text-color);cursor:pointer;transition:all .2s}.orientation-btn:hover,.orientation-btn:focus{border-color:#6366f1;background:#6366f11a}.orientation-icon{font-size:1.5rem;line-height:1}.orientation-cancel{width:100%;padding:.5rem;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.85rem}.orientation-cancel:hover{background:var(--hover-bg);color:var(--text-color)}.preview-container{position:relative;background:var(--card-bg);border-radius:8px;overflow:hidden;display:flex;align-items:flex-start;justify-content:center}.preview-container canvas{border-radius:4px}.preview-bottom-controls{display:flex;align-items:center;justify-content:flex-end;gap:1rem;padding:.5rem 0}.add-text-overlay-btn{padding:.5rem 1rem;background:#2563ebe6;color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .2s,transform .1s}.add-text-overlay-btn:hover{background:#2563eb;transform:translateY(-1px)}.add-text-overlay-btn:active{transform:translateY(0)}.rotate-handle{position:absolute;width:28px;height:28px;background:#2563ebe6;color:#fff;border:2px solid white;border-radius:50%;font-size:16px;line-height:1;cursor:grab;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0000004d;transform:translate(-50%,-50%);transition:background .15s,transform .15s;-webkit-user-select:none;user-select:none;touch-action:none;z-index:10}.rotate-handle:hover{background:#2563eb;transform:translate(-50%,-50%) scale(1.1)}.rotate-handle.rotating{cursor:grabbing;background:#164ec7;transform:translate(-50%,-50%) scale(1.15)}.resize-handle{position:absolute;width:24px;height:24px;background:#2563ebe6;color:#fff;border:2px solid white;border-radius:4px;font-size:10px;line-height:1;cursor:nwse-resize;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0000004d;transform:translate(-50%,-50%);transition:background .15s,transform .15s;-webkit-user-select:none;user-select:none;touch-action:none;z-index:10;padding:0}.resize-handle .resize-icon{font-size:12px;line-height:1;margin:-2px}.resize-handle .resize-icon.flip{transform:rotate(180deg)}.resize-handle:hover{background:#2563eb;transform:translate(-50%,-50%) scale(1.1)}.resize-handle.resizing{cursor:nwse-resize;background:#164ec7;transform:translate(-50%,-50%) scale(1.15)}.crop-toggle{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-muted);cursor:pointer}.crop-toggle input{cursor:pointer}.canvas-size-control{position:relative}.canvas-size-btn{background:var(--bg-secondary);color:var(--text-color);border:1px solid var(--border-color);padding:.35rem .6rem;border-radius:4px;font-size:.8rem;cursor:pointer;transition:all .2s}.canvas-size-btn:hover{background:var(--bg-tertiary);border-color:var(--primary-color)}.canvas-size-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.canvas-size-panel{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:.5rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:2rem 1rem 1rem;min-width:250px;z-index:100;box-shadow:0 4px 12px #0000004d}.canvas-size-panel-close{position:absolute;top:.25rem;right:.25rem;background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;padding:0;line-height:1;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color .2s}.canvas-size-panel-close:hover{color:var(--danger-color)}.canvas-size-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.canvas-size-row:last-of-type{margin-bottom:.5rem}.canvas-size-row label{font-size:.85rem;color:var(--text-muted);min-width:80px}.canvas-size-row input[type=range]{flex:1;cursor:pointer}.canvas-size-value{font-size:.8rem;color:var(--text-color);min-width:45px;text-align:right}.canvas-size-reset{width:100%;margin-top:.5rem;padding:.4rem;background:var(--bg-secondary);color:var(--text-muted);border:1px solid var(--border-color);border-radius:4px;font-size:.8rem;cursor:pointer;transition:all .2s}.canvas-size-reset:hover{background:var(--bg-tertiary);color:var(--text-color)}.crop-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:15}.crop-mask{position:absolute;background:#00000080;pointer-events:none}.crop-mask-top{top:0;left:0;right:0}.crop-mask-bottom{bottom:0;left:0;right:0}.crop-mask-left{left:0}.crop-mask-right{right:0}.crop-frame{position:absolute;border:2px dashed rgba(255,255,255,.9);box-shadow:0 0 0 1px #00000080;pointer-events:none}.crop-handle{position:absolute;background:#fffffff2;border:2px solid rgba(37,99,235,.9);pointer-events:auto;touch-action:none;z-index:20}.crop-handle-corner{width:16px;height:16px;border-radius:2px}.crop-handle-top-left{top:-8px;left:-8px;cursor:nwse-resize}.crop-handle-top-right{top:-8px;right:-8px;cursor:nesw-resize}.crop-handle-bottom-left{bottom:-8px;left:-8px;cursor:nesw-resize}.crop-handle-bottom-right{bottom:-8px;right:-8px;cursor:nwse-resize}.crop-handle-edge{background:#ffffffd9}.crop-handle-top,.crop-handle-bottom{height:8px;width:40px;left:50%;transform:translate(-50%);cursor:ns-resize;border-radius:4px}.crop-handle-top{top:-4px}.crop-handle-bottom{bottom:-4px}.crop-handle-left,.crop-handle-right{width:8px;height:40px;top:50%;transform:translateY(-50%);cursor:ew-resize;border-radius:4px}.crop-handle-left{left:-4px}.crop-handle-right{right:-4px}.crop-handle:hover{background:#2563eb4d;border-color:#2563eb}.preview-image{width:100%;height:100%;object-fit:contain;display:block}.preview-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);text-align:center}.preview-placeholder span{font-size:3rem;margin-bottom:.5rem}.preview-placeholder p{margin:.25rem 0}.placeholder-hint{font-size:.8rem;opacity:.7}.bubble{position:absolute;padding:.5rem .75rem;border-radius:12px;text-align:center;max-width:90%;word-wrap:break-word;-webkit-user-select:none;user-select:none}.bubble-speech{border:2px solid #333;border-radius:18px}.bubble-thought{border:2px solid #333;border-radius:50%}.bubble-shout{border:3px solid #e74c3c;border-radius:8px;font-weight:700}.bubble-whisper{border:2px dashed #666;border-radius:18px;font-style:italic}.bubble-caption{background:#000000b3!important;color:#fff!important;border-radius:4px}.bubble-none{background:transparent!important;border:none}.bubble-text{display:block}.bubble-tail{position:absolute;pointer-events:none}.bubble-tail-speech{width:0;height:0;border-style:solid}.bubble-tail-speech.bubble-tail-bottom{bottom:-12px;left:50%;transform:translate(-50%);border-width:12px 8px 0 8px;border-color:#ffffff transparent transparent transparent}.bubble-tail-speech.bubble-tail-top{top:-12px;left:50%;transform:translate(-50%);border-width:0 8px 12px 8px;border-color:transparent transparent #ffffff transparent}.bubble-tail-speech.bubble-tail-left{left:-12px;top:50%;transform:translateY(-50%);border-width:8px 12px 8px 0;border-color:transparent #ffffff transparent transparent}.bubble-tail-speech.bubble-tail-right{right:-12px;top:50%;transform:translateY(-50%);border-width:8px 0 8px 12px;border-color:transparent transparent transparent #ffffff}.bubble-tail-speech.bubble-tail-center{bottom:-12px;left:50%;transform:translate(-50%);border-width:12px 8px 0 8px;border-color:#ffffff transparent transparent transparent}.bubble-tail-speech.bubble-tail-bottom-left{bottom:-12px;left:20%;transform:translate(-50%);border-width:12px 8px 0 8px;border-color:#ffffff transparent transparent transparent}.bubble-tail-speech.bubble-tail-bottom-right{bottom:-12px;right:20%;left:auto;transform:translate(50%);border-width:12px 8px 0 8px;border-color:#ffffff transparent transparent transparent}.bubble-tail-speech.bubble-tail-top-left{top:-12px;left:20%;transform:translate(-50%);border-width:0 8px 12px 8px;border-color:transparent transparent #ffffff transparent}.bubble-tail-speech.bubble-tail-top-right{top:-12px;right:20%;left:auto;transform:translate(50%);border-width:0 8px 12px 8px;border-color:transparent transparent #ffffff transparent}.bubble-tail-thought{border-radius:50%}.bubble-tail-thought:before,.bubble-tail-thought:after{content:"";position:absolute;background:inherit;border-radius:50%}.bubble-tail-thought.bubble-tail-bottom{width:10px;height:10px;bottom:-14px;left:50%;transform:translate(-50%)}.bubble-tail-thought.bubble-tail-bottom:before{width:7px;height:7px;bottom:-10px;left:50%;transform:translate(-50%)}.bubble-tail-thought.bubble-tail-bottom:after{width:5px;height:5px;bottom:-18px;left:50%;transform:translate(-50%)}.bubble-tail-thought.bubble-tail-top{width:10px;height:10px;top:-14px;left:50%;transform:translate(-50%)}.bubble-tail-thought.bubble-tail-top:before{width:7px;height:7px;top:-10px;left:50%;transform:translate(-50%)}.bubble-tail-thought.bubble-tail-top:after{width:5px;height:5px;top:-18px;left:50%;transform:translate(-50%)}.bubble-tail-thought.bubble-tail-left{width:10px;height:10px;left:-14px;top:50%;transform:translateY(-50%)}.bubble-tail-thought.bubble-tail-left:before{width:7px;height:7px;left:-10px;top:50%;transform:translateY(-50%)}.bubble-tail-thought.bubble-tail-left:after{width:5px;height:5px;left:-18px;top:50%;transform:translateY(-50%)}.bubble-tail-thought.bubble-tail-right{width:10px;height:10px;right:-14px;top:50%;transform:translateY(-50%)}.bubble-tail-thought.bubble-tail-right:before{width:7px;height:7px;right:-10px;top:50%;transform:translateY(-50%)}.bubble-tail-thought.bubble-tail-right:after{width:5px;height:5px;right:-18px;top:50%;transform:translateY(-50%)}.bubble-tail-thought.bubble-tail-center{width:10px;height:10px;bottom:-14px;left:50%;transform:translate(-50%)}.bubble-tail-thought.bubble-tail-center:before{width:7px;height:7px;bottom:-10px;left:50%;transform:translate(-50%)}.bubble-tail-thought.bubble-tail-center:after{width:5px;height:5px;bottom:-18px;left:50%;transform:translate(-50%)}.bubble-tail-thought.bubble-tail-bottom-left{width:10px;height:10px;bottom:-14px;left:20%;transform:translate(-50%)}.bubble-tail-thought.bubble-tail-bottom-left:before{width:7px;height:7px;bottom:-10px;left:50%;transform:translate(-50%)}.bubble-tail-thought.bubble-tail-bottom-left:after{width:5px;height:5px;bottom:-18px;left:50%;transform:translate(-50%)}.bubble-tail-thought.bubble-tail-bottom-right{width:10px;height:10px;bottom:-14px;right:20%;left:auto;transform:translate(50%)}.bubble-tail-thought.bubble-tail-bottom-right:before{width:7px;height:7px;bottom:-10px;left:50%;transform:translate(-50%)}.bubble-tail-thought.bubble-tail-bottom-right:after{width:5px;height:5px;bottom:-18px;left:50%;transform:translate(-50%)}.bubble-tail-thought.bubble-tail-top-left{width:10px;height:10px;top:-14px;left:20%;transform:translate(-50%)}.bubble-tail-thought.bubble-tail-top-left:before{width:7px;height:7px;top:-10px;left:50%;transform:translate(-50%)}.bubble-tail-thought.bubble-tail-top-left:after{width:5px;height:5px;top:-18px;left:50%;transform:translate(-50%)}.bubble-tail-thought.bubble-tail-top-right{width:10px;height:10px;top:-14px;right:20%;left:auto;transform:translate(50%)}.bubble-tail-thought.bubble-tail-top-right:before{width:7px;height:7px;top:-10px;left:50%;transform:translate(-50%)}.bubble-tail-thought.bubble-tail-top-right:after{width:5px;height:5px;top:-18px;left:50%;transform:translate(-50%)}.preview-info{margin-top:.75rem;padding:.75rem;background:var(--card-bg);border-radius:6px;font-size:.8rem}.preview-info p{margin:.25rem 0}.preview-info strong{color:var(--text-muted)}.preview-info a{color:var(--primary-color);text-decoration:none;word-break:break-all}.preview-info a:hover{text-decoration:underline}.image-input-buttons-mobile,.image-input-buttons-mobile .btn-emoji{display:none}.image-input-buttons-desktop{display:block}@media (max-width: 1024px){.editor-layout{grid-template-columns:1fr}.sidebar{width:280px}.image-input-buttons-mobile{display:block}.image-input-buttons-desktop{display:none}}@media (max-width: 768px){.app-content{flex-direction:column}.sidebar{width:100%;max-height:300px;border-right:none;border-bottom:1px solid var(--border-color)}}.image-input-toggle .random-meme-btn{background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;margin-left:auto;font-weight:600;padding:.75rem 1.25rem;font-size:1rem;border-radius:8px;box-shadow:0 2px 8px #f59e0b66;transition:all .2s ease}.image-input-toggle .random-meme-btn:hover:not(:disabled){background:linear-gradient(135deg,#d97706,#dc2626);box-shadow:0 4px 12px #f59e0b80;transform:translateY(-1px)}.image-input-toggle .random-meme-btn:disabled{opacity:.7;cursor:not-allowed}.image-input-toggle .gallery-btn{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;font-weight:600;padding:.75rem 1.25rem;font-size:1rem;border-radius:8px;box-shadow:0 2px 8px #2563eb66;animation:gallery-pulse 2s ease-in-out infinite;transition:all .2s ease}.image-input-toggle .gallery-btn:hover{background:linear-gradient(135deg,#1d4ed8,#6d28d9);box-shadow:0 4px 12px #2563eb80;transform:translateY(-1px);animation:none}@keyframes gallery-pulse{0%,to{box-shadow:0 2px 8px #2563eb66}50%{box-shadow:0 2px 16px #7c3aed99}}.image-input-toggle .upload-image-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-weight:600;padding:.75rem 1.25rem;font-size:1rem;border-radius:8px;box-shadow:0 2px 8px #10b98166;transition:all .2s ease;cursor:pointer;margin-bottom:0}.image-input-toggle .upload-image-btn:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b98180;transform:translateY(-1px)}.gallery-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.gallery-modal{background:var(--panel-bg);border-radius:12px;width:100%;max-width:900px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000004d}.gallery-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color)}.gallery-modal-header h2{margin:0;font-size:1.25rem;color:var(--text-color)}.gallery-modal-close{background:none;border:none;font-size:1.75rem;color:var(--text-muted);cursor:pointer;padding:0;line-height:1;transition:color .2s}.gallery-modal-close:hover{color:var(--danger-color)}.gallery-modal-error{padding:.75rem 1.5rem;background:var(--danger-color);color:#fff;font-size:.9rem}.gallery-modal-filters{padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:.75rem}.gallery-search-input{width:100%;padding:.6rem 1rem;border:1px solid var(--border-color);border-radius:6px;background:var(--input-bg);color:var(--text-color);font-size:.95rem}.gallery-search-input:focus{outline:none;border-color:var(--primary-color)}.gallery-search-input::placeholder{color:var(--text-muted)}.gallery-category-filters{display:flex;flex-wrap:wrap;gap:.5rem}.gallery-category-btn{padding:.35rem .75rem;border:1px solid var(--border-color);border-radius:20px;background:transparent;color:var(--text-muted);font-size:.8rem;cursor:pointer;transition:all .2s}.gallery-category-btn:hover{border-color:var(--primary-color);color:var(--text-color)}.gallery-category-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.gallery-no-results{grid-column:1 / -1;text-align:center;padding:2rem;color:var(--text-muted);font-size:.95rem}.gallery-modal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-auto-rows:min-content;gap:1rem;padding:1.5rem;overflow-y:auto;flex:1;min-height:0}.gallery-item{position:relative;background:var(--card-bg);border:2px solid var(--border-color);border-radius:8px;padding:0;cursor:pointer;overflow:hidden;transition:all .2s;display:flex;flex-direction:column}.gallery-item:hover:not(:disabled){border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.gallery-item:disabled{opacity:.7;cursor:not-allowed}.gallery-item img{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block}.gallery-item-name{padding:.5rem;font-size:.85rem;color:var(--text-color);text-align:center;background:var(--panel-bg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-item-loading{position:absolute;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.9rem}@media (max-width: 600px){.header-actions{display:none}.gallery-modal-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.preview-header{flex-wrap:wrap;gap:.5rem}.preview-controls{flex-wrap:wrap;gap:.5rem;width:100%;justify-content:flex-start}.canvas-size-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin-top:0;min-width:auto;width:calc(100vw - 2rem);max-width:250px}}.drawing-toolbar{position:fixed;z-index:1001;background:var(--panel-bg);border:2px solid var(--primary-color);border-radius:16px;box-shadow:0 12px 48px #00000080,0 0 0 1px #ffffff1a;min-width:220px;cursor:move;-webkit-user-select:none;user-select:none;animation:toolbar-appear .2s ease-out}@keyframes toolbar-appear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.toolbar-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border-color);background:var(--card-bg);border-radius:14px 14px 0 0;touch-action:none;cursor:grab}.toolbar-header:active{cursor:grabbing}.toolbar-title{font-weight:600;font-size:1rem;color:var(--text-color)}.toolbar-close{background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;padding:0;line-height:1;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.toolbar-close:hover{color:#fff;background:var(--danger-color)}.toolbar-content{padding:1rem;cursor:default}.toolbar-section{margin-bottom:1rem}.toolbar-section:last-child{margin-bottom:0}.toolbar-label{display:block;font-size:.8rem;color:var(--text-muted);margin-bottom:.5rem;font-weight:500}.tool-buttons{display:flex;gap:.5rem}.tool-btn{padding:.6rem 1rem;border:2px solid var(--border-color);border-radius:8px;background:var(--input-bg);font-size:1.1rem;cursor:pointer;transition:all .2s;flex:1;display:flex;align-items:center;justify-content:center;gap:.35rem;color:var(--text-color)}.tool-btn:hover{background:var(--border-color);border-color:var(--text-muted)}.tool-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.color-presets{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.65rem}.color-preset{width:28px;height:28px;border:2px solid var(--border-color);border-radius:6px;cursor:pointer;transition:transform .1s,box-shadow .1s}.color-preset:hover{transform:scale(1.15)}.color-preset.active{border-color:#fff;box-shadow:0 0 0 2px var(--primary-color)}.color-custom{width:100%;height:36px;border:2px solid var(--border-color);border-radius:6px;cursor:pointer}.width-slider{width:100%;cursor:pointer;height:6px}.toolbar-actions{display:flex;gap:.65rem}.action-btn{flex:1;padding:.5rem .65rem;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.undo-btn{background:var(--card-bg);color:var(--text-color);border:1px solid var(--border-color)}.undo-btn:hover:not(:disabled){background:var(--border-color)}.undo-btn:disabled{opacity:.5;cursor:not-allowed}.clear-btn{background:var(--danger-color);color:#fff}.clear-btn:hover{background:var(--danger-hover)}.section-buttons{display:flex;gap:.35rem}.draw-btn.active{background:var(--success-color)}.draw-btn.active:hover{background:#219150}@media (max-width: 600px){.drawing-toolbar{min-width:180px;max-width:calc(100vw - 20px)}.toolbar-header{padding:.5rem .75rem}.toolbar-title{font-size:.9rem}.toolbar-content{padding:.75rem}.toolbar-section{margin-bottom:.75rem}.tool-btn{padding:.5rem .75rem;font-size:1rem}.color-presets{gap:.25rem}.color-preset{width:24px;height:24px}}.dropin-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.dropin-modal{background:var(--panel-bg);border-radius:12px;width:100%;max-width:600px;max-height:70vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000004d}.dropin-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color)}.dropin-modal-header h2{margin:0;font-size:1.25rem;color:var(--text-color)}.dropin-modal-close{background:none;border:none;font-size:1.75rem;color:var(--text-muted);cursor:pointer;padding:0;line-height:1;transition:color .2s}.dropin-modal-close:hover{color:var(--danger-color)}.dropin-upload-section{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;border-bottom:1px solid var(--border-color)}.dropin-upload-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.dropin-upload-btn:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0003}.dropin-upload-icon{font-size:1.25rem}.dropin-upload-hint{font-size:.75rem;color:var(--text-muted)}.dropin-modal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem;padding:1rem;overflow-y:auto;flex:1;min-height:0}.dropin-item{background:var(--card-bg);border:2px solid var(--border-color);border-radius:8px;padding:.5rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;aspect-ratio:1}.dropin-item:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.dropin-item img{max-width:100%;max-height:100%;object-fit:contain}.dropin-controls{display:flex;gap:4px;z-index:20}.dropin-control-btn{background:var(--panel-bg);border:1px solid var(--border-color);border-radius:4px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;transition:all .2s}.dropin-control-btn:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.dropin-delete-btn:hover{background:var(--danger-color);border-color:var(--danger-color)}.dropin-rotate-handle,.dropin-resize-handle{z-index:15}@font-face{font-family:Action Man;src:url(../fonts/action_man/action_man.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:Action Man;src:url(../fonts/action_man/action_man_bold.woff) format("woff");font-weight:700;font-style:normal}@font-face{font-family:Action Man;src:url(../fonts/action_man/action_man_italic.woff) format("woff");font-weight:400;font-style:italic}@font-face{font-family:Action Man;src:url(../fonts/action_man/action_man_bold_italic.woff) format("woff");font-weight:700;font-style:italic}@font-face{font-family:SF Toontime;src:url(../fonts/sf_toontime/sf_toontime.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:SF Toontime;src:url(../fonts/sf_toontime/sf_toontime_bold.woff) format("woff");font-weight:700;font-style:normal}@font-face{font-family:SF Toontime;src:url(../fonts/sf_toontime/sf_toontime_italic.woff) format("woff");font-weight:400;font-style:italic}@font-face{font-family:SF Toontime;src:url(../fonts/sf_toontime/sf_toontime_bold_italic.woff) format("woff");font-weight:700;font-style:italic}@font-face{font-family:Architect;src:url(../fonts/architect/architect.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:Architect;src:url(../fonts/architect/architect_bold.woff) format("woff");font-weight:700;font-style:normal}@font-face{font-family:Architect;src:url(/fonts/architect/architect_jtalic.woff) format("woff");font-weight:400;font-style:italic}@font-face{font-family:Architect;src:url(../fonts/architect/architect_bold_italic.woff) format("woff");font-weight:700;font-style:italic}*{box-sizing:border-box}:root{--primary-color: #4a90d9;--primary-hover: #357abd;--danger-color: #e74c3c;--danger-hover: #c0392b;--success-color: #27ae60;--bg-color: #1a1a2e;--panel-bg: #16213e;--card-bg: #0f3460;--text-color: #eaeaea;--text-muted: #a0a0a0;--border-color: #2d4a6f;--input-bg: #1a2d4d}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background-color:var(--bg-color);color:var(--text-color);line-height:1.5}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:.9rem}
