@font-face{font-family:"Public Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/public-sans-latin-400.woff2) format("woff2")}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/public-sans-latin-500.woff2) format("woff2")}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/public-sans-latin-700.woff2) format("woff2")}
:root{--red:#d10d0e;--ink:#000;--text:#1f1f1f;--muted:#5c5c5c;--paper:#f3ecdd;--mist:#e9e0cd;--rule:#cfc3ab;--low:#1f7a3d;--mid:#a85f00;--high:#c1121f;color-scheme:light}
*{box-sizing:border-box}
html{scroll-padding-top:1rem}
body{margin:0;font:400 1rem/1.6 "Public Sans",system-ui,sans-serif;color:var(--text);background:var(--paper)}
.band{background:var(--red);padding:2.5rem 1.25rem 2.25rem;position:relative}
.band-in{max-width:46rem;margin:0 auto}
.mark{margin:0 0 .7rem;line-height:0}.mark a{display:inline-block}.mark img{display:block;width:min(17.5rem,76vw);height:auto}
.phrase{font:700 clamp(1.6rem,5vw,2.3rem)/1.15 "Public Sans",sans-serif;color:#fff;margin:1.1rem 0 .4rem}
.tag{margin:0 0 1.5rem;font-size:1.05rem;color:#fff;max-width:34rem}
form.search{display:flex;gap:.5rem;flex-wrap:wrap}
.search input{flex:1 1 16rem;min-width:0;padding:.9rem 1rem;font:inherit;border:2px solid var(--ink);border-radius:.25rem;background:#fff;color:var(--text)}
.search button,.btn{padding:.9rem 1.4rem;font:700 1rem "Public Sans",sans-serif;color:#fff;background:var(--ink);border:2px solid var(--ink);border-radius:.25rem;cursor:pointer}
.search button:disabled,.btn:disabled{opacity:.55;cursor:wait}
:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px var(--ink)}
nav.tabs{border-bottom:3px solid var(--ink)}
nav.tabs div{max-width:46rem;margin:0 auto;padding:0 1.25rem;display:flex;flex-wrap:wrap;gap:.1rem .25rem}
nav.tabs a{font:700 1rem "Public Sans",sans-serif;background:none;border:0;padding:.85rem 1rem;color:var(--muted);text-decoration:none;white-space:nowrap;border-bottom:5px solid transparent;margin-bottom:-3px}
nav.tabs a:hover{color:var(--ink)}
nav.tabs a[aria-current=page]{color:var(--ink);border-bottom-color:var(--red)}
nav.tabs a:focus-visible{outline:3px solid var(--ink);outline-offset:-3px}
.how ol{padding-left:1.3rem}.how li{margin:.7rem 0}
table.scale{border-collapse:collapse;width:100%;margin:.6rem 0}
.scale th,.scale td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--rule);vertical-align:top}
.scale td:first-child{font-weight:700;white-space:nowrap}
footer{border-top:3px solid var(--ink);padding:1.2rem 1.25rem 2rem;text-align:center;color:var(--muted);font-size:.9rem}
main{max-width:46rem;margin:0 auto;padding:1.5rem 1.25rem 4rem}
.status{min-height:1.5rem;color:var(--muted);margin:0 0 1rem}
.spin{display:inline-block;width:.9rem;height:.9rem;border:2px solid var(--rule);border-top-color:var(--red);border-radius:50%;vertical-align:-.15rem;margin-right:.5rem;animation:sp .8s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation:none}}
.err{border-left:5px solid var(--red);background:var(--mist);padding:1rem 1.1rem;margin:0 0 1.25rem}
.err p{margin:0 0 .6rem}
.paste{display:none;margin-top:.8rem}
.paste.on{display:block}
.paste .fine{border-top:0;margin:0 0 .3rem;padding-top:0}
.paste textarea{width:100%;min-height:9rem;padding:.8rem;font:inherit;border:2px solid var(--ink);border-radius:.25rem;margin:.4rem 0 .6rem}
section.blk{padding:1.5rem 0;border-top:3px solid var(--ink)}
section.blk h2{font:700 1.35rem/1.25 "Public Sans",sans-serif;margin:0 0 .9rem}
dl{display:grid;grid-template-columns:max-content 1fr;gap:.35rem 1.25rem;margin:0}
dt{color:var(--muted)}dd{margin:0}
.chip{display:inline-block;padding:.15rem .6rem;border-radius:1rem;font-size:.9rem;font-weight:500;background:#fff;border:1px solid var(--rule);margin:.8rem 0 0}
.chip.ok{border-color:var(--low);color:var(--low)}
.chip.warn{border-color:var(--mid);color:var(--mid)}
.score{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap}
.num{font:700 4.5rem/.9 "Public Sans",sans-serif}
.lbl{font:700 1.25rem/1.2 "Public Sans",sans-serif;padding-bottom:.35rem}
.meter{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:1rem 0 .4rem}
.meter span{height:.8rem;background:var(--rule)}
.ends{display:flex;justify-content:space-between;font-size:.9rem;color:var(--muted)}
.low{color:var(--low)}.mid{color:var(--mid)}.high{color:var(--high)}
.meter.low span.on{background:var(--low)}.meter.mid span.on{background:var(--mid)}.meter.high span.on{background:var(--high)}
.note{background:var(--mist);padding:.8rem 1rem;margin:1rem 0 0}
h3{font:700 1.05rem/1.3 "Public Sans",sans-serif;margin:1.4rem 0 .4rem}
p{margin:.4rem 0}
blockquote{margin:.8rem 0;padding:.1rem 0 .1rem 1rem;border-left:4px solid var(--red)}
blockquote p:first-child{font-style:italic}
ul{margin:.4rem 0;padding-left:1.2rem}
.btn.alt{background:#fff;color:var(--ink)}
.fbform{margin-top:1rem}.fbform label{display:block;font-weight:700;margin:.8rem 0 .3rem}
.fbform select,.fbform textarea{width:100%;max-width:26rem;padding:.6rem;font:inherit;border:2px solid var(--ink);border-radius:.25rem;background:#fff;color:var(--text)}
.fbbtns{display:flex;gap:1rem;flex-wrap:wrap;margin:1.4rem 0 0 .5rem}
.dupe{color:#fff;font-weight:700;margin:.8rem 0 0}.dupe:empty{display:none}
.limitnote{background:#fff;color:var(--text);border-left:5px solid var(--ink);padding:.8rem 1rem;margin:.9rem 0 0}.limitnote p{margin:0 0 .35rem}.limitnote p:last-child{margin:0;font-weight:700}.limitnote[hidden]{display:none}
.btn:disabled,#go:disabled{opacity:.55;cursor:not-allowed}
.search .btn.alt{padding:.9rem 1.2rem}
.sample{margin-top:1.5rem;max-width:34rem}
.sample h2{font:700 1.35rem/1.25 "Public Sans",sans-serif;margin:0 0 .3rem}
.sample .sub{color:var(--muted);margin:0 0 1rem}
.panel{background:#fff;border:2px solid var(--ink);padding:1rem 1.1rem .9rem;position:relative;font-size:.9rem;line-height:1.45}
.stitle{margin:.1rem 0 .7rem;font-weight:700;font-size:1rem;line-height:1.3}
.stamp{position:absolute;top:-.95rem;left:1rem;background:var(--ink);color:#fff;font:700 .85rem "Public Sans",sans-serif;padding:.2rem .7rem}
.sgrid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem 1.4rem;margin-top:.2rem}
.sgrid h3{margin:0 0 .5rem;font-size:1rem}
.span2{grid-column:1/-1}
blockquote.para p:first-child{font-style:normal;font-weight:500}
.sgrid .num{font-size:2.6rem}.sgrid .lbl{font-size:1rem}.sgrid .meter{margin:.6rem 0 0}.sgrid .meter span{height:.55rem}.sgrid .chip{margin-top:.5rem;font-size:.8rem}
.sgrid dl{font-size:.88rem;gap:.2rem 1rem}.sample h2{font-size:1.15rem}.sgrid h3{font-size:.9rem;margin:0 0 .3rem}.sgrid p{margin:.2rem 0}
.panel blockquote{margin:.4rem 0 .2rem}
.panel .fine{margin:1rem 0 0}
@media (max-width:40rem){.sgrid{grid-template-columns:1fr}}
.src{font-size:.85rem;color:var(--muted);margin:.25rem 0}
.fine{font-size:.9rem;color:var(--muted);margin-top:1.8rem;border-top:1px solid var(--rule);padding-top:1rem}
@media (max-width:30rem){dl{grid-template-columns:1fr}dt{margin-top:.5rem}.num{font-size:3.6rem}}
.fnote{color:var(--muted);font-size:.9rem;margin:0 0 1rem}
.fcard{padding:1.1rem 0;border-top:1px solid var(--rule)}
.fcard:first-of-type{border-top:0;padding-top:.2rem}
.fcard h3{margin:0;display:flex;gap:.6rem;align-items:baseline;flex-wrap:wrap}
.fcard h3 small{font:400 .85rem "Public Sans",sans-serif;color:var(--muted)}
.fown{font-size:.9rem;color:var(--muted);margin:.25rem 0 .5rem}
.fown .chip{margin:0 0 0 .4rem;font-size:.8rem}
ul.fitems{list-style:none;padding:0;margin:0}
.fitems li{display:flex;gap:.8rem;align-items:flex-start;justify-content:space-between;padding:.5rem 0;border-top:1px solid var(--rule)}
.fitems a{color:var(--text)}
.fitems .btn{padding:.35rem .8rem;font-size:.9rem;flex:none}
[hidden]{display:none!important}
.acct{position:absolute;top:.75rem;right:1rem;max-width:calc(100% - 2rem);display:flex;gap:.4rem .8rem;flex-wrap:wrap;justify-content:flex-end;align-items:center;margin:0;color:#fff;font-size:.9rem}
.acct p{margin:0;font-weight:500;display:flex;gap:.35rem;min-width:0}.acct #acct-who{max-width:13rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acct .btn{padding:.3rem .75rem;font-size:.85rem}
.band.signed{padding-top:3.4rem}
@media (max-width:40rem){.band.signed{padding-top:5.2rem}.acct{justify-content:flex-end}}
.authbox label,.delbox label{display:block;font-weight:700;margin:.8rem 0 .3rem}
.authbox input,.delbox input{width:100%;max-width:26rem;padding:.7rem .8rem;font:inherit;border:2px solid var(--ink);border-radius:.25rem;background:#fff;color:var(--text)}
.abtns{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.2rem}
.amsg{min-height:1.5rem;margin:.8rem 0 0;color:var(--high);font-weight:500}
.authbox .fine,.delbox .fine{border-top:0;margin:.4rem 0 0;padding-top:0}

.more{margin-top:.8rem;border-top:1px solid var(--rule);padding-top:.6rem}.more summary{cursor:pointer;font-weight:700}.more h3{font-size:.9rem;margin:.9rem 0 .3rem}.more p{margin:.3rem 0}
.linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--ink);text-decoration:underline;cursor:pointer}

.amsg.flash{animation:amsgflash .6s ease}
@keyframes amsgflash{0%{background:#f3c9cc}100%{background:transparent}}
@media (prefers-reduced-motion:reduce){.amsg.flash{animation:none}}

.libtabs{display:flex;gap:.5rem;margin:0 0 1rem;flex-wrap:wrap}
.libtabs .btn{padding:.35rem .9rem;font-size:.9rem}
.libtabs .btn[aria-pressed=true]{background:var(--text);color:#fff;border-color:var(--text)}
.libt{margin:.4rem 0 .2rem}.libt a{color:var(--text)}
#libmore{margin-top:1rem}

footer a{color:var(--muted)}footer a[aria-current=page]{color:var(--ink)}
@media (max-width:40rem){nav.tabs div{padding:0 .6rem}nav.tabs a{padding:.65rem .5rem;font-size:.9rem}}
