/* TechnoGeek — inherits Classic templates, overrides the look only (proves theme independence) */
* { box-sizing:border-box; }
body { background:#0b0e14; color:#c8d3e0; font:13px/1.55 "DejaVu Sans Mono", Consolas, monospace; margin:0; }
#wrap { width:980px; margin:0 auto; background:#11151f; border-left:1px solid #1e2636; border-right:1px solid #1e2636; }
a { color:#39d98a; text-decoration:none; } a:hover { text-shadow:0 0 6px #39d98a; }
.muted { color:#5a6678; } .num { text-align:center; width:60px; }
#masthead { background:#070a10; border-bottom:1px solid #1e2636; padding:10px 14px; display:flex; justify-content:space-between; align-items:center; }
#masthead .logo { color:#39d98a; font-size:20px; font-weight:bold; text-shadow:0 0 8px #39d98a55; }
.masthead-right { font-size:11px; } .masthead-right a { color:#39d98a; }
.linkbtn { background:none; border:none; color:#39d98a; cursor:pointer; font:inherit; padding:0; }
#navbar { background:#0d1119; border-bottom:1px solid #1e2636; padding:5px 14px; font-size:11px; }
#content { padding:0 14px 14px; }
#content > * { margin:12px 0; }
.crumb { font-size:11px; color:#5a6678; }
.forumhead { font-size:16px; margin:8px 0 4px; padding-bottom:4px; border-bottom:2px solid #39d98a; color:#e6edf5; }
table { border-collapse:collapse; width:100%; }
.forumlist,.topiclist,.kv { border:1px solid #1e2636; }
.cat { background:#16203a; color:#39d98a; text-align:left; padding:5px 8px; font-size:12px; text-transform:uppercase; letter-spacing:1px; }
.forumrow td { border-top:1px solid #1a2334; padding:7px 8px; vertical-align:top; }
.fname a { font-weight:bold; } .fdesc { color:#6b7892; font-size:11px; } .subs { font-size:11px; }
.fstat { width:90px; font-size:11px; color:#6b7892; text-align:center; } .flast { width:170px; font-size:11px; color:#6b7892; }
.topiclist th { background:#16203a; color:#39d98a; padding:4px 8px; text-align:left; font-size:11px; }
.topiclist td { border-top:1px solid #1a2334; padding:6px 8px; } .topiclist tr.pinned { background:#13261d; }
.tag { background:#39d98a; color:#06140d; font-size:9px; padding:1px 4px; border-radius:2px; font-weight:bold; }
.statbar { background:#0d1119; border:1px solid #1e2636; padding:6px 8px; font-size:11px; }
.btn { display:inline-block; background:#39d98a; color:#06140d; padding:5px 12px; border:none; border-radius:3px; cursor:pointer; font:inherit; font-weight:bold; }
.btn:hover { box-shadow:0 0 8px #39d98a; text-decoration:none; }
.post { display:flex; border:1px solid #1e2636; margin-bottom:10px; }
.post-profile { width:160px; background:#0d1119; border-right:1px solid #1e2636; padding:8px; }
.pp-name { font-weight:bold; } .pp-title { color:#6b7892; font-size:11px; } .pp-stat { font-size:11px; color:#5a6678; }
.post-body { flex:1; padding:8px; } .post-meta { font-size:11px; color:#5a6678; border-bottom:1px solid #1a2334; padding-bottom:4px; margin-bottom:6px; }
.post-content .code, blockquote { background:#0b0e14; border:1px solid #1e2636; padding:6px; }
.replybox,.composebox { border:1px solid #1e2636; background:#0d1119; padding:10px; }
textarea, input.wide, select { width:100%; font:12px monospace; padding:4px; background:#070a10; color:#c8d3e0; border:1px solid #2a3650; }
.composebox label { display:block; margin-bottom:8px; font-size:11px; font-weight:bold; color:#8b98ad; }
.kv th { background:#0d1119; text-align:left; padding:5px 8px; width:120px; border:1px solid #1a2334; color:#8b98ad; }
.kv td { padding:5px 8px; border:1px solid #1a2334; }
.err { background:#2a1114; border:1px solid #ff5b6e; color:#ff8a96; padding:8px; } .err-inline { color:#ff5b6e; }
#footer { background:#070a10; color:#5a6678; text-align:center; padding:8px; font-size:11px; border-top:1px solid #1e2636; }
.acp { display:flex; gap:12px; } .acp-nav { width:150px; display:flex; flex-direction:column; gap:3px; background:#0d1119; border:1px solid #1e2636; padding:8px; }
.acp-nav a:hover { background:#16203a; } .acp-main { flex:1; }
/* title/rank badge — pill tinted by the user's group color (--bc) */
.pp-badge { display:inline-block; font-size:10px; font-weight:bold; letter-spacing:.3px; padding:1px 8px; border-radius:9px; margin:3px 0; color:var(--bc,#8b98ad); border:1px solid var(--bc,#2a3650); background:color-mix(in srgb, var(--bc, #39d98a) 16%, transparent); }
.post-meta { display:flex; justify-content:space-between; align-items:center; }
.pm-actions a { font-size:11px; color:#39d98a; } .pm-actions { margin-left:auto; }
/* avatars */
.pp-avatar { width:90px; height:90px; object-fit:cover; display:block; margin:4px 0; border:1px solid #1e2636; background:#0b0e14; }
.big-avatar { width:90px; height:90px; object-fit:cover; border:1px solid #1e2636; background:#0b0e14; }
.profile-head { display:flex; gap:14px; align-items:flex-start; }
.profile-head .kv { flex:1; }
.settings-grid { display:flex; gap:16px; align-items:flex-start; }
/* clean post profile (endo-style stack) */
.post-profile { width:172px; background:#0d1119; border-right:1px solid #1e2636; padding:10px 9px; }
.pp-name { font-weight:bold; font-size:14px; line-height:1.2; }
.pp-rank { font-size:10px; text-transform:uppercase; letter-spacing:.5px; color:#6b7892; margin:1px 0 7px; }
.pp-stats { margin-top:7px; display:flex; flex-direction:column; gap:1px; }
.pp-stat { font-size:11px; color:#8b98ad; }
.pp-status { font-size:11px; font-style:italic; color:#6b7892; margin-top:5px; }
.pp-status.on::before { content:'\25CF'; color:#39d98a; margin-right:4px; font-style:normal; }
.pp-status.off::before { content:'\25CF'; color:#3a4660; margin-right:4px; font-style:normal; }
.pm-actions { display:flex; align-items:center; gap:8px; margin-left:auto; }
/* index orb + rich last-post column */
.forb { width:34px; text-align:center; vertical-align:middle; }
.flast { width:210px; }
.last-subject { display:inline-block; max-width:195px; font-size:12px; font-weight:bold; padding:1px 7px; border:1px solid #1e2636; border-radius:3px; background:#0d1119; color:#39d98a; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; vertical-align:bottom; }
.last-by, .last-date { display:block; font-size:10px; color:#6b7892; margin-top:2px; }
.last-by a { font-size:10px; }
/* moderation toolbar */
.modbar { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 14px; padding:8px 12px; background:rgba(127,127,127,.07); border:1px solid rgba(127,127,127,.22); border-radius:5px; }
.modbar form { display:inline-flex; margin:0; }
.modbar-label { font-size:11px; text-transform:uppercase; letter-spacing:.6px; opacity:.6; margin-right:2px; }
.moveform { display:inline-flex; gap:5px; align-items:center; }
.moveform select { width:auto; max-width:240px; margin:0; }
.modbar .delete-form { margin-left:auto; }   /* destructive action sits apart, far right */
.btn-sm { display:inline-flex; align-items:center; gap:5px; font-size:12px; line-height:1; padding:6px 11px; border:1px solid rgba(127,127,127,.45); border-radius:4px; background:rgba(127,127,127,.10); color:inherit; cursor:pointer; text-decoration:none; white-space:nowrap; }
.btn-sm:hover { background:rgba(127,127,127,.20); }
.btn-sm.danger { background:#b32424; color:#fff; border-color:#8f1d1d; }
.btn-sm.danger:hover { background:#9c1f1f; }
.tag.locked { background:#8a6d1a; }
.edited { margin-top:10px; padding-top:6px; border-top:1px dotted rgba(127,127,127,.3); font-size:11px; opacity:.65; font-style:italic; }
.pm-actions .linkbtn { font-size:inherit; }
/* quote attribution on its own line */
blockquote cite { display:block; font-style:normal; font-weight:bold; font-size:12px; margin:-2px 0 6px; padding-bottom:4px; border-bottom:1px solid rgba(127,127,127,.25); opacity:.85; }

/* rich topic list + read/unread */
.forum-toolbar { display:flex; align-items:center; gap:10px; margin:12px 0; flex-wrap:wrap; }
.forum-count { margin-left:auto; font-size:12px; opacity:.7; }
.index-toolbar { font-size:12px; margin-bottom:12px; opacity:.9; }
.index-toolbar .linkbtn, .index-toolbar a { font-size:12px; }
.topiclist-rich { table-layout:fixed; }
.topiclist-rich th.t-icon, .topiclist-rich td.t-icon { width:44px; text-align:center; vertical-align:middle; padding-left:6px; border-right:none; }
.topiclist-rich th.t-num, .topiclist-rich td.t-num { width:66px; text-align:center; vertical-align:middle; }
.topiclist-rich th.t-last, .topiclist-rich td.t-last { width:232px; vertical-align:middle; }
.topiclist-rich td.t-topic { vertical-align:middle; }
.topic-title { font-weight:600; font-size:14px; }
tr.unread .topic-title { font-weight:800; }
.topic-sub { font-size:11px; opacity:.72; margin-top:2px; }
.t-last { white-space:nowrap; }
.t-last-av { width:30px; height:30px; border-radius:3px; object-fit:cover; float:left; margin-right:8px; }
.t-last-meta { overflow:hidden; }
.t-last-by { display:block; font-size:12px; line-height:1.3; }
.t-last-date { display:block; font-size:10px; opacity:.6; }
.jump { text-decoration:none; opacity:.55; font-weight:bold; }
.jump:hover { opacity:1; }

/* avatar/icon sizing + cell separators + pager */
.t-last-av { width:30px !important; height:30px !important; }
.topic-icon { width:32px; height:32px; vertical-align:middle; }
.forumlist td, .topiclist td { border-right:1px solid #2a3650; }
.forumlist th, .topiclist th { border-right:1px solid rgba(255,255,255,.16); }
.forumlist td:last-child, .forumlist th:last-child, .topiclist td:last-child, .topiclist th:last-child { border-right:none; }
.pager { display:flex; flex-wrap:wrap; align-items:center; gap:5px; margin:10px 0; font-size:12px; }
.pager-info { margin-right:8px; opacity:.7; }
.pager a, .pager .cur { display:inline-block; padding:3px 8px; border:1px solid rgba(127,127,127,.35); border-radius:3px; text-decoration:none; line-height:1.3; }
.pager a:hover { background:rgba(127,127,127,.15); }
.pager .cur { background:rgba(127,127,127,.28); font-weight:bold; }
.pager .gap { padding:0 2px; opacity:.6; }

/* light/dark toggle button in the navbar */
.theme-toggle { float:right; font-size:11px; padding:0 6px; text-decoration:none; opacity:.85; }
.theme-toggle:hover { opacity:1; text-decoration:none; }


/* dark-theme scrollbars: slim, translucent — no stark white bar */
* { scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.18) rgba(0,0,0,.22); }
::-webkit-scrollbar { width:12px; height:12px; }
::-webkit-scrollbar-track { background:rgba(0,0,0,.20); }
::-webkit-scrollbar-thumb { background:rgba(255,255,255,.16); border-radius:7px; border:3px solid transparent; background-clip:padding-box; }
::-webkit-scrollbar-thumb:hover { background:rgba(255,255,255,.28); background-clip:padding-box; }
::-webkit-scrollbar-corner { background:transparent; }
