/* The board keeps text at readable CSS sizes, including when its terrain zooms. */
.cm{--cm-ink:#183f34;--cm-muted:#52674f;--cm-line:#d3ddc6;color:var(--cm-ink);margin-top:4px}.cm *{box-sizing:border-box}.cm button{font:inherit;cursor:pointer}.cm button:focus-visible,.cm-board:focus-visible,.cm h3:focus-visible{outline:3px solid #ae7418;outline-offset:4px}.cm [hidden]{display:none!important}.cm-top{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:26px}.cm-kicker{font-size:12px;line-height:1.5;font-weight:750;letter-spacing:1.4px;display:block}.cm h2{font-size:clamp(25px,3vw,32px);line-height:1.15;letter-spacing:-.7px;margin:8px 0 10px}.cm-top p{font-size:16px;line-height:1.6;margin:0;color:var(--cm-muted)}.cm-stamps{display:grid;grid-template-columns:28px auto;align-items:center;column-gap:8px;flex-shrink:0;background:#e8edda;border:1px solid var(--cm-line);border-radius:16px;padding:14px 20px}.cm-stamps>svg{width:26px;height:26px;color:#9c722c}.cm-stamps strong{font-size:28px;line-height:1.2}.cm-stamps strong span{font-size:18px;color:#657556;font-weight:500}.cm-stamps>span{grid-column:1/-1;text-align:center;font-size:13px;margin-top:5px}.cm-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}.cm-toolbar button,.cm-zoom button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--cm-line);border-radius:10px;background:#fffef7;padding:9px 15px;font-size:14px;font-weight:700;color:var(--cm-ink)}.cm-switch{display:flex;background:#e9eddc;padding:4px;border:1px solid var(--cm-line);border-radius:13px;gap:3px}.cm-switch button{border-color:transparent;background:transparent}.cm-switch button[aria-pressed=true]{background:var(--cm-ink);color:#fffcef;box-shadow:0 2px 5px #193b3420}.cm-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start}.cm-explore{min-width:0}.cm-board-frame{position:relative;border:1px solid #bacdad;border-radius:22px;overflow:hidden;background:#e5edcf;box-shadow:inset 0 0 0 5px #ffffff30}.cm-board{height:640px;max-height:74dvh;min-height:400px;overflow:auto;position:relative;scrollbar-width:thin;scrollbar-color:#738e64 #e4ecd1;cursor:grab;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}.cm-board.is-dragging{cursor:grabbing;user-select:none}.cm-world{position:relative;isolation:isolate}.cm-scenery{position:absolute;inset:0;pointer-events:none}.cm-region{position:absolute;left:50%;transform:translateX(-50%);font-size:12px;white-space:nowrap;letter-spacing:2px;font-weight:800;color:#426249;background:#ffffefb8;border:1px solid #ffffffbd;border-radius:30px;padding:8px 15px;pointer-events:none}.cm-stop{position:absolute;transform:translate(-50%,-30px);width:156px;display:flex;align-items:center;flex-direction:column;border:0;background:none;padding:0;color:#264735;z-index:1}.cm-stop-disc{position:relative;display:flex;align-items:center;justify-content:center;width:60px;height:60px;background:#fffcdf;border:5px solid #a3b58b;border-radius:50%;font-size:23px;font-weight:800;box-shadow:0 5px 0 #6f89575c,0 7px 12px #4b643b1c;transition:transform .15s}.cm-stop-disc>svg{width:27px;height:27px}.cm-stop.is-complete .cm-stop-disc{color:#fffef0;background:#477256;border-color:#f5d77c}.cm-stop.is-current .cm-stop-disc{background:#1c5140;color:#fcffcd;border-color:#d9eb8a;box-shadow:0 0 0 5px #315c4130,0 6px 0 #234f3640}.cm-stop[aria-pressed=true] .cm-stop-label{background:#204c3c;color:#fff9df;border-color:#204c3c}.cm-stop:hover .cm-stop-disc{transform:translateY(-3px)}.cm-stop-label{margin-top:9px;font-size:15px;line-height:1.35;font-weight:750;padding:8px 10px;background:#fffef1ed;border:1px solid #d2d9b7;border-radius:10px;box-shadow:0 3px 7px #4050330c;max-width:156px}.cm-stop-lock{position:absolute;right:-7px;bottom:-4px;width:25px;height:25px;border:2px solid #fffceb;border-radius:50%;display:grid;place-items:center;background:#e7e6ce;color:#56684b}.cm-stop-lock svg{width:14px;height:14px}.cm-you{position:absolute;bottom:calc(100% + 8px);border-radius:6px;padding:5px 8px;white-space:nowrap;font-size:11px;font-weight:800;letter-spacing:.8px;background:#1d4e3c;color:#f9f4cf;box-shadow:0 3px 7px #3154351c}.cm-you:after{content:"";position:absolute;top:100%;left:calc(50% - 4px);border:4px solid transparent;border-top-color:#1d4e3c}.cm-zoom{position:absolute;right:13px;bottom:14px;display:flex;align-items:center;gap:2px;padding:3px;border:1px solid #b8c7a6;border-radius:12px;background:#fffdf0;box-shadow:0 3px 12px #30462820}.cm-zoom button{border:0;padding:3px;width:42px;background:transparent;font-size:24px}.cm-zoom button:disabled{color:#98a18b;cursor:default}.cm-zoom output{font-size:12px;min-width:42px;text-align:center}.cm-map-caption{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;font-size:13px;color:#496042;padding-top:18px}.cm-map-caption>span{display:inline-flex;gap:6px;align-items:center}.cm-key{display:block;width:12px;height:12px;border-radius:50%;background:#547a56}.cm-key.current{background:#e0ed8e;border:2px solid #375c3e}.cm-map-caption svg{width:15px;height:15px}.cm-hint{font-size:14px;text-align:center;color:var(--cm-muted);line-height:1.5;margin:11px 0 0}.cm-detail{background:#fffef7;border:1px solid var(--cm-line);border-radius:20px;padding:24px;position:sticky;top:22px;box-shadow:0 5px 20px #263e2605}.cm-detail .cm-kicker{font-size:12px;letter-spacing:1px}.cm-detail-top>.cm-kicker{color:#617250}.cm-status{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:750;line-height:1.4;padding:6px 10px;border-radius:20px;background:#edf0df;margin-top:17px}.cm-status.current{background:#e7edc6;color:#2a5035}.cm-status.complete{background:#f4e7b9;color:#75551c}.cm-status svg{width:16px;height:16px}.cm h3{font-size:26px;line-height:1.2;letter-spacing:-.6px;margin:17px 0 14px}.cm-story,.cm-goal p{font-size:16px;line-height:1.6;color:var(--cm-muted);margin:0}.cm-goal{padding:18px 0;border-top:1px solid #e0e4d5;border-bottom:1px solid #e0e4d5;margin:22px 0}.cm-goal p{margin-top:8px}.cm-rewards>div{display:flex;align-items:center;gap:10px;font-size:15px;line-height:1.45;margin-top:12px}.cm-rewards svg{color:#a07c31;flex-shrink:0}.cm-progress{margin:24px 0 20px}.cm-progress>div{display:flex;justify-content:space-between;gap:10px;font-size:13px;margin-bottom:9px}.cm-progress progress{display:block;width:100%;height:7px;border:0;border-radius:20px;background:#e4e9d9;accent-color:#51744b}.cm-progress progress::-webkit-progress-bar{background:#e4e9d9;border-radius:20px}.cm-progress progress::-webkit-progress-value{background:#51744b;border-radius:20px}.cm-enter{width:100%;min-height:48px;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 16px;border:0;border-radius:11px;background:#214f3e;color:#fffced;font-weight:750;font-size:16px!important;text-align:left}.cm-enter:hover{background:#123e2e}.cm-detail-note{font-size:13px;line-height:1.6;color:#60704f;margin:14px 0 0}.cm-locked-note{display:flex;align-items:flex-start;gap:9px;font-size:14px;line-height:1.6;background:#f1f0e0;border-radius:10px;padding:12px;margin:22px 0 16px;color:#5a6348}.cm-locked-note svg{flex-shrink:0;margin-top:3px}.cm-footnote{font-size:14px;line-height:1.6;text-align:center;color:#5b6f51;border-top:1px solid var(--cm-line);padding-top:24px;margin:28px 0 0}.cm-list{display:grid;gap:10px}.cm-list-stop{display:flex;align-items:center;gap:14px;text-align:left;width:100%;padding:18px;background:#fffef6;border:1px solid var(--cm-line);border-radius:14px;color:var(--cm-ink)}.cm-list-stop[aria-pressed=true]{border:2px solid #366348;background:#eaf0d9;padding:17px}.cm-list-number{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#dce6c8;flex-shrink:0;font-size:18px;font-weight:800}.cm-list-stop>span:nth-child(2){display:grid;gap:4px;flex:1}.cm-list-stop small{font-size:12px;color:#536e4e}.cm-list-stop strong{font-size:18px;line-height:1.35}.cm-list-stop>span>span{font-size:13px;color:#61744e}.cm-list-stop>svg{flex-shrink:0}.cm-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cm[data-compact=true] .cm-layout{grid-template-columns:1fr}.cm[data-compact=true] .cm-detail{position:static}.cm[data-compact=true] .cm-top{gap:12px;align-items:flex-start}.cm[data-compact=true] .cm-stamps{padding:12px;grid-template-columns:22px auto}.cm[data-compact=true] .cm-stamps>svg{width:21px}.cm[data-compact=true] .cm-stamps strong{font-size:25px}.cm[data-compact=true] .cm-stamps>span{font-size:12px}.cm[data-compact=true] .cm-top h2{font-size:26px}.cm[data-compact=true] .cm-top p{font-size:15px}.cm[data-compact=true] .cm-top .cm-kicker{letter-spacing:1px}.cm[data-compact=true] .cm-toolbar button{padding:9px 11px}.cm[data-compact=true] .cm-map-caption{gap:11px;font-size:12px}.cm[data-compact=true] .cm-board{height:530px;max-height:65dvh}.cm[data-compact=true] .cm-stop{width:138px}.cm[data-compact=true] .cm-stop-label{max-width:138px}.cm[data-compact=true] .cm-top{flex-wrap:wrap}.cm[data-compact=true] .cm-top>div:first-child{flex:1;min-width:205px}.cm[data-compact=true] .cm-stamps{display:flex;gap:7px;align-items:center}.cm[data-compact=true] .cm-stamps>span{margin:0}.cm[data-compact=true] .cm-region{letter-spacing:1px;padding:7px 11px}
@media(prefers-reduced-motion:reduce){.cm *{scroll-behavior:auto!important;transition:none!important}}
