:root {
  color-scheme: light;
  --bg: #f7f4ee;
  --paper: #fffdf8;
  --ink: #221f1a;
  --muted: #6f6a60;
  --line: #ded6c8;
  --accent: #315f52;
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font: 16px/1.6 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

main {
  width: min(920px, calc(100vw - 32px));
  margin: 0 auto;
  padding: 40px 0 64px;
}

article {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: clamp(24px, 4vw, 48px);
}

h1,
h2 {
  line-height: 1.2;
  margin: 0;
}

h1 {
  font-size: clamp(28px, 4vw, 42px);
  margin-bottom: 8px;
}

h2 {
  font-size: 20px;
  margin-top: 32px;
}

p,
li {
  color: var(--muted);
}

a {
  color: var(--accent);
  font-weight: 650;
  text-decoration: none;
}

a:hover,
a:focus-visible {
  text-decoration: underline;
}

.meta {
  margin: 0 0 28px;
  color: var(--muted);
  font-size: 14px;
}

.notice {
  border-left: 4px solid var(--accent);
  padding: 12px 14px;
  background: color-mix(in srgb, var(--accent) 7%, var(--paper));
  color: var(--ink);
}

html { scroll-padding-top: 144px; }

.public-header,.public-header *{box-sizing:border-box}
.public-header{position:sticky;top:0;z-index:100;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px 16px;border:1px solid rgba(27,31,36,.18);border-radius:24px;padding:14px 16px;background:color-mix(in srgb,#eef1f4 42%,#fff);box-shadow:0 1px 2px rgba(27,31,36,.14),0 2px 6px rgba(27,31,36,.1);margin-bottom:32px;color:#1b1f24;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow:visible}
.public-header .ah-brand{margin:0;color:#1b1f24;text-decoration:none;font:600 28px/1.1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:0;white-space:nowrap}
.public-header .ah-navigation{display:flex;min-width:0;align-items:center;gap:8px;flex-wrap:nowrap;overflow-x:auto;padding:0;background:transparent}
.public-header .ah-navigation__link{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;min-height:44px;border:1px solid rgba(27,31,36,.18);border-radius:20px;padding:0 12px;background:color-mix(in srgb,#eef1f4 54%,#fff);color:#1b1f24;font:500 13px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-decoration:none;white-space:nowrap}
.public-header .ah-navigation__link:hover,.public-header .ah-navigation__link:focus-visible,.public-header .ah-navigation__link[aria-current],.public-header .is-current>summary{border-color:color-mix(in srgb,#2f5e8f 46%,rgba(27,31,36,.18));outline:none;background:color-mix(in srgb,#2f5e8f 10%,#fff)}
.public-explore{position:relative;justify-self:end;align-self:center}
.public-explore>summary{cursor:pointer;list-style:none;gap:8px}
.public-explore>summary::-webkit-details-marker{display:none}
.public-explore-chevron{display:inline-block}
.public-explore[open] .public-explore-chevron{transform:rotate(180deg)}
.public-explore:not([open])>.public-explore-menu{display:none}
.public-header .public-explore-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:2;display:grid;gap:6px;width:240px;max-width:calc(100vw - 48px);padding:8px;background:#fff;border:1px solid rgba(27,31,36,.18);border-radius:16px;box-shadow:0 2px 6px rgba(27,31,36,.14)}
.public-header .public-explore-menu .ah-navigation__link{justify-content:flex-start;width:100%;white-space:normal}
html{scroll-padding-top:144px}
@media(max-width:900px){.public-header{grid-template-columns:minmax(0,1fr) auto}.public-header .ah-brand{grid-column:1;grid-row:1}.public-header .public-explore{grid-column:2;grid-row:1}.public-header .ah-navigation{grid-column:1/-1;grid-row:2}}
@media(max-width:640px){.public-header{gap:10px;border-radius:16px;padding:12px}.public-header .ah-brand{font-size:24px;line-height:1}.public-header .ah-navigation__link{font-size:12px;line-height:1.2;padding:0 6px;border-radius:18px}.public-header .public-home-link{position:sticky;left:0;z-index:1}}

body > .public-header { width: min(1200px, calc(100% - 32px)); margin: 24px auto 0; }
@media(max-width:640px){html{scroll-padding-top:144px}body > .public-header{margin-top:12px}}
