.forum-layout{
max-width:var(--pw2);
margin:var(--gap) auto;
}
.forum-main{
min-width:0;
background:var(--bg2);
border:var(--bw1) solid var(--bc1);
border-radius:var(--br1);
padding:var(--gap);
overflow:hidden;
box-shadow:var(--fbs);
}
.forum-main a:hover{
text-decoration:underline;
}
.forum-main .forum-new-btn:hover,
.forum-main .forum-submit:hover,
.forum-main .forum-pagination a:hover,
.forum-main .forum-thread-cat-badge:hover{
text-decoration:none;
}
.forum-new-btn{
display:block;
width:100%;
padding:14px 20px;
background:var(--cl1);
color:var(--blk);
border:none;
border-radius:50px;
font-family:var(--ff2);
font-size:16px;
font-weight:700;
text-align:center;
cursor:pointer;
text-decoration:none;
margin-bottom:var(--gd2);
box-shadow:var(--csh);
}
.forum-new-btn:hover{
background:var(--oh1);
}
.forum-new-btn:active{
transform:scale(.97);
}
.forum-new-btn-sm{
width:auto;
margin:0;
padding:12px 24px;
font-size:15px;
font-weight:500;
flex-shrink:0;
display:inline-flex;
align-items:center;
gap:6px;
}
.forum-new-btn-icon{
font-size:28px;
font-weight:700;
line-height:1;
}
.forum-new-btn-alt{
background:transparent;
color:var(--tx2);
border:var(--bw1) solid var(--bc1);
box-shadow:none;
}
.forum-new-btn-alt:hover{
background:var(--hv2);
color:var(--tx1);
}
.forum-header-actions{
display:flex;
align-items:center;
gap:12px;
flex-shrink:0;
}
.forum-user-info{
display:flex;
align-items:center;
gap:10px;
font-size:16px;
color:var(--tx2);
}
.forum-user-name{
font-weight:700;
color:var(--tx1);
font-family:var(--ff2);
font-size:16px;
}
.forum-logout-link{
color:var(--tx3);
text-decoration:none;
font-size:15px;
}
.forum-logout-link:hover{
color:var(--rd1);
}
.forum-sidebar-nav{
display:flex;
flex-direction:column;
gap:2px;
}
.forum-sidebar-heading{
font-family:var(--ff2);
font-size:12px;
font-weight:700;
color:var(--tx3);
padding:0 6px 8px;
text-transform:uppercase;
letter-spacing:.5px;
}
.forum-sidebar-link{
display:flex;
align-items:center;
gap:10px;
padding:8px 6px;
color:var(--tx2);
font-size:14px;
text-decoration:none;
border-radius:var(--br5);
}
.forum-sidebar-link:hover{
color:var(--tx1);
}
.forum-sidebar-link .forum-sidebar-dot{
width:10px;
height:10px;
border-radius:50%;
flex-shrink:0;
}
.forum-sidebar-link-text{
flex:1;
min-width:0;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}
.forum-sidebar-link.active{
color:var(--tx1);
font-weight:600;
}
.forum-sidebar-count{
color:var(--tx3);
font-size:12px;
font-family:var(--ff2);
font-weight:700;
}
.forum-sidebar-stats{
display:flex;
gap:var(--gd2);
justify-content:center;
margin-top:var(--gd2);
font-size:12px;
color:var(--tx3);
}
.forum-breadcrumb{
display:flex;
align-items:center;
gap:8px;
margin-bottom:var(--gd2);
font-size:1rem;
color:var(--tx3);
flex-wrap:wrap;
}
.forum-breadcrumb a{
color:var(--lnk);
text-decoration:none;
}
.forum-breadcrumb a:hover{
text-decoration:underline;
}
.forum-breadcrumb-sep{
color:var(--tx3);
font-size:1rem;
}
.forum-section-header{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:var(--gd2);
gap:var(--gd2);
flex-wrap:wrap;
}
.forum-section-title{
font-family:var(--ff2);
font-size:30px;
font-weight:700;
margin:0;
color:var(--tx1);
}
.forum-cat-list{
display:flex;
flex-direction:column;
margin:0 calc(var(--gap) * -1);
}
.forum-cat-card{
display:flex;
align-items:center;
gap:var(--gap);
padding:16px var(--gap);
color:inherit;
}
.forum-cat-dot{
width:14px;
height:14px;
border-radius:50%;
flex-shrink:0;
align-self:flex-start;
margin-top:6px;
}
.forum-cat-info{
flex:1;
min-width:0;
}
.forum-cat-title{
font-family:var(--ff2);
font-size:21px;
font-weight:700;
margin:0;
}
.forum-cat-title a{
color:var(--tx1);
text-decoration:none;
}
.forum-cat-title a:hover{
color:var(--cl1);
}
.forum-cat-desc{
color:var(--tx2);
font-size:15px;
margin:4px 0 0;
}
.forum-cat-description{
color:var(--tx2);
font-size:15px;
margin:0 0 var(--gd2);
}
.forum-cat-stats{
display:flex;
gap:24px;
text-align:center;
flex-shrink:0;
}
.forum-cat-stat{
display:flex;
flex-direction:column;
}
.forum-cat-stat-num{
font-family:var(--ff2);
font-size:22px;
font-weight:700;
color:var(--tx1);
}
.forum-cat-stat-label{
font-size:11px;
color:var(--tx3);
text-transform:uppercase;
letter-spacing:.3px;
}
.forum-cat-last{
min-width:140px;
text-align:right;
font-size:14px;
color:var(--tx2);
flex-shrink:0;
line-height:1.5;
}
.forum-cat-last-empty{
color:var(--tx3);
font-style:italic;
}
.forum-thread-list{
display:flex;
flex-direction:column;
margin:0 calc(var(--gap) * -1);
}
.forum-thread-row{
display:flex;
align-items:center;
gap:var(--gap);
padding:16px var(--gap);
color:inherit;
}
.forum-thread-row.sticky{
background:var(--ob1);
}
.forum-thread-info{
flex:1;
min-width:0;
}
.forum-thread-title{
font-family:var(--ff2);
font-size:18px;
font-weight:700;
margin:0;
line-height:1.3;
}
.forum-thread-title a{
color:var(--tx1);
text-decoration:none;
}
.forum-thread-title a:hover{
color:var(--cl1);
}
.forum-thread-meta{
font-size:14px;
color:var(--tx2);
margin-top:4px;
}
.forum-thread-meta a{
color:var(--tx2);
text-decoration:none;
font-weight:700;
}
.forum-thread-meta a:hover{
color:var(--cl1);
}
.forum-thread-cat-badge{
display:inline-block;
padding:2px 9px;
border-radius:50px;
font-size:12px;
font-weight:700;
font-family:var(--ff2);
text-decoration:none;
margin-right:6px;
vertical-align:middle;
}
.forum-thread-badges{
margin-top:6px;
}
.forum-thread-stats{
display:flex;
gap:20px;
flex-shrink:0;
text-align:center;
}
.forum-thread-stat{
min-width:50px;
}
.forum-thread-stat-num{
font-family:var(--ff2);
font-weight:700;
font-size:17px;
color:var(--tx1);
}
.forum-thread-stat-label{
font-size:11px;
color:var(--tx3);
text-transform:uppercase;
}
.forum-badge{
display:inline-block;
padding:2px 8px;
border-radius:50px;
font-size:11px;
font-weight:700;
font-family:var(--ff2);
text-transform:uppercase;
letter-spacing:.3px;
margin-right:6px;
vertical-align:middle;
}
.badge-sticky{
background:var(--ob3);
color:var(--cl1);
}
.badge-locked{
background:var(--rb1);
color:var(--rd1);
}
.forum-post{
padding:20px var(--gap);
margin:0 calc(var(--gap) * -1);
}
.forum-post.op{
border-left:4px solid var(--cl1);
padding-left:calc(var(--gap) - 4px);
}
.forum-post-header{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:14px;
padding-bottom:14px;
}
.forum-post-author{
font-family:var(--ff2);
font-weight:700;
font-size:17px;
color:var(--cl1);
}
.forum-post-author.role-admin{
color:var(--rd1);
}
.forum-post-author.role-writer{
color:var(--lnk);
}
.forum-thread-meta .role-admin{
color:var(--rd1);
font-weight:700;
}
.forum-thread-meta .role-writer{
color:var(--lnk);
font-weight:700;
}
.forum-user-name.role-admin{
color:var(--rd1);
}
.forum-user-name.role-writer{
color:var(--lnk);
}
.forum-post-date{
font-size:14px;
color:var(--tx3);
}
.forum-post-body{
font-size:var(--fz1);
line-height:var(--lh1);
color:var(--tx1);
word-wrap:break-word;
overflow-wrap:break-word;
}
.forum-post-body p{
margin:12px 0;
}
.forum-post-body p:first-child{
margin-top:0;
}
.forum-post-body p:last-child{
margin-bottom:0;
}
.forum-post-footer{
display:flex;
gap:var(--gd2);
margin-top:14px;
padding-top:14px;
font-size:14px;
color:var(--tx3);
}
.forum-replies-header{
margin:var(--gd2) 0 0;
}
.forum-replies-title{
font-family:var(--ff2);
font-size:19px;
font-weight:700;
margin:0;
color:var(--tx2);
}
.forum-locked-notice{
margin:0 calc(var(--gap) * -1) calc(var(--gap) * -1);
padding:16px var(--gap);
background:var(--rb1);
color:var(--rd1);
font-size:15px;
font-weight:600;
text-align:center;
}
.forum-form{
padding:var(--gap);
margin:0 calc(var(--gap) * -1) calc(var(--gap) * -1);
}
.forum-form-title{
font-family:var(--ff2);
font-size:23px;
font-weight:700;
margin:0 0 6px;
color:var(--tx1);
}
.forum-form-subtitle{
font-size:15px;
color:var(--tx2);
margin:0 0 20px;
}
.forum-field{
margin-bottom:16px;
}
.forum-field label{
display:block;
font-size:13px;
font-weight:700;
color:var(--tx2);
margin-bottom:6px;
font-family:var(--ff2);
text-transform:uppercase;
letter-spacing:.3px;
}
.forum-field input[type="text"],
.forum-field input[type="email"],
.forum-field input[type="password"],
.forum-field textarea{
width:100%;
padding:12px 16px;
background:var(--bg1);
color:var(--tx1);
border:var(--bw1) solid var(--bc1);
border-radius:var(--br4);
font-family:var(--ff1);
font-size:16px;
outline:none;
}
.forum-field input[type="text"]:focus,
.forum-field input[type="email"]:focus,
.forum-field input[type="password"]:focus,
.forum-field textarea:focus{
border-color:var(--cl1);
}
.forum-field input[type="text"]::placeholder,
.forum-field input[type="email"]::placeholder,
.forum-field input[type="password"]::placeholder,
.forum-field textarea::placeholder{
color:var(--tx3);
}
.forum-field textarea{
min-height:180px;
resize:vertical;
line-height:1.6;
}
.forum-form-actions{
display:flex;
align-items:center;
gap:var(--gd2);
}
.forum-submit{
display:inline-block;
padding:12px 30px;
background:var(--cl1);
color:var(--blk);
border:none;
border-radius:50px;
font-family:var(--ff2);
font-size:16px;
font-weight:700;
cursor:pointer;
text-decoration:none;
text-align:center;
}
.forum-submit:hover{
background:var(--oh1);
}
.forum-submit:active{
transform:scale(.97);
}
.forum-cancel{
color:var(--tx2);
font-size:15px;
text-decoration:none;
}
.forum-cancel:hover{
color:var(--tx1);
}
.forum-error{
background:var(--rb1);
color:var(--rd1);
padding:12px 16px;
border-radius:var(--br5);
margin-bottom:16px;
font-size:15px;
font-weight:600;
}
.forum-empty{
text-align:center;
padding:40px 0;
color:var(--tx2);
font-size:17px;
}
.forum-empty a{
color:var(--cl1);
text-decoration:none;
font-weight:600;
}
.forum-empty a:hover{
text-decoration:underline;
}
.forum-pagination{
padding:var(--gd2) 0 0;
display:flex;
justify-content:center;
gap:6px;
}
.forum-pagination a,
.forum-pagination span{
display:inline-flex;
align-items:center;
justify-content:center;
min-width:36px;
height:36px;
padding:0 10px;
border-radius:var(--br5);
font-size:14px;
font-weight:600;
text-decoration:none;
font-family:var(--ff2);
}
.forum-pagination a{
background:var(--bg2);
color:var(--tx1);
}
.forum-pagination a:hover{
background:var(--hv2);
}
.forum-pagination .current{
background:var(--cl1);
color:var(--blk);
}
.forum-hp{
position:absolute;
left:-9999px;
opacity:0;
height:0;
width:0;
overflow:hidden;
}
.forum-auth-wrap{
display:flex;
justify-content:center;
padding:20px 0;
}
.forum-auth-form{
max-width:420px;
width:100%;
margin:0;
background:var(--bg1);
border:var(--bw1) solid var(--bc1);
border-radius:var(--br1);
padding:var(--gap);
}
.forum-auth-alt{
text-align:center;
margin-top:20px;
padding-top:16px;
border-top:var(--bw1) solid var(--bc1);
font-size:15px;
color:var(--tx2);
}
.forum-auth-alt a{
color:var(--cl1);
font-weight:700;
text-decoration:none;
}
.forum-auth-alt a:hover{
text-decoration:underline;
}
.forum-auth-gate{
text-align:center;
padding:30px var(--gap);
margin:0 calc(var(--gap) * -1) calc(var(--gap) * -1);
background:var(--bg1);
border-top:var(--bw1) solid var(--bc1);
}
.forum-auth-gate p{
font-size:16px;
color:var(--tx2);
margin:0 0 16px;
}
.forum-auth-gate-actions{
display:flex;
justify-content:center;
align-items:center;
gap:12px;
}
.forum-pulse{
display:flex;
flex-wrap:wrap;
align-items:center;
justify-content:flex-start;
gap:6px 16px;
margin:var(--gap) calc(var(--gap) * -1) calc(var(--gap) * -1);
padding:14px var(--gap);
background:var(--bg1);
border-top:var(--bw1) solid var(--bc1);
border-radius:0 0 var(--br1) var(--br1);
font-size:13px;
color:var(--tx3);
}
.forum-pulse-item strong{
color:var(--cl1);
font-weight:700;
}
.forum-pulse-online{
display:inline-flex;
align-items:center;
gap:5px;
}
.forum-pulse-dot{
width:7px;
height:7px;
border-radius:50%;
background:var(--cl2);
flex-shrink:0;
}
.forum-color-0 .forum-sidebar-dot,
.forum-color-0 .forum-cat-dot{background:#f51;}
.forum-color-0 .forum-thread-cat-badge{background:var(--ob3);color:#f51;}
.forum-color-1 .forum-sidebar-dot,
.forum-color-1 .forum-cat-dot{background:#6bf;}
.forum-color-1 .forum-thread-cat-badge{background:var(--bb1);color:#6bf;}
.forum-color-2 .forum-sidebar-dot,
.forum-color-2 .forum-cat-dot{background:#9c3;}
.forum-color-2 .forum-thread-cat-badge{background:var(--gb1);color:#9c3;}
.forum-color-3 .forum-sidebar-dot,
.forum-color-3 .forum-cat-dot{background:#e040fb;}
.forum-color-3 .forum-thread-cat-badge{background:rgba(224,64,251,0.13);color:#e040fb;}
.forum-color-4 .forum-sidebar-dot,
.forum-color-4 .forum-cat-dot{background:#ffb300;}
.forum-color-4 .forum-thread-cat-badge{background:rgba(255,179,0,0.13);color:#ffb300;}
.forum-color-5 .forum-sidebar-dot,
.forum-color-5 .forum-cat-dot{background:#26c6da;}
.forum-color-5 .forum-thread-cat-badge{background:rgba(38,198,218,0.13);color:#26c6da;}
.forum-color-6 .forum-sidebar-dot,
.forum-color-6 .forum-cat-dot{background:#ef5350;}
.forum-color-6 .forum-thread-cat-badge{background:var(--rb1);color:#ef5350;}
.forum-color-7 .forum-sidebar-dot,
.forum-color-7 .forum-cat-dot{background:#ab47bc;}
.forum-color-7 .forum-thread-cat-badge{background:rgba(171,71,188,0.13);color:#ab47bc;}
[data-theme="light"] .forum-color-0 .forum-thread-cat-badge{color:#d94000;}
[data-theme="light"] .forum-color-1 .forum-thread-cat-badge{color:#0066cc;}
[data-theme="light"] .forum-color-2 .forum-thread-cat-badge{color:#558b2f;}
[data-theme="light"] .forum-color-3 .forum-thread-cat-badge{color:#9c27b0;}
[data-theme="light"] .forum-color-4 .forum-thread-cat-badge{color:#e65100;}
[data-theme="light"] .forum-color-5 .forum-thread-cat-badge{color:#00838f;}
[data-theme="light"] .forum-color-6 .forum-thread-cat-badge{color:#c62828;}
[data-theme="light"] .forum-color-7 .forum-thread-cat-badge{color:#7b1fa2;}
@media(max-width:1100px){
.forum-layout{
padding:0 var(--gap);
}
.forum-cat-stats{
display:none;
}
.forum-cat-last{
display:none;
}
.forum-section-title{
font-size:22px;
}
}
@media(max-width:700px){
.forum-layout{
padding:0 var(--gd2);
}
.forum-main{
padding:var(--gd2);
}
.forum-cat-list,
.forum-thread-list{
margin:0 calc(var(--gd2) * -1);
}
.forum-cat-card{
padding:12px var(--gd2);
}
.forum-thread-row{
padding:12px var(--gd2);
}
.forum-post{
padding:16px var(--gd2);
margin:0 calc(var(--gd2) * -1);
}
.forum-post.op{
padding-left:calc(var(--gd2) - 4px);
}
.forum-form{
padding:var(--gd2);
margin:0 calc(var(--gd2) * -1) calc(var(--gd2) * -1);
}
.forum-locked-notice{
margin:0 calc(var(--gd2) * -1) calc(var(--gd2) * -1);
padding:16px var(--gd2);
}
.forum-thread-stats{
display:none;
}
.forum-section-header{
flex-direction:column;
align-items:flex-start;
gap:10px;
}
.forum-header-actions{
flex-wrap:wrap;
}
.forum-post-header{
flex-direction:column;
align-items:flex-start;
gap:4px;
}
.forum-pulse{
margin:var(--gd2) calc(var(--gd2) * -1) calc(var(--gd2) * -1);
padding:12px var(--gd2);
}
.forum-auth-gate{
margin:0 calc(var(--gd2) * -1) calc(var(--gd2) * -1);
padding:20px var(--gd2);
}
.forum-auth-form{
padding:var(--gd2);
}
}
