/* xG playground */
.xg-play{background:var(--surface,#fff);color:var(--text,#1C2C3D);border-radius:18px;padding:18px;box-shadow:0 30px 60px -30px rgba(0,0,0,.55);display:grid;gap:12px}
.xg-out{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.xg-val{font:800 clamp(2.4rem,5vw,3.2rem)/1 var(--display);color:var(--ink,#0E2A47);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.xg-lbl{font:500 12.5px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted,#4B5A6A)}
.xg-say{flex-basis:100%;font-weight:600;color:var(--text,#1C2C3D);min-height:1.4em}
.xg-pitch{width:100%;height:auto;display:block;border-radius:12px;touch-action:none;cursor:crosshair;overflow:visible}
.xg-grass{fill:#2E9E6B}
.xg-l{fill:none;stroke:rgba(255,255,255,.85);stroke-width:.32}
.xg-dot{fill:#fff}
.xg-ball{cursor:grab;outline:none}
.xg-ball:active{cursor:grabbing}
.xg-b{fill:#fff;stroke:#0E2A47;stroke-width:.35}
.xg-halo{fill:#F2A900;opacity:.35}
.xg-ball:focus-visible .xg-halo{opacity:.8}
.xg-heat{pointer-events:none}
.xg-ctrl{display:flex;gap:8px;flex-wrap:wrap}
.xg-play .seg button[aria-pressed="true"]{background:var(--surface,#fff);color:var(--ink,#0E2A47);box-shadow:0 1px 3px rgba(14,42,71,.18)}
.xg-note{color:var(--muted,#4B5A6A);margin:0;font-size:13px}
@media (prefers-reduced-motion:no-preference){.xg-halo{animation:xgp 2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes xgp{50%{transform:scale(1.35);opacity:.15}}}
