.action-target{display:inline-flex;align-items:center;gap:9px;max-width:100%;align-self:end}
.action-arrow{color:var(--rust);font-size:1.65rem;line-height:1;flex:none;animation:action-point 1.5s ease-in-out infinite}
.needs-attention{animation:action-pulse 2s ease-in-out infinite}
.needs-attention:hover,.needs-attention:focus-visible{animation-play-state:paused}
.classmate.active:before{display:none}
.turn-seat-arrow{position:absolute;left:9px;top:-23px;color:var(--rust);font-family:Georgia,serif;font-size:1.6rem;line-height:1;pointer-events:none;animation:seat-point 1.8s ease-in-out infinite}
.turn-notice{position:fixed;z-index:35;top:86px;left:50%;transform:translateX(-50%);width:min(470px,calc(100% - 28px));pointer-events:none;animation:notice-arrive .28s ease-out}
.turn-notice button{display:flex;align-items:center;gap:16px;width:100%;padding:15px 19px;border:2px solid var(--forest);border-radius:9px 9px 9px 2px;background:var(--paper);color:var(--ink);text-align:left;pointer-events:auto;box-shadow:3px 7px 18px #30201530}
.turn-notice img{width:64px;height:70px;object-fit:cover;border-radius:5px;flex:none;border:1px solid var(--edge)}
.turn-notice strong{display:block;font-family:Georgia,serif;font-size:1.4rem;line-height:1.2;color:var(--forest);margin-bottom:5px;overflow-wrap:anywhere}
.turn-notice .turn-message{display:block;font-size:.9rem;line-height:1.4;font-weight:400}
.turn-notice small{display:block;font-size:.75rem;color:var(--muted);line-height:1.3;margin-top:7px;font-weight:400}
.end-notice button{border-color:var(--rust)}
.end-notice strong{color:var(--rust)}
.turn-action-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 14px;margin:0 0 12px;background:var(--paper);border:2px solid var(--forest);border-radius:5px;position:sticky;top:8px;z-index:8}
.turn-action-bar>img{width:48px;height:48px;object-fit:cover;flex:none;border-radius:4px;border:1px solid var(--edge)}
.turn-action-copy{flex:1;min-width:160px}
.turn-action-copy h3{margin:0 0 4px;font-size:1.3rem}
.turn-action-copy p{margin:0;font-size:.85rem;line-height:1.4;color:var(--muted)}
.turn-action-bar.end-cue{border-color:var(--rust)}
.end-cue h3{color:var(--rust)}
.turn-action-bar .action-target{align-self:center}
@keyframes action-point{50%{translate:4px 0}}
@keyframes seat-point{50%{translate:0 4px}}
@keyframes action-pulse{50%{box-shadow:0 0 0 5px #a13f2b26}}
@keyframes notice-arrive{from{opacity:0;translate:0 -12px}to{opacity:1;translate:0 0}}
@media(max-width:570px){.turn-notice{top:70px}.turn-notice button{padding:12px;gap:11px}.turn-notice img{width:51px;height:62px}.turn-notice strong{font-size:1.15rem}.turn-notice .turn-message{font-size:.82rem}.turn-seat-arrow{left:5px;top:-19px;font-size:1.35rem}.action-target{gap:6px}.action-arrow{font-size:1.4rem}.table-tabs{flex-wrap:wrap}.turn-action-bar{gap:8px;padding:9px}.turn-action-bar>img{width:36px;height:36px}.turn-action-copy{min-width:0;flex-basis:calc(100% - 44px)}.turn-action-copy h3{font-size:1.12rem}.turn-action-copy p{font-size:.76rem}.turn-action-bar .action-target{margin-left:auto}.turn-action-bar button{font-size:.8rem}}
@media(max-width:570px),(max-height:600px){.board-column:has(.turn-action-bar) .theory-dock{position:static}}
.calm .action-arrow,.calm .needs-attention,.calm .turn-seat-arrow,.calm .turn-notice{animation:none}
@media(prefers-reduced-motion:reduce){.action-arrow,.needs-attention,.turn-seat-arrow,.turn-notice{animation:none}}
