@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=Indie+Flower&family=Inter:wght@400;600;700&family=Klee+One:wght@400;600&family=Noto+Sans+TC:wght@400;700&family=Noto+Serif+TC:wght@400;700&family=Playfair+Display:wght@700;900&family=Space+Mono:wght@400;700&family=Yomogi&family=Yuji+Boku&display=swap";@font-face{font-family:NaikaiFont;src:url(https://cdn.jsdelivr.net/gh/max32002/naikaifont@1.0/webfont/NaikaiFont-Regular-Lite.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:FollowYou;src:url(https://cdn.jsdelivr.net/gh/vnoel/follow-you-font@master/Follow-You.ttf)format("truetype");font-weight:400;font-style:normal;font-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}html,body{font-family:var(--font-sans);background-color:var(--bg-color);color:var(--text-primary);overscroll-behavior:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;height:100%;overflow:hidden}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;width:100%;height:100dvh;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}@media (width<=768px){.header h1{display:none}}.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;cursor:grab;touch-action:none;width:100%;height:100%;display:block}.canvas-wrapper canvas:active{cursor:grabbing}.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}.header{padding:0 16px}.header h1{font-size:1rem}.action-btn{padding:8px 12px;font-size:.85rem}.main-workspace{flex-direction:column;height:calc(100dvh - 60px);overflow:hidden}.canvas-area{flex-shrink:0;align-items:center;height:52dvh;min-height:auto;padding:16px;overflow:visible}.controls-panel{border-left:none;border-top:1px solid var(--border-color);-webkit-overflow-scrolling:touch;background-color:var(--panel-bg);flex:1;width:100%;padding-bottom:40px;overflow:hidden auto}.filters-grid{grid-template-columns:repeat(3,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}.app-footer{text-align:center;background-color:var(--panel-bg);border-top:1px solid var(--border-color);color:var(--text-secondary);flex-shrink:0;padding:12px 24px;font-size:.8rem}.shape-selector{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;gap:8px;padding:6px;display:flex}.shape-btn{height:40px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;transition:all .2s;display:flex}.shape-btn:hover{color:var(--text-primary);background-color:#ffffff0d}.shape-btn.active{background-color:var(--panel-bg);color:#f59e0b;box-shadow:0 2px 4px #0003}
