/* Locked Clay & Craft tokens only. Optional play aids stay outside original art. */
.play-assist {
  margin-block: var(--space-3);
  padding: var(--space-4);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface-raised);
  color: var(--ink);
  min-width: 0;
}
.play-assist > summary { font-weight: 700; cursor: pointer; min-height: var(--touch-min); align-content: center; }
.assist-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-block: var(--space-2); }
.play-assist button, .assist-actions button {
  background: var(--surface-sunken); color: var(--ink);
  border: 1px solid var(--ink-muted); border-radius: var(--radius-md);
  min-height: var(--touch-kid); padding: var(--space-2) var(--space-4);
  white-space: normal; max-width: 100%; font: 700 1rem/1.6 var(--font-text);
}
.play-assist label { display: flex; gap: var(--space-2); align-items: center; min-height: var(--touch-min); }
.play-assist input[type=checkbox] { width: 24px; height: 24px; flex: 0 0 24px; accent-color: var(--olive-deep); }
.assist-text { margin: var(--space-2) 0 0; line-height: 1.7; color: var(--ink); }
.assist-status { color: var(--olive-deep); background: var(--olive-soft); padding: var(--space-2); border-radius: var(--radius-sm); }
.assist-overlay { position: absolute; inset: 0; pointer-events: none; overflow: hidden; border-radius: inherit; }
.assist-overlay svg { display: block; width: 100%; height: 100%; }
.guide-line, .guide-target { fill: none; stroke: var(--ink); stroke-width: 3; stroke-dasharray: 7 7; }
.guide-target { stroke: var(--olive-deep); stroke-width: 4; paint-order: stroke; }
.guide-target-under { fill: none; stroke: var(--surface-raised); stroke-width: 8; }
.game-controls .hint-target, .hotspots .hint-target, .pro-button-grid .hint-target {
  outline: 4px solid var(--olive-deep); outline-offset: 2px;
  box-shadow: inset 0 0 0 3px var(--surface-raised);
}
.game-controls label.hint-target { border-radius: var(--radius-sm); }
.hotspots .hint-target { background: color-mix(in srgb,var(--olive-soft) 35%,transparent); }
.game-controls .hint-target:focus-visible, .hotspots .hint-target:focus-visible,
.pro-button-grid .hint-target:focus-visible {
  outline: 2px solid var(--focus); outline-offset: 2px;
}
.play-assist button:focus-visible, .play-assist summary:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.play-assist button:disabled { opacity: .65; cursor: default; }
.game-controls output { font-variant-numeric: tabular-nums; color: var(--ink); }
.guide-caption { margin-block: var(--space-2); padding-inline: var(--space-3); font: 400 .95rem/1.7 var(--font-text); color: var(--ink); }
.assist-overlay[hidden], .guide-caption[hidden] { display: none; }
.pro-focus .play-assist { margin-inline: 0; }
@media (max-width: 480px) {
  .play-assist { padding: var(--space-3); }
  .assist-actions > button { flex: 1 1 130px; }
}
@media (prefers-reduced-motion: reduce) {
  .play-assist *, .assist-overlay * { animation: none !important; transition: none !important; }
}
