/* pp-games.css — the geography games, on the site's own tokens.

   Prefix gm- (registered in tests/flows/t-styles.mjs). The games' signature
   is ink and stamps: a silhouette filled like a stamp impression, a correct
   answer sealed with a rotated dashed stamp in the rarity ink, the daily hero
   drawing itself in slowly. One accent, quiet grounds, both themes through
   the --pb-* tokens — nothing here names a colour. Every animation collapses
   to a state change under prefers-reduced-motion. */

/* ── frame ─────────────────────────────────────────────────── */
.gm-wrap{max-width:720px;margin:0 auto}
.gm-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;min-height:34px}
.gm-top .pp-link-quiet{display:inline-flex;align-items:center;gap:6px;min-height:34px}
.gm-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.gm-title .pp-h2{font-size:clamp(24px,4vw,var(--pb-fs-h2))}
.gm-stage{position:relative}
.gm-stage[hidden]{display:none}
.gm-intro-rules{display:grid;gap:10px;margin:14px 0 18px}
.gm-intro-rules li{display:flex;gap:10px;align-items:flex-start;color:var(--pb-text-2);font-size:var(--pb-fs-row);line-height:1.5}
.gm-intro-rules li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--pb-accent);flex:none;margin-top:8px}
.gm-modes{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.gm-modes .pp-kicker{width:100%;margin-bottom:2px}
.gm-source{font-size:var(--pb-fs-caption);color:var(--pb-faint);margin-top:12px;line-height:1.5}
.gm-source a{color:inherit;text-decoration:underline;text-decoration-color:var(--pb-border-strong)}

/* ── the round rail and the score ───────────────────────────── */
.gm-hud{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.gm-rail{display:flex;gap:5px;flex:1;min-width:0}
.gm-rail i{flex:1;height:7px;border-radius:4px;background:var(--pb-border);transition:background var(--pp-t-ui) var(--pp-ease)}
.gm-rail i.is-ok{background:var(--pb-accent)}
.gm-rail i.is-no{background:var(--pb-border-strong)}
.gm-rail i.is-cur{outline:1.5px solid var(--pb-text);outline-offset:1.5px}
.gm-points{font-variant-numeric:tabular-nums;font-weight:700;font-size:var(--pb-fs-lead);white-space:nowrap;position:relative}
.gm-points small{font-weight:500;color:var(--pb-muted);font-size:var(--pb-fs-meta);margin-left:3px}
.gm-big{font-size:var(--pb-fs-stat-xl);font-weight:700;line-height:1;letter-spacing:var(--pb-ls-tighter);font-variant-numeric:tabular-nums}
.gm-big small{font-size:var(--pb-fs-lead);font-weight:500;color:var(--pb-muted);letter-spacing:0;margin-left:4px}
.gm-timer{width:34px;height:34px;flex:none}
.gm-timer circle{fill:none;stroke-width:3}
.gm-timer .gm-timer-bg{stroke:var(--pb-border)}
.gm-timer .gm-timer-fg{stroke:var(--pb-accent);stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset 120ms linear}

.gm-opt,.gm-vcard,.gm-tile,.gm-st,.gm-gcard,.pp-sugg{-webkit-tap-highlight-color:transparent}

/* ── options ────────────────────────────────────────────────── */
.gm-opts{display:grid;gap:10px;margin-top:16px}
.gm-opt{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:10px 16px;border-radius:var(--pb-r-nested);
  border:1px solid var(--pb-border);background:var(--pb-surface);color:var(--pb-text);font-size:var(--pb-fs-row);font-weight:500;text-align:left;
  transition:border-color var(--pp-t-ui) var(--pp-ease),background var(--pp-t-ui) var(--pp-ease),opacity var(--pp-t-ui) var(--pp-ease),transform var(--pp-t-ui) var(--pp-ease)}
.gm-opt:hover{border-color:var(--pb-border-strong)}
.gm-opt:active{transform:scale(.985)}
.gm-opt.is-right{border-color:var(--pb-accent);background:var(--pb-accent-tint);color:var(--pb-text)}
.gm-opt.is-wrong{border-color:var(--pb-border);color:var(--pb-muted);text-decoration:line-through;text-decoration-color:var(--pb-coral-ink);text-decoration-thickness:1.5px}
.gm-opt.is-dim{opacity:.45}
.gm-opt[disabled]{cursor:default}
.gm-opt .gm-flag--sm{margin-right:2px}
@media (min-width:560px){.gm-opts.gm-opts--2{grid-template-columns:1fr 1fr}}

/* ── flags ──────────────────────────────────────────────────── */
.gm-flagbox{position:relative;display:flex;align-items:center;justify-content:center;padding:22px;border-radius:var(--pb-r-card);background:var(--pb-inset);border:1px solid var(--pb-border);min-height:200px}
.gm-flag{display:block;width:min(100%,260px);height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:8px;box-shadow:0 1px 0 rgba(255,255,255,.06) inset,var(--pp-elev-1);background:var(--pb-surface)}
.gm-flag--sm{width:28px!important;height:21px!important;aspect-ratio:auto;border-radius:3px;box-shadow:0 0 0 1px var(--pb-border);vertical-align:-5px;display:inline-block;object-fit:cover;flex:none}
.gm-flag--tile{width:100%;height:auto;aspect-ratio:4/3;border-radius:7px;object-fit:cover;box-shadow:0 0 0 1px var(--pb-border)}
.gm-tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:14px}
.gm-tile{position:relative;padding:5px;border-radius:10px;border:1px solid var(--pb-border);background:var(--pb-surface);transition:border-color var(--pp-t-ui) var(--pp-ease)}
.gm-tile:hover{border-color:var(--pb-accent-border)}
.gm-tile.is-no{opacity:.5}
.gm-tile.is-no::after{content:"";position:absolute;left:14%;right:14%;top:50%;border-top:1.5px solid var(--pb-coral-ink);transform:rotate(-18deg)}
.gm-tile.is-ok::before{content:"";position:absolute;inset:2px;border:1.5px solid var(--pb-accent);border-radius:8px;pointer-events:none}

/* ── the question card (Capital Match) ─────────────────────── */
.gm-q{position:relative;overflow:hidden;min-height:132px;padding:22px 20px;border-radius:var(--pb-r-card);background:var(--pb-inset);border:1px solid var(--pb-border);display:flex;flex-direction:column;justify-content:center;gap:6px}
.gm-q .pp-kicker,.gm-q .gm-qname{position:relative;z-index:1}
.gm-qname{font-size:var(--pb-fs-h3);font-weight:700;line-height:1.15;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.gm-qname .pp-kicker{width:100%}
.gm-q .gm-silh.is-ghost{left:auto;right:6px;top:4px;bottom:4px;width:44%}

/* ── silhouettes ────────────────────────────────────────────── */
.gm-silh{position:relative;display:flex;align-items:center;justify-content:center;padding:14px;border-radius:var(--pb-r-card);background:var(--pb-inset);border:1px solid var(--pb-border)}
.gm-silh svg{width:100%;max-width:340px;aspect-ratio:1;display:block;overflow:visible}
.gm-silh path{fill:var(--pb-text-2);stroke:var(--pb-text-2);stroke-width:.6;stroke-linejoin:round;transition:fill 400ms var(--pp-ease),stroke 400ms var(--pp-ease)}
.gm-silh.is-solved path{fill:var(--pb-accent);stroke:var(--pb-accent)}
.gm-silh.is-ghost{background:none;border:0;padding:0;position:absolute;inset:0;pointer-events:none;opacity:.14}
.gm-silh.is-ghost svg{max-width:none;height:100%;width:auto;margin-left:auto}
/* the hero silhouette draws itself: outline first, then the ink settles */
.gm-draw path{fill-opacity:0;stroke-dasharray:1;stroke-dashoffset:1;animation:gmDraw 1.6s var(--pp-ease) both,gmInk 700ms 1.3s var(--pp-ease) forwards}
@keyframes gmDraw{to{stroke-dashoffset:0}}
@keyframes gmInk{to{fill-opacity:1}}

/* ── the seal ───────────────────────────────────────────────── */
.gm-stamp{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-12deg);padding:7px 16px;border:3px double var(--gm-ink,var(--pb-accent-ink));color:var(--gm-ink,var(--pb-accent-ink));
  border-radius:8px;font-weight:700;font-size:var(--pb-fs-h3);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;pointer-events:none;z-index:3;
  background:color-mix(in srgb,var(--pb-surface) 78%,transparent);animation:gmStamp 420ms cubic-bezier(.2,1.4,.5,1) both;max-width:92%;overflow:hidden;text-overflow:ellipsis}
.gm-stamp--small{font-size:var(--pb-fs-row);padding:4px 10px;border-width:2px}
@keyframes gmStamp{0%{transform:translate(-50%,-50%) rotate(-12deg) scale(1.9);opacity:0}65%{transform:translate(-50%,-50%) rotate(-12deg) scale(.95);opacity:1}100%{transform:translate(-50%,-50%) rotate(-12deg) scale(1);opacity:1}}
.gm-shake{animation:gmShake 380ms var(--pp-ease) both}
@keyframes gmShake{0%,100%{transform:translateX(0)}20%{transform:translateX(-6px)}45%{transform:translateX(5px)}70%{transform:translateX(-3px)}}

/* ── guessing: search + ledger ──────────────────────────────── */
.gm-search{position:relative;margin-top:14px}
.gm-search .pp-input{width:100%;font-size:16px;min-height:48px}
.gm-ac{position:absolute;left:0;right:0;top:100%;margin-top:6px;z-index:20;padding:6px;border-radius:var(--pb-r-card);background:var(--pp-glass-strong);border:1px solid var(--pp-glass-border);
  -webkit-backdrop-filter:var(--pp-glass-blur);backdrop-filter:var(--pp-glass-blur);box-shadow:var(--pp-card-glow);max-height:260px;overflow:auto;display:none}
.gm-ac.is-open{display:block}
.gm-ac .pp-sugg{font-size:var(--pb-fs-row)}
.gm-ledger{display:grid;margin-top:14px}
.gm-lrow{display:grid;grid-template-columns:34px minmax(0,1fr) 84px 30px 46px;align-items:center;gap:8px;min-height:44px;padding:4px 6px;border-bottom:1px solid var(--pb-border);font-size:var(--pb-fs-row);font-variant-numeric:tabular-nums;animation:ppUp 240ms var(--pp-ease) both}
.gm-lrow:last-child{border-bottom:0}
.gm-lrow.is-empty{min-height:44px;border-bottom:1px dashed var(--pb-border);animation:none}
.gm-lrow.is-hit{color:var(--pb-accent-ink);font-weight:600}
.gm-lrow .gm-arrow{font-size:18px;text-align:center;color:var(--pb-text-2)}
.gm-lrow .gm-pct{text-align:right;color:var(--pb-muted)}
.gm-lrow .gm-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ── higher or lower ────────────────────────────────────────── */
.gm-vs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.gm-vcard{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:210px;padding:18px 10px;text-align:center;
  border-radius:var(--pb-r-card);border:1px solid var(--pb-border);background:var(--pb-surface);color:var(--pb-text);transition:border-color var(--pp-t-ui) var(--pp-ease),opacity var(--pp-t-ui) var(--pp-ease),transform var(--pp-t-ui) var(--pp-ease)}
.gm-vcard:hover{border-color:var(--pb-border-strong)}
.gm-vcard:active{transform:scale(.985)}
.gm-vcard .gm-flag{width:min(100%,120px)}
.gm-vcard .gm-vname{font-weight:600;font-size:var(--pb-fs-row);line-height:1.25}
.gm-vcard .gm-val{font-variant-numeric:tabular-nums;font-weight:700;font-size:var(--pb-fs-h3);min-height:30px;line-height:1.1}
.gm-vcard .gm-val small{display:block;font-size:var(--pb-fs-caption);color:var(--pb-faint);font-weight:500;margin-top:3px}
.gm-vcard.is-win{border-color:var(--pb-accent)}
.gm-vcard.is-lose{opacity:.55}
.gm-vs-or{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--pb-fs-caption);font-weight:700;background:var(--pb-bg);border:1px solid var(--pb-border);color:var(--pb-muted);z-index:2}

