/*! Metastaz Design 2.5.4 — Metastaz web modüllerinin ortak tasarım standardı — YALNIZ belirteçler (yazı tipini modül kendi yükler: @font-face "Metastaz Sans").
 * TEK KAYNAK: C:/dev/metastaz-design (kaynak/belirtecler.json + kaynak/bilesenler.css). Bu dosya üretilir, elle düzeltilmez.
 * Belge: C:/dev/stazos/docs/tasarim/metastaz-design.md  ·  Denetim: python C:/dev/metastaz-design/denetim/denetle.py
 * Sınıflar "mz-" önekli; tema sistem temasını izler, <html data-theme="light|dark"> zorlar. Yazı Metastaz Sans (fonts/).
 */
:root {
  color-scheme: light dark;
  /* --- renk (açık) --- */
  --mz-bg: #F2F2F7;
  --mz-bg-plain: #FFFFFF;
  --mz-surface: #FFFFFF;
  --mz-elevated: #FFFFFF;
  --mz-elevated-2: #FFFFFF;
  --mz-fill: #E9E9EE;
  --mz-ctl-track: rgba(120, 120, 128, 0.2);
  --mz-field-bg: #FFFFFF;
  --mz-field-border: #86868B;
  --mz-seg-on: #FFFFFF;
  --mz-press: rgba(0, 0, 0, 0.059);
  --mz-text: #111113;
  --mz-body: #3A3A40;
  --mz-muted: #6E6E73;
  --mz-off: #8E8E93;
  --mz-hairline: #C6C6C8;
  --mz-border: rgba(60, 60, 67, 0.302);
  --mz-primary: #0071E3;
  --mz-primary-fill: #0071E3;
  --mz-switch-on: #0077F0;
  --mz-on-primary: #FFFFFF;
  --mz-on-tone: #FFFFFF;
  --mz-link: #0066CC;
  --mz-tint: rgba(0, 113, 227, 0.122);
  --mz-danger: #FF3B30;
  --mz-danger-text: #D70015;
  --mz-ok: #34C759;
  --mz-ok-text: #1F7A35;
  --mz-wait: #FF9F0A;
  --mz-wait-text: #C93400;
  --mz-scrim: rgba(0, 0, 0, 0.2);
  --mz-toast-bg: #FFFFFF;
  --mz-toast-text: #111113;
  --mz-icon-edge: rgba(0, 0, 0, 0.078);
  --mz-t-blue: #0040DD;
  --mz-t-indigo: #3634A3;
  --mz-t-purple: #8944AB;
  --mz-t-pink: #D30F45;
  --mz-t-red: #D70015;
  --mz-t-orange: #C93400;
  --mz-t-yellow: #B25000;
  --mz-t-green: #248A3D;
  --mz-t-cyan: #0071A4;
  --mz-t-gray: #6C6C70;
  --mz-sheet-bg: #F2F2F7;
  --mz-sheet-surface: #FFFFFF;
  --mz-field: var(--mz-fill);  /* 1.0 adı */
  --mz-float: 0 0 0 .5px rgba(0, 0, 0, .08), 0 10px 30px rgba(0, 0, 0, .14);
  --mz-card-shadow: 0 2px 10px rgba(0, 0, 0, .08), 0 0 0 .5px rgba(0, 0, 0, .04); --mz-hairline-w: 1px; --mz-icon-stroke: 2.0;  /* sahip seçimi tur 2 */
  /* --- köşe (seçenek B) --- */
  --mz-r-xs: 8px; --mz-r-s: 12px; --mz-r-m: 16px; --mz-r-l: 17px; --mz-r-full: 999px;
  --mz-r-card: var(--mz-r-l); --mz-r-ctl: var(--mz-r-m); --mz-r-alert: var(--mz-r-l); --mz-r-chip: var(--mz-r-full);
  --mz-r-sheet: 26px;  /* alt sayfa üst köşesi (sahip seçimi 2026-10-07: 26 + tutamak) */
  --mz-r-kisa: 14px;  /* oranlı köşe: tek satırlık kısa kart/grup (Labs 2026-10-08: 52 px → 14) */
  --mz-r-ic: 16px; --mz-r-field: 13px;  /* Labs Tune 2026-10-11: kart içindeki düğme/segment SABİT 16 (eş merkezli kural iptal), yazı alanı 13 */
  --mz-r-ic-min: var(--mz-r-ic);  /* 2.5.1 adı (eş merkezli taban) — artık sabit iç köşe */
  --mz-radius-card: var(--mz-r-card); --mz-radius-btn: var(--mz-r-ctl); --mz-radius-field: var(--mz-r-ctl);  /* 0.1 adları */
  /* --- boşluk: 4'lük ritim (16 altı 2'lik ince ayar) --- */
  --mz-s1: 4px; --mz-s2: 8px; --mz-s3: 12px; --mz-s4: 16px; --mz-s5: 20px; --mz-s6: 24px; --mz-s7: 28px; --mz-s8: 32px; --mz-s10: 40px; --mz-s12: 48px; --mz-s16: 64px; --mz-s20: 80px;
  --mz-edge: 25px; --mz-pad: 21px; --mz-gap-group: 34px; --mz-gap-stack: 21px;
  --mz-gap-title-top: 31px; --mz-gap-title: 9px; --mz-gap-icon: 13px; --mz-gap-btn: 13px;  /* ilişki boşlukları (Labs Tune 2026-10-11) */
  --mz-pad-top: 15px; --mz-pad-bottom: 18px; --mz-pad-optik: 5px;  /* kart iç üst/alt (optik 20/23; yazı dışı ilk/son öğe --mz-pad-optik kadar içeri) */
  --mz-row-pad: 21px; --mz-row-sub-top: 16px; --mz-gap-card-title: 3px; --mz-gap-head: 31px;
  --mz-gap-field-label: 7px; --mz-gap-field: 18px; --mz-gap-durum-icon: 28px; --mz-gap-durum-text: 11px;
  --mz-hero-icon: 44px; --mz-hero-pad: 17px; --mz-hero-gap: 16px;  /* özet (hero) kartı (Tune tur 3) */
  --mz-ders-gap-title: 10px; --mz-ders-gap-p: 16px; --mz-ders-gap-li: 9px;  /* ders/okuma (Tune tur 4) */
  --mz-maxw: 680px; --mz-maxw-form: 440px;
  /* --- kontrol boyları (dokunma en az 44) --- */
  --mz-control: 55px; --mz-control-l: 55px; --mz-control-m: 44px; --mz-control-s: 32px; --mz-hit: 44px;
  --mz-row: 55px; --mz-row-sub: 64px; --mz-bar: 44px; --mz-tabbar: 64px; --mz-field-h: 47px;
  --mz-tab-icon: 27px; --mz-tab-label: 14px;  /* alt sekme çubuğu (Tune tur 5) */
  --mz-safe-t: env(safe-area-inset-top, 0px); --mz-safe-b: env(safe-area-inset-bottom, 0px);
  --mz-sayfa-ust: calc(var(--mz-safe-t) + 50px);  /* 2.5.4 TEK sayfa üstü: kök sayfada büyük başlığın üstü (Tune Tur 6 → 50) */
  --mz-ust: calc(var(--mz-safe-t) + 8px); --mz-cubuk-baslik: 8px;  /* çubuk/geri satırının üstü; büyük başlık satırın altında */
  --mz-ust-arac: calc(var(--mz-safe-t) + 16px); --mz-ust-logo: calc(var(--mz-safe-t) + 48px);  /* yalnız arama/araç çubuğu; logolu tanıtım/giriş */
  /* --- yazı --- */
  --mz-font: "Metastaz Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --mz-w-body: 560; --mz-w-row: 560; --mz-w-emph: 640; --mz-w-title: 780; --mz-w-large: 800; --mz-w-button: 600; --mz-w-section: 680; --mz-w-card: 760;  /* ağırlık (Labs Tune 2026-10-11: gövde 560, bölüm başlığı 680, kart başlığı 760) */
  --mz-type-display-4xl: 800 120px/120px var(--mz-font); --mz-ls-display-4xl: -0.04em;
  --mz-type-display-3xl: 800 96px/100px var(--mz-font); --mz-ls-display-3xl: -0.04em;
  --mz-type-display-2xl: 800 80px/84px var(--mz-font); --mz-ls-display-2xl: -0.03em;
  --mz-type-display-xl: 800 64px/68px var(--mz-font); --mz-ls-display-xl: -0.03em;
  --mz-type-display-l: 800 56px/60px var(--mz-font); --mz-ls-display-l: -0.022em;
  --mz-type-display-m: 800 48px/52px var(--mz-font); --mz-ls-display-m: -0.022em;
  --mz-type-display: 800 44px/48px var(--mz-font); --mz-ls-display: -0.022em;
  --mz-type-large-title: 800 29px/35px var(--mz-font); --mz-ls-large-title: -0.02em;
  --mz-type-title1: 780 28px/34px var(--mz-font); --mz-ls-title1: -0.02em;
  --mz-type-title2: 780 22px/28px var(--mz-font); --mz-ls-title2: -0.012em;
  --mz-type-title3: 780 20px/25px var(--mz-font); --mz-ls-title3: -0.012em;
  --mz-type-ders-baslik: 800 23px/28px var(--mz-font); --mz-ls-ders-baslik: -0.018em;
  --mz-type-bolum-baslik: 680 18px/23px var(--mz-font); --mz-ls-bolum-baslik: -0.012em;
  --mz-type-reading-q: 560 20px/30px var(--mz-font); --mz-ls-reading-q: -0.012em;
  --mz-type-reading: 560 19px/28px var(--mz-font); --mz-ls-reading: -0.012em;
  --mz-type-headline: 640 17px/22px var(--mz-font); --mz-ls-headline: -0.012em;
  --mz-type-body: 560 17px/22px var(--mz-font); --mz-ls-body: -0.012em;
  --mz-type-callout: 560 16px/21px var(--mz-font); --mz-ls-callout: -0.008em;
  --mz-type-ders: 560 16px/21px var(--mz-font); --mz-ls-ders: -0.008em;
  --mz-type-sekme: 560 14px/17px var(--mz-font); --mz-ls-sekme: -0.008em;
  --mz-type-subhead: 560 15px/20px var(--mz-font); --mz-ls-subhead: -0.008em;
  --mz-type-footnote: 560 13px/18px var(--mz-font); --mz-ls-footnote: 0em;
  --mz-type-caption: 560 12px/16px var(--mz-font); --mz-ls-caption: 0em;
  --mz-type-caption2: 560 11px/13px var(--mz-font); --mz-ls-caption2: 0em;
  /* --- hareket --- */
  --mz-dur: 220ms; --mz-dur-out: 160ms; --mz-dur-sheet: 320ms; --mz-dur-page: 350ms;
  --mz-ease: cubic-bezier(.2,.8,.2,1); --mz-ease-out: cubic-bezier(.4,0,1,1); --mz-ease-sheet: cubic-bezier(.32,.72,0,1); --mz-ease-page: cubic-bezier(.32,.72,0,1);
  --mz-slider-track: 4px; --mz-slider-thumb: 28px; --mz-step-h: 4px; --mz-progress-h: 6px;  /* sahip seçimi tur 4 */
  --mz-focus: 3px;
}
/* koyu: sistem teması (zorlanmış açık hariç) + zorlanmış koyu */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --mz-bg: #000000;
    --mz-bg-plain: #000000;
    --mz-surface: #1C1C1E;
    --mz-elevated: #1C1C1E;
    --mz-elevated-2: #2C2C2E;
    --mz-fill: #2C2C2E;
    --mz-ctl-track: rgba(120, 120, 128, 0.361);
    --mz-field-bg: #1C1C1E;
    --mz-field-border: #7C7C82;
    --mz-seg-on: #636366;
    --mz-press: rgba(255, 255, 255, 0.078);
    --mz-text: #F5F5F7;
    --mz-body: #C4C4C6;
    --mz-muted: #9898A0;
    --mz-off: #8E8E93;
    --mz-hairline: rgba(255, 255, 255, 0.149);
    --mz-border: rgba(235, 235, 245, 0.22);
    --mz-primary: #0071E3;
    --mz-primary-fill: #0071E3;
    --mz-switch-on: #0077F0;
    --mz-on-primary: #FFFFFF;
    --mz-on-tone: #000000;
    --mz-link: #2997FF;
    --mz-tint: rgba(0, 113, 227, 0.2);
    --mz-danger: #FF453A;
    --mz-danger-text: #FF6961;
    --mz-ok: #30D158;
    --mz-ok-text: #30D158;
    --mz-wait: #FF9F0A;
    --mz-wait-text: #FF9F0A;
    --mz-scrim: rgba(0, 0, 0, 0.502);
    --mz-toast-bg: #2C2C2E;
    --mz-toast-text: #F5F5F7;
    --mz-icon-edge: rgba(255, 255, 255, 0.161);
    --mz-t-blue: #0A84FF;
    --mz-t-indigo: #7D7AFF;
    --mz-t-purple: #BF5AF2;
    --mz-t-pink: #FF375F;
    --mz-t-red: #FF453A;
    --mz-t-orange: #FF9F0A;
    --mz-t-yellow: #FFD60A;
    --mz-t-green: #30D158;
    --mz-t-cyan: #64D2FF;
    --mz-t-gray: #8E8E93;
    --mz-sheet-bg: #1C1C1E;
    --mz-sheet-surface: #2C2C2E;
    --mz-float: 0 0 0 .5px rgba(255, 255, 255, .10), 0 10px 30px rgba(0, 0, 0, .50);
    --mz-card-shadow: 0 0 0 .5px rgba(255, 255, 255, .08);
  }
}
:root[data-theme="dark"] {
  --mz-bg: #000000;
  --mz-bg-plain: #000000;
  --mz-surface: #1C1C1E;
  --mz-elevated: #1C1C1E;
  --mz-elevated-2: #2C2C2E;
  --mz-fill: #2C2C2E;
  --mz-ctl-track: rgba(120, 120, 128, 0.361);
  --mz-field-bg: #1C1C1E;
  --mz-field-border: #7C7C82;
  --mz-seg-on: #636366;
  --mz-press: rgba(255, 255, 255, 0.078);
  --mz-text: #F5F5F7;
  --mz-body: #C4C4C6;
  --mz-muted: #9898A0;
  --mz-off: #8E8E93;
  --mz-hairline: rgba(255, 255, 255, 0.149);
  --mz-border: rgba(235, 235, 245, 0.22);
  --mz-primary: #0071E3;
  --mz-primary-fill: #0071E3;
  --mz-switch-on: #0077F0;
  --mz-on-primary: #FFFFFF;
  --mz-on-tone: #000000;
  --mz-link: #2997FF;
  --mz-tint: rgba(0, 113, 227, 0.2);
  --mz-danger: #FF453A;
  --mz-danger-text: #FF6961;
  --mz-ok: #30D158;
  --mz-ok-text: #30D158;
  --mz-wait: #FF9F0A;
  --mz-wait-text: #FF9F0A;
  --mz-scrim: rgba(0, 0, 0, 0.502);
  --mz-toast-bg: #2C2C2E;
  --mz-toast-text: #F5F5F7;
  --mz-icon-edge: rgba(255, 255, 255, 0.161);
  --mz-t-blue: #0A84FF;
  --mz-t-indigo: #7D7AFF;
  --mz-t-purple: #BF5AF2;
  --mz-t-pink: #FF375F;
  --mz-t-red: #FF453A;
  --mz-t-orange: #FF9F0A;
  --mz-t-yellow: #FFD60A;
  --mz-t-green: #30D158;
  --mz-t-cyan: #64D2FF;
  --mz-t-gray: #8E8E93;
  --mz-sheet-bg: #1C1C1E;
  --mz-sheet-surface: #2C2C2E;
  --mz-float: 0 0 0 .5px rgba(255, 255, 255, .10), 0 10px 30px rgba(0, 0, 0, .50);
  --mz-card-shadow: 0 0 0 .5px rgba(255, 255, 255, .08);
}
@media (min-width: 768px) { :root { --mz-edge: 32px; } }
/* yüksek karşıtlık (erişilebilirlik seçeneği; iOS Increase Contrast karşılığı) */
:root.mz-yuksek { --mz-body: #1C1C1E; --mz-muted: #3A3A3F; --mz-hairline: rgba(0, 0, 0, 0.278); --mz-fill: #DCDCE2; --mz-link: #0040DD; --mz-field: #DCDCE2; }
@media (prefers-color-scheme: dark) { :root.mz-yuksek:not([data-theme="light"]) { --mz-body: #EDEDF0; --mz-muted: #C4C4C9; --mz-hairline: rgba(255, 255, 255, 0.322); --mz-fill: #3A3A3C; --mz-link: #5AB0FF; --mz-field: #3A3A3C; } }
:root.mz-yuksek[data-theme="dark"] { --mz-body: #EDEDF0; --mz-muted: #C4C4C9; --mz-hairline: rgba(255, 255, 255, 0.322); --mz-fill: #3A3A3C; --mz-link: #5AB0FF; --mz-field: #3A3A3C; }
.mz-temel, .mz { font-family: var(--mz-font); }
b, strong { font-weight: 640; }
