@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;0,600;1,400&family=Space+Mono&display=swap";@import "https://fonts.googleapis.com/css2?family=Caveat:wght@400;700&family=Gloria+Hallelujah&family=Indie+Flower&family=Inter:wght@400;600;700&family=Klee+One:wght@400;600&family=Liu+Jian+Mao+Cao&family=Playfair+Display:wght@700;900&family=Rock+Salt&family=Space+Mono:wght@400;700&family=Yomogi&display=swap";:root{--bg-color:#0f1115;--panel-bg:#1a1d24;--text-primary:#fff;--text-secondary:#94a3b8;--accent-color:#3b82f6;--accent-hover:#2563eb;--border-color:#2d313a;--font-sans:"Inter", sans-serif;--font-serif:"Playfair Display", serif;--font-mono:"Space Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}button{cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit}input[type=text],input[type=file]{font-family:inherit}.app-container{flex-direction:column;height:100vh;display:flex;overflow:hidden}.header{background-color:var(--panel-bg);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;height:60px;padding:0 24px;display:flex}.header h1{letter-spacing:-.5px;align-items:center;gap:8px;font-size:1.2rem;font-weight:600;display:flex}.main-workspace{flex:1;display:flex;overflow:hidden}.canvas-area{background-color:var(--bg-color);flex:1;justify-content:center;align-items:center;padding:24px;display:flex;position:relative;overflow:auto}.canvas-wrapper{aspect-ratio:9/16;background-color:#000;border-radius:8px;max-width:100%;max-height:100%;transition:transform .2s;position:relative;overflow:hidden;box-shadow:0 20px 40px #0006}.canvas-wrapper canvas{object-fit:contain;width:100%;height:100%;display:block}.empty-state{width:100%;height:100%;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:absolute;top:0;left:0}.upload-btn-large{background-color:var(--accent-color);color:#fff;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-weight:500;transition:background-color .2s;display:flex}.upload-btn-large:hover{background-color:var(--accent-hover)}.controls-panel{background-color:var(--panel-bg);border-left:1px solid var(--border-color);flex-direction:column;width:360px;display:flex;overflow-y:auto}.control-section{border-bottom:1px solid var(--border-color);padding:20px 24px}.section-title{text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);align-items:center;gap:8px;margin-bottom:16px;font-size:.85rem;font-weight:600;display:flex}.filters-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.filter-btn{background-color:var(--bg-color);border:1px solid var(--border-color);color:var(--text-primary);border-radius:8px;flex-direction:column;align-items:center;gap:8px;padding:12px 8px;transition:all .2s;display:flex}.filter-btn:hover{border-color:var(--text-secondary)}.filter-btn.active{border-color:var(--accent-color);color:var(--accent-color);background-color:#3b82f61a}.filter-preview{background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);border-radius:50%;width:40px;height:40px}.filter-name{font-size:.75rem;font-weight:500}.form-group{margin-bottom:16px}.form-group:last-child{margin-bottom:0}.form-label{color:var(--text-secondary);margin-bottom:8px;font-size:.85rem;display:block}.text-input,.select-input{background-color:var(--bg-color);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:6px;padding:10px 12px;font-size:.9rem;transition:border-color .2s}.text-input:focus,.select-input:focus{border-color:var(--accent-color);outline:none}.range-slider{width:100%;accent-color:var(--accent-color)}.color-picker-wrapper{align-items:center;gap:12px;display:flex}.color-input{cursor:pointer;background:0 0;border:none;border-radius:4px;width:32px;height:32px;padding:0}.color-input::-webkit-color-swatch-wrapper{padding:0}.color-input::-webkit-color-swatch{border:1px solid var(--border-color);border-radius:4px}.header-actions{align-items:center;gap:12px;display:flex}.action-btn{background-color:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:6px;align-items:center;gap:8px;padding:10px 20px;font-weight:500;transition:background-color .2s;display:flex}.action-btn:hover{background-color:var(--accent-hover)}.action-btn.secondary{background-color:var(--bg-color);border:1px solid var(--border-color);color:var(--text-primary)}.action-btn.secondary:hover{background-color:var(--border-color)}.text-gradient{background:linear-gradient(90deg,#3b82f6,#8b5cf6,#ec4899);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.ai-buttons{flex-direction:column;gap:10px;margin-bottom:12px;display:flex}.ai-btn{background-color:var(--bg-color);border:1px solid var(--border-color);color:var(--text-primary);border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px;font-weight:500;transition:all .2s;display:flex}.ai-btn:hover{background-color:#8b5cf60d;border-color:#8b5cf6}.ai-btn.active{color:#a78bfa;background:linear-gradient(90deg,#3b82f61a,#8b5cf61a);border-color:#8b5cf6}.ai-desc{color:var(--text-secondary);border-left:2px solid #8b5cf6;margin-top:8px;padding-left:4px;font-size:.8rem;font-style:italic;line-height:1.4}@media (width<=768px){.app-container{height:auto;min-height:100vh}.main-workspace{flex-direction:column;overflow-y:visible}.canvas-area{align-items:flex-start;min-height:60vh;padding:16px}.controls-panel{border-left:none;border-top:1px solid var(--border-color);width:100%}.filters-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}}.toggle-group{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;gap:4px;padding:4px;display:flex}.toggle-btn{color:var(--text-secondary);background:0 0;border-radius:6px;flex:1;padding:8px;font-size:.8rem;font-weight:500;transition:all .2s}.toggle-btn:hover{color:var(--text-primary)}.toggle-btn.active{background-color:var(--panel-bg);color:#8b5cf6;box-shadow:0 2px 4px #0000001a}
