/* 枫木/胡桃木棋盘色 + 墨黑 + 一个印章红强调色 */
:root{--serif:"Songti SC","STSong","Noto Serif CJK SC","Source Han Serif SC","SimSun",serif;
  --paper:#f6f1e7; --ink:#1d1a16; --muted:#6b6257; --line:#ddd2bf;
  --light:#efd9b4; --dark:#a8743f; --seal:#c23a2b; --card:#fffdf8;
  --win:#2f6b45; --draw:#8a7a5c; --loss:#c23a2b;
}
@media (prefers-color-scheme:dark){:root{
  --paper:#16130f; --ink:#f1e9da; --muted:#a89c8a; --line:#3a332a;
  --light:#c9a77a; --dark:#6e4a28; --seal:#e0574a; --card:#1f1b16;
  --win:#5fae7d; --draw:#b3a37f; --loss:#e0574a;
}}
*{box-sizing:border-box;margin:0}
body{background:var(--paper);color:var(--ink);font:16px/1.7 -apple-system,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif}
a{color:inherit}
.wrap{max-width:1040px;margin:0 auto;padding:0 16px}
h1,h2,.serif{font-family:var(--serif)}

/* 导航：四项即可，“比赛记录/历次比赛”合并为“赛事” */
nav{display:flex;align-items:center;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
nav .brand{font-weight:900;font-family:var(--serif);text-decoration:none;margin-right:auto}
nav a:not(.brand){text-decoration:none;color:var(--muted);font-size:15px}
nav a[aria-current]{color:var(--ink);box-shadow:inset 0 -2px var(--seal)}

/* 首屏：左文字，右“马步成长图” */
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;padding:56px 0 40px}
@media(max-width:760px){.hero{grid-template-columns:1fr;gap:28px;padding-top:32px}}
.eyebrow{color:var(--muted);letter-spacing:.15em;font-size:13px}
.hero h1{font-size:clamp(44px,8vw,76px);line-height:1.1;margin:8px 0 12px}
.seal{display:inline-block;border:2px solid var(--seal);color:var(--seal);padding:2px 10px;font-family:var(--serif);font-weight:900;transform:rotate(-4deg);margin-left:8px;font-size:.38em;vertical-align:middle}
.lede{color:var(--muted);max-width:30em}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:28px}
.kpis div{background:var(--card);padding:14px}
.kpis b{display:block;font:900 30px/1.2 var(--serif)}
.kpis span{font-size:13px;color:var(--muted)}

