.CookieBanner-module__Ytz_yW__banner{z-index:9999;background:var(--surface,#1a1a1a);border:1px solid var(--border,#2a2a2a);border-radius:10px;align-items:center;gap:16px;width:calc(100% - 40px);max-width:540px;padding:14px 18px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 24px #0000004d}.CookieBanner-module__Ytz_yW__text{color:var(--text-secondary,#999);flex:1;margin:0;font-size:13px;line-height:1.5}.CookieBanner-module__Ytz_yW__link{color:var(--text-primary,#fff);text-underline-offset:2px;text-decoration:underline}.CookieBanner-module__Ytz_yW__actions{flex-shrink:0;gap:8px;display:flex}.CookieBanner-module__Ytz_yW__decline{border:1px solid var(--border,#2a2a2a);color:var(--text-secondary,#999);cursor:pointer;background:0 0;border-radius:6px;padding:6px 14px;font-size:13px}.CookieBanner-module__Ytz_yW__decline:hover{color:var(--text-primary,#fff);border-color:var(--text-secondary,#999)}.CookieBanner-module__Ytz_yW__accept{background:var(--text-primary,#fff);color:var(--bg,#0a0a0a);cursor:pointer;border:none;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500}.CookieBanner-module__Ytz_yW__accept:hover{opacity:.9}
.ProductHuntBanner-module__C_hvja__banner{z-index:9999;background:linear-gradient(90deg,#da552f,#e8733a);justify-content:center;align-items:center;gap:10px;padding:10px 16px;display:flex;position:fixed;top:0;left:0;right:0}.ProductHuntBanner-module__C_hvja__text{color:#fff;text-align:center;margin:0;font-size:14px;font-weight:500}.ProductHuntBanner-module__C_hvja__link{color:#fff;text-underline-offset:2px;font-weight:600;text-decoration:underline}.ProductHuntBanner-module__C_hvja__link:hover{opacity:.9}.ProductHuntBanner-module__C_hvja__close{color:#fffc;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:18px;line-height:1;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.ProductHuntBanner-module__C_hvja__close:hover{color:#fff}@media (max-width:600px){.ProductHuntBanner-module__C_hvja__banner{padding:8px 40px 8px 12px}.ProductHuntBanner-module__C_hvja__text{font-size:13px}}
:root{--surface-0:#070a13;--surface-1:#0c1120;--surface-2:#111827;--surface-3:#161d2e;--surface-4:#1c2333;--border-subtle:#161d2e;--border-default:#1e2231;--border-strong:#282d3e;--border-accent:#c17f3a4d;--text-primary:#f0eee8;--text-secondary:#94a3b8;--text-tertiary:#64748b;--text-inverse:#0f121d;--accent:#c17f3a;--accent-hover:#d4923f;--accent-muted:#c17f3a1a;--accent-subtle:#c17f3a0f;--positive:#4a7c59;--positive-muted:#4a7c591f;--negative:#b34040;--negative-muted:#b340401f;--caution:#c69f3a;--caution-muted:#c69f3a1f;--info:#5b7ea6;--info-muted:#5b7ea61f;--font-space-grotesk:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-ibm-plex-mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;--font-instrument-serif:Georgia,"Times New Roman",serif;--font-sans:var(--font-space-grotesk);--font-mono:var(--font-ibm-plex-mono);--font-display:var(--font-instrument-serif);--text-xs:1.25rem;--text-sm:1.375rem;--text-base:1.5625rem;--text-lg:1.75rem;--text-xl:2.34375rem;--text-2xl:3.125rem;--text-3xl:3.90625rem;--text-4xl:5.46875rem;--text-5xl:7.03125rem;--leading-tight:1.15;--leading-normal:1.5;--leading-relaxed:1.7;--tracking-tight:0;--tracking-normal:.01em;--tracking-wide:.05em;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--space-1:.3125rem;--space-2:.625rem;--space-3:.9375rem;--space-4:1.25rem;--space-6:1.875rem;--space-8:2.5rem;--space-12:3.75rem;--space-16:5rem;--space-24:7.5rem;--space-32:10rem;--radius-sm:3px;--radius-md:5px;--radius-lg:8px;--radius-xl:10px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 2px 8px #0006;--shadow-lg:0 8px 24px #00000080;--shadow-xl:0 16px 48px #0009;--shadow-row-lift:0 2px 12px #00000040;--glow-accent:0 0 12px #c17f3a33;--ease-out:cubic-bezier(.16,1,.3,1);--ease-material:cubic-bezier(.4,0,.2,1);--ease-in-out:cubic-bezier(.65,0,.35,1);--duration-fast:.15s;--duration-normal:.3s;--duration-slow:.4s;--max-width:1600px;--sidebar-width:320px;--sidebar-width-collapsed:64px;--sidebar-current-width:var(--sidebar-width);--topbar-height:80px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-size:16px}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--surface-0);min-height:100dvh}h1,h2,h3,h4,h5,h6{font-weight:var(--weight-normal);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}a{color:inherit;text-decoration:none}button{font-family:inherit;font-size:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit;background:0 0;border:none;outline:none}img,svg,video{max-width:100%;display:block}ul,ol{list-style:none}table{border-collapse:collapse}:focus-visible{outline:1.5px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-muted);color:var(--text-primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}code,.mono{font-family:var(--font-mono);font-size:.9em}.g-fade-in{opacity:0;transition:opacity .6s var(--ease-out),transform .6s var(--ease-out);transform:translateY(14px)}.g-fade-in[data-visible=true]{opacity:1;transform:translateY(0)}@keyframes g-slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes g-fade-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes g-spin{to{transform:rotate(360deg)}}@keyframes g-pulse{0%,to{opacity:.4}50%{opacity:1}}
