:root{--bg-color: #0f172a;--bg-secondary: #1e293b;--text-primary: #f8fafc;--text-secondary: #94a3b8;--accent-primary: #8b5cf6;--accent-secondary: #06b6d4;--accent-gradient: linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));--border-color: #334155;--glass-bg: rgba(30, 41, 59, .7);--glass-border: rgba(255, 255, 255, .1);--radius-lg: 1rem;--radius-xl: 1.5rem;--font-family: "Outfit", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-primary);line-height:1.6;min-height:100vh;background-image:radial-gradient(circle at 50% 0%,#1e1b4b 0%,var(--bg-color) 60%)}.app-container{max-width:1200px;margin:0 auto;padding:2rem;display:flex;flex-direction:column;min-height:100vh}header{padding:1rem 0;margin-bottom:3rem}.logo{font-size:1.5rem;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero{text-align:center;margin-bottom:4rem}.hero h1{font-size:3.5rem;font-weight:700;margin-bottom:1rem;line-height:1.2}.gradient-text{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero p{color:var(--text-secondary);font-size:1.25rem}.upload-section{max-width:800px;margin:0 auto;width:100%}.drop-zone{background:var(--glass-bg);border:2px dashed var(--border-color);border-radius:var(--radius-xl);padding:4rem 2rem;text-align:center;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden;cursor:pointer}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:0 10px 30px -10px #8b5cf64d}.drop-content{pointer-events:none}.upload-icon{color:var(--accent-primary);margin-bottom:1.5rem;opacity:.8}.drop-zone h3{font-size:1.5rem;margin-bottom:.5rem}.drop-zone p{color:var(--text-secondary)}.text-btn{background:none;border:none;color:var(--accent-secondary);font-weight:600;cursor:pointer;text-decoration:underline;padding:0;font-family:inherit;font-size:inherit;pointer-events:auto}.loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0f172ae6;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.spinner{width:50px;height:50px;border:4px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.hidden{display:none!important}.editor-section{display:flex;flex-direction:column;height:80vh;animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.editor-container{display:flex;flex:1;gap:2rem;height:100%;overflow:hidden}.canvas-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0003;border-radius:var(--radius-lg);padding:2rem;position:relative;border:1px solid var(--border-color)}canvas#editor-canvas{max-width:100%;max-height:80%;box-shadow:0 20px 50px #00000080;background-image:linear-gradient(45deg,#2d2d2d 25%,transparent 25%),linear-gradient(-45deg,#2d2d2d 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#2d2d2d 75%),linear-gradient(-45deg,transparent 75%,#2d2d2d 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px;background-color:#1e1e1e;border-radius:var(--radius-lg)}.canvas-controls{margin-top:1.5rem;display:flex;gap:1rem}.settings-panel{width:320px;background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow-y:auto}.tabs{display:flex;border-bottom:1px solid var(--border-color)}.tab-btn{flex:1;background:transparent;border:none;padding:1rem;color:var(--text-secondary);font-weight:600;cursor:pointer;transition:all .2s;border-bottom:2px solid transparent;font-family:inherit}.tab-btn.active{color:var(--text-primary);border-bottom-color:var(--accent-primary);background:#8b5cf61a}.tab-content{display:none;padding:1.5rem;flex-direction:column;gap:1.5rem}.tab-content.active{display:flex}.control-group{display:flex;flex-direction:column;gap:.5rem}.control-group label{font-size:.9rem;color:var(--text-secondary);font-weight:500;display:flex;justify-content:space-between}.subsection h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-secondary);margin-bottom:1rem}.divider{border:0;height:1px;background:var(--border-color);margin:.5rem 0}.segmented-control{display:flex;background:var(--bg-secondary);border-radius:.5rem;padding:.25rem;gap:.25rem}.seg-btn{flex:1;background:transparent;border:none;color:var(--text-secondary);padding:.5rem;border-radius:.25rem;font-size:.85rem;cursor:pointer;transition:all .2s;font-family:inherit}.seg-btn.active{background:var(--bg-color);color:var(--text-primary);box-shadow:0 2px 4px #0003}input[type=range]{width:100%;accent-color:var(--accent-primary);background:transparent;cursor:pointer}input[type=color]{-webkit-appearance:none;border:none;width:100%;height:40px;border-radius:.5rem;cursor:pointer;background:transparent}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:none;border-radius:.5rem;border:1px solid var(--border-color)}.preset-colors{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.color-dot{width:24px;height:24px;border-radius:50%;border:2px solid var(--border-color);cursor:pointer;transition:transform .2s}.color-dot:hover{transform:scale(1.2);border-color:var(--text-primary)}.primary-btn,.secondary-btn{padding:.8rem 2rem;border-radius:2rem;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s;font-family:inherit}.primary-btn{background:var(--accent-gradient);border:none;color:#fff;box-shadow:0 4px 14px #8b5cf663}.primary-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf63b}.secondary-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-primary)}.secondary-btn:hover{background:var(--bg-secondary);border-color:var(--text-primary)}footer{margin-top:auto;text-align:center;padding-top:4rem;color:var(--text-secondary);font-size:.9rem}@media(max-width:900px){.editor-container{flex-direction:column}.settings-panel{width:100%;height:300px}.canvas-wrapper{height:300px}}@media(max-width:768px){.hero h1{font-size:2.5rem}}
