:root{--paper: #f1f1ec;--paper-2: #eceae3;--ink: #17201b;--ink-soft: #5b625b;--line: #d5d4cb;--accent: #0f6e4e;--accent-ink: #0a4d36;--accent-soft: #e2ede7;--warn: #8a5109;--muted: #6b7169;--font-mono: "IBM Plex Mono", ui-monospace, "Consolas", monospace;--font-sans: "Archivo Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--wrap: 1120px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}.page>main,.top,.foot{max-width:var(--wrap);margin-left:auto;margin-right:auto;padding-left:clamp(1.25rem,4vw,2.5rem);padding-right:clamp(1.25rem,4vw,2.5rem)}.mark{font-family:var(--font-mono);font-weight:700;letter-spacing:.06em;color:var(--ink)}.eyebrow{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:1rem}.tag{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;padding:.25rem .5rem;border:1px solid var(--line);color:var(--ink-soft);background:var(--paper);white-space:nowrap}.tag-ok{color:var(--accent-ink);border-color:var(--accent);background:var(--accent-soft)}.top{display:flex;align-items:center;justify-content:space-between;padding-top:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--line);gap:1rem;position:relative;z-index:5}.brand{text-decoration:none;display:flex;flex-direction:row;align-items:center;gap:.6rem;line-height:1.1}.brand .mark{font-size:1.05rem}.brand-sub{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.22em;color:var(--ink-soft);margin-top:.2rem}.brand-mark{display:inline-flex;color:var(--accent-ink)}.brand-mark svg{width:20px;height:20px}.brand-text{display:flex;flex-direction:column;line-height:1.1}.taller{padding-bottom:clamp(2.5rem,6vw,4rem)}.section-head{padding-top:clamp(2.5rem,6vw,4rem);margin-bottom:2rem}.section-head h1{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.08;letter-spacing:-.02em;font-weight:800;text-wrap:balance}.section-lead{font-size:1.02rem;color:var(--ink-soft);max-width:60ch;margin-top:.9rem;text-wrap:pretty}.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.6rem}.chip{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.03em;padding:.4rem .8rem;border:1px solid var(--line);background:var(--paper);color:var(--ink-soft);cursor:pointer;transition:all .15s}.chip:hover{border-color:var(--ink);color:var(--ink)}.chip.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}.card{border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;gap:.5rem;padding:1.2rem 1.25rem 1.35rem;text-decoration:none;color:var(--ink);transition:transform .18s,box-shadow .18s,border-color .18s}.card:hover{transform:translateY(-4px);border-color:var(--ink);box-shadow:6px 6px 0 var(--ink)}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.45rem}.cat-icon{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);background:var(--paper);color:var(--ink);transition:border-color .18s,background .18s,color .18s}.cat-icon svg{width:21px;height:21px}.card.is-ai .cat-icon{color:var(--accent-ink);border-color:var(--accent);background:var(--accent-soft)}.card:hover .cat-icon{border-color:var(--ink)}.card.is-ai:hover .cat-icon{border-color:var(--accent-ink)}.card.is-ai .tag{color:var(--accent-ink);border-color:var(--accent);background:var(--accent-soft)}.card h3{font-size:1.12rem;line-height:1.2;letter-spacing:-.01em;margin-top:.15rem}.card p{font-size:.86rem;color:var(--ink-soft);flex:1}.card-link{font-family:var(--font-mono);font-size:.78rem;color:var(--accent-ink);margin-top:.55rem}.card:hover .card-link{text-decoration:underline}.card.is-hidden{display:none}.foot{margin-top:clamp(2rem,5vw,3.5rem);margin-bottom:3rem;padding-top:1.5rem;border-top:1px solid var(--line);display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.foot p{color:var(--ink-soft);font-size:.88rem;flex:1;min-width:200px}.foot-mono{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;color:var(--ink-soft);text-decoration:none}.foot-mono:hover{color:var(--ink)}a:focus-visible,button:focus-visible{outline:3px solid var(--ink);outline-offset:3px}@media(max-width:860px){.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.grid{grid-template-columns:1fr}}