/* ── border hop ─────────────────────────────────────────────── */
.gm-chain{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:12px;font-size:var(--pb-fs-body-s)}
.gm-st{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:9px;background:var(--pb-text);color:var(--pb-bg);font-weight:600;border:0;font-size:inherit}
button.gm-st{cursor:pointer}
.gm-st.is-target{background:none;border:1.5px dashed var(--pb-accent);color:var(--pb-accent-ink)}
.gm-st.is-q{background:var(--pb-inset);color:var(--pb-muted)}
.gm-chain .gm-sep{color:var(--pb-faint)}
.gm-nb{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}

/* ── maps (Pin It, Border Hop) ──────────────────────────────── */
.gm-mapwrap{position:relative;border-radius:var(--pb-r-card);overflow:hidden;background:var(--pb-map-ocean);border:1px solid var(--pb-border);touch-action:none;user-select:none;-webkit-user-select:none;aspect-ratio:900/460}
.gm-mapwrap svg{width:100%;height:100%;display:block;cursor:crosshair}
.gm-mapwrap .gm-c{fill:var(--pb-map-base);stroke:var(--pb-map-border);stroke-width:.5;vector-effect:non-scaling-stroke;transition:fill 300ms var(--pp-ease)}
.gm-mapwrap .gm-c.is-reveal{fill:var(--pb-accent)}
.gm-mapwrap .gm-c.is-chain{fill:var(--pb-text)}
.gm-mapwrap .gm-c.is-target{fill:none;stroke:var(--pb-accent);stroke-width:1.6;stroke-dasharray:3 2}
.gm-mapwrap .gm-c.is-here{fill:var(--pb-accent-tint-strong)}
.gm-mapwrap .gm-sphere{fill:none;stroke:var(--pb-map-border)}
.gm-mapwrap .gm-drop{color:var(--pb-text);animation:gmDrop 380ms cubic-bezier(.2,1.2,.4,1) both}
.gm-mapwrap .gm-drop.is-answer{color:var(--pb-accent)}
.gm-mapwrap .gm-dotmark{fill:var(--pb-text);stroke:var(--pb-bg);stroke-width:.6}
@keyframes gmDrop{0%{opacity:0}100%{opacity:1}}
.gm-mapwrap .gm-miss{stroke:var(--pb-coral-ink);stroke-width:1.2;stroke-dasharray:4 3;vector-effect:non-scaling-stroke;fill:none}
/* top-right is the empty Arctic; bottom-right is New Zealand, which a zoom button was sitting on */
.gm-mapctl{position:absolute;right:8px;top:8px;display:flex;gap:6px;z-index:2}
.gm-mapctl button{width:36px;height:36px;border-radius:9px;border:1px solid var(--pp-glass-border);background:var(--pp-glass-strong);color:var(--pb-text);font-size:18px;font-weight:600;-webkit-backdrop-filter:var(--pp-glass-blur);backdrop-filter:var(--pp-glass-blur)}
.gm-maphint{position:absolute;left:10px;bottom:10px;z-index:2;max-width:calc(100% - 20px);font-size:var(--pb-fs-caption);color:var(--pp-on-photo-2);background:var(--pp-scrim-flat);padding:4px 8px;border-radius:999px;pointer-events:none}
.gm-mapfail{display:grid;gap:8px;place-items:center;text-align:center;padding:28px 18px}

