/* Worked solutions, analogous tasks and the tester's content review. */
.review-task>summary{cursor:pointer;padding:8px 0;line-height:1.8}
.review-task>summary h2{display:inline;margin:0 12px 0 0;font-size:17px}
.review-task [data-review-body]{padding-top:12px}
.review-task:not([open]) [data-review-body]{padding-top:0}
.review-pages{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:20px 0;font-size:13px}
.review-filter{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-weight:650}
.review-filter select{max-width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:white}
.review-feedback{margin:20px 0}.review-feedback>summary{cursor:pointer;font-weight:650}
.review-loading{display:flex;align-items:center;justify-content:center;gap:14px;padding:28px;color:var(--muted)}
.review-spinner{width:30px;height:30px;flex:none;border:3px solid #eadce1;border-top-color:var(--berry);border-radius:50%;animation:review-spin 1s linear infinite}
@keyframes review-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.review-spinner{animation:none}}
.worked h4{font-size:13px;margin:18px 0 6px}
.worked ul{font-size:13px;line-height:1.6;padding-left:20px;margin:0}
.worked-steps{margin:12px 0 0;padding-left:22px;font-size:14px;line-height:1.65}
.worked-steps li{margin-bottom:8px}
.chain-button{margin:12px 0}
.chain-note{font-size:12px;margin:12px 0 0;color:var(--muted)}
.chain-note.correct{color:var(--green)}
.analog-text p{font-size:15px;line-height:1.7;margin:0 0 16px}
/* generated SVGs keep their natural size; .question-image img would stretch them to full width */
.question-image.analog-text img{width:auto;max-width:min(100%,460px);height:auto;margin:8px auto}
.review-badge{display:inline-block;font-size:10px;font-weight:650;letter-spacing:.3px;padding:4px 9px;border-radius:999px;vertical-align:middle;margin-left:8px;background:#fbf2e3;color:#946b2b}
.review-badge.approved{background:var(--green-wash);color:var(--green)}
.review-badge.rejected{background:#faeded;color:#ad5050}
.review-task{background:white;border:1px solid var(--line);border-radius:16px;padding:24px;margin-bottom:22px}
.review-task h2{font-size:20px;margin-bottom:12px}
.review-task h2 small{font-size:12px;color:var(--muted);font-weight:500;margin-left:8px}
.review-task summary{cursor:pointer;font-size:13px;margin-bottom:10px}
.review-original{display:block;max-width:100%;height:auto;margin:10px 0;border:1px solid var(--line);border-radius:8px}
.review-variant{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}
.review-variant h3{font-size:14px;color:var(--berry);margin-bottom:6px}
.review-variant p{font-size:14px;line-height:1.65}
.review-variant img{display:block;width:auto;max-width:min(100%,460px);height:auto;margin:8px 0}
.review-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}
.review-controls .button{min-height:36px;padding:8px 16px}
.setting-toggle{display:flex;gap:14px;align-items:flex-start;background:white;border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin:0 0 10px;cursor:pointer}
.setting-toggle input{width:20px;height:20px;margin-top:2px;accent-color:var(--berry);flex:0 0 auto}
.setting-toggle b{display:block;font-size:14px;margin-bottom:4px}
.setting-toggle small{display:block;font-size:12px;line-height:1.5;color:var(--muted)}
.analog-answer{font-size:14px;background:var(--green-wash);color:var(--green);padding:10px 14px;border-radius:10px;margin:10px 0 4px}
.answer-card .button.wide + .button.wide{margin-top:10px}
.worked h4 small{font-weight:400;color:var(--muted)}
/* Subtasks of a worked solution (solution-parts.mjs): each 3.1, 3.2, … is its own card, the closing check another. */
.worked-part{margin:18px 0 0;padding:12px 16px 4px;border-left:4px solid var(--berry);border-radius:4px 12px 12px 4px;background:var(--berry-wash)}
.worked-part:not([data-part]){border-left-color:var(--green);background:var(--green-wash)}
.worked-part-head{margin:0;font-size:15px;letter-spacing:.02em;color:var(--berry)}
.worked-part:not([data-part]) .worked-part-head{color:var(--green)}
.worked-part .worked-steps{margin-top:6px}
/* Inside a step (solution-parts.mjs): heading line, calculations lined up on "=", a "Pozor" warning. */
.step-head{display:block}
.calc{display:grid;grid-template-columns:auto auto minmax(0,1fr);column-gap:.45em;width:fit-content;max-width:100%;margin:6px 0;padding:6px 14px;border-radius:8px;background:#f1efe9;font-variant-numeric:tabular-nums}
.calc>span:nth-child(3n+1){text-align:right}
.worked-part .calc{background:rgba(255,255,255,.75)}
.step-warn{margin:8px 0;padding:8px 12px;border-radius:8px;background:#fbf1dc;border-left:4px solid var(--gold);color:#5f4312}
.step-warn::before{content:"⚠ "}
/* The answer a subtask ends with, the same value the answer panel checks against. */
.part-result{display:flex;width:fit-content;max-width:100%;align-items:baseline;gap:6px;margin:8px 0 12px;padding:6px 14px;border-radius:999px;background:white;border:1px solid #e2c3d0;color:var(--berry);font-size:16px}
.part-result>span{color:var(--green)}
/* Typical mistakes: a warning card instead of small print. */
.pitfalls{margin:22px 0 4px;padding:14px 18px;border-radius:12px;background:#fbf1dc;border:1px solid #ecd5a4}
.pitfalls h4{margin:0 0 6px;color:#7a5418}
.pitfalls ul{margin:0;padding-left:20px}
/* Bar-model boxes ("[díl][díl][díl]"): equal boxes, side-by-side ones joined into one bar. */
.boxes{display:inline-flex;vertical-align:middle;margin:1px 2px}
.box{display:inline-grid;place-items:center;min-width:3.2em;height:1.6em;padding:0 5px;border:2px solid var(--berry);background:var(--berry-wash);color:var(--berry);font-size:.8em;font-weight:650;line-height:1}
.boxes .box+.box{border-left-width:0}
.box.filled{min-width:1.8em;background:var(--berry)}
.worked-part .box:not(.filled){background:white}
.boxes .box.filled+.box.filled{border-left:2px solid white}
/* A confirmed check ("sedí", "✓"): green tick in front, or the tick already in the text turned green. */
.step-ok{position:relative;margin:4px 0;padding-left:1.8em}
.step-ok:not(.marked)::before{content:"✓";position:absolute;left:0;top:.2em;display:grid;place-items:center;width:1.3em;height:1.3em;border-radius:50%;background:var(--green);color:white;font-size:.8em;font-weight:700}
.step-ok.marked{padding-left:0}
.ok-mark{color:var(--green);font-weight:800}
/* Language switch of the original tasks (content-lang.mjs): both languages are in the page, the html
   attribute picks one. The Russian statement stands above CERMAT's picture, which keeps the figures. */
html:not([data-content-lang="ru"]) .lang-ru-only,html[data-content-lang="ru"] .lang-cs-only{display:none}
.lang-bar{display:flex;justify-content:flex-end;margin:0 0 12px}
.lang-toggle{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}
.lang-toggle button{min-width:44px;min-height:36px;padding:6px 12px;background:white;color:var(--muted);font-size:12px;font-weight:650}
html:not([data-content-lang="ru"]) .lang-toggle [data-content-lang="cs"],html[data-content-lang="ru"] .lang-toggle [data-content-lang="ru"]{background:var(--berry);color:white}
.translated-statement{margin:0 0 18px;padding:16px 18px;background:var(--berry-wash);border-radius:12px}
.translated-statement .eyebrow{margin-bottom:10px;letter-spacing:1px}
.translated-statement p{font-size:15px;line-height:1.7;margin:0}
