/* Gri IELTS deneme ekranları — ortak görsel + UX katmanı (reading/listening/writing) */
:root{--ex-bg:#F4F2EC;--ex-surf:#FBF6EC;--ex-surf2:#FFFFFF;--ex-ink:#241E17;--ex-muted:#6E6353;--ex-line:#E3D8C3;--ex-accent:#2E6E6A;--ex-accent-ink:#FFFFFF;--ex-accent-soft:#DDEBE8;--ex-good:#1FA971;--ex-good-bg:#E1F3EA;--ex-warn:#B0791C;--ex-warn-bg:#F7ECD2;--ex-shadow:0 4px 18px rgba(40,30,20,.10);}
html[data-theme="dark"]{--ex-bg:#15130F;--ex-surf:#201C17;--ex-surf2:#221E18;--ex-ink:#F1E9D9;--ex-muted:#B7AB96;--ex-line:#332C22;--ex-accent:#6FB6AF;--ex-accent-ink:#15130F;--ex-accent-soft:#22322F;--ex-good:#5DCAA5;--ex-good-bg:rgba(31,169,113,.18);--ex-warn:#D8B25A;--ex-warn-bg:rgba(216,178,90,.16);--ex-shadow:0 6px 24px rgba(0,0,0,.4);}
body{background:var(--ex-bg)!important;}

/* Timer / toolbar (reading+listening) */
.timer-bar{background:var(--ex-surf)!important;color:var(--ex-ink)!important;border-bottom:1px solid var(--ex-line);}
.timer-bar .timer strong{color:var(--ex-accent)!important;}
.font-zoom-btn{background:transparent!important;color:var(--ex-muted)!important;border-color:var(--ex-line)!important;}
.font-zoom-btn.active{background:var(--ex-accent)!important;color:var(--ex-accent-ink)!important;}

/* Tabs */
.tab-bar{background:var(--ex-surf)!important;border-bottom-color:var(--ex-line)!important;}
.tab-btn{color:var(--ex-muted)!important;}
.tab-btn:hover{color:var(--ex-ink)!important;background:transparent!important;}
.tab-btn.active{color:var(--ex-ink)!important;border-bottom-color:var(--ex-accent)!important;}
.tab-btn .tab-progress{background:var(--ex-accent-soft)!important;color:var(--ex-accent)!important;}
.tab-btn.active .tab-progress{background:var(--ex-accent)!important;color:var(--ex-accent-ink)!important;}
.tab-btn.completed .tab-progress{background:var(--ex-good)!important;color:#fff!important;}

/* Passage + questions */
.passage-left,.passage-right{background:var(--ex-surf2)!important;}
.passage-left{border-right-color:var(--ex-line)!important;}
.passage-title{color:var(--ex-ink)!important;border-bottom-color:var(--ex-accent)!important;}
.passage-content{color:var(--ex-ink)!important;}
.passage-content strong{color:var(--ex-accent)!important;}
.question-group{border-top-color:var(--ex-line)!important;}
.group-header .q-range{color:var(--ex-ink)!important;}
.group-header .instructions{color:var(--ex-muted)!important;}
.q-num-prefix{background:var(--ex-accent)!important;color:var(--ex-accent-ink)!important;border-radius:7px!important;}
.match-item,.mcq-question{background:var(--ex-surf)!important;border:1px solid var(--ex-line)!important;border-left:1px solid var(--ex-line)!important;border-radius:11px!important;}
.match-item select{border:1.5px solid var(--ex-line)!important;background:var(--ex-surf2)!important;color:var(--ex-ink);border-radius:8px!important;}
.match-item select:focus,.q-input:focus{border-color:var(--ex-accent)!important;}
.match-item select.answered,.q-input.answered{background:var(--ex-good-bg)!important;border-color:var(--ex-good)!important;}
.q-input{border-bottom:2px solid var(--ex-line)!important;color:var(--ex-ink)!important;}
.mcq-options label{border:1px solid var(--ex-line);border-radius:9px;margin:5px 0;transition:border-color .12s,background .12s;}
.mcq-options label:hover{border-color:var(--ex-accent);background:var(--ex-accent-soft)!important;}
.mcq-options label:has(input:checked){border-color:var(--ex-accent);background:var(--ex-accent-soft)!important;}
.mcq-options .opt-letter{color:var(--ex-accent)!important;}
.next-part-btn{background:var(--ex-surf2)!important;border-color:var(--ex-accent)!important;color:var(--ex-accent)!important;border-radius:9px!important;}
.next-part-btn:hover{background:var(--ex-accent)!important;color:var(--ex-accent-ink)!important;}
.modal{background:var(--ex-surf2)!important;border-radius:14px!important;}
.modal h3{color:var(--ex-ink)!important;} .modal p{color:var(--ex-muted)!important;}

/* Listening audio bar — yapışkan + temalı */
.audio-bar{background:var(--ex-surf)!important;border-bottom:1px solid var(--ex-line)!important;position:sticky;top:0;z-index:40;}

/* Passage highlight (reading) — okurken metin isaretleme */
mark.ex-hl{background:var(--ex-warn-bg);color:inherit;border-radius:2px;padding:0 1px;cursor:pointer;}
mark.ex-hl:hover{background:var(--ex-warn);color:var(--ex-accent-ink);}

/* Writing */
.task-wrapper,.task-editor{background:var(--ex-surf2)!important;border-color:var(--ex-line)!important;}
.task-title{color:var(--ex-ink)!important;}
.task-prompt,.task-prompt-text,.task-instructions{color:var(--ex-ink)!important;}
.task-min-words{color:var(--ex-muted)!important;}
.editor-textarea{background:var(--ex-surf)!important;color:var(--ex-ink)!important;border:1px solid var(--ex-line)!important;border-radius:10px!important;}
.editor-textarea:focus{border-color:var(--ex-accent)!important;outline:none;}
.word-count{color:var(--ex-muted)!important;}
.word-count.ok,.word-count.reached{color:var(--ex-good)!important;font-weight:600;}
.editor-saved{color:var(--ex-muted)!important;}

/* Flag button per question */
.ex-flag{background:none;border:none;cursor:pointer;color:var(--ex-line);font-size:15px;padding:2px 4px;line-height:1;vertical-align:middle;margin-left:4px;transition:color .12s;}
.ex-flag:hover{color:var(--ex-warn);}
.ex-flag.on{color:var(--ex-warn);}

/* Floating question navigator */
.ex-fab{position:fixed;right:18px;bottom:18px;z-index:150;background:var(--ex-accent);color:var(--ex-accent-ink);border:none;border-radius:24px;padding:11px 18px;font-family:Inter,system-ui,sans-serif;font-size:13px;font-weight:600;cursor:pointer;box-shadow:var(--ex-shadow);display:flex;align-items:center;gap:8px;}
.ex-fab b{font-variant-numeric:tabular-nums;}
.ex-navpanel{position:fixed;right:18px;bottom:66px;z-index:150;background:var(--ex-surf2);border:1px solid var(--ex-line);border-radius:14px;box-shadow:var(--ex-shadow);padding:14px;width:min(340px,88vw);display:none;}
.ex-navpanel.open{display:block;}
.ex-navpanel h4{margin:0 0 10px;font-family:Inter,system-ui,sans-serif;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ex-muted);}
.ex-navgrid{display:flex;flex-wrap:wrap;gap:6px;max-height:46vh;overflow:auto;}
.ex-navbtn{width:30px;height:30px;border-radius:7px;border:1px solid var(--ex-line);background:var(--ex-surf2);color:var(--ex-muted);font-size:12px;font-family:Inter,system-ui,sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.ex-navbtn.answered{background:var(--ex-accent);color:var(--ex-accent-ink);border-color:var(--ex-accent);}
.ex-navbtn.flag{background:var(--ex-warn-bg);color:var(--ex-warn);border-color:var(--ex-warn);}
.ex-navbtn.flag.answered{background:var(--ex-warn);color:#fff;}
.ex-legend{display:flex;gap:12px;margin-top:11px;font-size:11px;color:var(--ex-muted);font-family:Inter,system-ui,sans-serif;flex-wrap:wrap;}
.ex-legend i{width:10px;height:10px;border-radius:3px;display:inline-block;vertical-align:middle;margin-right:4px;}
