.tabs {
    display: flex; flex-wrap: wrap; gap: 8px; justify-content: center;
    margin-bottom: 34px;
}
.tab-btn {
    font-family: 'Manrope', sans-serif; font-size: 0.88rem; font-weight: 600;
    color: var(--muted); background: rgba(0, 0, 0, 0.205);
    border: none; border-radius: 6px;
    padding: 11px 20px; cursor: pointer;
    transition: color 0.2s, background 0.2s;
}
.tab-btn:hover { color: #fff; background: rgba(255, 255, 255, 0.06); }
.tab-btn.active { color: #fff; background: var(--red); }
.tab-content { display: none; }
.tab-content.active { display: block; animation: rise 0.4s cubic-bezier(0.16, 1, 0.3, 1); }
@keyframes rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }

.rules-grid { display: flex; flex-direction: column; gap: 12px; }
.rule-item {
    background: #00000036; border-radius: 6px; overflow: hidden;
    backdrop-filter: blur(10px);
}
.rule-header {
    display: flex; flex-wrap: wrap; align-items: center; gap: 12px;
    padding: 16px 20px 12px;
    border-bottom: 1px solid var(--line);
}
.rule-num {
    font-family: 'Unbounded', sans-serif; font-weight: 600; font-size: 0.78rem;
    background: var(--red); color: #fff;
    padding: 5px 11px; border-radius: 6px; flex-shrink: 0;
}
.rule-text { font-weight: 600; font-size: 0.96rem; color: #fff; flex: 1; min-width: 180px; }
.punishment {
    font-size: 0.84rem; font-weight: 600; white-space: nowrap;
    color: #ff0000; padding: 5px 11px; border-radius: 6px;
}
.rule-description { padding: 13px 20px 17px; font-size: 0.9rem; color: #b2acac; line-height: 1.65; }
.clarify {
    margin-top: 11px; font-size: 0.86rem; color: var(--muted);
    background: rgba(0, 0, 0, 0.3); padding: 10px 13px; border-radius: 6px;
}
.sub-section {
    margin: 30px 0 14px; padding: 4px 0 4px 14px;
    border-left: 3px solid var(--red);
    font-family: 'Unbounded', sans-serif; font-weight: 600; font-size: 1.05rem; color: #fff;
}

@media (max-width: 750px) {
    .punishment { white-space: normal; }
    .rule-text { min-width: 0; }
}
