/* ============================================================
   PUNBB THEME — CLEANED, DEDUPED, AND FIXED (v2)
   Notes:
   - Removed duplicated blocks (forum titles, post-links center, pa-card variants)
   - Replaced risky global selectors (e.g., p.container) with scoped ones
   - Fixed widths/offsets that broke layout; made post body responsive
   - Tightened specificity only where needed; preserved your palette and visuals
   - Normalized resets; removed unnecessary html{ position:relative }
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Spectral&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&display=swap');
@import url(style_cs.1760875080.css);


/*************************************************************
A - RESET & BASICS
**************************************************************/
html, body { margin:0; padding:0; }
.punbb * { margin:0; }
.punbb ul, .punbb dl, .punbb li, .punbb dd, .punbb dt { padding:0; list-style:none; }
.punbb img { border:0; }
.punbb .main table { table-layout:fixed; width:100%; }
.checkfield input[type="checkbox"], .radiofield input[type="radio"] { margin:0 0.3em; }
.checkfield *, .radiofield * { vertical-align:middle; }

body { font-size:100.01%; }
.punbb { font: normal 68.75% verdana, arial, helvetica, sans-serif; }
.punbb textarea, .punbb input, .punbb select, .punbb optgroup { font:1em verdana, arial, helvetica, sans-serif; }
.punbb h1, .punbb h2, .punbb h3, .punbb h4, .punbb table, .punbb th { font-size:14pt; font-weight:normal; }
.punbb h1 span, .punbb h2 span, .punbb legend span { font-size:18pt; }
.punbb pre { font: 1.1em/140% monaco, "bitstream vera sans mono", "courier new", courier, monospace; }
.punbb address, .punbb em { font-style:normal; }
.punbb .post-content em { font-style:italic; }
.punbb .post-content em.bbuline { font-style:normal; text-decoration:underline; }
.punbb a { text-decoration:underline; }
.punbb optgroup { font-weight:bold; }

/* Floats/clearfix */
#pun:after, .punbb .container:after, .punbb .post-links ul:after, .punbb .main div.inline:after, .punbb .post-box:after, .punbb .linksb:after {
  clear:both; content:"."; display:block; height:0; visibility:hidden; overflow:hidden; line-height:0; font-size:0;
}

/* Accessibly hidden */
.acchide,
#pun-index #pun-main h1, #pun-navlinks h2, #pun-pagelinks h2, #pun-status h2, #pun-ulinks h2,
.punbb .forum h2, .punbb .multipage .topic h2, .punbb dl.post-sig dt span,
.punbb p.crumbs strong, .punbb .divider hr, .punbb .required label em, .punbb .formsubmit label,
.punbb .submitfield label, .punbb .modmenu label, #pun-userlist .main h2 {
  font-size:0; height:0; width:0; line-height:0; position:absolute; left:-9999px; overflow:hidden;
}

