/* ============================================================================
   FELOXAC PUBLIC SKIN (docs.php, scanner.php) -- 2026-09-10
   ----------------------------------------------------------------------------
   Giris gerektirmeyen sayfalar panelin tasarim dilini (skin v6 / Vision UI)
   kullanir: ayni tema token'lari, Outfit + JetBrains Mono, cam kartlar (--fac-card),
   ic paneller (--fac-in), gradyanli birincil dugme (--fac-btn-grad / --fac-btn-ink).
   Tema, panelle AYNI localStorage anahtarindan (fac_theme) okunur; secim yoksa
   :root (koyu mavi). Token bloklari skin.css'ten uretilir:
       node tools/gen-public-theme.js
   ============================================================================ */

/* @tokens-start -- URETILMIS, elle duzenleme: node tools/gen-public-theme.js */
:root{
  /* KOYU MAVI (varsayilan) */
  --fac-page:#05091b;
  --fac-grad-page:linear-gradient(159.02deg,#070d24 14.25%,#04071a 56.45%,#01030c 86.14%);
  --fac-card:linear-gradient(127.09deg,rgba(4,9,28,.96) 19.41%,rgba(7,12,32,.55) 76.65%);
  --fac-in:linear-gradient(126.97deg,rgba(3,7,22,.82) 28.26%,rgba(6,11,28,.78) 91.2%);
  --fac-acc-grad:linear-gradient(310deg,#1e5eff 0%,#4a9bff 100%);
  --fac-btn-grad:linear-gradient(310deg,#1a5fe0 0%,#1547b8 100%);
  --fac-btn-ink:#ffffff;
  /* Ikon kutusu koyu mavide --fac-acc-grad idi; acik ucta (#4a9bff) beyaz ikon
     2.83:1 dusuyordu (ikon icin alt sinir 3:1). Acik durak koyulastirildi. */
  --fac-ic-bg:linear-gradient(310deg,#1e5eff 0%,#3c8bff 100%); --fac-ic-ink:#ffffff;
  --fac-help-grad:linear-gradient(127deg,#4318ff 0%,#0a5fd6 62%,#0a6ff0 100%);
  --fac-lite-1:rgba(30,94,255,.20);
  --fac-lite-2:rgba(20,50,180,.16);

  --bg:#05091b; --bg-2:#070d24; --surface:#0b1024; --surface-2:#121936; --surface-3:#1a2246;
  --line:rgba(255,255,255,.11); --line-2:rgba(255,255,255,.2);
  --text:#ffffff; --text-2:#c9d2ea; --text-3:#9aa6c4; --text-4:#9aa6c4;
  --accent-rgb:43,123,255;
  --accent:#2b7bff; --accent-2:#4a9bff; --accent-bg:rgba(43,123,255,.10); --acc-ink:#ffffff;
  --ok:#12c98b; --ok-bg:rgba(18,201,139,.14);
  --warn:#ffc061; --warn-bg:rgba(255,192,97,.14);
  --bad:#ff6b6b; --bad-bg:rgba(216,31,42,.18);
  --info:#4a9bff; --info-bg:rgba(74,155,255,.14);
  --gold:#ffc061; --gold-2:#ffd79a; --gold-bg:rgba(255,192,97,.13); --gold-line:rgba(255,192,97,.32);
  --r-sm:12px; --r-md:16px; --r-lg:20px;

  /* assets/style.css takma adlari — MEMORY: bunlar yeniden tanimlanmazsa
     eski yesil/mavimsi degerlerde kalir ve "renk farklari" olarak geri doner */
  --bg-primary:var(--bg); --bg-secondary:var(--bg-2); --bg-tertiary:var(--surface);
  --bg-card:var(--surface); --bg-card-hover:var(--surface-2); --bg-elevated:var(--surface-2);
  --bg-input:var(--surface-2); --bg-sidebar:var(--bg-2);
  --text-primary:var(--text); --text-secondary:var(--text-2); --text-muted:var(--text-3);
  --text-link:var(--accent); --accent-hover:var(--accent-2);
  --accent-bright:var(--accent-2); --accent-dim:var(--accent-bg); --accent-glow:var(--accent-bg);
  --accent-gradient:var(--fac-acc-grad);
  --success:var(--ok); --success-dim:var(--ok-bg); --success-glow:var(--ok-bg);
  --warning:var(--warn); --warning-dim:var(--warn-bg);
  --danger:var(--bad); --danger-dim:var(--bad-bg);
  --border:var(--line); --border-light:var(--line-2); --border-accent:var(--accent);
  --shadow:0 20px 50px -30px rgba(0,0,0,.9);
  --shadow-lg:0 30px 70px -30px rgba(0,0,0,1);
  --shadow-purple:0 20px 50px -30px rgba(0,0,0,.9);
  --shadow-glow:0 0 0 1px rgba(255,255,255,.05);
  --radius:var(--r-lg); --radius-sm:var(--r-sm); --radius-lg:var(--r-lg);
}
html[data-theme="gold"]{
  --fac-page:#000000;
  --fac-grad-page:linear-gradient(159.02deg,#0c0c0c 14.25%,#050505 56.45%,#000000 86.14%);
  --fac-card:linear-gradient(127.09deg,rgba(21,21,22,.96) 19.41%,rgba(12,12,13,.55) 76.65%);
  --fac-in:linear-gradient(126.97deg,rgba(26,26,28,.86) 28.26%,rgba(16,16,17,.8) 91.2%);
  --fac-acc-grad:linear-gradient(310deg,#d9a520 0%,#f2cf6b 100%);
  --fac-btn-grad:linear-gradient(310deg,#e0ad2a 0%,#c48f12 100%);
  --fac-btn-ink:#1a1305;
  --fac-ic-bg:var(--fac-acc-grad); --fac-ic-ink:#1a1305;
  --fac-help-grad:linear-gradient(127deg,#8a6410 0%,#c48f12 62%,#e0ad2a 100%);
  --fac-lite-1:rgba(255,255,255,.055); --fac-lite-2:rgba(255,255,255,.03);
  --bg:#000000; --bg-2:#0a0a0b; --surface:#131314; --surface-2:#1c1c1e; --surface-3:#26262a;
  --line:rgba(255,255,255,.13); --line-2:rgba(255,255,255,.24);
  --text:#ffffff; --text-2:#c9c9cf; --text-3:#9d9da3; --text-4:#9d9da3;
  --accent-rgb:230,181,61;
  --accent:#e6b53d; --accent-2:#f2cf6b; --accent-bg:rgba(230,181,61,.15); --acc-ink:#1a1305;
  --ok:#37d67a; --ok-bg:rgba(55,214,122,.15);
  --warn:#ff9a3d; --warn-bg:rgba(255,154,61,.15);
  --bad:#ff6b6b; --bad-bg:rgba(217,45,45,.18);
  --info:#c9c9cf; --info-bg:rgba(201,201,207,.12);
  --gold:#e6b53d; --gold-2:#f2cf6b; --gold-bg:rgba(230,181,61,.13); --gold-line:rgba(230,181,61,.34);
}
html[data-theme="space"]{
  --fac-page:#1c1c1f;
  --fac-grad-page:linear-gradient(159.02deg,#2c2c31 14.25%,#1d1d21 56.45%,#0f0f12 86.14%);
  --fac-card:linear-gradient(127.09deg,rgba(39,39,44,.94) 19.41%,rgba(29,29,33,.55) 76.65%);
  --fac-in:linear-gradient(126.97deg,rgba(46,46,52,.84) 28.26%,rgba(34,34,39,.8) 91.2%);
  --fac-acc-grad:linear-gradient(310deg,#aeb7c9 0%,#d5dbe6 100%);
  --fac-btn-grad:linear-gradient(310deg,#a2abbf 0%,#8d97ad 100%);
  --fac-btn-ink:#16171b;
  /* acik gri dolgu buyuk kutuda kar gibi parliyor; koyu kutu + acik ikon */
  --fac-ic-bg:linear-gradient(310deg,#34343b 0%,#43434c 100%); --fac-ic-ink:#e8ecf5;
  --fac-help-grad:linear-gradient(127deg,#3a3a42 0%,#4c4c57 62%,#5d5d6a 100%);
  --fac-lite-1:rgba(150,162,190,.12); --fac-lite-2:rgba(120,130,160,.09);
  --bg:#1c1c1f; --bg-2:#232328; --surface:#27272c; --surface-2:#2f2f36; --surface-3:#3a3a42;
  --line:rgba(255,255,255,.12); --line-2:rgba(255,255,255,.22);
  --text:#ffffff; --text-2:#ccd1db; --text-3:#a8adb8; --text-4:#a8adb8;
  --accent-rgb:184,192,208;
  --accent:#b8c0d0; --accent-2:#d5dbe6; --accent-bg:rgba(184,192,208,.15); --acc-ink:#16171b;
  --ok:#4fd39a; --ok-bg:rgba(79,211,154,.15);
  --warn:#f0c069; --warn-bg:rgba(240,192,105,.15);
  --bad:#f57b7b; --bad-bg:rgba(201,75,75,.2);
  --info:#a8c0d8; --info-bg:rgba(168,192,216,.14);
  --gold:#f0c069; --gold-2:#f7dca4; --gold-bg:rgba(240,192,105,.13); --gold-line:rgba(240,192,105,.32);
}
html[data-theme="black"]{
  --fac-page:#000000;
  --fac-grad-page:linear-gradient(159.02deg,#0c0c0c 14.25%,#050505 56.45%,#000000 86.14%);
  --fac-card:linear-gradient(127.09deg,rgba(21,21,22,.96) 19.41%,rgba(12,12,13,.55) 76.65%);
  --fac-in:linear-gradient(126.97deg,rgba(26,26,28,.86) 28.26%,rgba(16,16,17,.8) 91.2%);
  --fac-acc-grad:linear-gradient(310deg,#ffffff 0%,#c9c9ce 100%);
  --fac-btn-grad:linear-gradient(310deg,#f2f2f4 0%,#d8d8de 100%);
  --fac-btn-ink:#0a0a0b;
  /* --accent beyaz; dolgu olarak kullanilirsa logo/ikon/aktif menu beyaz blok olur */
  --fac-ic-bg:linear-gradient(310deg,#1e1e21 0%,#2b2b30 100%); --fac-ic-ink:#ffffff;
  --fac-help-grad:linear-gradient(127deg,#1a1a1c 0%,#2c2c31 62%,#3b3b42 100%);
  --fac-lite-1:rgba(255,255,255,.055); --fac-lite-2:rgba(255,255,255,.03);
  --bg:#000000; --bg-2:#0a0a0b; --surface:#131314; --surface-2:#1c1c1e; --surface-3:#26262a;
  --line:rgba(255,255,255,.13); --line-2:rgba(255,255,255,.24);
  --text:#ffffff; --text-2:#c9c9cf; --text-3:#9d9da3; --text-4:#9d9da3;
  --accent-rgb:255,255,255;
  --accent:#ffffff; --accent-2:#e9e9ec; --accent-bg:rgba(255,255,255,.12); --acc-ink:#0a0a0b;
  --ok:#37d67a; --ok-bg:rgba(55,214,122,.15);
  --warn:#ffc94d; --warn-bg:rgba(255,201,77,.15);
  --bad:#ff6b6b; --bad-bg:rgba(217,45,45,.18);
  --info:#c9c9cf; --info-bg:rgba(201,201,207,.12);
  --gold:#ffc94d; --gold-2:#ffe08a; --gold-bg:rgba(255,201,77,.13); --gold-line:rgba(255,201,77,.32);
}
html[data-theme="classicblue"]{
  /* Duz tema: butun "gradyan" token'lari TEK RENKLI gradyan. Boylece
     background-image bekleyen yerlerde gecerli kalir ama renk gecisi olmaz. */
  --fac-page:#0b0f17;
  --fac-grad-page:linear-gradient(0deg,#0b0f17 0%,#0b0f17 100%);
  --fac-card:linear-gradient(0deg,#141a26 0%,#141a26 100%);
  --fac-in:linear-gradient(0deg,#10151f 0%,#10151f 100%);
  --fac-acc-grad:linear-gradient(0deg,#2563eb 0%,#2563eb 100%);
  --fac-btn-grad:linear-gradient(0deg,#2563eb 0%,#2563eb 100%);
  --fac-btn-ink:#ffffff;
  --fac-ic-bg:linear-gradient(0deg,#2563eb 0%,#2563eb 100%); --fac-ic-ink:#ffffff;
  --fac-help-grad:linear-gradient(0deg,#1b2230 0%,#1b2230 100%);
  --fac-lite-1:rgba(37,99,235,.14); --fac-lite-2:rgba(37,99,235,.08);
  --bg:#0b0f17; --bg-2:#10151f; --surface:#141a26; --surface-2:#1b2230; --surface-3:#232b3b;
  --line:rgba(255,255,255,.09); --line-2:rgba(255,255,255,.17);
  --text:#e8ecf4; --text-2:#b9c2d4; --text-3:#8b95a8; --text-4:#8b95a8;
  --accent-rgb:37,99,235;
  --accent:#2563eb; --accent-2:#3b82f6; --accent-bg:rgba(37,99,235,.13); --acc-ink:#ffffff;
  --ok:#22c55e; --ok-bg:rgba(34,197,94,.14);
  --warn:#f59e0b; --warn-bg:rgba(245,158,11,.14);
  --bad:#ef4444; --bad-bg:rgba(239,68,68,.16);
  --info:#60a5fa; --info-bg:rgba(96,165,250,.13);
  --gold:#f59e0b; --gold-2:#fbbf24; --gold-bg:rgba(245,158,11,.12); --gold-line:rgba(245,158,11,.3);
}
html[data-theme="classicblack"]{
  /* Duz tema: butun "gradyan" token'lari TEK RENKLI gradyan. background-image
     bekleyen yerlerde gecerli kalir ama renk gecisi olmaz. */
  --fac-page:#000000;
  --fac-grad-page:linear-gradient(0deg,#000000 0%,#000000 100%);
  --fac-card:linear-gradient(0deg,#0a0a0a 0%,#0a0a0a 100%);
  --fac-in:linear-gradient(0deg,#050505 0%,#050505 100%);
  --fac-acc-grad:linear-gradient(0deg,#ffffff 0%,#ffffff 100%);
  --fac-btn-grad:linear-gradient(0deg,#ffffff 0%,#ffffff 100%);
  --fac-btn-ink:#000000;
  --fac-ic-bg:linear-gradient(0deg,#151515 0%,#151515 100%); --fac-ic-ink:#ffffff;
  --fac-help-grad:linear-gradient(0deg,#111111 0%,#111111 100%);
  --fac-lite-1:rgba(255,255,255,.10); --fac-lite-2:rgba(255,255,255,.05);
  --bg:#000000; --bg-2:#050505; --surface:#0a0a0a; --surface-2:#111111; --surface-3:#1a1a1a;
  --line:rgba(255,255,255,.10); --line-2:rgba(255,255,255,.18);
  --text:#ffffff; --text-2:#c9c9c9; --text-3:#949494; --text-4:#949494;
  --accent-rgb:255,255,255;
  --accent:#ffffff; --accent-2:#e6e6e6; --accent-bg:rgba(255,255,255,.12); --acc-ink:#000000;
  --ok:#2ecc71; --ok-bg:rgba(46,204,113,.14);
  --warn:#f0a020; --warn-bg:rgba(240,160,32,.14);
  --bad:#ff4d4d; --bad-bg:rgba(255,77,77,.16);
  --info:#c9c9c9; --info-bg:rgba(201,201,201,.12);
  --gold:#f0a020; --gold-2:#ffc861; --gold-bg:rgba(240,160,32,.12); --gold-line:rgba(240,160,32,.3);
}
html[data-theme="dracula"]{
  --fac-page:#1c1d26;
  --fac-grad-page:linear-gradient(159.02deg,#21222c 14.25%,#1c1d26 56.45%,#0f1015 86.14%);
  --fac-card:linear-gradient(127.09deg,#282a36f5 19.41%,#21222c8c 76.65%);
  --fac-in:linear-gradient(126.97deg,#21222cdb 28.26%,#1c1d26cc 91.2%);
  --fac-acc-grad:linear-gradient(310deg,#bd93f9 0%,#d6b4ff 100%);
  --fac-btn-grad:linear-gradient(310deg,#d6b4ff 0%,#bd93f9 100%);
  --fac-btn-ink:#14141c;
  --fac-ic-bg:linear-gradient(310deg,#bd93f9 0%,#d6b4ff 100%); --fac-ic-ink:#14141c;
  --fac-help-grad:linear-gradient(127deg,#554270 0%,#8467ae 62%,#bd93f9 100%);
  --fac-lite-1:rgba(189,147,249,.20); --fac-lite-2:rgba(189,147,249,.12);
  --bg:#1c1d26; --bg-2:#21222c; --surface:#282a36; --surface-2:#343746; --surface-3:#424458;
  --line:rgba(255,255,255,.11); --line-2:rgba(255,255,255,.2);
  --text:#f8f8f2; --text-2:#d6d6cf; --text-3:#a3a3ad; --text-4:#a3a3ad;
  --accent-rgb:189,147,249;
  --accent:#bd93f9; --accent-2:#d6b4ff; --accent-bg:rgba(189,147,249,.14); --acc-ink:#14141c;
  --ok:#50fa7b; --ok-bg:rgba(80,250,123,.15);
  --warn:#ffb86c; --warn-bg:rgba(255,184,108,.15);
  --bad:#ff6e6e; --bad-bg:rgba(255,110,110,.18);
  --info:#8be9fd; --info-bg:rgba(139,233,253,.14);
  --gold:#f1fa8c; --gold-2:#f6fcb4; --gold-bg:rgba(241,250,140,.13); --gold-line:rgba(241,250,140,.32);
}
html[data-theme="nord"]{
  --fac-page:#242933;
  --fac-grad-page:linear-gradient(159.02deg,#2e3440 14.25%,#242933 56.45%,#14171c 86.14%);
  --fac-card:linear-gradient(127.09deg,#333b4af5 19.41%,#2e34408c 76.65%);
  --fac-in:linear-gradient(126.97deg,#2e3440db 28.26%,#242933cc 91.2%);
  --fac-acc-grad:linear-gradient(310deg,#88c0d0 0%,#a7d3df 100%);
  --fac-btn-grad:linear-gradient(310deg,#a7d3df 0%,#88c0d0 100%);
  --fac-btn-ink:#161a21;
  --fac-ic-bg:linear-gradient(310deg,#88c0d0 0%,#a7d3df 100%); --fac-ic-ink:#161a21;
  --fac-help-grad:linear-gradient(127deg,#3d565e 0%,#5f8692 62%,#88c0d0 100%);
  --fac-lite-1:rgba(136,192,208,.20); --fac-lite-2:rgba(136,192,208,.12);
  --bg:#242933; --bg-2:#2e3440; --surface:#333b4a; --surface-2:#3b4252; --surface-3:#4c566a;
  --line:rgba(255,255,255,.11); --line-2:rgba(255,255,255,.2);
  --text:#eceff4; --text-2:#d8dee9; --text-3:#a4adbd; --text-4:#a4adbd;
  --accent-rgb:136,192,208;
  --accent:#88c0d0; --accent-2:#a7d3df; --accent-bg:rgba(136,192,208,.14); --acc-ink:#161a21;
  --ok:#a3be8c; --ok-bg:rgba(163,190,140,.15);
  --warn:#ebcb8b; --warn-bg:rgba(235,203,139,.15);
  --bad:#e88b8b; --bad-bg:rgba(232,139,139,.18);
  --info:#81a1c1; --info-bg:rgba(129,161,193,.14);
  --gold:#ebcb8b; --gold-2:#f2ddb4; --gold-bg:rgba(235,203,139,.13); --gold-line:rgba(235,203,139,.32);
}
html[data-theme="tokyonight"]{
  --fac-page:#16161e;
  --fac-grad-page:linear-gradient(159.02deg,#1a1b26 14.25%,#16161e 56.45%,#0c0c11 86.14%);
  --fac-card:linear-gradient(127.09deg,#1f2030f5 19.41%,#1a1b268c 76.65%);
  --fac-in:linear-gradient(126.97deg,#1a1b26db 28.26%,#16161ecc 91.2%);
  --fac-acc-grad:linear-gradient(310deg,#7aa2f7 0%,#9ec0ff 100%);
  --fac-btn-grad:linear-gradient(310deg,#9ec0ff 0%,#7aa2f7 100%);
  --fac-btn-ink:#0d0e14;
  --fac-ic-bg:linear-gradient(310deg,#7aa2f7 0%,#9ec0ff 100%); --fac-ic-ink:#0d0e14;
  --fac-help-grad:linear-gradient(127deg,#37496f 0%,#5571ad 62%,#7aa2f7 100%);
  --fac-lite-1:rgba(122,162,247,.20); --fac-lite-2:rgba(122,162,247,.12);
  --bg:#16161e; --bg-2:#1a1b26; --surface:#1f2030; --surface-2:#24283b; --surface-3:#2f334d;
  --line:rgba(255,255,255,.11); --line-2:rgba(255,255,255,.2);
  --text:#c0caf5; --text-2:#a9b1d6; --text-3:#9aa5ce; --text-4:#9aa5ce;
  --accent-rgb:122,162,247;
  --accent:#7aa2f7; --accent-2:#9ec0ff; --accent-bg:rgba(122,162,247,.14); --acc-ink:#0d0e14;
  --ok:#9ece6a; --ok-bg:rgba(158,206,106,.15);
  --warn:#e0af68; --warn-bg:rgba(224,175,104,.15);
  --bad:#f7768e; --bad-bg:rgba(247,118,142,.18);
  --info:#7dcfff; --info-bg:rgba(125,207,255,.14);
  --gold:#e0af68; --gold-2:#ebcb9d; --gold-bg:rgba(224,175,104,.13); --gold-line:rgba(224,175,104,.32);
}
html[data-theme="solarized"]{
  --fac-page:#002028;
  --fac-grad-page:linear-gradient(159.02deg,#002b36 14.25%,#002028 56.45%,#001216 86.14%);
  --fac-card:linear-gradient(127.09deg,#073642f5 19.41%,#002b368c 76.65%);
  --fac-in:linear-gradient(126.97deg,#002b36db 28.26%,#002028cc 91.2%);
  --fac-acc-grad:linear-gradient(310deg,#2aa198 0%,#4fc4bb 100%);
  --fac-btn-grad:linear-gradient(310deg,#4fc4bb 0%,#2aa198 100%);
  --fac-btn-ink:#00161c;
  --fac-ic-bg:linear-gradient(310deg,#2aa198 0%,#4fc4bb 100%); --fac-ic-ink:#00161c;
  --fac-help-grad:linear-gradient(127deg,#134844 0%,#1d716a 62%,#2aa198 100%);
  --fac-lite-1:rgba(42,161,152,.20); --fac-lite-2:rgba(42,161,152,.12);
  --bg:#002028; --bg-2:#002b36; --surface:#073642; --surface-2:#0d4552; --surface-3:#155464;
  --line:rgba(255,255,255,.11); --line-2:rgba(255,255,255,.2);
  --text:#eee8d5; --text-2:#c9d1cd; --text-3:#94a5a3; --text-4:#94a5a3;
  --accent-rgb:42,161,152;
  --accent:#2aa198; --accent-2:#4fc4bb; --accent-bg:rgba(42,161,152,.14); --acc-ink:#00161c;
  --ok:#859900; --ok-bg:rgba(133,153,0,.15);
  --warn:#b58900; --warn-bg:rgba(181,137,0,.15);
  --bad:#dc322f; --bad-bg:rgba(220,50,47,.18);
  --info:#268bd2; --info-bg:rgba(38,139,210,.14);
  --gold:#b58900; --gold-2:#cfb259; --gold-bg:rgba(181,137,0,.13); --gold-line:rgba(181,137,0,.32);
}
html[data-theme="mocha"]{
  --fac-page:#181825;
  --fac-grad-page:linear-gradient(159.02deg,#1e1e2e 14.25%,#181825 56.45%,#0d0d14 86.14%);
  --fac-card:linear-gradient(127.09deg,#262637f5 19.41%,#1e1e2e8c 76.65%);
  --fac-in:linear-gradient(126.97deg,#1e1e2edb 28.26%,#181825cc 91.2%);
  --fac-acc-grad:linear-gradient(310deg,#cba6f7 0%,#dcc0ff 100%);
  --fac-btn-grad:linear-gradient(310deg,#dcc0ff 0%,#cba6f7 100%);
  --fac-btn-ink:#15111f;
  --fac-ic-bg:linear-gradient(310deg,#cba6f7 0%,#dcc0ff 100%); --fac-ic-ink:#15111f;
  --fac-help-grad:linear-gradient(127deg,#5b4b6f 0%,#8e74ad 62%,#cba6f7 100%);
  --fac-lite-1:rgba(203,166,247,.20); --fac-lite-2:rgba(203,166,247,.12);
  --bg:#181825; --bg-2:#1e1e2e; --surface:#262637; --surface-2:#313244; --surface-3:#45475a;
  --line:rgba(255,255,255,.11); --line-2:rgba(255,255,255,.2);
  --text:#cdd6f4; --text-2:#bac2de; --text-3:#a0a8c0; --text-4:#a0a8c0;
  --accent-rgb:203,166,247;
  --accent:#cba6f7; --accent-2:#dcc0ff; --accent-bg:rgba(203,166,247,.14); --acc-ink:#15111f;
  --ok:#a6e3a1; --ok-bg:rgba(166,227,161,.15);
  --warn:#f9e2af; --warn-bg:rgba(249,226,175,.15);
  --bad:#f38ba8; --bad-bg:rgba(243,139,168,.18);
  --info:#89b4fa; --info-bg:rgba(137,180,250,.14);
  --gold:#f9e2af; --gold-2:#fbeccb; --gold-bg:rgba(249,226,175,.13); --gold-line:rgba(249,226,175,.32);
}
:root{ --sidebar-width:264px }
:root{ --fac-acc-fill:#1a5fe0 }
html[data-theme="gold"]{ --fac-acc-fill:#e0ad2a }
html[data-theme="space"]{ --fac-acc-fill:#a2abbf }
html[data-theme="black"]{ --fac-acc-fill:#f2f2f4 }
html[data-theme="classicblue"]{ --fac-acc-fill:#2563eb }
html[data-theme="classicblack"]{ --fac-acc-fill:#ffffff }
html[data-theme="dracula"]{ --fac-acc-fill:#bd93f9 }
html[data-theme="nord"]{ --fac-acc-fill:#88c0d0 }
html[data-theme="tokyonight"]{ --fac-acc-fill:#7aa2f7 }
html[data-theme="solarized"]{ --fac-acc-fill:#2aa198 }
html[data-theme="mocha"]{ --fac-acc-fill:#cba6f7 }
:root{ --text-2:#9aa6c4 }
:root{ --fac-ic-bg:linear-gradient(310deg,#1e5eff 0%,#4a9bff 100%) }
:root{ --fac-help-grad:linear-gradient(127deg,#2a1b8f 0%,#1547b8 62%,#1a5fe0 100%) }
/* @tokens-end */

/* ---------- ZEMIN + TIPOGRAFI ---------- */
*{ box-sizing:border-box }
html{ scroll-behavior:smooth }
html,body{ background:var(--fac-page) }
body{
  margin:0; color:var(--text-2); line-height:1.6;
  font-family:'Outfit','Segoe UI',system-ui,-apple-system,sans-serif;
  -webkit-font-smoothing:antialiased;
}
/* Sayfa gradyani + isik lekeleri SABIT bir katmanda: panel background-attachment:fixed
   kullaniyor ama uzun, kaydirilan docs sayfasinda her kaydirma tum zemini yeniden boyuyordu
   (ekran goruntusu bile zaman asimina dusuyordu). Sabit katman kaydirmada boyanmaz. */
body::before{
  content:''; position:fixed; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(46% 38% at 18% 12%, var(--fac-lite-1), transparent 70%),
    radial-gradient(40% 34% at 84% 4%, var(--fac-lite-2), transparent 70%),
    var(--fac-grad-page);
}
body > *{ position:relative; z-index:1 }
a{ color:var(--accent-2); text-decoration:none }
a:hover{ text-decoration:underline }
h1,h2,h3,h4{ color:var(--text); margin:0; font-family:inherit }
.mono,code,pre,kbd{ font-family:'JetBrains Mono',ui-monospace,SFMono-Regular,Consolas,monospace; font-variant-numeric:tabular-nums }
::selection{ background:var(--accent-bg); color:var(--text) }

/* ---------- MARKA ---------- */
.pub-brand{ display:inline-flex; align-items:center; gap:10px; color:var(--text) !important; text-decoration:none !important; font-weight:700; font-size:19px; letter-spacing:-.025em }
.pub-brand-mark{ width:34px; height:34px; border-radius:10px; background:var(--fac-ic-bg); border:1px solid rgba(255,255,255,.09); display:grid; place-items:center; overflow:hidden; flex:0 0 34px }
.pub-brand-mark img{ width:24px; height:24px; object-fit:contain; display:block }
.pub-brand b,.pub-brand span{ color:var(--accent-2); font-weight:700 }

/* ---------- UST BAR ---------- */
.pub-top{
  position:sticky; top:0; z-index:100; padding:0 20px;
  background:color-mix(in srgb, var(--fac-page) 82%, transparent);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.pub-top-inner{ max-width:1480px; margin:0 auto; display:flex; align-items:center; gap:14px; height:66px }
.pub-nav{ display:flex; align-items:center; gap:4px; margin-left:8px }
.pub-nav a{ padding:7px 11px; border-radius:11px; font-size:13px; font-weight:600; color:var(--text-3); white-space:nowrap }
.pub-nav a:hover,.pub-nav a.on{ color:var(--text); background:var(--fac-in); text-decoration:none }
.pub-top-right{ margin-left:auto; display:flex; align-items:center; gap:8px }

/* ---------- DUGMELER ---------- */
.pub-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:8px 14px; border-radius:11px; border:1px solid var(--line);
  background:none; color:var(--text-2); font:inherit; font-size:12.5px; font-weight:700;
  cursor:pointer; white-space:nowrap; line-height:1.3;
  transition:border-color .15s, color .15s, transform .1s, box-shadow .15s;
}
.pub-btn:hover{ border-color:var(--line-2); color:var(--text); text-decoration:none }
.pub-btn svg{ width:15px; height:15px; flex:0 0 15px }
.pub-btn.primary{ background:var(--fac-btn-grad); color:var(--fac-btn-ink); border-color:transparent }
.pub-btn.primary:hover{ color:var(--fac-btn-ink); transform:translateY(-1px); box-shadow:0 12px 26px -14px rgba(0,0,0,.9) }
.pub-btn.lg{ padding:12px 20px; font-size:14px; border-radius:12px }
.pub-btn.lg svg{ width:17px; height:17px; flex-basis:17px }
.pub-btn.block{ width:100% }
.pub-btn:disabled{ opacity:.6; cursor:default; transform:none }

/* ---------- SEGMENT (panelin .fac-seg'i) ---------- */
.pub-seg{ display:inline-flex; gap:0; padding:3px; border-radius:12px; background:var(--fac-in); border:1px solid var(--line) }
.pub-seg a,.pub-seg button{
  display:inline-flex; align-items:center; gap:6px; padding:5px 11px; border:0; border-radius:9px;
  background:none; color:var(--text-3); font:inherit; font-size:12px; font-weight:600; cursor:pointer; white-space:nowrap;
}
.pub-seg a:hover,.pub-seg button:hover{ color:var(--text); text-decoration:none }
.pub-seg .on,.pub-seg .active{ background:var(--fac-acc-fill, var(--fac-btn-grad)); color:var(--fac-btn-ink) }

/* ---------- GIRDI ---------- */
.pub-input{
  width:100%; background:var(--fac-in); border:1px solid var(--line); border-radius:12px;
  color:var(--text); padding:9px 12px; font:inherit; font-size:12.5px; outline:none;
  transition:border-color .15s;
}
.pub-input::placeholder{ color:var(--text-4) }
.pub-input:focus{ border-color:var(--accent) }

/* ---------- KARTLAR ---------- */
.pub-card{
  background:var(--fac-card); border:1px solid rgba(255,255,255,.06); border-radius:var(--r-lg);
  box-shadow:0 20px 50px -30px rgba(0,0,0,.9);
}
.pub-in{ background:var(--fac-in); border:1px solid rgba(255,255,255,.05); border-radius:var(--r-sm) }
.pub-pill{
  display:inline-flex; align-items:center; gap:7px; padding:5px 11px; border-radius:99px;
  background:var(--fac-in); border:1px solid var(--line); font-size:12px; font-weight:600; color:var(--text-2);
}
.pub-pill .dot{ width:7px; height:7px; border-radius:50%; background:var(--ok); box-shadow:0 0 10px var(--ok) }
.pub-ic{
  width:40px; height:40px; flex:0 0 40px; border-radius:var(--r-sm); display:grid; place-items:center;
  background:var(--fac-ic-bg); color:var(--fac-ic-ink); border:1px solid rgba(255,255,255,.07);
}
.pub-ic svg{ width:19px; height:19px }
.pub-eyebrow{ font-size:10.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--text-4) }
.pub-num{
  width:30px; height:30px; border-radius:9px; display:grid; place-items:center; flex:0 0 30px;
  background:var(--fac-btn-grad); color:var(--fac-btn-ink); font-size:13px; font-weight:700;
  font-family:'JetBrains Mono',ui-monospace,monospace;
}

/* ---------- TABLO (panelin table.fac-tbl'si) ---------- */
.pub-tbl{ width:100%; border-collapse:separate; border-spacing:0; font-size:13px }
.pub-tbl th{
  text-align:left; white-space:nowrap; padding:10px 14px; font-size:10.5px; font-weight:700;
  letter-spacing:.07em; text-transform:uppercase; color:var(--text-3);
  background:var(--fac-in); border-bottom:1px solid var(--line);
}
.pub-tbl td{ padding:9px 14px; color:var(--text-2); vertical-align:top; border-bottom:1px solid var(--line); line-height:1.55 }
.pub-tbl tr:last-child td{ border-bottom:0 }

/* ---------- KOD ---------- */
code{ font-size:.86em; background:var(--fac-in); color:var(--accent-2); padding:2px 6px; border-radius:7px; border:1px solid var(--line) }
pre{
  position:relative; background:var(--fac-in); border:1px solid var(--line); border-radius:var(--r-sm);
  padding:14px 16px; overflow-x:auto; margin:0 0 16px;
}
pre code{ background:none; border:0; padding:0; color:var(--text); font-size:12.5px; line-height:1.65; white-space:pre; display:block }

/* ---------- UYARI KUTULARI ---------- */
/* Uyari kutusu: ince cerceve + renkli nokta (kalin sol serit yok, panel dilinde de yok). */
.pub-callout{ --co:var(--info); position:relative; border:1px solid var(--line); border-radius:var(--r-sm); padding:12px 15px 12px 32px; margin:0 0 16px; background:var(--fac-in) }
.pub-callout::before{ content:''; position:absolute; left:14px; top:18px; width:8px; height:8px; border-radius:50%; background:var(--co); box-shadow:0 0 10px var(--co) }
.pub-callout p{ margin:0; font-size:13px; color:var(--text-2) }
.pub-callout.ok{ --co:var(--ok) }
.pub-callout.warn{ --co:var(--warn) }
.pub-callout.bad{ --co:var(--bad) }

/* ---------- ALT BILGI ---------- */
.pub-foot{ border-top:1px solid rgba(255,255,255,.06); padding:28px 20px; margin-top:40px; font-size:12.5px; color:var(--text-4) }
.pub-foot a{ color:var(--text-3) }
.pub-foot a:hover{ color:var(--text) }
