:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#e9e9d9;background:#102b2d;font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 25% 45%,#1c4140,transparent 65%);min-height:100vh}main{max-width:1240px;margin:auto;padding:28px 36px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;border:1px solid #55726d;background:#254643;border-radius:9px;padding:11px 15px;transition:background .15s,transform .15s}button:hover{background:#365b53}button:active{transform:translateY(1px)}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:3px solid #f1cb7c;outline-offset:4px}header{display:flex;align-items:center;justify-content:space-between;padding-bottom:26px;border-bottom:1px solid #3a5451;gap:15px}.brand{color:#f1e5c6;text-decoration:none;font-weight:700;letter-spacing:3px;font-size:12px;display:flex;align-items:center;gap:12px}.logo{font-size:30px;color:#d4a273;line-height:1}.head-actions{display:flex;gap:9px}.head-actions button{font-size:12px;padding:9px 12px;background:transparent}.intro{display:flex;justify-content:space-between;align-items:center;margin:36px 0 26px;gap:20px}.eyebrow{font-size:10px;letter-spacing:2px;color:#a7c1b6;font-weight:650;margin:0 0 13px}h1{font-family:Georgia,serif;font-size:clamp(36px,5vw,58px);font-weight:400;letter-spacing:-2px;line-height:1.12;margin:0 0 13px}.subtitle{color:#b1c7bc;font-size:14px;margin:0}.collection{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;gap:6px}.collection strong{font:32px Georgia,serif;color:#e2c28a}.collection span{font-size:9px;letter-spacing:2px;color:#a7c1b6}nav{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:24px}nav button{width:37px;height:37px;padding:0;border-radius:50%;font-size:12px;background:transparent;border-color:#45625b}nav button.current{background:#e6c494;color:#203b35;border-color:#e6c494;font-weight:750}nav button.kept{border-color:#8dc6a5;color:#a3d5b5}nav button.current.kept{color:#203b35}.play{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:32px}.table{border:1px solid #5a7063;border-radius:18px;background:radial-gradient(ellipse at 50% 35%,#234b43,#16352f);box-shadow:0 18px 50px #051e2240;overflow:hidden;min-width:0}.table-top{display:flex;justify-content:space-between;gap:10px;padding:20px 24px 0;font-size:12px;color:#c4d5bf}.table-top #moves{color:#e9c491}#board{height:450px;position:relative}svg{height:100%;width:100%;display:block}.grid-dot{fill:#5c7b60;opacity:.25}.gap{stroke:#4a6e58;stroke-width:2;stroke-dasharray:4 7}.gap.available{stroke:#e6ca91;stroke-width:4;opacity:.9}.gap-hit{stroke:transparent;stroke-width:22;fill:none;cursor:pointer}.rod-shadow{stroke:#071f1c;stroke-width:13;stroke-linecap:round}.rod{stroke:#c99168;stroke-width:9;stroke-linecap:round}.rod.muted{stroke:#677465}.rod-shine{stroke:#edc496;stroke-width:2;stroke-linecap:round}.node{fill:#365548;stroke:#6f8d72;stroke-width:1.5}.node.lit{fill:#88b798;stroke:#c1dbaf}.node.end{fill:#dcba70;stroke:#ffe6a4}.node-label{font-size:11px;font-weight:700;text-anchor:middle;dominant-baseline:central;fill:#173b32;pointer-events:none}.node-label.dim{fill:#a1b79c}.cube-side{fill:#102c25}.node-halo{fill:none;stroke:#d6eac2;stroke-width:1.5;stroke-dasharray:3 4}.lift-dot{fill:#f9d0a2;stroke:#533d30;stroke-width:1.5;cursor:pointer}.legend{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;padding:0 10px 20px;font-size:10px;color:#b7c8ae}.legend span{display:flex;gap:6px;align-items:center}.legend i{width:8px;height:8px;border-radius:2px;display:inline-block}.jade{background:#88b798}.copper{background:#c99168}.gold{background:#dcba70}aside{padding:20px 0 0;min-width:0}aside h2,dialog h2{font:30px/1.16 Georgia,serif;font-weight:400;margin:0 0 15px}#status{font-size:13px;line-height:1.65;color:#bbcebd;margin:0 0 20px;min-height:42px}.rod-card{border-top:1px solid #496257;padding:13px 0}.rod-card p{margin:0 0 8px;color:#dfc39b;font-size:11px;letter-spacing:1px}.choices{display:flex;gap:7px;flex-wrap:wrap}.choices button{font-size:12px;padding:8px 11px;flex:1;white-space:nowrap}.place-choice{width:100%;margin-bottom:7px;text-align:left;font-size:12px;border-color:#83966c;color:#f3d8a6}#next{width:100%;background:#e4c18c;color:#163a32;border:0;padding:14px;margin-bottom:15px}.tools{border-top:1px solid #496257;margin-top:12px;padding-top:15px;display:flex;flex-wrap:wrap;gap:8px}.tools button{font-size:11px;padding:9px 12px;background:transparent}.footnote{font-size:10px;line-height:1.9;color:#86a497;margin-top:19px}footer{display:flex;justify-content:space-between;gap:15px;margin-top:30px;padding-top:18px;border-top:1px solid #3a5451;color:#89a599;font-size:10px;line-height:1.6}footer a{color:#c6cdb4}dialog{width:min(540px,92vw);max-height:88vh;overflow:auto;border:1px solid #79927b;background:#193a33;color:#e5ead8;border-radius:18px;padding:28px;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#051d22b8;backdrop-filter:blur(5px)}dialog p,dialog li{font-size:13px;line-height:1.75;color:#bfcebc}dialog li{padding-left:3px;margin:12px 0}dialog ol{padding-left:20px}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:10px}.dialog-head .eyebrow{margin:0}.dialog-head button{font-size:11px;padding:8px 12px}@media(max-width:850px){main{padding:20px}.play{grid-template-columns:minmax(0,1fr) 240px;gap:20px}#board{height:400px}.intro{margin-top:28px}nav{gap:6px}nav button{width:32px;height:32px}}@media(max-width:640px){main{padding:16px}.brand{font-size:9px;letter-spacing:1.5px}.head-actions{gap:5px}.head-actions button{font-size:10px;padding:8px}.logo{font-size:23px}header{padding-bottom:18px}.intro{margin:24px 0 20px}.intro .eyebrow{font-size:8px;letter-spacing:1px}.subtitle{font-size:12px;line-height:1.6;max-width:230px}h1{font-size:37px}.collection strong{font-size:23px}.collection span{font-size:7px;letter-spacing:1px}.play{grid-template-columns:1fr;gap:10px}#board{height:340px}.table-top{padding:17px 16px 0}.legend{gap:12px;font-size:9px;padding-bottom:16px}aside{padding:15px 4px 0}aside h2{font-size:27px}#status{min-height:0;margin-bottom:12px}.rod-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0}.rod-card p{margin:0;flex-shrink:0}.rod-card .choices{justify-content:flex-end}.choices button{flex:initial}.footnote{margin:12px 0}footer{margin-top:20px;flex-direction:column;gap:7px}nav{margin-bottom:18px}nav button{width:31px;height:31px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
