/* Base document styles (docs/design-system.md §3, §11). Loaded after tokens.css. */
html{background:var(--ac-bg);color:var(--ac-fg);-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:var(--ac-font-sans);font-size:var(--ac-text-base);line-height:1.5;font-weight:var(--ac-weight-regular);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
:lang(zh-CN){--ac-font-sans:"Inter Variable","Inter",-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Microsoft YaHei",system-ui,sans-serif}
:lang(zh-TW){--ac-font-sans:"Inter Variable","Inter",-apple-system,BlinkMacSystemFont,"PingFang TC","Noto Sans CJK TC","Microsoft JhengHei",system-ui,sans-serif}
:lang(ja){--ac-font-sans:"Inter Variable","Inter",-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans CJK JP","Yu Gothic UI",Meiryo,system-ui,sans-serif}
:lang(ko){--ac-font-sans:"Inter Variable","Inter",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans CJK KR","Malgun Gothic",system-ui,sans-serif}
:is(:lang(zh-CN),:lang(zh-TW),:lang(ja),:lang(ko)) body{line-height:1.7}
:is(:lang(zh-CN),:lang(zh-TW),:lang(ja),:lang(ko)) :is(h1,h2,h3,h4){letter-spacing:0}
:is(h1,h2,h3,h4){text-wrap:balance}
::selection{background:var(--ac-accent-soft);color:var(--ac-fg)}
:focus-visible{outline:2px solid var(--ac-focus);outline-offset:2px}
@media(forced-colors:active){:focus-visible{outline-color:Highlight}}

/* Skip link: visible only on keyboard focus. */
.ac-skip-link{position:fixed;top:var(--ac-space-2);left:var(--ac-space-2);z-index:var(--ac-z-toast);padding:10px 16px;border-radius:var(--ac-radius-md);background:var(--ac-primary);color:var(--ac-primary-fg);font-weight:var(--ac-weight-medium);text-decoration:none;transform:translateY(-160%);transition:transform var(--ac-duration-fast) var(--ac-ease-standard)}
.ac-skip-link:focus-visible{transform:none}

.ac-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ac-tabular{font-variant-numeric:tabular-nums}

@media(prefers-reduced-motion:reduce){.ac-skip-link{transition:none}}
