/* Time for UBI — book v3.
   Top-bar nav (flag, toggle, ecosystem links) + thin left chapter rail.
   On mobile, rail becomes a dropdown above main content. System fonts only. */

:root{
  /* dark (default) */
  --bg:#16161a;
  --bg-elev:#1d1d23;
  --fg:#e8e6df;
  --muted:#a8a69e;
  --rule:#2c2c33;
  --rule-strong:#3a3a42;
  --accent:#d6c7a8;
  --link:#d6c7a8;
  --link-hover:#ffffff;
  --code-bg:#22222a;
  --rail-bg:#101014;
  --rail-active-bg:#22222a;
  --rail-active-fg:#ffffff;
  --rail-active-bar:#d6c7a8;
}
[data-theme="light"]{
  --bg:#f6f1e3;
  --bg-elev:#efe8d3;
  --fg:#1d1d1b;
  --muted:#5a5a55;
  --rule:#d8d0bb;
  --rule-strong:#bdb39a;
  --accent:#5a4632;
  --link:#5a4632;
  --link-hover:#1d1d1b;
  --code-bg:#ece5cf;
  --rail-bg:#efe8d3;
  --rail-active-bg:#e6dcc0;
  --rail-active-fg:#1d1d1b;
  --rail-active-bar:#5a4632;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg);
  color:var(--fg);
  font-family: Georgia, "Iowan Old Style", "Apple Garamond", "Palatino Linotype", "Times New Roman", serif;
  line-height:1.7;
  font-size:18px;
  -webkit-text-size-adjust:100%;
}

/* TOP BAR — single permanent nav for flag/toggle/ecosystem */
.topbar{
  position:sticky;top:0;z-index:50;background:var(--bg);
  border-bottom:1px solid var(--rule);
  display:flex;align-items:center;gap:1rem;
  padding:0.55rem 1.2rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.topbar-left{display:flex;align-items:center;gap:0.7rem;flex:0 0 auto}
.topbar-flag{display:inline-flex;align-items:center;gap:0.55rem;text-decoration:none;color:var(--fg);line-height:0}
.topbar-flag img{height:24px;width:auto;border-radius:2px;opacity:0.95;display:block}
.topbar-flag .brand{
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size:0.78rem;letter-spacing:0.14em;text-transform:uppercase;
  font-weight:700;color:var(--muted);line-height:1;
}
.topbar-flag:hover .brand{color:var(--fg)}
.topbar-title{
  flex:1 1 auto;text-align:center;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size:0.82rem;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--muted);font-weight:700;
}
.topbar-right{display:flex;align-items:center;gap:0.9rem;flex:0 0 auto}
.topbar-eco{display:flex;align-items:center;gap:0.9rem;font-size:0.82rem}
.topbar-eco a{color:var(--link);text-decoration:none;border-bottom:1px solid transparent}
.topbar-eco a:hover{color:var(--link-hover);border-bottom-color:var(--link-hover)}
.theme-toggle{
  background:transparent;border:1px solid var(--rule-strong);color:var(--fg);
  font:inherit;font-size:1.05rem;width:2.1rem;height:2.1rem;padding:0;
  border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
}
.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}
.theme-toggle .glyph{font-size:1.1rem;line-height:1}
.menu-toggle{
  display:none;background:transparent;border:1px solid var(--rule-strong);
  color:var(--fg);font:inherit;font-size:0.85rem;padding:0.3rem 0.6rem;
  border-radius:4px;cursor:pointer;line-height:1;
}
.mobile-drawer{
  display:none;position:fixed;top:3rem;left:0;right:0;
  background:var(--bg);border-bottom:1px solid var(--rule);
  padding:0.8rem 1rem;z-index:45;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.mobile-drawer.open{display:block}
.mobile-drawer a{
  display:block;padding:0.55rem 0.3rem;color:var(--link);
  text-decoration:none;border-bottom:1px solid var(--rule);font-size:0.95rem;
}
.mobile-drawer a:last-child{border-bottom:none}

/* LAYOUT — thin chapter rail + main */
.layout{
  display:grid;
  grid-template-columns:200px minmax(0,1fr);
  max-width:1140px;
  margin:0 auto;
  align-items:start;
}
.rail{
  position:sticky;top:3.2rem;align-self:start;
  max-height:calc(100vh - 3.2rem);overflow-y:auto;
  padding:1.6rem 0.8rem 4rem 1rem;
  background:var(--rail-bg);
  border-right:1px solid var(--rule);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size:0.88rem;line-height:1.45;
}
.rail .rail-label{
  font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--muted);font-weight:700;margin:0 0 0.8rem;padding:0 0.3rem;
}
.rail .rail-top{
  display:block;color:var(--link);text-decoration:none;
  padding:0.4rem 0.5rem;margin:0 -0.3rem 0.8rem;
  border-radius:3px;font-weight:600;font-size:0.86rem;
}
.rail .rail-top:hover{color:var(--link-hover);background:var(--bg-elev)}
.rail .side-part{
  font-size:0.66rem;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--muted);font-weight:700;margin:1rem 0 0.3rem;padding:0 0.3rem;
}
.rail .side-part:first-of-type{margin-top:0.2rem}
.rail ul{list-style:none;margin:0 0 0.3rem;padding:0}
.rail li{margin:0}
.rail li a{
  display:block;text-decoration:none;color:var(--link);
  padding:0.32rem 0.5rem 0.32rem 0.5rem;
  margin:0.04rem -0.3rem;
  border-left:3px solid transparent;border-radius:0 3px 3px 0;
  font-size:0.86rem;
}
.rail li a:hover{color:var(--link-hover);background:var(--bg-elev)}
.rail li.current a{
  background:var(--rail-active-bg);color:var(--rail-active-fg);
  border-left-color:var(--rail-active-bar);font-weight:600;
}
.rail .chap-num{
  display:inline-block;width:1.6em;color:var(--muted);font-size:0.85em;
}
.rail li.current .chap-num{color:var(--rail-active-fg)}
.rail .side-extra{margin-top:1rem;padding-top:0.7rem;border-top:1px solid var(--rule)}

