@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap");.cat-root{--bg:#02060f;--bg-2:#050b1a;--ink:#fff;--ink-dim:#9aa6bd;--ink-mute:#5b6680;--line:hsla(0,0%,100%,.08);--line-2:hsla(0,0%,100%,.14);--card:hsla(0,0%,100%,.025);--card-2:hsla(0,0%,100%,.04);--halo:#aac6ff;--halo-2:#cfe0ff;--accent:#d6e6ff;--cta-bg:#fff;--cta-fg:#02060f;--tag-green:#7cf0a0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh;position:relative;overflow-x:hidden}.cat-root.cat-light{--bg:#f4f6fb;--ink:#0b1024;--ink-dim:#4b5673;--ink-mute:#7a8499;--line:rgba(11,16,36,.08);--line-2:rgba(11,16,36,.14);--halo:#3a6ad6;--halo-2:#1f4ea8;--accent:#1a3d8a;--cta-bg:#0b1024;--cta-fg:#fff;--tag-green:#2a8f4f}.cat-backdrop{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:radial-gradient(120% 80% at 50% 120%,rgba(70,120,220,.22) 0,rgba(20,40,90,.08) 35%,transparent 60%),radial-gradient(60% 60% at 50% 110%,rgba(140,180,255,.18) 0,transparent 50%),var(--bg)}.cat-planet{left:50%;top:62%;transform:translate(-50%);width:230vw;height:230vw;max-width:3200px;max-height:3200px;background:radial-gradient(circle at 38% 28%,hsla(0,0%,100%,.06) 0,transparent 30%),radial-gradient(circle at 50% 50%,#0a1838 0,#061027 35%,#03081a 60%,#02050e 78%,#02040b 100%);box-shadow:inset 60px 80px 200px rgba(140,180,255,.06),inset -120px -160px 300px rgba(0,0,0,.7),0 0 160px rgba(120,170,255,.18),0 0 4px 1px rgba(180,210,255,.55),0 0 28px 2px rgba(140,190,255,.28)}.cat-planet,.cat-planet:before{position:absolute;border-radius:50%}.cat-planet:before{content:"";inset:6%;background:radial-gradient(circle at 22% 30%,rgba(120,160,230,.1),transparent 18%),radial-gradient(circle at 60% 22%,rgba(150,180,240,.08),transparent 16%),radial-gradient(circle at 35% 55%,rgba(100,140,210,.1),transparent 22%),radial-gradient(circle at 70% 60%,rgba(120,160,230,.07),transparent 18%),radial-gradient(circle at 50% 80%,rgba(80,120,200,.1),transparent 25%);mix-blend-mode:screen;opacity:.7}.cat-light .cat-planet{background:radial-gradient(circle at 38% 28%,hsla(0,0%,100%,.5) 0,transparent 30%),radial-gradient(circle at 50% 50%,#c7d6f2 0,#aac1ea 35%,#8aa8df 60%,#6f93d4 78%,#5b83cc 100%);box-shadow:inset 60px 80px 200px hsla(0,0%,100%,.4),inset -120px -160px 300px rgba(60,90,160,.35),0 0 160px rgba(120,170,255,.4),0 0 4px 1px rgba(80,120,200,.4)}.cat-light .cat-planet:before{opacity:.35}.cat-stars{position:absolute;inset:0;background-image:radial-gradient(1px 1px at 12% 18%,hsla(0,0%,100%,.6),transparent 50%),radial-gradient(1px 1px at 78% 12%,hsla(0,0%,100%,.5),transparent 50%),radial-gradient(1.2px 1.2px at 42% 8%,hsla(0,0%,100%,.7),transparent 50%),radial-gradient(1px 1px at 88% 28%,hsla(0,0%,100%,.4),transparent 50%),radial-gradient(1px 1px at 24% 30%,hsla(0,0%,100%,.35),transparent 50%),radial-gradient(1px 1px at 64% 22%,hsla(0,0%,100%,.45),transparent 50%),radial-gradient(1px 1px at 8% 42%,hsla(0,0%,100%,.4),transparent 50%),radial-gradient(1.2px 1.2px at 92% 48%,hsla(0,0%,100%,.35),transparent 50%)}.cat-light .cat-stars{display:none}.cat-vignette{position:absolute;inset:0;background:radial-gradient(80% 60% at 50% 0,transparent 40%,rgba(0,0,0,.6) 100%)}.cat-light .cat-vignette{background:radial-gradient(80% 60% at 50% 0,transparent 40%,rgba(244,246,251,.7) 100%)}.cat-main{position:relative;z-index:2}.cat-hero{max-width:1200px;margin:0 auto;padding:32px 40px 0}.cat-hero h2{font-size:clamp(34px,5vw,56px);line-height:1.05;letter-spacing:-.03em;font-weight:500;margin:8px 0 14px}.cat-hero h2 em{font-style:normal;background:linear-gradient(180deg,#dde8ff,#8eb0ee);-webkit-background-clip:text;background-clip:text;color:transparent}.cat-light .cat-hero h2 em{background:linear-gradient(180deg,#1a3d8a,#3a6ad6);-webkit-background-clip:text;background-clip:text;color:transparent}.cat-eyebrow{display:inline-flex;align-items:center;gap:10px;padding:7px 14px;border-radius:999px;border:1px solid var(--line-2);color:var(--ink-dim);font-size:12px;letter-spacing:.14em;text-transform:uppercase;background:hsla(0,0%,100%,.02)}.cat-eyebrow .ping{width:6px;height:6px;border-radius:50%;background:#7cf0a0;box-shadow:0 0 0 4px rgba(124,240,160,.15)}.cat-searchwrap{max-width:760px;margin:22px auto 0;position:relative}.cat-search{width:100%;display:flex;align-items:center;gap:14px;padding:16px 22px;border-radius:999px;background:hsla(0,0%,100%,.03);border:1px solid var(--line-2);backdrop-filter:blur(12px);box-shadow:0 20px 50px -20px rgba(0,0,0,.6),inset 0 1px 0 hsla(0,0%,100%,.04);transition:.2s}.cat-light .cat-search{background:hsla(0,0%,100%,.75)}.cat-search:focus-within{border-color:rgba(170,198,255,.4);background:hsla(0,0%,100%,.05)}.cat-search svg{color:var(--ink-mute);flex:0 0 auto}.cat-search input{flex:1;background:transparent;border:0;outline:0;color:var(--ink);font-size:15px;font-family:inherit}.cat-search input::placeholder{color:var(--ink-mute)}.cat-tabs{display:flex;justify-content:center;gap:10px;margin:24px auto 0;flex-wrap:wrap;max-width:760px}.cat-tab{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border-radius:999px;border:1px solid var(--line-2);color:var(--ink-dim);font-size:14px;font-weight:500;background:hsla(0,0%,100%,.02);transition:.2s;cursor:pointer;font-family:inherit}.cat-tab:hover{color:var(--ink);border-color:hsla(0,0%,100%,.25)}.cat-tab.active{color:var(--cta-fg);background:var(--cta-bg);border-color:var(--cta-bg);box-shadow:0 0 0 4px hsla(0,0%,100%,.06),0 8px 30px -10px rgba(170,198,255,.5)}.cat-section{max-width:1280px;margin:0 auto;padding:60px 40px 0;position:relative}.cat-section-head{display:flex;align-items:flex-end;justify-content:space-between;padding-bottom:22px;margin-bottom:28px;border-bottom:1px solid var(--line);gap:20px;flex-wrap:wrap}.cat-section-head h3{font-size:clamp(24px,2.6vw,34px);font-weight:500;letter-spacing:-.025em;margin:6px 0 0}.cat-sub{color:var(--ink-mute);font-size:13px;font-family:JetBrains Mono,monospace;letter-spacing:.04em}.cat-meta{color:var(--ink-dim);font-size:13px;display:flex;align-items:center;gap:16px}.cat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}@media (max-width:1100px){.cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.cat-grid{grid-template-columns:1fr}}.cat-card{position:relative;display:flex;flex-direction:column;padding:24px;border-radius:18px;background:linear-gradient(180deg,hsla(0,0%,100%,.045),hsla(0,0%,100%,.015));border:1px solid var(--line-2);transition:.25s ease;overflow:hidden;min-height:320px}.cat-light .cat-card{background:linear-gradient(180deg,hsla(0,0%,100%,.85),hsla(0,0%,100%,.6));backdrop-filter:blur(10px)}.cat-card:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(120% 80% at 50% -10%,rgba(170,198,255,.1),transparent 60%);opacity:0;transition:.3s;pointer-events:none}.cat-card:hover{border-color:rgba(170,198,255,.35);transform:translateY(-2px)}.cat-card:hover:before{opacity:1}.cat-card.is-complete{border-color:rgba(170,198,255,.22);background:linear-gradient(180deg,rgba(170,198,255,.06),hsla(0,0%,100%,.015))}.cat-light .cat-card.is-complete{background:linear-gradient(180deg,rgba(170,200,255,.45),hsla(0,0%,100%,.55));border-color:rgba(60,110,200,.28)}.cat-card-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.cat-glyph{width:44px;height:44px;border-radius:12px;border:1px solid var(--line-2);background:linear-gradient(180deg,hsla(0,0%,100%,.06),hsla(0,0%,100%,.02));display:grid;place-items:center;color:var(--halo-2);flex:0 0 auto}.cat-card.is-complete .cat-glyph{color:#bfe9ff;background:linear-gradient(180deg,rgba(170,225,255,.18),rgba(170,225,255,.04));border-color:rgba(170,225,255,.3)}.cat-tag{font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.16em;color:var(--tag-green);text-transform:uppercase;display:inline-flex;align-items:center;gap:6px}.cat-tag .ping{width:5px;height:5px;border-radius:50%;background:var(--tag-green);box-shadow:0 0 0 3px rgba(124,240,160,.15)}.cat-tag.paid{color:var(--halo-2)}.cat-tag.paid .ping{background:var(--halo-2);box-shadow:0 0 0 3px rgba(170,198,255,.18)}.cat-card h4{font-size:19px;font-weight:500;letter-spacing:-.02em;margin:16px 0 4px;line-height:1.2;color:var(--ink)}.cat-card h4 .muted{color:var(--ink-mute);font-weight:400}.cat-card .cat-desc{color:var(--ink-mute);font-size:13.5px;line-height:1.55;margin:0 0 18px}.cat-feats{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:8px}.cat-feats li{display:flex;align-items:center;gap:10px;color:var(--ink-dim);font-size:13px}.cat-feats svg{color:var(--halo);flex:0 0 auto}.cat-card-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px dashed var(--line-2);gap:12px}.cat-price{display:flex;flex-direction:column;gap:2px}.cat-price .v{font-family:JetBrains Mono,monospace;font-size:17px;letter-spacing:-.02em;color:var(--ink)}.cat-price .l{font-size:11px;color:var(--ink-mute);letter-spacing:.02em;white-space:nowrap}.cat-cta{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;font-size:13px;font-weight:500;background:var(--cta-bg);color:var(--cta-fg);transition:.2s;cursor:pointer;border:0;font-family:inherit;white-space:nowrap}.cat-cta:hover{filter:brightness(1.06);transform:translateX(2px)}.cat-iconbtn{width:32px;height:32px;border-radius:999px;border:1px solid var(--line-2);display:grid;place-items:center;color:var(--ink-dim);background:transparent;cursor:pointer;transition:.2s}.cat-iconbtn:hover{color:var(--ink);border-color:hsla(0,0%,100%,.3)}.cat-loading{min-height:60vh;display:grid;place-items:center;color:var(--ink-dim)}.cat-spinner{width:32px;height:32px;border-radius:50%;border:2px solid var(--line-2);border-top-color:var(--halo);animation:cat-spin .7s linear infinite}@keyframes cat-spin{to{transform:rotate(1turn)}}.cat-empty{text-align:center;padding:80px 20px;color:var(--ink-mute)}