
.tspb-stats {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1rem;
    margin:1.5rem 0;
}
.tspb-stat {
    background:#111;
    color:#fff;
    border:1px solid rgba(255,212,0,.6);
    padding:1.25rem;
    text-align:center;
    border-radius:10px;
}
.tspb-stat__number {
    display:block;
    color:#ffd400;
    font-size:clamp(2rem,5vw,3.6rem);
    line-height:1;
    font-weight:900;
    letter-spacing:-.04em;
}
.tspb-stat__label {
    display:block;
    margin-top:.55rem;
    font-size:.95rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.05em;
}
.tspb-feed { margin:1.75rem 0; }
.tspb-feed__heading { margin-bottom:1rem; }
.tspb-feed__grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem;
}
.tspb-post {
    position:relative;
    background:#111;
    color:#fff;
    border-radius:12px;
    padding:1.35rem;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.16);
}
.tspb-post.is-locked { border-color:rgba(255,212,0,.75); }
.tspb-post::before {
    content:"";
    position:absolute;
    left:0;
    top:0;
    right:0;
    height:4px;
    background:#ffd400;
}
.tspb-post__meta {
    display:flex;
    gap:.75rem;
    justify-content:space-between;
    align-items:center;
    color:#dcdcde;
    font-size:.82rem;
}
.tspb-post__access {
    color:#ffd400;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.tspb-post__title {
    color:#fff;
    font-size:1.35rem;
    line-height:1.15;
    margin:.8rem 0;
}
.tspb-post__excerpt { color:#eee; margin-bottom:1rem; }
.tspb-post__action { margin:0; }
.tspb-link {
    display:inline-block;
    color:#111 !important;
    background:#ffd400;
    text-decoration:none !important;
    font-weight:800;
    padding:.65rem .9rem;
    border-radius:6px;
}
.tspb-link:hover, .tspb-link:focus { background:#fff; color:#111 !important; }
.tspb-join { margin:1.5rem 0; }
.tspb-join__button {
    display:inline-block;
    background:#ffd400;
    color:#111 !important;
    text-decoration:none !important;
    font-weight:900;
    padding:.85rem 1.25rem;
    border-radius:7px;
    box-shadow:0 3px 0 #111;
}
.tspb-join__button:hover, .tspb-join__button:focus { background:#111; color:#ffd400 !important; }
.tspb-hub { margin:1.5rem 0; }
.tspb-empty, .tspb-admin-hint {
    padding:1rem;
    border-left:4px solid #ffd400;
    background:#f6f7f7;
    color:#111;
}
@media (max-width:760px) {
    .tspb-stats, .tspb-feed__grid { grid-template-columns:1fr; }
    .tspb-post__meta { align-items:flex-start; flex-direction:column; gap:.25rem; }
}
