/* rawsocket.cloud - serial-bench mailing-list archive. Monospace, flat, no cards. */
:root{
  --bg:#f3f1ea; --panel:#faf9f4; --ink:#1c1a16; --dim:#5d574c; --faint:#857d6f;
  --rule:#d4cdbd; --hair:#e4ded0; --link:#1f3c7a; --vis:#5b3a84; --warn:#a2371a;
  --ok:#2f6b34; --kw:#7a521a; --quote:#efe9db;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font:14px/1.6 ui-monospace,"SFMono-Regular",Menlo,Consolas,"DejaVu Sans Mono",monospace;
  padding:0;
}
.page{max-width:47rem;margin:0 auto;padding:0 1rem 3rem}
a{color:var(--link);text-decoration:underline;text-underline-offset:2px}
a:visited{color:var(--vis)}
a:hover{background:#fff6d8}

/* list masthead - fixed-width banner, like a pipermail header */
.listmast{border-bottom:1px solid var(--ink);margin:0 0 .2rem;padding:.8rem 0 .55rem}
.mastline{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}
.listname{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--ink);text-decoration:none}
.listname:hover{background:none;color:var(--warn)}
.listname::before{content:"["}
.listname::after{content:"]"}
.masttag{color:var(--dim);font-size:.82rem}
.listnav{margin-top:.5rem;font-size:.82rem;line-height:1.9;color:var(--faint)}
.listnav a{color:var(--link);text-decoration:none;white-space:nowrap}
.listnav a:hover{text-decoration:underline;background:none}
.listnav .here{color:var(--ink);font-weight:700;background:var(--quote);padding:0 .25rem}
.listnav .sep{color:var(--rule)}

