/* ============================================================
   Community Guidelines — TS Fling (cg-)
   ============================================================ */
.cg-page { margin-top: 0; }
.cg-container { max-width: 1100px; margin: 0 auto; padding: 0 5%; }
.cg-page h2 { font-size: clamp(1.7rem, 3vw, 2.3rem); margin: 12px 0 18px; }

.cg-breadcrumb { border-bottom: 1px solid var(--tsf-line); padding: 12px 0; }
.cg-breadcrumb ol { list-style: none; }
.cg-breadcrumb ol li + li::before { content: '›'; margin-right: 8px; opacity: .5; }

.cg-intro { padding: 84px 0; }
.cg-intro__inner { display: grid; grid-template-columns: 1.4fr 0.6fr; gap: 56px; align-items: start; }
.cg-intro__text p { color: var(--tsf-muted); margin-bottom: 16px; font-size: 1.03rem; }
.cg-intro__text a { text-decoration: underline; }
.cg-intro__stat-col { display: grid; gap: 14px; }
.cg-stat { padding: 22px 24px; border-radius: 16px; background: var(--tsf-card); border: 1px solid var(--tsf-line-2); display: flex; align-items: baseline; gap: 14px; }
.cg-stat__num { font-family: var(--tsf-font-d); font-size: 2rem; font-weight: 700; background: var(--tsf-grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.cg-stat__label { color: var(--tsf-muted); font-size: 0.9rem; }

.cg-rules { padding: 0 0 84px; }
.cg-rules__preamble { text-align: center; color: var(--tsf-muted); max-width: 640px; margin: 0 auto 36px; font-size: 1.05rem; }
.cg-rules-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.cg-rule { padding: 30px 30px 28px; }
.cg-rule__header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.cg-rule__num { font-family: var(--tsf-font-d); font-size: 1.6rem; font-weight: 700; background: var(--tsf-grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.cg-rule__icon { font-size: 1.4rem; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 12px; background: rgba(255,36,88,0.10); border: 1px solid var(--tsf-line-2); }
.cg-rule__title { font-size: 1.35rem !important; margin: 0 0 6px !important; }
.cg-rule__lead { color: var(--tsf-pink-2); font-weight: 700; margin-bottom: 10px; }
.cg-rule__body { color: var(--tsf-muted); font-size: 0.97rem; }

.cg-report { padding: 84px 0; background: linear-gradient(180deg, rgba(255,255,255,0.02), transparent); border-top: 1px solid var(--tsf-line); border-bottom: 1px solid var(--tsf-line); }
.cg-report__inner { max-width: 800px; }
.cg-report__inner p { color: var(--tsf-muted); margin-bottom: 14px; }
.cg-report__inner a { text-decoration: underline; }
.cg-report__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 22px; }
.cg-report__actions a { text-decoration: none; }

.cg-consequences { padding: 84px 0; }
.cg-consequences__lead { color: var(--tsf-muted); max-width: 720px; margin-bottom: 30px; }
.cg-consequences-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.cg-consequence { padding: 24px 22px; border-radius: 14px; background: var(--tsf-card); border: 1px solid var(--tsf-line); }
.cg-consequence__step { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--tsf-grad); color: #fff; font-weight: 800; margin-bottom: 12px; }
.cg-consequence h3 { font-size: 1.05rem; margin-bottom: 6px; }
.cg-consequence p { color: var(--tsf-muted); font-size: 0.92rem; }

@media (max-width: 900px) {
    .cg-intro, .cg-report, .cg-consequences { padding: 60px 0; }
    .cg-intro__inner { grid-template-columns: 1fr; gap: 30px; }
    .cg-consequences-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    .cg-rules-grid, .cg-consequences-grid { grid-template-columns: 1fr; }
}
