:root{--bg: #ffffff;--surface: #f8fafc;--surface2: #f1f5f9;--border: #e2e8f0;--border-strong: #cbd5e1;--ink: #0f172a;--ink2: #334155;--ink3: #64748b;--accent: #4f46e5;--accent2: #7c3aed;--grad: linear-gradient(130deg, #4f46e5, #7c3aed, #db2777);--nav-bg: rgba(255, 255, 255, .92);--code-bg: #f1f5f9;--glow-hero-1: transparent;--glow-hero-2: transparent;--glow-card: rgba(79, 70, 229, .06);--grain-opacity: 0;--font-display: "Syne", -apple-system, sans-serif;--font-body: "Space Grotesk", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--ease-out: cubic-bezier(.16, 1, .3, 1)}[data-theme=dark]{--bg: #060711;--surface: #0d1020;--surface2: #141826;--border: rgba(129, 140, 248, .16);--border-strong: rgba(129, 140, 248, .35);--ink: #f1f5f9;--ink2: #c4d2e4;--ink3: #8092a8;--accent: #6366f1;--accent2: #c084fc;--grad: linear-gradient(130deg, #818cf8, #c084fc, #f472b6);--nav-bg: rgba(7, 8, 16, .88);--code-bg: rgba(15, 17, 23, .95);--glow-hero-1: rgba(99, 102, 241, .4);--glow-hero-2: rgba(192, 132, 252, .2);--glow-card: rgba(99, 102, 241, .1);--grain-opacity: .04}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.65;min-height:100vh;transition:background-color .3s ease,color .3s ease;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");background-repeat:repeat;opacity:var(--grain-opacity);pointer-events:none;z-index:0}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}.icon-sun{display:none}.icon-moon,[data-theme=dark] .icon-sun{display:block}[data-theme=dark] .icon-moon{display:none}.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;gap:32px;padding:0 40px;height:60px;background:var(--nav-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);transition:background .3s ease,border-color .3s ease}.nav-wordmark{font-family:var(--font-display);font-weight:800;font-size:.875rem;letter-spacing:-.04em;text-decoration:none;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;flex-shrink:0}.nav-links{display:flex;gap:28px;list-style:none;flex:1}.nav-links a{color:var(--ink2);font-size:.875rem;font-weight:500;text-decoration:none;letter-spacing:.005em;transition:color .15s}.nav-links a:hover{color:var(--ink)}.nav-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.nav-icon{color:var(--ink3);display:flex;align-items:center;padding:4px;transition:color .15s}.nav-icon:hover{color:var(--ink)}.theme-toggle{background:transparent;border:1px solid var(--border);border-radius:7px;color:var(--ink3);cursor:pointer;display:flex;align-items:center;justify-content:center;width:34px;height:34px;transition:color .15s,border-color .15s;flex-shrink:0}.theme-toggle:hover{color:var(--ink);border-color:var(--border-strong)}.hero{position:relative;display:flex;align-items:center;justify-content:center;padding:148px 32px 120px;overflow:hidden;text-align:center}.hero-bg{position:absolute;top:-20%;right:0;bottom:-20%;left:0;background:radial-gradient(ellipse 80% 60% at 35% 45%,var(--glow-hero-1) 0%,transparent 65%),radial-gradient(ellipse 60% 50% at 70% 55%,var(--glow-hero-2) 0%,transparent 60%);pointer-events:none;will-change:transform}.hero-inner{position:relative;z-index:1;max-width:640px;width:100%}.jb-avatar{width:64px;height:64px;border-radius:18px;background:var(--grad);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:1.4rem;color:#fff;letter-spacing:-.03em;margin:0 auto 32px;animation:fadeUp .5s 0s both}.hero-chip{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);border:1px solid var(--border-strong);border-radius:100px;padding:6px 16px;margin-bottom:32px;animation:fadeUp .5s .1s both}.pulse-dot{width:7px;height:7px;border-radius:50%;background:#22c55e;flex-shrink:0;animation:pulse-dot 2.5s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.6)}}h1{font-family:var(--font-display);font-weight:800;font-size:clamp(3.8rem,10vw,6.5rem);line-height:.92;letter-spacing:-.05em;color:var(--ink);margin-bottom:32px;animation:fadeUp .6s .22s both}h2{font-family:var(--font-display);font-weight:800;font-size:clamp(2.4rem,4.5vw,3.8rem);line-height:.97;letter-spacing:-.04em;color:var(--ink);margin-bottom:20px}h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1.2}.hero-sub{font-size:1.15rem;font-weight:300;color:var(--ink2);line-height:1.72;margin-bottom:44px;max-width:460px;margin-left:auto;margin-right:auto;animation:fadeUp .6s .38s both}.hero-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;animation:fadeUp .6s .52s both}.btn-primary{display:inline-flex;align-items:center;background:var(--grad);color:#fff;font-family:var(--font-body);font-weight:600;font-size:.9rem;padding:12px 28px;border-radius:9px;text-decoration:none;letter-spacing:.01em;transition:opacity .2s,transform .2s}.btn-primary:hover{opacity:.88;transform:translateY(-1px)}.btn-ghost{display:inline-flex;align-items:center;background:transparent;color:var(--ink2);font-family:var(--font-body);font-weight:500;font-size:.9rem;padding:12px 28px;border-radius:9px;border:1.5px solid var(--border-strong);text-decoration:none;letter-spacing:.01em;transition:color .2s,border-color .2s,background .2s,transform .2s}.btn-ghost:hover{color:var(--ink);border-color:var(--ink3);background:var(--surface2);transform:translateY(-1px)}.scroll-hint{position:absolute;bottom:40px;left:50%;transform:translate(-50%);animation:fadeUp .6s .8s both}.scroll-line{width:1px;height:52px;background:linear-gradient(to bottom,var(--border-strong),transparent);margin:0 auto;animation:scroll-pulse 2.5s ease-in-out infinite}@keyframes scroll-pulse{0%{transform:scaleY(0);transform-origin:top;opacity:0}35%{transform:scaleY(1);transform-origin:top;opacity:1}65%{transform:scaleY(1);transform-origin:bottom;opacity:1}to{transform:scaleY(0);transform-origin:bottom;opacity:0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.hub-section{background:var(--bg);padding:100px 40px}.hub-section--alt{background:var(--surface)}.section-inner{max-width:1100px;margin:0 auto}.section-header{margin-bottom:52px}.section-header--centered{text-align:center}.section-label{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent2);display:block;margin-bottom:20px;font-weight:500}.section-desc{color:var(--ink2);font-size:1.1rem;font-weight:300;line-height:1.75;margin-top:20px;max-width:540px}.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out);transition-delay:var(--reveal-delay, 0ms)}.reveal.visible{opacity:1;transform:translateY(0)}.install-global{display:inline-flex;align-items:center;gap:12px;background:var(--surface2);border:1px solid var(--border);border-radius:9px;padding:12px 16px;margin-bottom:44px;max-width:100%;overflow:hidden}.install-global code{font-family:var(--font-mono);font-size:.82rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.01em}.install-global button{background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--ink2);cursor:pointer;font-family:var(--font-body);font-size:.73rem;font-weight:500;padding:4px 12px;flex-shrink:0;transition:color .15s,border-color .15s}.install-global button:hover{color:var(--accent);border-color:var(--accent)}.plugin-filters{display:flex;align-items:center;gap:14px;margin-bottom:32px;flex-wrap:wrap}.filters-label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2);flex-shrink:0}#filter-pills{display:flex;gap:6px;flex-wrap:wrap}.pill{background:transparent;border:1px solid var(--border);border-radius:100px;color:var(--ink2);font-family:var(--font-body);font-size:.8rem;font-weight:500;padding:5px 16px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.pill:hover{border-color:var(--accent);color:var(--accent)}.pill.active{background:var(--accent);border-color:var(--accent);color:#fff}.plugin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.plugin-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:28px 24px 24px;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden;opacity:0;transform:translateY(18px);transition:opacity .55s var(--ease-out),transform .55s var(--ease-out),border-color .2s,box-shadow .2s;transition-delay:var(--delay, 0ms)}.plugin-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--grad);opacity:0;transition:opacity .2s}.plugin-card.visible{opacity:1;transform:translateY(0)}.plugin-card.visible:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:0 12px 40px var(--glow-card)}.plugin-card.visible:hover:before{opacity:1}.card-top{display:flex;align-items:center;gap:8px}.card-category{font-family:var(--font-mono);font-size:.63rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:3px 9px;border-radius:5px}.category-productivity{color:#3730a3;background:#3730a314}.category-execution{color:#1e40af;background:#1e40af14}.category-security{color:#9a3412;background:#9a341214}.category-testing{color:#6b21a8;background:#6b21a814}.category-documentation{color:#0e7490;background:#0e749014}.category-utilities{color:#374151;background:#37415114}[data-theme=dark] .category-productivity{color:#a5b4fc;background:#a5b4fc1a}[data-theme=dark] .category-execution{color:#93c5fd;background:#93c5fd1a}[data-theme=dark] .category-security{color:#fb923c;background:#fb923c1a}[data-theme=dark] .category-testing{color:#d8b4fe;background:#d8b4fe1a}[data-theme=dark] .category-documentation{color:#67e8f9;background:#67e8f91a}[data-theme=dark] .category-utilities{color:#94a3b8;background:#94a3b81a}.card-name{font-size:1.35rem}.card-desc{color:var(--ink2);font-size:.92rem;line-height:1.7;flex:1}.card-keywords{display:flex;flex-wrap:wrap;gap:5px}.keyword{background:var(--surface2);border-radius:5px;color:var(--ink3);font-family:var(--font-mono);font-size:.66rem;padding:3px 8px;letter-spacing:.03em}.card-footer{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px;padding-top:16px;margin-top:4px}.install-snippet{display:flex;align-items:center;gap:10px;background:var(--surface2);border-radius:7px;padding:9px 12px}.install-snippet code{font-family:var(--font-mono);font-size:.76rem;color:var(--ink);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.01em}.copy-btn{background:transparent;border:1px solid var(--border);border-radius:5px;color:var(--ink3);cursor:pointer;font-family:var(--font-body);font-size:.72rem;font-weight:500;padding:3px 10px;flex-shrink:0;transition:color .15s,border-color .15s}.copy-btn:hover{color:var(--accent);border-color:var(--accent)}.card-meta{display:flex;align-items:center;justify-content:space-between}.version{font-family:var(--font-mono);font-size:.7rem;color:var(--ink3);letter-spacing:.06em}.card-meta a{color:var(--accent2);font-size:.82rem;font-weight:600;text-decoration:none;letter-spacing:.01em;transition:opacity .15s}.card-meta a:hover{opacity:.7}.error{color:#dc2626;grid-column:1 / -1;padding:48px;text-align:center;font-size:.95rem}.writing-list{border-top:1px solid var(--border);margin-bottom:40px}.writing-card{display:flex;align-items:baseline;gap:24px;padding:28px 0;border-bottom:1px solid var(--border)}.writing-tag{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent2);flex-shrink:0;min-width:110px;font-weight:500}.writing-title{font-size:1.25rem;flex:1}.writing-title a{color:var(--ink);text-decoration:none;transition:color .15s}.writing-title a:hover{color:var(--accent)}.writing-meta{font-family:var(--font-mono);font-size:.7rem;color:var(--ink3);letter-spacing:.08em;flex-shrink:0}.btn-more{font-size:.875rem;padding:10px 22px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:20px}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:28px 24px;display:flex;flex-direction:column;gap:14px;transition:border-color .2s,box-shadow .2s,transform .2s}.project-card:hover{border-color:var(--border-strong);box-shadow:0 12px 40px var(--glow-card);transform:translateY(-2px)}.project-top{display:flex;align-items:flex-start;gap:14px}.project-icon{font-size:1.5rem;line-height:1;flex-shrink:0;margin-top:2px}.project-name{font-size:1.1rem;margin-bottom:4px}.project-lang{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.1em;color:var(--ink3);text-transform:uppercase}.project-desc{color:var(--ink2);font-size:.9rem;line-height:1.65;flex:1}.project-link{color:var(--accent2);font-size:.85rem;font-weight:600;text-decoration:none;letter-spacing:.01em;transition:opacity .15s;margin-top:auto}.project-link:hover{opacity:.7}.nursery-header{margin-top:64px;margin-bottom:32px;padding-top:48px;border-top:1px solid var(--border)}.nursery-header h3{font-family:var(--font-display);font-size:clamp(1.6rem,4vw,2.4rem);font-weight:800;letter-spacing:-.02em;margin:8px 0 12px}.nursery-grid .project-card{border-style:dashed;opacity:.9}.nursery-grid .project-card:hover{opacity:1}.project-top{flex-wrap:wrap}.nursery-badge{margin-left:auto;font-family:var(--font-mono);font-size:.6rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--accent2);background:color-mix(in srgb,var(--accent2) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent2) 30%,transparent);border-radius:20px;padding:3px 10px;white-space:nowrap;flex-shrink:0}.connect-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;max-width:800px;margin:0 auto}.connect-card{background:var(--surface2);border:1px solid var(--border);border-radius:14px;padding:32px 24px;display:flex;flex-direction:column;align-items:center;gap:12px;text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s}.connect-card:hover{border-color:var(--border-strong);box-shadow:0 12px 40px var(--glow-card);transform:translateY(-2px)}.connect-icon{color:var(--ink3);transition:color .2s}.connect-card:hover .connect-icon{color:var(--accent)}.connect-name{font-size:1rem}.connect-handle{font-family:var(--font-mono);font-size:.7rem;color:var(--ink3);letter-spacing:.06em}.site-footer{background:var(--surface);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:center;gap:16px;padding:36px 24px;font-size:.82rem;color:var(--ink3);flex-wrap:wrap}.footer-wordmark{font-family:var(--font-display);font-weight:800;letter-spacing:-.02em;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.footer-sep{color:var(--border-strong)}.site-footer a{color:var(--ink2);text-decoration:none;transition:color .15s}.site-footer a:hover{color:var(--ink)}@media (max-width: 768px){.nav{padding:0 20px;gap:12px}.nav-links{display:none}.hero{padding:120px 20px 96px}h1{font-size:clamp(3.5rem,16vw,5.5rem)}.hero-sub{font-size:1rem}.hero-ctas{flex-direction:column;align-items:center}.hub-section{padding:72px 20px}h2{font-size:clamp(2rem,7vw,2.8rem)}.plugin-grid,.projects-grid{grid-template-columns:1fr}.connect-grid{grid-template-columns:1fr 1fr}.writing-card{flex-direction:column;gap:8px}.writing-tag{min-width:0}.install-global{max-width:100%}}@media (max-width: 480px){.connect-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.jb-avatar,.hero-chip,h1,.hero-sub,.hero-ctas,.scroll-hint{animation:none;opacity:1;transform:none}.reveal{opacity:1;transform:none;transition:none}.plugin-card{opacity:1;transform:none;transition:border-color .15s}.plugin-card.visible:hover{transform:none}.scroll-line,.pulse-dot{animation:none}}
