/* Glosses: one stylesheet for every page, static and dynamic. No web fonts, no images, no external requests. */
:root{color-scheme:light dark;--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--bg:#fff;--fg:#1b1b1b;--muted:#5d6166;--line:#e1e1e1;--soft:#f6f6f5;--link:#0b57d0;--mark:#ffe58a}
@media (prefers-color-scheme:dark){:root{--bg:#111213;--fg:#e8e6e3;--muted:#a3a6aa;--line:#2d2f32;--soft:#1a1b1d;--link:#8ab4f8;--mark:#5e4f00}}
html[data-theme=light]{color-scheme:light;--bg:#fff;--fg:#1b1b1b;--muted:#5d6166;--line:#e1e1e1;--soft:#f6f6f5;--link:#0b57d0;--mark:#ffe58a}
html[data-theme=dark]{color-scheme:dark;--bg:#111213;--fg:#e8e6e3;--muted:#a3a6aa;--line:#2d2f32;--soft:#1a1b1d;--link:#8ab4f8;--mark:#5e4f00}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-padding-top:72px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:1rem/1.6 var(--sans);overflow-wrap:anywhere}
a{color:var(--link)}
a:hover{text-decoration-thickness:2px}
h1,h2,h3,.wordmark,.card .title,.latest .title{font-family:var(--serif);font-weight:600;line-height:1.25}
h1{font-size:2rem;margin:.5rem 0 .6rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}
h2{font-size:1.3rem;margin:2.25rem 0 .5rem}
h3{font-size:1.05rem}
h4{font:600 .72rem/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem}
mark{background:var(--mark);color:inherit;padding:0 .1em;border-radius:2px}
h1 a{color:inherit;text-decoration:none}
h1 .id{font-family:var(--serif);font-size:1em}
code,.id{font-family:var(--mono);font-size:.88em}
pre{white-space:pre-wrap;background:var(--soft);border:1px solid var(--line);border-radius:6px;padding:.6rem .8rem}
blockquote{margin:.5rem 0;padding:.1rem 0 .1rem .9rem;border-left:3px solid var(--line);color:var(--fg)}
ul,ol{padding-left:1.25rem}
li{margin:.3rem 0}
.meta{font-size:.86rem;color:var(--muted)}
.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:1rem;height:56px;padding:0 1.25rem;background:var(--bg);border-bottom:1px solid var(--line)}
.site-header .wordmark{font-size:1.2rem;color:var(--fg);text-decoration:none;white-space:nowrap}
.site-search{flex:1 1 auto;display:flex;justify-content:center;min-width:0;margin:0}
.site-search input,.hero-search input{width:100%;max-width:32rem;font:inherit;font-size:.95rem;color:var(--fg);background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:.4rem 1rem}
.site-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-left:auto}
.button,.theme-toggle{display:inline-block;font:500 .85rem/1.2 var(--sans);color:var(--fg);background:transparent;border:1px solid var(--fg);border-radius:999px;padding:.4rem .85rem;text-decoration:none;white-space:nowrap;cursor:pointer}
.theme-toggle{border-color:var(--line)}
.layout{display:grid;grid-template-columns:minmax(9rem,14rem) minmax(0,44rem);gap:3rem;justify-content:center;padding:1.5rem 1.25rem 0}
main.solo{max-width:44rem;margin:0 auto;padding:1.5rem 1.25rem 0}
aside.contents{position:sticky;top:72px;align-self:start;max-height:calc(100vh - 88px);overflow:auto;font-size:.88rem}
aside.contents ol{list-style:none;padding:0;margin:0 0 1rem}
aside.contents li{margin:0}
aside.contents a{display:flex;justify-content:space-between;gap:.5rem;padding:.2rem .6rem;border-left:2px solid var(--line);color:var(--muted);text-decoration:none}
aside.contents a:hover{color:var(--fg)}
aside.contents a[aria-current]{color:var(--fg);border-left-color:var(--fg);font-weight:600}
aside.contents .n,.site-footer .n{font-variant-numeric:tabular-nums}
aside.contents .n{flex:none;white-space:nowrap}
nav.crumbs{font-size:.84rem;color:var(--muted)}
nav.crumbs a{color:var(--muted)}
.notice{font-size:.88rem;color:var(--muted);margin:.2rem 0}
.links{display:flex;flex-wrap:wrap;gap:.25rem 1.1rem;font-size:.88rem;margin:.2rem 0 1rem}
p.text{font-size:1.08rem;line-height:1.75}
p.unit{margin:1.25rem 0 .25rem}
.notes{font-size:.9rem;margin:0 0 1rem 1rem}
.notes-full{list-style:none;padding:0;margin:0}.notes-full>li{padding:1rem 0;border-bottom:1px solid var(--line)}.notes-full>li:last-child{border-bottom:0}.notes-full>li>a>strong{font-family:var(--serif);font-size:1.15rem;font-weight:600}
nav.pager{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;font-size:.9rem}
label{display:block;font-weight:600;margin-bottom:.25rem}
textarea,input[type=email]{width:100%;font:inherit;color:var(--fg);background:var(--soft);border:1px solid var(--line);border-radius:6px;padding:.5rem .7rem}
button[type=submit]{font:inherit;font-weight:600;color:var(--bg);background:var(--fg);border:0;border-radius:999px;padding:.5rem 1.2rem;cursor:pointer}
.home-top{display:flex;justify-content:flex-end;padding:.75rem 1.25rem}
main.home{max-width:60rem;margin:0 auto;padding:0 1.25rem}
.hero{text-align:center;padding:9vh 0 1.5rem}
.hero h1{border:0;font-size:clamp(2.4rem,8vw,4rem);font-weight:500;margin:0;padding:0}
.hero .tagline{color:var(--muted);margin:.6rem auto 1.5rem;max-width:36rem}
.hero-search{display:flex;justify-content:center;margin:0}
.hero-search input{font-size:1.05rem;padding:.75rem 1.25rem;max-width:38rem}
.shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem;list-style:none;padding:0}
.card{margin:0;border:1px solid var(--line);border-radius:10px;padding:1rem 1.1rem;background:var(--soft)}
.card .title{display:block;font-size:1.3rem;color:var(--fg);text-decoration:none;margin-bottom:.25rem}
.latest{list-style:none;padding:0;margin:0}
.latest li{margin:0;padding:.7rem 0;border-bottom:1px solid var(--line)}
.latest .title{font-size:1.08rem;text-decoration:none}
.latest .excerpt{font-size:.9rem;margin:.15rem 0}
.site-footer{margin-top:4rem;padding:2rem 1.25rem 3rem;border-top:1px solid var(--line);text-align:center;font-size:.9rem;color:var(--muted)}
.site-footer .count{font-size:1rem;color:var(--fg)}
.site-footer .n{font-family:var(--serif);font-size:1.35rem;font-weight:600}
.site-footer .columns{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem 4rem;margin-top:1.5rem;text-align:left}
.site-footer .columns div{display:flex;flex-direction:column;gap:.3rem}
.site-footer .columns a{color:var(--fg);text-decoration:none}
.toc{display:flex;flex-wrap:wrap;gap:.25rem 1.1rem;font-size:.88rem;margin:1.25rem 0;padding:.5rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.op,.schema{margin-top:1.5rem;border-top:1px solid var(--line)}
.op h3,.schema h3{margin:.9rem 0 .4rem}
.method{display:inline-block;font:600 .7rem/1.6 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:0 .35rem;vertical-align:.15em}
table.params,table.fields{width:100%;border-collapse:collapse;font-size:.88rem;margin:.5rem 0 1rem}
.params th,.fields th{text-align:left;font-weight:600;font-size:.78rem;color:var(--muted);padding:.3rem .75rem .3rem 0;border-bottom:1px solid var(--line)}
.params td,.fields td{vertical-align:top;padding:.4rem .75rem .4rem 0;border-bottom:1px solid var(--line)}
.params td:nth-child(2),.params td:nth-child(3),.fields td:nth-child(2){font-size:.82rem;color:var(--muted)}
.params td:nth-child(-n+3),.fields td:nth-child(-n+2){overflow-wrap:normal}
.params td:first-child em,.fields td:first-child em{display:block;font-style:normal;font-size:.75rem;color:var(--muted)}
pre code{font-size:.82rem}
@media (max-width:760px){
html{scroll-padding-top:0}
.site-header{position:static;flex-wrap:wrap;height:auto;row-gap:.5rem;padding:.6rem 1rem}
.site-search{order:3;flex-basis:100%}
.site-search input{max-width:none}
.layout{grid-template-columns:minmax(0,1fr);gap:1.5rem;padding:1rem 1rem 0}
aside.contents{order:2;position:static;max-height:none;border-top:1px solid var(--line);padding-top:1rem}
main.solo,main.home{padding-left:1rem;padding-right:1rem}
h1{font-size:1.6rem}
.params,.fields,.params tbody,.fields tbody{display:block}
.params thead,.fields thead{display:none}
.params tr,.fields tr{display:block;padding:.45rem 0;border-bottom:1px solid var(--line)}
.params td,.fields td{display:inline;padding:0 .5rem 0 0;border:0}
.params td:last-child,.fields td:last-child{display:block;padding-top:.15rem}
.params td:first-child em,.fields td:first-child em{display:inline}
}
