
:root { --fg:#1c1c1e; --dim:#6b6b70; --line:#e3e3e6; --bg:#fbfbfc; --card:#fff; --accent:#0b6bcb; --warn:#b26a00; --bad:#c0392b; --ok:#1e7a46; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font:15px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif; }
.wrap { max-width: 980px; margin: 0 auto; padding: 0 20px 64px; }
header.site { border-bottom:1px solid var(--line); background:var(--card); }
header.site .wrap { padding-top:18px; padding-bottom:14px; display:flex; align-items:baseline; gap:18px; flex-wrap:wrap; }
header.site h1 { font-size:18px; margin:0; }
header.site nav a { color:var(--dim); text-decoration:none; margin-right:14px; font-size:14px; }
header.site nav a:hover { color:var(--accent); }
.banner { background:#fff5e6; border-bottom:1px solid #f0d9b5; color:var(--warn); font-size:13px; padding:8px 0; }
.banner .wrap { padding-top:6px; padding-bottom:6px; }
h2 { font-size:17px; margin:34px 0 10px; padding-bottom:6px; border-bottom:1px solid var(--line); }
h3 { font-size:15px; margin:22px 0 8px; }
a { color: var(--accent); }
.card { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:16px 18px; margin:12px 0; }
.meta { color:var(--dim); font-size:13px; }
.tag { display:inline-block; font-size:12px; padding:1px 7px; border-radius:999px; border:1px solid var(--line); background:#f4f4f6; color:var(--dim); margin-right:6px; }
.tag.ok { color:var(--ok); border-color:#bfe3cd; background:#f0faf4; }
.tag.warn { color:var(--warn); border-color:#f0d9b5; background:#fff8ec; }
.tag.bad { color:var(--bad); border-color:#efc9c4; background:#fdf2f0; }
table { border-collapse:collapse; width:100%; font-size:13.5px; }
th, td { border:1px solid var(--line); padding:6px 9px; text-align:left; vertical-align:top; }
th { background:#f6f6f8; font-weight:600; }
tr:nth-child(even) td { background:#fcfcfd; }
.turn { border-left:3px solid var(--line); padding:0 0 0 14px; margin:22px 0; }
.turn .who { font-weight:600; }
.turn .move { font-family: ui-monospace,SFMono-Regular,Menlo,monospace; font-size:13px; color:var(--accent); }
.turn .text { margin:8px 0 6px; white-space:pre-wrap; }
details { margin:6px 0; }
summary { cursor:pointer; color:var(--dim); font-size:13px; }
details[open] summary { margin-bottom:6px; }
code { font-family: ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12.5px; background:#f4f4f6; padding:1px 4px; border-radius:4px; }
.kv { display:grid; grid-template-columns: max-content 1fr; gap:4px 14px; font-size:13.5px; }
.kv dt { color:var(--dim); }
.kv dd { margin:0; }
ul.tight li { margin:3px 0; }
footer { border-top:1px solid var(--line); color:var(--dim); font-size:12.5px; margin-top:40px; padding-top:14px; }
.warncard { border-left:4px solid var(--warn); background:#fffaf2; }
.warncard h3 { margin-top:0; }
