:root{--bg:#fbfaf7;--ink:#1d221f;--muted:#5b625d;--line:#e3e0d8;--brand:#1f6f4a;--brand-ink:#fff;--card:#fff;--sq-light:#eeeed2;--sq-dark:#769656;--sq-hl:#ffd60073;--radius:10px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);margin:0;font:17px/1.65 system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;overflow-x:hidden}a{color:var(--brand)}h1,h2,h3{letter-spacing:-.01em;line-height:1.25}h1{margin:.4em 0 .5em;font-size:clamp(1.75rem,5vw,2.5rem)}h2{margin:0 0 .6em;scroll-margin-top:80px;font-size:clamp(1.35rem,3.6vw,1.7rem)}h3{margin:0 0 .35em;font-size:1.1rem}p,li{overflow-wrap:anywhere}.wrap{width:100%;max-width:820px;margin:0 auto;padding:0 18px}.narrow{max-width:720px}.content{padding-top:8px;padding-bottom:48px}.section{margin:44px 0;scroll-margin-top:72px}.site-header{z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);background:#fbfaf7f0;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;height:56px;display:flex}.logo{color:var(--ink);align-items:center;gap:6px;font-size:1.2rem;font-weight:800;text-decoration:none;display:inline-flex}.logo-mark{color:var(--brand);font-size:1.4rem}.site-header nav a{color:var(--ink);font-weight:600;text-decoration:none}.site-footer{border-top:1px solid var(--line);color:var(--muted);padding:28px 0;font-size:.95rem}.footer-links{flex-wrap:wrap;gap:18px;display:flex}.footer-links a{color:var(--ink)}.footer-note{margin:12px 0 0}.footer-note a{color:var(--muted)}.hero{border-bottom:1px solid var(--line);padding:48px 0 24px}.lede{color:var(--muted);max-width:640px;font-size:1.15rem}.btn{background:var(--brand);color:var(--brand-ink);border-radius:var(--radius);margin-top:8px;padding:12px 22px;font-weight:700;text-decoration:none;display:inline-block}.cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:20px 0 0;padding:0;list-style:none;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;padding:18px 18px 16px;display:flex}.card h3{margin-top:6px;font-size:1.25rem}.card h3 a{color:var(--ink);text-decoration:none}.card p{color:var(--muted);flex:1;margin:0 0 12px}.card-meta{gap:8px;font-size:.8rem;display:flex}.eco,.side{color:var(--brand);background:#e7f1ea;border-radius:999px;padding:2px 8px;font-weight:700;display:inline-block}.side{color:var(--muted);background:#f0eee8}.card-cta{font-weight:700;text-decoration:none}.features{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;display:grid}.feature p{margin:0}.breadcrumb ol{color:var(--muted);flex-wrap:wrap;gap:6px;margin:14px 0 0;padding:0;font-size:.9rem;list-style:none;display:flex}.breadcrumb li+li:before{content:"›";margin-right:6px}.facts{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 8px;display:flex}.intro{font-size:1.08rem}code.mv,.pgn{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}code.mv{white-space:normal;background:#f0eee8;border-radius:4px;padding:1px 5px}.pgn{color:#e8f0ea;border-radius:var(--radius);white-space:pre-wrap;overflow-wrap:anywhere;background:#1f2a24;margin:0 0 18px;padding:14px 16px}.movelist{margin:0 0 16px;padding:0;list-style:none}.movelist li{border-bottom:1px dashed var(--line);padding:6px 0}.points{margin:0 0 16px;padding:0;list-style:none}.points li{border-left:3px solid var(--brand);margin:0 0 18px;padding:2px 0 2px 14px}.points p{margin:0}.faq-item{border-top:1px solid var(--line);padding:14px 0 4px}.faq-item p{margin-top:0}.board-section{margin-top:24px}.board-caption{color:var(--muted);margin:0 0 10px;font-size:.95rem}.board-wrap{width:100%;max-width:480px;margin:0 auto}.board{aspect-ratio:1;outline-offset:3px;border-radius:6px;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);width:100%;display:grid;overflow:hidden;box-shadow:0 2px 10px #00000026;container-type:inline-size}.sq{justify-content:center;align-items:center;min-width:0;display:flex;position:relative}.sq.l{background:var(--sq-light)}.sq.d{background:var(--sq-dark)}.sq.hl:after{content:"";background:var(--sq-hl);position:absolute;inset:0}.pc{z-index:1;-webkit-user-select:none;user-select:none;font-family:Segoe UI Symbol,"Noto Sans Symbols 2",DejaVu Sans,Arial Unicode MS,serif;font-size:10cqw;line-height:1;position:relative}.pc.w{color:#fff;-webkit-text-stroke:.6px #222;text-shadow:0 0 1px #000,0 1px 1px #0009}.pc.b{color:#111;text-shadow:0 1px #ffffff40}.coord{z-index:2;opacity:.75;font-size:2.2cqw;font-weight:700;line-height:1;position:absolute}.coord.rank{top:3px;left:3px}.coord.file{bottom:3px;right:4px}.sq.l .coord{color:var(--sq-dark)}.sq.d .coord{color:var(--sq-light)}.controls{grid-template-columns:repeat(5,1fr);gap:6px;margin-top:10px;display:grid}.controls button,.mvbtn{font:inherit;cursor:pointer;touch-action:manipulation}.controls button{border:1px solid var(--line);background:var(--card);min-height:44px;color:var(--ink);border-radius:8px;padding:6px 4px;font-size:.9rem;font-weight:600}.controls button:disabled{opacity:.4;cursor:default}.movebar{flex-wrap:wrap;gap:2px 4px;margin-top:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88rem;display:flex}.mvbtn{color:var(--ink);font-family:inherit;font-size:inherit;background:0 0;border:0;border-radius:4px;padding:2px 4px}.mvbtn.future{color:#a3a8a4}.mvbtn.cur{background:var(--brand);color:#fff}
