:root {
  --canvas: #F7F8FA;
  --surface: #FFFFFF;
  --ink: #000000;
  --muted: #606060;
  --line: #DCDCDC;
  --accent: #006FAE;
  --accent-hover: #00568A;
  --accent-soft: #EAF5FC;
  --success: #17684B;
  --success-soft: #EAF5EF;
  --warning: #83530F;
  --warning-soft: #FFF4DE;
  --danger: #B13232;
  --danger-soft: #FFF0EF;
  --chart-1: #2899DA;
  --chart-2: #2899DA;
  --chart-3: #2899DA;
  --on-accent: #FFFFFF;
  --brand-blue: #2899DA;
  --black: #000000;
}
[data-theme="dark"] {
  --canvas: #0A0A0A;
  --surface: #171717;
  --ink: #F5F5F5;
  --muted: #B0B0B0;
  --line: #3D3D3D;
  --accent: #55B5ED;
  --accent-hover: #8DD1FA;
  --accent-soft: #112C3E;
  --success: #8CDAB5;
  --success-soft: #183E32;
  --warning: #EFC77E;
  --warning-soft: #42351F;
  --danger: #FFA8A1;
  --danger-soft: #492C30;
  --chart-1: #2899DA;
  --chart-2: #2899DA;
  --chart-3: #2899DA;
  --on-accent: #000000;
  --brand-blue: #2899DA;
  --black: #000000;
}
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('/assets/guide/fonts/ibm-plex-sans-400-normal.3b646991d30055a9.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url('/assets/guide/fonts/ibm-plex-sans-600-normal.8960851d691c054e.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Serif'; font-style: normal; font-weight: 400; font-display: swap; src: url('/assets/guide/fonts/ibm-plex-serif-400-normal.cb2c5eee2c0a43ff.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Serif'; font-style: italic; font-weight: 400; font-display: swap; src: url('/assets/guide/fonts/ibm-plex-serif-400-italic.d3f861b1ca55e50c.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url('/assets/guide/fonts/ibm-plex-mono-400-normal.08949f728dc52d52.woff2') format('woff2'); }
:root { --sans:'IBM Plex Sans',system-ui,sans-serif; --serif:'IBM Plex Serif',Georgia,serif; --mono:'IBM Plex Mono',ui-monospace,monospace; color-scheme:light; scroll-behavior:smooth; }
[data-theme=dark] { color-scheme:dark; }
*,*::before,*::after { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--canvas); font:16px/1.5 var(--sans); -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4,p,figure,blockquote { margin:0; } h1,h2,h3,h4,strong { font-weight:600; } h1,h2,h3 { letter-spacing:-.035em; }
h1 { font-size:48px; line-height:1.1; } h2 { font-size:32px; line-height:1.2; } h3 { font-size:22px; line-height:1.3; } h4 { font-size:19px; line-height:1.4; }
p+p { margin-top:16px; } a { color:var(--accent); text-underline-offset:3px; } a:hover { color:var(--accent-hover); }
img,svg { max-width:100%; } img { display:block; height:auto; } button,input,textarea,select { font:inherit; } button { cursor:pointer; } button:disabled { cursor:not-allowed; opacity:.5; }
button,a { transition:background-color 140ms ease-out,color 140ms ease-out,border-color 140ms ease-out; }
:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
[hidden] { display:none !important; } ::selection { color:var(--ink); background:var(--accent-soft); }
.sr-only,.skip-link:not(:focus) { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link:focus { position:fixed; z-index:300; left:20px; top:12px; padding:12px; background:var(--surface); }
.eyebrow { font:11px/1.5 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.page,.header-inner { width:calc(100% - 80px); max-width:1200px; margin:0 auto; }
.site-header { position:sticky; top:0; z-index:100; background:var(--surface); border-bottom:1px solid var(--line); }
.header-inner { min-height:88px; display:flex; align-items:center; gap:32px; position:relative; }
.brand-link { color:var(--ink); text-decoration:none; flex-shrink:0; } .brand-link:hover { color:var(--ink); }
.brand { display:inline-flex; align-items:center; gap:12px; font-size:20px; line-height:1.15; font-weight:600; letter-spacing:-.04em; }
.brand-symbol { display:inline-flex; align-items:center; justify-content:center; background:#fff; padding:5px; border-radius:4px; flex-shrink:0; }
.brand-symbol img { width:40px; height:auto; object-fit:contain; }
.header-controls { order:2; display:flex; align-items:center; gap:8px; }
#nav-links { order:1; display:flex; align-items:center; gap:28px; margin-left:auto; }
#nav-links>a { min-height:44px; display:flex; align-items:center; color:var(--muted); text-decoration:none; font-size:14px; }
#nav-links>a:hover,#nav-links>a[aria-current] { color:var(--accent); }
.theme-switch { display:grid; place-items:center; border:1px solid var(--line); border-radius:6px; background:var(--surface); color:var(--ink); width:44px; height:44px; font-size:22px; }
.theme-switch:hover { background:var(--canvas); } .menu-toggle { display:none; }
#main { min-height:55vh; padding-top:48px; scroll-margin-top:108px; }
.site-footer { display:flex; flex-wrap:wrap; align-items:start; justify-content:space-between; gap:32px; border-top:1px solid var(--line); margin-top:96px; padding:32px 0 40px; }
.site-footer .brand { font-size:17px; } .site-footer .brand-symbol img { width:30px; } .site-footer p { font-size:12px; color:var(--muted); margin-top:12px; }
.site-footer nav { display:flex; flex-wrap:wrap; gap:24px; } .site-footer nav>a,.back-to-top { display:flex; align-items:center; min-height:44px; color:var(--muted); font-size:13px; text-decoration:none; }
.site-footer nav>a:hover,.back-to-top:hover { color:var(--accent); }
.button,button:not(.theme-switch):not(.menu-toggle):not(.link-button):not(.code-copy):not([data-reading-font]) { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; padding:10px 16px; border:1px solid var(--line); border-radius:6px; background:var(--surface); color:var(--ink); text-decoration:none; font-size:14px; font-weight:600; line-height:1.5; }
.button:hover,button:not(.theme-switch):not(.menu-toggle):not(.link-button):not(.code-copy):not([data-reading-font]):hover { background:var(--canvas); border-color:var(--muted); color:var(--ink); }
.button.primary-button,button.primary-button { background:var(--accent) !important; color:var(--on-accent) !important; border-color:var(--accent) !important; }
.button.primary-button:hover,button.primary-button:hover { background:var(--accent-hover) !important; border-color:var(--accent-hover) !important; }
button.danger-button { background:var(--danger) !important; color:var(--surface) !important; border-color:var(--danger) !important; } [data-theme=dark] button.danger-button { color:#000 !important; }
.link-button { min-height:44px; padding:8px 0; background:none; border:0; color:var(--accent); font-size:13px; text-decoration:underline; text-underline-offset:3px; }
.badge,.status-label { display:inline-flex; align-items:center; padding:4px 8px; font:10px/1.5 var(--mono); text-transform:uppercase; letter-spacing:.02em; border-radius:4px; background:var(--accent-soft); color:var(--accent); }
.status-published { background:var(--success-soft); color:var(--success); } .status-draft { color:var(--muted); background:var(--surface); border:1px dashed var(--muted); }
.publication-intro { padding:16px 0 28px; } .publication-intro>.eyebrow,.index-intro>.eyebrow { color:var(--accent); }
.home-intro h1 { font-size:64px; line-height:1.05; letter-spacing:-.045em; margin:24px 0; max-width:850px; }
.home-intro>p { font:22px/1.65 var(--serif); color:var(--muted); max-width:660px; }
.home-intro h2 { font-size:22px; margin:48px 0 0; }
.featured-research { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:center; gap:48px; padding:32px; background:var(--surface); border:1px solid var(--line); border-radius:10px; }
.featured-research>* { min-width:0; } .featured-research h2 { margin:20px 0 16px; font-size:36px; line-height:1.1; }
.featured-research h2 a { color:var(--ink); text-decoration:none; } .featured-research h2 a:hover { color:var(--accent); }
.featured-excerpt { font-size:16px; color:var(--muted); } .featured-excerpt p { margin:0; } .featured-excerpt img { display:none; }
.article-meta { display:flex; align-items:center; flex-wrap:wrap; gap:12px 20px; font:11px/1.6 var(--mono); color:var(--muted); }
.featured-research .article-meta { margin:24px 0; } .featured-figure { display:block; background:#fff; padding:12px; border:1px solid #DCDCDC; border-radius:6px; }
.featured-figure img { width:100%; height:auto; }
.home-section { margin-top:64px; } .section-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid var(--line); padding:28px 0; } .section-heading h2 { font-size:28px; } .section-heading>a { font-size:13px; }
.featured-index { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; }
.featured-index .research-item { grid-template-columns:1fr; gap:12px; } .featured-index .research-item-label { display:flex; flex-wrap:wrap; align-items:center; gap:16px; } .featured-index .research-item-number { display:none; }
.index-intro { padding:16px 0 40px; } .index-intro h1 { margin:20px 0; font-size:64px; letter-spacing:-.045em; } .index-intro p { max-width:650px; font:20px/1.75 var(--serif); color:var(--muted); }
.index-tools { display:flex; align-items:center; gap:24px; padding:24px 0; border-top:1px solid var(--line); }
.research-search { display:flex; flex:1; gap:12px; } .research-search>input[type=search] { margin:0; flex:1; min-width:0; }
.segmented { display:flex; align-items:center; gap:3px; padding:3px; border:1px solid var(--line); border-radius:6px; background:var(--surface); flex-shrink:0; }
.segmented>a,.segmented>button { display:inline-flex; align-items:center; justify-content:center; min-height:38px; min-width:48px; padding:6px 10px; background:none; border:0; border-radius:4px; color:var(--muted); text-decoration:none; font-size:12px; font-weight:400; }
.segmented>[aria-current],.segmented>[aria-pressed=true] { background:var(--accent-soft); color:var(--accent); }
.filter-tabs { display:flex; gap:4px; overflow-x:auto; padding:0 0 16px; }
.filter-tabs>a { display:flex; align-items:center; min-height:44px; padding:10px 14px; font-size:13px; color:var(--muted); text-decoration:none; border-radius:4px; white-space:nowrap; }
.filter-tabs>a[aria-current] { background:var(--accent-soft); color:var(--accent); } .filter-tabs>a:hover { background:var(--surface); }
.result-count { font:11px/1.5 var(--mono); color:var(--muted); margin:16px 0; }
.research-item { display:grid; grid-template-columns:150px minmax(0,1fr) 32px; gap:28px; border-top:1px solid var(--line); padding:28px 0; }
.research-item>* { min-width:0; } .research-item-label { font-size:11px; color:var(--muted); } .research-item-label>.eyebrow { display:block; font-size:10px; color:var(--accent); margin-bottom:10px; } .research-item-label>time { display:block; font:10px/1.6 var(--mono); }
.featured-label { display:block; font:10px/1.6 var(--mono); color:var(--muted); margin-top:8px; }
.research-item h3 { font-size:22px; line-height:1.3; letter-spacing:-.025em; } .research-item h3>a { color:var(--ink); text-decoration:none; } .research-item h3>a:hover { color:var(--accent); } .research-item h3>a>span { color:var(--muted); font-size:16px; }
.article-excerpt { margin-top:10px; color:var(--muted); font-size:14px; max-width:720px; } .article-excerpt p { margin:0; } .article-excerpt img { display:none; } .article-excerpt .figure-caption { display:none; } .research-item-number { font:11px/1.5 var(--mono); color:var(--muted); text-align:right; }
.research-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.research-grid .research-item { padding:28px; display:flex; flex-direction:column; gap:16px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.research-grid .research-item-label { display:flex; align-items:center; flex-wrap:wrap; gap:12px; justify-content:space-between; } .research-grid .research-item-label>.eyebrow { margin:0; } .research-grid .research-item-number { display:none; }
.empty-state { text-align:center; padding:48px 24px; border:1px dashed var(--line); border-radius:10px; background:var(--surface); margin-top:24px; } .empty-state h2 { font-size:26px; } .empty-state p { color:var(--muted); margin:12px 0 24px; }
.article-page { padding:0 0 8px; } .article-breadcrumb { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; padding-bottom:24px; border-bottom:1px solid var(--line); font-size:13px; } .article-breadcrumb>a { display:flex; align-items:center; min-height:44px; } .article-breadcrumb>.eyebrow { color:var(--muted); }
.article-header { max-width:960px; padding:48px 0; } .article-header>.eyebrow { color:var(--accent); } .article-header h1 { margin:20px 0; max-width:900px; letter-spacing:-.035em; overflow-wrap:break-word; }
.article-deck { font:21px/1.65 var(--serif); color:var(--muted); max-width:760px; } .article-header .article-meta { margin-top:28px; text-transform:uppercase; font-size:10px; }
.article-layout { display:grid; grid-template-columns:200px minmax(0,700px); justify-content:center; align-items:start; gap:48px; }
.article-layout.without-toc { grid-template-columns:minmax(0,700px); }
.article-toc { position:sticky; top:112px; max-height:calc(100svh - 140px); overflow-y:auto; padding-bottom:12px; }
.article-toc details { border-top:1px solid var(--line); padding-top:16px; }
.article-toc summary { font-size:12px; font-weight:600; cursor:pointer; }
#toc { display:flex; flex-direction:column; gap:2px; padding-top:16px; } #toc>a { display:flex; align-items:center; min-height:32px; padding:4px 0; color:var(--muted); font-size:12px; line-height:1.4; text-decoration:none; } #toc>a:hover,#toc>a[aria-current] { color:var(--accent); } #toc .toc-level-3 { padding-left:12px; font-size:11px; } #toc .toc-level-4,#toc .toc-level-5,#toc .toc-level-6 { padding-left:24px; font-size:11px; }
.article-prose { min-width:0; width:100%; max-width:700px; }
.reading-controls { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-bottom:20px; margin-bottom:12px; border-bottom:1px solid var(--line); } .reading-controls>.eyebrow { font-size:9px; color:var(--muted); }
.markdown-content { overflow-wrap:anywhere; } .article-prose>.markdown-content,.simple-content { font:20px/1.75 var(--serif); } [data-reading-font=sans] .article-prose>.markdown-content { font-family:var(--sans); }
.markdown-content>p+p { margin-top:24px; } .markdown-content>h2 { margin:44px 0 20px; font:600 32px/1.2 var(--sans); letter-spacing:-.03em; } .markdown-content>h3 { margin:32px 0 16px; font:600 24px/1.3 var(--sans); } .markdown-content>h4,.markdown-content>h5,.markdown-content>h6 { margin:28px 0 12px; font:600 20px/1.4 var(--sans); }
.markdown-content :where(h1,h2,h3,h4,h5,h6) { scroll-margin-top:112px; } .markdown-content strong { font-family:var(--sans); font-weight:600; }
.markdown-content :where(ul,ol) { padding-left:24px; margin:24px 0; } .markdown-content li+li { margin-top:10px; }
.markdown-content blockquote { padding:20px 24px; margin:28px 0; border-left:3px solid var(--accent); background:var(--accent-soft); font-style:italic; } .markdown-content blockquote p { margin:0; }
.markdown-content img { width:auto; max-width:100%; height:auto; background:#fff; }
.figure-image { padding:14px; margin:32px 0 !important; border:1px solid #DCDCDC; border-radius:6px; background:#fff; color:#000; }
.figure-image>a { display:block; } .figure-image img { display:block; width:100%; height:auto; }
.figure-caption { display:flex; justify-content:space-between; flex-wrap:wrap; align-items:center; gap:8px 16px; padding-top:14px; margin-top:14px; border-top:1px solid #DCDCDC; font:12px/1.6 var(--sans); color:#606060; } .figure-caption>a { color:#006FAE; white-space:nowrap; }
.markdown-content code { font:14px/1.7 var(--mono); background:var(--surface); border:1px solid var(--line); padding:2px 5px; border-radius:4px; overflow-wrap:anywhere; }
.markdown-content pre { max-width:100%; overflow-x:auto; padding:24px; background:#000; color:#f5f5f5; border-radius:6px; margin:28px 0; font:14px/1.7 var(--mono); }
.markdown-content pre code { padding:0; border:0; background:none; color:inherit; white-space:pre; overflow-wrap:normal; }
.code-block { margin:28px 0; background:#000; color:#fff; border-radius:6px; overflow:hidden; } .code-block>.code-heading { display:flex; justify-content:space-between; align-items:center; padding:4px 16px; border-bottom:1px solid #444; color:#C4C4C4; font:11px/1.6 var(--mono); } .code-copy { background:none; border:0; color:inherit; min-height:44px; font:11px/1.5 var(--sans); padding:8px; } .code-block pre { margin:0; border-radius:0; }
.table-scroll { max-width:100%; overflow-x:auto; margin:24px 0; } table { width:100%; border-collapse:collapse; font:13px/1.6 var(--sans); } th,td { text-align:left; padding:14px 16px; border-bottom:1px solid var(--line); } thead { background:var(--surface); } th { font-weight:600; } .markdown-content table { min-width:500px; } .markdown-content th,.markdown-content td { padding:14px 12px; } .markdown-content th { font-size:12px; } .markdown-content td[style*="right"] { font-family:var(--mono); }
.article-overview { background:var(--accent-soft); border-left:3px solid var(--accent); padding:24px; margin-bottom:28px; } .article-overview>.eyebrow { color:var(--accent); } .article-overview p { margin:12px 0 0; font-size:18px; }
.video-wrapper { position:relative; padding-bottom:56.25%; height:0; overflow:hidden; margin:28px 0; border:1px solid var(--line); border-radius:6px; } .video { position:absolute; top:0; left:0; width:100%; height:100%; border:0; }
.article-endnote { padding:24px; border-top:1px solid var(--line); margin-top:40px; background:var(--surface); } .article-endnote .eyebrow { color:var(--muted); font-size:10px; } .article-endnote p { color:var(--muted); font-size:13px; margin-top:10px; }
.article-footer { display:flex; justify-content:space-between; gap:20px; border-top:1px solid var(--line); padding-top:24px; margin-top:48px; font-size:13px; }
.simple-content { max-width:700px; margin:16px auto 0; } .simple-content h1 { font-family:var(--sans); margin-bottom:28px; } .simple-content .figure-image { margin:32px 0; }
.admin-navigation { display:flex; justify-content:space-between; align-items:center; gap:24px; border-bottom:1px solid var(--line); padding:20px 0; }
.admin-navigation>div { display:flex; flex-wrap:wrap; align-items:center; gap:24px; } .admin-navigation>div>a { font-size:13px; } .author-label { color:var(--muted); font-size:9px; } .admin-navigation form { flex-shrink:0; } .admin-navigation .new-article-link { min-height:36px; padding:6px 12px; font-size:12px; }
.content-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px; border:1px solid var(--line); border-radius:6px; background:var(--surface); padding:12px 16px; margin-bottom:32px; font-size:13px; } .content-actions>.eyebrow { margin-right:auto; font-size:9px; color:var(--muted); } .content-actions .button { min-height:36px; font-size:12px; padding:6px 12px; }
.danger-link,.field-error { color:var(--danger); } .field-error { font-size:12px; margin:8px 0; } .field-hint { font-size:12px; line-height:1.6; color:var(--muted); margin:8px 0 16px; }
form label { display:block; font-size:13px; font-weight:600; margin:20px 0 8px; }
form input:not([type=checkbox]):not([type=hidden]),form textarea,form select { display:block; width:100%; min-height:44px; border:1px solid var(--line); border-radius:6px; padding:11px 12px; background:var(--surface); color:var(--ink); font-size:14px; }
form textarea { resize:vertical; } form [aria-invalid=true] { border-color:var(--danger) !important; background:var(--danger-soft) !important; }
.form-page { max-width:520px; margin:24px auto; padding:40px; border:1px solid var(--line); border-radius:10px; background:var(--surface); } .form-page h1 { font-size:40px; margin-bottom:20px; } .form-page>p { color:var(--muted); margin-top:16px; } .form-page form>.primary-button { margin-top:20px; width:100%; } .form-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px; margin-top:28px; }
.notice,.preview-notice,.error-summary { padding:18px 24px; margin:20px 0 28px; border-left:3px solid var(--accent); border-radius:0 6px 6px 0; background:var(--accent-soft); font-size:14px; }
.notice { color:var(--success); border-color:var(--success); background:var(--success-soft); } .error-summary { color:var(--danger); background:var(--danger-soft); border-color:var(--danger); } .preview-notice { color:var(--accent); }
.admin-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:0 0 32px; } .admin-heading h1 { font-size:40px; } .admin-heading p { color:var(--muted); margin-top:12px; font-size:15px; } .admin-heading>div>a { display:inline-flex; min-height:32px; align-items:center; font-size:12px; margin-bottom:12px; } .admin-heading>a { font-size:13px; }
.article-filters { display:flex; flex-wrap:wrap; gap:16px; align-items:end; padding:24px 0; border-top:1px solid var(--line); } .article-filters label { font-size:12px; margin-top:0; } .article-filters>div:first-of-type { flex:1; min-width:180px; } .article-filters>div:nth-of-type(2) { width:180px; } .article-filters>a { margin-bottom:12px; font-size:13px; }
.article-table { background:var(--surface); border:1px solid var(--line); min-width:700px; } .article-table thead th { font-size:10px; font-weight:400; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; background:var(--canvas); } .article-table td { padding:20px 16px; } .article-title { display:block; font-weight:600; color:var(--ink); text-decoration:none; } .article-title:hover { color:var(--accent); } .article-path { font:10px/1.5 var(--mono); color:var(--muted); margin-top:6px; overflow-wrap:anywhere; } .date-cell { font:11px/1.6 var(--mono); color:var(--muted); white-space:nowrap; } .row-actions { display:flex; gap:16px; white-space:nowrap; font-size:12px; }
.editor-grid { display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:32px; align-items:start; } .writing-pane { min-width:0; } .writing-pane>label:first-child { margin-top:0; } .writing-pane>#title { font-size:22px; letter-spacing:-.02em; padding:14px; } .writing-label { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:8px; margin-top:12px; } .writing-label>span { color:var(--muted); font-size:11px; }
form .markdown-editor { min-height:65vh; font:14px/1.8 var(--mono); padding:20px; tab-size:2; }
.publishing-pane { border-left:1px solid var(--line); padding-left:24px; font-size:13px; } .publishing-pane>h2 { font-size:18px; margin-bottom:24px; } .publishing-pane label { font-size:12px; } .publishing-pane input,.publishing-pane textarea,.publishing-pane select { font-size:13px; } .publishing-pane .field-hint { font-size:11px; }
form .checkbox-label { display:flex; align-items:center; gap:8px; font-weight:400; } .checkbox-label input { width:16px; height:16px; accent-color:var(--accent); }
.editor-actions { display:flex; flex-direction:column; gap:10px; margin:24px 0 12px; } .editor-actions button { font-size:13px !important; }
.publishing-pane details { border-top:1px solid var(--line); padding-top:20px; margin-top:24px; } .publishing-pane summary { font-size:13px; cursor:pointer; font-weight:600; } .publishing-pane>.danger-link,.publishing-pane>p>.danger-link { font-size:12px; }
.site-toast { position:fixed; bottom:24px; left:50%; transform:translateX(-50%); z-index:200; padding:14px 22px; background:var(--ink); color:var(--surface); border:1px solid var(--line); border-radius:6px; font-size:13px; max-width:calc(100vw - 40px); width:max-content; box-shadow:0 8px 24px #0002; }
@media(min-width:721px) { .menu-toggle { display:none; } }
@media(max-width:1080px) { .header-inner { gap:20px; } .brand { font-size:18px; } #nav-links { gap:20px; } .article-layout { grid-template-columns:170px minmax(0,700px); gap:32px; } .featured-research { gap:28px; padding:28px; } .featured-research h2 { font-size:32px; } .author-label { display:none; } }
@media(max-width:900px) { .page,.header-inner { width:calc(100% - 48px); } #nav-links { gap:16px; } #nav-links>a { font-size:13px; } .brand { font-size:16px; gap:8px; } .brand-symbol img { width:32px; } .article-layout { grid-template-columns:150px minmax(0,1fr); gap:24px; } .editor-grid { grid-template-columns:minmax(0,1fr) 240px; gap:24px; } .featured-index { gap:0 28px; } .research-item { grid-template-columns:120px minmax(0,1fr) 24px; gap:24px; } }
@media(max-width:720px) {
 .page,.header-inner { width:calc(100% - 40px); } .header-inner { min-height:72px; gap:12px; justify-content:space-between; } .site-header .brand { max-width:190px; font-size:15px; } .site-header .brand-symbol img { width:32px; } .header-controls { order:1; margin-left:auto; }
 .menu-toggle { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; border:0; background:none; color:var(--ink); font-size:13px; padding:8px 0 8px 8px; } .theme-switch { width:40px; height:40px; font-size:20px; }
 #nav-links { display:none; position:absolute; right:0; top:calc(100% - 1px); padding:12px 20px; width:220px; background:var(--surface); border:1px solid var(--line); border-radius:0 0 6px 6px; box-shadow:0 12px 28px #0002; }
 #nav-links[data-open=true] { display:flex; flex-direction:column; align-items:stretch; gap:0; } #nav-links>a { font-size:14px; }
 #main { padding-top:32px; scroll-margin-top:96px; } .publication-intro { padding-top:8px; } .publication-intro>.eyebrow { font-size:10px; } .home-intro h1,.index-intro h1 { font-size:40px; letter-spacing:-.04em; margin:20px 0; } .home-intro>p { font-size:18px; line-height:1.7; } .home-intro h2 { margin-top:32px; font-size:20px; }
 .featured-research { grid-template-columns:minmax(0,1fr); padding:24px; gap:28px; } .featured-research h2 { font-size:30px; } .featured-excerpt { font-size:14px; } .featured-research .article-meta { font-size:10px; } .featured-figure { padding:8px; }
 .home-section { margin-top:48px; } .section-heading { align-items:baseline; gap:16px; padding:24px 0; } .section-heading h2 { font-size:24px; } .section-heading>a { font-size:11px; white-space:nowrap; } .featured-index { grid-template-columns:minmax(0,1fr); }
 .index-intro { padding:8px 0 28px; } .index-intro p { font-size:18px; } .index-tools { gap:12px; flex-wrap:wrap; padding:20px 0; } .research-search { width:100%; flex-basis:100%; } .research-search input[type=search] { font-size:13px; } .research-search button { padding:10px 12px !important; font-size:12px !important; } .index-tools>.segmented { margin-left:auto; } .filter-tabs>a { padding:8px 10px; font-size:12px; }
 .research-item { grid-template-columns:minmax(0,1fr); gap:12px; padding:24px 0; } .research-item-label { display:flex; align-items:center; flex-wrap:wrap; gap:12px; } .research-item-label>.eyebrow { margin:0; } .research-item-label>.featured-label { margin:0 0 0 auto; } .research-item h3 { font-size:21px; } .research-item-number { display:none; } .research-grid { grid-template-columns:minmax(0,1fr); } .research-grid .research-item { padding:24px; }
 .article-breadcrumb { padding-bottom:16px; } .article-header { padding:28px 0; } .article-header h1 { font-size:34px; } .article-header>.eyebrow { font-size:10px; } .article-deck { font-size:18px; } .article-header .article-meta { font-size:9px; gap:12px; }
 .article-layout { display:block; } .article-toc { position:static; max-height:none; margin-bottom:28px; padding:0; } .article-toc details { padding:16px 0; border-bottom:1px solid var(--line); } .article-toc summary { font-size:13px; } #toc>a { min-height:40px; } .reading-controls { padding-bottom:16px; } .reading-controls>.eyebrow { font-size:8px; }
 .article-prose>.markdown-content,.simple-content { font-size:18px; line-height:1.75; } .markdown-content>h2 { font-size:28px; margin-top:36px; } .markdown-content>h3 { font-size:23px; } .markdown-content>h4 { font-size:19px; } .markdown-content :where(h1,h2,h3,h4,h5,h6) { scroll-margin-top:96px; }
 .figure-image { padding:8px; margin:24px 0 !important; } .figure-caption { font-size:11px; padding:10px 4px 4px; margin-top:10px; } .markdown-content pre { padding:18px; font-size:13px; } .markdown-content pre code { font-size:13px; } .article-overview { padding:20px; } .article-overview p { font-size:17px; } .article-endnote { padding:20px; }
 .simple-content { margin-top:8px; } .simple-content h1 { font-size:34px; } .article-footer { margin-top:32px; }
 .admin-navigation { padding:12px 0; gap:16px; } .admin-navigation>div { gap:8px 16px; } .admin-navigation>div>a { font-size:12px; } .admin-navigation .new-article-link { font-size:11px; min-height:36px; padding:6px 10px; } .admin-navigation .link-button { font-size:12px; }
 .content-actions { padding:10px 12px; gap:12px; margin-bottom:24px; } .content-actions>.eyebrow { width:100%; } .admin-heading { align-items:start; gap:16px; margin-bottom:24px; } .admin-heading h1 { font-size:30px; } .admin-heading p { font-size:13px; } .admin-heading>.button { white-space:nowrap; font-size:12px; padding:10px 12px; } .admin-heading>a { font-size:11px; }
 .article-filters { gap:12px; padding:20px 0; } .article-filters>div:nth-of-type(2) { width:140px; } .article-filters>div:first-of-type { min-width:140px; } .article-table { min-width:650px; } .table-scroll { margin:16px 0; }
 .editor-grid { grid-template-columns:minmax(0,1fr); gap:24px; } .writing-pane>#title { font-size:20px; } .writing-label>span { font-size:10px; } form .markdown-editor { min-height:55vh; font-size:13px; padding:16px; } .publishing-pane { border-left:0; border-top:1px solid var(--line); padding:24px 0 0; } .publishing-pane>h2 { margin-bottom:20px; }
 .editor-actions { position:fixed; z-index:90; bottom:0; left:0; right:0; flex-direction:row; gap:12px; padding:12px 20px; margin:0; border-top:1px solid var(--line); background:var(--surface); box-shadow:0 -6px 20px #0001; } .editor-actions>button { flex:1; } .admin-page { padding-bottom:80px; }
 .form-page { padding:28px 24px; margin:8px auto; } .form-page h1 { font-size:32px; } .form-page>p { font-size:14px; } .form-actions { gap:16px; } .notice,.preview-notice,.error-summary { padding:16px 18px; font-size:13px; }
 .site-footer { margin-top:64px; padding:28px 0; gap:20px; } .site-footer>div { width:100%; } .site-footer nav { gap:20px; } .site-footer nav>a,.back-to-top { font-size:12px; } .back-to-top { margin-left:auto; }
}
@media(max-width:400px) { .header-inner { gap:8px; } .site-header .brand { font-size:14px; max-width:155px; gap:6px; } .site-header .brand-symbol img { width:28px; } .brand-symbol { padding:3px; } #menu-toggle { font-size:0; min-width:32px; padding:6px; } #menu-toggle>span { font-size:23px; } .header-controls { gap:4px; } .site-footer nav { gap:16px; } }
@media(prefers-reduced-motion:reduce) { :root { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; animation:none !important; } }
.markdown-content .align-right { text-align:right; font-family:var(--mono); font-variant-numeric:tabular-nums; }
.markdown-content .align-center { text-align:center; }
.markdown-content .align-left { text-align:left; }