/* MAIN */
.wrap{max-width:70ch;margin:0 auto;padding:2.6rem 1.8rem 7rem}

nav.topnav, nav.botnav{
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size:0.88rem;display:flex;justify-content:space-between;
  gap:1rem;flex-wrap:wrap;border-bottom:1px solid var(--rule);
  padding-bottom:0.9rem;margin-bottom:2.2rem;color:var(--muted);
}
nav.botnav{
  border-bottom:none;border-top:1px solid var(--rule);
  margin-bottom:0;margin-top:3rem;padding-top:1rem;padding-bottom:0;
}
nav a{color:var(--link);text-decoration:none}
nav a:hover{color:var(--link-hover);text-decoration:underline}
nav .nav-center{flex:1;text-align:center}
nav .nav-right{text-align:right}
a{color:var(--link)}
a:hover{color:var(--link-hover)}

/* Sticky chapter pager */
.chapter-pager{
  position:fixed;left:0;right:0;bottom:0;z-index:45;
  display:flex;align-items:stretch;justify-content:space-between;
  background:var(--bg-elev);border-top:1px solid var(--rule-strong);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size:0.88rem;box-shadow:0 -2px 12px rgba(0,0,0,0.18);
}
[data-theme="light"] .chapter-pager{box-shadow:0 -2px 10px rgba(90,70,50,0.10)}
.chapter-pager a, .chapter-pager span.pager-disabled{
  flex:1 1 0;display:flex;align-items:center;gap:0.45rem;
  padding:0.7rem 1rem;color:var(--link);text-decoration:none;
  line-height:1.25;border-right:1px solid var(--rule);
}
.chapter-pager a:last-child, .chapter-pager span.pager-disabled:last-child{border-right:none}
.chapter-pager a:hover{background:var(--bg);color:var(--link-hover)}
.chapter-pager .pager-prev{justify-content:flex-start}
.chapter-pager .pager-toc{justify-content:center;flex:0 0 auto;padding-left:1.2rem;padding-right:1.2rem;color:var(--muted)}
.chapter-pager .pager-toc:hover{color:var(--link-hover)}
.chapter-pager .pager-next{justify-content:flex-end;text-align:right}
.chapter-pager .pager-arrow{font-size:1rem;line-height:1;color:var(--muted)}
.chapter-pager a:hover .pager-arrow{color:var(--accent)}
.chapter-pager .pager-label{
  display:block;font-size:0.66rem;letter-spacing:0.14em;
  text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:0.15rem;
}
.chapter-pager .pager-title{
  display:block;color:var(--fg);font-weight:600;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;
}
.chapter-pager a:hover .pager-title{color:var(--link-hover)}
.chapter-pager span.pager-disabled{color:var(--muted);opacity:0.55;cursor:default}
.chapter-pager span.pager-disabled .pager-title{color:var(--muted)}

