/* Field guide: shared brand chrome, paper reading surface, editorial hierarchy. */
.learn-site { --paper:#f4f2eb; --paper-raised:#fbfaf6; --text:#202b38; --muted:#5b6571; --rule:#d7d8d2; --accent:#9f5e1a; color:var(--text); background:var(--paper); color-scheme:light; }
.learn-site .site-header { max-width:none; padding:24px max(24px,calc((100vw - 1160px)/2)); background:#121831; border-color:#34406a; }
.learn-site .site-header nav a { color:#c4cee3; }
.learn-site .site-header nav .button { color:#201a00; }
.learn-site .site-header nav a[aria-current] { color:#f5c518; }
.learn-site p,.learn-site li { color:var(--muted); }
.learn-site a { color:#254b70; }
.learn-site a:hover { color:#8e4a0d; }
.learn-site a:focus-visible { outline:3px solid #a85b16; }
.learn-site .brand { color:white; }
.learn-site .button { color:#201a00; }
.learn-site .skip { color:#fff; z-index:10; }
.learn-site [hidden] { display:none!important; }
.learn-main { max-width:none; padding:0; }
.learn-container { max-width:1208px; margin:0 auto; padding-left:24px; padding-right:24px; }
.learn-paper { padding-bottom:72px; }
.learn-site .topic-label { display:block; font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:.12em; line-height:1.6; color:var(--accent); text-decoration:none; }
.breadcrumbs { padding:24px 0; font-size:12px; }
.breadcrumbs ol { display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
.breadcrumbs li { font-size:12px; line-height:1.5; }
.breadcrumbs li+li::before { content:'/'; display:inline-block; color:#8a9095; margin-right:8px; }
.breadcrumbs a { text-decoration:none; }
.learn-intro { background:#121831; color:#f4f2eb; padding-bottom:36px; }
.learn-intro .breadcrumbs a,.learn-intro .breadcrumbs li,.learn-intro .intro-deck { color:#aebad0; }
.intro-rule { display:flex; align-items:center; justify-content:space-between; padding:26px 0 10px; }
.intro-rule .topic-label { color:#f5c518; }
.intro-rule>span:last-child { font-size:12px; color:#aebad0; }
.learn-intro h1 { font-size:clamp(42px,6vw,78px); max-width:1000px; margin:24px 0; line-height:1.06; letter-spacing:-.045em; }
.learn-intro h1 em { font-family:Georgia,serif; font-weight:400; color:#f5c518; letter-spacing:-.035em; }
.intro-deck { max-width:720px; font-size:19px; line-height:1.7; }
.intro-bottom { display:flex; justify-content:space-between; gap:24px; align-items:center; border-top:1px solid #34406a; margin-top:36px; padding-top:24px; font-size:12px; color:#aebad0; }
.intro-bottom a { color:#f4f2eb; font-size:14px; text-decoration:none; font-weight:650; }
.intro-bottom a span { color:#f5c518; margin-left:12px; }
.topic-nav { display:flex; gap:28px; padding:0; border-bottom:1px solid var(--rule); }
.topic-nav a { padding:22px 0; color:var(--muted); border-bottom:2px solid transparent; margin-bottom:-1px; font-size:13px; white-space:nowrap; }
.topic-nav a[aria-current] { color:var(--text); border-color:var(--text); font-weight:700; }
.topic-nav a span { margin-left:6px; font-size:10px; color:var(--muted); }
.featured-guide { display:grid; grid-template-columns:1.2fr 1fr; background:var(--paper-raised); margin:44px 0 64px; border:1px solid var(--rule); }
.featured-copy { padding:38px 44px; }
.featured-copy h2 { font-size:clamp(32px,4vw,50px); line-height:1.1; letter-spacing:-.04em; margin:24px 0; }
.featured-copy h2 a { color:var(--text); text-decoration:none; }
.featured-copy h2 em { font-family:Georgia,serif; font-weight:400; }
.featured-copy p { font-size:16px; max-width:390px; }
.text-link { display:inline-flex; gap:20px; align-items:center; font-size:14px; font-weight:650; text-decoration:none; padding:8px 0; }
.proof-figure { padding:40px; background:#1c2a3d; color:#eef2fa; display:flex; flex-direction:column; justify-content:center; }
.figure-label { color:#aebad0; font-size:10px; letter-spacing:.17em; margin-bottom:26px; }
.proof-step { display:flex; align-items:flex-start; gap:20px; border-top:1px solid #435063; padding:24px 0; }
.proof-step>span { color:#e2b74d; font:12px ui-monospace,monospace; padding-top:4px; }
.proof-step div { flex:1; }
.proof-step strong { display:block; font-size:20px; font-weight:550; }
.proof-step code { display:block; margin-top:8px; font-size:11px; color:#b2bed2; }
.proof-step b { color:#e2b74d; font-weight:400; }
.proof-figure p { font-size:11px; color:#c5ccdb; border-top:1px solid #435063; padding-top:18px; margin:0; }
.section-heading { margin-bottom:28px; }
.section-heading h2,.library-heading h2 { margin:10px 0 0; font-size:30px; letter-spacing:-.035em; }
.topic-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); }
.topic-card { padding:28px 24px 28px 0; text-decoration:none; }
.topic-card+.topic-card { border-left:1px solid var(--rule); padding-left:28px; }
.topic-number { font:12px ui-monospace,monospace; color:var(--accent); }
.topic-card h3 { color:var(--text); font-size:21px; letter-spacing:-.03em; margin:22px 0 12px; }
.topic-card h3 span { float:right; font-weight:400; }
.topic-card p { font-size:14px; line-height:1.8; margin:0 0 22px; }
.topic-count { color:var(--muted); font-size:12px; }
.topic-section { margin-bottom:68px; }
.library-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:28px; }
.guide-search { min-width:250px; }
.guide-search label { font-size:11px; color:var(--muted); display:block; margin-bottom:8px; }
.guide-search>div { display:flex; border:1px solid #aeb5b8; background:var(--paper-raised); border-radius:4px; }
.guide-search input { border:0; background:transparent; min-width:0; width:100%; padding:12px; font:13px system-ui; color:var(--text); }
.guide-search button { border:0; border-left:1px solid var(--rule); background:transparent; padding:0 12px; font:12px system-ui; color:#254b70; cursor:pointer; }
.search-status { font-size:13px!important; }
.search-empty { border:1px dashed var(--rule); padding:32px; }
.search-empty h3 { margin-top:0; }
.guide-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--rule); }
.guide-card { min-width:0; padding:28px 24px 28px 0; border-bottom:1px solid var(--rule); display:flex; flex-direction:column; }
.guide-card:not(:nth-child(3n+1)) { border-left:1px solid var(--rule); padding-left:24px; }
.guide-card-top { display:flex; gap:16px; align-items:center; justify-content:space-between; }
.guide-index { color:#7c858a; font:11px ui-monospace,monospace; }
.guide-card h3 { font-size:23px; line-height:1.3; letter-spacing:-.025em; margin:22px 0 14px; }
.guide-card h3 a { color:var(--text); text-decoration:none; }
.guide-card h3 a:hover,.article-row h2 a:hover { text-decoration:underline; text-decoration-thickness:1px; }
.guide-card p { font-size:14px; line-height:1.8; margin:0 0 28px; }
.guide-card-bottom { margin-top:auto; display:flex; gap:16px; justify-content:space-between; font-size:11px; color:var(--muted); }
.guide-card-bottom a { font-weight:650; text-decoration:none; font-size:12px; }
.editorial-note { display:flex; align-items:flex-start; gap:36px; background:#e9e8df; padding:32px 36px; margin-top:64px; }
.note-mark { font-size:28px; letter-spacing:-.05em; font-weight:800; white-space:nowrap; }
.editorial-note h2 { font-size:22px; margin:0; }
.editorial-note p { font-size:14px; margin:12px 0; }
.editorial-note a { font-size:13px; }
.category-heading { display:flex; justify-content:space-between; align-items:center; gap:30px; padding:34px 0 45px; }
.category-heading h1 { font-size:clamp(42px,6vw,72px); margin:18px 0; }
.title-dot { color:var(--accent); }
.category-heading .intro-deck { max-width:670px; }
.category-index { font-family:Georgia,serif; font-size:150px; line-height:1; color:#d7d8ce; }
.category-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:64px; margin:48px 0 68px; }
.category-aside h2 { font-family:Georgia,serif; font-weight:400; font-size:29px; line-height:1.25; margin:16px 0; }
.category-aside p { font-size:14px; }
.category-aside>a { font-size:13px; display:inline-block; margin-top:18px; }
.article-row { display:flex; gap:24px; padding:0 0 40px; }
.article-row+.article-row { padding-top:36px; border-top:1px solid var(--rule); }
.row-number { font:12px ui-monospace,monospace; padding-top:4px; color:var(--accent); }
.row-meta { font-size:11px; color:var(--muted); }
.article-row h2 { font-size:29px; line-height:1.25; margin:14px 0; }
.article-row h2 a { color:var(--text); text-decoration:none; }
.article-row p { font-size:16px; }
.more-topics { border-top:1px solid var(--rule); padding-top:28px; }
.more-topics h2 { font-size:26px; margin:0 0 20px; }
.more-topics>div { display:flex; gap:24px; }
.more-topics a { flex:1; border:1px solid var(--rule); padding:24px; text-decoration:none; font-weight:600; }
.more-topics a>span:first-child { font:12px ui-monospace,monospace; color:var(--accent); margin-right:24px; }
.more-topics a>span:last-child { float:right; }
.article-top { border-bottom:1px solid var(--rule); }
.article-header { max-width:870px; margin:28px auto 44px; }
.article-header h1 { font-family:Georgia,'Times New Roman',serif; font-weight:400; font-size:clamp(36px,4.8vw,60px); line-height:1.12; letter-spacing:-.035em; margin:22px 0; }
.article-deck { font-size:19px; line-height:1.7; }
.article-meta { display:flex; flex-wrap:wrap; align-items:center; gap:14px 24px; margin-top:28px; color:var(--muted); font-size:11px; }
.article-meta>a { display:flex; align-items:center; gap:10px; text-decoration:none; font-weight:650; }
.author-mark { background:#202d40; color:#f5c518; width:28px; height:28px; display:grid; place-items:center; font-weight:800; }
.article-layout { display:grid; grid-template-columns:230px minmax(0,750px); justify-content:space-between; gap:60px; padding-top:44px; padding-bottom:64px; }
.article-sidebar { position:relative; }
.article-toc { position:sticky; top:28px; display:block; }
.article-toc ol { display:block; padding:0; list-style:none; margin:18px 0 28px; }
.article-toc li { border-left:1px solid var(--rule); padding:8px 0 8px 16px; font-size:12px; line-height:1.5; }
.article-toc a { color:var(--muted); }
.article-toc a:hover { color:var(--accent); }
.toc-back { font-size:12px; }
.article-body { min-width:0; }
.article-body section { scroll-margin-top:24px; }
.article-body p,.article-body li { font-size:17px; line-height:1.9; color:#3d4852; }
.article-body h2 { font-size:28px; line-height:1.3; letter-spacing:-.025em; margin:0 0 20px; }
.article-summary { padding:28px 32px; background:#e9ede9; border-top:3px solid #47635b; }
.article-summary>p { font-size:19px; line-height:1.7; margin:14px 0 24px; }
.article-summary h2 { font-size:13px; letter-spacing:0; margin-bottom:12px; }
.article-summary ul { margin:0; padding-left:20px; }
.article-summary li { font-size:14px; line-height:1.8; padding-left:3px; margin:8px 0; }
.article-section { margin-top:44px; }
.article-section p { margin:0 0 20px; }
.formula { background:#e8e6db; border-left:3px solid #a66e2b; padding:20px 24px; margin:26px 0; font:14px/1.8 ui-monospace,monospace; overflow-wrap:anywhere; }
.article-body code { font-size:.85em; overflow-wrap:anywhere; }
.article-body pre { background:#1c2a3d; color:#eff3f8; border:0; border-radius:0; white-space:pre-wrap; word-break:break-word; }
.table-scroll { max-width:100%; overflow:auto; margin:26px 0; }
.learn-site table { margin:0; font-size:14px; }
.learn-site th { color:var(--text); font-size:12px; background:#e9e8df; font-weight:650; }
.learn-site td { color:#3d4852; font-size:14px; }
.learn-site td,.learn-site th { border-bottom:1px solid var(--rule); padding:16px 14px; }
.learn-site caption { color:var(--muted); }
.flow-diagram { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:24px 18px; background:#e9ede9; margin:28px 0; }
.flow-diagram>span { font-weight:650; font-size:17px; }
.flow-diagram small { display:block; font:11px/1.6 system-ui; color:var(--muted); margin-top:8px; }
.flow-diagram b { color:#47635b; font-weight:400; }
.article-sources { border-top:1px solid var(--rule); margin-top:44px; padding-top:28px; }
.article-sources h2 { font-size:20px; }
.article-sources p,.article-sources li { font-size:13px; line-height:1.8; }
.article-sources ul { padding-left:18px; }
.article-cta { padding:30px 32px; background:#1c2a3d; color:white; margin-top:40px; }
.article-cta .topic-label { color:#f5c518; }
.article-cta h2 { margin:14px 0; }
.article-cta p { color:#c4cee3; font-size:14px; }
.article-cta .button { font-size:13px; }
.related-guides { padding-top:36px; padding-bottom:64px; border-top:1px solid var(--rule); }
.related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:28px; }
.learn-site footer { color:#eef2fa; }
.learn-site footer p { color:#b5c0d4; }
.learn-site footer a { color:#b9d9ff; }
@media(max-width:950px) {
  .featured-copy { padding:30px; }.proof-figure { padding:30px; }
  .guide-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .guide-card:not(:nth-child(3n+1)) { border-left:0; padding-left:0; }
  .guide-card:nth-child(2n) { border-left:1px solid var(--rule); padding-left:24px; }
  .category-layout { grid-template-columns:220px minmax(0,1fr); gap:32px; }
  .article-layout { grid-template-columns:190px minmax(0,1fr); gap:32px; }
  .article-header { margin-left:0; }
}
@media(max-width:700px) {
  .learn-site .site-header { padding:20px 24px; flex-direction:column; align-items:flex-start; gap:18px; }
  .learn-site .site-header nav { gap:12px 20px; }.learn-site .site-header .button { padding:9px 14px; }
  .intro-rule { padding-top:14px; }.intro-rule>span:last-child { display:none; }
  .learn-intro h1 { font-size:43px; }.intro-deck { font-size:17px; }
  .intro-bottom { flex-direction:column; align-items:flex-start; gap:16px; }
  .topic-nav { gap:0 22px; flex-wrap:wrap; }.topic-nav a { padding:15px 0; font-size:12px; }
  .featured-guide { grid-template-columns:1fr; margin:30px 0 44px; }.featured-copy { padding:28px; }.featured-copy h2 { font-size:39px; }
  .proof-figure { padding:28px; }.proof-step { padding:18px 0; }
  .topic-grid { grid-template-columns:1fr; }.topic-card+.topic-card { border-left:0; border-top:1px solid var(--rule); padding-left:0; }
  .topic-card { padding:22px 0; }.topic-card h3 { margin-top:14px; }.topic-card p { margin-bottom:12px; }
  .topic-section { margin-bottom:44px; }.library-heading { flex-direction:column; align-items:stretch; }.library-heading h2,.section-heading h2 { font-size:27px; }
  .guide-grid { grid-template-columns:1fr; }.guide-card,.guide-card:nth-child(2n) { border-left:0; padding:26px 0; }
  .editorial-note { padding:26px; gap:20px; margin-top:40px; }.note-mark { font-size:22px; }.editorial-note h2 { font-size:20px; }
  .category-heading { padding-top:22px; }.category-index { display:none; }.category-heading h1 { font-size:46px; }
  .category-layout { grid-template-columns:1fr; gap:32px; margin-top:30px; }.category-aside { padding-bottom:24px; border-bottom:1px solid var(--rule); }
  .article-row { gap:16px; }.article-row h2 { font-size:26px; }.more-topics>div { flex-direction:column; gap:14px; }
  .article-header { margin:18px 0 30px; }.article-header h1 { font-size:38px; }.article-deck { font-size:17px; }.article-meta { gap:14px; }
  .article-layout { grid-template-columns:1fr; gap:28px; padding-top:28px; }.article-toc { position:static; padding-bottom:20px; border-bottom:1px solid var(--rule); }
  .article-toc ol { margin:12px 0; }.article-toc li { padding-top:6px; padding-bottom:6px; }
  .article-summary { padding:24px; }.article-summary>p { font-size:17px; }.article-body p { font-size:16px; }.article-body h2 { font-size:25px; }.article-summary h2 { font-size:13px; }
  .article-section { margin-top:36px; }.flow-diagram { flex-direction:column; align-items:flex-start; }.flow-diagram>b { transform:rotate(90deg); }
  .article-cta { padding:26px; }.article-cta .button { max-width:100%; }.learn-paper { padding-bottom:44px; }
}
@media(prefers-reduced-motion:no-preference) { .learn-site { scroll-behavior:smooth; } }
