::backdrop,:root{
    --sans-font:-apple-system,BlinkMacSystemFont,"Avenir Next",Avenir,"Nimbus Sans L",Roboto,"Noto Sans","Segoe UI",Arial,Helvetica,"Helvetica Neue",sans-serif;
    --mono-font:Consolas,Menlo,Monaco,"Andale Mono","Ubuntu Mono",monospace;
    --standard-border-radius:5px;
    /*    --bg:#fef9ec; */

    --bg:#fbfaf7;
    --accent-bg:#f2f1ec; /*even rows*/
    --accent-th:#e4e2da; /*table header*/
    --accent-odd:#ffffff; /*odd rows*/
    --text:#1f2933;
    --text-light:#5b6770;
    --border:#d6d3c9;
    --border-strong:#b8b4a8;
    --accent:#0f766e; /*link colors*/
    --preformatted:#3f3f46;
    --marked:#fde68a;
    --disabled:#eceae4;
    --focus:#5eead4;
}

@media (prefers-color-scheme:dark){
    ::backdrop,:root{
	color-scheme:dark;
	--bg:#0f172a;
	--accent-th:#1e293b;
	--accent-bg:#111827;
	--accent-odd:#0f172a;
	--text:#e5e7eb;
	--text-light:#94a3b8;
	--border:#334155;
	--border-strong:#475569;
	--accent:#60a5fa;
	--focus:#93c5fd;
	--code:#f06292;
	--preformatted:#d1d5db;
	--disabled:#020617;
    }img,video{
	opacity:.8
    }
}*,::after,::before{
    box-sizing:border-box
}input,progress,select,textarea{appearance:none;-webkit-appearance:none;-moz-appearance:none}html{font-family:var(--sans-font);scroll-behavior:smooth}body{color:var(--text);background-color:var(--bg);font-size:1.15rem;line-height:1.6;display:grid;grid-template-columns:1fr min(45rem,90%) 1fr;margin:0}body>*{grid-column:2}body>header{background-color:var(--accent-bg);border-bottom:1px solid var(--border);text-align:center;padding:0 .5rem 2rem .5rem;grid-column:1/-1}body>header h1{max-width:1200px;margin:1rem auto}body>header p{max-width:40rem;margin:1rem auto}main{padding-top:1.5rem}body>footer{margin-top:4rem;padding:2rem 1rem 1.5rem 1rem;color:var(--text-light);font-size:.9rem;text-align:center;border-top:1px solid var(--border)}h1{font-size:3rem}h2{font-size:2.6rem;margin-top:3rem}h3{font-size:2rem;margin-top:3rem}h4{font-size:1.44rem}h5{font-size:1.15rem}h6{font-size:.96rem}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}h1,h2,h3{line-height:1.1}@media only screen and (max-width:720px){h1{font-size:2.5rem}h2{font-size:2.1rem}h3{font-size:1.75rem}h4{font-size:1.25rem}}
a, a:visited{
    color: var(--accent);
    text-decoration: underline;
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.14em;
}
a:hover{
    text-decoration-thickness: 0.12em;
}

/* Base nav layout (desktop + large screens) */
.site-nav{
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin: 0.5rem 0 1rem 0;
}

/* Link styling */
.site-nav a{
  text-decoration: underline;
  white-space: nowrap; /* prevents ugly line breaks inside a link */
}

/* Current page */
.site-nav a.current{
  font-weight: bold;
  text-decoration: none;
  cursor: default;
}

/* Responsive wrapping for small screens */
@media (max-width: 700px){
  .site-nav{
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem 1.25rem; /* row gap, column gap */
  }
}

.site-nav{
  position: sticky;
  top: 0;
  z-index: 1000;

  background-color: var(--bg);
  border-bottom: 1px solid var(--border);

  padding: 0.5rem 1ch;   /* vertical | horizontal */
}

.site-nav{
  border-radius: 0 0 var(--standard-border-radius)
                  var(--standard-border-radius);
}

.site-nav{
  box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}
@media (prefers-color-scheme:dark){
  .site-nav{
    box-shadow: 0 2px 6px rgba(0,0,0,0.35);
  }
}

