/* ON THE DOT.: barvy navazuji na V6_WORLD.colors v stadium_config.js.
 * Rozlozeni/ovladani zustava v puvodnich CSS; zde upravuj barvy a typografii.
 * Accent = hlavni akce, coral = chybna odpoved, muted = sekundarni informace.
 */
:root { color-scheme:dark; --bg:#091316; --surface:#101c20; --surface-raised:#1b3031; --text:#e6eee4; --muted:#a9bbb4; --accent:#7ed69d; --accent-hover:#a2e5b8; --border:#355052; --coral:#ed7b89; --highlight:#c6ef8e; --ink:#101c20; --selection:#243c32; color:var(--text); background:var(--bg); }
body,body:has(.penalty-page),body.stadium-playing { background:var(--bg); color:var(--text); }
body { letter-spacing:0; }
a { color:var(--text); text-underline-offset:4px; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.points-header { background:var(--bg); border-color:var(--border); min-height:78px; }
.points-brand { color:var(--text); font-weight:750; }
.points-period { color:var(--accent); }
.points-header nav a,.points-signout { color:var(--muted); }
.points-header nav a[aria-current] { color:var(--accent); border-color:var(--accent); }
.solo-page,.penalty-page,.quiz-page { --ink:var(--text); --green:var(--accent); --line:var(--border); --bad:var(--coral); color:var(--text); }
.penalty-page { --muted:#a9bbb4; }
body :is(.solo-page,.penalty-page,.trivia-page,.bank-page) :focus-visible { outline-color:var(--accent); }
.solo-heading h1,.penalty-heading h1 { font-weight:550; font-size:30px; }
.solo-page h2,.penalty-page h2 { font-weight:550; }
.solo-page button,.penalty-page button,.quiz-page button,.points-signout { background:var(--surface); border-color:var(--border); color:var(--text); border-radius:6px; }
.solo-page button:hover:not(:disabled),.penalty-page button:hover:not(:disabled),.quiz-page button:hover:not(:disabled) { background:var(--surface-raised); border-color:#789b99; }
.solo-page .primary,.penalty-page button.primary,.quiz-page .primary { background:var(--accent); border-color:var(--accent); color:#191c21; }
.solo-page .primary:hover:not(:disabled),.penalty-page button.primary:hover:not(:disabled) { background:var(--accent-hover); border-color:var(--accent-hover); }
.solo-page input:not([type=radio]):not([type=checkbox]),.solo-page select,.solo-page textarea,.penalty-page .field input,.penalty-page .field select,.studio-login input,.quiz-game input { background:var(--surface); color:var(--text); border-color:var(--border); border-radius:6px; }
input[type=radio],input[type=checkbox],progress { accent-color:var(--accent); }
.muted,.difficulty-options small,.metric span,.scoreboard small,.question-meta,#rules-note,#feedback,.quiz-tile p { color:var(--muted); }
#notice { color:var(--muted); }
#notice:empty,#feedback:empty { display:none; }
#error { background:#382822; color:#ffb39c; border-radius:6px; }
#error:empty { display:none; }
.difficulty-options label { background:var(--surface); border-color:var(--border); border-radius:6px; }
.difficulty-options label:has(:checked) { border-color:var(--highlight); background:var(--selection); }
.difficulty-options small[id$="-perfect"] { display:block; color:var(--highlight); }
.run-meta,.metrics,.review-item,.assessment,.scoreboard,#result-stats,.quiz-game header,.quiz-review { border-color:var(--border); }
.metric strong { color:var(--text); }
.quiz-tile { background:var(--surface); border-color:var(--border); }
.quiz-tile small { color:var(--accent); }
.clock progress { appearance:none; height:3px; background:var(--border); border-radius:0; }
.clock progress::-webkit-progress-bar { background:var(--border); }
.clock progress::-webkit-progress-value { background:var(--accent); }
.clock progress::-moz-progress-bar { background:var(--accent); }
.level-progress progress { appearance:none; height:4px; background:var(--border); border-radius:0; }
.level-progress progress::-webkit-progress-bar { background:var(--border); }
.level-progress progress::-webkit-progress-value { background:var(--accent); }
.level-progress progress::-moz-progress-bar { background:var(--accent); }
.timer-track { background:var(--border); height:3px; }
.timer-track div { background:var(--accent); }
.solo-choices button,.penalty-answers button { font-weight:500; line-height:1.45; }
.penalty-answers button span { background:var(--highlight); color:var(--ink); }
.solo-choices .correct,.penalty-answers button.correct { border-color:var(--highlight); background:var(--selection); color:#e3f8c6; opacity:1; }
.solo-choices .incorrect,.penalty-answers button.wrong { border-color:var(--coral); background:#382822; color:#ffb39c; opacity:1; }
.solo-choices .chosen,.penalty-answers button.chosen { outline:none; box-shadow:none; border-width:1px; }
.solo-choices .chosen.correct,.penalty-answers button.chosen.correct { border-color:transparent; background:#31513e; color:#e3f8c6; }
.solo-choices .chosen.incorrect,.penalty-answers button.chosen.wrong { border-color:transparent; background:#483036; color:#ffd5d8; }
.solo-attempt,#attempts span { border-color:var(--border); color:var(--muted); }
.solo-attempt.goal,#attempts .goal { color:#122013; background:var(--accent); border-color:var(--accent); }
.solo-attempt.save,.solo-attempt.miss,#attempts .save,#attempts .miss { color:#ffb39c; background:#382822; border-color:#704b3e; }
.swatch:has(:checked) { outline-color:var(--accent); }
/* Studio a knihovna pouzivaji stejne barvy, ale PONECHAVAJI zdrojova metadata. */
.trivia-page,.bank-page { color:var(--text); }
:is(.trivia-page,.bank-page) :is(button,select,textarea,input:not([type=checkbox]):not([type=radio])) { background:var(--surface); color:var(--text); border-color:var(--border); }
:is(.trivia-page,.bank-page) button:hover:enabled { background:var(--surface-raised); border-color:#789b99; }
.trivia-page .trivia-primary,.bank-page .primary,.trivia-page .trivia-primary:hover:enabled { background:var(--accent); color:#122013; border-color:var(--accent); }
.trivia-tabs button[aria-pressed=true] { color:var(--accent); border-color:var(--accent); }
.trivia-dataset,.trivia-dataset strong,.trivia-controls label,.trivia-answer-test label,.trivia-provenance,.trivia-state,#trivia-status,.bank-meta,.bank-counts span,.bank-question header,.bank-answer dt,#bank-model { color:var(--muted); }
.trivia-eyebrow,.bank-eyebrow,.bank-status { color:var(--accent); }
.bank-status.conflict,#bank-error,#trivia-status.error { color:var(--coral); }
.trivia-tabs,.trivia-controls,.trivia-metrics,.bank-counts,.bank-authoring,.bank-question,.bank-neighbor,.bank-draft { border-color:var(--border); }
/* Fullscreen herni plocha: volny stadion vlevo, klidny souvisly pas otazek. */
#stadium-layer { background:radial-gradient(ellipse at 40% 38%,#2d4543 0%,#1c302f 34%,#111f22 68%,#0b1619 100%); }
#stadium-controls { color:var(--text); background:var(--bg); border-bottom:1px solid var(--border); }
#stadium-controls strong { font-size:23px; font-weight:700; }
#stadium-role { color:var(--muted); }
#stadium-clock { color:var(--accent); }
#stadium-controls button { color:var(--text); background:var(--surface); border:1px solid var(--border); border-radius:6px; font-size:12px; }
#stadium-controls button:hover { border-color:var(--accent); }
#stadium-controls button:focus-visible { outline-color:var(--accent); }
#stadium-outcome { background:var(--accent); color:#122013; font-size:18px; border-radius:4px; }
.stadium-playing .solo-questions,.stadium-playing .question-column { background:#101c20fa; border-left:1px solid var(--border); }
.stadium-playing .solo-score,.stadium-playing .scoreboard { background:transparent; color:#edf4ee; }
.stadium-playing .scoreboard small { color:var(--muted); }
.stadium-playing .run-meta { color:var(--muted); }
.stadium-playing .solo-questions h2,.stadium-playing .question-column h2 { font-size:26px; font-weight:550; line-height:1.35; }
.stadium-playing .solo-choices,.stadium-playing .penalty-answers { gap:12px; }
@media(max-width:800px) {
  .stadium-playing .solo-questions,.stadium-playing .question-column { border-left:0; border-top:1px solid var(--border); }
  .stadium-playing .solo-questions h2,.stadium-playing .question-column h2 { font-size:21px; }
  #stadium-controls strong { font-size:20px; }
}

@media(max-height:540px) and (min-width:600px) {
  .stadium-playing .solo-questions h2,.stadium-playing .question-column h2 { font-size:20px; }
}
/* Delsi wordmark nesmi zvetsit pevnou mobilni herni hlavicku. */
#stadium-controls strong { white-space:nowrap; }
#stadium-clock:empty { display:none; }
@media(max-width:600px) {
  #stadium-controls strong { font-size:18px; }
  #stadium-role { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
}
