: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;--radius:5px;--border-w:1px;--bg:#fff;--accent-bg:#f5f7ff;--text:#212121;--text-light:#585858;--border:#898EA4;--accent:#0d47a1;--accent-hover:#1266e2;--accent-text:var(--bg);--code:#d81b60;--pre:#444;--marked:#ffdd33;--disabled:#efefef}
@media (prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#212121;--accent-bg:#2b2b2b;--text:#dcdcdc;--text-light:#ababab;--accent:#ffb300;--accent-hover:#ffe099;--code:#f06292;--pre:#ccc;--disabled:#111}img,video{opacity:.8}}

*,*::before,*::after{box-sizing:border-box}
textarea,select,input,progress{appearance:none;-webkit-appearance:none;-moz-appearance:none}
html{font-family:var(--sans-font);scroll-behavior:smooth;font-size:clamp(13px,2vw,16px)}
body{color:var(--text);background-color:var(--bg);font-size:1rem;line-height:1.4;display:grid;grid-template-columns:1fr min(50rem,95%) 1fr;margin:0;padding:0 0.5rem}
body>*{grid-column:2}

body>header{background-color:var(--accent-bg);border-bottom:var(--border-w) solid var(--border);text-align:center;padding:0.5rem .5rem 1rem;grid-column:1/-1}
body>header>*:only-child{margin-block-start:1rem}
body>header h1{max-width:1200px;margin:0.5rem auto}
body>header p{max-width:40rem;margin:0.5rem auto}
main{padding-top:1rem}
body>footer{margin-top:2rem;padding:1rem 0.5rem 1rem;color:var(--text-light);font-size:.85rem;text-align:center;border-top:var(--border-w) solid var(--border)}
h1{font-size:clamp(1.5rem,4vw,2.25rem)}
h2{font-size:clamp(1.4rem,3.5vw,1.9rem);margin-top:1.5rem}
h3{font-size:clamp(1.25rem,3vw,1.6rem);margin-top:1.5rem}
h4{font-size:clamp(1.1rem,2.5vw,1.3rem)}
h5{font-size:1.05rem}
h6{font-size:.9rem}
p{margin:1rem 0}
p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}
h1,h2,h3{line-height:1.1}

a,a:visited{color:var(--accent)}
a:hover{text-decoration:none}
button,.button,a.button,input[type="submit"],input[type="reset"],input[type="button"]{border:var(--border-w) solid var(--accent);background-color:var(--accent);color:var(--accent-text);padding:.4em .6em;text-decoration:none;line-height:normal;cursor:pointer;border-radius:var(--radius)}
.button[aria-disabled="true"],input:disabled,textarea:disabled,select:disabled,button[disabled]{cursor:not-allowed;background-color:var(--disabled);border-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:enabled:hover,.button:not([aria-disabled="true"]):hover,input[type="submit"]:enabled:hover,input[type="reset"]:enabled:hover,input[type="button"]:enabled:hover{background-color:var(--accent-hover);border-color:var(--accent-hover)}
.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}
header nav ul,header nav ol{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;gap:.5rem}
header nav ul li,header nav ol li{display:inline-block}
header nav a,header nav a:visited{margin:0 .5rem 1rem;border:var(--border-w) solid var(--border);border-radius:var(--radius);color:var(--text);display:inline-block;padding:.1rem 1rem;text-decoration:none}
header nav a:hover,header nav a.current,header nav a[aria-current="page"],header nav a[aria-current="true"]{background:var(--bg);border-color:var(--accent);color:var(--accent)}
@media only screen and (max-width:720px){header nav a{border:none;padding:0;text-decoration:underline;line-height:1}header nav a.current{background:none}}

aside,details,pre,progress{background-color:var(--accent-bg);border:var(--border-w) solid var(--border);border-radius:var(--radius);margin-bottom:1rem}
aside{font-size:0.95rem;width:clamp(180px,28%,350px);padding:0 10px;margin-inline-start:10px;float:right}
*[dir="rtl"] aside{float:left}
@media only screen and (max-width:768px){aside{width:100%;float:none;margin-inline-start:0}}
article,fieldset,dialog{border:var(--border-w) solid var(--border);padding:0.75rem;border-radius:var(--radius);margin-bottom:0.75rem}
article h2:first-child,section h2:first-child,article h3:first-child,section h3:first-child{margin-top:0.5rem}
section{border-top:var(--border-w) solid var(--border);border-bottom:var(--border-w) solid var(--border);padding:1.5rem 0.75rem;margin:2rem 0}
section+section,section:first-child{border-top:0;padding-top:0}
section+section{margin-top:0}
section:last-child{border-bottom:0;padding-bottom:0}
details{padding:.7rem 1rem}
summary{cursor:pointer;font-weight:bold;padding:.7rem 1rem;margin:-.7rem -1rem;word-break:break-word}
details[open]>summary+*{margin-top:0}
details[open]>summary{margin-bottom:.5rem}
details[open]>:last-child{margin-bottom:0}

