
body{font:15px/1.5 system-ui,sans-serif;margin:0;color:#1a1a1a;background:#fafafa}
header{background:#338a3a;color:#fff;padding:14px 22px}
header a{color:#fff;text-decoration:none}
main{max-width:880px;margin:0 auto;padding:22px}
h1{font-size:20px} h2{font-size:16px;margin-top:26px;border-bottom:1px solid #ddd}
a{color:#338a3a} ul{padding-left:18px} li{margin:3px 0}
:root{accent-color:#338a3a}
input:focus,select:focus,textarea:focus{outline:2px solid #338a3a;outline-offset:1px}
.meta{color:#666;font-size:13px}
pre{white-space:pre-wrap;background:#fff;border:1px solid #e3e3e3;padding:14px;
    border-radius:6px;overflow:auto}
.mgrid{display:flex;flex-wrap:wrap;gap:4px 16px;margin:4px 0 8px}
.mgrid a{text-decoration:none} .mgrid a.mgactive{font-weight:600;text-decoration:underline}
.mgrid span{color:#767676}
.mpanel{margin:0 0 16px;padding:6px 0 0;border-top:1px solid #e3e3e3} .mpanel ul{margin:6px 0}
.badge{display:inline-block;font-size:11px;padding:1px 7px;border-radius:10px;
    color:#fff;background:#888;margin-right:6px;vertical-align:1px}
.badge.github{background:#24292f} .badge.list{background:#338a3a}
.badge.inbox{background:#2e7d32}
.msg{background:#fff;border:1px solid #e3e3e3;border-radius:8px;padding:8px 20px 16px}
.tmsg{margin:14px 0}
.tmsg>summary{cursor:pointer;padding:4px 0;list-style:none}
.tmsg>summary::-webkit-details-marker{display:none}
/* one fold arrow everywhere: thread-page summaries and .sline toggles */
.tmsg>summary::before,.xpand::before{content:'\25B8\00A0';color:#338a3a;
    font-size:18px;vertical-align:-2px}
.tmsg[open]>summary::before,.xpand.thopen::before{content:'\25BE\00A0'}
/* same box for both body types (plain text .pt and HTML .md) */
.tmsg .pt,.tmsg .md{background:#fff;border:1px solid #e3e3e3;
    border-radius:6px;padding:12px 14px;margin-top:4px}
.plink{text-decoration:none;color:#338a3a;font-size:15px;vertical-align:-1px}
.plink:hover{color:#1b5e20}
.copytext{font:inherit;font-size:12px;color:#338a3a;background:#eef5ee;
    border:1px solid #cfe0cf;border-radius:4px;padding:0 6px;cursor:pointer}
.copytext:hover{background:#dcebdc}
.tmsg[open]>summary{border-bottom:1px solid #eee;margin-bottom:8px}
.msg h1{margin-top:10px}
.msg>.pt,.msg>.md{border:0;border-radius:0;padding:0}
.pt pre{white-space:pre-wrap;background:transparent;border:0;border-radius:0;
    padding:0;margin:0;overflow:auto}
.pt blockquote{margin:6px 0 6px 6px;padding-left:7px;
    border-left:2px solid #ccc;color:#555}
.pt,.md{background:#fff;border:1px solid #e3e3e3;padding:14px;border-radius:6px}
.md pre{background:#f6f8fa} .md img{max-width:100%}
/* one rhythm everywhere: blocks have no margin, so spacing comes only from
   line-height and the single <br> blank lines kept by the sanitizer */
.md p,.md div,.md table{margin:0}
.md blockquote{margin:6px 0 6px 6px;padding-left:7px;
    border-left:2px solid #ddd;color:#555}
ul.thread,ul.thread ul{list-style:none;padding-left:15px;
    border-left:1px solid #e8e8e8;margin:2px 0}
ul.thread li{margin:4px 0}
.att{margin:14px 0;padding:10px 14px;background:#fff7e6;
    border:1px solid #f0d9a8;border-radius:6px}
.att ul{margin:6px 0 0} .att li{margin:3px 0}
.att img{display:block;max-width:100%;max-height:260px;background:#fff;
    border:1px solid #e3e3e3;border-radius:4px;margin:2px 0 1px}
.hsearch{float:right;font-size:13px;opacity:.85}
.clip{font-size:12px;opacity:.75;cursor:default}
pre a{color:#338a3a}
#q{width:100%;padding:9px 11px;font-size:15px;box-sizing:border-box;
    border:1px solid #ccc;border-radius:6px}
#res{list-style:none;padding:0} #res>li{margin:0;padding:7px 2px;border-bottom:1px solid #eee}
.sline{display:flex;align-items:baseline;gap:6px;font-size:14px}
.tsub{font-weight:600;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sline .meta{color:#666;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plinks{margin-left:auto;flex:none;display:flex;gap:10px;white-space:nowrap}
.plink{font-size:14px;text-decoration:none;opacity:.65}
.plink:hover{opacity:1}
.sprev{margin:3px 0 0 1.3em}
.pline{color:#555;font-size:13px;margin:1px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pline mark,.thmsgs mark{background:#fff3b0;color:#1a1a1a;border-radius:2px;padding:0 1px}
.hero{text-align:center;padding:42px 22px 34px;margin:-22px -22px 22px;
    background:radial-gradient(120% 140% at 50% 0,#4caf50 0,#338a3a 45%,#1b5e20 100%);
    color:#fff;box-shadow:inset 0 -1px 0 rgba(255,255,255,.08)}
.hero h1{font-size:34px;margin:0;font-weight:700;letter-spacing:.2px;
    text-shadow:0 1px 2px rgba(0,0,0,.25)}
.hero .tag{font-size:16px;opacity:.92;margin:10px 0 0;font-weight:300}
.hero .meta{color:#c8e6c9;font-size:12.5px;margin:14px 0 0;letter-spacing:.3px}
.hero .meta b{color:#fff;font-weight:600}
.altlinks{text-align:center;font-size:13px;color:#666;margin:6px 0 18px}
.bars{margin:0}
.bar{display:grid;grid-template-columns:46px 1fr 60px;align-items:center;
    gap:9px;font-size:13px;margin:3px 0}
.bar .byr{color:#338a3a;text-decoration:none} .bar .bc{color:#666;text-align:right}
.ubar{display:grid;grid-template-columns:175px 1fr 56px;align-items:center;
    gap:9px;font-size:13px;margin:3px 0}
.ubar .un{color:#338a3a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ubar .bc{color:#666;text-align:right}
.stath{font-size:15px;font-weight:600;margin:22px 0 8px}
.bars .stath:first-child{margin-top:0}
.btrack{background:#e9f1e9;border-radius:3px}
.bbar{display:block;height:11px;background:#338a3a;border-radius:3px;min-width:2px}
.recent{margin:0;padding-left:2px;list-style:none}
.recent li{margin:6px 0}
.tbtn{font:inherit;color:#338a3a;background:#e9f1e9;border:1px solid #cfe0cf;
    border-radius:5px;padding:6px 14px;cursor:pointer}
.tbtn:hover{background:#dcebdc}
.xpand{cursor:pointer}    /* expand-in-place toggle (search/threads/archive) */
.mlist{list-style:none;padding-left:2px}      /* archive flat lists: no bullets */
.mlist li{margin:4px 0}
.thmsgs{margin:4px 0 10px 6px;padding-left:16px;border-left:2px solid #d9e6d9;
    list-style:none}    /* expanded thread: indent + rail to show nesting */
.thmsgs li{margin:2px 0}
.thmsgs .msg h1{font-size:15px;margin:0 0 6px}   /* thread name atop an expanded message */
/* quoted text in a message body: folded by default (the parent is shown above
   in the thread, so quotes are duplication); click to expand. */
details.q{margin:6px 0}
details.q>summary{cursor:pointer;color:#338a3a;font-size:13px;list-style:none}
details.q>summary::-webkit-details-marker{display:none}
/* arrow only (no "quoted text" label); real char -> never the browser default */
details.q>summary .ar{display:inline-block;font-size:18px;line-height:1;
    vertical-align:-2px;transition:transform .12s}
details.q[open]>summary .ar{transform:rotate(90deg)}
details.q>blockquote,details.q>.md-q{margin-top:4px}
