:root { color-scheme:dark; --bg:#050505; --text:#f3f3f3; --secondary:#929292; --muted:#686868; --line:#242424; --available:#4caf6a; --progress:#c9823b; --error:#b84a4a; --motion:420ms; }
* { box-sizing:border-box; }
html { background:var(--bg); overflow-x:clip; scroll-behavior:smooth; }
body { margin:0; min-height:100vh; background:var(--bg); color:var(--text); font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
html[data-arrival="forward"]:not([data-arrival-scope="article"]) body,
html[data-arrival="forward"][data-arrival-scope="article"] .log-article { opacity:0; transform:translateX(36px); }
html[data-arrival="back"]:not([data-arrival-scope="article"]) body,
html[data-arrival="back"][data-arrival-scope="article"] .log-article { opacity:0; transform:translateX(-36px); }
a { color:inherit; text-decoration:none; }
button { color:inherit; font:inherit; }
a,button,summary { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:1px solid #b3b3b3; outline-offset:5px; }
html[lang="zh-CN"] [data-locale="en"],html[lang="en"] [data-locale="zh"] { display:none; }
.skip-link { position:fixed; left:22px; top:12px; padding:12px 16px; background:#222; transform:translateY(-200%); z-index:3; }
.skip-link:focus { transform:none; }
.site-header,.page-main,.site-footer { margin:0; padding-left:6vw; padding-right:6vw; }
.site-header { height:90px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { font-size:16px; font-weight:600; letter-spacing:-.03em; }
.header-actions { display:flex; align-items:center; gap:25px; font-size:11px; color:var(--muted); }
.header-actions a:hover { color:var(--text); }
.language-toggle { border:1px solid #343434; border-radius:18px; background:transparent; padding:8px 12px; font-size:10px; cursor:pointer; white-space:nowrap; }
.language-current { color:var(--text); }
.language-other { color:var(--muted); }
.breadcrumbs { display:flex; align-items:center; flex-wrap:wrap; gap:12px; color:var(--muted); font-size:10px; line-height:1.8; margin:34px 0 20px; }
.breadcrumbs a:hover { color:var(--text); }
.phase-nav { display:flex; align-items:center; gap:24px; overflow-x:auto; scrollbar-width:none; padding:18px 0 25px; border-bottom:1px solid var(--line); margin-bottom:42px; font-size:13px; color:var(--muted); }
.phase-nav::-webkit-scrollbar { display:none; }
.phase-group { display:flex; align-items:center; flex-shrink:0; }
.phase-nav a { display:block; flex:none; padding:9px 0; white-space:nowrap; transition:color 180ms ease; }
.phase-nav a:hover,.phase-nav a[aria-current="page"],.phase-parent.is-active-parent { color:var(--text); }
.phase-nav a[aria-current="page"] { box-shadow:0 1px #888; }
.phase-children { width:0; opacity:0; visibility:hidden; overflow:hidden; transform:translateX(-12px); transition:width var(--motion) cubic-bezier(.16,1,.3,1),opacity 240ms ease,transform var(--motion) cubic-bezier(.16,1,.3,1),visibility var(--motion); }
.phase-group.is-expanded .phase-children { width:var(--children-width); opacity:1; visibility:visible; transform:translateX(0); }
html[data-scripts-unavailable] .phase-children { width:auto; opacity:1; visibility:visible; transform:none; }
.phase-children-inner { display:flex; align-items:center; gap:22px; width:max-content; padding:0 2px 1px 24px; }
h1,h2,h3,p { margin:0; }
.article-heading { max-width:900px; }
.article-heading h1 { font-size:clamp(30px,4.5vw,49px); line-height:1.16; font-weight:430; letter-spacing:-.045em; overflow-wrap:anywhere; }
.article-heading .phase { display:block; margin-bottom:17px; font-size:11px; letter-spacing:.12em; color:var(--muted); }
.lead { max-width:790px; margin-top:25px; color:var(--secondary); font-size:15px; line-height:1.9; }
.status { display:inline-flex; align-items:center; gap:8px; font-size:11px; line-height:1.6; color:var(--secondary); }
.status::before { content:""; width:6px; height:6px; flex:none; border-radius:50%; background:var(--muted); }
.status[data-status="confirmed"]::before { background:var(--available); }
.status[data-status="conditional"]::before { background:var(--progress); }
.status[data-status="needs-fix"]::before { background:var(--error); }
.status[data-status="planned"]::before { background:#555; }
.article-heading .status { margin-top:22px; }
.progress-heading h1 { display:flex; flex-wrap:wrap; align-items:baseline; gap:12px 24px; }
.progress-milestone { font-size:clamp(42px,5.5vw,64px); }
.progress-title { font-size:clamp(22px,2.5vw,30px); color:var(--secondary); letter-spacing:-.025em; }
.progress-section { display:grid; grid-template-columns:130px minmax(0,1fr); gap:24px; padding:30px 0; border-bottom:1px solid var(--line); }
.progress-section h2 { font-size:13px; font-weight:500; line-height:1.9; }
.progress-section p,.progress-section li { color:var(--secondary); font-size:14px; line-height:1.95; }
.progress-section ul { margin:0; padding-left:18px; }
.progress-section li+li { margin-top:10px; }
.progress-record-link { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:26px 0; font-size:12px; color:var(--secondary); }
.progress-record-link:hover { color:var(--text); }
.progress-record-link>span:last-child { font-size:18px; }
.progress-archive { border-top:1px solid var(--line); padding-top:26px; }
.progress-archive h2 { font-size:11px; font-weight:500; margin-bottom:15px; color:var(--muted); }
.progress-archive p { color:var(--muted); font-size:11px; line-height:1.95; }
.publication { display:flex; flex-wrap:wrap; gap:10px 24px; margin-top:24px; color:var(--muted); font-size:11px; line-height:1.7; }
.publication b { font-weight:400; color:var(--secondary); }
.date-note { color:var(--secondary); font-size:12px; line-height:1.9; margin-top:18px; }
.article-content { max-width:850px; padding:8px 0 30px; }
.article-section { padding:34px 0; border-bottom:1px solid var(--line); }
.article-section h2 { font-size:16px; font-weight:500; margin-bottom:18px; }
.article-section ul { padding-left:18px; margin:0; }
.article-section li { padding-left:3px; margin:12px 0; color:#a4a4a4; font-size:14px; line-height:1.95; }
.record-note { margin-top:26px; color:var(--muted); font-size:11px; line-height:1.9; }
.archive-information { border-top:1px solid var(--line); margin-top:30px; font-size:11px; color:var(--muted); }
.archive-information summary { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:20px 0; cursor:pointer; list-style:none; }
.archive-information summary::-webkit-details-marker { display:none; }
.archive-information summary>span:last-child { font-size:18px; transition:transform 240ms ease; }
.archive-information[open] summary>span:last-child { transform:rotate(45deg); }
.archive-details { color:var(--secondary); font-size:12px; line-height:1.95; padding-bottom:8px; animation:notes-in 300ms ease; }
.archive-details p { margin-bottom:18px; }
@keyframes notes-in { from { opacity:0; transform:translateX(12px); } to { opacity:1; transform:none; } }
.article-pagination { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:15px; padding:28px 0; border-top:1px solid var(--line); }
.article-pagination a { line-height:1.9; font-size:13px; }
.article-pagination a>.pagination-label { display:block; color:var(--muted); font-size:10px; margin-bottom:5px; }
.article-pagination .next { text-align:right; }
.article-pagination .empty { min-height:1px; }
.revision-history { margin-top:30px; color:var(--secondary); font-size:12px; line-height:1.9; }
.revision-history h2 { font-size:14px; font-weight:500; margin-bottom:12px; }
.site-footer { display:flex; align-items:center; justify-content:space-between; gap:25px; padding-top:36px; padding-bottom:42px; margin-top:55px; font-size:10px; color:var(--muted); border-top:1px solid var(--line); }
.site-footer a:hover { color:var(--text); }
@media(max-width:767px) {
  .site-header,.page-main,.site-footer { padding-left:22px; padding-right:22px; }
  .site-header { height:82px; gap:12px; }
  .brand { font-size:14px; }
  .header-actions { gap:14px; font-size:10px; }
  .language-toggle { padding:7px 9px; }
  .breadcrumbs { margin-top:27px; margin-bottom:12px; gap:9px; font-size:9px; }
  .phase-nav { gap:18px; font-size:12px; padding:18px 0 21px; margin-bottom:34px; }
  .phase-children-inner { gap:18px; padding-left:18px; }
  .lead { font-size:14px; margin-top:20px; }
  .article-section { padding:27px 0; }
  .article-section li { font-size:13px; }
  .progress-heading h1 { gap:12px 18px; }
  .progress-section { grid-template-columns:1fr; gap:12px; padding:25px 0; }
  .progress-section p,.progress-section li { font-size:13px; }
  .publication { gap:8px 18px; font-size:10px; }
  .article-pagination { gap:18px; }
  .article-pagination a { font-size:12px; }
  .site-footer { margin-top:40px; font-size:9px; padding-bottom:30px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; animation:none!important; } }
