/* ICAO Level – "Sınav salonu": beyaz / açık gri zemin, tek koyu mavi, kayıt için kırmızı, zayıf ölçüt için amber.
   Gölge, gradyan, emoji yok. Yuvarlak (pill) düğmeler, 14–16 px köşeli düz kartlar, ≥ 48 px dokunma hedefleri. */

/* ---------- yazı tipi: Atkinson Hyperlegible (SIL OFL 1.1, fonts/OFL.txt), yerel ---------- */
@font-face { font-family: "Atkinson Hyperlegible"; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/ah-latin-400.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Atkinson Hyperlegible"; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/ah-latin-ext-400.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Atkinson Hyperlegible"; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/ah-latin-700.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Atkinson Hyperlegible"; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/ah-latin-ext-700.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* ---------- renkler ---------- */
:root {
  color-scheme: light;
  --zemin: #f8fafc; --yuzey: #ffffff; --yuzey2: #f1f5f9;
  --metin: #0f172a; --metin2: #334155; --soluk: #475569;
  --cizgi: #e2e8f0; --cizgi2: #cbd5e1;
  --ana: #1e3a8a; --ana-ust: #ffffff; --ana-metin: #1e3a8a; --ana-acik: #e8eefc; --ana-kart-soluk: #c7d4f5; --ana-kart-alt: #dbe4fa;
  --bag: #1d4ed8;
  --kayit: #dc2626; --kayit-ust: #ffffff;
  --amber: #b45309; --amber-koyu: #92400e; --amber-zemin: #fef3c7;
  --yesil: #166534; --yesil-zemin: #dcfce7;
  --odak: #1d4ed8;
  --font: "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, "Cascadia Mono", "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  --r-kart: 16px; --r-ic: 12px;
}
/* koyu: gece uçuşu dönüşü; aynı yapı, kontrastlar AA'nın üstünde */
@media (prefers-color-scheme: dark) {
  :root:not([data-tema="acik"]) {
    color-scheme: dark;
    --zemin: #0b1220; --yuzey: #111a2e; --yuzey2: #16213a;
    --metin: #e5eaf3; --metin2: #c3cbd9; --soluk: #a3afc2;
    --cizgi: #24324d; --cizgi2: #3a4d72;
    --ana: #2f4fb5; --ana-metin: #a9bdf7; --ana-acik: #1c2a4d; --ana-kart-soluk: #c7d4f5; --ana-kart-alt: #dbe4fa;
    --bag: #9db4f5; --kayit: #c9302c;
    --amber: #e8a33d; --amber-koyu: #f5c26b; --amber-zemin: #33250b;
    --yesil: #7dd99a; --yesil-zemin: #12301d; --odak: #9db4f5;
  }
}
:root[data-tema="koyu"] {
  color-scheme: dark;
  --zemin: #0b1220; --yuzey: #111a2e; --yuzey2: #16213a;
  --metin: #e5eaf3; --metin2: #c3cbd9; --soluk: #a3afc2;
  --cizgi: #24324d; --cizgi2: #3a4d72;
  --ana: #2f4fb5; --ana-metin: #a9bdf7; --ana-acik: #1c2a4d; --ana-kart-soluk: #c7d4f5; --ana-kart-alt: #dbe4fa;
  --bag: #9db4f5; --kayit: #c9302c;
  --amber: #e8a33d; --amber-koyu: #f5c26b; --amber-zemin: #33250b;
  --yesil: #7dd99a; --yesil-zemin: #12301d; --odak: #9db4f5;
}

/* ---------- temel ---------- */
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; font-size: 100%; }
html.buyuk-yazi { font-size: 116.67%; }   /* gövde 18 → 21 px */
body { margin: 0; min-height: 100vh; display: flex; flex-direction: column; background: var(--zemin); color: var(--metin);
  font: 400 1.125rem/1.6 var(--font); overflow-wrap: break-word; }
