:root{
  --text:#111;
  --muted:#555;
  --line:#d8d8d8;
  --bg:#fff;
  --soft:#f6f6f6;
  --link:#0645ad;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
  font-size:15px;
}
a{color:var(--link); text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:980px; margin:0 auto; padding:16px}

.skip{
  position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip:focus{left:16px; top:16px; width:auto; height:auto; padding:8px 10px; background:#fff; border:1px solid var(--line)}

.site-header{
  border-bottom:1px solid var(--line);
  background:#fff;
}
.brand{display:flex; gap:12px; align-items:center; padding:10px 0}
.brand-mark{
  width:44px; height:44px; border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center;
  font-weight:700; letter-spacing:.5px;
}
.brand-title{font-weight:700; font-size:18px}
.brand-subtitle{color:var(--muted); font-size:13px}

.nav{
  display:flex; gap:14px; flex-wrap:wrap;
  padding:8px 0 14px;
}
.nav a{
  padding:6px 8px;
  border:1px solid transparent;
}
.nav a:hover{border-color:var(--line); background:var(--soft)}

h1{font-size:22px; margin:18px 0 10px}
h2{font-size:16px; margin:0 0 8px}

.notice{
  border:1px solid var(--line);
  background:var(--soft);
  padding:12px;
  margin:12px 0 16px;
}
.notice ul{margin:0; padding-left:18px}
.date{display:inline-block; min-width:92px; color:var(--muted)}

.grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:12px;
}
.card{
  border:1px solid var(--line);
  padding:12px;
  background:#fff;
}
@media (max-width: 820px){
  .grid{grid-template-columns:1fr}
}

.site-footer{
  border-top:1px solid var(--line);
  margin-top:18px;
  background:#fff;
}
.foot-cols{
  display:grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap:12px;
}
.foot-title{font-weight:700; margin-bottom:6px}
.foot-small{color:var(--muted); font-size:13px; margin:10px 0 0}
@media (max-width: 820px){
  .foot-cols{grid-template-columns:1fr}
}
