*{box-sizing:border-box} html:focus-within{scroll-behavior:smooth}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-system);line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:var(--link);text-decoration:none} a:hover{text-decoration:underline;color:var(--link-hover)}
:focus-visible{outline:2px solid var(--link);outline-offset:2px}
.container{max-width:var(--maxw);margin:auto;padding:0 var(--space-5)}
header.site{position:sticky;top:0;background:color-mix(in oklab, var(--bg) 90%, transparent);backdrop-filter:saturate(120%) blur(6px);border-bottom:1px solid var(--border);z-index:10}
nav.primary{display:flex;gap:var(--space-5);align-items:center;justify-content:space-between;padding:var(--space-3) 0}
.nav-links a{padding:6px 10px;border-radius:8px}
main{padding-block:clamp(24px,6vw,48px)}
footer.site{border-top:1px solid var(--border);padding:var(--space-5) 0;color:var(--muted)}
.btn{display:inline-block;padding:10px 14px;border-radius:10px;border:none;background:var(--accent);color:var(--accent-contrast);box-shadow:var(--shadow-1);transition:transform .15s ease, box-shadow .15s ease}
.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-2);text-decoration:none}
.hero{padding:clamp(24px,6vw,72px) 0 clamp(12px,6vw,12px) 0}
.hero h1{font-size:clamp(28px,6vw,52px);line-height:1.1;margin:0 0 var(--space-3)}
.hero p{color:var(--muted);margin:0 0 var(--space-5)}
.grid{display:grid;gap:var(--space-5)}
@media (min-width:720px){.grid.cards{grid-template-columns:repeat(2,1fr)}}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);box-shadow:var(--shadow-1);transition:transform .15s ease, box-shadow .15s ease, border-color .15s}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-2);border-color:color-mix(in oklab,var(--border),var(--accent) 20%)}
.card-title{display:flex;align-items:center;gap:var(--space-3);margin-top:0}
.card-icon{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in oklab,var(--accent) 18%,transparent);color:var(--accent)}
.card-icon svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.65;fill:none;stroke-linecap:round;stroke-linejoin:round}
.meta{color:var(--muted);font-size:.92rem}
.tag{display:inline-block;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:var(--surface);margin-right:6px}
.skip-link{position:absolute;left:-9999px} .skip-link:focus{left:8px;top:8px;background:var(--surface);padding:8px;border:1px solid var(--border);border-radius:8px}
