/* xman-style theme: Athena chrome, Courier for literals, a readable serif for prose. */
:root{
  --ground:#bebebe;
  --paper:#ffffff;
  --ink:#000000;
  --border:#000000;
  --thumb:#7a7a7a;
  --trough:#dcdcdc;
  --dim:#5a5a5a;
  --hi-bg:#000000;
  --hi-fg:#ffffff;
  --desk:#5f9ea0;
  --mono:"Courier Prime","Courier New",Courier,monospace;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
}
:root.rv{
  --ground:#1a1a1a;
  --paper:#000000;
  --ink:#e8e8e8;
  --border:#e8e8e8;
  --thumb:#9a9a9a;
  --trough:#2e2e2e;
  --dim:#a0a0a0;
  --hi-bg:#e8e8e8;
  --hi-fg:#000000;
  --desk:#22403f;
}
*{box-sizing:border-box;}
html,body{height:100%;}
body{
  margin:0;
  background:var(--desk);
  background-image:
    linear-gradient(45deg, rgba(0,0,0,.08) 25%, transparent 25%, transparent 75%, rgba(0,0,0,.08) 75%),
    linear-gradient(45deg, rgba(0,0,0,.08) 25%, transparent 25%, transparent 75%, rgba(0,0,0,.08) 75%);
  background-size:4px 4px;
  background-position:0 0,2px 2px;
  color:var(--ink);
  font:12px/1.35 var(--sans);
  padding:16px;
}
.mono{font-family:var(--mono);}

.frame{
  max-width:1440px;
  margin:0 auto;
  border:1px solid var(--border);
  background:var(--ground);
  display:flex;
  flex-direction:column;
  height:calc(100vh - 32px);
  min-height:480px;
}

/* top bar */
.bar{display:flex;align-items:stretch;height:26px;border-bottom:1px solid var(--border);background:var(--ground);}
.menubtn{
  position:relative;
  border:0;border-right:1px solid var(--border);
  background:var(--ground);color:var(--ink);
  font:700 12px var(--sans);
  padding:0 12px;cursor:default;
}
.menubtn:focus-visible{outline:2px solid var(--ink);outline-offset:-3px;}
.menubtn[aria-expanded="true"]{background:var(--hi-bg);color:var(--hi-fg);}
.label{flex:1;display:flex;align-items:center;padding:0 10px;font-weight:700;overflow:hidden;white-space:nowrap;}
.label .mono{font-weight:700;}

/* Athena SimpleMenu */
.menu{
  position:absolute;top:100%;left:-1px;z-index:20;
  min-width:200px;
  background:var(--ground);color:var(--ink);
  border:1px solid var(--border);
  padding:2px 0 3px;
  text-align:left;font-weight:400;
}
.menu[hidden]{display:none;}
.menu .mtitle{font-weight:700;padding:3px 12px 4px;border-bottom:1px solid var(--border);margin-bottom:2px;}
.menu .item{
  display:flex;justify-content:space-between;gap:16px;
  padding:3px 12px;cursor:default;white-space:nowrap;
  color:inherit;text-decoration:none;
}
.menu .item:hover,.menu .item:focus-visible{background:var(--hi-bg);color:var(--hi-fg);outline:0;}
.menu .item .acc{color:inherit;opacity:.75;}
.menu .sep{border-top:1px solid var(--border);margin:3px 0;}
.menu .item[aria-checked="true"]::before{content:"\2713\00a0";}
.xr.ext::after,.menu .item.ext span::after{content:"\00a0\1F310";font-size:.8em;}

/* panes */
.panes{flex:1;display:flex;flex-direction:column;min-height:0;}
.pane{position:relative;display:flex;min-height:0;background:var(--paper);}
.pane[hidden]{display:none;}
.pane.dir{flex:0 0 auto;max-height:100%;}
.pane.page{flex:1;}
.both .pane.dir{flex:0 1 auto;max-height:45%;}
.grip{height:6px;background:var(--ground);border-top:1px solid var(--border);border-bottom:1px solid var(--border);position:relative;}
.grip[hidden]{display:none;}
.grip::after{content:"";position:absolute;right:14px;top:-4px;width:12px;height:12px;border:1px solid var(--border);background:var(--ground);}

/* Athena scrollbar, on the left */
.sb{width:14px;flex:0 0 14px;border-right:1px solid var(--border);background:var(--trough);position:relative;cursor:default;}
.sb .th{
  position:absolute;left:0;right:0;top:0;height:100%;
  background:var(--thumb);
  background-image:repeating-linear-gradient(45deg,transparent 0 2px,rgba(0,0,0,.25) 2px 3px);
}
.scroll{flex:1;overflow:auto;min-height:0;scrollbar-width:none;}
.scroll::-webkit-scrollbar{display:none;}

