/* 书卷展陈 · 内页、导航与交互。排在基础主题和会员样式之后。 */
.guji-icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; pointer-events: none; }
.guji-icon { display: inline-block; width: 24px; height: 24px; flex: 0 0 auto; vertical-align: middle; }
.guji-header-inner { gap: clamp(28px, 3vw, 44px); width: 100%; max-width: var(--guji-measure); box-sizing: border-box; }
/* 导航项间距。2026-09-05 由 24px 收到 16px：页头加了「导读」入口后是 6 项，
   逢月卡／临期这类较宽的会员牌就会把导航挤成两行（页头内容区被 1320px 封顶，
   屏幕再宽也不会更宽，所以这不是大屏能解决的）。未登录那侧只有注册／登录两项，
   不参与这场争抢，仍保留 24px。 */
header nav#top-nav > ul.navigation { column-gap: 16px; }
header nav#top-nav > .site-user-guest { column-gap: 24px; }
header nav#top-nav .navigation > li > a.guji-nav-link,
header nav#top-nav .navigation > li > .parent-link > a.guji-nav-link {
    display: inline-flex; align-items: center; gap: 7px; position: relative;
    font-size: 14px; padding-inline: 6px; border-bottom-color: transparent;
}
.guji-nav-link > .guji-icon { width: 20px; height: 20px; color: var(--guji-gold); transition: transform .2s ease, color .2s ease; }
.guji-nav-link::after { content: ''; position: absolute; height: 1px; left: 10px; right: 10px; bottom: 17px; background: var(--guji-cinnabar); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.guji-nav-link:hover::after, .guji-nav-link:focus-visible::after,
.navigation > .active > .guji-nav-link::after, .navigation > .active > .parent-link > .guji-nav-link::after,
.guji-nav-link[aria-current="page"]::after { transform: scaleX(1); }
.guji-nav-link:hover > .guji-icon, .guji-nav-link:focus-visible > .guji-icon { transform: translateY(-2px); color: var(--guji-cinnabar); }
.navigation > .active > a .guji-icon, .navigation > .active > .parent-link > a .guji-icon { color: var(--guji-cinnabar); }
header nav ul.navigation > li.parent > ul.open { animation: guji-menu-enter .18s ease-out both; }

/* 分类下拉复用首页的线稿图标；文字与图标各占一列，长名称可换行。 */
header nav#top-nav ul.navigation li a.guji-category-nav-link {
    display: flex; align-items: center; gap: 10px; min-height: 44px;
}
header nav#top-nav a.guji-category-nav-link > .guji-cat-icon {
    display: block; width: 20px; height: 20px; flex: 0 0 20px;
    margin: 0; color: var(--guji-gold);
}
header nav#top-nav a.guji-category-nav-link > span { min-width: 0; white-space: normal; }
header nav#top-nav a.guji-category-nav-link:hover > .guji-cat-icon,
header nav#top-nav a.guji-category-nav-link:focus-visible > .guji-cat-icon,
header nav#top-nav a.guji-category-nav-link[aria-current="page"] > .guji-cat-icon { color: var(--guji-cinnabar); }

