:root{font-family:Georgia,serif;color:#214c41;background:#f5f1e7;font-synthesis:none}*{box-sizing:border-box}body{margin:0}main{max-width:1150px;margin:auto;padding:28px 36px}header,.topline,.under,footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{color:inherit;text-decoration:none;letter-spacing:3px;font:700 13px system-ui}.badge,.eyebrow{letter-spacing:2px;font:11px system-ui}.badge{border:1px solid #bcc6b7;padding:8px 12px;border-radius:20px}.intro{padding:40px 0 28px}.intro h1{font-size:76px;letter-spacing:-4px;margin:0;line-height:1.05;font-weight:400}.intro h1 span{color:#b07543}.intro p:last-child{color:#627368;font:16px system-ui;margin:14px 0 0}.layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,1fr);gap:40px}.play{background:#fffdf7;border:1px solid #d6d9ca;border-radius:16px;padding:24px;box-shadow:0 10px 32px #204f4309}.topline{font:11px system-ui;flex-wrap:wrap}select{max-width:100%;background:#f0f1e7;border:1px solid #cad4c5;border-radius:6px;padding:10px;color:inherit;font:13px system-ui;min-height:44px}#progress{font:12px system-ui;color:#68796a}#board{width:100%;max-width:460px;margin:22px auto 12px}svg{width:100%;display:block;overflow:visible;touch-action:manipulation}.cell{fill:#f4f2df;stroke:none;cursor:pointer}.cell.good{fill:#e1ebd1}.cell.selected{fill:#e4c98d}.number{font:22px Georgia;fill:#2c5143;pointer-events:none;text-anchor:middle;dominant-baseline:central}.number.over{fill:#a9483d}.number.exact{fill:#378256}.faint{stroke:#c5cbb8;stroke-width:1.4;stroke-dasharray:3 5}.fence{stroke:#235a47;stroke-width:6;stroke-linecap:round}.cross{stroke:#7f9682;stroke-width:1.7}.hit{stroke:transparent;stroke-width:20;cursor:pointer}.outer{fill:none;stroke:#235a47;stroke-width:6;pointer-events:none}.under{font:12px system-ui;color:#68796a}#message{margin:18px 0 12px;padding:14px;background:#eef2e5;border-left:3px solid #8ca17b;font:14px/1.5 system-ui;min-height:68px;border-radius:0 7px 7px 0}.actions{display:flex;flex-wrap:wrap;gap:8px}button{background:#fffdf7;color:#214c41;border:1px solid #bcc8b6;padding:10px 13px;border-radius:7px;cursor:pointer;min-height:44px;font:13px system-ui}button:hover{background:#edf1e3}button:focus-visible,select:focus-visible{outline:3px solid #b07543;outline-offset:3px}button:disabled{opacity:.4;cursor:default}#next{background:#204f43;color:#fff8df;margin-left:auto}aside{padding-top:10px}.note{border-bottom:1px solid #d1d5c5;padding-bottom:20px}.eyebrow{color:#9a714a}h2{font-size:30px;line-height:1.15;font-weight:400;margin:12px 0 18px}ol{padding-left:21px}li,.note>p:last-child{font:14px/1.65 system-ui;color:#566758;margin:12px 0}strong{color:#214c41}.controls{padding-top:18px}.small{font:12px/1.6 system-ui;color:#68796a}.compass{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;max-width:310px}#north{grid-column:2}#west{grid-column:1}#south{grid-column:2;grid-row:3}footer{justify-content:flex-start;flex-wrap:wrap;border-top:1px solid #d1d5c5;margin-top:38px;padding:20px 0;font:11px system-ui;color:#68796a}footer span{margin-right:auto}footer a{color:inherit}#selected{font:13px system-ui}@media(max-width:740px){main{padding:20px 16px}.badge{display:none}.intro{padding-top:30px}.intro h1{font-size:60px}.layout{grid-template-columns:1fr;gap:18px}.play{padding:16px}.topline{gap:8px}aside{padding:0 6px}.note h2{font-size:28px}#board{margin-top:18px}.actions button{flex:1 0 40%}#next{margin-left:0}footer{margin-top:24px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s}}
