:root{--ink:#0A0A0A;--paper:#fff;--grey:#6B6B6B;--soft:#F5F5F5;--hair:#E3E3E3;--blue:#1F4BFF;--w:880px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.5 'Geist',system-ui,sans-serif;text-align:center}
a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
h1,h2{font-family:'Instrument Serif',Georgia,serif;font-weight:400;letter-spacing:-.01em;margin:0}
h1{font-size:clamp(2.2rem,8vw,3.4rem);line-height:1.05}
h2{font-size:1.7rem;line-height:1.15}
.mono,.m{font-family:'Geist Mono',ui-monospace,monospace}
.mark{font-family:'Geist Mono',monospace;font-size:.95rem;margin:0;display:inline-flex;align-items:center;gap:.5rem;letter-spacing:.02em}
.dot{width:9px;height:9px;border-radius:50%;background:var(--blue);display:inline-block}
.top{padding:1.1rem 1rem .8rem;border-bottom:1px solid var(--hair)}
.top nav{margin-top:.6rem;display:flex;justify-content:center;gap:1.4rem;flex-wrap:wrap}
.top nav a{color:var(--grey);font-size:.95rem;padding:.2rem 0;border-bottom:1px solid transparent}
.top nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--ink)}
.top nav a:hover{text-decoration:none;color:var(--ink)}
main{max-width:var(--w);margin:0 auto;padding:0 1rem 3rem}
.block{padding:2.4rem 0 1rem}
.hero{padding-top:2.6rem}
.sub{color:var(--grey);margin:.6rem auto 0;max-width:46ch}
.fine{color:var(--grey);font-size:.82rem;margin:.4rem auto;max-width:60ch}
section.sec{margin-top:2.6rem;padding-top:2rem;border-top:1px solid var(--hair)}
section.sec>h2{margin-bottom:.4rem}
section.sec>.note{color:var(--grey);font-size:.9rem;margin:0 auto 1.2rem;max-width:56ch}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:1px solid var(--hair);margin-top:1.6rem}
.stat{padding:1.1rem .6rem;border-right:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.stat:nth-child(2n){border-right:0}
.stat .n{font:400 2.2rem/1 'Instrument Serif',serif}
.stat .l{font:400 .72rem/1.3 'Geist Mono',monospace;color:var(--grey);text-transform:uppercase;letter-spacing:.08em;margin-top:.4rem}
.stat .d{font-size:.8rem;color:var(--grey);margin-top:.2rem}
.stat.hot .n{color:var(--blue)}
@media(min-width:720px){.stats{grid-template-columns:repeat(3,1fr)}.stat:nth-child(2n){border-right:1px solid var(--hair)}.stat:nth-child(3n){border-right:0}}
.cards{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:720px){.cards.two{grid-template-columns:1fr 1fr}}
.card{border:1px solid var(--hair);padding:1.1rem 1rem;text-align:center}
.card h3{font:500 .8rem 'Geist Mono',monospace;text-transform:uppercase;letter-spacing:.08em;margin:0 0 .5rem;color:var(--grey)}
.card .big{font:400 1.6rem 'Instrument Serif',serif}
.card .row{font-size:.9rem;color:var(--grey);margin-top:.15rem}
.pill{display:inline-flex;align-items:center;gap:.4rem;font:500 .78rem 'Geist Mono',monospace;border:1px solid var(--ink);padding:.12rem .55rem;border-radius:99px}
.pill i{width:7px;height:7px;border-radius:50%;background:var(--blue);display:inline-block}
.pill.bad{background:var(--ink);color:var(--paper)}.pill.bad i{background:var(--paper)}
.pill.idle{border-color:var(--hair);color:var(--grey)}.pill.idle i{background:var(--grey)}
.list{list-style:none;margin:0;padding:0;border-top:1px solid var(--hair)}
.list li{padding:.85rem .2rem;border-bottom:1px solid var(--hair)}
.list .t{display:flex;justify-content:center;flex-wrap:wrap;gap:.35rem .8rem;align-items:baseline}
.list .name{font:500 .92rem 'Geist Mono',monospace}
.list .meta{font:400 .78rem 'Geist Mono',monospace;color:var(--grey)}
.list .txt{margin:.3rem auto 0;max-width:68ch;font-size:.95rem}
.list .txt.g{color:var(--grey)}
.empty{color:var(--grey);padding:1rem 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);margin:0}
.more{margin-top:1rem;font-size:.95rem}
.tbl{width:100%;border-collapse:collapse;font-size:.9rem;margin-top:.4rem}
.tbl td{padding:.55rem .3rem;border-bottom:1px solid var(--hair);text-align:center}
.tbl td:first-child{color:var(--grey);font:400 .78rem 'Geist Mono',monospace;text-transform:uppercase;letter-spacing:.06em}
.bar{height:3px;background:var(--hair);margin:.5rem auto 0;max-width:120px}.bar b{display:block;height:100%;background:var(--blue)}
.foot{border-top:1px solid var(--hair);padding:1.4rem 1rem 2.4rem}
button.link{background:none;border:0;color:var(--grey);font:inherit;font-size:.85rem;text-decoration:underline;cursor:pointer;padding:.5rem}
/* login */
body.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.2rem;background:var(--soft)}
.login-card{width:100%;max-width:400px;background:var(--paper);border:1px solid var(--hair);padding:2rem 1.4rem 1.6rem}
.login-card h1{margin-top:1rem;font-size:2.4rem}
.login-card form{margin-top:1.4rem;text-align:left}
.login-card label{display:block;font:500 .72rem 'Geist Mono',monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--grey);margin:1rem 0 .3rem}
.login-card input{width:100%;font:400 1rem 'Geist',sans-serif;padding:.75rem .8rem;border:1px solid #C9C9C9;border-radius:0;background:var(--paper);color:var(--ink)}
.login-card input.mono{font-family:'Geist Mono',monospace;letter-spacing:.2em}
.login-card input:focus{outline:2px solid var(--blue);outline-offset:-1px;border-color:var(--blue)}
.cf-turnstile{margin:1.2rem 0 .2rem;min-height:65px}
.login-card button[type=submit]{width:100%;margin-top:1rem;padding:.9rem;background:var(--ink);color:var(--paper);border:0;font:500 1rem 'Geist',sans-serif;cursor:pointer}
.login-card button[type=submit]:hover{background:var(--blue)}
.err{background:var(--ink);color:var(--paper);padding:.6rem .8rem;margin:1rem 0 0;font-size:.9rem}
@media(prefers-reduced-motion:no-preference){.pill,.stat{transition:background .2s}}
.pill{max-width:100%;white-space:normal;text-align:left}
.list .txt,.list .name,.list .meta{overflow-wrap:anywhere;min-width:0}
