/* ===== DLL Project — Rules page ===== */
:root{scroll-padding-top:76px}
.header nav a.active{color:var(--gold)}

/* hero */
.r-hero{position:relative;padding:78px 6vw 56px;border-bottom:1px solid var(--line);overflow:hidden}
.r-hero-copy{max-width:760px;position:relative;z-index:1}
.r-hero h1{font-size:clamp(44px,6.2vw,86px);line-height:.94;letter-spacing:-.07em;margin:0;font-weight:800}
.r-hero h1 em{font-family:Spectral,serif;font-weight:600;color:var(--red);letter-spacing:-.04em}
.r-hero .intro{margin-top:22px}
.r-hero-mark{position:absolute;right:4vw;top:50%;transform:translateY(-58%);font:340px/1 Spectral,serif;color:var(--red);opacity:.14;pointer-events:none;user-select:none}
.r-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.r-meta span{font:11px 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);padding:8px 12px}

/* sticky toolbar */
.r-toolbar{position:sticky;top:0;z-index:6;display:flex;gap:18px;align-items:center;justify-content:space-between;padding:12px 6vw;background:rgba(17,19,22,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.r-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 0;flex:1 1 auto}
.r-chips::-webkit-scrollbar{display:none}
.r-chips a{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;color:var(--paper);text-decoration:none;font:11px 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);padding:8px 12px;white-space:nowrap}
.r-chips a i{font-style:normal;color:var(--red)}
.r-chips a:hover{border-color:var(--gold);color:var(--gold)}
.r-chips a.active{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.r-chips a.active i{color:var(--red)}
.r-search{flex:0 0 280px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:0 12px;background:var(--ink)}
.r-search input{flex:1;background:none;border:0;outline:0;color:var(--paper);font:13px 'DM Mono',monospace;padding:11px 0}
.r-search input::placeholder{color:var(--muted)}
.r-count{font:10px 'DM Mono',monospace;color:var(--gold);white-space:nowrap}
.r-count:empty{display:none}

/* chapters */
.r-content section.r-section{padding:84px 6vw 70px;border-bottom:1px solid var(--line)}
.r-head{max-width:900px;margin-bottom:44px}
.r-head h2{font-size:clamp(34px,4.6vw,58px);margin:0}
.r-sub{color:var(--muted);font:12px 'DM Mono',monospace;letter-spacing:.06em;margin:18px 0 0}

/* text blocks */
.r-block{max-width:860px;padding:6px 0 26px}
.r-block h3{font-size:24px;margin:34px 0 14px;letter-spacing:-.02em;scroll-margin-top:90px}
.r-block h3:first-child{margin-top:8px}
.r-block h4{font-size:17px;margin:26px 0 10px;color:var(--gold);font-weight:700}
.r-block p{color:#9d9a91;line-height:1.7;margin:0 0 12px;max-width:820px}
.r-block ul{margin:0 0 14px;padding-left:22px;color:#9d9a91;line-height:1.7}
.r-block li{margin:5px 0}
.r-block li::marker{color:var(--red)}

/* rule cards */
.rule{border-top:1px solid var(--line);padding:26px 0;display:grid;grid-template-columns:86px 1fr;column-gap:26px;scroll-margin-top:90px}
.rule:last-of-type{border-bottom:1px solid var(--line)}
.rule-n{font:13px 'DM Mono',monospace;color:var(--red);padding-top:3px;letter-spacing:.04em}
.rule-n .dot{display:inline-block;width:7px;height:7px;background:var(--red);border-radius:50%;margin-top:6px}
.rule-body{min-width:0}
.rule h3{font-size:18px;margin:0 0 10px;line-height:1.45;letter-spacing:-.01em}
.rule p{color:#9d9a91;line-height:1.65;margin:0 0 10px}
.verdict{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin:12px 0}
.verdict b{font:10px 'DM Mono',monospace;letter-spacing:.14em;text-transform:uppercase;padding:4px 9px;border:1px solid}
.verdict span,.verdict ul{color:var(--paper);line-height:1.6}
.verdict.punish b{color:#e8836f;border-color:#e8836f55;background:#c7473214}
.verdict.exc b{color:var(--gold);border-color:#c3a66a55;background:#c3a66a12}
.verdict ul{margin:0;padding-left:20px}
.note{border-left:2px solid var(--line);padding:2px 0 2px 18px;margin:12px 0;color:#8b897f;font-style:italic;line-height:1.65}
.note ul{margin:4px 0;padding-left:20px}
.note li{margin:4px 0}

/* tables (sloty) */
.table-wrap{overflow-x:auto;margin:0 0 26px;border-top:1px solid var(--line)}
.slot-table{border-collapse:collapse;width:100%;min-width:560px;font-size:13.5px}
.slot-table th,.slot-table td{border:1px solid var(--line);padding:10px 14px;text-align:left;vertical-align:top;line-height:1.5}
.slot-table th{background:#181a1b;color:var(--gold);font:12px 'DM Mono',monospace;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.slot-table td{color:#9d9a91}
.slot-table tr:hover td{background:#181a1b}

/* long tokens (urls etc) must not stretch layout */
.rule h3,.rule p,.rule li,.verdict span,.note,.r-block p,.r-block li,.slot-table td,.r-head h2{overflow-wrap:break-word}
.rule a,.r-block a,.slot-table a{color:var(--gold);text-underline-offset:4px;overflow-wrap:anywhere}

/* search states */
.searching .rule[hidden],.searching .r-block[hidden],.searching .table-wrap[hidden]{display:none}
.r-empty{padding:60px 6vw;color:var(--muted);font:13px 'DM Mono',monospace}
mark{background:#c3a66a33;color:var(--paper);padding:0 2px}

/* footer */
footer .f-links{display:flex;gap:22px}

@media(max-width:960px){
  .r-toolbar{flex-direction:column;align-items:stretch;gap:10px}
  .r-search{flex-basis:auto}
  .r-hero-mark{font-size:220px;right:-20px}
}
@media(max-width:720px){
  .r-hero{padding:56px 6vw 42px}
  .r-hero-mark{opacity:.09;font-size:190px}
  .r-content section.r-section{padding:56px 6vw 48px}
  .rule{grid-template-columns:1fr;row-gap:6px}
  .rule-n{padding-top:0}
  .r-block h3{font-size:20px}
  :root{scroll-padding-top:118px}
}
