/* Task-first lesson and practice surfaces. Public collage styles stay separate. */
:is(.lesson-workspace,.practice-workspace) { --study-ink:var(--cabinet-ink);--study-secondary:var(--cabinet-muted);--study-line:var(--cabinet-line);--study-accent:var(--cabinet-accent);--study-accent-soft:var(--cabinet-accent-soft);--study-green:var(--cabinet-green);--study-green-soft:var(--cabinet-green-soft);--study-amber:var(--cabinet-ochre);--study-amber-soft:var(--cabinet-ochre-soft);color:var(--study-ink);font:16px/1.6 Manrope,sans-serif; }
:is(.lesson-workspace,.practice-workspace) *, :is(.lesson-workspace,.practice-workspace) *::before, :is(.lesson-workspace,.practice-workspace) *::after { box-sizing:border-box; }
:is(.lesson-workspace,.practice-workspace) :is(h1,h2,h3,h4,p) { font-family:inherit; font-style:normal; text-transform:none; letter-spacing:normal; }
:is(.lesson-workspace,.practice-workspace) :is(h1,h2,h3,h4) { color:var(--study-ink);font-weight:750; }
:is(.lesson-workspace,.practice-workspace) .study-no-wrap { white-space:nowrap; }
:is(.lesson-workspace,.practice-workspace) button { font-family:inherit; }
:is(.lesson-workspace,.practice-workspace) ::selection { color:var(--study-ink);background:var(--cabinet-selection); }
:is(.lesson-workspace,.practice-workspace) :is(button,a,input):focus-visible { outline:3px solid var(--cabinet-focus);outline-offset:3px; }
:is(.lesson-workspace,.practice-workspace) .icon { width:20px;height:20px;flex-shrink:0; }
:is(.lesson-workspace,.practice-workspace) .study-back { display:inline-flex;align-items:center;gap:9px;color:var(--study-accent);font-size:15px;font-weight:650;text-decoration:none;margin-bottom:20px; }
:is(.lesson-workspace,.practice-workspace) .study-back .icon { transform:rotate(180deg); }
:is(.lesson-workspace,.practice-workspace) .study-back:hover { text-decoration:underline;text-underline-offset:4px; }
:is(.lesson-workspace,.practice-workspace) .study-heading { margin:0 0 28px; }
:is(.lesson-workspace,.practice-workspace) .study-heading h1 { font-size:30px;line-height:1.3;margin:0 0 10px; }
:is(.lesson-workspace,.practice-workspace) .study-heading p { margin:0;color:var(--study-secondary);font-size:16px;max-width:68ch; }
.lesson-workspace .study-layout { display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:24px;align-items:start; }
.lesson-workspace .study-reader { background:#fff;border:1px solid var(--study-line);border-radius:14px;overflow:hidden; }
.lesson-workspace .study-tabs { display:flex;border-bottom:1px solid var(--study-line);padding:0 24px;gap:22px; }
.lesson-workspace .study-tabs button { display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-bottom:3px solid transparent;border-radius:0;color:var(--study-secondary);background:transparent;min-height:66px;padding:12px 0 9px;font-size:16px;font-weight:700;cursor:pointer; }
.lesson-workspace .study-tabs button:hover { color:var(--study-accent); }
.lesson-workspace .study-tabs .is-active { color:var(--study-accent);border-bottom-color:var(--study-accent); }
.lesson-workspace .study-tabs button span { border-radius:5px;padding:1px 5px;background:var(--cabinet-neutral);font-size:13px;color:var(--study-secondary); }
.lesson-workspace .study-reading { padding:28px 30px 32px; }
.lesson-workspace .study-reading h2 { font-size:21px;line-height:1.45;margin:0 0 12px; }
.lesson-workspace .study-reading section + section { margin-top:34px; }
.lesson-workspace .study-reading p { font-size:17px;line-height:1.75;margin:0 0 18px;max-width:67ch; }
.lesson-workspace .study-reading p:last-child { margin-bottom:0; }
.lesson-workspace .study-example { padding:20px 22px;background:var(--study-accent-soft);border-radius:10px; }
.lesson-workspace .study-example p:first-child { font-size:20px;color:var(--study-accent);line-height:1.6;margin-bottom:12px; }
.lesson-workspace .study-example p:last-child { color:var(--study-secondary);font-size:16px; }
.lesson-workspace .study-algorithm { list-style:none;padding:0;margin:22px 0 0;counter-reset:algorithm; }
.lesson-workspace .study-algorithm li { position:relative;padding:0 0 23px 45px;counter-increment:algorithm; }
.lesson-workspace .study-algorithm li:last-child { padding-bottom:0; }
.lesson-workspace .study-algorithm li::before { content:counter(algorithm);position:absolute;left:0;top:0;display:grid;place-items:center;width:29px;height:29px;color:var(--study-accent);background:var(--study-accent-soft);border-radius:7px;font-size:15px;font-weight:750; }
.lesson-workspace .study-algorithm strong { display:block;font-size:18px;line-height:1.5;margin-bottom:5px; }
.lesson-workspace .study-algorithm p { color:var(--study-secondary);font-size:16px; }
.lesson-workspace .study-next { padding:24px 30px;border-top:1px solid var(--study-line);display:flex;align-items:center;flex-wrap:wrap;gap:18px;background:var(--cabinet-canvas); }
.lesson-workspace .study-next > div { flex:1 1 210px; }
.lesson-workspace .study-next strong { font-size:18px; }
.lesson-workspace .study-next p { font-size:15px;margin:5px 0 0;color:var(--study-secondary); }
:is(.lesson-workspace,.practice-workspace) .study-button { display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:11px 17px;border:1px solid var(--study-accent);border-radius:8px;background:var(--study-accent);color:#fff;font-size:15px;font-weight:700;line-height:1.4;text-decoration:none;cursor:pointer;transition:background-color 150ms; }
:is(.lesson-workspace,.practice-workspace) .study-button:hover { background:var(--cabinet-accent-hover);border-color:var(--cabinet-accent-hover); }
:is(.lesson-workspace,.practice-workspace) .study-button:disabled { background:var(--cabinet-neutral);border-color:var(--cabinet-neutral);color:var(--study-secondary);cursor:default; }
:is(.lesson-workspace,.practice-workspace) .study-button-secondary { background:#fff;color:var(--study-accent);border-color:var(--cabinet-control-line); }
:is(.lesson-workspace,.practice-workspace) .study-button-secondary:hover { background:var(--study-accent-soft);color:var(--study-accent);border-color:var(--study-accent); }
.lesson-workspace .study-progress-panel { padding:22px;background:#fff;border:1px solid var(--study-line);border-radius:14px; }
.lesson-workspace .study-progress-panel h2 { font-size:18px;margin:0 0 20px;line-height:1.4; }
.lesson-workspace .study-progress-panel > p { margin:15px 0 20px;font-size:14px;line-height:1.7;color:var(--study-secondary); }
.lesson-workspace .study-progress-panel .study-button { width:100%; }
:is(.lesson-workspace,.practice-workspace) .study-progress > div { display:flex;align-items:baseline;gap:9px;margin-bottom:11px;flex-wrap:wrap; }
:is(.lesson-workspace,.practice-workspace) .study-progress strong { font-size:24px;line-height:1.2;font-weight:800; font-variant-numeric:tabular-nums; }
:is(.lesson-workspace,.practice-workspace) .study-progress span { color:var(--study-secondary);font-size:13px; }
:is(.lesson-workspace,.practice-workspace) .study-progress progress { display:block;width:100%;height:12px;border:0;border-radius:4px;overflow:hidden;background:var(--cabinet-line);accent-color:var(--study-green); }
:is(.lesson-workspace,.practice-workspace) .study-progress progress::-webkit-progress-bar { background:var(--cabinet-line);border-radius:4px; }
:is(.lesson-workspace,.practice-workspace) .study-progress progress::-webkit-progress-value { background:var(--study-green);border-radius:4px; }
:is(.lesson-workspace,.practice-workspace) .study-progress progress::-moz-progress-bar { background:var(--study-green);border-radius:4px; }
.lesson-workspace .study-material-note { display:flex;gap:10px;margin-top:20px;padding:0 4px;color:var(--study-secondary); }
.lesson-workspace .study-material-note .icon { margin-top:3px; }
.lesson-workspace .study-material-note p { margin:0;font-size:13px;line-height:1.7; }
.practice-workspace .practice-layout { display:grid;grid-template-columns:236px minmax(0,1fr);gap:24px;align-items:start; }
.practice-workspace .practice-navigator { background:#fff;border:1px solid var(--study-line);border-radius:14px;overflow:hidden; }
.practice-workspace .practice-navigator-top { padding:22px 20px;border-bottom:1px solid var(--study-line); }
.practice-workspace .practice-navigator-top h2 { font-size:18px;margin:0 0 20px; }
.practice-workspace .practice-question-list { list-style:none;padding:8px;margin:0; }
.practice-workspace .practice-question-link { width:100%;min-height:73px;padding:12px 10px;display:flex;align-items:center;gap:10px;text-align:left;border:1px solid transparent;border-radius:8px;background:#fff;color:var(--study-ink);cursor:pointer; }
.practice-workspace .practice-question-link:hover { background:var(--cabinet-hover); }
.practice-workspace .practice-question-link.is-current { background:var(--study-accent-soft);border-color:var(--cabinet-focus); }
.practice-workspace .practice-question-number { display:grid;place-items:center;flex:0 0 30px;height:30px;border:1px solid var(--cabinet-control-line);border-radius:7px;font-size:15px;font-weight:750; }
.practice-workspace .is-current .practice-question-number { background:var(--study-accent);border-color:var(--study-accent);color:#fff; }
.practice-workspace .practice-question-copy { flex:1;min-width:0; }
.practice-workspace .practice-question-copy strong { display:block;font-size:14px;line-height:1.5;font-weight:650; }
.practice-workspace .practice-question-copy small { display:block;color:var(--study-secondary);font-size:12px;line-height:1.5;margin-top:2px; }
.practice-workspace .practice-question-link.is-correct .icon,.practice-workspace .practice-question-link.is-correct small { color:var(--study-green); }
.practice-workspace .practice-question-link.needs-retry .icon,.practice-workspace .practice-question-link.needs-retry small { color:var(--study-amber); }
.practice-workspace .practice-question-link .icon { width:17px;height:17px; }
:is(.lesson-workspace,.practice-workspace) .study-help-link { display:inline-flex;align-items:center;gap:8px;color:var(--study-accent);background:transparent;border:0;padding:10px 0;min-height:44px;font-size:14px;font-weight:650;text-decoration:underline;text-underline-offset:4px;cursor:pointer; }
.practice-workspace .practice-navigator > .study-help-link { display:flex;margin:4px 20px 16px; }
.practice-workspace .practice-task { background:#fff;border:1px solid var(--study-line);border-radius:14px;overflow:hidden; }
.practice-workspace .practice-task-heading { display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 28px;border-bottom:1px solid var(--study-line); }
.practice-workspace .practice-task-heading div > span { color:var(--study-secondary);font-size:14px; }
.practice-workspace .practice-task-heading h2 { font-size:21px;line-height:1.4;margin:5px 0 0; }
.practice-workspace .study-status { display:inline-flex;align-items:center;gap:6px;padding:5px 8px;font-size:12px;font-weight:700;line-height:1.5;border-radius:5px;white-space:nowrap;color:var(--study-secondary);background:var(--cabinet-neutral); }
.practice-workspace .study-status.is-correct { color:var(--study-green);background:var(--study-green-soft); }
.practice-workspace .study-status.needs-retry { color:var(--study-amber);background:var(--study-amber-soft); }
.practice-workspace .study-status .icon { height:15px;width:15px; }
.practice-workspace .practice-answer-form { padding:30px 28px; }
.practice-workspace .practice-sentence { font-size:25px;line-height:1.65;font-weight:550;margin:0 0 25px; }
.practice-workspace .practice-blank { color:var(--study-accent);white-space:nowrap; }
.practice-workspace .practice-base-word { display:flex;align-items:center;gap:14px;margin-bottom:28px; }
.practice-workspace .practice-base-word > span { font-size:14px;color:var(--study-secondary); }
.practice-workspace .practice-base-word strong { color:var(--study-ink);font-size:17px;letter-spacing:.02em;padding:6px 12px;border:1px solid var(--study-line);border-radius:6px; }
.practice-workspace .practice-answer-form > label { display:block;font-size:16px;font-weight:700;margin-bottom:9px;color:var(--study-ink); }
.practice-workspace .practice-answer-control { display:flex;gap:10px;align-items:stretch; }
.practice-workspace .practice-answer-control input { width:100%;min-width:0;flex:1;min-height:48px;padding:12px 14px;color:var(--study-ink);background:#fff;border:1px solid var(--cabinet-control-line);border-radius:8px;font:17px/1.5 Manrope,sans-serif;caret-color:var(--study-accent); }
.practice-workspace .practice-answer-control input::placeholder { color:var(--study-secondary);opacity:1; }
.practice-workspace .practice-answer-control .study-button { flex-shrink:0; }
.practice-workspace .practice-answer-hint { margin:10px 0 0;color:var(--study-secondary);font-size:13px;line-height:1.6; }
.practice-workspace .practice-feedback { margin-top:24px;padding:18px 20px;border-radius:9px; }
.practice-workspace .practice-feedback.is-correct { color:#125738;background:var(--study-green-soft); }
.practice-workspace .practice-feedback.needs-retry { color:#75430a;background:var(--study-amber-soft); }
.practice-workspace .practice-feedback > strong { display:flex;gap:9px;align-items:center;flex-wrap:wrap;font-size:17px;line-height:1.5; }
.practice-workspace .practice-feedback p { font-size:16px;line-height:1.7;margin:8px 0 0; }
.practice-workspace .practice-feedback .practice-saved-note { font-size:13px; }
.practice-workspace .practice-task-footer { display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 28px;border-top:1px solid var(--study-line); }
.practice-workspace .practice-task-footer > span { color:var(--study-secondary);font-size:14px;font-variant-numeric:tabular-nums; }
.practice-workspace .practice-source { font-size:13px;color:var(--study-secondary);margin:18px 0 4px; }
.practice-workspace .practice-complete { display:flex;align-items:flex-start;gap:13px;padding:20px;background:var(--study-green-soft);color:var(--study-green);border-radius:10px;margin-top:20px; }
.practice-workspace .practice-complete strong { font-size:17px; }
.practice-workspace .practice-complete p { margin:5px 0 0;font-size:14px; }
.practice-workspace .practice-empty { background:#fff;border:1px solid var(--study-line);border-radius:14px;padding:36px;max-width:690px; }
.practice-workspace .practice-empty > span { display:grid;place-items:center;background:var(--study-green-soft);color:var(--study-green);width:42px;height:42px;border-radius:10px;margin-bottom:20px; }
.practice-workspace .practice-empty h2 { font-size:24px;margin:0 0 10px; }
.practice-workspace .practice-empty p { font-size:17px;color:var(--study-secondary);margin:0 0 24px; }
@media(max-width:1150px) {
  .lesson-workspace .study-layout { grid-template-columns:minmax(0,1fr); }
  .lesson-workspace .study-rail { display:grid;grid-template-columns:1fr 1fr;gap:24px; }
  .lesson-workspace .study-material-note { margin-top:4px; }
  .practice-workspace .practice-layout { grid-template-columns:205px minmax(0,1fr);gap:18px; }
  .practice-workspace .practice-question-link { padding:11px 7px;gap:8px; }
  .practice-workspace .practice-answer-control { flex-wrap:wrap; }
  .practice-workspace .practice-answer-control input { flex-basis:100%; }
}
@media(max-width:820px) {
  .practice-workspace .practice-layout { grid-template-columns:minmax(0,1fr); }
  .practice-workspace .practice-navigator-top { display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px; }
  .practice-workspace .practice-navigator-top h2 { margin:0; }
  .practice-workspace .practice-navigator-top .study-progress { flex-basis:210px; }
  .practice-workspace .practice-question-list { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;padding:12px; }
  .practice-workspace .practice-question-link { min-height:50px;justify-content:center;gap:5px;padding:7px 2px; }
  .practice-workspace .practice-question-copy { display:none; }
  .practice-workspace .practice-navigator > .study-help-link { margin:0 20px 9px; }
  .practice-workspace .practice-answer-control { flex-wrap:nowrap; }
  .practice-workspace .practice-answer-control input { flex-basis:auto; }
}
@media(max-width:520px) {
  :is(.lesson-workspace,.practice-workspace) .study-heading h1 { font-size:24px; }
  :is(.lesson-workspace,.practice-workspace) .study-heading { margin-bottom:22px; }
  :is(.lesson-workspace,.practice-workspace) .study-heading p { font-size:15px; }
  .lesson-workspace .study-tabs { padding:0 14px;gap:16px;justify-content:space-between; }
  .lesson-workspace .study-tabs button { font-size:14px;gap:5px;min-height:57px; }
  .lesson-workspace .study-tabs button .icon { display:none; }
  .lesson-workspace .study-tabs button span { font-size:12px; }
  .lesson-workspace .study-reading { padding:24px 20px; }
  .lesson-workspace .study-reading h2 { font-size:20px; }
  .lesson-workspace .study-reading p { font-size:16px; }
  .lesson-workspace .study-example { padding:17px; }
  .lesson-workspace .study-example p:first-child { font-size:19px; }
  .lesson-workspace .study-example p:last-child { font-size:15px; }
  .lesson-workspace .study-algorithm li { padding-left:40px; }
  .lesson-workspace .study-algorithm strong { font-size:17px; }
  .lesson-workspace .study-next { padding:20px; }
  .lesson-workspace .study-next .study-button { width:100%; }
  .lesson-workspace .study-rail { grid-template-columns:1fr;gap:15px; }
  .lesson-workspace .study-progress-panel { padding:20px; }
  .practice-workspace .practice-navigator-top { padding:16px;gap:12px; }
  .practice-workspace .practice-navigator-top h2 { font-size:16px; }
  .practice-workspace .practice-navigator-top .study-progress { flex-basis:160px; }
  .practice-workspace .study-progress > div { gap:6px;margin-bottom:9px; }
  .practice-workspace .study-progress strong { font-size:21px; }
  .practice-workspace .study-progress span { font-size:12px; }
  .practice-workspace .practice-question-list { gap:4px;padding:10px; }
  .practice-workspace .practice-question-number { flex-basis:27px;width:27px;height:29px;border:0; }
  .practice-workspace .practice-question-link .icon { width:13px;height:13px; }
  .practice-workspace .practice-task-heading { padding:20px;gap:10px; }
  .practice-workspace .practice-task-heading h2 { font-size:20px; }
  .practice-workspace .study-status { padding:5px 7px;font-size:11px; }
  .practice-workspace .practice-answer-form { padding:22px 20px; }
  .practice-workspace .practice-sentence { font-size:23px; }
  .practice-workspace .practice-base-word { margin-bottom:24px; }
  .practice-workspace .practice-answer-control { flex-direction:column; }
  .practice-workspace .practice-answer-control .study-button { width:100%; }
  .practice-workspace .practice-feedback { padding:16px; }
  .practice-workspace .practice-task-footer { padding:18px 20px;flex-wrap:wrap; }
  .practice-workspace .practice-task-footer .study-button { flex:1; }
  .practice-workspace .practice-task-footer > span { font-size:13px; }
  .practice-workspace .practice-empty { padding:26px 22px; }
}
@media(prefers-reduced-motion:reduce) {
  :is(.lesson-workspace,.practice-workspace) .study-button { transition:none; }
}
