/* Feedback is one short cue, never a repeating effect or a game-state mutation. */
#board-frame.feedback-rejected{outline:2px solid var(--reject-glow,#efb78c);outline-offset:3px}
#board-frame.feedback-accepted{animation:feedbackBoardGlow .52s ease-out}
#board-frame.feedback-rejected #board{animation:feedbackTinyShake .31s ease-in-out}
#board-frame.feedback-static{outline:2px solid var(--reject-glow,#eebf85);outline-offset:3px}
#status.feedback-reason{
  border-radius:7px;background:color-mix(in srgb,var(--reject-glow,#f0c68c) 24%,transparent);
  outline:1px solid var(--reject-glow,#f0c68c);
  color:var(--ink,#f9f0d8);
  font-weight:750;
  padding-inline:7px;
  animation:feedbackReasonGlow .75s ease-out;
}
@keyframes feedbackTinyShake{
  0%,100%{transform:translateX(0)}
  18%{transform:translateX(-3px)}
  38%{transform:translateX(3px)}
  58%{transform:translateX(-2px)}
  78%{transform:translateX(2px)}
}
@keyframes feedbackBoardGlow{
  0%{filter:drop-shadow(0 0 0 transparent)}
  45%{filter:drop-shadow(0 0 11px var(--world-active,#c0d6a6))}
  100%{filter:drop-shadow(0 0 0 transparent)}
}
@keyframes feedbackReasonGlow{
  0%{box-shadow:0 0 0 0 var(--reject-glow,#eaba80)}
  50%{box-shadow:0 0 0 4px transparent}
  100%{box-shadow:none}
}
.multiplayer-activity[hidden]{display:none!important}
.multiplayer-activity{
  display:flex;align-items:center;gap:8px;width:100%;min-height:34px;
  padding:6px 12px;border:1px solid #a0bdc45e;border-radius:10px;
  background:#a7bec01b;color:var(--ink,#f6f1e8);
  font-size:12px;font-weight:750;text-align:left;cursor:pointer;
}
.multiplayer-activity .activity-signal{font-size:10px;color:#9dbdb6}
.multiplayer-activity .activity-arrow{margin-left:auto;font-size:20px;line-height:1}
.multiplayer-activity[data-new="true"]{
  border-color:#f4d29b;background:#c8ae6d25;color:var(--ink,#fff6e3);
}
.multiplayer-activity[data-new="true"] .activity-signal{color:#f4d29b}
.multiplayer-activity:focus-visible{outline:2px solid currentColor;outline-offset:3px}
html[data-theme="ink"] .multiplayer-activity{
  background:var(--sheet);border-color:var(--rule);color:var(--graphite);
}
html[data-theme="ink"] .multiplayer-activity .activity-signal{color:var(--soft-ink)}
html[data-theme="ink"] .multiplayer-activity[data-new="true"]{
  background:var(--graphite);border-color:var(--graphite);color:var(--tile-paper);
}
html[data-theme="ink"] .multiplayer-activity[data-new="true"] .activity-signal{color:var(--tile-paper)}
html[data-theme="ink"] #status.feedback-reason{
  color:var(--graphite);background:var(--inset);border:1px solid var(--strong-rule);
}
@media(prefers-reduced-motion:reduce){
  #board-frame.feedback-rejected #board,
  #board-frame.feedback-accepted,
  #status.feedback-reason{animation:none!important}
}
html[data-motion="off"] #board-frame.feedback-rejected #board,
html[data-motion="off"] #board-frame.feedback-accepted,
html[data-motion="off"] #status.feedback-reason{animation:none!important}

/* Optional vocabulary lookup appears only after the user opens Big Reveal. */
.wordprint-define{display:inline-flex;align-items:center;align-self:flex-start;min-height:36px;
  font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:3px;
  color:#f5d5a2}
.wordprint-define[hidden]{display:none!important}
html[data-theme="ink"] .wordprint-define{color:var(--graphite)}
.wordprint-define:focus-visible{outline:2px solid currentColor;outline-offset:3px}
