/* Algoritma Analizi Vize Simülatörü
   Palet: soğuk gri kâğıt + viridis vurgu; logo, küçükten büyüğe sıralanmış çubuklar. */

:root {
  --kagit: #eef0f2;
  --yuzey: #ffffff;
  --yuzey-2: #f6f7f9;
  --murekkep: #1a1d24;
  --soluk: #5b6270;
  --cizgi: #d6dae0;
  --cizgi-guclu: #b9bfc8;
  --mor: #46185f;
  --mavi: #3b528b;
  --camgobegi: #1f7f7b;
  --camgobegi-acik: #d7efed;
  --yesil: #3f9b4f;
  --sari: #f2d21b;
  --sari-zemin: #fdf6c9;
  --kirmizi: #b3261e;
  --kirmizi-zemin: #fbe4e2;
  --kod-zemin: #f3f4f7;
  --golge: 0 1px 0 rgba(26, 29, 36, 0.06);
  --v0: #440154; --v1: #482878; --v2: #3e4989; --v3: #31688e; --v4: #26828e;
  --v5: #1f9e89; --v6: #35b779; --v7: #6ece58; --v8: #b5de2b; --v9: #fde725;
  --yazi: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --baslik: "IBM Plex Sans Condensed", "IBM Plex Sans", system-ui, sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;
  --genislik: 1040px;
  --okuma: 72ch;
  color-scheme: light;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --kagit: #121417; --yuzey: #1b1e23; --yuzey-2: #22262c; --murekkep: #e7e9ed; --soluk: #a1a8b3;
    --cizgi: #2e333b; --cizgi-guclu: #444b55; --mor: #c9a7f0; --mavi: #8fa7e0; --camgobegi: #4cc3ba;
    --camgobegi-acik: #173533; --yesil: #6ed27f; --sari: #fde725; --sari-zemin: #3a3610;
    --kirmizi: #ff8a80; --kirmizi-zemin: #3d1d1b; --kod-zemin: #15181c; --golge: none;
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --kagit: #121417; --yuzey: #1b1e23; --yuzey-2: #22262c; --murekkep: #e7e9ed; --soluk: #a1a8b3;
  --cizgi: #2e333b; --cizgi-guclu: #444b55; --mor: #c9a7f0; --mavi: #8fa7e0; --camgobegi: #4cc3ba;
  --camgobegi-acik: #173533; --yesil: #6ed27f; --sari: #fde725; --sari-zemin: #3a3610;
  --kirmizi: #ff8a80; --kirmizi-zemin: #3d1d1b; --kod-zemin: #15181c; --golge: none;
  color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--kagit);
  color: var(--murekkep);
  font: 400 1rem/1.6 var(--yazi);
  font-feature-settings: "tnum" 0;
}
img, svg { max-width: 100%; }
a { color: var(--camgobegi); text-underline-offset: 2px; }
:focus-visible { outline: 2px solid var(--camgobegi); outline-offset: 2px; border-radius: 2px; }
.atla { position: absolute; left: -999px; top: 0; background: var(--yuzey); padding: .5rem 1rem; z-index: 50; }
.atla:focus { left: 1rem; }
h1, h2, h3, h4 { font-family: var(--baslik); font-weight: 600; line-height: 1.2; margin: 0 0 .5em; letter-spacing: -0.005em; }
h1 { font-size: clamp(1.9rem, 4vw, 2.6rem); font-weight: 700; }
h2 { font-size: 1.35rem; }
h3 { font-size: 1.1rem; }
p { margin: 0 0 .9em; }
code, pre, kbd { font-family: var(--mono); font-size: .92em; }
:not(pre) > code { background: var(--kod-zemin); padding: .05em .35em; border-radius: 3px; border: 1px solid var(--cizgi); }
pre { background: var(--kod-zemin); border: 1px solid var(--cizgi); border-radius: 4px; padding: .8rem 1rem; overflow-x: auto; line-height: 1.5; margin: 0 0 1rem; }
pre code { background: none; border: 0; padding: 0; }
table { border-collapse: collapse; margin: 0 0 1rem; font-variant-numeric: tabular-nums; }
th, td { border: 1px solid var(--cizgi); padding: .3rem .55rem; text-align: left; vertical-align: top; }
th { background: var(--yuzey-2); font-weight: 600; }
.tablo-sar { overflow-x: auto; max-width: 100%; }
.tablo-sar table { min-width: max-content; }
button, input, select, textarea { font: inherit; color: inherit; }
[hidden] { display: none !important; }

