/* Adrenaline lesson. All rules scoped under .adn-* */
.adn-sc { position: relative; width: 100%; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.adn-note { color: var(--faint); font-size: 12px; text-align: center; max-width: 300px; }
.adn-bw { width: 100%; display: flex; justify-content: center; }
.adn-body { display: block; width: 100%; max-width: 360px; height: auto; max-height: 300px; overflow: visible; }
@media (max-height: 700px) { .adn-body { max-height: 262px; } }

.adn-skin > * { fill: #5E4458; transition: fill .8s; }
.adn-skin .adn-limb { fill: none; stroke: #5E4458; stroke-width: 18; stroke-linecap: round; stroke-linejoin: round; transition: stroke .8s; }
.adn-skin .adn-limb.leg { stroke-width: 26; }
.adn-body.lit-skin .adn-skin > * { fill: #4C4A60; }
.adn-body.lit-skin .adn-skin .adn-limb { fill: none; stroke: #4C4A60; }
.adn-ves { fill: none; stroke: #9E2B40; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; opacity: .75; transition: stroke .4s, opacity .4s; }
.adn-body.veins .adn-ves, .adn-body.pour .adn-ves, .adn-body.jab .adn-ves { stroke: #E0485E; opacity: 1; }
.adn-lungs ellipse { fill: #7A5A78; opacity: .55; }
.adn-air { fill: none; stroke: #D9C6E8; stroke-width: 3.2; stroke-linecap: round; transition: stroke-width .6s, stroke .6s; }
.adn-body.lit-air .adn-air { stroke-width: 5.2; stroke: #FFE3A0; }
.adn-body.allergy .adn-air { stroke-width: 1.4; stroke: #FF8FA0; }
.adn-body.allergy.air-ok .adn-air { stroke-width: 5.2; stroke: #FFE3A0; }
.adn-throat { fill: none; stroke: transparent; stroke-width: 3; transition: all .6s; transform-box: fill-box; transform-origin: center; }
.adn-body.allergy .adn-throat { fill: rgba(216, 85, 85, .55); stroke: #FF8FA0; transform: scale(1.9); }
.adn-body.allergy.thr-ok .adn-throat { fill: transparent; stroke: transparent; transform: none; }
.adn-heart { fill: #D85555; transform-box: fill-box; transform-origin: center; }
.adn-body.lit-heart .adn-heart { fill: #FF6B7A; animation: adnBeat .42s ease-in-out infinite; filter: drop-shadow(0 0 5px #FF6B7A); }
@keyframes adnBeat { 50% { transform: scale(1.22); } }
.adn-kid ellipse { fill: #8C3B3B; }
.adn-gl path { fill: #8A6A2A; stroke: #F2C96B; stroke-width: 1.2; transition: fill .3s, filter .3s; }
.adn-body.glow .adn-gl path { fill: var(--gold); filter: drop-shadow(0 0 6px #FCC050); animation: adnGlow 1s ease-in-out infinite; }
.adn-body.pour .adn-gl path { fill: var(--gold); }
@keyframes adnGlow { 50% { filter: drop-shadow(0 0 12px #FCC050); } }
.adn-glhit { fill: transparent; cursor: pointer; }
.adn-body.her .adn-glhit { display: none; }
.adn-thigh { fill: transparent; stroke: transparent; stroke-width: 2.5; stroke-dasharray: 4 3; }
.adn-body.shot .adn-thigh { stroke: var(--gold); cursor: pointer; }
.adn-body.jab .adn-thigh { fill: rgba(252, 192, 80, .35); stroke: var(--gold); stroke-dasharray: none; }
.adn-gauge { opacity: 0; transition: opacity .4s; }
.adn-body.her .adn-gauge { opacity: 1; }
.adn-garc { fill: none; stroke: var(--line-strong); stroke-width: 5; stroke-linecap: round; }
.adn-needle { stroke: var(--text); stroke-width: 3; stroke-linecap: round; }
.adn-body.allergy .adn-needle { stroke: #FF8FA0; }
.adn-gt { fill: var(--dim); font: 700 14px var(--sans); text-anchor: middle; }
.adn-dot { fill: var(--gold); filter: drop-shadow(0 0 4px #FCC050); }
.adn-guide { fill: none; stroke: none; }
.adn-lb { fill: var(--gold); font: 700 14px var(--sans); text-anchor: end; opacity: 0; transition: opacity .4s; }
.adn-lb.l { text-anchor: start; }
.adn-lb.bad { fill: #FF8FA0; }
.adn-body.lit-heart .lb-heart, .adn-body.lit-air .lb-air, .adn-body.lit-mus .lb-mus, .adn-body.lit-skin .lb-skin { opacity: 1; }
.adn-body.her .lb-heart, .adn-body.her .lb-air, .adn-body.her .lb-mus, .adn-body.her .lb-skin { opacity: 0; }
.adn-body.allergy .lb-thr, .adn-body.allergy .lb-tight { opacity: 1; }
.adn-body.allergy.thr-ok .lb-thr, .adn-body.allergy.air-ok .lb-tight { opacity: 0; }
.adn-body.her.thr-ok .lb-thr2, .adn-body.her.air-ok .lb-air2 { opacity: 1; }
.adn-sc.asking .adn-note { display: none; }
.adn-body.flash { animation: adnFlash .7s ease-out; }
@keyframes adnFlash { 0% { filter: brightness(2.4) saturate(0); } 100% { filter: none; } }

.adn-photo { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.adn-photo img { display: block; max-width: 260px; width: 72vw; max-height: 40vh; object-fit: cover; border-radius: 14px; box-shadow: 0 16px 40px rgba(0, 0, 0, .5); }
.adn-photo figcaption { color: var(--faint); font-size: 12px; }
