:root{--bg:#0d241d;--felt:#123328;--panel:#163b2f;--line:#285446;--ink:#f3eedf;--muted:#c3cbbf;--chip:#d93a2f;--chip-lite:#ec5a4e;--mint:#9fe3c6;--board:#fbf8ef;--board-ink:#1d2622}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif}
a{color:var(--mint);text-underline-offset:3px}
a:hover{color:#c9f4e1}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#000;padding:8px 12px;z-index:2}
.skip:focus{left:8px;top:8px}
.wrap{max-width:860px;margin:0 auto;padding:0 16px}
header.top{background:linear-gradient(180deg,#071812,#0d241d);border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;min-height:64px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.brand{display:flex;align-items:center;gap:10px;flex-wrap:wrap;text-decoration:none}
.brand img{display:block;height:26px;width:auto}
.badge{display:inline-flex;align-items:center;gap:7px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:3px 10px;color:var(--muted)}
.badge::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--chip);box-shadow:0 0 0 3px rgba(217,58,47,.28)}
.lang{display:flex;gap:4px;font-size:14px;flex-wrap:wrap}
.lang a{color:var(--muted);text-decoration:none;padding:6px 10px;border-radius:999px}
.lang a[aria-current]{color:var(--bg);background:var(--ink)}
nav.pages{background:var(--felt);border-bottom:1px solid var(--line)}
nav.pages ul{list-style:none;margin:0;padding:8px 0;display:flex;flex-wrap:wrap;gap:6px}
nav.pages a{display:block;padding:7px 14px;border:1px solid var(--line);border-radius:999px;color:var(--ink);text-decoration:none;font-size:14px}
nav.pages a[aria-current]{background:var(--chip);border-color:var(--chip);color:#fff}
.crumb{font-size:14px;color:var(--muted);margin:20px 0 0}
.crumb a{color:var(--muted)}
h1,h2,h3{font-family:Georgia,"Times New Roman","Noto Serif SC","Songti SC",serif;line-height:1.25;font-weight:700;overflow-wrap:anywhere}
h1{font-size:clamp(30px,5.6vw,46px);margin:22px 0 8px}
h2{font-size:clamp(23px,3.6vw,30px);margin:44px 0 12px;padding-left:14px;border-left:4px solid var(--chip)}
h3{font-size:19px;margin:18px 0 6px}
.meta{font-size:14px;color:var(--muted);margin:0 0 14px}
.lead{font-size:19px}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 8px}
.btn{display:inline-flex;align-items:center;min-height:46px;padding:10px 22px;border-radius:999px;font-weight:700;text-decoration:none}
.btn-main{background:var(--chip);color:#fff}
.btn-main:hover{background:var(--chip-lite);color:#fff}
.btn-alt{border:1px solid var(--ink);color:var(--ink)}
.btn-alt:hover{background:var(--panel);color:var(--ink)}
.tablewrap{overflow-x:auto;margin:14px 0;border-radius:12px;border:1px solid var(--line)}
table.odds{width:100%;border-collapse:collapse;background:var(--board);color:var(--board-ink);font-size:15px}
table.odds th{background:#efe7d2;text-align:left;font-weight:700}
table.odds th,table.odds td{padding:9px 12px;border-bottom:1px solid #e3dcc8;vertical-align:top}
table.odds tr:last-child td{border-bottom:0}
table.odds a{color:#0f5c43}
.note{font-size:15px;color:var(--muted)}
ol.steps,ul.checks,ol.walk{padding-left:22px}
ol.steps li,ul.checks li,ol.walk li{margin:10px 0}
ul.cols{columns:2;column-gap:24px;padding-left:20px;margin:12px 0}
ul.cols li{break-inside:avoid}
@media (min-width:640px){ul.cols{columns:4}}
figure.road{margin:18px 0}
.boardwrap{overflow-x:auto;background:var(--board);border-radius:10px;padding:10px;border:1px solid var(--line)}
svg.board{display:block;max-width:none}
figure.road figcaption{font-size:14px;color:var(--muted);margin-top:6px}
.seq{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:15px;word-spacing:2px;overflow-wrap:anywhere}
.qa{border-top:1px solid var(--line);padding:4px 0}
.qa h3{margin:14px 0 6px}
.qa p{margin:0 0 12px;color:#e2e6dc}
.rg{margin:40px 0 24px;padding:12px 16px;border-left:4px solid var(--chip);background:var(--panel);font-size:14px;color:var(--muted);border-radius:0 8px 8px 0}
footer.foot{border-top:1px solid var(--line);padding:16px 0 32px;font-size:14px;color:var(--muted);background:#0a1e18}
footer.foot p{margin:8px 0;overflow-wrap:anywhere}
footer.foot a{color:var(--muted)}
