@import url("https://fonts.googleapis.com/css2?family=Google+Sans:wght@400;500;700&family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap");:root{--font-main:"Google Sans","Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"JetBrains Mono",monospace;--primary:#1a73e8;--primary-hover:#1765cc;--primary-light:#e8f0fe;--primary-dark:#1557b0;--secondary:#5f6368;--success:#34a853;--success-light:#e6f4ea;--warning:#fbbc04;--warning-light:#fef7e0;--danger:#ea4335;--danger-light:#fce8e6;--purple:#a142f4;--purple-light:#f3e8fd;--bg-app:#f8fafd;--bg-surface:#ffffff;--bg-surface-secondary:#f0f4f9;--bg-surface-hover:#e9eef6;--bg-active:#c2e7ff;--text-active:#001d35;--text-primary:#1f1f1f;--text-secondary:#444746;--text-muted:#727775;--border-subtle:#e1e3e1;--border-light:#eceff1;--border-focus:#1a73e8;--shadow-sm:0 1px 2px 0 rgba(60,64,67,0.3),0 1px 3px 1px rgba(60,64,67,0.15);--shadow-md:0 1px 3px 0 rgba(60,64,67,0.3),0 4px 8px 3px rgba(60,64,67,0.15);--shadow-lg:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);--shadow-popup:0 4px 20px rgba(0,0,0,0.15);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px}[data-theme=dark]{--bg-app:#131314;--bg-surface:#1e1f20;--bg-surface-secondary:#282a2c;--bg-surface-hover:#333538;--bg-active:#004a77;--text-active:#c2e7ff;--text-primary:#e3e3e3;--text-secondary:#c4c7c5;--text-muted:#8e918f;--border-subtle:#444746;--border-light:#2c2d2e;--border-focus:#8ab4f8;--primary:#8ab4f8;--primary-hover:#aecbfa;--primary-light:#172b4d;--primary-dark:#d2e3fc;--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.6);--shadow-md:0 4px 8px 0 rgba(0,0,0,0.6);--shadow-popup:0 8px 24px rgba(0,0,0,0.7)}*{box-sizing:border-box;margin:0;padding:0}body,html{width:100%;height:100%;font-family:var(--font-main);background-color:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}button{cursor:pointer;border:none;background:transparent;transition:all .15s ease}button,input,select,textarea{font-family:inherit;outline:none}a{color:inherit;text-decoration:none}.btn-new{display:inline-flex;align-items:center;gap:12px;padding:12px 20px;background:var(--bg-surface);color:var(--text-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);font-weight:500;font-size:14px;border:1px solid var(--border-light);transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-new:hover{background:var(--bg-surface-secondary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;background:var(--primary);color:#ffffff;border-radius:var(--radius-full);font-size:14px;font-weight:500;transition:background .15s ease,transform .1s ease}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;background:var(--bg-surface-secondary);color:var(--text-primary);border-radius:var(--radius-full);font-size:14px;font-weight:500}.btn-secondary:hover{background:var(--bg-surface-hover)}.search-container{display:flex;align-items:center;background:var(--bg-surface-secondary);border-radius:var(--radius-full);padding:8px 16px;width:100%;max-width:720px;gap:12px;border:1px solid transparent;transition:all .2s ease}.search-container:focus-within{background:var(--bg-surface);border-color:var(--border-focus);box-shadow:0 1px 3px 0 rgba(60,64,67,.2)}.search-input{flex:1 1;border:none;background:transparent;color:var(--text-primary);font-size:15px}.search-input::placeholder{color:var(--text-muted)}@keyframes fadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{opacity:.6}50%{opacity:1}}.animate-fade-in{animation:fadeIn .2s cubic-bezier(.16,1,.3,1) forwards}.animate-slide-up{animation:slideUp .25s cubic-bezier(.16,1,.3,1) forwards}