:root{--ink:#24453c;--green:#183c37;--paper:#f3f0e5;--coral:#ce8b63;--pearl:#f7f0da}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,select{font:inherit;color:inherit}button{border:1px solid #bec8b9;border-radius:6px;background:#faf8ef;padding:11px 15px;cursor:pointer}button:hover:not(:disabled){background:#e3e8d8}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #c77d52;outline-offset:3px}header{background:var(--green);color:#f6edda;padding:22px 5%;display:flex;justify-content:space-between;align-items:center;gap:12px}.brand{font-weight:bold;letter-spacing:3px;font-size:20px;text-decoration:none}.brand span{color:#d4a980}.tagline{font-size:9px;letter-spacing:1.7px;color:#bdc8b5}header button{background:transparent;color:#eee8d6;border-color:#5a7566;font-size:11px}a{color:inherit}main{max-width:1110px;padding:32px 38px 20px;margin:auto}.intro{position:relative;margin-bottom:28px}.eyebrow{font-size:9px;letter-spacing:2.1px;font-weight:bold;color:#74816a;margin:0 0 14px}h1{font:normal 45px/1.1 Georgia,serif;letter-spacing:-1.2px;margin:0}.intro>p:last-child{position:absolute;right:0;bottom:0;font-size:12px;line-height:1.8;color:#7a846e;margin:0}.layout{display:grid;grid-template-columns:minmax(300px,1fr) 280px;gap:32px;align-items:start}.table{min-width:0}.scoreboard{display:flex;align-items:center;justify-content:space-between;margin:0 5px 15px;gap:8px}.scoreboard span{display:block;font-size:9px;letter-spacing:.7px}.scoreboard strong{font:30px Georgia,serif;display:block;margin-top:7px}.opponent{text-align:right}.opponent>span{color:#af734b}.turn{text-align:center}.turn>span{font-weight:bold;letter-spacing:1px}.turn small{display:block;font-size:8px;letter-spacing:1px;margin-top:7px;color:#849079}#board{position:relative;aspect-ratio:1;background:radial-gradient(ellipse at 50% 30%,#426550,#25463a);border-radius:18px;border:8px solid #1d3b32;box-shadow:0 10px 25px #243a2b20,inset 0 0 0 1px #84947866;touch-action:manipulation;isolation:isolate}#rails{position:absolute;inset:0;width:100%;height:100%}.rail{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.frame{stroke:#829679;stroke-width:2}.inner{stroke:#dfb77c;opacity:.68}.outer{stroke:#8db6b2;opacity:.68}.trace{fill:none;stroke:#fff1a7;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px #e4d78a)}.node{position:absolute;transform:translate(-50%,-50%);padding:0;border:0;border-radius:50%;width:7.2%;aspect-ratio:1;background:transparent;display:grid;place-items:center;z-index:2;box-shadow:none}.node:hover:not(:disabled){background:#d8e7c01c}.node::before{content:'';width:19%;height:19%;border-radius:50%;background:#9ba78c}.node.pearl::before{width:85%;height:85%;background:radial-gradient(circle at 33% 25%,#fffdf3,#e1d4b6);box-shadow:inset 0 0 0 2px #a9957088,0 4px 4px #102e2660}.node.terra::before{width:85%;height:85%;background:radial-gradient(circle at 33% 25%,#e6ad7c,#aa6749);box-shadow:inset 0 0 0 2px #874a3655,0 4px 4px #102e2660}.node.terra::after{content:'✦';position:absolute;color:#6f3e2766;font-size:16px}.node.selected{outline:2px solid #fff0af;outline-offset:2px}.node.step::before{width:35%;height:35%;background:#c3df9d;box-shadow:0 0 0 4px #bedc9533}.node.capture{outline:3px solid #f6dea3;outline-offset:2px}.node.last{box-shadow:0 0 0 2px #e8c58480}.node.hint{animation:pulse 1.3s ease-in-out infinite}@keyframes pulse{50%{box-shadow:0 0 0 6px #ffefb633}}.legend{display:flex;gap:17px;align-items:center;font-size:9px;color:#7d8871;margin:16px 4px}.legend span{display:flex;align-items:center;gap:5px}.legend span:last-child{margin-left:auto;font-size:8px;letter-spacing:1px}.dot{width:7px;height:7px;background:#809b62;border-radius:50%}.capture-dot{width:9px;height:9px;border:2px solid #c69a6b;border-radius:50%}#status{font-size:12px;line-height:1.6;text-align:center;min-height:40px;margin:6px 4px 12px}.actions{display:flex;gap:10px}.actions button{flex:1;font-size:12px}.actions button:first-child{background:#284e40;color:#fff7e6;border-color:#284e40}.panel{border-top:1px solid #c1c9b8;padding-top:18px}h2{font:27px/1.2 Georgia,serif;font-weight:normal;margin:0 0 14px}.panel>p:not(.eyebrow){font-size:11px;line-height:1.8;color:#7a856f}.rule-card{display:flex;gap:12px;margin-top:20px}.rule-number{font:italic 23px Georgia;color:#a4ae96}.rule-card b{font-size:11px}.rule-card p{font-size:11px;line-height:1.6;margin:5px 0 0;color:#7a856f}.panel .tip{font-style:italic;border-left:2px solid #b9c8a7;padding-left:12px;margin:20px 0}.lesson-panel{display:grid;gap:8px;border-top:1px solid #c1c9b8;padding-top:16px}.lesson-panel label{font-size:8px;letter-spacing:1.2px;color:#75816a}.lesson-panel select{width:100%;padding:9px 6px;background:#f9f6eb;border:1px solid #bfc9b7;border-radius:5px;font-size:11px}.lesson-panel p{font-size:11px;line-height:1.6;color:#7a856f;margin:0 0 10px}.lesson-panel button{font-size:11px;margin-top:6px}.journal{border:1px dashed #bfc8b3;border-radius:8px;padding:13px;margin-top:20px}.journal>span{font-size:8px;letter-spacing:1px;color:#79866c}.journal p{font:italic 13px/1.6 Georgia,serif;margin:8px 0 0;color:#768468}footer{margin-top:30px;padding-top:16px;border-top:1px solid #d0d6c6;display:flex;justify-content:space-between;gap:15px;font-size:9px;line-height:1.8;color:#859078}dialog{width:calc(100% - 30px);max-width:600px;background:#f6f2e5;color:var(--ink);padding:28px;border:1px solid #c7cfb8;border-radius:15px;line-height:1.7}dialog::backdrop{background:#0f3028bb}dialog h2{font-size:30px}dialog li{font-size:12px;margin:10px 0}dialog p{font-size:12px}dialog h3{font:22px Georgia}#close{float:right;padding:0;width:32px;height:32px;font-size:22px}.credit{font-size:10px;color:#7e876e;border-top:1px solid #cdd4be;padding-top:15px}@media(max-width:850px){main{padding:26px 22px 20px}.layout{grid-template-columns:1fr;max-width:580px;margin:auto;gap:26px}.intro{max-width:580px;margin:0 auto 25px}.intro>p:last-child{position:static;margin-top:15px}h1{font-size:40px}.tagline{display:none}aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.journal{grid-column:1/-1;margin:0}.panel{padding-top:14px}.panel h2{font-size:24px}.rule-card{margin-top:13px}.panel .tip{margin-bottom:0}footer{flex-direction:column;gap:5px;max-width:580px;margin:25px auto 0}}@media(max-width:440px){header{padding:17px 18px}.brand{font-size:16px;letter-spacing:2px}header button{font-size:10px;padding:8px 11px}main{padding:25px 13px 18px}h1{font-size:34px}.intro .eyebrow{font-size:8px;letter-spacing:1.3px}.intro>p:last-child{font-size:11px}.scoreboard{margin:0 0 12px}.scoreboard span{font-size:7px}.scoreboard strong{font-size:25px}.turn small{font-size:7px}.turn>span{font-size:8px}#board{border-width:5px;border-radius:12px}.node.terra::after{font-size:10px}.legend{gap:11px;font-size:8px}.legend span:last-child{font-size:7px;letter-spacing:.5px}aside{gap:12px}.panel h2{font-size:23px}.panel .eyebrow{font-size:7px;letter-spacing:1px}.panel>p:not(.eyebrow),.rule-card p,.rule-card b{font-size:10px}.lesson-panel label{font-size:7px}.lesson-panel select{font-size:10px}dialog{padding:22px}dialog ol{padding-left:18px}}@media(prefers-reduced-motion:reduce){.node.hint{animation:none}}