/* Layout shell */
#pun { margin:150px auto 40px; position:relative; max-width:1200px; width:100%; padding:24px; box-sizing:border-box;
  background: url(https://forumstatic.ru/files/001c/8f/72/69321.png) top center no-repeat,
              url(https://forumstatic.ru/files/001c/8f/72/11829.png) bottom center no-repeat,
              url(https://forumstatic.ru/files/001c/8f/72/39071.png) top center repeat-y;
}
html{
  background:
    url('https://forumstatic.ru/files/001c/8f/72/96587.png') no-repeat center top,
    url('https://forumstatic.ru/files/001c/8f/72/16784.png') repeat;
  background-color:#111218;
}
.punbb { float:left; width:100%; height:auto; }
#pun-redirect, #pun-maint { margin:50px 20% 12px; float:none; width:auto; }
.punbb .section, .punbb .main { margin-bottom:1em; }
.punbb .category, .punbb .post { margin-top:.4em; }
.punbb #pun-category1, .punbb .toppost, .punbb .topicpost { margin-top:0; }
#pun-post .topic { margin-top:1em; }

/* Borders */
.punbb .section, .punbb .forum, .punbb .formal, .punbb .modmenu, .punbb .info,
.punbb .category, .punbb .post { border-style:none none solid; border-width:0 0 2px; }
.punbb .container{ border:1px solid transparent; }
.punbb .section h2, #pun-main h1, #pun-main h2, #pun-stats h2, #pun-debug h2 { padding:.5em 1em; border-style:none solid solid none; border-width:0 1px 1px 0; }

/********************************************************
  GLOBAL PALETTE / VARS
*********************************************************/
:root{
  --c-bg-deep:#0A0F14; --c-ink:#000C14; --c-gold:#CDC499; --c-gold-soft:#E6DFAF; --c-gold-quiet:#D0CBAF; --c-sand:#E6E2C0;
  --c-brass:#8C876E; --c-red:#751B11; --c-red2:#A6211E;
  --b-weak:rgba(140,135,110,.25); --b-mid:rgba(140,135,110,.35); --b-strong:rgba(140,135,110,.50);
  --glass:rgba(8,17,24,.60); --glass2:rgba(8,17,24,.65); --glass3:rgba(12,17,24,.75);
  --icon-new:url(https://forumstatic.ru/files/001c/8f/72/43240.png);
  --icon-old:url(https://forumstatic.ru/files/001c/8f/72/75638.png);
}

/********************************************************
  TITLE / NAV / USER LINKS
*********************************************************/
#pun-title, #pun-title .container{ background:transparent!important; border:0!important; }
#pun-title h1{ font-size:0!important; line-height:0!important; height:0!important; padding:0!important; margin:0!important; overflow:hidden!important; }
#pun-title h1 span, #pun-title h1 a, #pun-title img{ display:none!important; }
#pun-title table, #pun-title td{ background:transparent!important; border:0!important; height:0!important; padding:0!important; }

#pun-navlinks{ width:100%; display:flex; justify-content:center; margin:0 auto 8px; background:transparent; position:relative; z-index:5; }
#pun-navlinks .container{ width:900px; display:flex; justify-content:center; gap:10px; flex-wrap:wrap; padding:12px 24px; background:rgba(8,17,24,.6); border:1px solid var(--b-mid); box-shadow:0 0 8px rgba(0,0,0,.5); backdrop-filter:blur(3px); }
#pun-navlinks li{ list-style:none; }
#pun-navlinks a{ font-family:"Playfair Display", serif; font-size:1.05em; letter-spacing:.05em; color:var(--c-gold); text-decoration:none; text-transform:uppercase; transition:.3s; padding:6px 10px; position:relative; }
#pun-navlinks a:hover{ color:var(--c-gold-soft); text-shadow:0 0 6px rgba(255,220,150,.6); }
#pun-navlinks a::after{ content:""; position:absolute; left:50%; bottom:0; width:0; height:2px; background:var(--c-gold); transition:.3s; transform:translateX(-50%); }
#pun-navlinks a:hover::after{ width:80%; background:var(--c-gold-soft); }
@media (max-width:960px){ #pun-navlinks .container{ width:95%; gap:12px; } #pun-navlinks a{ font-size:.95em; } }

#pun-ulinks{ width:100%; display:flex; justify-content:center; margin:10px auto; background:transparent; position:relative; z-index:5; }
#pun-ulinks .container{ display:flex; justify-content:center; gap:18px; background:transparent; border:none; padding:4px 0; }
#pun-ulinks li{ list-style:none; }
#pun-ulinks a{ font-family:"Playfair Display", serif; font-size:.95em; letter-spacing:.05em; color:var(--c-gold); text-decoration:none; text-transform:uppercase; transition:.3s; padding:3px 6px; }
#pun-ulinks a:hover{ color:var(--c-gold-soft); text-shadow:0 0 6px rgba(255,220,150,.4); }
@media (max-width:920px){ #pun-ulinks .container{ flex-wrap:wrap; gap:10px; } #pun-ulinks a{ font-size:.9em; } }

/********************************************************
  STATUS + NEEDED CHARACTERS ROW
*********************************************************/
#pun-status-row{ display:flex; justify-content:space-between; align-items:stretch; gap:20px; margin:15px 0 25px; flex-wrap:wrap; }
#pun-status, .needed-characters{
  flex:1 1 48%; display:flex; flex-direction:column; justify-content:center; align-items:center;
  background:var(--glass2); border:1px solid var(--b-mid); box-shadow:0 0 10px rgba(0,0,0,.5); backdrop-filter:blur(3px);
  box-sizing:border-box; padding:16px 20px; color:var(--c-sand);
}
#pun-status{ align-items:flex-start; }
#pun-status .container{ background:transparent!important; border:none!important; box-shadow:none!important; margin:0!important; padding:0!important; display:flex; align-items:center; gap:16px; }
#pun-status .user-avatar{ flex:0 0 72px; width:72px; height:72px; min-width:72px; min-height:72px; border-radius:50%; overflow:hidden; display:block; border:1px solid var(--b-mid); box-shadow:0 0 6px rgba(0,0,0,.4); background:#0c1822 url(https://forumstatic.ru/files/001c/8f/72/58600.png) center/60% no-repeat; }
#pun-status .user-avatar img{ width:100%!important; height:100%!important; object-fit:cover; border-radius:50%; display:block; }
#pun-status .user-info{ flex:1; display:flex; flex-direction:column; gap:4px; text-align:left; font-family:'Spectral',serif; font-size:14px; line-height:1.35; }
#pun-status .user-info a{ color:var(--c-gold); text-decoration:none; transition:.25s; }
#pun-status .user-info a:hover{ color:var(--c-gold-soft); text-shadow:0 0 6px rgba(255,220,150,.4); }

.needed-characters h3{ font-family:'Playfair Display',serif; font-size:18pt; color:var(--c-gold); margin:0 0 12px; text-shadow:0 0 6px rgba(0,0,0,.4); }
.needed-list{ display:flex; justify-content:center; gap:20px; flex-wrap:wrap; }
.needed-list .char{ display:flex; flex-direction:column; align-items:center; gap:6px; }
.needed-list .char img{ width:72px; height:72px; border-radius:50%; object-fit:cover; border:1px solid rgba(205,196,153,.3); box-shadow:0 0 6px rgba(0,0,0,.4); }
.needed-list .char span{ font-family:'Spectral',serif; font-size:14px; color:var(--c-sand); }
@media(max-width:900px){ #pun-status-row{flex-direction:column;} #pun-status, .needed-characters{flex:1 1 100%;} }

/********************************************************
  BREADCRUMBS
*********************************************************/
#pun-crumbs1 p.container, #pun-crumbs2 p.container{
  background:transparent!important; border:none!important; box-shadow:none!important; padding:.4em 0!important; margin:0 auto!important; font-family:'Playfair Display',serif!important; font-size:16pt; text-align:left;
}
#pun-crumbs1 p.container{ color:var(--c-brass)!important; }
#pun-crumbs2 p.container{ color:#8C876E!important; }
#pun-crumbs1 p.container a, #pun-crumbs2 p.container a{ color:var(--c-gold)!important; text-decoration:none; transition:color .25s, text-shadow .25s; }
#pun-crumbs1 p.container a:hover{ color:var(--c-gold-soft)!important; text-shadow:0 0 5px rgba(255,220,150,.3); }
#pun-crumbs2 p.container a:hover{ color:#E6DFAF!important; text-shadow:0 0 5px rgba(255,220,150,.3); }

/********************************************************
  CATEGORY HEADER IMAGE
*********************************************************/
.punbb .category{ position:relative; margin:40px 0 16px; border:0; background:transparent; }
.punbb .category h2{ font-size:0; line-height:0; color:transparent; border:0; background:none; padding:0; margin:0 0 10px; }
.punbb .category h2::before{ content:""; display:block; height:90px; width:100%; background-repeat:no-repeat; background-position:right center; background-size:contain; margin-bottom:10px; }
#pun-category1 h2::before{ background-image:url(https://forumstatic.ru/files/001c/8f/72/21081.png); }
#pun-category2 h2::before{ background-image:url(https://forumstatic.ru/files/001c/8f/72/53568.png); }
#pun-category3 h2::before{ background-image:url(https://forumstatic.ru/files/001c/8f/72/80715.png); }

/********************************************************
  INDEX TABLE / CARDS
*********************************************************/
#pun-index .main table{ width:100%!important; table-layout:fixed!important; border-collapse:separate!important; border-spacing:0 10px!important; }
#pun-index .main thead{ display:none!important; }
.punbb .main .container{ position:relative; background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.25)), url(https://forumstatic.ru/files/001c/8f/72/11444.png) repeat!important; background-blend-mode:multiply; border:1px solid var(--b-mid); box-shadow:inset 0 0 25px rgba(0,0,0,.6); color:var(--c-sand); padding:15px; z-index:0; }
#pun-index .main{ padding:10px 15px; background:transparent; }
.punbb .main .container a{ color:#CDC499; text-decoration:none; font-family:'Spectral',serif!important; }
.punbb .main .container a:hover{ color:#751B11; text-shadow:0 0 6px rgba(230,225,200,.4); }

#pun-index .main tbody tr>td:first-child{ background:linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.2)), url(https://forumstatic.ru/files/001c/8f/72/11444.png) repeat!important; background-blend-mode:multiply; border:1px solid var(--b-mid)!important; border-right:none!important; box-shadow:inset 0 0 12px rgba(0,0,0,.45); padding:12px 14px!important; color:var(--c-ink)!important; }
#pun-index .main tbody tr>td:last-child{ background:var(--glass)!important; border:1px solid var(--b-mid)!important; border-left:1px solid var(--b-strong)!important; padding:12px 14px!important; }

/* forum titles */
#pun-index .main td.tcl h3, #pun-index .main td.tcl h3 a, .punbb .main .tcl h3, .punbb .main .tcl h3 a{
  font-family:'Playfair Display',serif!important; font-weight:700; color:var(--c-red)!important; text-decoration:none!important; font-size:18pt; line-height:1.2; letter-spacing:.02em; text-shadow:0 0 3px rgba(0,0,0,.25); transition:color .2s;
}
#pun-index .main td.tcl h3 a:hover{ color:#a52316!important; text-shadow:0 0 5px rgba(117,27,17,.4); }

/* descriptions */
#pun-index .main td.tcl .forumdesc,
#pun-index .main td.tcl .forum_description,
#pun-index .main td.tcl .tclcon p,
#pun-index .main td.tcl .smalltext,
#pun-index .main td.tcl p{
  font-family:'Spectral',serif!important; font-size:16pt!important; line-height:1.4!important; color:var(--c-ink)!important; margin:6px 0 0!important; text-align:left!important; text-shadow:none!important; letter-spacing:.01em!important;
}
#pun-index .main td.tcl .forumdesc a,
#pun-index .main td.tcl .forum_description a,
#pun-index .main td.tcl .smalltext a{ color:var(--c-ink)!important; text-decoration:underline; }

/* icon left */
/* C2.15 */
.punbb div.icon {
  float: right;
  display: block;
  width: 75px;
  height: 75px;
margin-right: 3px;}

div.icon {background: url(https://forumstatic.ru/files/001c/8f/72/53888.png) center  no-repeat;}

TR.inew Div.icon {background: url(https://forumstatic.ru/files/001c/8f/72/74644.png) center  no-repeat;}

TR.iclosed Div.icon{background: url(https://forumstatic.ru/files/001c/8f/72/84546.png) center  no-repeat;}

TR.isticky Div.icon {background: url(https://forumstatic.ru/files/001c/8f/72/78086.png) center  no-repeat;}


/* last post cell */
#pun-index .main td.tcr{ position:relative; min-height:52px; padding:12px!important; overflow:hidden!important; white-space:normal!important; word-wrap:break-word!important; word-break:break-word!important; background:var(--glass)!important; border:1px solid var(--b-mid)!important; }
#pun-index .main td.tcr img{ float:left!important; width:48px!important; height:48px!important; margin:0 10px 0 0!important; border-radius:50%!important; object-fit:cover!important; border:1px solid rgba(205,196,153,.3); box-shadow:0 0 4px rgba(0,0,0,.5); }
#pun-index .main td.tcr > a:first-of-type{ display:block!important; margin-left:58px; white-space:nowrap!important; overflow:hidden!important; text-overflow:ellipsis!important; max-width:calc(100% - 58px); color:var(--c-gold-soft)!important; text-decoration:underline; line-height:1.3; }
#pun-index .main td.tcr br{ display:none!important; }
#pun-index .main td.tcr time, #pun-index .main td.tcr .byuser{ display:inline!important; white-space:nowrap; color:var(--c-gold-quiet)!important; }
#pun-index .main td.tcr time::after{ content:" — "; opacity:.9; }
#pun-index .main td.tcr a{ display:inline!important; padding:0!important; border:0!important; background:transparent!important; box-shadow:none!important; color:var(--c-gold-soft)!important; text-decoration:underline; }
#pun-index .main td.tcr a:hover{ color:#FFF6E5!important; text-shadow:0 0 3px rgba(205,196,153,.35); }

/* hide counts cols */
#pun-index .main .tc2, #pun-index .main .tc3{ display:none!important; }

/********************************************************
  STATS
*********************************************************/
#pun-stats h2, #pun-stats .block h2{ position:relative; height:120px; margin:0; background:transparent!important; border:none!important; box-shadow:none!important; text-indent:-9999px; overflow:hidden; }
#pun-stats h2::before, #pun-stats .block h2::before{ content:""; position:absolute; top:50%; left:50%; width:400px; height:120px; transform:translate(-50%,-50%); background:url(https://forumstatic.ru/files/001c/8f/72/55045.png) center/contain no-repeat; }
#pun-stats .block, #pun-stats .box, #pun-stats .blocktable, #pun-stats .block .box, #pun-stats .block h2{ background:transparent!important; border:none!important; box-shadow:none!important; }

#pun-stats{ margin:12px 0 24px; }
#pun-stats .stats-wrap{ width:900px; max-width:95%; margin:0 auto; box-sizing:border-box; display:flex; flex-direction:column; gap:12px; padding:14px 18px; background:var(--glass); border:1px solid var(--b-mid); box-shadow:0 0 8px rgba(0,0,0,.5), inset 0 0 20px rgba(0,0,0,.35); backdrop-filter:blur(2px); color:var(--c-sand); }
#pun-stats.stats-clean.has-wrap > :not(h2):not(.stats-wrap){ display:none!important; }
.stats-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:8px; align-items:stretch; }
.stat-card{ display:flex; align-items:center; justify-content:flex-start; gap:10px; padding:6px 10px; border:1px solid var(--b-mid); background:var(--glass3); box-shadow:inset 0 0 6px rgba(0,0,0,.5); text-decoration:none; transition:.25s; }
.stat-card:hover{ border-color:var(--c-red); background:rgba(20,15,15,.9); transform:translateY(-2px); }
.stat-ico{ width:22px; height:22px; opacity:.9; background-size:contain; background-repeat:no-repeat; background-position:center; border-radius:6px; }
.stat-ico.topics{ background-image:url('https://forumstatic.ru/files/001c/8f/72/topic_icon.png'); }
.stat-ico.posts { background-image:url('https://forumstatic.ru/files/001c/8f/72/post_icon.png'); }
.stat-ico.users { background-image:url('https://forumstatic.ru/files/001c/8f/72/user_icon.png'); }
.stat-ico.latest{ background-image:url('https://forumstatic.ru/files/001c/8f/72/star_icon.png'); }
.stat-body{ display:flex; flex-direction:column; min-width:0; font-family:'Playfair Display',serif; }
.stat-label{ font-size:12px; color:var(--c-brass); text-transform:uppercase; letter-spacing:.03em; }
.stat-value{ font-size:18px; font-weight:600; line-height:1.2; color:var(--c-red); text-shadow:0 0 4px rgba(205,196,153,.25); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.stat-card:hover .stat-value{ color:var(--c-red2); }
.stat-card:hover .stat-label{ color:var(--c-gold-quiet); }
.stats-foot{ margin-top:8px; padding:10px 10px 4px; border-top:1px solid var(--b-mid); background:linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.1)); font-family:'Spectral',serif; color:var(--c-gold-quiet); }
.stats-line{ position:relative; margin:6px 0; padding-left:18px; font-family:'Playfair Display',serif; font-size:14pt; line-height:1.3; color:var(--c-sand); overflow-wrap:anywhere; word-break:break-word; }
.stats-line::before{ content:""; position:absolute; left:0; top:.55em; width:8px; height:8px; background:var(--c-red); box-shadow:0 0 5px rgba(117,27,17,.55); }
.stats-line:first-child::before{ box-shadow:0 0 6px rgba(117,27,17,.8); }
.stats-line .meta{ color:#BDB6A3; font-family:'Spectral',serif; font-size:.85em; margin:0 10px 0 2px; display:inline-block; padding:2px 8px; background:rgba(12,17,24,.35); border:1px solid var(--b-mid); white-space:nowrap; }
.stats-line a{ color:var(--c-red) !important; text-decoration:none; border-bottom:1px dashed rgba(117,27,17,.45); }
.stats-line a:hover{ color:var(--c-red2) !important; border-bottom-color:transparent; text-shadow:0 0 3px rgba(165,33,30,.45); }
.stats-links{ text-align:right; margin-top:6px; padding-top:6px; border-top:1px solid var(--b-weak); font-family:'Spectral',serif; font-size:13px; color:var(--c-brass); }
@media (max-width:980px){ .stats-grid{ grid-template-columns:repeat(2,1fr); } .stats-line{ font-size:13.5pt; } }

/********************************************************
  BANNERS FOOTER
*********************************************************/
#pun-banners{ margin:18px 0 30px; }
#pun-banners .banners-wrap{ width:100%; max-width:1200px; margin:0 auto; padding:14px 16px; box-sizing:border-box; background: rgba(8,17,24,.60) !important; border: 1px solid var(--b-mid); box-shadow: 0 0 8px rgba(0,0,0,.5), inset 0 0 18px rgba(0,0,0,.35); display:grid !important; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); grid-auto-flow:dense; gap: 12px; }
#pun-banners .banner{ position:relative; display:grid; place-items:center; padding:8px; background: rgba(12,17,24,.75); border: 1px solid var(--b-mid); box-shadow: inset 0 0 8px rgba(0,0,0,.45); }
#pun-banners .banner--728x90 { grid-column:1/-1; aspect-ratio:728/90; }
#pun-banners .banner--468x60 { aspect-ratio:468/60; }
#pun-banners .banner--300x250{ aspect-ratio:300/250; }
#pun-banners .banner--200x200{ aspect-ratio:1/1; }
#pun-banners .banner img, #pun-banners .banner picture, #pun-banners .banner iframe{ display:block; width:100%; height:100%; object-fit:contain; border:0; border-radius:2px; }
@media (max-width:980px){ #pun-banners .banner--728x90{ grid-column:1/-1; } }
#pun-banners .footer-meta{ grid-column:1/-1; margin-top:4px; padding-top:8px; border-top:1px solid var(--b-weak); font-family:'Spectral',serif; font-size:13px; color:#BDB6A3; text-align:right; }
#pun-banners .footer-meta a{ color:#E6DFAF; text-decoration:underline; }
#pun-banners .footer-meta a:hover{ color:#FFF6E5; text-shadow:0 0 3px rgba(205,196,153,.35); }

/* engine footer strip off */
.punbb .mod-copyright, .punbb .copyright, .punbb .modcopy, .punbb .pun-foot, .punbb #pun > .container:last-child:has(a[href*="forum"]) {
  background:transparent !important; border:none !important; box-shadow:none !important; color:inherit !important; padding:0 !important;
}

/********************************************************
  VIEWFORUM (topic list)
*********************************************************/
.punbb #pun-viewforum .main .linkst, .punbb #pun-viewforum .main .linksb { background:transparent!important; border:none!important; box-shadow:none!important; padding:0!important; margin:0 0 10px!important; }
.punbb #pun-viewforum .main .pagelink, .punbb #pun-viewforum .main .crumbs{ display:none; }

.vf-head{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; padding:10px 14px; margin:0 0 12px; background: rgba(8,17,24,.65); border:1px solid var(--b-mid); box-shadow: 0 0 8px rgba(0,0,0,.5), inset 0 0 12px rgba(0,0,0,.35); border-radius:10px; }
.vf-title{ font-family:'Playfair Display',serif; font-weight:700; letter-spacing:.02em; color:#E6E2C0; font-size:20pt; line-height:1.1; }
.vf-actions{ display:flex; gap:12px; flex-wrap:wrap; align-self:stretch; }
.vf-actions a{ display:inline-block; padding:6px 10px; background: rgba(12,17,24,.75); border:1px solid var(--b-mid); box-shadow: inset 0 0 6px rgba(0,0,0,.45); color:#E6DFAF !important; text-decoration:none; font-family:'Trajan Pro','Cinzel',serif; letter-spacing:.04em; text-transform:uppercase; font-size:12.5px; }
.vf-actions a:hover{ border-color:#751B11; color:#FFF6E5 !important; }

.punbb #pun-viewforum .blocktable, .punbb #pun-viewforum .box { background:transparent!important; border:0!important; }
.punbb #pun-viewforum table { width:100%; border-collapse:separate; border-spacing:0 10px; }
#pun-viewforum thead th{
  font-family:'Playfair Display',serif; font-weight:700; font-size:18px; letter-spacing:.02em; color:#E6E2C0;
  background:linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.22)), rgba(12,17,24,.80);
  border:1px solid var(--b-mid); box-shadow: inset 0 0 10px rgba(0,0,0,.45);
  padding:10px 12px; text-align:left; white-space:nowrap; position:sticky; top:0; z-index:5;
}
#pun-viewforum thead th.tc2, #pun-viewforum thead th.tc3{ text-align:center; }
#pun-viewforum thead th.tcr{ text-align:left; }
#pun-viewforum thead th:first-child{ border-top-left-radius:8px; }
#pun-viewforum thead th:last-child{ border-top-right-radius:8px; }
@media (max-width:980px){ #pun-viewforum thead th{ position:static!important; } }

.punbb #pun-viewforum tbody tr td{ background: rgba(8,17,24,.55); border:1px solid var(--b-mid); padding:12px 14px; vertical-align:middle; color:#E6E2C0; transition: transform .08s ease, box-shadow .15s; }
.punbb #pun-viewforum tbody tr:hover{ box-shadow: 0 0 8px rgba(0,0,0,.35); transform: translateY(-1px); }
.punbb #pun-viewforum td.tcl .icon{ display:none !important; }
.punbb #pun-viewforum td.tcl h3, .punbb #pun-viewforum td.tcl h3 a{ font-family:'Playfair Display',serif; font-size:18pt; line-height:1.25; color:#E6E2C0 !important; text-decoration:none; }
.punbb #pun-viewforum td.tcl h3 a:hover{ color:#FFF6E5 !important; text-shadow:0 0 3px rgba(230,225,200,.35); }
.punbb #pun-viewforum td.tcl .byuser, .punbb #pun-viewforum td.tcl .modlist, .punbb #pun-viewforum td.tcl .pagestext{ display:block; margin-top:4px; color:#BDB6A3; font-family:'Spectral',serif; font-size:13.5px; }
.punbb #pun-viewforum td.tcl .pagestext a{ color:#E6DFAF; text-decoration:underline; }
.punbb #pun-viewforum td.tcl .pagestext a:hover{ color:#FFF6E5; }
.punbb #pun-viewforum td.tc2, .punbb #pun-viewforum td.tc3{ text-align:center; font-family:'Trajan Pro','Cinzel',serif; letter-spacing:.04em; color:#D0CBAF; }
.punbb #pun-viewforum td.tcr{ position:relative; white-space:normal; word-break:break-word; }
.punbb #pun-viewforum td.tcr img{ float:left; width:40px; height:40px; margin:0 10px 0 0; border-radius:50% !important; object-fit:cover; border:1px solid rgba(205,196,153,.3); box-shadow:0 0 3px rgba(0,0,0,.5); }
.punbb #pun-viewforum td.tcr > a:first-of-type{ display:block; margin-left:50px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:#E6DFAF !important; text-decoration:underline; }
.punbb #pun-viewforum td.tcr br{ display:none !important; }
.punbb #pun-viewforum td.tcr time, .punbb #pun-viewforum td.tcr .byuser{ display:inline; white-space:nowrap; color:#D0CBAF; }
.punbb #pun-viewforum td.tcr time::after{ content:" — "; }
.punbb #pun-viewforum input[type="checkbox"]{ width:16px; height:16px; accent-color:#751B11; }
.punbb #pun-viewforum .modcontrols, .punbb #pun-viewforum .modcontrols + p{ background: rgba(8,17,24,.50) !important; border:1px solid var(--b-mid) !important; box-shadow: inset 0 0 8px rgba(0,0,0,.35) !important; padding:10px 12px !important; margin-top:10px !important; color:#BDB6A3 !important; font-family:'Spectral',serif !important; }
.punbb #pun-viewforum .modcontrols select, .punbb #pun-viewforum .modcontrols input[type="submit"]{ background: rgba(12,17,24,.75); color:#E6E2C0; border:1px solid var(--b-mid); padding:6px 8px; }
.punbb #pun-viewforum .postlink{ text-align:right; padding-top:6px; color:#BDB6A3; font-family:'Spectral',serif; font-size:13px; }
.punbb #pun-viewforum .postlink a{ color:#E6DFAF; text-decoration:underline; }
.punbb #pun-viewforum .postlink a:hover{ color:#FFF6E5; }
.punbb #pun-viewforum .vf-pager{ display:flex; gap:6px; flex-wrap:wrap; margin:6px 0 12px; justify-content:flex-end; }
.punbb #pun-viewforum .vf-pager a, .punbb #pun-viewforum .vf-pager span{ display:inline-block; min-width:34px; text-align:center; padding:6px 8px; border:1px solid var(--b-mid); background: rgba(12,17,24,.75); color:#E6DFAF; text-decoration:none; font-family:'Trajan Pro','Cinzel',serif; font-size:12.5px; letter-spacing:.04em; }
.punbb #pun-viewforum .vf-pager .cur{ background: rgba(20,10,10,.75); border-color:#751B11; }
#pun-main h1{ font-family:'Playfair Display',serif; font-weight:700; font-size:18pt; letter-spacing:.5px; color:#751B11; text-align:left; margin:20px 0 10px; border-color:transparent; position:relative; transition: color .3s, text-shadow .3s; }
#pun-main h1::after{ content:""; display:block; width:120px; height:2px; margin-top:6px; background: linear-gradient(to right, #751B11, #8C876E); box-shadow: 0 0 8px rgba(117,27,17,0.5); }
#pun-main h1:hover{ color:#FFF6E5; text-shadow:0 0 8px rgba(117,27,17,.6); }

/********************************************************
  MODMENU strip
*********************************************************/
.punbb .modmenu{ margin:8px 0 0; }
.punbb .modmenu .container{ display:flex; align-items:center; flex-wrap:wrap; gap:10px 12px; padding:8px 12px; background: rgba(12,17,24,.78) !important; border:1px solid var(--b-mid); box-shadow: inset 0 0 10px rgba(0,0,0,.45); border-radius:8px; color:#D0CBAF; font-family:'Spectral',serif; font-size:14px; }
.punbb .modmenu .container::before{ content:"Модерация"; display:inline-block; padding:4px 10px; margin-right:4px; background: rgba(8,17,24,.65); border:1px solid var(--b-mid); box-shadow: inset 0 0 6px rgba(0,0,0,.45); color:#E6E2C0; font-family:'Trajan Pro','Cinzel',serif; letter-spacing:.05em; text-transform:uppercase; }
.punbb .modmenu .container a{ color:#E6DFAF; text-decoration:none; border-bottom:1px dashed rgba(230,223,175,.35); padding-bottom:1px; transition: color .25s, border-color .25s, text-shadow .25s; }
.punbb .modmenu .container a:hover{ color:#FFF6E5; border-bottom-color:transparent; text-shadow:0 0 3px rgba(205,196,153,.35); }
.punbb .modmenu .container a:not(:last-of-type)::after{ content:"•"; margin:0 8px; color:#8C876E; opacity:.85; }
.punbb .modmenu select{ background: rgba(12,17,24,.75)!important; border:1px solid var(--b-mid); color:#E6E2C0; padding:6px 8px; }
.punbb .modmenu input[type="submit"]{ background: rgba(20,10,10,.78); border:1px solid #751B11; color:#E6E2C0; padding:6px 10px; cursor:pointer; transition: filter .2s, box-shadow .2s; }
.punbb .modmenu input[type="submit"]:hover{ filter:brightness(1.05); box-shadow:0 0 6px rgba(117,27,17,.5); }

/********************************************************
  LOGIN FORM
*********************************************************/
#pun-login .formal { max-width:780px; margin:0 auto; }
#pun-login form#login.container{ background: rgba(12,17,24,.78); border: 1px solid var(--b-mid); box-shadow: 0 0 10px rgba(0,0,0,.45), inset 0 0 18px rgba(0,0,0,.35); border-radius: 10px; padding:16px 18px; color:#E6E2C0; }
#pun-login legend{ font-family:'Playfair Display',serif; font-weight:700; font-size:22px; letter-spacing:.02em; color:#E6DFAF; margin:0 0 10px; padding:0; line-height:1.2; }
#pun-login .fs-box.inline{ display:grid; grid-template-columns:140px 1fr 1fr; gap:10px 14px; align-items:center; }
@media (max-width:820px){ #pun-login .fs-box.inline{ grid-template-columns:1fr; align-items:stretch; } }
#pun-login label{ font-family:'Spectral',serif; font-size:14px; color:#D0CBAF; white-space:nowrap; }
#pun-login input[type="text"], #pun-login input[type="password"]{ width:100%; box-sizing:border-box; height:38px; padding:8px 12px; font-family:'Spectral',serif; font-size:15px; color:#E6E2C0; background: rgba(8,17,24,.8); border:1px solid rgba(140,135,110,.4); border-radius:6px; outline:none; transition: border-color .2s, box-shadow .2s; }
#pun-login input::placeholder{ color:#9e9882; }
#pun-login input[type="text"]:focus, #pun-login input[type="password"]:focus{ border-color:#751B11; box-shadow: 0 0 0 3px rgba(117,27,17,.25); }
#pun-login .fs-box + p{ margin:6px 0 0; font-family:'Spectral',serif; font-size:13px; color:#BDB6A3; }
#pun-login p.formsubmit{ display:flex; flex-wrap:wrap; gap:10px 14px; align-items:center; margin:10px 0 0; padding-top:10px; border-top:1px solid var(--b-weak); }
#pun-login input[type="submit"], #pun-login button[type="submit"]{ height:38px; padding:0 16px; background: radial-gradient(circle at 50% 0%, rgba(117,27,17,.25), rgba(20,10,10,.9)); border:1px solid var(--c-red); color:#E6E2C0; font-family:'Trajan Pro','Cinzel',serif; letter-spacing:.04em; text-transform:uppercase; cursor:pointer; border-radius:6px; box-shadow:0 0 6px rgba(0,0,0,.35), inset 0 0 8px rgba(0,0,0,.35); transition: transform .06s, filter .2s, box-shadow .2s; }
#pun-login input[type="submit"]:hover{ filter:brightness(1.05); }
#pun-login input[type="submit"]:active{ transform:translateY(1px); }
#pun-login p.formsubmit a{ color:#E6DFAF; text-decoration:underline; transition:color .2s, text-shadow .2s; }
#pun-login p.formsubmit a:hover{ color:#FFF6E5; text-shadow:0 0 3px rgba(205,196,153,.35); }
#pun-login .formal .container{ padding:0; background:transparent!important; border:0!important; box-shadow:none!important; }

/********************************************************
  ACCESSIBILITY: focus ring
*********************************************************/
a:focus-visible, button:focus-visible, input[type="submit"]:focus-visible, select:focus-visible{
  outline:2px solid var(--c-red); outline-offset:2px; box-shadow:0 0 0 3px rgba(117,27,17,.25);
}

/********************************************************
  VIEWTOPIC: Post cards (author + content)
*********************************************************/
.punbb .post{ margin:24px 0; border:0!important; background:transparent!important; }
.punbb .post .container{ display:grid; grid-template-columns:27px 1fr; gap:16px; align-items:start; background:transparent!important; border:0!important; box-shadow:none!important; }

/* Author column */
.punbb .post .post-author{ width:240px !important; overflow:visible; }
.punbb .post .post-author .pa-card{
  --slot-w: min(92%, 360px); --slot-h:64px; --slot-r:16px; --slot-pad:16px 18px;
  position:relative; margin:0 auto 16px; padding:22px 18px 26px; max-width:420px;
  background: rgba(10,14,20,.72); border:1px solid rgba(205,195,160,.25);
  box-shadow: 0 10px 28px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.06);
}
.punbb .post .post-author .pa-ava{ display:grid; place-items:center; margin: 4px auto 14px; width:158px; height:158px; position:relative; }
.punbb .post .post-author .pa-ava::before{ content:""; position:absolute; inset:0; border-radius:999px; background: conic-gradient(from 0deg, rgba(209,140,120,.85) 0deg, rgba(209,140,120,.15) 120deg, rgba(213,199,160,.85) 180deg, rgba(209,140,120,.15) 300deg, rgba(209,140,120,.85) 360deg); filter: blur(.5px) saturate(1.08); opacity:.9; }
.punbb .post .post-author .pa-ava > img{ position:relative; width:148px; height:148px; border-radius:999px; object-fit:cover; display:block; box-shadow: 0 6px 16px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.08); background:#0C1118; }
.punbb .post .post-author .pa-name{ margin-top:6px; text-align:center; color:#F0EAD1; font-size:18pt; letter-spacing:.4px; text-shadow:0 1px 0 rgba(0,0,0,.35); font-family:'Spectral',serif; }
.punbb .post .post-author .pa-role{ margin-top:4px; margin-bottom: 8px; text-align:center; color:#B9B39A; font-size:16px; }
.punbb .post .post-author .pa-meta{ display:grid; grid-template-columns:1fr 1fr; gap:8px; width:100%; }
.punbb .post .post-author .pa-meta .item{ width: 180px; border:1px solid rgba(205,195,160,.25); border-radius:10px; padding:8px 10px; text-align:center; background:rgba(0,0,0,.15); }
.punbb .post .post-author .pa-meta .item span{ display:block; font-size:12px; color:#8C876E; margin-bottom:3px; }
.punbb .post .post-author .pa-meta .item b{ font-size:15px; color:#E6DFAF; }

/* Hide legacy lists when pa-card is present */
.punbb .post .post-author:has(.pa-card) > ul{ display:none !important; }

/* Post body (responsive, no hard width/margin hacks) */
.punbb .post-body{ background: var(--glass); border:1px solid var(--b-mid); box-shadow: inset 0 0 20px rgba(0,0,0,.35); color: var(--c-sand); padding:18px; box-sizing:border-box; align-self:start; width: 900px; margin-left: -85px;}
.punbb .post-body .post-box{ position:relative; }
.punbb .post-body .post-content{ max-width:820px; margin:0 auto; padding:18px 20px; border:1px solid var(--b-mid); box-shadow:0 0 10px rgba(0,0,0,.35), inset 0 0 14px rgba(0,0,0,.25); background: linear-gradient(180deg, rgba(0,0,0,0.35), rgba(0,0,0,0.5)), url("https://forumstatic.ru/files/001c/82/cd/91912.png") repeat; background-size:300px auto; background-blend-mode:overlay; color:#000C14; font-family:'Spectral',serif; font-size:14pt; line-height:1.75; letter-spacing:.01em; hyphens:auto; overflow-wrap:anywhere; }
.punbb .post-body .post-content p{ margin:0 0 .9em; text-indent:1.15em; }
.punbb .post-body .post-content p:first-child, .punbb .post-body .post-content :is(h1,h2,h3,blockquote,ul,ol,figure) + p{ text-indent:0; }
.punbb .post-body .post-content h2, .punbb .post-body .post-content h3{ font-family:'Playfair Display',serif; color:var(--c-gold); margin:.6em 0 .4em; line-height:1.25; }
.punbb .post-body .post-content h2{ font-size:20pt; }
.punbb .post-body .post-content h3{ font-size:16pt; }
.punbb .post-body .post-content blockquote{ margin:.9em 0; padding:10px 12px; background:rgba(12,17,24,.55); border:1px dashed var(--b-mid); color:var(--c-gold-quiet); border-radius:8px; }
.punbb .post-body .post-content img{ display:block; max-width:100%; height:auto; margin:.6em auto; border-radius:8px; border:1px solid rgba(205,196,153,.25); box-shadow:0 0 10px rgba(0,0,0,.45); }
.punbb .post-body .post-content hr{ border:0; height:1px; background:linear-gradient(to right, transparent, rgba(205,196,153,.35), transparent); margin:1.1em 0; }
.punbb .post-body .post-content a{ color:var(--c-red)!important; text-decoration:underline; }
.punbb .post-body .post-content a:hover{ color:var(--c-red2)!important; text-shadow:0 0 3px rgba(165,33,30,.45); }

/* Post header */
.punbb .post h3{ background: var(--glass3); border:1px solid var(--b-mid); box-shadow: inset 0 0 12px rgba(0,0,0,.45); color:var(--c-gold); font-family:'Playfair Display',serif; font-weight:700; font-size:16pt; margin:0 0 10px; padding:8px 12px; }

/* Actions under post — single centered version */
#pun-viewtopic .post .post-links{ grid-column:1/-1 !important; float:none !important; clear:both !important; display:flex !important; justify-content:center !important; align-items:center !important; flex-wrap:wrap !important; gap:16px !important; padding:12px 0 6px !important; margin:12px 0 0 !important; border-top:1px solid var(--b-weak) !important; text-align:center !important; background:transparent !important; }
#pun-viewtopic .post .post-links .pl-left, #pun-viewtopic .post .post-links .pl-right{ display:none !important; }
#pun-viewtopic .post .post-links > ul{ display:flex !important; justify-content:center !important; align-items:center !important; flex-wrap:wrap !important; gap:16px !important; list-style:none !important; margin: 0 -420px 0 0 !important; padding:0 !important; height:auto !important; line-height:1.4 !important; background:transparent !important; }
#pun-viewtopic .post .post-links > ul > li{ display:inline-flex !important; margin:0 !important; padding:0 !important; }
#pun-viewtopic .post .post-links > ul > li > a{ color:var(--c-gold) !important; text-decoration:none !important; border:0 !important; padding:0 !important; }
#pun-viewtopic .post .post-links > ul > li > a:hover{ color:#FFF6E5 !important; }
@media (max-width:700px){ #pun-viewtopic .post .post-links, #pun-viewtopic .post .post-links > ul{ gap:12px !important; } }

/* Reactions + rating (scoped) */
.post-footer-tools{ display:flex; justify-content:flex-end; align-items:center; gap:10px; margin-top:4px; }
.post-footer-tools .post-rating, .post-footer-tools .reactions-root{ display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.post-footer-tools .post-rating a, .post-footer-tools .post-vote a{
  display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%;
  background: radial-gradient(circle at 50% 0%, rgba(117,27,17,.25), rgba(20,10,10,.85));
  border:1px solid rgba(140,135,110,.45); color:#E6DFAF !important; text-decoration:none !important; font-family:"Spectral", serif; font-size:15px; line-height:1; cursor:pointer; box-shadow: 0 3px 6px rgba(0,0,0,.4), inset 0 0 6px rgba(0,0,0,.5); transition: all .25s ease-in-out;
}
.post-footer-tools .post-rating a:hover, .post-footer-tools .post-vote a:hover{ border-color: var(--c-red); color:#FFF6E5 !important; transform: translateY(-1px); box-shadow: 0 0 10px rgba(117,27,17,.3), inset 0 0 8px rgba(0,0,0,.4); }

.reaction-picker-button.reaction-chip{ display:inline-flex; align-items:center; justify-content:center; gap:4px; min-width:28px; height:28px; padding:0 10px; border-radius:50px; background: radial-gradient(circle at 50% 0%, rgba(117,27,17,0.25), rgba(20,10,10,0.85)); border:1px solid rgba(140,135,110,0.45); color:#E6DFAF !important; font-family:"Spectral", serif; font-size:14px; line-height:1; cursor:pointer; box-shadow: 0 4px 10px rgba(0,0,0,.4), inset 0 0 6px rgba(0,0,0,.5); transition: all 0.25s ease-in-out; }
.reaction-picker-button.reaction-chip:hover{ border-color: var(--c-red); color:#FFF6E5 !important; transform: translateY(-1px); box-shadow: 0 0 12px rgba(117,27,17,.3), inset 0 0 8px rgba(0,0,0,.4); }
.reaction-picker-button.reaction-chip svg{ width:18px; height:18px; color:#E6DFAF !important; transition:color .25s; }
.reaction-picker-button.reaction-chip:hover svg{ color:#FFF6E5 !important; }
.reactions-container{ display:flex; align-items:center; justify-content:flex-start; gap:8px; margin-top:8px; }
.reaction-counters-container{ display:inline-flex; align-items:center; justify-content:center; background: rgba(12,17,24,.75); border:1px solid var(--b-mid); border-radius:20px; padding:2px 6px; color:#E6DFAF; font-size:13px; font-family:"Spectral", serif; box-shadow: inset 0 0 8px rgba(0,0,0,.35); }

/********************************************************
  FORMS (global)
*********************************************************/
.punbb .formal .container{ padding:16px 18px !important; background:var(--glass2); border:1px solid var(--b-mid); box-shadow:0 0 10px rgba(0,0,0,.45), inset 0 0 18px rgba(0,0,0,.35); border-radius:10px; }
.punbb .formsubmit{ display:flex; flex-wrap:wrap; gap:10px 12px; align-items:center; margin:12px 0 0; padding:12px 0 0; border-top:1px solid var(--b-weak); }
.punbb .formsubmit :is(input, a, span){ margin:0; }
.punbb fieldset{ border:0; margin:0 0 10px; padding:0; background:transparent; }
.punbb fieldset legend{ margin:0 0 8px; padding:0; font:700 16px/1.25 "Playfair Display",serif; color:var(--c-sand); }
.punbb fieldset legend span{ padding:0; margin:0; }
.punbb fieldset fieldset{ border:0; margin:0; padding:0 0 8px; }
.punbb .fs-box{ padding:0 0 8px; }
.punbb .fs-box p, .punbb .fs-box fieldset{ padding:0 0 8px; }
.punbb .inline .inputfield, .punbb .inline .selectfield, .punbb .inline .passfield{ float:none; margin:0; display:grid; grid-template-columns:220px 1fr; gap:10px 14px; align-items:center; }
.punbb .inline .infofield{ clear:none; }
.punbb .hashelp{ position:static; }
.punbb .helplinks{ position:static; width:auto; display:block; margin:6px 0 0; font-weight:normal; }
.punbb .helplinks span{ display:block; padding:0 0 .2em 0; }
.punbb .areafield span.input, .punbb p.longinput span.input{ display:block; padding:0; height:auto; }
.punbb textarea, .punbb .longinput input{ width:100%; margin:0; box-sizing:border-box; padding:12px 14px; font-family:'Spectral',serif; font-size:15.5px; line-height:1.55; color:var(--c-ink); background: linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.16)), url("https://forumstatic.ru/files/001c/82/cd/91912.png") repeat; background-size:300px auto; background-blend-mode:overlay; border:1px solid rgba(140,135,110,.40); border-radius:8px; outline:none; box-shadow: inset 0 0 14px rgba(0,0,0,.25); }
.punbb textarea:focus, .punbb .longinput input:focus{ border-color: var(--c-red); box-shadow: 0 0 0 3px rgba(117,27,17,.22), inset 0 0 16px rgba(0,0,0,.30); }
#pun-post .formal .info-box li{ padding-left:4px; margin:0; list-style:square inside; line-height:1.5; }
@media (max-width:820px){ .punbb .inline .inputfield, .punbb .inline .selectfield, .punbb .inline .passfield{ grid-template-columns:1fr; gap:8px 10px; } }

/* Quick/Full reply form */
#pun-quickpost .blockform .box, #pun-post .blockform .box{ background: var(--glass2); border: 1px solid var(--b-mid); box-shadow: 0 6px 18px rgba(0,0,0,.45), inset 0 0 18px rgba(0,0,0,.35); border-radius: 14px; padding: 18px 20px; }
#pun-quickpost legend, #pun-post legend{ margin:0 0 10px; padding:0; border:0; background:none; font:700 20px/1.25 "Playfair Display", serif; color:var(--c-sand); letter-spacing:.02em; }
#pun-quickpost legend span, #pun-post legend span{ padding:0; }
#pun-quickpost .bblinks, #pun-post .bblinks, #pun-quickpost .postlink, #pun-post .postlink{ display:flex; flex-wrap:wrap; gap:8px 10px; align-items:center; margin:10px 0; padding:8px 10px; background: rgba(12,17,24,.55); border: 1px solid var(--b-mid); border-radius: 10px; box-shadow: inset 0 0 10px rgba(0,0,0,.35); }
#pun-quickpost .bblinks a, #pun-post .bblinks a{ display:inline-flex; align-items:center; justify-content:center; min-width:28px; height:28px; padding:0 8px; border-radius:20px; background: rgba(8,17,24,.75); border: 1px solid var(--b-mid); color: var(--c-sand); text-decoration:none; font: 500 13px/1 "Spectral", serif; transition: .2s ease; }
#pun-quickpost .bblinks a:hover, #pun-post .bblinks a:hover{ border-color: var(--c-red); color:#FFF6E5; transform: translateY(-1px); }
#pun-quickpost .txtarea textarea, #pun-post .txtarea textarea{ width:100%; min-height:260px; box-sizing:border-box; padding:14px 16px; font-family:'Spectral',serif; font-size:15.5px; line-height:1.6; color: var(--c-ink); background: linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.16)), url("https://forumstatic.ru/files/001c/82/cd/91912.png") repeat; background-size:300px auto; background-blend-mode:overlay; border:1px solid rgba(140,135,110,.40); border-radius:10px; outline:none; box-shadow: inset 0 0 16px rgba(0,0,0,.28); transition: border-color .2s, box-shadow .2s, transform .05s; }
#pun-quickpost .txtarea textarea:focus, #pun-post .txtarea textarea:focus{ border-color: var(--c-red); box-shadow: 0 0 0 3px rgba(117,27,17,.22), inset 0 0 18px rgba(0,0,0,.32); }
#pun-quickpost .formsubmit, #pun-post .formsubmit{ display:flex; flex-wrap:wrap; gap:10px 12px; align-items:center; margin:12px 0 0; padding-top:12px; border-top:1px solid var(--b-weak); color:#BDB6A3; font-family:'Spectral',serif; }
#pun-quickpost .formsubmit input[type="submit"], #pun-post .formsubmit input[type="submit"]{ height:40px; padding:0 18px; background: radial-gradient(circle at 50% 0%, rgba(117,27,17,.25), rgba(20,10,10,.9)); border:1px solid var(--c-red); color:#E6E2C0; border-radius:10px; font-family:'Trajan Pro','Cinzel',serif; letter-spacing:.04em; text-transform:uppercase; cursor:pointer; box-shadow: 0 4px 10px rgba(0,0,0,.35), inset 0 0 10px rgba(0,0,0,.35); transition: transform .06s, filter .2s, box-shadow .2s; }
#pun-quickpost .formsubmit input[type="button"], #pun-post .formsubmit input[type="button"]{ height:40px; padding:0 14px; background: rgba(12,17,24,.8); border:1px solid rgba(140,135,110,.4); color:#E6DFAF; border-radius:10px; font-family:'Trajan Pro','Cinzel',serif; letter-spacing:.04em; cursor:pointer; box-shadow: inset 0 0 8px rgba(0,0,0,.35); transition: transform .06s, filter .2s, box-shadow .2s; }
#pun-quickpost .formsubmit input:hover, #pun-post .formsubmit input:hover{ filter:brightness(1.06); }
#pun-quickpost .formsubmit input:active, #pun-post .formsubmit input:active{ transform: translateY(1px); }
#post-form h2, #pun-quickpost h2{ font-family: "Playfair Display", serif; font-weight:700; font-size:26px; line-height:1.2; color: var(--c-sand); letter-spacing: .02em; margin:0 0 10px; padding:0; }
#post-form h2 span, #pun-quickpost h2 span{ font:inherit; color:inherit; }

/********************************************************
  PROFILE PAGE POLISH
*********************************************************/
#profile .container{ padding-left: 18.6em; }
#profilenav{ position: sticky; top: 18px; float:left; width:14em; margin-left:-16.3em; display:block; background: var(--glass2); border:1px solid var(--b-mid); box-shadow:0 0 10px rgba(0,0,0,.45), inset 0 0 12px rgba(0,0,0,.35); border-radius:10px; padding:10px 0; }
#profilenav h2{ margin:0 0 6px; padding:10px 14px; font:700 22px/1.2 "Playfair Display", serif; color: var(--c-gold); border:0; background:transparent; }
#profilenav ul{ padding: 4px 8px 10px; border:0; margin:0; }
#profilenav li{ list-style:none; margin:0; padding:0; }
#profilenav li a{ display:block; padding:8px 10px; margin:4px 6px; border:1px solid var(--b-mid); background: rgba(12,17,24,.75); color:#E6DFAF; text-decoration:none; font:600 14px/1.2 "Spectral", serif; border-radius:8px; transition:.25s border-color,.25s color,.2s transform; }
#profilenav li a:hover{ border-color: var(--c-red); color:#FFF6E5; transform: translateX(2px); }
#profilenav li.isactive a, #profilenav li a:focus{ border-color: var(--c-red); background: rgba(20,10,10,.75); }
#profile #pun-main h1{ font:700 28px/1.15 "Playfair Display", serif; color: var(--c-red); border:0; margin: 6px 0 14px; }
#profile #pun-main h1::after{ content:""; display:block; width:140px; height:2px; margin-top:6px; background: linear-gradient(to right, #751B11, #8C876E); box-shadow:0 0 8px rgba(117,27,17,.5); }
#profile h2, #profile .legend{ font:700 24px/1.2 "Playfair Display", serif !important; color:#E6E2C0; margin:10px 0 8px; padding:0; }
#profile .formal .container, #profile .blockform .box, #profile .info-box{ background: var(--glass2) !important; border:1px solid var(--b-mid) !important; box-shadow: 0 0 10px rgba(0,0,0,.45), inset 0 0 18px rgba(0,0,0,.35) !important; border-radius:12px !important; padding:16px 18px !important; color: var(--c-sand); }
#profile .formal p, #profile .formal .info-box *{ font-family:'Spectral',serif; color: var(--c-gold-quiet); }
#profile .inline .inputfield, #profile .inline .selectfield, #profile .inline .passfield{ float:none; margin:0 0 10px 0; display:grid; grid-template-columns:220px 1fr; gap:10px 14px; align-items:center; }
#profile label{ color:#D0CBAF; font-family:'Spectral',serif; }
#profile input[type="checkbox"]{ width:18px; height:18px; margin-right:8px; accent-color:#751B11; vertical-align:middle; }
#profile input[type="text"], #profile input[type="password"], #profile select, #profile textarea{ width:100%; box-sizing:border-box; padding:10px 12px; font: 15px/1.4 'Spectral',serif; color: var(--c-ink); background: linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.16)), url("https://forumstatic.ru/files/001c/82/cd/91912.png") repeat; background-size:300px auto; background-blend-mode:overlay; border:1px solid rgba(140,135,110,.40); border-radius:8px; outline:none; box-shadow: inset 0 0 12px rgba(0,0,0,.25); transition: .2s border-color, .2s box-shadow; }
#profile input:focus, #profile select:focus, #profile textarea:focus{ border-color: var(--c-red); box-shadow: 0 0 0 3px rgba(117,27,17,.22), inset 0 0 14px rgba(0,0,0,.28); }
#profile .formsubmit, #profile p.buttons{ display:flex; gap:10px 12px; flex-wrap:wrap; align-items:center; margin:12px 0 0; padding:12px 0 0; border-top:1px solid var(--b-weak); }
#profile input[type="submit"], #profile button, #profile .btn{ height:40px; padding:0 18px; background: rgba(20,10,10,.88); border:1px solid var(--c-red); color:#E6E2C0; font-family:'Trajan Pro','Cinzel',serif; letter-spacing:.04em; text-transform:uppercase; border-radius:8px; cursor:pointer; box-shadow:0 0 6px rgba(0,0,0,.35), inset 0 0 8px rgba(0,0,0,.35); transition: transform .06s, filter .2s, box-shadow .2s; }
#profile input[type="submit"]:hover, #profile button:hover{ filter:brightness(1.06); box-shadow:0 0 8px rgba(117,27,17,.45), inset 0 0 10px rgba(0,0,0,.35); }
#profile input[type="submit"]:active, #profile button:active{ transform:translateY(1px); }
#profile a[href*="telegram"], #profile .tg-btn{ display:inline-block; padding:10px 14px; border-radius:8px; background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.22)), rgba(12,17,24,.85); border:1px solid rgba(140,135,110,.45); color:#E6DFAF !important; text-decoration:none; font:600 14px/1 "Spectral",serif; box-shadow: inset 0 0 10px rgba(0,0,0,.45); transition:.25s border-color,.25s color,.15s transform; }
#profile a[href*="telegram"]:hover, #profile .tg-btn:hover{ border-color: var(--c-red); color:#FFF6E5 !important; transform: translateY(-1px); }
#profile .notifications-history, #profile .history, #profile .info-box + .info-box{ margin-top:10px; }
#profile .history .item, #profile .notifications-history li, #profile .info-box p{ padding:8px 10px; margin:4px 0; border:1px solid var(--b-weak); background: rgba(12,17,24,.55); color:#E6E2C0; border-radius:8px; }
#profile .history .item .meta, #profile .notifications-history .meta{ color:#BDB6A3; font-size:13px; }
#profile .help, #profile small, #profile .note{ color:#BDB6A3; font-size:13px; font-family:'Spectral',serif; }
@media (max-width: 980px){ #profile .container{ padding-left:0; } #profilenav{ position:static; width:100%; margin:0 0 12px; } #profile .inline .inputfield, #profile .inline .selectfield, #profile .inline .passfield{ grid-template-columns:1fr; } }



/* ==== FIX под разметку: <div class="post"> <h3 class="post-head-mini"> ... </h3> <div class="container"> <div class="postleft"> ... </div><div class="postright"> ... </div> </div> </div> ==== */

/* 1) Шапка поста (дата/номер/Поделиться) — нормальная строка */
#pun-viewtopic .post > h3.post-head-mini,
#pun-viewtopic .post > h3.post-head-mini *{
  position:static !important;
  float:none !important;
}
#pun-viewtopic .post > h3.post-head-mini{
  display:flex !important;
  align-items:center !important;
  gap:.75rem !important;
  flex-wrap:wrap !important;
  margin:0 0 8px !important;
  padding:8px 12px !important;
  background:var(--glass3) !important;
  border:1px solid var(--b-mid) !important;
  box-shadow: inset 0 0 12px rgba(0,0,0,.45) !important;
}
#pun-viewtopic .post > h3.post-head-mini .conl{ order:1; }
#pun-viewtopic .post > h3.post-head-mini .conr{ order:2; margin-left:auto !important; }

/* убрать «красную подложку» у span из старой темы */
#pun-viewtopic .post > h3.post-head-mini span{
  background:transparent !important;
  color:var(--c-gold) !important;
  padding:0 !important;
}

/* 2) Сам пост — две колонки внутри .container */
#pun-viewtopic .post > .container{
  display:grid !important;
  grid-template-columns: 320px minmax(0,1fr) !important; /* слева автор, справа контент */
  gap:16px !important;
  align-items:start !important;
}

/* отключаем наследованные флоаты/ширины */
#pun-viewtopic .post .postleft,
#pun-viewtopic .post .postright{
  float:none !important;
  width:auto !important;
  margin:0 !important;          /* снимаем старый margin-left у .postright */
}

/* 3) Контент справа — растягиваем «бумагу» на всю колонку */
#pun-viewtopic .post .postright .post-box{
  padding:18px !important;
  background:var(--glass) !important;
  border:1px solid var(--b-mid) !important;
  box-shadow: inset 0 0 20px rgba(0,0,0,.35) !important;
}
#pun-viewtopic .post .postright .post-content,
#pun-viewtopic .post .postright .postmsg,
#pun-viewtopic .post .postright .post-entry{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:18px 20px !important;
  background:
    linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.5)),
    url("https://forumstatic.ru/files/001c/82/cd/91912.png") repeat !important;
  background-size:300px auto !important;
  background-blend-mode:overlay !important;
  color:#000C14 !important;
  font:16px/1.7 "Spectral",serif !important;
}

/* 4) Рейтинг/реакции — вправо, одной строкой */
#pun-viewtopic .post .post-box > p{
  text-align:right !important;
  margin:8px 0 0 !important;
}

/* 5) Мобилка: одна колонка */
@media (max-width: 980px){
  #pun-viewtopic .post > .container{
    grid-template-columns: 1fr !important;
  }
}

/* ==== POST MINI-HEAD — tidy line ==== */
#pun-viewtopic .post > h3.post-head-mini,
#pun-viewtopic .post > h3.post-head-mini *{
  float:none !important;
  position:static !important;
}

#pun-viewtopic .post > h3.post-head-mini{
  margin:0 0 10px !important;
  padding:8px 12px !important;
  background:var(--glass3) !important;
  border:1px solid var(--b-mid) !important;
  box-shadow:inset 0 0 12px rgba(0,0,0,.45) !important;
  color:var(--c-gold) !important;
  font:600 18px/1.3 "Playfair Display",serif !important;
}

/* сам span делаем контейнером строки */
#pun-viewtopic .post > h3.post-head-mini > span{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  flex-wrap:wrap !important;
  background:transparent !important;   /* снимаем красную плашку от старой темы */
  color:inherit !important;
  padding:0 !important;
}

/* ссылки и текст — спокойные, без подчеркиваний */
#pun-viewtopic .post > h3.post-head-mini a{
  color:var(--c-gold) !important;
  text-decoration:none !important;
}
#pun-viewtopic .post > h3.post-head-mini a:hover{
  color:#FFF6E5 !important;
  text-shadow:0 0 3px rgba(205,196,153,.35);
}

/* порядок и разделители: № и дата слева, "Поделиться" уезжает вправо */
#pun-viewtopic .post > h3.post-head-mini .sharelink{ order:2; margin-left:auto !important; }
#pun-viewtopic .post > h3.post-head-mini strong{ order:1; font-weight:700 !important; }
#pun-viewtopic .post > h3.post-head-mini .permalink_right{ order:1; opacity:.95; }

/* префикс № и точка-разделитель между номером и датой */
#pun-viewtopic .post > h3.post-head-mini strong::before{
  content:"№"; margin-right:4px; opacity:.85;
}
#pun-viewtopic .post > h3.post-head-mini .permalink_right::before{
  content:"•"; margin:0 8px; opacity:.6;
}


/* === Репутация: аккуратный бейдж внутри .pa-card === */
/* ===== Репутация в левой карточке автора (жёсткая специфичность) ===== */

/* верхняя плашка-ярлык */
.punbb .post .post-author .pa-card > .rep-label{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;

  margin:12px 0 0 !important;
  padding:10px 12px !important;

  background:rgba(12,17,24,.55) !important;
  border:1px solid var(--b-mid) !important;
  border-bottom:none !important;
  border-radius:12px 12px 0 0 !important;
  box-shadow:inset 0 0 8px rgba(0,0,0,.35) !important;
}

/* ссылка "Репутация" внутри ярлыка */
.punbb .post .post-author .pa-card > .rep-label > .rep-link{

  font-family: Spectral, serif !important;
  color:#BDB6A3 !important;
  text-decoration:none !important;
  font:600 13px/1.2 'Spectral', serif !important;
  letter-spacing:.02em;
}
.punbb .post .post-author .pa-card > .rep-label > .rep-link::before{
  content:"";
  margin-right:8px;
  color:var(--c-gold);
  opacity:.9;
}

/* нижняя строка с числом (бэйдж) */
.punbb .post .post-author .pa-card > .pa-rep-line{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;

  margin:0 !important;
  padding:12px 12px !important;

  background:rgba(8,17,24,.60) !important;
  border:1px solid var(--b-mid) !important;
  border-top:none !important;
  border-radius:0 0 12px 12px !important;
  box-shadow:inset 0 0 10px rgba(0,0,0,.35) !important;

  font:700 22px/1 'Playfair Display', serif !important;
  color:#E6E2C0 !important;
  text-align:center !important;
  min-height:44px;
}

/* кнопки +/- (если есть ссылки внутри .pa-rep-line) */
.punbb .post .post-author .pa-card > .pa-rep-line a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:28px; height:28px;
  margin-left:6px;
  border-radius:50%;

  background:radial-gradient(circle at 50% 0, rgba(117,27,17,.25), rgba(20,10,10,.85)) !important;
  border:1px solid rgba(140,135,110,.45) !important;
  color:#E6DFAF !important;
  text-decoration:none !important;
  box-shadow:0 3px 6px rgba(0,0,0,.4), inset 0 0 6px rgba(0,0,0,.5);
  transition:transform .1s, border-color .2s, color .2s;
}
.punbb .post .post-author .pa-card > .pa-rep-line a:hover{
  transform:translateY(-1px);
  border-color:var(--c-red);
  color:#FFF6E5 !important;
}


/* Репутация: ровная линия + аккуратные кнопки и число */
.punbb .post .post-author .pa-card .pa-rep-line{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:14px !important;                 /* одинаковые промежутки */
  padding:12px 14px !important;
  text-align:center !important;

  /* цифра не «провисает», красивые линейные цифры */
  font-family:'Playfair Display', serif !important;
  font-weight:700 !important;
  font-size:22px !important;
  line-height:1 !important;
  font-variant-numeric: lining-nums tabular-nums;
  font-feature-settings:"lnum" 1,"tnum" 1;
  color:#E6E2C0 !important;
}

/* если число завернуто в тег (b/strong/span) — делаем из него «капсулу» */
.punbb .post .post-author .pa-card .pa-rep-line > b,
.punbb .post .post-author .pa-card .pa-rep-line > strong,
.punbb .post .post-author .pa-card .pa-rep-line > span.rep-score{
  padding:2px 12px;
  border:1px solid var(--b-mid);
  border-radius:999px;
  background:rgba(8,17,24,.6);
  box-shadow:inset 0 0 8px rgba(0,0,0,.35);
}

/* одинаковые круглые кнопки +/- */
.punbb .post .post-author .pa-card .pa-rep-line a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:34px; height:34px;
  border-radius:50%;
  background:radial-gradient(circle at 50% 0, rgba(117,27,17,.25), rgba(20,10,10,.85));
  border:1px solid rgba(140,135,110,.45);
  color:#E6DFAF !important;
  text-decoration:none !important;
  box-shadow:0 3px 6px rgba(0,0,0,.4), inset 0 0 6px rgba(0,0,0,.5);
  transition:transform .1s, border-color .2s, color .2s;
  font:600 18px/1 'Spectral', serif;
}
.punbb .post .post-author .pa-card .pa-rep-line a:hover{
  transform:translateY(-1px);
  border-color:var(--c-red);
  color:#FFF6E5 !important;
}


/* Репутация — текст по центру плашки */
.punbb .post .post-author .pa-card .rep-label{
  display:flex !important;
  justify-content:center !important;  /* по центру по горизонтали */
  align-items:center !important;       /* по центру по вертикали */
  text-align:center !important;

  /* отменяем прошлые хаки, если были */
  text-indent:0 !important;
  font-size:0 !important;              /* прячем «сырой» текст внутри контейнера */
  color:inherit !important;
}

/* показываем чистую подпись через псевдоэлемент ссылки */
.punbb .post .post-author .pa-card .rep-label .rep-link{
  font-size:0 !important;              /* скрыть реальный текст внутри ссылки */
  position:relative !important;
}
.punbb .post .post-author .pa-card .rep-label .rep-link::after{
  content:"Репутация";
  font:600 13px/1.2 'Spectral',serif;
  color:#BDB6A3;
  letter-spacing:.02em;
}

.reaction-chip.reaction-chip--clicked {
    border: 1px solid #b6e3ff!important ;
    background-color: #000C14!important;
}

/* ==============================
   Оформление цитат в постах
   ============================== */
/* ===== Цитаты (quote-box answer-box) — шапка + «бумага» ===== */

/* 1) Шапка: это <p> прямо перед .quote-box */
.punbb .post .post-content p:has(+ .quote-box){
  margin:14px 0 0 !important;
  padding:10px 14px !important;
  border:1px solid var(--b-mid) !important;
  border-bottom:none !important;
  border-radius:12px 12px 0 0 !important;
  background:rgba(8,17,24,.55) !important;
  color:var(--c-gold) !important;
  font:600 14px/1.25 'Spectral',serif !important;
}
.punbb .post .post-content p:has(+ .quote-box)::before{
  content:"&#10077;";
  margin-right:8px;
  color:var(--c-red);
  text-shadow:0 0 4px rgba(117,27,17,.35);
}

/* 2) Коробка цитаты */
.punbb .post .post-content .quote-box{
  margin:0 0 14px !important;
  border:1px solid var(--b-mid) !important;
  border-top:none !important;
  border-radius:0 0 12px 12px !important;
  overflow:hidden !important;

  /* светлая «бумага» */
  padding:12px 14px !important;
  background:
    linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.22)),
    url("https://forumstatic.ru/files/001c/82/cd/91912.png") repeat !important;
  background-size:300px auto !important;
  background-blend-mode:overlay !important;
  color:#000C14 !important;
  box-shadow: inset 0 0 10px rgba(0,0,0,.25) !important;
  line-height:1.65 !important;
}

/* 3) Убираем «серую капсулу» внутри, если движок вставляет div/code стили */
.punbb .post .post-content .quote-box > :is(div,blockquote,pre){
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  margin:0 !important;
  color:inherit !important;
}

/* 4) Вложенные цитаты — уже и темнее */
.punbb .post .post-content .quote-box .quote-box{
  margin-top:10px !important;
  border-color:rgba(140,135,110,.35) !important;
  background:
    linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.28)),
    rgba(12,17,24,.45) !important;
  color:#E6E2C0 !important;
}
.punbb .post .post-content .quote-box .quote-box *{
  color:inherit !important;
}

/* 5) Последний отступ внутри цитаты */
.punbb .post .post-content .quote-box > *:last-child{ margin-bottom:0 !important; }


/* ===== Постовые ссылки в одну линию под постом ===== */
#pun-viewtopic .post .post-links{
  margin-top:10px !important;
  padding-top:8px !important;
  border-top:1px solid var(--b-mid) !important;

  display:flex !important;                 /* общий контейнер */
  justify-content:center !important;       /* по центру */
  align-items:center !important;
  flex-wrap:wrap !important;               /* перенос на узких экранах */
  gap:16px 22px !important;                /* вертикаль / горизонталь */
  background:transparent !important;
}

/* обе группы (.pl-left и .pl-right) ведём как одну полоску */
#pun-viewtopic .post .post-links .pl-left ul,
#pun-viewtopic .post .post-links .pl-right ul{
  display:flex !important;
  gap:22px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
#pun-viewtopic .post .post-links li{ margin:0 !important; padding:0 !important; }

/* вид ссылок */
#pun-viewtopic .post .post-links a{
  color:#D0CBAF !important;
  text-decoration:none !important;
  font:500 14px/1.4 "Spectral", serif !important;
  border-bottom:1px dashed rgba(230,223,175,.35);
  transition:color .2s, border-color .2s, opacity .2s;
}
#pun-viewtopic .post .post-links a:hover{
  color:#FFF6E5 !important;
  border-bottom-color:transparent !important;
  opacity:1 !important;
}

/* деликатные разделители-точки, если хочется визуальной ритмики */
#pun-viewtopic .post .post-links li + li::before{
  content:"·";
  margin-right:22px;
  color:rgba(230,223,175,.45);
}

/* мобильный зазор поменьше */
@media (max-width: 720px){
  #pun-viewtopic .post .post-links{ gap:10px 16px !important; }
  #pun-viewtopic .post .post-links .pl-left ul,
  #pun-viewtopic .post .post-links .pl-right ul{ gap:16px !important; }
}

/* ===== Nested quotes — уровни вложенности ===== */

/* базовый тон для любой цитаты внутри поста (если ещё не задан) */
.punbb .post .post-content .quote-box{
  border:1px solid var(--b-mid);
  border-radius:12px;
  background:
    linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.18)),
    url("https://forumstatic.ru/files/001c/82/cd/91912.png") repeat;
  background-size:300px auto;
  background-blend-mode:overlay;
  padding:12px 14px;
  color:#000C14;
}

/* если есть шапка <cite> */
.punbb .post .post-content .quote-box > cite{
  display:flex; align-items:center; gap:8px;
  margin:-12px -14px 10px; padding:10px 14px;
  border-bottom:1px solid var(--b-mid);
  border-radius:12px 12px 0 0;
  background:rgba(8,17,24,.55);
  color:var(--c-gold);
  font:600 14px/1.25 'Spectral',serif;
}
.punbb .post .post-content .quote-box > cite::before{
  content:"""; color:var(--c-red); margin-right:6px;
}

/* ========== Уровень 2 (цитата внутри цитаты) ========== */
.punbb .post .post-content .quote-box .quote-box{
  margin-top:10px;
  padding:10px 12px;
  border-radius:10px;
  background:
    linear-gradient(180deg, rgba(0,0,0,.16), rgba(0,0,0,.26)),
    rgba(12,17,24,.45);
  color:#E6E2C0;
  border:1px solid rgba(140,135,110,.45);
  box-shadow: inset 0 0 8px rgba(0,0,0,.30);
  position:relative;
}
.punbb .post .post-content .quote-box .quote-box::before{
  /* тонкий левый акцент */
  content:"";
  position:absolute; inset:8px auto 8px 8px;
  width:3px; border-radius:2px;
  background:linear-gradient(#b66,#8a2a20);
  opacity:.65;
}
.punbb .post .post-content .quote-box .quote-box > cite{
  background:rgba(8,17,24,.45);
  color:#D0CBAF;
  margin:-10px -12px 8px; padding:8px 12px;
  border-bottom:1px solid rgba(140,135,110,.35);
  border-radius:10px 10px 0 0;
}

/* ========== Уровень 3 и глубже — ещё компактнее ========== */
.punbb .post .post-content .quote-box .quote-box .quote-box{
  margin-top:8px;
  padding:8px 10px;
  border-radius:8px;
  background:rgba(10,14,18,.6);
  border:1px solid rgba(117,27,17,.30);
  color:#E6E2C0;
}
.punbb .post .post-content .quote-box .quote-box .quote-box::before{
  inset:6px auto 6px 6px; width:2px; opacity:.5;
}

/* убираем «серые капсулы»/внутренние рамки, если движок вкладывает div/blockquote */
.punbb .post .post-content .quote-box :is(blockquote,div,pre){
  background:transparent; border:0; border-radius:0; padding:0; margin:0; color:inherit;
}

/* лишние отступы/красная строка у первого абзаца внутри цитат — выключаем */
.punbb .post .post-content .quote-box p:first-child{ margin-top:0; text-indent:0; }

/* последнему элементу внутри цитаты — без нижнего отступа */
.punbb .post .post-content .quote-box > *:last-child{ margin-bottom:0; }


/* =========================
   Buttons — PunBB theme
   ========================= */

/* базовый вид (охватываем разные варианты разметки) */
.punbb input[type="submit"],
.punbb input[type="button"],
.punbb button,
.punbb .button,
.punbb a.button,
#post-form .formsubmit input[type="submit"],
#post-form .formsubmit .button{
  -webkit-appearance: none;
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;

  padding: 8px 16px;
  min-height: 38px;
  border-radius: 12px;
  border: 1px solid var(--b-mid);
  background:
    radial-gradient(120% 140% at 50% 0, rgba(255,255,255,.06), transparent 60%),
    linear-gradient(180deg, rgba(8,14,18,.85), rgba(12,18,24,.92));
  box-shadow:
    0 6px 14px rgba(0,0,0,.45),
    inset 0 0 10px rgba(0,0,0,.5);

  font: 600 14px/1.1 "Spectral", serif;
  color: #E6E2C0;
  text-decoration: none !important;
  letter-spacing: .02em;
  cursor: pointer;
  user-select: none;

  transition: transform .08s ease, box-shadow .2s ease, border-color .2s ease, color .2s ease, background .2s ease;
}

/* наведение / нажатие */
.punbb input[type="submit"]:hover,
.punbb input[type="button"]:hover,
.punbb button:hover,
.punbb .button:hover,
.punbb a.button:hover{
  border-color: rgba(230,223,175,.6);
  color:#FFF6E5;
  transform: translateY(-1px);
  box-shadow:
    0 8px 18px rgba(0,0,0,.55),
    inset 0 0 12px rgba(0,0,0,.55);
}
.punbb input[type="submit"]:active,
.punbb input[type="button"]:active,
.punbb button:active,
.punbb .button:active,
.punbb a.button:active{
  transform: translateY(0);
  box-shadow:
    0 3px 8px rgba(0,0,0,.45),
    inset 0 0 16px rgba(0,0,0,.65);
}

/* фокус клавиатурой */
.punbb input[type="submit"]:focus-visible,
.punbb input[type="button"]:focus-visible,
.punbb button:focus-visible,
.punbb .button:focus-visible,
.punbb a.button:focus-visible{
  outline: 2px solid rgba(230,223,175,.85);
  outline-offset: 2px;
}

/* disabled */
.punbb input[type="submit"][disabled],
.punbb input[type="button"][disabled],
.punbb button[disabled],
.punbb .button.disabled{
  opacity: .55;
  cursor: not-allowed;
  filter: grayscale(.2);
}

/* размеры */
.btn-sm{
  padding: 6px 12px !important;
  min-height: 32px !important;
  border-radius: 10px !important;
  font-size: 13px !important;
}
.btn-lg{
  padding: 12px 20px !important;
  min-height: 44px !important;
  border-radius: 14px !important;
  font-size: 16px !important;
}

/* варианты */
.btn-primary{
  background:
    radial-gradient(120% 140% at 50% 0, rgba(255,255,255,.08), transparent 60%),
    linear-gradient(180deg, rgba(18,24,30,.95), rgba(24,30,36,.98)) !important;
  border-color: rgba(230,223,175,.55) !important;
}
.btn-ghost{
  background: rgba(12,18,24,.35) !important;
  border-color: rgba(230,223,175,.35) !important;
  box-shadow: inset 0 0 8px rgba(0,0,0,.35) !important;
}
.btn-danger{
  border-color: rgba(190,60,46,.6) !important;
  color:#FFE8E5 !important;
  background:
    radial-gradient(120% 140% at 50% 0, rgba(255,255,255,.05), transparent 60%),
    linear-gradient(180deg, rgba(54,14,12,.85), rgba(32,10,10,.92)) !important;
}
.btn-danger:hover{ border-color: rgba(240,90,70,.8) !important; }

/* кнопки в форме «Быстрый ответ» — выравнивание и интервалы */
#post-form .formsubmit{
  display:flex !important;
  gap:10px !important;
  align-items:center !important;
  padding:8px 0 !important;
}
#post-form .formsubmit .button.preview{ opacity:.9; }
#post-form .formsubmit .button.preview:hover{ opacity:1; }

/* кнопки-пилюли (если встречаются иконки-кружки) */
.btn-pill{
  width: 36px; height: 36px;
  border-radius: 50% !important;
  padding: 0 !important;
  font-weight:700 !important;
}

/* выравнивание кнопок управления постом (если отдельными ссылками) */
#pun-viewtopic .post .post-links a.button{ padding:6px 12px; border-radius:10px; }


/* =========================
   PROFILE PAGE (PunBB)
   ========================= */
/* ============ PROFILE POLISH (table верстка: #profile-left / #profile-right) ============ */

/* базовая типографика внутри профиля — не огромная */
#viewprofile{ font-size:16px !important; }
#viewprofile h1{ font:700 36px/1 "Playfair Display",serif !important; }

/* общий бокс */
#viewprofile > .container > table{
  width:100%;
  border-collapse:separate !important;
  border-spacing:0 !important;
  background:rgba(195,175,120,.22);
  border:1px solid var(--b-mid);
  border-radius:16px;
  box-shadow: inset 0 0 14px rgba(0,0,0,.45);
  overflow:hidden;
}

/* колонки */
#profile-left,
#profile-right{
  vertical-align:top;
  background:rgba(8,14,18,.88);
  padding:16px;
}

/* -------- левая карточка -------- */
#profile-left ul{ margin:0; padding:25px; list-style:none; }
#profile-left li{ margin:0; padding:0; border:0 !important; background:none !important; }

/* имя и звание — спокойнее */
#profile-left #profile-name{ 
  font:700 28px/1 "Playfair Display",serif !important; 
  color:#E6E2C0; margin:0 0 6px; 
}
#profile-left #profile-title{
  font:600 15px/1.2 "Spectral",serif !important;
  color:#D0CBAF; margin:0 0 12px;
}

/* аватар карточкой */
#profile-left #pa-avatar img{
  width: 220px; height:220px; object-fit:cover; display:block;
  border-radius:50% !important;
  box-shadow:0 0 0 1px rgba(230,223,175,.25), 0 8px 20px rgba(0,0,0,.45);
}
#profile-left #pa-online{ margin-top:12px; color:#BDB6A3; font-weight:600; }
#profile-left #pa-edit{ margin-top:10px; }
#profile-left #pa-edit a{ color:#E6E2C0; text-decoration:none; border-bottom:1px dashed rgba(230,223,175,.35); }
#profile-left #pa-edit a:hover{ color:#FFF6E5; border-bottom-color:transparent; }

/* -------- правая колонка -------- */
/* один аккуратный бокс */
#profile-right > ul{
  margin:0; padding:12px 14px;
  list-style:none;
  background:rgba(10,16,22,.55);
  border:1px solid var(--b-mid);
  border-radius:12px;
  box-shadow:inset 0 0 10px rgba(0,0,0,.35);
}

/* строка — сетка «метка—значение»; работает и когда метки/значения в <span> */
#profile-right > ul > li{
  display:grid; 
  grid-template-columns: 260px 1fr;
  align-items:baseline;
  column-gap:22px;
  row-gap:6px;
  padding:10px 0;
  border-bottom:1px solid rgba(230,223,175,.18);
}
#profile-right > ul > li:last-child{ border-bottom:none; }

/* метка */
#profile-right > ul > li > :first-child{
  color:#BDB6A3;
  font:600 17px/1.35 "Spectral",serif;
}

/* значение (если движок кладёт его вторым узлом/span/а) */
#profile-right > ul > li > :nth-child(2),
#profile-right > ul > li > span.conr,
#profile-right > ul > li > em,
#profile-right > ul > li > b{
  justify-self:end;
  text-align:right;
  color:#E6E2C0;
  font:700 20px/1.35 "Playfair Display",serif;
}

/* ссылки в значениях */
#profile-right > ul > li a{
  color:#E6E2C0; text-decoration:none;
  border-bottom:1px dashed rgba(230,223,175,.35);
}
#profile-right > ul > li a:hover{ color:#FFF6E5; border-bottom-color:transparent; }
#profile-right > ul > li a + a::before{ content:" | "; color:rgba(230,223,175,.35); margin:0 6px; }

/* числа аккуратно смотрятся как «капсулы», если есть отдельный span */
#profile-right > ul > li .num{
  display:inline-block; padding:2px 10px;
  border:1px solid var(--b-mid); border-radius:999px;
  background:rgba(8,17,24,.6); box-shadow:inset 0 0 8px rgba(0,0,0,.35);
}

/* адаптив */
@media (max-width: 980px){
  #profile-right > ul > li{ grid-template-columns: 1fr; }
  #profile-right > ul > li > :nth-child(2){ justify-self:start; text-align:left; }
}
/* ===== PROFILE (табличная разметка + li#pa-*) — аккуратный вид ===== */

/* общий бокс */
#viewprofile > .container > table{
  width:100%;
  border-collapse:separate !important;
  border-spacing:0 !important;
  background:rgba(195,175,120,.22);
  border:1px solid var(--b-mid);
  border-radius:16px;
  box-shadow: inset 0 0 14px rgba(0,0,0,.45);
  overflow:hidden;
}
#profile-left, #profile-right{
  vertical-align:top; background:rgba(8,14,18,.88); padding:20px !important;
}

/* левая карточка — чуть спокойнее заголовки */
#profile-left #profile-name{ font:700 28px/1 "Playfair Display",serif; color:#E6E2C0; margin:0 0 6px; }
#profile-left #profile-title{ font:600 15px/1.2 "Spectral",serif; color:#D0CBAF; margin:0 0 12px; }
#profile-left #pa-avatar img{
  width:220px; height:220px; object-fit:cover; display:block; border-radius:12px;
  box-shadow:0 0 0 1px rgba(230,223,175,.25), 0 8px 20px rgba(0,0,0,.45);
}

/* правая колонка — один аккуратный «лист» */
#profile-right > ul{
  margin:0; padding:12px 14px; list-style:none;
  background:rgba(10,16,22,.55);
  border:1px solid var(--b-mid);
  border-radius:12px;
  box-shadow:inset 0 0 10px rgba(0,0,0,.35);
}

/* каждая строка: метка слева (первый текст в li), значение/ссылки — вправо
   трюк: делаем li флексом и ПЕРВЫЙ ЭЛЕМЕНТ в li уводим вправо (label остаётся текст-узлом слева) */
#profile-right > ul > li{
  display:flex; align-items:baseline; gap:12px;
  padding:10px 0; border-bottom:1px solid rgba(230,223,175,.18);
  color:#E6E2C0; font-size:16px;
}
#profile-right > ul > li:last-child{ border-bottom:none; }

/* метка (текст до первого элемента) — общий стиль */
#profile-right > ul > li{ 
  font-family:"Spectral",serif;
}
#profile-right > ul > li::first-letter{ letter-spacing:.02em; }

/* первый ЭЛЕМЕНТ в строке (обычно span/a с правой частью) прижимаем вправо */
#profile-right > ul > li > *:first-child{
  margin-left:auto;                    /* уезжает вправо */
  text-align:right;
  font:700 18px/1.35 "Playfair Display",serif;
}

/* если после первого элемента ещё идут ссылки — оставим между ними «|» */
#profile-right > ul > li > *:first-child + a::before,
#profile-right > ul > li > a + a::before{
  content:" | "; color:rgba(230,223,175,.35); margin:0 6px;
}

/* ссылки — деликатные */
#profile-right a{
  color:#E6E2C0; text-decoration:none; border-bottom:1px dashed rgba(230,223,175,.35);
}
#profile-right a:hover{ color:#FFF6E5; border-bottom-color:transparent; }

/* числа выглядят лучше табличными цифрами */
#profile-right > ul > li > *:first-child{
  font-variant-numeric: lining-nums tabular-nums;
  font-feature-settings:"lnum" 1,"tnum" 1;
}

/* микроподписи слева делаем спокойнее по цвету (через span внутри li, если он есть) */
#profile-right > ul > li span.label{ color:#BDB6A3; font-weight:600; }

/* адаптив: на узких — всё одной колонкой */
@media (max-width:980px){
  #profile-right > ul > li{ flex-wrap:wrap; }
  #profile-right > ul > li > *:first-child{ margin-left:0; text-align:left; width:100%; }
}


/* ===== POLISH: профиль (table + #profile-left / #profile-right) ===== */

/* контейнер */
#viewprofile > .container > table{
  width:100%;
  border-collapse:separate !important;
  border-spacing:0 !important;
  background:rgba(195,175,120,.22);
  border:1px solid var(--b-mid);
  border-radius:16px;
  box-shadow: inset 0 0 14px rgba(0,0,0,.45);
  overflow:hidden;
}
#profile-left, #profile-right{ vertical-align:top; background:rgba(8,14,18,.88); padding:16px; }

/* левая карточка — спокойные заголовки и аватар */
#profile-left #profile-name{ font:700 28px/1 "Playfair Display",serif; color:#E6E2C0; margin:0 0 6px; }
#profile-left #profile-title{ font:600 15px/1.2 "Spectral",serif; color:#D0CBAF; margin:0 0 12px; }
#profile-left #pa-avatar img{
  width:220px;height:220px;object-fit:cover;display:block;border-radius:12px;
  box-shadow:0 0 0 1px rgba(230,223,175,.25),0 8px 20px rgba(0,0,0,.45);
}

/* правая колонка — общий «лист» */
#profile-right > ul{
  margin:0; padding:12px 14px; list-style:none;
  background:rgba(10,16,22,.55);
  border:1px solid var(--b-mid);
  border-radius:12px;
  box-shadow:inset 0 0 10px rgba(0,0,0,.35);
}

/* строки — аккуратная сетка: 240px подписи / остальное — значение */
#profile-right > ul > li{
  display:grid; grid-template-columns:240px 1fr; align-items:baseline;
  column-gap:20px; row-gap:6px; padding:10px 0;
  border-bottom:1px solid rgba(230,223,175,.18);
  color:#E6E2C0;
}
#profile-right > ul > li:last-child{ border-bottom:none; }

/* подпись (первый элемент/обёртка с подписью) */
#profile-right > ul > li > :first-child{
  color:#BDB6A3; font:600 16px/1.35 "Spectral",serif;
}

/* значение (второй узел: span/a/em/b и т.п.) */
#profile-right > ul > li > :nth-child(2){
  justify-self:end; text-align:right;
  font:700 18px/1.35 "Playfair Display",serif;
  font-variant-numeric: lining-nums tabular-nums;
  font-feature-settings:"lnum" 1,"tnum" 1;
}

/* некоторые строки у движка уже размечены — подхватываем их */
#pa-register-date > span:last-child,
#pa-time-visit  > span:last-child,
#pa-respect     > span:last-child,
#pa-positive    > span:last-child,
#pa-email       > a,
#pa-posts       > span:last-child,
#pa-last-post   > span:last-child,
#pa-last-visit  > span:last-child{
  justify-self:end; text-align:right;
  font:700 18px/1.35 "Playfair Display",serif;
}

/* ссылки в значениях */
#profile-right a{
  color:#E6E2C0; text-decoration:none;
  border-bottom:1px dashed rgba(230,223,175,.35);
  transition:color .2s,border-color .2s;
}
#profile-right a:hover{ color:#FFF6E5; border-bottom-color:transparent; }

/* разделитель между несколькими ссылками в одной строке */
#profile-right > ul > li a + a::before{ content:" | "; color:rgba(230,223,175,.35); margin:0 6px; }

/* чередование фона строк — легче читается */
#profile-right > ul > li:nth-child(odd){ background:rgba(255,255,255,.02); border-radius:8px; }

/* адаптив */
@media (max-width:980px){
  #profile-right > ul > li{ grid-template-columns:1fr; }
  #profile-right > ul > li > :nth-child(2){ justify-self:start; text-align:left; }
}


/* ============= Список тем (forum view) ============= */

/* таблица */
.punbb .main .forum table{ width:100%; border-collapse:separate !important; border-spacing:0 !important; }

/* заголовок */
.punbb .main .forum thead th{
  padding:10px 12px;
  text-align:left;
  font:700 14px/1.2 "Spectral",serif;
  color:#E6E2C0;
  background:rgba(8,14,18,.85);
  border:1px solid var(--b-mid);
  border-right:0;
}
.punbb .main .forum thead th:last-child{ border-right:1px solid var(--b-mid); }

/* пропорции колонок */
.punbb .main .forum .tcl{ width:45%; }
.punbb .main .forum .tc2{ width:10%; text-align:center; }
.punbb .main .forum .tc3{ width:10%; text-align:center; }
.punbb .main .forum .tcr{ width:35%; }

/* строки */
.punbb .main .forum tbody td{
  padding:14px 12px;
  background:
    linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.12)),
    rgba(195,175,120,.15);
  border:1px solid rgba(230,223,175,.25);
  border-top:0;
  vertical-align:middle;
  color:#E6E2C0;
}
.punbb .main .forum tbody tr:nth-child(even) td{ background:
  linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.14)), rgba(195,175,120,.12); }
.punbb .main .forum tbody tr:hover td{
  background:rgba(195,175,120,.22);
}

/* Название темы: переносы и длинные слова */
.punbb .main .forum .tcl .tclcon,
.punbb .main .forum .tcl a{
  display:inline;
  overflow-wrap:anywhere;      /* чинит “длиннословоооо…” */
  word-break:break-word;
  color:#E6E2C0;
  text-decoration:none;
}
.punbb .main .forum .tcl a:hover{ color:#FFF6E5; text-decoration:underline; }

/* Цифры — аккуратные табличные */
.punbb .main .forum .tc2,
.punbb .main .forum .tc3{
  font:700 16px/1.2 "Playfair Display",serif;
  font-variant-numeric: lining-nums tabular-nums;
  font-feature-settings:"lnum" 1,"tnum" 1;
  color:#E6E2C0;
}

/* «Последнее сообщение» — компактная карточка */
.punbb .main .forum .tcr .byuser,
.punbb .main .forum .tcr .lastpost{ display:none; } /* если такие служебные ноды есть — не мешают */

.punbb .main .forum .tcr{
  padding-right:14px;
}
.punbb .main .forum .tcr > div,
.punbb .main .forum .tcr{
  align-items:center; gap:10px;
}
.punbb .main .forum .tcr img,
.punbb .main .forum .tcr .last-avatar{
  width:28px; height:28px; border-radius:50%;
  object-fit:cover;
  box-shadow:0 0 0 1px rgba(230,223,175,.35);
}
.punbb .main .forum .tcr .lp-meta{
  display:flex; flex-direction:column; gap:2px; min-width:0;
}
.punbb .main .forum .tcr .lp-meta .lp-time{
  font:600 13px/1.2 "Spectral",serif; color:#D0CBAF; white-space:nowrap;
}
.punbb .main .forum .tcr .lp-meta .lp-user a{ 
  color:#E6E2C0; text-decoration:none; 
  border-bottom:1px dashed rgba(230,223,175,.35);
}
.punbb .main .forum .tcr .lp-meta .lp-user a:hover{ color:#FFF6E5; border-bottom-color:transparent; }

/* если движок кладёт просто: [иконка] <span>время</span> <a>ник</a> — соберём из этого */
.punbb .main .forum .tcr { gap:10px; }
.punbb .main .forum .tcr > span:first-child{ /* время */
  font:600 13px/1.2 "Spectral",serif; color:#D0CBAF; white-space:nowrap;
}
.punbb .main .forum .tcr > a:last-child{ /* ник */
  margin-left:auto; /* уедет вправо, если времени мало места */
}

/* кнопки «Новая тема/опрос» над списком — чуть наряднее (если хочешь) */
.punbb .main .forum .linksb .postlink,
.punbb .main .forum .linksb a.button{
  padding:8px 14px; border-radius:10px; border:1px solid var(--b-mid);
  background:
    radial-gradient(120% 140% at 50% 0, rgba(255,255,255,.06), transparent 60%),
    linear-gradient(180deg, rgba(8,14,18,.85), rgba(12,18,24,.92));
  color:#E6E2C0; text-decoration:none; font:600 14px/1.1 "Spectral",serif;
  box-shadow:0 6px 14px rgba(0,0,0,.45), inset 0 0 10px rgba(0,0,0,.5);
}
.punbb .main .forum .linksb a.button:hover{ color:#FFF6E5; border-color:rgba(230,223,175,.6); transform:translateY(-1px); }

/* ——— Адаптив: на узких складываем в карточки ——— */
@media (max-width: 900px){
  .punbb .main .forum thead{ display:none; }
  .punbb .main .forum tbody tr{ display:block; border:1px solid var(--b-mid); border-radius:12px; margin:10px 0; overflow:hidden; }
  .punbb .main .forum tbody td{ display:block; border:0; border-top:1px solid rgba(230,223,175,.18); }
  .punbb .main .forum .tcl{ padding:12px; font:700 18px/1.3 "Playfair Display",serif; }
  .punbb .main .forum .tc2,
  .punbb .main .forum .tc3{ display:inline-block; width:auto; padding:8px 12px; }
  .punbb .main .forum .tcr{ padding:10px 12px; }
}


/* ================================
   КАТЕГОРИИ / СПИСОК ПОДФОРУМОВ
   (.pun-category … table .tcl .tc2 .tc3 .tcr)
   ================================ */

/* ===== Категории / список подфорумов (точно по id="pun-category…") ===== */

/* таблица и шапка */
[id^="pun-category"] .container table{ width:100%; border-collapse:separate !important; border-spacing:0 !important; }
[id^="pun-category"] thead th{
  padding:10px 12px !important;
  text-align:left !important;
  font:700 14px/1.2 "Spectral",serif !important;
  color:#E6E2C0 !important;
  background:rgba(8,14,18,.86) !important;
  border:1px solid var(--b-mid) !important;
  border-right:0 !important;
}
[id^="pun-category"] thead th:last-child{ border-right:1px solid var(--b-mid) !important; }

/* пропорции колонок */
[id^="pun-category"] td.tcl{ width:56% !important; }
[id^="pun-category"] td.tc2{ width:12% !important; text-align:center !important; }
[id^="pun-category"] td.tc3{ width:12% !important; text-align:center !important; }
[id^="pun-category"] td.tcr{ width:95% !important; }

/* строки тела */
[id^="pun-category"] tbody td{
  padding:14px 12px !important;
  vertical-align:middle !important;
  color:#E6E2C0 !important;
  background:
    linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.12)),
    rgba(195,175,120,.15) !important;
  border:1px solid rgba(230,223,175,.25) !important;
  border-top:0 !important;
}
[id^="pun-category"] tbody tr:nth-child(even) td{
  background:
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.14)),
    rgba(195,175,120,.12) !important;
}
[id^="pun-category"] tbody tr:hover td{ background:rgba(195,175,120,.22) !important; }

/* левая колонка: название и описание, перенос очень длинных слов */
[id^="pun-category"] td.tcl .tclcon,
[id^="pun-category"] td.tcl a{
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
  text-decoration:none !important;
}
[id^="pun-category"] td.tcl a:hover{ color:#FFF6E5 !important; text-decoration:underline !important; }

/* счётчики тем/сообщений — ровные цифры */
[id^="pun-category"] td.tc2,
[id^="pun-category"] td.tc3{
  font:700 16px/1.2 "Playfair Display",serif !important;
  font-variant-numeric: lining-nums tabular-nums !important;
  font-feature-settings:"lnum" 1,"tnum" 1 !important;
  color:#E6E2C0 !important;
}

/* если есть .counts-inline с .badge */
[id^="pun-category"] .counts-inline{ display:flex !important; gap:10px !important; justify-content:left!important; }
[id^="pun-category"] .counts-inline .badge{
  min-width:42px; padding:6px 10px !important;
  border:1px solid var(--b-mid) !important;
  background:rgba(8,17,24,.6) !important;
  box-shadow:inset 0 0 8px rgba(0,0,0,.35) !important;
  font:700 15px/1 "Playfair Display",serif !important; color:#E6E2C0 !important; text-align:center !important;
}

/* правая колонка: «последнее сообщение» — иконка + тема (обрезка) + время и автор */
[id^="pun-category"] td.tcr{ display:flex !important; align-items:center !important; gap:10px !important; }
[id^="pun-category"] td.tcr img{ width:30px !important; height:30px !important; border-radius:50% !important; object-fit:cover !important; box-shadow:0 0 0 1px rgba(230,223,175,.35) !important; }
/* первая ссылка в tcr — обычно заголовок последней темы */
[id^="pun-category"] td.tcr a:first-of-type{
  flex:1 1 auto !important; min-width:0 !important;
  overflow:hidden !important; text-overflow:ellipsis !important; white-space:nowrap !important;
  color:#E6E2C0 !important; text-decoration:none !important;
}
[id^="pun-category"] td.tcr a:first-of-type:hover{ color:#FFF6E5 !important; text-decoration:underline !important; }
/* последняя ссылка — ник автора */
[id^="pun-category"] td.tcr a:last-of-type{ margin-left:auto !important; }
/* время (если это текстовый узел/span между ссылками) делаем тихлее */
[id^="pun-category"] td.tcr span, 
[id^="pun-category"] td.tcr .lp-time{
  font:600 13px/1.2 "Spectral",serif !important; color:#D0CBAF !important; white-space:nowrap !important;
}

/* адаптив — карточки */
@media (max-width: 900px){
  [id^="pun-category"] thead{ display:none !important; }
  [id^="pun-category"] tbody tr{ display:block !important; border:1px solid var(--b-mid) !important; border-radius:12px !important; margin:10px 0 !important; overflow:hidden !important; }
  [id^="pun-category"] tbody td{ display:block !important; border:0 !important; border-top:1px solid rgba(230,223,175,.18) !important; }
  [id^="pun-category"] td.tcl{ padding-bottom:8px !important; }
  [id^="pun-category"] td.tc2, [id^="pun-category"] td.tc3{ display:inline-block !important; width:auto !important; padding:8px 12px !important; }
  [id^="pun-category"] td.tcr{ padding:10px 12px !important; }
}

/* Выровнять заголовки подфорумов (h3.post-head-mini) по левому краю */
h3.post-head-mini {
  display: block !important;          /* убираем flex */
  text-align: left !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* Ссылки внутри заголовка — тоже влево и без центровки */
h3.post-head-mini a {
  display: inline-block !important;
  text-align: left !important;
  margin: 0 !important;
}



/* — Последнее сообщение: аватар, название и под ним время/автор — */
/* Правильная раскладка блока "Последнее сообщение" справа */
#pun-index .main td.tcr,
[id^="pun-category"] td.tcr{
  display: grid !important;
  grid-template-columns: 36px 1fr !important; /* аватар + текстовая колонка */
  grid-auto-rows: auto !important;
  align-items: start !important;
  column-gap: 10px !important;
}

/* аватар слева, на всю высоту двух строк */
#pun-index .main td.tcr em.user-avatar,
[id^="pun-category"] td.tcr em.user-avatar{
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  width: 45px !important;
  height: 45px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  box-shadow: 0 0 0 1px rgba(230,223,175,.35);
}
#pun-index .main td.tcr em.user-avatar img,
[id^="pun-category"] td.tcr em.user-avatar img{
  width: 100%; height: 100%; object-fit: cover; border-radius: 50%;
}

/* название темы сверху справа */
#pun-index .main td.tcr a.lastpost-link,
[id^="pun-category"] td.tcr a.lastpost-link{
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: block !important;
  color: #E6E2C0 !important;
  text-decoration: none !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  margin-bottom: 2px !important;
}
#pun-index .main td.tcr a.lastpost-link:hover,
[id^="pun-category"] td.tcr a.lastpost-link:hover{
  color:#FFF6E5 !important;
}

/* время и ник под названием */
#pun-index .main td.tcr span.lastpost,
[id^="pun-category"] td.tcr span.lastpost{
  grid-column: 2 !important;
  grid-row: 2 !important;
  display: block !important;
  font: 600 13px/1.3 "Spectral", serif !important;
  color: #D0CBAF !important;
  white-space: nowrap !important;
}

/* лишний <br> между заголовком и метой скрываем */
#pun-index .main td.tcr br,
[id^="pun-category"] td.tcr br{
  display:none !important;
}

.punbb .user-avatar .avatar-image {
    border-radius: 50%;
    height: 45px!important;
    width: 45px!important;
    opacity: 0.85;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    float: left;
}

/* 2) Автор/контент в теме: единый современный layout */
#pun-viewtopic .post > .container{
  display:grid !important;
  grid-template-columns: 320px minmax(0,1fr) !important; /* слева автор */
  gap:16px !important;
  align-items:start !important;
}

/* 3) Мини-шапка поста: одна строка, “Поделиться” вправо */
#pun-viewtopic .post > h3.post-head-mini{
  display:flex !important;
  align-items:center !important;
  gap:.75rem !important;
  margin:0 0 8px !important;
  padding:8px 12px !important;
}

/* 4) Индекс/категории: если движок не добавляет .lastpost-link/.user-avatar */
#pun-index .main td.tcr > a:first-of-type,
[id^="pun-category"] td.tcr > a:first-of-type{
  grid-column: 2 !important;
  grid-row: 1 !important;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
#pun-index .main td.tcr > span,
[id^="pun-category"] td.tcr > span{
  grid-column: 2 !important;
  grid-row: 2 !important;
}

/* 5) Унифицировать круглые аватары везде */
img[src*="avatar"], .avatar img, .pa-ava > img{
  border-radius:50% !important;
  object-fit:cover !important;
}


.icon[data-new-topics]:before, .subforums span[data-new-topics]:before {
    background: #751B11!important;
    border-radius: 8px;
    color: #8C876E!important;
    content: attr(data-new-topics);
    display: inline-block;
    font-size: .8em;
    font-weight: 700;
    height: 12px;
    line-height: 12px;
    margin: -6px;
    min-width: 12px;
    padding: 2px;
    position: absolute;
    text-align: center;
}


/* Выровнять по левому краю текст последнего сообщения */
#pun-index .main td.tcr {
  text-align: left !important;
  padding-left: 58px !important; /* чтобы не налезало на аватар */
}

/* саму ссылку тоже прижмём к левому краю */
#pun-index .main td.tcr a.lastpost-link {
  display: block !important;
  margin-left: 0 !important;
  text-align: left !important;
  white-space: normal !important; /* если хочешь перенос длинных названий */
}


/* === Оформление блока кода === */
.punbb .code-box {
  position: relative;
  background: #0a1014;
  border: 1px solid #8C876E;
  border-radius: 8px;
  box-shadow:
    0 0 10px rgba(117, 27, 17, 0.2),
    inset 0 0 12px rgba(140, 135, 110, 0.08);
  margin: 16px 0;
  font-family: "JetBrains Mono", "Consolas", monospace;
  font-size: 14px;
  color: #E6DFAF;
  overflow: hidden;
}

/* заголовок "Код" */
.punbb .code-box .legend {
  display: block;
  background: linear-gradient(90deg, rgba(140,135,110,.8), rgba(0,12,20,.8));
  color: #E6DFAF;
  font-family: "Spectral", serif;
  font-size: 13px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  padding: 4px 10px;
  border-bottom: 1px solid rgba(140,135,110,0.5);
  box-shadow: inset 0 -1px 0 rgba(0,0,0,0.4);
}

/* контейнер с кодом */
.punbb .code-box .blockcode {
  padding: 10px 12px;
  background: rgba(0,12,20,0.3);
  border-top: 1px solid rgba(140,135,110,0.15);
}

/* скролл внутри */
.punbb .code-box .scrollbox {
  max-height: 400px;
  overflow: auto;
  scrollbar-width: thin;
  scrollbar-color: #8C876E #000C14;
}

/* стилизация скролла (WebKit) */
.punbb .code-box .scrollbox::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.punbb .code-box .scrollbox::-webkit-scrollbar-thumb {
  background-color: #8C876E;
  border-radius: 4px;
}
.punbb .code-box .scrollbox::-webkit-scrollbar-thumb:hover {
  background-color: #E6DFAF;
}
.punbb .code-box .scrollbox::-webkit-scrollbar-track {
  background-color: #000C14;
}

/* оформление текста кода */
.punbb .code-box code,
.punbb .code-box pre,
.punbb .code-box .scrollbox {
  white-space: pre-wrap;
  word-wrap: break-word;
  line-height: 1.45;
}

/* подсветка мелких строк */
.punbb .code-box .scrollbox > * {
  background: transparent !important;
}


/* === Общая коробка спойлера === */
.post-content .spoiler-box {
  margin: 10px 0 14px;
  border: 1px solid rgba(140,135,110,0.4);
  border-radius: 6px;
  background: rgba(0,12,20,0.2);
  box-shadow: inset 0 0 12px rgba(0,0,0,0.4);
  overflow: hidden;
  transition: all 0.3s ease;
  font-family: 'Spectral', serif;
  color: #E6DFAF;
}

/* === Заголовок (кликабельный) === */
.post-content .spoiler-box > div {
  position: relative;
  cursor: pointer;
  user-select: none;
  padding: 8px 12px 8px 32px;
  background: linear-gradient(90deg, rgba(117,27,17,0.6), rgba(0,12,20,0.7));
  font-weight: 600;
  color: #E6DFAF;
  letter-spacing: 0.3px;
  transition: background 0.25s;
}

.post-content .spoiler-box > div:hover {
  background: linear-gradient(90deg, rgba(117,27,17,0.8), rgba(0,12,20,0.8));
}

/* иконка стрелки */
.post-content .spoiler-box > div::before {
  content: ">";
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
  transition: transform 0.3s ease;
}

/* при открытии */
.post-content .spoiler-box > div.visible::before {
  transform: translateY(-50%) rotate(90deg);
}

/* === Контент спойлера === */
.post-content .spoiler-box blockquote {
  background: rgba(230,223,175,0.05);
  border-top: 1px solid rgba(140,135,110,0.3);
  margin: 0;
  padding: 10px 14px;
  line-height: 1.45;
  font-weight: 400;
  color: #D9D5B8;
  animation: spoilerFade .4s ease;
}

@keyframes spoilerFade {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}


.post-content .spoiler-box > div:hover {
  box-shadow: inset 0 0 10px rgba(230,223,175,0.2);
}

/* Заголовок спойлера — гарантированный отступ под стрелку */
.post-content .spoiler-box > div{
  position:relative;
  padding:8px 12px 8px 40px !important; /* &#8592; место под стрелку */
  background:linear-gradient(90deg, rgba(117,27,17,.6), rgba(0,12,20,.7));
  font-weight:600;
  color:#E6DFAF;
  letter-spacing:.3px;
  transition:background .25s;
}

/* Стрелка как SVG (фиксированный размер) */
.post-content .spoiler-box > div::before{
  content:"";
  position:absolute;
  left:12px;                   /* расстояние от края */
  top:50%;
  width:16px; height:16px;     /* фиксируем размер */
  transform:translateY(-50%);
  background:
    url("https://forumstatic.ru/files/001c/8f/72/91510.png' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath d='M9 6l6 6-6 6' fill='none' stroke='%23E6DFAF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
    center/contain no-repeat;
  pointer-events:none;
  transition:transform .3s ease;
}

/* Поворот при открытии */
.post-content .spoiler-box > div.visible::before{
  transform:translateY(-50%) rotate(90deg);
}

/* Hover */
.post-content .spoiler-box > div:hover{
  background:linear-gradient(90deg, rgba(117,27,17,.8), rgba(0,12,20,.8));
  box-shadow:inset 0 0 10px rgba(230,223,175,.2);
}


/* ===== Объявление: карточная раскладка и стиль ===== */

/* 0) палитра */
:root{
  --ann-bg: rgba(8,18,24,.85);      /* фон карточки */
  --ann-stroke: #2b3a40;            /* рамка */
  --ann-glow: rgba(230,223,175,.08);/* внутреннее сияние */
  --ann-head: #E6DFAF;              /* заголовок */
  --ann-text: #D9D5B8;              /* текст */
  --ann-link: #E6DFAF;
  --ann-link-h: #ffffff;
}

/* 1) ловим таблицу объявления (несколько возможных селекторов на выбор) */
.punbb .announce table,
.punbb #pun-announcement table,
.punbb .section.announce table{
  width:100%;
  table-layout:fixed;
  border-collapse:separate;
  border-spacing:0; /* нам не нужна стандартная сетка */
}

/* превращаем tbody в CSS-grid, а tr «распускаем» в содержимое */
.punbb .announce table tbody,
.punbb #pun-announcement table tbody,
.punbb .section.announce table tbody{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:18px 24px; /* вертикальный/горизонтальный зазор между карточками */
}
.punbb .announce table tbody tr,
.punbb #pun-announcement table tbody tr,
.punbb .section.announce table tbody tr{ display:contents; }

/* 2) сами карточки (td) */
.punbb .announce td,
.punbb #pun-announcement td,
.punbb .section.announce td{
  background: var(--ann-bg);
  border:1px solid var(--ann-stroke);
  border-radius:12px;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.25) inset,
    0 0 14px var(--ann-glow) inset;
  padding:16px 18px;
  color:var(--ann-text);
}

/* 3) заголовок внутри карточки — берём первый элемент (h1–h6, strong, b, p) */
.punbb .announce td > :is(h1,h2,h3,h4,h5,h6,strong,b,p):first-child,
.punbb #pun-announcement td > :is(h1,h2,h3,h4,h5,h6,strong,b,p):first-child,
.punbb .section.announce td > :is(h1,h2,h3,h4,h5,h6,strong,b,p):first-child{
  display:block;
  margin:0 0 10px;
  font-family:"Spectral", serif;
  font-weight:700;
  font-size:18px;
  color:var(--ann-head);
  letter-spacing:.3px;
}

/* 4) списки и абзацы внутри карточки */
.punbb .announce td p,
.punbb #pun-announcement td p,
.punbb .section.announce td p{ margin:0 0 8px; line-height:1.45; }

.punbb .announce td ul,
.punbb #pun-announcement td ul,
.punbb .section.announce td ul{
  margin:8px 0 0 1.1em; padding:0;
}
.punbb .announce td li{ margin:4px 0; }

/* 5) ссылки-списком по центру (как на твоём скрине в средней карточке) */
.punbb .announce td a,
.punbb #pun-announcement td a,
.punbb .section.announce td a{
  color:var(--ann-link);
  text-decoration:none;
  font-weight:700;
  display:inline-block;
  margin:6px 0;
}
.punbb .announce td a:hover{ color:var(--ann-link-h); text-shadow:0 0 8px rgba(230,223,175,.35); }

/* 6) ровные скругления и «стекло» по краям */
.punbb .announce td{
  background-image:
    radial-gradient(120% 80% at 50% 0, rgba(255,255,255,.04), rgba(0,0,0,0) 60%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,0) 20%);
  background-blend-mode: soft-light, overlay;
}

/* 7) адаптив — 2 колонки и затем 1 */
@media (max-width: 1100px){
  .punbb .announce table tbody,
  .punbb #pun-announcement table tbody,
  .punbb .section.announce table tbody{
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 720px){
  .punbb .announce table tbody,
  .punbb #pun-announcement table tbody,
  .punbb .section.announce table tbody{
    grid-template-columns: 1fr;
  }
}

/* 8) на всякий случай: убираем возможные старые фоны/рамки у table/td */
.punbb .announce table, .punbb .announce td{ background-image:none; }

/* ================
   СТИЛЬ СПИСКА ТЕМ
   ================ */

#pun-index .main td.tcl {
  padding: 14px 18px 14px 22px !important;
  vertical-align: middle !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

/* Название темы — жирнее и ближе к верху */
#pun-index .main td.tcl .tclcon a {
  font-weight: 600;
  font-size: 17px;
  color: #000C14;
  text-decoration: none;
}
#pun-index .main td.tcl .tclcon a:hover {
  color: #751B11;
}

/* Автор и страницы — с меньшим размером и равномерным отступом */
#pun-index .main td.tcl .byuser,
#pun-index .main td.tcl .pagestext {
  display: block;
  margin-top: 4px;
  font-size: 14px;
  color: #4b3e2b;
  line-height: 1.3;
}

/* Исправляем перенос номеров страниц */
#pun-index .main td.tcl .pagestext a {
  display: inline-block;
  margin-right: 4px;
  color: #4b3e2b;
}
#pun-index .main td.tcl .pagestext a:hover {
  color: #751B11;
}

/* Чуть увеличим отступ между строками таблицы */
#pun-index .main tr {
  border-bottom: 1px solid rgba(0,0,0,0.1);
}

/* Колонки "Ответов" и "Просмотров" выровнены по центру */
#pun-index .main td.tc2,
#pun-index .main td.tc3 {
  text-align: center !important;
  vertical-align: middle !important;
  font-weight: 600;
}

/* Колонка "Последнее сообщение" — аватар и текст по центру и на одной линии */
#pun-index .main td.tcr {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: center;
  line-height: 1.2;
}

#pun-index .main td.tcr img {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid #2b1c14;
}

/* Чтобы всё смотрелось сбалансированно на фоне */
#pun-index .main {
  background: rgba(255,255,255,0.04);
}