/* directory (Athena List) */
.directory[hidden]{display:none;}
.dirhead{padding:6px 14px 2px;font-weight:700;border-bottom:1px solid var(--border);margin:0 0 2px;}
.list{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
  padding:6px 8px;
  font-family:var(--mono);font-size:13px;
}
.list a{display:block;padding:1px 6px;color:var(--ink);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.list a:hover,.list a:focus-visible{background:var(--hi-bg);color:var(--hi-fg);outline:0;}
.list a[aria-current="page"]{background:var(--hi-bg);color:var(--hi-fg);}

/* manual page */
.man{
  padding:12px 32px 48px 22px;
  font-family:var(--serif);
  font-size:15.5px;
  line-height:1.5;
}
/* Content flows to the pane width; the reader sets the measure by sizing the window. */
.man .hdr,.man .ftr{display:flex;justify-content:space-between;gap:1em;font-family:var(--mono);font-size:12px;}
.man .hdr{margin:0 0 8px;}
.man .ftr{margin-top:32px;}
.man .sh,.man .content h2{
  font:700 12px/1.3 var(--sans);
  letter-spacing:.06em;text-transform:uppercase;
  margin:20px 0 6px;
}
.man .sh:first-of-type{margin-top:6px;}
.man .name{margin-left:2.6em;}
.man .name b{font-family:var(--mono);font-size:.9em;}
.man .content h1{
  font:700 15px/1.3 var(--sans);
  margin:18px 0 8px 2.6em;
}
.man .content h3{font:600 1em var(--serif);margin:14px 0 4px 2.6em;}
.man .content h4,.man .content h5{font:600 .95em var(--serif);margin:12px 0 4px 2.6em;}
.man .content p,.man .content ul,.man .content ol,.man .content dl,.man .content table,
.man .content blockquote,.man .content pre,.man .content .admonition,.man .content .tabbed-set,
.man .content .highlight{margin:0 0 10px 2.6em;}
.man .content ul,.man .content ol{padding-left:1.6em;}
.man .content ul{list-style:"\2013\00a0\00a0";}
.man .content li{margin:0 0 3px;}
.man .content li > p{margin-left:0;}
.man .content li > ul,.man .content li > ol{margin:3px 0 0;}
.man dl{margin:0 0 10px 2.6em;}
.man dt{font-family:var(--mono);font-size:.9em;font-weight:700;margin:10px 0 2px;}
.man dt:first-child{margin-top:0;}
.man dd{margin:0 0 0 2.6em;}
.man dd p{margin-left:0;}
.man a{color:inherit;text-decoration:underline;text-underline-offset:2px;}
.man a:focus-visible{outline:1px solid var(--ink);}
.man .headerlink{text-decoration:none;opacity:0;margin-left:.4em;font-family:var(--sans);font-weight:400;}
.man h1:hover .headerlink,.man h2:hover .headerlink,.man h3:hover .headerlink,.man h4:hover .headerlink{opacity:.5;}
.man code,.man kbd{font-family:var(--mono);font-size:.9em;}
.man strong{font-weight:600;}
.man kbd{border:1px solid var(--border);padding:0 .3em;border-radius:0;}
.man pre{
  font-family:var(--mono);font-size:.86em;line-height:1.4;
  border:1px solid var(--border);padding:8px 12px;
  overflow-x:auto;background:var(--paper);
}
.man pre code{font-size:1em;}
.man .highlight pre{margin:0;}
.man blockquote{border-left:2px solid var(--border);padding:2px 0 2px 12px;}
.man blockquote p{margin-left:0;}
.man table{border-collapse:collapse;font-size:.92em;max-width:100%;display:block;overflow-x:auto;}
.man th,.man td{text-align:left;vertical-align:top;padding:3px 2em 3px 0;border-bottom:1px solid var(--trough);}
.man th{font-family:var(--sans);font-size:.8em;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--border);}
.man td code{white-space:nowrap;}
.man hr{border:0;border-top:1px solid var(--border);margin:14px 0 14px 2.6em;}
.man img{max-width:100%;}

/* admonitions become boxed notes */
.man .admonition{border:1px solid var(--border);padding:6px 12px 2px;}
.man .admonition-title{font:700 11px/1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase;margin:0 0 4px;}
.man .admonition p{margin-left:0;}

