.acgse-grid-map{--acgse-grid-columns:8;display:grid;direction:ltr;width:100%;box-sizing:border-box;grid-template-columns:repeat(var(--acgse-grid-columns),minmax(72px,1fr));gap:8px;overflow:auto;max-width:100%;padding:6px;scrollbar-gutter:stable}.acgse-grid-cell{position:relative;min-width:72px;aspect-ratio:1/1;border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:14px;padding:9px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;text-align:left;background:color-mix(in srgb,Canvas 92%,#6b79ff 8%);color:CanvasText;box-shadow:0 8px 24px rgba(0,0,0,.06);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,filter .15s ease}.acgse-grid-cell b{font-size:.9rem;line-height:1.2}.acgse-grid-cell small{opacity:.72;margin-top:4px}.acgse-grid-cell.is-unknown{background:repeating-linear-gradient(135deg,color-mix(in srgb,CanvasText 9%,Canvas) 0 8px,color-mix(in srgb,CanvasText 14%,Canvas) 8px 16px);filter:saturate(.65)}.acgse-grid-cell.is-memory{opacity:.76}.acgse-grid-cell.is-reachable{border-width:2px;border-color:#7c8cff;box-shadow:0 0 0 2px color-mix(in srgb,#7c8cff 26%,transparent),0 10px 28px rgba(0,0,0,.08);cursor:pointer}.acgse-grid-cell.is-reachable small{font-weight:800;color:#5b6cff}.acgse-grid-cell.is-reachable:hover,.acgse-grid-cell.is-reachable:focus-visible{transform:translateY(-2px)}.acgse-grid-cell.is-player{border-color:#ff6aa9;box-shadow:0 0 0 3px color-mix(in srgb,#ff6aa9 30%,transparent),0 12px 32px rgba(0,0,0,.1)}.acgse-grid-player-marker{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:25px;height:25px;border-radius:999px;background:#ff6aa9;color:#fff;font-weight:800;font-size:.75rem}.acgse-grid-cell.is-blocked{cursor:not-allowed}.acgse-grid-place-dialog{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);margin:0;padding:0;border:0;border-radius:20px;width:min(680px,calc(100vw - 28px));max-height:min(84vh,820px);background:Canvas;color:CanvasText;box-shadow:0 28px 90px rgba(0,0,0,.35)}.acgse-grid-place-dialog::backdrop{background:rgba(10,12,22,.66);backdrop-filter:blur(5px)}.acgse-grid-place-shell{position:relative;display:flex;flex-direction:column;max-height:inherit;overflow:auto}.acgse-grid-place-image{width:100%;aspect-ratio:16/8;max-height:310px;overflow:hidden;background:color-mix(in srgb,CanvasText 8%,Canvas)}.acgse-grid-place-image img{width:100%;height:100%;object-fit:cover;display:block}.acgse-grid-place-copy{padding:22px 24px 26px}.acgse-grid-place-copy h2{margin:.25rem 0 .5rem}.acgse-grid-place-meta{opacity:.68;font-size:.9rem}.acgse-grid-place-body{white-space:pre-wrap;line-height:1.75;max-height:36vh;overflow:auto}.acgse-grid-place-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;font-size:.82rem;opacity:.76}.acgse-grid-place-close{position:absolute;z-index:2;top:10px;right:10px;width:36px;height:36px;border:0;border-radius:999px;background:rgba(10,12,22,.72);color:#fff;font-size:24px;line-height:1;cursor:pointer}.acgse-grid-place-close:focus-visible,.acgse-grid-cell:focus-visible{outline:3px solid #7c8cff;outline-offset:2px}@media(max-width:720px){.acgse-grid-map{grid-template-columns:repeat(var(--acgse-grid-columns),minmax(64px,74px));gap:6px}.acgse-grid-cell{min-width:64px;border-radius:11px;padding:7px}.acgse-grid-place-copy{padding:18px}.acgse-grid-place-image{aspect-ratio:16/9;max-height:240px}}@media(prefers-color-scheme:dark){.acgse-grid-cell{background:color-mix(in srgb,#171a28 88%,#7480ff 12%);box-shadow:0 8px 24px rgba(0,0,0,.24)}.acgse-grid-cell.is-unknown{background:repeating-linear-gradient(135deg,#171a28 0 8px,#222638 8px 16px)}}.acgse-grid-place-actions{display:flex;justify-content:flex-end;margin-top:16px}.acgse-grid-place-move{border:0;border-radius:999px;padding:10px 16px;background:#7c8cff;color:#fff;font-weight:700;cursor:pointer}.acgse-grid-place-move:focus-visible{outline:3px solid #ff6aa9;outline-offset:2px}

/* Round39 GRID-A8-HF3: public full-detail place effects and move evidence. */
.acgse-grid-place-effects{display:grid;gap:8px;margin-top:14px}.acgse-grid-place-effect{display:grid;gap:3px;padding:10px 12px;border:1px solid color-mix(in srgb,currentColor 14%,transparent);border-radius:12px;background:color-mix(in srgb,Canvas 95%,#7c8cff 5%)}.acgse-grid-place-effect strong{font-size:.9rem}.acgse-grid-place-effect small{opacity:.7}.acgse-grid-place-effect span{font-size:.82rem;line-height:1.5}.acgse-grid-place-move-meta{margin-top:12px;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,CanvasText 6%,Canvas);font-size:.82rem;opacity:.82}

/* Round39 GRID-A8-HF4 · explicit disabled move state remains visible for human review. */
.acgse-grid-place-move:disabled{opacity:.52;cursor:not-allowed;background:color-mix(in srgb,#7c8cff 45%,#777 55%)}
.acgse-grid-place-effect.is-empty{opacity:.72;font-size:.84rem}

/* R43-A1: fixed visible window over a larger map. The real map can be larger than the rendered cell count. */
.acgse-grid-map.is-scrolling-viewport{grid-template-rows:repeat(var(--acgse-grid-rows,4),minmax(72px,1fr));overflow:hidden;min-height:0}.acgse-grid-map.is-scrolling-viewport .acgse-grid-cell{min-width:0;width:100%}
\n/* R43-HF2: allowed friendly positions on the tactical viewport. */
.acgse-grid-friendly-stack{position:absolute;right:.28rem;bottom:.28rem;display:flex;gap:.18rem;z-index:4;pointer-events:none}
.acgse-grid-friendly-marker{display:inline-grid;place-items:center;min-width:1.25rem;height:1.25rem;padding:0 .2rem;border-radius:999px;background:rgba(255,255,255,.92);color:var(--acgse-text,#18202a);font-size:.7rem;font-weight:800;box-shadow:0 1px 6px rgba(0,0,0,.2)}
.acgse-grid-friendly-marker.is-party_teammate{outline:1px dashed currentColor}

.acgse-spatial-ap-status{display:block;margin-top:.35rem;opacity:.82;font-size:.76rem;line-height:1.45}
