/* 全站交互底座。只规范网页控件，不接管安全屋或游戏画布。 */
:root { --ui-focus:#9b402b; --ui-control:44px; }
[data-theme="dark"] { --ui-focus:#edc84c; }
html { -webkit-text-size-adjust:100%; scroll-padding-top:24px; }
body { overflow-wrap:break-word; }
:where(button,input,select,textarea) { font:inherit; }
:where(button,a,summary,label,select) { -webkit-tap-highlight-color:transparent; }
:where(button,summary) { touch-action:manipulation; }
body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline:3px solid var(--ui-focus); outline-offset:3px;
}
body :is(input,select,textarea):focus-visible { outline-offset:2px; }
body :is(button,input,select,textarea):disabled { cursor:not-allowed; }
:where(input:not([type="radio"]):not([type="checkbox"]),select,textarea) { max-width:100%; }
:where(p,li,dd,legend,h1,h2,h3) { overflow-wrap:break-word; }
:where(main,fieldset) { min-width:0; }
.skip-link { position:fixed; top:-100px; left:16px; z-index:110; padding:12px 18px; background:#edc84c; color:#22211e; font-size:16px; }
.skip-link:focus { top:12px; }

/* 栏目和返回入口：选中状态同时有字重和边线，避免只靠颜色。 */
.site-nav,.nav-in,.campus-topbar { gap:16px; }
.nav-links a[aria-current="page"],.nav-links>a.on { font-weight:800; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:8px; }
:is(.ds-header-links,.aw-nav-links,.buddy-nav,.lab-nav-links,.ipip-header-links) { flex-wrap:wrap; gap:8px 20px; }
:is(.ds-header-links,.aw-nav-links,.buddy-nav,.lab-nav-links,.ipip-header-links) a { min-height:44px; display:inline-flex; align-items:center; font-size:14px; }
:is(.site-footer,.foot-links,.campus-footer__links) a { display:inline-flex; align-items:center; min-height:44px; }
.site-footer,.disclaimer,.campus-footer__brand span { font-size:13px; }

/* 测评：辅助信息仍可读；下一题与回看区保持自然文档流。 */
.decision-page :is(.ds-kicker,.ds-small,.ds-facts dd,.ds-illustration figcaption,.ds-local p,.ds-notice,.ds-progress-line,.ds-question-form legend small,.ds-meter-labels,.ds-consent,.ds-form-fields label,.rp-sync,.rp-badge) { font-size:14px; }
.decision-page :is(.ds-choice span,.ds-endpoints b) { font-size:14px; }
.decision-page .ds-question-nav button { width:44px; height:44px; font-size:14px; }
.decision-page :is(.ds-button,.ds-outline) { font-size:16px; }
.decision-page .ds-question-form legend { line-height:1.55; }
.decision-page .ds-choice { padding:16px 8px; }
.decision-page .ds-choice span { max-width:none; }
.decision-page .ds-entry-actions { align-items:stretch; }
.decision-page .ds-entry-actions :is(.ds-button,.ds-outline) { flex:1 1 auto; }
.decision-page :is(.ds-share-box input,.ds-form-fields input,#rp-nick) { font-size:16px; }
.buddy-page :is(.buddy-kicker,.buddy-eyebrow,.buddy-meta,.buddy-howto li,.buddy-howto li b,.buddy-disclaimer,.buddy-about p,.buddy-qmeta,.buddy-first-thought,.buddy-chosen,.buddy-tip,.buddy-result-note,.buddy-status,.buddy-share-head p,.buddy-card-bottom) { font-size:13px; }
.buddy-page :is(.buddy-option,.buddy-share button,.buddy-result-actions a,.buddy-result-actions button) { font-size:15px; }
.buddy-page .buddy-howto { gap:16px; }
.buddy-page .buddy-about summary { min-height:44px; }
.buddy-page :is(.buddy-disclaimer,.buddy-result-note) { color:#615e55; }
.awareness-page :is(.aw-private,.aw-facts dd,.aw-cover figcaption,.aw-topic-line span,.aw-phase,.aw-stepline,.aw-topic-result small,.aw-result-block>p,.aw-result-boundary,.aw-review>p,.aw-sources li,.aw-practice p) { font-size:14px; }
.awareness-page .aw-option { font-size:16px; }
.awareness-page .aw-rating .aw-option span { font-size:14px; }
.awareness-page .aw-option.is-selected { border-color:var(--aw-rust); box-shadow:inset 3px 0 var(--aw-rust); }

/* 管理与账户：表格局部滚动，表头保留；不挤压整个页面。 */
.page-admin :is(.ad-tab,.ad-btn,.ad-row-control select) { min-height:44px; }
.page-admin .ad-form label { min-width:0; }
.page-admin :is(.ad-form input,.ad-form select,.ad-form textarea) { font-size:16px; }
.page-admin .ad-tablewrap { max-width:100%; border:1px solid var(--line); border-radius:3px; overscroll-behavior-inline:contain; }
.page-admin .ad-table th { position:sticky; top:0; z-index:1; background:var(--panel-alt); color:var(--ink); font-weight:700; }
.page-admin .ad-table td { border-color:var(--line); }
.page-admin .ad-table tbody tr:hover { background:var(--panel-alt); }
.page-admin .ad-table td code { white-space:normal; overflow-wrap:anywhere; }
.auth-modal__card { overscroll-behavior:contain; }
.auth-modal__close { min-width:44px; min-height:44px; }
.auth-modal__title { padding-right:34px; }
.auth-modal__card :is(input,.auth-select,.auth-textarea) { font-size:16px; }
.auth-pw__eye { min-width:44px; min-height:44px; right:2px; }
.auth-pw input { padding-right:50px; }
.auth-toast { max-width:calc(100vw - 32px); overflow-wrap:anywhere; }

/* 新闻筛选、题库与游戏外壳；不更改棋盘、3D坐标及 HUD 尺寸。 */
.campus-topbar nav a { min-height:44px; font-size:14px; }
.masthead nav { flex-wrap:wrap; }
.masthead a,.masthead button { min-height:44px; display:inline-flex; align-items:center; }
.bank-filters { align-items:stretch; }
.bank-filters label { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.bank-filters select { min-height:44px; min-width:0; max-width:100%; font-size:16px; }
.bank-question summary { min-height:44px; padding:10px 0; font-weight:700; }
.bank-question details[open] { border-left:3px solid #a65336; padding-left:16px; }
.bank-question .bank-meta { font-size:14px; }
.site-bar { flex-wrap:wrap; }
.site-bar a,.site-bar button { min-height:44px; }
.game-page__back { text-underline-offset:4px; }

@media(max-width:700px) {
  :is(.ds-header-links,.aw-nav-links,.buddy-nav,.lab-nav-links,.ipip-header-links) { width:100%; gap:4px 18px; border-top:1px solid var(--line,#d5d1c8); padding:8px 0; }
  .decision-page .site-nav { flex-wrap:wrap; padding-top:12px; }
  .decision-page .ds-header-links a:last-child { display:inline-flex; }
  .decision-page .ds-options { grid-template-columns:1fr; gap:8px; }
  .decision-page .ds-choice { min-height:52px; flex-direction:row; justify-content:flex-start; text-align:left; padding:12px 16px; gap:14px; }
  .decision-page .ds-choice span { font-size:16px; }
  .decision-page .ds-choice input { flex:none; }
  .decision-page .ds-endpoints { gap:18px; margin:16px 0; }
  .decision-page .ds-controls { gap:10px; }
  .decision-page .ds-controls :is(.ds-button,.ds-outline) { flex:1 1 auto; }
  .page-admin .ad-profile__body dl { flex-wrap:wrap; }
  .bank-filters label { flex:1 1 100%; }
  .bank-filters select { flex:1; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; }
}

/* 2026-10-07 首轮 UI 验收字号补齐：内容性注释与入口说明不低于 13px，沿用既有页面作用域与组件。 */
.buddy-page .buddy-cover :is(.buddy-cover-top,.buddy-cover-foot) { font-size:13px; }
.buddy-page .buddy-cover-copy :is(small,span) { font-size:13px; }
.decision-page .ds-extra-entry :is(p,span) { font-size:13px; }
.ipip-page .ipip-draft-note { font-size:13px; }
.ipip-page .ipip-art :is(.ipip-cover-tag,figcaption) { font-size:13px; }
.ipip-page .ipip-entry-route :is(span,b) { font-size:13px; }
.ipip-page .ipip-next-entry p { font-size:13px; }
.auth-note { font-size:13px; }
body .hero-anno--tl, body .practice-footer, body .practice-news-list li>span { font-size:13px; }
body .nav-links a { font-size:14px; }
.brand span { font-size:13px; }

/* 2026-10-11 360px 验收触控目标补齐：独立页脚/返回链接与品牌字标至少 44px 高，复选/单选至少 20px，折叠摘要与题库操作链接补足。 */
:is(.site-foot,.site-footer,.foot,footer) a,
:is(.site-bar,.nav-in,.campus-topbar) .wordmark,
:is(.sidebar-logo,.brand,.nav-brand,.footer-brand,.campus-brand) {
  display: inline-flex; align-items: center; min-height: 44px;
}
input[type="checkbox"], input[type="radio"] { min-width: 20px; min-height: 20px; }
summary { padding-top: 8px; padding-bottom: 8px; }
:is(.primary-link,.plain-link,.text-link,#teacher-download,#record-download) { display: inline-flex; align-items: center; min-height: 44px; }

/* 2026-10-08：封面纸色较深，正文性小字使用更深的陶土色。 */
.buddy-page .buddy-cover-copy small { color:#8c3f2a; }
