:root{--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 16px #00000014;--shadow-lg:0 12px 32px #0000001f}[data-theme=dark]{--bg-base:#0a0a0b;--bg-surface:#141416;--bg-elevated:#1c1c1f;--bg-hover:#252528;--text-primary:#fafafa;--text-secondary:#a1a1aa;--text-muted:#52525b;--border:#ffffff0f;--border-hover:#ffffff1f;--accent:#3b82f6;--accent-hover:#60a5fa;--accent-muted:#3b82f61f;--success:#34d399;--warning:#fbbf24;--error:#f87171;--folder-color:#fbbf24;--file-color:#71717a}[data-theme=light]{--bg-base:#f8fafc;--bg-surface:#fff;--bg-elevated:#fff;--bg-hover:#f1f5f9;--text-primary:#0f172a;--text-secondary:#64748b;--text-muted:#94a3b8;--border:#0000000f;--border-hover:#0000001f;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-muted:#2563eb14;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--folder-color:#f59e0b;--file-color:#94a3b8}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:15px}body{background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,system-ui,sans-serif;line-height:1.6}h1,h2,h3,h4{letter-spacing:-.025em;font-weight:600}.btn{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:all .15s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-hover)}.btn-ghost{color:var(--text-secondary);background:0 0;padding:.5rem}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-sm{gap:.25rem;padding:.375rem .625rem;font-size:.8rem}.btn-icon{border-radius:var(--radius-sm);width:36px;height:36px;padding:0}.btn-action{border-radius:var(--radius-sm);background:var(--bg-elevated);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;border:none;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.btn-action:hover{background:var(--bg-hover);color:var(--accent);transform:scale(1.02)}.btn-action:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-icon-sm{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.btn-icon-sm:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-text{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;padding:.375rem .625rem;font-size:.8rem;font-weight:500;transition:all .15s;display:inline-flex}.btn-text:hover{background:var(--bg-hover);color:var(--text-primary)}.input{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);padding:.75rem 1rem;font-size:.9rem;transition:all .15s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted);outline:none}.input::placeholder{color:var(--text-muted)}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);transition:all .2s}.card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.card-selected{border-color:var(--accent)!important;background:var(--accent-muted)!important}.container{max-width:1400px;margin:0 auto;padding:0 1.5rem}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:.2s ease-out forwards fadeIn}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:.6s linear infinite spin}.loader{width:28px;height:14px;display:flex}.loader:before,.loader:after{content:"";background:var(--accent);transform-origin:100% 0;flex:1;animation:2s infinite loader-rotate}.loader:after{background:var(--folder-color);transform-origin:0 0;animation-delay:.25s}@keyframes loader-rotate{0%,5%{transform:rotate(0)}20%,30%{transform:rotate(90deg)}45%,55%{transform:rotate(180deg)}70%,80%{transform:rotate(270deg)}95%,to{transform:rotate(360deg)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (max-width:640px){html{font-size:15px}.btn{min-width:44px;min-height:44px}.mobile-hide{display:none}}
