/* Forum archive – colours/fonts follow www.intakt.info */
@font-face { font-family:"Fira Sans"; font-style:normal; font-weight:400; font-display:swap; src:url(/assets/fira-sans-regular.woff2) format("woff2"); }
@font-face { font-family:"Fira Sans"; font-style:normal; font-weight:500; font-display:swap; src:url(/assets/fira-sans-500.woff2) format("woff2"); }
@font-face { font-family:"Fira Sans"; font-style:normal; font-weight:600; font-display:swap; src:url(/assets/fira-sans-600.woff2) format("woff2"); }
:root { --fg:#555; --muted:#888; --bg:#fff; --line:#e3e3e3; --green:#33842a; --green2:#3fa535; --lime:#95c11f; --soft:#ddf4db; --soft2:#f3faf2; }
* { box-sizing:border-box; }
body { margin:0; font:16px/1.6 "Fira Sans", system-ui, sans-serif; color:var(--fg); background:var(--bg); }
a { color:var(--green); text-decoration:none; }
a:hover { color:var(--green2); }
a:focus-visible { outline:2px solid var(--green2); outline-offset:2px; }
svg.icon { width:20px; height:20px; vertical-align:-4px; }
.wrap { max-width:64rem; margin:0 auto; padding:0 1rem; }

/* header */
header.site .head { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; padding-top:.8rem; padding-bottom:.8rem; }
.logo img { display:block; height:60px; width:auto; }
form.search { display:flex; gap:.4rem; }
form.search input { font:inherit; padding:.4rem .6rem; border:1px solid #ccc; border-radius:4px; min-width:14rem; }
form.search button, button.more { font:inherit; padding:.4rem .9rem; border:0; border-radius:4px; background:var(--green); color:#fff; cursor:pointer; }
form.search button:hover, button.more:hover { background:var(--green2); }
form.search.big input { flex:1; font-size:1.1rem; }
.bar { background:var(--green); color:#fff; font-size:.9rem; padding:.45rem 0; }
.bar a { color:#fff; font-weight:600; }

/* content */
main { min-height:50vh; padding-bottom:2rem; }
h1 { color:var(--green); font-weight:600; font-size:1.6rem; line-height:1.3; margin:1.2rem 0 .6rem; overflow-wrap:anywhere; }
h2 { color:var(--green2); font-weight:600; font-size:1.25rem; margin:1.6rem 0 .4rem; }
h2 a { color:inherit; text-decoration:none; }
.breadcrumbs ol { list-style:none; padding:0; margin:1rem 0 0; font-size:.9rem; }
.breadcrumbs li { display:inline; }
.breadcrumbs li + li::before { content:" › "; color:var(--muted); }
table.list { width:100%; border-collapse:collapse; margin:.6rem 0 1rem; }
table.list th { text-align:left; font-size:.8rem; text-transform:uppercase; letter-spacing:.03em; color:var(--muted); border-bottom:2px solid var(--soft); padding:.4rem; }
table.list td { border-bottom:1px solid var(--line); padding:.55rem .4rem; vertical-align:top; overflow-wrap:anywhere; }
table.list tr:hover td { background:var(--soft2); }
td.num { text-align:right; width:6rem; } td.date { width:11rem; font-size:.9rem; }
td.avatar-cell { width:3.4rem; }
.title { font-weight:600; } .desc, .meta, .sub { font-size:.85rem; color:var(--muted); }
.moved, .type { color:var(--muted); font-weight:400; }
.pager { margin:1rem 0; } .pager a, .pager span { display:inline-block; padding:.15rem .55rem; border-radius:4px; }
.pager a { text-decoration:none; border:1px solid var(--line); }
.pager .current { font-weight:600; background:var(--green); color:#fff; }
.tags { font-size:.9rem; }
a.tag { display:inline-block; background:var(--soft); color:var(--green); padding:.05rem .5rem; border-radius:3px; text-decoration:none; margin:0 .2rem .2rem 0; }

/* posts */
img.avatar { width:48px; height:48px; object-fit:cover; border-radius:6px; background:var(--soft); vertical-align:middle; }
img.avatar.small { width:28px; height:28px; border-radius:4px; margin-right:.4rem; }
.post { border:1px solid var(--line); border-radius:6px; margin:1rem 0; }
.post > header { background:var(--soft2); border-bottom:1px solid var(--line); padding:.5rem .8rem; display:flex; align-items:center; gap:.8rem; flex-wrap:wrap; font-size:.9rem; }
.post .author { font-weight:600; color:#444; } .post .date { color:var(--muted); text-decoration:none; } .post .no { margin-left:auto; color:var(--muted); }
.content { padding:.8rem 1rem; overflow-wrap:anywhere; }
.comments { margin:0 1rem 1rem 3rem; border-left:3px solid var(--soft); }
.comment { padding:.5rem .8rem; font-size:.95rem; } .comment .content { padding:.3rem 0 0; }
.hint { background:var(--soft); padding:.5rem .8rem; border-radius:4px; }
blockquote.quote { margin:.6rem 0; padding:.5rem .8rem; border-left:4px solid var(--lime); background:var(--soft2); }
.quote-by { font-size:.85rem; color:var(--muted); font-weight:600; margin-bottom:.2rem; }
.al-center { text-align:center; } .al-right { text-align:right; } .indent { margin-left:2rem; }
img.smilie { vertical-align:middle; max-height:2.5em; }
.content img { max-width:100%; height:auto; }
.table-wrap { overflow-x:auto; } table.bb { border-collapse:collapse; } table.bb td { border:1px solid var(--line); padding:.3rem .5rem; vertical-align:top; }
pre.code { background:var(--soft2); padding:.6rem; overflow-x:auto; white-space:pre-wrap; }
.mention { font-weight:600; } .content h3, .content h4, .content h5, .content h6 { margin:.6rem 0 .3rem; color:#444; }

/* search results */
ol.results { padding-left:1.4rem; } ol.results li { margin:.6rem 0; }

/* footer (like www.intakt.info) */
footer.site { background:var(--soft); border-top:1px solid #3fa534; padding:0 0 2.5rem; margin-top:2rem; font-size:1rem; color:#666; }
footer.site .cols { display:flex; flex-wrap:wrap; }
footer.site .col { flex:1 1 16rem; margin-top:2.5rem; padding:0 2.5rem; border-left:1px solid #e5e5e5; }
footer.site .col.org { flex:0 0 auto; margin-top:0; padding:0 2.5rem 0 0; border-left:0; }
footer.site .col.org img { width:134px; height:auto; display:block; }
footer.site h4 { color:var(--green2); font-weight:500; font-size:1.25rem; margin:0 0 1.25rem; border-bottom:1px solid #3fa535; }
footer.site ul + h4 { margin-top:1.5rem; }
footer.site p { margin:0 0 1.25rem; }
footer.site ul { list-style:none; padding:0; margin:0; }
footer.site li { margin:.5rem 0; }
footer.site li svg.icon { color:#666; }

@media (max-width: 40rem) {
  form.search { width:100%; } form.search input { min-width:0; flex:1; }
  td.num, td.date { width:auto; }
  table.channels td:nth-child(4), table.channels th:nth-child(4), table.topics td:nth-child(4), table.topics th:nth-child(4) { display:none; }
  td.avatar-cell, table.topics th:first-child { display:none; }
  .comments { margin-left:1rem; }
  footer.site .col { flex-basis:100%; padding:0; border-left:0; }
  footer.site .col.org { padding:0; }
}
form.search.big { flex-wrap:wrap; margin:.5rem 0; }
form.search.big select { font:inherit; padding:.4rem; border:1px solid #ccc; border-radius:4px; background:#fff; color:inherit; max-width:100%; }
ol.results .excerpt { margin:.15rem 0; font-size:.92rem; }
/* tags */
.tags { display:inline; } .tags.small { display:block; margin-top:.2rem; } .tags.small a.tag { font-size:.78rem; padding:0 .4rem; }
.tagline { margin:.3rem 0 .8rem; }
.tagcloud { line-height:2.1; margin:.5rem 0 1rem; }
.tagcloud a.tag span { color:var(--muted); font-size:.8em; }
.tagcloud a.tag.w2 { font-size:1.1rem; } .tagcloud a.tag.w3 { font-size:1.3rem; font-weight:500; }
/* attachments */
.attachments { margin-top:1rem; border-top:1px dashed var(--line); padding-top:.6rem; }
.att-head { font-size:.85rem; color:var(--muted); font-weight:600; margin-bottom:.4rem; }
.att-grid { display:flex; flex-wrap:wrap; gap:.5rem; }
a.att-img { display:inline-block; line-height:0; border:1px solid var(--line); border-radius:4px; padding:2px; background:#fff; }
a.att-img img { max-width:320px; max-height:240px; width:auto; height:auto; border-radius:2px; }
ul.att-list { list-style:none; padding:0; margin:.3rem 0 0; } ul.att-list li { margin:.2rem 0; }
a.att-file::before { content:"📎 "; }
.attach.missing { color:var(--muted); font-style:italic; }