.button,a.button,button,input[type=button],input[type=reset],input[type=submit],label[type=button]{border:none;border-radius:var(--standard-border-radius);background-color:var(--accent);font-size:1rem;color:var(--bg);padding:.7rem .9rem;margin:.5rem 0;text-decoration:none;font-family:inherit;line-height:normal}.button[aria-disabled=true],button[disabled],input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;background-color:var(--disabled);color:var(--text-light)}input[type=range]{padding:0}abbr[title]{cursor:help;text-decoration-line:underline;text-decoration-style:dotted}.button:not([aria-disabled=true]):hover,button:enabled:hover,input[type=button]:enabled:hover,input[type=reset]:enabled:hover,input[type=submit]:enabled:hover,label[type=button]:hover{filter:brightness(1.4);cursor:pointer}.button:focus-visible,button:focus-visible:where(:enabled),input:enabled:focus-visible:where([type=submit],[type=reset],[type=button]){outline:2px solid var(--accent);outline-offset:1px}header>nav{font-size:1rem;line-height:2;padding:1rem 0 0 0}header>nav ol,header>nav ul{align-content:space-around;align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;list-style-type:none;margin:0;padding:0}header>nav ol li,header>nav ul li{display:inline-block}header>nav a,header>nav a:visited{margin:0 .5rem 1rem .5rem;border:1px solid var(--border);border-radius:var(--standard-border-radius);color:var(--text);display:inline-block;padding:.1rem 1rem;}header>nav a.current,header>nav a:hover,header>nav a[aria-current=page]{border-color:var(--accent);color:var(--accent);cursor:pointer}@media only screen and (max-width:720px){header>nav a{border:none;padding:0;text-decoration:underline;line-height:1}}aside,details,pre,progress{background-color:var(--accent-bg);border:1px solid var(--border);border-radius:var(--standard-border-radius);margin-bottom:1rem}aside{font-size:1rem;width:30%;padding:0 15px;margin-inline-start:15px;float:right}[dir=rtl] aside{float:left}@media only screen and (max-width:720px){aside{width:100%;float:none;margin-inline-start:0}}article,dialog,fieldset{border:1px solid var(--border);padding:1rem;border-radius:var(--standard-border-radius);margin-bottom:1rem}article h2:first-child,section h2:first-child{margin-top:1rem}section{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:2rem 1rem;margin:3rem 0}section+section,section:first-child{border-top:0;padding-top:0}section:last-child{border-bottom:0;padding-bottom:0}details{padding:.7rem 1rem}summary{cursor:pointer;font-weight:700;padding:.7rem 1rem;margin:-.7rem -1rem;word-break:break-all}details[open]>summary+*{margin-top:0}details[open]>summary{margin-bottom:.5rem}details[open]>:last-child{margin-bottom:0}

table{
    width:100%;
    border-collapse:collapse;
    margin:1.5rem 0
}

td,th{
    border:1px solid var(--border);
    text-align:start;
    padding:.5rem
}

th{
    background-color: var(--accent-th);
    font-weight: 700;
/*    border-bottom: 1px solid var(--border-strong);*/
}

tr:nth-child(even){
    background-color:var(--accent-bg)
}

tr:nth-child(odd){
    background-color:var(--accent-odd)
}

table caption{
    text-align: left;
    font-weight:700;
    margin-bottom:.5rem
}