table{border-collapse:collapse;margin:1rem 0;width:100%;overflow-x:auto;display:block}
@media only screen and (min-width:769px){table{display:table}}
figure>table{width:max-content;margin:0}
td,th{border:var(--border-w) solid var(--border);text-align:start;padding:.35rem .5rem}
th{background-color:var(--accent-bg);font-weight:bold}
tr:nth-child(even){background-color:var(--accent-bg)}
table caption{font-weight:bold;margin-bottom:.5rem}

textarea,select,input,button,.button{font-size:inherit;font-family:inherit;padding:.4em;margin-bottom:.4rem;border-radius:var(--radius);box-shadow:none;max-width:100%;display:inline-block}
textarea,select,input{color:var(--text);background-color:var(--bg);border:var(--border-w) solid var(--border)}
label{display:block}
textarea:not([cols]){width:100%;min-height:80px;resize:vertical}
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:.2em;height:.4em;border-radius:0;position:absolute;top:.04em;left:.18em;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:.3em;height:.3em;border-radius:100%;position:absolute;top:.125em;background-color:var(--bg);left:.125em;font-size:1.8em}
@media only screen and (max-width:768px){textarea,select,input{width:100%;font-size:16px}}@media only screen and (max-width:480px){body{padding:0 0.25rem}body>header{padding:0.25rem}main{padding-top:0.5rem}h1{font-size:1.4rem}h2{font-size:1.25rem}}
input[type="color"]{height:2.5rem;padding:.2rem}
input[type="file"]{border:0}

hr{border:none;height:var(--border-w);background:var(--border);margin:1rem auto}
mark{padding:2px 5px;border-radius:var(--radius);background-color:var(--marked);color:black}
mark a{color:var(--accent)}
img,video{max-width:100%;height:auto;border-radius:var(--radius)}
figure{margin:0;display:block;overflow-x:auto}
figure>img,figure>picture>img{display:block;margin-inline:auto}
figcaption{position:sticky;left:0;text-align:center;font-size:.9rem;color:var(--text-light);margin-block: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,pre,pre span,kbd,samp{font-family:var(--mono-font);color:var(--code)}
kbd{color:var(--pre);border:var(--border-w) solid var(--pre);border-bottom:3px solid var(--pre);border-radius:var(--radius);padding:.1rem .4rem}
pre{padding:1rem 1.4rem;max-width:100%;overflow:auto;color:var(--pre)}
pre code{color:var(--pre);background:none;margin:0;padding:0}

progress{width:100%}
progress:indeterminate{background-color:var(--accent-bg)}
progress::-webkit-progress-bar{border-radius:var(--radius);background-color:var(--accent-bg)}
progress::-webkit-progress-value{border-radius:var(--radius);background-color:var(--accent)}
progress::-moz-progress-bar{border-radius:var(--radius);background-color:var(--accent);transition:width .3s}
progress:indeterminate::-moz-progress-bar{background-color:var(--accent-bg)}
dialog{background-color:var(--bg);max-width:40rem;margin:auto}
dialog::backdrop{background-color:var(--bg);opacity:.8}
@media only screen and (max-width:720px){dialog{max-width:calc(100vw - 2rem)}}
sup,sub{vertical-align:baseline;position:relative}
sup{top:-.4em}
sub{top:.3em}
.notice{background:var(--accent-bg);border:var(--border-w) solid var(--border);border-radius:var(--radius);padding:1.5rem;margin:2rem 0}
.notice p:first-of-type{margin-top:0}
.notice p:last-of-type{margin-bottom:0}

@media print{@page{margin:1cm}body{display:block}body>header{background-color:unset}body>header nav,body>footer{display:none}article{border:none;padding:0}a[href^="http"]::after{content:" <" attr(href) ">"}abbr[title]:after{content:" (" attr(title) ")"}a{text-decoration:none}p{widows:3;orphans:3}hr{border-top:var(--border-w) solid var(--border)}mark{border:var(--border-w) solid var(--border)}pre,table,figure,img,svg{break-inside:avoid}pre code{white-space:pre-wrap}}
