:root{
  --bg:#ffffff; --fg:#111; --muted:#444; --border:#e6e6e6; --link:#0645ad;
  --max:1100px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background:var(--bg); color:var(--fg); line-height:1.55;
}
a{color:var(--link)}
a:focus, button:focus, input:focus{outline:3px solid #000; outline-offset:2px}
.skip-link{
  position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip-link:focus{left:12px; top:12px; width:auto; height:auto; padding:10px 12px; background:#fff; border:2px solid #000; z-index:9999}
header{
  border-bottom:1px solid var(--border); background:#fff;
}
.navbar{
  max-width:var(--max); margin:0 auto; padding:14px 16px; display:flex; gap:14px;
  align-items:center; justify-content:space-between; flex-wrap:wrap;
}
.brand{font-weight:700; letter-spacing:.2px}
.brand small{font-weight:500; color:var(--muted)}
nav ul{list-style:none; margin:0; padding:0; display:flex; gap:12px; flex-wrap:wrap}
nav a{text-decoration:none; padding:6px 8px; border-radius:8px}
nav a[aria-current="page"]{background:#f3f3f3}
.lang{
  display:flex; gap:8px; align-items:center;
}
main{max-width:var(--max); margin:0 auto; padding:22px 16px}
.hero{
  padding:18px 16px; border:1px solid var(--border); border-radius:16px; background:#fafafa;
}
.grid{
  display:grid; gap:14px; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  margin-top:14px;
}
.card{
  border:1px solid var(--border); border-radius:16px; padding:14px 14px; background:#fff;
}
.card h3{margin-top:0}
.muted{color:var(--muted)}
kbd{border:1px solid var(--border); border-bottom-width:2px; padding:2px 6px; border-radius:6px; background:#f9f9f9}
table{
  width:100%; border-collapse:collapse; margin:10px 0 18px 0;
}
th, td{border:1px solid var(--border); padding:10px; vertical-align:top}
th{background:#f6f6f6; text-align:left}
details{border:1px solid var(--border); border-radius:14px; padding:10px 12px; background:#fff}
details + details{margin-top:10px}
footer{
  border-top:1px solid var(--border); background:#fff;
}
.footer{
  max-width:var(--max); margin:0 auto; padding:14px 16px; color:var(--muted); font-size:0.95rem;
}
.badge{
  display:inline-block; padding:2px 8px; border:1px solid var(--border); border-radius:999px; background:#f8f8f8;
  font-size:.9rem;
}
.notice{
  padding:10px 12px; border:1px solid var(--border); border-radius:12px; background:#fffdf2;
}