input,select,textarea{
    font-size:inherit;
    font-family:inherit;
    padding:.5rem;
    margin-bottom:.5rem;
    color:var(--text);
    background-color:var(--bg);
    border:1px solid var(--border);
    border-radius:var(--standard-border-radius);
    box-shadow:none;
    max-width:100%;
    display:inline-block
}label{display:block}textarea:not([cols]){width:100%}select:not([multiple]){background-image:linear-gradient(45deg,transparent 49%,var(--text) 51%),linear-gradient(135deg,var(--text) 51%,transparent 49%);background-position:calc(100% - 15px),calc(100% - 10px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-inline-end:25px}[dir=rtl] select:not([multiple]){background-position:10px,15px}input[type=checkbox],input[type=radio]{vertical-align:middle;position:relative;width:min-content}input[type=checkbox]+label,input[type=radio]+label{display:inline-block}input[type=radio]{border-radius:100%}input[type=checkbox]:checked,input[type=radio]:checked{background-color:var(--accent)}input[type=checkbox]:checked::after{content:" ";width:.18em;height:.32em;border-radius:0;position:absolute;top:.05em;left:.17em;background-color:transparent;border-right:solid var(--bg) .08em;border-bottom:solid var(--bg) .08em;font-size:1.8em;transform:rotate(45deg)}input[type=radio]:checked::after{content:" ";width:.25em;height:.25em;border-radius:100%;position:absolute;top:.125em;background-color:var(--bg);left:.125em;font-size:32px}@media only screen and (max-width:720px){input,select,textarea{width:100%}}input[type=color]{height:2.5rem;padding:.2rem}input[type=file]{border:0}hr{border:none;height:1px;background:var(--border);margin:1rem auto}mark{padding:2px 5px;border-radius:var(--standard-border-radius);background-color:var(--marked);color:#000}img,video{max-width:100%;height:auto;border-radius:var(--standard-border-radius)}figure{margin:0;display:block;overflow-x:auto}figcaption{text-align:center;font-size:.9rem;color:var(--text-light);margin-bottom:1rem}blockquote{margin-inline-start:2rem;margin-inline-end:0;margin-block:2rem;padding:.4rem .8rem;border-inline-start:.35rem solid var(--accent);color:var(--text-light);font-style:italic}cite{font-size:.9rem;color:var(--text-light);font-style:normal}dt{color:var(--text-light)}code,kbd,pre,pre span,samp{font-family:var(--mono-font);color:var(--code)}kbd{color:var(--preformatted);border:1px solid var(--preformatted);border-bottom:3px solid var(--preformatted);border-radius:var(--standard-border-radius);padding:.1rem .4rem}pre{padding:1rem 1.4rem;max-width:100%;overflow:auto;color:var(--preformatted)}pre code{color:var(--preformatted);background:0 0;margin:0;padding:0}progress{width:100%}progress:indeterminate{background-color:var(--accent-bg)}progress::-webkit-progress-bar{border-radius:var(--standard-border-radius);background-color:var(--accent-bg)}progress::-webkit-progress-value{border-radius:var(--standard-border-radius);background-color:var(--accent)}progress::-moz-progress-bar{border-radius:var(--standard-border-radius);background-color:var(--accent);transition-property:width;transition-duration:.3s}progress:indeterminate::-moz-progress-bar{background-color:var(--accent-bg)}dialog{max-width:40rem;margin:auto}dialog::backdrop{background-color:var(--bg);opacity:.8}@media only screen and (max-width:720px){dialog{max-width:100%;margin:auto 1em}}.notice{background:var(--accent-bg);border:2px solid var(--border);border-radius:5px;padding:1.5rem;margin:2rem 0}

/* table footnote popup override */

td {
  position: relative;
  overflow: visible;
}

details.cellpop {
  display: inline !important;
  position: relative !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

details.cellpop summary {
  display: inline !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  list-style: none !important;
  cursor: pointer !important;
  font-weight: normal !important;
  font-size: 0.75em !important;
  line-height: 1 !important;
  vertical-align: super !important;
  word-break: normal !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

details.cellpop summary::marker {
  content: "";
}

details.cellpop summary::-webkit-details-marker {
  display: none;
}

details.cellpop[open] > summary {
  margin: 0 !important;
}

details.cellpop .note {
  display: none;
}

details.cellpop[open] .note {
  display: block;
  position: absolute;
  top: 1.2em;
  left: 0.8em;
  z-index: 1000;
  width: max-content;
  max-width: min(20rem, 90vw);
  padding: 0.6rem 0.75rem;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 4px;
  box-shadow: 0 6px 18px rgb(0 0 0 / 0.14);
  font-size: 0.9em;
  line-height: 1.4;
}

/*new*/

details{
  scroll-margin-top: 4.5rem;
  border: 1px solid var(--border);
  border-radius: var(--standard-border-radius);
  background-color: var(--accent-odd);
  overflow: hidden;
  margin-bottom: 1rem;
}

summary{
  list-style: none;
  cursor: pointer;
  font-weight: 600;
  padding: 0.75rem 1rem;
  background-color: var(--accent-bg);
  margin: 0;
}

summary:hover{
  background-color: var(--accent-th);
}

summary::-webkit-details-marker{
  display: none;
}

summary::before{
/*  content: "▸";*/
  display: inline-block;
  margin-right: 0.5rem;
  transition: transform 0.15s ease;
}

details[open] summary::before{
  transform: rotate(90deg);
}

details[open] summary{
  border-bottom: 1px solid var(--border);
}

details > *:not(summary){
  padding: 0.75rem 1rem 1rem 1rem;
}

details table{
  margin: 0;
}

details table + table{
  margin-top: 1.2rem;
}
