:root{--bg:#f5f3ee;--paper:#fffdf9;--ink:#1d1c1a;--muted:#5e5a55;--line:#d8d2c8;--blue:#0e5bd8;--red:#b63b2f;--shadow:8px 8px 0 rgba(0,0,0,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,sans-serif;background:var(--bg);color:var(--ink)}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}header{padding:24px 20px 8px}.wrap{max-width:1180px;margin:0 auto}.kicker{text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:var(--red);font-weight:700}h1,h2,h3{font-family:'Source Serif 4',Georgia,serif;margin:0 0 10px}h1{font-size:clamp(2.1rem,5vw,4rem);line-height:1.03}h2{font-size:clamp(1.5rem,3vw,2.2rem)}p,li{line-height:1.55}nav.top{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 6px}nav.top a{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);padding:10px 14px;border-radius:10px;font-weight:600}.hero,.panel,.card,.stat,.source,.workflow,table.compare{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px}.hero{padding:24px;margin:16px 0 24px}.grid{display:grid;gap:16px}.grid.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:22px 0}.stat{padding:18px}.stat .num{font-size:2rem;font-weight:800}main{padding:0 20px 40px}.section{margin:28px 0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.card{padding:18px}.card h3{margin-bottom:8px;font-size:1.45rem}.badges{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 12px}.badge{font-size:12px;border:1px solid var(--line);border-radius:999px;padding:4px 9px;background:#f1ede5;color:#433f39}.muted{color:var(--muted)}.two-col{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}@media (max-width:860px){.two-col{grid-template-columns:1fr}}.panel{padding:20px}footer{padding:30px 20px 60px;color:var(--muted)}input.search,select.filter{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:white;font-size:16px}.filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin-bottom:18px}@media (max-width:760px){.filters{grid-template-columns:1fr}}table.compare{width:100%;border-collapse:collapse;overflow:hidden}table.compare th,table.compare td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}table.compare th{background:#efe9de;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.workflow,.source{padding:18px;margin-bottom:14px}.small{font-size:14px}code{background:#efe9de;padding:2px 6px;border-radius:6px}