/* Defense section: /flag-football-defense/ + /defense/<slug>/. Builds on site.css tokens. */
.tag-man { background: var(--pink); }
.tag-zone { background: var(--sky); color: var(--ink); }
.tag-combo { background: var(--orange); color: var(--ink); }

/* diagram legend */
.k-rush::before { background: #e03131; }
.k-drop::before { background: repeating-linear-gradient(90deg, var(--ink) 0 6px, transparent 6px 10px); }
.k-man::before { height: 4px; background: radial-gradient(circle, var(--ink) 1.6px, transparent 2px) 0 50% / 6px 4px repeat-x; }
.k-zone::before { width: 20px; height: 12px; border-radius: 50%; background: rgba(67, 195, 239, .35); border: 2px dashed #1f8fb8; }
.k-deep::before { width: 20px; height: 12px; border-radius: 50%; background: rgba(46, 125, 50, .25); border: 2px dashed var(--muted); }
.k-def::before { width: 14px; height: 12px; border-radius: 0; background: #1b2a4a; clip-path: polygon(0 0, 100% 0, 50% 100%); }

/* each defender's job */
.jobs { list-style: none; padding: 0 !important; display: grid; gap: 10px; }
.jobs li { display: flex; gap: 12px; align-items: flex-start; background: var(--card); border: 3px solid var(--ink); border-radius: 16px; box-shadow: 0 4px 0 var(--ink); padding: 10px 14px; margin: 0; }
.jobs li::marker { content: none; }
.def-badge { flex: none; min-width: 44px; height: 38px; padding: 0 6px; display: inline-flex; align-items: center; justify-content: center; background: #1b2a4a; color: #fff;
  font: 900 .9rem var(--body); border: 2px solid var(--ink); border-radius: 10px 10px 50% 50%; }

/* strengths / weaknesses, man / zone side by side */
.sw { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 24px 0; }
.sw .panel { margin: 0; }
.sw h2, .sw h3 { margin-top: 4px; }
.sw-good { background: var(--band); }
.sw-bad { background: #ffc8a8; }
.sw-man { background: #ffc2d6; }
.sw-zone { background: #c6ecfa; }
@media (max-width: 700px) { .sw { grid-template-columns: 1fr; } }

.rules { background: var(--yellow); }
.rules ul { margin-bottom: 6px; }

/* plays that beat this defense */
.beats { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 20px; }
.beat { display: flex; flex-direction: column; gap: 8px; }
.beat p { margin: 0 4px; font-size: .95rem; line-height: 1.5; }
.beat:nth-child(3n+1) .card { box-shadow: 0 6px 0 var(--orange), 0 6px 0 3px var(--ink); }
.beat:nth-child(3n+2) .card { box-shadow: 0 6px 0 var(--sky), 0 6px 0 3px var(--ink); }
.beat:nth-child(3n+3) .card { box-shadow: 0 6px 0 var(--yellow), 0 6px 0 3px var(--ink); }

.age-advice li { margin: 10px 0; }
