/* ═══════════════════════════════════════════════════════════════════════════
   ACTFUL COMMUNITY — TASARIM SİSTEMİ · TOKEN KATMANI  (tokens.css)
   ───────────────────────────────────────────────────────────────────────────
   İki tema, tek imza aksan:
     · Açık  — sıcak kâğıt zemin (#f6f6f3), mürekkep siyahı metin.
     · Koyu  — gece zemini (#020305, mavi tint yok), ince grain + renksiz,
               çok hafif ışık düşümü (yalnız koyu temada).
     · Aksan — logonun Electric Blue'su (#2563EB). YALNIZ eylem ve seçili durumda.
               Logonun aqua/violet tonları yalnız işaretin içinde kalır.
     · Durum — kabul edilen cevap ve "çözüldü" yeşil durum rengidir (aksan değil).
   Tema seçimi: <html data-theme="light|dark">; seçim yoksa sistem tercihi.
   Yazı: Archivo (başlık) · Inter (gövde) · JetBrains Mono (sayı/kod) · Manrope (yalnız logo) — hepsi
   Türkçe glifli, latin + latin-ext alt kümeleri yerel woff2 (font-display: swap).
   Tüm metin/zemin çiftleri WCAG AA (≥4.5:1) ölçülerek seçildi (bkz. docs/tasarim-geo.md).
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Yazı tipleri (yerel, OFL — assets/fonts/OFL.txt) ───────────────────── */
@font-face{font-family:'Archivo';font-style:normal;font-weight:500 900;font-display:swap;
  src:url(/assets/fonts/archivo-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Archivo';font-style:normal;font-weight:500 900;font-display:swap;
  src:url(/assets/fonts/archivo-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;
  src:url(/assets/fonts/inter-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;
  src:url(/assets/fonts/inter-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 700;font-display:swap;
  src:url(/assets/fonts/jetbrainsmono-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 700;font-display:swap;
  src:url(/assets/fonts/jetbrainsmono-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
/* Manrope yalnız logo kelime işaretinde (--font-brand) */
@font-face{font-family:'Manrope';font-style:normal;font-weight:500 800;font-display:swap;
  src:url(/assets/fonts/manrope-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500 800;font-display:swap;
  src:url(/assets/fonts/manrope-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ─────────────────────────────  1 · PRIMITIVE  ───────────────────────────── */
:root {
  /* Nötr skala — hafif sıcak, mavi tint yok */
  --n-0:#ffffff;  --n-25:#fbfbf9; --n-50:#f6f6f3;  --n-100:#efefeb;
  --n-150:#e4e4df; --n-200:#d3d3cd; --n-300:#b9bab4; --n-400:#8f938e;
  --n-500:#646a66; --n-600:#4a4f4c; --n-700:#363a38; --n-800:#202322;
  --n-900:#121412; --n-950:#0b0d0c; --n-1000:#020305;

  /* İmza aksan — Actful Electric Blue (logo) */
  --accent-h:221; --accent-s:83%;
  --accent:        #2563eb;   /* beyaz üzerinde 5.17:1 */
  --accent-bright: #3b82f6;
  --accent-deep:   #1d4ed8;   /* beyaz üzerinde 6.70:1, kâğıt zeminde 6.18:1 */
  --accent-dim:    #cbd9f6;
  --accent-faint:  #eef3fe;
  --accent-glow:   rgba(37,99,235,.20);
  --accent-ink:    #ffffff;
  --accent2-h:214;
  --accent2:       #2563eb;
  --brand-gradient: var(--accent);          /* düz aksan: gradyan buton yok */
  --brand-gradient-2: var(--accent);

  /* Durum renkleri — yalnız durum için (hata, uyarı); süs olarak kullanılmaz */
  --success:#0e7c5e; --success-dim:#e6f4ef; --success-ink:#05341f;
  --warning:#8a5a00; --warning-dim:#fbf1dd; --warning-ink:#3d2905;
  --danger:#b42335;  --danger-dim:#fbe9eb;  --danger-ink:#ffffff;
  --info:#3f4441;    --info-dim:#efefeb;    --info-ink:#121412;

  /* Rol rengi — tek aile: yönetim aksanla, gerisi nötr (renk cümbüşü yok) */
  --rank-admin:#2563eb; --rank-moderator:#2563eb; --rank-kernel_dev:#2563eb;
  --rank-sec_team:#2563eb; --rank-vip:#4a4f4c; --rank-user:#4a4f4c; --rank-guest:#646a66;
  --cat-1:#4a4f4c; --cat-2:#4a4f4c; --cat-3:#4a4f4c; --cat-4:#4a4f4c; --cat-5:#4a4f4c; --cat-6:#4a4f4c;

  /* Boşluk — 4px taban; 10–12 bölüm arası, akışkan */
  --space-0:0; --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px;
  --space-5:20px; --space-6:24px; --space-7:32px; --space-8:40px; --space-9:48px;
  --space-10: clamp(40px, 31.5px + 2.25vw, 64px);
  --space-11: clamp(48px, 33.9px + 3.76vw, 88px);
  --space-12: clamp(64px, 44.3px + 5.26vw, 120px);

  /* Kırılım noktaları (belge): 480 · 768 · 1024 · 1280 — başka değer kullanılmaz */
  --container-max:1200px;
  --container-wide:1360px;
  --container-narrow:760px;
  --gutter: clamp(16px, 1.2vw + 12px, 24px);
  --tap-min:44px;
  --safe-top:env(safe-area-inset-top, 0px);
  --safe-bottom:env(safe-area-inset-bottom, 0px);
  --safe-left:env(safe-area-inset-left, 0px);
  --safe-right:env(safe-area-inset-right, 0px);
  --header-h:60px;

  /* Kabuk ölçüleri */
  --rail-w:232px;
  --aside-w:312px;

  /* Radius — sakin, tutarlı (iç = dış − dolgu) */
  --radius-xs:4px; --radius-sm:6px; --radius-md:8px; --radius-lg:12px;
  --radius-xl:16px; --radius-2xl:22px; --radius-pill:999px;

  /* Tipografi — tam 3 aile */
  --font-display:'Archivo','Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  /* Logo yazısı (Actful Community kelime işareti) — yalnız marka öğelerinde */
  --font-brand:'Manrope','Inter',system-ui,sans-serif;
  --font-body:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,'SFMono-Regular','Cascadia Code',monospace;

  --text-xs:12px;  --lh-xs:1.5;
  --text-sm:13px;  --lh-sm:1.55;
  --text-base:15px;--lh-base:1.62;
  --text-md:   clamp(16px, 15.6px + 0.09vw, 17px); --lh-md:1.5;
  --text-lg:   clamp(18px, 17.3px + 0.19vw, 20px); --lh-lg:1.34;
  --text-xl:   clamp(21px, 19.6px + 0.38vw, 25px); --lh-xl:1.2;
  --text-2xl:  clamp(25px, 22.2px + 0.75vw, 33px); --lh-2xl:1.12;
  --text-3xl:  clamp(30px, 24.7px + 1.41vw, 44px); --lh-3xl:1.04;
  --text-4xl:  clamp(36px, 27.5px + 2.25vw, 60px); --lh-4xl:1.0;
  --text-5xl:  clamp(40px, 25.9px + 3.76vw, 80px); --lh-5xl:0.96;

  --fw-normal:400; --fw-medium:500; --fw-semibold:600; --fw-bold:700; --fw-black:800; --fw-heavy:900;
  --tracking-tight:-0.028em; --tracking-snug:-0.012em; --tracking-normal:0; --tracking-wide:0.04em; --tracking-caps:0.12em;

  --ease-standard:cubic-bezier(.4,0,.2,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-elastic:cubic-bezier(.34,1.4,.5,1);
  --duration-fast:130ms; --duration-base:220ms; --duration-slow:420ms;

  --z-base:1; --z-sticky:100; --z-drawer:200; --z-dropdown:300; --z-modal:400; --z-toast:500;
}

/* ───────────────────────  2 · SEMANTIC · AÇIK (varsayılan)  ─────────────── */
:root {
  color-scheme: light;

  --color-bg:              #f6f6f3;
  --color-bg-gradient:     none;
  --color-surface:         #ffffff;
  --color-surface-raised:  #ffffff;
  --color-surface-overlay: #ffffff;
  --color-surface-sunken:  #efefeb;
  --color-surface-hover:   #f1f1ed;

  --color-border:          #e4e4df;
  --color-border-strong:   #d3d3cd;
  --color-border-accent:   var(--accent-dim);
  --color-hairline:        rgba(255,255,255,.7);

  --color-text-primary:    #121412;
  --color-text-secondary:  #3f4441;
  --color-text-muted:      #646a66;
  --color-text-inverse:    #ffffff;
  --color-text-link:       var(--accent-deep);

  --color-accent:          var(--accent);
  --color-accent-hover:    var(--accent-deep);
  --color-accent-contrast: #ffffff;
  --color-accent-soft:     var(--accent-faint);
  --color-accent-text:     var(--accent-deep);   /* yumuşak zemin üstünde aksan metni */

  --color-danger:var(--danger);   --color-danger-soft:var(--danger-dim);
  --color-success:var(--success); --color-success-soft:var(--success-dim);
  --color-success-contrast:#ffffff;   /* yeşil üstünde işaret/metin */
  --color-warning:var(--warning); --color-warning-soft:var(--warning-dim);
  --color-info:var(--info);       --color-info-soft:var(--info-dim);

  /* Mürekkep levhası — Actful kartı (her iki temada koyu) */
  --slab-bg:#0b0d0c; --slab-text:#eef1ef; --slab-muted:#9aa19d; --slab-border:#1f2321; --slab-accent:#60a5fa;

  --elev-0:none;
  --elev-1:0 1px 2px rgba(18,20,18,.05);
  --elev-2:0 2px 8px rgba(18,20,18,.06), 0 1px 2px rgba(18,20,18,.04);
  --elev-3:0 12px 32px rgba(18,20,18,.10), 0 2px 6px rgba(18,20,18,.05);
  --elev-4:0 24px 60px rgba(18,20,18,.16), 0 6px 16px rgba(18,20,18,.07);
  --glow-accent:0 6px 18px var(--accent-glow);
  --focus-ring:0 0 0 2px var(--color-bg), 0 0 0 4px var(--accent);

  --grain:none;
  --page-glow:none;
}

/* ───────────────────────  3 · SEMANTIC · KOYU  ─────────────────────────────
   İki kez yazılır: elle seçim (data-theme) ve seçim yokken sistem tercihi. */
:root[data-theme="dark"], :root[data-theme="deep"] {
  color-scheme: dark;
  --color-bg:#020305;
  --color-surface:#0b0c0d; --color-surface-raised:#111314; --color-surface-overlay:#141617;
  --color-surface-sunken:#070809; --color-surface-hover:#16181a;
  --color-border:#1d2021; --color-border-strong:#2b2f30; --color-border-accent:#1e3a6e; --color-hairline:rgba(255,255,255,.04);
  --color-text-primary:#ecefed; --color-text-secondary:#b4b9b6; --color-text-muted:#8b918d;
  --color-text-inverse:#020305; --color-text-link:#60a5fa;
  --accent:#3b82f6; --accent-bright:#60a5fa; --accent-deep:#2563eb; --accent-dim:#1e3a6e; --accent-faint:#0c1830;
  --accent-glow:rgba(59,130,246,.22);
  --color-accent:#2563eb; --color-accent-hover:#1d4ed8; --color-accent-contrast:#ffffff;
  --color-accent-soft:#0c1a33; --color-accent-text:#8ab4ff;
  --success:#34c48f; --success-dim:#0b2a20; --color-success-contrast:#03140e; --warning:#f2c063; --warning-dim:#2b2106;
  --danger:#ff7a85; --danger-dim:#331016; --info:#b4b9b6; --info-dim:#16181a;
  --color-danger:var(--danger); --color-danger-soft:var(--danger-dim);
  --color-success:var(--success); --color-success-soft:var(--success-dim);
  --color-warning:var(--warning); --color-warning-soft:var(--warning-dim);
  --color-info:var(--info); --color-info-soft:var(--info-dim);
  --rank-admin:#60a5fa; --rank-moderator:#60a5fa; --rank-kernel_dev:#60a5fa; --rank-sec_team:#60a5fa;
  --rank-vip:#b4b9b6; --rank-user:#b4b9b6; --rank-guest:#8b918d;
  --slab-bg:#0d0f12; --slab-border:#1f2630;
  --elev-1:0 1px 2px rgba(0,0,0,.6); --elev-2:0 6px 20px rgba(0,0,0,.5);
  --elev-3:0 16px 40px rgba(0,0,0,.6); --elev-4:0 32px 80px rgba(0,0,0,.7);
  --focus-ring:0 0 0 2px var(--color-bg), 0 0 0 4px #60a5fa;
  /* ~%3 SVG grain + renksiz, çok hafif ışık düşümü — yalnız koyu temada (zemine mavi tint vermez) */
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --page-glow:radial-gradient(1100px 620px at 12% -12%, rgba(255,255,255,.035), transparent 62%),
              radial-gradient(900px 540px at 100% 0%, rgba(255,255,255,.02), transparent 60%);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    color-scheme: dark;
    --color-bg:#020305;
    --color-surface:#0b0c0d; --color-surface-raised:#111314; --color-surface-overlay:#141617;
    --color-surface-sunken:#070809; --color-surface-hover:#16181a;
    --color-border:#1d2021; --color-border-strong:#2b2f30; --color-border-accent:#1e3a6e; --color-hairline:rgba(255,255,255,.04);
    --color-text-primary:#ecefed; --color-text-secondary:#b4b9b6; --color-text-muted:#8b918d;
    --color-text-inverse:#020305; --color-text-link:#60a5fa;
    --accent:#3b82f6; --accent-bright:#60a5fa; --accent-deep:#2563eb; --accent-dim:#1e3a6e; --accent-faint:#0c1830;
    --accent-glow:rgba(59,130,246,.22);
    --color-accent:#2563eb; --color-accent-hover:#1d4ed8; --color-accent-contrast:#ffffff;
    --color-accent-soft:#0c1a33; --color-accent-text:#8ab4ff;
    --success:#34c48f; --success-dim:#0b2a20; --color-success-contrast:#03140e; --warning:#f2c063; --warning-dim:#2b2106;
    --danger:#ff7a85; --danger-dim:#331016; --info:#b4b9b6; --info-dim:#16181a;
    --color-danger:var(--danger); --color-danger-soft:var(--danger-dim);
    --color-success:var(--success); --color-success-soft:var(--success-dim);
    --color-warning:var(--warning); --color-warning-soft:var(--warning-dim);
    --color-info:var(--info); --color-info-soft:var(--info-dim);
    --rank-admin:#60a5fa; --rank-moderator:#60a5fa; --rank-kernel_dev:#60a5fa; --rank-sec_team:#60a5fa;
    --rank-vip:#b4b9b6; --rank-user:#b4b9b6; --rank-guest:#8b918d;
    --slab-bg:#0d0f12; --slab-border:#1f2630;
    --elev-1:0 1px 2px rgba(0,0,0,.6); --elev-2:0 6px 20px rgba(0,0,0,.5);
    --elev-3:0 16px 40px rgba(0,0,0,.6); --elev-4:0 32px 80px rgba(0,0,0,.7);
    --focus-ring:0 0 0 2px var(--color-bg), 0 0 0 4px #60a5fa;
    --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    --page-glow:radial-gradient(1100px 620px at 12% -12%, rgba(255,255,255,.035), transparent 62%),
                radial-gradient(900px 540px at 100% 0%, rgba(255,255,255,.02), transparent 60%);
  }
}
