/*
Theme Name: CRT Exchange Forum
Theme URI: https://example.com/crt-exchange
Author: Built for the site owner
Description: Dense, text-first bulletin-board theme. Classic PHP templates, one stylesheet, no webfonts, ~0.4kb of deferred JS. Ships its own forum member accounts, fully separate from WordPress users.
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 8.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: crt
*/

:root{
  --bg:#dedbd4; --panel:#fbfaf7; --alt:#f4f2ec; --bar:#e9e6df; --sub:#d3cfc6;
  --line:#a8a49b; --rule:#d8d5ce; --hair:#e2dfd8; --soft:#cbc7be;
  --ink:#1b1d21; --ink2:#22242a; --dim:#4a4741; --mute:#6d6a63; --faint:#7b7871;
  --link:#1f4f8f; --hover:#b3541e; --gold:#8a6a1f; --good:#3d6b34; --bad:#8a3320;
  --mono:ui-monospace,Menlo,Consolas,"DejaVu Sans Mono",monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:13px/1.5 Verdana,Geneva,Tahoma,sans-serif}
a{color:var(--link);text-decoration:none}
a:hover{color:var(--hover);text-decoration:underline}
h1,h2,h3{margin:0;letter-spacing:-.01em}
img{max-width:100%;height:auto}
.wrap{width:100%;padding:14px 12px 60px}
.panel{border:1px solid var(--line);background:var(--panel);margin-bottom:18px}

