.study {
  --paper: #f5f3ee;
  --ink: #222e2c;
  --muted: #536560;
  --accent: #176a61;
  box-sizing: border-box;
  background: var(--paper);
  color: var(--ink);
  max-width: 1000px;
  margin: 0 auto;
  padding: clamp(20px, 5vw, 64px);
  padding-bottom: calc(120px + env(safe-area-inset-bottom));
  font:
    17px/1.65 Arial,
    sans-serif;
  overflow-wrap: anywhere;
}
.study * {
  box-sizing: border-box;
}
.study h1,
.study h2,
.study h3 {
  font-family: Georgia, serif;
  font-weight: 400;
  line-height: 1.2;
}
.study h1 {
  font-size: clamp(36px, 6vw, 64px);
  margin: 24px 0;
}
.study h2 {
  font-size: 30px;
  margin: 26px 0 16px;
}
.study h3 {
  font-size: 23px;
}
.study p {
  margin: 12px 0;
}
.study section {
  margin: 30px 0;
}
.study a {
  color: var(--accent);
  text-underline-offset: 4px;
}
.study button,
.study input,
.study textarea,
.study select {
  font: inherit;
  max-width: 100%;
}
.study button,
.study select,
.study-import {
  min-height: 46px;
  padding: 10px 18px;
  border: 1px solid #899b95;
  background: #fffdfa;
  color: var(--ink);
  border-radius: 999px;
  box-shadow: 0 2px 12px color-mix(in srgb, #222e2c 10%, transparent);
}
.study button {
  cursor: pointer;
  text-align: left;
}
.study button:disabled {
  opacity: 0.5;
  cursor: default;
}
.study button:focus-visible,
.study a:focus-visible,
.study input:focus-visible,
.study select:focus-visible,
.study textarea:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 4px;
}
.study .study-primary {
  background: linear-gradient(to bottom, #1e7a70, var(--accent));
  color: white;
  border-color: color-mix(in srgb, var(--accent) 55%, #ffffff);
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / 35%),
    0 2px 12px color-mix(in srgb, #222e2c 12%, transparent);
}
.study-header,
.study-actions {
  display: flex;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
}
.study-header {
  justify-content: space-between;
}
.study label {
  display: block;
  margin: 10px 0;
}
.study label select,
.study label input {
  display: block;
  margin-top: 6px;
}
.study textarea,
.study input:not([type="radio"]):not([type="file"]) {
  display: block;
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #899b95;
  border-radius: 14px;
  background: #fffdfa;
  color: var(--ink);
}
.study-tabs {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  border-block: 1px solid #a8b4ad;
  padding: 16px 0;
  margin: 28px 0;
}
.study-tabs button {
  border: 0;
}
.study-tabs button[aria-current="page"] {
  background: #dfebe4;
}
.study-eyebrow {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.13em;
  color: var(--muted);
}
.study-lede {
  max-width: 560px;
  font-size: 21px;
}
.course-banner {
  width: 100%;
  max-width: 960px;
  height: auto;
  border-radius: 8px;
}
.study-scope {
  font-size: 14px;
  color: var(--muted);
}
.study-listen-first {
  padding: 12px 16px;
  margin: 12px 0;
  border: 1px solid rgb(255 255 255 / 55%);
  border-left: 4px solid var(--accent, #2e7d5b);
  background: color-mix(in srgb, #eef4ef 82%, transparent);
  -webkit-backdrop-filter: blur(22px) saturate(1.8);
  backdrop-filter: blur(22px) saturate(1.8);
  border-radius: 0 20px 20px 0;
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / 65%),
    0 2px 12px color-mix(in srgb, #222e2c 12%, transparent);
}
.study-listen-first p {
  margin: 0 0 8px;
}
.study-listen-first p:last-child {
  margin-bottom: 0;
}
.study-listen-first audio {
  width: 100%;
  max-width: 420px;
}
.study-think-gate {
  padding: 12px 16px;
  margin: 12px 0;
  border: 1px dashed var(--accent, #2e7d5b);
  border-radius: 20px;
  background: color-mix(in srgb, #f4f8f4 82%, transparent);
  -webkit-backdrop-filter: blur(22px) saturate(1.8);
  backdrop-filter: blur(22px) saturate(1.8);
}
.study-think-gate p {
  margin: 0 0 8px;
}
.study-daily {
  display: flex;
  gap: 24px;
  justify-content: space-between;
  align-items: center;
  padding: 24px;
  background: color-mix(in srgb, #e5ece5 82%, transparent);
  -webkit-backdrop-filter: blur(22px) saturate(1.8);
  backdrop-filter: blur(22px) saturate(1.8);
  border: 1px solid rgb(255 255 255 / 55%);
  border-radius: 20px;
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / 65%),
    0 2px 12px color-mix(in srgb, #222e2c 12%, transparent);
}
.study-lessons {
  padding: 0;
  list-style: none;
}
.study-lessons li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #c2cbc5;
  gap: 12px;
  padding: 8px 0;
}
.study-path {
  margin: 40px 0;
  padding: clamp(18px, 4vw, 30px);
  border: 1px solid #c2cbc5;
  border-radius: 20px;
  background: #fffdfa;
}
.study-path-heading {
  display: flex;
  gap: 24px;
  justify-content: space-between;
  align-items: end;
  flex-wrap: wrap;
}
.study-path-heading h2 { margin: 4px 0; }
.study-path-progress { min-width: 180px; display: grid; gap: 2px; color: var(--muted); font-size: 13px; }
.study-path-progress strong { color: var(--ink); font-size: 18px; }
.study-path-progress progress { width: 100%; accent-color: var(--accent); }
.study-path-unit { margin: 26px 0 0 !important; }
.study-path-unit h3 { margin: 0; }
.study-path-unit > p { color: var(--muted); font-size: 14px; }
.study-path .study-lessons li { min-height: 62px; }
.study-path-number { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: #dce8e1; color: var(--accent); font-weight: bold; }
.study-path .study-lessons li.is-next { border-left: 3px solid var(--accent); padding-left: 10px; background: #eff5f1; }
.study-path .study-lessons li.is-complete .study-path-number { background: var(--accent); color: #fff; }
.study-path .study-lessons li.is-locked { opacity: .72; }
.study-lessons button {
  border: 0;
  flex: 1;
}
.study-lessons span {
  font-size: 13px;
  color: var(--muted);
  white-space: nowrap;
}
@media (max-width: 520px) {
  .study-path .study-lessons li { align-items: flex-start; flex-wrap: wrap; }
  .study-path .study-lessons li > span:last-child { width: calc(100% - 40px); margin-left: 40px; white-space: normal; }
}
.study-example {
  padding: 12px 20px;
  border-left: 3px solid var(--accent);
  margin: 16px 0;
}
.study-example p:first-child {
  font-size: 23px;
}
.study dl > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  border-bottom: 1px solid #c2cbc5;
  padding: 8px 0;
}
.study dd {
  margin: 0;
}
.study-feedback {
  padding: 20px 24px;
  margin: 24px 0;
  background: color-mix(in srgb, #e5ece5 82%, transparent);
  -webkit-backdrop-filter: blur(22px) saturate(1.8);
  backdrop-filter: blur(22px) saturate(1.8);
  border: 1px solid rgb(255 255 255 / 55%);
  border-radius: 20px;
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / 65%),
    0 2px 12px color-mix(in srgb, #222e2c 12%, transparent);
}
.study-feedback strong {
  text-transform: capitalize;
}
.study .word-bank {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 16px 0;
}
.study audio {
  width: 100%;
  max-width: 100%;
  margin: 16px 0;
}
.study blockquote {
  font-size: 22px;
  border-left: 3px solid var(--accent);
  padding-left: 20px;
  margin: 20px 0;
}
.study-vocabulary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 20px;
}
.study-vocabulary article,
.study-grammar {
  border-bottom: 1px solid #b4c0b9;
  padding: 16px 0;
}
.study-storage {
  border-top: 1px solid #a8b4ad;
  margin-top: 54px;
  padding-top: 22px;
}
.study-import input {
  max-width: 220px;
  font-size: 12px;
}
.study details {
  margin: 18px 0;
}
.study summary {
  cursor: pointer;
  min-height: 44px;
}
.study [role="alert"] {
  border-left: 3px solid #9a342e;
  padding: 16px;
}
.study fieldset {
  border: 1px solid #899b95;
}
.study input[type="radio"] {
  margin-right: 12px;
}
@media (max-width: 600px) {
  .study {
    padding: 20px;
    padding-bottom: 120px;
  }
  .study-header {
    align-items: flex-start;
  }
  .study-header label {
    max-width: 190px;
  }
  .study-daily {
    display: block;
    padding: 18px;
  }
  .study-tabs {
    gap: 2px;
  }
  .study-tabs button {
    padding: 8px 11px;
  }
  .study h2 {
    font-size: 27px;
  }
  .study .study-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .study dl > div {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .study-lessons span {
    font-size: 11px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .study * {
    scroll-behavior: auto;
    transition: none;
    animation: none;
  }
}
body:has(#study-root) {
  margin: 0;
  background: #f5f3ee;
}

@media (max-width: 600px) {
  .study-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .study-tabs button {
    text-align: center;
  }
}

.study .gloss-word {
  border: 0;
  border-bottom: 1px dotted var(--accent);
  padding: 0;
  min-height: 44px;
  font: inherit;
  color: var(--accent);
  display: inline;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}

/* Activity forms are different tools: choices, movable words, a sentence gap,
   and a reading passage. Keep the surrounding Quiet Ink canvas restrained. */
.study-download {
  scroll-margin-top: 24px;
  border: 1px solid rgb(255 255 255 / 55%);
  border-left: 5px solid var(--accent);
  padding: 20px 24px;
  background: color-mix(in srgb, #edf3ef 85%, transparent);
  -webkit-backdrop-filter: blur(22px) saturate(1.8);
  backdrop-filter: blur(22px) saturate(1.8);
  border-radius: 0 20px 20px 0;
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / 65%),
    0 2px 12px color-mix(in srgb, #222e2c 12%, transparent);
}
.study .study-download h2 { font-size: 24px; margin-top: 0; }
.study-download-heading { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.study-download-heading p { max-width: 55ch; }
.study-download-state { font-size: 14px; color: var(--accent); }
.study-download details { font-size: 15px; margin-bottom: 0; }
.study-download li { margin-bottom: 8px; }
.study-session-progress { display: flex; align-items: center; gap: 18px; font-size: 14px; }
.study-session-progress progress { flex: 1; min-width: 60px; height: 8px; accent-color: var(--accent); }
.study .practice-panel { border-top: 3px solid var(--accent); padding-top: 12px; }
.study .practice-panel h2 { max-width: 32ch; }
.study .practice-panel fieldset { border: 0; padding: 0; }
.study .study-choice { display: flex; align-items: center; gap: 12px; padding: 16px 18px; border: 1px solid #899b95; border-radius: 16px; background: #fffdfa; cursor: pointer; box-shadow: 0 2px 12px color-mix(in srgb, #222e2c 10%, transparent); }
.study .study-choice:has(:checked) { border-color: var(--accent); background: #dfebe4; box-shadow: inset 4px 0 var(--accent); }
.study .study-choice input { margin: 0; accent-color: var(--accent); }
.study .sentence-workbench { display: flex; flex-wrap: wrap; gap: 8px; padding: 20px; min-height: 90px; background: color-mix(in srgb, #e7eef4 82%, transparent); -webkit-backdrop-filter: blur(22px) saturate(1.8); backdrop-filter: blur(22px) saturate(1.8); border: 1px solid rgb(255 255 255 / 55%); border-bottom: 2px solid #426886; border-radius: 20px; }
.study .sentence-workbench button { background: #fffdfa; border-color: #426886; }
.study .word-bank button { border-radius: 24px; background: #fffdfa; padding-inline: 18px; }
.study-cloze-sentence { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; padding: 20px 24px; font: 28px/1.6 Georgia, serif; background: color-mix(in srgb, #f4ecdc 85%, transparent); -webkit-backdrop-filter: blur(22px) saturate(1.8); backdrop-filter: blur(22px) saturate(1.8); border: 1px solid rgb(255 255 255 / 55%); border-radius: 20px; box-shadow: inset 0 1px 0 rgb(255 255 255 / 65%), 0 2px 12px color-mix(in srgb, #222e2c 12%, transparent); }
.study .study-cloze-sentence input { display: inline-block; width: 8ch; min-width: 100px; flex: 0 1 180px; border: 0; border-bottom: 2px solid #805c29; border-radius: 0; padding: 6px; }
.study .activity-reading blockquote { background: #fffdfa; padding: 24px; line-height: 1.8; }
@media (max-width: 600px) {
  .study-download { padding: 16px; }
  .study .study-download h2 { font-size: 23px; }
  .study-cloze-sentence { padding: 14px; font-size: 24px; }
}

.lesson-player{--lp-paper: #f5f3ee;--lp-ink: #222e2c;--lp-muted: #536560;--lp-accent: #176a61;--lp-accent-soft: #e3efec;--lp-border: #d8d4c8;--lp-surface: #fffdfa;--lp-warn: #8f4b3a;color:var(--lp-ink);background:var(--lp-paper);font:16px/1.6 system-ui,Segoe UI,sans-serif;max-width:60rem;margin:0 auto;padding:1.25rem 1.25rem 2rem;border-radius:12px}.lesson-player *,.lesson-player *:before,.lesson-player *:after{box-sizing:border-box}.lesson-player h2,.lesson-player h3{font-family:Georgia,Times New Roman,serif;font-weight:600;line-height:1.25;margin:0}.lesson-player h2{font-size:1.6rem}.lesson-player h3{font-size:1.2rem}.lp-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:.75rem 1rem;margin-bottom:.75rem}.lp-back{font:inherit;color:var(--lp-accent);background:none;border:none;padding:.25rem 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.lp-progress-track{flex-basis:100%;display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.lp-progress{flex:1;height:8px;accent-color:var(--lp-accent)}.lp-count{font-size:.85rem;color:var(--lp-muted);white-space:nowrap}.lp-purpose{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:600;color:var(--lp-muted);margin:.75rem 0 .15rem}.lp-title{margin:.15rem 0 .75rem}.lp-prompt{margin:.9rem 0 .6rem}.lp-notice{margin:.6rem 0;padding:.55rem .8rem;border-radius:8px;font-size:.9rem}.lp-notice[data-tone=warn]{background:#f7ece7;border:1px solid #e5c9bf;color:var(--lp-warn)}.lp-notice[data-tone=info]{background:var(--lp-accent-soft);border:1px solid #c3d9d3;color:var(--lp-ink)}.lp-error{margin:.6rem 0;padding:.55rem .8rem;border-radius:8px;background:#f7ece7;border:1px solid #e5c9bf;color:var(--lp-warn)}.lp-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:1.25rem;align-items:start;margin-top:.5rem}@media(max-width:760px){.lp-layout{grid-template-columns:minmax(0,1fr)}}.lp-objective,.lp-goal{grid-column:1 / -1;margin:0;padding:.5rem .8rem;border-radius:8px;background:var(--lp-accent-soft);color:var(--lp-ink);font-size:.92rem}.lp-goal{background:var(--lp-ink);color:var(--lp-paper)}.lp-context{border:1px solid var(--lp-border);border-radius:10px;background:var(--lp-surface);padding:.65rem .85rem}.lp-context>summary{cursor:pointer;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--lp-muted)}.lp-context[open]>summary{margin-bottom:.5rem}.lp-story-text{font-family:Georgia,Times New Roman,serif;font-size:1.02rem;margin:.25rem 0 0}.lp-translation{margin:.6rem 0 0;font-size:.92rem;color:var(--lp-muted);font-style:italic}.lp-transcript{margin:.25rem 0 0;font-family:Georgia,Times New Roman,serif;font-size:.95rem;border-left:3px solid var(--lp-accent);padding:.35rem .6rem;background:var(--lp-surface);border-radius:0 8px 8px 0}.lp-gloss{font:inherit;font-family:inherit;padding:0 .1rem;background:none;border:none;border-bottom:2px dotted var(--lp-accent);color:var(--lp-accent);cursor:pointer}.lp-glosses{margin:.6rem 0 0;padding:0;list-style:none;font-size:.9rem;color:var(--lp-muted)}.lp-glosses li{margin-top:.2rem}.lp-thread{margin:.25rem 0 0;padding:0;list-style:none}.lp-turn{margin-bottom:.55rem}.lp-speaker{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--lp-accent)}.lp-turn-text{margin:.1rem 0 0;font-family:Georgia,Times New Roman,serif}.lp-turn-meaning{margin:.15rem 0 0;font-size:.88rem;color:var(--lp-muted);font-style:italic}.lp-audio{width:100%;margin-top:.35rem}.lp-scene{width:100%;border-radius:8px;border:1px solid var(--lp-border);margin-top:.35rem}.lp-scene-alt{margin:.4rem 0 0;font-size:.88rem;color:var(--lp-muted)}.lp-examples{margin:.25rem 0 0}.lp-examples dt{font-family:Georgia,Times New Roman,serif;font-weight:600}.lp-examples dd{margin:.05rem 0 .5rem;color:var(--lp-muted)}.lp-activity{min-width:0}.lp-info-body{font-family:Georgia,Times New Roman,serif;font-size:1.02rem}.lp-fieldset{border:none;margin:0;padding:0;min-width:0}.lp-legend{padding:0;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--lp-muted);margin-bottom:.5rem}.lp-options,.lp-replies{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}.lp-option{display:flex;align-items:baseline;gap:.55rem;padding:.55rem .75rem;background:var(--lp-surface);border:1px solid var(--lp-border);border-radius:8px;cursor:pointer}.lp-option:hover{border-color:var(--lp-accent)}.lp-option:has(input:checked){border-color:var(--lp-accent);background:var(--lp-accent-soft)}.lp-option input{accent-color:var(--lp-accent);margin:0}.lp-ordering{display:grid;gap:.75rem}.lp-placed,.lp-bank{margin:0;padding:.6rem .75rem;list-style:none;border:1px dashed var(--lp-border);border-radius:8px;background:var(--lp-surface);min-height:2.6rem;display:grid;gap:.5rem}.lp-placed:empty:after,.lp-bank:empty:after{content:"Empty";color:var(--lp-muted);font-size:.85rem;font-style:italic}.lp-token{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem .6rem;background:var(--lp-paper);border:1px solid var(--lp-border);border-radius:8px}.lp-token-text{font-family:Georgia,Times New Roman,serif}.lp-token-actions{display:flex;gap:.35rem;flex-wrap:wrap}.lp-matching{display:grid;gap:.75rem}.lp-match-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.75rem}@media(max-width:480px){.lp-match-columns{grid-template-columns:minmax(0,1fr)}}.lp-match-left,.lp-match-right{margin:0;padding:0;list-style:none;display:grid;gap:.5rem;align-content:start}.lp-match-item{width:100%;text-align:left;font:inherit;padding:.5rem .7rem;background:var(--lp-surface);border:1px solid var(--lp-border);border-radius:8px;cursor:pointer}.lp-match-item[aria-pressed=true]{border-color:var(--lp-accent);background:var(--lp-accent-soft)}.lp-match-item:disabled{cursor:default;color:var(--lp-muted)}.lp-pairs{margin:0;padding:0;list-style:none;display:grid;gap:.4rem}.lp-pair{display:flex;align-items:baseline;gap:.5rem;font-size:.92rem}.lp-unpair{font:inherit;font-size:.8rem;color:var(--lp-warn);background:none;border:none;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.lp-cloze{font-family:Georgia,Times New Roman,serif;font-size:1.02rem;line-height:2.1}.lp-blank{font:.95rem system-ui,Segoe UI,sans-serif;padding:.15rem .4rem;border:none;border-bottom:2px solid var(--lp-accent);background:var(--lp-accent-soft);border-radius:4px 4px 0 0;min-width:6rem}.lp-blank:disabled{border-bottom-color:var(--lp-border);background:var(--lp-paper);color:var(--lp-ink)}.lp-text-response{display:grid;gap:.5rem}.lp-textarea{font:inherit;width:100%;min-height:6rem;padding:.6rem .7rem;border:1px solid var(--lp-border);border-radius:8px;background:var(--lp-surface);color:var(--lp-ink);resize:vertical}.lp-textarea:disabled{background:var(--lp-paper);color:var(--lp-ink)}.lp-unsupported{margin:.5rem 0;padding:.55rem .8rem;border:1px dashed var(--lp-border);border-radius:8px;color:var(--lp-muted);font-style:italic;background:var(--lp-surface)}.lp-assist{display:flex;flex-wrap:wrap;gap:.5rem;align-items:baseline;margin-top:.75rem}.lp-assist-reveal{margin:.25rem 0 0;flex-basis:100%;padding:.45rem .7rem;border-left:3px solid var(--lp-accent);background:var(--lp-surface);border-radius:0 8px 8px 0;font-size:.92rem}.lp-help{margin-top:.75rem}.lp-feedback{margin:.85rem 0 0;padding:.65rem .85rem;border-radius:10px;background:var(--lp-surface);border:1px solid var(--lp-border)}.lp-feedback[data-outcome=correct]{border-color:var(--lp-accent);background:var(--lp-accent-soft)}.lp-feedback[data-outcome=incorrect]{border-color:#e5c9bf;background:#f7ece7}.lp-feedback-outcome{font-weight:600;margin:0 0 .15rem}.lp-feedback-body{margin:0}.lp-independence{display:block;margin-top:.35rem;font-size:.85rem;color:var(--lp-muted)}.lp-assist-notice{margin:.85rem 0 0;padding:.6rem .85rem;border-radius:10px;background:var(--lp-surface);border:1px solid var(--lp-border);border-left:3px solid var(--lp-accent);font-size:.9rem;color:var(--lp-muted)}.lp-controls{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-top:1rem}button.lp-primary{font:inherit;font-weight:600;padding:.55rem 1.3rem;border-radius:999px;border:1px solid var(--lp-accent);background:var(--lp-accent);color:#fff;cursor:pointer}button.lp-primary:disabled{border-color:var(--lp-border);background:var(--lp-border);color:var(--lp-muted);cursor:not-allowed}button.lp-secondary{font:inherit;padding:.45rem .9rem;border-radius:999px;border:1px solid var(--lp-border);background:var(--lp-surface);color:var(--lp-ink);cursor:pointer}button.lp-secondary:hover:not(:disabled){border-color:var(--lp-accent)}button.lp-secondary:disabled{color:var(--lp-muted);cursor:not-allowed}.lp-complete{text-align:center;padding:2rem 1rem}.lp-complete-title{font-size:1.8rem}.lp-complete-body{color:var(--lp-muted);max-width:28rem;margin:.5rem auto 1.25rem}.lesson-player :focus-visible{outline:3px solid var(--lp-accent);outline-offset:2px}.lesson-player .visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.lp-hint{font-size:.85rem;opacity:.8}.lp-hint-text{margin:.5rem 0 0;padding:.5rem .75rem;border-radius:.5rem;background:var(--lp-surface, #f0f0f0);color:var(--lp-text, #333);font-size:.9rem;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.lesson-player *,.lesson-player *:before,.lesson-player *:after{transition:none!important;animation:none!important}}
