/* rules.html only. Builds on style.css (tokens, fonts, header, footer). */
.rules-page{font-size:17px}
body.rules-page,.rules-page main{overflow-x:clip}
[hidden]{display:none!important}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* Same header as index.html: inline nav, 44px targets */
.rules-page header nav a{display:inline-flex;align-items:center;min-height:44px}
.demo-banner{position:sticky;top:0;z-index:50;background:repeating-linear-gradient(-45deg,#f2f0e8 0 12px,#e6e2d6 12px 24px);color:#17130f;font-size:12px;line-height:1.35;letter-spacing:.3px;font-weight:600;text-align:center;padding:8px 5%;box-shadow:0 2px 0 var(--acid)}
.demo-banner b{background:#17130f;color:#f2f0e8;padding:2px 6px;letter-spacing:1.6px;margin-right:4px;font-weight:700}
.rules-page header nav a[aria-current="page"]{color:var(--acid);box-shadow:inset 0 -2px 0 var(--acid)}
.rules-page .wordmark{display:inline-block;padding:4px 0}

/* Hero */
.rules-hero{position:relative;padding:34px 6% 46px;border-bottom:1px solid var(--line);overflow:hidden;background:radial-gradient(ellipse at 85% 30%,#391514 0,transparent 55%)}
.rules-hero .section-top{color:var(--muted);gap:20px}
.rules-page h1.rules-title{font-size:clamp(58px,10.5vw,150px);line-height:.86;padding:34px 0 0;max-width:none;pointer-events:auto;text-transform:uppercase}
.rules-star{position:absolute;right:5%;top:58px;color:var(--acid);font-size:clamp(64px,11vw,150px);line-height:1;animation:turn 35s linear infinite;font-family:Arial,sans-serif;z-index:1}
.rules-meta{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:8px 22px;margin:26px 0 0;font-size:11px;letter-spacing:1.4px;font-weight:700;color:var(--muted);text-transform:uppercase}
.rules-meta b{color:var(--fg)}

/* Prose column */
.rules{padding:0 6% 80px}
.rules-body{max-width:72ch;margin:0 auto;padding-top:44px}
.rules-body p,.rules-body li{font-size:17px;line-height:1.75;color:#e4e2d9}
.rules-body p{margin:0 0 18px}
.rules-body ul,.rules-body ol{margin:0 0 20px;padding-left:1.3em}
.rules-body li{margin-bottom:8px}
.rules-body li::marker{color:var(--acid)}
.rules-body strong{color:var(--fg)}
.rules-section a:not(.button),.short-version a{color:var(--fg);text-decoration:underline;text-decoration-color:var(--acid);text-decoration-thickness:2px;text-underline-offset:3px}
.rules-section a:not(.button):hover,.short-version a:hover{color:var(--acid)}
.rules-body .fill{background:#2a2623;border:1px dashed #6a6c60;padding:1px 6px;font-size:.92em;color:var(--pink);white-space:normal}
.handle-text{white-space:nowrap}

/* Sections */
.rules-section{padding:46px 0 10px;border-top:1px solid var(--line);scroll-margin-top:20px}
.rules-section:first-of-type{border-top:0}
.rules-section h2{font-size:clamp(36px,5.4vw,56px);line-height:.92;text-transform:uppercase;margin:0 0 22px;display:flex;gap:16px;align-items:baseline}
.rules-section h2 small{font-family:'DM Sans',Arial,sans-serif;font-size:11px;letter-spacing:1.6px;font-weight:700;color:var(--acid);flex:none;transform:translateY(-6px)}
.rules-section h3{font-size:12px;letter-spacing:1.6px;font-weight:700;text-transform:uppercase;color:var(--muted);margin:26px 0 10px}

/* Callouts */
.template-note{position:relative;z-index:2;margin:30px 0 0;max-width:72ch;border:1px dashed var(--acid);padding:16px 18px;font-size:15px;line-height:1.6;color:var(--fg);background:#1a1514}
.template-note b{display:inline-block;background:var(--acid);color:#160a09;font-size:10px;letter-spacing:1.4px;padding:4px 8px;margin-right:10px;vertical-align:2px}
.short-version{background:#1d1918;border:1px solid var(--line);padding:24px 24px 6px;margin:0 0 34px}
.short-version h2{font-size:clamp(30px,4.4vw,42px);text-transform:uppercase;margin:0 0 16px}
.short-version li{margin-bottom:10px}
.scam{background:var(--acid);color:#230d0c;padding:28px 24px 16px;margin:6px 0 22px;transform:rotate(-1deg)}
.scam h3{color:#230d0c;font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-weight:800;font-size:clamp(32px,5vw,46px);letter-spacing:-.02em;line-height:.95;margin:0 0 14px}
.scam p,.scam li{color:#230d0c}
.scam strong{color:#160706}
.scam li::marker{color:#230d0c}
.rules-section .scam a{color:#160706;text-decoration-color:#160706}
.rules-section .scam a:hover{color:#160706;text-decoration-thickness:3px}
.scam a:focus-visible{outline-color:#160706}
.scam .handle-text{background:#230d0c;color:var(--acid);padding:1px 6px}

/* Table of contents */
.toc{display:block;gap:0;font-size:inherit;letter-spacing:normal;font-weight:400;margin:0 0 10px}
.toc h2{font-size:12px;letter-spacing:1.6px;font-family:'DM Sans',Arial,sans-serif;font-weight:700;color:var(--muted);margin:0 0 6px;line-height:1.4}
.toc ol{list-style:none;padding:0;margin:0;columns:2;column-gap:36px;counter-reset:toc}
.toc li{break-inside:avoid;margin:0;border-bottom:1px solid var(--line);counter-increment:toc}
.toc a{display:flex;gap:12px;align-items:center;min-height:46px;padding:8px 0;font-size:15px;font-weight:600;color:var(--fg)}
.toc a::before{content:counter(toc,decimal-leading-zero);font-size:10px;letter-spacing:1px;color:var(--acid);font-weight:700;min-width:20px}
.toc a:hover{color:var(--acid)}

/* Entry periods table */
.table-note{font-size:14px!important;color:var(--muted)!important}
.periods-wrap{margin:8px 0 24px;overflow-x:auto}
.periods{width:100%;border-collapse:collapse;font-size:15px;line-height:1.45}
.periods caption{caption-side:bottom;text-align:left;font-size:12px;color:var(--muted);padding-top:12px;letter-spacing:.3px}
.periods th{text-align:left;font-size:10px;letter-spacing:1.4px;font-weight:700;color:var(--muted);padding:0 12px 12px 0;border-bottom:1px solid #55584b;white-space:nowrap}
.periods td{padding:16px 12px 16px 0;border-bottom:1px solid var(--line);vertical-align:top;color:#e4e2d9}
.periods td:last-child,.periods th:last-child{padding-right:0}
.periods .g-title{display:block;font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-weight:800;font-size:24px;line-height:1;letter-spacing:-.01em;text-transform:uppercase;color:var(--fg);text-decoration:none!important}
.periods a.g-title:hover{color:var(--acid)}
.periods .g-prize{display:block;margin-top:6px;font-size:14px;color:#cfccc2}
.periods .g-meta{display:block;margin-top:6px;font-size:11px;letter-spacing:1px;font-weight:700;color:var(--muted);text-transform:uppercase}
.periods .d{display:block;white-space:nowrap}
.periods .t{display:block;font-size:13px;color:var(--muted);white-space:nowrap}
.periods .empty td{color:var(--muted);font-size:15px;padding:22px 0}
.pill{display:inline-flex;align-items:center;gap:7px;font-size:10px;letter-spacing:1.3px;font-weight:700;padding:6px 9px;border:1px solid #55584b;white-space:nowrap;color:var(--muted)}
.pill-live{background:var(--acid);border-color:var(--acid);color:#160a09}
.pill-live::before{content:'';width:6px;height:6px;border-radius:50%;background:#160a09}
.pill-upcoming{border-color:var(--fg);color:var(--fg)}
.winner{font-weight:700;color:var(--fg);white-space:nowrap}
.winner-pending{color:var(--muted);font-size:14px}

.rules-back{display:flex;flex-wrap:wrap;gap:16px;margin-top:40px}

/* Footer: same as index.html (promo.css): 10px text, 44px targets */
.rules-page footer>div{align-items:center;font-size:10px}
.rules-page footer>div a,.rules-page footer button{display:inline-flex;align-items:center;min-height:44px;font-size:10px}
.rules-page footer>div a:hover,.rules-page footer button:hover{color:var(--acid)}
.footer-legal{margin:20px 0 0;font-size:12px;line-height:1.6;color:var(--muted);max-width:72ch}

@media(max-width:900px){.rules-star{top:70px}}
@media(max-width:700px){
  .toc ol{columns:1}
  .periods thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .periods,.periods tbody,.periods tr,.periods td{display:block;width:100%}
  .periods caption{display:block;padding:0 0 12px}
  .periods tr{border:1px solid var(--line);background:#171615;padding:16px 16px 6px;margin:0 0 14px}
  .periods td{display:grid;grid-template-columns:6.6em minmax(0,1fr);gap:12px;justify-items:start;padding:10px 0;border-bottom:1px solid #26271f}
  .periods td:last-child{border-bottom:0}
  .periods td::before{content:attr(data-label);font-size:10px;letter-spacing:1.3px;font-weight:700;color:var(--muted);padding-top:3px}
  .periods td.cell-g{display:block;padding-top:0}
  .periods td.cell-g::before{display:none}
  .periods .d,.periods .t{white-space:normal}
  .winner{white-space:normal;overflow-wrap:anywhere}
  .periods .empty td{display:block;padding:4px 0 10px}
  .periods .empty td::before{display:none}
}
@media(max-width:600px){
  .rules-page{font-size:16px}
  .rules-page header{height:auto;min-height:68px;padding:10px 4.5%;gap:10px}
  .rules-page header nav{gap:clamp(8px,3.4vw,18px)}
  .rules-page header nav a,.rules-page header nav a:nth-child(2){display:inline-flex;font-size:9.5px;letter-spacing:.6px}
  .rules-page .lights{width:44px;height:44px;padding:0}
  .rules-page footer>div,.rules-page footer button{font-size:10px}
  .rules-hero{padding:26px 6% 36px}
  .rules-hero .section-top>span:last-child{max-width:none}
  .rules-page h1.rules-title{font-size:clamp(50px,15vw,92px);padding-top:28px}
  .rules-star{font-size:56px;top:64px;right:4%}
  .rules-meta{font-size:10px;letter-spacing:1px}
  .template-note{font-size:14px;padding:14px}
  .rules{padding:0 5% 60px}
  .rules-body{padding-top:34px}
  .rules-body p,.rules-body li{font-size:16px;line-height:1.7}
  .short-version{padding:20px 18px 4px}
  .scam{padding:24px 18px 12px;transform:rotate(-.6deg)}
  .rules-section{padding-top:38px}
  .rules-section h2{flex-direction:column;gap:8px}
  .rules-section h2 small{transform:none}
  .footer-legal{font-size:12px}
}
@media(max-width:400px){
  .rules-page .wordmark{font-size:17px}
  .rules-page header nav{gap:8px}
  .rules-page header nav a,.rules-page header nav a:nth-child(2){font-size:9px;letter-spacing:.3px}
  .rules-page .lights{width:40px;height:40px}
}
