/* 和製英語トラップ（KATAKANA TRAP）：カタカナ語をネオンの看板で出す */
.ax-katakana-card { overflow: hidden; }
.ax-katakana-sign { display: inline-block; max-width: 100%; margin: 6px auto 2px; padding: 10px 22px; border-radius: 16px; border: 3px solid var(--a-pink); background: rgba(255, 79, 216, 0.08); box-shadow: 0 0 18px rgba(255, 79, 216, 0.55), inset 0 0 18px rgba(255, 79, 216, 0.22); }
.ax-katakana-sign b { display: block; font-family: var(--f-display); font-weight: 400; font-size: clamp(26px, 8vw, 46px); line-height: 1.25; color: #ffe6fb; text-shadow: 0 0 8px #ff4fd8, 0 0 22px #ff4fd8; animation: ax-katakana-flick 4.5s linear infinite; overflow-wrap: anywhere; }
.ax-katakana-m { margin: 6px 0 0; font-size: 13px; font-weight: 900; color: var(--a-dim); }
.ax-katakana-ask { margin: 8px 0 0; font-size: 13px; font-weight: 900; color: var(--a-yel); letter-spacing: 0.04em; }
@keyframes ax-katakana-flick { 0%, 90%, 93%, 96%, 100% { opacity: 1; } 91%, 95% { opacity: 0.35; } }
.ax-katakana-flick { animation: ax-katakana-flick 3.2s linear infinite; }
.ax-katakana-stamp { position: absolute; left: 50%; bottom: 8px; z-index: 2; font-style: normal; font-family: var(--f-pix); font-size: clamp(13px, 3.8vw, 18px); color: var(--a-red); border: 3px solid var(--a-red); padding: 7px 9px; border-radius: 8px; background: rgba(18, 4, 22, 0.96); text-shadow: 0 0 10px rgba(255, 79, 109, 0.7); box-shadow: 0 0 16px rgba(255, 79, 109, 0.45); transform: translateX(-50%) rotate(-5deg); animation: ax-katakana-stamp 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) both; pointer-events: none; }
@keyframes ax-katakana-stamp { from { transform: translateX(-50%) scale(2.6) rotate(-24deg); opacity: 0; } }
.ax-katakana-tag { margin-left: auto; flex: none; font-style: normal; font-family: var(--f-ja); font-size: 11px; font-weight: 900; padding: 2px 8px; border-radius: 999px; background: var(--a-pink); color: #1a0020; }
.ax-katakana-fb { width: min(100%, 620px); padding: 12px 14px; border-radius: 16px; background: rgba(255, 255, 255, 0.06); border: 1px solid var(--a-line); text-align: left; animation: qz-in 0.3s both; }
.ax-katakana-st { margin: 0; font-family: var(--f-pix); font-size: 15px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.ax-katakana-st small { font-family: var(--f-ja); font-size: 13px; font-weight: 900; color: #fff; }
.ax-katakana-st.ok { color: var(--a-grn); text-shadow: 0 0 10px rgba(61, 255, 154, 0.6); }
.ax-katakana-st.trap { color: var(--a-pink); text-shadow: 0 0 10px rgba(255, 79, 216, 0.7); }
.ax-katakana-st.ng { color: var(--a-red); }
.ax-katakana-pair { margin: 8px 0 4px; display: flex; flex-wrap: wrap; align-items: center; gap: 2px 10px; font-family: var(--f-en); font-weight: 700; font-size: 16px; }
.ax-katakana-pair s { color: #ff8fa3; text-decoration-thickness: 2px; }
.ax-katakana-pair span { color: var(--a-dim); }
.ax-katakana-pair b { color: #fff; font-size: 19px; text-shadow: 0 0 12px rgba(61, 255, 154, 0.7); }
.ax-katakana-pair small { font-family: var(--f-ja); font-size: 12px; font-weight: 900; color: var(--a-dim); }
.ax-katakana-why { margin: 0; font-size: 13.5px; font-weight: 700; color: #dfe3ff; line-height: 1.6; }
@media (prefers-reduced-motion: reduce) {
  .ax-katakana-sign b, .ax-katakana-flick, .ax-katakana-stamp { animation: none !important; }
}
