:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#193f36;background:#f2f0e5;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 90% 0,#e5e9d5,transparent 55%)}main{max-width:1160px;margin:auto;padding:42px 28px 20px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px}.brand{display:flex;gap:15px;align-items:center}.brand svg{width:48px;fill:#193f36;stroke:#193f36;stroke-width:3}.brand svg path{fill:none}.white{fill:#fffdf3!important;stroke:#193f36;stroke-width:3}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2px;margin:0 0 7px;color:#607568}h1{font:42px/1 Georgia,serif;margin:0;letter-spacing:-1px}h2{font:29px/1.15 Georgia,serif;margin:0 0 16px}h3{font-size:14px;margin:0 0 7px}.intro{font:italic 20px Georgia,serif;color:#607568}.layout{display:grid;grid-template-columns:minmax(0,680px) minmax(260px,1fr);gap:46px;align-items:start}.play{background:#fffdf6;border:1px solid #d6ddcb;border-radius:22px;padding:26px;box-shadow:0 18px 48px #243b2410}.topline{display:flex;align-items:center;justify-content:space-between;gap:12px}.topline h2{margin-bottom:0}.picker{font-size:10px;display:grid;gap:4px;color:#607568}select{font:13px system-ui;padding:9px;background:#f4f3e9;color:#193f36;border:1px solid #ccd5c4;border-radius:8px;max-width:190px}.stats{display:flex;justify-content:space-between;gap:8px;font-size:11px;margin:21px 0 10px;color:#607568}#board{width:100%;outline:none;border-radius:16px;background:#f7f7ee;touch-action:manipulation}#board:focus-visible{box-shadow:0 0 0 3px #9baa73}#board svg{display:block;width:100%;height:auto;overflow:visible}.guide{stroke:#dbe2d2;stroke-width:1.2;stroke-dasharray:2 5}.edge .hit{stroke:transparent;stroke-width:26;cursor:pointer}.edge .ink{stroke:#2d6652;stroke-width:5;stroke-linecap:round;pointer-events:none}.edge .cross{stroke:#a8afa0;stroke-width:2;pointer-events:none}.edge:focus{outline:none}.edge:focus .hit{stroke:#d4dfc650}.edge:hover .hit{stroke:#d4dfc660}.pearl{stroke:#234238;stroke-width:2.5;pointer-events:none}.pearl.black{fill:#234238}.pearl.white{fill:#fffdf6}.dot{fill:#9aa991;stroke:none;pointer-events:none}.fault{stroke:#bc5e46!important}.cursor{fill:none;stroke:#b7a764;stroke-width:2;stroke-dasharray:3 4;pointer-events:none}#status{min-height:50px;font-size:13px;line-height:1.5;padding:14px 3px 4px;color:#627165}#status.win{color:#235c46;font-weight:650}.tools{display:flex;gap:8px;flex-wrap:wrap}button{font:600 12px system-ui;padding:11px 15px;border-radius:9px;border:1px solid #ccd7c5;background:#f7f8f0;color:#294e40;cursor:pointer}button:hover{background:#e8eddb}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #a99a56;outline-offset:3px}button:disabled{opacity:.4;cursor:default}.next{width:100%;margin-top:12px;background:#204d3e;color:#fffdf3;border-color:#204d3e}.next:hover{background:#2e6552}.controlnote{text-align:center;font-size:11px;line-height:1.7;color:#74806f;margin:16px 0 0}aside{padding-top:18px}aside>p{font-size:14px;line-height:1.8;color:#5c6b5e}aside h2{font-size:34px;margin-top:9px}.rule{display:flex;align-items:center;gap:15px;border-top:1px solid #d6ddcc;padding:20px 0}.rule svg{width:90px;min-width:90px;fill:#193f36;stroke:#193f36;stroke-width:4}.rule svg path{fill:none;stroke-linecap:round;stroke-linejoin:round}.rule p{font-size:12px;line-height:1.8;margin:0;color:#61705e}.tip{background:#e4ead8;border-radius:12px;padding:18px;margin-top:8px}.tip p{font-size:12px;line-height:1.8;margin:0;color:#53634f}.small,details{font-size:11px!important;line-height:1.8;color:#75806e}details{margin-top:18px}summary{cursor:pointer;color:#3e6150}a{color:#345d49}footer{display:flex;justify-content:space-between;gap:16px;font-size:9px;letter-spacing:2px;color:#8b9582;margin-top:38px}footer span{letter-spacing:0;font:italic 12px Georgia,serif}@media(max-width:800px){main{padding:25px 16px}.layout{grid-template-columns:1fr;gap:22px}.intro{font-size:15px}aside{padding:10px 10px 0}.rule{max-width:560px}.play{padding:20px}header{margin-bottom:26px}}@media(max-width:420px){main{padding:22px 12px}.intro{display:none}h1{font-size:36px}.play{padding:16px 12px}.topline h2{font-size:25px}select{max-width:150px;font-size:12px}.stats{font-size:10px}.tools{gap:5px}.tools button{padding:11px 10px}footer span{max-width:170px;text-align:right}}
