:root { --bg:#0a1022; --panel:#111a33; --text:#e8eefc; --muted:#aab8d7; --line:#263555; --accent:#8ba7ff; --accent-2:#8ee4c1; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:320px; color:var(--text); background:radial-gradient(circle at 75% -10%,#273873 0,transparent 32rem), var(--bg); font:16px/1.65 "Microsoft YaHei",system-ui,sans-serif; }
a { color:inherit; } .shell { width:min(1120px,calc(100% - 40px)); margin:auto; }
.skip-link { position:absolute; left:1rem; top:-5rem; padding:.6rem 1rem; background:#fff; color:#10182b; z-index:10; } .skip-link:focus { top:1rem; }
.site-header { border-bottom:1px solid rgba(255,255,255,.09); background:rgba(10,16,34,.84); backdrop-filter:blur(14px); position:sticky; top:0; z-index:5; }
.nav { min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }.brand { text-decoration:none; font-weight:800; display:flex; gap:.55rem; align-items:center; }.brand span:first-child { font-size:1.35rem; }
.nav-links { display:flex; gap:.3rem; padding:0; margin:0; list-style:none; }.nav-links a { display:block; padding:.4rem .75rem; color:var(--muted); text-decoration:none; border-radius:.45rem; }.nav-links a:hover,.nav-links a:focus-visible,.nav-links a[aria-current="page"] { color:#fff; background:#24355d; }
.menu-button { display:none; color:inherit; background:transparent; border:1px solid var(--line); border-radius:.4rem; font-size:1.2rem; padding:.25rem .5rem; }
.hero { display:grid; grid-template-columns:1.5fr .8fr; gap:4rem; align-items:center; min-height:calc(100vh - 68px); padding-block:5rem; }.eyebrow { color:var(--accent-2); font-size:.84rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }.status-dot { display:inline-block; width:.55rem; height:.55rem; border-radius:50%; background:#68e8ac; box-shadow:0 0 0 .3rem rgba(104,232,172,.15); margin-right:.4rem; }.hero h1,.section h2 { line-height:1.15; letter-spacing:-.035em; }.hero h1 { margin:.5rem 0 1.25rem; font-size:clamp(2.5rem,6vw,5rem); }.hero h1 span { color:var(--accent); }.hero-description { max-width:45rem; color:var(--muted); font-size:1.08rem; }.hero-actions { display:flex; flex-wrap:wrap; gap:.85rem; margin-top:2rem; }.button { text-decoration:none; padding:.7rem 1.1rem; border:1px solid var(--line); border-radius:.55rem; font-weight:700; }.button-primary { background:linear-gradient(135deg,#7796ff,#8b6eff); border:none; }.button-primary:hover { filter:brightness(1.12); }.button-secondary:hover { background:#1b294a; }
.feature-card,.about-card { border:1px solid var(--line); border-radius:1rem; background:linear-gradient(150deg,rgba(27,41,74,.9),rgba(17,26,51,.9)); }.hero-avatar-wrap { justify-self:center; width:clamp(220px,30vw,360px); aspect-ratio:1; padding:.5rem; border-radius:50%; background:linear-gradient(135deg,rgba(139,167,255,.8),rgba(142,228,193,.45)); box-shadow:0 0 65px rgba(112,140,255,.2); }.hero-avatar { width:100%; height:100%; display:block; object-fit:cover; border:5px solid var(--bg); border-radius:50%; }
.section { padding:5rem 0; }.section-heading { display:flex; justify-content:space-between; align-items:end; gap:1rem; margin-bottom:1.5rem; }.section h2 { margin:.25rem 0 0; font-size:clamp(1.8rem,4vw,2.7rem); }.text-link { color:#b8c8ff; font-weight:700; white-space:nowrap; }.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }.feature-card { padding:1.5rem; }.feature-icon { font-size:1.75rem; }.feature-card h3 { margin:1rem 0 .4rem; }.feature-card p,.about-card p { color:var(--muted); margin:0; }.about-card { display:grid; grid-template-columns:1fr 1fr; gap:3rem; padding:2rem; }.site-footer { border-top:1px solid var(--line); color:var(--muted); font-size:.9rem; padding:2rem 0; }
.content-page { min-height:calc(100vh - 150px); padding:4rem 0 5rem; }.content-page h1 { font-size:clamp(2.25rem,5vw,4rem); line-height:1.15; letter-spacing:-.035em; margin:.4rem 0 1rem; }.page-intro { max-width:44rem; color:var(--muted); }.search-label { display:block; font-weight:700; margin-top:2.5rem; }.search-input { width:min(100%,42rem); padding:.8rem 1rem; margin-top:.4rem; background:#111a33; border:1px solid var(--line); color:var(--text); border-radius:.55rem; font:inherit; }.filter-group { display:flex; flex-wrap:wrap; gap:.5rem; margin:1.25rem 0; }.filter-button { padding:.45rem .75rem; color:var(--muted); font:inherit; background:transparent; border:1px solid var(--line); border-radius:99px; cursor:pointer; }.filter-button[aria-pressed="true"] { color:#fff; border-color:var(--accent); background:#233966; }.result-count { color:var(--muted); font-size:.9rem; }.document-list { padding:0; margin:1rem 0; list-style:none; border-top:1px solid var(--line); }.document-item { display:grid; grid-template-columns:8rem 1fr auto; gap:1rem; align-items:center; padding:1rem .5rem; border-bottom:1px solid var(--line); }.document-meta { color:var(--accent-2); font-size:.85rem; }.document-state { color:var(--muted); font-size:.85rem; }.empty-state { max-width:42rem; margin-top:2rem; padding:2rem; text-align:center; border:1px dashed var(--line); border-radius:1rem; background:#101a31; }.empty-state > span { font-size:2rem; }
.article-page { width:min(900px,calc(100% - 40px)); padding:4rem 0 5rem; }.article-header { border-bottom:1px solid var(--line); margin-bottom:2.25rem; padding-bottom:2rem; }.article-header h1 { margin:.35rem 0 .8rem; font-size:clamp(2.1rem,5vw,3.5rem); line-height:1.15; letter-spacing:-.035em; }.article-header p { color:var(--muted); }.article-body { color:#d6e0f7; }.article-body h2 { margin:2.5rem 0 1rem; padding-bottom:.5rem; border-bottom:1px solid var(--line); font-size:1.65rem; }.article-body h3 { margin:1.75rem 0 .65rem; font-size:1.2rem; }.article-body p,.article-body li { max-width:75ch; }.article-body ul,.article-body ol { padding-left:1.4rem; }.article-body img { max-width:100%; height:auto; margin:1rem 0; border:1px solid var(--line); border-radius:.6rem; }.article-body table { display:block; max-width:100%; overflow:auto; border-collapse:collapse; }.article-body th,.article-body td { padding:.5rem .75rem; border:1px solid var(--line); text-align:left; }
.article-meta { display:flex; flex-wrap:wrap; gap:1rem 2rem; margin:1.5rem 0 0; }.article-meta div { display:flex; gap:.45rem; }.article-meta dt { color:var(--muted); }.article-meta dd { margin:0; }.article-layout { display:grid; grid-template-columns:11rem minmax(0,1fr); gap:2.5rem; }.table-of-contents { position:sticky; top:90px; align-self:start; max-height:calc(100vh - 110px); overflow:auto; padding-right:.5rem; }.table-of-contents p { margin:.2rem 0 .5rem; color:var(--muted); font-size:.88rem; font-weight:700; }.table-of-contents ol { margin:0; padding:0; list-style:none; font-size:.88rem; }.table-of-contents li { margin:.45rem 0; }.table-of-contents a { color:var(--muted); text-decoration:none; }.table-of-contents a:hover { color:#fff; }.toc-subitem { padding-left:.8rem; }.related-documents { margin-top:3.5rem; padding-top:1.5rem; border-top:1px solid var(--line); }.related-documents h2 { font-size:1.4rem; }.related-documents ul { padding-left:1.25rem; }.related-documents a { color:#b8c8ff; }
.article-header .publication-note { margin-top:1.25rem; padding:.75rem 1rem; color:#cbd7f4; background:#182541; border-left:3px solid var(--accent-2); border-radius:.25rem; font-size:.9rem; }
.content-page > .publication-note { max-width:52rem; margin:1.5rem 0; padding:.85rem 1rem; color:#f2ddb2; background:#2a2418; border:1px solid #5d4b28; border-radius:.55rem; }
.sop-content h4 { margin:1.4rem 0 .6rem; color:#dbe5ff; font-size:1.05rem; }.sop-figure { margin:1.5rem 0; padding:1rem; border:1px solid var(--line); border-radius:.8rem; background:#f4f7fb; text-align:center; overflow:auto; }.sop-figure img { display:block; max-width:100%; height:auto; margin:auto; border:0; border-radius:.25rem; }.sop-figure figcaption,.figure-caption { margin:.65rem 0 0; color:#9eb0d3; font-size:.88rem; text-align:center; }.table-scroll { max-width:100%; margin:1.5rem 0; overflow-x:auto; border:1px solid var(--line); border-radius:.65rem; }.sop-table { width:100%; min-width:620px; border-collapse:collapse; background:#101a31; }.sop-table th { color:#fff; background:#243762; }.sop-table th,.sop-table td { padding:.75rem; border:1px solid #304365; vertical-align:top; }.sop-table td { color:#d4def3; }.sop-table p,.sop-table div { margin:.2rem 0; }
.sop-attachment { display:flex; align-items:center; gap:1rem; margin:1.2rem 0; padding:1rem; border:1px solid var(--line); border-radius:.7rem; background:#14203b; }.sop-attachment-icon { display:grid; place-items:center; width:3.25rem; height:3.25rem; flex:0 0 auto; border-radius:.55rem; color:#fff; background:#4260a5; font-size:.68rem; font-weight:800; }.sop-attachment div { display:flex; flex-direction:column; }.sop-attachment span:last-child { color:var(--muted); font-size:.84rem; }.sop-ui-example { margin:1.5rem 0; padding:1rem; border:1px solid var(--line); border-radius:.8rem; background:#0d172d; }.sop-ui-example > figcaption { color:#fff; font-size:1rem; font-weight:800; }.sop-ui-example > p { color:var(--muted); font-size:.85rem; }
.sop-reference-name { position:relative; margin:.55rem 0; padding:.72rem .9rem .72rem 2rem; border-left:2px solid #5e82d8; border-radius:.25rem; color:#dbe5ff; background:rgba(30,48,84,.52); }.sop-reference-name::before { content:"•"; position:absolute; left:.85rem; color:#7fa5ff; font-weight:800; }
.sop-flow { margin:1.5rem 0; padding:1.15rem; border:1px solid #30486f; border-radius:.85rem; background:linear-gradient(145deg,#101c34,#0b1428); overflow:hidden; }.sop-flow figcaption { margin-bottom:1rem; color:#f2f6ff; font-size:1rem; font-weight:800; text-align:center; }.sop-flow ol { display:flex; align-items:stretch; gap:1.55rem; margin:0; padding:0; list-style:none; counter-reset:sop-step; overflow-x:auto; scrollbar-width:thin; }.sop-flow li { position:relative; display:flex; min-width:9.5rem; flex:1 0 9.5rem; counter-increment:sop-step; }.sop-flow li:not(:last-child)::after { content:"→"; position:absolute; top:50%; right:-1.25rem; color:#78a0ff; font-size:1.25rem; transform:translateY(-50%); }.sop-flow li span { display:flex; align-items:center; justify-content:center; width:100%; min-height:4.5rem; padding:.85rem; border:1px solid #3c5b8e; border-radius:.65rem; color:#e6edff; background:#172847; line-height:1.55; text-align:center; box-shadow:inset 0 1px 0 rgba(255,255,255,.05); }.sop-flow li span::before { content:counter(sop-step); display:grid; place-items:center; width:1.45rem; height:1.45rem; margin-right:.5rem; flex:0 0 auto; border-radius:50%; color:#081225; background:#82a8ff; font-size:.76rem; font-weight:800; }.sop-flow-note { margin:1rem 0 0; padding:.7rem .85rem; border-radius:.5rem; color:#b8c6e4; background:rgba(84,111,168,.14); font-size:.88rem; }
.sop-formula { display:flex; align-items:center; justify-content:center; gap:1rem; margin:1.5rem 0; padding:1.1rem; border:1px solid #30486f; border-radius:.75rem; color:#eef3ff; background:#101c34; overflow-x:auto; }.sop-formula > span { display:grid; min-width:22rem; text-align:center; }.sop-formula > span span:first-child { padding:.35rem .6rem; border-bottom:1px solid #8ca9df; }.sop-formula > span span:last-child { padding:.35rem .6rem; color:#b8c6e4; }
:focus-visible { outline:3px solid #b9c7ff; outline-offset:3px; } .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.content-protected { -webkit-user-select:none; user-select:none; -webkit-touch-callout:none; }.content-protected img { -webkit-user-drag:none; user-drag:none; pointer-events:none; }.content-protection-notice { margin:0 0 1.25rem; padding:.72rem .9rem; border:1px solid #4a5f87; border-radius:.55rem; color:#bac9e8; background:#111d36; font-size:.85rem; }.content-protection-feedback { position:fixed; z-index:1000; left:50%; bottom:1.5rem; max-width:min(90vw,32rem); padding:.75rem 1rem; border:1px solid #6681b7; border-radius:.55rem; color:#fff; background:#172847; box-shadow:0 12px 35px rgba(0,0,0,.35); opacity:0; pointer-events:none; transform:translate(-50%,1rem); transition:opacity .18s ease,transform .18s ease; }.content-protection-feedback.is-visible { opacity:1; transform:translate(-50%,0); }
@media print { .content-protection-enabled body > * { display:none !important; }.content-protection-enabled body::before { display:block; padding:2rem; color:#111; content:"本站内容仅供在线阅读，暂不提供打印。"; font:16px/1.6 sans-serif; } }
.account-nav-link { margin-left:auto; padding:.42rem .72rem; border:1px solid var(--line); border-radius:999px; color:#dce6ff; font-size:.88rem; text-decoration:none; }.button-link,button { display:inline-flex; align-items:center; justify-content:center; padding:.65rem .9rem; border:1px solid #5576b7; border-radius:.5rem; color:#fff; background:#29477e; font:inherit; font-weight:700; cursor:pointer; text-decoration:none; }.paywall-card { display:grid; grid-template-columns:auto 1fr; gap:1rem; margin:2rem 0 0; padding:1.5rem; border:1px solid #536ea4; border-radius:.9rem; background:linear-gradient(145deg,#172847,#10192f); box-shadow:0 -32px 45px rgba(11,18,34,.88); }.paywall-lock { font-size:1.7rem; }.paywall-card h2 { margin:.2rem 0 .5rem; padding:0; border:0; font-size:1.35rem; }.paywall-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; margin-top:1rem; }.auth-shell { width:min(100% - 32px,980px); margin:auto; padding:3.5rem 0 5rem; }.auth-grid,.pricing-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }.auth-card,.plan-card,.account-card { padding:1.5rem; border:1px solid var(--line); border-radius:.9rem; background:#111c35; }.form-stack { display:grid; gap:.9rem; }.form-stack label { display:grid; gap:.35rem; color:#dbe5ff; font-weight:700; }.form-stack input { width:100%; padding:.72rem .8rem; border:1px solid #435678; border-radius:.5rem; color:#fff; background:#0b1428; font:inherit; }.form-status { margin:1rem 0; padding:.75rem 1rem; border-radius:.5rem; color:#c8f5df; background:#15372c; }.form-status.is-error { color:#ffd7d7; background:#442329; }.pricing-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.plan-card.is-featured { border-color:#82a8ff; box-shadow:0 0 35px rgba(81,119,202,.2); }.plan-price { font-size:2rem; font-weight:800; }.contact-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,360px); gap:2rem; align-items:center; margin-top:2rem; }.contact-qr { width:100%; border:1px solid var(--line); border-radius:.8rem; }.account-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }.account-summary strong { display:block; margin-top:.3rem; font-size:1.25rem; }.session-list { display:grid; gap:.6rem; padding:0; list-style:none; }.session-list li { display:flex; justify-content:space-between; gap:1rem; align-items:center; padding:.7rem; border:1px solid var(--line); border-radius:.5rem; }.admin-table-wrap { overflow:auto; }.admin-table { width:100%; border-collapse:collapse; }.admin-table th,.admin-table td { padding:.75rem; border:1px solid var(--line); text-align:left; vertical-align:top; }.admin-table label { display:block; white-space:nowrap; }
@media (max-width:720px) { .shell { width:min(100% - 28px,1120px); }.menu-button { display:block; }.nav-links { display:none; position:absolute; top:68px; left:14px; right:14px; padding:.6rem; border:1px solid var(--line); border-radius:.7rem; background:#101a34; flex-direction:column; }.nav-links.is-open { display:flex; }.hero { grid-template-columns:1fr; gap:2rem; min-height:auto; padding:4rem 0; }.hero-avatar-wrap { order:-1; width:min(58vw,260px); }.feature-grid,.about-card { grid-template-columns:1fr; }.section { padding:3.5rem 0; }.section-heading { align-items:start; flex-direction:column; }.document-item { grid-template-columns:1fr auto; }.document-meta { grid-column:1 / -1; }.article-layout { display:block; }.table-of-contents { position:static; max-height:none; margin-bottom:2rem; padding:1rem; background:#111a33; border:1px solid var(--line); border-radius:.6rem; } }
@media (max-width:720px) { .auth-grid,.pricing-grid,.account-summary,.contact-layout { grid-template-columns:1fr; }.paywall-card { grid-template-columns:1fr; }.account-nav-link { margin-left:0; }.session-list li { align-items:flex-start; flex-direction:column; } }

.site-footer a { color:#b8c8ff; }
.footer-row { display:flex; justify-content:space-between; gap:1rem 2rem; flex-wrap:wrap; }
.footer-row > span:last-child { display:flex; flex-wrap:wrap; gap:.65rem 1.2rem; }
.form-stack .consent-row { display:flex; align-items:flex-start; gap:.65rem; font-size:.9rem; font-weight:400; }
.form-stack .consent-row input { width:auto; margin:.25rem 0 0; }
.consent-row span { display:flex; flex-wrap:wrap; gap:.25rem; }
.consent-row a { color:#b8c8ff; }

/* Account and membership refinements */
.auth-shell-narrow { width:min(100% - 32px,620px); }
.auth-switch { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1.25rem; padding-top:1.1rem; border-top:1px solid var(--line); }
.auth-switch p { margin:0; }
.plan-name { margin:.1rem 0 .75rem; color:var(--accent-2); font-size:clamp(2rem,4vw,3rem); letter-spacing:.06em; }
.plan-card .plan-price { margin:.3rem 0 1.3rem; }
.article-layout > .table-of-contents { grid-column:1; }
.article-layout > .article-body { grid-column:2; min-width:0; }
.article-body > .paywall-card { width:100%; box-sizing:border-box; }
.table-of-contents a.toc-locked { color:#7f8ba5; }
.table-of-contents a.toc-locked::after { content:' · 锁定'; font-size:.72rem; color:#66738f; }
@media (max-width:720px) { .article-layout > .table-of-contents,.article-layout > .article-body { grid-column:auto; } .auth-switch { align-items:flex-start; flex-direction:column; } }
.button-architecture { color:#07172a; background:linear-gradient(135deg,#8ee4c1,#72b9ff); border:0; box-shadow:0 10px 28px rgba(94,190,193,.2); }.button-architecture:hover { filter:brightness(1.08); }
.architecture-showcase { padding:clamp(4rem,8vw,7rem) 0 5rem; border-top:1px solid rgba(255,255,255,.04); background:radial-gradient(circle at 84% 12%,rgba(142,228,193,.12),transparent 28rem),#080f21; }
.architecture-showcase-main { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); gap:clamp(3rem,7vw,7rem); align-items:center; }
.architecture-kicker { margin:0 0 1.25rem; color:#70f0c4; font-size:.78rem; font-weight:800; letter-spacing:.12em; }
.architecture-showcase-copy h2 { margin:0 0 1.5rem; font-size:clamp(2.7rem,5.2vw,4.6rem); line-height:1.06; letter-spacing:-.05em; }
.architecture-showcase-copy h2 em { color:var(--accent-2); font-style:normal; }
.architecture-showcase-copy>p:not(.architecture-kicker) { max-width:45rem; margin:0; color:#b9c7e5; font-size:1.08rem; }
.architecture-showcase-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2rem; }
.architecture-relation { min-height:400px; display:grid; place-items:center; align-content:center; padding:2.5rem; border:1px solid #304365; border-radius:2rem; color:#fff; background:linear-gradient(150deg,#111d36,#0b1428); box-shadow:0 24px 65px rgba(0,0,0,.22); transform:rotate(1deg); }
.architecture-orbit { display:grid; justify-items:center; gap:0; }
.architecture-orbit span { width:11.5rem; padding:.7rem 1rem; border:1px solid #48628f; border-radius:999px; background:#182a4b; font-weight:700; text-align:center; }
.architecture-orbit span:nth-of-type(2) { background:#315793; }
.architecture-orbit span:nth-of-type(3) { border-color:transparent; color:#092137; background:var(--accent-2); }
.architecture-orbit i { height:1.8rem; border-left:1px dashed #79d4bd; }
.architecture-relation p { margin:.25rem 0 0; color:#70f0c4; font-weight:700; letter-spacing:.04em; }
@media (max-width:900px) { .architecture-showcase-main { grid-template-columns:1fr; } .architecture-relation { min-height:340px; } }
@media (max-width:720px) { .architecture-showcase-copy h2 { font-size:clamp(2.4rem,11vw,3.6rem); } .architecture-showcase-actions { align-items:stretch; flex-direction:column; } .architecture-showcase-actions .button { text-align:center; } }
