/* Rules layout uses the site's Poppins typography, shared colors and glass cards. */
html { scroll-behavior: smooth; }
.revolution-rules { font-family: 'Poppins', sans-serif; }
.revolution-rules .overlay { padding: 120px 0 60px; background: transparent; backdrop-filter: none; }
.revolution-rules .container { max-width: 1180px; padding: 0 24px; }
.rules-hero { text-align: center; max-width: 800px; margin: 0 auto 28px; }
.revolution-rules .rules-page-tag { background: transparent; color: var(--envo-accent); padding: 0; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 10px; }
.revolution-rules h1 { margin: 0 0 10px; font-size: 40px; letter-spacing: .08em; color: var(--cr-text); }
.revolution-rules .rules-page-subtitle { font-size: 16px; line-height: 1.7; margin: 0 0 12px; }
.revolution-rules .rules-intro { font-size: 14px; line-height: 1.8; margin-bottom: 0; }
.revolution-rules .rules-search { max-width: 800px; margin: 0 auto 28px !important; }
.revolution-rules .rules-search input, .revolution-rules .rules-search select { min-height: 44px; padding: 10px 14px !important; border-radius: 10px !important; border: 1px solid var(--cr-edge) !important; background: rgba(10, 21, 27, .9) !important; font: inherit; font-size: 13px; }
.rules-search input::placeholder { color: var(--cr-muted); }
.revolution-rules .rules-search button { min-height: 44px; padding: 10px 22px; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.rules-layout { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 26px; align-items: start; }
.rules-sidebar { position: sticky; top: 110px; }
.rules-nav-label { display: block; font-size: 10px; letter-spacing: .1em; color: var(--cr-muted); padding: 0 10px 12px; }
.rules-categories { display: grid; gap: 6px; }
.rules-categories a { display: flex; gap: 10px; padding: 12px 10px; border: 1px solid transparent; border-radius: 9px; color: var(--cr-muted); text-decoration: none; font-size: 13px; }
.rules-categories a span { color: var(--envo-accent); font-size: 11px; }
.rules-categories a:hover { background: rgba(255,255,255,.08); border-color: var(--cr-edge); color: var(--cr-text); }
.rules-help { margin-top: 20px; padding: 18px 10px; border-top: 1px solid var(--cr-edge); }
.rules-help span { color: var(--envo-accent); font-size: 13px; }
.rules-help p { font-size: 12px; line-height: 1.8; }
.rules-content { min-width: 0; }
.revolution-rules .rules-section { padding: 26px; margin-bottom: 24px; scroll-margin-top: 110px; }
.revolution-rules h2.rules-section-title { margin: 0 0 18px; padding-bottom: 12px; font-size: 21px; letter-spacing: .05em; color: var(--cr-text); border-color: var(--cr-edge); }
.revolution-rules h3.rules-section-title { font-size: 16px !important; letter-spacing: .04em; color: var(--cr-text); border-color: var(--cr-edge); }
.rules-section > p { font-size: 14px; line-height: 1.8; }
.revolution-rules .rules-grid { gap: 10px; }
.revolution-rules .rule-row { align-items: flex-start; gap: 14px; padding: 16px; border: 1px solid var(--cr-edge); background: rgba(0,0,0,.22); border-radius: 10px; box-shadow: none; }
.revolution-rules .rule-code { flex: 0 0 44px; min-width: 44px; max-width: none; min-height: 30px; font-size: 11px; border-radius: 7px; background: var(--envo-accent-glow) !important; border-color: var(--cr-edge) !important; color: var(--envo-accent) !important; }
.revolution-rules .rule-text { font-size: 14px; line-height: 1.8; color: var(--cr-text); overflow-wrap: anywhere; }
.revolution-rules .rule-box, .revolution-rules .rule-box.requirements-box { background: rgba(0,0,0,.18); border: 1px solid var(--cr-edge); box-shadow: none; padding: 20px; border-radius: 12px; line-height: 1.8; overflow-wrap: anywhere; }
.revolution-rules .rule-title { color: var(--envo-accent); font-size: 17px; }
.revolution-rules :is(a, button, input, select):focus-visible { outline: 2px solid var(--envo-accent); outline-offset: 4px; }
@media (max-width: 900px) {
 .rules-layout { grid-template-columns: 1fr; gap: 20px; }
 .rules-sidebar { position: static; }
 .rules-categories { display: flex; flex-wrap: wrap; }
 .rules-categories a { border-color: var(--cr-edge); background: rgba(10, 21, 27, .6); }
 .rules-nav-label, .rules-help { display: none; }
 .revolution-rules .overlay { padding-top: 145px; }
}
@media (max-width: 600px) {
 .revolution-rules .container { padding: 0 16px; }
 .revolution-rules h1 { font-size: 32px; }
 .revolution-rules .rules-section { padding: 20px 16px; }
 .revolution-rules .rule-row { padding: 14px 12px; gap: 10px; }
 .revolution-rules .rule-code { flex-basis: 36px; min-width: 36px; }
 .revolution-rules .rules-search input { flex-basis: 100% !important; }
 .revolution-rules .rules-search select { flex: 1; min-width: 0; }
 .revolution-rules .rule-box.requirements-box { padding: 16px 12px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
