.home{padding-bottom:40px}.h-hero{position:relative;padding:48px 0 28px;text-align:center}.h-hero:before{content:"";position:absolute;inset:-96px -5% -40px;z-index:-1;pointer-events:none;background:radial-gradient(520px 260px at 75% 30%,color-mix(in srgb,var(--accent-2) 14%,transparent),transparent 70%),radial-gradient(480px 260px at 25% 10%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 70%)}.h-hero h1{margin:0 auto 12px;max-width:22ch;font-size:clamp(1.6rem,4.4vw,2.9rem);line-height:1.12;letter-spacing:-.03em}.h-grad{background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.h-lead{margin:0 auto;max-width:56ch;font-size:1.08rem;color:var(--muted)}.ht{scroll-margin-top:90px}.ht-bar{align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.ht-bar,.ht-cats{display:flex;flex-wrap:wrap}.ht-cats{gap:8px}.ht-cat{padding:8px 16px;border-radius:999px;font:inherit;font-size:.92rem;font-weight:600;cursor:pointer;color:var(--ink);background:var(--surface);border:1px solid var(--line);transition:border-color .15s,background .15s,color .15s}.ht-cat:hover{border-color:var(--accent);color:var(--accent)}.ht-cat[aria-pressed=true]{color:#fff;background:var(--ink);border-color:var(--ink)}:root[data-theme=dark] .ht-cat[aria-pressed=true]{color:var(--bg)}.ht-search{position:relative;display:flex;align-items:center;width:min(260px,100%)}.ht-search svg{position:absolute;left:12px;width:16px;height:16px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;pointer-events:none}.ht-search input{width:100%;padding:9px 12px 9px 36px;font:inherit;font-size:.92rem;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;transition:border-color .15s,box-shadow .15s}.ht-search input::placeholder{color:var(--muted)}.ht-search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.ht-grid{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin:0;padding:0}.ht-tile{--tile:var(--accent);display:grid;align-content:start;grid-gap:6px;gap:6px;height:100%;padding:20px 18px;border-radius:14px;text-decoration:none;background:var(--surface);border:1px solid var(--line);transition:border-color .15s,box-shadow .15s,transform .15s}.ht-tile[data-cat=pdf]{--tile:#dc2626}.ht-tile[data-cat=json]{--tile:#d97706}.ht-tile[data-cat=compare]{--tile:#0d9488}.ht-tile[data-cat=qr]{--tile:#16a34a}.ht-tile[data-cat=xml]{--tile:#0284c7}:root[data-theme=dark] .ht-tile[data-cat=pdf]{--tile:#f87171}:root[data-theme=dark] .ht-tile[data-cat=json]{--tile:#fbbf24}:root[data-theme=dark] .ht-tile[data-cat=compare]{--tile:#2dd4bf}:root[data-theme=dark] .ht-tile[data-cat=qr]{--tile:#4ade80}:root[data-theme=dark] .ht-tile[data-cat=xml]{--tile:#38bdf8}.ht-tile:hover{border-color:color-mix(in srgb,var(--tile) 55%,var(--line));box-shadow:0 12px 28px -20px color-mix(in srgb,var(--tile) 80%,transparent);transform:translateY(-2px)}.ht-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:8px;border-radius:11px;font-size:22px;color:var(--tile);background:color-mix(in srgb,var(--tile) 13%,transparent)}.ht-tile strong{font-size:1rem;font-weight:700;color:var(--ink);line-height:1.3}.ht-tile small{font-size:.88rem;color:var(--muted);line-height:1.4}.ht-empty{margin:4px 0 0;color:var(--muted)}@media (max-width:1000px){.ht-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:720px){.ht-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}@media (max-width:560px){.h-hero{padding:20px 0 16px}.h-hero h1{margin-bottom:8px}.h-lead{font-size:.95rem}.ht-bar{gap:10px;margin-bottom:14px}.ht-cats{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px;padding:0 16px 2px;scrollbar-width:none}.ht-cats::-webkit-scrollbar{display:none}.ht-cat{flex:none;padding:7px 14px;font-size:.88rem}.ht-search{width:100%}.ht-tile{padding:14px 12px;gap:4px}.ht-icon{width:38px;height:38px;margin-bottom:4px;font-size:20px}.ht-tile strong{font-size:.93rem}.ht-tile small{font-size:.8rem}}@media (prefers-reduced-motion:reduce){.ht-tile{transition:none}}