/* Student-only learning surfaces. Shared palette and controls live in app_theme.css. */
/* Same brand, quiet header, and the existing responsive navigation hierarchy. */
.student-theme .student-sidebar > div { border-color: var(--practice-line); background: #fff; box-shadow: none; }
.student-theme .student-sidebar :is(a, summary) { border-radius: 12px; }
.student-theme .student-sidebar :is(a, summary):hover { background: #f6f5ef; }
.student-theme .student-sidebar :is([aria-current="page"], summary.bg-blue-50) {
  background: var(--practice-peach); color: #8e431e;
}
.student-theme .student-sidebar [aria-current="page"] { box-shadow: inset 3px 0 0 var(--practice-accent); }
.student-theme .student-sidebar :is(a, summary) > svg { stroke-width: 1.65; }
.student-theme .student-sidebar [data-week-selector-target="list"] [aria-current="page"] { background: var(--practice-blue); color: var(--practice-ink); box-shadow: inset 3px 0 0 #729aae; }
.student-theme .student-sidebar summary > span.bg-blue-600 { background: var(--practice-peach); color: var(--practice-accent-strong); }
.student-preview { padding: 4px; background: var(--practice-paper); }

/* Weekly material uses the very same card and formats component as the landing. */
.student-theme .student-week-intro .practice-material { padding: clamp(24px, 3vw, 36px); }
.student-theme .student-week-intro .practice-topline { color: #426478; }
.student-theme .student-week-intro h1 { margin-top: 18px; max-width: 24ch; }
.student-theme .student-week-summary { margin-top: 16px; color: var(--practice-muted); font-size: 1rem; line-height: 1.7; max-width: 66ch; }
.student-theme .student-week-intro .practice-formats { margin: 24px 0 0; padding: 17px 0 0; border-bottom: 0; border-top: 1px solid #d5e0e5; }
.student-theme .student-week-intro .practice-formats a { min-height: 36px; }
.student-theme .student-material-tile { border-radius: var(--practice-radius); border-color: var(--practice-line); box-shadow: 0 6px 20px #20373204; }
.student-theme a.student-material-tile:hover { border-color: #dba575; box-shadow: 0 8px 24px #20373209; transform: none; }
.student-theme .student-material-tile > span:first-child { border-radius: 50%; background: var(--practice-blue); color: #426478; }
.student-theme .student-material-tile h2 { font-weight: 650; font-size: 1.125rem; }
.student-theme .student-material-tile[aria-disabled="true"] { background: #fafbf8; opacity: 1; border-style: dashed; }
.student-theme .student-material-tile[aria-disabled="true"] :is(h2, p, span) { color: var(--practice-muted); }
.student-theme .student-material-tile[aria-disabled="true"] > span:first-child { background: #f0f2ed; }
.student-theme [data-archive-topic-header] { margin-top: 0; padding: 8px 0 24px; }
.student-theme [data-archive-topic-header] h1 { margin-top: 14px; }

/* Exercise semantics, forms, answer checking and saved attempts stay unchanged. */
.student-theme [data-testid="activity-player"] { border-color: var(--practice-line); border-radius: var(--practice-radius); box-shadow: 0 10px 26px #20373207; }
.student-theme [data-testid="activity-player"] label:has(input[type="radio"]) { font-weight: 500; }
.student-theme [data-testid="activity-player"] label:has(input[type="radio"]:checked) { background: var(--practice-peach); }
.student-theme [data-testid="activity-player"] label:has(input[type="radio"]:focus-visible) { outline: 2px solid var(--practice-accent-strong); outline-offset: 3px; }
.student-theme :is([data-controller="de-het-exercise"], [data-controller="vocabulary-translation-exercise"], [data-controller="flashcards-exercise"], [data-controller="categorizing-exercise"]) { background: #fffaf5; border-color: #e7ddd1; border-radius: var(--practice-radius); }
.student-theme :is([data-de-het-exercise-target="word"], [data-flashcards-exercise-target="term"], [data-vocabulary-translation-exercise-target="word"], [data-categorizing-exercise-target="word"]) { font-family: Georgia, serif; font-weight: 400; letter-spacing: -.025em; overflow-wrap: anywhere; }
.student-theme table thead { background: #f5f7f2; }
.student-theme table th { font-weight: 650; }
.student-theme table td { padding-block: 20px; }
.student-theme table td:first-child { font-weight: 650; }

/* Model recording -> speak -> feedback, with no decorative/fake audio progress. */
.student-theme .student-pronunciation-card { padding: 28px; border-radius: var(--practice-radius); box-shadow: 0 10px 26px #20373207; }
.student-theme .student-practice-sentence { font-family: Georgia, serif; font-size: clamp(1.5rem, 2.4vw, 2rem); font-weight: 400; line-height: 1.3; }
.student-theme .student-pronunciation-card > div:first-child > span { background: var(--practice-peach); color: #8e431e; }
.student-theme [data-controller="speaking-audio"] { border-block: 1px solid var(--practice-line); padding-block: 14px 6px; }
.student-theme [data-speaking-audio-target="toggle"] { background: var(--practice-blue); color: #365c6f; border-radius: 999px; font-size: .9375rem; min-height: 48px; }
.student-theme [data-speaking-audio-target="toggle"]:hover { background: #dce9ef; }
.student-theme [data-speaking-audio-target="progress"] { accent-color: #729aae; }
.student-theme [data-controller="pronunciation-recorder"] { background: #fffaf5; border-color: #e7ddd1; border-radius: 16px; padding: 16px; }
.student-theme [data-pronunciation-recorder-target="start"] { background: var(--practice-accent-strong); color: white; border-color: transparent; }
.student-theme [data-pronunciation-recorder-target="start"]:hover { background: #a93f17; }
.student-theme .student-saved-attempt .practice-topline { align-items: flex-start; }
.student-theme .student-saved-attempt .practice-footnote { margin-top: 4px; }
.student-theme .student-saved-attempt .practice-feedback-example { min-height: 0; }
.student-theme .student-saved-attempt .practice-feedback-example > p { margin-top: 0; }
.student-theme .student-saved-attempt .practice-feedback-example strong { font-size: inherit; }
.student-theme .student-saved-attempt .practice-feedback-example section { border: 0; background: transparent; padding: 0; }
.student-theme .student-saved-attempt .practice-feedback-example section > div:first-child { border: 0; background: transparent; padding: 0; }

/* Conversation and timed transcript bubbles follow the sample's two soft tones. */
.student-theme [data-dialogue-speaker="2"] > :last-child { color: var(--practice-ink); background: #fff1e5; }
.student-theme [data-dialogue-speaker="2"] > :last-child > span:first-child { color: #8e431e; }
.student-theme [data-dialogue-speaker="1"] > span { background: var(--practice-blue); color: #426478; }
.student-theme [data-dialogue-speaker="2"] > span { background: var(--practice-peach); color: #8e431e; }
.student-theme [data-dialogue-follow-target="turn"][data-active="true"] > :last-child { box-shadow: 0 0 0 3px #d9743e; }
.student-theme [data-testid="student-message"] > div { background: #fff1e5; color: var(--practice-ink); border: 1px solid #edcdb6; }
.student-theme [data-testid="student-message"] .text-blue-100 { color: #8e431e; }
.student-theme [data-testid="timed-activity-source"] { border-radius: var(--practice-radius); }

/* Keep the calendar's controls/layout while giving its hero the pale lesson card. */
.student-theme #upcoming-lessons article { background: var(--practice-blue); color: var(--practice-ink); border: 1px solid #d9e4e9; box-shadow: none; }
.student-theme #upcoming-lessons article > [aria-hidden="true"] { display: none; }
.student-theme #upcoming-lessons article > .relative { min-height: 0; gap: 24px; }
.student-theme #upcoming-lessons article :is(.text-blue-100, .text-blue-200, .text-white) { color: var(--practice-ink); }
.student-theme #upcoming-lessons article :is(a, button, span).border { border-color: #c6d6de; }
.student-theme #upcoming-lessons article h2 { font-family: Georgia, serif; font-weight: 400; }
.student-theme .practice-booking-action { min-width: 44px; min-height: 44px; }
@media (min-width: 1024px) {
  .student-theme .student-sidebar > div { border-radius: var(--practice-radius); padding: 14px; }
  .student-theme .student-sidebar { position: sticky; top: 24px; }
}
@media (max-width: 639px) {
  .student-theme .student-pronunciation-card { padding: 20px; }
  .student-theme .student-saved-attempt { padding: 18px; }
  .student-theme .student-saved-attempt .practice-feedback-example section > .flex > span { display: none; }
  .student-theme [data-speaking-audio-target="toggle"] { gap: 8px; padding: 10px 12px; max-width: 100%; }
  .student-theme [data-speaking-audio-target="label"] { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  .student-theme *, .student-theme *::before, .student-theme *::after { scroll-behavior: auto; transition-duration: 0s; animation-duration: 0s; }
}