/* ---------- Üst çubuk ---------- */
.ust { position: sticky; top: 0; z-index: 20; background: color-mix(in srgb, var(--kagit) 88%, transparent); backdrop-filter: blur(8px); border-bottom: 1px solid var(--cizgi); }
.ust-ic { max-width: var(--genislik); margin: 0 auto; padding: .55rem 1rem; display: flex; align-items: center; gap: 1rem; }
.logo { display: flex; align-items: center; gap: .6rem; text-decoration: none; color: var(--murekkep); flex-shrink: 0; }
.logo-izgara { display: grid; grid-template-columns: repeat(3, 7px); gap: 1px; }
.logo-izgara i { width: 7px; height: 7px; display: block; }
.logo-izgara i:nth-child(1) { background: var(--v0); } .logo-izgara i:nth-child(2) { background: var(--v2); }
.logo-izgara i:nth-child(3) { background: var(--v4); } .logo-izgara i:nth-child(4) { background: var(--v2); }
.logo-izgara i:nth-child(5) { background: var(--v4); } .logo-izgara i:nth-child(6) { background: var(--v6); }
.logo-izgara i:nth-child(7) { background: var(--v4); } .logo-izgara i:nth-child(8) { background: var(--v6); }
.logo-izgara i:nth-child(9) { background: var(--v9); }
.logo-yazi { font-family: var(--baslik); font-weight: 600; font-size: 1.05rem; white-space: nowrap; }
.logo-yazi b { color: var(--mor); font-weight: 700; }
.sekmeler { display: flex; gap: .15rem; overflow-x: auto; scrollbar-width: none; flex: 1; min-width: 0; }
.sekmeler::-webkit-scrollbar { display: none; }
.sekmeler a { padding: .4rem .7rem; border-radius: 4px; text-decoration: none; color: var(--soluk); white-space: nowrap; font-weight: 500; font-size: .95rem; }
.sekmeler a:hover { color: var(--murekkep); background: var(--yuzey-2); }
.sekmeler a[aria-current="page"] { color: var(--murekkep); background: var(--yuzey); box-shadow: inset 0 -2px 0 var(--camgobegi); }
.tema-dugme { border: 1px solid var(--cizgi); background: var(--yuzey); border-radius: 4px; width: 34px; height: 34px; display: grid; place-items: center; cursor: pointer; color: var(--soluk); flex-shrink: 0; }
.sayac-serit { background: var(--mor); color: #fff; }
.sayac-serit .ic { max-width: var(--genislik); margin: 0 auto; padding: .35rem 1rem; display: flex; align-items: center; gap: 1rem; font-variant-numeric: tabular-nums; font-size: .95rem; }
.sayac-serit .sure { font-family: var(--mono); font-weight: 600; font-size: 1.05rem; }
.sayac-serit .sure.az { color: var(--sari); }
.sayac-serit a { color: #fff; }
:root[data-theme="dark"] .sayac-serit, :root:not([data-theme="light"]) .sayac-serit { color: #fff; }

@media (max-width: 720px) {
  .ust-ic { flex-wrap: wrap; gap: .4rem .8rem; padding: .5rem 1rem .3rem; }
  .sekmeler { order: 3; flex-basis: 100%; margin: 0 -1rem; padding: 0 .6rem; }
  .logo { flex: 1; }
}

/* ---------- Sayfa ---------- */
main { max-width: var(--genislik); margin: 0 auto; padding: 1.6rem 1rem 4rem; outline: none; }
#ana:focus, #ana:focus-visible { outline: none; }
.sayfa-bas { margin-bottom: 1.6rem; }
.giris { color: var(--soluk); max-width: var(--okuma); font-size: 1.05rem; }
.dugme { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; border: 1px solid var(--cizgi-guclu); background: var(--yuzey); color: var(--murekkep); padding: .5rem .95rem; border-radius: 4px; cursor: pointer; font-weight: 500; text-decoration: none; line-height: 1.3; min-height: 38px; }
.dugme:hover { border-color: var(--murekkep); }
.dugme.ana { background: var(--camgobegi); border-color: var(--camgobegi); color: #fff; }
:root[data-theme="dark"] .dugme.ana { color: #0b1f1e; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .dugme.ana { color: #0b1f1e; } }
.dugme.ana:hover { filter: brightness(1.08); }
.dugme.ince { border-color: transparent; background: transparent; color: var(--soluk); padding-inline: .5rem; }
.dugme.ince:hover { color: var(--murekkep); border-color: var(--cizgi); }
.dugme[disabled] { opacity: .5; cursor: not-allowed; }
.dugme[aria-pressed="true"] { background: var(--camgobegi-acik); border-color: var(--camgobegi); color: var(--camgobegi); }
.dugme.kucuk { min-height: 30px; padding: .25rem .6rem; font-size: .9rem; }
.dugme-sira { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }

/* önem göstergesi: 3 piksel */
.onem { display: inline-flex; gap: 2px; vertical-align: middle; }
.onem i { width: 8px; height: 8px; background: var(--cizgi); display: block; }
.onem[data-n="1"] i:nth-child(1) { background: var(--v4); }
.onem[data-n="2"] i:nth-child(-n+2) { background: var(--v6); }
.onem[data-n="3"] i { background: var(--v8); }
.onem[data-n="3"] i:nth-child(3) { background: var(--v9); box-shadow: 0 0 0 1px #c9b400 inset; }
.etiket { display: inline-flex; align-items: center; gap: .35rem; font-size: .85rem; color: var(--soluk); border: 1px solid var(--cizgi); border-radius: 3px; padding: .05rem .45rem; background: var(--yuzey); white-space: nowrap; }
.etiket.tip-kod { border-color: var(--mavi); color: var(--mavi); }
.etiket.tip-hesap { border-color: var(--camgobegi); color: var(--camgobegi); }
.etiket.tip-teori { border-color: var(--mor); color: var(--mor); }
.etiket.durum-biliyorum { background: var(--camgobegi-acik); border-color: transparent; color: var(--camgobegi); }
.etiket.durum-tekrar { background: var(--sari-zemin); border-color: transparent; color: var(--murekkep); }
.meta { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; margin-bottom: .8rem; }

/* ---------- Ana sayfa ---------- */
.kahraman { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 2rem; align-items: start; margin-bottom: 2.4rem; }
.kahraman h1 { font-size: clamp(2.1rem, 5vw, 3.1rem); margin-bottom: .35em; }
.kahraman .giris { margin-bottom: 1.2rem; }
.geri-sayim { background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: 6px; padding: 1.1rem 1.2rem; }
.geri-sayim .gun { font-family: var(--baslik); font-size: 3.4rem; font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums; color: var(--mor); }
.geri-sayim .alt { color: var(--soluk); margin: .3rem 0 .8rem; }
.geri-sayim label { font-size: .9rem; color: var(--soluk); display: flex; gap: .5rem; align-items: center; }
.geri-sayim input[type="date"] { border: 1px solid var(--cizgi); border-radius: 4px; padding: .2rem .4rem; background: var(--yuzey-2); }
.format { margin: 1rem 0 0; padding: 0; list-style: none; display: grid; gap: .35rem; font-size: .95rem; }
.format li { display: flex; gap: .6rem; }
.format li::before { content: ""; width: 8px; height: 8px; margin-top: .55em; background: var(--v5); flex-shrink: 0; }
@media (max-width: 760px) { .kahraman { grid-template-columns: 1fr; gap: 1.2rem; } }

.bolum { margin-bottom: 2.4rem; }
.bolum-bas { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: .8rem; }
.bolum-bas p { color: var(--soluk); margin: 0; font-size: .95rem; }

/* Konu hakimiyeti histogramı */
.histogram { background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: 6px; padding: 1rem 1rem .6rem; }
.hist-cubuklar { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 6px; align-items: end; height: 190px; border-bottom: 1px solid var(--cizgi-guclu); position: relative; }
.hist-cubuklar::before, .hist-cubuklar::after { content: ""; position: absolute; left: 0; right: 0; border-top: 1px dashed var(--cizgi); }
.hist-cubuklar::before { bottom: 50%; } .hist-cubuklar::after { bottom: 100%; }
.hist-sutun { height: 100%; display: flex; flex-direction: column; justify-content: flex-end; text-decoration: none; color: inherit; position: relative; z-index: 1; }
.hist-sutun .cubuk { background: color-mix(in srgb, var(--cizgi) 40%, transparent); border-radius: 2px 2px 0 0; min-height: 3px; position: relative; transition: filter .15s; }
.hist-sutun .cubuk { height: 100%; }
.hist-sutun .cubuk .dolu { position: absolute; left: 0; right: 0; bottom: 0; height: var(--oran, 0%); border-radius: 2px 2px 0 0; }
.hist-sutun:hover .cubuk { filter: brightness(.92); }
.hist-sutun .yuzde { font-size: .75rem; color: var(--soluk); text-align: center; font-variant-numeric: tabular-nums; margin-bottom: 2px; }
.hist-etiketler { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 6px; margin-top: .45rem; }
.hist-etiketler span { font-size: .72rem; color: var(--soluk); text-align: center; line-height: 1.2; overflow-wrap: anywhere; }
.hist-not { font-size: .85rem; color: var(--soluk); margin: .6rem 0 0; }
@media (max-width: 640px) {
  .hist-cubuklar { display: block; height: auto; border: 0; }
  .hist-cubuklar::before, .hist-cubuklar::after { display: none; }
  .hist-etiketler { display: none; }
  .hist-sutun { flex-direction: row; align-items: center; height: auto; gap: .5rem; padding: .2rem 0; }
  .hist-sutun .yuzde { order: 3; width: 3.2em; text-align: right; margin: 0; }
  .hist-sutun .cubuk { order: 2; flex: 1; height: 12px; border-radius: 2px; }
  .hist-sutun .cubuk .dolu { top: 0; bottom: 0; right: auto; height: auto; width: var(--oran, 0%); border-radius: 2px; }
  .hist-sutun::before { content: attr(data-ad); order: 1; width: 7.5em; font-size: .85rem; color: var(--soluk); }
}

/* Satır listesi (soru indeksi) */
.liste { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--cizgi); }
.liste li { border-bottom: 1px solid var(--cizgi); }
.liste a.satir { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .2rem .8rem; align-items: center; padding: .65rem .3rem; text-decoration: none; color: inherit; }
.liste a.satir:hover { background: var(--yuzey); }
.satir .sol { display: flex; align-items: center; gap: .55rem; }
.satir .baslik { font-weight: 500; }
.satir .alt-bilgi { grid-column: 2; font-size: .85rem; color: var(--soluk); }
.satir .sag { display: flex; gap: .35rem; align-items: center; }
@media (max-width: 560px) { .liste a.satir { grid-template-columns: auto minmax(0, 1fr); } .satir .sag { grid-column: 2; } }

.gecmis { width: 100%; }
.gecmis td.puan { font-family: var(--mono); font-weight: 600; }

/* ---------- Filtreler ---------- */
.filtreler { background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: 6px; padding: .8rem; display: grid; gap: .6rem; margin-bottom: 1rem; }
.filtre-sira { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; }
.filtre-sira .ad { font-size: .85rem; color: var(--soluk); margin-right: .3rem; min-width: 3.5em; }
.cip { border: 1px solid var(--cizgi); background: var(--yuzey-2); border-radius: 999px; padding: .15rem .65rem; font-size: .88rem; cursor: pointer; color: var(--murekkep); }
.cip[aria-pressed="true"] { background: var(--murekkep); border-color: var(--murekkep); color: var(--kagit); }
.arama { flex: 1; min-width: 12rem; border: 1px solid var(--cizgi); border-radius: 4px; padding: .4rem .6rem; background: var(--yuzey-2); }
.sonuc-sayisi { font-size: .9rem; color: var(--soluk); margin: 0 0 .5rem; }

/* ---------- Soru sayfası ---------- */
.soru-sayfa { display: grid; gap: 1.2rem; }
.soru-ust { display: flex; justify-content: space-between; align-items: center; gap: .6rem; flex-wrap: wrap; }
.kagit-blok { background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: 6px; padding: 1.2rem 1.3rem; box-shadow: var(--golge); }
.kagit-blok > :last-child { margin-bottom: 0; }
.icerik { max-width: var(--okuma); }
.icerik ul, .icerik ol { padding-left: 1.3rem; margin: 0 0 .9em; }
.icerik li { margin-bottom: .25em; }
.icerik table { font-size: .93rem; }
.icerik h4 { margin-top: 1.1em; font-size: 1.02rem; }
.icerik .katex-display { overflow-x: auto; overflow-y: hidden; padding: .2rem 0; }
.icerik span.sonuc { background: var(--sari-zemin); box-shadow: inset 0 -2px 0 var(--sari); padding: 0 .25em; border-radius: 2px; font-weight: 600; }
.ipucu, .uyari { border-left: 4px solid var(--camgobegi); background: var(--camgobegi-acik); padding: .6rem .9rem; border-radius: 0 4px 4px 0; margin: 0 0 1rem; }
.ipucu::before { content: "Sınav ipucu"; display: block; font-weight: 600; font-size: .85rem; color: var(--camgobegi); margin-bottom: .2rem; }
.uyari { border-left-color: var(--kirmizi); background: var(--kirmizi-zemin); }
.uyari::before { content: "Sık yapılan hata"; display: block; font-weight: 600; font-size: .85rem; color: var(--kirmizi); margin-bottom: .2rem; }
.ipucu > :last-child, .uyari > :last-child { margin-bottom: 0; }
.blok-baslik { font-family: var(--baslik); font-size: 1rem; font-weight: 600; color: var(--soluk); margin: 0 0 .6rem; }
.cevap-blok { border-color: var(--camgobegi); }
.cevap-blok .blok-baslik { color: var(--camgobegi); }
.puanlama { list-style: none; padding: 0; margin: 0; display: grid; gap: .35rem; }
.puanlama li { display: flex; gap: .55rem; align-items: flex-start; }
.puanlama li::before { content: ""; width: 9px; height: 9px; margin-top: .5em; flex-shrink: 0; background: var(--v6); }
.puanlama.secimli li::before { display: none; }
.puanlama label { display: flex; gap: .55rem; align-items: flex-start; cursor: pointer; }
.puanlama input { margin-top: .35em; accent-color: var(--camgobegi); width: 16px; height: 16px; flex-shrink: 0; }
.alt-gezinti { display: flex; justify-content: space-between; gap: .6rem; flex-wrap: wrap; align-items: center; }
.kisayol { font-size: .82rem; color: var(--soluk); }
kbd { border: 1px solid var(--cizgi-guclu); border-bottom-width: 2px; border-radius: 3px; padding: 0 .3em; font-size: .8em; background: var(--yuzey); }

/* ---------- Kod düzenleyici + 15 piksel göstergesi ---------- */
.editor { border: 1px solid var(--cizgi-guclu); border-radius: 6px; overflow: hidden; background: var(--kod-zemin); }
.editor-ust { display: flex; justify-content: space-between; align-items: center; gap: .8rem; padding: .45rem .7rem; border-bottom: 1px solid var(--cizgi); background: var(--yuzey); flex-wrap: wrap; }
.gosterge { display: flex; align-items: center; gap: .6rem; font-size: .85rem; color: var(--soluk); font-variant-numeric: tabular-nums; }
.pikseller { display: grid; grid-template-columns: repeat(15, 11px); gap: 2px; }
.pikseller i { width: 11px; height: 11px; background: var(--cizgi); display: block; border-radius: 1px; transition: background .12s; }
.gosterge.asim { color: var(--kirmizi); font-weight: 600; }
.gosterge.asim .pikseller i { background: var(--kirmizi) !important; }
.editor textarea { display: block; width: 100%; min-height: 260px; border: 0; resize: vertical; padding: .8rem 1rem; background: transparent; font-family: var(--mono); font-size: .9rem; line-height: 1.55; tab-size: 4; outline: none; white-space: pre; overflow-wrap: normal; overflow-x: auto; }
.editor textarea:focus-visible { box-shadow: inset 0 0 0 2px var(--camgobegi); }
.editor-alt { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; padding: .5rem .7rem; border-top: 1px solid var(--cizgi); background: var(--yuzey); }
.cikti { margin: 0; border: 0; border-top: 1px solid var(--cizgi); border-radius: 0; background: var(--yuzey); max-height: 320px; overflow: auto; font-size: .85rem; white-space: pre-wrap; }
.cikti .ok { color: var(--yesil); } .cikti .no { color: var(--kirmizi); } .cikti .bilgi { color: var(--soluk); }
.cikti-ozet { font-family: var(--baslik); font-weight: 600; font-size: 1rem; display: block; margin-bottom: .3rem; }
.serbest-cevap { width: 100%; min-height: 150px; border: 1px solid var(--cizgi-guclu); border-radius: 6px; padding: .7rem .9rem; background: var(--yuzey); resize: vertical; line-height: 1.55; }
.sekme-cubugu { display: flex; gap: .2rem; border-bottom: 1px solid var(--cizgi); margin-bottom: .8rem; }
.sekme-cubugu button { border: 0; background: none; padding: .4rem .8rem; cursor: pointer; color: var(--soluk); border-bottom: 2px solid transparent; margin-bottom: -1px; font-weight: 500; }
.sekme-cubugu button[aria-selected="true"] { color: var(--murekkep); border-bottom-color: var(--camgobegi); }
.aciklama-liste { padding-left: 1.2rem; margin: 0; }
.aciklama-liste li { margin-bottom: .35rem; }
.hljs-keyword, .hljs-built_in { color: var(--mor); font-weight: 500; }
.hljs-number, .hljs-literal { color: var(--camgobegi); }
.hljs-string { color: #2a7a3b; }
.hljs-comment { color: var(--soluk); font-style: italic; }
.hljs-title, .hljs-title.function_ { color: var(--mavi); font-weight: 600; }
.hljs-meta { color: var(--soluk); }
:root[data-theme="dark"] .hljs-string { color: #8fd694; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .hljs-string { color: #8fd694; } }

/* ---------- Sınav ---------- */
.kurulum { display: grid; gap: 1.2rem; max-width: 760px; }
.secenek-grup { border: 0; padding: 0; margin: 0; }
.secenek-grup legend { font-weight: 600; margin-bottom: .45rem; font-family: var(--baslik); font-size: 1.05rem; }
.secenekler { display: flex; flex-wrap: wrap; gap: .5rem; }
.secenek { position: relative; }
.secenek input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.secenek span { display: block; border: 1px solid var(--cizgi-guclu); border-radius: 4px; padding: .5rem .85rem; background: var(--yuzey); cursor: pointer; }
.secenek span small { display: block; color: var(--soluk); font-size: .82rem; }
.secenek input:checked + span { border-color: var(--camgobegi); box-shadow: inset 0 0 0 1px var(--camgobegi); background: var(--camgobegi-acik); }
.secenek input:focus-visible + span { outline: 2px solid var(--camgobegi); outline-offset: 2px; }
.onay { display: flex; gap: .5rem; align-items: center; }
.onay input { accent-color: var(--camgobegi); width: 17px; height: 17px; }

.sinav-kagidi { background: var(--yuzey); border: 1px solid var(--cizgi-guclu); border-radius: 4px; box-shadow: var(--golge); }
.kagit-bas { display: grid; grid-template-columns: 1fr auto; gap: .6rem 1.5rem; padding: 1.1rem 1.4rem; border-bottom: 2px solid var(--murekkep); align-items: end; }
.kagit-bas h1 { font-size: 1.5rem; margin: 0; }
.kagit-bas .bilgi { color: var(--soluk); font-size: .92rem; }
.kagit-bas .toplam { font-family: var(--mono); font-size: .95rem; text-align: right; }
.sinav-soru { padding: 1.3rem 1.4rem 1.5rem; border-bottom: 1px solid var(--cizgi); }
.sinav-soru:last-of-type { border-bottom: 0; }
.soru-no { display: flex; align-items: baseline; gap: .7rem; margin-bottom: .7rem; flex-wrap: wrap; }
.soru-no .no { font-family: var(--baslik); font-weight: 700; font-size: 1.3rem; color: var(--mor); }
.soru-no .puan-kutu { margin-left: auto; font-family: var(--mono); font-size: .92rem; border: 1px solid var(--cizgi-guclu); border-radius: 3px; padding: .05rem .5rem; white-space: nowrap; }
.kagit-son { padding: 1rem 1.4rem; display: flex; justify-content: space-between; gap: 1rem; align-items: center; flex-wrap: wrap; background: var(--yuzey-2); border-top: 1px solid var(--cizgi); }
.degerlendirme { margin-top: 1rem; display: grid; gap: 1rem; }
.senin-cevabin { white-space: pre-wrap; background: var(--yuzey-2); border: 1px dashed var(--cizgi-guclu); border-radius: 4px; padding: .7rem .9rem; font-size: .95rem; margin: 0; max-height: 360px; overflow: auto; }
.senin-cevabin.kod { font-family: var(--mono); font-size: .86rem; }
.puan-hesap { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; font-variant-numeric: tabular-nums; }
.puan-hesap output { font-family: var(--mono); font-weight: 600; font-size: 1.05rem; }
.sonuc-bas { display: flex; align-items: center; gap: 1.4rem; flex-wrap: wrap; padding: 1.2rem 1.4rem; border-bottom: 2px solid var(--murekkep); }
.sonuc-bas .buyuk { font-family: var(--baslik); font-weight: 700; font-size: 3.2rem; line-height: 1; color: var(--mor); font-variant-numeric: tabular-nums; }
.sonuc-bas .buyuk small { font-size: 1.2rem; color: var(--soluk); font-weight: 500; }

/* ---------- Laboratuvar ---------- */
.lab-sekmeler { display: flex; gap: .3rem; flex-wrap: wrap; margin-bottom: 1.2rem; }
.lab-panel { display: grid; gap: 1rem; }
.form-izgara { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: .8rem; align-items: end; }
.alan { display: grid; gap: .25rem; }
.alan > span { font-size: .85rem; color: var(--soluk); font-weight: 500; }
.alan input, .alan select { border: 1px solid var(--cizgi-guclu); border-radius: 4px; padding: .45rem .6rem; background: var(--yuzey); min-height: 38px; width: 100%; }
.alan.genis { grid-column: 1 / -1; }
.alan input.mono { font-family: var(--mono); }
.vektor { font-family: var(--mono); background: var(--kod-zemin); border: 1px solid var(--cizgi); border-radius: 4px; padding: .5rem .7rem; overflow-x: auto; white-space: nowrap; }
.adim-tablo td, .adim-tablo th { font-family: var(--mono); font-size: .85rem; white-space: nowrap; }
.adim-tablo td.sonuc { font-weight: 600; color: var(--camgobegi); }
.adim-tablo td.yanlis { background: var(--kirmizi-zemin); }
.adim-tablo td.dogru { background: var(--camgobegi-acik); }
.adim-tablo tr.vurgu td { background: var(--sari-zemin); }
.grafik { background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: 6px; padding: .6rem; }
.grafik svg { display: block; width: 100%; height: auto; }
.grafik .lejant { display: flex; gap: 1rem; font-size: .82rem; color: var(--soluk); padding: .2rem .4rem; flex-wrap: wrap; }
.grafik .lejant span::before { content: ""; display: inline-block; width: 14px; height: 3px; margin-right: .35rem; vertical-align: middle; background: currentColor; }
.not { font-size: .9rem; color: var(--soluk); }
.durum-mesaj { padding: .55rem .8rem; border-radius: 4px; font-weight: 500; }
.durum-mesaj.ok { background: var(--camgobegi-acik); color: var(--camgobegi); }
.durum-mesaj.no { background: var(--kirmizi-zemin); color: var(--kirmizi); }

/* ---------- Formül kâğıdı ---------- */
.taktik { background: var(--sari-zemin); border: 1px solid color-mix(in srgb, var(--sari) 60%, var(--cizgi)); border-radius: 6px; padding: 1rem 1.2rem; margin-bottom: 1.4rem; }
.taktik h2 { font-size: 1.1rem; }
.taktik ul { margin: 0; padding-left: 1.2rem; }
.taktik li { margin-bottom: .3rem; }
.formul-izgara { columns: 2 440px; column-gap: 1.2rem; }
.formul-izgara article { break-inside: avoid; background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: 6px; padding: 1rem 1.1rem .4rem; margin-bottom: 1.2rem; display: inline-block; width: 100%; }
.formul-izgara h2 { font-size: 1.15rem; display: flex; justify-content: space-between; align-items: baseline; gap: .5rem; }
.formul-izgara .hafta { font-family: var(--mono); font-size: .78rem; color: var(--soluk); font-weight: 400; }
.formul-izgara ul { padding-left: 1.1rem; }
.formul-izgara .katex-display { overflow-x: auto; overflow-y: hidden; }
.matris { font-size: .82rem; }
table.kucuk { font-size: .88rem; }

.bos { text-align: center; padding: 2.5rem 1rem; color: var(--soluk); border: 1px dashed var(--cizgi-guclu); border-radius: 6px; }

@media print {
  .ust, .sayac-serit, .dugme, .filtreler { display: none !important; }
  body { background: #fff; }
  .formul-izgara article, .kagit-blok { border-color: #999; box-shadow: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
}

/* ---------- Algoritma Analizi eklemeleri ---------- */
.logo-cubuk { display: flex; align-items: flex-end; gap: 2px; height: 22px; }
.logo-cubuk i { width: 5px; display: block; }
.logo-cubuk i:nth-child(1) { height: 5px; background: var(--v9); }
.logo-cubuk i:nth-child(2) { height: 9px; background: var(--v6); }
.logo-cubuk i:nth-child(3) { height: 13px; background: var(--v4); }
.logo-cubuk i:nth-child(4) { height: 17px; background: var(--v2); }
.logo-cubuk i:nth-child(5) { height: 22px; background: var(--v0); }
.etiket.tip-analiz { border-color: var(--yesil); color: var(--yesil); }
.master-kart { border: 1px dashed var(--cizgi-guclu); background: var(--yuzey-2); border-radius: 6px; padding: .7rem .9rem; margin: 0 0 1.4rem; font-size: .93rem; }
.master-kart ol { margin: .4rem 0 0; padding-left: 1.3rem; }
.master-kart li { margin: .15rem 0; }
.sonuc-satir { font-size: 1.08rem; border-left: 4px solid var(--camgobegi); padding: .3rem .7rem; background: var(--camgobegi-acik); border-radius: 0 4px 4px 0; }
.icerik h4 { font-size: 1rem; margin: 1rem 0 .35rem; color: var(--mor); }
details > summary { list-style: none; cursor: pointer; margin: .3rem 0 .6rem; }
details > summary::-webkit-details-marker { display: none; }
.lab-panel .kagit-blok { padding: .9rem 1rem; }
.kagit-blok h1, .sinav-soru .icerik, .icerik { overflow-wrap: break-word; }
.kagit-blok h1 { overflow-wrap: anywhere; }
.meta .etiket { white-space: normal; }
.katex-display { overflow-x: auto; overflow-y: hidden; padding: .1rem 0; }
.soru-sayfa > *, .lab-panel > *, .sinav-kagidi > *, .formul-izgara > *, .degerlendirme > * { min-width: 0; }
.lab-panel, .soru-sayfa { grid-template-columns: minmax(0, 1fr); }