/* ── summaries ──────────────────────────────────────────────── */
.gm-sum-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap}
.gm-sum-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.gm-sum-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.gm-sum-actions .pp-btn{width:100%}
.gm-list{display:grid;margin-top:12px}
.gm-list button{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:46px;padding:6px;text-align:left;border-radius:10px;color:var(--pb-text);font-size:var(--pb-fs-row);width:100%;border-bottom:1px solid var(--pb-border)}
.gm-list button:last-child{border-bottom:0}
.gm-list button:hover{background:var(--pb-inset)}
.gm-list .is-miss{color:var(--pb-muted);text-decoration:line-through;text-decoration-color:var(--pb-coral-ink)}
.gm-met{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 8px;scrollbar-width:none}
.gm-met::-webkit-scrollbar{display:none}
.gm-met .pp-chip{flex:none}

/* ── the payoff sheet ───────────────────────────────────────── */
.gm-sheet{position:fixed;inset:0;z-index:120;background:rgba(8,12,20,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;padding:20px}
.gm-sheet.is-on{display:flex;animation:ppFade 180ms both}
.gm-sheet-panel{position:relative;width:100%;max-width:520px;max-height:min(92vh,760px);overflow:auto;overscroll-behavior:contain;padding:0;animation:ppSpringIn 220ms var(--pp-ease) both}
.gm-sheet-x{position:absolute;right:12px;top:12px;z-index:3;width:34px;height:34px;border-radius:50%;background:var(--pp-scrim-flat);color:#fff;font-size:16px;display:flex;align-items:center;justify-content:center;border:0}
.gm-payoff .pp-photo{aspect-ratio:16/9;border-radius:0}
.gm-payoff-body{padding:18px 20px 20px;display:grid;gap:12px}
.gm-payoff-head{display:flex;align-items:center;gap:12px}
.gm-payoff-head .pp-h3{margin:0;font-size:var(--pb-fs-h3);line-height:1.1}
.gm-payoff-kick{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.gm-payoff-status{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--pb-border);border-bottom:1px solid var(--pb-border);font-size:var(--pb-fs-body);color:var(--pb-text-2)}
.gm-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--pb-border-strong);flex:none}
.gm-dot.is-vis{background:var(--pb-accent);border-color:var(--pb-accent)}
.gm-dot.is-pin{border-color:var(--pb-accent);position:relative}
.gm-dot.is-pin::after{content:"";position:absolute;inset:2px;border-radius:50%;background:var(--pb-accent)}
.gm-payoff-ctas{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gm-payoff-ctas .pp-btn{width:100%}
.gm-payoff-links{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:var(--pb-fs-body)}
.gm-months{display:flex;gap:3px}
.gm-months i{flex:1;height:20px;border-radius:3px;background:var(--pb-inset);display:flex;align-items:flex-end;justify-content:center;font-size:8px;color:var(--pb-faint);font-style:normal;padding-bottom:2px}
.gm-months i.is-good{background:var(--pb-accent-tint-strong);color:var(--pb-accent-ink)}
@media (max-width:640px){
  .gm-sheet{align-items:flex-end;padding:0}
  .gm-sheet-panel{max-width:none;border-radius:var(--pb-r-sheet) var(--pb-r-sheet) 0 0;max-height:92vh;animation:ppSheetUp 280ms var(--pp-ease) both}
}

/* ── the hub ────────────────────────────────────────────────── */
.gm-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:28px;align-items:center}
.gm-hero-art{position:relative;display:flex;align-items:center;justify-content:center}
.gm-hero-art svg{width:min(100%,360px);aspect-ratio:1;overflow:visible}
.gm-hero-art path{fill:var(--pb-accent);stroke:var(--pb-accent);stroke-width:.8;stroke-linejoin:round}
.gm-hero-art .gm-stamp{font-size:var(--pb-fs-lead)}
.gm-hero-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.gm-hero-cta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:18px}
.gm-streak{display:inline-flex;align-items:center;gap:6px}
.gm-streak b{font-variant-numeric:tabular-nums}
.gm-gcard{position:relative;display:flex;flex-direction:column;gap:8px;min-height:190px;padding:18px;color:var(--pb-text);text-decoration:none}
.gm-gcard .pp-mega-glyph{width:40px;height:40px;border-radius:12px}
.gm-gcard .pp-mega-glyph svg{width:22px;height:22px}
.gm-gcard .gm-gname{font-weight:600;font-size:var(--pb-fs-lead);margin-top:4px}
.gm-gcard .gm-gblurb{color:var(--pb-muted);font-size:var(--pb-fs-body-s);line-height:1.45;flex:1}
.gm-gcard .gm-gfoot{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--pb-fs-meta);color:var(--pb-text-2);font-variant-numeric:tabular-nums}
.gm-gcard .gm-gfoot .pp-tag{font-size:10px}
.gm-standing{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center}
.gm-standing-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.gm-standing-stats .pp-num{font-size:var(--pb-fs-stat)}
.gm-badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px;margin-top:14px}
.gm-badge{display:grid;gap:6px;justify-items:center;text-align:center;font-size:var(--pb-fs-caption);color:var(--pb-muted);line-height:1.3}
.gm-badge .gm-seal{width:56px;height:56px;border-radius:50%;border:2px dashed var(--pb-border-strong);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--pb-fs-body-s);color:var(--pb-faint);position:relative}
.gm-badge.is-earned .gm-seal{border-color:var(--pb-accent);color:var(--pb-accent-ink);background:var(--pb-accent-tint)}
.gm-badge b{color:var(--pb-text);font-weight:600;display:block}
.gm-board{width:100%;border-collapse:collapse;font-size:var(--pb-fs-row);font-variant-numeric:tabular-nums}
.gm-board th{font-size:var(--pb-fs-kicker);letter-spacing:var(--pb-ls-kicker);text-transform:uppercase;color:var(--pb-muted);font-weight:600;text-align:left;padding:6px 8px;border-bottom:1px solid var(--pb-border)}
.gm-board td{padding:9px 8px;border-bottom:1px solid var(--pb-border)}
.gm-board tr:last-child td{border-bottom:0}
.gm-board tr.is-me td{background:var(--pb-accent-tint);font-weight:600}
.gm-board .gm-rank{width:44px;color:var(--pb-muted)}
.gm-board .gm-bscore{text-align:right;font-weight:600}
.gm-tabs{display:flex;gap:6px;flex-wrap:wrap}
@media (max-width:820px){
  .gm-hero{grid-template-columns:1fr}
  .gm-hero-art{order:-1}
  .gm-hero-art svg{width:min(70vw,260px)}
  .gm-standing{grid-template-columns:1fr}
}
@media (max-width:560px){
  .gm-mapwrap{aspect-ratio:900/560}
  .gm-tiles{grid-template-columns:repeat(5,1fr);gap:6px}
  .gm-lrow{grid-template-columns:30px minmax(0,1fr) 72px 26px 42px;font-size:var(--pb-fs-body)}
  .gm-vs{gap:8px}
  .gm-vcard{min-height:190px;padding:14px 8px}
  .gm-sum-actions{grid-template-columns:1fr}
}

/* ── motion off ─────────────────────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  .gm-draw path{animation:none;fill-opacity:1;stroke-dashoffset:0}
  .gm-stamp,.gm-shake,.gm-lrow,.gm-mapwrap .gm-drop,.gm-sheet.is-on,.gm-sheet-panel{animation:none!important}
  .gm-timer .gm-timer-fg{transition:none}
}
