/* ============================================================
   УроВрач (urovrach.ru) — тема поверх MyBB
   Метафора: «онлайн-кабинет уролога, где не стыдно спросить».
   Перенос 1:1 из design/prototype/urovrach.html + UV-BRIDGE.
   ============================================================ */
:root{
  --r-sm:10px; --r:16px; --r-lg:24px;
  --font-h:'Onest',system-ui,sans-serif;
  --font-b:'Inter',system-ui,sans-serif;
  --font-m:'JetBrains Mono',monospace;
  --z-kid:#0EA5E9; --z-blad:#6366F1; --z-men:#2563EB; --z-inf:#E11D48;
  --z-fem:#D946EF; --z-sto:#F59E0B; --z-diag:#16A34A; --z-off:#64748B;
}
[data-theme="light"]{
  --bg:#F2F8FD; --surface:#FFFFFF; --surface-2:#E9F3FC; --border:#D6E7F5;
  --text:#0B2239; --muted:#54708A;
  --primary:#0968B4; --primary-deep:#07548F; --secondary:#31B6F0;
  --accent:#16A34A; --warning:#D97706; --danger:#DC2626; --on-primary:#FFFFFF;
  --glass:rgba(255,255,255,.72); --glass-brd:rgba(255,255,255,.55);
  --shadow:0 10px 30px -12px rgba(9,58,102,.18);
  --shadow-sm:0 4px 14px -6px rgba(9,58,102,.14);
  --hero-grad:radial-gradient(1100px 520px at 12% -10%, #D8EDFC 0%, transparent 60%),
              radial-gradient(900px 460px at 95% 0%, #DDF3EA 0%, transparent 55%),
              linear-gradient(180deg,#EAF4FD 0%, #F2F8FD 100%);
}
[data-theme="dark"]{
  --bg:#07131E; --surface:#0C1D2E; --surface-2:#102943; --border:#1B3A58;
  --text:#E9F3FC; --muted:#8CA9C4;
  --primary:#2E9BE8; --primary-deep:#1B7FCB; --secondary:#57C8F4;
  --accent:#2BC46C; --warning:#F5A524; --danger:#F0564A; --on-primary:#04121E;
  --glass:rgba(13,32,50,.62); --glass-brd:rgba(120,180,230,.14);
  --shadow:0 14px 34px -14px rgba(0,0,0,.55);
  --shadow-sm:0 6px 16px -8px rgba(0,0,0,.5);
  --hero-grad:radial-gradient(1100px 520px at 12% -10%, #0C2A44 0%, transparent 62%),
              radial-gradient(900px 460px at 95% 0%, #0A2B33 0%, transparent 55%),
              linear-gradient(180deg,#081826 0%, #07131E 100%);
}
html{scroll-behavior:smooth}
body{
  margin:0; font-family:var(--font-b); font-size:16px; line-height:1.6;
  color:var(--text); background:var(--bg); text-align:left;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:var(--font-h); line-height:1.18; letter-spacing:-.015em}
.wrap{max-width:1200px; margin:0 auto; padding:0 24px}
.mono{font-family:var(--font-m); font-variant-numeric:tabular-nums}
::selection{background:var(--secondary); color:#04121E}

/* ---------- шапка ---------- */
.topbar{
  position:sticky; top:0; z-index:60;
  background:var(--glass); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);
}
.topbar .wrap{display:flex; align-items:center; gap:22px; height:68px}
.logo{display:flex; align-items:center; gap:11px; flex:none; text-decoration:none; color:inherit}
.logo .mark{width:40px;height:40px; flex:none; display:block}
.logo b{font-family:var(--font-h); font-weight:800; font-size:21px; letter-spacing:-.02em; color:var(--text)}
.logo b i{font-style:normal; color:var(--primary)}
.logo small{display:block; font-size:11px; color:var(--muted); letter-spacing:.02em; margin-top:-3px}
.nav{display:flex; gap:4px; margin-left:6px}
.nav a{
  padding:8px 14px; border-radius:999px; font-weight:600; font-size:14.5px; color:var(--muted);
  transition:all .18s ease-out; text-decoration:none;
}
.nav a:hover{color:var(--text); background:var(--surface-2)}
.nav a.on{color:var(--primary); background:color-mix(in srgb, var(--primary) 12%, transparent)}
.search{
  flex:1; max-width:330px; margin-left:auto; display:flex; align-items:center; gap:9px;
  background:var(--surface-2); border:1px solid var(--border); border-radius:999px;
  padding:8px 16px; color:var(--muted); font-size:14px;
}
.search svg{width:16px;height:16px; flex:none}
.search input{border:0; outline:0; background:none; color:var(--text); font:inherit; width:100%; padding:0; margin:0}
.tbtns{display:flex; align-items:center; gap:10px; flex:none}
.icon-btn{
  width:40px;height:40px; display:grid; place-items:center; border-radius:12px;
  background:var(--surface-2); border:1px solid var(--border); color:var(--muted);
  transition:all .18s ease-out; cursor:pointer;
}
.icon-btn:hover{color:var(--primary); border-color:var(--primary)}
.icon-btn svg{width:18px;height:18px}
.btn{
  display:inline-flex; align-items:center; gap:8px; border:0; border-radius:999px;
  font-weight:700; font-size:14.5px; padding:10px 20px; transition:all .18s ease-out;
  font-family:var(--font-h); letter-spacing:.01em; cursor:pointer; text-decoration:none;
}
.btn svg{width:17px;height:17px}
.btn-ghost{background:none; border:1.5px solid var(--border); color:var(--text)}
.btn-ghost:hover{border-color:var(--primary); color:var(--primary)}
.btn-primary{background:var(--primary); color:#fff; box-shadow:0 6px 18px -6px color-mix(in srgb,var(--primary) 55%, transparent)}
.btn-primary:hover{background:var(--primary-deep); transform:translateY(-1px)}
[data-theme="dark"] .btn-primary{color:#04121E}
/* контраст основной кнопки в светлой теме (стандарт сети ≥4.5:1) */
[data-theme="light"] .btn-primary{background:#07548F;color:#fff;font-weight:700}
[data-theme="light"] .btn-primary:hover{background:#053E6B}

@keyframes fadein{from{opacity:0; transform:translateY(6px)} to{opacity:1; transform:none}}

/* ---------- герой ---------- */
.hero{background:var(--hero-grad); border-bottom:1px solid var(--border); overflow:hidden; position:relative}
.hero .wrap{display:grid; grid-template-columns:1.05fr .95fr; gap:44px; padding-top:64px; padding-bottom:40px; align-items:center; position:relative}
.hero-drops{position:absolute; inset:0; pointer-events:none; overflow:hidden}
.hero-drops span{
  position:absolute; width:7px; height:11px; border-radius:50% 50% 50% 50%/60% 60% 40% 40%;
  background:color-mix(in srgb, var(--secondary) 45%, transparent);
  animation:fall linear infinite;
}
@keyframes fall{from{transform:translateY(-8vh)} to{transform:translateY(64vh)}}
.pill{
  display:inline-flex; align-items:center; gap:8px; padding:7px 15px; border-radius:999px;
  background:var(--glass); border:1px solid var(--glass-brd); backdrop-filter:blur(10px);
  font-size:13px; font-weight:600; color:var(--muted); box-shadow:var(--shadow-sm);
}
.pill .dot{width:8px;height:8px;border-radius:50%;background:var(--accent); animation:pulse 2s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 45%, transparent)} 55%{box-shadow:0 0 0 7px transparent}}
.hero h1{font-size:52px; font-weight:800; margin:20px 0 16px}
.hero h1 .hl{color:var(--primary); position:relative; white-space:nowrap}
.hero h1 .hl::after{
  content:""; position:absolute; left:0; right:0; bottom:5px; height:11px; z-index:-1;
  background:color-mix(in srgb, var(--secondary) 30%, transparent); border-radius:6px;
}
.hero p.lead{font-size:18px; color:var(--muted); max-width:520px; margin-bottom:26px}
.hero-cta{display:flex; gap:14px; align-items:center; flex-wrap:wrap}
.hero-cta .btn{padding:13px 26px; font-size:15.5px}
.anon-note{display:flex; align-items:center; gap:9px; font-size:13.5px; color:var(--muted)}
.anon-note svg{width:17px;height:17px; color:var(--accent); flex:none}

/* табло приёма */
.board{
  background:var(--glass); border:1px solid var(--glass-brd); border-radius:var(--r-lg);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  box-shadow:var(--shadow); overflow:hidden;
}
.board-head{display:flex; align-items:center; gap:12px; padding:15px 20px; border-bottom:1px solid var(--border)}
.board-head .live{
  display:inline-flex; align-items:center; gap:7px; font-family:var(--font-h);
  font-weight:800; font-size:14px; letter-spacing:.06em; text-transform:uppercase;
}
.board-head .live .dot{width:9px;height:9px;border-radius:50%;background:var(--danger); animation:pulse 1.6s infinite}
.board-head .clock{margin-left:auto; font-family:var(--font-m); font-weight:600; font-size:15px; color:var(--primary)}
.board-rows{padding:6px 8px 10px}
.brow{
  display:flex; align-items:center; gap:12px; padding:11px 12px; border-radius:12px;
  transition:background .18s ease-out; animation:rowin .45s ease-out;
}
@keyframes rowin{from{opacity:0; transform:translateY(-7px)} to{opacity:1; transform:none}}
.brow:hover{background:color-mix(in srgb, var(--primary) 7%, transparent)}
.brow time{font-family:var(--font-m); font-size:12.5px; font-weight:600; color:var(--muted); flex:none; width:42px}
.brow .zdot{width:10px; height:10px; border-radius:50%; flex:none; box-shadow:0 0 0 3px color-mix(in srgb, var(--zc) 22%, transparent); background:var(--zc)}
.brow .tt{min-width:0; flex:1; text-decoration:none; color:inherit}
.brow .tt b{display:block; font-size:14px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.brow .tt span{font-size:12px; color:var(--muted)}
.badge{
  flex:none; font-size:11px; font-weight:700; padding:3.5px 10px; border-radius:999px;
  font-family:var(--font-h); letter-spacing:.02em;
}
.badge.doc{background:color-mix(in srgb, var(--accent) 15%, transparent); color:var(--accent)}
.badge.anon{background:color-mix(in srgb, var(--z-blad) 14%, transparent); color:var(--z-blad)}
.badge.hot{background:color-mix(in srgb, var(--warning) 16%, transparent); color:var(--warning)}

/* метрики */
.metrics{margin-top:-30px; position:relative; z-index:5}
.metrics .wrap{display:grid; grid-template-columns:repeat(4,1fr); gap:18px}
.metric{
  background:var(--glass); border:1px solid var(--glass-brd); border-radius:var(--r);
  backdrop-filter:blur(12px); box-shadow:var(--shadow-sm);
  padding:18px 22px; display:flex; align-items:center; gap:16px;
}
.metric .ic{
  width:46px;height:46px; border-radius:14px; display:grid; place-items:center; flex:none;
  background:color-mix(in srgb, var(--mc,var(--primary)) 13%, transparent); color:var(--mc,var(--primary));
}
.metric .ic svg{width:22px;height:22px}
.metric b{display:block; font-family:var(--font-m); font-size:24px; font-weight:600; letter-spacing:-.02em}
.metric span{font-size:13px; color:var(--muted)}

/* ---------- секции ---------- */
.sec{padding:64px 0 8px}
.sec-head{display:flex; align-items:flex-end; gap:18px; margin-bottom:28px}
.sec-head h2{font-size:32px; font-weight:800; margin:0}
.sec-head p{color:var(--muted); font-size:15px; max-width:520px; margin:6px 0 0}
.sec-head .right{margin-left:auto; flex:none}

/* карта системы */
.sysmap{display:grid; grid-template-columns:410px 1fr; gap:34px; align-items:stretch}
.map-card{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg);
  box-shadow:var(--shadow-sm); padding:22px; position:relative; overflow:hidden;
}
.map-card::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(340px 300px at 50% 18%, color-mix(in srgb, var(--z-kid) 8%, transparent), transparent 70%);
  pointer-events:none;
}
.map-card h3{font-size:15px; font-weight:700; color:var(--muted); text-align:center; letter-spacing:.05em; text-transform:uppercase; margin:0}
.map-svg{width:100%; height:auto; margin-top:6px; display:block}
.organ{fill:color-mix(in srgb, var(--zc) 13%, var(--surface)); stroke:var(--zc); stroke-width:2.4; transition:all .2s ease-out}
.hotspot{cursor:pointer}
.hotspot circle.core{fill:var(--zc); transition:all .2s ease-out}
.hotspot circle.halo{fill:none; stroke:var(--zc); stroke-width:2; opacity:.55; animation:halo 2.4s infinite}
@keyframes halo{0%{r:11; opacity:.55} 70%{r:20; opacity:0} 100%{r:20; opacity:0}}
.hotspot text{fill:#fff; font-family:var(--font-m); font-size:11px; font-weight:600; text-anchor:middle; pointer-events:none}
.hotspot.dim{opacity:.25}
.hotspot.lit circle.core{filter:drop-shadow(0 0 7px var(--zc))}
.map-legend{position:relative; text-align:center; font-size:12.5px; color:var(--muted); margin-top:8px}
.drop-flow{fill:color-mix(in srgb, var(--z-kid) 75%, transparent)}

/* зоны справа */
.zones{display:flex; flex-direction:column; gap:12px}
.zone{
  --zc:var(--primary);
  display:flex; align-items:center; gap:16px; padding:15px 20px;
  background:var(--surface); border:1px solid var(--border); border-left:4px solid var(--zc);
  border-radius:var(--r); box-shadow:var(--shadow-sm); transition:all .18s ease-out; cursor:pointer;
  text-decoration:none; color:inherit;
}
.zone:hover, .zone.lit{transform:translateX(5px); border-color:var(--zc); background:color-mix(in srgb, var(--zc) 5%, var(--surface))}
.zone .zic{
  width:42px;height:42px; flex:none; border-radius:13px; display:grid; place-items:center;
  background:color-mix(in srgb, var(--zc) 13%, transparent); color:var(--zc);
}
.zone .zic svg{width:21px;height:21px}
.zone .zt{min-width:0; flex:1}
.zone .zt b{display:block; font-family:var(--font-h); font-size:15.5px; font-weight:700}
.zone .zt span{font-size:12.5px; color:var(--muted); display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.zone .zn{flex:none; text-align:right}
.zone .zn b{display:block; font-family:var(--font-m); font-size:15px; font-weight:600; color:var(--zc)}
.zone .zn span{font-size:11.5px; color:var(--muted)}
.zone .go{flex:none; color:var(--muted); transition:transform .18s ease-out}
.zone:hover .go{transform:translateX(3px); color:var(--zc)}
.zone .go svg{width:17px;height:17px}

/* ---------- интерактив ---------- */
.tools{display:grid; grid-template-columns:1fr 1fr; gap:24px}
.tool{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg);
  box-shadow:var(--shadow-sm); padding:28px; position:relative; overflow:hidden;
}
.tool::after{
  content:""; position:absolute; width:220px; height:220px; border-radius:50%;
  right:-70px; top:-70px; background:color-mix(in srgb, var(--tc,var(--primary)) 7%, transparent);
  pointer-events:none;
}
.tool h3{font-size:21px; font-weight:800; display:flex; align-items:center; gap:11px; margin:0}
.tool h3 .tic{
  width:38px;height:38px;border-radius:12px; display:grid; place-items:center;
  background:color-mix(in srgb, var(--tc,var(--primary)) 13%, transparent); color:var(--tc,var(--primary));
}
.tool h3 .tic svg{width:19px;height:19px}
.tool > p{font-size:13.5px; color:var(--muted); margin:10px 0 18px}
.sym-grid{display:grid; grid-template-columns:1fr 1fr; gap:10px}
.sym{
  display:flex; align-items:center; gap:10px; padding:12px 14px; border-radius:12px;
  border:1.5px solid var(--border); background:var(--surface-2); font-size:13.5px; font-weight:600;
  color:var(--text); transition:all .16s ease-out; text-align:left; cursor:pointer; font-family:inherit;
}
.sym svg{width:17px;height:17px; color:var(--muted); flex:none}
.sym:hover{border-color:var(--primary); color:var(--primary)}
.sym.on{border-color:var(--primary); background:color-mix(in srgb, var(--primary) 9%, transparent); color:var(--primary)}
.sym.on svg{color:var(--primary)}
.sym-res{
  margin-top:16px; border-radius:14px; padding:16px 18px; display:none;
  background:color-mix(in srgb, var(--zc,var(--primary)) 8%, transparent);
  border:1px solid color-mix(in srgb, var(--zc,var(--primary)) 30%, transparent);
}
.sym-res.show{display:block; animation:fadein .25s ease-out}
.sym-res b{font-family:var(--font-h); color:var(--zc,var(--primary)); font-size:15px}
.sym-res p{font-size:13px; color:var(--muted); margin:5px 0 10px}
.rbtn{
  display:inline-flex; align-items:center; gap:7px; font-size:13.5px; font-weight:700;
  color:var(--zc,var(--primary)); font-family:var(--font-h); text-decoration:none;
}
.rbtn svg{width:15px;height:15px; transition:transform .15s} .rbtn:hover svg{transform:translateX(3px)}
.chk-row{display:flex; gap:10px; margin-bottom:16px}
.seg{display:flex; background:var(--surface-2); border:1px solid var(--border); border-radius:999px; padding:4px; gap:4px}
.seg button{
  border:0; background:none; padding:7px 17px; border-radius:999px; font-weight:700; font-size:13.5px;
  color:var(--muted); font-family:var(--font-h); cursor:pointer;
}
.seg button.on{background:var(--primary); color:#fff}
[data-theme="dark"] .seg button.on{color:#04121E}
.age-wrap{flex:1; display:flex; align-items:center; gap:14px; padding:0 6px}
.age-wrap input[type=range]{flex:1; accent-color:var(--primary)}
.age-val{font-family:var(--font-m); font-weight:600; font-size:17px; color:var(--primary); width:64px; text-align:right}
.chk-list{display:flex; flex-direction:column; gap:9px}
.chk{
  display:flex; gap:11px; align-items:flex-start; padding:11px 14px; border-radius:12px;
  background:var(--surface-2); border:1px solid var(--border); font-size:13.5px; animation:fadein .25s ease-out;
}
.chk svg{width:16px;height:16px; color:var(--accent); flex:none; margin-top:3px}
.chk b{font-weight:600}
.chk span{color:var(--muted); display:block; font-size:12.5px}

/* ---------- лента ---------- */
.feed{display:flex; flex-direction:column; gap:10px}
.feed-item{
  display:flex; align-items:center; gap:14px; padding:13px 18px;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r);
  transition:all .16s ease-out; text-decoration:none; color:inherit;
}
.feed-item:hover{border-color:var(--primary); box-shadow:var(--shadow-sm)}
.ava{
  width:38px;height:38px;border-radius:50%; flex:none; display:grid; place-items:center;
  font-family:var(--font-h); font-weight:800; font-size:13px; color:#fff; overflow:hidden;
  background:linear-gradient(135deg, var(--ac,var(--primary)), color-mix(in srgb, var(--ac,var(--primary)) 60%, #000));
}
.ava img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.ava.anon{background:repeating-linear-gradient(45deg, var(--z-off), var(--z-off) 6px, color-mix(in srgb,var(--z-off) 75%, #000) 6px, color-mix(in srgb,var(--z-off) 75%, #000) 12px)}
.feed-item .ft{min-width:0; flex:1}
.feed-item .ft b{display:block; font-size:14.5px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.feed-item .ft span{font-size:12.5px; color:var(--muted)}
.feed-item .fm{flex:none; text-align:right; font-size:12px; color:var(--muted)}
.feed-item .fm b{display:block; font-family:var(--font-m); font-size:14px; color:var(--primary); font-weight:600}

/* ---------- CTA ---------- */
.cta{
  margin:72px 0; border-radius:var(--r-lg); overflow:hidden; position:relative;
  background:linear-gradient(120deg, var(--primary-deep), var(--primary) 55%, #0E8FBE);
  color:#fff; padding:44px 48px; display:flex; align-items:center; gap:30px;
  box-shadow:var(--shadow);
}
.cta::before{content:""; position:absolute; width:340px;height:340px;border-radius:50%; background:rgba(255,255,255,.08); right:-80px; top:-140px}
.cta h2{font-size:30px; font-weight:800; margin:0 0 8px}
.cta p{opacity:.85; font-size:15px; max-width:560px; margin:0}
.cta .btn{background:#fff; color:var(--primary-deep); margin-left:auto; flex:none; padding:14px 28px; font-size:15.5px}
.cta .btn:hover{transform:translateY(-2px)}

/* ---------- крошки ---------- */
.crumbs{display:flex; align-items:center; gap:9px; font-size:13.5px; color:var(--muted); padding:22px 0 0; flex-wrap:wrap}
.crumbs a{color:var(--muted); font-weight:600; transition:color .15s; text-decoration:none}
.crumbs a:hover{color:var(--primary)}
.crumbs svg{width:13px;height:13px; opacity:.6; flex:none}
.crumbs .cur,.crumbs .crumb-current{color:var(--text); font-weight:700; pointer-events:none; cursor:default}

/* ---------- forumdisplay ---------- */
.fbanner{
  --zc:var(--z-men);
  margin-top:18px; border-radius:var(--r-lg); padding:34px 38px; position:relative; overflow:hidden;
  background:linear-gradient(115deg, color-mix(in srgb, var(--zc) 88%, #000), var(--zc) 60%, color-mix(in srgb, var(--zc) 70%, #fff));
  color:#fff; box-shadow:var(--shadow);
}
.fbanner::after{content:""; position:absolute; right:-60px; bottom:-130px; width:300px;height:300px; border-radius:50%; background:rgba(255,255,255,.09)}
.fbanner .cat{font-size:12.5px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; opacity:.8}
.fbanner h1{font-size:36px; font-weight:800; margin:6px 0 8px; color:#fff}
.fbanner p{opacity:.88; max-width:640px; font-size:15px; margin:0}
.fbanner .fstats{display:flex; gap:26px; margin-top:18px}
.fbanner .fstats b{font-family:var(--font-m); font-size:19px; font-weight:600; display:block}
.fbanner .fstats span{font-size:12.5px; opacity:.75}
.subs{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:26px 0 8px}
.sub{
  --zc:var(--z-men);
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r);
  padding:16px 18px; transition:all .16s ease-out; text-decoration:none; color:inherit; display:block;
}
.sub:hover{border-color:var(--zc); transform:translateY(-3px); box-shadow:var(--shadow-sm)}
.sub b{display:block; font-family:var(--font-h); font-size:14.5px; font-weight:700; margin-bottom:6px}
.sub:hover b{color:var(--zc)}
.sub span{font-size:12px; color:var(--muted); font-family:var(--font-m)}
.sub p{display:none}
.listbar{display:flex; align-items:center; gap:14px; margin:30px 0 14px}
.listbar h2{font-size:22px; font-weight:800; margin:0}
.listbar .btn{margin-left:auto}
.threads{display:flex; flex-direction:column; gap:10px; margin-bottom:26px}
.thread{
  --zc:var(--z-men);
  display:flex; align-items:center; gap:16px; padding:16px 20px;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r);
  transition:all .16s ease-out; text-decoration:none; color:inherit;
}
.thread:hover{border-color:var(--zc); box-shadow:var(--shadow-sm); transform:translateX(4px)}
.thread .tt{min-width:0; flex:1}
.thread .tt .tags{display:flex; gap:7px; margin-bottom:5px}
.tag{font-size:10.5px; font-weight:700; letter-spacing:.04em; padding:3px 9px; border-radius:999px; font-family:var(--font-h); text-transform:uppercase}
.tag.doc{background:color-mix(in srgb, var(--accent) 14%, transparent); color:var(--accent)}
.tag.solved{background:color-mix(in srgb, var(--accent) 14%, transparent); color:var(--accent)}
.tag.hot{background:color-mix(in srgb, var(--warning) 15%, transparent); color:var(--warning)}
.tag.anon{background:color-mix(in srgb, var(--z-blad) 13%, transparent); color:var(--z-blad)}
.tag.open{background:color-mix(in srgb, var(--z-off) 14%, transparent); color:var(--z-off)}
.tag.zonechip{display:inline-flex;align-items:center;gap:6px;background:color-mix(in srgb, var(--zc,var(--primary)) 12%, transparent); color:var(--zc,var(--primary))}
.tag.zonechip .zdot{width:7px;height:7px;border-radius:50%;display:inline-block}
.thread .tt b{display:block; font-size:15.5px; font-weight:700; font-family:var(--font-h); margin-bottom:3px}
.thread:hover .tt b{color:var(--zc)}
.thread .tt p{font-size:13px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:560px; margin:0}
.thread .au{display:flex; align-items:center; gap:9px; flex:none; width:150px}
.thread .au .ava{width:32px;height:32px; font-size:11px}
.thread .au span{font-size:12.5px; color:var(--muted); line-height:1.35}
.thread .au b{display:block; font-size:12.5px; color:var(--text)}
.thread .tn{flex:none; text-align:center; width:64px}
.thread .tn b{display:block; font-family:var(--font-m); font-size:15px; font-weight:600}
.thread .tn span{font-size:11px; color:var(--muted)}
.thread .tw{flex:none; text-align:right; width:110px; font-size:12px; color:var(--muted)}
.thread .tw b{display:block; font-size:12.5px; color:var(--text); font-weight:600}

/* пагинация MyBB */
.pager, .pagination{display:flex; gap:7px; justify-content:center; align-items:center; padding:8px 0 40px; flex-wrap:wrap}
.pagination .pages{font-size:12.5px;color:var(--muted);margin-right:8px}
.pagination a, .pagination .pagination_current, .pager a{
  min-width:38px; height:38px; display:inline-grid; place-items:center; border-radius:11px; padding:0 10px;
  border:1.5px solid var(--border); background:var(--surface); font-family:var(--font-m); font-size:13.5px; font-weight:600;
  color:var(--muted); transition:all .15s; text-decoration:none;
}
.pagination a:hover, .pager a:hover{border-color:var(--primary); color:var(--primary)}
.pagination .pagination_current, .pager a.on{background:var(--primary); border-color:var(--primary); color:#fff}
[data-theme="dark"] .pagination .pagination_current{color:#04121E}

/* ---------- showthread ---------- */
.thread-head{margin:20px 0 24px}
.thread-head .tags,.post-tags{display:flex; gap:8px; margin-bottom:10px; margin-top:14px; flex-wrap:wrap}
.thread-head h1{font-size:31px; font-weight:800; max-width:900px; margin:0}
.thread-head .meta{display:flex; gap:18px; margin-top:10px; font-size:13px; color:var(--muted); flex-wrap:wrap}
.thread-head .meta b{color:var(--text)}
.posts{display:flex; flex-direction:column; gap:16px; margin-bottom:28px}
.post{
  display:grid; grid-template-columns:220px 1fr; gap:0;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg);
  overflow:hidden; box-shadow:var(--shadow-sm);
}
.post.doc-post{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}
.post.doc-post .pauthor{background:color-mix(in srgb, var(--accent) 6%, var(--surface-2))}
.post.solution{border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}
.pauthor{background:var(--surface-2); border-right:1px solid var(--border); padding:22px 20px; text-align:center}
.pauthor .ava{width:64px;height:64px; margin:0 auto 10px; font-size:20px; border-radius:20px}
.pauthor .ava img{border-radius:20px}
.pauthor .nm{font-family:var(--font-h); font-weight:800; font-size:15.5px}
.pauthor .nm a{color:inherit; text-decoration:none}
.pauthor .nm a:hover{color:var(--primary)}
.pauthor .role{
  display:inline-flex; align-items:center; gap:5px; margin-top:6px; font-size:11px; font-weight:700;
  padding:4px 10px; border-radius:999px; font-family:var(--font-h);
}
.role.doctor{background:color-mix(in srgb, var(--accent) 14%, transparent); color:var(--accent)}
.role.member{background:color-mix(in srgb, var(--z-men) 12%, transparent); color:var(--z-men)}
.role.anon{background:color-mix(in srgb, var(--z-off) 14%, transparent); color:var(--z-off)}
.role svg{width:12px;height:12px}
.pauthor .spec{font-size:12px; color:var(--muted); margin-top:8px; line-height:1.45}
.pauthor .pstats{
  display:flex; justify-content:center; gap:14px; margin-top:12px; padding-top:12px;
  border-top:1px dashed var(--border); font-size:11.5px; color:var(--muted);
}
.pauthor .pstats b{display:block; font-family:var(--font-m); font-size:13.5px; color:var(--text); font-weight:600}
.pbody{padding:20px 26px; display:flex; flex-direction:column; min-width:0}
.pbar{display:flex; align-items:center; gap:12px; font-size:12.5px; color:var(--muted); padding-bottom:12px; border-bottom:1px solid var(--border); margin-bottom:16px}
.pbar .num{margin-left:auto; font-family:var(--font-m); font-weight:600}
.ptext{font-size:15px; line-height:1.72; overflow-wrap:break-word}
.ptext p{margin:0} .ptext p+p{margin-top:12px}
.ptext img{max-width:100%;height:auto}
.ptext blockquote, .ptext .quote, .pbody blockquote{
  margin:12px 0; padding:12px 16px; border-left:3px solid var(--primary); border-radius:0 10px 10px 0;
  background:var(--surface-2); font-size:13.5px; color:var(--muted);
}
.ptext .quote b{color:var(--primary); display:block; font-size:12px; margin-bottom:3px}
.best{
  margin-top:16px; display:flex; align-items:center; gap:10px; padding:11px 16px; border-radius:12px;
  background:color-mix(in srgb, var(--accent) 9%, transparent);
  border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);
  color:var(--accent); font-weight:700; font-size:13.5px; font-family:var(--font-h);
}
.best svg{width:17px;height:17px}
.pacts{display:flex; gap:8px; margin-top:auto; padding-top:16px; flex-wrap:wrap; align-items:center}
.pacts a, .pact{
  display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600; color:var(--muted);
  border:1.5px solid var(--border); background:var(--surface); border-radius:999px; padding:6px 14px; transition:all .15s;
  text-decoration:none; font-family:var(--font-h); cursor:pointer;
}
.pacts a:hover, .pact:hover{border-color:var(--primary); color:var(--primary)}
.pacts a.primary{border-color:var(--primary); color:var(--primary); font-weight:700}
.pacts .spacer{flex:1; border:0; background:none}
.pacts svg{width:14px;height:14px}

/* ---------- футер ---------- */
.footer{background:var(--surface); border-top:1px solid var(--border); margin-top:20px}
.footer .wrap{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:34px; padding:44px 24px 30px}
.footer h5{font-size:13px; letter-spacing:.07em; text-transform:uppercase; color:var(--muted); margin:0 0 14px; font-family:var(--font-h)}
.footer ul{list-style:none; display:flex; flex-direction:column; gap:9px; font-size:14px; margin:0; padding:0}
.footer ul a{color:var(--muted); transition:color .15s; text-decoration:none}
.footer ul a:hover{color:var(--primary)}
.footer .fbrand p{font-size:13.5px; color:var(--muted); margin:12px 0 0; max-width:300px}
.disclaimer{border-top:1px solid var(--border); padding:16px 24px; text-align:center; font-size:12.5px; color:var(--muted)}
.disclaimer b{color:var(--warning)}

/* ============================================================
   UV-BRIDGE — интеграция с MyBB (сброс дефолтов, аватары, формы)
   ============================================================ */
body{text-align:left}
.wrap,.hero,.pbody,.ptext,.pbar,.thread-head,.thread .tt,.thread .tt b,.thread .tt p,.posts,.feed,.zone,.fbanner,.crumbs,.listbar,.sub,.subs{text-align:left}
.ptext p,.ptext li,.ptext ol,.ptext ul{text-align:left}
.pauthor{text-align:center}
#screen-home{display:block}
#content{width:auto;padding:0}
/* дефолтный global.css MyBB ставит a:hover{text-decoration:underline} — гасим:
   ховер-эффекты у темы свои (цвет/тень/сдвиг), подчёркиваний быть не должно */
a,a:hover,a:active,a:focus{text-decoration:none}
.zone:hover .zt b,.zone:hover .zt span,.sub:hover b,.sub:hover span,
.thread:hover .tt b,.thread:hover .tt p,.feed-item:hover .ft b{text-decoration:none}

/* дефолтные таблицы MyBB (логин, регистрация, редактор, поиск, ЛС) в тоне темы */
.tborder{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-sm);margin:14px auto}
.thead{background:var(--primary) !important;color:#fff !important;padding:12px 16px;font-family:var(--font-h);font-weight:700}
.thead a, .thead strong{color:#fff !important}
.tcat{background:var(--surface-2) !important;color:var(--text) !important;padding:8px 14px;font-weight:700;font-size:13px}
.tcat a{color:var(--text) !important}
.trow1,.trow2{background:var(--surface) !important;color:var(--text);padding:10px 14px;border-top:1px solid var(--border)}
.trow_shaded{background:color-mix(in srgb,var(--warning) 8%,var(--surface)) !important}
table{border-color:var(--border)}
input.textbox, textarea, select{
  background:var(--surface-2);border:1.5px solid var(--border);border-radius:10px;color:var(--text);
  font:inherit;font-size:14px;padding:8px 12px;outline:none;
}
input.textbox:focus, textarea:focus{border-color:var(--primary)}
.button, input[type=submit]{
  background:var(--primary);color:#fff;border:0;border-radius:999px;font-family:var(--font-h);
  font-weight:700;font-size:13.5px;padding:9px 20px;cursor:pointer;
}
[data-theme="light"] .button,[data-theme="light"] input[type=submit]{background:#07548F}
.button:hover, input[type=submit]:hover{background:var(--primary-deep)}
.pagination .pagination_breadcrumb{border:0;background:none}
/* карточка темы: длинные слова */
.thread .tt b{overflow-wrap:anywhere}
/* popup-меню MyBB */
.popup_menu{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}
.popup_menu .popup_item{background:var(--surface);color:var(--text)}
.popup_menu .popup_item:hover{background:var(--surface-2)}
/* приличный вид цитат MyBB */
blockquote cite{display:block;color:var(--primary);font-style:normal;font-weight:700;font-size:12px;margin-bottom:4px}
/* смайлы и вложения не разъезжаются */
.pbody .smilie{vertical-align:middle}
/* низ страницы MyBB (время генерации и пр.) скрыт */
#debug, .bottommenu{display:none}

@media (max-width:1020px){
  .hero .wrap{grid-template-columns:1fr}
  .metrics .wrap{grid-template-columns:1fr 1fr}
  .sysmap{grid-template-columns:1fr}
  .tools{grid-template-columns:1fr}
  .subs{grid-template-columns:1fr 1fr}
  .post{grid-template-columns:1fr}
  .pauthor{border-right:0; border-bottom:1px solid var(--border)}
  .nav,.search{display:none}
  .footer .wrap{grid-template-columns:1fr 1fr}
  .thread .au{display:none}
  .thread .tw{display:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important; transition-duration:.01ms !important}
}
