:root{--bg: #f7f4ec;--fg: #22252a;--muted: #5a5f66;--line: #ddd7c8;--card: #ffffff;--soft: #efeadd;--accent: #27405f;--accent-bg: #27405f;--on-accent: #ffffff;--warn: #9a3412;--warn-soft: #fbece4;--ok: #1f6b45;--ok-soft: #e3f1e9;--board: #e6c07f;--board-line: #6b4a22;--board-label: #5a5f66;--piece: #f6e4b8;--piece-edge: #a9843f;--piece-ink: #1d1a16;--piece-pro: #a51f17;--sq-sel: #f4a640;--sq-last: #d9a95c;--dest: #27405f;--radius: 12px;--shadow: 0 1px 2px rgba(40, 30, 10, .06), 0 2px 8px rgba(40, 30, 10, .05)}@media(prefers-color-scheme:dark){:root{--bg: #15171b;--fg: #e9e7e1;--muted: #adb1b8;--line: #30343b;--card: #1d2026;--soft: #252932;--accent: #9cc2ec;--accent-bg: #9cc2ec;--on-accent: #10161e;--warn: #ffb08f;--warn-soft: #3a241b;--ok: #84d6ab;--ok-soft: #1b3127;--board: #d2ad6f;--board-label: #adb1b8;--sq-last: #bb8f4d;--shadow: none}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,Yu Gothic UI,sans-serif;line-height:1.8;font-size:16px;-webkit-text-size-adjust:100%}a{color:var(--accent);text-underline-offset:3px}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}.wrap{max-width:860px;margin:0 auto;padding:0 16px}header.site{background:linear-gradient(180deg,#2b4668,#1b2f49);border-bottom:3px solid #c9a24a}header.site .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2px 16px;padding-top:10px;padding-bottom:6px}.logo{display:inline-flex;align-items:center;gap:12px;color:#fff;text-decoration:none;min-height:44px}.logo img{flex:0 0 auto;transform:rotate(-6deg);filter:drop-shadow(0 2px 3px rgba(0,0,0,.45))}.logo-text{display:flex;flex-direction:column;line-height:1.25}.logo-name{font-family:Hiragino Mincho ProN,Yu Mincho,YuMincho,"Noto Serif JP",serif;font-size:1.45rem;font-weight:800;letter-spacing:.08em}.logo-tag{font-size:.74rem;color:#d3deea;letter-spacing:.02em}nav.global ul{list-style:none;margin:0;padding:0;display:flex;gap:2px}nav.global a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;color:#eef3f8;text-decoration:none;font-size:.9rem;font-weight:600;border-bottom:3px solid transparent}nav.global a:hover{color:#fff;border-bottom-color:#ffffff73}nav.global a[aria-current]{color:#fff;border-bottom-color:#e6c469}header.site a:focus-visible{outline-color:#fff}@media(max-width:560px){nav.global{width:100%;margin:0 -9px}nav.global a{font-size:.85rem;padding:0 9px}}nav.crumbs{font-size:.82rem;color:var(--muted);padding-top:12px}nav.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center}nav.crumbs li{display:inline-flex;align-items:center}nav.crumbs li+li:before{content:"＞";margin:0 6px;color:var(--muted)}nav.crumbs a{color:var(--muted);display:inline-block;padding:6px 0}nav.crumbs a:hover{color:var(--accent)}nav.crumbs [aria-current]{color:var(--fg)}main{padding:16px 0 48px}h1{font-size:1.5rem;line-height:1.45;margin:8px 0 10px}h2{font-size:1.2rem;line-height:1.5;margin:40px 0 14px;padding-left:12px;border-left:5px solid var(--accent-bg)}h3{font-size:1.05rem;margin:28px 0 10px}main p{max-width:40em}main li{max-width:38em}.lead{margin-top:0}.note{background:var(--soft);border-radius:10px;padding:12px 14px;font-size:.88rem;color:var(--muted);max-width:none!important}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 16px;border-radius:99px;border:1.5px solid var(--accent);color:var(--accent);background:var(--card);font:inherit;font-weight:700;font-size:.9rem;text-decoration:none;white-space:nowrap;cursor:pointer}.btn:hover,.btn-primary{background:var(--accent-bg);color:var(--on-accent);border-color:var(--accent-bg)}.btn-sub{border-color:var(--line);color:var(--fg)}.btn:disabled{opacity:.45;cursor:default}.btn:disabled:hover{background:var(--card);color:var(--accent);border-color:var(--accent)}.links{display:flex;flex-wrap:wrap;gap:8px}.board-box{--cell: min(44px, calc((100vw - 32px - 20px) / 9));width:calc(var(--cell) * 9 + 20px);max-width:100%}.board-files{display:grid;grid-template-columns:repeat(9,var(--cell));font-size:.72rem;line-height:1.4;color:var(--board-label);text-align:center;padding-left:2px}.board-row{display:flex}.board{display:grid;grid-template-columns:repeat(9,var(--cell));grid-template-rows:repeat(9,var(--cell));background:var(--board);border:2px solid var(--board-line);flex:0 0 auto;box-sizing:content-box}.board-ranks{display:grid;grid-template-rows:repeat(9,var(--cell));width:16px;font-size:.72rem;color:var(--board-label);text-align:center;align-items:center;padding-top:2px}.sq{position:relative;display:flex;align-items:center;justify-content:center;width:var(--cell);height:var(--cell);padding:0;margin:0;border:0;border-right:1px solid var(--board-line);border-bottom:1px solid var(--board-line);background:transparent;font:inherit;cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none}span.sq{cursor:default}.sq:nth-child(9n){border-right:0}.sq:nth-last-child(-n+9){border-bottom:0}.sq:focus-visible{outline:3px solid var(--accent);outline-offset:-3px;border-radius:0;z-index:2}.sq-last{background:var(--sq-last)}.sq-sel{background:var(--sq-sel)}.sq-dest:after{content:"";width:34%;height:34%;border-radius:50%;background:var(--dest);opacity:.75}.sq-take:after{content:"";position:absolute;inset:3px;border:3px solid var(--dest);border-radius:50%;opacity:.8;pointer-events:none}.pc{position:relative;display:inline-flex;align-items:center;justify-content:center;width:88%;height:92%;color:var(--piece-ink);line-height:1;font-family:Yu Mincho,YuMincho,Hiragino Mincho ProN,"Noto Serif JP",serif;font-weight:700;font-size:calc(var(--cell, 40px) * .56);filter:drop-shadow(0 1px 0 var(--piece-edge))}.pc:before{content:"";position:absolute;inset:0;background:var(--piece);clip-path:polygon(50% 0,82% 13%,100% 100%,0 100%,18% 13%)}.pc-ch{position:relative;padding-top:6%}.pc-gote{transform:rotate(180deg)}.pc-pro{color:var(--piece-pro)}.cards{list-style:none;padding:0;margin:0;display:grid;gap:12px}@media(min-width:640px){.cards{grid-template-columns:1fr 1fr}}.card{position:relative;display:flex;flex-direction:column;gap:8px;height:100%;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.card:hover{border-color:var(--accent)}.card a.card-link{color:var(--fg);text-decoration:none;font-weight:800;font-size:1.1rem}.card a.card-link:after{content:"";position:absolute;inset:0;border-radius:var(--radius)}.card p{margin:0;font-size:.92rem;color:var(--muted)}.card .go{color:var(--accent);font-weight:700;font-size:.9rem}footer.site{background:var(--soft);border-top:1px solid var(--line);padding:24px 0 40px;font-size:.85rem;color:var(--muted)}footer.site .foot-name{font-weight:800;color:var(--fg);font-size:1rem}footer.site nav ul{list-style:none;margin:8px 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:0 4px}footer.site nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px 0 0;color:var(--fg)}footer.site p{margin:0 0 6px}
