.lvf-fc-root,.lvf-fc-hub{--lvfg:#118a51;--lvfd:#075b37;--lvft:#183529;--lvfb:#f3faf6;font-family:Inter,Manrope,system-ui,sans-serif;color:var(--lvft)}
.lvf-fc-root *,.lvf-fc-hub *{box-sizing:border-box}.lvf-fc-shell{max-width:850px;margin:1.5rem auto;border:1px solid #dceee3;border-radius:24px;padding:clamp(16px,4vw,34px);background:#fff;box-shadow:0 16px 45px #0a63320b}.lvf-fc-top,.lvf-fc-tools,.lvf-fc-nav,.lvf-fc-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.lvf-fc-kicker,.lvf-fc-eyebrow{font-size:11px!important;font-weight:800!important;letter-spacing:1.5px;color:var(--lvfg)!important;margin:0 0 5px!important}.lvf-fc-shell h2{font-size:clamp(21px,3vw,30px);margin:0 0 18px!important}.lvf-fc-count{font-size:13px;font-weight:700;color:#4d6a58}.lvf-fc-progress{height:7px;border-radius:20px;background:#e5f1ea;overflow:hidden;margin:16px 0 20px}.lvf-fc-progress>div{height:100%;background:var(--lvfg);transition:width .25s}.lvf-fc-tools{justify-content:flex-start;margin-bottom:18px}.lvf-fc-root button{cursor:pointer;font:inherit;border-radius:11px;transition:.2s;touch-action:manipulation}.lvf-fc-tool,.lvf-fc-nav button,.lvf-fc-rate button{border:1px solid #d2e9da;background:#fff;color:var(--lvfd);font-size:13px!important;font-weight:700;padding:10px 13px}.lvf-fc-root button:hover,.lvf-fc-root button:focus-visible{border-color:var(--lvfg);outline:2px solid #b9edce;outline-offset:2px}.lvf-fc-card{width:100%;min-height:325px;perspective:1400px;cursor:pointer;border:0!important;background:transparent!important;padding:0!important;display:block;text-align:center}.lvf-fc-card-inner{position:relative;display:grid;grid-template-areas:'front';width:100%;min-height:325px;transition:transform .5s;transform-style:preserve-3d}.lvf-fc-flipped .lvf-fc-card-inner{transform:rotateY(180deg)}.lvf-fc-face{grid-area:front;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:linear-gradient(150deg,#effaf3,#fff 72%);border:2px solid #d9eee2;border-radius:21px;padding:25px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;overflow:hidden}.lvf-fc-back{transform:rotateY(180deg);background:linear-gradient(145deg,#f1fbf5,#e6f7ee)}.lvf-fc-label{text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:1.4px;color:#53936e}.lvf-fc-word{font-size:clamp(29px,5vw,43px);line-height:1.2;font-weight:850;overflow-wrap:anywhere}.lvf-fc-def{font-size:clamp(18px,3vw,25px);font-weight:750;line-height:1.4;max-width:620px}.lvf-fc-detail{font-size:14px;line-height:1.55;color:#476858;max-width:600px}.lvf-fc-image{display:block;max-width:min(100%,290px);max-height:165px;object-fit:contain;border-radius:12px}.lvf-fc-hint{font-size:12px;color:#6e907c}.lvf-fc-nav{margin:18px 0}.lvf-fc-nav button{padding:12px 19px}.lvf-fc-nav .lvf-fc-primary{background:var(--lvfg);color:#fff;border-color:var(--lvfg)}.lvf-fc-rate{border-top:1px solid #e2eee6;padding-top:17px}.lvf-fc-rate p{font-size:13px;margin:0 0 10px;color:#577161}.lvf-fc-rate-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.lvf-fc-rate button{padding:10px 4px}.lvf-fc-rate button small{display:block;font-size:10px;color:#698476;font-weight:400}.lvf-fc-rate button[data-rate=again]{color:#a43836}.lvf-fc-rate button[data-rate=easy]{color:#087a46}.lvf-fc-rate button:disabled{opacity:.45;cursor:not-allowed}.lvf-fc-stats{font-size:12px;color:#668170}.lvf-fc-hub{max-width:1100px;margin:0 auto;padding:25px 10px}.lvf-fc-hub header h2{font-size:clamp(27px,4vw,42px);margin:0 0 8px}.lvf-fc-hub header p{margin:0 0 20px}.lvf-fc-hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:15px}.lvf-fc-deck-link{display:flex;flex-direction:column;gap:11px;border:1px solid #dceee3;border-radius:17px;padding:23px;text-decoration:none!important;color:#153d2b!important;background:#fff;transition:transform .2s,box-shadow .2s}.lvf-fc-deck-link:hover{transform:translateY(-3px);box-shadow:0 12px 27px #163a2513}.lvf-fc-deck-link>span:first-child{font-size:30px}.lvf-fc-deck-link strong{font-size:18px}.lvf-fc-deck-link small{color:#607a69}.lvf-fc-start{color:var(--lvfg);font-size:13px;font-weight:750;margin-top:auto}.lvf-fc-empty{padding:15px;background:#fff6dc;border-radius:10px}@media(max-width:600px){.lvf-fc-shell{padding:15px}.lvf-fc-card,.lvf-fc-card-inner{min-height:345px}.lvf-fc-face{padding:15px}.lvf-fc-rate-grid{gap:5px}.lvf-fc-rate button{font-size:12px!important}}
@media(prefers-reduced-motion:reduce){.lvf-fc-card-inner{transition:none}}

/* v0.9.0 Course Engine integration hardening */
.lvf-fc-root{clear:both;margin-top:clamp(24px,4vw,44px);margin-bottom:clamp(24px,4vw,44px)}
.lvf-fc-root button,.lvf-fc-root button:visited{font-family:inherit!important;text-decoration:none!important}
.lvf-fc-root .lvf-fc-tool:hover,.lvf-fc-root .lvf-fc-tool:focus-visible,
.lvf-fc-root .lvf-fc-nav button:hover,.lvf-fc-root .lvf-fc-nav button:focus-visible,
.lvf-fc-root .lvf-fc-rate button:hover:not(:disabled),.lvf-fc-root .lvf-fc-rate button:focus-visible:not(:disabled){
  background:#effaf3!important;color:#075b37!important;border-color:#118a51!important;box-shadow:none!important;
}
.lvf-fc-root .lvf-fc-nav .lvf-fc-primary,.lvf-fc-root .lvf-fc-nav .lvf-fc-primary:hover,.lvf-fc-root .lvf-fc-nav .lvf-fc-primary:focus-visible{
  background:#118a51!important;color:#fff!important;border-color:#118a51!important;
}
.lvf-fc-tool[aria-pressed="true"]{background:#e5f7ed!important;color:#075b37!important;border-color:#8bd0aa!important;box-shadow:inset 0 0 0 1px #8bd0aa!important}
.lvf-fc-image.is-square,.lvf-fc-image.is-portrait{object-fit:contain;max-height:220px;background:#f4faf6}
.lvf-fc-image.is-landscape{object-fit:cover;max-width:min(100%,360px);max-height:180px}
.lvf-fc-empty{padding:14px 16px;border:1px dashed #bfe2cd;border-radius:14px;background:#f8fcf9;color:#315a43}
@media(max-width:640px){
  .lvf-fc-shell{border-radius:18px;padding:16px;margin:1rem 0}
  .lvf-fc-top{align-items:flex-start}.lvf-fc-count{width:100%}
  .lvf-fc-tools{display:grid;grid-template-columns:1fr 1fr}.lvf-fc-tool{width:100%}
  .lvf-fc-card,.lvf-fc-card-inner{min-height:300px}.lvf-fc-face{padding:18px 14px;gap:12px}
  .lvf-fc-rate-grid{grid-template-columns:1fr 1fr}.lvf-fc-nav{display:grid;grid-template-columns:1fr 1fr}.lvf-fc-nav .lvf-fc-primary{grid-column:1/-1;grid-row:1}.lvf-fc-nav button{width:100%}
  .lvf-fc-image.is-square,.lvf-fc-image.is-portrait{max-height:175px}.lvf-fc-image.is-landscape{max-height:145px}
}


/* v0.9.1 — theme-proof flashcard typography and audio state */
.lvf-fc-root .lvf-fc-card,
.lvf-fc-root .lvf-fc-card:visited,
.lvf-fc-root .lvf-fc-card:hover,
.lvf-fc-root .lvf-fc-card:focus,
.lvf-fc-root .lvf-fc-card:focus-visible,
.lvf-fc-root .lvf-fc-card:active{
  color:#183529!important;
  -webkit-text-fill-color:currentColor;
  text-shadow:none!important;
}
.lvf-fc-root .lvf-fc-face{
  color:#183529!important;
  -webkit-text-fill-color:currentColor;
}
.lvf-fc-root .lvf-fc-label{
  color:#4b8c67!important;
  -webkit-text-fill-color:#4b8c67!important;
}
.lvf-fc-root .lvf-fc-word{
  color:#15233d!important;
  -webkit-text-fill-color:#15233d!important;
}
.lvf-fc-root .lvf-fc-def{
  color:#183529!important;
  -webkit-text-fill-color:#183529!important;
}
.lvf-fc-root .lvf-fc-detail{
  color:#476858!important;
  -webkit-text-fill-color:#476858!important;
}
.lvf-fc-root .lvf-fc-hint{
  color:#6e907c!important;
  -webkit-text-fill-color:#6e907c!important;
}
.lvf-fc-root .lvf-fc-tool.is-speaking{
  background:#e5f7ed!important;
  color:#075b37!important;
  border-color:#118a51!important;
  box-shadow:inset 0 0 0 1px #8bd0aa!important;
}
.lvf-fc-root .lvf-fc-tool.is-audio-error{
  background:#fff6f4!important;
  color:#9b352f!important;
  border-color:#e7b7b2!important;
}
.lvf-fc-audio-status{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* v1.0.4 — lesson-embedded flashcard density optimization */
@media (max-width: 680px) {
  .lvf-course-shell--lesson .lvf-fc-root {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .lvf-course-shell--lesson .lvf-fc-shell {
    width: 100% !important;
    max-width: none !important;
    margin: .85rem 0 !important;
    padding: 14px !important;
    border-radius: 15px !important;
  }

  .lvf-course-shell--lesson .lvf-fc-face {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .lvf-course-shell--lesson .lvf-fc-tools,
  .lvf-course-shell--lesson .lvf-fc-nav,
  .lvf-course-shell--lesson .lvf-fc-rate-grid {
    width: 100% !important;
  }
}

@media (max-width: 420px) {
  .lvf-course-shell--lesson .lvf-fc-shell {
    padding: 12px !important;
  }
}

/* v1.9.0 — JSON-native standalone flashcard decks + semantic study index */
.lvf-fc-native-intro,
.lvf-fc-vocabulary-index{
  max-width:850px;
  margin:1.5rem auto;
  padding:clamp(18px,4vw,32px);
  border:1px solid #dceee3;
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 38px #0a63320a;
}
.lvf-fc-native-intro h2,
.lvf-fc-vocabulary-index h2{margin:.15rem 0 .75rem!important;color:#102f24;font-size:clamp(24px,3.4vw,34px);line-height:1.2}
.lvf-fc-native-intro p,
.lvf-fc-vocabulary-index>p{font-size:16px;line-height:1.65;color:#506b5d}
.lvf-fc-native-intro__summary{font-size:18px!important;color:#274c3c!important}
.lvf-fc-native-intro__meta{font-size:13px!important;font-weight:750;color:#0b7545!important;margin-bottom:0!important}
.lvf-fc-deck-meta{font-weight:750;color:#527161!important}
.lvf-fc-vocabulary-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:1.25rem 0 0}
.lvf-fc-vocabulary-list__item{border:1px solid #dceee3;border-radius:14px;padding:14px;background:#f9fdfb}
.lvf-fc-vocabulary-list dt{font-size:17px;font-weight:800;color:#103b29;margin:0 0 5px}
.lvf-fc-vocabulary-list dt span{font-size:11px;font-weight:700;color:#6a8576;text-transform:uppercase;letter-spacing:.05em}
.lvf-fc-vocabulary-list dd{margin:0;color:#466456;line-height:1.5}
.lvf-fc-vocabulary-list dd small{display:block;margin-top:6px;color:#687f72;line-height:1.45}
@media(max-width:680px){.lvf-fc-vocabulary-list{grid-template-columns:1fr}.lvf-fc-native-intro,.lvf-fc-vocabulary-index{padding:18px;border-radius:16px}}

/* v1.9.1 — native standalone deck rail + visual vocabulary alignment */
.lvf-course-shell--flashcard-deck .lvf-flashcard-deck-page,
.lvf-course-shell--flashcard-deck .lvf-flashcard-deck-page__content{
  width:100%;max-width:none;margin:0;min-width:0;
}
.lvf-course-shell--flashcard-deck .lvf-fc-native-intro,
.lvf-course-shell--flashcard-deck .lvf-fc-vocabulary-index,
.lvf-course-shell--flashcard-deck .lvf-fc-root,
.lvf-course-shell--flashcard-deck .lvf-fc-shell{
  width:100%;max-width:none!important;
}
.lvf-course-shell--flashcard-deck .lvf-fc-native-intro{margin-top:0}
.lvf-fc-native-intro h1{margin:.15rem 0 .75rem!important;color:#102f24;font-size:clamp(28px,4vw,42px);line-height:1.15}
.lvf-course-shell--flashcard-deck .lvf-fc-vocabulary-word{font-weight:800}
.lvf-course-shell--flashcard-deck .lvf-fc-vocabulary-pos{font-size:11px;font-weight:700;color:#6a8576;text-transform:uppercase;letter-spacing:.05em}
.lvf-flashcard-deck-page__footer{margin:1.25rem 0 0;padding:1rem 0;border-top:1px solid #dceee3}
.lvf-flashcard-deck-page__footer a{font-weight:750;color:#0a7a42;text-decoration:none}
@media(max-width:680px){
  .lvf-course-shell--flashcard-deck .lvf-fc-native-intro,
  .lvf-course-shell--flashcard-deck .lvf-fc-vocabulary-index{margin:1rem 0}
}

/* v2.0.1 shared related links fit standalone JSON flashcard decks */
.lvf-flashcard-page .lvf-related-links,.lvf-flashcards .lvf-related-links{width:100%;box-sizing:border-box}

/* v2.0.6: independent deck vocabulary-list audio; no effects on interactive flashcards */
.lvf-fc-audio{margin:1rem 0 1.3rem;padding:16px;background:#f1faf5;border:1px solid #cbe7d5;border-radius:14px;color:#17412c}
.lvf-fc-audio__heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.lvf-fc-audio__heading span{font-size:12px;color:#587364}
.lvf-fc-audio__mode-label{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;font-weight:700}
.lvf-fc-audio__mode-label select{font:inherit;max-width:100%;padding:7px;border-radius:8px;border:1px solid #a9cfba;background:#fff;color:#173d2a}
.lvf-fc-audio__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.lvf-fc-audio__actions button{border:1px solid #0a7a42;border-radius:9px;padding:8px 13px;font:inherit;font-weight:700;background:#fff;color:#0a7a42;cursor:pointer}
.lvf-fc-audio__actions [data-lvf-fc-audio-play]{background:#0a7a42;color:#fff}
.lvf-fc-audio__actions button:disabled{opacity:.45;cursor:not-allowed}
.lvf-fc-audio__status{font-size:12px;margin:8px 0 0;min-height:1em;color:#406c53}
.lvf-fc-audio__single{margin-left:6px!important;border:1px solid #b6d9c3!important;background:#f1faf5!important;border-radius:50%!important;display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;padding:4px!important;font-size:15px!important;cursor:pointer;color:#0a7a42}
.lvf-fc-vocabulary-list__item.is-lvf-fc-speaking{background:#e5f7eb;outline:2px solid #0a7a42;outline-offset:1px}
.lvf-fc-audio button:focus-visible,.lvf-fc-audio__single:focus-visible{outline:3px solid #145c34;outline-offset:2px}
@media(max-width:680px){.lvf-fc-audio{padding:12px}.lvf-fc-audio__actions button{flex:1 1 auto}}

/* v2.0.7: optional independent deck story */
.lvf-fc-story{margin:1.5rem 0;padding:clamp(1rem,2.5vw,1.7rem);background:#fff;border:1px solid #d7e8dd;border-radius:18px;box-shadow:0 8px 24px rgba(20,62,34,.04)}
.lvf-fc-story h2{margin:.2rem 0 .85rem;color:#102d22}
.lvf-fc-story__toolbar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;margin-bottom:1rem}
.lvf-fc-story__toolbar p{margin:0;flex:1 1 240px;color:#556c60}
.lvf-fc-story__toolbar button{border:1px solid #9ccdaf;background:#eef9f1;color:#07683b;border-radius:9px;padding:.58rem .85rem;font-weight:750;cursor:pointer}
.lvf-fc-story__body{background:#f4faf6;padding:clamp(.9rem,2vw,1.3rem);border-radius:13px;line-height:1.85;font-size:1.04rem}
.lvf-fc-story__body p{margin:0 0 1rem}.lvf-fc-story__body p:last-child{margin-bottom:0}
.lvf-fc-story__word{display:inline;padding:0 .12em;border:0;border-bottom:2px solid #0a7a42;background:transparent;color:#07683b;font:inherit;font-weight:750;cursor:pointer;text-decoration:none}
.lvf-fc-story__word:focus-visible{outline:2px solid #0a7a42;outline-offset:3px}
