/* Readable defaults; display preferences supplement the site's native semantics. */
:root{--teal-text:#006b70;--header-height:76px;--focus:#9a3e00}
body{font-size:1rem;line-height:1.6}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
:where(a,button,input,select,summary,[tabindex]):focus-visible{outline:3px solid var(--focus);outline-offset:4px;box-shadow:0 0 0 2px #fff}
html{scroll-padding-top:calc(var(--header-height) + 16px)}
.topbar{height:auto;min-height:76px;gap:16px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}
.topbar nav{font-size:.875rem;gap:20px;flex-wrap:wrap}
.brand{flex-shrink:0}.brand-open{color:var(--teal-text)}
#sidebar{top:var(--header-height)}
.workspace{font-size:.875rem}.workspace small,.navgroup h2,.sidebar-foot{font-size:.75rem}
.overview,.navgroup a{font-size:.875rem;min-height:44px}
.navgroup a.active,.overview.active{font-weight:700;text-decoration:underline;text-underline-offset:4px}
.utility{height:auto;min-height:80px;gap:12px;flex-wrap:wrap;padding:16px 0;font-size:.875rem}
.utility>span{max-width:100%;white-space:normal;overflow:visible}
.utility-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
#accessibility-open,#search-open{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--muted);border-radius:8px;background:#fff;color:var(--openforex-blue);font-size:.875rem;min-height:44px;padding:8px 12px}
.accessibility-symbol{font-weight:800;font-size:1.125rem;letter-spacing:-.06em}
button,input,select{font:inherit}
button,select,input[type=search],.top-contribute,#menu-toggle,#search-close{min-height:44px}
#menu-toggle,#search-close{min-width:44px}
input[type=search]{font-size:1rem;border-color:var(--muted)}
.hero p,.intro,.card p,.featured p,.support-banner p,.document,.document p,.document li{font-size:1rem;line-height:1.8}
.eyebrow,.hero .eyebrow,.featured .eyebrow,.support-banner .eyebrow,.hero-note{font-size:.75rem}
.button,.card-links a,.library-row,.document-footer,.article-aside,#search-results a{font-size:.9375rem}
.card h3{font-size:1.125rem}.principles strong{font-size:.9375rem}
.principles small,.library-row small,.reading-meta,footer,footer p,#library label,.count,.article-aside h3{font-size:.8125rem}
.document code,.document pre,.document table{font-size:.9375rem}
.button{white-space:normal;text-align:center;min-height:44px}.card-links a,footer a,#toc a{min-height:44px}
footer a{align-items:center}.card-links a{text-decoration:underline;text-underline-offset:3px}
.library-row>span:nth-child(2),.hero-copy,.card,.article-layout>*{min-width:0}
main,.hero h1,.document h1,.library-row,dialog{overflow-wrap:anywhere}
.hero-copy{max-width:100%}.hero .orbit-art{max-width:32%}
.library-heading,.reading-meta,.actions,.document-footer{flex-wrap:wrap}
.hero h1{letter-spacing:-.04em}.library-heading{gap:12px}
.document pre{max-width:100%}.table-scroll{max-width:100%}.document{min-width:0}
.skip{max-width:calc(100% - 40px)}
dialog{color:var(--ink);background:var(--surface);max-height:calc(100dvh - 32px);max-width:calc(100vw - 24px);overflow-y:auto;overscroll-behavior:contain;line-height:1.6}
#accessibility-dialog{width:560px;padding:24px;border:2px solid var(--muted)}
.settings-heading{display:flex;align-items:flex-start;gap:12px;justify-content:space-between}
.settings-heading h2{font-size:1.375rem;line-height:1.3;letter-spacing:normal;margin:0}
.settings-heading button{display:grid;place-items:center;flex:0 0 44px;min-width:44px;min-height:44px;border:1px solid var(--muted);border-radius:8px;background:var(--surface);color:var(--ink)}
#accessibility-description,.settings-note{font-size:.875rem;color:var(--muted)}
.setting-field{margin:20px 0}.setting-field label{display:block;font-weight:700;margin-bottom:8px}
.setting-field select{width:100%;max-width:100%;padding:10px 8px;border:1px solid var(--muted);border-radius:8px;background:var(--surface);color:var(--ink);font-size:1rem}
.setting-toggle{display:flex;align-items:flex-start;gap:12px;padding:16px 0;border-top:1px solid var(--line);cursor:pointer}
.setting-toggle input{width:24px;height:24px;flex:0 0 24px;margin:3px 0;accent-color:var(--teal-text)}
.setting-toggle span{font-weight:600}.setting-toggle small{display:block;font-size:.875rem;font-weight:400;color:var(--muted);margin-top:4px}
.settings-actions{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap}
.settings-actions button{padding:10px 16px;border:1px solid var(--muted);border-radius:8px;background:var(--surface);color:var(--ink)}
.settings-actions .primary{background:var(--openforex-blue);color:#fff}
html.a11y-links a{text-decoration:underline!important;text-underline-offset:.2em;text-decoration-thickness:2px}
html.a11y-spacing body{letter-spacing:.12em;word-spacing:.16em;line-height:1.8}
html.a11y-spacing :is(p,li,a,button,label,small,select){line-height:1.8;letter-spacing:inherit;word-spacing:inherit}
html.a11y-spacing p{margin-bottom:2em}
html.a11y-motion,html.a11y-motion *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
html.a11y-motion .card:hover,html.a11y-motion .card:focus-within,html.a11y-motion .card-links a:hover .icon{transform:none}
@media(prefers-reduced-motion:reduce){html,html *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Solid backgrounds and explicit text colors keep contrast modes predictable. */
html[data-contrast=high]{--surface:#fff;--surface-accent:#f1f1f1;--ink:#111;--slate:#111;--muted:#333;--openforex-blue:#002b49;--teal-text:#004f54;--line:#555;--focus:#8b2900;color-scheme:light}
html[data-contrast=dark]{--surface:#111820;--surface-accent:#1e2c38;--ink:#f5f8ff;--slate:#f5f8ff;--muted:#d1dce8;--openforex-blue:#b5e5ff;--teal-text:#82ede2;--line:#94a8b8;--focus:#ffd969;color-scheme:dark}
html:not([data-contrast=default]) :is(.topbar,.hero,.card,.featured,.support-banner,.smallmark,.card-icon,.principle-icon,.doc-icon,.count,.featured-arrow,.document>.eyebrow,.navgroup a.active,.overview.active,input[type=search],#accessibility-open,#search-open,kbd){background:var(--surface-accent);color:var(--ink);border-color:var(--line);box-shadow:none}
html:not([data-contrast=default]) :is(.hero,.support-banner)::after,html:not([data-contrast=default]) .card-flourish{display:none}
html:not([data-contrast=default]) :is(.support-banner h2,.support-banner p,.support-banner .eyebrow,.document blockquote,.navgroup a .icon,.topbar .icon,footer .icon){color:var(--ink)}
html:not([data-contrast=default]) :is(.primary,.settings-actions .primary,.support-banner .secondary){background:var(--openforex-blue);color:var(--surface);border-color:var(--openforex-blue)}
html[data-contrast=dark] .brandmark{background:#fff;border-radius:5px}
html[data-contrast=dark] .skip{background:var(--surface);color:var(--ink)}
html:not([data-contrast=default]) .orbit-art{display:none}
html:not([data-text-size="100"]) .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
html:not([data-text-size="100"]) .orbit-art,html:not([data-text-size="100"]) .brandlabel{display:none}
html:not([data-text-size="100"]) .principles{grid-template-columns:1fr}
html:not([data-text-size="100"]) .article-layout{grid-template-columns:minmax(0,1fr)}
html:not([data-text-size="100"]) .article-aside{position:static;max-height:none}
@media(max-width:1150px){.hero .orbit-art{display:none}.hero-copy{max-width:100%}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){
  .topbar{min-height:66px;padding:10px 16px;gap:12px}.topbar .brand{font-size:1.25rem}.topbar nav{margin-left:auto}.topbar .brandlabel{display:none}
  #menu-toggle{flex-shrink:0}#sidebar{width:min(340px,100%);padding-bottom:30px}
  .utility>span{max-width:100%;white-space:normal;text-overflow:clip}.utility-actions{width:100%}
  #search-open{margin-left:auto}.hero .orbit-art{display:none}.hero-copy{max-width:100%}
  .principles{grid-template-columns:1fr}.article-aside{display:none}main{padding:0 18px}
  .hero{padding:26px 22px}.hero h1{font-size:2rem}.document h1{font-size:1.875rem}
  .cards,html:not([data-text-size="100"]) .cards{grid-template-columns:1fr}.library-list{grid-template-columns:1fr}
  html:not([data-text-size="100"]) .topbar nav{display:none}
  html:not([data-text-size="100"]) .topbar{position:static}
  html:not([data-text-size="100"]) #sidebar{position:static;width:100%;max-height:none;box-shadow:none}
  html:not([data-text-size="100"]) .article-aside{display:none}
  dialog{padding:18px}#accessibility-dialog{padding:18px}.settings-actions button{flex:1}
}
@media(max-width:380px){.topbar .top-contribute{display:none}.topbar nav{display:none}.topbar{justify-content:space-between}.utility-actions{gap:8px}.featured{padding:18px 14px}}
@media(forced-colors:active){
  :where(a,button,input,select,[tabindex]):focus-visible{outline:3px solid Highlight;box-shadow:none}
  .navgroup a.active,.overview.active{border-left:3px solid Highlight}
  .brandmark{background:white!important;forced-color-adjust:none}
}

html:not([data-contrast=default]) :is(.primary:hover,.settings-actions .primary:hover,.support-banner .secondary:hover){background:var(--openforex-blue);color:var(--surface)}
.count{white-space:normal}
/* Allow the wordmark to move below its logo at very large text sizes. */
.topbar .brand{max-width:100%;flex-shrink:1;flex-wrap:wrap;row-gap:8px}
