:root{
  --bg:#ffffff;
  --panel:#f6f7f9;
  --text:#111827;
  --muted:#4b5563;
  --border:#e5e7eb;
  --link:#1d4ed8;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  line-height:1.6;
}

a{color:var(--link);text-decoration:none}
a:hover,a:focus{text-decoration:underline}

.wrap{max-width:1200px;margin:0 auto;padding:24px}

.site-header{border-bottom:1px solid var(--border);background:var(--bg)}
.site-nav{display:flex;flex-wrap:wrap;gap:14px;font-size:14px}
.site-nav a{color:var(--text)}

.kicker{margin:0 0 10px 0;color:var(--muted);font-size:14px}
h1{margin:0 0 12px 0;line-height:1.25;font-size:30px}
h2{margin:24px 0 10px 0;line-height:1.25;font-size:20px}
p{margin:0 0 14px 0}
ul{margin:0 0 14px 20px}

.panel{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:10px;
  padding:14px 16px;
}

.meta{color:var(--muted);font-size:14px}
.related ul{padding-left:18px}

.site-footer{border-top:1px solid var(--border);color:var(--muted);font-size:13px}

img,video{max-width:100%;height:auto}

@media (max-width:640px){
  .wrap{padding:16px}
  h1{font-size:26px}
  .site-nav{flex-direction:column;align-items:flex-start;gap:10px}
  .site-nav a{display:block;padding:6px 0}
}

@media (prefers-reduced-motion:no-preference){
  a{transition:color 120ms ease}
}
