.rules-book{background:var(--background);border-radius:20px;flex-direction:column;gap:20px;padding:clamp(16px,2.4vw,24px);display:flex}.rb-hero{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:20px;scroll-margin-top:90px;display:flex}.rb-hero>div{flex:420px;min-width:0}.rb-hero h1{letter-spacing:-.02em;text-wrap:balance;margin:4px 0 6px;font-size:clamp(24px,3vw,34px);font-weight:600}.rb-hero p{max-width:64ch;color:var(--text-secondary);margin:0}.rb-kicker{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--brand-accent);font-size:11px}[dir=rtl] .rb-kicker{letter-spacing:0}.rb-meta{flex-wrap:wrap;gap:6px 16px;font-size:12px;display:flex;color:var(--text-muted)!important;margin-top:10px!important}.rb-prevail{font-size:12px;color:var(--text-muted)!important;margin-top:6px!important}.rb-search{flex:280px;max-width:420px}.rb-search input{border:1px solid var(--border);background:var(--surface-1);width:100%;min-height:44px;color:inherit;font:inherit;border-radius:12px;padding:0 14px}.rb-search input:focus-visible{outline:2px solid var(--brand-accent);outline-offset:1px}.rules-book .sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.rb-error,.rb-loading{border:1px solid var(--border);background:var(--surface-1);color:var(--text-secondary);border-radius:14px;padding:16px}.rb-layout{grid-template-columns:minmax(0,300px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.rb-toc{top:calc(env(safe-area-inset-top,0px) + 84px);border:1px solid var(--border);background:var(--surface-1);border-radius:16px;max-height:calc(100vh - 110px);padding:10px;position:sticky;overflow:auto}.rb-toc ol{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.rb-toc-row{align-items:stretch;gap:2px;display:flex}.rb-toc button,.rb-sport-index button,.rb-results button{width:100%;color:var(--text-secondary);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:baseline;gap:8px;padding:7px 10px;font-size:13px;line-height:1.35;display:flex}.rb-toc button:hover,.rb-sport-index button:hover,.rb-results button:hover{background:var(--surface-2);color:inherit}.rb-toc button[aria-current=page]{background:var(--surface-2);color:inherit;box-shadow:inset 3px 0 0 var(--brand-accent);font-weight:600}[dir=rtl] .rb-toc button[aria-current=page]{box-shadow:inset -3px 0 0 var(--brand-accent)}.rb-toc button:focus-visible,.rb-sport-index button:focus-visible,.rb-results button:focus-visible,.rb-table:focus-visible{outline:2px solid var(--brand-accent);outline-offset:1px}.rb-toc .rb-toggle{width:30px;color:var(--text-muted);flex:none;justify-content:center;padding:0}.rb-toggle[aria-expanded=true]{transform:rotate(180deg)}.rb-toc-sub{border-inline-start:1px solid var(--border);margin:2px 0 6px!important;padding-inline-start:14px!important}.rb-toc-sub button{padding:5px 8px;font-size:12.5px}.rb-num{font-family:var(--font-mono);color:var(--text-muted);font-variant-numeric:tabular-nums;flex:none;font-size:11px}.rb-body{border:1px solid var(--border);background:var(--surface-1);border-radius:16px;flex-direction:column;gap:22px;min-width:0;padding:clamp(16px,3vw,28px);display:flex}.rb-section{flex-direction:column;gap:10px;scroll-margin-top:90px;display:flex}.rb-section h2{letter-spacing:-.01em;text-wrap:balance;align-items:baseline;gap:10px;margin:0;font-size:clamp(20px,2.2vw,26px);font-weight:600;display:flex}.rb-section h3{border-top:1px solid var(--border);text-wrap:balance;align-items:baseline;gap:10px;margin:6px 0 0;padding-top:14px;font-size:18px;font-weight:600;display:flex}.rb-section h2 .rb-num,.rb-section h3 .rb-num{color:var(--brand-accent);font-size:13px}.rb-section p{max-width:78ch;color:var(--text-secondary);overflow-wrap:anywhere;margin:0;line-height:1.7}.rb-item{gap:10px;display:flex}.rb-item .rb-n{min-width:22px;font-family:var(--font-mono);color:var(--text-muted);font-variant-numeric:tabular-nums;flex:none;font-size:12px;line-height:1.95}.rb-bullet .rb-n{font-family:inherit;line-height:1.7}.rb-section [data-depth="1"]{padding-inline-start:26px}.rb-section [data-depth="2"],.rb-section [data-depth="3"]{padding-inline-start:52px}.rb-sub{letter-spacing:.06em;text-transform:uppercase;color:inherit;margin:8px 0 0;font-size:12px;font-weight:700}[dir=rtl] .rb-sub{letter-spacing:0}.rb-def b{color:inherit}.rb-en-note{border:1px dashed var(--border);border-radius:10px;padding:8px 12px;font-size:13px;color:var(--text-muted)!important}.rb-table{border:1px solid var(--border);border-radius:12px;max-width:100%;overflow-x:auto}.rb-table table{border-collapse:collapse;font-variant-numeric:tabular-nums;min-width:100%;font-size:13px}.rb-table th,.rb-table td{border-bottom:1px solid var(--border);text-align:start;white-space:nowrap;padding:7px 10px}.rb-table thead th{background:var(--surface-2);color:var(--text-muted);font-size:12px}.rb-table tbody tr:last-child>*{border-bottom:0}.rb-table tbody th{font-weight:600}.rb-links ul{columns:2 260px;color:var(--text-secondary);column-gap:24px;margin:6px 0 0;padding:0;font-size:13px;list-style:none}.rb-links li{break-inside:avoid;overflow-wrap:anywhere;padding:3px 0}.rb-sport-index{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:2px 10px;margin:6px 0 0;padding:0;list-style:none;display:grid}.rb-pager{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:10px;padding-top:16px;display:flex}.rb-pager .button{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.rb-help{color:var(--text-muted);margin:0;font-size:13px}.rb-help a{color:var(--brand-accent)}.rb-results-title{margin:0 0 8px;font-size:16px;font-weight:600}.rb-results{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.rb-results button{border:1px solid var(--border);background:var(--surface-1);flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px}.rb-results b{color:inherit;align-items:baseline;gap:8px;font-weight:600;display:flex}.rb-results button>span{color:var(--text-muted);font-size:12.5px;line-height:1.5}@media (max-width:900px){.rb-layout{grid-template-columns:minmax(0,1fr)}.rb-toc{order:1;max-height:300px;position:static}.rules-book{border-radius:0;padding:0}}@media (prefers-reduced-motion:reduce){.rb-toggle{transition:none}}
