:root { --theme-color: #2767aa; --ink: #25364b; --muted: #6b7e91; --line: #e3eaf1; }
body { color: var(--ink); background: #fff; }
.sidebar { background: #f6f8fb; border-right: 1px solid var(--line); padding-top: 0; padding-bottom: 65px; }
.sidebar .app-name { display: flex; align-items: center; gap: 11px; padding: 25px 20px 20px; margin: 0; text-align: left; font-size: 16px; font-weight: 700; color: #1e3855; }
.sidebar .app-name-link { white-space: normal; line-height: 1.5; }
.brand-mark { display: flex; align-items: center; justify-content: center; flex: 0 0 36px; height: 36px; border-radius: 10px; color: #fff; background: #244d77; box-shadow: 0 4px 9px #244d7720; }
.portal-icon { width: 20px; height: 20px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.local-search { padding: 0 18px 18px; border-bottom: 1px solid var(--line); }
.local-search label { color: #6b7e91; font-size: 12px; margin-bottom: 9px; }
.local-search input { background: #fff; border: 1px solid #dce4ed; border-radius: 9px; padding: 11px 12px; font-family: "Microsoft YaHei", sans-serif; font-size: 14px; color: var(--ink); outline: none; box-shadow: 0 2px 3px #213c5604; }
.local-search input:focus { border-color: #72a0d0; box-shadow: 0 0 0 3px #2767aa12; }
.search-results a { padding: 13px 4px; border-bottom-color: var(--line); }
.search-results small { color: var(--muted); }
.search-status:empty { display: none; }
.sidebar-nav { padding: 16px 11px; }
.sidebar-nav > ul { margin: 0 !important; padding: 0; }
.sidebar-nav li.menu-item { margin: 0 !important; padding: 0; }
.sidebar-nav li.menu-item + li.menu-item { margin-top: 4px !important; }
.sidebar-nav .menu-row { display: flex; align-items: center; height: 40px; min-height: 40px; max-height: 40px; border-radius: 7px; transition: background .15s; }
.sidebar-nav .menu-row:hover { background: #eaf0f7; }
.sidebar-nav .menu-label { display: flex; align-items: center; flex: 1 1 0; height: 40px; min-width: 0; margin: 0; padding: 0 10px 0 0; gap: 8px; color: #526579; text-decoration: none; white-space: nowrap !important; overflow: hidden; }
.sidebar-nav .menu-caption { display: block; flex: 1 1 0; min-width: 0; line-height: 24px; white-space: nowrap !important; overflow: hidden; text-overflow: ellipsis; }
.sidebar-nav .menu-label > .menu-icon { display: block; flex: 0 0 18px; width: 18px; height: 18px; }
.sidebar-nav .menu-toggle, .sidebar-nav .menu-spacer { flex: 0 0 28px; width: 28px; min-width: 28px; height: 40px; padding: 0; }
.sidebar-nav .menu-label:hover { text-decoration: none; color: #245f9b; }
.sidebar-nav .menu-row:has(.current-page) { background: #e4eefb; box-shadow: inset 3px 0 #3276bb; }
.sidebar-nav .menu-label.current-page { color: #205d9c; font-weight: 600; }
.sidebar-nav .contains-current > .menu-row .menu-icon-folder { color: #3276bb; }
.sidebar-nav .menu-toggle { color: #8a9bac; }
.menu-icon-folder { color: #9a8258; }
.menu-icon-page, .menu-icon-assets, .menu-icon-home, .menu-icon-report { color: #8095aa; }
.sidebar-nav .menu-folder > ul { border-left-color: #dce5ef; margin: 4px 0 0 14px !important; padding-left: 10px; }
.sidebar-toggle { background: #f6f8fbef; border-top: 1px solid var(--line); padding: 14px; }
.sidebar-resizer::after { background: transparent; }
.sidebar-resizer::before { content: ''; width: 3px; height: 32px; border-radius: 3px; position: absolute; top: 50%; left: 3px; background: #bbcbdc; }
.content { padding-top: 0; }
.markdown-section { padding: 28px 36px 70px; color: var(--ink); }
.markdown-section > h1 { padding: 18px 0; margin: 0 0 20px; font-weight: 700; border-bottom: 1px solid var(--line); }
.markdown-section > h2 { margin-top: 30px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.markdown-section > p, .markdown-section > ul { line-height: 1.85; }
.markdown-section > blockquote { border-left: 3px solid #78a5d2; background: #f3f7fc; border-radius: 0 8px 8px 0; padding: 10px 16px; color: #586e83; }
.markdown-section a { text-underline-offset: 3px; }
.reading-toolbar { display: flex; align-items: center; gap: 20px; justify-content: space-between; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.breadcrumbs { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; min-width: 0; color: var(--muted); line-height: 1.6; }
.breadcrumbs a { color: var(--muted); font-weight: 400; text-decoration: none; }
.breadcrumbs a:hover { color: var(--theme-color); }
.crumb-separator { color: #b0bdca; }
.crumb-current { color: #355674; overflow-wrap: anywhere; }
.copy-page { display: inline-flex; align-items: center; gap: 7px; flex-shrink: 0; background: #fff; color: #61788e; border: 1px solid #dce5ee; border-radius: 7px; padding: 7px 10px; cursor: pointer; }
.copy-page:hover { color: #2767aa; border-color: #91b0d0; background: #f5f9fe; }
.copy-page .portal-icon { width: 16px; height: 16px; }
.markdown-section .chm-content { padding: 18px; border: 1px solid var(--line); border-radius: 10px; line-height: 1.7; }
.markdown-section .chm-content p, .markdown-section .chm-content td, .markdown-section .chm-content th { line-height: 1.7 !important; }
.markdown-section .chm-content p { margin-top: 0; margin-bottom: 16px; }
.markdown-section .chm-content table { border-collapse: collapse; }
.markdown-section .chm-content table[border="1"], .markdown-section .chm-content table[border="1"] td, .markdown-section .chm-content table[border="1"] th { border: 1px solid #d8e2ec; }
.markdown-section .chm-content td, .markdown-section .chm-content th { padding: 7px 10px; }
.markdown-section .chm-content img { border-radius: 3px; }
.markdown-section pre { border: 1px solid var(--line); border-radius: 8px; background: #f5f8fc; }
.home-intro { position: relative; overflow: hidden; padding: 27px 28px; border: 1px solid #dce8f2; border-radius: 14px; background: linear-gradient(110deg,#f1f6fc,#f7fafc 65%,#edf5f4); }
.home-intro::after { content: ''; position: absolute; right: -45px; top: -65px; width: 225px; height: 225px; border: 35px solid #376ba506; border-radius: 50%; pointer-events: none; }
.eyebrow { color: #6787a4; letter-spacing: 1px; margin-bottom: 13px; }
.home-intro h1 { color: #1f4162; margin: 0 0 12px; line-height: 1.7; font-weight: 700; }
.home-description { color: #688099; line-height: 1.8; margin-top: 0; margin-bottom: 22px; }
.home-stats { display: flex; flex-wrap: wrap; gap: 14px 30px; }
.stat-item { display: flex; gap: 8px; align-items: baseline; }
.stat-item strong { color: #254e79; font-weight: 700; }
.stat-item span { color: #7990a5; }
.section-heading { display: flex; align-items: baseline; gap: 20px; margin-top: 28px; margin-bottom: 14px; }
.section-heading h2 { margin: 0; font-weight: 700; color: #2c4761; }
.section-heading > span { color: #8596a7; }
.book-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.book-card { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; padding: 24px; border: 1px solid #dfe7ef; border-radius: 12px; box-shadow: 0 5px 20px #28496b05; transition: border-color .2s,box-shadow .2s; }
.book-card:hover { border-color: #a6bfd8; box-shadow: 0 8px 25px #28496b0c; }
.book-card-top { display: flex; align-items: center; gap: 12px; margin-bottom: 19px; }
.book-symbol { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 10px; background: #edf3fb; color: #3c73a7; }
.book-card-1 .book-symbol { background: #edf6f2; color: #38816d; }
.book-label { color: #8596a7; }
.home-page .book-title { margin: 0 0 10px; font-weight: 700; color: #244563; }
.home-page .book-description { margin-top: 0; margin-bottom: 12px; color: #6a7f94; line-height: 1.8; }
.home-page .book-counts { color: #8296a9; margin: 0 0 18px; }
.book-shortcuts { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 23px; }
.book-shortcuts a { display: inline-block; padding: 5px 9px; color: #5f7990; background: #f5f8fb; border: 1px solid #e7edf3; border-radius: 5px; text-decoration: none; font-weight: 400; }
.book-shortcuts a:hover { background: #eaf2fb; color: #2b689f; }
.book-open { display: inline-flex; align-items: center; gap: 12px; margin-top: auto; padding-top: 15px; text-decoration: none; color: #2b6ba6; }
.book-open .portal-icon { width: 17px; }
.quick-links { display: flex; flex-wrap: wrap; gap: 12px 25px; margin: 23px 0; }
.quick-links a { color: #68849e; font-weight: 400; text-decoration: none; }
.quick-links a:hover { color: #245f9b; text-decoration: underline; }
.home-directory { border-top: 1px solid var(--line); padding-top: 18px; color: #687f94; }
.home-directory summary { cursor: pointer; color: #5c7993; padding: 5px 0; }
.home-directory[open] summary { margin-bottom: 20px; }
.back-to-top { position: fixed; right: 22px; bottom: 24px; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid #dbe5ef; border-radius: 9px; background: #ffffffed; color: #537d9f; cursor: pointer; box-shadow: 0 4px 16px #1c355212; z-index: 25; }
.back-to-top[hidden] { display: none; }
.back-to-top:hover { background: #edf4fb; }
button:focus-visible, summary:focus-visible, .book-open:focus-visible { outline: 2px solid #5b91c4; outline-offset: 3px; }
@media (max-width: 1050px) { .book-grid { grid-template-columns: 1fr; } }
@media (max-width: 768px) {
  .markdown-section { padding: 18px 16px 60px; }
  .sidebar .app-name { padding-top: 20px; }
  .home-intro { padding: 22px 18px; }
  .home-stats { gap: 10px 16px; }
  .section-heading { flex-wrap: wrap; gap: 6px; }
  .book-card { padding: 20px; }
  .reading-toolbar { align-items: flex-start; gap: 12px; }
  .copy-page { padding: 7px; }
  .copy-page > span { display: none; }
  .breadcrumbs { gap: 5px; }
  .markdown-section .chm-content { padding: 12px; }
  .back-to-top { right: 14px; bottom: 16px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; } }
