:root{--bg-main:#f9fafb;--bg-white:#fff;--bg-hover:#f3f4f6;--bg-active:#eff6ff;--border-color:#e5e7eb;--border-active:#dbeafe;--primary:#2563eb;--primary-hover:#1d4ed8;--primary-light:#eff6ff;--text-main:#111827;--text-secondary:#4b5563;--text-muted:#9ca3af;--text-primary:#2563eb;--global-sidebar-width:240px;--task-sidebar-width:280px;--header-height:60px;--control-bar-height:100px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--text-main);background:var(--bg-main);height:100vh;width:100vw;overflow:hidden;display:flex}.flex-col{display:flex;flexDirection:column}.flex-row{display:flex;flexDirection:row}.flex-1{flex:1 1}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;font-weight:500;font-size:14px;transition:all .2s;cursor:pointer;border:1px solid transparent}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 2px 4px rgba(37,99,235,.2)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.btn-secondary{background:#fff;border:1px solid var(--border-color);color:var(--text-secondary)}.btn-secondary:hover{background:var(--bg-hover);border-color:#d1d5db}.btn-ghost{color:var(--text-muted);background:transparent}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-main)}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;font-size:14px;font-weight:500;color:var(--text-secondary);background:transparent;transition:all .2s;margin-bottom:4px;text-decoration:none}.nav-item:hover{background:var(--bg-hover);color:var(--text-main)}.nav-item.active{background:var(--bg-active);color:var(--text-main)}.task-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;cursor:pointer;transition:all .2s;border:1px solid transparent;color:var(--text-secondary);background:transparent}.task-item:hover{background:var(--bg-hover);color:var(--text-main)}.task-item.active{background:var(--bg-active);border-color:var(--border-active);color:var(--text-primary)}.task-item .icon{color:var(--text-muted)}.task-item.active .icon{color:var(--primary)}.workspace-card{background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:24px;box-shadow:0 1px 3px rgba(0,0,0,.05);transition:box-shadow .2s}.workspace-card:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.05)}.control-bar{position:absolute;bottom:0;left:0;right:0;background:hsla(0,0%,100%,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--border-color);padding:24px;z-index:20;box-shadow:0 -4px 20px rgba(0,0,0,.02)}.upload-box{width:100px;height:100px;border-radius:12px;border:2px dashed var(--border-color);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;background:var(--bg-hover);position:relative;transition:all .2s;overflow:hidden}.upload-box:hover{border-color:var(--primary);background:#fff}.upload-box.has-image{border:none;background:#f9fafb}.upload-overlay{position:absolute;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.upload-box:hover .upload-overlay{opacity:1}.preset-btn{height:48px;border:1px solid var(--border-color);border-radius:8px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;cursor:pointer;background:#fff;transition:all .2s}.preset-btn:hover{border-color:#d1d5db;background:var(--bg-hover)}.preset-btn.active{border-color:var(--border-active);background:var(--bg-active)}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}