/* banners / notices */
.notice{border:1px solid var(--rule);border-left:4px solid var(--warn);background:var(--panel);
  padding:.65rem .8rem;margin:1.1rem 0;font-size:.86rem;color:#3a342b}
.notice b{color:var(--warn)}
.crumb{color:var(--faint);font-size:.8rem;margin:.7rem 0 .2rem}
.crumb a{color:var(--dim)}

/* headings */
h1{font:700 1.3rem/1.3 ui-monospace,Menlo,Consolas,monospace;margin:1.1rem 0 .5rem;letter-spacing:-.01em}
h2{font:700 1.02rem/1.35 ui-monospace,Menlo,Consolas,monospace;margin:1.9rem 0 .5rem;
  border-bottom:1px dotted var(--rule);padding-bottom:.2rem}
h3{font:700 .9rem/1.35 ui-monospace,Menlo,Consolas,monospace;margin:1.5rem 0 .4rem;color:var(--kw);
  text-transform:uppercase;letter-spacing:.06em}
h4{font:700 .96rem/1.35 ui-monospace,Menlo,Consolas,monospace;margin:0 0 .15rem}
p{margin:0 0 .85rem}
.lede{font-size:.98rem;color:#302b23;border-left:2px solid var(--rule);padding-left:.75rem}
.meta{color:var(--dim);font-size:.8rem}
.tag{display:inline-block;border:1px solid var(--rule);background:var(--quote);
  padding:0 .35rem;font-size:.72rem;color:var(--kw);border-radius:0}
hr{border:0;border-top:1px solid var(--rule);margin:1.6rem 0}
hr.dash{border-top:1px dashed var(--rule)}

/* RFC-822 message header block */
.msghdr{background:var(--panel);border:1px solid var(--rule);padding:.6rem .8rem;margin:.6rem 0 1.1rem;
  font-size:.82rem;line-height:1.75;overflow-x:auto}
.msghdr dl{display:grid;grid-template-columns:max-content 1fr;gap:0 .8rem;margin:0}
.msghdr dt{color:var(--kw);white-space:nowrap}
.msghdr dd{margin:0;color:var(--ink);word-break:break-word}
.msghdr dd a{color:var(--link)}
.mnav{display:flex;flex-wrap:wrap;gap:.3rem 1.1rem;font-size:.8rem;margin:.1rem 0 1rem;color:var(--faint)}
.mnav a{color:var(--link);text-decoration:none}
.mnav a:hover{text-decoration:underline;background:none}
.mnav b{color:var(--ink)}

/* index listings (date / thread / subject) */
.idxnav{font-size:.84rem;margin:.3rem 0 1rem;color:var(--faint)}
.idxnav a{color:var(--link);text-decoration:none;margin-right:.3rem}
.idxnav a:hover{text-decoration:underline;background:none}
.idxnav .on{color:var(--ink);font-weight:700;background:var(--quote);padding:0 .3rem}
ol.idx,ul.idx{list-style:none;margin:.6rem 0 1.4rem;padding:0}
ol.idx li,ul.idx li{padding:.18rem 0;border-bottom:1px solid var(--hair);display:flex;gap:.6rem;align-items:baseline;flex-wrap:wrap}
.idxnum{color:var(--faint);min-width:2.1rem;text-align:right;font-size:.8rem}
.idxdate{color:var(--dim);font-size:.78rem;white-space:nowrap}
.idxbus{color:var(--kw);font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;min-width:4.2rem}
.idxsubj{flex:1 1 16rem}
.idxsubj a{text-decoration:none}
.idxsubj a:hover{text-decoration:underline}
.thread{margin:.3rem 0 1.5rem}
.thread .troot{font-weight:700;margin:.9rem 0 .15rem;color:var(--kw)}
.thread ul{list-style:none;margin:0 0 .4rem;padding:0}
.thread li{padding:.12rem 0}
.thread li.reply{padding-left:1.6rem;position:relative}
.thread li.reply::before{content:"\\\\_";position:absolute;left:.3rem;color:var(--faint)}

/* search */
.searchbox{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin:1rem 0 .4rem;
  border:1px solid var(--rule);background:var(--panel);padding:.5rem .7rem}
.searchbox label{font-size:.78rem;color:var(--kw);text-transform:uppercase;letter-spacing:.06em}
.searchbox input{flex:1 1 15rem;font:14px/1.5 ui-monospace,Menlo,Consolas,monospace;color:var(--ink);
  background:#fff;border:1px solid var(--rule);padding:.4rem .5rem}
.searchbox input:focus{outline:2px solid var(--link);outline-offset:0}
.count{font-size:.78rem;color:var(--faint)}
#results .entry{padding:.6rem 0;border-top:1px solid var(--hair)}
#results .entry:first-child{border-top:0}
#results .entry h4{font-weight:700}
#results .entry h4 a{text-decoration:none}
#results .entry h4 a:hover{text-decoration:underline}
#results .entry p{margin:.15rem 0 0;font-size:.86rem;color:#403a31}
#results .entry .meta{margin-bottom:.15rem}

/* figures / svg */
figure{margin:1.4rem 0;padding:0}
figure svg{display:block;width:100%;height:auto;background:#fff;border:1px solid var(--rule)}
figcaption{font-size:.79rem;color:var(--dim);margin-top:.4rem}

/* tables */
table{width:100%;border-collapse:collapse;margin:1.2rem 0;font-size:.82rem}
caption{caption-side:top;text-align:left;font-size:.79rem;color:var(--dim);padding-bottom:.35rem}
th,td{border-bottom:1px solid var(--hair);padding:.32rem .5rem;text-align:right}
th:first-child,td:first-child{text-align:left}
thead th{border-bottom:1px solid var(--ink);color:var(--ink);background:var(--quote)}
td.bad{color:var(--warn);font-weight:700}

/* prose bits */
.note{border:1px solid var(--rule);border-left:4px solid var(--kw);background:var(--panel);
  padding:.65rem .8rem;margin:1.3rem 0;font-size:.9rem}
.note p:last-child{margin:0}
pre{background:#211e18;color:#ece6d8;padding:.75rem .85rem;overflow-x:auto;
  font:13px/1.55 ui-monospace,Menlo,Consolas,monospace;border:1px solid #000}
code{font-family:ui-monospace,Menlo,Consolas,monospace;background:var(--quote);padding:0 .25rem;font-size:.9em}
pre code{background:0;padding:0;color:inherit}
ul,ol{margin:0 0 .9rem;padding-left:1.5rem}
li{margin:.25rem 0}
dl.defs{margin:1rem 0}
dl.defs dt{font-weight:700;color:var(--kw);margin-top:.8rem}
dl.defs dd{margin:.15rem 0 0}
.nextprev{display:flex;gap:1.2rem;flex-wrap:wrap;margin:1.8rem 0 0;font-size:.85rem}

/* client-side forms (login) - decorative, nothing leaves the browser */
.loginbox{border:1px solid var(--rule);background:var(--panel);padding:1rem 1.1rem;margin:1.2rem 0;max-width:26rem}
.loginbox .fld{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.8rem}
.loginbox label{font-size:.78rem;color:var(--kw);text-transform:uppercase;letter-spacing:.05em}
.loginbox input{font:14px/1.5 ui-monospace,Menlo,Consolas,monospace;color:var(--ink);
  background:#fff;border:1px solid var(--rule);padding:.45rem .55rem}
.loginbox input:focus{outline:2px solid var(--link);outline-offset:0}
.loginbox button{font:700 13px/1 ui-monospace,Menlo,Consolas,monospace;cursor:pointer;
  background:var(--ink);color:var(--bg);border:1px solid var(--ink);padding:.55rem 1rem}
.loginbox button:hover{background:#000}
.formout{font-size:.84rem;padding:.55rem .7rem;margin-top:.2rem;border-left:3px solid var(--rule);
  background:#fff;white-space:normal}
.formout.ok{border-left-color:var(--ok);color:var(--ok)}
.formout.warn{border-left-color:var(--warn);color:var(--warn)}

/* calculators (tools) */
.calc{margin:1.1rem 0;padding:.8rem .9rem;background:var(--panel);border:1px solid var(--rule)}
.calc .row{display:flex;flex-wrap:wrap;gap:.7rem .9rem;margin-bottom:.75rem}
.calc label{display:flex;flex-direction:column;gap:.25rem;font-size:.74rem;color:var(--kw);
  text-transform:uppercase;letter-spacing:.04em}
.calc input,.calc select{font:14px/1.3 ui-monospace,Menlo,Consolas,monospace;color:var(--ink);
  background:#fff;border:1px solid var(--rule);padding:.38rem .45rem;min-width:7rem}
.calc input:focus,.calc select:focus{outline:2px solid var(--link);outline-offset:0}
.out{display:block;font-size:.84rem;padding:.55rem .65rem;border-left:3px solid var(--rule);
  background:#fff;color:var(--ink);white-space:normal}
.out.ok{border-left-color:var(--ok)}
.out.warn{border-left-color:var(--kw)}
.out.bad{border-left-color:var(--warn);color:var(--warn);font-weight:700}
details.fallback{margin:.9rem 0 0;font-size:.88rem}
details.fallback summary{cursor:pointer;font-size:.78rem;color:var(--dim);text-transform:uppercase;letter-spacing:.05em}
details.fallback[open] summary{margin-bottom:.5rem}

/* footer - dense archive index */
footer{margin:2.6rem 0 0;border-top:1px solid var(--ink);padding-top:.9rem;font-size:.78rem;color:var(--dim)}
footer a{color:var(--link);text-decoration:none}
footer a:hover{text-decoration:underline;background:none}
footer .ftcols{display:flex;flex-wrap:wrap;gap:1.4rem 2.2rem;margin:.3rem 0 1rem}
footer .ftcol h5{margin:0 0 .35rem;font-size:.74rem;color:var(--kw);text-transform:uppercase;letter-spacing:.06em;font-weight:700}
footer .ftcol ul{list-style:none;margin:0;padding:0;line-height:1.85}
footer .ftcol li{margin:0}
footer .gen{color:var(--faint);font-size:.74rem;border-top:1px dotted var(--rule);padding-top:.6rem}

@media (max-width:420px){
  body{font-size:13px}
  .page{padding:0 .7rem 2.4rem}
  h1{font-size:1.12rem}
  table{font-size:.74rem}
  th,td{padding:.28rem .3rem}
  .msghdr dl{grid-template-columns:1fr}
  .msghdr dt{margin-top:.3rem}
}
@media (prefers-color-scheme:dark){
  :root{--bg:#16150f;--panel:#1d1b14;--ink:#e6e1d2;--dim:#a39a86;--faint:#857c69;
    --rule:#3a362b;--hair:#2a271f;--link:#7fa8e6;--vis:#b89be0;--warn:#e38a5f;
    --ok:#73c27a;--kw:#cda95f;--quote:#272319}
  a:hover{background:#2e2817}
  figure svg{background:#f4f1ea}
  thead th{background:#272319}
  pre{background:#0e0d0a;border-color:#000}
  .loginbox input,.calc input,.calc select,.searchbox input,.out,.formout{background:#0f0e0a}
  .loginbox button{background:var(--ink);color:var(--bg)}
}
