.cmap{max-width:860px;margin:22px auto 0;text-align:left;background:#FFF8EC;border:3px solid var(--ink,#2A1E14);border-radius:24px;padding:18px 18px 16px;color:var(--ink,#2A1E14)}
.cmap *{box-sizing:border-box}
.cmap-head{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;margin-bottom:10px}
.cmap-title{font-family:var(--f-display,system-ui);font-size:clamp(20px,3vw,26px);font-weight:800;margin:0;color:var(--pumpkin-dark,#B83E18)}
.cmap-count{display:inline-flex;align-items:baseline;gap:8px;background:var(--sun,#F6C33B);border:2.5px solid var(--ink,#2A1E14);border-radius:999px;padding:4px 16px;box-shadow:0 3px 0 var(--ink,#2A1E14);font-family:var(--f-display,system-ui)}
.cmap-count b{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums}
.cmap-count span{font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.cmap-stage{position:relative;background:#FDEFD6;border:2px solid var(--ink,#2A1E14);border-radius:18px;padding:6px;overflow:hidden}
.cmap-svg{display:block;width:100%;height:auto}
.cmap-state{fill:#FFFFFF;stroke:#8A6A4A;stroke-width:1.2;stroke-linejoin:round}
.cmap-state.on{fill:#FFE3A8}
.cmap-turkey .tail{fill:var(--pumpkin,#E8572A);stroke:#2A1E14;stroke-width:1.4}
.cmap-turkey .tail2{fill:var(--sun,#F6C33B);stroke:#2A1E14;stroke-width:1.2}
.cmap-turkey .body{fill:#8A5A34;stroke:#2A1E14;stroke-width:1.4}
.cmap-turkey .beak{fill:var(--sun,#F6C33B);stroke:#2A1E14;stroke-width:.8}
.cmap-turkey .badge{fill:var(--pumpkin-dark,#B83E18);stroke:#FFF;stroke-width:1.5}
.cmap-turkey .badge-t{fill:#FFF;font:800 11px system-ui,sans-serif;text-anchor:middle}
.cmap-turkey.mine .body{fill:var(--leaf,#3E8E4F)}
.cmap-loading{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--f-display,system-ui);font-weight:700;color:var(--muted,#5E5348);background:rgba(253,239,214,.7)}
.cmap-cap{font-size:14px;color:var(--muted,#5E5348);margin:8px 2px 0}
.cmap-err{margin:10px 0 0;padding:10px 12px;border:2px solid var(--pumpkin-dark,#B83E18);border-radius:12px;background:#FFF0E8;font-size:16px;display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
.cmap-err[hidden],.cmap-invite[hidden],.cmap-joined[hidden],.cmap-loading[hidden]{display:none}
.cmap-invite,.cmap-joined{margin-top:16px;padding:16px;border:2.5px dashed var(--pumpkin,#E8572A);border-radius:18px;background:#FFFFFF}
.cmap-invite h3{font-size:clamp(20px,3vw,24px);margin:0 0 6px}
.cmap-invite p,.cmap-joined p{margin:6px 0;font-size:17px}
.cmap-fine{font-size:15px!important;color:var(--muted,#5E5348)}
.cmap-where{display:inline-block;margin:6px 0;padding:6px 12px;border-radius:12px;background:#FFE3A8;border:2px solid var(--ink,#2A1E14);font-family:var(--f-display,system-ui);font-weight:800}
.cmap-btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:12px}
.cmap-skip{background:transparent!important;border:none!important;box-shadow:none!important;text-decoration:underline;font-size:17px!important;padding:8px 6px!important}
.cmap-status{min-height:1.4em;margin:8px 0 0;font-size:16px;font-weight:700}
.cmap-status.bad{color:var(--pumpkin-dark,#B83E18)}
@media (max-width:560px){.cmap{padding:14px 12px}.cmap-btns>*{flex:1 1 100%}.cmap-count b{font-size:22px}}
