:root {
  --bg: #ffffff; --fg: #10262b; --muted: #5b6f72; --line: #e3e9e8; --accent: #0a9662;
  --accent-soft: #e5f6ef; --warn-soft: #fff1ea; --warn: #b8471b; --header: #0f4449;
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root { --bg: #0d1a1d; --fg: #e8f0ef; --muted: #9db1b0; --line: #22393c; --accent: #3ccf93;
          --accent-soft: #123229; --warn-soft: #34201a; --warn: #ffb08f; --header: #0a2a2f; }
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--fg);
       font: 17px/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Apple SD Gothic Neo",
             "PingFang SC", "Noto Sans CJK", Roboto, sans-serif; }
header { background: var(--header); color: #fff; padding: 12px 16px; display: flex; flex-wrap: wrap;
         align-items: center; justify-content: space-between; gap: 8px 16px; }
header a { color: #fff; text-decoration: none; }
.brand { display: flex; align-items: center; gap: 10px; font-weight: 700; font-size: 18px; }
.brand img { border-radius: 7px; }
nav { display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: 15px; }
nav a { opacity: .8; } nav a[aria-current] { opacity: 1; text-decoration: underline; text-underline-offset: 4px; }
main { max-width: 760px; margin: 0 auto; padding: 24px 16px 40px; overflow-wrap: anywhere; }
h1 { font-size: 30px; line-height: 1.25; margin: 12px 0 16px; }
h2 { font-size: 21px; margin: 32px 0 8px; padding-top: 8px; border-top: 1px solid var(--line); }
h3 { font-size: 17px; margin: 24px 0 4px; }
a { color: var(--accent); }
ul { padding-left: 1.3em; } li { margin: 4px 0; }
.lead { font-size: 19px; background: var(--accent-soft); padding: 16px; border-radius: 12px; }
.note { background: var(--warn-soft); color: var(--fg); border-left: 4px solid var(--warn); padding: 12px 16px;
        border-radius: 8px; font-size: 15px; }
.meta { color: var(--muted); font-size: 14px; }
footer { border-top: 1px solid var(--line); color: var(--muted); font-size: 14px; padding: 16px;
         max-width: 760px; margin: 0 auto 24px; }
.copy { margin-top: 8px; }
.langs a { margin-right: 12px; white-space: nowrap; } .langs a[aria-current] { font-weight: 700; color: var(--fg); }
body.picker main { text-align: center; padding-top: 64px; }
body.picker h1 img { border-radius: 16px; }
ul.picker { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; }
ul.picker a { display: block; padding: 14px; border: 1px solid var(--line); border-radius: 12px; text-decoration: none; font-weight: 600; }
