@import url("fonts.css");
/* ==========================================================================
   BilgeAP — TASARIM SİSTEMİ (v4 enerjik tema, Ekim 2026; v3 yapısı korunur)
   Sade, okunabilir, açık/koyu tema. Çevrimdışı: web fontu / CDN yok.
   Geriye uyum: eski sınıf ve değişken adlarının tamamı korunur
   (glass-card, panel-title, panel-sub, --accent-cyan, --text-muted ...).
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. TOKENLAR — AÇIK TEMA (varsayılan)  · v3 (Ekim 2026, Ajan 11)
   Kurallar:
   - Tek marka rengi (--brand-*). Düğme, bağlantı, odak halkası ve etkin durum bundan gelir.
   - Nötr gri skala (--gray-*) yüzey, kenarlık ve metnin kaynağıdır.
   - Anlamsal renkler (--ok / --warn / --bad / --info) yalnızca durum bildirir.
   - Ülke (--c-de / --c-it) ve ders (--c-calculus ...) renkleri yalnızca VURGU içindir:
     ince üst/sol çizgi, nokta, küçük etiket. Büyük zeminlerde kullanılmaz.
   - Eski değişken adları (--accent-cyan, --bg-card ...) geriye uyum için korunur.
   -------------------------------------------------------------------------- */
:root {
  color-scheme: light;

  /* Marka (v4 enerjik tema: elektrik moru). 600 tonu beyaz üzerinde 6.1:1 */
  --brand-50: #f3f0ff;
  --brand-100: #e6e0ff;
  --brand-200: #cfc4ff;
  --brand-500: #7a5cfa;
  --brand-600: #5b3df5;
  --brand-700: #4a2bd9;
  --brand-800: #3b21ae;

  /* Enerji vurgusu (turuncu): seri, ödül ve ana "başla" anları. Turuncu zemin üstünde koyu yazı (6.3:1) */
  --energy: #ff6b2c;
  --on-energy: #1a1033;
  --energy-text: #c2410c;
  --energy-soft: #fff0e8;
  --hero-a: #5b3df5;
  --hero-b: #8b5cf6;

  /* Nötr gri skala (hafif mor tonlu) */
  --gray-0: #ffffff;
  --gray-25: #fcfbff;
  --gray-50: #faf8ff;
  --gray-100: #f1eefa;
  --gray-150: #eae6f6;
  --gray-200: #e3def2;
  --gray-300: #cec7e3;
  --gray-500: #6b6585;
  --gray-600: #5e5873;
  --gray-700: #3f3a55;
  --gray-900: #1a1033;

  /* Yüzeyler */
  --bg: var(--gray-50);
  --surface: var(--gray-0);
  --surface-2: var(--gray-25);
  --surface-3: var(--gray-100);
  --border: var(--gray-200);
  --border-strong: var(--gray-300);

  /* Metin (beyaz üzerinde: text 17:1, muted 7.6:1, dim 4.9:1) */
  --text: var(--gray-900);
  --text-muted: var(--gray-600);
  --text-dim: var(--gray-500);
  --text-on-accent: #ffffff;

  /* Marka eşlemeleri */
  --accent: var(--brand-600);
  --accent-hover: var(--brand-700);
  --accent-soft: var(--brand-50);

  /* Vurgu tonları (metin olarak AA kontrastlı) */
  --accent-cyan: #0e6f86;
  --accent-violet: #6d28d9;
  --accent-indigo: var(--brand-600);
  --accent-rose: #be123c;
  --accent-emerald: #047857;
  --accent-amber: #a54a07;
  --accent-blue: #1d4ed8;
  --accent-teal: #0f766e;
  --accent-pink: #be185d;

  /* Durum renkleri */
  --ok: #067647;      --ok-bg: #ecfdf3;   --ok-border: #abefc6;
  --warn: #93370d;    --warn-bg: #fffaeb; --warn-border: #fedf89;
  --bad: #b42318;     --bad-bg: #fef3f2;  --bad-border: #fecdca;
  --info: #175cd3;    --info-bg: #eff8ff; --info-border: #b2ddff;

  /* Ülke vurguları */
  --c-de: #a54a07;
  --c-it: #047857;

  /* Ders vurguları */
  --c-calculus: #0b6aa2;
  --c-physics: #047857;
  --c-chemistry: #a54a07;
  --c-biology: #be185d;
  --c-english: #6d28d9;
  --c-electives: #0f766e;
  --c-precalculus: #4338ca; /* 1.28.0 */
  --c-statistics: #4d7c0f;
  --c-physics2: #0e7490;

  /* Eski değişken adları (geriye uyum) */
  --bg-primary: var(--bg);
  --bg-secondary: var(--surface-2);
  --bg-card: var(--surface);
  --bg-card-hover: var(--surface);
  --border-subtle: var(--border);
  --border-focus: var(--accent);
  --text-main: var(--text);
  --gradient-glow: var(--btn-bg);
  --gradient-cyan-indigo: var(--accent);
  --gradient-emerald: var(--ok);
  --gradient-amber: var(--warn);

  /* Gölgeler: yalnızca katman ayrımı için, yumuşak (mor tonlu) */
  --shadow-sm: 0 1px 2px rgba(26, 16, 51, 0.05);
  --shadow-card: 0 1px 2px rgba(26, 16, 51, 0.05), 0 6px 20px rgba(91, 61, 245, 0.06);
  --shadow-lg: 0 14px 28px -8px rgba(91, 61, 245, 0.18), 0 2px 6px rgba(26, 16, 51, 0.06);
  --shadow-glow: var(--shadow-lg);

  /* Boşluk (4/8 ızgarası) */
  --sp-1: 4px;  --sp-2: 8px;  --sp-3: 12px; --sp-4: 16px;
  --sp-5: 20px; --sp-6: 24px; --sp-8: 32px; --sp-10: 40px; --sp-12: 48px; --sp-16: 64px;

  /* Yarıçap */
  --radius-xs: 6px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius-xl: 22px;
  --radius-full: 9999px;

  /* Tipografi ölçeği: 12 / 14 / 16 / 18 / 22 / 28 / 36 · yerel fontlar: fonts.css */
  --font-sans: "DM Sans", "Segoe UI Variable", "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;
  --font-head: "Nunito", "DM Sans", "Segoe UI", system-ui, sans-serif;
  --font-mono: "Cascadia Mono", Consolas, ui-monospace, "SFMono-Regular", Menlo, monospace;
  --fs-12: 0.75rem;
  --fs-14: 0.875rem;
  --fs-16: 1rem;
  --fs-18: 1.125rem;
  --fs-22: 1.375rem;
  --fs-28: 1.75rem;
  --fs-36: 2.25rem;
  --fs-xs: var(--fs-12);
  --fs-sm: var(--fs-14);
  --fs-base: var(--fs-16);
  --fs-md: var(--fs-18);
  --fs-lg: var(--fs-22);
  --fs-xl: var(--fs-28);
  --fs-2xl: clamp(1.75rem, 1.35rem + 1.4vw, 2.25rem);
  --lh-tight: 1.25;
  --lh-snug: 1.4;
  --lh-body: 1.6;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --measure: 70ch;
  --content-max: 1200px;

  --nav-h: 60px;
  --bottom-nav-h: 56px;   /* Tur 14 A2: telefon alt gezinme yüksekliği (güvenli alan hariç) */
  --transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
  --focus-ring: 0 0 0 3px color-mix(in srgb, var(--brand-600) 35%, transparent);

  /* Dolu düğme zemini (beyaz metinle AA) ve rozet zeminleri */
  --btn-bg: var(--brand-600);
  --btn-bg-hover: var(--brand-700);
  --on-btn: #ffffff;
  --on-solid-dark: #0b1120; /* koyu temada parlak dolu zemin (ok/bad) üstündeki harf */
  /* Tur 13 üniversite isterleri rozetleri (dil / bilim / özel şart) */
  --req-lang-fg: #2563eb; --req-lang-bg: rgba(59, 130, 246, 0.12); --req-lang-border: rgba(59, 130, 246, 0.25);
  --req-stem-fg: #059669; --req-stem-bg: rgba(16, 185, 129, 0.12); --req-stem-border: rgba(16, 185, 129, 0.25);
  --req-special-fg: #d97706;
  --avatar-bg: var(--brand-100);
  --avatar-fg: var(--brand-800);
}

/* --------------------------------------------------------------------------
   2. TOKENLAR — KOYU TEMA
   (a) sistem tercihi koyu ve kullanıcı açık seçmemişse, (b) data-theme="dark")
   İki blok aynı değerleri taşır; birini değiştirirseniz diğerini de değiştirin.
   -------------------------------------------------------------------------- */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --energy-text: #ff8a57; --energy-soft: #3a2218; --hero-a: #4c2fe0; --hero-b: #7c3aed;
    --brand-50: rgba(157, 139, 255, 0.12);
    --brand-100: rgba(157, 139, 255, 0.2);
    --brand-200: rgba(157, 139, 255, 0.32);
    --gray-0: #1a1530;
    --gray-25: #1f1938;
    --gray-50: #0f0b1f;
    --gray-100: #251e40;
    --gray-150: #2c2547;
    --gray-200: #332b52;
    --gray-300: #463d6b;
    --gray-500: #a8a3bf;
    --gray-600: #bdb8d3;
    --gray-700: #d6d2e8;
    --gray-900: #f3f0ff;
    --accent: #9d8bff;
    --accent-hover: #bcaeff;
    --accent-soft: rgba(157, 139, 255, 0.12);
    --accent-cyan: #5ccfe6;
    --accent-violet: #b9a3fb;
    --accent-indigo: #9d8bff;
    --accent-rose: #fb8a9c;
    --accent-emerald: #4fd1a1;
    --accent-amber: #f5b94a;
    --accent-blue: #7cb1ff;
    --accent-teal: #4fd6c4;
    --accent-pink: #f48cc4;
    --ok: #4fd1a1;   --ok-bg: rgba(79, 209, 161, 0.1);  --ok-border: rgba(79, 209, 161, 0.32);
    --warn: #f5b94a; --warn-bg: rgba(245, 185, 74, 0.1); --warn-border: rgba(245, 185, 74, 0.32);
    --bad: #fb8a8a;  --bad-bg: rgba(251, 138, 138, 0.1); --bad-border: rgba(251, 138, 138, 0.34);
    --info: #7cb1ff; --info-bg: rgba(124, 177, 255, 0.1); --info-border: rgba(124, 177, 255, 0.32);
    --c-de: #f5b94a;
    --c-it: #4fd1a1;
    --c-calculus: #6cc4f5;
    --c-physics: #4fd1a1;
    --c-chemistry: #f5b94a;
    --c-biology: #f48cc4;
    --c-english: #b9a3fb;
    --c-electives: #4fd6c4;
    --c-precalculus: #a5b4fc;
    --c-statistics: #b5de6e;
    --c-physics2: #5fd0e6;
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
    --shadow-card: 0 1px 2px rgba(0, 0, 0, 0.3);
    --shadow-lg: 0 16px 32px -12px rgba(0, 0, 0, 0.7);
    --focus-ring: 0 0 0 3px rgba(157, 139, 255, 0.45);
    --btn-bg: #5b3df5;
    --btn-bg-hover: #6e52ff;
    --avatar-bg: #2e2560;
    --avatar-fg: #e0d9ff;
    --req-lang-fg: #60a5fa; --req-lang-bg: rgba(59, 130, 246, 0.2); --req-lang-border: rgba(96, 165, 250, 0.3);
    --req-stem-fg: #34d399; --req-stem-bg: rgba(16, 185, 129, 0.2); --req-stem-border: rgba(52, 211, 153, 0.3);
    --req-special-fg: #fbbf24;
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --energy-text: #ff8a57; --energy-soft: #3a2218; --hero-a: #4c2fe0; --hero-b: #7c3aed;
  --brand-50: rgba(157, 139, 255, 0.12);
  --brand-100: rgba(157, 139, 255, 0.2);
  --brand-200: rgba(157, 139, 255, 0.32);
  --gray-0: #1a1530;
  --gray-25: #1f1938;
  --gray-50: #0f0b1f;
  --gray-100: #251e40;
  --gray-150: #2c2547;
  --gray-200: #332b52;
  --gray-300: #463d6b;
  --gray-500: #a8a3bf;
  --gray-600: #bdb8d3;
  --gray-700: #d6d2e8;
  --gray-900: #f3f0ff;
  --accent: #9d8bff;
  --accent-hover: #bcaeff;
  --accent-soft: rgba(157, 139, 255, 0.12);
  --accent-cyan: #5ccfe6;
  --accent-violet: #b9a3fb;
  --accent-indigo: #9d8bff;
  --accent-rose: #fb8a9c;
  --accent-emerald: #4fd1a1;
  --accent-amber: #f5b94a;
  --accent-blue: #7cb1ff;
  --accent-teal: #4fd6c4;
  --accent-pink: #f48cc4;
  --ok: #4fd1a1;   --ok-bg: rgba(79, 209, 161, 0.1);  --ok-border: rgba(79, 209, 161, 0.32);
  --warn: #f5b94a; --warn-bg: rgba(245, 185, 74, 0.1); --warn-border: rgba(245, 185, 74, 0.32);
  --bad: #fb8a8a;  --bad-bg: rgba(251, 138, 138, 0.1); --bad-border: rgba(251, 138, 138, 0.34);
  --info: #7cb1ff; --info-bg: rgba(124, 177, 255, 0.1); --info-border: rgba(124, 177, 255, 0.32);
  --c-de: #f5b94a;
  --c-it: #4fd1a1;
  --c-calculus: #6cc4f5;
  --c-physics: #4fd1a1;
  --c-chemistry: #f5b94a;
  --c-biology: #f48cc4;
  --c-english: #b9a3fb;
  --c-electives: #4fd6c4;
  --c-precalculus: #a5b4fc;
  --c-statistics: #b5de6e;
  --c-physics2: #5fd0e6;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-card: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-lg: 0 16px 32px -12px rgba(0, 0, 0, 0.7);
  --focus-ring: 0 0 0 3px rgba(157, 139, 255, 0.45);
  --btn-bg: #5b3df5;
  --btn-bg-hover: #6e52ff;
  --avatar-bg: #2e2560;
  --avatar-fg: #e0d9ff;
  --req-lang-fg: #60a5fa; --req-lang-bg: rgba(59, 130, 246, 0.2); --req-lang-border: rgba(96, 165, 250, 0.3);
  --req-stem-fg: #34d399; --req-stem-bg: rgba(16, 185, 129, 0.2); --req-stem-border: rgba(52, 211, 153, 0.3);
  --req-special-fg: #fbbf24;
}

/* --------------------------------------------------------------------------
   3. TEMEL
   -------------------------------------------------------------------------- */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--nav-h) + 16px); }

body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-sans);
  font-size: var(--fs-base);
  line-height: 1.6;
  min-height: 100vh;
  overflow-x: hidden;
  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
}

/* Oturum kapısı: app.js oturumu doğrulayıp html[data-apz-auth] koyana kadar içerik gizli kalır
   (yönlendirilecek sayfa bir an görünüp kaybolmaz). app.js yüklenemezse 4 sn sonra yine görünür. */
html:not([data-apz-auth]) body { visibility: hidden; animation: apz-reveal 0s linear 4s forwards; }
@keyframes apz-reveal { to { visibility: visible; } }

img, svg, video { max-width: 100%; }
table { max-width: 100%; }

a { color: var(--accent); text-underline-offset: 2px; }
a:hover { color: var(--accent-hover); }

code, pre, kbd, .font-mono { font-family: var(--font-mono); }

h1, h2, h3, h4, h5 { line-height: 1.25; color: var(--text); overflow-wrap: anywhere; }
p, li { overflow-wrap: anywhere; }

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: 4px;
}
button:focus-visible, a:focus-visible, select:focus-visible, input:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  box-shadow: var(--focus-ring);
}

::selection { background: rgba(79, 70, 229, 0.25); }

.visually-hidden {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.skip-link {
  position: absolute; left: 16px; top: -60px; z-index: 300;
  background: var(--accent); color: var(--on-btn); padding: 8px 16px; border-radius: var(--radius-sm);
  font-weight: 600; text-decoration: none;
}
.skip-link:focus { top: 8px; color: var(--on-btn); }

/* MathJax: uzun denklemler yatay taşmasın */
mjx-container[display="true"], .MathJax_Display { overflow-x: auto; overflow-y: hidden; max-width: 100%; }
mjx-container { max-width: 100%; }

/* --------------------------------------------------------------------------
   4. ÜST GEZİNME (ortak — app.js tarafından tüm sayfalarda doldurulur)
   -------------------------------------------------------------------------- */
.navbar {
  position: sticky;
  top: 0;
  z-index: 100;
  min-height: var(--nav-h);
  background: color-mix(in srgb, var(--surface) 92%, transparent);
  -webkit-backdrop-filter: saturate(1.4) blur(10px);
  backdrop-filter: saturate(1.4) blur(10px);
  border-bottom: 1px solid var(--border);
  padding: 8px max(16px, calc((100vw - 1320px) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.nav-brand {
  margin-right: 8px;
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: var(--text);
  min-width: 0;
  flex-shrink: 1;
}
.nav-brand:hover { color: var(--text); }

.brand-badge {
  background: var(--accent);
  color: var(--on-btn);
  font-weight: 800;
  font-size: 0.78rem;
  line-height: 1.1;
  padding: 6px 8px;
  border-radius: var(--radius-sm);
  letter-spacing: 0.04em;
  white-space: nowrap;
  flex-shrink: 0;
}
:root[data-theme="dark"] .brand-badge { background: var(--btn-bg); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .brand-badge { background: var(--btn-bg); } }

.brand-title {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--text);
  letter-spacing: 0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.brand-subtitle {
  font-size: 0.72rem;
  color: var(--text-dim);
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 240px;
}
.navbar .brand-subtitle { display: none; }
@media (min-width: 1440px) { .navbar .brand-subtitle { display: block; } }

.nav-links {
  display: flex;
  align-items: center;
  gap: 2px;
  list-style: none;
  margin: 0;
}
.nav-links > li { position: relative; }

.nav-link {
  color: var(--text-muted);
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 600;
  padding: 8px 10px;
  border-radius: var(--radius-sm);
  border: 1px solid transparent;
  transition: var(--transition);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: none;
  cursor: pointer;
  font-family: inherit;
  white-space: nowrap;
}
.nav-link:hover { color: var(--text); background: var(--surface-2); }
.nav-link .nav-caret { width: 14px; height: 14px; transition: transform .15s ease; }
.nav-link[aria-expanded="true"] .nav-caret { transform: rotate(180deg); }

.nav-dropdown {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  min-width: 240px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg);
  padding: 6px;
  list-style: none;
  display: none;
  z-index: 120;
}
.nav-dropdown.open { display: block; }
.nav-dropdown a {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 10px; border-radius: var(--radius-sm);
  color: var(--text); text-decoration: none; font-size: 0.9rem; font-weight: 500;
}
.nav-dropdown a:hover { background: var(--surface-2); }
.nav-dropdown a[aria-current="page"] { background: var(--accent-soft); color: var(--accent); font-weight: 600; }
.nav-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; background: var(--dot, var(--accent)); }

.nav-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.icon-btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: var(--radius-sm);
  border: 1px solid var(--border); background: var(--surface); color: var(--text-muted);
  cursor: pointer; transition: var(--transition); flex-shrink: 0;
}
.icon-btn:hover { color: var(--text); background: var(--surface-2); }
.icon-btn svg { width: 20px; height: 20px; }
.theme-toggle .icon-sun { display: none; }
:root[data-theme="dark"] .theme-toggle .icon-sun { display: block; }
:root[data-theme="dark"] .theme-toggle .icon-moon { display: none; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) .theme-toggle .icon-sun { display: block; }
  :root:not([data-theme]) .theme-toggle .icon-moon { display: none; }
}
.nav-menu-btn { display: none; }

.btn-consult {
  background: var(--accent);
  color: var(--on-btn);
  border: 1px solid transparent;
  padding: 9px 14px;
  border-radius: var(--radius-full);
  font-size: 0.85rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  transition: var(--transition);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.btn-consult:hover { background: var(--accent-hover); color: var(--on-btn); }
:root[data-theme="dark"] .btn-consult { background: var(--btn-bg); }
:root[data-theme="dark"] .btn-consult:hover { background: var(--btn-bg-hover); }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .btn-consult { background: var(--btn-bg); }
  :root:not([data-theme="light"]) .btn-consult:hover { background: var(--btn-bg-hover); }
}

/* Dar ekran: hamburger menü */
@media (max-width: 760px) {
  .navbar { flex-wrap: wrap; }
  .nav-menu-btn { display: inline-flex; }
  .navbar .nav-links {
    order: 10;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    padding: 8px 0 12px;
    border-top: 1px solid var(--border);
    display: none;
  }
  .navbar.nav-open .nav-links { display: flex; }
  .nav-link { width: 100%; justify-content: flex-start; padding: 10px 12px; font-size: 0.95rem; }
  .nav-dropdown { position: static; box-shadow: none; border: none; padding: 0 0 0 16px; min-width: 0; background: transparent; }
  .navbar:not([data-nav-enhanced]) .nav-links { display: flex; flex-direction: row; overflow-x: auto; border-top: none; padding: 4px 0; }
}
@media (max-width: 560px) {
  .btn-consult { padding: 8px 10px; font-size: 0.8rem; }
  .btn-consult span { max-width: 110px; overflow: hidden; text-overflow: ellipsis; }
  .navbar .brand-title { max-width: 120px; }
}
@media (max-width: 400px) {
  .navbar .nav-brand > div:not(.brand-badge) { display: none; }
}

/* --------------------------------------------------------------------------
   5. SAYFA DÜZENİ
   -------------------------------------------------------------------------- */
.main-container {
  max-width: 1320px;
  margin: 0 auto;
  padding: var(--sp-8) var(--sp-6);
}
@media (max-width: 640px) {
  .main-container { padding: var(--sp-5) var(--sp-4); }
}

.hero-section {
  position: relative;
  padding: var(--sp-10) var(--sp-8);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  margin-bottom: var(--sp-8);
  box-shadow: var(--shadow-card);
}
@media (max-width: 640px) { .hero-section { padding: var(--sp-6) var(--sp-5); } }

.hero-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 12px;
  border-radius: var(--radius-full);
  background: var(--accent-soft);
  border: 1px solid color-mix(in srgb, var(--accent) 25%, transparent);
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--accent);
  margin-bottom: var(--sp-4);
  max-width: 100%;
}
.hero-pill .pulse-dot {
  width: 8px; height: 8px; flex-shrink: 0;
  background-color: var(--ok);
  border-radius: 50%;
}

.hero-title {
  font-size: var(--fs-2xl);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.01em;
  margin-bottom: var(--sp-3);
  color: var(--text);
}
.hero-desc {
  font-size: var(--fs-md);
  color: var(--text-muted);
  max-width: var(--measure);
  margin-bottom: var(--sp-6);
}

.hero-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
  gap: var(--sp-4);
  padding-top: var(--sp-6);
  border-top: 1px solid var(--border);
}
.stat-item {
  background: var(--surface-2);
  padding: var(--sp-4) var(--sp-5);
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
}
.stat-num {
  font-size: 1.6rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: var(--text);
  display: flex;
  align-items: baseline;
  gap: 6px;
  line-height: 1.2;
}
.stat-num .stat-unit { font-size: 0.8rem; color: var(--accent); font-weight: 700; }
.stat-label {
  font-size: 0.78rem;
  color: var(--text-muted);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-top: 2px;
}

/* --------------------------------------------------------------------------
   6. BÖLÜM BAŞLIKLARI & KARTLAR
   -------------------------------------------------------------------------- */
.section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--sp-3);
  margin-bottom: var(--sp-5);
}
.section-title-wrap { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.section-tag {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--accent-cyan);
  border-radius: 4px;
  overflow-wrap: anywhere;
}
.section-title { font-size: var(--fs-xl); font-weight: 800; color: var(--text); letter-spacing: -0.01em; }

.grid-3 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
  gap: var(--sp-5);
  margin-bottom: var(--sp-10);
}
.grid-2 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 440px), 1fr));
  gap: var(--sp-5);
  margin-bottom: var(--sp-10);
}

.glass-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--sp-6);
  box-shadow: var(--shadow-card);
  transition: var(--transition);
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.glass-card:hover { border-color: var(--border-strong); box-shadow: var(--shadow-lg); }
@media (max-width: 640px) { .glass-card { padding: var(--sp-5); } }

.card-badge {
  align-self: flex-start;
  padding: 3px 10px;
  border-radius: var(--radius-full);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  margin-bottom: var(--sp-3);
  max-width: 100%;
  overflow-wrap: anywhere;
  background: var(--surface-2);
  color: var(--text-muted);
  border: 1px solid var(--border);
}
.badge-cyan    { background: color-mix(in srgb, var(--accent-cyan) 12%, transparent);    color: var(--accent-cyan);    border: 1px solid color-mix(in srgb, var(--accent-cyan) 30%, transparent); }
.badge-violet  { background: color-mix(in srgb, var(--accent-violet) 12%, transparent);  color: var(--accent-violet);  border: 1px solid color-mix(in srgb, var(--accent-violet) 30%, transparent); }
.badge-emerald { background: color-mix(in srgb, var(--accent-emerald) 12%, transparent); color: var(--accent-emerald); border: 1px solid color-mix(in srgb, var(--accent-emerald) 30%, transparent); }
.badge-rose    { background: color-mix(in srgb, var(--accent-rose) 12%, transparent);    color: var(--accent-rose);    border: 1px solid color-mix(in srgb, var(--accent-rose) 30%, transparent); }
.badge-amber   { background: color-mix(in srgb, var(--accent-amber) 12%, transparent);   color: var(--accent-amber);   border: 1px solid color-mix(in srgb, var(--accent-amber) 30%, transparent); }
.badge-indigo  { background: color-mix(in srgb, var(--accent-indigo) 12%, transparent);  color: var(--accent-indigo);  border: 1px solid color-mix(in srgb, var(--accent-indigo) 30%, transparent); }

.card-title {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--text);
  margin-bottom: var(--sp-2);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
}
.card-desc {
  font-size: 0.94rem;
  color: var(--text-muted);
  margin-bottom: var(--sp-4);
  flex-grow: 1;
}

.card-meta-list {
  list-style: none;
  margin-bottom: var(--sp-4);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.card-meta-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 4px 12px;
  font-size: 0.875rem;
  padding: 8px 10px;
  background: var(--surface-2);
  border-radius: var(--radius-sm);
}
.meta-label { color: var(--text-muted); }
.meta-val { font-weight: 600; color: var(--text); text-align: right; overflow-wrap: anywhere; }

.btn-card {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 10px 14px;
  min-height: 42px;
  border-radius: var(--radius-md);
  font-size: 0.92rem;
  font-weight: 600;
  font-family: inherit;
  text-decoration: none;
  color: var(--text);
  background: var(--surface-2);
  border: 1px solid var(--border);
  cursor: pointer;
  transition: var(--transition);
  text-align: center;
}
.btn-card:hover { background: var(--accent-soft); border-color: color-mix(in srgb, var(--accent) 45%, transparent); color: var(--accent); }
.btn-card.active-filter, .btn-card.active { background: var(--accent); color: var(--on-btn); border-color: transparent; }
:root[data-theme="dark"] .btn-card.active-filter, :root[data-theme="dark"] .btn-card.active { background: var(--btn-bg); }
/* Eski sayfalarda satır içi degrade arka planlı düğmeler: metin daima beyaz */
.btn-card[style*="gradient"] { color: #fff !important; border-color: transparent; }
.btn-card[style*="gradient"]:hover { color: #fff !important; filter: brightness(1.08); }

.btn-primary {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 10px 18px; min-height: 42px; border-radius: var(--radius-md);
  background: var(--btn-bg); color: var(--on-btn); font-weight: 600; font-size: 0.92rem; font-family: inherit;
  border: 1px solid transparent; cursor: pointer; text-decoration: none; transition: var(--transition);
}
.btn-ghost {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 9px 14px; min-height: 40px; border-radius: var(--radius-md);
  background: var(--surface); color: var(--text); font-weight: 600; font-size: 0.88rem; font-family: inherit;
  border: 1px solid var(--border); cursor: pointer; text-decoration: none; transition: var(--transition);
}
.btn-ghost:hover { background: var(--surface-2); color: var(--text); border-color: var(--border-strong); }
.btn-ghost[aria-pressed="true"] { background: var(--accent-soft); color: var(--accent); border-color: color-mix(in srgb, var(--accent) 45%, transparent); }
.btn-ghost svg, .btn-primary svg { width: 18px; height: 18px; flex-shrink: 0; }

/* --------------------------------------------------------------------------
   7. AJAN KARTLARI
   -------------------------------------------------------------------------- */
.agent-card { display: flex; flex-direction: column; border-left: 4px solid var(--accent-indigo); }
.agent-header { display: flex; align-items: center; gap: var(--sp-3); margin-bottom: var(--sp-4); min-width: 0; }
.agent-avatar {
  width: 48px; height: 48px; flex-shrink: 0;
  border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.4rem;
  background: var(--surface-2);
  border: 1px solid var(--border);
}
.agent-info { min-width: 0; }
.agent-info h4 { font-size: 1.02rem; font-weight: 700; color: var(--text); }
.agent-info span { font-size: 0.8rem; color: var(--accent-cyan); font-weight: 600; }
.agent-role-desc { font-size: 0.9rem; color: var(--text-muted); line-height: 1.55; margin-bottom: var(--sp-4); }
.agent-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; }
.agent-tag {
  font-size: 0.75rem; padding: 2px 8px;
  background: var(--surface-2); border: 1px solid var(--border);
  border-radius: var(--radius-sm); color: var(--text-muted);
}

/* --------------------------------------------------------------------------
   8. ETKİLEŞİMLİ PANELLER, KMK HESAPLAYICI
   -------------------------------------------------------------------------- */
.interactive-panel {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--sp-8);
  margin-bottom: var(--sp-8);
  box-shadow: var(--shadow-card);
  min-width: 0;
}

.panel-title { font-size: var(--fs-lg); font-weight: 800; color: var(--text); margin-bottom: var(--sp-2); letter-spacing: -0.01em; }
.panel-sub { font-size: 0.97rem; color: var(--text-muted); margin-bottom: var(--sp-6); max-width: var(--measure); }

.calc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: var(--sp-4);
  margin-bottom: var(--sp-5);
}
.calc-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.calc-label { font-size: 0.875rem; font-weight: 600; color: var(--text); }

.calc-select, .calc-input, .text-input {
  background: var(--surface);
  border: 1px solid var(--border-strong);
  color: var(--text);
  padding: 10px 12px;
  min-height: 42px;
  border-radius: var(--radius-md);
  font-size: 0.95rem;
  font-family: inherit;
  transition: var(--transition);
  width: 100%;
  min-width: 0;
}
.calc-select:focus, .calc-input:focus, .text-input:focus { border-color: var(--accent); box-shadow: var(--focus-ring); outline: none; }

.calc-result-box {
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: var(--sp-5);
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
}
.calc-result-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.calc-status-badge { padding: 6px 14px; border-radius: var(--radius-full); font-size: 0.85rem; font-weight: 700; }
.calc-status-badge.is-ok  { background: var(--ok-bg);  color: var(--ok);  border: 1px solid var(--ok-border); }
.calc-status-badge.is-bad { background: var(--bad-bg); color: var(--bad); border: 1px solid var(--bad-border); }

/* --------------------------------------------------------------------------
   9. FORMÜL KASASI & DERS ANLATIMI
   -------------------------------------------------------------------------- */
.formula-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: var(--sp-5);
  margin-bottom: var(--sp-4);
  transition: var(--transition);
  min-width: 0;
}
.formula-card:hover { border-color: var(--accent-cyan); }
.formula-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin-bottom: var(--sp-2); }
.formula-name { font-size: 1rem; font-weight: 700; color: var(--text); }
.formula-code {
  background: var(--surface-2);
  padding: 10px 14px;
  border-radius: var(--radius-sm);
  color: var(--text);
  font-family: var(--font-mono);
  font-size: 0.92rem;
  overflow-x: auto;
  margin: 8px 0;
  border: 1px solid var(--border);
}
.formula-notes { font-size: 0.875rem; color: var(--text-muted); }

.lang-pill {
  display: inline-flex; align-items: center; gap: 8px;
  background: color-mix(in srgb, var(--accent-violet) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--accent-violet) 35%, transparent);
  color: var(--accent-violet);
  font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em;
  padding: 4px 12px; border-radius: var(--radius-full);
}

.lecture-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: var(--sp-6) var(--sp-6) var(--sp-6) calc(var(--sp-6) + 4px);
  margin-bottom: var(--sp-5);
  transition: var(--transition);
  position: relative;
  overflow: hidden;
  min-width: 0;
}
.lecture-card::before {
  content: '';
  position: absolute; top: 0; left: 0; width: 4px; height: 100%;
  background: var(--accent-cyan);
}
.lecture-card.violet-edge::before { background: var(--accent-violet); }
.lecture-card.emerald-edge::before { background: var(--accent-emerald); }
.lecture-card.amber-edge::before { background: var(--accent-amber); }
.lecture-card:hover { border-color: var(--border-strong); }
@media (max-width: 640px) { .lecture-card { padding: var(--sp-4) var(--sp-4) var(--sp-4) calc(var(--sp-4) + 4px); } }

.theory-title {
  font-size: 1.15rem; font-weight: 700; color: var(--text);
  margin-bottom: var(--sp-3);
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px;
}
.theory-body { font-size: 1rem; color: var(--text); line-height: 1.7; max-width: 80ch; }
.theory-body p { margin-bottom: var(--sp-3); }
.theory-body ul, .theory-body ol { padding-left: 1.4em; margin-bottom: var(--sp-3); }

.theory-callout {
  background: var(--accent-soft);
  border-left: 3px solid var(--accent-indigo);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  padding: 12px 16px;
  margin: var(--sp-4) 0;
  font-size: 0.95rem;
  color: var(--text);
  overflow-x: auto;
}
.pitfall-box {
  background: var(--bad-bg);
  border: 1px solid var(--bad-border);
  border-radius: var(--radius-sm);
  padding: 12px 16px;
  margin: var(--sp-4) 0;
  font-size: 0.94rem;
  color: var(--text);
  line-height: 1.6;
  overflow-x: auto;
}
.pitfall-box strong { color: var(--bad); }

.concept-badge {
  display: inline-block;
  background: var(--surface-2);
  border: 1px solid var(--border);
  color: var(--accent-blue);
  font-family: var(--font-mono);
  font-size: 0.75rem;
  padding: 2px 8px;
  border-radius: 4px;
  margin-right: 6px;
}

/* --------------------------------------------------------------------------
   10. MODAL & SOHBET
   -------------------------------------------------------------------------- */
.modal-overlay {
  position: fixed; inset: 0;
  background: rgba(2, 6, 23, 0.6);
  z-index: 1000;
  display: none;
  align-items: center; justify-content: center;
  padding: var(--sp-4);
}
.modal-overlay.active { display: flex; }
.modal-content {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  max-width: 700px; width: 100%; max-height: 85vh;
  display: flex; flex-direction: column; overflow: hidden;
  box-shadow: var(--shadow-lg);
  animation: modalIn .2s ease;
}
@keyframes modalIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.modal-header { padding: var(--sp-4) var(--sp-5); border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.modal-title { font-size: 1.15rem; font-weight: 700; color: var(--text); }
.modal-close { background: none; border: none; color: var(--text-muted); font-size: 1.6rem; cursor: pointer; line-height: 1; width: 40px; height: 40px; border-radius: var(--radius-sm); }
.modal-close:hover { color: var(--text); background: var(--surface-2); }
.modal-body { padding: var(--sp-5); overflow-y: auto; flex-grow: 1; }
.modal-footer { padding: var(--sp-4) var(--sp-5); border-top: 1px solid var(--border); display: flex; gap: var(--sp-3); }

.chat-bubble { padding: 12px 16px; border-radius: var(--radius-md); margin-bottom: var(--sp-3); font-size: 0.95rem; line-height: 1.55; }
.chat-bubble.agent { background: var(--accent-soft); border: 1px solid color-mix(in srgb, var(--accent) 25%, transparent); color: var(--text); }
.chat-bubble.user { background: var(--surface-2); border: 1px solid var(--border); color: var(--text); margin-left: var(--sp-8); }

/* --------------------------------------------------------------------------
   11. ALT BİLGİ
   -------------------------------------------------------------------------- */
.footer {
  border-top: 1px solid var(--border);
  background: var(--surface);
  padding: var(--sp-10) var(--sp-6) var(--sp-6);
  margin-top: var(--sp-12);
}
.footer-inner { max-width: 1320px; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--sp-8); }
.footer-col { flex: 1; min-width: min(100%, 240px); }
.footer-col a { color: var(--text-muted) !important; }
.footer-col a:hover { color: var(--accent) !important; }
.footer-bottom {
  max-width: 1320px; margin: var(--sp-8) auto 0; padding-top: var(--sp-5);
  border-top: 1px solid var(--border);
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px;
  font-size: 0.82rem; color: var(--text-dim);
}
.footer-bottom a { color: var(--accent) !important; }
.footer h5 { color: var(--text) !important; }
@media (max-width: 640px) { .footer { padding: var(--sp-8) var(--sp-4) var(--sp-5); } }

/* --------------------------------------------------------------------------
   12. AJAN KONSEYİ ODASI
   -------------------------------------------------------------------------- */
.council-nav-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: var(--sp-6); }
.council-tab {
  padding: 8px 16px; border-radius: var(--radius-full);
  background: var(--surface); border: 1px solid var(--border);
  color: var(--text-muted); font-size: 0.875rem; font-weight: 600; font-family: inherit;
  cursor: pointer; transition: var(--transition);
}
.council-tab:hover { color: var(--text); border-color: var(--border-strong); }
.council-tab.active { background: var(--accent); color: var(--on-btn); border-color: transparent; }
:root[data-theme="dark"] .council-tab.active { background: var(--btn-bg); }

.chamber-container { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: var(--sp-6); margin-bottom: var(--sp-12); }
@media (max-width: 980px) { .chamber-container { grid-template-columns: minmax(0, 1fr); } }

.agent-selector-sidebar {
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg);
  padding: var(--sp-4); display: flex; flex-direction: column; gap: 6px;
  max-height: 680px; overflow-y: auto;
}
.agent-select-item {
  display: flex; align-items: center; gap: 12px; padding: 10px 12px;
  border-radius: var(--radius-md); background: var(--surface-2); border: 1px solid transparent;
  cursor: pointer; transition: var(--transition); text-align: left; font-family: inherit; color: var(--text);
}
.agent-select-item:hover { border-color: var(--border-strong); }
.agent-select-item.active { background: var(--accent-soft); border-color: var(--accent); }

.chat-terminal {
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg);
  display: flex; flex-direction: column; height: 680px; max-height: 85vh; box-shadow: var(--shadow-card); overflow: hidden; min-width: 0;
}
.terminal-header { padding: var(--sp-4) var(--sp-5); border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; background: var(--surface-2); }
.terminal-body { flex-grow: 1; padding: var(--sp-5); overflow-y: auto; display: flex; flex-direction: column; gap: var(--sp-3); }
.terminal-quick-prompts { padding: var(--sp-3) var(--sp-5); border-top: 1px solid var(--border); display: flex; flex-wrap: wrap; gap: 8px; background: var(--surface-2); }
.chip-prompt {
  background: var(--surface); border: 1px solid var(--border); color: var(--text);
  font-size: 0.82rem; font-family: inherit; padding: 6px 12px; border-radius: var(--radius-full);
  cursor: pointer; transition: var(--transition); text-align: left;
}
.chip-prompt:hover { background: var(--accent-soft); border-color: var(--accent); color: var(--accent); }
.terminal-input-bar { padding: var(--sp-4) var(--sp-5); border-top: 1px solid var(--border); display: flex; gap: var(--sp-3); background: var(--surface); }

.debate-box { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: var(--sp-8); margin-bottom: var(--sp-12); box-shadow: var(--shadow-card); }
@media (max-width: 640px) { .debate-box { padding: var(--sp-5) var(--sp-4); } }
.debate-entry { display: flex; gap: var(--sp-4); padding: var(--sp-4); border-radius: var(--radius-md); margin-bottom: var(--sp-3); background: var(--surface-2); border-left: 3px solid var(--accent-indigo); }
.debate-consensus { background: var(--accent-soft); border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent); border-radius: var(--radius-md); padding: var(--sp-5); margin-top: var(--sp-3); color: var(--text); }

/* --------------------------------------------------------------------------
   13. SORU BANKASI MOTORU
   -------------------------------------------------------------------------- */
.quiz-dashboard-bar {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: var(--sp-4) var(--sp-5);
  margin-bottom: var(--sp-6);
  position: sticky;
  top: calc(var(--nav-h) + 4px);
  z-index: 20;
}
.quiz-dash-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--sp-3); }
.quiz-dash-stats { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 20px; }
.quiz-dash-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.quiz-stat-pill { display: flex; align-items: center; gap: 6px; font-size: 0.875rem; color: var(--text-muted); }
.quiz-stat-val { font-weight: 700; color: var(--text); font-size: 1rem; font-variant-numeric: tabular-nums; }
.quiz-stat-pill.is-ok .quiz-stat-val, .quiz-stat-pill.is-ok span:first-child { color: var(--ok); }
.quiz-stat-pill.is-bad .quiz-stat-val, .quiz-stat-pill.is-bad span:first-child { color: var(--bad); }
.quiz-progress { display: flex; align-items: center; gap: var(--sp-3); }
.quiz-progress-track { flex: 1; height: 8px; background: var(--surface-3); border-radius: var(--radius-full); overflow: hidden; display: flex; }
.quiz-progress-ok { background: var(--ok); height: 100%; transition: width .3s ease; }
.quiz-progress-bad { background: var(--bad); height: 100%; transition: width .3s ease; }
.quiz-progress-label { font-size: 0.8rem; color: var(--text-muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
.quiz-filter-note { font-size: 0.875rem; color: var(--warn); background: var(--warn-bg); border: 1px solid var(--warn-border); border-radius: var(--radius-sm); padding: 8px 12px; }
.quiz-empty { text-align: center; padding: var(--sp-8) var(--sp-4); color: var(--text-muted); border: 1px dashed var(--border-strong); border-radius: var(--radius-md); margin-bottom: var(--sp-6); }
@media (max-width: 640px) { .quiz-dashboard-bar { position: static; padding: var(--sp-3) var(--sp-4); } }

.question-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--sp-6);
  margin-bottom: var(--sp-5);
  box-shadow: var(--shadow-sm);
  transition: var(--transition);
  min-width: 0;
}
.question-card:hover { border-color: var(--border-strong); }
.question-card.is-hidden { display: none; }
.question-card.is-flash { box-shadow: 0 0 0 3px var(--accent); }
.question-card.state-correct { border-left: 4px solid var(--ok); }
.question-card.state-wrong { border-left: 4px solid var(--bad); }
@media (max-width: 640px) { .question-card { padding: var(--sp-4); } }

.question-header {
  display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap;
  gap: 8px; margin-bottom: var(--sp-4); padding-bottom: var(--sp-3); border-bottom: 1px solid var(--border);
}
.question-head-main { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; min-width: 0; }
.question-topic { font-size: 0.9rem; font-weight: 700; color: var(--accent-cyan); overflow-wrap: anywhere; }
.question-num-badge {
  background: var(--btn-bg); color: var(--on-btn); font-weight: 700; font-size: 0.8rem;
  padding: 3px 10px; border-radius: var(--radius-sm); white-space: nowrap;
}
.question-tags { display: flex; gap: 6px; flex-wrap: wrap; min-width: 0; }
.question-tag {
  font-size: 0.72rem; font-weight: 600; padding: 2px 8px; border-radius: 4px;
  background: var(--surface-2); border: 1px solid var(--border); color: var(--text-muted);
  overflow-wrap: anywhere;
}
.question-tag.hard   { color: var(--bad);  border-color: var(--bad-border);  background: var(--bad-bg); }
.question-tag.medium { color: var(--warn); border-color: var(--warn-border); background: var(--warn-bg); }
.question-tag.easy   { color: var(--ok);   border-color: var(--ok-border);   background: var(--ok-bg); }
.question-tag.source { color: var(--text-muted); }

.question-body { font-size: 1.02rem; color: var(--text); line-height: 1.65; margin-bottom: var(--sp-5); max-width: 85ch; overflow-x: auto; }

.options-container { display: flex; flex-direction: column; gap: 8px; }
.option-btn {
  display: flex; align-items: flex-start; gap: 12px; width: 100%;
  padding: 12px 16px; border-radius: var(--radius-md);
  background: var(--surface); border: 1px solid var(--border-strong);
  color: var(--text); font-size: 0.97rem; font-family: inherit; text-align: left;
  cursor: pointer; transition: var(--transition); line-height: 1.45; min-width: 0;
}
.option-btn > span:last-child { min-width: 0; overflow-wrap: anywhere; overflow-x: auto; padding-top: 2px; }
.option-btn:hover:not(.disabled) { background: var(--accent-soft); border-color: var(--accent); }
.option-letter {
  display: flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--surface-2); border: 1px solid var(--border-strong);
  font-weight: 700; font-size: 0.82rem; color: var(--text); flex-shrink: 0;
}
.option-btn.correct { background: var(--ok-bg) !important; border-color: var(--ok) !important; color: var(--text) !important; }
.option-btn.correct .option-letter { background: var(--ok); border-color: var(--ok); color: var(--on-btn); }
.option-btn.wrong { background: var(--bad-bg) !important; border-color: var(--bad) !important; color: var(--text) !important; }
.option-btn.wrong .option-letter { background: var(--bad); border-color: var(--bad); color: var(--on-btn); }
:root[data-theme="dark"] .option-btn.correct .option-letter, :root[data-theme="dark"] .option-btn.wrong .option-letter { color: var(--on-solid-dark); }
.option-btn.disabled { cursor: default; }
.option-btn.disabled:not(.correct):not(.wrong) { opacity: 0.72; }
.option-mark { margin-left: auto; font-size: 0.78rem; font-weight: 700; white-space: nowrap; padding-top: 4px; }
.option-btn.correct .option-mark { color: var(--ok); }
.option-btn.wrong .option-mark { color: var(--bad); }
.kbd-hint { font-size: 0.78rem; color: var(--text-dim); margin-top: var(--sp-2); }
.kbd-hint kbd { font-size: 0.75rem; border: 1px solid var(--border-strong); border-bottom-width: 2px; border-radius: 4px; padding: 0 5px; background: var(--surface-2); color: var(--text); }

.feedback-box { margin-top: var(--sp-4); padding: var(--sp-5); border-radius: var(--radius-md); animation: fadeIn .2s ease; color: var(--text); }
.feedback-box.correct-box { background: var(--ok-bg); border: 1px solid var(--ok-border); }
.feedback-box.wrong-box { background: var(--bad-bg); border: 1px solid var(--bad-border); }
.feedback-head { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-weight: 700; margin-bottom: var(--sp-2); }
.feedback-box.correct-box .feedback-head { color: var(--ok); }
.feedback-box.wrong-box .feedback-head { color: var(--bad); }
.feedback-chip { font-size: 0.78rem; padding: 2px 10px; border-radius: var(--radius-full); background: var(--surface); border: 1px solid currentColor; }
.feedback-text { font-size: 0.95rem; color: var(--text); line-height: 1.55; margin-bottom: var(--sp-3); }

.remediation-panel {
  background: var(--surface); border: 1px solid var(--warn-border); border-left: 4px solid var(--accent-amber);
  border-radius: var(--radius-sm); padding: var(--sp-4) var(--sp-5); margin-top: var(--sp-3); overflow-x: auto;
}
.remediation-title { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 0.92rem; color: var(--warn); margin-bottom: 6px; }
.remediation-text { font-size: 0.95rem; color: var(--text); line-height: 1.6; }
.solution-panel {
  background: var(--surface); border: 1px solid var(--border); border-left: 4px solid var(--accent-indigo);
  border-radius: var(--radius-sm); padding: var(--sp-4) var(--sp-5); margin-top: var(--sp-3); overflow-x: auto;
}
.solution-title { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 0.92rem; color: var(--accent-indigo); margin-bottom: 6px; }
.solution-steps { font-size: 0.95rem; color: var(--text); line-height: 1.7; }

@keyframes fadeIn { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }

/* --------------------------------------------------------------------------
   14. YENİ BİLEŞENLER (Ana sayfa, İlerleme, Bilgi Merkezi)
   -------------------------------------------------------------------------- */
.page-head { margin-bottom: var(--sp-8); }
.page-head .eyebrow { font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent-cyan); }
.page-head h1 { font-size: var(--fs-2xl); font-weight: 800; letter-spacing: -0.01em; margin: 4px 0 8px; }
.page-head p { color: var(--text-muted); font-size: var(--fs-md); max-width: var(--measure); }

.section { margin-bottom: var(--sp-12); }
.section > h2 { font-size: var(--fs-lg); font-weight: 800; margin-bottom: var(--sp-2); }
.section > .section-lead { color: var(--text-muted); margin-bottom: var(--sp-5); max-width: var(--measure); }

.surface {
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); padding: var(--sp-6); min-width: 0;
}
@media (max-width: 640px) { .surface { padding: var(--sp-5) var(--sp-4); } }

/* Bugün paneli */
.today-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: var(--sp-5); margin-bottom: var(--sp-10); }
@media (max-width: 900px) { .today-grid { grid-template-columns: minmax(0, 1fr); } }
.today-hello { font-size: var(--fs-2xl); font-weight: 800; letter-spacing: -0.01em; margin-bottom: 6px; }
.today-sub { color: var(--text-muted); margin-bottom: var(--sp-5); max-width: 60ch; }
.todo-list { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.todo-item {
  display: flex; align-items: flex-start; gap: 12px; padding: 12px 14px;
  border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-2);
}
.todo-ico { width: 32px; height: 32px; border-radius: var(--radius-sm); display: flex; align-items: center; justify-content: center; flex-shrink: 0; background: var(--surface); border: 1px solid var(--border); color: var(--accent); }
.todo-ico svg { width: 18px; height: 18px; }
.todo-body { min-width: 0; flex: 1; }
.todo-title { font-weight: 700; color: var(--text); }
.todo-desc { font-size: 0.9rem; color: var(--text-muted); }
.todo-item a.todo-link { font-weight: 600; font-size: 0.9rem; white-space: nowrap; align-self: center; }

.countdown { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: var(--sp-3) 0 var(--sp-2); }
.countdown-cell { background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 12px 8px; text-align: center; }
.countdown-num { font-size: 1.9rem; font-weight: 800; font-variant-numeric: tabular-nums; line-height: 1.1; color: var(--text); }
.countdown-unit { font-size: 0.75rem; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.05em; }
.side-note { font-size: 0.82rem; color: var(--text-dim); }

/* İlerleme halkası */
.ring { --p: 0; --ring-color: var(--accent); width: 112px; height: 112px; border-radius: 50%; flex-shrink: 0;
  background: conic-gradient(var(--ring-color) calc(var(--p) * 1%), var(--surface-3) 0);
  display: grid; place-items: center; }
.ring::before { content: ""; grid-area: 1 / 1; width: 84px; height: 84px; border-radius: 50%; background: var(--surface); }
.ring > span { grid-area: 1 / 1; font-weight: 800; font-size: 1.3rem; font-variant-numeric: tabular-nums; color: var(--text); z-index: 1; }
.ring.ring-sm { width: 64px; height: 64px; }
.ring.ring-sm::before { width: 48px; height: 48px; }
.ring.ring-sm > span { font-size: 0.85rem; }
.ring-row { display: flex; align-items: center; gap: var(--sp-5); flex-wrap: wrap; }
.kv-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 110px), 1fr)); gap: 10px; flex: 1; min-width: 0; }
.kv { background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 10px 12px; }
.kv-num { font-size: 1.35rem; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--text); }
.kv-label { font-size: 0.78rem; color: var(--text-muted); font-weight: 600; }
.kv.is-ok .kv-num { color: var(--ok); }
.kv.is-bad .kv-num { color: var(--bad); }

/* Bölge rozetleri */
.zone { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: var(--radius-full); font-size: 0.78rem; font-weight: 700; border: 1px solid; white-space: nowrap; }
.zone::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.zone-red { color: var(--bad); background: var(--bad-bg); border-color: var(--bad-border); }
.zone-yellow { color: var(--warn); background: var(--warn-bg); border-color: var(--warn-border); }
.zone-green { color: var(--ok); background: var(--ok-bg); border-color: var(--ok-border); }
.zone-none { color: var(--text-muted); background: var(--surface-2); border-color: var(--border); }

/* Ders kartları (renk kodlu) */
.course-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: var(--sp-4); }
.course-card {
  --cc: var(--accent);
  display: flex; flex-direction: column; gap: 8px;
  background: var(--surface); border: 1px solid var(--border); border-top: 4px solid var(--cc);
  border-radius: var(--radius-lg); padding: var(--sp-5); text-decoration: none; color: var(--text);
  box-shadow: var(--shadow-sm); transition: var(--transition); min-width: 0;
}
.course-card:hover { border-color: var(--cc); box-shadow: var(--shadow-card); color: var(--text); }
.course-card h3 { font-size: 1.1rem; font-weight: 700; }
.course-card p { font-size: 0.92rem; color: var(--text-muted); flex: 1; }
.course-card .course-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; font-size: 0.85rem; color: var(--text-muted); }
.course-card .course-go { color: var(--cc); font-weight: 700; font-size: 0.9rem; }
.course-tag { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--cc); }
.c-calculus { --cc: var(--c-calculus); }
.c-physics { --cc: var(--c-physics); }
.c-chemistry { --cc: var(--c-chemistry); }
.c-biology { --cc: var(--c-biology); }
.c-english { --cc: var(--c-english); }
.c-electives { --cc: var(--c-electives); }
.c-precalculus { --cc: var(--c-precalculus); }
.c-statistics { --cc: var(--c-statistics); }
.c-physics2 { --cc: var(--c-physics2); }

.minibar { height: 6px; border-radius: var(--radius-full); background: var(--surface-3); overflow: hidden; display: flex; }
.minibar > i { display: block; height: 100%; }
.minibar .ok { background: var(--ok); }
.minibar .bad { background: var(--bad); }

/* İlerleme tablosu */
.course-block { margin-bottom: var(--sp-5); }
.course-block-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: var(--sp-3); }
.course-block-head h3 { font-size: 1.1rem; font-weight: 800; display: flex; align-items: center; gap: 10px; }
.unit-list { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.unit-row {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 16px; align-items: center;
  padding: 12px 14px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-2);
}
.unit-name { font-weight: 600; color: var(--text); overflow-wrap: anywhere; }
.unit-nums { font-size: 0.85rem; color: var(--text-muted); font-variant-numeric: tabular-nums; }
.unit-row .minibar { grid-column: 1 / -1; }

.err-list { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.err-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 16px; padding: 12px 14px; border: 1px solid var(--border); border-left: 4px solid var(--bad); border-radius: var(--radius-md); background: var(--surface); }
.err-item.is-resolved { border-left-color: var(--ok); opacity: 0.85; }
.err-topic { font-weight: 700; color: var(--text); overflow-wrap: anywhere; }
.err-tag { font-size: 0.9rem; color: var(--text-muted); grid-column: 1 / -1; overflow-wrap: anywhere; }
.err-meta { font-size: 0.8rem; color: var(--text-dim); display: flex; flex-wrap: wrap; gap: 4px 12px; grid-column: 1 / -1; }
.err-item a { font-weight: 600; font-size: 0.9rem; white-space: nowrap; }

.empty-state { text-align: center; padding: var(--sp-10) var(--sp-4); border: 1px dashed var(--border-strong); border-radius: var(--radius-lg); color: var(--text-muted); background: var(--surface); }
.empty-state svg { width: 40px; height: 40px; color: var(--text-dim); margin-bottom: var(--sp-2); }
.empty-state strong { display: block; color: var(--text); font-size: 1.05rem; margin-bottom: 4px; }

/* Bilgi Merkezi */
.toolbar { display: flex; flex-wrap: wrap; gap: var(--sp-3); align-items: center; margin-bottom: var(--sp-6); }
.search-wrap { position: relative; flex: 1 1 280px; min-width: 0; }
.search-wrap svg { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; color: var(--text-dim); pointer-events: none; }
.search-wrap .text-input { padding-left: 40px; }
.chip-group { display: flex; flex-wrap: wrap; gap: 6px; }
.chip {
  display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: var(--radius-full);
  border: 1px solid var(--border); background: var(--surface); color: var(--text-muted);
  font-size: 0.85rem; font-weight: 600; font-family: inherit; cursor: pointer; transition: var(--transition);
}
.chip:hover { color: var(--text); border-color: var(--border-strong); }
.chip[aria-pressed="true"] { background: var(--accent-soft); color: var(--accent); border-color: color-mix(in srgb, var(--accent) 45%, transparent); }
.chip .chip-count { font-variant-numeric: tabular-nums; opacity: 0.8; }

.kb-section { margin-bottom: var(--sp-8); }
.kb-section-head { display: flex; align-items: center; gap: 10px; margin-bottom: var(--sp-3); font-size: 1.15rem; font-weight: 800; }
.kb-section-ico { width: 34px; height: 34px; border-radius: var(--radius-sm); background: var(--accent-soft); color: var(--accent); display: grid; place-items: center; font-size: 1.1rem; flex-shrink: 0; }
.kb-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: var(--sp-4); }
.kb-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: var(--sp-5); display: flex; flex-direction: column; gap: 10px; box-shadow: var(--shadow-sm); min-width: 0; }
.kb-card h3 { font-size: 1.02rem; font-weight: 700; }
.kb-card p { font-size: 0.94rem; color: var(--text-muted); flex: 1; }
.kb-source { font-size: 0.85rem; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; border-top: 1px solid var(--border); padding-top: 10px; color: var(--text-dim); }
.kb-source a { font-weight: 600; overflow-wrap: anywhere; }
.status { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; padding: 3px 10px; border-radius: var(--radius-full); font-size: 0.78rem; font-weight: 700; border: 1px solid; }
.status svg { width: 14px; height: 14px; }
.status-dogrulandi { color: var(--ok); background: var(--ok-bg); border-color: var(--ok-border); }
.status-dikkat { color: var(--warn); background: var(--warn-bg); border-color: var(--warn-border); }
.status-dogrulanamadi { color: var(--text-muted); background: var(--surface-2); border-color: var(--border-strong); }
.notice { display: flex; gap: 12px; align-items: flex-start; padding: 12px 16px; border-radius: var(--radius-md); background: var(--info-bg); border: 1px solid var(--info-border); color: var(--text); margin-bottom: var(--sp-6); font-size: 0.94rem; }
.notice.is-warn { background: var(--warn-bg); border-color: var(--warn-border); }
.notice svg { width: 20px; height: 20px; flex-shrink: 0; color: var(--info); margin-top: 2px; }
.notice.is-warn svg { color: var(--warn); }
mark { background: color-mix(in srgb, var(--accent-amber) 30%, transparent); color: inherit; border-radius: 2px; padding: 0 1px; }

.link-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: var(--sp-4); }
.link-tile { display: flex; gap: 12px; align-items: flex-start; padding: var(--sp-4); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); text-decoration: none; color: var(--text); transition: var(--transition); min-width: 0; }
.link-tile:hover { border-color: var(--accent); color: var(--text); }
.link-tile .todo-ico { color: var(--accent); }
.link-tile strong { display: block; }
.link-tile span { font-size: 0.88rem; color: var(--text-muted); }

details.disclosure { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); margin-bottom: var(--sp-4); }
details.disclosure > summary { cursor: pointer; padding: var(--sp-4) var(--sp-5); font-weight: 700; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
details.disclosure > summary::-webkit-details-marker { display: none; }
details.disclosure > summary::after { content: "+"; font-size: 1.3rem; color: var(--text-muted); }
details.disclosure[open] > summary::after { content: "−"; }
details.disclosure > .disclosure-body { padding: 0 var(--sp-5) var(--sp-5); }

/* --------------------------------------------------------------------------
   15. AÇIK TEMA UYUMLULUK KATMANI
   Kilitli ders sayfalarındaki satır içi koyu-tema renklerini (color:#fff vb.)
   açık temada okunur tonlara çevirir. İki kez yazılmıştır: (a) data-theme="light",
   (b) sistem açık temadaysa ve kullanıcı koyu seçmemişse.
   -------------------------------------------------------------------------- */
:root[data-theme="light"] [style*="color:#fff"]:not([style*="gradient"]):not([style*="background:#"]),
:root[data-theme="light"] [style*="color: #fff"]:not([style*="gradient"]):not([style*="background:#"]),
:root[data-theme="light"] [style*="color:#e2e8f0"], :root[data-theme="light"] [style*="color: #e2e8f0"],
:root[data-theme="light"] [style*="color:#e0e7ff"], :root[data-theme="light"] [style*="color: #e0e7ff"] { color: var(--text) !important; }
:root[data-theme="light"] [style*="color:#cbd5e1"], :root[data-theme="light"] [style*="color: #cbd5e1"],
:root[data-theme="light"] [style*="color:#94a3b8"], :root[data-theme="light"] [style*="color: #94a3b8"] { color: var(--text-muted) !important; }
:root[data-theme="light"] [style*="color:#34d399"], :root[data-theme="light"] [style*="color: #34d399"],
:root[data-theme="light"] [style*="color:#6ee7b7"], :root[data-theme="light"] [style*="color: #6ee7b7"],
:root[data-theme="light"] [style*="color:#a7f3d0"], :root[data-theme="light"] [style*="color: #a7f3d0"],
:root[data-theme="light"] [style*="color:#10b981"], :root[data-theme="light"] [style*="color: #10b981"] { color: var(--accent-emerald) !important; }
:root[data-theme="light"] [style*="color:#22d3ee"], :root[data-theme="light"] [style*="color: #22d3ee"],
:root[data-theme="light"] [style*="color:#a5f3fc"], :root[data-theme="light"] [style*="color: #a5f3fc"],
:root[data-theme="light"] [style*="color:#67e8f9"], :root[data-theme="light"] [style*="color: #67e8f9"],
:root[data-theme="light"] [style*="color:#7dd3fc"], :root[data-theme="light"] [style*="color: #7dd3fc"],
:root[data-theme="light"] [style*="color:#38bdf8"], :root[data-theme="light"] [style*="color: #38bdf8"],
:root[data-theme="light"] [style*="color:#06b6d4"], :root[data-theme="light"] [style*="color: #06b6d4"] { color: var(--accent-cyan) !important; }
:root[data-theme="light"] [style*="color:#c084fc"], :root[data-theme="light"] [style*="color: #c084fc"],
:root[data-theme="light"] [style*="color:#c4b5fd"], :root[data-theme="light"] [style*="color: #c4b5fd"],
:root[data-theme="light"] [style*="color:#a855f7"], :root[data-theme="light"] [style*="color: #a855f7"],
:root[data-theme="light"] [style*="color:#8b5cf6"], :root[data-theme="light"] [style*="color: #8b5cf6"] { color: var(--accent-violet) !important; }
:root[data-theme="light"] [style*="color:#a5b4fc"], :root[data-theme="light"] [style*="color: #a5b4fc"],
:root[data-theme="light"] [style*="color:#c7d2fe"], :root[data-theme="light"] [style*="color: #c7d2fe"],
:root[data-theme="light"] [style*="color:#818cf8"], :root[data-theme="light"] [style*="color: #818cf8"],
:root[data-theme="light"] [style*="color:#93c5fd"], :root[data-theme="light"] [style*="color: #93c5fd"],
:root[data-theme="light"] [style*="color:#60a5fa"], :root[data-theme="light"] [style*="color: #60a5fa"],
:root[data-theme="light"] [style*="color:#3b82f6"], :root[data-theme="light"] [style*="color: #3b82f6"],
:root[data-theme="light"] [style*="color:#6366f1"], :root[data-theme="light"] [style*="color: #6366f1"] { color: var(--accent-blue) !important; }
:root[data-theme="light"] [style*="color:#fbbf24"], :root[data-theme="light"] [style*="color: #fbbf24"],
:root[data-theme="light"] [style*="color:#fde68a"], :root[data-theme="light"] [style*="color: #fde68a"],
:root[data-theme="light"] [style*="color:#f59e0b"], :root[data-theme="light"] [style*="color: #f59e0b"] { color: var(--accent-amber) !important; }
:root[data-theme="light"] [style*="color:#f472b6"], :root[data-theme="light"] [style*="color: #f472b6"],
:root[data-theme="light"] [style*="color:#fbcfe8"], :root[data-theme="light"] [style*="color: #fbcfe8"],
:root[data-theme="light"] [style*="color:#ec4899"], :root[data-theme="light"] [style*="color: #ec4899"] { color: var(--accent-pink) !important; }
:root[data-theme="light"] [style*="color:#fb7185"], :root[data-theme="light"] [style*="color: #fb7185"],
:root[data-theme="light"] [style*="color:#f87171"], :root[data-theme="light"] [style*="color: #f87171"],
:root[data-theme="light"] [style*="color:#fca5a5"], :root[data-theme="light"] [style*="color: #fca5a5"],
:root[data-theme="light"] [style*="color:#fecdd3"], :root[data-theme="light"] [style*="color: #fecdd3"] { color: var(--accent-rose) !important; }
:root[data-theme="light"] [style*="color:#14b8a6"], :root[data-theme="light"] [style*="color: #14b8a6"] { color: var(--accent-teal) !important; }
:root[data-theme="light"] [style*="background:rgba(0,0,0"], :root[data-theme="light"] [style*="background: rgba(0,0,0"],
:root[data-theme="light"] [style*="background:rgba(15,23,42"], :root[data-theme="light"] [style*="background: rgba(15, 23, 42"],
:root[data-theme="light"] [style*="background:rgba(15, 23, 42"], :root[data-theme="light"] [style*="background:#050811"],
:root[data-theme="light"] [style*="background:rgba(255,255,255,0.0"], :root[data-theme="light"] [style*="background: rgba(255,255,255,0.0"] { background: var(--surface-2) !important; }
:root[data-theme="light"] [style*="border:1px solid rgba(255,255,255"], :root[data-theme="light"] [style*="border: 1px solid rgba(255,255,255"],
:root[data-theme="light"] [style*="border:1px dashed rgba(255,255,255"], :root[data-theme="light"] [style*="border: 1px dashed rgba(255,255,255"] { border-color: var(--border-strong) !important; }

@media (prefers-color-scheme: light) {
  :root:not([data-theme]) [style*="color:#fff"]:not([style*="gradient"]):not([style*="background:#"]),
  :root:not([data-theme]) [style*="color: #fff"]:not([style*="gradient"]):not([style*="background:#"]),
  :root:not([data-theme]) [style*="color:#e2e8f0"], :root:not([data-theme]) [style*="color: #e2e8f0"],
  :root:not([data-theme]) [style*="color:#e0e7ff"], :root:not([data-theme]) [style*="color: #e0e7ff"] { color: var(--text) !important; }
  :root:not([data-theme]) [style*="color:#cbd5e1"], :root:not([data-theme]) [style*="color: #cbd5e1"],
  :root:not([data-theme]) [style*="color:#94a3b8"], :root:not([data-theme]) [style*="color: #94a3b8"] { color: var(--text-muted) !important; }
  :root:not([data-theme]) [style*="color:#34d399"], :root:not([data-theme]) [style*="color: #34d399"],
  :root:not([data-theme]) [style*="color:#6ee7b7"], :root:not([data-theme]) [style*="color: #6ee7b7"],
  :root:not([data-theme]) [style*="color:#a7f3d0"], :root:not([data-theme]) [style*="color: #a7f3d0"],
  :root:not([data-theme]) [style*="color:#10b981"], :root:not([data-theme]) [style*="color: #10b981"] { color: var(--accent-emerald) !important; }
  :root:not([data-theme]) [style*="color:#22d3ee"], :root:not([data-theme]) [style*="color: #22d3ee"],
  :root:not([data-theme]) [style*="color:#a5f3fc"], :root:not([data-theme]) [style*="color: #a5f3fc"],
  :root:not([data-theme]) [style*="color:#67e8f9"], :root:not([data-theme]) [style*="color: #67e8f9"],
  :root:not([data-theme]) [style*="color:#7dd3fc"], :root:not([data-theme]) [style*="color: #7dd3fc"],
  :root:not([data-theme]) [style*="color:#38bdf8"], :root:not([data-theme]) [style*="color: #38bdf8"],
  :root:not([data-theme]) [style*="color:#06b6d4"], :root:not([data-theme]) [style*="color: #06b6d4"] { color: var(--accent-cyan) !important; }
  :root:not([data-theme]) [style*="color:#c084fc"], :root:not([data-theme]) [style*="color: #c084fc"],
  :root:not([data-theme]) [style*="color:#c4b5fd"], :root:not([data-theme]) [style*="color: #c4b5fd"],
  :root:not([data-theme]) [style*="color:#a855f7"], :root:not([data-theme]) [style*="color: #a855f7"],
  :root:not([data-theme]) [style*="color:#8b5cf6"], :root:not([data-theme]) [style*="color: #8b5cf6"] { color: var(--accent-violet) !important; }
  :root:not([data-theme]) [style*="color:#a5b4fc"], :root:not([data-theme]) [style*="color: #a5b4fc"],
  :root:not([data-theme]) [style*="color:#c7d2fe"], :root:not([data-theme]) [style*="color: #c7d2fe"],
  :root:not([data-theme]) [style*="color:#818cf8"], :root:not([data-theme]) [style*="color: #818cf8"],
  :root:not([data-theme]) [style*="color:#93c5fd"], :root:not([data-theme]) [style*="color: #93c5fd"],
  :root:not([data-theme]) [style*="color:#60a5fa"], :root:not([data-theme]) [style*="color: #60a5fa"],
  :root:not([data-theme]) [style*="color:#3b82f6"], :root:not([data-theme]) [style*="color: #3b82f6"],
  :root:not([data-theme]) [style*="color:#6366f1"], :root:not([data-theme]) [style*="color: #6366f1"] { color: var(--accent-blue) !important; }
  :root:not([data-theme]) [style*="color:#fbbf24"], :root:not([data-theme]) [style*="color: #fbbf24"],
  :root:not([data-theme]) [style*="color:#fde68a"], :root:not([data-theme]) [style*="color: #fde68a"],
  :root:not([data-theme]) [style*="color:#f59e0b"], :root:not([data-theme]) [style*="color: #f59e0b"] { color: var(--accent-amber) !important; }
  :root:not([data-theme]) [style*="color:#f472b6"], :root:not([data-theme]) [style*="color: #f472b6"],
  :root:not([data-theme]) [style*="color:#fbcfe8"], :root:not([data-theme]) [style*="color: #fbcfe8"],
  :root:not([data-theme]) [style*="color:#ec4899"], :root:not([data-theme]) [style*="color: #ec4899"] { color: var(--accent-pink) !important; }
  :root:not([data-theme]) [style*="color:#fb7185"], :root:not([data-theme]) [style*="color: #fb7185"],
  :root:not([data-theme]) [style*="color:#f87171"], :root:not([data-theme]) [style*="color: #f87171"],
  :root:not([data-theme]) [style*="color:#fca5a5"], :root:not([data-theme]) [style*="color: #fca5a5"],
  :root:not([data-theme]) [style*="color:#fecdd3"], :root:not([data-theme]) [style*="color: #fecdd3"] { color: var(--accent-rose) !important; }
  :root:not([data-theme]) [style*="color:#14b8a6"], :root:not([data-theme]) [style*="color: #14b8a6"] { color: var(--accent-teal) !important; }
  :root:not([data-theme]) [style*="background:rgba(0,0,0"], :root:not([data-theme]) [style*="background: rgba(0,0,0"],
  :root:not([data-theme]) [style*="background:rgba(15,23,42"], :root:not([data-theme]) [style*="background: rgba(15, 23, 42"],
  :root:not([data-theme]) [style*="background:rgba(15, 23, 42"], :root:not([data-theme]) [style*="background:#050811"],
  :root:not([data-theme]) [style*="background:rgba(255,255,255,0.0"], :root:not([data-theme]) [style*="background: rgba(255,255,255,0.0"] { background: var(--surface-2) !important; }
  :root:not([data-theme]) [style*="border:1px solid rgba(255,255,255"], :root:not([data-theme]) [style*="border: 1px solid rgba(255,255,255"],
  :root:not([data-theme]) [style*="border:1px dashed rgba(255,255,255"], :root:not([data-theme]) [style*="border: 1px dashed rgba(255,255,255"] { border-color: var(--border-strong) !important; }
}

/* Koyu temada da, açık zeminli kalan eski satır içi renkler sorun çıkarmaz;
   yalnızca çok koyu satır içi arka planlar yüzeye uyarlanır. */
:root[data-theme="dark"] [style*="background:#050811"] { background: var(--surface-2) !important; }

/* --------------------------------------------------------------------------
   16. HAREKET AZALTMA & YAZDIRMA
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
}

@media print {
  :root { --bg: #fff; --surface: #fff; --surface-2: #fff; --text: #000; --text-muted: #333; --border: #bbb; }
  body { background: #fff; color: #000; }
  .navbar, .nav-actions, .modal-overlay, .footer, .skip-link, .quiz-dash-actions, .toolbar, .btn-card, .btn-consult, #btn-check-kmk { display: none !important; }
  .glass-card, .interactive-panel, .question-card, .surface, .kb-card, .lecture-card { box-shadow: none !important; break-inside: avoid; border-color: #bbb !important; }
  .quiz-dashboard-bar { position: static; }
  a { color: #000; text-decoration: underline; }
  .kb-source a::after { content: " (" attr(href) ")"; font-weight: 400; font-size: 0.8em; }
}

/* Yapışkan quiz panosunun altında kalmasın */
.question-card { scroll-margin-top: calc(var(--nav-h) + 132px); }
.quiz-dashboard-bar + .kbd-hint { margin: calc(var(--sp-6) * -1 + 8px) 0 var(--sp-5); }
@media (max-width: 640px) { .question-card { scroll-margin-top: calc(var(--nav-h) + 12px); } }
@media (max-width: 520px) {
  .todo-item { flex-wrap: wrap; }
  .todo-body { flex: 1 1 calc(100% - 48px); }
  .todo-item a.todo-link { margin-left: 44px; align-self: flex-start; }
}

/* --------------------------------------------------------------------------
   17. YEDEKLE / TAŞI (ilerleme.html) & YEDEK HATIRLATMASI
   -------------------------------------------------------------------------- */
.backup-head { display: flex; gap: var(--sp-3); align-items: flex-start; margin-bottom: var(--sp-5); }
.backup-head h2 { font-size: var(--fs-lg); font-weight: 800; margin-bottom: 2px; }
.backup-head p { color: var(--text-muted); font-size: 0.94rem; max-width: 70ch; }
.backup-ico { width: 40px; height: 40px; border-radius: var(--radius-md); display: grid; place-items: center; flex-shrink: 0; background: var(--accent-soft); color: var(--accent); border: 1px solid color-mix(in srgb, var(--accent) 25%, transparent); }
.backup-ico svg { width: 22px; height: 22px; }
.backup-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: var(--sp-4); }
.backup-pane { display: flex; flex-direction: column; gap: var(--sp-3); padding: var(--sp-4); background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-md); min-width: 0; }
.backup-pane h3 { font-size: 1rem; font-weight: 800; }
.backup-pane p { font-size: 0.9rem; color: var(--text-muted); overflow-wrap: anywhere; }
.backup-pane .btn-primary, .backup-pane .btn-ghost { align-self: flex-start; margin-top: auto; }
.backup-last { display: inline-flex; align-items: center; gap: 6px; font-size: 0.85rem; color: var(--text-muted); font-weight: 600; }
.backup-last svg { width: 16px; height: 16px; }
/* Dosya seçici: gerçek <input> görsel olarak gizli, etiketi düğme gibi görünür */
.file-btn { cursor: pointer; }
input[type="file"].visually-hidden:focus-visible + .file-btn { outline: 2px solid var(--accent); outline-offset: 2px; box-shadow: var(--focus-ring); }

.backup-preview { margin-top: var(--sp-5); padding: var(--sp-5); border: 1px solid var(--info-border); background: var(--info-bg); border-radius: var(--radius-md); }
.backup-preview h3 { font-size: 1rem; font-weight: 800; margin-bottom: 4px; }
.backup-preview .backup-meta { font-size: 0.88rem; color: var(--text-muted); margin-bottom: var(--sp-4); overflow-wrap: anywhere; }
.backup-preview .kv { background: var(--surface); }
.backup-modes { border: 0; padding: 0; margin: var(--sp-5) 0 var(--sp-4); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: var(--sp-3); min-width: 0; }
.backup-modes legend { font-weight: 800; font-size: 0.95rem; margin-bottom: var(--sp-2); padding: 0; }
.mode-opt { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); cursor: pointer; transition: var(--transition); min-width: 0; }
.mode-opt:hover { border-color: var(--border-strong); }
.mode-opt input { margin-top: 4px; accent-color: var(--accent); width: 16px; height: 16px; flex-shrink: 0; }
.mode-opt strong { display: block; font-size: 0.95rem; }
.mode-opt span { display: block; font-size: 0.85rem; color: var(--text-muted); }
.mode-opt:has(input:checked) { border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.mode-opt.is-danger:has(input:checked) { border-color: var(--bad); box-shadow: inset 0 0 0 1px var(--bad); }
.backup-actions { display: flex; gap: var(--sp-2); flex-wrap: wrap; }

.backup-msg { margin-top: var(--sp-4); display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: var(--radius-md); border: 1px solid; font-size: 0.92rem; overflow-wrap: anywhere; }
.backup-msg:empty { display: none; }
.backup-msg:focus { outline: none; }
.backup-msg:focus-visible { box-shadow: var(--focus-ring); }
.backup-msg.is-ok { color: var(--text); background: var(--ok-bg); border-color: var(--ok-border); }
.backup-msg.is-bad { color: var(--text); background: var(--bad-bg); border-color: var(--bad-border); }
.backup-msg svg { width: 18px; height: 18px; flex-shrink: 0; margin-top: 2px; }
.backup-msg.is-ok svg { color: var(--ok); }
.backup-msg.is-bad svg { color: var(--bad); }

.backup-nudge { display: flex; align-items: center; gap: 10px 12px; flex-wrap: wrap; padding: 10px 14px; border-radius: var(--radius-md); background: var(--warn-bg); border: 1px solid var(--warn-border); color: var(--text); font-size: 0.9rem; }
.backup-nudge[hidden] { display: none; }
.backup-nudge > svg { width: 18px; height: 18px; flex-shrink: 0; color: var(--warn); }
.backup-nudge .nudge-text { flex: 1 1 200px; min-width: 0; }
.backup-nudge .nudge-text strong { display: block; }
.backup-nudge a, .backup-nudge button { font-weight: 700; white-space: nowrap; }
.backup-nudge .btn-ghost { min-height: 36px; padding: 6px 12px; }
@media print { .backup-nudge, #yedek-section { display: none !important; } }

/* --------------------------------------------------------------------------
   18. SEVİYE TESTİ & SINAV HAZIRLIK RAPORU (seviye-testi.html)
   -------------------------------------------------------------------------- */
.sv-main { max-width: 1120px; }
/* MathJax'in ekran okuyucu için gizli MathML kopyası (mjx-assistive-mml) sayfayı yatay taşırmasın */
.sv-main mjx-container { position: relative; }
.sv-main mjx-assistive-mml { max-width: 100%; }
#sv-test, #sv-report { overflow-x: clip; }
.sv-loading { padding: var(--sp-8) var(--sp-4); text-align: center; color: var(--text-muted); }
.sv-loading[hidden] { display: none; }
.sv-block { display: block; }
.sv-actions { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.sv-form-msg { color: var(--bad); font-size: 0.9rem; font-weight: 600; }
.sv-form-msg:empty { display: none; }
.sv-empty-note { color: var(--text-muted); font-size: 0.92rem; padding: var(--sp-4); border: 1px dashed var(--border-strong); border-radius: var(--radius-md); }
.sv-empty-note[hidden] { display: none; }

/* Kayıt şeridi */
.sv-deadline { display: flex; align-items: center; gap: var(--sp-4); padding: var(--sp-4) var(--sp-5); margin-bottom: var(--sp-5);
  background: var(--info-bg); border: 1px solid var(--info-border); border-radius: var(--radius-lg); }
.sv-deadline.is-urgent { background: var(--bad-bg); border-color: var(--bad-border); }
.sv-deadline-num { font-size: 2.2rem; font-weight: 800; line-height: 1; font-variant-numeric: tabular-nums; color: var(--info); min-width: 2ch; text-align: center; }
.sv-deadline.is-urgent .sv-deadline-num { color: var(--bad); }
.sv-deadline-txt { color: var(--text); font-size: 0.95rem; min-width: 0; }

/* Uyarı kutusu (rapor üstünde belirgin) */
.sv-disclaimer { display: flex; gap: var(--sp-3); align-items: flex-start; padding: var(--sp-4) var(--sp-5); margin-bottom: var(--sp-6);
  background: var(--warn-bg); border: 1px solid var(--warn-border); border-left: 6px solid var(--accent-amber); border-radius: var(--radius-md); color: var(--text); }
.sv-disclaimer svg { width: 24px; height: 24px; color: var(--warn); flex-shrink: 0; margin-top: 1px; }
.sv-disclaimer p { font-size: 1rem; line-height: 1.5; }
.sv-disclaimer.is-soft { border-left-width: 1px; padding: var(--sp-3) var(--sp-4); }
.sv-disclaimer.is-soft svg { width: 20px; height: 20px; }
.sv-disclaimer.is-soft p { font-size: 0.9rem; color: var(--text-muted); }

/* Devam kartı */
.sv-resume { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-3) var(--sp-5);
  padding: var(--sp-4) var(--sp-5); margin-bottom: var(--sp-5); background: var(--accent-soft); border: 1px solid color-mix(in srgb, var(--accent) 35%, transparent); border-radius: var(--radius-lg); }
.sv-resume[hidden] { display: none; }
.sv-resume:focus { outline: none; box-shadow: var(--focus-ring); }
.sv-resume-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1 1 260px; }
.sv-resume-body span { color: var(--text-muted); font-size: 0.9rem; overflow-wrap: anywhere; }
.sv-resume-body .sv-err { color: var(--bad); font-weight: 600; }

/* Başlangıç formu */
.sv-form { display: flex; flex-direction: column; gap: var(--sp-6); }
.sv-fieldset { border: 0; padding: 0; margin: 0; min-width: 0; display: flex; flex-direction: column; gap: var(--sp-3); }
.sv-legend { font-size: 1.05rem; font-weight: 800; color: var(--text); padding: 0; }
.sv-legend:focus { outline: none; }
.sv-courses { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: var(--sp-3); }
.sv-course { position: relative; display: flex; gap: var(--sp-3); align-items: flex-start; padding: var(--sp-4); min-width: 0;
  background: var(--surface); border: 1px solid var(--border); border-left: 4px solid var(--cc, var(--accent)); border-radius: var(--radius-md); cursor: pointer; transition: var(--transition); }
.sv-course:hover { border-color: var(--border-strong); border-left-color: var(--cc, var(--accent)); }
.sv-course:has(input:checked) { background: color-mix(in srgb, var(--cc, var(--accent)) 8%, var(--surface)); border-color: var(--cc, var(--accent)); box-shadow: inset 0 0 0 1px var(--cc, var(--accent)); }
.sv-course > input { margin-top: 3px; width: 18px; height: 18px; accent-color: var(--cc, var(--accent)); flex-shrink: 0; }
.sv-course.is-disabled { cursor: not-allowed; opacity: 0.62; }
fieldset.sv-course { display: block; cursor: default; margin: 0; grid-column: 1 / -1; }
fieldset.sv-course:has(input:checked) { background: var(--surface); box-shadow: none; border-color: var(--border); border-left-color: var(--cc, var(--accent)); }
fieldset.sv-course:has(input:checked:not([value=""])) { background: color-mix(in srgb, var(--cc, var(--accent)) 8%, var(--surface)); border-color: var(--cc, var(--accent)); box-shadow: inset 0 0 0 1px var(--cc, var(--accent)); }
fieldset.sv-course > legend { float: left; width: 100%; margin-bottom: var(--sp-2); }
.sv-course-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.sv-course-name { font-weight: 700; color: var(--text); overflow-wrap: anywhere; }
.sv-course-note { font-weight: 600; font-size: 0.82rem; color: var(--text-muted); margin-left: 6px; }
.sv-course-meta { font-size: 0.85rem; color: var(--text-muted); }
.sv-radio-row { clear: both; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: var(--sp-2); }
.sv-radio { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; padding: 10px 12px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-2); cursor: pointer; min-width: 0; }
.sv-radio input { width: 18px; height: 18px; accent-color: var(--cc, var(--accent)); }
.sv-radio > span:first-of-type { font-weight: 700; }
.sv-radio .sv-course-meta { flex-basis: 100%; padding-left: 28px; }
.sv-radio:has(input:checked) { border-color: var(--cc, var(--accent)); background: var(--surface); }
.sv-radio.is-disabled { opacity: 0.62; cursor: not-allowed; }
.sv-chip-ornek { font-size: 0.7rem; font-weight: 800; letter-spacing: 0.05em; padding: 1px 6px; border-radius: 4px; background: var(--warn-bg); color: var(--warn); border: 1px solid var(--warn-border); vertical-align: middle; }
.sv-pill { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: var(--radius-full); font-size: 0.75rem; font-weight: 700; border: 1px solid var(--border); background: var(--surface-2); color: var(--text-muted); white-space: nowrap; }
.sv-pill.is-ok { color: var(--ok); background: var(--ok-bg); border-color: var(--ok-border); }
.sv-pill.is-warn { color: var(--warn); background: var(--warn-bg); border-color: var(--warn-border); white-space: normal; }
.sv-pill.is-muted { color: var(--text-muted); }

.sv-form-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: var(--sp-6); }
.sv-hours-input { display: flex; align-items: center; gap: var(--sp-2); }
.sv-hours-input .calc-input { max-width: 120px; font-size: 1.1rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.sv-hours-input span { color: var(--text-muted); font-weight: 600; }
.calc-input[aria-invalid="true"] { border-color: var(--bad); }

.sv-switch { display: flex; gap: var(--sp-3); align-items: flex-start; cursor: pointer; position: relative; }
.sv-switch input { position: absolute; z-index: 1; opacity: 0; width: 44px; height: 24px; margin: 0; cursor: pointer; }
.sv-switch-ui { width: 44px; height: 24px; border-radius: var(--radius-full); background: var(--surface-3); border: 1px solid var(--border-strong); flex-shrink: 0; position: relative; transition: var(--transition); }
.sv-switch-ui::after { content: ""; position: absolute; top: 2px; left: 2px; width: 18px; height: 18px; border-radius: 50%; background: var(--surface); box-shadow: var(--shadow-sm); transition: transform .18s ease; }
.sv-switch input:checked + .sv-switch-ui { background: var(--btn-bg); border-color: var(--btn-bg); }
.sv-switch input:checked + .sv-switch-ui::after { transform: translateX(20px); background: #fff; }
.sv-switch input:focus-visible + .sv-switch-ui { box-shadow: var(--focus-ring); }

.sv-start-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-4); padding-top: var(--sp-5); border-top: 1px solid var(--border); }
.sv-estimate { display: flex; align-items: center; gap: 8px; color: var(--text-muted); font-size: 0.95rem; min-width: 0; flex: 1 1 260px; }
.sv-estimate svg { width: 20px; height: 20px; flex-shrink: 0; color: var(--accent); }
.sv-estimate strong { color: var(--text); }
.sv-start-btn { min-width: 180px; min-height: 46px; font-size: 1rem; }
.btn-primary:disabled { opacity: 0.55; cursor: not-allowed; }
.btn-ghost:disabled { opacity: 0.5; cursor: not-allowed; }

/* Test ekranı */
.sv-test-bar { position: sticky; top: calc(var(--nav-h) + 4px); z-index: 20; display: flex; flex-direction: column; gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-5); margin-bottom: var(--sp-5); background: var(--surface); border: 1px solid var(--border); border-top: 4px solid var(--cc, var(--accent)); border-radius: var(--radius-md); box-shadow: var(--shadow-card); }
.sv-test-bar-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-2) var(--sp-4); }
.sv-test-where { display: flex; flex-direction: column; min-width: 0; }
.sv-test-where strong { color: var(--text); overflow-wrap: anywhere; }
.sv-test-where span { font-size: 0.85rem; color: var(--text-muted); font-variant-numeric: tabular-nums; }
.sv-test-tools { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); }
.sv-timer { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: var(--radius-full); background: var(--surface-2); border: 1px solid var(--border); font-weight: 800; font-variant-numeric: tabular-nums; color: var(--text); }
.sv-timer[hidden] { display: none; }
.sv-timer svg { width: 16px; height: 16px; color: var(--accent); }
.sv-timer.is-low { color: var(--bad); background: var(--bad-bg); border-color: var(--bad-border); }
.sv-timer.is-low svg { color: var(--bad); }
.sv-progress-fill { height: 100%; background: var(--cc, var(--accent)); width: 0; transition: width .25s ease; }
.sv-confirm { padding: var(--sp-5); margin-bottom: var(--sp-5); border: 1px solid var(--warn-border); background: var(--warn-bg); border-radius: var(--radius-md); }
.sv-confirm[hidden] { display: none; }
.sv-confirm h2 { font-size: 1.05rem; font-weight: 800; margin-bottom: 4px; }
.sv-confirm h2:focus { outline: none; }
.sv-confirm p { margin-bottom: var(--sp-3); color: var(--text); }
.sv-q-card { border-left: 4px solid var(--cc, var(--accent)); margin-bottom: var(--sp-3); }
.sv-q-card .question-body { font-size: 1.06rem; }
.sv-tag-calc { display: inline-flex; align-items: center; gap: 4px; color: var(--info); border-color: var(--info-border); background: var(--info-bg); }
.sv-tag-calc svg { width: 12px; height: 12px; }
.sv-options { border: 0; padding: 0; margin: 0; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.sv-option { display: flex; align-items: flex-start; gap: 12px; padding: 12px 16px; border-radius: var(--radius-md); background: var(--surface); border: 1px solid var(--border-strong);
  cursor: pointer; transition: var(--transition); line-height: 1.45; min-width: 0; position: relative; }
.sv-option input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.sv-option:hover { background: var(--accent-soft); border-color: var(--accent); }
.sv-option:has(input:checked) { background: var(--accent-soft); border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.sv-option:has(input:checked) .option-letter { background: var(--btn-bg); border-color: var(--btn-bg); color: var(--on-btn); }
.sv-option:has(input:focus-visible) { outline: 2px solid var(--accent); outline-offset: 2px; }
.sv-option-text { min-width: 0; overflow-wrap: anywhere; overflow-x: auto; padding-top: 2px; color: var(--text); }
.sv-skipped-note { margin-top: var(--sp-3); font-size: 0.88rem; color: var(--text-muted); }
.sv-q-actions { display: flex; flex-wrap: wrap; gap: var(--sp-2); justify-content: flex-end; margin-top: var(--sp-3); }
.sv-q-actions #sv-prev { margin-right: auto; }
.sv-kbd { margin-top: var(--sp-4); }
@media (max-width: 640px) {
  .sv-test-bar { position: static; padding: var(--sp-3) var(--sp-4); }
  .sv-q-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .sv-q-actions #sv-next { grid-column: 1 / -1; grid-row: 1; }
  .sv-q-actions #sv-prev { margin-right: 0; }
  .sv-test-tools { width: 100%; }
  .sv-test-tools .btn-ghost { flex: 1 1 auto; }
}

/* Rapor */
.sv-report-head { margin-bottom: var(--sp-4); }
.sv-report-head h1:focus { outline: none; }
.sv-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); margin-bottom: var(--sp-5); }
.sv-hist-label { margin-left: auto; font-size: 0.85rem; font-weight: 700; color: var(--text-muted); }
.sv-hist { width: auto; min-width: 0; max-width: 100%; }
@media (max-width: 640px) { .sv-hist-label { margin-left: 0; flex-basis: 100%; } .sv-hist { width: 100%; } .sv-toolbar .btn-primary, .sv-toolbar .btn-ghost { flex: 1 1 auto; } }
.sv-sec > h2 { display: flex; align-items: center; gap: 10px; scroll-margin-top: calc(var(--nav-h) + 16px); }
.sv-sec > h2:focus { outline: none; }
.sv-sec-letter { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: var(--radius-sm); background: var(--accent-soft); color: var(--accent);
  font-size: 0.9rem; font-weight: 800; text-transform: uppercase; flex-shrink: 0; border: 1px solid color-mix(in srgb, var(--accent) 25%, transparent); }
.sv-sec .section-lead .zone { margin: 2px 0; }
.sv-kv { margin-bottom: var(--sp-5); }
.sv-kv-date { font-size: 1.05rem; line-height: 1.6; }
.sv-late { margin: 0 0 var(--sp-5); }

.sv-table-wrap { min-width: 0; }
.sv-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 0.92rem; }
.sv-table th, .sv-table td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--border); vertical-align: top; }
.sv-table thead th { font-size: 0.75rem; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; color: var(--text-muted); background: var(--surface-2); border-bottom: 1px solid var(--border-strong); }
.sv-table thead th:first-child { border-top-left-radius: var(--radius-sm); }
.sv-table thead th:last-child { border-top-right-radius: var(--radius-sm); }
.sv-table tbody th { font-weight: 600; color: var(--text); overflow-wrap: anywhere; }
.sv-table tbody th .nav-dot { display: inline-block; margin-right: 8px; vertical-align: middle; }
.sv-table tfoot th, .sv-table tfoot td { background: var(--surface-2); border-bottom: 0; font-weight: 700; }
.sv-num { font-variant-numeric: tabular-nums; white-space: nowrap; }
.sv-num .minibar { margin-top: 6px; min-width: 60px; }
.minibar .warn { background: var(--warn); }
.sv-unit-no { display: inline-grid; place-items: center; min-width: 26px; height: 22px; padding: 0 6px; margin-right: 4px; border-radius: 6px; background: var(--surface-2); border: 1px solid var(--border); font-size: 0.78rem; font-weight: 800; color: var(--text-muted); }
.sv-unit-sub { display: block; font-size: 0.8rem; font-weight: 500; color: var(--text-dim); margin-top: 2px; white-space: normal; }
.sv-unverified { white-space: nowrap; }
.sv-unverified-text { color: var(--text-muted); font-style: italic; white-space: normal; }
.sv-delta { font-size: 0.82rem; font-weight: 700; white-space: nowrap; }
.sv-delta.is-up { color: var(--ok); }
.sv-delta.is-down { color: var(--bad); }
.sv-delta.is-same { color: var(--text-muted); }
.sv-delta-sum { margin-top: var(--sp-3); }

.sv-course-block { border-top: 4px solid var(--cc, var(--accent)); margin-bottom: var(--sp-5); }
.sv-course-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3) var(--sp-5); margin-bottom: var(--sp-4); }
.sv-course-title { flex: 1 1 220px; min-width: 0; }
.sv-course-title h3 { font-size: 1.15rem; font-weight: 800; overflow-wrap: anywhere; }
.sv-course-score { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.sv-nums { font-size: 0.85rem; color: var(--text-muted); font-variant-numeric: tabular-nums; }
.sv-nums .is-ok { color: var(--ok); font-weight: 700; }
.sv-nums .is-bad { color: var(--bad); font-weight: 700; }

.sv-method { margin-bottom: var(--sp-5); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-2); }
.sv-method > summary { cursor: pointer; padding: var(--sp-3) var(--sp-4); font-weight: 800; }
.sv-method-list { padding: 0 var(--sp-5) var(--sp-4) calc(var(--sp-5) + 18px); display: flex; flex-direction: column; gap: 6px; font-size: 0.92rem; color: var(--text); }
.sv-assume { margin-bottom: var(--sp-5); }
.sv-assume fieldset { border: 1px dashed var(--border-strong); border-radius: var(--radius-md); padding: var(--sp-4); min-width: 0; display: flex; flex-direction: column; gap: var(--sp-3); }
.sv-assume legend { font-weight: 800; font-size: 0.95rem; padding: 0 6px; }
.sv-assume-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 130px), 1fr)); gap: var(--sp-3); align-items: end; }
.sv-assume .calc-label { font-size: 0.82rem; }
.sv-assume .sv-form-msg { color: var(--text-muted); font-weight: 600; }
.sv-assume .sv-form-msg:not(:empty) { display: block; }
.sv-bandcount { font-variant-numeric: tabular-nums; font-weight: 600; color: var(--text-muted); }
.sv-bandcount .is-bad { color: var(--bad); }
.sv-bandcount .is-warn { color: var(--warn); }
.sv-bandcount .is-ok { color: var(--ok); }
.sv-result { display: inline-block; padding: 3px 10px; border-radius: var(--radius-md); font-weight: 700; font-size: 0.85rem; border: 1px solid; }
.sv-result.is-ok { color: var(--ok); background: var(--ok-bg); border-color: var(--ok-border); }
.sv-result.is-warn { color: var(--warn); background: var(--warn-bg); border-color: var(--warn-border); }
.sv-result.is-bad { color: var(--bad); background: var(--bad-bg); border-color: var(--bad-border); }
.sv-result.is-none { color: var(--text-muted); background: var(--surface-2); border-color: var(--border-strong); }
.sv-cap { margin: var(--sp-4) 0 0; }

.sv-decisions { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: var(--sp-4); }
.sv-decision { --tone: var(--text-muted); padding: var(--sp-5); border-radius: var(--radius-lg); background: var(--surface); border: 1px solid var(--border); border-top: 4px solid var(--tone); box-shadow: var(--shadow-sm); min-width: 0; }
.sv-decision.is-ok { --tone: var(--ok); }
.sv-decision.is-warn { --tone: var(--warn); }
.sv-decision.is-bad { --tone: var(--bad); }
.sv-decision h3 { font-size: 1rem; font-weight: 700; color: var(--text-muted); margin-bottom: 4px; overflow-wrap: anywhere; }
.sv-decision-verdict { font-size: 1.2rem; font-weight: 800; color: var(--tone); margin-bottom: var(--sp-2); }
.sv-decision-why { font-size: 0.9rem; color: var(--text); }

.sv-priority { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.sv-prio-item { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3); padding: 12px 14px; background: var(--surface); border: 1px solid var(--border); border-left: 4px solid var(--cc, var(--accent)); border-radius: var(--radius-md); }
.sv-prio-rank { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--surface-2); border: 1px solid var(--border-strong); font-weight: 800; font-variant-numeric: tabular-nums; flex-shrink: 0; }
.sv-prio-body { flex: 1 1 240px; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.sv-prio-body strong { overflow-wrap: anywhere; }
.sv-prio-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; font-size: 0.82rem; color: var(--text-muted); }
.sv-go { min-height: 36px; padding: 6px 12px; }

.sv-checklist { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr)); gap: var(--sp-4); }
.sv-check-group h3 { font-size: 1rem; font-weight: 800; margin-bottom: var(--sp-3); }
.sv-check-list { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.sv-check { display: flex; gap: 12px; align-items: flex-start; padding: 10px 12px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-2); }
.sv-check > input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--ok); flex-shrink: 0; }
.sv-check-body { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.sv-check-body label { font-weight: 700; cursor: pointer; overflow-wrap: anywhere; }
.sv-check-body p { font-size: 0.88rem; color: var(--text-muted); }
.sv-check.is-done label { text-decoration: line-through; color: var(--text-muted); }
.sv-check-meta { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; }
.sv-check-meta .kb-source { border-top: 0; padding-top: 0; }

.sv-summary-sub { font-weight: 600; font-size: 0.85rem; color: var(--text-muted); margin-left: 6px; }
.sv-wrong-course { border-left: 4px solid var(--cc, var(--border)); }
.sv-wrong { border: 1px solid var(--border); border-radius: var(--radius-md); margin-bottom: var(--sp-2); background: var(--surface-2); }
.sv-wrong > summary { cursor: pointer; padding: 10px 14px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-weight: 600; }
.sv-wrong-title { min-width: 0; overflow-wrap: anywhere; }
.sv-wrong-tag { font-size: 0.72rem; font-weight: 800; padding: 2px 8px; border-radius: 4px; border: 1px solid; text-transform: uppercase; letter-spacing: 0.04em; }
.sv-wrong-tag.is-bad { color: var(--bad); background: var(--bad-bg); border-color: var(--bad-border); }
.sv-wrong-tag.is-muted { color: var(--text-muted); background: var(--surface); border-color: var(--border-strong); }
.sv-wrong-body { padding: 14px; background: var(--surface); border-top: 1px solid var(--border); border-radius: 0 0 var(--radius-md) var(--radius-md); }
.sv-wrong-body .question-body { margin-bottom: var(--sp-3); }
.sv-wrong-opts { list-style: none; display: flex; flex-direction: column; gap: 6px; margin-bottom: var(--sp-3); }
.sv-wrong-opts li { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 10px; padding: 8px 12px; border: 1px solid var(--border); border-radius: var(--radius-sm); }
.sv-wrong-opts li .sv-option-text { flex: 1 1 160px; }
.sv-wrong-opts li.is-correct { background: var(--ok-bg); border-color: var(--ok); }
.sv-wrong-opts li.is-correct .option-letter { background: var(--ok); border-color: var(--ok); color: var(--on-btn); }
.sv-wrong-opts li.is-chosen { background: var(--bad-bg); border-color: var(--bad); }
.sv-wrong-opts li.is-chosen .option-letter { background: var(--bad); border-color: var(--bad); color: var(--on-btn); }
:root[data-theme="dark"] .sv-wrong-opts li.is-correct .option-letter, :root[data-theme="dark"] .sv-wrong-opts li.is-chosen .option-letter { color: var(--on-solid-dark); }
.sv-opt-mark { font-size: 0.75rem; font-weight: 800; white-space: nowrap; padding-top: 4px; }
.sv-opt-mark.is-ok { color: var(--ok); }
.sv-opt-mark.is-bad { color: var(--bad); }

.sv-hist-list { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.sv-hist-item { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; padding: 10px 14px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); }
.sv-hist-item.is-current { border-color: var(--accent); box-shadow: inset 3px 0 0 var(--accent); }
.sv-hist-item > div { display: flex; flex-direction: column; min-width: 0; }
.sv-hist-item span { font-size: 0.85rem; color: var(--text-muted); overflow-wrap: anywhere; }

/* İlerleme sayfasındaki seviye raporu özeti */
.sv-mini { display: flex; flex-direction: column; gap: var(--sp-3); }
.sv-mini-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; }
.sv-mini-list { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 8px; }
.sv-mini-item { display: flex; flex-direction: column; gap: 4px; padding: 10px 12px; border: 1px solid var(--border); border-left: 4px solid var(--cc, var(--accent)); border-radius: var(--radius-md); background: var(--surface-2); min-width: 0; }
.sv-mini-item strong { overflow-wrap: anywhere; }
.sv-mini-item span { font-size: 0.85rem; color: var(--text-muted); }

/* Dar ekran: tablolar kart görünümüne geçer (yatay kaydırma yok) */
@media (max-width: 720px) {
  .sv-table, .sv-table tbody, .sv-table tfoot, .sv-table tr, .sv-table th, .sv-table td { display: block; width: 100%; }
  .sv-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .sv-table tr { border: 1px solid var(--border); border-radius: var(--radius-md); margin-bottom: var(--sp-2); padding: 6px 0; background: var(--surface); }
  .sv-table tfoot tr { background: var(--surface-2); }
  .sv-table th, .sv-table td { border-bottom: 0; padding: 6px 12px; }
  .sv-table tbody th { font-size: 0.98rem; padding-bottom: 4px; }
  .sv-table td[data-label]:not([data-label=""])::before { content: attr(data-label); display: block; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: var(--text-dim); margin-bottom: 2px; }
  .sv-table td[data-label=""] { display: none; }
  .sv-num { white-space: normal; }
  .sv-deadline-num { font-size: 1.8rem; }
}

@media print {
  .sv-toolbar, .sv-assume .sv-actions, .sv-history button, #sv-test, #sv-start, .sv-go, .sv-live { display: none !important; }
  .sv-sec { margin-bottom: 18px; }
  .sv-course-block, .sv-decision, .sv-check-group, .sv-prio-item, .sv-wrong { break-inside: avoid; box-shadow: none !important; }
  .sv-disclaimer { border: 2px solid #000 !important; background: #fff !important; }
  .ring, .zone, .sv-result, .sv-pill, .status, .sv-check > input { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}


/* --------------------------------------------------------------------------
   19. TUR 5 — HESAP, MENÜ, PANEL, ÜNİVERSİTELER, SINAVLAR (Ajan 11)
   Yalnızca token renkleri. Açık/koyu tema, 360 px'te yatay taşma yok.
   -------------------------------------------------------------------------- */

/* 19.1 Menü: grup başlıkları, açıklamalı bağlantılar */
.nav-dd-label {
  padding: 10px 10px 4px; font-size: 0.7rem; font-weight: 800; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--text-dim);
}
.nav-dropdown li + .nav-dd-label { margin-top: 4px; border-top: 1px solid var(--border); padding-top: 10px; }
.nav-dd-text { display: flex; flex-direction: column; min-width: 0; }
.nav-dd-text small { font-size: 0.78rem; color: var(--text-muted); font-weight: 500; }
.nav-dropdown { max-height: calc(100vh - var(--nav-h) - 24px); overflow-y: auto; }
.nav-dropdown:not(.account-menu) { min-width: 260px; }
.navbar-minimal { justify-content: space-between; }

/* Hesap menüsü */
.account { position: relative; }
.account-btn {
  display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 10px 0 4px;
  border: 1px solid var(--border); border-radius: var(--radius-full); background: var(--surface);
  color: var(--text); font: inherit; font-size: 0.875rem; font-weight: 600; cursor: pointer; transition: var(--transition);
}
.account-btn:hover { background: var(--surface-2); border-color: var(--border-strong); }
.account-btn .nav-caret { width: 14px; height: 14px; color: var(--text-muted); transition: transform .15s ease; }
.account-btn[aria-expanded="true"] .nav-caret { transform: rotate(180deg); }
.account-name { max-width: 12ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.avatar {
  width: 32px; height: 32px; border-radius: 50%; display: inline-grid; place-items: center; flex-shrink: 0;
  background: var(--avatar-bg); color: var(--avatar-fg); font-weight: 800; font-size: 0.8rem; letter-spacing: 0.02em;
}
.avatar-lg { width: 44px; height: 44px; font-size: 1rem; }
.account .account-menu {
  position: absolute; top: calc(100% + 8px); right: 0; left: auto; width: min(300px, calc(100vw - 32px));
  min-width: 0; padding: 6px; background: var(--surface); border: 1px solid var(--border);
  box-shadow: var(--shadow-lg); border-radius: var(--radius-md);
}
.account-head { display: flex; gap: 12px; align-items: center; padding: 10px 10px 12px; border-bottom: 1px solid var(--border); margin-bottom: 6px; }
.account-id { display: flex; flex-direction: column; min-width: 0; }
.account-id strong { font-size: 0.95rem; overflow-wrap: anywhere; }
.account-id span { font-size: 0.8rem; color: var(--text-muted); overflow-wrap: anywhere; }
.account-menu ul { list-style: none; }
.account-menu a svg { width: 18px; height: 18px; color: var(--text-muted); flex-shrink: 0; }
.account-menu .account-logout { color: var(--bad); }
.account-menu .account-logout svg { color: var(--bad); }

@media (max-width: 760px) {
  .nav-dropdown { max-height: none; overflow: visible; }
  .nav-dropdown:not(.account-menu) { min-width: 0; }
  .nav-dd-label { padding-left: 12px; }
}
@media (max-width: 560px) {
  .account .account-menu { position: fixed; top: calc(var(--nav-h) + 4px); right: 16px; left: auto; width: min(320px, calc(100vw - 32px)); }
  .account-name { display: none; }
  .account-btn { padding: 0 6px 0 3px; gap: 4px; }
  .nav-actions { gap: 6px; }
}
.navbar .btn-consult .consult-ico { display: none; width: 18px; height: 18px; flex-shrink: 0; }
@media (max-width: 440px) {
  .navbar .btn-consult { width: 40px; height: 40px; padding: 0; justify-content: center; }
  .navbar .btn-consult .consult-ico { display: block; }
  .navbar .btn-consult span { display: none; }
}

/* 19.2 Ortak: sekmeler, düğmeler, alanlar */
.btn-block { width: 100%; }
.btn-primary[disabled] { opacity: 0.6; cursor: not-allowed; }
.btn-primary[aria-disabled="true"], .btn-primary[aria-disabled="true"]:hover { background: var(--surface-3); color: var(--text-muted); border-color: var(--border); cursor: not-allowed; }
.btn-ghost[aria-disabled="true"] { opacity: 0.65; cursor: not-allowed; pointer-events: none; }

.tabs { display: flex; gap: 4px; padding: 4px; background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-md); flex-wrap: wrap; }
.tab {
  flex: 1 1 auto; min-height: 40px; padding: 8px 14px; border: 1px solid transparent; border-radius: var(--radius-sm);
  background: transparent; color: var(--text-muted); font: inherit; font-weight: 700; font-size: 0.92rem; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; transition: var(--transition); white-space: nowrap;
}
.tab:hover { color: var(--text); }
.tab[aria-selected="true"] { background: var(--surface); color: var(--accent); border-color: var(--border); box-shadow: var(--shadow-sm); }
.tab .tab-count { font-size: 0.75rem; font-weight: 700; padding: 1px 7px; border-radius: var(--radius-full); background: var(--surface-3); color: var(--text-muted); font-variant-numeric: tabular-nums; }
.tab[aria-selected="true"] .tab-count { background: var(--accent-soft); color: var(--accent); }

.field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.field > label, .field-label { font-weight: 700; font-size: 0.9rem; color: var(--text); }
.field-hint { font-size: 0.82rem; color: var(--text-muted); }
.field-error { font-size: 0.85rem; color: var(--bad); font-weight: 600; display: flex; gap: 6px; align-items: flex-start; }
.field-error:empty { display: none; }
.field-error::before { content: "!"; flex-shrink: 0; width: 16px; height: 16px; border-radius: 50%; background: var(--bad); color: var(--surface); font-size: 0.7rem; font-weight: 800; display: grid; place-items: center; margin-top: 2px; }
.text-input[aria-invalid="true"], .calc-input[aria-invalid="true"] { border-color: var(--bad); }
.field-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: var(--sp-4); }
.input-wrap { position: relative; display: flex; }
.input-wrap .text-input { padding-right: 48px; }
.pw-toggle {
  position: absolute; right: 4px; top: 50%; transform: translateY(-50%); width: 36px; height: 36px;
  display: grid; place-items: center; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--text-muted); cursor: pointer;
}
.pw-toggle:hover { background: var(--surface-2); color: var(--text); }
.pw-toggle svg { width: 20px; height: 20px; }
.pw-toggle .icon-eye-off { display: none; }
.pw-toggle[aria-pressed="true"] .icon-eye { display: none; }
.pw-toggle[aria-pressed="true"] .icon-eye-off { display: block; }
.form-stack { display: flex; flex-direction: column; gap: var(--sp-4); }
.form-alert { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: var(--radius-md); border: 1px solid var(--bad-border); background: var(--bad-bg); color: var(--text); font-size: 0.92rem; }
.form-alert.is-ok { border-color: var(--ok-border); background: var(--ok-bg); }
.form-alert.is-info { border-color: var(--info-border); background: var(--info-bg); }
.form-alert:empty, .form-alert[hidden] { display: none; }
.form-alert:focus { outline: none; }
.link-btn { background: none; border: 0; padding: 0; font: inherit; color: var(--accent); font-weight: 600; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.link-btn:hover { color: var(--accent-hover); }

.spinner { width: 16px; height: 16px; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent; animation: apz-spin .7s linear infinite; display: inline-block; }
@keyframes apz-spin { to { transform: rotate(360deg); } }

/* 19.3 Giriş / Kayıt */
.auth-main { max-width: 1080px; margin: 0 auto; padding: var(--sp-10) var(--sp-4) var(--sp-12); }
.auth-shell { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 440px); gap: var(--sp-8); align-items: start; }
@media (max-width: 880px) { .auth-shell { grid-template-columns: minmax(0, 1fr); gap: var(--sp-5); } .auth-main { padding-top: var(--sp-6); } }
.auth-intro h1 { font-size: var(--fs-2xl); font-weight: 800; letter-spacing: -0.01em; margin: 6px 0 10px; }
.auth-intro > p { color: var(--text-muted); font-size: var(--fs-md); max-width: 52ch; }
.auth-eyebrow { font-size: 0.78rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent-cyan); }
.auth-points { list-style: none; display: grid; gap: 12px; margin-top: var(--sp-6); }
.auth-points li { display: flex; gap: 12px; align-items: flex-start; }
.auth-points .todo-ico { color: var(--accent); }
.auth-points strong { display: block; }
.auth-points span { color: var(--text-muted); font-size: 0.92rem; }
@media (max-width: 880px) { .auth-points { display: none; } .auth-intro > p { font-size: 1rem; } }
.auth-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); padding: var(--sp-6); min-width: 0; }
@media (max-width: 480px) { .auth-card { padding: var(--sp-5) var(--sp-4); } }
.auth-card .tabs { margin-bottom: var(--sp-5); }
.auth-card h2 { font-size: 1.2rem; font-weight: 800; margin-bottom: 4px; }
.auth-card .auth-lead { color: var(--text-muted); font-size: 0.92rem; margin-bottom: var(--sp-4); }
.storage-note { display: flex; gap: 10px; align-items: flex-start; margin-top: var(--sp-5); padding: 12px 14px; border-radius: var(--radius-md); background: var(--surface-2); border: 1px solid var(--border); font-size: 0.85rem; color: var(--text-muted); }
.storage-note svg { width: 18px; height: 18px; flex-shrink: 0; color: var(--accent); margin-top: 2px; }
.recovery-box { border: 1px dashed var(--warn-border); background: var(--warn-bg); border-radius: var(--radius-md); padding: var(--sp-4); }
.recovery-code {
  display: block; font-family: var(--font-mono); font-size: clamp(1.05rem, 0.9rem + 1.2vw, 1.4rem); font-weight: 700; letter-spacing: 0.08em;
  color: var(--text); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm);
  padding: 12px; text-align: center; margin: 10px 0; overflow-wrap: anywhere; user-select: all;
}
.btn-row { display: flex; gap: var(--sp-2); flex-wrap: wrap; }
.check-row { display: flex; gap: 10px; align-items: flex-start; font-size: 0.92rem; cursor: pointer; }
.check-row input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--accent); flex-shrink: 0; }

/* 19.4 Profil sihirbazı */
.wizard { max-width: 760px; margin: 0 auto; }
.wizard-progress { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: var(--sp-6); counter-reset: wz; }
.wizard-progress li { display: flex; flex-direction: column; gap: 6px; font-size: 0.82rem; font-weight: 700; color: var(--text-muted); min-width: 0; }
.wizard-progress li::before { content: ""; height: 6px; border-radius: var(--radius-full); background: var(--surface-3); }
.wizard-progress li.is-done::before, .wizard-progress li[aria-current="step"]::before { background: var(--accent); }
.wizard-progress li[aria-current="step"] { color: var(--text); }
.wizard-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); padding: var(--sp-8); }
@media (max-width: 640px) { .wizard-card { padding: var(--sp-5) var(--sp-4); } }
.wizard-card h2 { font-size: var(--fs-lg); font-weight: 800; margin-bottom: 4px; }
.wizard-card .step-lead { color: var(--text-muted); margin-bottom: var(--sp-5); }
.wizard-nav { display: flex; justify-content: space-between; gap: var(--sp-3); margin-top: var(--sp-6); flex-wrap: wrap; }
.wizard-nav .btn-primary { margin-left: auto; }
.wizard fieldset { border: 0; min-width: 0; }
.wizard legend { padding: 0; }

.choice-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: var(--sp-3); }
.grade-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 96px), 1fr)); gap: var(--sp-2); }
.choice-card {
  position: relative; display: flex; gap: 12px; align-items: flex-start; padding: var(--sp-4);
  border: 2px solid var(--border); border-radius: var(--radius-md); background: var(--surface); cursor: pointer; transition: var(--transition); min-width: 0;
}
.choice-card:hover { border-color: var(--border-strong); }
.choice-card input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.choice-card.is-checked { border-color: var(--accent); background: var(--accent-soft); }
.choice-card:focus-within { box-shadow: var(--focus-ring); }
.choice-check {
  width: 22px; height: 22px; border-radius: 6px; border: 2px solid var(--border-strong); flex-shrink: 0; display: grid; place-items: center; margin-top: 2px; background: var(--surface);
}
.choice-card[data-type="radio"] .choice-check { border-radius: 50%; }
.choice-check svg { width: 14px; height: 14px; color: var(--on-btn); opacity: 0; }
.choice-card.is-checked .choice-check { background: var(--btn-bg); border-color: var(--btn-bg); }
.choice-card.is-checked .choice-check svg { opacity: 1; }
.choice-body { min-width: 0; }
.choice-body strong { display: block; font-size: 1.02rem; }
.choice-body span { font-size: 0.88rem; color: var(--text-muted); }
.choice-code { font-family: var(--font-mono); font-size: 0.72rem; font-weight: 700; color: var(--text-muted); border: 1px solid var(--border); border-radius: 4px; padding: 0 5px; margin-left: 6px; vertical-align: 2px; }
.grade-grid .choice-card { justify-content: center; text-align: center; padding: 14px 8px; }
.grade-grid .choice-check { display: none; }
.grade-grid .choice-body strong { font-size: 1.05rem; }

.profile-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--sp-5); align-items: start; }
@media (max-width: 900px) { .profile-layout { grid-template-columns: minmax(0, 1fr); } }
.profile-id { display: flex; gap: 14px; align-items: center; margin-bottom: var(--sp-5); }
.profile-id .avatar { width: 56px; height: 56px; font-size: 1.25rem; }
.profile-id h1 { font-size: var(--fs-xl); font-weight: 800; }
.profile-id p { color: var(--text-muted); font-size: 0.92rem; overflow-wrap: anywhere; }
.panel-h { font-size: 1.1rem; font-weight: 800; margin-bottom: 4px; display: flex; gap: 8px; align-items: center; }
.panel-h svg { width: 20px; height: 20px; color: var(--accent); }
.panel-lead { color: var(--text-muted); font-size: 0.9rem; margin-bottom: var(--sp-4); }
.sub-block + .sub-block { border-top: 1px solid var(--border); margin-top: var(--sp-5); padding-top: var(--sp-5); }

/* 19.5 Sayfa başlığı ve ortak rozetler */
.pill-row { display: flex; flex-wrap: wrap; gap: 6px; }
.pill {
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: var(--radius-full);
  background: var(--surface-2); border: 1px solid var(--border); font-size: 0.8rem; font-weight: 600; color: var(--text); max-width: 100%; overflow-wrap: anywhere;
}
.pill svg { width: 14px; height: 14px; color: var(--text-muted); flex-shrink: 0; }
.pill-accent { background: var(--accent-soft); color: var(--accent); border-color: color-mix(in srgb, var(--accent) 35%, transparent); }
.state-badge { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: var(--radius-full); font-size: 0.76rem; font-weight: 700; border: 1px solid; white-space: nowrap; }
.state-badge::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.state-hazir { color: var(--ok); background: var(--ok-bg); border-color: var(--ok-border); }
.state-kismi { color: var(--warn); background: var(--warn-bg); border-color: var(--warn-border); }
.state-yakinda { color: var(--text-muted); background: var(--surface-2); border-color: var(--border-strong); }
.unverified { color: var(--warn); font-weight: 700; }
.src-link { display: inline-flex; align-items: center; gap: 4px; font-size: 0.82rem; font-weight: 600; overflow-wrap: anywhere; }
.src-link svg { width: 13px; height: 13px; flex-shrink: 0; }
.empty-state { text-align: center; padding: var(--sp-10) var(--sp-5); border: 1px dashed var(--border-strong); border-radius: var(--radius-lg); background: var(--surface); color: var(--text-muted); }
.empty-state h2, .empty-state h3 { color: var(--text); font-size: 1.15rem; font-weight: 800; margin-bottom: 6px; }
.empty-state p { max-width: 56ch; margin: 0 auto var(--sp-4); }
.empty-state .btn-row { justify-content: center; }
.empty-ico { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; margin: 0 auto var(--sp-3); background: var(--accent-soft); color: var(--accent); }
.empty-ico svg { width: 24px; height: 24px; }

/* 19.6 Üniversiteler */
.country-tabs { margin-bottom: var(--sp-6); }
.country-tabs .tab { flex: 0 1 auto; }
.country-hero { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: var(--sp-5); margin-bottom: var(--sp-6); }
@media (max-width: 900px) { .country-hero { grid-template-columns: minmax(0, 1fr); } }
.country-hero h2 { font-size: var(--fs-xl); font-weight: 800; margin-bottom: 8px; }
.country-hero .lead { color: var(--text); max-width: var(--measure); }
.stat-trio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.stat-box { background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 12px; min-width: 0; }
.stat-box b { display: block; font-size: 1.6rem; font-weight: 800; font-variant-numeric: tabular-nums; line-height: 1.1; }
.stat-box span { font-size: 0.78rem; color: var(--text-muted); font-weight: 600; }
.jump-nav { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: var(--sp-8); }
.jump-nav a { text-decoration: none; }
.cs-section { margin-bottom: var(--sp-10); scroll-margin-top: calc(var(--nav-h) + 16px); }
.cs-section > h3 { font-size: var(--fs-lg); font-weight: 800; margin-bottom: 4px; }
.cs-section > .section-lead { color: var(--text-muted); margin-bottom: var(--sp-4); max-width: var(--measure); }
.path-steps { list-style: none; counter-reset: ps; display: grid; gap: var(--sp-3); }
.path-steps > li { counter-increment: ps; position: relative; display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 12px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); padding: var(--sp-4); }
.path-steps > li::before { content: counter(ps); width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--accent-soft); color: var(--accent); font-weight: 800; }
.path-steps h4, .req-card h4 { font-size: 1rem; font-weight: 700; margin-bottom: 4px; }
.path-steps p, .req-card p { color: var(--text-muted); font-size: 0.92rem; margin-bottom: 6px; }
.req-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: var(--sp-3); }
.req-card { background: var(--surface); border: 1px solid var(--border); border-left: 4px solid var(--accent-cyan); border-radius: var(--radius-md); padding: var(--sp-4); min-width: 0; }
.exam-chip-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: var(--sp-2); }
.exam-chip { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 14px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); text-decoration: none; color: var(--text); font-weight: 600; min-width: 0; transition: var(--transition); }
.exam-chip:hover { border-color: var(--accent); color: var(--text); }
.exam-chip small { display: block; color: var(--text-muted); font-weight: 500; font-size: 0.8rem; }
.exam-chip > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.exam-chip .go { color: var(--accent); flex-shrink: 0; }
.timeline { list-style: none; border-left: 2px solid var(--border); margin-left: 8px; display: grid; gap: var(--sp-3); }
.timeline li { position: relative; padding-left: 20px; }
.timeline li::before { content: ""; position: absolute; left: -7px; top: 6px; width: 12px; height: 12px; border-radius: 50%; background: var(--accent); border: 2px solid var(--surface); }
.timeline li.is-past::before { background: var(--border-strong); }
.timeline li.is-past .tl-text { color: var(--text-muted); }
.tl-date { font-weight: 800; font-variant-numeric: tabular-nums; margin-right: 8px; }
.tl-when { font-size: 0.75rem; font-weight: 700; padding: 1px 8px; border-radius: var(--radius-full); background: var(--surface-2); border: 1px solid var(--border); color: var(--text-muted); white-space: nowrap; }
.tl-when.is-soon { color: var(--warn); background: var(--warn-bg); border-color: var(--warn-border); }
.tl-text { display: block; margin-top: 2px; }
.uni-toolbar { display: flex; flex-wrap: wrap; gap: var(--sp-3); align-items: center; margin-bottom: var(--sp-4); }
.uni-toolbar .calc-select { width: auto; flex: 0 1 220px; }
.result-count { font-size: 0.88rem; color: var(--text-muted); font-weight: 600; margin-bottom: var(--sp-3); }
.uni-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 1fr)); gap: var(--sp-4); }
.uni-card { display: flex; flex-direction: column; gap: 12px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); padding: var(--sp-5); min-width: 0; }
.uni-card[hidden] { display: none; }
.uni-head { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
.uni-head h4 { font-size: 1.08rem; font-weight: 800; }
.uni-head > .src-link { flex-shrink: 0; white-space: nowrap; }
.uni-city { display: inline-flex; align-items: center; gap: 4px; font-size: 0.85rem; color: var(--text-muted); font-weight: 600; }
.uni-city svg { width: 14px; height: 14px; }
.uni-sub { font-size: 0.75rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-dim); margin-bottom: 6px; }
.program-list { list-style: none; display: grid; gap: 6px; }
.program-list li { padding: 8px 10px; background: var(--surface-2); border-radius: var(--radius-sm); font-size: 0.9rem; min-width: 0; }
.program-list li strong { display: block; overflow-wrap: anywhere; }
.program-list .pmeta { font-size: 0.8rem; color: var(--text-muted); }
.req-list { list-style: none; display: grid; gap: 8px; font-size: 0.9rem; }
.req-list li { display: grid; gap: 2px; }
.req-list b { font-weight: 700; }
.req-list span { color: var(--text-muted); }
.uni-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap: 8px; margin: 0; }
.uni-facts div { background: var(--surface-2); border-radius: var(--radius-sm); padding: 8px 10px; min-width: 0; }
.uni-facts dt { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: var(--text-dim); }
.uni-facts dd { font-size: 0.9rem; font-weight: 600; overflow-wrap: anywhere; }
.uni-foot { display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; align-items: center; border-top: 1px solid var(--border); padding-top: 10px; margin-top: auto; font-size: 0.8rem; color: var(--text-dim); }
.uni-card details > summary { cursor: pointer; font-weight: 700; font-size: 0.88rem; color: var(--accent); }
.uni-card details[open] > summary { margin-bottom: 8px; }
.src-list { list-style: none; display: grid; gap: 6px; }

/* 19.7 Sınavlar */
.exam-toolbar { display: flex; flex-wrap: wrap; gap: var(--sp-3); align-items: center; justify-content: space-between; margin-bottom: var(--sp-5); }
.exam-toolbar .tabs { flex: 1 1 420px; }
.filter-field { display: flex; align-items: center; gap: 8px; flex: 0 1 260px; min-width: 0; }
.filter-field label { font-size: 0.85rem; font-weight: 700; white-space: nowrap; }
.exam-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: var(--sp-4); }
.exam-card { --ec: var(--accent); display: flex; flex-direction: column; gap: 12px; background: var(--surface); border: 1px solid var(--border); border-top: 4px solid var(--ec); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); padding: var(--sp-5); min-width: 0; scroll-margin-top: calc(var(--nav-h) + 16px); }
.exam-card[hidden] { display: none; }
.exam-card.is-flash { box-shadow: 0 0 0 3px var(--accent); }
.exam-card[data-kategori="AP"] { --ec: var(--accent-blue); }
.exam-card[data-kategori="Giriş Sınavı"] { --ec: var(--accent-teal); }
.exam-card[data-kategori="Dil Sınavı"] { --ec: var(--accent-violet); }
.exam-head { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
.exam-head h3 { font-size: 1.1rem; font-weight: 800; }
.exam-kurum { font-size: 0.82rem; color: var(--text-muted); font-weight: 600; }
.exam-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr)); gap: 8px; margin: 0; }
.exam-meta div { background: var(--surface-2); border-radius: var(--radius-sm); padding: 8px 10px; min-width: 0; }
.exam-meta div.wide { grid-column: 1 / -1; }
.exam-meta dt { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: var(--text-dim); }
.exam-meta dd { font-size: 0.9rem; font-weight: 600; overflow-wrap: anywhere; }
.exam-note { font-size: 0.88rem; color: var(--text-muted); }
.exam-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; }
.exam-actions > * { flex: 1 1 160px; }
.exam-foot { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; border-top: 1px solid var(--border); padding-top: 10px; }
.pin-btn { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 6px 12px; border-radius: var(--radius-full); border: 1px solid var(--border); background: var(--surface); color: var(--text-muted); font: inherit; font-size: 0.82rem; font-weight: 700; cursor: pointer; transition: var(--transition); }
.pin-btn svg { width: 16px; height: 16px; }
.pin-btn:hover { color: var(--text); border-color: var(--border-strong); }
.pin-btn[aria-pressed="true"] { color: var(--accent); background: var(--accent-soft); border-color: color-mix(in srgb, var(--accent) 45%, transparent); }
.pin-btn[aria-pressed="true"] svg { fill: currentColor; }
.genel-banner { display: flex; flex-wrap: wrap; gap: var(--sp-4); align-items: center; justify-content: space-between; padding: var(--sp-5); margin-bottom: var(--sp-6); border-radius: var(--radius-lg); border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent); background: var(--accent-soft); }
.genel-banner h2 { font-size: 1.1rem; font-weight: 800; }
.genel-banner p { color: var(--text-muted); font-size: 0.92rem; }
.genel-banner > div { flex: 1 1 280px; min-width: 0; }

/* 19.8 Kişisel panel (index) */
.hello-card { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: var(--sp-6); align-items: center; margin-bottom: var(--sp-6); }
@media (max-width: 900px) { .hello-card { grid-template-columns: minmax(0, 1fr); gap: var(--sp-4); } }
.hello-card h1 { font-size: var(--fs-2xl); font-weight: 800; letter-spacing: -0.01em; margin: 4px 0 8px; }
.hello-card .pill-row { margin-bottom: var(--sp-3); }
.next-step { background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-md); padding: var(--sp-4); min-width: 0; }
.next-step .uni-sub { margin-bottom: 4px; }
.next-step strong { display: block; font-size: 1.05rem; margin-bottom: 4px; }
.next-step p { color: var(--text-muted); font-size: 0.9rem; margin-bottom: var(--sp-3); }
.roadmap { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-3); margin-bottom: var(--sp-10); }
@media (max-width: 1000px) { .roadmap { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .roadmap { grid-template-columns: minmax(0, 1fr); } }
.road-step { position: relative; display: flex; flex-direction: column; gap: 6px; padding: var(--sp-4); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); min-width: 0; }
.road-step.is-current { border-color: var(--accent); box-shadow: var(--focus-ring); }
.road-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.road-num { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; font-size: 0.9rem; background: var(--surface-3); color: var(--text-muted); flex-shrink: 0; }
.road-num svg { width: 16px; height: 16px; }
.road-step.is-done .road-num { background: var(--ok); color: var(--surface); }
.road-step.is-current .road-num { background: var(--btn-bg); color: var(--on-btn); }
.road-state { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: var(--text-dim); }
.road-step.is-done .road-state { color: var(--ok); }
.road-step.is-current .road-state { color: var(--accent); }
.road-step h3 { font-size: 1rem; font-weight: 800; }
.road-step p { font-size: 0.86rem; color: var(--text-muted); flex: 1; }
.road-step a { font-weight: 700; font-size: 0.9rem; }
.last-exam .le-score { font-size: 1.8rem; font-weight: 800; font-variant-numeric: tabular-nums; line-height: 1.1; }
.last-exam .le-meta { font-size: 0.86rem; color: var(--text-muted); }

@media print {
  .account, .tabs, .exam-actions, .pin-btn, .uni-toolbar, .jump-nav, .wizard-nav { display: none !important; }
  .uni-card, .exam-card, .road-step, .req-card { box-shadow: none !important; break-inside: avoid; }
}

/* --------------------------------------------------------------------------
   20. TUR 5b — RESMİ YAZIŞMALAR (yazismalar.html) + PROFİL EKLERİ (Ajan 11)
   Yalnızca token renkleri. Açık/koyu tema, 360 px'te yatay taşma yok.
   -------------------------------------------------------------------------- */
/* Profil: isteğe bağlı alanlar */
.field[hidden] { display: none; }
.extra-fields { border: 0; min-width: 0; margin-top: var(--sp-2); padding: var(--sp-4); background: var(--surface-2); border-radius: var(--radius-md); display: flex; flex-direction: column; gap: var(--sp-3); }
.extra-fields legend { padding: 0; margin-bottom: 4px; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.opt-tag { font-size: 0.72rem; font-weight: 700; color: var(--text-muted); background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-full); padding: 1px 8px; }

/* Sayfa iskeleti */
.mail-steps { max-width: 720px; }
.mail-section { margin-bottom: var(--sp-10); scroll-margin-top: calc(var(--nav-h) + 16px); }
.mail-section-head { display: flex; flex-wrap: wrap; gap: var(--sp-3); align-items: flex-end; justify-content: space-between; margin-bottom: var(--sp-4); }
.mail-section-head > div { min-width: 0; flex: 1 1 320px; }
.mail-section-head h2 { font-size: var(--fs-lg); font-weight: 800; }
.mail-section-head .section-lead { color: var(--text-muted); font-size: 0.92rem; }

/* Şablon kartları */
.tpl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: var(--sp-4); }
.tpl-card { display: flex; flex-direction: column; gap: 10px; min-width: 0; padding: var(--sp-5); background: var(--surface); border: 1px solid var(--border); border-left: 4px solid var(--accent-teal); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); transition: var(--transition); }
.tpl-card[data-ulke="de"] { border-left-color: var(--accent-amber); }
.tpl-card[data-ulke="it"] { border-left-color: var(--accent-emerald); }
.tpl-card.is-selected { border-color: var(--accent); box-shadow: var(--focus-ring); }
.tpl-card h3 { font-size: 1.06rem; font-weight: 800; }
.tpl-amac { color: var(--text-muted); font-size: 0.9rem; }
.tpl-facts { display: grid; gap: 6px; margin: 0; }
.tpl-facts div { display: grid; grid-template-columns: minmax(0, 104px) minmax(0, 1fr); gap: 8px; font-size: 0.86rem; background: var(--surface-2); border-radius: var(--radius-sm); padding: 7px 10px; }
@media (max-width: 420px) { .tpl-facts div { grid-template-columns: minmax(0, 1fr); gap: 2px; } }
.tpl-facts dt { display: inline-flex; gap: 6px; align-items: center; font-weight: 700; color: var(--text-dim); }
.tpl-facts dt svg { width: 14px; height: 14px; flex-shrink: 0; }
.tpl-facts dd { overflow-wrap: anywhere; }
.tpl-foot { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: auto; padding-top: 6px; }
.tpl-foot .btn-primary[aria-pressed="true"] { background: var(--ok); color: var(--surface); }
.decision-badge { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: var(--radius-full); font-size: 0.76rem; font-weight: 800; letter-spacing: 0.02em; color: var(--accent-violet); background: color-mix(in srgb, var(--accent-violet) 12%, transparent); border: 1px solid color-mix(in srgb, var(--accent-violet) 35%, transparent); white-space: nowrap; }
.grade-badge { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: var(--radius-full); font-size: 0.76rem; font-weight: 700; color: var(--warn); background: var(--warn-bg); border: 1px solid var(--warn-border); white-space: nowrap; }
.src-details { font-size: 0.84rem; }
.src-details > summary { cursor: pointer; font-weight: 700; color: var(--accent); }
.src-details[open] > summary { margin-bottom: 6px; }
.src-details .src-list { padding-left: 2px; }

/* Oluşturucu */
.composer { margin-bottom: var(--sp-10); scroll-margin-top: calc(var(--nav-h) + 16px); }
.composer-head { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--sp-3); flex-wrap: wrap; padding-bottom: var(--sp-4); margin-bottom: var(--sp-5); border-bottom: 1px solid var(--border); }
.composer-head > div { flex: 1 1 300px; }
.composer-head h2 { font-size: var(--fs-lg); font-weight: 800; margin: 2px 0 4px; }
.composer-head h2:focus { outline: none; }
.composer-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--sp-6); align-items: start; }
@media (max-width: 960px) { .composer-grid { grid-template-columns: minmax(0, 1fr); gap: var(--sp-5); } }
.composer-side { display: flex; flex-direction: column; gap: var(--sp-5); min-width: 0; }
.composer-block { border: 0; min-width: 0; }
.composer-legend { display: flex; gap: 10px; align-items: center; font-size: 1rem; font-weight: 800; margin-bottom: var(--sp-3); padding: 0; }
.step-dot { width: 26px; height: 26px; border-radius: 50%; display: inline-grid; place-items: center; flex-shrink: 0; background: var(--accent-soft); color: var(--accent); font-size: 0.82rem; font-weight: 800; }
.step-dot svg { width: 14px; height: 14px; }
.step-dot.ok { background: var(--ok-bg); color: var(--ok); border: 1px solid var(--ok-border); }
.step-dot.warn { background: var(--warn-bg); color: var(--warn); border: 1px solid var(--warn-border); }
.recipient-card { display: flex; flex-direction: column; gap: 6px; padding: 12px 14px; background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-md); font-size: 0.9rem; min-width: 0; }
.recipient-card strong { overflow-wrap: anywhere; }
.recipient-card code { font-family: var(--font-mono); font-size: 0.85rem; overflow-wrap: anywhere; }
.recipient-note { color: var(--text-muted); font-size: 0.86rem; }
.recipient-links { display: flex; flex-wrap: wrap; gap: 4px 14px; }
.unverified-soft { display: flex; gap: 8px; align-items: flex-start; color: var(--text); }
.unverified-soft svg { width: 16px; height: 16px; flex-shrink: 0; color: var(--warn); margin-top: 3px; }
.missing-box { padding: var(--sp-4); border-radius: var(--radius-md); background: var(--warn-bg); border: 1px solid var(--warn-border); }
.missing-box.is-ok { background: var(--ok-bg); border-color: var(--ok-border); }
.missing-box[hidden] { display: none; }
.missing-box .composer-legend { margin-bottom: 4px; }
.missing-list { list-style: none; display: grid; gap: 6px; margin: var(--sp-3) 0 0; }
.missing-list li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; padding: 8px 10px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); font-size: 0.88rem; }
.missing-list li > span:first-child { font-weight: 700; min-width: 0; overflow-wrap: anywhere; }
.missing-list a, .missing-list .link-btn { font-size: 0.86rem; font-weight: 600; }
.fix-form { margin-top: var(--sp-4); padding-top: var(--sp-4); border-top: 1px dashed var(--warn-border); display: flex; flex-direction: column; gap: var(--sp-3); align-items: flex-start; }
.fix-form .field-row { width: 100%; }
.fix-lead { font-size: 0.88rem; font-weight: 700; }
.label-row { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.label-row label { font-weight: 700; font-size: 0.9rem; }
.label-row .link-btn { font-size: 0.84rem; }
.mail-body { min-height: 320px; resize: vertical; line-height: 1.55; font-size: 0.93rem; white-space: pre-wrap; }
@media (max-width: 640px) { .mail-body { min-height: 260px; } }
.mail-warn { margin-top: var(--sp-3); padding: 10px 12px; border-radius: var(--radius-md); background: var(--warn-bg); border: 1px solid var(--warn-border); font-size: 0.88rem; display: grid; gap: 6px; }
.mail-warn[hidden] { display: none; }
.mail-warn p { display: flex; gap: 8px; align-items: flex-start; }
.mail-warn svg { width: 16px; height: 16px; flex-shrink: 0; color: var(--warn); margin-top: 3px; }
.composer-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: var(--sp-4); }
.composer-actions > * { flex: 1 1 180px; }
.composer-preview .form-alert { margin-top: var(--sp-3); }

/* Geçmiş */
.mail-list { list-style: none; display: grid; gap: var(--sp-3); }
.mail-item > article { display: flex; flex-direction: column; gap: 8px; padding: var(--sp-4) var(--sp-5); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); min-width: 0; }
@media (max-width: 640px) { .mail-item > article { padding: var(--sp-4); } }
.mail-item-head { display: flex; gap: 10px; align-items: flex-start; flex-wrap: wrap; }
.mail-item-head h3 { font-size: 1rem; font-weight: 800; flex: 1 1 240px; min-width: 0; }
.mail-state { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: var(--radius-full); font-size: 0.76rem; font-weight: 700; border: 1px solid; white-space: nowrap; flex-shrink: 0; }
.mail-state::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.mail-state-taslak { color: var(--text-muted); background: var(--surface-2); border-color: var(--border-strong); }
.mail-state-gonderildi { color: var(--info); background: var(--info-bg); border-color: var(--info-border); }
.mail-state-yanit { color: var(--ok); background: var(--ok-bg); border-color: var(--ok-border); }
.mail-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 0.86rem; color: var(--text-muted); }
.mail-meta span { display: inline-flex; gap: 6px; align-items: center; min-width: 0; overflow-wrap: anywhere; }
.mail-meta svg { width: 14px; height: 14px; flex-shrink: 0; }
.mail-dates { font-size: 0.8rem; color: var(--text-dim); font-variant-numeric: tabular-nums; }
.reply-note { padding: 10px 12px; border-left: 3px solid var(--ok); background: var(--ok-bg); border-radius: var(--radius-sm); font-size: 0.9rem; }
.reply-note strong { display: block; font-size: 0.76rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--ok); }
.reply-note p { white-space: pre-wrap; }
.mail-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.mail-actions .btn-ghost { min-height: 36px; padding: 6px 12px; font-size: 0.84rem; }
.reply-form { display: flex; flex-direction: column; gap: 8px; padding-top: 8px; border-top: 1px solid var(--border); }
.reply-form[hidden] { display: none; }
textarea.text-input { resize: vertical; }

@media print {
  .composer-actions, .mail-actions, .reply-form, #sablonlar, .mail-steps, .fix-form, #gc-filtre { display: none !important; }
  .mail-item > article { box-shadow: none !important; break-inside: avoid; }
}

/* --------------------------------------------------------------------------
   21. TUR 6 — ROTA MOTORU (rota.html + panel/sınavlar/yazışmalar rota bağlamı) (Ajan 11)
   Ülke rengi: Almanya amber, İtalya zümrüt (yazışma kartlarıyla aynı).
   Yalnızca token renkleri. Açık/koyu tema, 360 px'te yatay taşma yok.
   -------------------------------------------------------------------------- */
:root { --rota-c: var(--accent-amber); --rota-de: var(--accent-amber); --rota-it: var(--accent-emerald); }
:root[data-rota="it"] { --rota-c: var(--accent-emerald); }
.rota-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; background: var(--rota-de); }
.rota-dot-it { background: var(--rota-it); }

/* Kesinlik rozetleri */
.kesinlik { display: inline-flex; align-items: center; gap: 5px; padding: 2px 9px; border-radius: var(--radius-full); font-size: 0.74rem; font-weight: 700; border: 1px solid; white-space: nowrap; }
.kesinlik::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.kesinlik-ok { color: var(--ok); background: var(--ok-bg); border-color: var(--ok-border); }
.kesinlik-warn { color: var(--warn); background: var(--warn-bg); border-color: var(--warn-border); }
.kesinlik-bad { color: var(--bad); background: var(--bad-bg); border-color: var(--bad-border); }
.kesinlik-info { color: var(--info); background: var(--info-bg); border-color: var(--info-border); } /* Tur 8: "Yayımlanmadı" (resmi belge henüz çıkmadı) */

/* Rota seçici (sekme) ve tek ülke notu */
.rota-tabs { margin-bottom: var(--sp-5); max-width: 560px; }
.rota-tabs .tab { flex: 1 1 0; min-width: 0; }
.rota-single { display: flex; gap: 10px; align-items: flex-start; padding: 10px 14px; border-radius: var(--radius-md); background: var(--surface-2); border: 1px solid var(--border); font-size: 0.9rem; color: var(--text-muted); margin-bottom: var(--sp-5); }
.rota-single svg { width: 18px; height: 18px; flex-shrink: 0; color: var(--rota-c); margin-top: 2px; }
#rota-panel:focus { outline: none; }

/* Özet şeridi */
.rota-summary { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: var(--sp-4); margin-bottom: var(--sp-5); }
@media (max-width: 820px) { .rota-summary { grid-template-columns: minmax(0, 1fr); } }
.rs-next { border-left: 4px solid var(--rota-c); }
.rs-next strong { display: block; font-size: 1.15rem; font-weight: 800; margin-bottom: 2px; overflow-wrap: anywhere; }
.rs-next p { color: var(--text-muted); font-size: 0.92rem; margin-bottom: var(--sp-3); }
.rs-stats { display: flex; gap: var(--sp-4); align-items: center; flex-wrap: wrap; }
.rs-stat-list { display: grid; gap: 4px; margin: 0; flex: 1 1 180px; min-width: 0; }
.rs-stat-list div { display: flex; justify-content: space-between; gap: 10px; font-size: 0.88rem; border-bottom: 1px dashed var(--border); padding-bottom: 4px; }
.rs-stat-list div:last-child { border-bottom: 0; }
.rs-stat-list dt { color: var(--text-muted); font-weight: 600; }
.rs-stat-list dd { font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; }
.rs-stat-list .is-late dd, .rs-stat-list .is-late dt { color: var(--bad); }

/* Temel kural */
.rota-rule { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: var(--sp-4); margin-bottom: var(--sp-6); border-top: 4px solid var(--rota-c); }
@media (max-width: 520px) { .rota-rule { grid-template-columns: minmax(0, 1fr); gap: var(--sp-2); } .rota-rule .rota-rule-ico { display: none; } }
.rota-rule-ico { width: 44px; height: 44px; border-radius: var(--radius-md); display: grid; place-items: center; background: color-mix(in srgb, var(--rota-c) 14%, transparent); color: var(--rota-c); }
.rota-rule-ico svg { width: 24px; height: 24px; }
.rota-rule h2 { font-size: var(--fs-lg); font-weight: 800; margin-bottom: 6px; overflow-wrap: anywhere; }
.rota-rule-body { min-width: 0; }
.rota-rule-body > p { color: var(--text); max-width: var(--measure); margin-bottom: var(--sp-3); }
.rota-alan { display: flex; gap: 10px; align-items: flex-start; margin-top: var(--sp-4); padding: 10px 12px; border-radius: var(--radius-md); background: var(--surface-2); border: 1px solid var(--border); font-size: 0.9rem; }
.rota-alan svg { width: 18px; height: 18px; flex-shrink: 0; color: var(--rota-c); margin-top: 2px; }

/* İki sütun */
.rota-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: var(--sp-6); align-items: start; }
@media (max-width: 980px) { .rota-grid { grid-template-columns: minmax(0, 1fr); } }
.rota-main, .rota-side { min-width: 0; }
.rota-side { display: flex; flex-direction: column; gap: var(--sp-4); }
.rota-sec-head { margin-bottom: var(--sp-4); }
.rota-sec-head h2 { font-size: var(--fs-lg); font-weight: 800; }
.rota-sec-head p { color: var(--text-muted); font-size: 0.9rem; }

/* Zaman çizelgesi */
.rs-group { margin-bottom: var(--sp-5); }
.rs-group-h { display: inline-flex; align-items: center; gap: 8px; font-size: 0.8rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-dim); margin-bottom: 6px; }
.rs-count { font-size: 0.72rem; padding: 0 7px; border-radius: var(--radius-full); background: var(--surface-3); color: var(--text-muted); letter-spacing: 0; }
.rs-group-sub { display: block; font-size: 0.86rem; color: var(--text-muted); margin-bottom: var(--sp-3); }
.rs-past > summary { cursor: pointer; list-style: none; padding: 8px 12px; border: 1px dashed var(--border-strong); border-radius: var(--radius-md); margin-bottom: var(--sp-3); }
.rs-past > summary::-webkit-details-marker { display: none; }
.rs-past > summary::before { content: "▸"; display: inline-block; margin-right: 8px; color: var(--text-muted); transition: transform .15s ease; }
.rs-past[open] > summary::before { transform: rotate(90deg); }
.rs-past > summary .rs-group-h { margin-bottom: 0; }
.rs-past > summary .rs-group-sub { margin: 2px 0 0; }
.rs-list { list-style: none; display: grid; gap: var(--sp-3); position: relative; }
.rs-step { position: relative; display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 12px; padding: var(--sp-4); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); min-width: 0; scroll-margin-top: calc(var(--nav-h) + 24px); transition: var(--transition); }
.rs-step.is-next { border-color: var(--rota-c); box-shadow: 0 0 0 3px color-mix(in srgb, var(--rota-c) 28%, transparent); }
.rs-step.is-late { border-left: 4px solid var(--bad); }
.rs-step.is-done { background: var(--surface-2); }
.rs-step.is-done h4 { color: var(--text-muted); text-decoration: line-through; text-decoration-thickness: 1px; }
.rs-mark { position: relative; padding-top: 2px; }
.rs-check { appearance: none; -webkit-appearance: none; margin: 0; width: 26px; height: 26px; border-radius: 8px; border: 2px solid var(--border-strong); background: var(--surface); cursor: pointer; display: grid; place-items: center; transition: var(--transition); }
.rs-check:hover { border-color: var(--rota-c); }
.rs-check:checked { background: var(--ok); border-color: var(--ok); }
.rs-check:checked::after { content: ""; width: 7px; height: 12px; border: solid var(--surface); border-width: 0 3px 3px 0; transform: translateY(-1px) rotate(45deg); }
.rs-check:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.rs-mark label { position: absolute; left: 0; top: 0; width: 30px; height: 30px; cursor: pointer; pointer-events: none; }
.rs-body { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.rs-top { display: flex; flex-wrap: wrap; gap: 6px 8px; align-items: center; }
.rs-date { font-weight: 800; font-variant-numeric: tabular-nums; color: var(--rota-c); font-size: 0.9rem; }
.rs-flag { display: inline-flex; align-items: center; gap: 4px; padding: 1px 8px; border-radius: var(--radius-full); font-size: 0.72rem; font-weight: 800; border: 1px solid; white-space: nowrap; }
.rs-flag svg { width: 12px; height: 12px; }
.rs-flag-next { color: var(--on-btn); background: var(--btn-bg); border-color: var(--btn-bg); }
.rs-flag-late { color: var(--bad); background: var(--bad-bg); border-color: var(--bad-border); }
.rs-flag-now { color: var(--info); background: var(--info-bg); border-color: var(--info-border); }
.rs-flag-done { color: var(--ok); background: var(--ok-bg); border-color: var(--ok-border); }
.rs-step h4 { font-size: 1.02rem; font-weight: 800; overflow-wrap: anywhere; }
.rs-when { font-size: 0.85rem; color: var(--text-muted); font-weight: 600; }
.rs-detail { font-size: 0.9rem; color: var(--text-muted); overflow-wrap: anywhere; }
.rs-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.rs-tag { display: inline-flex; align-items: center; padding: 2px 9px; border-radius: var(--radius-full); font-size: 0.74rem; font-weight: 700; color: var(--text-muted); background: var(--surface-2); border: 1px solid var(--border); white-space: nowrap; }
.rs-tag-req { color: var(--text); border-color: var(--border-strong); }
.rs-foot { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; justify-content: space-between; }
.rs-go { min-height: 36px; padding: 6px 12px; font-size: 0.86rem; }
.rs-go svg { width: 16px; height: 16px; }

/* Yan kartlar */
.rota-card { min-width: 0; }
.rota-card .panel-h svg { color: var(--rota-c); }
.rk-list { list-style: none; display: grid; gap: var(--sp-3); }
.rk-list > li { display: grid; gap: 4px; padding-bottom: var(--sp-3); border-bottom: 1px solid var(--border); min-width: 0; }
.rk-list > li:last-child { border-bottom: 0; padding-bottom: 0; }
.rk-top { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; justify-content: space-between; }
.rk-top strong { font-size: 0.95rem; min-width: 0; overflow-wrap: anywhere; }
.rk-list p { font-size: 0.88rem; color: var(--text-muted); overflow-wrap: anywhere; }
.rs-sub-h { font-size: 0.75rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-dim); margin: var(--sp-3) 0 6px; }
.rs-exams { list-style: none; display: grid; gap: var(--sp-2); }
.rs-exam-group { display: grid; gap: 6px; min-width: 0; }
.rs-alt-label { font-size: 0.74rem; font-weight: 700; color: var(--text-muted); }
.rs-exam-list { display: grid; gap: 6px; }
.rs-exam-list.is-alt { padding: 8px; border: 1px dashed var(--border-strong); border-radius: var(--radius-md); }
.rs-exam { padding: 9px 12px; }
.rs-or { justify-self: center; font-size: 0.72rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-dim); }
.rs-note { font-size: 0.84rem; color: var(--text-muted); padding-left: 10px; border-left: 3px solid var(--rota-c); }
.rb-progress { display: flex; align-items: center; gap: 10px; font-size: 0.84rem; font-weight: 700; color: var(--text-muted); margin-bottom: var(--sp-3); }
.rb-bar { flex: 1; height: 8px; border-radius: var(--radius-full); background: var(--surface-3); overflow: hidden; }
.rb-bar span { display: block; height: 100%; background: var(--ok); border-radius: inherit; transition: width .2s ease; }
.rb-list { list-style: none; display: grid; gap: 10px; }
.rb-list li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; align-items: start; min-width: 0; }
.rb-list input { width: 20px; height: 20px; margin-top: 1px; accent-color: var(--ok); cursor: pointer; }
.rb-list label { font-weight: 700; font-size: 0.93rem; cursor: pointer; overflow-wrap: anywhere; }
.rb-list li.is-done label { color: var(--text-muted); text-decoration: line-through; }
.rb-list p { font-size: 0.85rem; color: var(--text-muted); margin: 2px 0; overflow-wrap: anywhere; }
.rota-warns { padding: var(--sp-4) var(--sp-5); border-radius: var(--radius-lg); background: var(--warn-bg); border: 1px solid var(--warn-border); }
.rota-warns .panel-h svg { color: var(--warn); }
.rota-warns ul { list-style: none; display: grid; gap: 10px; }
.rota-warns li p { font-size: 0.9rem; overflow-wrap: anywhere; }
.rd-options { margin: 4px 0 4px 18px; font-size: 0.88rem; }

/* Diğer sayfalarda rota bağlamı: küçük ülke anahtarı */
.rota-switch { display: inline-flex; align-items: center; gap: 4px; padding: 3px; border-radius: var(--radius-full); background: var(--surface-2); border: 1px solid var(--border); flex-wrap: wrap; max-width: 100%; }
.rota-switch-label { font-size: 0.78rem; font-weight: 700; color: var(--text-muted); padding: 0 6px 0 8px; }
.rota-switch button { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 4px 12px; border-radius: var(--radius-full); border: 1px solid transparent; background: transparent; color: var(--text-muted); font: inherit; font-size: 0.84rem; font-weight: 700; cursor: pointer; transition: var(--transition); }
.rota-switch button:hover { color: var(--text); }
.rota-switch button[aria-pressed="true"] { background: var(--surface); color: var(--text); border-color: var(--border); box-shadow: var(--shadow-sm); }
.rota-switch .rota-static { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px 4px 4px; font-size: 0.84rem; font-weight: 700; }
.rota-badge { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: var(--radius-full); font-size: 0.74rem; font-weight: 800; border: 1px solid; white-space: nowrap; }
.rota-badge-zorunlu { color: var(--on-btn); background: var(--btn-bg); border-color: var(--btn-bg); }
.rota-badge-secmeli { color: var(--accent); background: var(--accent-soft); border-color: color-mix(in srgb, var(--accent) 35%, transparent); }
.rota-badge-sablon { color: var(--text); background: color-mix(in srgb, var(--rota-c) 14%, transparent); border-color: color-mix(in srgb, var(--rota-c) 45%, transparent); }
.rota-context { display: flex; flex-wrap: wrap; gap: var(--sp-2) var(--sp-4); align-items: center; justify-content: space-between; margin-bottom: var(--sp-4); }
.rota-context p { font-size: 0.88rem; color: var(--text-muted); flex: 1 1 260px; min-width: 0; }

/* Panel: Rotam kartı */
.panel-rota { margin-bottom: var(--sp-6); border-top: 4px solid var(--rota-c); }
.panel-rota-head { display: flex; flex-wrap: wrap; gap: var(--sp-3); align-items: center; justify-content: space-between; margin-bottom: var(--sp-4); }
.panel-rota-head > div { min-width: 0; }
.panel-rota-head h2 { font-size: var(--fs-lg); font-weight: 800; }
.panel-rota-head .uni-sub { margin-bottom: 0; }
.pr-list { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); gap: var(--sp-3); }
.pr-item { display: flex; flex-direction: column; gap: 6px; padding: var(--sp-4); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-2); min-width: 0; }
.pr-item.is-next { background: var(--surface); border-color: var(--rota-c); box-shadow: 0 0 0 3px color-mix(in srgb, var(--rota-c) 24%, transparent); }
.pr-item h3 { font-size: 0.98rem; font-weight: 800; overflow-wrap: anywhere; }
.pr-item .rs-tags { margin-top: auto; }
.pr-item a { font-weight: 700; font-size: 0.88rem; }
.panel-rota-foot { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; justify-content: space-between; margin-top: var(--sp-4); font-size: 0.88rem; color: var(--text-muted); }
.panel-rota-foot .is-late { color: var(--bad); font-weight: 700; }
.road-title { font-size: 0.8rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-dim); margin-bottom: var(--sp-3); }
.kmk-note { display: inline-flex; align-items: center; gap: 6px; margin-left: 8px; padding: 2px 10px; border-radius: var(--radius-full); font-size: 0.74rem; font-weight: 800; vertical-align: middle; color: var(--info); background: var(--info-bg); border: 1px solid var(--info-border); white-space: normal; }

@media (prefers-reduced-motion: reduce) {
  .rs-step, .rs-check, .rb-bar span, .rs-past > summary::before { transition: none; }
}
@media print {
  .rota-tabs, .rota-switch, .rs-go, .rs-check, .rb-list input, .rs-next .btn-row { display: none !important; }
  .rs-step, .rota-card, .rota-rule { box-shadow: none !important; break-inside: avoid; }
}
.first-route { border: 0; min-width: 0; margin-top: var(--sp-5); padding: var(--sp-4); border-radius: var(--radius-md); background: var(--surface-2); }
.first-route[hidden] { display: none; }
.first-route legend { padding: 0; margin-bottom: 4px; }
.first-route .field-hint { margin-bottom: var(--sp-3); }
.route-grid .choice-card { background: var(--surface); }
.route-grid .choice-card.is-checked { background: var(--accent-soft); }

/* ==========================================================================
   30. TASARIM SİSTEMİ v3 — ORTAK KATMAN (Ekim 2026, Ajan 11)
   Bu katman dosyanın sonunda durur ve önceki bölümlerdeki bileşenleri tek
   bir görsel dile indirger. Sınıf adları değişmedi; JS'in kullandığı tüm
   seçiciler aynen çalışır. Yeni yardımcı sınıflar "u-" önekiyle başlar.
   ========================================================================== */

/* 30.1 Temel tipografi ------------------------------------------------------ */
body { line-height: var(--lh-body); font-feature-settings: "kern" 1; text-rendering: optimizeLegibility; }
h1, h2, h3, h4, h5, h6 { font-weight: var(--fw-bold); letter-spacing: -0.01em; line-height: var(--lh-tight); }
h1 { letter-spacing: -0.02em; }
strong, b { font-weight: var(--fw-semibold); }
::selection { background: color-mix(in srgb, var(--brand-600) 22%, transparent); }
a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
code:not(pre code) { font-size: 0.9em; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* 30.2 Uygulama kabuğu ------------------------------------------------------ */
.navbar {
  padding: 8px max(16px, calc((100vw - var(--content-max)) / 2));
  background: color-mix(in srgb, var(--surface) 94%, transparent);
  box-shadow: none;
}
.brand-badge {
  background: var(--btn-bg); color: var(--on-btn);
  font-weight: 700; font-size: 0.75rem; letter-spacing: 0.06em;
  padding: 5px 8px; border-radius: var(--radius-sm);
}
.brand-title { font-size: var(--fs-14); font-weight: var(--fw-semibold); letter-spacing: 0; color: var(--text); }
.nav-link { font-weight: var(--fw-semibold); font-size: var(--fs-14); color: var(--text-muted); border-radius: var(--radius-sm); }
.nav-link.active, .nav-link[aria-current="page"] { color: var(--accent); background: var(--accent-soft); }
.nav-dropdown { border-radius: var(--radius-lg); padding: 6px; }
.nav-dropdown a { font-size: var(--fs-14); }
.icon-btn { border-radius: var(--radius-md); width: 38px; height: 38px; }
.btn-consult { border-radius: var(--radius-md); font-weight: var(--fw-semibold); }

.main-container { max-width: var(--content-max); padding: var(--sp-8) var(--sp-6) var(--sp-12); }
@media (max-width: 640px) { .main-container { padding: var(--sp-5) var(--sp-4) var(--sp-10); } }
.footer { margin-top: var(--sp-16); padding: var(--sp-8) var(--sp-6) var(--sp-6); background: var(--surface); }
.footer-inner { max-width: var(--content-max); }
.footer-bottom { max-width: var(--content-max); margin-left: auto; margin-right: auto; font-size: var(--fs-12); }
.footer h5 { font-size: var(--fs-12); text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-dim) !important; margin-bottom: var(--sp-3) !important; }
.footer-col p, .footer-col li { font-size: var(--fs-14); }
.footer-col a { text-decoration: none; }
.footer-col a:hover { text-decoration: underline; }

/* 30.3 Sayfa başlığı şablonu: bölüm etiketi + h1 + açıklama ------------------ */
.section-tag, .page-head .eyebrow, .uni-sub, .eyebrow {
  font-size: var(--fs-12); font-weight: var(--fw-semibold); letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--accent); background: none;
}
.uni-sub { color: var(--text-dim); }
.page-head { margin-bottom: var(--sp-8); padding-bottom: var(--sp-6); border-bottom: 1px solid var(--border); }
.page-head h1, .hero-title { font-size: var(--fs-2xl); font-weight: var(--fw-bold); letter-spacing: -0.02em; line-height: 1.2; margin: 6px 0 8px; }
.page-head p, .hero-desc { font-size: var(--fs-16); color: var(--text-muted); max-width: var(--measure); line-height: var(--lh-body); }
.section-title { font-size: var(--fs-22); font-weight: var(--fw-bold); }
@media (min-width: 900px) { .section-title { font-size: var(--fs-28); } }
.panel-title { font-size: var(--fs-22); font-weight: var(--fw-bold); line-height: 1.3; }
.panel-sub { font-size: var(--fs-16); color: var(--text-muted); max-width: var(--measure); }
.section > h2 { font-size: var(--fs-22); font-weight: var(--fw-bold); }
.section-header { margin-bottom: var(--sp-4); }

/* Ders ve rehber sayfalarının üst bölümü (hero): sade sayfa başlığı gibi */
.hero-section {
  padding: var(--sp-8);
  border-radius: var(--radius-lg);
  box-shadow: none;
}
@media (max-width: 640px) { .hero-section { padding: var(--sp-5) var(--sp-4); } }
.hero-pill {
  background: var(--surface-2); color: var(--text-muted); border: 1px solid var(--border);
  font-size: var(--fs-12); font-weight: var(--fw-semibold); border-radius: var(--radius-sm); padding: 4px 10px;
}
.hero-pill .pulse-dot { background: var(--u-course, var(--accent)); width: 6px; height: 6px; }
.hero-desc { margin-bottom: var(--sp-6); }
.hero-stats { gap: var(--sp-3); padding-top: var(--sp-5); grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr)); }
@media (max-width: 640px) { .hero-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.stat-item { background: var(--surface-2); border-radius: var(--radius-md); padding: var(--sp-3) var(--sp-4); }
.stat-num { font-size: var(--fs-22); font-weight: var(--fw-bold); }
.stat-num .stat-unit { font-size: var(--fs-12); color: var(--text-muted); font-weight: var(--fw-semibold); }
.stat-label { font-size: var(--fs-12); text-transform: none; letter-spacing: 0; font-weight: var(--fw-medium); color: var(--text-muted); }

/* Ders sayfası renk vurgusu (yalnızca ince çizgi ve nokta) */
body.page-course { --u-course: var(--accent); }
body[data-course="ap-calculus"] { --u-course: var(--c-calculus); }
body[data-course="ap-physics"] { --u-course: var(--c-physics); }
body[data-course="ap-chemistry"] { --u-course: var(--c-chemistry); }
body[data-course="ap-biology"] { --u-course: var(--c-biology); }
body[data-course="ap-english"] { --u-course: var(--c-english); }
body[data-course="ap-electives"], body[data-course="ap-computer-science-a"], body[data-course="ap-microeconomics"], body[data-course="ap-macroeconomics"] { --u-course: var(--c-electives); } /* 1.30.0 */
body[data-course="ap-precalculus"] { --u-course: var(--c-precalculus); }
body[data-course="ap-statistics"] { --u-course: var(--c-statistics); }
body[data-course="ap-physics-2"] { --u-course: var(--c-physics2); }
body.page-course .hero-section { border-top: 3px solid var(--u-course); }

/* 30.4 Kartlar ---------------------------------------------------------------- */
.glass-card, .interactive-panel, .surface, .uni-card, .exam-card, .formula-card, .lecture-card, .course-card, .link-tile {
  border-color: var(--border);
}
.glass-card { border-radius: var(--radius-lg); padding: var(--sp-6); box-shadow: var(--shadow-card); }
.glass-card:hover { box-shadow: var(--shadow-card); border-color: var(--border-strong); }
.interactive-panel { border-radius: var(--radius-lg); padding: var(--sp-8); box-shadow: var(--shadow-card); margin-bottom: var(--sp-6); }
@media (max-width: 640px) { .interactive-panel { padding: var(--sp-5) var(--sp-4); } .glass-card { padding: var(--sp-5) var(--sp-4); } }
.surface { border-radius: var(--radius-lg); }
.formula-card { border-radius: var(--radius-md); }
.formula-card:hover { border-color: var(--border-strong); }
.formula-code { border-radius: var(--radius-sm); font-size: var(--fs-14); }
.lecture-card { border-radius: var(--radius-md); padding: var(--sp-6) var(--sp-6) var(--sp-6) calc(var(--sp-6) + 3px); }
.lecture-card::before { width: 3px; }
.theory-title { font-size: var(--fs-18); }
.theory-callout { border-left-width: 3px; border-radius: 0 var(--radius-md) var(--radius-md) 0; background: var(--surface-2); border-left-color: var(--accent); }
.pitfall-box { border-radius: var(--radius-md); }
.card-title { font-size: var(--fs-18); font-weight: var(--fw-bold); }
.card-desc { font-size: var(--fs-14); }
.card-meta-item { border-radius: var(--radius-sm); font-size: var(--fs-14); }

/* Bölümler arası ritim: ardışık paneller arasında sabit 24 px */
.main-container > section + section, .main-container > section + div, .main-container > div + section { margin-top: 0; }

/* 30.5 Düğmeler: birincil / ikincil / hayalet / tehlike + boyutlar ---------------- */
.btn, .btn-primary, .btn-secondary, .btn-ghost, .btn-card, .btn-danger-solid {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 40px; padding: 8px 16px; border-radius: var(--radius-md);
  font-family: inherit; font-size: var(--fs-14); font-weight: var(--fw-semibold); line-height: 1.3;
  text-decoration: none; cursor: pointer; transition: var(--transition);
  border: 1px solid transparent;
}
.btn-primary { background: var(--btn-bg); color: var(--on-btn); }
.btn-primary:hover { background: var(--btn-bg-hover); color: var(--on-btn); }
.btn-secondary, .btn-card { background: var(--surface); color: var(--text); border-color: var(--border-strong); box-shadow: var(--shadow-sm); }
.btn-secondary:hover, .btn-card:hover { background: var(--surface-2); color: var(--text); border-color: var(--border-strong); }
.btn-ghost { background: transparent; color: var(--text); border-color: var(--border); }
.btn-ghost:hover { background: var(--surface-2); color: var(--text); }
.btn-danger { color: var(--bad); border-color: var(--bad-border); }
.btn-danger:hover { background: var(--bad-bg); color: var(--bad); border-color: var(--bad); }
.btn-danger-solid { background: var(--bad); color: var(--on-btn); }
.btn-card.active-filter, .btn-card.active, .btn-card[aria-pressed="true"] { background: var(--accent-soft); color: var(--accent); border-color: color-mix(in srgb, var(--accent) 45%, transparent); box-shadow: none; }
.btn-sm, .btn-card.btn-sm { min-height: 32px; padding: 5px 12px; font-size: var(--fs-14); border-radius: var(--radius-sm); }
.btn-lg { min-height: 48px; padding: 12px 22px; font-size: var(--fs-16); }
.btn-primary:disabled, .btn-secondary:disabled, .btn-ghost:disabled, .btn-card:disabled { opacity: 0.55; cursor: not-allowed; }
.u-btn-solid { background: var(--btn-bg) !important; color: var(--on-btn) !important; border-color: transparent !important; }

/* Dış kaynak bağlantısı: sola hizalı, sağda "dış bağlantı" simgesi */
.resource-link { justify-content: space-between !important; text-align: left; width: 100%; font-weight: var(--fw-medium); }
.resource-link::after, .ext-link::after {
  content: ""; width: 14px; height: 14px; flex-shrink: 0; background: currentColor; opacity: 0.6;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M20 4l-9 9M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/%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' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M20 4l-9 9M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.ext-link::after { display: inline-block; width: 12px; height: 12px; margin-left: 4px; vertical-align: -1px; }

/* 30.6 Rozet / etiket -------------------------------------------------------- */
.card-badge, .status, .kesinlik, .rs-tag, .zone, .pill, .tab-count {
  border-radius: var(--radius-sm);
}
.card-badge { font-size: var(--fs-12); font-weight: var(--fw-semibold); letter-spacing: 0.01em; padding: 2px 8px; }
.status { font-size: var(--fs-12); font-weight: var(--fw-semibold); padding: 2px 8px; }
.pill { font-weight: var(--fw-medium); }
.lang-pill {
  background: var(--surface-2); border: 1px solid var(--border); color: var(--text-muted);
  font-size: var(--fs-12); font-weight: var(--fw-semibold); letter-spacing: 0.02em; text-transform: none;
  padding: 2px 8px; border-radius: var(--radius-sm);
}
.agent-tag { border-radius: var(--radius-sm); font-size: var(--fs-12); }

/* 30.7 Sekmeler ve form alanları ------------------------------------------------ */
.tabs { border-radius: var(--radius-md); }
.tab { border-radius: var(--radius-sm); font-weight: var(--fw-semibold); }
.calc-input, .calc-select, .field input, .field select, .field textarea, input[type="text"], input[type="search"], input[type="email"], input[type="password"], input[type="date"], input[type="number"], select, textarea {
  border-radius: var(--radius-md);
}
.calc-input:focus, .calc-select:focus, input:focus-visible, select:focus-visible, textarea:focus-visible { border-color: var(--accent); box-shadow: var(--focus-ring); outline: none; }

/* 30.8 Tablolar (ders içi ve veri tabloları) ---------------------------------- */
.interactive-panel table, .lecture-card table, .glass-card table, .theory-body table, .u-table {
  border-collapse: collapse; font-size: var(--fs-14); margin: var(--sp-3) 0; background: var(--surface);
}
.interactive-panel table th, .interactive-panel table td,
.lecture-card table th, .lecture-card table td,
.glass-card table th, .glass-card table td, .u-table th, .u-table td {
  border: 1px solid var(--border); padding: 6px 10px; text-align: left; vertical-align: top;
}
.interactive-panel table th, .lecture-card table th, .glass-card table th, .u-table th { background: var(--surface-2); font-weight: var(--fw-semibold); color: var(--text); }

/* 30.9 Uyarı kutusu ve boş durum ---------------------------------------------- */
.alert { display: flex; gap: 12px; align-items: flex-start; padding: 12px 16px; border-radius: var(--radius-md); border: 1px solid var(--info-border); background: var(--info-bg); color: var(--text); font-size: var(--fs-14); }
.alert > svg { width: 18px; height: 18px; flex-shrink: 0; margin-top: 2px; color: var(--info); }
.alert-warn { background: var(--warn-bg); border-color: var(--warn-border); }
.alert-warn > svg { color: var(--warn); }
.alert-bad { background: var(--bad-bg); border-color: var(--bad-border); }
.alert-bad > svg { color: var(--bad); }
.alert-ok { background: var(--ok-bg); border-color: var(--ok-border); }
.alert-ok > svg { color: var(--ok); }
.empty-state { text-align: center; padding: var(--sp-8) var(--sp-4); color: var(--text-muted); border: 1px dashed var(--border-strong); border-radius: var(--radius-lg); background: var(--surface-2); }
.empty-state strong { display: block; color: var(--text); margin-bottom: 4px; }

/* Onay işaretli liste (emoji yerine çizim) */
.check-item { position: relative; padding-left: 24px; }
.check-item::before {
  content: ""; position: absolute; left: 0; top: 0.3em; width: 14px; height: 14px; background: var(--ok);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%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' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* 30.10 Ajan/eğitmen monogramı (emoji yerine baş harfler) ----------------------- */
.agent-avatar.agent-monogram, .agent-avatar[data-mono] {
  font-size: var(--fs-14); font-weight: var(--fw-bold); letter-spacing: 0.02em;
  color: var(--avatar-fg); background: var(--avatar-bg); border-color: transparent; border-radius: var(--radius-md);
}
body.page-course .agent-avatar.agent-monogram { color: var(--u-course); background: color-mix(in srgb, var(--u-course) 12%, transparent); }

/* 30.11 İçindekiler (uzun sayfalar) -------------------------------------------- */
.doc-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-8); align-items: start; }
.doc-toc { font-size: var(--fs-14); min-width: 0; }
.doc-toc details { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); }
.doc-toc summary {
  list-style: none; cursor: pointer; padding: 12px 16px; font-weight: var(--fw-semibold); color: var(--text);
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
}
.doc-toc summary::-webkit-details-marker { display: none; }
.doc-toc summary svg { width: 16px; height: 16px; transition: transform .15s ease; color: var(--text-dim); }
.doc-toc details[open] summary svg { transform: rotate(180deg); }
.doc-toc ol { position: relative; list-style: none; margin: 0; padding: 0 8px 10px; max-height: min(70vh, 640px); overflow-y: auto; overscroll-behavior: contain; }
.doc-toc li { margin: 0; }
.doc-toc a {
  display: block; padding: 6px 10px; border-radius: var(--radius-sm); color: var(--text-muted); text-decoration: none;
  line-height: 1.35; border-left: 2px solid transparent; overflow-wrap: anywhere;
}
.doc-toc a:hover { color: var(--text); background: var(--surface-2); }
.doc-toc a.is-active { color: var(--accent); background: var(--accent-soft); font-weight: var(--fw-semibold); }
.doc-toc .toc-quiz a { padding-left: 22px; font-size: var(--fs-12); }
.doc-toc .toc-kicker { padding: 10px 10px 4px; font-size: var(--fs-12); color: var(--text-dim); text-transform: uppercase; letter-spacing: 0.06em; font-weight: var(--fw-semibold); }
/* Tur 14: ünite satırı = anlatım bağlantısı + "Sorular" çipi (aynı ünitenin soru istasyonu) */
.doc-toc .toc-meta { font-weight: var(--fw-medium); color: var(--text-dim); text-transform: none; letter-spacing: 0; }
.doc-toc .toc-unit { display: flex; align-items: flex-start; gap: 4px; }
.doc-toc .toc-unit .toc-main { flex: 1 1 auto; min-width: 0; display: flex; align-items: flex-start; gap: 8px; }
.doc-toc .toc-num {
  flex: none; min-width: 22px; height: 20px; padding: 0 5px; border-radius: var(--radius-sm);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: var(--fs-12); font-weight: var(--fw-semibold); font-variant-numeric: tabular-nums;
  color: var(--u-course, var(--accent)); background: color-mix(in srgb, var(--u-course, var(--accent)) 12%, transparent);
}
.doc-toc .toc-label { min-width: 0; }
.doc-toc .toc-tag { display: inline-block; padding: 0 5px; border-radius: var(--radius-xs); font-size: 10px; font-weight: var(--fw-semibold); letter-spacing: .04em; color: var(--text-dim); border: 1px solid var(--border); vertical-align: 1px; }
.doc-toc a.toc-chip {
  flex: none; align-self: center; padding: 2px 8px; font-size: var(--fs-12); font-weight: var(--fw-semibold);
  color: var(--text-muted); border: 1px solid var(--border); border-radius: var(--radius-full); border-left-width: 1px; line-height: 1.4;
}
.doc-toc a.toc-chip:hover { color: var(--text); border-color: var(--border-strong); }
.doc-toc a.toc-chip.is-active { color: var(--accent); border-color: var(--accent); background: var(--accent-soft); }
.doc-toc .toc-q { font-weight: var(--fw-semibold); color: var(--text-dim); }
@media (max-width: 1199px) { .doc-toc a.toc-chip { padding: 6px 10px; } }
@media (min-width: 1200px) {
  .doc-layout { grid-template-columns: 248px minmax(0, 1fr); }
  .doc-layout > .doc-toc { position: sticky; top: calc(var(--nav-h) + 16px); max-height: calc(100vh - var(--nav-h) - 32px); }
  .doc-layout > .doc-toc details { border: 0; background: transparent; }
  .doc-layout > .doc-toc summary { padding: 0 10px 8px; cursor: default; font-size: var(--fs-12); text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-dim); }
  .doc-layout > .doc-toc summary svg { display: none; }
  .doc-layout > .doc-toc ol { max-height: calc(100vh - var(--nav-h) - 80px); padding: 0; }
  body.has-toc .main-container { max-width: calc(var(--content-max) + 280px); }
}
.doc-body { min-width: 0; }

/* Uzun anlatım metni: okunabilir satır uzunluğu */
.lecture-card p, .theory-body p, .lecture-card li { max-width: 80ch; }

/* 30.12 Panel (index) hiyerarşisi -------------------------------------------- */
.hello-card h1 { font-size: var(--fs-2xl); }
.next-step { border-radius: var(--radius-lg); }
.dash-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-4); margin-bottom: var(--sp-8); }
@media (max-width: 960px) { .dash-grid { grid-template-columns: minmax(0, 1fr); } }
.dash-grid > * { margin: 0; }
.dash-card { display: flex; flex-direction: column; gap: 8px; }
.dash-card h2 { font-size: var(--fs-14); font-weight: var(--fw-semibold); color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.05em; }
.dash-card .countdown { margin: 4px 0 0; }
.dash-card .countdown-num { font-size: var(--fs-22); }
.dash-card .countdown-cell { padding: 8px 6px; }
.dash-more { margin-top: var(--sp-10); padding-top: var(--sp-8); border-top: 1px solid var(--border); }
.dash-more > h2 { font-size: var(--fs-18); margin-bottom: 4px; }
.dash-more > .section-lead { color: var(--text-muted); margin-bottom: var(--sp-5); font-size: var(--fs-14); }
.road-title { font-size: var(--fs-12) !important; }
.kmk-more { margin: 0 0 var(--sp-5); }
.kmk-more > summary { cursor: pointer; color: var(--accent); font-weight: var(--fw-semibold); font-size: var(--fs-14); }
.kmk-more > p { margin-top: 8px; color: var(--text-muted); font-size: var(--fs-14); max-width: var(--measure); }

/* 30.13 Kısaltılabilir uzun not (Sınavlar, Rotam) ------------------------------- */
.clamp-note { position: relative; }
.clamp-note > summary { cursor: pointer; font-size: var(--fs-14); font-weight: var(--fw-semibold); color: var(--accent); list-style: none; display: inline-flex; align-items: center; gap: 4px; }
.clamp-note > summary::-webkit-details-marker { display: none; }
.clamp-note > summary::after { content: "+"; font-weight: 700; }
.clamp-note[open] > summary::after { content: "−"; }
.clamp-note > div, .clamp-note > p { margin-top: 6px; }

/* 30.14 Yardımcı sınıflar (satır içi stillerin yerine) ------------------------- */
.u-flex { display: flex; } .u-iflex { display: inline-flex; } .u-block { display: block; } .u-iblock { display: inline-block; } .u-grid { display: grid; }
.u-col { flex-direction: column; } .u-row { flex-direction: row; } .u-wrap { flex-wrap: wrap; } .u-grow { flex-grow: 1; } .u-noshrink { flex-shrink: 0; }
.u-between { justify-content: space-between; } .u-jcenter { justify-content: center; } .u-jend { justify-content: flex-end; } .u-jstart { justify-content: flex-start; }
.u-center { align-items: center; } .u-astart { align-items: flex-start; } .u-abase { align-items: baseline; } .u-aend { align-items: flex-end; } .u-astretch { align-items: stretch; }
.u-gap-0 { gap: 0; } .u-gap-1 { gap: 4px; } .u-gap-2 { gap: 8px; } .u-gap-3 { gap: 12px; } .u-gap-4 { gap: 16px; } .u-gap-5 { gap: 20px; } .u-gap-6 { gap: 24px; } .u-gap-8 { gap: 32px; }
.u-min0 { min-width: 0; } .u-wauto { width: auto !important; } .u-w100 { width: 100%; } .u-maxw-sm { max-width: 360px; } .u-maxw-full { max-width: 100%; }
.u-m-0 { margin: 0; } .u-mx-auto { margin-left: auto; margin-right: auto; } .u-my-3 { margin-top: 12px; margin-bottom: 12px; }
.u-mt-0 { margin-top: 0 !important; } .u-mt-1 { margin-top: 4px; } .u-mt-2 { margin-top: 8px; } .u-mt-3 { margin-top: 12px; } .u-mt-4 { margin-top: 16px; } .u-mt-5 { margin-top: 20px; } .u-mt-6 { margin-top: 24px; } .u-mt-8 { margin-top: 32px; } .u-mt-10 { margin-top: 40px; } .u-mt-12 { margin-top: 48px; } .u-mt-auto { margin-top: auto; }
.u-mb-0 { margin-bottom: 0 !important; } .u-mb-1 { margin-bottom: 4px; } .u-mb-2 { margin-bottom: 8px; } .u-mb-3 { margin-bottom: 12px; } .u-mb-4 { margin-bottom: 16px; } .u-mb-5 { margin-bottom: 20px; } .u-mb-6 { margin-bottom: 24px; } .u-mb-8 { margin-bottom: 32px; } .u-mb-10 { margin-bottom: 40px; } .u-mb-12 { margin-bottom: 48px; }
.u-ml-1 { margin-left: 4px; } .u-ml-2 { margin-left: 8px; } .u-ml-3 { margin-left: 12px; } .u-ml-4 { margin-left: 16px; }
.u-mr-1 { margin-right: 4px; } .u-mr-2 { margin-right: 8px; } .u-mr-3 { margin-right: 12px; }
.u-p-0 { padding: 0 !important; } .u-p-1 { padding: 4px; } .u-p-2 { padding: 8px; } .u-p-3 { padding: 12px; } .u-p-4 { padding: 16px; } .u-p-5 { padding: 20px; } .u-p-6 { padding: 24px; } .u-p-8 { padding: 32px; }
.u-py-1 { padding-top: 4px; padding-bottom: 4px; } .u-py-2 { padding-top: 8px; padding-bottom: 8px; } .u-py-3 { padding-top: 12px; padding-bottom: 12px; } .u-py-4 { padding-top: 16px; padding-bottom: 16px; } .u-py-5 { padding-top: 20px; padding-bottom: 20px; } .u-py-6 { padding-top: 24px; padding-bottom: 24px; } .u-py-8 { padding-top: 32px; padding-bottom: 32px; }
.u-px-1 { padding-left: 4px; padding-right: 4px; } .u-px-2 { padding-left: 8px; padding-right: 8px; } .u-px-3 { padding-left: 12px; padding-right: 12px; } .u-px-4 { padding-left: 16px; padding-right: 16px; } .u-px-5 { padding-left: 20px; padding-right: 20px; } .u-px-6 { padding-left: 24px; padding-right: 24px; } .u-px-8 { padding-left: 32px; padding-right: 32px; }
.u-pl-2 { padding-left: 8px; } .u-pl-3 { padding-left: 12px; } .u-pl-4 { padding-left: 16px; } .u-pl-5 { padding-left: 20px; } .u-pl-6 { padding-left: 24px; }
.u-pt-2 { padding-top: 8px; } .u-pt-3 { padding-top: 12px; } .u-pt-4 { padding-top: 16px; }
.u-fs-12 { font-size: var(--fs-12); } .u-fs-14 { font-size: var(--fs-14); } .u-fs-16 { font-size: var(--fs-16); } .u-fs-18 { font-size: var(--fs-18); } .u-fs-22 { font-size: var(--fs-22); } .u-fs-28 { font-size: var(--fs-28); } .u-fs-36 { font-size: var(--fs-36); }
.u-fw-400 { font-weight: 400; } .u-fw-500 { font-weight: 500; } .u-fw-600 { font-weight: 600; } .u-fw-700 { font-weight: 700; } .u-fw-800 { font-weight: 700; }
.u-lh-tight { line-height: var(--lh-tight); } .u-lh-loose { line-height: 1.8; }
.u-c-text { color: var(--text); } .u-c-muted { color: var(--text-muted); } .u-c-dim { color: var(--text-dim); } .u-c-inherit { color: inherit; }
.u-nodec { text-decoration: none; } .u-list-none { list-style: none; } .u-ws-normal { white-space: normal; } .u-nowrap { white-space: nowrap; }
.u-tc { text-align: center; } .u-tr { text-align: right; } .u-tl { text-align: left; } .u-italic { font-style: italic; } .u-upper { text-transform: uppercase; letter-spacing: 0.04em; } .u-mono { font-family: var(--font-mono); }
.u-scroll-x { overflow-x: auto; }
.u-r-sm { border-radius: var(--radius-sm); } .u-r-md { border-radius: var(--radius-md); } .u-r-full { border-radius: var(--radius-full); }
.u-border { border: 1px solid var(--border); } .u-dashed { border: 1px dashed var(--border-strong); border-radius: var(--radius-md); }
.u-inset { background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 16px; color: var(--text); }

/* Ton sınıfları: yalnızca vurgu (çizgi, küçük etiket, metin rengi) */
.u-tone-brand { --u-tone: var(--accent); } .u-tone-cyan { --u-tone: var(--accent-cyan); } .u-tone-blue { --u-tone: var(--accent-blue); }
.u-tone-violet { --u-tone: var(--accent-violet); } .u-tone-indigo { --u-tone: var(--accent-indigo); } .u-tone-emerald { --u-tone: var(--accent-emerald); }
.u-tone-amber { --u-tone: var(--accent-amber); } .u-tone-pink { --u-tone: var(--accent-pink); } .u-tone-rose { --u-tone: var(--accent-rose); } .u-tone-teal { --u-tone: var(--accent-teal); }
.u-blc { border-left-color: var(--u-tone, var(--accent)) !important; }
.u-bl { border-left: 3px solid var(--u-tone, var(--accent)) !important; }
.u-bt { border-top: 3px solid var(--u-tone, var(--accent)) !important; }
.u-bc { border-color: color-mix(in srgb, var(--u-tone, var(--accent)) 40%, var(--border)) !important; }
.u-tag {
  display: inline-block; color: var(--u-tone, var(--accent)); background: color-mix(in srgb, var(--u-tone, var(--accent)) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--u-tone, var(--accent)) 28%, transparent); border-radius: var(--radius-sm); padding: 1px 8px; font-weight: var(--fw-semibold);
}
.section-tag.u-tag { padding: 2px 8px; }
.u-tint { background: color-mix(in srgb, var(--u-tone, var(--accent)) 7%, var(--surface)); border-color: color-mix(in srgb, var(--u-tone, var(--accent)) 28%, var(--border)); }
.u-c-brand { color: var(--accent); } .u-c-cyan { color: var(--accent-cyan); } .u-c-blue { color: var(--accent-blue); } .u-c-violet { color: var(--accent-violet); }
.u-c-indigo { color: var(--accent-indigo); } .u-c-emerald { color: var(--accent-emerald); } .u-c-amber { color: var(--accent-amber); } .u-c-pink { color: var(--accent-pink); }
.u-c-rose { color: var(--accent-rose); } .u-c-teal { color: var(--accent-teal); }

/* 30.15 Hareket ve yazdırma ---------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; scroll-behavior: auto !important; }
}
@media print {
  .doc-toc, .nav-menu-btn, .account, .theme-toggle { display: none !important; }
  .doc-layout { display: block; }
  .glass-card, .interactive-panel, .surface, .lecture-card, .hero-section { box-shadow: none !important; break-inside: avoid-page; }
  .clamp-note > *:not(summary) { display: block !important; }
  .resource-link::after { display: none; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 0.8em; color: #444; }
}

/* 30.16 Ajan kartları ve konsey (v3) ------------------------------------------- */
.agent-card { border-left: 3px solid var(--u-tone, var(--accent)); }
.agent-avatar.agent-monogram[style*="--u-tone"] {
  color: color-mix(in srgb, var(--u-tone) 72%, var(--text));
  background: color-mix(in srgb, var(--u-tone) 12%, var(--surface));
}
.agent-avatar-sm { width: 36px; height: 36px; font-size: var(--fs-12); }
.agent-info span.agent-title-line { color: var(--text-muted); font-weight: var(--fw-medium); }
.agent-select-text { flex-grow: 1; overflow: hidden; min-width: 0; text-align: left; }
.agent-select-name { font-weight: var(--fw-semibold); color: var(--text); font-size: var(--fs-14); white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.agent-select-badge { font-size: var(--fs-12); color: var(--text-muted); }
.agent-advice { background: var(--surface-2); padding: 12px; border-radius: var(--radius-md); margin-bottom: 16px; border-left: 3px solid var(--u-tone, var(--accent)); }
.agent-advice strong { font-size: var(--fs-12); color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.05em; }
.agent-advice p { font-size: var(--fs-14); color: var(--text); margin-top: 4px; font-style: italic; }
.agent-card .btn-secondary svg, .btn-secondary .ico, .btn-primary .ico { width: 16px; height: 16px; }
.debate-entry .agent-avatar { width: 40px; height: 40px; }

/* Soru geri bildirimi: emoji yerine ikon */
.feedback-verdict { display: inline-flex; align-items: center; gap: 6px; }
.feedback-verdict .ico, .remediation-title .ico { width: 16px; height: 16px; flex-shrink: 0; }
.remediation-title span { display: inline-flex; align-items: center; gap: 6px; }

/* 30.17 Gezinme sığdırma: ders/rehber sayfalarındaki uzun "… Danış" düğmesi orta genişlikte yalnızca ikon */
@media (max-width: 1440px) {
  body.page-doc .navbar .btn-consult { width: 38px; height: 38px; padding: 0; justify-content: center; }
  body.page-doc .navbar .btn-consult .consult-ico { display: block; }
  body.page-doc .navbar .btn-consult span { display: none; }
}

/* 30.18 Panel ince ayarları */
.today-grid .today-hello { font-size: var(--fs-18); letter-spacing: -0.01em; }
.today-grid .today-sub { font-size: var(--fs-14); }
.dash-countdown h2 { font-size: var(--fs-14) !important; color: var(--text-muted); font-weight: var(--fw-semibold) !important; }
.dash-countdown .countdown { gap: 8px; }
.dash-countdown .countdown-cell { padding: 8px 6px; }
.dash-countdown .countdown-num { font-size: var(--fs-22); }
.dash-countdown .side-note { font-size: var(--fs-12); }
.dash-more .section { margin-bottom: var(--sp-8); }
.dash-more .section-title { font-size: var(--fs-22); }
.last-exam h2 { font-size: var(--fs-14) !important; color: var(--text-muted); font-weight: var(--fw-semibold) !important; }
.exam-meta dd { font-weight: var(--fw-medium); }
.exam-card { border-top-width: 3px; }
.course-card { border-top-width: 3px; }
.uni-program { display: flex; gap: 6px; align-items: flex-start; color: var(--text-muted); font-weight: var(--fw-semibold); font-size: var(--fs-14); margin-bottom: 12px; }
.uni-program .ico, .status .ico { width: 14px; height: 14px; flex-shrink: 0; margin-top: 2px; }
.sv-result::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: currentColor; margin-right: 6px; vertical-align: 1px; }
.sv-result.is-none::before { display: none; }
@media (max-width: 1199px) { .doc-layout { gap: var(--sp-4); } }
/* Telefonda başlangıç adımları kısa: yalnızca sıradaki adım ayrıntılı, diğerleri tek satır özet */
@media (max-width: 520px) {
  .roadmap { gap: 8px; margin-bottom: var(--sp-8); }
  .road-step:not(.is-current) { padding: 10px 14px; gap: 2px; }
  .road-step:not(.is-current) p { display: none; }
}
.road-step h3 { font-weight: var(--fw-bold); }

/* ==========================================================================
   31. TUR 10 — AÇIK ERİŞİM (K4): ZİYARETÇİ MENÜSÜ, ÜLKE ŞARTLARI, GİRİŞ BAĞLAMI (Ajan 11)
   Yalnızca token renkleri; açık/koyu tema; 360 px genişlikte yatay taşma yok.
   ========================================================================== */

/* 31.1 Ziyaretçi menüsü: Giriş yap / Kayıt ol */
.nav-guest { display: flex; align-items: center; gap: 8px; }
.nav-guest .btn-sm { white-space: nowrap; }
.nav-guest-mobile { display: none; }
@media (max-width: 560px) {
  .nav-guest .nav-signup { display: none; }
  .navbar.nav-open .nav-guest-mobile { display: flex; flex-direction: column; gap: 8px; padding: 12px 12px 4px; margin-top: 6px; border-top: 1px solid var(--border); }
}
@media (max-width: 380px) {
  .nav-guest .nav-login { padding: 5px 10px; }
}

/* Kilitli hedef simgesi (ziyaretçi, Sınavlar) */
.lock-ico { width: 14px; height: 14px; flex-shrink: 0; opacity: 0.85; }

/* 31.2 Giriş sayfası: açık sayfalara geçiş + kilitli sayfa bağlamı */
.auth-open-link {
  display: flex; align-items: center; gap: 12px; margin-top: var(--sp-6); padding: 12px 14px;
  border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface);
  color: var(--text); text-decoration: none; transition: var(--transition); max-width: 52ch; box-shadow: var(--shadow-sm);
}
.auth-open-link:hover { border-color: color-mix(in srgb, var(--accent) 45%, var(--border)); color: var(--text); background: var(--surface-2); }
.auth-open-link strong { display: block; font-size: var(--fs-14); color: var(--accent); }
.auth-open-link small { display: block; font-size: var(--fs-12); color: var(--text-muted); margin-top: 2px; }
.auth-open-link > span:nth-child(2) { min-width: 0; flex: 1 1 auto; }
.auth-open-ico { width: 36px; height: 36px; border-radius: var(--radius-md); display: grid; place-items: center; flex-shrink: 0; background: var(--accent-soft); color: var(--accent); }
.auth-open-ico svg { width: 20px; height: 20px; }
.auth-open-go { width: 18px; height: 18px; flex-shrink: 0; color: var(--text-dim); }
@media (max-width: 880px) { .auth-open-link { margin-top: var(--sp-4); max-width: none; } }

.auth-context {
  display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; margin-bottom: var(--sp-5);
  border: 1px solid var(--info-border); background: var(--info-bg); border-radius: var(--radius-md);
}
.auth-context[hidden] { display: none; }
.auth-context-ico { color: var(--info); flex-shrink: 0; margin-top: 1px; }
.auth-context-ico svg { width: 20px; height: 20px; display: block; }
.auth-context strong { display: block; font-size: var(--fs-14); color: var(--text); }
.auth-context p { font-size: var(--fs-14); color: var(--text-muted); margin-top: 2px; overflow-wrap: anywhere; }

/* 31.3 Ülke şartları sayfası (sartlar.html) */
.sr-head { margin-bottom: var(--sp-5); }
.sr-picker {
  display: flex; flex-wrap: wrap; gap: var(--sp-4) var(--sp-6); align-items: flex-end;
  padding: var(--sp-4) var(--sp-5); margin-bottom: var(--sp-6);
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
}
.sr-field { border: 0; margin: 0; padding: 0; min-width: 0; }
.sr-field legend { font-size: var(--fs-12); font-weight: var(--fw-semibold); letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-dim); margin-bottom: 6px; padding: 0; }
.sr-seg { display: flex; gap: 4px; padding: 4px; background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-md); }
.sr-opt { position: relative; display: flex; flex: 1 1 auto; min-width: 0; cursor: pointer; }
.sr-opt input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.sr-opt > span {
  flex: 1 1 auto; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 40px; min-width: 44px; padding: 8px 14px; border-radius: var(--radius-sm); border: 1px solid transparent;
  font-size: var(--fs-14); font-weight: var(--fw-semibold); color: var(--text-muted); white-space: nowrap; transition: var(--transition);
}
.sr-opt:hover > span { color: var(--text); }
.sr-opt input:checked + span { background: var(--surface); color: var(--accent); border-color: var(--border); box-shadow: var(--shadow-sm); }
.sr-opt input:focus-visible + span { box-shadow: var(--focus-ring); border-color: var(--accent); }
.sr-seg-ulke .sr-opt > span { min-width: 120px; }
@media (max-width: 640px) {
  .sr-picker { padding: var(--sp-3) var(--sp-3) var(--sp-4); gap: var(--sp-3); }
  .sr-field { flex: 1 1 100%; }
  .sr-opt > span { padding: 8px 6px; min-width: 0; }
  .sr-seg-ulke .sr-opt > span { min-width: 0; }
}

/* Seçim öncesi (nazik başlangıç) */
.sr-intro {
  text-align: center; padding: var(--sp-10) var(--sp-6); border: 1px dashed var(--border-strong);
  border-radius: var(--radius-lg); background: var(--surface-2);
}
.sr-intro-ico { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; margin: 0 auto var(--sp-3); background: var(--accent-soft); color: var(--accent); }
.sr-intro-ico svg { width: 26px; height: 26px; }
.sr-intro h2 { font-size: var(--fs-22); margin-bottom: 6px; }
.sr-intro > p { color: var(--text-muted); max-width: 60ch; margin: 0 auto var(--sp-5); }
.sr-intro-list { list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: var(--sp-3); max-width: 920px; margin: 0 auto var(--sp-4); padding: 0; }
.sr-intro-list li { display: flex; align-items: center; gap: 10px; padding: 12px 14px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); font-weight: var(--fw-semibold); font-size: var(--fs-14); text-align: left; }
.sr-intro-list li > span { color: var(--accent); flex-shrink: 0; }
.sr-intro-list svg { width: 20px; height: 20px; display: block; }
@media (max-width: 640px) { .sr-intro { padding: var(--sp-8) var(--sp-4); } }

/* Özet + kişisel koçluk çağrısı */
.sr-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--sp-4); margin-bottom: var(--sp-6); }
@media (max-width: 900px) { .sr-top { grid-template-columns: minmax(0, 1fr); } }
.sr-summary { border-top: 4px solid var(--rota-c); display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.sr-summary h2 { display: flex; align-items: center; gap: 10px; font-size: var(--fs-22); overflow-wrap: anywhere; }
.sr-summary .rota-dot { width: 12px; height: 12px; }
.sr-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 120px), 1fr)); gap: 8px; margin: 0; }
.sr-facts div { background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 8px 12px; min-width: 0; }
.sr-facts dt { font-size: var(--fs-12); color: var(--text-dim); font-weight: var(--fw-semibold); text-transform: uppercase; letter-spacing: 0.05em; }
.sr-facts dd { font-weight: var(--fw-bold); font-variant-numeric: tabular-nums; margin: 2px 0 0; }
.sr-summary .btn-row svg, .sr-cta .btn-row svg { width: 16px; height: 16px; }
.sr-summary .field-hint:empty { display: none; }
.sr-cta {
  display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: var(--sp-4); align-items: start; min-width: 0;
  background: color-mix(in srgb, var(--accent) 6%, var(--surface)); border-color: color-mix(in srgb, var(--accent) 30%, var(--border));
}
.sr-cta-ico { width: 44px; height: 44px; border-radius: var(--radius-md); display: grid; place-items: center; background: var(--accent-soft); color: var(--accent); }
.sr-cta-ico svg { width: 24px; height: 24px; }
.sr-cta h2 { font-size: var(--fs-18); margin-bottom: 4px; }
.sr-cta p { color: var(--text-muted); font-size: var(--fs-14); margin-bottom: var(--sp-4); max-width: 60ch; }
@media (max-width: 520px) { .sr-cta { grid-template-columns: minmax(0, 1fr); gap: var(--sp-2); } .sr-cta-ico { display: none; } .sr-cta .btn-row > * { flex: 1 1 100%; } }

.sr-jump { margin-bottom: var(--sp-5); }

/* Dört bölüm */
.sr-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-4); align-items: start; }
@media (max-width: 900px) { .sr-grid { grid-template-columns: minmax(0, 1fr); } }
.sr-sec {
  --u-tone: var(--accent);
  background: var(--surface); border: 1px solid var(--border); border-top: 3px solid var(--u-tone);
  border-radius: var(--radius-lg); padding: var(--sp-5); box-shadow: var(--shadow-card); min-width: 0;
  scroll-margin-top: calc(var(--nav-h) + 16px);
}
.sr-sec-buYil { --u-tone: var(--accent-emerald); }
.sr-sec-tarihler { --u-tone: var(--accent-blue); }
.sr-sec-hatalar { --u-tone: var(--accent-amber); }
.sr-sec-head { display: flex; align-items: center; gap: 10px; margin-bottom: var(--sp-3); }
.sr-sec-head h2 { font-size: var(--fs-18); flex: 1 1 auto; min-width: 0; }
.sr-sec-ico { width: 32px; height: 32px; border-radius: var(--radius-md); display: grid; place-items: center; flex-shrink: 0; color: var(--u-tone); background: color-mix(in srgb, var(--u-tone) 12%, transparent); }
.sr-sec-ico svg { width: 18px; height: 18px; }
.sr-items { list-style: none; margin: 0; padding: 0; display: grid; }
.sr-item { padding: var(--sp-3) 0; border-top: 1px solid var(--border); display: grid; gap: 6px; min-width: 0; scroll-margin-top: calc(var(--nav-h) + 16px); }
.sr-item:first-child { border-top: 0; padding-top: 0; }
.sr-item:last-child { padding-bottom: 0; }
.sr-item h4 { font-size: var(--fs-16); overflow-wrap: anywhere; }
.sr-text { color: var(--text); font-size: var(--fs-14); overflow-wrap: anywhere; max-width: var(--measure); }
.sr-when { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; }
.sr-date { font-weight: var(--fw-bold); color: var(--u-tone); font-variant-numeric: tabular-nums; font-size: var(--fs-14); }
.sr-rel { font-size: var(--fs-12); font-weight: var(--fw-semibold); color: var(--text-muted); background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-full); padding: 1px 8px; }
.sr-when-note { font-size: var(--fs-12); color: var(--text-muted); }
.sr-meta { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; }
.sr-srcs { display: inline-flex; flex-wrap: wrap; gap: 4px 12px; min-width: 0; }
.sr-checked { font-size: var(--fs-12); color: var(--text-dim); }
.sr-empty {
  display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border: 1px dashed var(--border-strong);
  border-radius: var(--radius-md); background: var(--surface-2); color: var(--text-muted); font-size: var(--fs-14);
}
.sr-empty > svg { width: 20px; height: 20px; flex-shrink: 0; color: var(--text-dim); margin-top: 1px; }
.sr-empty strong { display: block; color: var(--text); }

/* Genel yol haritası (data/ulke-rotalari.js) */
.sr-road { margin-top: var(--sp-10); padding-top: var(--sp-8); border-top: 1px solid var(--border); scroll-margin-top: calc(var(--nav-h) + 16px); }
.sr-road-head { margin-bottom: var(--sp-5); }
.sr-road-head h2 { display: flex; align-items: center; gap: 10px; font-size: var(--fs-22); }
.sr-road-head h2 svg { width: 24px; height: 24px; color: var(--rota-c); flex-shrink: 0; }
.sr-road-head p { color: var(--text-muted); font-size: var(--fs-14); max-width: var(--measure); margin-top: 4px; }
.sr-rule { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: var(--sp-4); border-top: 4px solid var(--rota-c); margin-bottom: var(--sp-6); }
.sr-rule h3 { font-size: var(--fs-18); margin: 4px 0 6px; overflow-wrap: anywhere; }
.sr-rule .clamp-note p { color: var(--text-muted); font-size: var(--fs-14); max-width: var(--measure); }
.sr-rule .sr-meta { margin-top: var(--sp-3); }
.sr-rule-ico { width: 40px; height: 40px; border-radius: var(--radius-md); display: grid; place-items: center; background: color-mix(in srgb, var(--rota-c) 14%, transparent); color: var(--rota-c); }
.sr-rule-ico svg { width: 22px; height: 22px; }
@media (max-width: 520px) { .sr-rule { grid-template-columns: minmax(0, 1fr); gap: var(--sp-2); } .sr-rule-ico { display: none; } }
.sr-phase { margin-bottom: var(--sp-6); }
.sr-phase-h { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: var(--fs-12); font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-dim); margin-bottom: var(--sp-3); }
.sr-phase.is-now .sr-phase-h > span:first-child { color: var(--rota-c); }
.sr-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-3); }
.sr-step {
  display: grid; grid-template-columns: 128px minmax(0, 1fr); gap: var(--sp-4); padding: var(--sp-4);
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); min-width: 0;
}
.sr-step.is-now { border-left: 4px solid var(--rota-c); }
.sr-step.is-past { background: var(--surface-2); box-shadow: none; }
.sr-step-when { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.sr-step-month { font-weight: 800; color: var(--rota-c); font-size: var(--fs-16); }
.sr-step-cal { font-size: var(--fs-12); color: var(--text-muted); font-variant-numeric: tabular-nums; }
.sr-step-body { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.sr-step h4 { font-size: var(--fs-16); font-weight: 800; overflow-wrap: anywhere; }
.sr-step.is-past h4 { color: var(--text-muted); }
.sr-step-foot { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; }
.sr-flag-past { color: var(--text-muted); background: var(--surface-3); border-color: var(--border); }
@media (max-width: 640px) {
  .sr-step { grid-template-columns: minmax(0, 1fr); gap: 6px; padding: var(--sp-3) var(--sp-4); }
  .sr-step-when { flex-direction: row; align-items: baseline; gap: 8px; }
}

.sr-legal { margin-top: var(--sp-10); }
.sr-legal strong { color: var(--text); }

@media print {
  .sr-picker, .sr-cta, .sr-jump, #sr-kopyala, .nav-guest { display: none !important; }
  .sr-top { grid-template-columns: minmax(0, 1fr); }
  .sr-sec, .sr-step, .sr-rule { box-shadow: none !important; break-inside: avoid; }
}

/* =====================================================================================
   Tur 10 · K5 — Mezun öğrenci (Ajan 11, 14 Ekim 2026)
   Profil sihirbazı/formu mezun kutusu, Rotam mezun özeti, profile özel uyarı, koşul notu
   ===================================================================================== */
.mezun-box { margin-top: var(--sp-5); padding: var(--sp-4); border-radius: var(--radius-md); background: var(--surface-2); border: 1px solid var(--border); display: grid; gap: var(--sp-4); min-width: 0; }
.mezun-box[hidden] { display: none; }
.mezun-box-h { display: flex; align-items: center; gap: 8px; font-size: var(--fs-12); font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-dim); margin: 0; }
.mezun-box-h svg { width: 18px; height: 18px; color: var(--accent); flex-shrink: 0; }
.mezun-box .field { margin: 0; }
.mezun-box select.text-input { max-width: 340px; }
.mezun-q { border: 0; padding: 0; margin: 0; }
.mezun-q legend { padding: 0; margin-bottom: 4px; }
.mezun-q .field-hint { margin-bottom: var(--sp-3); }
.yerlesme-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); }
.yerlesme-grid .choice-card { background: var(--surface); }
.yerlesme-grid .choice-card.is-checked { background: var(--accent-soft); }
.choice-grid[aria-invalid="true"] .choice-card { border-color: var(--bad-border); }

.rota-mezun { margin-bottom: var(--sp-5); display: grid; gap: var(--sp-4); border-left: 4px solid var(--rota-c); min-width: 0; }
.rota-mezun-top { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: var(--sp-4); align-items: start; }
.rota-mezun-ico { width: 44px; height: 44px; border-radius: var(--radius-md); display: grid; place-items: center; background: color-mix(in srgb, var(--rota-c) 14%, transparent); color: var(--rota-c); }
.rota-mezun-ico svg { width: 24px; height: 24px; }
.rota-mezun h2 { font-size: var(--fs-lg); font-weight: 800; margin-bottom: 4px; overflow-wrap: anywhere; }
.rota-mezun-top p { color: var(--text-muted); font-size: 0.92rem; max-width: var(--measure); }
.rota-mezun-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: var(--sp-3); margin: 0; }
.rota-mezun-facts div { padding: 10px 12px; border-radius: var(--radius-md); background: var(--surface-2); border: 1px solid var(--border); min-width: 0; }
.rota-mezun-facts dt { font-size: var(--fs-12); font-weight: 700; color: var(--text-muted); margin-bottom: 2px; }
.rota-mezun-facts dd { font-weight: 800; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.rota-mezun-note { display: flex; gap: 10px; align-items: flex-start; font-size: 0.9rem; padding: 10px 12px; border-radius: var(--radius-md); background: var(--ok-bg); border: 1px solid var(--ok-border); overflow-wrap: anywhere; }
.rota-mezun-note svg { width: 18px; height: 18px; flex-shrink: 0; margin-top: 2px; color: var(--ok); }
.rota-mezun-note.is-warn { background: var(--warn-bg); border-color: var(--warn-border); }
.rota-mezun-note.is-warn svg { color: var(--warn); }
.rota-mezun-edit { font-size: 0.9rem; font-weight: 600; }
@media (max-width: 520px) { .rota-mezun-top { grid-template-columns: minmax(0, 1fr); gap: var(--sp-2); } .rota-mezun-ico { display: none; } }

.rota-uyari { margin-bottom: var(--sp-5); }
.rota-uyari strong { display: block; margin-bottom: 2px; }
.rota-uyari p { overflow-wrap: anywhere; margin-bottom: 6px; }
.rota-uyari .rs-foot { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; }
.panel-rota .rota-uyari { margin-bottom: var(--sp-4); }

.rs-kosul { display: flex; gap: 8px; align-items: flex-start; font-size: 0.85rem; font-weight: 600; color: var(--warn); overflow-wrap: anywhere; }
.rs-kosul svg { width: 16px; height: 16px; flex-shrink: 0; margin-top: 2px; }

@media print {
  .rota-mezun, .rota-uyari { box-shadow: none !important; break-inside: avoid; }
}
.rota-mezun-note.is-info { background: var(--info-bg); border-color: var(--info-border); }
.rota-mezun-note.is-info svg { color: var(--info); }

/* =====================================================================================
   Tur 10 · Mezun Menüsü (mezun.html) ve Panelim mezun kartı (Ajan 11)
   ===================================================================================== */
.mz-head h1 { max-width: 22ch; }
.mz-sec { margin-top: var(--sp-8); min-width: 0; }
.mz-h { display: flex; align-items: center; gap: 10px; font-size: var(--fs-lg); font-weight: 800; margin-bottom: var(--sp-4); }
.mz-h svg { width: 22px; height: 22px; color: var(--accent); flex-shrink: 0; }
.mz-lead { color: var(--text-muted); max-width: var(--measure); margin-bottom: var(--sp-4); }
.mz-routes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: var(--sp-4); }
.mz-route { display: flex; flex-direction: column; gap: var(--sp-2); text-decoration: none; color: inherit; border-top: 4px solid var(--rota-de, #b54708); transition: box-shadow .15s ease, transform .15s ease; min-width: 0; }
.mz-route[data-rota-kart="it"] { border-top-color: var(--rota-it, #067647); }
.mz-route:hover { box-shadow: var(--shadow-lg, var(--shadow-sm)); transform: translateY(-1px); }
.mz-route:focus-visible { box-shadow: var(--focus-ring); outline: none; }
.mz-route-top { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.mz-route-top strong { font-size: var(--fs-16); font-weight: 800; }
.mz-route-tag { font-size: var(--fs-12); font-weight: 700; color: var(--text-muted); background: var(--surface-2); border: 1px solid var(--border); padding: 1px 8px; border-radius: var(--radius-full); }
.mz-route-text { color: var(--text-muted); font-size: 0.92rem; }
.mz-route-go { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--accent); margin-top: auto; }
.mz-route-go svg { width: 16px; height: 16px; }
.mz-duyuru { padding: var(--sp-4) var(--sp-5); border-radius: var(--radius-lg); background: var(--info-bg); border: 1px solid var(--info-border); display: grid; gap: 6px; min-width: 0; }
.mz-duyuru + .mz-duyuru { margin-top: var(--sp-3); }
.mz-duyuru h3 { font-size: var(--fs-16); font-weight: 800; overflow-wrap: anywhere; }
.mz-duyuru p { overflow-wrap: anywhere; max-width: var(--measure); }
.mz-duyuru-top { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.mz-duyuru-son { display: inline-flex; font-size: var(--fs-12); font-weight: 800; color: var(--info); letter-spacing: 0.02em; }
.mz-tabs { margin-bottom: var(--sp-4); }
.mz-rozet { display: inline-flex; margin-left: 6px; padding: 0 7px; border-radius: var(--radius-full); font-size: 0.7rem; font-weight: 800; color: var(--warn); background: var(--warn-bg); border: 1px solid var(--warn-border); white-space: nowrap; }
.mz-ozet { margin-bottom: var(--sp-4); display: grid; gap: 6px; }
.mz-ozet-top { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.mz-ozet h3 { font-size: var(--fs-lg); font-weight: 800; }
.mz-ozet p { max-width: var(--measure); overflow-wrap: anywhere; }
.mz-ozet-not { font-size: 0.88rem; color: var(--warn); font-weight: 600; }
.mz-diger { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: var(--sp-3); }
.mz-diger li { padding: var(--sp-3) var(--sp-4); border-radius: var(--radius-md); background: var(--surface); border: 1px solid var(--border); display: grid; gap: 4px; min-width: 0; }
.mz-diger p { font-size: 0.9rem; color: var(--text-muted); overflow-wrap: anywhere; }
.mz-diger .sr-srcs { display: flex; flex-wrap: wrap; gap: 6px 12px; }
.mz-cta { margin-top: var(--sp-8); }
.sr-mezun { margin: var(--sp-4) 0; }
.sr-mezun > svg { color: var(--accent); }
.sr-mezun p { margin: 2px 0 8px; overflow-wrap: anywhere; }
/* Panelim */
.mz-panel { margin-bottom: var(--sp-5); border-left: 4px solid var(--info); }
.mz-panel-head { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--sp-3); flex-wrap: wrap; margin-bottom: var(--sp-3); }
.mz-panel-head h2 { font-size: var(--fs-16); font-weight: 800; }
.mz-panel-list { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--sp-3); }
.mz-panel-item { display: grid; gap: 4px; padding: 10px 12px; border-radius: var(--radius-md); background: var(--info-bg); border: 1px solid var(--info-border); min-width: 0; }
.mz-panel-item p { font-size: 0.9rem; overflow-wrap: anywhere; }
@media (prefers-reduced-motion: reduce) { .mz-route { transition: none; } .mz-route:hover { transform: none; } }
@media print { .mz-tabs, .mz-cta { display: none !important; } .mz-route, .mz-duyuru { box-shadow: none !important; break-inside: avoid; } }

/* =====================================================================================
   Tur 11 · Ülke şartları v2 (Ajan 11, 15 Ekim 2026; plan .agents/rules/tur11-ekran-plani.md §2–3)
   Seçici: model → sınıf → 15 ülke → dil · özet çubuğu · program durumu rozetleri · ilk 20 · genel yol haritası
   ===================================================================================== */
:root[data-rota="genel"] { --rota-c: var(--accent); }
.sr-picker-v2 { display: block; padding: var(--sp-5); }
.sr-adimlar { display: grid; gap: var(--sp-5); }
.sr-adimlar[hidden] { display: none; }
.sr-field2 { border: 0; margin: 0; padding: 0; min-width: 0; transition: opacity .15s ease; }
.sr-field2[hidden] { display: none; }
.sr-field2.is-soluk { opacity: .55; }
.sr-field2.is-soluk:focus-within, .sr-field2.is-soluk:hover { opacity: 1; }
.sr-leg { display: flex; align-items: center; gap: 8px; padding: 0; margin-bottom: var(--sp-3); font-size: var(--fs-16); font-weight: var(--fw-bold); color: var(--text); }
.sr-no { width: 24px; height: 24px; border-radius: 50%; display: inline-grid; place-items: center; font-size: var(--fs-12); font-weight: 800; background: var(--accent-soft); color: var(--accent); flex-shrink: 0; }
.sr-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); }
.sr-card, .sr-ulke { position: relative; display: flex; min-width: 0; cursor: pointer; }
.sr-card input, .sr-ulke input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.sr-card > span, .sr-ulke-in {
  flex: 1 1 auto; display: flex; flex-direction: column; gap: 2px; min-width: 0; padding: 12px 14px;
  border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.sr-card strong { font-size: var(--fs-16); }
.sr-card small { color: var(--text-muted); font-size: var(--fs-14); }
.sr-card:hover > span, .sr-ulke:hover .sr-ulke-in { border-color: var(--border-strong); }
.sr-card input:checked + span, .sr-ulke input:checked + .sr-ulke-in { border-color: var(--accent); background: var(--accent-soft); box-shadow: inset 0 0 0 1px var(--accent); }
.sr-card input:focus-visible + span, .sr-ulke input:focus-visible + .sr-ulke-in { box-shadow: var(--focus-ring); border-color: var(--accent); }
.sr-seg-sinif { max-width: 560px; }
.sr-seg-dil { max-width: 460px; }
.sr-opt input:disabled + span { opacity: .45; cursor: not-allowed; }
.sr-ulke-arac { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 16px; margin-bottom: var(--sp-2); }
.sr-yalniz { font-size: var(--fs-14); }
.sr-yalniz input:disabled + span { color: var(--text-dim); }
.sr-ulke-say { font-size: var(--fs-12); color: var(--text-dim); font-variant-numeric: tabular-nums; }
.sr-ulke-grup-h { font-size: var(--fs-12); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--text-dim); margin: var(--sp-3) 0 var(--sp-2); }
.sr-ulke-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: var(--sp-2); }
.sr-ulke[hidden] { display: none; }
.sr-ulke-in { gap: 6px; padding: 10px 12px; }
.sr-ulke-top { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0; }
.sr-ulke-top strong { font-size: var(--fs-16); overflow-wrap: anywhere; }
.sr-ulke-sub { font-size: var(--fs-12); color: var(--text-muted); overflow-wrap: anywhere; }
.sr-ulke-rota { font-weight: 700; color: var(--accent); }
.cc-rozet {
  display: inline-grid; place-items: center; min-width: 28px; height: 20px; padding: 0 4px; border-radius: var(--radius-xs);
  font-size: 0.7rem; font-weight: 800; letter-spacing: .04em; color: var(--text-muted); background: var(--surface-3); border: 1px solid var(--border); flex-shrink: 0;
}
.pd-rozet { display: inline-flex; align-items: center; gap: 5px; padding: 1px 8px; border-radius: var(--radius-full); font-size: 0.74rem; font-weight: 700; border: 1px solid; white-space: nowrap; }
.pd-rozet > span[aria-hidden] { font-size: .8em; }
.pd-ok { color: var(--ok); background: var(--ok-bg); border-color: var(--ok-border); }
.pd-warn { color: var(--warn); background: var(--warn-bg); border-color: var(--warn-border); }
.pd-bad { color: var(--bad); background: var(--bad-bg); border-color: var(--bad-border); }
.pd-muted { color: var(--text-muted); background: var(--surface-2); border-color: var(--border); }
/* Özet çubuğu (tam seçimde) */
.sr-ozetbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; }
.sr-ozetbar[hidden] { display: none; }
.sr-picker-v2:not(.is-kompakt) .sr-ozetbar { padding-bottom: var(--sp-4); margin-bottom: var(--sp-4); border-bottom: 1px solid var(--border); }
.sr-ozet-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin: 0; font-weight: var(--fw-semibold); min-width: 0; }
.sr-ozet-chip { display: inline-flex; align-items: center; gap: 6px; overflow-wrap: anywhere; }
.sr-ozet-ayrac { color: var(--text-dim); }
.sr-picker-v2.is-kompakt { padding: 10px var(--sp-4); }
@media (min-width: 900px) {
  .sr-picker-v2.is-kompakt { position: sticky; top: calc(var(--nav-h) + 8px); z-index: 20; }
}
.sr-summary h2 .cc-rozet { height: 24px; min-width: 34px; font-size: 0.8rem; }
.sr-summary h2 > span:not(.cc-rozet):not(.kesinlik) { min-width: 0; }
.sr-ozet-p { color: var(--text-muted); font-size: var(--fs-14); max-width: var(--measure); }
.sr-dil-gec { display: block; margin-top: 4px; padding: 0; border: 0; background: none; color: var(--accent); font-size: var(--fs-12); font-weight: 700; cursor: pointer; text-decoration: underline; }
.sr-band { margin: 0 0 var(--sp-4); }
.sr-band p { margin: 2px 0 8px; overflow-wrap: anywhere; max-width: var(--measure); }
.sr-band .sr-items { margin-top: 6px; }
.sr-duyurular { margin: var(--sp-6) 0; }
.sr-grid-ek { margin-top: var(--sp-4); }
.sr-sec-apEtkisi { --u-tone: var(--accent-violet); }
.sr-sec-burslar { --u-tone: var(--accent-teal); }
/* Hazırlanıyor (ülke dosyası yok) */
.sr-hazir { text-align: center; padding: var(--sp-8) var(--sp-5); margin-bottom: var(--sp-6); }
.sr-hazir h2 { font-size: var(--fs-22); margin-bottom: 6px; overflow-wrap: anywhere; }
.sr-hazir p { color: var(--text-muted); max-width: 60ch; margin: 0 auto var(--sp-4); }
/* İlk 20, dil sınavları, örnek programlar, YL ortak */
.sr-ilk20, .sr-sinav, .sr-ornek, .sr-ylortak { margin-top: var(--sp-8); scroll-margin-top: calc(var(--nav-h) + 16px); }
.sr-ilk20 .sr-sec-ico, .sr-sinav .sr-sec-ico, .sr-ornek .sr-sec-ico, .sr-ylortak .sr-sec-ico { --u-tone: var(--accent); }
.sr-ilk20-lead { font-size: var(--fs-14); color: var(--text-muted); display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; margin-bottom: var(--sp-3); }
.sr-uni-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: var(--sp-3); }
.sr-uni { display: flex; flex-direction: column; gap: 10px; align-items: stretch; padding: 14px 16px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); min-width: 0; transition: border-color var(--t-fast), box-shadow var(--t-fast); }
.sr-uni:hover { border-color: var(--accent); box-shadow: var(--shadow-sm); }
.sr-uni-top { display: flex; gap: 12px; align-items: flex-start; }
.sr-uni strong { display: block; overflow-wrap: anywhere; font-size: var(--fs-15); line-height: 1.35; }
.sr-uni-sira { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; flex-shrink: 0; font-weight: 800; font-size: var(--fs-14); background: var(--surface-3); color: var(--text); font-variant-numeric: tabular-nums; border: 1px solid var(--border); }
.sr-uni-sub { display: block; font-size: var(--fs-12); color: var(--text-muted); overflow-wrap: anywhere; margin-top: 2px; }
.sr-uni-dil { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }

/* Üniversite İsterleri & Ders İstasyonu (Tur 13) */
.sr-uni-reqs { display: flex; flex-direction: column; gap: 6px; padding-top: 8px; border-top: 1px dashed var(--border); font-size: var(--fs-12); }
.sr-req-row { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; }
.sr-req-label { font-weight: 700; color: var(--text-muted); min-width: 42px; }
.sr-req-badge { display: inline-flex; align-items: center; gap: 4px; padding: 2px 7px; border-radius: 999px; font-size: 11px; font-weight: 600; line-height: 1.3; }
.sr-req-badge.is-lang { background: var(--req-lang-bg); color: var(--req-lang-fg); border: 1px solid var(--req-lang-border); }
.sr-req-badge.is-stem { background: var(--req-stem-bg); color: var(--req-stem-fg); border: 1px solid var(--req-stem-border); }
.sr-req-badge.is-stem-more { background: var(--surface-3); color: var(--text-muted); border: 1px solid var(--border); }

.sr-req-toggle { display: inline-flex; align-items: center; justify-content: space-between; width: 100%; margin-top: 4px; padding: 6px 10px; font-size: 12px; font-weight: 700; color: var(--accent); background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-sm); cursor: pointer; transition: background var(--t-fast); }
.sr-req-toggle:hover { background: var(--surface-3); }
.sr-req-toggle[aria-expanded="true"] .sr-req-arrow { transform: rotate(180deg); }
.sr-req-arrow { transition: transform var(--t-fast); display: inline-block; font-size: 10px; }

/* Genişleyen Ders & Sınav İstasyonu Çekmecesi */
.sr-uni-drawer { margin-top: 8px; padding-top: 10px; border-top: 1px solid var(--border); }
.sr-drawer-inner { display: flex; flex-direction: column; gap: 12px; }
.sr-drawer-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.sr-drawer-head h4 { font-size: var(--fs-14); margin: 0 0 2px 0; color: var(--text); }
.sr-drawer-sub { font-size: 12px; color: var(--text-muted); margin: 0; }
.sr-drawer-close { flex-shrink: 0; }
.sr-drawer-special { display: flex; flex-direction: column; gap: 6px; }
.sr-special-card { background: rgba(245, 158, 11, 0.1); border: 1px solid rgba(245, 158, 11, 0.25); border-radius: var(--radius-sm); padding: 8px 10px; font-size: 12px; }
.sr-special-card strong { color: var(--req-special-fg); }
.sr-special-card p { margin: 2px 0 0 0; }

.sr-drawer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 768px) { .sr-drawer-grid { grid-template-columns: 1fr; } }
.sr-drawer-col { display: flex; flex-direction: column; gap: 8px; }
.sr-drawer-col-h { font-size: 11px; font-weight: 800; letter-spacing: 0.05em; color: var(--text-muted); margin: 0; padding-bottom: 4px; border-bottom: 1px solid var(--border); }
.sr-lesson-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.sr-lesson-card { background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 8px 10px; display: flex; flex-direction: column; gap: 6px; }
.sr-lesson-card.is-stem-card { border-left: 3px solid #10b989; }
.sr-lesson-top { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.sr-lesson-top strong { font-size: 13px; font-weight: 700; }
.sr-esik-pill, .sr-alan-pill { font-size: 10px; font-weight: 700; padding: 2px 6px; border-radius: 4px; background: var(--surface-3); color: var(--text-muted); }
.sr-lesson-desc { font-size: 11px; color: var(--text-muted); margin: 0; line-height: 1.35; }
.sr-lesson-actions { display: flex; flex-wrap: wrap; gap: 4px 6px; margin-top: 2px; }
.sr-lesson-actions .btn-sm { padding: 4px 8px; font-size: 11px; }
.sr-btn-deneme { border-color: rgba(16, 185, 129, 0.4); }
.sr-btn-deneme:hover { background: rgba(16, 185, 129, 0.1); color: #059669; }

.sr-ilk20-foot { margin-top: var(--sp-3); }
.sr-ilk20-foot a { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; }
.sr-ilk20-foot svg { width: 16px; height: 16px; }
.sr-yl-grup { border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); padding: 10px 14px; }
.sr-yl-grup + .sr-yl-grup { margin-top: var(--sp-2); }
.sr-yl-grup summary { cursor: pointer; font-weight: 700; display: flex; align-items: center; gap: 8px; }
.sr-yl-grup .sr-items { margin-top: var(--sp-3); }
.sr-road-head h2 .rs-tag { margin-left: 4px; }
.rs-tag-tahmin { color: var(--info); background: var(--info-bg); border-color: var(--info-border); }
@media (max-width: 640px) {
  .sr-picker-v2 { padding: var(--sp-3); }
  .sr-cards { grid-template-columns: minmax(0, 1fr); gap: var(--sp-2); }
  .sr-card > span { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; padding: 10px 12px; }
  .sr-seg-sinif .sr-opt > span { font-size: var(--fs-12); }
  .sr-ulke-grid { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .sr-ulke-in { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 4px 10px; padding: 8px 10px; }
  .sr-ulke-sub { flex-basis: 100%; }
  .sr-jump { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; -webkit-overflow-scrolling: touch; }
  .sr-jump .chip { flex-shrink: 0; }
}
@media (prefers-reduced-motion: reduce) { .sr-field2, .sr-card > span, .sr-ulke-in { transition: none; } }
@media print { .sr-picker-v2 { display: none !important; } .sr-uni, .sr-yl-grup { break-inside: avoid; } }

/* Tur 11 · Profil sihirbazı (4 adım) ve durum grubu */
.wizard-progress-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 480px) { .wizard-progress-4 li { font-size: 0.72rem; } }
.durum-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 110px), 1fr)); }
.ulke-choice-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); gap: var(--sp-2); }
.ulke-choice-grid .choice-card { padding-top: 10px; padding-bottom: 10px; }
.ulke-choice-grid .choice-body span { font-size: var(--fs-12); }
.field[hidden], .mezun-q[hidden], fieldset[hidden] { display: none; }

/* Tur 11 · Üniversiteler v2 (D3): ilk 20 tablosu, filtre çubuğu, katman başlıkları */
.country-tabs { overflow-x: auto; scrollbar-width: thin; }
.country-tabs .tab { flex-shrink: 0; }
.country-tabs .cc-rozet { margin-right: 4px; }
.uni-diger { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: calc(-1 * var(--sp-2)) 0 var(--sp-5); font-size: var(--fs-14); color: var(--text-muted); }
.uni-katman-h { font-size: var(--fs-18); font-weight: 800; margin: var(--sp-2) 0 var(--sp-3); overflow-wrap: anywhere; }
.uni-secilmis-yer > .uni-katman-h { margin-top: var(--sp-8); padding-top: var(--sp-6); border-top: 1px solid var(--border); }
.uni-filtre { display: flex; flex-wrap: wrap; gap: var(--sp-3) var(--sp-5); align-items: flex-end; padding: var(--sp-3) var(--sp-4); margin-bottom: var(--sp-4); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); }
.uni-filtre-grup { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.uni-filtre-ad { font-size: var(--fs-12); font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--text-dim); }
.uni-filtre .search-wrap { flex: 1 1 220px; min-width: 0; }
.uni-seg .sr-opt > span { min-height: 34px; padding: 6px 12px; }
.uni-tablo { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; font-size: var(--fs-14); }
.uni-tablo th, .uni-tablo td { padding: 10px 12px; text-align: left; vertical-align: top; border-top: 1px solid var(--border); }
.uni-tablo thead th { border-top: 0; background: var(--surface-2); font-size: var(--fs-12); text-transform: uppercase; letter-spacing: .04em; color: var(--text-muted); white-space: nowrap; }
.uni-tablo tbody th { font-weight: 400; min-width: 200px; }
.uni-tablo tbody th strong { display: block; overflow-wrap: anywhere; }
.uni-ayrinti summary { cursor: pointer; font-size: var(--fs-12); color: var(--accent); font-weight: 700; margin-top: 4px; }
.uni-ayrinti p { font-size: var(--fs-12); color: var(--text-muted); margin-top: 4px; max-width: 60ch; }
.uni-ayrinti .sr-meta { margin-top: 6px; }
.uni-sartlar-link { margin-top: var(--sp-5); }
@media (max-width: 760px) {
  .uni-tablo, .uni-tablo tbody, .uni-tablo tr, .uni-tablo td, .uni-tablo th { display: block; }
  .uni-tablo { border: 0; background: none; }
  .uni-tablo thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .uni-tablo tr { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 2px 10px; padding: 12px 14px; margin-bottom: var(--sp-2); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); }
  .uni-tablo td, .uni-tablo th { border: 0; padding: 2px 0; min-width: 0; }
  .uni-tablo tbody th { grid-column: 2; grid-row: 1; min-width: 0; }
  .uni-tablo td:first-child { grid-column: 1; grid-row: 1 / span 2; }
  .uni-tablo td:not(:first-child) { grid-column: 2; font-size: var(--fs-12); }
  .uni-tablo td:not(:first-child)::before { content: attr(data-etiket) ": "; color: var(--text-dim); font-weight: 700; }
}

/* Tur 11 · Panelim: üniversite mezununda AP bölümleri gizli; YL kartı */
.is-yl [data-ap-bolum] { display: none !important; }
.yl-panel { margin-bottom: var(--sp-5); border-left: 4px solid var(--accent); }
.yl-belgeler { list-style: none; margin: 0 0 var(--sp-3); padding: 0; display: grid; gap: var(--sp-2); }
.yl-belgeler small { display: block; color: var(--text-muted); font-size: var(--fs-12); }
.yl-dil { margin-top: var(--sp-2); }
.rota-genel-ozet { margin-bottom: var(--sp-5); border-top: 4px solid var(--rota-c); }
.rota-genel-ozet h2 { font-size: var(--fs-22); margin: 2px 0 6px; overflow-wrap: anywhere; }
.rota-genel-ozet p { color: var(--text-muted); font-size: var(--fs-14); max-width: var(--measure); margin-bottom: var(--sp-3); }
.rs-genel { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--sp-3); }
:root[data-rota]:not([data-rota="de"]):not([data-rota="it"]):not([data-rota=""]) { --rota-c: var(--accent); }
.rota-dot:not(.rota-dot-de):not(.rota-dot-it) { background: var(--accent); }

/* Tur 11 · PM K-B/K-D: doğrulanamayan üniversite satırı ve ülke özet uyarısı */
.uni-teyit { white-space: normal; margin-top: 4px; }
.uni-tablo tr.is-teyit { background: color-mix(in srgb, var(--warn-bg) 55%, var(--surface)); }
.ozet-uyari { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; font-size: var(--fs-14); color: var(--text); margin: 0 0 var(--sp-3); overflow-wrap: anywhere; }
.sr-ulke-uyari { font-size: var(--fs-12); font-weight: 600; color: var(--warn); overflow-wrap: anywhere; }
@media (max-width: 760px) { .country-tabs { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; } .country-tabs .tab { scroll-snap-align: start; white-space: nowrap; } }

/* =====================================================================================
   Tur 12 · Sınavlar v2 ve Yazışmalarım v2 (Ajan 11, 15 Ekim 2026; plan .agents/rules/tur12-ekran-plani.md)
   Seçim çubuğu (durum → sınıf → ülke → sınav dili) · modele göre sekme sırası · AP bandı · hazır teyit taslakları
   ===================================================================================== */
.sn-filtre {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-4) var(--sp-6); align-items: start;
  padding: var(--sp-4) var(--sp-5); margin-bottom: var(--sp-5); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
}
@media (min-width: 760px) { .sn-filtre { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.sn-grup { border: 0; margin: 0; padding: 0; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.sn-grup[hidden] { display: none; }
.sn-grup > legend { padding: 0; margin-bottom: 6px; }
.sn-grup.filter-field { align-items: stretch; flex: initial; }
.sn-grup.filter-field label { white-space: normal; }
.sn-grup .calc-select { width: 100%; min-height: 48px; }
.sn-seg .sr-opt > span { min-height: 38px; padding: 6px 10px; white-space: normal; text-align: center; line-height: 1.25; }
.sn-seg .sr-opt input:disabled + span { opacity: .45; cursor: not-allowed; }
.sn-dil-not { margin: 0; }
.sn-ozet { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; padding-top: var(--sp-3); border-top: 1px solid var(--border); }
.sn-ozet p { display: flex; align-items: flex-start; gap: 8px; margin: 0; font-size: var(--fs-14); color: var(--text-muted); min-width: 0; overflow-wrap: anywhere; }
.sn-ozet p:focus { outline: none; }
.sn-ozet p:focus-visible { box-shadow: var(--focus-ring); border-radius: var(--radius-sm); }
.sn-ozet svg { width: 16px; height: 16px; flex-shrink: 0; margin-top: 2px; color: var(--accent); }
.sn-ozet strong { color: var(--text); font-weight: var(--fw-semibold); }
.page-sinavlar .exam-toolbar .tabs { overflow-x: auto; scrollbar-width: thin; }
.page-sinavlar .exam-toolbar .tab { flex-shrink: 0; }
.page-sinavlar .tab[hidden] { display: none; }
.exam-pills { align-items: center; }
.pill-dil { font-weight: 700; }
.pill-yl { color: var(--accent-violet); border-color: color-mix(in srgb, var(--accent-violet) 35%, transparent); background: color-mix(in srgb, var(--accent-violet) 8%, var(--surface)); }
.pill-more { cursor: help; color: var(--text-muted); }
.exam-noprep { margin: auto 0 0; padding: 8px 10px; font-size: var(--fs-12); color: var(--text-muted); background: var(--surface-2); border-radius: var(--radius-sm); }
.exam-foot-r { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 4px 12px; min-width: 0; }
.exam-kontrol { font-size: var(--fs-12); color: var(--text-dim); font-variant-numeric: tabular-nums; }
.sn-ap-band { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin-top: var(--sp-5); padding: var(--sp-3) var(--sp-4); border: 1px dashed var(--border-strong); border-radius: var(--radius-md); background: var(--surface-2); font-size: var(--fs-14); color: var(--text-muted); }
.sn-ap-band[hidden] { display: none; }
.sn-ap-band p { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.sn-ap-band strong { color: var(--text); }
.sn-sartlar-link { margin-top: var(--sp-5); }
.sn-sartlar-link a { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; }
.sn-sartlar-link svg { width: 16px; height: 16px; }
@media (max-width: 640px) {
  .sn-filtre { padding: var(--sp-3); gap: var(--sp-3); }
  .sn-seg .sr-opt > span { padding: 6px 4px; font-size: var(--fs-12); }
  .page-sinavlar .exam-toolbar .tabs { flex-wrap: nowrap; overflow-x: visible; }
  .page-sinavlar .exam-toolbar .tab { flex: 1 1 0; min-width: 0; white-space: normal; padding: 6px 6px; font-size: var(--fs-12); line-height: 1.25; text-align: center; }
  .exam-foot-r { justify-content: flex-start; }
}

/* Yazışmalarım v2: süzgeç çubuğu + hazır teyit taslakları */
.yz-filtre { margin-bottom: var(--sp-5); }
.yz-filtre .sn-grup-model { max-width: 640px; }
.yz-bolum-h { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.yz-say { white-space: nowrap; font-size: var(--fs-12); font-weight: 700; color: var(--text-dim); font-variant-numeric: tabular-nums; }
.tt-grup + .tt-grup { margin-top: var(--sp-6); }
.tt-grup-h { display: flex; align-items: center; gap: 8px; font-size: var(--fs-16); font-weight: 800; margin: 0 0 var(--sp-3); overflow-wrap: anywhere; }
/* Taslak kartı .tpl-card görünümünü paylaşır ama ayrı sınıftır (şablon kartı seçicileri ve testleri etkilenmez) */
.tt-card { display: flex; flex-direction: column; gap: 10px; min-width: 0; padding: var(--sp-5); background: var(--surface); border: 1px solid var(--border); border-left: 4px solid var(--accent-violet); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); transition: var(--transition); }
.tt-card.is-selected { border-color: var(--accent); box-shadow: var(--focus-ring); }
.tt-card h3 { font-size: 1rem; font-weight: 800; }
.tt-card .tt-kime { font-weight: 700; font-size: var(--fs-14); overflow-wrap: anywhere; }
.tt-card .tt-konu { font-size: var(--fs-14); color: var(--text); overflow-wrap: anywhere; }
.tt-onizle { margin: 0; font-size: var(--fs-12); color: var(--text-muted); white-space: pre-line; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.tt-tam summary { cursor: pointer; font-size: var(--fs-12); font-weight: 700; color: var(--accent); }
.tt-tam pre { margin: 8px 0 0; padding: 10px 12px; max-height: 320px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; font-size: var(--fs-12); background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-sm); }
.tt-adres { display: flex; align-items: flex-start; gap: 6px; font-size: var(--fs-12); overflow-wrap: anywhere; }
.tt-adres svg { width: 14px; height: 14px; flex-shrink: 0; margin-top: 2px; }
.tt-adres.is-ok { color: var(--ok); }
.tt-adres.is-warn { color: var(--warn); }
.tt-adres.is-muted { color: var(--text-muted); }
.tt-adres code { font-size: inherit; }
.tt-foot { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; }
.tt-foot > * { flex: 1 1 140px; }
.tt-durum { min-height: 1.2em; margin: 0; font-size: var(--fs-12); color: var(--ok); }
.yz-bos-ulke { text-align: left; }
@media print { .sn-filtre, .yz-filtre, .tt-foot { display: none !important; } .tt-card { break-inside: avoid; } }
.pill-ulkeler { display: contents; }

/* ==========================================================================
   32. TUR 14 — ÖĞRENCİ ODAKLI EKRAN (Ajan 11, plan .agents/rules/tur14-ogrenci-odakli-ekran-plani.md)
   A1: 5 öğeli menü (Bugün · Hedefim · Çalış · Başvuru · Ben), bölünmüş öğe, altbilgi Rehberler satırı.
   Yalnızca token renkleri; açık/koyu tema; 360 px'te yatay taşma yok.
   ========================================================================== */

/* 32.1 Bölünmüş menü öğesi: etiket bağlantısı + ok düğmesi tek kapsül gibi görünür */
.nav-links > li.nav-split { display: flex; align-items: center; }
.nav-split .nav-split-link { padding-right: 6px; border-top-right-radius: 0; border-bottom-right-radius: 0; }
.nav-split .nav-split-btn { padding: 8px 6px; border-top-left-radius: 0; border-bottom-left-radius: 0; }
.nav-split .nav-split-btn .nav-caret { width: 14px; height: 14px; }
.nav-split .nav-split-btn[aria-expanded="true"] .nav-caret { transform: rotate(180deg); }
.nav-split:hover .nav-link:not(.active) { background: var(--surface-2); color: var(--text); }
.nav-links > li.is-active > .nav-link { color: var(--accent); background: var(--accent-soft); }
.nav-links { gap: 4px; }

/* Orta genişlik (761–1100 px): 5 öğe tek satıra sığsın — marka alt başlığı ve danışman metni gizlenir */
@media (max-width: 1100px) and (min-width: 761px) {
  .navbar .nav-brand .brand-title { display: none; }
  .navbar .btn-consult { width: 38px; height: 38px; padding: 0; justify-content: center; }
  .navbar .btn-consult .consult-ico { display: block; }
  .navbar .btn-consult span { display: none; }
  .account-name { display: none; }
  .nav-link { padding: 8px 8px; }
}

/* Dar ekran (≤ 760 px, hamburger; A2'de alt gezinmeye döner): bölünmüş öğe satırı + girintili alt liste */
@media (max-width: 760px) {
  .nav-links > li.nav-split { display: grid; grid-template-columns: 1fr auto; align-items: center; }
  .nav-links > li.nav-split > .nav-dropdown { grid-column: 1 / -1; }
  .nav-split .nav-split-link { width: 100%; }
  .nav-split .nav-split-btn { width: 44px; height: 44px; justify-content: center; }
}

/* 32.2 Altbilgi: Rehberler satırı (üst menüden taşındı) */
.footer-rehber {
  max-width: var(--content-max); margin: 0 auto var(--sp-5); padding-bottom: var(--sp-4);
  border-bottom: 1px solid var(--border);
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px;
}
.footer-rehber-title { font-size: var(--fs-12); font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-dim); }
.footer-rehber ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 4px; }
.footer-rehber a {
  display: inline-flex; align-items: center; min-height: 32px; padding: 4px 10px; border-radius: var(--radius-full);
  font-size: var(--fs-14); font-weight: 600; color: var(--text-muted); text-decoration: none; border: 1px solid var(--border);
  background: var(--surface);
}
.footer-rehber a:hover { color: var(--accent); border-color: var(--accent); }
.footer-rehber a[aria-current="page"] { color: var(--accent); background: var(--accent-soft); border-color: transparent; }
.footer-mini { margin-top: var(--sp-10); }
.footer-mini .footer-rehber { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
@media print { .footer-rehber { display: none !important; } }
@media (max-width: 760px) { .navbar .nav-links > li:not(.nav-split) > button.nav-link { justify-content: space-between; } }

/* 32.3 Telefon alt gezinme (A2, ≤ 760 px): 5 öğe, ikon + kısa etiket, 56 px + güvenli alan.
   Üst çubukta yalnız logo + tema + hesap kalır. Sabit öğeler alttan --bottom-nav-h kadar yukarıda durur. */
.bottom-nav, .bn-sheet { display: none; }
@media (max-width: 760px) {
  body.has-bottom-nav { padding-bottom: calc(var(--bottom-nav-h) + env(safe-area-inset-bottom, 0px)); }
  html:has(body.has-bottom-nav) { scroll-padding-bottom: calc(var(--bottom-nav-h) + 16px); }
  .has-bottom-nav .navbar .nav-links, .has-bottom-nav .nav-menu-btn { display: none !important; }
  .has-bottom-nav .navbar { flex-wrap: nowrap; }
  .bottom-nav {
    display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 95;
    padding-bottom: env(safe-area-inset-bottom, 0px);
    background: color-mix(in srgb, var(--surface) 96%, transparent);
    -webkit-backdrop-filter: saturate(1.4) blur(10px); backdrop-filter: saturate(1.4) blur(10px);
    border-top: 1px solid var(--border);
    box-shadow: 0 -4px 16px rgba(15, 23, 42, 0.06);
  }
  .bottom-nav ul { list-style: none; margin: 0; padding: 0 4px; display: grid; grid-template-columns: repeat(var(--bn-n, 5), minmax(0, 1fr)); height: var(--bottom-nav-h); }
  .bn-item {
    width: 100%; height: 100%; min-height: 44px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
    background: none; border: 0; padding: 4px 2px; cursor: pointer; font: inherit; text-decoration: none;
    color: var(--text-muted); -webkit-tap-highlight-color: transparent;
  }
  .bn-ico { display: grid; place-items: center; width: 52px; height: 28px; border-radius: var(--radius-full); transition: background-color .15s ease; }
  .bn-ico svg { width: 22px; height: 22px; }
  .bn-label { font-size: 0.6875rem; font-weight: 700; line-height: 1.1; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; letter-spacing: 0.01em; }
  .bn-item:hover { color: var(--text); }
  .bn-item[aria-current="page"], .bn-item[aria-expanded="true"] { color: var(--accent); }
  .bn-item[aria-current="page"] .bn-ico, .bn-item[aria-expanded="true"] .bn-ico { background: var(--accent-soft); }
  .bn-item:focus-visible { outline: 2px solid var(--accent); outline-offset: -4px; border-radius: var(--radius-md); }

  .bn-sheet:not([hidden]) {
    display: block; position: fixed; left: 8px; right: 8px; z-index: 96;
    bottom: calc(var(--bottom-nav-h) + env(safe-area-inset-bottom, 0px) + 8px);
    max-height: calc(100vh - var(--nav-h) - var(--bottom-nav-h) - 32px); max-height: calc(100dvh - var(--nav-h) - var(--bottom-nav-h) - 32px);
    overflow-y: auto; overscroll-behavior: contain;
    background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg);
    padding: 6px 6px 8px;
  }
  .bn-sheet-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 6px 8px 10px; border-bottom: 1px solid var(--border); margin-bottom: 4px; }
  .bn-sheet-head strong { font-size: var(--fs-16); }
  .bn-sheet-close .ico { width: 18px; height: 18px; }
  .bn-sheet-list { list-style: none; margin: 0; padding: 0; }
  .bn-sheet-list a { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 8px 10px; border-radius: var(--radius-sm); color: var(--text); text-decoration: none; font-size: var(--fs-14); font-weight: 600; }
  .bn-sheet-list a:hover { background: var(--surface-2); }
  .bn-sheet-list a[aria-current="page"] { background: var(--accent-soft); color: var(--accent); }
  .bn-sheet-list .nav-dd-label { padding: 10px 10px 4px; }
  .bn-sheet-list li + .nav-dd-label { margin-top: 4px; border-top: 1px solid var(--border); padding-top: 10px; }
  /* Ziyaretçi: üst çubukta "Giriş yap" kalır; "Kayıt ol" alt gezinmede */
  .has-bottom-nav .nav-guest-mobile { display: none !important; }
}
@media (max-width: 760px) and (prefers-reduced-motion: no-preference) {
  .bn-sheet:not([hidden]) { animation: bn-sheet-in .14s ease-out; }
  @keyframes bn-sheet-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
}
@media print { .bottom-nav, .bn-sheet { display: none !important; } body.has-bottom-nav { padding-bottom: 0; } }

/* 32.4 Bugün ekranı (A3, index.html): Sıradaki adım + Yaklaşan tarihler + Devam et; rota özeti, dersler, ikincil grup */
.bugun-hello { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 8px 24px; margin-bottom: var(--sp-5); }
.bugun-hello h1 { font-size: var(--fs-2xl); font-weight: 800; letter-spacing: -0.02em; margin: 2px 0 8px; overflow-wrap: anywhere; }
.bugun-hello .pill-row { margin: 0; }
.bugun-hello-links { margin: 0; font-size: var(--fs-14); color: var(--text-dim); }
.bugun-hello-links a { color: var(--text-muted); }

.bugun-serit {
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-bottom: var(--sp-4);
  padding: 10px 14px; border: 1px solid var(--info-border); background: var(--info-bg); color: var(--text);
  border-radius: var(--radius-md); font-size: var(--fs-14);
}
.bugun-serit svg { width: 18px; height: 18px; color: var(--info); flex-shrink: 0; }
.bugun-serit strong { font-weight: 700; }
.bugun-serit a { margin-left: auto; font-weight: 700; white-space: nowrap; }

.bugun-ust { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: var(--sp-5); margin-bottom: var(--sp-5); }
@media (max-width: 900px) { .bugun-ust { grid-template-columns: minmax(0, 1fr); gap: var(--sp-4); } }

/* Sıradaki adım: tek kart, tek birincil düğme */
.bugun-siradaki { position: relative; overflow: hidden; border-top: 4px solid var(--accent); display: flex; }
.bugun-siradaki .next-step { background: none; border: 0; padding: 0; border-radius: 0; display: flex; flex-direction: column; gap: 6px; width: 100%; }
.sa-kicker { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-12); font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent); }
.sa-kicker svg { width: 16px; height: 16px; }
.sa-tur { display: inline-block; padding: 2px 8px; border-radius: var(--radius-full); background: var(--surface-3); color: var(--text-muted); font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.02em; text-transform: none; }
.bugun-siradaki h2 { font-size: var(--fs-22, 1.375rem); font-weight: 800; line-height: 1.25; letter-spacing: -0.01em; overflow-wrap: anywhere; margin: 2px 0 0; }
.bugun-siradaki .sa-meta { color: var(--text-muted); font-size: var(--fs-14); margin: 0; overflow-wrap: anywhere; }
.sa-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-top: auto; padding-top: var(--sp-3); }
.sa-actions .btn-primary { min-height: 44px; padding-left: 20px; padding-right: 20px; }
.sa-neden { font-size: var(--fs-14); color: var(--text-muted); }
.sa-neden summary { cursor: pointer; font-weight: 600; color: var(--text-muted); list-style: none; display: inline-flex; align-items: center; gap: 4px; min-height: 32px; }
.sa-neden summary::-webkit-details-marker { display: none; }
.sa-neden summary::after { content: "▾"; font-size: 0.8em; }
.sa-neden[open] summary::after { content: "▴"; }
.sa-neden p { margin: 4px 0 0; max-width: 60ch; }
@media (max-width: 560px) { .sa-actions .btn-primary { width: 100%; justify-content: center; } }

/* Yaklaşan tarihler */
.bugun-yaklasan { display: flex; flex-direction: column; min-width: 0; }
.bugun-kart-h { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-bottom: var(--sp-3); }
.bugun-kart-h h2 { font-size: var(--fs-16); font-weight: 800; }
.bugun-kart-h a { font-size: var(--fs-14); font-weight: 700; white-space: nowrap; }
.yt-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.yt-item a { display: flex; align-items: center; gap: 12px; padding: 8px; margin: 0 -8px; border-radius: var(--radius-md); color: var(--text); text-decoration: none; min-height: 52px; }
.yt-item a:hover { background: var(--surface-2); }
.yt-tarih {
  flex-shrink: 0; width: 52px; display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 4px 0; border-radius: var(--radius-sm); border: 1px solid var(--border); background: var(--surface-2); line-height: 1.1;
}
.yt-tarih b { font-size: 1.05rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.yt-tarih small { font-size: 0.6875rem; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.04em; }
.yt-item.is-ay .yt-tarih b { font-size: 0.8rem; letter-spacing: 0.04em; }
.yt-govde { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.yt-govde strong { font-size: var(--fs-14); font-weight: 700; overflow-wrap: anywhere; line-height: 1.3; }
.yt-govde span { font-size: var(--fs-12); color: var(--text-muted); }
.yt-item.is-yakin .yt-tarih { border-color: var(--warn-border); background: var(--warn-bg); color: var(--warn); }
.yt-item.is-yakin .yt-tarih small { color: var(--warn); }
.yt-bos { color: var(--text-muted); font-size: var(--fs-14); margin: 0; }
.yt-not { margin: var(--sp-3) 0 0; font-size: var(--fs-12); color: var(--text-dim); }

/* Devam et satırı: üç küçük kart */
.bugun-devam { margin-bottom: var(--sp-6); }
.bugun-devam-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-4); }
@media (max-width: 900px) { .bugun-devam-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .bugun-devam-grid > :first-child { grid-column: 1 / -1; } }
@media (max-width: 420px) { .bugun-devam-grid { gap: var(--sp-3); } }
.dv-kart { display: flex; flex-direction: column; gap: 6px; min-width: 0; padding: var(--sp-4); }
.dv-kart h3 { font-size: var(--fs-12); font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-dim); margin: 0; }
.dv-kart .dv-ana { font-size: var(--fs-16); font-weight: 800; overflow-wrap: anywhere; line-height: 1.3; }
.dv-kart .dv-alt { font-size: var(--fs-12); color: var(--text-muted); overflow-wrap: anywhere; }
.dv-kart .dv-git { margin-top: auto; padding-top: 6px; font-size: var(--fs-14); font-weight: 700; }
.dv-cubuk { height: 6px; border-radius: var(--radius-full); background: var(--surface-3); overflow: hidden; }
.dv-cubuk > span { display: block; height: 100%; width: var(--w, 0%); background: var(--accent); border-radius: inherit; }
.dv-sayi { font-size: 1.6rem; font-weight: 800; font-variant-numeric: tabular-nums; line-height: 1.1; }
.dv-kart.is-uyari .dv-sayi { color: var(--bad); }
.dv-kart.is-iyi .dv-sayi { color: var(--ok); }
.bugun-devam .last-exam { margin: 0; }
.bugun-devam .last-exam h3 { font-size: var(--fs-12); }

/* Rota özeti daraltılmış: 3 adım */
.bugun .panel-rota { margin-bottom: var(--sp-6); }

/* İkincil grup */
.bugun .dash-more > .dash-more-h { font-size: var(--fs-18); margin-bottom: var(--sp-5); }
.bugun .dash-more .mz-panel, .bugun .dash-more .yl-panel { margin-bottom: var(--sp-6); }
@media print { .sa-actions, .yt-tumu { display: none !important; } }
.bugun-serit[hidden], .yt-not[hidden] { display: none !important; }

/* 32.5 Hedefim alanı (A4, plan §2.3-B): ortak sekme çubuğu · üniversite kartı eylemleri · Şartlar'da üniversite bağlantı kartı · kişisel paneller */
.hedefim-bar { display: flex; align-items: center; flex-wrap: wrap; gap: var(--sp-2) var(--sp-3); margin: 0 0 var(--sp-5); }
.hedefim-ad { font-size: var(--fs-12); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--text-dim); }
.hedefim-tabs { list-style: none; margin: 0; padding: 4px; display: inline-grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 4px; background: var(--surface-3); border: 1px solid var(--border); border-radius: var(--radius-full); max-width: 100%; }
.hedefim-tab { display: flex; align-items: center; justify-content: center; min-height: 36px; padding: 6px 18px; border-radius: var(--radius-full); color: var(--text-muted); font-weight: 700; font-size: var(--fs-14); text-decoration: none; white-space: nowrap; transition: background-color var(--t-fast), color var(--t-fast); }
.hedefim-tab:hover { color: var(--text); background: color-mix(in srgb, var(--surface) 55%, transparent); text-decoration: none; }
.hedefim-tab[aria-current="page"] { background: var(--surface); color: var(--accent); box-shadow: var(--shadow-sm); }
.hedefim-tab:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
@media (max-width: 760px) {
  .hedefim-bar { margin-bottom: var(--sp-4); }
  .hedefim-ad { display: none; }
  .hedefim-tabs { display: grid; width: 100%; }
  .hedefim-tab { min-height: 44px; padding: 6px 8px; }
}

/* Üniversite kartı eylemleri: çekmece düğmesi + İlk e-posta + Listeme ekle tek satırda (dar ekranda sarar, ≥ 44 px) */
.sr-uni-eylem { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 4px; }
.sr-uni-eylem .sr-req-toggle { width: auto; flex: 1 1 180px; margin-top: 0; }
.uni-eylem { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; font-size: var(--fs-12); font-weight: 700; white-space: nowrap; }
.uni-eylem svg { width: 15px; height: 15px; flex-shrink: 0; }
.uni-listem[aria-pressed="true"] { color: var(--warn); border-color: var(--warn-border); background: var(--warn-bg); }
.uni-listem[aria-pressed="true"] svg { fill: currentColor; }
.uni-eylem.is-kilitli { color: var(--text-muted); }
.uni-eylem-not { font-size: var(--fs-12); color: var(--text-dim); }
.uni-listem-filtre { align-self: center; font-size: var(--fs-14); white-space: nowrap; }
@media (max-width: 760px) {
  .uni-eylem, .sr-uni-eylem .sr-req-toggle { min-height: 44px; }
  .sr-uni-eylem .sr-req-toggle { flex: 1 1 100%; }
  .sr-uni-eylem .uni-eylem { flex: 1 1 100px; justify-content: center; }
  .sr-uni-eylem .uni-eylem-not { flex: 1 1 100%; text-align: center; }
}

/* universiteler.html: "kabul nasıl işler?" açılır bölümleri (listenin altında) */
.uni-nasil { margin-top: var(--sp-8); }
.uni-nasil-links { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 6px 18px; }
.cs-acilir { border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); padding: 0; margin-bottom: var(--sp-3); }
.cs-acilir > summary { display: flex; align-items: center; gap: var(--sp-2); padding: 12px 16px; cursor: pointer; list-style: none; min-height: 48px; }
.cs-acilir > summary::-webkit-details-marker { display: none; }
.cs-acilir > summary h3 { margin: 0; font-size: var(--fs-16); }
.cs-acilir > summary::after { content: ""; margin-left: auto; width: 8px; height: 8px; border-right: 2px solid var(--text-muted); border-bottom: 2px solid var(--text-muted); transform: rotate(45deg); transition: transform var(--t-fast); flex-shrink: 0; }
.cs-acilir[open] > summary::after { transform: rotate(-135deg); }
.cs-acilir > summary:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; border-radius: var(--radius-md); }
.cs-acilir-govde { padding: 0 16px 16px; }

/* sartlar.html: "En iyi 20" listesi yerine Üniversiteler sekmesine bağlantı kartı */
.sr-uni-kart { display: flex; gap: var(--sp-4); align-items: flex-start; padding: var(--sp-4); background: var(--surface); border: 1px solid var(--border); border-left: 4px solid var(--accent); border-radius: var(--radius-md); margin-bottom: var(--sp-3); }
.sr-uni-kart-say { display: grid; place-items: center; min-width: 64px; padding: 8px 6px; border-radius: var(--radius-md); background: var(--accent-soft); color: var(--accent); line-height: 1.1; text-align: center; }
.sr-uni-kart-say b { font-size: var(--fs-28); font-weight: 800; font-variant-numeric: tabular-nums; }
.sr-uni-kart-say small { font-size: var(--fs-12); font-weight: 700; }
.sr-uni-kart-govde { display: grid; gap: 4px; min-width: 0; }
.sr-uni-kart-govde strong { font-size: var(--fs-18); }
.sr-uni-kart-govde > span { color: var(--text-muted); font-size: var(--fs-14); overflow-wrap: anywhere; }
.sr-uni-kart-ilk { font-size: var(--fs-12) !important; color: var(--text-dim) !important; }
.sr-uni-kart .sr-ilk20-foot { margin: 6px 0 0; }
.sr-uni-kart .sr-ilk20-foot svg { width: 16px; height: 16px; }
@media (max-width: 560px) { .sr-uni-kart { flex-direction: column; } .sr-uni-kart .sr-ilk20-foot a { width: 100%; justify-content: center; min-height: 44px; } }

/* sartlar.html: kişisel paneller (önceden Bugün ekranında) — kapalı açılır kart, Bugün şeridindeki çapa açar */
.sr-kisisel { display: grid; gap: var(--sp-3); margin-bottom: var(--sp-5); }
.sr-kisisel-panel { padding: 0; margin: 0; scroll-margin-top: calc(var(--nav-h, 64px) + 80px); }
.sr-kisisel-panel > summary { display: flex; align-items: center; gap: var(--sp-3); padding: 14px 16px; cursor: pointer; list-style: none; }
.sr-kisisel-panel > summary::-webkit-details-marker { display: none; }
.sr-kisisel-panel > summary:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; border-radius: var(--radius-lg); }
.sr-kisisel-ico { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--surface-3); color: var(--accent); flex-shrink: 0; }
.sr-kisisel-ico svg { width: 18px; height: 18px; }
.sr-kisisel-baslik { display: grid; gap: 2px; flex: 1; }
.sr-kisisel-baslik h2 { font-size: var(--fs-16); font-weight: 800; margin: 0; overflow-wrap: anywhere; }
.sr-kisisel-alt { font-size: var(--fs-12); color: var(--text-muted); overflow-wrap: anywhere; }
.sr-kisisel-bar { display: block; height: 6px; max-width: 280px; border-radius: var(--radius-full); background: var(--surface-3); overflow: hidden; margin-top: 4px; }
.sr-kisisel-bar > span { display: block; height: 100%; width: 0; background: var(--ok); border-radius: inherit; transition: width var(--t-fast); }
.sr-kisisel-ok { width: 9px; height: 9px; border-right: 2px solid var(--text-muted); border-bottom: 2px solid var(--text-muted); transform: rotate(45deg); transition: transform var(--t-fast); flex-shrink: 0; margin-right: 4px; }
.sr-kisisel-panel[open] .sr-kisisel-ok { transform: rotate(-135deg); }
.sr-kisisel-govde { padding: 0 16px 16px; }
.sr-kisisel-foot { margin: var(--sp-3) 0 0; font-size: var(--fs-14); }
@media print { .hedefim-bar, .uni-eylem, .uni-eylem-not, .uni-listem-filtre { display: none !important; } .sr-kisisel-panel:not([open]) { display: none; } }
@media (prefers-reduced-motion: reduce) { .hedefim-tab, .cs-acilir > summary::after, .sr-kisisel-ok, .sr-kisisel-bar > span { transition: none; } }
/* Hedefim sayfalarında başlık sıkı (liste ilk ekrana gelsin) */
.hedefim-bar ~ .page-head { margin-bottom: var(--sp-5); padding-bottom: var(--sp-4); }
.uni-diger .calc-select { width: auto; flex: 0 1 280px; min-width: 0; max-width: 100%; }
@media (max-width: 560px) {
  /* Telefonda üniversite listesi ilk ekrana yaklaşsın: açıklama paragrafı kartların içinde zaten var */
  #uni-lead { display: none; }
  .hedefim-bar ~ .page-head h1 { font-size: 1.5rem; margin-bottom: 0; }
  .uni-diger { margin-top: 0; }
  .uni-diger label { flex: 0 0 auto; }
  .uni-diger .calc-select { flex: 1 1 140px; }
}

/* 32.6 Başvuru (A5, yazismalar.html): Son tarihler şeridi · üç sekme · Üniversiteye ilk e-posta (Ajan 14 Faz 2) */
.yz-head { margin-bottom: var(--sp-5); padding-bottom: var(--sp-4); }
.son-tarihler { margin-bottom: var(--sp-4); padding: var(--sp-4); }
.son-tarihler:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.st-head { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 4px var(--sp-3); margin-bottom: var(--sp-3); }
.st-head h2 { font-size: var(--fs-16); font-weight: 800; margin: 0; }
.st-links { margin: 0; font-size: var(--fs-14); }
.st-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); gap: var(--sp-2); }
.st-item a { display: flex; gap: 10px; align-items: center; padding: 8px 10px; min-height: 52px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-2); color: var(--text); text-decoration: none; height: 100%; }
.st-item a:hover { border-color: var(--accent); }
.st-item a:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.st-item .yt-tarih { flex-shrink: 0; }
.st-item.is-yakin a { border-color: var(--warn-border); background: var(--warn-bg); }
.st-govde { display: grid; gap: 2px; min-width: 0; }
.st-govde strong { font-size: var(--fs-14); line-height: 1.3; overflow-wrap: anywhere; }
.st-govde > span { font-size: var(--fs-12); color: var(--text-muted); }
.st-bos { grid-column: 1 / -1; font-size: var(--fs-14); color: var(--text-muted); }
.st-gecmis { margin-top: var(--sp-3); padding-top: var(--sp-3); border-top: 1px dashed var(--border); }
.st-gecmis-h { font-size: var(--fs-12); font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--text-dim); margin: 0 0 6px; }
.st-gecmis-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.st-gecmis-list li { display: flex; gap: 10px; align-items: flex-start; font-size: var(--fs-14); }
.st-doldu { flex-shrink: 0; font-size: var(--fs-12); font-weight: 700; padding: 2px 8px; border-radius: var(--radius-full); background: var(--surface-3); color: var(--text-muted); border: 1px solid var(--border); }
.st-gecmis-govde { display: grid; gap: 1px; min-width: 0; color: var(--text-muted); }
.st-gecmis-govde strong { color: var(--text); font-weight: 600; overflow-wrap: anywhere; }
.st-gecmis-govde > span { font-size: var(--fs-12); }
.st-not { margin: var(--sp-2) 0 0; }

.yz-sekmeler { margin: var(--sp-5) 0 var(--sp-5); }
.yz-sekmeler .tab { white-space: nowrap; }
.yz-panel:focus, .ie:focus { outline: none; }

/* İlk e-posta */
.ie-secim { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr) minmax(0, 1.4fr) auto; gap: var(--sp-3) var(--sp-4); align-items: start; padding: var(--sp-4); margin-bottom: var(--sp-4); }
.ie-secim .field { margin: 0; min-width: 0; }
.ie-secim label, .ie-secim legend { font-weight: 700; font-size: var(--fs-14); margin-bottom: 4px; display: block; }
.ie-secim .calc-select, .ie-secim .text-input { width: 100%; min-width: 0; }
.ie-istege { font-weight: 400; color: var(--text-dim); }
.ie-amac { border: 0; padding: 0; }
.ie-amac .sr-seg { display: inline-flex; }
#ie-takip-wrap { grid-column: 1 / -1; max-width: 320px; }
.ie-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(280px, 1fr); gap: var(--sp-4); align-items: start; }
.ie-onizleme { grid-column: 1; grid-row: 1; padding: var(--sp-4); min-width: 0; }
.ie-kontrol { grid-column: 2; grid-row: 1; padding: var(--sp-4); position: sticky; top: calc(var(--nav-h, 64px) + 12px); min-width: 0; }
.ie-onizleme-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: var(--sp-3); }
.ie-h { font-size: var(--fs-16); font-weight: 800; margin: 0; }
.ie-kontrol .ie-h { margin-bottom: var(--sp-2); }
.ie-blok { padding: var(--sp-3) 0; border-top: 1px solid var(--border); margin: 0; }
.ie-blok:first-of-type { border-top: 0; padding-top: 0; }
.ie-blok[hidden] { display: none; }
.ie-alt-h { font-size: var(--fs-12); font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--text-dim); margin: 0 0 6px; display: flex; align-items: center; gap: 6px; }
.ie-alici, .ie-kelime { display: flex; gap: 8px; align-items: flex-start; margin: 0; font-size: var(--fs-14); }
.ie-alici svg, .ie-kelime svg, .ie-uyari-list svg, .ie-hatirlat svg { width: 18px; height: 18px; flex-shrink: 0; margin-top: 1px; }
.ie-alici > span { display: grid; gap: 4px; min-width: 0; overflow-wrap: anywhere; }
.ie-alici code { font-size: var(--fs-14); word-break: break-all; }
.ie-alici.is-ok svg, .ie-kelime.is-ok svg { color: var(--ok); }
.ie-alici.is-warn svg, .ie-kelime.is-warn svg, .ie-uyari-list svg { color: var(--warn); }
.ie-kelime.is-warn { color: var(--warn); }
.ie-uyari-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: var(--fs-14); }
.ie-uyari-list li { display: flex; gap: 8px; align-items: flex-start; }
#ie-not p { font-size: var(--fs-14); color: var(--text-muted); margin: 0; }
.ie-hatirlat { display: flex; gap: 8px; align-items: flex-start; font-size: var(--fs-14); background: var(--info-bg); border: 1px solid var(--info-border); border-radius: var(--radius-md); padding: 10px 12px; margin-top: var(--sp-2); }
.ie-hatirlat svg { color: var(--info); }
.ie-sayac { font-size: var(--fs-12); font-weight: 700; padding: 2px 8px; border-radius: var(--radius-full); }
.ie-sayac.is-ok { color: var(--ok); background: var(--ok-bg); }
.ie-sayac.is-warn { color: var(--warn); background: var(--warn-bg); }
.ie-actions { display: grid; grid-template-columns: repeat(4, auto); justify-content: start; gap: var(--sp-2); }
.ie-bos { margin-bottom: var(--sp-4); }
@media (max-width: 1000px) {
  .ie-secim { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .ie-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ie-actions > * { justify-content: center; }
}
@media (max-width: 760px) {
  /* Kontrol kartı önizlemenin ÜSTÜNDE: eksik ve alıcı önce görülsün (plan §3.5) */
  .ie-grid { grid-template-columns: minmax(0, 1fr); }
  .ie-kontrol { grid-column: 1; grid-row: 1; position: static; }
  .ie-onizleme { grid-column: 1; grid-row: 2; }
  .ie-secim { grid-template-columns: minmax(0, 1fr); }
  .ie-amac .sr-seg { display: flex; }
  .ie-actions > * { min-height: 44px; }
  .yz-sekmeler { overflow-x: auto; scrollbar-width: thin; }
}
@media print { .son-tarihler, .yz-sekmeler, .ie-secim, .ie-actions { display: none !important; } .yz-panel[hidden] { display: block !important; } }
/* Bugün › Yaklaşan tarihler: süresi dolanlar (K14-5) */
.yt-gecmis { margin-top: var(--sp-3); padding-top: var(--sp-2); border-top: 1px dashed var(--border); }
.yt-gecmis-h { font-size: var(--fs-12); font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--text-dim); margin: 0 0 6px; }
.yt-gecmis ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.yt-gecmis li { display: flex; gap: 8px; align-items: flex-start; font-size: var(--fs-14); }
.yt-gecmis li small { display: block; color: var(--text-muted); font-size: var(--fs-12); }
.yt-gecmis li strong { font-weight: 600; }

.st-item[hidden] { display: none; }
.st-daha { margin-top: var(--sp-2); font-size: var(--fs-14); }
@media (max-width: 760px) {
  .yz-sekmeler { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; }
  .yz-sekmeler .tab { white-space: normal; text-align: center; justify-content: center; font-size: var(--fs-12); line-height: 1.25; min-height: 48px; padding: 6px 4px; }
}
.yz-sekmeler { scroll-margin-top: calc(var(--nav-h, 64px) + 12px); }
.yz-sekmeler .tab-count:empty { display: none; }

/* 32.7 Çalış merkezi (A6, calis.html, plan §2.3-C): sıradaki çalışma + kaldığın yer · ders kartları (6 AP + CEnT-S) · ölç ve tekrar et */
.calis .calis-head { margin-bottom: var(--sp-6); padding-bottom: var(--sp-5); }
.calis .calis-ust { margin-bottom: var(--sp-8); }
.calis-icerik[hidden], .calis-yl[hidden] { display: none !important; }
.calis-yl { padding: var(--sp-6); border-top: 4px solid var(--info); max-width: 720px; }
.calis-yl h2 { font-size: var(--fs-18); font-weight: 800; margin: 0 0 var(--sp-2); overflow-wrap: anywhere; }
.calis-yl p { color: var(--text-muted); margin: 0 0 var(--sp-4); }
.calis-yl-eylem { display: flex; flex-wrap: wrap; gap: var(--sp-3); margin: 0 !important; }

/* Kaldığın yer listesi */
.calis-kaldigin { display: flex; flex-direction: column; min-width: 0; }
.ck-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.ck-item a { display: flex; align-items: center; gap: 12px; padding: 8px; margin: 0 -8px; border-radius: var(--radius-md); color: var(--text); text-decoration: none; min-height: 52px; }
.ck-item a:hover { background: var(--surface-2); }
.ck-ico { flex-shrink: 0; width: 36px; height: 36px; border-radius: var(--radius-md); display: grid; place-items: center; background: var(--accent-soft); color: var(--accent); }
.ck-ico svg { width: 18px; height: 18px; }
.ck-item.is-vurgu .ck-ico { background: var(--warn-bg); color: var(--warn); }
.ck-govde { min-width: 0; flex: 1; display: flex; flex-direction: column; gap: 2px; }
.ck-govde strong { font-size: var(--fs-14); font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
.ck-govde span { font-size: var(--fs-12); color: var(--text-muted); overflow-wrap: anywhere; }
.ck-git { flex-shrink: 0; font-size: var(--fs-14); font-weight: 700; color: var(--accent); white-space: nowrap; }
.ck-bos { color: var(--text-muted); font-size: var(--fs-14); margin: 0; }

/* Bölüm başlıkları */
.calis-bolum { margin-bottom: var(--sp-8); }
.calis-bolum-h { margin-bottom: var(--sp-4); }
.calis-bolum-h h2 { font-size: var(--fs-22); font-weight: 800; letter-spacing: -0.01em; margin: 0; }
.calis-bolum-h p { margin: 4px 0 0; color: var(--text-muted); font-size: var(--fs-14); max-width: var(--measure); }
/* 1.30.0 Çalış: dört başlığın tek cümlelik tanımı; derslerim dışındaki dersler kapalı "Diğer dersler" altında */
.calis-tanim { margin: calc(-1 * var(--sp-2)) 0 var(--sp-4); color: var(--text-muted); font-size: var(--fs-14); max-width: var(--measure); }
.calis-tanim b { color: var(--text); font-weight: 700; }
.calis-diger { margin-top: var(--sp-5); }
.calis-diger > summary { cursor: pointer; font-weight: 800; font-size: var(--fs-16); padding: var(--sp-2) 0; color: var(--text); }
.calis-diger > summary span { color: var(--text-muted); font-weight: 600; }
.calis-diger[open] > summary { margin-bottom: var(--sp-3); }

/* Ders kartları */
.calis-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: var(--sp-4); }
.cd-kart { display: flex; flex-direction: column; gap: var(--sp-2); padding: var(--sp-5); min-width: 0; border-top: 3px solid var(--cc, var(--accent)); }
.cd-ust { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--sp-3); }
.cd-etiket { font-size: var(--fs-12); font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--text-dim); }
.cd-kart h3 { font-size: var(--fs-18); font-weight: 800; line-height: 1.25; margin: 2px 0 0; overflow-wrap: anywhere; }
.cd-ring { --ring-color: var(--cc, var(--accent)); }
.cd-d { margin: 0; font-size: var(--fs-14); color: var(--text-muted); }
.cd-durum, .cd-son { margin: 0; font-size: var(--fs-14); color: var(--text); overflow-wrap: anywhere; }
.cd-son { color: var(--text-muted); }
.cd-hata { color: var(--bad); font-weight: 700; }
.cd-kaldigin { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; font-size: var(--fs-14); padding: 8px 10px; border-radius: var(--radius-md); background: var(--surface-2); border: 1px solid var(--border); }
.cd-kaldigin span { font-size: var(--fs-12); font-weight: 700; color: var(--text-dim); text-transform: uppercase; letter-spacing: 0.04em; }
.cd-kaldigin a { font-weight: 700; overflow-wrap: anywhere; min-width: 0; }
.cd-eylem { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin-top: auto; padding-top: var(--sp-2); }
.cd-eylem .btn-sm { min-height: 40px; }
.cd-eylem svg { width: 16px; height: 16px; flex-shrink: 0; }

/* Ölç ve tekrar et */
.calis-olc-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-4); }
.calis-olc-grid .dv-kart:hover { border-color: var(--border-strong); box-shadow: var(--shadow-card); }
.calis-ek { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: var(--sp-4) 0 0; font-size: var(--fs-14); font-weight: 600; }
@media (max-width: 900px) { .calis-olc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .calis-olc-grid > :last-child { grid-column: 1 / -1; } }
@media (max-width: 560px) {
  .calis .calis-ust { margin-bottom: var(--sp-6); }
  .calis-olc-grid { grid-template-columns: minmax(0, 1fr); gap: var(--sp-3); }
  .cd-eylem .btn-sm { min-height: 44px; flex: 1 1 auto; }
  .ck-git { display: none; }
  .cd-d { display: none; }
}
@media print { .cd-eylem, .calis-ek { display: none !important; } }

/* ==========================================================================
   40. v4 ENERJİK TEMA KATMANI (Ekim 2026)
   Token'lar 1–2. bölümde; burada yalnızca tipografi, düğme ve Bugün ekranı.
   Enerji turuncusu (--energy) yalnızca ana "başla" düğmesi, seri ve ödül anlarında kullanılır.
   ========================================================================== */
h1, h2, h3, h4, h5, .hero-title, .section-title, .panel-title, .brand-title { font-family: var(--font-head); }
h1, .hero-title { font-weight: 900; letter-spacing: -0.02em; }
.section-title, .panel-title { font-weight: 800; }
::selection { background: color-mix(in srgb, var(--brand-600) 25%, transparent); }

.brand-badge { background: linear-gradient(135deg, var(--hero-a), var(--energy)); color: #fff; font-family: var(--font-head); font-weight: 900; }
:root[data-theme="dark"] .brand-badge { background: linear-gradient(135deg, var(--hero-a), var(--energy)); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .brand-badge { background: linear-gradient(135deg, var(--hero-a), var(--energy)); } }
.nav-link { font-weight: 700; border-radius: var(--radius-md); min-height: 40px; }

/* 1.30.0 DÜĞME KURALI (tek birincil eylem):
   - .btn-energy (turuncu): ekranın TEK ana eylemi — Bugün "Başla", Çalış "Sıradaki çalışma", ders sayfası "Sürdür/Başla",
     kısa ders "Devam"/"Bir ders daha", deneme "Denemeyi başlat", FRQ "Teslim et"/"Puanımı kaydet", kartlar "Bugünkü kartlar · Başla",
     hız turu "Başla", Premium adım düğmeleri, giriş/kayıt gönder, Premium'a geç (kilit duvarı). Bir ekranda en çok bir tane.
   - .btn-primary (mor): standart eylem; listede tekrar eden düğmeler (plan görevleri "Başla", ders denemesi kartları "Denemeyi kur",
     desteler), sınav içi gezinme. - .btn-ghost: ikincil / geri / vazgeç. Ayrıntı: HARITA.md "Tasarım kuralları". */
.btn-primary, .btn-ghost { min-height: 44px; font-weight: 700; border-radius: var(--radius-md); }
.btn-primary { box-shadow: 0 4px 14px color-mix(in srgb, var(--btn-bg) 28%, transparent); }
.btn-primary:hover { background: var(--btn-bg-hover); color: var(--on-btn); transform: translateY(-1px); }
.btn-energy {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 22px;
  border-radius: 14px; border: 0; background: var(--energy); color: var(--on-energy); white-space: nowrap;
  font: 800 1.0625rem/1 var(--font-head); text-decoration: none; cursor: pointer;
  box-shadow: 0 6px 18px rgba(255, 107, 44, 0.35); transition: transform .15s ease, box-shadow .2s ease;
}
.btn-energy:hover { color: var(--on-energy); box-shadow: 0 8px 24px rgba(255, 107, 44, 0.5); text-decoration: none; }
.btn-energy:active { transform: scale(.97); }
.btn-energy svg { width: 18px; height: 18px; }

/* Hedefim sekme çubuğu: 5 sekme telefonda yatay kaydırılır (taşma yerine) */
@media (max-width: 640px) {
  .hedefim-tabs { display: flex; width: 100%; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .hedefim-tabs::-webkit-scrollbar { display: none; }
  .hedefim-tabs > li { flex: 0 0 auto; }
  .hedefim-tab { padding: 6px 14px; }
}

/* --- Bugün v4 ------------------------------------------------------------ */
.bugun-v4 { display: grid; gap: var(--sp-5); }
.bugun-v4 > * { margin: 0 !important; min-width: 0; }
.bg-hello { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; }
.bg-hello h1 { font-size: clamp(1.625rem, 1.2rem + 1.6vw, 2.125rem); margin: 0; }
.bg-hello-sub { margin: 4px 0 0; color: var(--text-muted); }
.bg-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.bg-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 14px; border-radius: var(--radius-full); font-weight: 700; font-size: var(--fs-14); }
.bg-chip svg { width: 18px; height: 18px; }
.bg-chip.is-enerji { background: var(--energy-soft); color: var(--energy-text); }
.bg-chip.is-mor { background: var(--accent-soft); color: var(--accent); }

.bg-ust { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: var(--sp-5); }
.is-yl .bg-ust { grid-template-columns: 1fr; }

/* Bugünkü görev kartı: mor degrade, beyaz yazı (beyaz/mor 6.1:1) */
.bg-hero { position: relative; overflow: hidden; border-radius: var(--radius-xl); padding: 28px; color: #fff; background: linear-gradient(135deg, var(--hero-a), var(--hero-b)); box-shadow: var(--shadow-lg); display: flex; }
.bg-hero::after { content: ""; position: absolute; right: -60px; top: -60px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(255, 107, 44, .55), transparent 70%); pointer-events: none; }
.bg-hero > * { position: relative; z-index: 1; }
.bg-hero .next-step { background: none; border: 0; padding: 0; border-radius: 0; display: flex; flex-direction: column; gap: 10px; width: 100%; }
.bg-hero .sa-kicker { color: rgba(255, 255, 255, .88); }
.bg-hero .sa-tur { background: rgba(255, 255, 255, .18); color: #fff; }
.bg-hero h2 { color: #fff; font-size: clamp(1.5rem, 1.15rem + 1.3vw, 2rem); font-weight: 900; line-height: 1.2; margin: 0; overflow-wrap: anywhere; }
.bg-hero .sa-meta { color: rgba(255, 255, 255, .92); margin: 0; font-size: var(--fs-16); }
.bg-hero .sa-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-top: auto; padding-top: var(--sp-3); }
.bg-hero .sa-ikincil { color: #fff; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.bg-hero .sa-ikincil:hover { color: #fff; }
.bg-hero .sa-neden, .bg-hero .sa-neden summary { color: rgba(255, 255, 255, .88); }
.bg-hero .sa-neden { flex-basis: 100%; }
.bg-hero a:focus-visible, .bg-hero summary:focus-visible { outline-color: #fff; }

/* Seri kartı */
.bg-seri { display: flex; flex-direction: column; gap: 14px; border-radius: var(--radius-xl); }
.bg-seri-ust { display: flex; align-items: center; gap: 12px; }
.bg-alev { flex: none; width: 56px; height: 56px; border-radius: 16px; display: grid; place-items: center; background: var(--energy-soft); color: var(--energy-text); }
.bg-alev svg { width: 30px; height: 30px; }
.bg-seri-ust b { display: block; font: 900 2rem/1 var(--font-head); }
.bg-seri-ust span { color: var(--text-muted); font-size: var(--fs-14); }
.bg-hafta { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; list-style: none; margin: 0; padding: 0; }
.bg-hafta li { display: grid; justify-items: center; gap: 4px; font-size: var(--fs-12); font-weight: 700; color: var(--text-muted); }
.bg-gun { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; border: 2px dashed var(--border-strong); }
.bg-gun.is-var { border: 0; background: var(--energy); color: var(--on-energy); }
.bg-gun.is-bugun:not(.is-var) { border: 2px solid var(--energy); }
.bg-gun svg { width: 16px; height: 16px; }
.bg-seri-not { margin: 0; font-size: var(--fs-14); color: var(--text-muted); }

/* Üçlü kartlar */
.bg-uclu { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-5); }
.bg-mini { display: flex; flex-direction: column; gap: 10px; border-radius: var(--radius-xl); min-width: 0; }
a.bg-mini { transition: border-color .2s, transform .2s; }
a.bg-mini:hover { border-color: var(--accent); transform: translateY(-2px); color: var(--text); }
.bg-mini-h { display: flex; align-items: center; gap: 10px; }
.bg-mini-h h2, .bg-mini-h h3 { font-size: var(--fs-18); font-weight: 800; margin: 0; }
.bg-mini-h .yt-tumu { margin-left: auto; font-size: var(--fs-14); font-weight: 700; white-space: nowrap; }
.bg-ico { flex: none; width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; }
.bg-ico svg { width: 20px; height: 20px; }
.bg-ico.is-enerji { background: var(--energy-soft); color: var(--energy-text); }
.bg-ico.is-ok { background: var(--ok-bg); color: var(--ok); }
.bg-ico.is-mor { background: var(--accent-soft); color: var(--accent); }
.bg-sayi { font: 900 2.25rem/1 var(--font-head); }
.bg-sayi small { font-size: var(--fs-18); color: var(--text-muted); font-weight: 800; }
.bg-mini.is-uyari .bg-sayi > span { color: var(--bad); }
.bg-mini.is-iyi .bg-sayi > span { color: var(--ok); }
.bg-mini-alt { color: var(--text-muted); font-size: var(--fs-14); }
.bg-mini-git { margin-top: auto; font-weight: 700; color: var(--accent); }
.bg-mini .le-score { font: 900 2.25rem/1 var(--font-head); }
.bg-mini .dv-git { margin-top: 8px; font-weight: 700; }
.bg-mini .yt-list { gap: 2px; }

/* Dersler */
.bg-dersler { border-radius: var(--radius-xl); }
.bg-sec-h { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.bg-sec-h h2 { font-size: var(--fs-22); font-weight: 900; margin: 0; }
.bg-sec-h a { font-weight: 700; white-space: nowrap; }
.bg-ders-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.bg-ders { display: flex; align-items: center; gap: 14px; min-height: 72px; padding: 12px 14px; border-radius: 16px; border: 1px solid var(--border); color: var(--text); text-decoration: none; transition: border-color .2s, transform .2s; }
.bg-ders:hover { border-color: var(--cc, var(--accent)); transform: translateY(-2px); color: var(--text); }
.bg-ders b { display: block; font-weight: 700; }
.bg-ders .course-progress { display: block; font-size: var(--fs-12); color: var(--text-muted); }
.bg-halka { --p: 0; flex: none; width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--cc, var(--accent)) calc(var(--p) * 1%), var(--surface-3) 0); }
.bg-halka::before { content: attr(data-v); width: 38px; height: 38px; border-radius: 50%; background: var(--surface); display: grid; place-items: center; font-size: 12px; font-weight: 800; }

@media (max-width: 900px) {
  .bg-ust, .bg-uclu { grid-template-columns: 1fr; }
  .bg-ders-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .bugun-v4 { gap: var(--sp-4); }
  .bg-hero { padding: 22px; }
  .bg-hero::after { opacity: .5; }
  .bg-hero .sa-actions { flex-direction: column; align-items: stretch; gap: 8px; }
  .bg-hero .sa-ikincil { text-align: center; }
  .bg-hero .sa-neden { flex-basis: auto; text-align: center; }
  .bg-ders-list { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: no-preference) {
  .bugun-v4 > * { animation: bg-rise .45s cubic-bezier(.2, .8, .2, 1.2) both; }
  .bugun-v4 > :nth-child(2) { animation-delay: 60ms; } .bugun-v4 > :nth-child(3) { animation-delay: 120ms; }
  .bugun-v4 > :nth-child(4) { animation-delay: 180ms; } .bugun-v4 > :nth-child(5) { animation-delay: 240ms; }
  @keyframes bg-rise { from { opacity: 0; transform: translateY(14px); } }
}
@media (prefers-reduced-motion: reduce) { .bg-ders, a.bg-mini, .btn-energy, .btn-primary { transition: none; } }

/* --- v4 ünite görünümü (ders sayfaları; app.js initUniteGorunumu) --------- */
.ug-gizli { display: none !important; }
/* ?unite=N açılışı: adresler.js ilk boyamadan önce html.ug-erken koyar; ünite seçilene dek içerik çizilmez, alt bilgi
   görünür alanın dışında bekler (sonradan gizlenen hero/üniteler ve itilen alt bilgi kayma üretmesin) */
html.ug-erken body:not(.has-unite) .main-container > * { display: none !important; }
html.ug-erken body:not(.has-unite) .main-container { min-height: 100vh; }
.ug-panel { border-radius: var(--radius-xl); margin: 0 0 var(--sp-6); }
.ug-ozet { color: var(--text-muted); font-size: var(--fs-14); }
.ug-liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ug-kart { display: flex; align-items: center; gap: 14px; min-height: 76px; padding: 14px 16px; border-radius: 16px; border: 1px solid var(--border); color: var(--text); text-decoration: none; transition: border-color .2s, transform .2s; }
.ug-kart:hover { border-color: var(--accent); transform: translateY(-2px); color: var(--text); text-decoration: none; }
.ug-no { flex: none; width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: var(--accent-soft); color: var(--accent); font: 900 1.125rem/1 var(--font-head); }
.ug-kart.is-bitti .ug-no { background: var(--ok-bg); color: var(--ok); }
.ug-govde { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.ug-govde b { font-weight: 700; overflow-wrap: anywhere; line-height: 1.3; }
.ug-govde small { font-size: var(--fs-12); color: var(--text-muted); }
.ug-ders { font-size: 0.6875rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--text-dim); }
.ug-cubuk { display: block; height: 6px; margin-top: 4px; border-radius: var(--radius-full); background: var(--surface-3); overflow: hidden; }
.ug-cubuk i { display: block; height: 100%; width: var(--w, 0%); border-radius: inherit; background: var(--energy); }
.ug-git { flex: none; font-weight: 700; color: var(--accent); white-space: nowrap; font-size: var(--fs-14); }
.ug-ek-h { font-size: var(--fs-16); font-weight: 800; margin: var(--sp-6) 0 var(--sp-3); }
.ug-ekler { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.ug-ek { display: inline-flex; align-items: center; min-height: 40px; padding: 6px 14px; border-radius: var(--radius-full); border: 1px solid var(--border); background: var(--surface-2); color: var(--text); font-size: var(--fs-14); font-weight: 600; text-decoration: none; }
.ug-ek:hover { border-color: var(--accent); color: var(--accent); text-decoration: none; }

.ug-ust { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin: 0 0 var(--sp-4); }
.ug-geri { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; text-decoration: none; }
.ug-sag { display: inline-flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.ug-sorular { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; }
.ug-sayac { display: inline-flex; align-items: center; min-height: 32px; padding: 0 12px; border-radius: var(--radius-full); background: var(--energy-soft); color: var(--energy-text); font-weight: 800; font-size: var(--fs-14); }
.ug-alt { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: var(--sp-6) 0 0; padding-top: var(--sp-5); border-top: 1px solid var(--border); }
.ug-onceki { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 760px) {
  .ug-liste { grid-template-columns: 1fr; }
  .ug-alt { flex-direction: column-reverse; align-items: stretch; }
  .ug-alt > a { width: 100%; }
}
@media print { .ug-ust, .ug-alt, .ug-panel { display: none !important; } .ug-gizli { display: block !important; } }

/* --- BilgeAP Premium: kilitli ünite kartı, tanıtım duvarı, hesap menüsü vurgusu ---------------- */
.ug-kart.is-kilitli .ug-no { background: var(--energy-soft); color: var(--energy-text); }
.ug-kart.is-kilitli .ug-git { color: var(--energy-text); display: inline-flex; align-items: center; gap: 4px; }
.ug-git svg { width: 16px; height: 16px; }
.ug-duvar { border-radius: var(--radius-xl); padding: clamp(20px, 4vw, 36px); text-align: center; display: grid; justify-items: center; gap: 12px;
  background: linear-gradient(160deg, var(--energy-soft), var(--accent-soft)); border: 0; }
.ug-duvar-ico { width: 64px; height: 64px; border-radius: 20px; display: grid; place-items: center; background: var(--surface); color: var(--energy-text); }
.ug-duvar-ico svg { width: 32px; height: 32px; }
.ug-duvar h2 { font-size: clamp(1.375rem, 1.1rem + 1vw, 1.75rem); font-weight: 900; margin: 0; }
.ug-duvar p { margin: 0; max-width: 56ch; color: var(--text-muted); }
.ug-duvar-liste { list-style: none; margin: 4px 0; padding: 0; display: grid; gap: 6px; text-align: left; }
.ug-duvar-liste li { position: relative; padding-left: 26px; font-weight: 600; }
.ug-duvar-liste li::before { content: ""; position: absolute; left: 0; top: 4px; width: 16px; height: 16px; border-radius: 50%; background: var(--ok); }
.ug-duvar-eylem { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 4px; }
.ug-duvar-not { font-size: var(--fs-14); }
.account-menu .account-premium { color: var(--energy-text); font-weight: 700; }
.account-menu a svg { flex-shrink: 0; }

/* --- premium.html (Premium'a geçiş: plan · havale/EFT · ödeme bildirimi) ------------------------ */
.pr-sayfa { display: grid; gap: var(--sp-5); }
.pr-ust h1 { font-size: clamp(1.625rem, 1.2rem + 1.6vw, 2.25rem); margin: 4px 0 6px; }
.pr-alt { color: var(--text-muted); max-width: 64ch; margin: 0; }
.pr-izgara { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-5); }
.pr-genis { grid-column: 1 / -1; }
.pr-kart { border-radius: var(--radius-xl); display: flex; flex-direction: column; gap: 14px; }
.pr-kart h2 { font-size: var(--fs-18); font-weight: 900; display: flex; align-items: center; gap: 10px; margin: 0; }
.pr-adim { width: 32px; height: 32px; border-radius: 50%; display: inline-grid; place-items: center; background: var(--accent-soft); color: var(--accent); font: 900 1rem/1 var(--font-head); flex: none; }
.pr-planlar { border: 0; padding: 0; margin: 0; display: grid; gap: 10px; }
.pr-plan { display: grid; grid-template-columns: auto 1fr auto; grid-template-areas: "r ad fiyat" "r not fiyat"; align-items: center; gap: 2px 12px; padding: 14px 16px; border: 2px solid var(--border); border-radius: 16px; cursor: pointer; min-height: 64px; }
.pr-plan input { grid-area: r; width: 20px; height: 20px; accent-color: var(--brand-600); }
.pr-plan.is-secili { border-color: var(--accent); background: var(--accent-soft); }
.pr-plan-ad { grid-area: ad; font-weight: 800; }
.pr-plan-fiyat { grid-area: fiyat; font: 900 1.25rem/1 var(--font-head); white-space: nowrap; }
.pr-plan-fiyat small { font-size: var(--fs-14); color: var(--text-muted); font-weight: 700; }
.pr-plan-not { grid-area: not; font-size: var(--fs-12); color: var(--text-muted); }
.pr-rozet { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: var(--radius-full); font-size: 0.6875rem; font-weight: 800; background: var(--energy-soft); color: var(--energy-text); }
.pr-rozet.pr-onaylandi { background: var(--ok-bg); color: var(--ok); }
.pr-rozet.pr-reddedildi { background: var(--bad-bg); color: var(--bad); }
.pr-fayda { margin: 0; padding-left: 20px; display: grid; gap: 6px; color: var(--text-muted); font-size: var(--fs-14); }
.pr-banka { margin: 0; display: grid; gap: 10px; }
.pr-banka > div { display: grid; grid-template-columns: 120px 1fr; gap: 8px; align-items: center; }
.pr-banka dt { color: var(--text-muted); font-size: var(--fs-14); }
.pr-banka dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.pr-banka code { font-size: var(--fs-14); }
.pr-gecmis-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
#pr-form .btn-energy { align-self: flex-start; }
@media (max-width: 760px) {
  .pr-izgara { grid-template-columns: 1fr; }
  .pr-banka > div { grid-template-columns: 1fr; gap: 2px; }
  #pr-form .btn-energy { align-self: stretch; }
}
.ss-kart { max-width: 460px; margin: 0 auto; }
.pr-izgara[hidden], .pr-kart[hidden] { display: none !important; }

/* --- Ünite içi konu kartları katlanır (app.js konulariKatla) --- */
.lecture-card .ug-konu-btn { cursor: pointer; position: relative; padding-right: 36px; border-radius: var(--radius-md); }
.lecture-card .ug-konu-btn::after { content: ""; position: absolute; right: 8px; top: 50%; width: 10px; height: 10px; border-right: 2.5px solid currentColor; border-bottom: 2.5px solid currentColor; transform: translateY(-70%) rotate(45deg); transition: transform .2s ease; opacity: .7; }
.lecture-card.ug-kapali .ug-konu-btn::after { transform: translateY(-30%) rotate(-45deg); }
.lecture-card .ug-konu-btn:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.lecture-card.ug-kapali > .theory-body { height: 0; overflow: hidden; visibility: hidden; margin: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; }
.lecture-card.ug-kapali { padding-bottom: 12px; }
.ug-hepsi { min-height: 40px; }
@media print { .lecture-card.ug-kapali > .theory-body { height: auto; visibility: visible; } }

/* Depolama kipi (app.js html.mod-sunucu / html.mod-dosya): eski yerel özellikler sunucu kipinde hiç görünmez */
html.mod-sunucu .yalniz-dosya, html.mod-dosya .yalniz-sunucu { display: none !important; }
#bg-oyun:empty { display: none; }

/* ==========================================================================
   ENERJİK GEÇİŞLER (oyunlaştırma turu, Ekim 2026) — yalnızca hareket; hepsi 150–350 ms, azaltılmış harekette kapalı.
   Bileşen stilleri assets/css/oyun.css'te.
   ========================================================================== */
/* Sayfalar arası geçiş: aynı kökenli gezinmede hızlı soluklaşma + hafif kayma (destekleyen tarayıcılarda) */
@view-transition { navigation: auto; }
.navbar { view-transition-name: oy-ust; }
.bottom-nav { view-transition-name: oy-alt; }
::view-transition-old(root) { animation: 150ms ease-in both oy-vt-cik; }
::view-transition-new(root) { animation: 240ms cubic-bezier(.2, .8, .2, 1) both oy-vt-gir; }
@keyframes oy-vt-cik { to { opacity: 0; transform: translateY(-6px); } }
@keyframes oy-vt-gir { from { opacity: 0; transform: translateY(10px); } }

@media (prefers-reduced-motion: no-preference) {
  /* Kart basma geri bildirimi */
  a.bg-mini, .bg-ders, .ug-kart, .cd-kart, .dv-kart, .ck-item > a, .yt-item > a, .bg-hero .btn-energy { transition: transform .15s ease, border-color .2s, box-shadow .2s; }
  a.bg-mini:active, .bg-ders:active, .ug-kart:active, a.dv-kart:active, .ck-item > a:active, .yt-item > a:active { transform: scale(.98); }
  .btn-primary, .btn-secondary, .btn-ghost { transition: transform .15s ease, background-color .2s, border-color .2s, box-shadow .2s, color .2s; }
  .btn-primary:active, .btn-secondary:active, .btn-ghost:active { transform: scale(.98); }
  /* İlerleme çubukları görünür olurken dolar */
  .ug-cubuk i, .oy-cubuk > i, .quiz-progress-ok, .quiz-progress-bad { transform-origin: left center; animation: oy-dol .6s cubic-bezier(.2, .8, .2, 1) both; }
  @keyframes oy-dol { from { transform: scaleX(0); } }
  /* Kart ızgaralarında sıralı giriş: Bugün (oyun alanı, dersler) ve Çalış (ders kartları) */
  .oy-alan > *, .oy-sol > *, .bg-ders-list > li, .calis-grid > *, .bg-uclu > *, .calis-olc-grid > * { animation: oy-giris .35s cubic-bezier(.2, .8, .2, 1.1) both; }
  .oy-sol > :nth-child(2), .oy-alan > :nth-child(2), .bg-ders-list > li:nth-child(2), .calis-grid > :nth-child(2), .bg-uclu > :nth-child(2), .calis-olc-grid > :nth-child(2) { animation-delay: 50ms; }
  .bg-ders-list > li:nth-child(3), .calis-grid > :nth-child(3), .bg-uclu > :nth-child(3), .calis-olc-grid > :nth-child(3) { animation-delay: 100ms; }
  .bg-ders-list > li:nth-child(4), .calis-grid > :nth-child(4) { animation-delay: 150ms; }
  .bg-ders-list > li:nth-child(5), .calis-grid > :nth-child(5) { animation-delay: 200ms; }
  .bg-ders-list > li:nth-child(n+6), .calis-grid > :nth-child(n+6) { animation-delay: 250ms; }
  @keyframes oy-giris { from { opacity: 0; transform: translateY(10px); } }
}
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  ::view-transition-old(root), ::view-transition-new(root) { animation: none; }
}

/* ==========================================================================
   50. v5 CİLA KATMANI (Ekim 2026, sunucu ürünü)
   Kimlik aynı (mor #5B3DF5 + enerji turuncusu, Nunito / DM Sans); burada yalnızca ritim, durumlar, derinlik,
   yer tutan iskeletler (CLS < 0.05) ve hareket. Tüm hareket 120–300 ms; azaltılmış harekette kapalı.
   Sınıf adları eklenir, mevcutlar yeniden adlandırılmaz (diğer sayfalar bu dosyayı paylaşır).
   ========================================================================== */
:root {
  --ease-out: cubic-bezier(.2, .8, .2, 1);
  --ease-spring: cubic-bezier(.2, .9, .3, 1.25);
  --dur-1: 120ms; --dur-2: 200ms; --dur-3: 300ms;
  --shadow-card: 0 1px 2px rgba(26, 16, 51, .05), 0 8px 24px -12px rgba(91, 61, 245, .14);
  --shadow-hover: 0 2px 4px rgba(26, 16, 51, .05), 0 16px 32px -14px rgba(91, 61, 245, .30);
  --skel-a: var(--surface-3);
  --skel-b: color-mix(in srgb, var(--surface-3) 45%, var(--surface));
}
:root[data-theme="dark"] { --shadow-card: 0 1px 2px rgba(0, 0, 0, .35), 0 10px 24px -14px rgba(0, 0, 0, .7); --shadow-hover: 0 18px 36px -14px rgba(0, 0, 0, .8), 0 0 0 1px rgba(157, 139, 255, .18); }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) { --shadow-card: 0 1px 2px rgba(0, 0, 0, .35), 0 10px 24px -14px rgba(0, 0, 0, .7); --shadow-hover: 0 18px 36px -14px rgba(0, 0, 0, .8), 0 0 0 1px rgba(157, 139, 255, .18); }
}

/* Kaydırma çubuğu yeri sabit: kısa ve uzun sayfalar arasında içerik yatay kaymaz */
html { scrollbar-gutter: stable; }
/* Sayılar: sayaç animasyonunda ve tablolarda genişlik oynamaz */
.bg-sayi, .le-score, .kv-num, .bg-seri-ust b, .oy-halka-sayi b, .oy-xp b, .bg-halka::before, .ring > span, .ug-sayac { font-variant-numeric: tabular-nums; }

/* Başlık ritmi ve okunurluk */
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
.page-head h1 { font-weight: 900; }
.page-head .eyebrow, .sr-bas .eyebrow { color: var(--accent); }

/* Kartlar: tek gölge dili, üzerine gelince hafif kalkış (yalnızca bağlantı kartlarında) */
.surface { box-shadow: var(--shadow-card); }
a.surface, a.bg-mini, .bg-ders, a.dv-kart, .pf-sorular-kart { transition: transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out), border-color var(--dur-2); }
a.surface:hover, a.bg-mini:hover, .bg-ders:hover, a.dv-kart:hover, .pf-sorular-kart:hover { box-shadow: var(--shadow-hover); }

/* Düğmeler: net basılma, odak halkası her temada görünür */
.btn-primary, .btn-secondary, .btn-ghost, .btn-energy { -webkit-tap-highlight-color: transparent; }
.btn-primary:focus-visible, .btn-ghost:focus-visible, .btn-secondary:focus-visible, .btn-energy:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; box-shadow: var(--focus-ring); }
.btn-energy { position: relative; overflow: hidden; isolation: isolate; }
.btn-energy::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, .45) 50%, transparent 70%); transform: translateX(-120%); }
.text-input:focus, .calc-select:focus, .calc-input:focus { border-color: var(--accent); box-shadow: var(--focus-ring); outline: none; }

/* --- İskeletler (yer tutucular): içerik gelince aynı yükseklik, zıplama yok ------------------- */
.iskelet { display: block; border-radius: var(--radius-md); background: linear-gradient(90deg, var(--skel-a) 25%, var(--skel-b) 50%, var(--skel-a) 75%) 0 0 / 300% 100%; }
.iskelet-grup { display: grid; gap: 12px; margin-top: 12px; }
.iskelet-satir { height: 14px; width: 82%; border-radius: var(--radius-full); }
.iskelet-satir.is-kisa { width: 52%; }
.iskelet-blok { height: 64px; }
.iskelet-blok.is-kisa { height: 44px; width: 70%; }
.iskelet-kart { height: 84px; border-radius: var(--radius-xl); }
.surface.iskelet-kart { padding: 0; border: 1px solid var(--border); background: linear-gradient(90deg, var(--surface) 25%, var(--surface-2) 50%, var(--surface) 75%) 0 0 / 300% 100%; }
#bg-oyun.is-iskelet .is-hedef { height: 244px; }
#bg-oyun.is-iskelet .is-ince { height: 54px; }
#bg-oyun.is-iskelet .is-gorev { height: 230px; }
@media (max-width: 640px) { #bg-oyun.is-iskelet .is-hedef { height: 250px; } #bg-oyun.is-iskelet .is-gorev { height: 236px; } }
.oy-rozet.iskelet-rozet { min-height: 176px; border-style: solid; border-color: var(--border); background: linear-gradient(90deg, var(--surface-2) 25%, var(--surface-3) 50%, var(--surface-2) 75%) 0 0 / 300% 100%; }
#bildirim-ayarlari { min-height: 650px; }
#bildirim-ayarlari .iskelet-grup { gap: 14px; }
#bildirim-ayarlari .iskelet-blok { height: 150px; }
.bd-lig .bd-lig-govde { min-height: 380px; }
.calis .oy-yol-yer:empty { min-height: 40px; }
@media (prefers-reduced-motion: no-preference) {
  .iskelet, .surface.iskelet-kart, .oy-rozet.iskelet-rozet { animation: v5-parilti 1.4s ease-in-out infinite; }
  @keyframes v5-parilti { from { background-position: 100% 0; } to { background-position: 0 0; } }
}

/* --- Bugün v5: karşılama, hero, seri ------------------------------------------------------------ */
.bg-hello h1 { letter-spacing: -0.025em; }
.bg-ad { background: linear-gradient(100deg, var(--accent) 10%, var(--energy) 95%); -webkit-background-clip: text; background-clip: text; color: transparent; padding-right: 2px; }
.bg-chip { box-shadow: inset 0 0 0 1px color-mix(in srgb, currentColor 18%, transparent); }

.bg-hero { background:
    radial-gradient(120% 140% at 0% 0%, rgba(255, 255, 255, .16), transparent 45%),
    linear-gradient(135deg, var(--hero-a) 0%, #6f47f7 45%, var(--hero-b) 100%);
  min-height: 260px; isolation: isolate; }
.bg-hero::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .5;
  background-image: radial-gradient(rgba(255, 255, 255, .22) 1px, transparent 1.4px); background-size: 18px 18px;
  -webkit-mask-image: linear-gradient(120deg, transparent 35%, #000 100%); mask-image: linear-gradient(120deg, transparent 35%, #000 100%); }
.bg-hero-isik { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; border-radius: inherit; }
.bg-hero-isik i { position: absolute; border-radius: 50%; filter: blur(2px); }
.bg-hero-isik i:nth-child(1) { width: 180px; height: 180px; left: -50px; bottom: -70px; background: radial-gradient(circle, rgba(255, 255, 255, .22), transparent 70%); }
.bg-hero-isik i:nth-child(2) { width: 120px; height: 120px; right: 22%; bottom: -40px; background: radial-gradient(circle, rgba(255, 107, 44, .45), transparent 70%); }
.bg-hero-isik i:nth-child(3) { width: 70px; height: 70px; right: 8%; top: 18%; background: radial-gradient(circle, rgba(255, 255, 255, .28), transparent 70%); }
.bg-hero .next-step { position: relative; z-index: 1; }
.bg-hero h2 { letter-spacing: -0.02em; text-shadow: 0 2px 18px rgba(26, 16, 51, .18); }
.bg-hero .btn-energy { min-height: 52px; padding: 0 26px; font-size: 1.125rem; box-shadow: 0 10px 26px -6px rgba(255, 107, 44, .65), inset 0 -2px 0 rgba(0, 0, 0, .12); }
.bg-hero .sa-neden summary { cursor: pointer; font-size: var(--fs-14); }
.bg-hero .sa-neden p { margin: 6px 0 0; font-size: var(--fs-14); color: rgba(255, 255, 255, .9); max-width: 60ch; }

/* İlk ziyaret: hoş geldin rozeti, üç adım, hedef çizimi */
.bg-ilk-rozet { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; padding: 5px 12px; border-radius: var(--radius-full); background: rgba(255, 255, 255, .18); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .28); color: #fff; font: 800 var(--fs-14)/1.2 var(--font-head); }
.bg-ilk-rozet::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--energy); box-shadow: 0 0 0 3px rgba(255, 107, 44, .35); }
.bg-ilk-adim { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.bg-ilk-adim li { display: inline-flex; align-items: center; gap: 8px; min-height: 34px; padding: 0 12px 0 4px; border-radius: var(--radius-full); background: rgba(255, 255, 255, .12); color: rgba(255, 255, 255, .92); font-weight: 700; font-size: var(--fs-14); }
.bg-ilk-adim b { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: rgba(255, 255, 255, .2); font: 900 .8125rem/1 var(--font-head); }
.bg-ilk-adim li.is-simdi { background: #fff; color: var(--brand-700); }
.bg-ilk-adim li.is-simdi b { background: var(--energy); color: var(--on-energy); }
.bg-hero-cizim { position: absolute; z-index: 0; right: -18px; bottom: -22px; width: 210px; height: 210px; pointer-events: none; }
.bg-ilk .bg-hero .next-step { padding-right: 150px; }
.bg-hero-cizim .c1 { fill: rgba(255, 255, 255, .10); }
.bg-hero-cizim .c2 { fill: rgba(255, 255, 255, .14); }
.bg-hero-cizim .c3 { fill: rgba(255, 255, 255, .22); }
.bg-hero-cizim .c4 { fill: var(--energy); }
.bg-hero-cizim .ok { stroke: #fff; stroke-width: 5; stroke-linecap: round; fill: none; }
.bg-hero-cizim .ok-uc { fill: #fff; }
.bg-hero-cizim .yildiz { fill: #ffd2bd; }
@media (max-width: 760px) {
  .bg-ilk .bg-hero .next-step { padding-right: 0; }
  .bg-hero-cizim { width: 150px; height: 150px; right: -34px; top: -34px; bottom: auto; opacity: .55; }
}

/* Seri: alev nefes alır; bugün tamamsa kart parlar */
.bg-seri { position: relative; }
.bg-seri.is-bugun-tamam { border-color: color-mix(in srgb, var(--energy) 45%, var(--border)); box-shadow: 0 0 0 4px color-mix(in srgb, var(--energy) 12%, transparent), var(--shadow-card); }
.bg-gun.is-var { box-shadow: 0 3px 10px -3px rgba(255, 107, 44, .6); }
.bg-mini .bg-sayi { letter-spacing: -0.02em; }
.bg-mini .dv-git a { font-weight: 700; }

/* Dersler */
.bg-ders { background: var(--surface); }

@media (prefers-reduced-motion: no-preference) {
  .bg-hero-isik i:nth-child(1) { animation: v5-suz 9s ease-in-out infinite; }
  .bg-hero-isik i:nth-child(2) { animation: v5-suz 7s ease-in-out -2s infinite reverse; }
  .bg-hero-isik i:nth-child(3) { animation: v5-suz 6s ease-in-out -4s infinite; }
  @keyframes v5-suz { 50% { transform: translate(14px, -12px) scale(1.08); } }
  .bg-hero .btn-energy::after { animation: v5-parla 3.2s ease-in-out 1.2s infinite; }
  @keyframes v5-parla { 0% { transform: translateX(-120%); } 22%, 100% { transform: translateX(120%); } }
  .bg-hero-cizim { animation: v5-hedef-gir .6s var(--ease-spring) .15s both; }
  .bg-hero-cizim .ok, .bg-hero-cizim .ok-uc { animation: v5-ok .5s var(--ease-out) .55s both; }
  .bg-hero-cizim .yildiz { transform-box: fill-box; transform-origin: center; animation: v5-yildiz 2.6s ease-in-out infinite; }
  .bg-hero-cizim .y2 { animation-delay: 1.3s; }
  @keyframes v5-hedef-gir { from { opacity: 0; transform: scale(.7) rotate(-12deg); } }
  @keyframes v5-ok { from { opacity: 0; transform: translate(24px, -24px); } }
  @keyframes v5-yildiz { 50% { transform: scale(.55) rotate(40deg); opacity: .6; } }
  .bg-ilk-rozet::before { animation: v5-nabiz 1.6s ease-in-out infinite; }
  @keyframes v5-nabiz { 50% { box-shadow: 0 0 0 7px rgba(255, 107, 44, 0); } }
  .bg-seri .bg-alev svg { transform-origin: 50% 90%; animation: v5-alev 2.4s ease-in-out infinite; }
  @keyframes v5-alev { 50% { transform: scale(1.08) rotate(-3deg); } }
  .bg-seri.is-bugun-tamam .bg-alev { animation: v5-kutla .6s var(--ease-spring) .3s both; }
  @keyframes v5-kutla { 0% { transform: scale(.6); } 60% { transform: scale(1.15); } 100% { transform: none; } }
  .btn-energy:hover { transform: translateY(-1px); }
}

/* --- Profil v5: Sorularım kısayol kartı ------------------------------------------------------- */
.pf-sorular-kart { display: flex; align-items: center; gap: 16px; align-self: start; border-radius: var(--radius-xl); }
.pf-sorular-kart strong { display: block; font: 800 var(--fs-18)/1.3 var(--font-head); }
.pf-sorular-kart .u-min0 > span { color: var(--text-muted); font-size: var(--fs-14); }
.pf-sorular-ik { flex: none; width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; background: var(--accent-soft); color: var(--accent); }
.pf-sorular-ik svg { width: 24px; height: 24px; }
.pf-sorular-git { margin-left: auto; font-size: 1.25rem; font-weight: 800; color: var(--accent); transition: transform var(--dur-2) var(--ease-out); }
.pf-sorular-kart:hover { border-color: color-mix(in srgb, var(--accent) 45%, var(--border)); color: var(--text); }
.pf-sorular-kart:hover .pf-sorular-git { transform: translateX(4px); }

/* --- Sorularım sayfası (sorularim.html) ----------------------------------------------------- */
.sr-sayfa { max-width: 860px; display: grid; gap: var(--sp-6); }
.sr-bas { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap; }
.sr-bas h1 { font-size: var(--fs-2xl); margin: 4px 0 6px; }
.sr-bas h1:focus { outline: none; }
.sr-alt { margin: 0; color: var(--text-muted); max-width: 52ch; }
.sr-hak { margin: 10px 0 0; min-height: 28px; }
.sr-hak .bd-hak-satir:not(:empty) { display: inline-flex; align-items: center; min-height: 28px; padding: 0 12px; border-radius: var(--radius-full); background: var(--energy-soft); color: var(--energy-text); font-weight: 800; font-size: var(--fs-14); }
.sr-hak .bd-hak-satir.bd-hak-sinirsiz { background: var(--accent-soft); color: var(--accent); }
.sr-kart { border-radius: var(--radius-xl); padding: var(--sp-5); }
.sr-adimlar { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-4); }
.sr-adimlar li { display: flex; gap: 12px; align-items: flex-start; font-size: var(--fs-14); color: var(--text-muted); }
.sr-adimlar strong { display: block; color: var(--text); font-size: var(--fs-16); }
.sr-adim-no { flex: none; width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; background: var(--accent-soft); color: var(--accent); font: 900 1rem/1 var(--font-head); }
@media (max-width: 640px) {
  .sr-bas > .btn-energy { width: 100%; }
  .sr-adimlar { grid-template-columns: 1fr; }
  .sr-kart { padding: var(--sp-4) var(--sp-3); }
}

/* --- İlerleme v5 ----------------------------------------------------------------------------- */
.bolge-satir { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
.bolge-satir > span:last-child { color: var(--text-muted); font-size: var(--fs-12); }

/* --- Sayfa geçişi (aynı kökenli): çıkış hızlı, giriş biraz daha uzun; toplam ≤ 300 ms ----------- */
::view-transition-old(root) { animation: 120ms ease-in both oy-vt-cik; }
::view-transition-new(root) { animation: 220ms var(--ease-out) both oy-vt-gir; }
@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root), ::view-transition-new(root) { animation: none; }
  .btn-energy::after { display: none; }
}

/* ============================================================================
   v1.5.0 Soru bankası (sorular sunucudan gelir): yükleme iskeleti, durum kutusu, cevap bekleme / hata
   Ders sayfası soru istasyonu, deneme, seviye testi ve İlerleme › Bugünkü tekrar ortak kullanır.
   ========================================================================== */
.sb-iskelet { display: grid; gap: var(--sp-4); }
.sb-isk-kart { display: grid; gap: var(--sp-3); padding: var(--sp-5); min-height: 300px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); }
.sb-isk { display: block; height: 14px; border-radius: var(--radius-sm); background: linear-gradient(90deg, var(--surface-3) 0%, var(--surface-2) 50%, var(--surface-3) 100%); background-size: 200% 100%; animation: sb-parilti 1.4s ease-in-out infinite; }
.sb-isk-ust { width: 38%; height: 18px; }
.sb-isk-satir { width: 92%; }
.sb-isk-satir.is-kisa { width: 64%; }
.sb-isk-sik { width: 100%; height: 44px; border-radius: var(--radius-md); }
@keyframes sb-parilti { from { background-position: 100% 0; } to { background-position: -100% 0; } }
.sb-durum { display: grid; gap: var(--sp-2); justify-items: start; padding: var(--sp-5); border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); }
.sb-durum p { margin: 0; color: var(--text-muted); }
.sb-durum.is-hata { border-color: color-mix(in srgb, var(--bad) 45%, var(--border)); }
.sb-durum.is-premium { border-color: color-mix(in srgb, var(--accent) 45%, var(--border)); }
.option-btn.is-bekliyor { opacity: .7; cursor: progress; }
.options-container[aria-busy="true"] .option-btn { pointer-events: none; }
.sb-cevap-hata { margin: var(--sp-2) 0 0; color: var(--bad); font-weight: 600; }
@media (prefers-reduced-motion: reduce) { .sb-isk { animation: none; } }

/* ============================================================================
   v1.9.0 Tasarım geçişi — "woow ama kaotik değil": tek odak, sakin kartlar, tutarlı başlık/boş durum.
   Yalnızca ekleme/inceltme: mevcut paylaşılan sınıflar yeniden adlandırılmadı.
   ========================================================================== */

/* 1.9.1 Profil: sol alt menü (masaüstü) / segment (telefon); app.js initProfilSekmeler */
.pf-kabuk { display: grid; gap: var(--sp-6); align-items: start; }
.pf-icerik { display: grid; gap: var(--sp-5); min-width: 0; }
.pf-icerik > .profile-layout { grid-template-columns: minmax(0, 1fr); gap: var(--sp-5); margin: 0; }
.pf-icerik > .profile-layout[hidden] { display: none; }
.pf-kabuk[data-aktif] .profile-layout > [data-pf-grup] { display: none; }
.pf-kabuk[data-aktif="hedef"] .profile-layout > [data-pf-grup="hedef"]:not([hidden]),
.pf-kabuk[data-aktif="hesap"] .profile-layout > [data-pf-grup="hesap"]:not([hidden]),
.pf-kabuk[data-aktif="veli"] .profile-layout > [data-pf-grup="veli"]:not([hidden]),
.pf-kabuk[data-aktif="topluluk"] .profile-layout > [data-pf-grup="topluluk"]:not([hidden]) { display: block; }
.pf-kabuk[data-aktif="topluluk"] .profile-layout > .pf-sorular-kart:not([hidden]) { display: flex; }
.pf-altmenu ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.pf-altmenu li[hidden] { display: none; }
.pf-altmenu-btn { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 44px; padding: 10px 14px; border: 0; border-radius: var(--radius-md); background: transparent; color: var(--text-muted); font: inherit; font-weight: 700; text-align: left; cursor: pointer; transition: background-color .15s ease, color .15s ease; }
.pf-altmenu-btn svg { width: 18px; height: 18px; flex: none; }
.pf-altmenu-btn:hover { background: var(--surface-2); color: var(--text); }
.pf-altmenu-btn.is-active { background: var(--accent-soft); color: var(--accent); }
.pf-altmenu-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.pf-kisa { display: none; }
.pf-sekmeli .profile-id { margin-bottom: var(--sp-6); }
@media (min-width: 901px) {
  .pf-kabuk { grid-template-columns: 236px minmax(0, 760px); justify-content: center; }
  .pf-sekmeli .profile-id { max-width: calc(236px + 760px + var(--sp-6)); margin-inline: auto; }
  .pf-altmenu-btn { white-space: nowrap; }
  .pf-altmenu { position: sticky; top: calc(var(--nav-h, 64px) + 24px); padding: var(--sp-2); border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow-card); }
}
@media (max-width: 900px) {
  .pf-altmenu { position: sticky; top: calc(var(--nav-h, 56px) + 4px); z-index: 5; margin: 0 calc(-1 * var(--sp-1)); padding: 4px; border-radius: var(--radius-full); background: color-mix(in srgb, var(--surface) 92%, transparent); border: 1px solid var(--border); box-shadow: var(--shadow-sm); backdrop-filter: blur(8px); }
  .pf-altmenu ul { grid-auto-flow: column; grid-auto-columns: 1fr; gap: 2px; }
  .pf-altmenu-btn { justify-content: center; min-height: 40px; padding: 8px 6px; border-radius: var(--radius-full); font-size: var(--fs-14); }
  .pf-altmenu-btn svg { display: none; }
  .pf-uzun { display: none; }
  .pf-kisa { display: inline; }
  .pf-altmenu-btn.is-active { background: var(--btn-bg); color: var(--on-btn); }
}
/* Profil › hedef ülkeler: seçili olmayan 13 ülke kompakt (yalnız ad); seçince açıklama görünür */
#profile #pf-ulkeler-group { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: var(--sp-2); }
#profile #pf-ulkeler-group .choice-card:not(:has(input:checked)) { padding-block: 10px; align-items: center; }
#profile #pf-ulkeler-group .choice-card:not(:has(input:checked)) .choice-body > span { display: none; }
#profile #pf-ulkeler-group .choice-card:has(input:checked) { grid-column: span 2; }
@media (max-width: 420px) { #profile #pf-ulkeler-group .choice-card:has(input:checked) { grid-column: 1 / -1; } }

/* 1.9.2 Çalış: sayfada tek Dede Korkut (ilk ders kartı); kart içi "kaldığın yer" kutu değil sakin satır */
.calis-grid .cd-kart:not(:first-child) .cn-tilo { display: none; }
.calis-grid .cd-kaldigin { padding: 0; background: none; border: 0; }

/* 1.9.3 Soru kartı geri bildirimi: tek sakin kutu (renk yalnız başlıkta), iç paneller çizgiyle ayrılır */
.question-card.state-correct, .question-card.state-wrong { border-left-width: 3px; }
.feedback-box.correct-box, .feedback-box.wrong-box { background: var(--surface-2); border: 1px solid var(--border); border-top: 3px solid var(--ok); }
.feedback-box.wrong-box { border-top-color: var(--bad); }
.feedback-box .remediation-panel, .feedback-box .solution-panel { background: transparent; border: 0; border-top: 1px solid var(--border); border-radius: 0; padding: var(--sp-3) 0 0; margin-top: var(--sp-3); }
.feedback-box .remediation-title, .feedback-box .solution-title { font-size: var(--fs-12); font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--text-muted); }
.feedback-box .remediation-title svg, .feedback-box .remediation-title .ico { color: var(--warn); }
.feedback-box .solution-title svg { color: var(--accent); }

/* 1.9.4 İlerleme: başlanmamış ders kartı tek satır (5 aynı boş kart yerine sakin liste) */
.course-block:has(> .course-block-head + .side-note:last-child) { padding-block: var(--sp-3); box-shadow: none; margin-bottom: var(--sp-3); }
.course-block:has(> .course-block-head + .side-note:last-child) .course-block-head { margin-bottom: 0; }
.course-block:has(> .course-block-head + .side-note:last-child) .side-note { margin: 2px 0 0; font-size: var(--fs-12); color: var(--text-muted); }
.course-block:has(> .course-block-head + .side-note:last-child) .btn-ghost { min-height: 36px; padding-block: 6px; }

/* 1.9.5 Seviye testi: form tek odak; geri sayım ince şerit, uyarı formun altında sakin not */
.sv-deadline { gap: var(--sp-3); padding: 10px var(--sp-4); margin-bottom: var(--sp-4); border-radius: var(--radius-md); }
.sv-deadline-num { font-size: 1.35rem; min-width: 0; }
.sv-deadline-txt { font-size: var(--fs-14); }
#sv-start > .sv-disclaimer.is-soft { margin: var(--sp-3) 0 0; padding: 0 var(--sp-1); background: none; border: 0; color: var(--text-muted); gap: var(--sp-2); }
#sv-start > .sv-disclaimer.is-soft svg { width: 16px; height: 16px; margin-top: 2px; color: var(--text-dim); }
#sv-start > .sv-disclaimer.is-soft p { font-size: var(--fs-14); color: var(--text-muted); }

/* 1.9.6 Sorularım: liste boşken başlıktaki "Soru sor" gizlenir — boş durumdaki tek CTA odak olur */
.sr-sayfa:has(#sorularim .bd-bos-kutu) .sr-bas > .bd-yeni-soru { display: none; }

/* 1.9.7 Bugün hero: Dede Korkut selamı zaten karşılıyor → "Hoş geldin" rozeti ve görev türü çipi tekrar; tek başlık + tek CTA kalır */
.bugun-v5 .bg-hero .bg-ilk-rozet, .bugun-v5 .bg-hero .sa-tur { display: none; }
@media (max-width: 900px) { .pf-altmenu-btn { white-space: nowrap; font-size: 13px; padding-inline: 4px; } }
#profile #pf-ulkeler-group .choice-code { white-space: nowrap; }
#profile #pf-ulkeler-group .choice-body strong { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; }
/* İlerleme › Yanlışlarım boşken "Tek oturumda çöz" birincil butonu gizlenir (çözülecek soru yok) */
.section:has(> #err-empty:not([hidden])) #err-oturum { display: none; }
/* Çalış: "Kilitli üniteler Premium ile açılır" notu yalnız ilk kartta (7 kez tekrar etmesin) */
.calis-grid .cd-kart:not(:first-child) .cn-yol__not { display: none; }
.pf-kabuk[data-aktif="topluluk"] .pf-icerik > .bd-profil-ek { order: -1; }

/* 1.9.8 Kısa sayfalarda altbilgi sayfa dibinde (şifre sıfırlama, 404, boş durumlar): altbilgi ortada yüzmez */
body:has(> main):has(> footer.footer) { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
body:has(> main):has(> footer.footer) > main { flex: 1 0 auto; width: 100%; }
body:has(> main):has(> footer.footer) > footer.footer { flex-shrink: 0; }

/* 1.9.9 Kayma önleme (CLS): navbar XP çipinin yerleşim kuralları ortak dosyada da var. canli.css'i statik yüklemeyen
   sayfalarda (deneme, premium, seviye, rota…) çip CSS gelene kadar biçimsiz kalıp menüyü 60 → 92 px'e uzatıyordu. */
.nav-xp { display: inline-flex; align-items: center; gap: 4px; flex: none; min-height: 36px; padding: 0 12px 0 8px; border-radius: var(--radius-full); background: var(--energy-soft); color: var(--energy-text); font: 800 var(--fs-14)/1 var(--font-head, system-ui, sans-serif); text-decoration: none; white-space: nowrap; }
.nav-xp svg { width: 18px; height: 18px; flex: none; }
.nav-xp [data-xp-deger] { font-variant-numeric: tabular-nums; min-width: 2ch; text-align: right; display: inline-block; }
@media (max-width: 420px) { .nav-xp { padding: 0 10px 0 6px; } .nav-xp__ek { display: none; } }

/* 1.9.10 Ders hub'ı: başlık satırında tek birincil eylem (Sürdür/Başla: Ünite N) */
.ug-panel .bg-sec-h { align-items: center; flex-wrap: wrap; }
.ug-panel .bg-sec-h .ug-ozet { display: block; margin-top: 2px; }
.ug-panel .bg-sec-h .ug-devam { color: var(--on-btn); flex: none; }
@media (max-width: 520px) { .ug-panel .bg-sec-h .ug-devam { width: 100%; justify-content: center; } }

/* 1.10.0 Zenginleştirme (ek): cevaptan sonra geri bildirim kutusunda sakin satırlar — Kavram + hesap makinesi işareti;
   İpucu / Sık hata "Daha fazla" altında (grid 0fr → 1fr yükseklik animasyonu, yerleşim zıplamaz). Ortak: ders, Bugünkü tekrar, deneme, seviye. */
.sb-ek { margin-top: var(--sp-3); padding-top: var(--sp-3); border-top: 1px solid var(--border); font-size: var(--fs-14); }
.sb-ek-ust { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 6px var(--sp-3); }
.sb-ek-ust:empty { display: none; }
.sb-ek-liste { margin: 0; display: grid; gap: 6px; min-width: 0; flex: 1 1 240px; }
.sb-ek-ust + .sb-ek-liste, .sb-ek-daha-ic > .sb-ek-liste { padding-top: 6px; }
.sb-ek-satir { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: var(--sp-2); align-items: baseline; }
.sb-ek-satir dt { font-size: var(--fs-12); font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--text-muted); }
.sb-ek-satir dd { margin: 0; color: var(--text); line-height: 1.5; overflow-wrap: anywhere; }
.sb-ek-satir.is-kavram dt { color: var(--accent); }
.sb-ek-satir.is-hata dt { color: var(--warn); }
.sb-ek-hm { display: inline-flex; align-items: center; gap: 6px; flex: none; min-height: 26px; padding: 2px 10px; border-radius: var(--radius-full); border: 1px solid var(--border);
  background: var(--surface); color: var(--text-muted); font-size: var(--fs-12); font-weight: 700; white-space: nowrap; }
.sb-ek-hm .sb-ek-ikon { flex: none; }
.sb-ek-hm.is-gerekli { color: var(--accent); border-color: color-mix(in srgb, var(--accent) 40%, var(--border)); background: var(--accent-soft); }
.sb-ek-hm.is-yardimci { color: var(--info); border-color: color-mix(in srgb, var(--info) 35%, var(--border)); }
.sb-ek-daha { display: grid; grid-template-rows: 0fr; transition: grid-template-rows var(--hiz-orta, 240ms) var(--egri-cik, ease); }
.sb-ek-daha.is-acik { grid-template-rows: 1fr; }
.sb-ek-daha-ic { min-height: 0; overflow: hidden; visibility: hidden; transition: visibility 0s linear var(--hiz-orta, 240ms); }
.sb-ek-daha.is-acik .sb-ek-daha-ic { visibility: visible; transition-delay: 0s; }
.sb-ek-btn { display: inline-flex; align-items: center; gap: 4px; min-height: 32px; margin-top: 2px; padding: 4px 2px; background: none; border: 0; border-radius: 6px;
  color: var(--accent); font: inherit; font-size: var(--fs-12); font-weight: 700; cursor: pointer; }
.sb-ek-btn:hover { text-decoration: underline; }
.sb-ek-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.sb-ek-btn svg { transition: transform var(--hiz-orta, 240ms) var(--egri-cik, ease); }
.sb-ek-btn[aria-expanded="true"] svg { transform: rotate(180deg); }
.dn-rev-body > .sb-ek, .sv-wrong-body > .sb-ek { border-top: 0; padding: var(--sp-3) var(--sp-4); border-radius: var(--radius-sm); background: var(--surface-2); border: 1px solid var(--border); }
@media (max-width: 480px) { .sb-ek-satir { grid-template-columns: minmax(0, 1fr); gap: 0; } }
@media (prefers-reduced-motion: reduce) { .sb-ek-daha, .sb-ek-daha-ic, .sb-ek-btn svg { transition: none; } }

/* 1.11.0 Yeni soru istasyonu, sorular onaylanana dek: hata değil sakin "Yakında" (kutu + ünite kartı) */
.sb-durum.is-yakinda { border-style: dashed; background: var(--surface-2); }
.sb-durum.is-yakinda strong { color: var(--text-muted); }
.ug-kart.is-yakinda { border-style: dashed; color: var(--text-muted); }
.ug-kart.is-yakinda .ug-no { background: var(--surface-3); color: var(--text-muted); }
.ug-kart.is-yakinda .ug-git { color: var(--text-muted); font-weight: 600; }

/* ===== 1.19.0 Çalış merkezi: 4 giriş (sakin, tek satır + sayı rozeti) ===== */
.calis-hub { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-3); margin: 0 0 var(--sp-6); }
.calis-hub__kart { display: flex; align-items: center; gap: var(--sp-3); padding: var(--sp-4); min-height: 76px; color: inherit; text-decoration: none; position: relative; }
.calis-hub__kart:hover { text-decoration: none; border-color: var(--border-strong); box-shadow: var(--shadow-card); }
.calis-hub__kart:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.calis-hub__ik { flex: none; width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: var(--accent-soft); color: var(--accent); }
.calis-hub__ik svg { width: 22px; height: 22px; }
.calis-hub__ik.is-tekrar { background: var(--energy-soft, #fff0e8); color: var(--energy-text, #c2410c); }
.calis-hub__ik.is-dene { background: var(--success-soft, #e8f7ef); color: var(--success, #15803d); }
.calis-hub__ik.is-hiz { background: var(--warning-soft, #fff7e0); color: var(--warning-text, #a16207); }
.calis-hub__govde { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.calis-hub__govde strong { font-size: var(--fs-16, 1rem); font-weight: 800; }
.calis-hub__govde span { font-size: var(--fs-13, .8125rem); color: var(--text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.calis-hub__rozet { position: absolute; top: 8px; right: 10px; font-size: var(--fs-12, .75rem); font-weight: 700; color: var(--text-muted);
  background: var(--surface-2, var(--bg-subtle, #f4f2fa)); border-radius: var(--radius-full, 999px); padding: 2px 8px; white-space: nowrap; }
.calis-bolum-h--satir { display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-3); flex-wrap: wrap; }
.calis-plan-link { font-weight: 700; font-size: var(--fs-14); }
.calis-not { margin: var(--sp-4) 0 var(--sp-3); color: var(--text-muted); font-size: var(--fs-14); max-width: var(--measure); }
#calis-olc { grid-template-columns: repeat(4, minmax(0, 1fr)); }
#calis-olc > :last-child { grid-column: auto; }
@media (max-width: 1100px) { #calis-olc { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) { .calis-hub { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .calis-hub { grid-template-columns: minmax(0, 1fr); gap: var(--sp-2); } .calis-hub__kart { min-height: 64px; padding: var(--sp-3) var(--sp-4); }
  #calis-olc { grid-template-columns: minmax(0, 1fr); } }
.calis-bolum { scroll-margin-top: 80px; }

/* ===== 1.19.0 Navbar: Odak başlatıcısı (odak.js düğmeyi yerleştirir; yer önceden ayrılır → kayma yok) ===== */
.nav-odak { display: inline-flex; flex: none; min-width: 36px; min-height: 36px; align-items: center; }
.nav-odak .od-baslat { min-height: 36px; padding: 6px 10px; }
@media (max-width: 520px) {
  .nav-odak .od-baslat span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .nav-odak .od-baslat { padding: 6px 9px; }
}
/* Bugün: plan kartı kahramanın içinde (ayrı blok değil) */
.bg-plan { margin-top: var(--sp-4); position: relative; z-index: 1; }
.bg-plan .pl-kart { box-shadow: none; }
.bg-baglam > #gunun-sorusu, .bg-baglam > .bg-odev { margin: 0; }
.bg-odev { padding: var(--sp-4); }
.bg-plan .pl-kart, .bg-plan .pl-kart h2, .bg-plan .pl-kart h3 { color: var(--text); text-shadow: none; }
.calis-hub__kart:has(.calis-hub__rozet:not([hidden])) .calis-hub__govde { padding-top: 10px; }
