| .focus-container { | |
| position: relative; | |
| display: flex; | |
| gap: 0.4em; | |
| justify-content: center; | |
| align-items: center; | |
| flex-wrap: wrap; | |
| outline: none; | |
| user-select: none; | |
| pointer-events: none; /* never block clicks on elements below */ | |
| } | |
| .focus-word { | |
| position: relative; | |
| font-size: 1.1rem; /* was 3rem — too large, was covering the whole page */ | |
| font-weight: 900; | |
| cursor: default; | |
| pointer-events: none; /* don't intercept mouse events */ | |
| transition: | |
| filter 0.3s ease, | |
| color 0.3s ease; | |
| outline: none; | |
| user-select: none; | |
| } | |
| .focus-word.active { | |
| filter: blur(0); | |
| } | |
| .focus-frame { | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| pointer-events: none; | |
| box-sizing: content-box; | |
| border: none; | |
| } | |
| .corner { | |
| position: absolute; | |
| width: 1rem; | |
| height: 1rem; | |
| border: 3px solid var(--border-color, #fff); | |
| filter: drop-shadow(0px 0px 4px var(--border-color, #fff)); | |
| border-radius: 3px; | |
| transition: none; | |
| } | |
| .top-left { | |
| top: -10px; | |
| left: -10px; | |
| border-right: none; | |
| border-bottom: none; | |
| } | |
| .top-right { | |
| top: -10px; | |
| right: -10px; | |
| border-left: none; | |
| border-bottom: none; | |
| } | |
| .bottom-left { | |
| bottom: -10px; | |
| left: -10px; | |
| border-right: none; | |
| border-top: none; | |
| } | |
| .bottom-right { | |
| bottom: -10px; | |
| right: -10px; | |
| border-left: none; | |
| border-top: none; | |
| } | |