:root { color-scheme: light; --ink: #202925; --paper: #fff; --line: #dce2de; }
* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "Noto Sans CJK SC", "Source Han Sans SC", "思源黑体", "Microsoft YaHei", "PingFang SC", system-ui, sans-serif; font-size: 1rem; line-height: 1.75; overflow-wrap: anywhere; }
a { color: inherit; text-underline-offset: .2em; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid #346b55; outline-offset: 4px; }
.container { width: min(100% - 2rem, 72rem); margin-inline: auto; }
.site-header, .site-footer { padding-block: 1.25rem; }
.site-header { border-bottom: 1px solid var(--line); }
.site-footer { border-top: 1px solid var(--line); }
.site-name { font-size: 1.4rem; font-weight: 700; }
nav ul { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; padding: 0; list-style: none; }
nav ul ul { display: block; padding-inline-start: 1rem; }
.content-area { min-height: 60vh; padding-block: 2rem; }
article + article { margin-top: 2rem; }
img, video { max-width: 100%; height: auto; }
iframe { max-width: 100%; }
pre { overflow: auto; }
table { display: block; max-width: 100%; overflow: auto; }
.custom-logo-link { display: block; max-width: 15rem; }
.screen-reader-text, .skip-link { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip-link:focus { top: 1rem; left: 1rem; width: auto; height: auto; padding: .75rem; clip-path: none; background: white; z-index: 1000; }
@media (min-width: 48rem) { .content-area { padding-block: 3rem; } .site-header > .container { display: flex; align-items: center; flex-wrap: wrap; gap: 2rem; } }
