:root { --o1-ink: #252525; --o1-muted: #646464; --o1-line: #d8d8d8; --o1-paper: #fff; --o1-soft: #f4f4f4; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.o1-page { margin: 0; background: #e9e9e9; color: var(--o1-ink); font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif; letter-spacing: 0; }
.o1-page a { color: inherit; }
.o1-page button { font: inherit; }
.o1-icon { width: 19px; height: 19px; flex: none; }
[data-site-header] { position: fixed; top: 0; z-index: 60; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 22px; min-height: 104px; padding: 10px 44px; background: #fff; border-bottom: 1px solid var(--o1-line); box-shadow: 0 2px 10px #00000008; }
.o1-header-space { height: var(--site-header-height, 104px); }
.o1-brand { display: inline-flex; align-items: center; gap: 14px; flex: none; color: #252525; text-decoration: none; white-space: nowrap; }
.o1-brand-logo { display: block; width: 154px; height: 82px; object-fit: contain; }
.o1-brand-name { color: #174c36; font-size: 24px; line-height: 1.2; font-weight: 600; }
.o1-nav { display: flex; flex: 1; justify-content: center; gap: 18px; min-width: 0; }
.o1-nav-item { position: relative; display: flex; align-items: center; min-height: 76px; }
.o1-primary { display: inline-flex; align-items: center; min-height: 44px; padding: 7px 0; color: #505050; text-decoration: none; white-space: nowrap; font-size: 14px; font-weight: 500; }
.o1-nav-item[data-active="true"] > .o1-primary { color: #151515; text-decoration: underline; text-underline-offset: 7px; }
.o1-primary:hover { color: #151515; }
.o1-submenu-toggle { display: inline-flex; align-items: center; justify-content: center; width: 29px; min-height: 44px; padding: 0; border: 0; background: none; color: #555; cursor: pointer; }
.o1-submenu-toggle .o1-icon { width: 15px; height: 15px; transition: transform .15s ease; }
.o1-submenu-toggle[aria-expanded="true"] .o1-icon { transform: rotate(180deg); }
.o1-dropdown { position: absolute; top: calc(100% + 10px); left: -17px; min-width: 245px; margin: 0; padding: 10px 16px; list-style: none; border: 1px solid var(--o1-line); background: #fff; box-shadow: 0 8px 20px #00000012; }
.o1-dropdown[hidden] { display: none; }
/* 衔接标题与下拉菜单之间的空隙，避免鼠标移入子菜单时收起。 */
[data-nav-layout]:not([data-nav-layout="mobile"]) .o1-dropdown::before { position: absolute; right: -1px; bottom: 100%; left: -1px; height: 11px; content: ""; }
.o1-nav-item:nth-last-child(-n+2) .o1-dropdown { left: auto; right: 0; }
.o1-dropdown a { display: block; min-height: 43px; padding: 11px 3px; color: #444; text-decoration: none; font-size: 13px; line-height: 1.6; }
.o1-dropdown a:hover, .o1-dropdown a[aria-current="page"] { color: #111; background: #f4f4f4; }
.o1-header-contact { display: inline-flex; align-items: center; justify-content: center; flex: none; min-height: 39px; padding: 0 14px; border: 1px solid #333; color: #252525; text-decoration: none; white-space: nowrap; font-size: 13px; }
.o1-menu-toggle { display: none; align-items: center; justify-content: center; flex: none; min-width: 44px; min-height: 44px; margin-left: auto; padding: 0; border: 0; background: transparent; color: #252525; cursor: pointer; }
.o1-nav a:focus-visible, [data-site-header] button:focus-visible, .o1-page a:focus-visible, .o1-page button:focus-visible { outline: 2px solid #333; outline-offset: 4px; }
.o1-review-bar { position: sticky; top: 0; z-index: 40; display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 56px; padding: 9px max(18px, calc((100% - 1440px) / 2)); background: #252525; color: #fff; }
.o1-review-bar > div:first-child { flex: 1; min-width: 0; }
.o1-review-bar strong { display: block; font-size: 13px; }
.o1-review-bar small { display: block; margin-top: 3px; color: #ccc; font-size: 11px; }
.o1-view-switch { display: flex; flex: none; border: 1px solid #aaa; }
.o1-view-switch button { min-height: 34px; width: 68px; border: 0; background: none; color: #fff; font-size: 13px; cursor: pointer; }
.o1-view-switch button[aria-pressed="true"] { background: #fff; color: #252525; }
.o1-review-bar, .preview-tools, .review-bar { position: fixed; top: auto; bottom: 12px; right: 12px; left: auto; z-index: 70; width: min(560px, calc(100% - 24px)); min-height: 54px; padding: 9px 12px; gap: 14px; border-radius: 4px; box-shadow: 0 3px 14px #00000018; }
.o1-review-bar strong, .preview-tools strong, .review-bar strong { font-size: 12px; }
.o1-review-bar small, .preview-tools small, .review-bar small { font-size: 10px; }
.o1-page, body { --review-bar-height: 0px; }
.o1-preview { container-type: inline-size; width: 100%; max-width: 1440px; margin: auto; background: #fff; }
.o1-preview.is-mobile { max-width: 390px; }
.o1-page-start { height: 0; scroll-margin-top: var(--review-bar-height, 56px); }
.o1-inner { width: min(89%, 1200px); margin: auto; }
.o1-main [id] { scroll-margin-top: calc(var(--review-bar-height, 56px) + var(--site-header-height, 76px) + 16px); }
.o1-hero { position: relative; display: flex; align-items: center; min-height: 490px; padding: 44px 0 85px; background: #dedede; }
.o1-hero-copy { max-width: 690px; }
.o1-eyebrow { display: block; color: #686868; font-size: 12px; line-height: 1.5; }
.o1-hero h1 { margin: 0 0 17px; font-size: 43px; line-height: 1.3; font-weight: 600; overflow-wrap: anywhere; }
.o1-hero-statement { max-width: 24em; margin: 0; font-size: 24px; line-height: 1.55; font-weight: 500; }
.o1-hero-lead { max-width: 39em; margin: 17px 0 0; color: #4c4c4c; font-size: 16px; line-height: 1.85; }
.o1-hero-media { position: absolute; right: 5.5%; bottom: 25px; max-width: 340px; padding-top: 9px; border-top: 1px solid #aaa; color: #666; font-size: 11px; line-height: 1.6; }
.o1-band { padding: 76px 0 84px; background: #fff; }
.o1-band:nth-child(odd) { background: #f5f5f5; }
.o1-band h2 { margin: 12px 0 0; font-size: 28px; line-height: 1.5; font-weight: 600; }
.o1-section-note { max-width: 47em; margin: 16px 0 28px; color: #666; font-size: 14px; line-height: 1.85; }
.o1-entries { margin-top: 28px; border-top: 1px solid var(--o1-line); }
.o1-entry { display: grid; grid-template-columns: 47px minmax(0, 1fr) 25px; gap: 20px; align-items: start; padding: 23px 0; border-bottom: 1px solid var(--o1-line); text-decoration: none; }
.o1-entry:hover { background: #eeeeee; }
.o1-entry-number { padding-top: 4px; color: #777; font-size: 12px; }
.o1-entry h3 { margin: 0; color: #333; font-size: 20px; line-height: 1.55; font-weight: 600; }
.o1-entry p { max-width: 55em; margin: 8px 0 0; color: #626262; font-size: 14px; line-height: 1.85; }
.o1-entry .o1-icon { margin-top: 6px; }
.o1-split { display: grid; grid-template-columns: 1fr 1fr; gap: 9%; align-items: center; }
.o1-topics { margin: 22px 0 0; padding: 0; list-style: none; }
.o1-topics li { padding: 12px 0; border-top: 1px solid var(--o1-line); color: #646464; font-size: 14px; line-height: 1.8; }
.o1-topics li:last-child { border-bottom: 1px solid var(--o1-line); }
.o1-topics strong { color: var(--o1-ink); font-weight: 600; }
.o1-image-slot { display: flex; flex-direction: column; justify-content: flex-end; aspect-ratio: 4 / 3; width: 100%; min-width: 0; padding: 24px; border: 1px solid #c5c5c5; background: #e1e1e1; color: #666; font-size: 13px; line-height: 1.8; }
.o1-image-slot strong { display: block; margin-bottom: 9px; color: #555; font-size: 14px; }
.o1-links { display: flex; flex-wrap: wrap; gap: 14px 25px; margin-top: 26px; }
.o1-text-link { display: inline-flex; align-items: center; gap: 7px; color: #333; padding-bottom: 5px; border-bottom: 1px solid currentColor; text-decoration: none; font-size: 13px; }
.o1-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; margin: 33px 0 0; padding: 0; list-style: none; }
.o1-steps li { border-top: 1px solid #aaa; padding-top: 15px; }
.o1-steps span { display: block; color: #7a7a7a; font-size: 12px; }
.o1-steps strong { display: block; margin-top: 18px; font-size: 18px; line-height: 1.6; font-weight: 500; }
.o1-step-note { margin: 9px 0 0; color: #646464; font-size: 13px; line-height: 1.8; }
.o1-role-tabs { display: flex; gap: 24px; overflow-x: auto; margin-top: 28px; border-bottom: 1px solid var(--o1-line); }
.o1-role-tabs button { flex: none; min-height: 46px; padding: 10px 0; border: 0; border-bottom: 2px solid transparent; background: none; color: #666; font: inherit; font-size: 14px; cursor: pointer; }
.o1-role-tabs button[aria-selected="true"] { border-bottom-color: #252525; color: #252525; }
.o1-role-panel { display: grid; grid-template-columns: .7fr 1.3fr; gap: 8%; align-items: center; min-height: 310px; padding-top: 26px; }
.o1-role-panel h3 { font-size: 23px; line-height: 1.4; font-weight: 500; }
.o1-role-panel p { font-size: 14px; line-height: 1.85; color: #646464; }
.o1-weis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin-top: 31px; border-top: 1px solid var(--o1-line); border-bottom: 1px solid var(--o1-line); }
.o1-weis div { min-width: 0; padding: 19px 0 23px; }
.o1-weis-word { display: block; min-height: 38px; white-space: nowrap; font-size: 17px; }
.o1-weis-word b { color: #236f60; font-size: 31px; }
.o1-weis-label { display: block; margin-top: 8px; color: #666; font-size: 13px; }
.o1-weis-dimensions { margin-top: 26px; border-top: 1px solid var(--o1-line); }
.o1-weis-dimension { padding: 17px 0 18px; border-bottom: 1px solid var(--o1-line); }
.o1-weis-primary { display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px 8px; }
.o1-weis-name { color: #236f60; font-size: 15px; line-height: 1.6; font-weight: 600; }
.o1-weis-name b { font-size: 18px; }
.o1-weis-statement { color: var(--o1-ink); font-size: 18px; line-height: 1.6; font-weight: 600; }
.o1-weis-explanation { margin: 5px 0 0; color: var(--o1-muted); font-size: 14px; line-height: 1.8; }
.o1-weis-closing { margin: 17px 0 0; color: #333; font-size: 14px; line-height: 1.8; }
.o1-contact { background: #2b2b2b; color: #fff; padding: 65px 0 73px; }
.o1-contact h2 { max-width: 20em; margin: 0; font-size: 27px; line-height: 1.5; font-weight: 500; }
.o1-contact p { margin: 15px 0 0; color: #ccc; font-size: 14px; line-height: 1.8; }
.o1-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; margin-top: 24px; padding: 0 18px; background: #fff; color: #252525; text-decoration: none; font-size: 13px; }
.o1-footer { display: flex; justify-content: space-between; gap: 24px; padding: 28px 5.5% 35px; background: #fff; color: #666; font-size: 12px; line-height: 1.8; }
.o1-footer strong { color: #333; font-size: 18px; }
/* 公共备案信息位于现有页脚下方，首页与内页共用。 */
.site-footer-legal { grid-column: 1 / -1; width: 100%; min-width: 0; padding-top: 16px; border-top: 1px solid var(--line, var(--o1-line)); }
.site-footer-legal .foot-bottom { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 20px; font-size: 12px; line-height: 1.8; text-align: center; }
.site-footer-legal .foot-bottom > * { min-width: 0; overflow-wrap: anywhere; }
body[data-home-direction="v8"] .home-footer .site-footer-legal span { color: var(--muted); }
.site-footer-legal .foot-bottom-code { text-decoration: none; }
.site-footer-legal .foot-bottom-code:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 640px) {
  .site-footer-legal .foot-bottom { flex-direction: column; align-items: center; gap: 6px; }
}
.o1-editor-note { max-width: 1200px; margin: 22px auto 40px; padding: 0 18px; color: #666; font-size: 13px; line-height: 1.85; }
.o1-plan-breadcrumb { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 24px; color: #666; font-size: 12px; }
.o1-plan-breadcrumb a { text-decoration: none; }
.o1-plan-purpose { max-width: 48em; margin-top: 19px; color: #555; font-size: 15px; line-height: 1.9; }
.o1-plan-meta { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 18px; margin-top: 24px; padding-top: 17px; border-top: 1px solid var(--o1-line); font-size: 14px; line-height: 1.85; }
.o1-plan-meta strong { font-weight: 500; }
.o1-plan-meta p { margin: 0; color: #666; }
[data-site-header][data-nav-layout="compact"] { grid-template-columns: minmax(0, 1fr) auto; gap: 6px 22px; min-height: 136px; padding: 8px 22px; }
[data-nav-layout="compact"] .o1-brand-logo { width: 132px; height: 70px; }
[data-nav-layout="compact"] .o1-brand-name { font-size: 21px; }
[data-nav-layout="compact"] .o1-nav { grid-column: 1 / -1; grid-row: 2; justify-content: space-between; gap: 10px; }
[data-nav-layout="compact"] .o1-nav-item { min-height: 44px; }
[data-nav-layout="compact"] .o1-primary { font-size: 13px; }
[data-site-header][data-nav-layout="mobile"] { grid-template-columns: minmax(0, 1fr) auto; gap: 15px; min-height: 78px; padding: 8px 18px; }
[data-nav-layout="mobile"] .o1-brand-logo { width: 112px; height: 60px; }
[data-nav-layout="mobile"] .o1-brand { gap: 12px; }
[data-nav-layout="mobile"] .o1-brand-name { font-size: 18px; }
[data-nav-layout="mobile"] .o1-header-contact { display: none; }
[data-nav-layout="mobile"] .o1-menu-toggle { display: inline-flex; }
[data-nav-layout="mobile"] .o1-nav { display: none; }
[data-nav-layout="mobile"] .o1-nav.is-open { position: absolute; top: 100%; left: 0; right: 0; display: block; max-height: calc(100svh - var(--site-header-height, 78px) - var(--preview-tools-space, 0px) - 16px); padding: 12px 18px 20px; overflow-y: auto; border-bottom: 1px solid var(--o1-line); background: #fff; }
[data-nav-layout="mobile"] .o1-nav-item { flex-wrap: wrap; min-height: 45px; border-bottom: 1px solid var(--o1-line); }
[data-nav-layout="mobile"] .o1-primary { flex: 1; min-height: 45px; font-size: 14px; }
[data-nav-layout="mobile"] .o1-submenu-toggle { width: 44px; }
[data-nav-layout="mobile"] .o1-dropdown { position: static; flex: 0 0 100%; min-width: 0; padding: 0 0 10px 16px; border: 0; box-shadow: none; }
@container (max-width: 700px) {
  .o1-inner { width: calc(100% - 44px); }
  .o1-hero { min-height: 445px; padding: 40px 0 77px; }
  .o1-hero h1 { margin-top: 12px; font-size: 32px; }
  .o1-hero-statement { font-size: 21px; }
  .o1-hero-lead { font-size: 14px; line-height: 1.8; }
  .o1-hero-media { max-width: 245px; right: 22px; bottom: 18px; font-size: 10px; }
  .o1-band { padding: 57px 0 64px; }
  .o1-band h2 { font-size: 24px; }
  .o1-section-note { margin-top: 13px; font-size: 13px; }
  .o1-entry { grid-template-columns: 26px minmax(0, 1fr) 20px; gap: 12px; padding: 20px 0; }
  .o1-entry h3 { font-size: 17px; }
  .o1-entry p { font-size: 13px; }
  .o1-split, .o1-role-panel { grid-template-columns: 1fr; gap: 24px; }
  .o1-image-slot { padding: 18px; font-size: 12px; }
  .o1-links { gap: 13px 20px; }
  .o1-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 29px 21px; }
  .o1-steps strong { font-size: 16px; margin-top: 13px; }
  .o1-step-note { font-size: 12px; }
  .o1-role-tabs { gap: 23px; }
  .o1-role-tabs button { font-size: 13px; }
  .o1-role-panel { min-height: 0; }
  .o1-role-panel h3 { margin: 0; font-size: 21px; }
  .o1-weis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
  .o1-weis div:nth-child(n+3) { border-top: 1px solid var(--o1-line); }
  .o1-weis-word { font-size: 15px; }
  .o1-weis-word b { font-size: 28px; }
  .o1-weis-dimensions { margin-top: 21px; }
  .o1-weis-dimension { padding: 14px 0 15px; }
  .o1-weis-name { font-size: 13px; }
  .o1-weis-name b { font-size: 16px; }
  .o1-weis-statement { font-size: 16px; }
  .o1-weis-explanation { font-size: 13px; }
  .o1-weis-closing { font-size: 13px; }
  .o1-contact { padding: 54px 0 62px; }
  .o1-contact h2 { font-size: 24px; }
  .o1-footer { flex-direction: column; padding: 26px 22px 32px; gap: 12px; }
  .o1-plan-meta { grid-template-columns: 1fr; gap: 7px; }
}
@media (max-width: 540px) {
  .o1-review-bar { padding: 9px 11px; }
  .o1-review-bar strong { font-size: 11px; }
  .o1-review-bar small { font-size: 10px; }
  .o1-view-switch button { width: 52px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .o1-submenu-toggle .o1-icon { transition: none; }
}
