.bng-fc-flashcard {
  --bng-green: #174f38;
  --bng-berry: #ab0939;
  --bng-sky: #edf8fd;
  --bng-cream: #fffaf3;
  --bng-ink: #123c2c;
  --bng-muted: #617268;
  --bng-line: #d9e7df;
  box-sizing: border-box;
  width: min(100%, 720px);
  margin: 24px auto;
  color: var(--bng-ink);
  font-family: inherit;
}
.bng-fc-flashcard * { box-sizing: border-box; }
.bng-fc-header h3 { margin: 0 0 8px; color: var(--bng-green); font-size: clamp(1.35rem, 3vw, 1.75rem); }
.bng-fc-instruction { margin-bottom: 18px; color: var(--bng-muted); line-height: 1.55; }
.bng-fc-round { display: flex; justify-content: space-between; margin: 10px 4px; color: var(--bng-muted); font-weight: 800; }
.bng-fc-card { position: relative; height: 300px; cursor: pointer; perspective: 1000px; }
.bng-fc-front,.bng-fc-back { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 15px; padding: 30px; border: 1px solid var(--bng-line); border-radius: 22px; box-shadow: 0 12px 32px #174f3816; text-align: center; backface-visibility: hidden; transition: transform .55s; }
.bng-fc-front { background: linear-gradient(145deg,#fff,var(--bng-sky)); }
.bng-fc-back { background: linear-gradient(145deg,var(--bng-cream),#fff); transform: rotateY(180deg); }
.bng-fc-card.is-flipped .bng-fc-front { transform: rotateY(180deg); }
.bng-fc-card.is-flipped .bng-fc-back { transform: rotateY(360deg); }
.bng-fc-card-text { color: var(--bng-green); font-family: Georgia,serif; font-size: clamp(1.35rem,4vw,1.8rem); font-weight: 400; }
.bng-fc-card-text strong,.bng-fc-card-text b { font-weight: 800; }
.bng-fc-card small { color: var(--bng-muted); }
.bng-fc-card p { margin: 0; }
.bng-fc-card-image { max-width: min(240px,75%); max-height: 140px; object-fit: contain; border-radius: 14px; }
.bng-fc-ratings { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; margin-top: 16px; }
.bng-fc-ratings[hidden] { display: none; }
.bng-fc-ratings button,.bng-fc-primary,.bng-fc-secondary { min-height: 46px; padding: 12px 16px; border: 0; border-radius: 28px; font: inherit; font-weight: 800; cursor: pointer; }
.bng-fc-ratings button { display: flex; align-items: center; justify-content: center; gap: 8px; color: #fff; border-radius: 13px; }
.bng-fc-ratings button.is-selected { filter: brightness(1.22); transform: scale(.96); box-shadow: inset 0 0 0 3px #ffffffaa; }
.bng-fc-rating-icon { flex: 0 0 25px; width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.bng-fc-ratings .is-green { background: #27845c; }
.bng-fc-ratings .is-orange { background: #dc8428; }
.bng-fc-ratings .is-red { background: #c93648; }
.bng-fc-primary { display: inline-flex; align-items: center; justify-content: center; background: var(--bng-berry); color: #fff; text-decoration: none; }
.bng-fc-secondary { background: #e9f4ee; color: var(--bng-green); }
.bng-fc-audio-button { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 52px; width: 52px; height: 52px; padding: 0; border: 2px solid var(--bng-green); border-radius: 50%; background: #fff; color: var(--bng-green); cursor: pointer; transition: background .2s,color .2s,opacity .2s,transform .2s; }
.bng-fc-audio-button:hover:not(:disabled),.bng-fc-audio-button:focus-visible { background: #e9f4ee; transform: scale(1.04); }
.bng-fc-audio-button:disabled { cursor: wait; opacity: .62; }
.bng-fc-audio-button.is-playing { background: var(--bng-green); color: #fff; }
.bng-fc-speaker-icon { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.bng-fc-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 20px; }
.bng-fc-actions button:disabled { opacity: .35; cursor: not-allowed; }
.bng-fc-exit { margin-top: 16px; padding: 16px 8px 0; border-top: 1px solid var(--bng-line); text-align: center; }
.bng-fc-exit p { margin: 0 0 10px; color: var(--bng-muted); font-size: .9rem; }
.bng-fc-exit .bng-fc-primary { min-width: min(100%, 310px); }
.bng-fc-round-change,.bng-fc-result { padding: 28px; border: 1px solid var(--bng-line); border-radius: 20px; background: linear-gradient(145deg,#fff6f8,var(--bng-sky)); text-align: center; }
.bng-fc-round-change h4,.bng-fc-result h4 { margin: 0 0 16px; color: var(--bng-green); font: 700 clamp(1.75rem,4vw,2.15rem) Georgia,serif; }
.bng-fc-result-line { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 5px 9px; color: var(--bng-muted); font-size: .95rem; }
.bng-fc-result-line span { white-space: nowrap; }
.bng-fc-result-line strong { font-size: 1.05rem; }
.bng-fc-result-line .is-green { color: #27845c; }
.bng-fc-result-line .is-orange { color: #b96210; }
.bng-fc-result-line .is-red { color: #c93648; }
.bng-fc-result-line i { color: #9aac9f; font-style: normal; }
.bng-fc-review-question { margin: 24px 0 0; color: var(--bng-green); font-size: clamp(1.15rem,3vw,1.35rem); font-weight: 900; }
.bng-fc-guidance { max-width: 560px; margin: 20px auto 0; padding: 12px 14px; border-radius: 12px; background: #fff; color: var(--bng-green); font-weight: 750; line-height: 1.45; }
.bng-fc-skip-message p { margin-bottom: 0; color: var(--bng-muted); }
.bng-fc-skip { margin-top: 10px; padding: 8px 14px; border: 0; background: transparent; color: var(--bng-muted); font: inherit; text-decoration: underline; cursor: pointer; }
.bng-fc-notice { padding: 14px 18px; border: 1px solid #edb9c8; border-radius: 12px; background: #fff6f8; }
@media (max-width: 620px) {
  .bng-fc-flashcard { margin: 14px auto; }
  .bng-fc-instruction { margin-bottom: 10px; line-height: 1.35; }
  .bng-fc-round { margin: 7px 3px; font-size: .88rem; }
  .bng-fc-card { height: 218px; }
  .bng-fc-front,.bng-fc-back { gap: 8px; padding: 14px 12px; border-radius: 17px; }
  .bng-fc-card-text { font-size: clamp(1.18rem, 5.5vw, 1.55rem); line-height: 1.18; }
  .bng-fc-card-image { max-width: min(180px,68%); max-height: 82px; }
  .bng-fc-audio-button { flex-basis: 58px; width: 58px; height: 58px; }
  .bng-fc-speaker-icon { width: 31px; height: 31px; }
  .bng-fc-ratings { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px; }
  .bng-fc-ratings { margin-top: 9px; }
  .bng-fc-ratings button { min-height: 48px; padding: 8px 3px; gap: 3px; border-radius: 11px; font-size: clamp(.69rem,3.15vw,.82rem); line-height: 1.05; }
  .bng-fc-rating-icon { flex-basis: 20px; width: 20px; height: 20px; }
  .bng-fc-round-change,.bng-fc-result { padding: 18px 12px; }
  .bng-fc-result h4 { font-size: 1.72rem; }
  .bng-fc-result-line { gap: 4px 6px; font-size: .8rem; }
  .bng-fc-result-line strong { font-size: .9rem; }
  .bng-fc-review-question { margin-top: 20px; font-size: 1.15rem; }
  .bng-fc-actions { flex-direction: column; }
  .bng-fc-actions > * { width: 100%; }
}
.bng-fc-standalone-instruction { margin: 16px 0; padding: 14px 16px; border-left: 4px solid #174f38; border-radius: 3px; background: #f1f8f4; color: #17352a; }
