/* BRUTEFORCE — форум. Военный ЧБ, как весь сайт. */

:root{
  --bg:#0b0c0d; --fg:#e9e7e1; --ink:#0b0c0d; --ink-2:#121417;
  --bone:#e9e7e1; --bone-dim:#c3c2bb; --signal:#c88a3a; --ash:#8b8d88;
  --line:rgba(233,231,225,.12); --line-2:rgba(233,231,225,.22); --bad:#c0503f;
  --f-cond:"Saira Condensed","Arial Narrow",sans-serif;
  --f-body:"Saira",system-ui,sans-serif;
  --f-mono:"Share Tech Mono",ui-monospace,monospace;
}
*{ box-sizing:border-box; }
html,body{ min-height:100%; }
body{ margin:0; background:var(--bg); color:var(--fg); font-family:var(--f-body); font-size:15px; line-height:1.5; -webkit-font-smoothing:antialiased; }
a{ color:inherit; text-decoration:none; }
::selection{ background:#4d5054; color:#f2f0ea; }
.scanline{ position:fixed; inset:0; z-index:60; pointer-events:none; opacity:.4; background:repeating-linear-gradient(to bottom, rgba(0,0,0,0) 0 2px, rgba(0,0,0,.16) 2px 3px); mix-blend-mode:multiply; }

/* ── шапка ── */
.fbar{
  position:sticky; top:0; z-index:40; display:flex; align-items:center; gap:14px;
  padding:13px clamp(16px,4vw,40px); border-bottom:1px solid var(--line);
  background:rgba(11,12,13,.86); backdrop-filter:blur(8px);
}
.brand{ display:inline-flex; align-items:center; gap:11px; }
.brand-logo{ width:24px; height:auto; fill:var(--bone); }
.brand-name{ font-family:var(--f-cond); font-weight:700; letter-spacing:.18em; font-size:18px; }
.fbar-title{ font-family:var(--f-cond); font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--ash); font-size:13px; padding-left:14px; border-left:1px solid var(--line); }
.fbar-spacer{ flex:1; }
.fbar-link{ color:var(--ash); font-size:13px; transition:.2s; }
.fbar-link:hover{ color:var(--bone); }
.btn-login{
  display:inline-flex; align-items:center; gap:8px; padding:9px 15px; border:1px solid var(--line-2); border-radius:2px;
  font-family:var(--f-cond); font-weight:700; letter-spacing:.1em; text-transform:uppercase; font-size:13px; color:var(--ash); transition:.2s;
}
.btn-login:hover{ background:var(--bone); color:var(--ink); border-color:var(--bone); }
.btn-login.logged{ color:var(--bone); }
.btn-login .ico{ flex:none; }
.btn-login .ava-mini{ width:20px; height:20px; border-radius:50%; object-fit:cover; margin:-3px 2px -3px -4px; }

/* ── контейнер ── */
.fwrap{ max-width:900px; margin:0 auto; padding:clamp(22px,4vw,40px) clamp(16px,4vw,28px) 90px; }

