@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700;800&display=swap";:root{--app-height:100dvh;--bg:#1a1a1a;--bg-card:#212121;--bg-hover:#2a2a2a;--border:#ffffff1a;--border-strong:#ffffff2e;--text-primary:#f0f0f0;--text-secondary:#f0f0f0bf;--text-muted:#f0f0f066;--yellow:#e5ce72;--yellow-text:#e5ce72;--cyan:#7ec8c8;--red:#df7a7a;--green:#6fbf8b;--cat-management:#f0a85d;--cat-security:#f27272;--cat-networking:#5ecada;--cat-hardware:#e5be58;--cat-software:#6fcf97;--cat-general:#a0aec0;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", monospace;--radius-sm:6px;--radius-md:8px;--radius:12px;--radius-lg:16px;--radius-full:9999px;--ease-out:cubic-bezier(.16,1,.3,1)}:root.light{--bg:#f0ede8;--bg-card:#e8e5df;--bg-hover:#dedad4;--border:#0000001a;--border-strong:#0003;--text-primary:#1a1a1a;--text-secondary:#1a1a1abf;--text-muted:#1a1a1a73;--yellow:#f5c800;--yellow-text:#9e6f00;--cyan:#007070;--red:#c42a2a;--green:#1d7a3e;--cat-management:#c25e00;--cat-security:#c52222;--cat-networking:#027a8c;--cat-hardware:#996500;--cat-software:#18794e;--cat-general:#4a5568}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation;margin:0;padding:0}html,body{overscroll-behavior:none;touch-action:none;background:var(--bg);width:100vw;height:100lvh;color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;transition:background-color .25s,color .25s;position:fixed;inset:0;overflow:hidden}input,select,textarea{font-size:16px}.vanta-bg{z-index:0;pointer-events:none;background-color:var(--bg);backface-visibility:hidden;width:100vw;height:100lvh;min-height:100vh;transition:background-color .25s;position:fixed;top:0;left:0;overflow:hidden;transform:translate(0,0)}.vanta-bg canvas,.vanta-bg .vanta-canvas{pointer-events:none;width:100%!important;height:100%!important;position:absolute!important;top:0!important;left:0!important}.vanta-overlay{z-index:1;pointer-events:none;background-color:var(--bg);opacity:0;width:100vw;height:100lvh;min-height:100vh;transition:opacity .25s,background-color .25s;position:fixed;top:0;left:0;transform:translate(0,0)}:root.light .vanta-overlay{opacity:.82}::view-transition-old(root){animation-duration:.25s;animation-timing-function:ease-in-out}::view-transition-new(root){animation-duration:.25s;animation-timing-function:ease-in-out}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}@keyframes elasticShake{0%,to{transform:translate(0,0)}12%{transform:translate(-10px)}24%{transform:translate(8px)}36%{transform:translate(-5px)}50%{transform:translate(3px)}65%{transform:translate(-1.5px)}80%{transform:translate(.5px)}}.animate-shake{will-change:transform;animation:.5s cubic-bezier(.25,1,.5,1) both elasticShake}@keyframes popIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animate-pop-in{animation:popIn .2s var(--ease-out) forwards}@keyframes streakPulse{0%{opacity:1}50%{opacity:.6}to{opacity:1}}.animate-streak-pulse{animation:streakPulse 1.5s infinite var(--ease-out)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