/* Typography */
h1{
  font-family: Georgia, serif;font-size:2.1rem;line-height:1.2;
  margin:0 0 0.5rem;letter-spacing:-0.01em;
}
h1 .num{
  display:block;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size:0.78rem;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--muted);margin-bottom:0.55rem;font-weight:700;
}
h2{font-family: Georgia, serif;font-size:1.55rem;margin:2.8rem 0 1rem;line-height:1.3}
h3{font-family: Georgia, serif;font-size:1.22rem;margin:2.2rem 0 0.7rem;line-height:1.35}
h4{font-family: Georgia, serif;font-size:1.08rem;font-style:italic;font-weight:700;margin:2rem 0 0.6rem;line-height:1.35}
h5{
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size:0.85rem;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--muted);margin:2.2rem 0 0.7rem;font-weight:700;
}
p{margin:0 0 1.05rem;max-width:68ch}
em{font-style:italic}
strong{font-weight:700;color:var(--fg)}
blockquote{
  margin:1.5rem 0;padding:0.5rem 0 0.5rem 1.2rem;
  border-left:3px solid var(--rule-strong);color:var(--muted);font-style:italic;
}
code,pre{font-family: "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size:0.92em}
code{background:var(--code-bg);padding:0.1em 0.35em;border-radius:3px}
pre{background:var(--code-bg);padding:1rem 1.2rem;border-radius:5px;overflow-x:auto;line-height:1.5}
pre code{background:none;padding:0}
hr{border:none;border-top:1px solid var(--rule);margin:2rem auto;max-width:8rem}
ul,ol{margin:0 0 1rem;padding-left:1.6rem}
li{margin:0.35rem 0}
.byline{color:var(--muted);font-size:0.95rem;margin:0 0 2rem;font-style:italic}

/* Table of Contents (index) */
.toc{list-style:none;padding:0;margin:0 0 2rem}
.toc li{margin:0.55rem 0;padding:0}
.toc .part-heading{
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size:0.78rem;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--muted);margin:1.8rem 0 0.6rem;font-weight:700;
}
.toc a{text-decoration:none;color:var(--link);border-bottom:1px solid transparent}
.toc a:hover{color:var(--link-hover);border-bottom-color:var(--link-hover)}
.toc .chap-num{
  display:inline-block;width:2.2rem;color:var(--muted);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:0.92rem;
}

/* Glossary */
dl.glossary{margin:1.4rem 0 1.8rem;padding:0}
dl.glossary dt{
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size:0.82rem;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--accent);font-weight:700;margin:1.6rem 0 0.45rem;
}
dl.glossary dt:first-child{margin-top:0}
dl.glossary dd{
  margin:0 0 0 0;padding:0 0 1rem 0;border-bottom:1px solid var(--rule);
  max-width:68ch;color:var(--fg);
}
dl.glossary dd:last-child{border-bottom:none}
dl.glossary dd p{margin:0 0 0.6rem}
dl.glossary dd p:last-child{margin-bottom:0}

/* References */
p.ref{margin:0 0 0.85rem;text-indent:-1.5rem;padding-left:1.5rem;font-size:0.95rem;line-height:1.55}

footer{
  margin-top:3rem;padding-top:1.2rem;border-top:1px solid var(--rule);
  color:var(--muted);font-size:0.82rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;line-height:1.55;
}
footer a{color:var(--muted)}
footer a:hover{color:var(--link-hover)}

/* Chapter rail as a top dropdown on mobile */
.rail-dropdown{display:none}

@media (max-width:900px){
  .layout{grid-template-columns:1fr}
  .rail{display:none}
  .rail-dropdown{
    display:block;margin:0;padding:0.6rem 1rem;
    background:var(--bg-elev);border-bottom:1px solid var(--rule);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size:0.88rem;
  }
  .rail-dropdown summary{
    cursor:pointer;color:var(--link);font-weight:600;list-style:none;
    padding:0.3rem 0;
  }
  .rail-dropdown summary::-webkit-details-marker{display:none}
  .rail-dropdown summary::after{content:" \25BE";color:var(--muted)}
  .rail-dropdown[open] summary::after{content:" \25B4";color:var(--muted)}
  .rail-dropdown ul{list-style:none;margin:0.6rem 0 0;padding:0}
  .rail-dropdown li{margin:0}
  .rail-dropdown li a{
    display:block;padding:0.45rem 0.3rem;color:var(--link);
    text-decoration:none;border-bottom:1px solid var(--rule);
  }
  .rail-dropdown li:last-child a{border-bottom:none}
  .rail-dropdown li.current a{color:var(--rail-active-fg);font-weight:600}
  .rail-dropdown .side-part{
    font-size:0.66rem;letter-spacing:0.12em;text-transform:uppercase;
    color:var(--muted);font-weight:700;margin:0.8rem 0 0.3rem;
  }
}
@media (max-width:780px){
  .topbar{padding:0.45rem 0.8rem;gap:0.5rem}
  .topbar-title{display:none}
  .topbar-eco{display:none}
  .menu-toggle{display:inline-block}
  body{font-size:17px}
  .wrap{padding:1.8rem 1.1rem 6.5rem}
  h1{font-size:1.7rem}
  h2{font-size:1.3rem}
  .chapter-pager{font-size:0.82rem}
  .chapter-pager a, .chapter-pager span.pager-disabled{padding:0.6rem 0.7rem}
  .chapter-pager .pager-toc{padding-left:0.8rem;padding-right:0.8rem}
  .chapter-pager .pager-label{font-size:0.6rem}
  .chapter-pager .pager-title{font-size:0.88rem}
}
@media (max-width:560px){
  .chapter-pager .pager-toc .pager-label{display:none}
  .chapter-pager .pager-toc .pager-title{font-size:0.8rem}
}
