/* 第一步：法律页面沿用 Daverno 的卡片、圆角和明亮色彩。 */
:root { --sun:#ffd870; --ink:#173337; --mint:#bff1dd; --coral:#ff7657; --paper:#fffaf0; --sky:#a9d7ff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--sun); color:var(--ink); font-family:'Trebuchet MS',Arial,sans-serif; }
a { color:inherit; }
a:focus-visible { outline:3px dashed var(--ink); outline-offset:4px; }
.skip { position:absolute; left:-9999px; top:0; z-index:5; padding:10px; background:#fff; }
.skip:focus { left:10px; }
.wrap { width:min(1160px,calc(100% - 48px)); margin:auto; }
.tiny { font-size:11px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.top { border-bottom:4px solid var(--ink); background:var(--paper); }
.top-inner { display:flex; align-items:center; justify-content:space-between; gap:25px; min-height:88px; }
.brand { display:inline-flex; align-items:center; gap:11px; font-size:27px; font-weight:900; letter-spacing:-.09em; text-decoration:none; }
.brand span { display:grid; place-items:center; width:46px; height:46px; border:3px solid var(--ink); border-radius:50%; background:var(--coral); font-size:30px; transform:rotate(-18deg); }
.top nav { display:flex; flex-wrap:wrap; gap:9px; }
.top nav a { padding:10px 14px; border:2px solid var(--ink); border-radius:8px; font-size:11px; font-weight:900; letter-spacing:.07em; text-decoration:none; text-transform:uppercase; }
.top nav a:hover { background:var(--mint); }
.hero { position:relative; margin:38px auto 25px; padding:55px 60px 65px; border:4px solid var(--ink); border-radius:28px; background:var(--mint); box-shadow:9px 9px 0 var(--ink); overflow:hidden; }
.hero::after { content:'✳'; position:absolute; right:35px; top:10px; color:var(--coral); font-size:140px; line-height:1; opacity:.7; }
.hero > * { position:relative; z-index:1; }
.hero h1 { max-width:830px; margin:28px 0 18px; font:900 clamp(58px,8vw,105px)/.88 Arial,sans-serif; letter-spacing:-.085em; text-transform:uppercase; }
.hero p:last-child { max-width:600px; margin:0; font-size:18px; line-height:1.55; }

/* 第二步：正文做成一本可滚动的游戏手册，保证长条款易读。 */
.sheet { margin:0 auto 65px; padding:30px 50px 50px; border:4px solid var(--ink); border-radius:28px; background:var(--paper); box-shadow:9px 9px 0 var(--ink); }
.sheet-meta { display:flex; justify-content:space-between; gap:20px; padding:0 0 25px; border-bottom:3px solid var(--ink); }
.sheet section { display:grid; grid-template-columns:64px minmax(0,1fr); gap:25px; padding:34px 0; border-bottom:2px dashed #aac5b7; }
.sheet section:last-child { border-bottom:0; }
.number { display:grid; place-items:center; width:50px; height:50px; border:3px solid var(--ink); border-radius:50%; background:var(--coral); font-size:17px; font-weight:900; }
.sheet h2 { margin:5px 0 16px; font:900 clamp(28px,3vw,40px)/1 Arial,sans-serif; letter-spacing:-.055em; text-transform:uppercase; }
.sheet p,.sheet li { max-width:780px; font-size:16px; line-height:1.7; }
.sheet p { margin:0 0 14px; }
.sheet p:last-child { margin-bottom:0; }
.sheet ul { margin:0; padding-left:21px; }
.sheet a { color:#aa3c24; font-weight:800; text-underline-offset:3px; overflow-wrap:anywhere; }
.bottom { padding:27px 0; border-top:4px solid var(--ink); background:var(--paper); }
.bottom-inner { display:flex; flex-wrap:wrap; justify-content:space-between; gap:18px; }
.bottom a { text-decoration:none; }
.bottom a:hover { color:#aa3c24; }
@media(max-width:650px) {
  .wrap { width:calc(100% - 28px); }
  .top-inner { align-items:flex-start; flex-direction:column; padding:17px 0; }
  .brand { font-size:23px; }
  .top nav { gap:6px; }
  .top nav a { padding:8px 10px; font-size:9px; }
  .hero { padding:35px 25px 45px; border-radius:18px; box-shadow:5px 5px 0 var(--ink); }
  .hero::after { right:10px; font-size:90px; }
  .hero h1 { font-size:clamp(55px,14vw,80px); }
  .sheet { padding:24px 22px 30px; border-radius:18px; box-shadow:5px 5px 0 var(--ink); }
  .sheet-meta { flex-direction:column; }
  .sheet section { grid-template-columns:1fr; gap:13px; }
}
