.tools-hub-page .th-hero{padding:clamp(48px,7vw,96px) 0 clamp(24px,4vw,48px);text-align:center}.tools-hub-page .th-pill{display:inline-flex;align-items:center;gap:9px;margin-bottom:24px;white-space:nowrap;font-family:var(--font-quiz-mono),monospace;font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--signal-ink);padding:8px 15px;border-radius:999px;background:var(--signal-soft);border:1px solid color-mix(in srgb,var(--signal) 34%,transparent)}.tools-hub-page .th-pill-dot{width:8px;height:8px;border-radius:50%;background:var(--signal);box-shadow:0 0 12px var(--signal);animation:thPulse 1.6s ease-in-out infinite}@keyframes thPulse{0%,to{opacity:1}50%{opacity:.3}}.tools-hub-page .th-h1{font-weight:800;letter-spacing:-.035em;line-height:1.02;font-size:clamp(2.6rem,6.4vw,5rem);text-wrap:balance;max-width:16ch;margin:0 auto}.tools-hub-page .th-h1 .serif{font-size:.98em}.tools-hub-page .th-sub{margin:24px auto 0;max-width:62ch;text-wrap:pretty;font-size:clamp(1.05rem,2vw,1.28rem);line-height:1.55;color:var(--ink-70)}.tools-hub-page .th-stats{margin:clamp(34px,5vw,54px) auto 0;max-width:760px;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--card-shadow);overflow:hidden}.tools-hub-page .th-stat{padding:22px 16px 20px;position:relative}.tools-hub-page .th-stat+.th-stat{border-left:1px solid var(--line)}.tools-hub-page .th-stat-value{font-family:var(--font-quiz-mono),monospace;font-weight:700;font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.02em;color:var(--signal-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tools-hub-page .th-stat-label{margin-top:6px;font-size:12.5px;line-height:1.4;color:var(--ink-45)}@media (max-width:640px){.tools-hub-page .th-stats{grid-template-columns:1fr}.tools-hub-page .th-stat+.th-stat{border-left:0;border-top:1px solid var(--line)}}.tools-hub-page .th-group{padding:clamp(30px,4.5vw,56px) 0 0}.tools-hub-page .th-group:last-of-type{padding-bottom:clamp(16px,2vw,28px)}.tools-hub-page .th-group[data-accent=coral]{--th-accent:var(--coral);--th-accent-ink:var(--coral-ink);--th-accent-soft:var(--coral-soft)}.tools-hub-page .th-group[data-accent=signal]{--th-accent:var(--signal);--th-accent-ink:var(--signal-ink);--th-accent-soft:var(--signal-soft)}.tools-hub-page .th-group-head{display:flex;align-items:baseline;gap:18px;margin-bottom:22px;padding-top:clamp(22px,3vw,34px);border-top:1px solid var(--line)}.tools-hub-page .th-group-index{font-family:var(--font-quiz-mono),monospace;font-size:clamp(.95rem,1.6vw,1.15rem);font-weight:700;color:var(--th-accent-ink,var(--signal-ink));flex-shrink:0}.tools-hub-page .th-group-title{font-weight:800;letter-spacing:-.025em;line-height:1.1;font-size:clamp(1.5rem,3.2vw,2.2rem);text-wrap:balance}.tools-hub-page .th-group-sub{margin-top:8px;max-width:64ch;font-size:clamp(.95rem,1.6vw,1.08rem);line-height:1.5;color:var(--ink-70);text-wrap:pretty}.tools-hub-page .th-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.tools-hub-page .th-grid[data-cols="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:980px){.tools-hub-page .th-grid,.tools-hub-page .th-grid[data-cols="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.tools-hub-page .th-grid,.tools-hub-page .th-grid[data-cols="2"]{grid-template-columns:1fr}}.tools-hub-page .th-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:clamp(22px,2.6vw,28px);border-radius:20px;overflow:hidden;background:var(--surface);border:1px solid var(--line);transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.tools-hub-page .th-card:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0),color-mix(in srgb,var(--th-accent,var(--signal)) 13%,transparent),transparent 62%);transition:opacity .25s ease}.tools-hub-page .th-card.alive-lit:after,.tools-hub-page .th-card:hover:after{opacity:1}.tools-hub-page .th-card:hover{border-color:color-mix(in srgb,var(--th-accent,var(--signal)) 44%,transparent);box-shadow:0 24px 60px -28px rgba(0,0,0,.55)}.tools-hub-page .th-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.tools-hub-page .th-card-kind{font-family:var(--font-quiz-mono),monospace;font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--th-accent-ink,var(--signal-ink));padding:5px 10px;border-radius:999px;background:var(--th-accent-soft,var(--signal-soft))}.tools-hub-page .th-card-index{font-family:var(--font-quiz-mono),monospace;font-size:12px;font-weight:700;color:var(--ink-25);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tools-hub-page .th-card-title{font-weight:700;letter-spacing:-.02em;line-height:1.18;font-size:clamp(1.18rem,2vw,1.4rem);text-wrap:balance;position:relative;z-index:1}.tools-hub-page .th-card-desc{font-size:14px;line-height:1.55;color:var(--ink-70);flex:1 1;text-wrap:pretty;position:relative;z-index:1}.tools-hub-page .th-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding-top:14px;border-top:1px dashed var(--line);position:relative;z-index:1}.tools-hub-page .th-card-langs{font-family:var(--font-quiz-mono),monospace;font-size:11px;font-weight:500;letter-spacing:.1em;color:var(--ink-45)}.tools-hub-page .th-card-go{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-quiz-mono),monospace;font-size:12px;font-weight:700;color:var(--th-accent-ink,var(--signal-ink))}.tools-hub-page .th-card-go .arr{transition:transform .2s ease;display:inline-block}.tools-hub-page .th-card:hover .th-card-go .arr{transform:translate(3px,-3px)}.tools-hub-page .th-cta{padding:clamp(48px,7vw,92px) 0 clamp(64px,8vw,110px)}.tools-hub-page .th-cta-inner{position:relative;overflow:hidden;text-align:center;padding:clamp(40px,6vw,72px) clamp(22px,4vw,56px);background:var(--bg-deep);border:1px solid var(--line);border-radius:28px;box-shadow:var(--card-shadow)}.tools-hub-page .th-cta-inner:after{content:"";position:absolute;left:0;right:0;bottom:0;height:200px;pointer-events:none;background:radial-gradient(70% 110% at 50% 100%,var(--signal-soft),transparent 70%)}.tools-hub-page .th-cta-label{margin-bottom:18px}.tools-hub-page .th-cta-title{font-weight:800;letter-spacing:-.03em;line-height:1.06;font-size:clamp(1.9rem,4.6vw,3.4rem);text-wrap:balance;max-width:22ch;margin:0 auto;position:relative;z-index:1}.tools-hub-page .th-cta-sub{margin:20px auto 0;max-width:56ch;font-size:clamp(1rem,1.8vw,1.18rem);line-height:1.55;color:var(--ink-70);text-wrap:pretty;position:relative;z-index:1}.tools-hub-page .th-cta .btn-primary{margin-top:30px;position:relative;z-index:1}.tools-hub-page .th-cta-notes{margin-top:26px;display:flex;align-items:center;justify-content:center;gap:10px 26px;flex-wrap:wrap;position:relative;z-index:1;font-family:var(--font-quiz-mono),monospace;font-size:12px;color:var(--ink-45)}.tools-hub-page .th-cta-notes span{display:inline-flex;align-items:center;gap:8px}.tools-hub-page .th-cta-notes .d{width:6px;height:6px;border-radius:50%;background:var(--signal);box-shadow:0 0 8px var(--signal)}@media (prefers-reduced-motion:reduce){.tools-hub-page .th-pill-dot{animation:none}.tools-hub-page .th-card,.tools-hub-page .th-card-go .arr,.tools-hub-page .th-card:after{transition:none}}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_b32614{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_b32614{--font-quiz-mono:"JetBrains Mono","JetBrains Mono Fallback"}