# Implementation Plan: Fix Concentration Shake Glow Clipping **Branch**: `033-fix-concentration-glow-clip` | **Date**: 2026-03-11 | **Spec**: [spec.md](spec.md) **Input**: Feature specification from `/specs/033-fix-concentration-glow-clip/spec.md` ## Summary The concentration-damage glow animation (`box-shadow`) is clipped on left and right edges because the scrollable combatant list container's `overflow-y: auto` implicitly sets `overflow-x: auto` per CSS spec, creating a clipping context. The fix adds horizontal padding to the inner container so the glow has room to render within the overflow area. ## Technical Context **Language/Version**: TypeScript 5.8, CSS (Tailwind CSS v4) **Primary Dependencies**: React 19, Tailwind CSS v4 **Storage**: N/A (no persistence changes) **Testing**: Vitest (visual verification — CSS-only fix) **Target Platform**: Web (modern browsers, 320px+ viewports) **Project Type**: Web application **Performance Goals**: 60fps animation, zero layout shift **Constraints**: No horizontal scrollbar, no layout shift, mobile-compatible **Scale/Scope**: Single CSS class change in one file ## Constitution Check *GATE: Must pass before Phase 0 research. Re-check after Phase 1 design.* | Principle | Status | Notes | |-----------|--------|-------| | I. Deterministic Domain Core | PASS | No domain changes | | II. Layered Architecture | PASS | Change is in adapter layer (web/UI) only | | III. Clarification-First | PASS | Root cause is clear, fix is straightforward | | IV. Escalation Gates | PASS | Fix matches spec scope exactly | | V. MVP Baseline Language | PASS | N/A for bug fix | | VI. No Gameplay Rules | PASS | N/A — visual fix only | **Post-design re-check**: All gates still pass. No architectural changes introduced. ## Root Cause 1. The combatant list lives inside `