main { flex: 1; padding: 28px 0 48px; }
.sar { width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 24px; }
#sayfa:focus { outline: none; }
a { color: var(--bag); text-underline-offset: 3px; }
a:hover { color: var(--ana-metin); }
h1, h2, h3, h4 { line-height: 1.25; margin: 0 0 .5em; color: var(--metin); }
h1 { font-size: 2.125rem; }
h2 { font-size: 1.375rem; }
h3 { font-size: 1.125rem; margin-top: 1.2em; }
p { margin: 0 0 .75em; }
img { max-width: 100%; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 3px solid var(--odak); outline-offset: 3px; border-radius: 6px; }
.gz { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.soluk { color: var(--soluk); }
.kucuk { font-size: .875rem; }
.etk { display: block; font-size: .875rem; font-weight: 700; color: var(--soluk); margin: 0 0 .35em; }
.mono { font-family: var(--mono); font-size: .9em; }
.yukleniyor { color: var(--soluk); padding: 40px 0; }
.atla { position: absolute; left: 12px; top: -60px; z-index: 200; background: var(--ana); color: var(--ana-ust); padding: 10px 16px; border-radius: 22px; font-weight: 700; }
.atla:focus { top: 12px; }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

/* ---------- düğmeler ---------- */
.dg { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 22px; border-radius: 999px;
  border: 1px solid transparent; font-weight: 700; font-size: 1rem; line-height: 1.2; text-decoration: none; cursor: pointer; text-align: center; }
.dg.ana { background: var(--ana); color: var(--ana-ust); }
.dg.ana:hover { background: #172e6e; color: var(--ana-ust); }
.dg.ikinci { background: var(--yuzey); color: var(--metin2); border-color: var(--cizgi2); }
.dg.ikinci:hover { border-color: var(--ana-metin); color: var(--ana-metin); }
.dg.acik { background: var(--ana-acik); color: var(--ana-metin); }
.dg.acik[aria-pressed="true"], .dg.ikinci[aria-pressed="true"] { background: var(--ana); color: var(--ana-ust); border-color: var(--ana); }
.dg.kayit { background: var(--kayit); color: var(--kayit-ust); min-height: 64px; min-width: 240px; padding: 0 30px; font-size: 1.1875rem; }
.dg.kayit:hover { filter: brightness(.94); }
.dg.kayit.canli { animation: nabiz 1.6s ease-in-out infinite; }
@keyframes nabiz { 50% { box-shadow: 0 0 0 8px color-mix(in srgb, var(--kayit) 22%, transparent); } }
.dg.kucuk { min-height: 44px; padding: 0 16px; font-size: .9375rem; }
.dg.buyuk { min-height: 60px; padding: 0 34px; font-size: 1.125rem; }
.dg[disabled] { opacity: .55; cursor: not-allowed; filter: none; }
.metin-dg { background: none; border: 0; padding: 10px 4px; min-height: 44px; color: var(--bag); font-weight: 700; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; font-size: 1rem; }
.eylem { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 1em 0; }
.eylem.sikisik { gap: 6px; margin: 0; }
.segment { display: inline-flex; border: 1px solid var(--cizgi2); border-radius: 999px; padding: 3px; gap: 2px; background: var(--yuzey); }
.segment button { min-height: 40px; padding: 0 14px; border: 0; border-radius: 999px; background: none; cursor: pointer; color: var(--metin2); font-size: .9375rem; }
.segment button[aria-pressed="true"] { background: var(--ana-acik); color: var(--ana-metin); font-weight: 700; }
select, input[type="text"] { min-height: 48px; padding: 8px 12px; border: 1px solid var(--cizgi2); border-radius: var(--r-ic); background: var(--yuzey); width: 100%; }
textarea { width: 100%; padding: 12px 14px; border: 1px solid var(--cizgi2); border-radius: var(--r-ic); background: var(--yuzey); line-height: 1.5; resize: vertical; }

/* ---------- üst bant ve menü ---------- */
.ust-bant { background: var(--yuzey); border-bottom: 1px solid var(--cizgi); position: sticky; top: 0; z-index: 40; }
.ub-ic { display: flex; align-items: center; gap: 28px; min-height: 68px; }
.marka { font-size: 1.3125rem; font-weight: 700; color: var(--ana-metin); text-decoration: none; white-space: nowrap; }
.menu { display: flex; gap: 6px; }
.menu a { display: inline-flex; align-items: center; min-height: 48px; padding: 0 18px; border-radius: 999px; color: var(--metin2); text-decoration: none; font-size: 1.0625rem; }
.menu a:hover { background: var(--yuzey2); color: var(--metin); }
.menu a[aria-current="page"] { background: var(--ana-acik); color: var(--ana-metin); font-weight: 700; }
.ub-sag { margin-left: auto; display: flex; align-items: center; gap: 16px; }
.seri { font-size: 1rem; color: var(--metin2); white-space: nowrap; }
.kisi { position: relative; }
.kisi-dg { display: inline-flex; align-items: center; gap: 6px; min-height: 48px; padding: 0 16px; border: 1px solid var(--cizgi2); border-radius: 999px; background: var(--yuzey); cursor: pointer; font-weight: 700; color: var(--metin2); max-width: 14em; }
.kisi-ad { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kisi-panel { position: absolute; right: 0; top: calc(100% + 8px); width: min(320px, calc(100vw - 32px)); background: var(--yuzey); border: 1px solid var(--cizgi2);
  border-radius: var(--r-kart); padding: 16px; z-index: 60; display: grid; gap: 14px; }
.kisi-panel[hidden] { display: none; }
.kp-kim { margin: 0; font-size: 1rem; overflow-wrap: anywhere; }
.ayar { display: grid; gap: 6px; }
.ayar .etk { margin: 0; }
.kp-bag { display: flex; align-items: center; min-height: 48px; padding: 0 4px; border: 0; border-top: 1px solid var(--cizgi); background: none; color: var(--bag); font-weight: 700; text-decoration: none; cursor: pointer; font-size: 1rem; width: 100%; text-align: left; }

/* ---------- alt bilgi ---------- */
.alt { border-top: 1px solid var(--cizgi); background: var(--yuzey); color: var(--soluk); font-size: .875rem; padding: 20px 0; }
.alt-ic { display: grid; gap: 4px; }
.alt p { margin: 0 0 .5em; }

/* ---------- ortak bileşenler ---------- */
.kart { background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: var(--r-kart); padding: 20px 22px; }
.kart + .kart, .kart + section, section + .kart { margin-top: 16px; }
.kart-bas { font-size: 1.0625rem; margin: 0 0 .75em; }
.durum-kart { max-width: 560px; }
.sayfa-bas { margin-bottom: 20px; }
.sayfa-bas h1 { margin-bottom: .2em; }
.alt-baslik { color: var(--metin2); font-size: 1.0625rem; max-width: 62ch; }
.tarih { color: var(--soluk); font-size: 1rem; margin: 0 0 .25em; }
.dar-sayfa { max-width: 860px; }
.dar-sayfa.genis { max-width: 1100px; }
.rozet { display: inline-block; font-size: .8125rem; font-weight: 700; padding: 2px 10px; border-radius: 999px; background: var(--yuzey2); color: var(--metin2); border: 1px solid var(--cizgi); }
.rozet.uyari { background: var(--amber-zemin); color: var(--amber-koyu); border-color: transparent; }
.sv { display: inline-block; font-size: .8125rem; font-weight: 700; padding: 1px 9px; border-radius: 999px; background: var(--ana-acik); color: var(--ana-metin); vertical-align: middle; }
.duz-liste { margin: 0 0 .75em; padding-left: 1.3em; }
.duz-liste li { margin: .3em 0; }
.tablo-sar { overflow-x: auto; }
.tablo-sar.dar { max-width: 420px; }
.tablo { width: 100%; border-collapse: collapse; font-size: 1rem; }
.tablo th, .tablo td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--cizgi); }
.tablo thead th { font-size: .875rem; color: var(--soluk); }
.tablo td.dusuk { color: var(--amber-koyu); font-weight: 700; }
details.acilir { border-top: 1px solid var(--cizgi); margin-top: 12px; }
details.acilir > summary { cursor: pointer; min-height: 48px; display: flex; align-items: center; gap: 8px; font-weight: 700; color: var(--metin2); list-style: none; }
details.acilir > summary::-webkit-details-marker { display: none; }
details.acilir > summary::before { content: "+"; display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; border: 1px solid var(--cizgi2); font-size: 16px; flex: none; }
details.acilir[open] > summary::before { content: "–"; }
blockquote { margin: .4em 0 .8em; padding: 10px 14px; background: var(--yuzey2); border-radius: var(--r-ic); }
q { quotes: "“" "”"; }
mark.yer, mark.belirsiz { background: var(--amber-zemin); color: var(--amber-koyu); padding: 0 3px; border-radius: 4px; }
.kaynak { display: flex; flex-wrap: wrap; gap: 2px 14px; font-size: .875rem; color: var(--soluk); margin: .5em 0 0; }
.kaynak .etk { display: inline; font-size: inherit; margin: 0; }
.yedek { display: grid; place-content: center; text-align: center; aspect-ratio: 3 / 2; background: var(--yuzey2); color: var(--soluk); border-radius: var(--r-ic); font-size: .9375rem; }
.yedek small { display: block; }
.sayilar { list-style: none; margin: 16px 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.sayilar li > a, .sayilar li:not(:has(a)) { display: flex; flex-direction: column; gap: 2px; height: 100%; padding: 14px 16px; background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: 14px; color: var(--metin); text-decoration: none; }
.sayilar b { font-size: 1.75rem; line-height: 1.1; }
.sayilar span { font-size: .875rem; color: var(--soluk); }
.satirlar { list-style: none; margin: 0; padding: 0; }
.satirlar > li { display: grid; grid-template-columns: 9.5em minmax(0, 1fr) auto; gap: 4px 14px; align-items: baseline; padding: 10px 0; border-bottom: 1px solid var(--cizgi); }
.satirlar > li:last-child { border-bottom: 0; }
.sat-etk { font-size: .875rem; color: var(--soluk); }
.sat-puan { font-weight: 700; white-space: nowrap; }
.acilir-liste > li { display: block; padding: 0; }
.acilir-liste details.acilir { border-top: 0; margin: 0; }
.acilir-liste summary { display: grid !important; grid-template-columns: 9.5em minmax(0, 1fr) auto; gap: 4px 14px; align-items: baseline; padding: 6px 0; font-weight: 400 !important; color: var(--metin) !important; }
.acilir-liste summary::before { display: none !important; }
.acilir-liste details[open] { padding-bottom: 12px; }
.demo-not { background: var(--amber-zemin); color: var(--amber-koyu); padding: 10px 14px; border-radius: var(--r-ic); font-size: .9375rem; }

/* ---------- ölçüt çubukları ---------- */
.oc { margin: 0; display: grid; gap: 2px; }
.oc-satir { display: grid; grid-template-columns: minmax(8.5em, 11em) minmax(0, 1fr); gap: 12px; align-items: center; padding: 6px 10px; border-radius: 10px; }
.oc-satir dt { font-size: 1rem; color: var(--metin2); line-height: 1.25; }
.oc-tr { display: block; font-size: .8125rem; color: var(--soluk); }
.oc-satir dd { margin: 0; display: flex; align-items: center; gap: 10px; }
.oc-cubuk { position: relative; flex: 1; height: 8px; border-radius: 4px; background: var(--cizgi); }
.oc-cubuk i { display: block; height: 100%; border-radius: 4px; background: var(--ana); }
.oc-cubuk:not(.ince)::after { content: ""; position: absolute; left: 66.67%; top: -4px; bottom: -4px; width: 2px; background: var(--soluk); opacity: .55; }
.oc-puan { min-width: 2.2em; text-align: right; font-size: 1.0625rem; }
.oc-satir.zayif { background: var(--amber-zemin); }
.oc-satir.zayif dt, .oc-satir.zayif .oc-puan { color: var(--amber-koyu); font-weight: 700; }
.oc-satir.zayif .oc-cubuk i { background: var(--amber); }
.oc-isaret { display: inline-block; margin-left: 6px; font-size: .75rem; font-weight: 700; color: var(--amber-koyu); border: 1px solid currentColor; border-radius: 999px; padding: 0 7px; vertical-align: 1px; }
.egilim { font-size: .75rem; width: 1em; }
.egilim.yukari { color: var(--yesil); }
.egilim.asagi { color: var(--amber); }
.oc-not { font-size: .8125rem; color: var(--soluk); margin: 10px 0 0; display: flex; gap: 8px; align-items: center; }
.oc-esik { display: inline-block; width: 2px; height: 14px; background: var(--soluk); opacity: .55; }

/* ---------- Bugün ---------- */
.bugun { display: grid; grid-template-columns: minmax(0, 440px) minmax(0, 1fr); gap: 32px; align-items: start; }
.bugun-sol { display: flex; flex-direction: column; gap: 16px; }
.bugun-sol h1 { margin: 0; }
.bugun-sol .alt-baslik { margin: -8px 0 0; font-size: 1.25rem; }
.plan-kart { display: flex; flex-direction: column; gap: 6px; padding: 24px; border-radius: var(--r-kart); background: var(--ana); color: #fff; text-decoration: none; }
.plan-kart:hover { color: #fff; background: #172e6e; }
.plan-kart:focus-visible { outline-offset: 4px; }
.pk-ust { font-size: .9375rem; color: var(--ana-kart-soluk); }
.pk-ana { font-size: 1.625rem; font-weight: 700; line-height: 1.2; }
.pk-alt { font-size: 1rem; color: var(--ana-kart-alt); }
.serit { list-style: none; margin: 10px 0 0; padding: 0; display: flex; gap: 6px; }
.serit li { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 8px; font-size: .875rem; font-weight: 700; background: var(--yuzey2); color: var(--soluk); border: 1px solid var(--cizgi); }
.serit li.bitti { background: var(--ana); color: #fff; border-color: var(--ana); }
.serit li.simdi { border: 2px solid var(--ana-metin); color: var(--ana-metin); }
.plan-kart .serit li { background: rgba(255, 255, 255, .12); color: #dbe4fa; border-color: rgba(255, 255, 255, .25); }
.plan-kart .serit li.bitti { background: #fff; color: #1e3a8a; border-color: #fff; }
.plan-kart .serit li.simdi { border: 2px solid #fff; color: #fff; }
.part-kisayol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.part-kisayol a { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: 14px; color: var(--metin); text-decoration: none; }
.part-kisayol a:hover { border-color: var(--ana-metin); }
.part-kisayol b { font-size: 1.25rem; }
.part-kisayol span { font-size: .875rem; color: var(--soluk); }
.seviye-kart { display: flex; gap: 14px; align-items: center; }
.seviye-kart p { margin: 2px 0 0; color: var(--soluk); font-size: .9375rem; }
.seviye-kart b { font-size: 1.0625rem; }
.seviye-yuvarlak { flex: none; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--ana-acik); color: var(--ana-metin); font-size: 1.375rem; font-weight: 700; }
.seviye-yuvarlak.dusuk { background: var(--amber-zemin); color: var(--amber-koyu); }
.seviye-yuvarlak.yuksek { background: var(--yesil-zemin); color: var(--yesil); }
.seviye-yuvarlak.buyuk { width: 88px; height: 88px; font-size: 2.25rem; }
.sinav-bag { display: block; padding: 14px 18px; border: 2px solid var(--ana-metin); border-radius: 14px; color: var(--ana-metin); font-weight: 700; text-decoration: none; font-size: 1.0625rem; }
.sinav-bag:hover { background: var(--ana-acik); }
.bugun-sag > .kart + .kart { margin-top: 16px; }
.ogretmen-not p:last-child, .son-cevap p:last-child { margin-bottom: 0; }

/* ---------- görev ekranı ---------- */
.gorev { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); grid-template-areas: "ust ust" "adim adim" "sol sag"; gap: 18px 28px; align-items: start; }
.gorev-ust { grid-area: ust; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.ilerleme { flex: 1 1 200px; height: 10px; border-radius: 5px; background: var(--cizgi); overflow: hidden; }
.ilerleme i { display: block; height: 100%; background: var(--ana); border-radius: 5px; }
.gorev-yer { margin: 0; font-size: .9375rem; color: var(--soluk); }
.adimlar { grid-area: adim; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.adimlar li { display: flex; align-items: center; gap: 8px; font-size: .9375rem; color: var(--soluk); padding: 6px 0; border-top: 3px solid var(--cizgi); }
.adim-no { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; border: 1px solid var(--cizgi2); font-size: .8125rem; font-weight: 700; flex: none; }
.adimlar li.bitti { border-top-color: var(--ana); }
.adimlar li.bitti .adim-no { background: var(--ana-acik); color: var(--ana-metin); border-color: transparent; }
.adimlar li[aria-current="step"] { color: var(--ana-metin); font-weight: 700; border-top-color: var(--ana); }
.adimlar li[aria-current="step"] .adim-no { background: var(--ana); color: #fff; border-color: var(--ana); }
.gorev-sol { grid-area: sol; background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: var(--r-kart); padding: 26px 28px; display: flex; flex-direction: column; gap: 14px; }
.gorev-sag { grid-area: sag; display: flex; flex-direction: column; gap: 16px; }
.gorev-baslik { font-size: 1.0625rem; color: var(--ana-metin); margin: 0; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.gorev-tr { margin: 0; color: var(--metin2); font-size: 1.0625rem; }
.soru-blok .etk { margin-bottom: .4em; }
.soru-metin { font-size: 1.5rem; line-height: 1.38; font-weight: 700; margin: 0 0 .6em; color: var(--metin); }
.soru-gizli { font-size: 1.125rem; color: var(--metin2); background: var(--yuzey2); border-radius: var(--r-ic); padding: 14px 16px; }
.soru-dg { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0; }
.dinleme .d-giris { font-size: 1.125rem; }
.d-sorular { font-size: 1.375rem; line-height: 1.5; font-weight: 700; margin: 0 0 .6em; padding-left: 1.4em; }
.d-sorular li { margin: .15em 0; }
.oynatici { background: var(--zemin); border: 1px solid var(--cizgi); border-radius: 14px; padding: 14px 16px; margin: 6px 0 12px; }
.oynatici audio { width: 100%; margin-bottom: 6px; }
.oyn-say { margin: 0; display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: .9375rem; }
.oyn-say > span:first-child { font-weight: 700; }
.oyn-dg { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 0; }
.oyn-dg:empty { display: none; }
.telsiz-metin { font-family: var(--mono); font-size: .9375rem; background: var(--yuzey2); border-radius: var(--r-ic); padding: 12px 14px; }
.telsiz-metin p { margin: .25em 0; }
.kim { display: inline-block; min-width: 5.2em; font-weight: 700; color: var(--ana-metin); }
.not-kutu { font-family: var(--mono); font-size: 1rem; }
.g-foto { margin: 0; }
.foto-dg { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; border-radius: var(--r-ic); }
.g-foto img { display: block; width: 100%; max-height: 440px; object-fit: cover; border-radius: var(--r-ic); background: var(--yuzey2); }
.g-foto figcaption { margin-top: 8px; font-size: .9375rem; color: var(--metin2); }
.g-foto.tam-ekran { position: fixed; inset: 0; z-index: 120; background: rgba(5, 10, 20, .94); padding: 16px; display: flex; flex-direction: column; justify-content: center; }
.g-foto.tam-ekran .foto-dg { cursor: zoom-out; }
.g-foto.tam-ekran img { max-height: 84vh; object-fit: contain; background: none; }
.g-foto.tam-ekran figcaption, .g-foto.tam-ekran .kaynak, .g-foto.tam-ekran a { color: #e5eaf3; }
.daha-fazla { display: grid; gap: 8px; }
.daha-fazla > :not(summary) { margin-left: 0; }
.ornek p { margin: 0 0 .6em; }
.anlatim { border: 1px solid var(--cizgi); border-radius: var(--r-kart); background: var(--yuzey); padding: 14px 18px; margin: 0; }
.anlatim legend { font-weight: 700; padding: 0 6px; font-size: 1rem; }
.anlatim label { display: flex; gap: 10px; align-items: flex-start; min-height: 44px; padding: 6px 0; font-size: .9375rem; cursor: pointer; }
.anlatim input { width: 22px; height: 22px; margin-top: 2px; flex: none; accent-color: var(--ana); }
.anlatim i { color: var(--soluk); }
.kayit-panel { background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: var(--r-kart); padding: 18px 20px; }
.kp-ust { display: flex; justify-content: space-between; gap: 12px; font-size: .9375rem; color: var(--soluk); margin: 0 0 8px; }
.lamba::before { content: ""; display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: var(--cizgi2); margin-right: 6px; vertical-align: 0; }
.lamba.acik { color: var(--kayit); font-weight: 700; }
.lamba.acik::before { background: var(--kayit); }
.sure { font-family: var(--mono); font-weight: 700; color: var(--metin2); }
.kp-not { min-height: 1.6em; font-size: .9375rem; color: var(--metin2); margin: 0 0 6px; }
.kayit-panel textarea { min-height: 5em; font-size: 1.0625rem; }
.kayit-panel audio { width: 100%; margin-top: 10px; }
.yedek-yazi { border-left: 3px solid var(--cizgi2); padding-left: 12px; margin-top: 6px; }
.eylem-cubugu { background: var(--yuzey2); border-radius: var(--r-kart); padding: 18px; }
.eylem-ic { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; align-items: center; }
.eylem-ic .dg { min-height: 56px; }
.eylem-ipucu { text-align: center; color: var(--soluk); font-size: .9375rem; margin: 10px 0 0; }

/* geri bildirim */
.geri-bildirim { background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: var(--r-kart); padding: 20px 22px; }
.geri-bildirim:focus { outline: none; }
.geri-bildirim .olcut-kart { border: 0; padding: 0; margin-top: 14px; }
.ana-duzeltme { border-left: 6px solid var(--ana); background: var(--ana-acik); border-radius: 0 var(--r-ic) var(--r-ic) 0; padding: 14px 18px; }
.ana-duzeltme .etk { color: var(--ana-metin); }
.ana-duzeltme p { margin: 0 0 .5em; }
.ad-etk { display: block; font-size: .8125rem; font-weight: 700; color: var(--soluk); }
.ad-soyledin q { font-size: 1.125rem; color: var(--metin2); }
.ad-iyi q { font-size: 1.25rem; font-weight: 700; color: var(--metin); }
.ad-neden { color: var(--metin2); font-size: .9375rem; }
.gb-seviye { margin: 14px 0 0; }
.gb-bolum h3 { margin-top: 1em; }
.gb-liste { margin: 0; padding-left: 1.2em; }
.gb-liste li { margin: .3em 0; }
.gb-liste.kacan li::marker { color: var(--amber); }
.hatalar { padding-left: 1.3em; }
.hatalar s { color: var(--soluk); }
.kiyas { margin-top: 16px; }
.kiyas-metin { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.kiyas-metin figure { margin: 0; }
.kiyas-metin figcaption { font-size: .875rem; font-weight: 700; color: var(--soluk); }
.kiyas-tablo td, .kiyas-tablo th { padding: 6px 10px; }
.oz-degerlendir { border-top: 1px solid var(--cizgi); margin-top: 16px; padding-top: 14px; }
.oz-degerlendir > div { display: flex; flex-wrap: wrap; gap: 8px; }
.oz-degerlendir p { margin: 0 0 8px; }

/* ---------- Çalış ---------- */
.part-sekme { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.part-sekme a { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; padding: 14px 18px; border: 1px solid var(--cizgi); border-radius: 14px; background: var(--yuzey); color: var(--metin); text-decoration: none; min-height: 56px; }
.part-sekme a b { font-size: 1.1875rem; }
.part-sekme a[aria-current="page"] { background: var(--ana-acik); border-color: var(--ana-metin); color: var(--ana-metin); }
.suzgec { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; margin-bottom: 12px; }
.cipler { display: flex; flex-wrap: wrap; gap: 8px; }
.cip { display: inline-flex; align-items: center; gap: 6px; min-height: 48px; padding: 0 16px; border: 1px solid var(--cizgi2); border-radius: 999px; background: var(--yuzey); color: var(--metin2); text-decoration: none; cursor: pointer; font-size: 1rem; }
.cip[aria-current="true"], .cip[aria-pressed="true"] { background: var(--ana-acik); color: var(--ana-metin); border-color: var(--ana-metin); font-weight: 700; }
.sayac { color: var(--metin2); margin: 0 0 10px; }
.soru-liste { list-style: none; margin: 0; padding: 0; background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: var(--r-kart); overflow: hidden; }
.soru-liste li + li { border-top: 1px solid var(--cizgi); }
.soru-liste a { display: block; padding: 14px 20px; color: var(--metin); text-decoration: none; }
.soru-liste a:hover { background: var(--yuzey2); }
.sl-ust { display: block; font-size: .875rem; color: var(--soluk); }
.sl-metin { display: block; font-size: 1.0625rem; }
.calisildi { color: var(--yesil); font-weight: 700; }
.foto-izgara { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 16px; }
.foto-kart { display: flex; flex-direction: column; gap: 4px; height: 100%; background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: var(--r-kart); padding: 10px 10px 14px; color: var(--metin); text-decoration: none; }
.foto-kart:hover { border-color: var(--ana-metin); }
.foto-kart img, .foto-kart .yedek { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 10px; background: var(--yuzey2); margin-bottom: 6px; }
.fk-ad { font-weight: 700; font-size: 1rem; line-height: 1.35; }
.foto-kart .soluk { font-size: .875rem; }
.kayitlar { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.kayit-kart h3 { margin-top: .3em; }
.kayit-kart.hedef { border-color: var(--ana-metin); border-width: 2px; }
.kayit-kart audio { width: 100%; }
.kk-ust { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0; color: var(--soluk); }
.baglam, .gorev-kutu { background: var(--yuzey2); border-radius: var(--r-ic); padding: 12px 14px; margin: 10px 0; }
.puansiz { margin-top: 8px; }
.anahtar-bolum h4 { margin: .8em 0 .3em; font-size: 1rem; }
.video { position: relative; aspect-ratio: 16 / 9; }
.video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; border-radius: var(--r-ic); }
.yontem-not { font-size: 1rem; }
.ara-baslik { margin-top: 28px; }

/* ---------- Sınav ---------- */
.format { list-style: none; margin: 0 0 16px; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.format li { display: flex; flex-direction: column; gap: 2px; margin: 0 !important; }
.format li b { font-size: 1.125rem; }
.format li > span { color: var(--soluk); font-size: .9375rem; }
.format li p { font-size: .9375rem; margin: .5em 0 0; }
.sinav-bant { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; background: var(--ana); color: #fff; border-radius: 14px; padding: 10px 18px; margin-bottom: 10px; }
.sinav-bant .metin-dg { color: #fff; margin-left: auto; }
.sb-say { font-size: 1.25rem; }
.sb-sure { font-family: var(--mono); font-weight: 700; }
.sinav-cizgi { list-style: none; margin: 0 0 18px; padding: 0; display: flex; gap: 3px; }
.sinav-cizgi li { flex: 1; height: 6px; border-radius: 3px; background: var(--cizgi); }
.sinav-cizgi li.pB { background: var(--cizgi2); }
.sinav-cizgi li.bitti { background: var(--ana); }
.sinav-cizgi li.simdi { background: var(--ana-metin); outline: 2px solid var(--ana-metin); outline-offset: 1px; }
.genel-kart { display: flex; gap: 20px; align-items: center; }
.genel-kart b { font-size: 1.375rem; }
.genel-kart p { margin: 4px 0 0; }

/* ---------- Defterim ---------- */
.defter-izgara { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: start; margin-bottom: 16px; }
.defter-izgara > div > * + * { margin-top: 16px; }
.kutular { list-style: none; margin: 12px 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.kutular li { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 10px 4px; border: 1px solid var(--cizgi); border-radius: 12px; font-size: .8125rem; line-height: 1.3; }
.kutular b { font-size: 1.5rem; }
.kapsama { margin: 0; display: grid; gap: 10px; }
.kapsama div { display: grid; grid-template-columns: minmax(8em, 12em) minmax(0, 1fr); gap: 10px; align-items: center; }
.kapsama dt { font-size: .9375rem; }
.kapsama dd { margin: 0; display: flex; align-items: center; gap: 10px; font-size: .9375rem; }
.kapsama b { min-width: 4.5em; text-align: right; }
.gb-kopya { margin-top: 6px; }

/* ---------- Rehber ---------- */
.rehber > section { max-width: 980px; margin: 0 0 36px; }
.rehber > section:focus { outline: none; }
.ic-menu { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.ic-menu a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; border: 1px solid var(--cizgi2); border-radius: 999px; text-decoration: none; color: var(--metin2); background: var(--yuzey); font-size: .9375rem; }
.olcut-tablo { background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: var(--r-kart); }
.olcut-tablo th[scope="row"] { min-width: 12em; }
.tanim { display: block; font-weight: 400; font-size: .875rem; color: var(--soluk); margin-top: 4px; }
.olcek { list-style: none; margin: 16px 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; }
.olcek li { padding: 10px 6px; text-align: center; border: 1px solid var(--cizgi); border-radius: 12px; font-size: .8125rem; background: var(--yuzey); }
.olcek li b { display: block; font-size: 1.375rem; }
.olcek li.ops { background: var(--ana-acik); color: var(--ana-metin); border-color: transparent; }
.numarali { list-style: decimal; }

/* ---------- Üyeler ---------- */
.uye-tablo td, .uye-tablo th { vertical-align: middle; }
.rozet.durum-pending { background: var(--amber-zemin); color: var(--amber-koyu); border-color: transparent; }
.rozet.durum-approved { background: var(--yesil-zemin); color: var(--yesil); border-color: transparent; }

/* ---------- ders notu ---------- */
.ders-notu .serit { margin: 6px 0 18px; }
.duzeltme-liste { margin: 0; padding-left: 1.3em; }
.duzeltme-liste li { margin-bottom: 12px; }
.duzeltme-liste p { margin: 0 0 4px; }
.duzeltme-liste s { color: var(--soluk); }

/* ---------- giriş sayfası ---------- */
.giris-sayfa { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 40px; align-items: start; padding-top: 24px; }
.form-sekme { display: inline-flex; border: 1px solid var(--cizgi2); border-radius: 999px; padding: 3px; margin-bottom: 18px; }
.form-sekme button { min-height: 44px; padding: 0 20px; border: 0; border-radius: 999px; background: none; cursor: pointer; font-weight: 700; color: var(--metin2); }
.form-sekme button[aria-selected="true"] { background: var(--ana-acik); color: var(--ana-metin); }
.form-kart form { display: grid; gap: 14px; }
.form-kart .alan { display: grid; gap: 4px; }
.form-kart input[type="email"], .form-kart input[type="password"], .form-kart input[type="text"] { min-height: 52px; padding: 10px 14px; border: 1px solid var(--cizgi2); border-radius: var(--r-ic); background: var(--yuzey); width: 100%; font-size: 1.0625rem; }
.sifre-sar { display: flex; gap: 8px; }
.sifre-goster { min-height: 52px; padding: 0 16px; border: 1px solid var(--cizgi2); border-radius: var(--r-ic); background: var(--yuzey); cursor: pointer; font-weight: 700; color: var(--metin2); }
.form-hata { color: var(--kayit); font-weight: 700; min-height: 1.4em; margin: 0; }
.tam-gen { width: 100%; }

/* ---------- geniş tablet ve altı: tek sütun ---------- */
@media (max-width: 959px) {
  .bugun, .defter-izgara { grid-template-columns: minmax(0, 1fr); }
  .gorev { grid-template-columns: minmax(0, 1fr); grid-template-areas: "ust" "adim" "sol" "sag"; }
  .giris-sayfa { grid-template-columns: minmax(0, 1fr); gap: 20px; }
}

/* ---------- telefon: altta sabit sekme çubuğu; görevde onun yerine eylem çubuğu ---------- */
@media (max-width: 759px) {
  .sar { padding: 0 16px; }
  main { padding: 18px 0 calc(96px + env(safe-area-inset-bottom)); }
  h1 { font-size: 1.75rem; }
  .ub-ic { min-height: 58px; gap: 12px; }
  .seri { font-size: .9375rem; }
  .kisi-dg { padding: 0 12px; max-width: 9em; }
  .menu { position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0;
    background: var(--yuzey); border-top: 1px solid var(--cizgi); padding: 0 4px env(safe-area-inset-bottom); }
  .menu a { flex-direction: column; justify-content: center; min-height: 64px; padding: 0 2px; border-radius: 0; font-size: .875rem; border-top: 3px solid transparent; }
  .menu a[aria-current="page"] { background: none; border-top-color: var(--ana-metin); }
  .gorevde .menu { display: none; }
  .gorevde main { padding-bottom: calc(150px + env(safe-area-inset-bottom)); }
  .gorevde .alt { padding-bottom: calc(130px + env(safe-area-inset-bottom)); }
  .alt { padding-bottom: calc(84px + env(safe-area-inset-bottom)); }
  .eylem-cubugu { position: fixed; left: 0; right: 0; bottom: 0; z-index: 55; border-radius: 0; background: var(--yuzey); border-top: 1px solid var(--cizgi2);
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); }
  .eylem-ic { flex-wrap: nowrap; gap: 8px; }
  .eylem-ic .dg { flex: 1 1 0; min-width: 0; min-height: 56px; padding: 0 12px; font-size: 1rem; }
  .eylem-ic .dg.kayit { flex: 2 1 0; min-height: 60px; font-size: 1.125rem; }
  .eylem-ipucu { display: none; }
  .gorev { gap: 14px; }
  .gorev-sol { padding: 18px 16px; }
  .kayit-panel, .geri-bildirim, .kart { padding: 16px; }
  .adimlar li { flex-direction: column; align-items: flex-start; gap: 2px; font-size: .8125rem; line-height: 1.2; }
  .soru-metin { font-size: 1.375rem; }
  .d-sorular { font-size: 1.1875rem; }
  .g-foto img { max-height: 300px; }
  .part-kisayol a, .part-sekme a { padding: 12px; }
  .part-sekme a { flex-direction: column; gap: 0; }
  .part-kisayol b, .part-sekme a b { font-size: 1.0625rem; }
  .format { grid-template-columns: minmax(0, 1fr); }
  .kiyas-metin { grid-template-columns: minmax(0, 1fr); }
  .satirlar > li, .acilir-liste summary { grid-template-columns: minmax(0, 1fr) auto !important; }
  .satirlar .sat-etk, .acilir-liste .sat-etk { grid-column: 1 / -1; }
  .oc-satir { grid-template-columns: minmax(7.5em, 8.5em) minmax(0, 1fr); padding: 6px 8px; gap: 8px; }
  .kapsama div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .olcek { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sayilar { gap: 8px; }
  .sayilar li > a, .sayilar li:not(:has(a)) { padding: 12px; }
  .sayilar b { font-size: 1.5rem; }
  .dg.kayit { min-width: 0; }
  /* ölçüt tablosu: satırlar kart olur */
  .olcut-tablo, .olcut-tablo tbody, .olcut-tablo tr, .olcut-tablo th, .olcut-tablo td { display: block; width: 100%; }
  .olcut-tablo thead { display: none; }
  .olcut-tablo tr { border-bottom: 1px solid var(--cizgi); padding: 8px 0; }
  .olcut-tablo td, .olcut-tablo th { border: 0; padding: 6px 14px; }
  .olcut-tablo td::before { content: attr(data-l); display: block; font-size: .8125rem; font-weight: 700; color: var(--soluk); }
  .uye-tablo th, .uye-tablo td { padding: 8px 6px; }
}
@media (max-width: 380px) {
  .seri { display: none; }
  .marka { font-size: 1.125rem; }
}

/* #016-#020: tanıma uyarısı, ölçülemedi / tahmin etiketi, telaffuz ipucu, rakam kartları, hızlı tur */
.ad-uyari { color: var(--metin2); font-size: .875rem; margin-top: -2px; }
.oc-etiket { display: inline-block; margin-left: 6px; font-size: .75rem; font-weight: 700; color: var(--metin2); border: 1px solid currentColor; border-radius: 999px; padding: 0 7px; vertical-align: 1px; white-space: nowrap; }
.okunus { font-family: ui-monospace, Consolas, monospace; letter-spacing: .02em; }
.gb-liste.telaffuz li { margin-bottom: 8px; }
.isaret { margin-top: 12px; }
.vocab-kartlar { list-style: none; padding: 0; display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.vocab-kartlar .kart p { margin: 4px 0; }
.vk-ust b { font-size: 1.25rem; margin-right: 6px; }
.aciklama-kutu h3 { margin-top: 0; }
.hizli-tur { margin: 8px 0 14px; font-size: .9375rem; color: var(--metin2); }
.baglanti-dg { background: none; border: 0; padding: 4px 0; font: inherit; color: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; min-height: 44px; font-weight: 700; }

/* ses çalan düğmelerin yanında oynat simgesi (çalarken duraklat simgesi) */
#gDinle::before, #eDinle::before, #gTekrar::before, [data-oku]::before, [data-kayit-tts]::before {
  content: ""; flex: none; width: 1.05em; height: 1.05em; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4.5v15l12.5-7.5z'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4.5v15l12.5-7.5z'/%3E%3C/svg%3E") center / contain no-repeat;
}
#gDinle[aria-pressed="true"]::before, [data-oku][aria-pressed="true"]::before, [data-kayit-tts][aria-pressed="true"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 4.5h4.2v15H6zM13.8 4.5H18v15h-4.2z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 4.5h4.2v15H6zM13.8 4.5H18v15h-4.2z'/%3E%3C/svg%3E");
}
