@import"https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&family=DM+Mono:ital,wght@0,300;0,400;0,500;1,300&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,300&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0d1117;--surface: #161b22;--surface-2: #1c2128;--border: #30363d;--border-dim: #21262d;--accent: #f59e0b;--accent-dim: rgba(245, 158, 11, .12);--accent-glow: rgba(245, 158, 11, .25);--text: #e6edf3;--text-dim: #7d8590;--text-muted: #484f58;--green: #3fb950;--green-dim: rgba(63, 185, 80, .12);--red: #f85149;--red-dim: rgba(248, 81, 73, .12);--blue: #58a6ff;--blue-dim: rgba(88, 166, 255, .12);--purple: #bc8cff;--purple-dim: rgba(188, 140, 255, .12);--cat-commercial: #f59e0b;--cat-academic: #58a6ff;--cat-rd: #bc8cff;--cat-internal: #7d8590;font-family:DM Sans,system-ui,sans-serif;font-size:15px;line-height:1.5}html,body,#root{height:100%;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3,.syne{font-family:Syne,sans-serif}.mono{font-family:DM Mono,monospace}button{cursor:pointer;font-family:inherit;font-size:inherit;border:none;background:none;transition:all .15s ease}input,select,textarea{font-family:inherit;font-size:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:8px 12px;outline:none;width:100%;transition:border-color .15s ease}input:focus,select:focus,textarea:focus{border-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--text-muted)}select option{background:var(--surface-2)}.tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500;letter-spacing:.02em;white-space:nowrap}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}.fade-in{animation:fadeIn .2s ease forwards}.spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@media (max-width: 600px){:root{font-size:14px}}
