@import url('/styles.css');

:root { --atlas-bg:var(--paper); --atlas-card:var(--paper-raised); --atlas-ink:var(--ink); --atlas-muted:var(--ink-faint); --atlas-line:var(--hairline); --atlas-accent:var(--accent); --reading-size:1.1rem; }
html { height:auto; min-height:100%; scroll-behavior:smooth; scroll-padding-top:100px; }
body { height:auto; min-height:100vh; overflow:visible; }
* { box-sizing:border-box; }
a { color:inherit; }
button,input { font:inherit; }
button,a,input,summary { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:2px solid var(--atlas-accent); outline-offset:5px; }
[hidden] { display:none!important; }
.wordmark__title { color:inherit; text-decoration:none; }
.shelf-links { display:inline-flex; align-items:center; gap:.2rem; }
.section-link.language-link { border-left:1px solid var(--hairline); border-radius:0; }
.atlas-main { max-width:1200px; margin:0 auto; padding:clamp(1.75rem,4vw,3rem) clamp(1.25rem,4vw,3rem) 5rem; }
.no-results { max-width:1200px; margin:4rem auto 0; padding:0 clamp(1.25rem,4vw,3rem); text-align:center; color:var(--ink-faint); font-family:var(--font-serif); font-style:italic; }
.eyebrow { color:var(--atlas-accent); font-size:.69rem; letter-spacing:.15em; line-height:1.6; margin:0 0 25px; }
.topic-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.topic-card { min-width:0; background:var(--atlas-card); border:1px solid var(--atlas-line); border-radius:var(--radius); padding:27px; display:flex; flex-direction:column; position:relative; animation:card-in .55s var(--ease) both; transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .3s; }
.topic-card:hover { border-color:var(--atlas-accent); transform:translateY(-4px); box-shadow:var(--shadow-book-hover); }
.card-top { display:flex; justify-content:space-between; gap:12px; font-size:.65rem; color:var(--atlas-muted); align-items:center; }
.topic-number { font:italic 1.2rem var(--font-serif); color:var(--atlas-accent); }
.topic-card h2 { margin:27px 0 13px; font:normal 1.45rem/1.38 var(--font-serif); }
.topic-card h2 a { text-decoration:none; }
.topic-card h2 a::after { content:""; position:absolute; inset:0; }
.topic-card h2 a:focus-visible { outline:none; }
.topic-card:focus-within { outline:2px solid var(--atlas-accent); outline-offset:3px; }
.topic-card>p { margin:0 0 30px; color:var(--atlas-muted); font-size:.84rem; line-height:1.8; }
.card-bottom { margin-top:auto; padding-top:18px; border-top:1px solid var(--atlas-line); display:flex; align-items:center; justify-content:space-between; gap:14px; font-size:.66rem; color:var(--atlas-muted); }
.card-arrow { font-size:1.1rem; padding-left:8px; color:var(--atlas-accent); }
.source-covers { display:flex; padding-left:4px; }
.source-covers img { width:30px; height:40px; object-fit:cover; border-radius:1px 2px 2px 1px; margin-left:-4px; box-shadow:var(--shadow-book); }
.article-layout { max-width:1320px; margin:0 auto; padding:55px 5vw 80px; display:grid; grid-template-columns:220px minmax(0,760px); gap:64px; justify-content:center; align-items:start; }
.article-sidebar { position:sticky; top:24px; max-height:calc(100dvh - 48px); display:flex; flex-direction:column; }
.back-to-index { display:block; font-size:.8rem; text-decoration:none; margin-bottom:40px; color:var(--atlas-muted); }
.article-toc { min-height:0; overflow:auto; }
.article-toc summary { list-style:none; font-size:.7rem; letter-spacing:.12em; color:var(--atlas-accent); margin-bottom:17px; pointer-events:none; }
.article-toc summary::-webkit-details-marker { display:none; }
.article-toc ol { padding:0; margin:0; list-style:none; }
.article-toc li { margin:0 0 5px; }
.article-toc a { display:block; font-size:.77rem; line-height:1.6; padding:6px 10px; border-left:1px solid var(--atlas-line); text-decoration:none; color:var(--atlas-muted); }
.article-toc a:hover,.article-toc a.is-current { color:var(--atlas-accent); border-color:var(--atlas-accent); background:color-mix(in srgb,var(--atlas-accent) 7%,transparent); }
.reading-tools { display:flex; align-items:center; gap:15px; padding-top:23px; margin-top:22px; border-top:1px solid var(--atlas-line); font-size:.65rem; flex-shrink:0; }
.reading-tools a { display:inline-flex; align-items:center; min-height:40px; color:var(--atlas-muted); text-decoration:none; }
.reading-tools .reading-language-link { padding-left:15px; color:var(--atlas-accent); }
.reading-tools button { background:transparent; color:var(--atlas-ink); border:1px solid var(--atlas-line); padding:8px; cursor:pointer; white-space:nowrap; min-height:40px; }
.reading-tools button span { color:var(--atlas-muted); font-size:.65rem; }
.share-button { display:inline-flex; align-items:center; gap:6px; }
.share-button.is-copied { color:var(--atlas-accent); border-color:var(--atlas-accent); }
.mobile-reading-dock { display:none; }
.article-main { min-width:0; }
.pending-article { max-width:760px; min-height:55vh; margin:70px auto; padding:0 24px; }
.pending-article h1 { font-size:clamp(2rem,5vw,3.5rem); line-height:1.25; }
.publication-badge { font: .78em/1.4 var(--font-sans); color:var(--atlas-muted); }
@media(max-width:600px) { .pending-topics ul { grid-template-columns:1fr; } }
.article-header { border-bottom:1px solid var(--atlas-line); margin-bottom:38px; padding-bottom:31px; }
.article-header h1 { font:normal clamp(2rem,4vw,3.5rem)/1.22 var(--font-serif); margin:0 0 23px; letter-spacing:-.025em; }
:lang(zh-CN) .article-header h1 { letter-spacing:.015em; }
.article-deck { font-size:1.03rem; line-height:1.9; color:var(--atlas-muted); margin:0 0 25px; }
.article-meta { display:flex; gap:12px 20px; flex-wrap:wrap; font-size:.69rem; color:var(--atlas-muted); }
.article-meta a { color:var(--atlas-accent); text-decoration:none; }
.article-prose { font:var(--reading-size)/1.9 var(--font-serif); overflow-wrap:break-word; }
:lang(zh-CN) .article-prose { line-height:2; letter-spacing:.025em; }
.article-prose p { margin:0 0 1.5em; }
.article-prose h2 { font-size:1.55em; line-height:1.45; font-weight:500; margin:2.3em 0 .9em; letter-spacing:-.015em; }
.article-prose h3 { font-size:1.18em; line-height:1.5; margin:1.8em 0 .8em; }
.article-prose a { color:var(--atlas-accent); text-decoration-color:color-mix(in srgb,var(--atlas-accent) 40%,transparent); text-underline-offset:4px; }
.article-prose a:hover { text-decoration-color:var(--atlas-accent); }
.article-prose ul,.article-prose ol { padding-left:1.4em; margin:0 0 1.5em; }
.article-prose li { margin-bottom:.5em; }
.article-prose blockquote { border-left:2px solid var(--atlas-accent); margin:1.8em 0; padding-left:1.2em; color:var(--atlas-muted); }
.article-prose .source-credit,.article-prose .reference-note { color:var(--atlas-muted); font:.73rem/1.7 var(--font-sans); overflow-wrap:anywhere; }
.article-prose .source-credit { margin-top:-.35em; margin-bottom:2.1em; }
.article-prose .reference-note { margin-top:.8em; }
.article-prose .source-credit em,.article-prose .reference-note em { font-style:normal; }
.article-prose table { display:block; overflow:auto; border-collapse:collapse; width:100%; margin:1.5em 0; font-size:.88em; }
.article-prose th,.article-prose td { padding:10px 14px; border:1px solid var(--atlas-line); text-align:left; }
.article-prose pre { overflow:auto; background:var(--atlas-card); padding:16px; }
.article-prose img { max-width:100%; height:auto; }
.article-prose hr { border:0; border-top:1px solid var(--atlas-line); margin:2.4em 0; }
.heading-anchor { font:normal .65em var(--font-sans); margin-left:.6em; opacity:0; text-decoration:none; }
h2:hover .heading-anchor,h3:hover .heading-anchor,.heading-anchor:focus-visible { opacity:1; }
.reading-progress { height:2px; position:fixed; top:0; left:0; right:0; z-index:60; }
.reading-progress span { display:block; height:100%; background:var(--atlas-accent); transform:scaleX(0); transform-origin:left; }
.article-sources { margin-top:65px; padding-top:32px; border-top:1px solid var(--atlas-line); }
.article-sources .eyebrow { margin-bottom:10px; }
.article-sources h2,.related-articles h2 { font:normal 1.7rem var(--font-serif); margin:0 0 12px; }
.article-sources>p:not(.eyebrow) { font-size:.83rem; color:var(--atlas-muted); }
.article-sources ul { list-style:none; padding:0; margin:25px 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px 25px; }
.article-sources li a { display:flex; align-items:center; gap:12px; border-bottom:1px solid var(--atlas-line); padding:13px 0; height:100%; text-decoration:none; font-size:.78rem; line-height:1.5; }
.article-sources img { object-fit:cover; flex-shrink:0; }
.article-sources li a span:last-child { margin-left:auto; color:var(--atlas-muted); }
.related-articles { margin-top:40px; }
.related-articles>a { display:flex; justify-content:space-between; padding:16px 0; border-bottom:1px solid var(--atlas-line); color:var(--atlas-accent); text-decoration:none; }
@media(max-width:1050px) { .topic-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .article-layout { gap:35px; grid-template-columns:190px minmax(0,1fr); } }
@media(max-width:900px) {
  body.article-page { padding-bottom:calc(78px + env(safe-area-inset-bottom)); }
  .article-layout { display:block; padding-top:24px; }
  .article-sidebar { position:static; max-height:none; margin-bottom:34px; }
  .back-to-index { margin-bottom:20px; }
  .article-sidebar .article-toc,.reading-tools .reading-language-link { display:none; }
  .reading-tools { margin-top:0; padding-top:12px; border:0; justify-content:flex-start; }
  .article-main { max-width:720px; margin:auto; }
  .mobile-reading-dock { position:fixed; z-index:70; left:50%; bottom:max(10px,env(safe-area-inset-bottom)); transform:translateX(-50%); display:flex; align-items:stretch; width:min(calc(100% - 24px),430px); min-height:52px; background:var(--atlas-card); border:1px solid var(--atlas-line); border-radius:14px; box-shadow:0 9px 28px #101a1230; }
  .mobile-article-toc { flex:1; min-width:0; }
  .mobile-article-toc summary { display:flex; align-items:center; gap:9px; min-height:52px; padding:0 16px; list-style:none; color:var(--atlas-ink); cursor:pointer; font-size:.75rem; }
  .mobile-article-toc summary::-webkit-details-marker { display:none; }
  .mobile-article-toc summary::after { content:'＋'; margin-left:auto; color:var(--atlas-accent); }
  .mobile-article-toc[open] summary::after { content:'−'; }
  .mobile-toc-panel { position:absolute; left:-1px; right:-1px; bottom:calc(100% + 8px); max-height:min(58dvh,30rem); overflow:auto; overscroll-behavior:contain; padding:9px; background:var(--atlas-card); border:1px solid var(--atlas-line); border-radius:14px; box-shadow:0 9px 28px #101a1230; }
  .mobile-toc-panel ol { padding:0; margin:0; list-style:none; }
  .mobile-toc-panel li { margin:0; }
  .mobile-toc-panel a { display:flex; align-items:center; min-height:44px; padding:8px 10px; border-left:2px solid transparent; color:var(--atlas-muted); font-size:.78rem; line-height:1.45; text-decoration:none; }
  .mobile-toc-panel a:hover,.mobile-toc-panel a.is-current { color:var(--atlas-accent); border-color:var(--atlas-accent); background:color-mix(in srgb,var(--atlas-accent) 7%,transparent); }
  .mobile-toc-panel a:focus-visible { outline-offset:-3px; }
  .mobile-language-link { display:flex; align-items:center; justify-content:center; gap:7px; min-width:88px; min-height:52px; padding:0 16px; border-left:1px solid var(--atlas-line); color:var(--atlas-accent); font-size:.75rem; text-decoration:none; }
  .mobile-share-button { display:flex; align-items:center; justify-content:center; min-width:52px; min-height:52px; padding:0; background:transparent; border:0; border-left:1px solid var(--atlas-line); color:var(--atlas-ink); cursor:pointer; }
  .mobile-share-button.is-copied { color:var(--atlas-accent); }
}
@media(max-width:600px) { html { scroll-padding-top:24px; } .topic-grid { grid-template-columns:1fr; gap:14px; } .topic-card { padding:23px; } .topic-card h2 { margin-top:20px; } .topic-card>p { margin-bottom:23px; } .article-header h1 { font-size:2rem; } .article-deck { font-size:.94rem; } .article-prose { font-size:calc(var(--reading-size) * .94); } .article-prose h2 { font-size:1.4em; } .article-sources ul { grid-template-columns:1fr; } .article-layout { padding-bottom:45px; } }
@media(max-width:350px) { .mobile-reading-dock { width:calc(100% - 16px); bottom:max(8px,env(safe-area-inset-bottom)); } .mobile-article-toc summary { padding:0 12px; } .mobile-language-link { min-width:74px; padding:0 12px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
@media print { .shelf-header,.article-sidebar,.reading-progress,.heading-anchor,.mobile-reading-dock { display:none!important; } .article-layout { display:block; padding:0; } body { background:white; color:black; } .article-main { max-width:none; } .article-prose a { color:black; } .article-prose h2,.article-prose h3 { break-after:avoid; } }