/* pymdownx tabs: labels as a row of Athena toggles */
.man .tabbed-set{position:relative;border:1px solid var(--border);padding:0 12px 4px;}
.man .tabbed-set > input{position:absolute;opacity:0;width:0;height:0;}
.man .tabbed-labels{display:flex;flex-wrap:wrap;gap:0;margin:0 -12px 8px;border-bottom:1px solid var(--border);}
.man .tabbed-labels > label{font:700 12px var(--sans);padding:4px 12px;border-right:1px solid var(--border);cursor:default;}
.man .tabbed-content > .tabbed-block{display:none;}
.man .tabbed-block > pre,.man .tabbed-block > p{margin-left:0;}
.man .tabbed-set > input:nth-of-type(1):checked ~ .tabbed-content > .tabbed-block:nth-child(1),
.man .tabbed-set > input:nth-of-type(2):checked ~ .tabbed-content > .tabbed-block:nth-child(2),
.man .tabbed-set > input:nth-of-type(3):checked ~ .tabbed-content > .tabbed-block:nth-child(3),
.man .tabbed-set > input:nth-of-type(4):checked ~ .tabbed-content > .tabbed-block:nth-child(4),
.man .tabbed-set > input:nth-of-type(5):checked ~ .tabbed-content > .tabbed-block:nth-child(5),
.man .tabbed-set > input:nth-of-type(6):checked ~ .tabbed-content > .tabbed-block:nth-child(6){display:block;}
.man .tabbed-set > input:nth-of-type(1):checked ~ .tabbed-labels > label:nth-child(1),
.man .tabbed-set > input:nth-of-type(2):checked ~ .tabbed-labels > label:nth-child(2),
.man .tabbed-set > input:nth-of-type(3):checked ~ .tabbed-labels > label:nth-child(3),
.man .tabbed-set > input:nth-of-type(4):checked ~ .tabbed-labels > label:nth-child(4),
.man .tabbed-set > input:nth-of-type(5):checked ~ .tabbed-labels > label:nth-child(5),
.man .tabbed-set > input:nth-of-type(6):checked ~ .tabbed-labels > label:nth-child(6){background:var(--hi-bg);color:var(--hi-fg);}

/* material-style card grid on the index becomes a grid of boxes */
.man .grid.cards{margin-left:2.6em;}
.man .grid.cards > ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;list-style:none;padding:0;margin:0;}
.man .grid.cards > ul > li{border:1px solid var(--border);padding:8px 12px;margin:0;}
.man .grid.cards > ul > li p{margin-left:0;}
.man .grid.cards hr{margin:6px 0;}

/* apropos results */
.man .apropos{font-family:var(--mono);font-size:.9em;margin-left:1ch;}
.man .apropos .row{display:grid;grid-template-columns:34ch 1fr;gap:0 1ch;}
.man .apropos p{margin-left:0;}

/* Athena dialog */
.shell{position:fixed;inset:0;display:flex;align-items:flex-start;justify-content:center;padding-top:14vh;z-index:40;}
.shell[hidden]{display:none;}
.dialog{background:var(--ground);color:var(--ink);border:1px solid var(--border);width:min(680px,94vw);padding:10px;font-weight:700;}
.dialog .q{margin:0 0 6px;}
.dialog input{
  display:block;width:100%;
  border:1px solid var(--border);background:var(--paper);color:var(--ink);
  font:13px var(--mono);padding:3px 5px;margin-bottom:8px;
}
.dialog input:focus{outline:0;border-width:2px;padding:2px 4px;}
.dialog .row{display:flex;gap:6px;}
.results{background:var(--paper);border:1px solid var(--border);margin:-2px 0 8px;max-height:50vh;overflow:auto;font-weight:400;}
.results:empty{display:none;}
.result{display:grid;grid-template-columns:auto 1fr;gap:0 1em;padding:5px 8px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--trough);}
.result:last-child{border-bottom:0;}
.result.sel{background:var(--hi-bg);color:var(--hi-fg);}
.result .rname{font-family:var(--mono);font-size:12.5px;font-weight:700;white-space:nowrap;}
.result .rwhere{font:700 11px var(--sans);align-self:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.result .rsnip{grid-column:1 / -1;font:13px/1.35 var(--serif);opacity:.85;}
.dialog button{border:1px solid var(--border);background:var(--ground);color:var(--ink);font:700 12px var(--sans);padding:3px 10px;cursor:default;}
.dialog button:hover,.dialog button:focus-visible{background:var(--hi-bg);color:var(--hi-fg);outline:0;}

@media (max-width:640px){
  body{padding:4px;}
  .frame{height:calc(100vh - 8px);}
  .dialog{min-width:0;width:94vw;}
  .man{padding:10px 14px 40px 12px;font-size:15px;}
  .man .content p,.man .content ul,.man .content ol,.man dl,.man .content table,.man .content pre,
  .man .content blockquote,.man .content .admonition,.man .content .tabbed-set,.man .content h1,
  .man .content h3,.man .name,.man .grid.cards{margin-left:0;}
  .man .apropos .row{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion: no-preference){.menu{animation:pop .06s steps(1);}}
@keyframes pop{from{opacity:0}to{opacity:1}}
