:root{--answer-good-bg:#e5f2e9;--answer-input-good-bg:#e5f2e9;--answer-good-border:#88b79a;--answer-good-text:#285b3d;--answer-bad-bg:#ffe5eb;--answer-bad-border:#ee7b99;--answer-bad-text:#9d3153}
html[data-theme="dark"]{--answer-good-bg:#253b31;--answer-input-good-bg:#253b31;--answer-good-border:#6b9e7d;--answer-good-text:#d9efe0;--answer-bad-bg:#482631;--answer-bad-border:#e87494;--answer-bad-text:#ffdce6}
.question-translation{font-size:16px;font-weight:400;line-height:1.55;color:var(--sub,#746b80);margin:8px 0 22px}
.review-card{border:1px solid var(--answer-bad-border);background:var(--answer-bad-bg);color:var(--ink,#2c2533);border-radius:20px;padding:24px;margin:20px 0}
.correct-material{font-size:25px;font-weight:700;line-height:1.5;overflow-wrap:anywhere}
.review-explanation{font-size:16px;line-height:1.65;margin:16px 0}
.review-card .question-translation{margin-bottom:16px}
.feedback-box.correct{background:var(--answer-good-bg);border:1px solid var(--answer-good-border);color:var(--answer-good-text)}
.feedback-box.wrong{background:var(--answer-bad-bg);color:var(--ink,#2c2533)}
#practice .practice-eyebrow{font-size:14px;letter-spacing:0;font-weight:400;text-transform:none}
#practice .question{font-weight:700;margin-bottom:10px}
#practice .practice-options button.is-correct{background:var(--answer-good-bg);border-color:var(--answer-good-border);color:var(--answer-good-text)}
#practice .practice-options button.is-wrong{background:var(--answer-bad-bg);border-color:var(--answer-bad-border);color:var(--answer-bad-text)}
.answer-input.correct{background:var(--answer-input-good-bg);border-color:var(--answer-good-border);color:var(--answer-good-text)}
.answer-input.wrong{background:var(--answer-bad-bg);border-color:var(--answer-bad-border);color:var(--answer-bad-text)}
.input-note{font-size:14px;color:var(--sub,#746b80);line-height:1.5;margin:12px 0}
.training-actions-hidden{display:none}
.unified-site [hidden]{display:none!important}
.unified-site .wrap{max-width:1280px;padding-left:24px;padding-right:24px}
#quiz .mode-title{font-size:16px;font-weight:400;color:var(--sub);line-height:1.5}
#quiz .ru{font-size:16px;color:var(--sub);line-height:1.5}
#quiz .review-card{text-align:left}
.review-card .card-form small{font-size:14px;color:var(--accent)}
#quiz .feedback-box.correct{padding:14px 18px;border-radius:14px}
@media(max-width:650px){.review-card{padding:20px 16px}.correct-material{font-size:22px}.question-translation,.review-explanation{font-size:15px}}
/* Общий вид кнопок действий во всех учебных разделах. */
.unified-site{--control-bg:#e9dcff;--control-border:#b69ad9;--control-text:#57328b;--control-hover:#ddc9fc}
html[data-theme="dark"] .unified-site{--control-bg:#413254;--control-border:#85689e;--control-text:#edddff;--control-hover:#503c68}
.unified-site :is(.actions,.hero-actions,.practice-actions,.block-actions,.dictionary-tools,.modal-actions) button,
.unified-site #practice .practice-actions button{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;
  width:auto;padding:8px 15px!important;border-radius:13px!important;
  border:1px solid var(--control-border)!important;background:var(--control-bg)!important;
  color:var(--control-text)!important;font-size:15px!important;font-weight:600!important;line-height:1.3;
  box-shadow:0 2px 7px #7957ff0a!important;transition:background .15s,border-color .15s;
}
.unified-site :is(.actions,.hero-actions,.practice-actions,.block-actions,.dictionary-tools,.modal-actions) button:hover:not(:disabled),
.unified-site #practice .practice-actions button:hover:not(:disabled){background:var(--control-hover)!important;border-color:var(--accent)!important}
.unified-site :is(.actions,.hero-actions,.practice-actions,.block-actions,.dictionary-tools,.modal-actions) button.primary,
.unified-site #practice .practice-actions button.primary{background:#7951cb!important;border-color:#7951cb!important;color:#fff!important}
.unified-site :is(.actions,.hero-actions,.practice-actions,.block-actions,.dictionary-tools,.modal-actions) button.primary:hover:not(:disabled),
.unified-site #practice .practice-actions button.primary:hover:not(:disabled){background:#6b43bc!important}
.unified-site button.icon-btn,.unified-site #practice button.icon-btn{
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
  width:44px!important;height:44px!important;min-height:44px;min-width:44px!important;padding:0!important;
  border-radius:50%!important;border:1.5px solid var(--control-border)!important;
  background:var(--control-bg)!important;color:var(--control-text)!important;box-shadow:0 2px 7px #7957ff0a!important;
}
.unified-site button.icon-btn svg{width:24px;height:24px;display:block;pointer-events:none}
.unified-site button:disabled{cursor:default}
.unified-site .ready-actions button:disabled{opacity:.45}
.unified-site button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.unified-site .review-actions{margin:14px 0 0;justify-content:flex-start;gap:10px}
.unified-site #quiz .review-actions button,.unified-site #practice .review-actions button{min-height:36px;padding:7px 14px!important}
.unified-site #quiz .review-actions button.icon-btn{width:44px!important;height:44px!important;min-width:44px!important;padding:0!important}
.unified-site .review-card.review-neutral{background:var(--surface);border:1px solid var(--line);box-shadow:none}
.confirmed-answer{position:relative;border-radius:12px}
.confirmed-answer input{margin:0}
.answer-confirmation{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:inherit;background:var(--answer-good-bg);border:1px solid var(--answer-good-border);color:var(--answer-good-text);font-size:16px;font-weight:600;pointer-events:none}
#practice .practice-options button.confirmed-answer:disabled{opacity:1}
#quiz .quiz-actions{gap:10px}
@media(prefers-reduced-motion:reduce){.unified-site button{transition:none!important}}
/* Слова всех коллекций используют ту же строку и шрифт, что и глаголы. */
.unified-site .vocabulary-table{min-width:0!important;width:100%;table-layout:fixed}
.unified-site .vocabulary-table th:first-child{width:42%}
.unified-site .vocabulary-table th:last-child{width:62px}
.unified-site .vocabulary-table.has-personal th:last-child{width:208px}
.unified-site .vocabulary-table td{overflow-wrap:anywhere;vertical-align:middle}
.unified-site .vocabulary-table .word-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}
.unified-site .vocabulary-table .learn-word{min-width:0}
.unified-site .vocabulary-table .learn-word b{overflow-wrap:anywhere}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:650px){
 .unified-site .vocabulary-table td,.unified-site .vocabulary-table th{padding:12px 7px}
 .unified-site .vocabulary-table.has-personal th:last-child{width:112px}
 .unified-site .vocabulary-table.has-personal th:first-child{width:35%}
}
/* Одна постоянная панель действий под заданием и под разбором. */
.unified-site .training-footer{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px;margin-top:24px}
.unified-site #quiz .quiz-actions.training-footer{justify-content:center;gap:16px}
.unified-site .answer-controls,.unified-site #review-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin:0}
.unified-site #practice .training-footer .practice-actions{margin:0}
.unified-site .training-footer .answer-controls{margin-left:0}
.unified-site .training-footer button,.unified-site #practice .training-footer button{min-height:36px;padding:7px 12px!important;border-radius:11px!important;font-size:14px!important;font-weight:500!important;box-shadow:none!important}
.unified-site .training-footer button.icon-btn,.unified-site #practice .training-footer button.icon-btn{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px;padding:0!important;border-radius:50%!important}
.unified-site .training-footer button.icon-btn svg{width:22px;height:22px}
.unified-site .training-footer .exit-training,.unified-site #practice .training-footer .exit-training{background:transparent!important;border-color:transparent!important;color:var(--sub)!important;padding-left:0!important;padding-right:0!important}
.unified-site .training-footer .exit-training:hover,.unified-site #practice .training-footer .exit-training:hover{color:var(--ink)!important;text-decoration:none;background:transparent!important;border-color:transparent!important}
.unified-site #dontknow,.unified-site #practice [data-action="skip"]{background:var(--answer-bad-bg)!important;border-color:var(--answer-bad-border)!important;color:var(--answer-bad-text)!important}
.unified-site #dontknow:hover,.unified-site #practice [data-action="skip"]:hover{background:var(--answer-bad-bg)!important;border-color:var(--answer-bad-text)!important}
.unified-site #complete-legacy-answer:disabled{opacity:.45}
.unified-site .result-mark{background:var(--answer-good-bg)!important;color:var(--answer-good-text)!important;box-shadow:none}
@media(max-width:650px){
 .unified-site .training-footer{gap:10px}
 .unified-site .training-footer .answer-controls{order:0;width:100%;margin:0;justify-content:center}
 .unified-site .training-footer>.exit-training{order:1}
 .unified-site .training-footer button,.unified-site #practice .training-footer button{min-height:40px}
}
.unified-site .mini-dict .mini-head,.unified-site .mini-dict .mini-row{grid-template-columns:1fr 1.2fr 28px}
/* Короткая страница заполняет окно; примечание остаётся после содержимого. */
.unified-site>.wrap{display:flex;flex-direction:column;width:100%;min-height:100vh;min-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
.unified-site>.wrap>section,.unified-site>.wrap>main{width:100%;flex-shrink:0}
.unified-site>.wrap>.footer-note{margin-top:auto;padding-top:24px;flex-shrink:0}
/* Ровное чередование папок, выбранная папка меняет только рамку. */
.unified-site #folders .folder-card:nth-child(odd){background:linear-gradient(145deg,#fff4d7,#fff)!important}
.unified-site #folders .folder-card:nth-child(even){background:linear-gradient(145deg,#f0e8ff,#fff)!important}
html[data-theme="dark"] .unified-site #folders .folder-card:nth-child(odd){background:linear-gradient(145deg,#34261d,#282033)!important}
html[data-theme="dark"] .unified-site #folders .folder-card:nth-child(even){background:linear-gradient(145deg,#332744,#282033)!important}

#practice .correct-material{font-size:19px}
@media(max-width:650px){#practice .correct-material{font-size:18px}}
#quiz .input-grid input:not(.correct):not(.wrong),#quiz .single-answer input:not(.correct):not(.wrong){min-height:44px;padding:10px 12px;border:1px solid #b5a7c9;box-shadow:none}
#quiz .input-grid input:focus:not(:focus-visible),#quiz .single-answer input:focus:not(:focus-visible){outline:none}
#quiz input:focus-visible{outline:2px dashed var(--accent,#7957ff);outline-offset:2px}