.topbar{background:var(--bar);border-bottom:1px solid var(--line);padding:0 10px;min-height:34px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.brand{font-size:16px;font-weight:bold;color:var(--ink2);letter-spacing:-.02em}
.brand:hover{text-decoration:none;color:var(--ink2)}
.brand b{color:var(--gold)}
.nav{display:flex;gap:12px;flex-wrap:wrap;font-size:12px}
.userbar{background:var(--alt);border-bottom:1px solid var(--soft);padding:5px 10px;font-size:12px;color:var(--dim);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.crumb{padding:6px 10px;background:var(--alt);border-bottom:1px solid var(--soft);font-size:12px;color:var(--dim)}
.toolbar{padding:7px 10px;background:var(--alt);border-bottom:1px solid var(--soft);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px}
.stats{display:flex;flex-wrap:wrap;gap:18px;padding:8px 10px;background:var(--alt);border-top:1px solid var(--soft);font-size:12px;color:var(--dim)}
.credit{padding:6px 10px;background:var(--bar);color:var(--mute);font:11px/1.4 var(--mono);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}

table.grid{width:100%;border-collapse:collapse;font-size:13px}
table.grid th.cat{padding:6px 10px;background:var(--sub);color:#2b2d31;font-size:12px;text-align:left;text-transform:uppercase;letter-spacing:.08em;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
table.grid th{padding:6px 10px;background:var(--sub);color:#2b2d31;font-size:12px;text-align:left;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--line)}
table.grid td{padding:7px 10px;border-bottom:1px solid var(--rule);vertical-align:top}
table.grid tr:nth-child(even) td{background:var(--alt)}
table.grid tr.head td{background:#e4e1da;padding:3px 10px;font-size:11px;color:var(--mute);text-transform:uppercase;letter-spacing:.06em}
table.grid tr.pinned td{background:#f6f3e9}
.num{text-align:right;font-family:var(--mono);font-size:12px;color:var(--dim);white-space:nowrap}
.w-num{width:70px}.w-last{width:210px}
.desc{color:#5c5952;font-size:12px;line-height:1.5;margin-top:2px}
.meta{font-size:12px;color:var(--mute);margin-top:2px}
.tiny{font:11px/1.6 var(--mono);color:var(--mute)}
.flag{font-family:var(--mono);font-size:11px;color:var(--mute);min-width:2.2em;display:inline-block}
.prefix{font-family:var(--mono);font-size:11px;padding:1px 4px;border:1px solid #b9b5ac;background:var(--bar);color:var(--dim);text-transform:uppercase;letter-spacing:.05em}
.rep{color:var(--good);font-family:var(--mono)}
.tline{display:flex;gap:6px;flex-wrap:wrap;align-items:baseline}

.btn{display:inline-block;padding:4px 10px;background:var(--bar);border:1px solid #b9b5ac;color:var(--ink2);font:12px/1.4 Verdana,Geneva,Tahoma,sans-serif;cursor:pointer}
.btn:hover{text-decoration:none;background:#e2dfd8;color:var(--ink2)}
.btn-primary{background:var(--sub);border-color:var(--line);font-weight:bold}
.btn-danger{background:#f6efdd;border-color:#cbb37c;color:#6b4f18}

.post{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.post:nth-child(even){background:var(--alt)}
.post .side{width:172px;min-width:140px;flex-shrink:0;padding:8px 10px;border-right:1px solid var(--rule)}
.post .side .who{font-weight:bold;font-size:13px}
.post .side dl{margin:3px 0 0;font:11px/1.65 var(--mono);color:var(--mute)}
.post .rank{font-weight:bold;text-transform:uppercase;letter-spacing:.05em}
.rank-mod{color:var(--bad)}.rank-trader{color:var(--gold)}.rank-member{color:var(--dim)}
.post .body{flex:1 1 320px;min-width:0;padding:8px 10px;display:flex;flex-direction:column;gap:7px}
.post .phead{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font:11px/1.5 var(--mono);color:var(--mute);border-bottom:1px dotted var(--soft);padding-bottom:4px}
.post .phead .acts{display:flex;gap:8px;align-items:center}
.rate{display:flex;gap:4px;align-items:center;border:1px solid var(--soft);background:#f2f0ea;padding:0 4px}
.rate a{font-weight:bold}
.text{font-size:13px;line-height:1.65;color:var(--ink2);overflow-wrap:break-word}
.text p{margin:0 0 .7em}
.text p:last-child{margin:0}
blockquote.q{border-left:3px solid #b9b5ac;background:#efece5;padding:5px 8px;margin:0 0 .7em;font-size:12px;line-height:1.6;color:var(--dim)}
blockquote.q cite{display:block;font-size:11px;font-weight:bold;font-style:normal;color:var(--mute);margin-bottom:2px}
pre.code{font:12px/1.7 var(--mono);background:#f2f0ea;border:1px solid var(--rule);padding:6px 8px;white-space:pre-wrap;color:#33363c;margin:0 0 .7em}
details.spoiler{border:1px solid var(--soft);background:#f2f0ea;margin:0 0 .7em}
details.spoiler>summary{cursor:pointer;padding:4px 9px;background:var(--bar);border-bottom:1px solid var(--rule);font:11px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:#5c5952}
details.spoiler>div{padding:7px 9px}
.sig{margin-top:auto;padding-top:6px;border-top:1px dotted var(--soft);font-size:11px;line-height:1.55;color:var(--faint);font-style:italic}

.pager{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:8px 10px;background:var(--alt);border-top:1px solid var(--soft)}
.pager .pages{display:flex;gap:3px;flex-wrap:wrap;font:12px/1.5 var(--mono)}
.pager .pages a,.pager .pages span{padding:2px 7px;border:1px solid #b9b5ac;background:var(--panel)}
.pager .pages span.current{background:var(--sub);border-color:var(--line);font-weight:bold}

form.crt{padding:10px;display:flex;flex-direction:column;gap:9px}
form.crt label.f{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--dim)}
form.crt label.c{display:flex;gap:5px;align-items:flex-start;font-size:12px;color:var(--dim);line-height:1.5}
form.crt input[type=text],form.crt input[type=email],form.crt input[type=password],form.crt textarea,form.crt select{width:100%;font:13px/1.6 var(--mono);padding:5px 7px;border:1px solid #8f8b83;background:#fff;color:var(--ink2)}
form.crt textarea{resize:vertical;min-height:150px}
form.crt .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px}
form.crt .foot{border-top:1px solid var(--rule);padding-top:9px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.bbbar{display:flex;gap:4px;flex-wrap:wrap;font:12px/1.5 var(--mono)}
.bbbar button{padding:2px 7px;border:1px solid #b9b5ac;background:var(--bar);font:inherit;cursor:pointer;color:var(--ink2)}
.note{font:11px/1.65 var(--mono);color:var(--mute);background:#f2f0ea;border:1px solid var(--rule);padding:6px 8px}
.notice{border:1px solid #cbb37c;background:#f6efdd;color:#6b4f18;padding:7px 9px;font-size:12px;line-height:1.6;margin:10px}
.notice.err{border-color:#c39b93;background:#f6e7e4;color:#7a2a1a}
.notice.ok{border-color:#a8bf9e;background:#eaf2e6;color:#2f5626}
.sechead{background:var(--sub);padding:6px 10px;color:#2b2d31;font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:bold;border-bottom:1px solid var(--line)}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1px;background:var(--soft)}
.cols>div{background:var(--panel)}
table.kv{width:100%;border-collapse:collapse;font-size:12px}
table.kv td{padding:5px 10px;border-bottom:1px solid var(--hair);line-height:1.55;vertical-align:top}
table.kv td:first-child{background:var(--alt);color:#5c5952;width:38%}
.skip{position:absolute;left:-9999px}
.skip:focus{left:6px;top:6px;background:#fff;padding:6px;z-index:9}
@media(max-width:560px){
  .post .side{width:100%;border-right:0;border-bottom:1px solid var(--rule);display:flex;gap:12px;flex-wrap:wrap;align-items:baseline}
  .post .side dl{display:flex;gap:10px;flex-wrap:wrap;margin:0}
  .w-num,.w-last{width:auto}
}
