:root {
  --geo-brand: #2d53c5;
  --geo-text: #343a40;
  --geo-muted: #697386;
  --geo-border: #e5e9f2;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  color: var(--geo-text);
  background: #f7f9fc;
  font-family: "Microsoft YaHei", "PingFang SC", sans-serif;
  line-height: 1.8;
}
a { color: var(--geo-brand); text-underline-offset: 3px; }
a:focus-visible { outline: 2px solid var(--geo-brand); outline-offset: 4px; }
.geo-header { background: #fff; border-bottom: 1px solid var(--geo-border); }
.geo-header nav {
  max-width: 1200px;
  min-height: 76px;
  padding: 16px 24px;
  margin: auto;
  display: flex;
  align-items: center;
  gap: 28px;
  flex-wrap: wrap;
}
.geo-header a { text-decoration: none; }
.geo-logo { margin-right: auto; display: inline-flex; }
.geo-logo img { width: 150px; height: 36px; object-fit: contain; }
.geo-main {
  max-width: 1000px;
  margin: 36px auto;
  padding: 32px 48px;
  background: #fff;
  border: 1px solid var(--geo-border);
  border-radius: 12px;
}
.geo-crumb, .geo-date { font-size: 14px; color: var(--geo-muted); }
h1 { font-size: 30px; line-height: 1.5; margin: 20px 0 12px; overflow-wrap: break-word; }
h2 { font-size: 23px; line-height: 1.5; margin: 36px 0 16px; }
h3 { font-size: 18px; margin: 24px 0 8px; }
p, li { overflow-wrap: break-word; }
li + li { margin-top: 8px; }
ul, ol { padding-left: 24px; }
.geo-answer { background: #f1f5ff; border-left: 4px solid var(--geo-brand); padding: 20px; }
.geo-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; list-style: none; padding: 0; }
.geo-cards li { border: 1px solid var(--geo-border); padding: 20px; border-radius: 8px; margin: 0; }
.geo-cards h2 { font-size: 18px; margin: 0 0 12px; }
.geo-cards p { font-size: 14px; color: var(--geo-muted); margin: 0; }
.geo-action { border-top: 1px solid var(--geo-border); margin-top: 40px; padding-top: 16px; }
.geo-action a { display: inline-block; padding: 10px 20px; margin: 4px 12px 4px 0; border: 1px solid var(--geo-brand); border-radius: 6px; text-decoration: none; }
.geo-action a:first-of-type { color: #fff; background: var(--geo-brand); }
.geo-footer { text-align: center; padding: 12px 24px 36px; color: var(--geo-muted); font-size: 14px; }
@media (max-width: 700px) {
  .geo-header nav { gap: 16px; padding: 16px; font-size: 14px; }
  .geo-logo { width: 100%; }
  .geo-logo img { width: 128px; }
  .geo-main { margin: 16px 12px; padding: 20px; }
  h1 { font-size: 25px; }
  h2 { font-size: 21px; }
  .geo-cards { grid-template-columns: 1fr; }
}
