.rulebook{background:var(--bg)}
.rules-hero{width:min(1180px,calc(100% - 80px));margin:0 auto;padding:48px 0 8px}
.rules-hero h1{max-width:720px;margin:0 0 18px;font-size:clamp(1.85rem,3.2vw,2.55rem);line-height:1.18;letter-spacing:-.03em}
.rules-hero p{max-width:640px;color:var(--muted);font-size:1.02rem;line-height:1.78}
.rules-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;width:min(1180px,calc(100% - 80px));margin:0 auto;padding:28px 0 80px}
.rules-toc{position:sticky;top:104px;align-self:start;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.rules-toc h2{padding:0 0 12px;margin-bottom:8px;border-bottom:1px solid var(--line);color:#fff;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.rules-toc nav{display:grid;gap:4px;margin-top:10px}
.rules-toc a{display:grid;grid-template-columns:18px 24px 1fr;align-items:center;gap:8px;padding:10px 8px;color:var(--muted);border-radius:10px;font-size:.78rem;font-weight:600}
.rules-toc a:hover,.rules-toc a.active{color:#fff;background:rgba(255,255,255,.04)}
.rules-toc a i,.rules-toc a b{color:var(--accent);font-size:.7rem}
.rules-content{display:grid;gap:14px}
.rules-content section{scroll-margin-top:100px;display:grid;grid-template-columns:50px 1fr;gap:16px;padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.rules-content section>span{display:grid;place-items:center;width:44px;height:44px;color:var(--accent);background:var(--accent-soft);border-radius:10px;font-size:.72rem;font-weight:800}
.rules-content h2{font-size:1.15rem}
.rules-content p,.section-intro{margin-top:6px;color:var(--muted);font-size:.9rem;line-height:1.7}
.rule-list{display:grid;gap:12px;margin-top:16px}
.rule-list article{padding:14px 0 4px;border-top:1px solid var(--line)}
.rule-heading{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.rule-heading b{color:var(--accent);font-size:.78rem}
.rule-heading h3{font-size:.95rem;font-weight:700}
.rule-heading em{margin-left:auto;color:var(--muted);font-size:.72rem;font-style:normal;letter-spacing:.04em;text-transform:uppercase}
@media(max-width:900px){
  .rules-hero,.rules-layout{width:calc(100% - 40px)}
  .rules-layout{grid-template-columns:1fr}
  .rules-toc{position:static}
  .rules-toc nav{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .rules-hero,.rules-layout{width:calc(100% - 28px)}
  .rules-content section{grid-template-columns:38px 1fr;padding:18px;gap:12px}
  .rules-content section>span{width:36px;height:36px}
  .rules-toc nav{grid-template-columns:1fr}
}