.board{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);aspect-ratio:1;border:10px solid var(--ink);border-radius:4px;position:relative}
.sq{position:relative;min-width:0;min-height:0;overflow:hidden;display:grid;place-items:center;font-size:clamp(20px,4vw,34px);cursor:default}
.sq.l{background:var(--light)}.sq.d{background:var(--dark)}
.sq .c{position:absolute;left:3px;bottom:0;font-size:10px;opacity:.6;color:#2b1d10}
.sq.stop{cursor:pointer}
.sq.stop::after{content:attr(data-n);position:absolute;top:3px;right:5px;font:900 11px var(--serif);color:var(--seal)}
.sq.next{box-shadow:inset 0 0 0 3px var(--seal)}
.sq.next::before{content:"";width:28%;aspect-ratio:1;border-radius:50%;background:var(--seal);opacity:.5}
.sq.on{outline:3px solid var(--ink);outline-offset:-3px}
.knight{color:#111;text-shadow:0 1px 0 #fff8}
.caption{margin-top:12px;min-height:3.4em;font-size:14px;color:var(--muted)}
.caption b{color:var(--ink)}

section{padding:48px 0;border-top:1px solid var(--line)}
section h2{font-size:28px;margin-bottom:6px}
.sub{color:var(--muted);margin-bottom:24px}

/* 三站赛事卡片 */
.events{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:760px){.events{grid-template-columns:1fr}}
.ev{background:var(--card);border:1px solid var(--line);padding:18px;border-radius:6px}
.ev.hl{border-color:var(--seal)}
.ev small{color:var(--muted)}
.ev h3{font:900 18px/1.4 var(--serif);margin:4px 0 10px}
.ev .rank{font:900 40px/1 var(--serif)}
.ev .rank em{font-size:14px;font-style:normal;color:var(--muted);margin-left:4px}
.strip{display:flex;gap:3px;margin:14px 0 6px;flex-wrap:wrap}
.strip i{width:22px;height:22px;display:grid;place-items:center;font:600 11px sans-serif;color:#fff;border-radius:2px}
.strip .W{background:var(--win)}.strip .D{background:var(--draw)}.strip .L{background:var(--loss)}
.ev .meta{font-size:13px;color:var(--muted)}

/* 等级分折线 */
.chart{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:16px}
.chart svg{width:100%;height:auto;display:block}
.legend{font-size:13px;color:var(--muted);display:flex;gap:18px;flex-wrap:wrap;margin-top:6px}
.legend i{display:inline-block;width:18px;height:3px;vertical-align:middle;margin-right:6px}

/* 本周一题 */
.puzzle{display:grid;grid-template-columns:1fr 1.2fr;gap:28px;align-items:start}
@media(max-width:760px){.puzzle{grid-template-columns:1fr}}
.todo{border:2px dashed var(--line);padding:18px;border-radius:6px;color:var(--muted);font-size:14px}
details{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:12px 16px;margin-top:12px}
summary{cursor:pointer;font-weight:600}

.three{list-style:none;padding:0;display:grid;gap:10px;counter-reset:q}
.three li{background:var(--card);border-left:4px solid var(--seal);padding:10px 14px;counter-increment:q}
.three li::before{content:counter(q) "问 ";font-family:var(--serif);font-weight:900;color:var(--seal)}

footer{border-top:1px solid var(--line);padding:28px 0 40px;color:var(--muted);font-size:13px}

a.ev{display:block;text-decoration:none;transition:transform .15s}
a.ev:hover{transform:translateY(-2px)}
.sub a{color:var(--seal)}

/* 赛事页 */
.page-h{padding:40px 0 8px}
.page-h h1{font-size:clamp(32px,6vw,48px)}
.event{padding:40px 0;border-top:1px solid var(--line);scroll-margin-top:12px}
.event h2{font-size:24px}
.facts{display:flex;flex-wrap:wrap;gap:8px 20px;color:var(--muted);font-size:14px;margin:6px 0 18px}
.facts b{color:var(--ink)}
.rounds{list-style:none;padding:0;display:grid;gap:8px}
.rounds li{display:grid;grid-template-columns:44px 1fr;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:12px 14px}
.rounds .r{width:44px;height:44px;display:grid;place-items:center;color:#fff;font:900 15px var(--serif);border-radius:4px}
.rounds .W{background:var(--win)}.rounds .D{background:var(--draw)}.rounds .L{background:var(--loss)}
.rounds h3{font-size:16px;font-weight:600}
.rounds .pc{display:inline-block;width:12px;height:12px;border-radius:50%;border:1.5px solid var(--ink);vertical-align:-1px;margin-right:4px}
.rounds .pc.w{background:#fff}.rounds .pc.b{background:#111}
.rounds p{color:var(--muted);font-size:14px;margin-top:2px}
.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}
@media(max-width:760px){.summary{grid-template-columns:1fr}}
.summary div{background:var(--card);border-top:3px solid var(--ink);padding:14px;font-size:14px}
.summary div:nth-child(2){border-color:var(--seal)}
.summary h4{font:900 16px var(--serif);margin-bottom:4px}

/* 下一盘 */
.game{display:grid;grid-template-columns:minmax(0,560px) 1fr;gap:28px;padding:32px 0 48px;align-items:start}
@media(max-width:860px){.game{grid-template-columns:1fr}}
.pboard{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);aspect-ratio:1;border:10px solid var(--ink);border-radius:4px;user-select:none;touch-action:manipulation}
.pboard .sq{cursor:pointer;font-size:clamp(26px,8vw,52px);line-height:1}
.pc-w{color:#fff;text-shadow:0 0 2px #000,0 0 1px #000,0 1px 1px #000}
.pc-b{color:#111;text-shadow:0 1px 0 #fff6}
.sq.sel{box-shadow:inset 0 0 0 4px var(--seal)}
.sq.tgt::before{content:"";position:absolute;width:30%;aspect-ratio:1;border-radius:50%;background:var(--seal);opacity:.55}
.sq.tgt.cap::before{width:86%;background:none;border:4px solid var(--seal)}
.sq.last{background-image:linear-gradient(#f5d36a66,#f5d36a66)}
.sq.chk{background-image:radial-gradient(circle,#e0574acc,transparent 70%)}
.panel{display:grid;gap:14px}
.status{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--seal);padding:12px 14px;border-radius:6px;font-weight:600}
.ctrl{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ctrl button,.ctrl select{font:inherit;font-size:14px;padding:8px 14px;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:6px;cursor:pointer}
.ctrl button.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.moves{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:12px 14px;font:14px/1.9 ui-monospace,Menlo,monospace;max-height:280px;overflow:auto;min-height:80px}
.moves span{margin-right:10px;white-space:nowrap}

/* 相册 */
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;padding:24px 0 48px}
.gallery figure{background:var(--card);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;cursor:zoom-in}
.gallery .ph{aspect-ratio:4/3;display:grid;place-items:center;font-size:44px;background:repeating-conic-gradient(var(--light) 0 25%,var(--paper) 0 50%) 0 0/40px 40px;opacity:.6}
.gallery figcaption{padding:10px 12px;font-size:14px}
.gallery figcaption small{display:block;color:var(--muted)}
dialog{border:0;padding:0;background:transparent;max-width:94vw}
dialog::backdrop{background:#000d}
dialog img{max-width:94vw;max-height:88vh;display:block;border-radius:4px}
dialog p{color:#eee;text-align:center;padding:8px;font-size:14px}
