:root{color-scheme:light;--ink:#173d39;--soft:#65817a;--paper:#f8f5ed;--gold:#dfaa4c}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 system-ui,-apple-system,sans-serif}main{max-width:1160px;margin:auto;padding:46px 30px 20px}header{margin-bottom:32px}h1,h2,h3,p{margin:0}.eyebrow,#chapter{font-size:11px;font-weight:750;letter-spacing:2px;color:var(--soft)}h1{font:clamp(38px,5vw,66px)/1.15 Georgia,serif;letter-spacing:-2px;margin:9px 0 10px}h1 span{font:12px system-ui;letter-spacing:2px;text-transform:uppercase;border:1px solid #cfdbcf;padding:7px 12px;border-radius:50px;vertical-align:middle;margin-left:18px}header p{color:var(--soft);font-size:16px}.layout{display:grid;grid-template-columns:minmax(0,700px) minmax(260px,1fr);gap:34px;align-items:start}.play{background:#fffef9;border:1px solid #d9e1d7;border-radius:25px;padding:24px;box-shadow:0 16px 50px #173d3908}.boardhead{display:flex;align-items:center;justify-content:space-between;padding:0 0 14px}h2{font:25px/1.25 Georgia,serif}.tally{display:flex;flex-direction:column;text-align:right;font-size:11px;color:var(--soft)}.tally strong{font:25px Georgia,serif;color:var(--ink)}#board{position:relative;aspect-ratio:1;background-color:#e8f1ec;border-radius:18px;overflow:hidden;background-image:radial-gradient(#a7c4b343 .7px,transparent .7px);background-size:18px 18px}#lines,#islands{position:absolute;inset:0;width:100%;height:100%}.island{position:absolute;transform:translate(-50%,-50%);width:clamp(28px,4.5vw,48px);height:clamp(28px,4.5vw,48px);border:2px solid #caa765;border-radius:50%;background:#fffdf4;color:var(--ink);font:600 clamp(14px,2vw,22px) Georgia,serif;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 3px 0 #b3c9bb55;z-index:2;padding:0;transition:background .15s,box-shadow .15s}.island.done{background:var(--ink);border-color:var(--ink);color:#fffdf4}.island.over{background:#ffe1d6;border-color:#b4593e}.island.selected{outline:3px solid var(--gold);outline-offset:4px;box-shadow:0 0 0 9px #dfaa4c20}.island:focus-visible{outline:3px solid #27858a;outline-offset:5px}.bridge{stroke:#467b69;stroke-width:7;stroke-linecap:round}.bridge.ghost{stroke:#e5b965;stroke-width:5;stroke-dasharray:4 13}.won #board{box-shadow:inset 0 0 0 3px #8fbb9d}#message{min-height:64px;padding:14px 3px 8px;font-size:13px;color:#536f63}.tools{display:flex;gap:8px;flex-wrap:wrap}button,select{font:inherit}button{touch-action:manipulation}.tools button{border:1px solid #d8e1d4;background:transparent;padding:9px 12px;border-radius:9px;color:var(--ink);font-size:13px;cursor:pointer}button:hover{filter:brightness(.94)}button:disabled{opacity:.4;cursor:default}.journey{padding:10px 0 25px;border-bottom:1px solid #d7ded1}.journey h2{margin:11px 0 24px;font-size:30px}.journey label{display:block;font-size:12px;color:var(--soft);margin-bottom:7px}select{width:100%;border:1px solid #cbd6c8;border-radius:9px;padding:11px;background:#fffef9;color:var(--ink);font-size:14px}.primary{width:100%;border:0;background:var(--ink);color:#fffdf4;border-radius:9px;padding:12px;cursor:pointer;margin-top:10px}#progress{font-size:12px;margin-top:14px;color:var(--soft)}.rules{padding-top:24px}.rules h3{font:22px Georgia,serif}.rules ol{padding-left:20px;font-size:13px;color:#5e766c}.rules li{padding-left:5px;margin-bottom:14px}.rules b{color:var(--ink)}.keyhelp{font-size:12px;color:var(--soft)}.legend{display:flex;gap:8px;align-items:center;font-size:10px;margin-top:18px}.legend i{width:10px;height:10px;border-radius:50%;background:var(--ink)}.legend .amber{background:#d4aa61;margin-left:6px}footer{font-size:11px;color:var(--soft);text-align:center;margin:28px 0 10px;line-height:1.9}a{color:inherit;text-underline-offset:3px}@media(max-width:760px){main{padding:24px 16px}.layout{grid-template-columns:1fr;gap:22px}header{margin-bottom:22px}header p{font-size:14px}.play{padding:16px;border-radius:18px}.island{width:34px;height:34px;font-size:18px}.boardhead h2{font-size:22px}.journey{padding-top:0}.journey h2{font-size:25px;margin-bottom:15px}aside{display:grid;grid-template-columns:1fr;gap:0}.tools{justify-content:space-between}.tools button{padding:9px 10px}h1 span{margin-left:10px}#message{min-height:70px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@media(min-width:761px){#board{width:min(100%,54vh);margin-inline:auto}}
#axes{position:absolute;inset:0;pointer-events:none}.axis{position:absolute;font:600 10px system-ui;color:#7c958c;transform:translate(-50%,-50%)}.axis.col{top:3.4%}.axis.row{left:3.4%}.legend .coral{background:#ffe1d6;border:1px solid #b4593e;margin-left:6px}