.crumb{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--ash); margin-bottom:20px; flex-wrap:wrap; }
.crumb a{ transition:.2s; }
.crumb a:hover{ color:var(--bone); }
.crumb .sep{ color:#4d504b; }
.crumb .cur{ color:var(--bone-dim); }

.fhead{ display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:26px; flex-wrap:wrap; }
.fhead h1{ font-family:var(--f-cond); font-weight:800; text-transform:uppercase; letter-spacing:.01em; font-size:clamp(25px,4vw,36px); margin:0; line-height:1; }
.fhead p{ color:var(--bone-dim); margin:8px 0 0; font-size:14px; }

/* ── разделы ── */
.cat{ display:block; border:1px solid var(--line); border-left:3px solid var(--line-2); border-radius:3px; padding:18px 20px; margin-bottom:12px; transition:border-color .2s, background .2s; }
.cat:hover{ border-color:var(--line-2); border-left-color:var(--signal); background:rgba(233,231,225,.02); }
.cat-title{ font-family:var(--f-cond); font-weight:700; font-size:19px; color:var(--bone); text-transform:uppercase; letter-spacing:.03em; }
.cat-descr{ color:var(--ash); font-size:13.5px; margin-top:5px; }
.cat-foot{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:13px; flex-wrap:wrap; }
.cat-stats{ display:flex; gap:18px; font-family:var(--f-mono); font-size:11px; letter-spacing:.06em; color:var(--ash); }
.cat-stats b{ color:var(--bone-dim); font-weight:400; }
.cat-last{ font-family:var(--f-mono); font-size:11px; color:#6b6d67; }
.cat-last b{ color:var(--bone-dim); font-weight:400; }

/* ── список тем ── */
.trow{ display:flex; align-items:center; gap:14px; padding:14px 16px; border:1px solid var(--line); border-radius:3px; margin-bottom:8px; transition:border-color .18s, background .18s; }
.trow:hover{ border-color:var(--line-2); background:rgba(233,231,225,.02); }
.trow-main{ min-width:0; flex:1; }
.trow-title{ font-family:var(--f-cond); font-weight:700; font-size:17px; color:var(--bone); letter-spacing:.02em; }
.trow-title .pin{ color:var(--signal); font-family:var(--f-mono); font-size:10px; letter-spacing:.1em; margin-right:8px; vertical-align:middle; }
.trow-title .lock{ color:var(--ash); margin-right:6px; }
.trow-meta{ font-size:12.5px; color:var(--ash); margin-top:3px; }
.trow-meta b{ color:var(--bone-dim); font-weight:600; }
.trow-stat{ text-align:right; font-family:var(--f-mono); font-size:11px; color:var(--ash); white-space:nowrap; flex:none; }
.trow-stat b{ display:block; color:var(--bone); font-size:16px; font-family:var(--f-cond); font-weight:700; }

/* ── тема ── */
.post{ border:1px solid var(--line); border-radius:3px; margin-bottom:14px; overflow:hidden; }
.post.op{ border-color:var(--line-2); }
.post-head{ display:flex; align-items:center; gap:11px; padding:12px 16px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.015); }
.post-ava{ width:34px; height:34px; border-radius:50%; overflow:hidden; flex:none; background:linear-gradient(135deg,#2a2d33,#15171b); border:1px solid var(--line-2); }
.post-ava img{ width:100%; height:100%; object-fit:cover; display:block; }
.post-author{ font-family:var(--f-cond); font-weight:700; color:var(--bone); font-size:15px; letter-spacing:.02em; }
.post-badge{ font-family:var(--f-mono); font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:var(--signal); border:1px solid rgba(200,138,58,.5); border-radius:2px; padding:2px 6px; }
.post-time{ font-family:var(--f-mono); font-size:11px; color:var(--ash); margin-left:auto; }
.post-body{ padding:16px; color:var(--bone-dim); font-size:14.5px; line-height:1.65; white-space:pre-wrap; word-break:break-word; }

/* ── кнопки / формы ── */
.fbtn{
  display:inline-flex; align-items:center; gap:9px; cursor:pointer; appearance:none;
  font-family:var(--f-cond); font-weight:700; letter-spacing:.1em; text-transform:uppercase; font-size:14px;
  color:var(--ink); background:var(--bone); border:1px solid var(--bone); border-radius:2px; padding:12px 18px; transition:.2s;
}
.fbtn:hover{ box-shadow:0 10px 24px -8px rgba(233,231,225,.45); transform:translateY(-1px); }
.fbtn[disabled]{ opacity:.55; cursor:default; transform:none; box-shadow:none; }
.fbtn-ghost{ background:none; color:var(--ash); border-color:var(--line-2); }
.fbtn-ghost:hover{ color:var(--bone); border-color:var(--bone); box-shadow:none; transform:none; }
.fbtn svg{ flex:none; }

.form-box{ border:1px solid var(--line-2); border-radius:3px; padding:18px; margin-top:20px; }
.form-box h3{ font-family:var(--f-cond); font-weight:700; font-size:17px; text-transform:uppercase; letter-spacing:.05em; margin:0 0 14px; }
.fld{ display:block; margin-bottom:14px; }
.fld-lbl{ display:block; font-size:12px; color:var(--bone-dim); margin-bottom:6px; }
.fld input, .fld textarea{
  width:100%; appearance:none; background:rgba(0,0,0,.25); color:var(--fg); border:1px solid var(--line-2); border-radius:2px;
  padding:12px 13px; font-family:var(--f-body); font-size:15px; outline:none; transition:border-color .2s, box-shadow .2s;
}
.fld textarea{ min-height:130px; resize:vertical; line-height:1.55; }
.fld input:focus, .fld textarea:focus{ border-color:var(--bone); box-shadow:0 0 0 3px rgba(233,231,225,.06); }
.fld.bad input, .fld.bad textarea{ border-color:var(--bad); }
.form-actions{ display:flex; gap:12px; align-items:center; margin-top:4px; }

.fmsg{ display:none; margin-top:14px; padding:11px 13px; border-radius:2px; border:1px solid rgba(200,138,58,.4); background:rgba(200,138,58,.08); font-size:13px; color:var(--signal); }
.fmsg.on{ display:block; }
.fmsg.err{ border-color:rgba(200,80,63,.5); background:rgba(200,80,63,.1); color:#e2705f; }

.notice{ border:1px dashed var(--line-2); border-radius:3px; padding:18px 20px; margin-top:18px; color:var(--bone-dim); font-size:14px; text-align:center; }
.notice a{ color:var(--signal); border-bottom:1px solid rgba(200,138,58,.5); }
.empty{ color:var(--ash); text-align:center; padding:44px 20px; font-size:14px; }
.loading{ color:var(--ash); text-align:center; padding:50px; font-family:var(--f-mono); font-size:12px; letter-spacing:.1em; }

@media (max-width:560px){
  .fbar-title{ display:none; }
  .trow-stat{ display:none; }
}