/* 卷首：馆藏青黛、分类赭金、导读朱砂，检索用素纸。 */
.guji-page-heading {
    --heading-bg: #203f3c; --heading-ink: #f5eddb; --heading-muted: #d4dacb; --heading-accent: #e0c79b;
    display: flex; justify-content: space-between; gap: 36px; align-items: center;
    position: relative; overflow: hidden; min-height: 218px; margin: 0 0 31px;
    padding: 35px 42px; background-color: var(--heading-bg); color: var(--heading-ink);
    background-image: linear-gradient(115deg, #ffffff06, #ffffff00 70%), repeating-linear-gradient(90deg, #ffffff03 0 1px, transparent 1px 20px);
    border: 1px solid var(--guji-rule); border-radius: 2px;
}
.guji-page-heading::before { content: ''; pointer-events: none; position: absolute; inset: 10px; border: 1px solid #d1b98c40; }
.guji-heading-ochre { --heading-bg: #eae2d1; --heading-ink: #443d2d; --heading-muted: #635e4f; --heading-accent: #745a30; }
.guji-heading-red { --heading-bg: #753d34; --heading-ink: #fff0d9; --heading-muted: #ead7c0; --heading-accent: #e7cd9f; }
.guji-heading-paper { --heading-bg: #eeece2; --heading-ink: #293a36; --heading-muted: #58615a; --heading-accent: #8e352e; }
.guji-page-heading-copy { position: relative; min-width: 0; max-width: 48em; }
.guji-page-overline { display: flex; align-items: center; gap: 11px; font-size: 12px; letter-spacing: .12em; color: var(--heading-accent); margin-bottom: 13px; }
.guji-page-overline > span { display: block; width: 7px; height: 7px; background: currentColor; transform: rotate(45deg); }
#content .guji-page-heading h1 { font-family: var(--guji-serif); color: var(--heading-ink); font-size: clamp(28px, 3vw, 40px); font-weight: 500; line-height: 1.5; margin: 0 0 12px; letter-spacing: .1em; overflow-wrap: anywhere; }
.guji-page-heading p { color: var(--heading-muted); font-size: 15px; line-height: 1.85; margin: 0; max-width: 38em; }
.guji-page-emblem { position: relative; flex: 0 0 148px; display: flex; align-items: center; flex-direction: column; gap: 16px; color: var(--heading-accent); }
.guji-page-emblem::before { content: ''; position: absolute; width: 138px; height: 138px; border: 1px solid currentColor; opacity: .25; border-radius: 50%; top: -6px; }
.guji-page-emblem .guji-icon { width: 76px; height: 76px; stroke-width: .8; }
.guji-page-emblem > span { font: 12px var(--guji-serif); letter-spacing: .32em; }
.guji-catalog-summary { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding-bottom: 15px; font-size: 13px; color: var(--guji-ink-soft); }
.guji-catalog-summary strong { font: 24px Georgia, var(--guji-serif); color: var(--guji-cinnabar); padding: 0 5px; }
.guji-catalog-summary > span:last-child { align-self: center; font-size: 12px; letter-spacing: .08em; }
.guji-catalog-page .browse-controls, .guji-categories-page .browse-controls { background: #eeeadf; padding: 15px 18px; border: 1px solid var(--guji-rule); margin-bottom: 30px; gap: 16px; }
.browse-controls .sorting select, .browse-controls .sorting button { min-height: 44px; font-size: 14px; }
.browse-controls .sorting button { padding-inline: 20px; }
.guji-catalog-page ul.resource-list > li.item { border-bottom: 1px solid var(--guji-rule); padding-bottom: 18px; }
.guji-catalog-page ul.resource-list > li.item .resource-name { line-height: 1.7; min-height: 78px; }
.guji-categories-page ul.resource-list:has(> li.item-set) { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.guji-categories-page ul.resource-list > li.item-set.resource { min-height: 209px; position: relative; border-top-width: 2px; padding: 13px; }
.guji-categories-page ul.resource-list > li.item-set.resource::after { content: ''; position: absolute; inset: 8px; pointer-events: none; border: 1px solid #ffffff8c; }
.guji-categories-page ul.resource-list > li.item-set.resource > a.resource-link { align-items: flex-start; justify-content: flex-start; min-height: 158px; gap: 22px; padding: 22px 24px 16px; }
.guji-categories-page ul.resource-list > li.item-set.resource .guji-cat-icon { width: 44px; height: 44px; stroke-width: 1.1; }
.guji-categories-page ul.resource-list > li.item-set.resource .resource-name { font-size: 25px; letter-spacing: .12em; }
.guji-categories-page ul.resource-list > li.item-set.resource .description { padding: 0 24px 18px; font-size: 13px; }
/* 总览页卡片更大，藏量随之放大一档；间距靠负外边距从 22px 的 gap 里收回来。 */
.guji-categories-page ul.resource-list > li.item-set.resource .guji-cat-count-tag { margin-top: -11px; font-size: 13px; }
.guji-categories-page ul.resource-list > li.item-set.resource .guji-cat-count-tag strong { font-size: 19px; }
.guji-cat-head { padding: 30px 35px; background: #eae2d1; border: 1px solid #d5c6ab; border-left: 3px solid var(--guji-gold); }

/* 原书详情：书影与著录信息组成卷首，导读和阅读工作区各有边界。 */
.guji-item-head { display: grid; grid-template-columns: 174px minmax(0,1fr); gap: 36px; padding: 32px 38px; align-items: center; background: linear-gradient(115deg,#eee8d9,var(--guji-card) 65%); border-top-color: var(--guji-jade); }
.guji-item-portrait { position: relative; height: 218px; display: flex; align-items: center; justify-content: center; padding: 14px 18px; border: 1px solid #d7cebc; background: #e6ddcc; box-shadow: inset 0 0 0 6px #f5efdf80; }
.guji-item-portrait img { position: relative; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; box-shadow: 5px 7px 14px #362e272b; }
.guji-portrait-fallback { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 15px; color: #705d3e; font: 13px var(--guji-serif); letter-spacing: .12em; }
.guji-portrait-fallback .guji-icon { width: 48px; height: 48px; }
.guji-item-portrait:has(img:not([hidden])) .guji-portrait-fallback { visibility: hidden; }
.guji-item-heading-copy { min-width: 0; }
.guji-item-heading-copy .guji-item-kicker { margin: 0 0 12px; font-size: 12px; }
.guji-item-head .guji-item-heading-copy h1 { margin: 0; font-size: clamp(24px,2.5vw,34px); line-height: 1.65; padding: 0; font-weight: 500; }
.guji-item-heading-copy h1::after { display: none; }
.guji-item-byline { font-size: 14px; color: var(--guji-ink-soft); margin: 12px 0 0; }
/* 读者投稿标（2026-09-11）。书名底下一行小字，不抢书名的位置，
   但读者在点开阅读之前一定会扫到——这部书的来路他有权先知道。 */
.guji-item-contrib { font-size: 13px; color: var(--guji-ink-soft); margin: 8px 0 0; }
.guji-item-contrib-tag {
    display: inline-block;
    margin-right: 8px;
    padding: 1px 8px;
    font-size: 12px;
    color: var(--guji-gold-deep, #8a6d3b);
    background: var(--guji-paper-deep, #EBE5D7);
    border-radius: 2px;
}
.guji-item-heading-copy .guji-actions { margin-top: 23px; justify-content: flex-start; flex-wrap: wrap; }
.guji-item-head .guji-download { border-radius: 2px; box-shadow: 0 4px 12px #753d3410; }
.guji-breadcrumb { font-size: 13px; color: var(--guji-ink-soft); margin: 18px 0; }
body.item.show .guji-brief { position: relative; padding: 30px 36px; background: var(--guji-card); border: 1px solid var(--guji-rule); border-left: 3px solid var(--guji-gold); margin: 28px 0; }
#content .guji-brief .guji-brief-title { font-size: 25px; margin: 0 0 22px; color: var(--guji-jade); font-weight: 500; }
.guji-brief-body { max-width: 59em; }
.guji-brief-body p { font-size: 16px; line-height: 2; color: var(--guji-ink-soft); }
.guji-brief .guji-brief-note { padding-top: 14px; margin-top: 22px; border-top: 1px solid var(--guji-rule-soft); font-size: 12px; }
.guji-reading { padding-top: 23px; border-top: 1px solid var(--guji-rule); }
.guji-explain-header, .guji-explain-head { background: #e8e9df; border-color: var(--guji-rule); }
.guji-reading-split { background: var(--guji-paper-deep); }
.guji-reading-split:hover, .guji-reading-split:focus-visible { background: #c7c8af; }
body.item.show .property { border-bottom: 1px solid var(--guji-rule-soft); padding-block: 14px; }
body.item.show .property h4 { font-size: 14px; color: var(--guji-ink-faint); letter-spacing: .1em; }
body.item.show .property .value { font-size: 15px; }

/* 检索与导读：保留结果分组，增加目录式边界与可扫读的信息。 */
.guji-results-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 0 0 16px; border-bottom: 1px solid var(--guji-rule); }
#content .guji-results-heading h2 { margin: 0; font-size: 25px; font-weight: 500; }
.guji-results-heading > span { font-size: 12px; color: var(--guji-ink-faint); }
.guji-advanced-page #advanced-search { padding: 28px 32px; background: var(--guji-card); border: 1px solid var(--guji-rule); }
.guji-advanced-page #advanced-search .field { padding-block: 16px; border-bottom: 1px solid var(--guji-rule-soft); }
.guji-advanced-page #advanced-search :is(input:not([type=checkbox]),select,button) { min-height: 44px; }
body.index.search .results { max-width: none; background: var(--guji-card); border: 1px solid var(--guji-rule); padding: 28px 32px; margin: 25px 0; }
body.index.search .results > ul { margin: 15px 0 23px; display: grid; grid-template-columns: repeat(auto-fill,minmax(380px,1fr)); gap: 0 30px; padding: 0; list-style: none; }
body.index.search .results > ul > li { width: auto; margin: 0; padding: 13px 0; border-bottom: 1px solid var(--guji-rule-soft); }
body.index.search .results > ul > li > a { display: flex; align-items: center; gap: 14px; min-height: 60px; color: var(--guji-ink); font: 18px/1.7 var(--guji-serif); padding: 8px; transition: background .18s, color .18s; }
body.index.search .results > ul > li > a:hover { color: var(--guji-cinnabar); background: #f0eadc; }
body.index.search .results > ul > li > a img { width: 52px; height: 52px; object-fit: contain; background: #e9e3d5; padding: 4px; }
.results > a:link, .results > a:visited { display: inline-flex; padding: 9px 19px; min-height: 44px; border: 1px solid var(--guji-rule); color: var(--guji-cinnabar); font-size: 13px; }
.guji-guides-page .guji-guides-count { padding: 0 0 18px; border-bottom: 1px solid var(--guji-rule); font-size: 14px; }
ul.guji-guide-cards { gap: 24px; }
ul.guji-guide-cards > li { display: flex; flex-direction: column; position: relative; background: var(--guji-card); padding: 27px 29px; border: 1px solid var(--guji-rule); border-top: 2px solid var(--guji-gold); transition: transform .22s, box-shadow .22s, border-color .22s; }
.guji-guide-card-top { display: flex; align-items: center; gap: 10px; color: #806133; margin-bottom: 21px; font-size: 12px; letter-spacing: .12em; }
ul.guji-guide-cards h2, ul.guji-guide-cards h3 { font-weight: 500; }
ul.guji-guide-cards h2 a, ul.guji-guide-cards h3 a { color: var(--guji-jade); }
/* 导读卡片的书名一律只留一行，把卡片的重心让给导读正文。
   馆藏书名是著录式全称（「本草纲目.卷01至卷25.总52卷.……金陵胡成龙刻本」），
   完整排下来要三四行，会把导读正文挤到卡片下缘，同一行卡片还高低不齐——
   而读者是靠开头那几个字认书的。
   截断只发生在视觉上：完整书名仍在 HTML 里，屏幕阅读器与搜索引擎读到的没有变。
   规则必须落在链接本身、并把它变成块级：书名整个包在链接里，
   只写在标题上省略号不会出现，文字会被硬切在卡片边缘。
   首页板块（h3）与 /guides 列表页（h2）用的是同一套卡片，这里一并管住。 */
ul.guji-guide-cards h2, ul.guji-guide-cards h3 { overflow: hidden; }
ul.guji-guide-cards h2 a, ul.guji-guide-cards h3 a { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
ul.guji-guide-cards > li > p { font-size: 15px; line-height: 1.95; margin-bottom: 24px; }
.guji-guide-label { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-top: 15px; border-top: 1px solid var(--guji-rule-soft); color: var(--guji-cinnabar); font-size: 12px; }
.guji-guide-label > span { font-size: 22px; }
ul.guji-guide-cards > li:hover { transform: translateY(-4px); border-color: var(--guji-gold); box-shadow: 0 12px 26px #203f3c0d; }

/* 我的古卷云：青黛侧栏、纸色账页和真正可读的数据层级。 */
.gm-center { margin: 0 auto 60px; padding: 0; gap: 30px; }
.gm-center-nav.guji-study-nav { flex: 0 0 218px; padding: 0 0 10px; background: var(--guji-card); border: 1px solid var(--guji-rule); top: 24px; }
.guji-study-brand { display: flex; gap: 12px; align-items: center; padding: 25px 19px; background: var(--guji-jade); color: #f3e6cc; }
.guji-study-brand > .guji-icon { width: 29px; height: 29px; color: var(--guji-gold-lit); }
.guji-study-brand > span { font: 19px/1.6 var(--guji-serif); letter-spacing: .06em; }
.guji-study-brand small { display: block; color: #d4dacb; font: 11px/1.8 var(--guji-sans); letter-spacing: .03em; }
.gm-center-nav.guji-study-nav ul { padding: 10px 8px; }
.gm-center-nav.guji-study-nav li { margin: 4px 0; }
.gm-center-nav.guji-study-nav li a { display: flex; align-items: center; gap: 12px; border: 0; border-left: 2px solid transparent; padding: 13px 11px; min-height: 62px; border-radius: 0; }
.guji-study-nav a .guji-icon { width: 23px; height: 23px; color: var(--guji-gold); transition: transform .2s, color .2s; }
.gm-center-nav.guji-study-nav a.is-active { border-left-color: var(--guji-cinnabar); background: #eee7d7; }
.guji-study-nav a.is-active .guji-icon { color: var(--guji-cinnabar); }
.guji-study-nav a:hover .guji-icon { transform: translateX(2px); }
.guji-study-nav .gm-center-nav-label { font-family: var(--guji-serif); font-size: 17px; color: var(--guji-ink); }
.guji-study-nav .gm-center-nav-hint { font-size: 11px; margin-top: 3px; }
.gm-center-nav.guji-study-nav > .gm-center-logout { margin: 0 19px; padding: 13px 0 4px; min-height: 44px; border-left: 0; }
#content .gm-center-title { font-size: 31px; font-weight: 500; letter-spacing: .05em; line-height: 1.55; margin: 0 0 25px; padding: 14px 0 23px; border-bottom: 1px solid var(--guji-rule); }
.gm-cards { gap: 17px; }
.gm-card { padding: 24px 22px; border-radius: 2px; border-top: 2px solid var(--guji-gold); }
.gm-card:first-child { background: var(--guji-jade); border-color: var(--guji-jade); border-top-color: var(--guji-gold); }
.gm-card:first-child .gm-card-label, .gm-card:first-child .gm-card-note { color: #d4dacb; }
.gm-card:first-child .gm-card-value { color: #f3e6cc; }
.gm-card-label { font-size: 12px; }
.gm-card-value { font-size: 29px; margin-top: 10px; }
.gm-card-note { font-size: 12px; line-height: 1.85; }
.gm-progress-wrap { padding: 20px 22px; background: #eae7dc; border: 1px solid var(--guji-rule); }
.gm-progress { height: 7px; background: #d7d3c5; }
.gm-progress-bar { background: var(--guji-jade); transition: none; }
.gm-center-main > .gm-section, .gm-center-main > .gm-shelf-block { padding: 24px 27px; margin-bottom: 24px; background: var(--guji-card); border: 1px solid var(--guji-rule); }
#content .gm-section > h2, #content .gm-section-head h2 { font-size: 22px; font-weight: 500; margin-bottom: 17px; }
.gm-section table, .gm-center-main .gm-table { font-size: 14px; background: var(--guji-card); }
.gm-section th, .gm-center-main .gm-table th { background: #eae7dc; color: var(--guji-ink-soft); font-size: 13px; }
.gm-section td, .gm-section th { padding: 14px 12px; border-color: var(--guji-rule-soft); }
.gm-shelf-empty { padding: 35px 27px; background: #f0ece1; border: 1px dashed #c7bea7; text-align: center; }
.gm-shelf-empty-title { font-family: var(--guji-serif); font-size: 23px; color: var(--guji-jade); }
.gm-shelf-empty-hint { font-size: 14px; line-height: 1.9; }
.gm-shelf-card { border-color: var(--guji-rule); padding: 19px; border-radius: 2px; transition: border-color .2s, box-shadow .2s; }
.gm-shelf-card:hover { border-color: var(--guji-gold); box-shadow: 0 6px 19px #203f3c0a; }
.gm-shelf-cover { padding: 7px; background: #e6ddcc; border: 1px solid var(--guji-rule); }
.gm-shelf-cover img { object-fit: contain; box-shadow: 2px 3px 7px #362e2726; }
.gm-shelf-progress { color: var(--guji-jade); background: #e6eade; padding: 3px 7px; }
.gm-shelf-lines .gm-shelf-line { padding: 18px 0; border-color: var(--guji-rule-soft); }
.gm-shelf-count { color: var(--guji-cinnabar); background: #eee7d7; border-radius: 2px; padding: 1px 8px; }
.gm-center-main .gm-readonly { display: inline-block; background: #ece9dd; padding: 8px 14px; letter-spacing: .1em; }
.gm-rebind { padding: 13px 17px; border: 1px solid var(--guji-rule); background: #f2eee3; }

/* 会员与登录：同一书房语言，各自保留业务信息与表单。 */
.gmo-page { max-width: 100%; }
.gmo-hero { position: relative; padding: 45px 36px; margin-bottom: 24px; border: 1px solid #48625a; background: var(--guji-jade); }
.gmo-hero::before { content: ''; position: absolute; inset: 11px; border: 1px solid #ddc49a59; pointer-events: none; }
.gmo-hero .gmo-eyebrow { color: var(--guji-gold-lit); letter-spacing: .16em; }
.gmo-hero h1 { color: #f5eddb; font-weight: 500; }
.gmo-hero .gmo-lead { color: #d4dacb; }
.gmo-hero a:link, .gmo-hero a:visited { color: #efd6a7; }
.gmo-free { background: #eae7dc; border: 1px solid var(--guji-rule); padding: 24px 29px; }
.gmo-plan { position: relative; box-shadow: 0 5px 20px #203f3c06; border-radius: 2px; padding: 32px; border-top: 3px solid var(--guji-jade); transition: box-shadow .2s, transform .2s; }
.gmo-plan-annual { border-color: var(--guji-cinnabar); border-top-width: 3px; padding: 31px; background: linear-gradient(160deg,#f3ead9,var(--guji-card) 65%); }
.gmo-plan:hover { box-shadow: 0 10px 26px #203f3c10; transform: translateY(-3px); }
.gmo-plan .gmo-badge { border: 1px solid #c9a57d; background: #f5e7cd; color: #805023; border-radius: 2px; }
.gmo-benefits { border-color: #dbd2be; }
.gmo-benefits li { padding-top: 19px; }
.gmo-price { color: var(--guji-jade); }
/* 套餐链接与按钮使用同一前景色，覆盖通用 a:link/a:visited 的朱砂文字。 */
.gmo-button:link, .gmo-button:visited { color: #fff8ec; }
.gmo-button:not(:disabled):is(:hover, :focus-visible, :active) { color: #fff8ec; background: var(--guji-cinnabar-deep); }
.gmo-button-outline:link, .gmo-button-outline:visited { color: var(--guji-cinnabar); }
.gmo-button-outline:not(:disabled):is(:hover, :focus-visible, :active) { color: var(--guji-cinnabar); background: var(--guji-cinnabar-wash); }
.gmo-faq { padding: 29px 32px; border: 1px solid var(--guji-rule); background: var(--guji-card); }
.gmo-faq details { border-color: var(--guji-rule); }
.gmo-faq summary, .gmo-pack-disclosure > summary, .gm-rebind > summary { min-height: 44px; cursor: pointer; transition: color .18s; }
details[open] > :not(summary) { animation: guji-content-enter .22s ease-out; }
body #content .gm-page { max-width: 600px; padding: 39px 44px; margin: 25px auto 65px; border: 1px solid var(--guji-rule); border-top: 3px solid var(--guji-jade); box-shadow: 0 10px 40px #203f3c09; background: var(--guji-card); }
#content .gm-page .gm-page-title { color: var(--guji-jade); font-size: 32px; font-weight: 500; padding-bottom: 13px; margin: 0; letter-spacing: .08em; }
.gm-page-sub { padding-bottom: 22px; border-bottom: 1px solid var(--guji-rule); font-size: 14px; color: var(--guji-ink-soft); }
.gm-page .gm-field { margin-top: 23px; }
.gm-page .gm-field input:not([type=hidden]):not([type=checkbox]), .gm-center .gm-field input:not([type=hidden]):not([type=checkbox]) { min-height: 46px; background: #f8f5ec; }
.gm-page-foot { margin-top: 29px; padding-top: 19px; border-top: 1px solid var(--guji-rule-soft); }
.guji-editorial-page .blocks { padding: 12px 38px 35px; border: 1px solid var(--guji-rule); background: var(--guji-card); }
body.guji-editorial-page { --guji-measure: 1120px; }
.guji-editorial-page .blocks p { line-height: 2; }
.guji-editorial-page .blocks blockquote { margin: 28px 0; padding: 23px 27px; background: #eee8da; border-left: 3px solid var(--guji-gold); }

/* 动效只响应操作与首次出现；内容不预先隐藏，也不依赖动画才能使用。 */
.guji-arrived { animation: guji-content-enter .32s ease-out both; }
.guji-auth:not([hidden]) .guji-auth-panel { animation: guji-menu-enter .18s ease-out both; }
:is(.guji-download,.guji-fav,.gmo-button,.gm-btn,.gm-btn-outline,.guji-back-top) { transition: transform .16s ease, background-color .18s ease, box-shadow .18s ease; }
:is(.guji-download,.guji-fav,.gmo-button,.gm-btn,.gm-btn-outline,.guji-back-top):active:not(:disabled) { transform: translateY(1px); }
.guji-back-top { position: fixed; z-index: 25; bottom: 26px; right: max(18px,calc((100vw - 1430px)/2)); width: 49px; min-height: 60px; display: flex; align-items: center; flex-direction: column; gap: 2px; padding: 9px 6px; background: var(--guji-card); color: var(--guji-jade); border: 1px solid var(--guji-rule); box-shadow: 0 4px 17px #203f3c14; }
.guji-back-top span { font: 12px var(--guji-serif); letter-spacing: .1em; }
.guji-back-top:hover { background: #ebe6d8; border-color: var(--guji-gold); }
.guji-back-top[hidden], .guji-auth-open .guji-back-top { display: none; }
body.item.show .guji-back-top { bottom: calc(100px + env(safe-area-inset-bottom,0px)); }
@keyframes guji-menu-enter { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
@keyframes guji-content-enter { from { opacity: .55; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (min-width: 800px) and (max-width: 1199px) {
    .guji-header-inner { flex-wrap: wrap; gap: 0; padding-top: 15px; }
    header nav#top-nav { flex-basis: 100%; }
    header nav#top-nav > ul.navigation,
    header nav#top-nav > .site-user-guest { column-gap: 12px; }
    header nav#top-nav .navigation > li > a.guji-nav-link, header nav#top-nav .navigation > li > .parent-link > a.guji-nav-link { padding-block: 17px; }
    .guji-nav-link::after { bottom: 9px; }
}
@media (max-width: 1023px) {
    .gm-center { gap: 23px; }
    .gm-center-nav.guji-study-nav { flex-basis: 190px; }
    .gm-center-main > .gm-section, .gm-center-main > .gm-shelf-block { padding: 23px 20px; }
    .guji-item-head { gap: 25px; grid-template-columns: 146px minmax(0,1fr); padding: 28px; }
    .guji-categories-page ul.resource-list:has(> li.item-set) { gap: 16px; }
}
@media (max-width: 799px) {
    header nav#top-nav .navigation > li > a.guji-nav-link, header nav#top-nav .navigation > li > .parent-link > a.guji-nav-link { display: flex; padding: 13px 12px; width: 100%; gap: 12px; font-size: 16px; }
    header nav#top-nav .navigation > li > .parent-link > a.guji-nav-link { width: calc(100% - 44px); }
    .guji-nav-link::after { bottom: 6px; left: 45px; right: 12px; }
    header nav.open > ul.navigation { animation: guji-menu-enter .18s ease-out both; }
    .guji-page-heading { min-height: 186px; padding: 29px 27px; gap: 0; margin-bottom: 25px; }
    .guji-page-emblem { display: none; }
    .guji-page-overline { font-size: 11px; letter-spacing: .07em; }
    #content .guji-page-heading h1 { font-size: 29px; letter-spacing: .06em; }
    .guji-page-heading p { font-size: 14px; }
    .guji-categories-page ul.resource-list:has(> li.item-set) { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
    .guji-categories-page ul.resource-list > li.item-set.resource { min-height: 172px; padding: 8px; }
    .guji-categories-page ul.resource-list > li.item-set.resource > a.resource-link { min-height: 150px; padding: 18px 12px; gap: 19px; }
    .guji-categories-page ul.resource-list > li.item-set.resource .resource-name { font-size: 20px; letter-spacing: .02em; }
    .guji-categories-page ul.resource-list > li.item-set.resource .description { padding: 0 12px 13px; }
    .guji-cat-head { padding: 23px; }
    .guji-catalog-summary { font-size: 12px; }
    .guji-catalog-summary > span:last-child { font-size: 11px; }
    .guji-item-head { display: flex; align-items: flex-start; flex-direction: column; gap: 23px; padding: 24px; }
    .guji-item-portrait { width: 128px; height: 167px; }
    .guji-item-head .guji-item-heading-copy h1 { font-size: 25px; }
    body.item.show .guji-brief { padding: 26px 23px; }
    .guji-brief-body p { font-size: 16px; }
    body.index.search .results { padding: 23px; }
    body.index.search .results > ul { grid-template-columns: 1fr; }
    ul.guji-guide-cards > li { padding: 25px; }
    .gm-center { flex-direction: column; gap: 24px; }
    .gm-center-nav.guji-study-nav { position: static; flex: 0 0 auto; width: 100%; padding: 0; overflow: visible; }
    .guji-study-brand { padding: 16px 19px; }
    .guji-study-brand small { display: none; }
    .gm-center-nav.guji-study-nav ul { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px; padding: 8px; white-space: normal; overflow: visible; }
    .gm-center-nav.guji-study-nav li { display: block; margin: 0; }
    .gm-center-nav.guji-study-nav li a { flex-direction: column; gap: 7px; padding: 11px 3px; min-height: 75px; border-left: 0; border-bottom: 2px solid transparent; text-align: center; }
    .gm-center-nav.guji-study-nav li a.is-active { border-bottom-color: var(--guji-cinnabar); }
    .guji-study-nav .gm-center-nav-label { font-size: 15px; }
    .guji-study-nav .gm-center-nav-hint { display: none; }
    .gm-center-nav.guji-study-nav > .gm-center-logout { display: block; padding: 10px 0; text-align: right; margin-inline: 18px; }
    .gm-center-main { width: 100%; }
    .gm-center-main .gm-table { display: block; max-width: 100%; overflow-x: auto; }
    #content .gm-center-title { font-size: 27px; padding: 0 0 20px; }
    .gm-cards { grid-template-columns: 1fr; }
    .gm-card { padding: 23px; }
    .gm-section { overflow-wrap: anywhere; }
    .gm-section td, .gm-section th { padding: 12px 8px; font-size: 13px; }
    .gmo-hero { padding: 35px 25px; }
    .gmo-free { padding: 22px; }
    .gmo-plan, .gmo-plan-annual { padding: 27px; }
    .gmo-faq { padding: 24px; }
    body #content .gm-page { margin-top: 0; padding: 29px 25px; }
    .guji-editorial-page .blocks { padding: 8px 23px 28px; }
    .guji-advanced-page #advanced-search { padding: 23px; }
    .guji-back-top { right: 13px; bottom: calc(18px + env(safe-area-inset-bottom,0px)); }
}
@media (prefers-reduced-motion: reduce) {
    .guji-arrived, details[open] > :not(summary), .guji-auth:not([hidden]) .guji-auth-panel,
    header nav.open > ul.navigation, header nav ul.navigation > li.parent > ul.open { animation: none; }
    .guji-nav-link:hover > .guji-icon, .guji-nav-link:focus-visible > .guji-icon,
    .guji-study-nav a:hover .guji-icon, .gmo-plan:hover, ul.guji-guide-cards > li:hover { transform: none; }
}
@media print { .guji-back-top { display: none !important; } }
