.solo-page { max-width:1000px; margin:auto; padding:32px 24px 64px; }
.solo-penalties { --green:#216c43; --bad:#9f394c; max-width:1440px; }
.solo-penalty-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px; align-items:start; }
.solo-questions,.solo-pitch { min-width:0; }
.solo-score { display:flex; align-items:center; gap:12px; margin-bottom:20px; min-height:40px; }
.solo-score strong { font-size:24px; font-variant-numeric:tabular-nums; }
.solo-score .motion-control { display:flex; gap:8px; margin-left:auto; font-size:13px; }
#solo-attempts { display:grid; grid-template-columns:repeat(10,minmax(0,1fr)); gap:6px; margin-top:16px; }
.solo-attempt { display:grid; place-items:center; aspect-ratio:1; max-height:40px; border:1px solid #bac7bf; border-radius:50%; font-size:12px; }
.solo-attempt.goal { background:#216c43; border-color:#216c43; color:white; }
.solo-attempt.save { background:#9f3969; border-color:#9f3969; color:white; }
.solo-attempt.miss { background:#654b50; border-color:#654b50; color:white; }
@media(max-width:850px) { .solo-penalty-layout { grid-template-columns:minmax(0,1fr); gap:24px; }.solo-pitch { grid-row:1; }.solo-pitch .penalty-stage { max-height:none; width:min(100%,366px); margin:auto; }.solo-score { margin-bottom:10px; } }
.solo-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:24px; }
.solo-heading h1 { font-size:28px; margin:4px 0; }
.solo-heading > * { min-width:0; }.solo-heading a { overflow-wrap:anywhere; text-align:right; }
.eyebrow { font-size:11px; color:#65716a; font-weight:700; }
.solo-page h2 { font-size:22px; line-height:1.45; overflow-wrap:anywhere; }
.solo-page label { display:grid; gap:8px; }
.solo-page input:not([type=radio]):not([type=checkbox]),.solo-page select,.solo-page textarea { width:100%; min-width:0; padding:12px; border:1px solid #bcc7c2; border-radius:4px; background:#fff; color:#252b28; font:inherit; }
.solo-page button { padding:11px 18px; min-height:44px; border:1px solid #bdc8c1; border-radius:4px; background:white; color:#253c30; font-weight:650; }
.solo-page .primary { background:#216c43; color:white; border-color:#216c43; }
.solo-page fieldset { margin:0; padding:0; border:0; }
.solo-page legend { margin-bottom:12px; }
.quiz-selection { max-width:700px; display:grid; gap:24px; }
.quiz-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.quiz-filters label { min-width:0; }
.difficulty-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.difficulty-options label { display:flex; align-items:center; gap:10px; border:1px solid #c2ccc7; padding:16px 12px; border-radius:4px; background:white; }
.difficulty-options label:has(:checked) { border-color:#237548; background:#ecf7ef; }
.difficulty-options small { display:block; margin-top:6px; color:#647069; font-size:12px; }
.muted { color:#646e69; font-size:13px; line-height:1.6; margin:0; }
#error { color:#9c2549; padding:12px 0; line-height:1.6; overflow-wrap:anywhere; }
#notice { color:#466451; line-height:1.6; margin-bottom:16px; }
.run-meta,.clock,.actions { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.run-meta { padding:16px 0; border-block:1px solid #dce3de; justify-content:space-between; font-size:13px; }
.clock { margin:24px 0; flex-wrap:nowrap; }
progress { width:100%; height:10px; accent-color:#27804d; border:0; }
.clock output { min-width:54px; text-align:right; font-variant-numeric:tabular-nums; }
.solo-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:28px 0; }
.solo-choices button { min-height:64px; text-align:left; overflow-wrap:anywhere; }
.solo-choices .correct { border-color:#277848; background:#e8f4eb; opacity:1; }
.solo-choices .incorrect { border-color:#b33464; background:#fbeaf0; opacity:1; }
.solo-choices .chosen { outline:2px solid #698071; outline-offset:2px; }
#feedback { min-height:28px; line-height:1.7; }
.metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; padding:24px 0; border-block:1px solid #dce3de; margin:24px 0; }
.metric strong { display:block; font-size:25px; color:#244c36; margin-bottom:6px; }
.metric span { color:#66716a; font-size:12px; }
.review-item { padding:20px 0; border-bottom:1px solid #dce3de; }
.review-item h3 { font-size:16px; line-height:1.6; margin:0 0 10px; }
.review-item p { margin:8px 0; line-height:1.6; }
/* Vysledek je samostatny stav, ne pokracovani posledni otazky pod foldem. */
.shootout-finished .solo-pitch { display:none; }
#summary { padding:28px; border:1px solid var(--border); border-radius:8px; background:var(--surface); }
#summary h2 { margin:0 0 12px; }
#result-level { margin:24px 0; }
#result-level progress { display:block; margin:14px 0; }
#result-level-remaining { color:var(--muted); font-size:14px; }
#result-review { margin-top:28px; border-top:1px solid var(--border); padding-top:20px; }
#result-review summary { cursor:pointer; font-weight:650; }
@media(max-width:600px) {
  #summary { padding:20px 16px; }.metric strong { font-size:22px; }
  .solo-heading { flex-wrap:wrap; gap:12px; }
  .solo-heading > .actions { width:100%; }
  .solo-heading a { text-align:left; }
}
.account-form { max-width:460px; display:grid; gap:18px; margin-top:24px; }
.account-fields { display:grid; gap:18px; }
.auth-options { display:flex; gap:24px; }
.auth-options label { display:flex; align-items:center; gap:8px; }
.profile-title { display:flex; align-items:center; gap:20px; }
.profile-title h2 { margin:0; }
.profile-title > div:last-child { min-width:0; }
.profile-title p { overflow-wrap:anywhere; }
.swatch.green { background:#24714a; }
.level-progress { margin:20px 0; }
.swatches { display:flex; gap:12px; }.swatch { width:40px; height:40px; border-radius:4px; display:grid!important; place-items:center; }.swatch:has(:checked) { outline:2px solid #252b28; outline-offset:3px; }
.assessment { border-bottom:1px solid #dce3de; padding:24px 0; display:grid; gap:14px; }.assessment p { margin:0; line-height:1.7; }
@media(max-width:850px) { .shootout-active .solo-pitch .penalty-stage { width:min(100%,260px); }.shootout-active .eyebrow { display:none; }.shootout-active .clock { margin:12px 0; }.shootout-active .solo-penalty-layout { gap:16px; } }
@media(max-width:600px) { .quiz-filters { grid-template-columns:1fr; }.solo-page { padding:24px 16px 40px; }.solo-heading { align-items:flex-start; }.solo-heading h1 { font-size:24px; }.difficulty-options { gap:8px; }.difficulty-options label { padding:12px 8px; flex-direction:column; align-items:flex-start; }.metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }.solo-choices { grid-template-columns:1fr; }.solo-page h2 { font-size:20px; }.actions { gap:10px; } }
@media(max-width:600px) { .shootout-active .solo-choices { grid-template-columns:repeat(2,minmax(0,1fr)); margin:16px 0; }.shootout-active .solo-choices button { padding:10px; } }
