/* ═══════════════════════════════════════════════════════════════════════════
   ZEYROTRADE — "BENTO EMBER" TASARIM SİSTEMİ  (v2, sıfırdan yazıldı)
   ---------------------------------------------------------------------------
   Görsel dünya: mozaik bento yüzeyler, cam kenar (rim light), katmanlı derinlik,
   büyük display sayılar, yüzen ada kabuk (rail + komut çubuğu).
   RENKLER DEĞİŞMEDİ: Ember & Ash paletinin her hex değeri birebir korunur.
   Değişen her şey: geometri, tipografi, derinlik, kompozisyon, hareket.
   Yön okunabilirliği renge bırakılmaz — her yerde ▲ ▼ glifi vardır.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ───────────────────────── 1. TOKENS ───────────────────────── */
:root{
  /* -- yüzeyler (DEĞİŞMEDİ) -- */
  --bg:#0A0908; --bg2:#121110; --bg3:#1A1715; --bg4:#241F1B; --bg5:#2F2924;
  --line:#2A2521; --line2:#3A332C; --line3:#4E453B;
  /* -- mürekkep --
     ERİŞİLEBİLİRLİK DÜZELTMESİ (2026-08-28, A3): --fg3 3,10-3,45 idi, AA (4,5:1) altındaydı;
     boş durum metinleri, .rc-f .k, .crumb ve tüm t-xs satırları bununla yazılıyor.
     Ramp artık ÜÇ okunabilir kademe + BİR süs kademesidir:
       --fg / --fg2 / --fg3  → metin (hepsi ≥4,5:1, --bg4 dahil her yüzeyde)
       --fg4                 → YALNIZ süs (ikon, süs sıra numarası). Metin İÇİN KULLANILMAZ.
     Ölçüm (bg / bg2 / bg3 / bg4): fg3 5,62 / 5,33 / 5,04 / 4,61 */
  --fg:#F0ECE6; --fg2:#9C958C; --fg3:#8F877E; --fg4:#7E766D;
  /* -- ember = yukarı / long / kâr / marka (DEĞİŞMEDİ) -- */
  --em:#FF6B1A; --em2:#FF9147; --em3:#FFBE8A; --em-deep:#C4460B;
  --em-soft:rgba(255,107,26,.13); --em-soft2:rgba(255,107,26,.28); --em-glow:rgba(255,107,26,.45);
  /* -- ash = aşağı / short / zarar (4,37 → 4,55: AA eşiğinin üstüne çekildi) -- */
  --ash:#8E867D; --ash2:#5F594F; --ash3:#3B3730;
  --ash-soft:rgba(139,131,122,.14); --ash-soft2:rgba(139,131,122,.3);
  /* -- durum (DEĞİŞMEDİ) -- */
  --warn:#FFB020; --warn-soft:rgba(255,176,32,.14);
  --crit:#FF3B0F; --crit-soft:rgba(255,59,15,.15);
  --neu:#7E7A74; --neu-soft:rgba(126,122,116,.14);

  /* -- YENİ: tipografi -- */
  --disp:"Bricolage Grotesque","Schibsted Grotesk","Segoe UI",system-ui,sans-serif;
  --body:"Schibsted Grotesk","Segoe UI Variable","Segoe UI",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;

  /* -- YENİ: geometri. Tek kural: kutu 20px · kontrol 12px · rozet hap -- */
  --r-tile:20px; --r-lg:26px; --r-ctl:12px; --r-xs:8px; --r-pill:999px;
  --r1:12px; --r2:16px; --r3:20px;                 /* eski adlar → yeni ölçek */

  /* -- YENİ: aralık ölçeği (4'ün katları) -- */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px; --s6:26px; --s7:34px; --s8:46px;
  --gap:16px;                                       /* bento mozaik boşluğu */

  /* -- YENİ: katmanlı derinlik. Her gölgenin ofseti + yumuşak bulanıklığı var -- */
  --sh-sm:0 1px 2px rgba(0,0,0,.30), 0 4px 10px -5px rgba(0,0,0,.45);
  --sh-md:0 2px 5px rgba(0,0,0,.30), 0 14px 30px -12px rgba(0,0,0,.55);
  --sh-lg:0 5px 12px rgba(0,0,0,.32), 0 34px 66px -22px rgba(0,0,0,.68);
  --sh-em:0 3px 10px rgba(196,70,11,.28), 0 16px 34px -14px rgba(196,70,11,.45);
  /* cam kenar: bento karonun üst pahı */
  --rim:inset 0 1px 0 rgba(255,255,255,.055), inset 0 0 0 1px rgba(255,255,255,.012);
  --rim-em:inset 0 1px 0 rgba(255,190,138,.22);
  /* bento karo zemini: köşegen ısı geçişi */
  --tile-bg:linear-gradient(158deg, color-mix(in srgb,var(--bg3) 55%, var(--bg2)) 0%, var(--bg2) 62%);
  --tile-bg-hi:linear-gradient(158deg, color-mix(in srgb,var(--em) 9%, var(--bg2)) 0%, var(--bg2) 66%);

  /* -- YENİ: hareket. Üstel yavaşlama, görünür varsayılandan -- */
  --d-xs:110ms; --d-sm:180ms; --d-md:300ms; --d-lg:520ms; --d-xl:900ms;
  --ease:cubic-bezier(.16,1,.3,1); --ease-in:cubic-bezier(.55,0,.85,.35);
  --ease-out:cubic-bezier(.19,1,.22,1);

  /* -- ölçüler -- */
  --topbar:60px; --rail:248px; --rail-mini:78px; --tabbar:64px;
  --maxw:1520px; --readw:1200px;
  color-scheme:dark;
}

/* açık tema = "soğumuş ocak": sıcak kâğıt, aynı ember (RENKLER DEĞİŞMEDİ) */
@media (prefers-color-scheme:light){
  :root:not([data-theme="dark"]){
    --bg:#FCFAF7; --bg2:#FFFFFF; --bg3:#F5F1EB; --bg4:#EBE5DC; --bg5:#DFD8CD;
    --line:#E2DBD1; --line2:#CFC6B9; --line3:#B3A99B;
    --fg:#16140F; --fg2:#5C554B; --fg3:#6A6259; --fg4:#8A8175;
    --em:#B84409; --em2:#9C3907; --em3:#7F2E05; --em-deep:#6B2604;
    --em-soft:rgba(184,68,9,.10); --em-soft2:rgba(184,68,9,.22); --em-glow:rgba(184,68,9,.3);
    --ash:#67615A; --ash2:#8D857A; --ash3:#C6BEB2;
    --ash-soft:rgba(103,97,90,.10); --ash-soft2:rgba(103,97,90,.24);
    --warn:#8F5B00; --warn-soft:rgba(143,91,0,.12);
    --crit:#C42D06; --crit-soft:rgba(196,45,6,.12);
    --neu:#77706A; --neu-soft:rgba(119,112,106,.12);
    /* gölge zemin tonuna boyanır: açık temada sıcak kahve, asla saf siyah */
    --sh-sm:0 1px 2px rgba(78,54,32,.07), 0 4px 10px -5px rgba(78,54,32,.13);
    --sh-md:0 2px 5px rgba(78,54,32,.08), 0 14px 30px -12px rgba(78,54,32,.18);
    --sh-lg:0 5px 12px rgba(78,54,32,.10), 0 34px 66px -22px rgba(78,54,32,.26);
    --sh-em:0 3px 10px rgba(184,68,9,.18), 0 16px 34px -14px rgba(184,68,9,.28);
    --rim:inset 0 1px 0 rgba(255,255,255,.9);
    --rim-em:inset 0 1px 0 rgba(255,255,255,.55);
    --tile-bg:linear-gradient(158deg, color-mix(in srgb,var(--bg3) 62%, var(--bg2)) 0%, var(--bg2) 60%);
    --tile-bg-hi:linear-gradient(158deg, color-mix(in srgb,var(--em) 7%, var(--bg2)) 0%, var(--bg2) 66%);
    color-scheme:light;
  }
}
:root[data-theme="light"]{
  --bg:#FCFAF7; --bg2:#FFFFFF; --bg3:#F5F1EB; --bg4:#EBE5DC; --bg5:#DFD8CD;
  --line:#E2DBD1; --line2:#CFC6B9; --line3:#B3A99B;
  --fg:#16140F; --fg2:#5C554B; --fg3:#6A6259; --fg4:#8A8175;
  --em:#B84409; --em2:#9C3907; --em3:#7F2E05; --em-deep:#6B2604;
  --em-soft:rgba(184,68,9,.10); --em-soft2:rgba(184,68,9,.22); --em-glow:rgba(184,68,9,.3);
  --ash:#67615A; --ash2:#8D857A; --ash3:#C6BEB2;
  --ash-soft:rgba(103,97,90,.10); --ash-soft2:rgba(103,97,90,.24);
  --warn:#8F5B00; --warn-soft:rgba(143,91,0,.12);
  --crit:#C42D06; --crit-soft:rgba(196,45,6,.12);
  --neu:#77706A; --neu-soft:rgba(119,112,106,.12);
  --sh-sm:0 1px 2px rgba(78,54,32,.07), 0 4px 10px -5px rgba(78,54,32,.13);
  --sh-md:0 2px 5px rgba(78,54,32,.08), 0 14px 30px -12px rgba(78,54,32,.18);
  --sh-lg:0 5px 12px rgba(78,54,32,.10), 0 34px 66px -22px rgba(78,54,32,.26);
  --sh-em:0 3px 10px rgba(184,68,9,.18), 0 16px 34px -14px rgba(184,68,9,.28);
  --rim:inset 0 1px 0 rgba(255,255,255,.9);
  --rim-em:inset 0 1px 0 rgba(255,255,255,.55);
  --tile-bg:linear-gradient(158deg, color-mix(in srgb,var(--bg3) 62%, var(--bg2)) 0%, var(--bg2) 60%);
  --tile-bg-hi:linear-gradient(158deg, color-mix(in srgb,var(--em) 7%, var(--bg2)) 0%, var(--bg2) 66%);
  color-scheme:light;
}

/* ───────────────── 2. TEMEL + TARAYICI YÜZEYLERİ ───────────────── */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--fg);
  font-family:var(--body); font-size:15.5px; line-height:1.55; font-weight:400;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  font-feature-settings:"cv01" 1,"ss01" 1; overflow-x:hidden;
  accent-color:var(--em); caret-color:var(--em);
}
/* sayfa zemini: iki soluk ember hâlesi + çok ince ızgara. Sabit katman, GPU dostu. */
body::before{
  content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(ellipse 58% 42% at 8% -6%, var(--em-soft) 0%, transparent 62%),
    radial-gradient(ellipse 52% 46% at 104% 8%, color-mix(in srgb,var(--em) 7%, transparent) 0%, transparent 60%),
    radial-gradient(ellipse 70% 40% at 50% 108%, color-mix(in srgb,var(--em) 5%, transparent) 0%, transparent 66%);
}
h1,h2,h3,h4,h5{font-family:var(--disp);font-weight:700;margin:0;text-wrap:balance;letter-spacing:-.03em;line-height:1.06}
p{margin:0}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:none;cursor:pointer;padding:0}
ul,ol{margin:0;padding:0;list-style:none}
table{border-collapse:collapse;width:100%}
img,svg{display:block;max-width:100%}
hr{border:0}

/* çizilmeyen yüzeyler de tasarımın parçasıdır */
:focus-visible{outline:2px solid var(--em);outline-offset:3px;border-radius:6px;box-shadow:0 0 0 6px var(--em-soft)}
::selection{background:var(--em-soft2);color:var(--fg)}
::placeholder{color:var(--fg3);opacity:1}
:where(a,button,summary){-webkit-tap-highlight-color:var(--em-soft)}
*::-webkit-scrollbar{width:11px;height:11px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:var(--line2);border-radius:99px;border:3px solid transparent;background-clip:content-box}
*::-webkit-scrollbar-thumb:hover{background:var(--line3);background-clip:content-box}
*{scrollbar-width:thin;scrollbar-color:var(--line2) transparent}
.num,.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"zero" 1;letter-spacing:-.012em}
[dir="rtl"]{direction:rtl}
[dir="rtl"] .num{direction:ltr;unicode-bidi:embed;display:inline-block}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[hidden]{display:none!important}

/* ───────────────────────── 3. TİPOGRAFİ ───────────────────────── */
.t-mega{font-family:var(--disp);font-weight:800;font-size:clamp(2.7rem,7vw,5.4rem);line-height:.94;letter-spacing:-.045em}
.t-h1{font-family:var(--disp);font-weight:800;font-size:clamp(2rem,4.2vw,3.2rem);line-height:1.02;letter-spacing:-.04em}
.t-h2{font-family:var(--disp);font-weight:700;font-size:clamp(1.55rem,2.8vw,2.3rem);letter-spacing:-.035em}
.t-h3{font-family:var(--disp);font-weight:700;font-size:1.2rem;letter-spacing:-.025em}
.t-h4{font-family:var(--disp);font-weight:600;font-size:1rem;letter-spacing:-.018em}
.t-lead{font-size:clamp(1.04rem,1.4vw,1.22rem);color:var(--fg2);line-height:1.6;max-width:66ch;font-weight:400}
.t-body{font-size:.95rem;color:var(--fg2);line-height:1.68;max-width:70ch}
.t-sm{font-size:.845rem;color:var(--fg2);line-height:1.55}
.t-xs{font-size:.755rem;color:var(--fg2);line-height:1.5}
/* karo içi ölçü etiketi (bölüm başlığı üstünde kicker olarak KULLANILMAZ) */
.eyebrow{font-family:var(--mono);font-size:.7rem;font-weight:500;letter-spacing:.02em;color:var(--em);display:inline-flex;align-items:center;gap:7px}
.eyebrow.ash{color:var(--fg3)}

/* ───────────── 4. BENTO YÜZEYLERİ (sistemin kalbi) ───────────── */
/* Tek karo tarifi: köşegen ısı geçişi + 1px hat + cam pah + katmanlı gölge. */
.card,.panel,.tile,.fcard,.plan,.post,.sigcard,.rowcard,.dev,.sw,.balcard,.pick{
  background:var(--tile-bg);
  border:1px solid var(--line);
  border-radius:var(--r-tile);
  box-shadow:var(--sh-sm),var(--rim);
  position:relative;
}
.panel,.post,.sigcard,.dev,.sw{overflow:hidden}
.card-pad{padding:var(--s5)}
.panel-hd{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px var(--s3);padding:15px var(--s5) 13px;border-bottom:1px solid var(--line)}
.panel-hd h3{min-width:0;overflow-wrap:anywhere}
.panel-hd h3{font-size:.98rem;font-weight:700;letter-spacing:-.022em;font-family:var(--disp)}
.panel-bd{padding:var(--s5)}
.hr{height:1px;background:var(--line);border:0;margin:0}

/* etkileşimli karolar yükselir; gölge büyür, kenar közlenir */
.tile,.fcard,.post,.sigcard,.rowcard,.plan,.pick{
  transition:transform var(--d-md) var(--ease),box-shadow var(--d-md) var(--ease),border-color var(--d-md) var(--ease),background var(--d-md) var(--ease);
}
.tile:hover,.fcard:hover,.post:hover,.sigcard:hover,.rowcard:hover,.plan:hover,.pick:hover{
  transform:translateY(-3px);
  box-shadow:var(--sh-md),var(--rim);
  border-color:var(--em-soft2);
}
/* vurgulu karo: ember ısısı zemine işler */
.tile.accent,.plan.hot,.balcard{
  background:var(--tile-bg-hi);
  border-color:var(--em-soft2);
  box-shadow:var(--sh-md),var(--rim-em);
}

/* ───────────────── 5. BENTO IZGARA MOTORU ───────────────── */
.bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);grid-auto-flow:dense}
.sp2{grid-column:span 2}.sp3{grid-column:span 3}.sp4{grid-column:span 4}
.sp5{grid-column:span 5}.sp6{grid-column:span 6}.sp7{grid-column:span 7}
.sp8{grid-column:span 8}.sp9{grid-column:span 9}.sp12{grid-column:span 12}
.rw2{grid-row:span 2}

.grid{display:grid;gap:var(--gap)}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.t3{grid-template-columns:repeat(3,minmax(0,1fr))}
.t4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g-wide{display:grid;gap:var(--gap);grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}
.g-side{display:grid;gap:var(--gap);grid-template-columns:280px minmax(0,1fr)}
.g-side-r{display:grid;gap:var(--gap);grid-template-columns:minmax(0,1fr) minmax(300px,380px)}
.row{display:flex;align-items:center;gap:10px;min-width:0}
.row-b{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-width:0}
.row>.col,.row-b>.col,.row-b>.t-sm,.row-b>.t-xs,.row-b>.label{min-width:0;overflow-wrap:anywhere}
.col{display:flex;flex-direction:column;gap:10px}
.wrap{flex-wrap:wrap}
.grow{flex:1;min-width:0}
.scrollx{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.shell{max-width:var(--maxw);margin:0 auto;padding:0 clamp(16px,3vw,32px)}
.site-w{max-width:var(--readw);margin:0 auto;padding:0 clamp(18px,4vw,36px)}

/* ───────────────────── 6. KONTROLLER ───────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:40px;padding:0 18px;border-radius:var(--r-ctl);
  font-family:var(--body);font-weight:600;font-size:.875rem;letter-spacing:-.012em;
  cursor:pointer;border:1px solid transparent;white-space:nowrap;position:relative;
  transition:background var(--d-sm) var(--ease),border-color var(--d-sm) var(--ease),
             color var(--d-sm) var(--ease),transform var(--d-xs) var(--ease),box-shadow var(--d-sm) var(--ease);
}
.btn:active{transform:scale(.975)}
.btn-em{background:var(--em);color:#160A03;border-color:color-mix(in srgb,var(--em) 80%,#000);box-shadow:var(--sh-em),inset 0 1px 0 rgba(255,255,255,.28)}
.btn-em:hover{background:var(--em2);border-color:var(--em2);transform:translateY(-1px);box-shadow:var(--sh-em),inset 0 1px 0 rgba(255,255,255,.34)}
.btn-em:active{transform:scale(.975)}
:root[data-theme="light"] .btn-em{color:#fff}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]) .btn-em{color:#fff}}
.btn-ghost{border-color:var(--line2);color:var(--fg);background:color-mix(in srgb,var(--bg2) 70%,transparent);box-shadow:var(--rim)}
.btn-ghost:hover{background:var(--bg3);border-color:var(--line3);transform:translateY(-1px)}
.btn-quiet{color:var(--fg2)}
.btn-quiet:hover{background:var(--bg3);color:var(--fg)}
.btn-crit{background:var(--crit-soft);color:var(--crit);border-color:color-mix(in srgb,var(--crit) 42%,transparent)}
.btn-crit:hover{background:var(--crit);color:#fff;border-color:var(--crit)}
.btn-sm{height:32px;padding:0 12px;font-size:.795rem;border-radius:10px}
.btn-lg{height:52px;padding:0 28px;font-size:1rem;border-radius:14px}
.btn-block{width:100%}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.4;pointer-events:none}

.chip{
  display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 11px;border-radius:var(--r-pill);
  font-family:var(--mono);font-size:.695rem;font-weight:500;letter-spacing:-.005em;
  border:1px solid var(--line2);color:var(--fg2);background:color-mix(in srgb,var(--bg3) 80%,transparent);white-space:nowrap;
}
.chip-em{color:var(--em);border-color:var(--em-soft2);background:var(--em-soft)}
.chip-ash{color:var(--ash);border-color:var(--ash-soft2);background:var(--ash-soft)}
.chip-warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 38%,transparent);background:var(--warn-soft)}
.chip-crit{color:var(--crit);border-color:color-mix(in srgb,var(--crit) 42%,transparent);background:var(--crit-soft)}
.chip-lg{height:30px;padding:0 13px;font-size:.735rem}
.tag{display:inline-block;padding:3px 9px;border-radius:var(--r-pill);background:var(--bg4);color:var(--fg2);font-family:var(--mono);font-size:.675rem;letter-spacing:-.005em}

/* A14 — HENÜZ BAĞLANMAMIŞ KONTROLLER.
   Yönetim panelinde `name`'i, `<form>` sarmalayıcısı ve işleyicisi olmayan input/select'ler
   vardı: yönetici veri girip düğmeye basıyor, hiçbir şey olmuyordu. Bu kontroller artık
   `<fieldset class="soon" disabled>` içine alınır — tarayıcı hepsini native olarak devre
   dışı bırakır, odak sırasından çıkarır ve ekran okuyucuya "devre dışı" der. Bölüm
   başlığındaki "Yakında" çipi durumu görünür kılar. */
fieldset{border:0;margin:0;padding:0;min-width:0}
fieldset.soon{display:flex;flex-direction:column;gap:var(--s4)}
fieldset[disabled]{opacity:.62}
fieldset[disabled] .input,fieldset[disabled] .select,fieldset[disabled] .textarea{cursor:not-allowed}
fieldset[disabled] .switch,fieldset[disabled] .btn{pointer-events:none}

.field{display:flex;flex-direction:column;gap:7px}
.label{font-size:.79rem;font-weight:600;color:var(--fg2);letter-spacing:-.008em}
.input,.select,.textarea{
  height:42px;padding:0 14px;background:color-mix(in srgb,var(--bg3) 75%,transparent);
  border:1px solid var(--line2);border-radius:var(--r-ctl);color:var(--fg);font-size:.9rem;width:100%;
  transition:border-color var(--d-sm) var(--ease),background var(--d-sm) var(--ease),box-shadow var(--d-sm) var(--ease);
}
.textarea{height:auto;padding:12px 14px;font-family:var(--mono);font-size:.82rem;line-height:1.65;resize:vertical}
.input:hover,.select:hover,.textarea:hover{border-color:var(--line3)}
.input:focus,.select:focus,.textarea:focus{border-color:var(--em);background:var(--bg2);outline:none;box-shadow:0 0 0 4px var(--em-soft)}
.select{
  appearance:none;cursor:pointer;padding-inline-end:34px;
  background-image:linear-gradient(45deg,transparent 50%,var(--fg3) 50%),linear-gradient(135deg,var(--fg3) 50%,transparent 50%);
  background-position:calc(100% - 18px) 19px,calc(100% - 13px) 19px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;
}
[dir="rtl"] .select{background-position:18px 19px,13px 19px}
.hint{font-size:.745rem;color:var(--fg2)}
/* A4/A13 — alan bazlı hata. Renk TEK BAŞINA anlam taşımaz: ikon + metin + aria-invalid. */
.input[aria-invalid="true"],.select[aria-invalid="true"],.textarea[aria-invalid="true"]{
  border-color:var(--crit);background:var(--crit-soft)}
.input[aria-invalid="true"]:focus,.select[aria-invalid="true"]:focus,.textarea[aria-invalid="true"]:focus{
  box-shadow:0 0 0 4px var(--crit-soft)}
.field-err{display:flex;align-items:flex-start;gap:6px;font-size:.745rem;line-height:1.45;color:var(--crit)}
.field-err svg{flex:none;margin-top:2px}
/* Onay kutusu ve radyo da tasarımın parçasıdır: boyut + marka rengi + odak halkası. */
input[type="checkbox"],input[type="radio"]{
  width:18px;height:18px;flex:none;cursor:pointer;accent-color:var(--em);
  border-radius:5px;margin:0}
input[type="radio"]{border-radius:99px}
input[type="checkbox"]:focus-visible,input[type="radio"]:focus-visible{outline:2px solid var(--em);outline-offset:3px}

.switch{position:relative;width:44px;height:24px;border-radius:99px;background:var(--bg5);border:1px solid var(--line2);cursor:pointer;flex:none;
  transition:background var(--d-sm) var(--ease),border-color var(--d-sm) var(--ease),box-shadow var(--d-sm) var(--ease)}
.switch::after{content:"";position:absolute;top:2px;inset-inline-start:2px;width:18px;height:18px;border-radius:99px;background:var(--fg3);
  box-shadow:0 1px 3px rgba(0,0,0,.4);transition:transform var(--d-md) var(--ease-out),background var(--d-sm) var(--ease)}
.switch[aria-checked="true"]{background:var(--em-soft);border-color:var(--em);box-shadow:0 0 0 3px var(--em-soft)}
.switch[aria-checked="true"]::after{transform:translateX(20px);background:var(--em)}
[dir="rtl"] .switch[aria-checked="true"]::after{transform:translateX(-20px)}

.seg{display:inline-flex;padding:3px;background:color-mix(in srgb,var(--bg3) 80%,transparent);border:1px solid var(--line);border-radius:14px;gap:2px;box-shadow:var(--rim)}
/* Segment düğmeleri <button> de <a> de olabilir (dönem seçicileri bağlantıdır). */
.seg button,.seg a{display:inline-flex;align-items:center;justify-content:center;height:30px;padding:0 13px;border-radius:10px;
  font-size:.79rem;font-weight:600;color:var(--fg3);white-space:nowrap;
  transition:background var(--d-sm) var(--ease),color var(--d-sm) var(--ease),box-shadow var(--d-sm) var(--ease)}
.seg button:hover,.seg a:hover{color:var(--fg)}
.seg button[aria-pressed="true"],.seg a[aria-pressed="true"]{background:var(--bg5);color:var(--fg);box-shadow:var(--sh-sm)}
.seg button[aria-pressed="true"].em,.seg a[aria-pressed="true"].em{background:var(--em);color:#160A03;box-shadow:var(--sh-em)}
:root[data-theme="light"] .seg button[aria-pressed="true"].em,:root[data-theme="light"] .seg a[aria-pressed="true"].em{color:#fff}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]) .seg button[aria-pressed="true"].em,
  :root:not([data-theme="dark"]) .seg a[aria-pressed="true"].em{color:#fff}}

.iconbtn{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:10px;color:var(--fg3);
  transition:background var(--d-sm) var(--ease),color var(--d-sm) var(--ease)}
.iconbtn:hover{background:var(--bg3);color:var(--fg)}
/* Üst çubuk menü düğmesi: yalnız ≤820 px'te görünür (admin panelinin TEK gezinme yolu,
   orada alt sekme çubuğu yoktur). Masaüstünde rail zaten gezinmeyi taşır. */
.tb-menu{display:none;width:34px;height:34px;flex:none;place-items:center;border-radius:10px;
  border:1px solid var(--line2);color:var(--fg2);background:color-mix(in srgb,var(--bg3) 70%,transparent)}
.tb-menu:hover{border-color:var(--em-soft2);color:var(--em)}
.copybtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:28px;padding:0 10px;border-radius:9px;
  border:1px solid var(--line2);background:var(--bg3);color:var(--fg3);font-size:.735rem;font-family:var(--mono);cursor:pointer;
  transition:background var(--d-sm) var(--ease),border-color var(--d-sm) var(--ease),color var(--d-sm) var(--ease),transform var(--d-xs) var(--ease)}
.copybtn:hover{background:var(--em-soft);border-color:var(--em-soft2);color:var(--em)}
.copybtn:active{transform:scale(.94)}
.langsel{
  height:34px;padding:0 28px 0 12px;background:color-mix(in srgb,var(--bg3) 80%,transparent);border:1px solid var(--line2);border-radius:10px;
  font-family:var(--mono);font-size:.72rem;color:var(--fg2);appearance:none;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--fg3) 50%),linear-gradient(135deg,var(--fg3) 50%,transparent 50%);
  background-position:calc(100% - 15px) 15px,calc(100% - 11px) 15px;background-size:4px 4px,4px 4px;background-repeat:no-repeat;
  transition:border-color var(--d-sm) var(--ease)}
.langsel:hover{border-color:var(--line3)}
[dir="rtl"] .langsel{padding:0 12px 0 28px;background-position:15px 15px,11px 15px}

/* ───────────────── 7. VERİ GÖSTERİMİ ───────────────── */
.val{font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:500;display:inline-flex;align-items:center;gap:5px;letter-spacing:-.015em}
.val.up{color:var(--em)}
.val.dn{color:var(--ash)}
.val.flat{color:var(--fg3)}
.val .gly{font-size:.7em;line-height:1;opacity:.9}

@keyframes flashUp{0%{background:var(--em-soft2)}100%{background:transparent}}
@keyframes flashDn{0%{background:var(--ash-soft2)}100%{background:transparent}}
.fx-up{animation:flashUp 340ms var(--ease);border-radius:6px}
.fx-dn{animation:flashDn 340ms var(--ease);border-radius:6px}

/* tablo = bento satır mozaiği (her satır kendi karosu) */
.tbl{width:100%;font-size:.86rem;border-collapse:separate;border-spacing:0 9px}
.tbl th{font-family:var(--mono);font-size:.685rem;font-weight:500;letter-spacing:-.005em;color:var(--fg3);
  text-align:start;padding:2px 14px 6px;border-bottom:0;white-space:nowrap}
.tbl td{padding:13px 14px;white-space:nowrap;vertical-align:middle;background:var(--tile-bg);
  border-block:1px solid var(--line);transition:border-color var(--d-sm) var(--ease),background var(--d-sm) var(--ease)}
.tbl td:first-child{border-inline-start:1px solid var(--line);border-start-start-radius:var(--r2);border-end-start-radius:var(--r2)}
.tbl td:last-child{border-inline-end:1px solid var(--line);border-start-end-radius:var(--r2);border-end-end-radius:var(--r2)}
/* A9: satır tıklama işleyicisi HİÇBİR view'da yok — `cursor:pointer` yanıltıcı bir
   tıklanabilirlik sinyaliydi. Vurgu okuma yardımı olarak kalır, imleç işareti kalkar. */
.tbl tbody tr:hover td{border-color:var(--em-soft2);background:var(--tile-bg-hi)}
/* Satır GERÇEKTEN bir bağlantıya gidiyorsa view `.tbl-link` ekler ve işaret geri gelir. */
.tbl-link tbody tr{cursor:pointer}
.tbl .r{text-align:end}
.tbl-plain tbody tr{cursor:default}
.tbl-plain tbody tr:hover td{border-color:var(--line);background:var(--tile-bg)}

/* veri satırı karosu (tablonun kartsal karşılığı) */
.rowcard{display:flex;align-items:center;gap:var(--s4);flex-wrap:wrap;padding:14px 18px;border-radius:var(--r2)}
.rc-f{display:flex;flex-direction:column;gap:3px;min-width:78px}
.rc-f .k{font-family:var(--mono);font-size:.62rem;color:var(--fg3);letter-spacing:-.005em}
.rc-f .v{font-family:var(--mono);font-size:.82rem;color:var(--fg);letter-spacing:-.015em;overflow-wrap:anywhere}
.cardlist{display:flex;flex-direction:column;gap:9px}
.cardlist > .row-b,.cardlist > label.row-b,#aiActList > .row-b{
  background:color-mix(in srgb,var(--bg3) 70%,transparent);border:1px solid var(--line);border-radius:var(--r2);padding:11px 14px}
.checkgrid > .row{background:color-mix(in srgb,var(--bg3) 70%,transparent);border:1px solid var(--line);border-radius:var(--r2);padding:9px 12px}

/* ölçüm barı */
.scorebar{display:flex;flex-direction:column;gap:9px}
.scorebar .sb-row{display:grid;grid-template-columns:minmax(0,124px) minmax(0,1fr) 50px;align-items:center;gap:12px;font-size:.785rem;
  background:color-mix(in srgb,var(--bg3) 65%,transparent);border:1px solid var(--line);border-radius:var(--r2);padding:10px 13px}
.scorebar .sb-row>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.scorebar .sb-track{height:7px;border-radius:99px;background:var(--bg5);overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,.25)}
.scorebar .sb-track i{display:block;height:100%;background:linear-gradient(90deg,var(--em-deep),var(--em));border-radius:99px;transform-origin:left;animation:bar var(--d-lg) var(--ease) both}
.scorebar .sb-track i.ash{background:linear-gradient(90deg,var(--ash2),var(--ash))}
.scorebar .sb-v{font-family:var(--mono);font-size:.765rem;text-align:end;color:var(--fg)}

.usebar{display:flex;flex-direction:column;gap:8px}
.usebar .ub-hd{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.735rem;color:var(--fg2)}
.usebar .ub-track{height:9px;border-radius:99px;background:var(--bg5);overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,.25)}
.usebar .ub-track i{display:block;height:100%;background:linear-gradient(90deg,var(--em-deep),var(--em));border-radius:99px}
.usebar .ub-track i.warn{background:var(--warn)}
.usebar .ub-track i.crit{background:var(--crit)}
.usebar .ub-ft{display:flex;justify-content:space-between;font-size:.71rem;color:var(--fg2)}
.usebar .ub-ft .l{color:var(--em)}

.ring{position:relative;width:82px;height:82px;flex:none}
.ring svg{transform:rotate(-90deg);filter:drop-shadow(0 0 6px var(--em-soft))}
[dir="rtl"] .ring svg{transform:rotate(-90deg) scaleY(-1)}
.ring .rv{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--mono);font-weight:600;font-size:1.06rem;letter-spacing:-.03em}
.ring .rv small{display:block;font-size:.56rem;font-weight:400;letter-spacing:.02em;color:var(--fg3);text-align:center}
.ring-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:var(--s4);justify-items:center;text-align:center}
.ring-grid .rg-k{font-size:.77rem;font-weight:600;color:var(--fg2);margin-top:8px}

/* ─── ÖLÇÜM KARTLARI (panel: "Göstergeler") — 2026-09-02 ───────────────────────
   Halka göstergesinin yerini alır. Neden: halkada birim (%, /100) yayın ALTINDA
   kalıp okunmuyordu, sayı halkanın gölgesinde küçük kalıyordu ve her değer aynı
   ember rengiyle çizildiği için "44" ile "100" görsel olarak eşitti.
   Şimdi hiyerarşi tek yönlü: BÜYÜK sayı → küçük birim → etiket → ölçüm şeridi.
   Bant (lo/mid/hi) iki kanaldan söylenir: şeridin RENGİ ve DOLGU BOYU. Renk tek
   başına anlam taşımaz; bant renkleri metne değil YALNIZ şeride uygulanır, böylece
   sayı ve etiket her iki temada da tam kontrastta (--fg / --fg2) kalır. */
.gauge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
/* Bant rampası TEK YÖNLÜdür: uyarı → nötr → ember. (İlk denemede lo=ash, mid=warn idi;
   o sırada 44 sakin gri, 72 alarm sarısı çiziliyordu — yani kötü değer iyi değerden daha
   sessizdi.) Varsayılan = lo, çünkü eşiğin ALTI dikkat isteyen durumdur. */
.gauge{--gb:var(--warn);min-width:0;padding:14px 15px 13px;border-radius:var(--r-ctl);
  background:var(--tile-bg);border:1px solid var(--line);box-shadow:var(--rim)}
.gauge-mid{--gb:var(--ash)}
/* "iyi" bandı zeminden de belli olur — .tile.accent ile aynı tokenler */
.gauge-hi{--gb:var(--em);background:var(--tile-bg-hi);border-color:var(--em-soft2);box-shadow:var(--rim-em)}
.gauge .gg-v{display:flex;align-items:baseline;gap:.22em;min-width:0;
  font-family:var(--mono);color:var(--fg);line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.gauge .gg-v b{font-size:clamp(1.6rem,1.1vw + 1.1rem,2.25rem);font-weight:600}
/* ondalık kuyruk: tam kısmın gölgesinde kalır, "44 , 4" diye üçe bölünmez */
.gauge .gg-v b i{font-style:normal;font-size:.6em;font-weight:500;letter-spacing:-.02em;color:var(--fg2)}
.gauge .gg-v small{font-size:.66rem;font-weight:500;letter-spacing:0;color:var(--fg3);white-space:nowrap}
.gauge .gg-k{display:block;margin-top:6px;font-size:.755rem;font-weight:600;color:var(--fg2);
  line-height:1.3;overflow-wrap:anywhere}
/* şerit: kademeli "ısı merdiveni". Maske desteklenmezse düz çubuğa döner — anlam kaybı yok.
   Geniş ekranda pist gibi uzamasın diye sınırlanır; sayı kartın kahramanı kalır. */
.gauge .gg-m{display:block;margin-top:12px;height:7px;max-inline-size:340px;background:var(--bg4);overflow:hidden;
  -webkit-mask-image:repeating-linear-gradient(90deg,#000 0 3px,transparent 3px 5px);
  mask-image:repeating-linear-gradient(90deg,#000 0 3px,transparent 3px 5px)}
/* dolgu sunucudan gelir ve sayfa ömrü boyunca değişmez → geçiş/animasyon YOK */
.gauge .gg-m > span{display:block;height:100%;background:var(--gb)}

.heat{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:4px;min-width:0}
.heat .hc{aspect-ratio:1;border-radius:5px;background:var(--bg4);position:relative}
.heat .hl{font-family:var(--mono);font-size:.57rem;color:var(--fg3);display:grid;place-items:center;overflow:hidden;white-space:nowrap}

.tx-ico{width:34px;height:34px;border-radius:12px;flex:none;display:grid;place-items:center;
  background:var(--em-soft);color:var(--em);border:1px solid var(--em-soft2)}
.tx-ico.dn{background:var(--ash-soft);color:var(--ash);border-color:var(--ash-soft2)}

/* özkaynak grafiği: yazı katmanı SVG'den ayrı, esnese de yamulmaz */
.eqchart{position:relative;width:100%;padding:16px 58px 22px 0}
.eqchart svg{display:block;width:100%;height:100%}
.eqchart .eq-y{position:absolute;top:16px;bottom:22px;inset-inline-end:0;width:52px;display:flex;flex-direction:column;
  justify-content:space-between;align-items:flex-end;font-family:var(--mono);font-size:.65rem;color:var(--fg3)}
.eqchart .eq-x{position:absolute;inset-inline-start:0;inset-inline-end:58px;bottom:0;display:flex;justify-content:space-between;
  font-family:var(--mono);font-size:.62rem;color:var(--fg3)}
.eqchart .eq-dd{position:absolute;top:0;inset-inline-start:2px;font-family:var(--mono);font-size:.65rem;color:var(--ash)}

.code{font-family:var(--mono);font-size:.785rem;line-height:1.75;background:color-mix(in srgb,var(--bg3) 80%,transparent);
  border:1px solid var(--line);border-radius:var(--r2);padding:15px 17px;overflow-x:auto;color:var(--fg2)}
.code .kw{color:var(--em)} .code .st{color:var(--fg)} .code .cm{color:var(--fg3)}

/* ───────────────── 8. UYGULAMA KABUĞU (ada yerleşim) ───────────────── */
.app{min-height:100vh;display:flex}

/* sol ada: yüzen, yuvarlatılmış, sabit — hover ile açılmaz, hep okunur */
.rail{
  position:fixed;inset-block:14px;inset-inline-start:14px;width:var(--rail);z-index:60;
  display:flex;flex-direction:column;border-radius:var(--r-lg);
  background:color-mix(in srgb,var(--bg2) 88%,transparent);
  backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);
  border:1px solid var(--line);box-shadow:var(--sh-lg),var(--rim);overflow:hidden;
}
.rail-logo{height:74px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;flex:none;
  min-width:0;overflow:hidden;border-bottom:1px solid var(--line)}
.rail-logo .brandlogo{min-width:0}
.rail-logo .brandlogo img{height:34px;width:auto;max-width:100%;object-fit:contain}
.rail-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px 12px 18px;display:flex;flex-direction:column;gap:3px}
.rail-sec{font-family:var(--mono);font-size:.63rem;letter-spacing:.04em;color:var(--fg2);padding:16px 12px 7px;white-space:nowrap}
.rail a{
  display:flex;align-items:center;gap:13px;height:42px;padding:0 12px;border-radius:var(--r-ctl);color:var(--fg2);
  font-size:.875rem;font-weight:500;white-space:nowrap;position:relative;
  transition:background var(--d-sm) var(--ease),color var(--d-sm) var(--ease),transform var(--d-xs) var(--ease)}
.rail a .ic{width:22px;flex:none;display:grid;place-items:center;color:var(--fg3);transition:color var(--d-sm) var(--ease)}
.rail a:hover{background:var(--bg3);color:var(--fg)}
.rail a:hover .ic{color:var(--fg)}
.rail a.on{background:var(--em-soft);color:var(--em);box-shadow:inset 0 0 0 1px var(--em-soft2)}
.rail a.on .ic{color:var(--em)}
.rail a .badge{margin-inline-start:auto;font-family:var(--mono);font-size:.65rem;padding:2px 8px;border-radius:99px;background:var(--em);color:#160A03}
:root[data-theme="light"] .rail a .badge{color:#fff}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]) .rail a .badge{color:#fff}}

.main{flex:1;min-width:0;display:flex;flex-direction:column;margin-inline-start:calc(var(--rail) + 28px);padding-inline-end:14px}

/* üst komut çubuğu: yüzen ada */
.topbar{
  position:sticky;top:14px;z-index:55;height:var(--topbar);flex:none;display:flex;align-items:center;gap:10px;
  margin:14px 0 0;padding:0 16px;border-radius:var(--r-lg);
  background:color-mix(in srgb,var(--bg2) 82%,transparent);
  backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);
  border:1px solid var(--line);box-shadow:var(--sh-md),var(--rim);overflow:hidden;
}
/* A2 — GÜVENLİK KÜMESİ.
   Eskiden `.topbar{overflow-x:auto;scrollbar-width:none}` idi: dar ekranda kill switch ve
   çıkış düğmesi ekran DIŞINA kayıyor, kaydırma çubuğu da gizli olduğu için hiçbir görsel
   ipucu kalmıyordu (360 px ölçümü: kill sol kenarı 379 px, çıkış 432 px → görünmez).
   Artık çubuk kaydırılmaz; bunun yerine İSTEĞE BAĞLI kontroller kırılım kırılım mobil
   çekmeceye taşınır ve şu iki öge HER kırılımda yerinde kalır:
     · kill switch (işlemleri durdurma)   · çıkış / hesap
   İkisi de flex:none — daralma sırasında asla yer vermezler. */
.tb-safety{display:flex;align-items:center;gap:9px;flex:none;
  padding-inline-start:9px;border-inline-start:1px solid var(--line2)}
.omnibox{display:flex;align-items:center;gap:10px;height:36px;padding:0 13px;border:1px solid var(--line2);border-radius:var(--r-ctl);
  background:color-mix(in srgb,var(--bg3) 70%,transparent);color:var(--fg3);font-size:.83rem;min-width:210px;flex:0 1 auto;cursor:pointer;
  white-space:nowrap;overflow:hidden;
  transition:border-color var(--d-sm) var(--ease),color var(--d-sm) var(--ease),background var(--d-sm) var(--ease)}
.omnibox > span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.omnibox svg{flex:none}
.omnibox:hover{border-color:var(--em-soft2);color:var(--fg2);background:var(--em-soft)}
.omnibox kbd{margin-inline-start:auto;font-family:var(--mono);font-size:.66rem;padding:2px 6px;border:1px solid var(--line2);border-radius:6px;color:var(--fg3)}
/* flex:none idi → sağ blok asla daralmıyordu (A2'nin kök nedeni). Artık daralır,
   ama içindeki güvenlik kümesi (.tb-safety) daralmaz. */
.tb-right{margin-inline-start:auto;display:flex;align-items:center;gap:9px;flex:0 1 auto;min-width:0}
.trialmeter{display:flex;align-items:center;gap:10px;height:34px;padding:0 13px;border:1px solid var(--line2);border-radius:var(--r-ctl);
  background:color-mix(in srgb,var(--bg3) 70%,transparent)}
.trialmeter .tm-bar{width:60px;height:5px;border-radius:99px;background:var(--bg5);overflow:hidden}
.trialmeter .tm-bar i{display:block;height:100%;background:var(--em);border-radius:99px}
.killbtn{position:relative;overflow:hidden;height:36px;padding:0 15px;border-radius:var(--r-ctl);flex:none;
  border:1px solid color-mix(in srgb,var(--crit) 48%,transparent);background:var(--crit-soft);color:var(--crit);
  font-weight:700;font-size:.79rem;letter-spacing:-.01em;display:inline-flex;align-items:center;gap:8px;
  transition:border-color var(--d-sm) var(--ease),background var(--d-sm) var(--ease),box-shadow var(--d-sm) var(--ease)}
.killbtn .fill{position:absolute;inset:0;background:var(--crit);transform-origin:left;width:0;opacity:.35}
.killbtn:hover{border-color:var(--crit);box-shadow:0 0 0 4px var(--crit-soft)}
.killbtn-on{background:var(--crit);border-color:var(--crit);color:#fff}
.killbtn-on:hover{filter:brightness(1.08)}
.avatar{width:34px;height:34px;flex:none;border-radius:12px;background:var(--em-soft);border:1px solid var(--em-soft2);color:var(--em);
  display:grid;place-items:center;font-family:var(--disp);font-weight:700;font-size:.75rem;
  transition:background var(--d-sm) var(--ease),transform var(--d-xs) var(--ease)}
.avatar:hover{background:var(--em-soft2);transform:translateY(-1px)}

/* ───── HESAP MENÜSÜ (2026-08-30) ─────
   Avatar artık çıkış düğmesi DEĞİL, menü açıcıdır. Menü üst çubuğun DIŞINDA yaşar:
   `.topbar` hem `overflow:hidden` hem `backdrop-filter` taşır; backdrop-filter sabit
   konumlu çocuklar için de kapsayıcı blok kurduğu için içeride açılan her katman
   kırpılırdı. Konum JS ile düğmenin gerçek koordinatından hesaplanır (bkz.
   partials/account-menu.blade.php) — buradaki değerler yalnız ilk çerçeve içindir. */
.avatar[aria-haspopup]{cursor:pointer}
.avatar[aria-expanded="true"]{background:var(--em-soft2);border-color:var(--em);color:var(--em)}
/* Yönetim panelinde avatar rol uyarısı taşır (kritik renk). Satır içi stil yerine
   sınıf: satır içi stil "menü açık" göstergesini eziyordu. */
.avatar-crit{background:var(--crit-soft);border-color:color-mix(in srgb,var(--crit) 40%,transparent);color:var(--crit)}
.avatar-crit:hover{background:color-mix(in srgb,var(--crit) 22%,transparent)}
.avatar-crit[aria-expanded="true"]{background:var(--crit);border-color:var(--crit);color:#fff}
.acctmenu{position:fixed;top:calc(var(--topbar) + 22px);inset-inline-end:14px;z-index:130;
  width:min(276px,calc(100vw - 24px));max-height:calc(100vh - 96px);overflow-y:auto;
  background:var(--bg2);border:1px solid var(--line2);border-radius:var(--r-lg);
  box-shadow:var(--sh-lg),var(--rim);padding:7px;
  display:flex;flex-direction:column;animation:pop var(--d-sm) var(--ease)}
/* KİMLİK: kullanıcının adı ve e-postası — panelde başka hiçbir yerde yazmıyor. */
.acctmenu-id{display:flex;flex-direction:column;gap:3px;padding:11px 13px 12px;min-width:0}
.acctmenu-id b{font-family:var(--disp);font-size:.9rem;font-weight:700;color:var(--fg);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acctmenu-id span{font-family:var(--mono);font-size:.68rem;color:var(--fg3);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acctmenu-list{display:flex;flex-direction:column;gap:2px}
.acctmenu-list > a,.acctmenu-list button{display:flex;align-items:center;gap:12px;width:100%;
  min-height:40px;padding:10px 13px;border:0;border-radius:var(--r-ctl);background:none;
  color:var(--fg2);font-family:inherit;font-size:.875rem;font-weight:500;text-align:start;cursor:pointer;
  transition:background var(--d-sm) var(--ease),color var(--d-sm) var(--ease)}
.acctmenu-list > a:hover,.acctmenu-list button:hover,
.acctmenu-list > a:focus-visible,.acctmenu-list button:focus-visible{background:var(--em-soft);color:var(--em)}
.acctmenu-list .ic{width:20px;flex:none;display:grid;place-items:center;color:var(--fg3)}
.acctmenu-list > a:hover .ic,.acctmenu-list button:hover .ic,
.acctmenu-list > a:focus-visible .ic,.acctmenu-list button:focus-visible .ic{color:inherit}
/* YIKICI EYLEM GÖRSEL OLARAK AYRIDIR: ayırıcı çizgi + kritik renk. */
.acctmenu hr{border:0;border-top:1px solid var(--line);margin:6px 5px}
.acctmenu-list .danger{color:var(--crit)}
.acctmenu-list .danger .ic{color:var(--crit)}
.acctmenu-list .danger:hover,.acctmenu-list .danger:focus-visible{background:var(--crit-soft);color:var(--crit)}
/* JS YOKSA menü hiç açılamaz — o zaman çıkış yolu kaybolmasın diye sayfa akışında
   görünür kalır (base.blade.php ilk boyamadan önce <html>'e `js` sınıfını ekler). */
html:not(.js) .acctmenu[hidden]{display:flex;position:static;width:auto;max-width:none;
  margin-top:var(--gap);animation:none}

/* uyarı şeridi: yüzen karo */
.banner{display:flex;align-items:center;gap:13px;padding:13px 17px;font-size:.85rem;margin-top:var(--gap);
  border:1px solid var(--line);border-radius:var(--r2);box-shadow:var(--sh-sm)}
.banner.warn{background:var(--warn-soft);color:var(--warn);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}
.banner.crit{background:var(--crit-soft);color:var(--crit);border-color:color-mix(in srgb,var(--crit) 32%,transparent)}
.banner.ok{background:var(--em-soft);color:var(--em);border-color:var(--em-soft2)}
.banner .bx{margin-inline-start:auto;display:flex;gap:9px;align-items:center}

.page{flex:1;width:100%;max-width:var(--maxw);margin-inline:auto;min-width:0;padding:var(--gap) 0 72px;display:flex;flex-direction:column;gap:var(--gap)}
.page>*{min-width:0}
.page-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;margin-bottom:2px}
.page-hd h1{font-size:clamp(1.6rem,2.6vw,2.15rem);font-weight:800;letter-spacing:-.04em;position:relative;padding-bottom:10px}
.page-hd h1::after{content:"";position:absolute;inset-inline-start:0;bottom:0;width:44px;height:3px;border-radius:3px;
  background:linear-gradient(90deg,var(--em),transparent)}
.page-hd .sub{font-size:.875rem;color:var(--fg2);margin-top:8px}
.crumb{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.7rem;color:var(--fg3)}
.crumb a{color:var(--fg2)}
.crumb a:hover{color:var(--em)}
.crumb .cur{color:var(--em)}

/* istatistik mozaiği: ilk/vurgulu karo geniş, kalanlar dar — ritim doğar */
/* Karo genişliği kapsayıcıya göre kendini ayarlar (panel içinde de, tam sayfada da doğru). */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(212px,1fr));gap:var(--gap)}
.tiles > .tile{min-width:0}
/* .t3/.t4 eki .tiles auto-fit kuralını EZER: sabit kolon sayısı (dar ekran kırılımları aşağıda) */
.tiles.t3{grid-template-columns:repeat(3,minmax(0,1fr))}
.tiles.t4{grid-template-columns:repeat(4,minmax(0,1fr))}
.tile{padding:20px 22px;display:flex;flex-direction:column;gap:10px;overflow:hidden;justify-content:center}
.tile .k{font-size:.775rem;color:var(--fg2);letter-spacing:-.005em;display:flex;align-items:center;flex-wrap:wrap;row-gap:6px;gap:7px}
.tile .v{font-family:var(--mono);font-size:clamp(1.3rem,1.75vw,1.72rem);font-weight:600;letter-spacing:-.04em;line-height:1.14;
  font-variant-numeric:tabular-nums;text-wrap:balance;overflow-wrap:anywhere}
.tile .v .val{align-items:baseline}
.tile.accent .v{font-size:clamp(1.5rem,2.1vw,2.05rem)}
.tile .d{display:flex;align-items:center;gap:9px;font-size:.785rem}
.tile .spark{position:absolute;inset-inline-end:0;bottom:0;width:120px;height:46px;opacity:.7;pointer-events:none}
.tile .t-ico{position:absolute;inset-inline-end:16px;top:16px;width:34px;height:34px;border-radius:12px;
  display:grid;place-items:center;background:var(--em-soft);color:var(--em);border:1px solid var(--em-soft2)}
.tile .cmp{display:flex;align-items:center;gap:6px;font-size:.72rem;color:var(--fg2)}
.tile .cmp b{font-family:var(--mono);font-weight:600}
.tile .cmp .up{color:var(--em)}
.tile .cmp .dn{color:var(--crit)}
.tiles2x2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap);margin:0}
.tiles2x2 .tile{grid-column:auto;margin:0}
/* Dar 2×2 ızgarada tutar tek satıra sığsın (para birimi kırılmasın). */
.tiles2x2 .tile .v{font-size:clamp(1.1rem,1.35vw,1.42rem)}
.tiles2x2 .tile.accent .v{font-size:clamp(1.2rem,1.55vw,1.6rem)}
.dash-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:var(--gap);align-items:stretch}
.big-trend .bt-v{font-family:var(--mono);font-size:1.6rem;font-weight:600;letter-spacing:-.04em;color:var(--em)}
.big-trend .panel-hd{flex-wrap:wrap}

/* öne çıkan bakiye karosu */
.balcard{padding:24px;overflow:hidden}
.balcard::after{content:"";position:absolute;inset-inline-end:-50px;top:-60px;width:190px;height:190px;border-radius:99px;
  background:radial-gradient(circle,var(--em-glow),transparent 70%);filter:blur(10px);pointer-events:none;opacity:.55}
.balcard .bc-k{font-family:var(--mono);font-size:.7rem;color:var(--fg2);letter-spacing:-.005em;position:relative}
.balcard .bc-v{font-family:var(--mono);font-size:clamp(1.5rem,2.4vw,2rem);font-weight:600;letter-spacing:-.045em;margin-top:8px;position:relative;overflow-wrap:anywhere}
.balcard .bc-ft{display:flex;justify-content:space-between;align-items:flex-end;margin-top:18px;font-family:var(--mono);font-size:.73rem;color:var(--fg2);position:relative}

/* seçici liste */
.picklist{display:flex;flex-direction:column;gap:10px}
.pick{display:flex;align-items:center;gap:14px;padding:15px 16px;cursor:pointer;text-align:start;color:var(--fg);font:inherit;width:100%;border-radius:var(--r2)}
.pick.on{background:var(--tile-bg-hi);border-color:var(--em-soft2)}
.pick .p-ico{width:40px;height:40px;border-radius:13px;flex:none;display:grid;place-items:center;background:var(--em-soft);color:var(--em);border:1px solid var(--em-soft2)}
.pick.on .p-ico{background:var(--em);color:#160A03;border-color:transparent}
.pick .p-bd{min-width:0;display:flex;flex-direction:column;gap:3px}
.pick .p-t{font-weight:700;font-size:.885rem;letter-spacing:-.018em}
.pick .p-s{font-family:var(--mono);font-size:.725rem;color:var(--fg3)}
.addrow{display:flex;align-items:center;justify-content:space-between;gap:11px;padding:14px 16px;border:1px dashed var(--line3);
  border-radius:var(--r2);color:var(--fg2);cursor:pointer;background:transparent;font:inherit;width:100%;
  transition:border-color var(--d-sm) var(--ease),color var(--d-sm) var(--ease),background var(--d-sm) var(--ease)}
.addrow:hover{border-color:var(--em);color:var(--em);background:var(--em-soft)}

.qa-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.qa{display:flex;flex-direction:column;align-items:center;gap:8px;padding:15px 9px;border:1px solid var(--line2);
  border-radius:var(--r2);background:color-mix(in srgb,var(--bg3) 60%,transparent);color:var(--fg2);cursor:pointer;font:inherit;font-size:.745rem;font-weight:600;
  transition:border-color var(--d-sm) var(--ease),background var(--d-sm) var(--ease),color var(--d-sm) var(--ease),transform var(--d-xs) var(--ease)}
.qa:hover{border-color:var(--em-soft2);background:var(--em-soft);color:var(--em);transform:translateY(-2px)}
.qa .ic{color:var(--em)}

.tabnav{display:flex;gap:5px;flex-wrap:wrap;padding:4px;background:color-mix(in srgb,var(--bg3) 65%,transparent);
  border:1px solid var(--line);border-radius:var(--r2);width:fit-content;max-width:100%}
.tabnav a{padding:8px 15px;font-size:.83rem;font-weight:600;color:var(--fg3);border-radius:10px;
  transition:background var(--d-sm) var(--ease),color var(--d-sm) var(--ease)}
.tabnav a:hover{color:var(--fg)}
.tabnav a.on{color:var(--em);background:var(--em-soft)}

/* sinyal karosu */
.sigcard{flex:none}
.sigcard.new{animation:pop var(--d-lg) var(--ease)}
.sigcard-hd{display:flex;align-items:center;gap:11px;padding:14px 16px;border-bottom:1px solid var(--line)}
.sigcard-bd{padding:16px;display:flex;flex-direction:column;gap:14px}
/* Sinyal satırı seviye ızgarası (giriş/SL/TP1/R-R) — inline `repeat(4,1fr)` yerine sınıf; 640 px altında 2 sütun */
.sig-lv{padding:10px 12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
/* "Sinyallerim" satırı: durum rozeti + sebep + deneme + K/Z + onay (Track B) */
.sig-mine .sigcard-hd{flex-wrap:wrap;row-gap:6px}
.sig-state{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 12px}
.sig-state form{display:inline-flex}
.sig-tabn{margin-inline-start:6px;height:18px;padding:0 7px;font-size:.6rem}
.sig-filters{margin:0 var(--s5) 10px;width:auto;flex-wrap:wrap}
/* Track B (B-B2) — emir defteri, kota tabloları, pozisyon kartı "Emirler" açılır bölümü.
   Geniş tablolar kendi sarmalayıcısında yatay kayar; sayfa gövdesi ASLA yatay kaymaz. */
.tblwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;max-width:100%;padding:0 var(--s5) var(--s3)}
.tblwrap .tbl{border-spacing:0 6px}
.ob-tbl{min-width:980px;font-size:.78rem}
.ob-tbl th,.ob-tbl td{padding:8px 10px}
.ob-tbl .muted{color:var(--fg3)}
.ob-leg{height:20px;padding:0 8px;font-size:.62rem}
.ob-leg-entry{color:var(--em);border-color:var(--em-soft2);background:var(--em-soft)}
.ob-leg-exit{color:var(--fg2)}
.ob-leg-protective{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 38%,transparent);background:var(--warn-soft)}
.ob-leg-paper_exit{color:var(--ash);border-color:var(--ash-soft2);background:var(--ash-soft)}
.ob-no{display:inline-block;max-width:150px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;cursor:help}
.qt-tbl{min-width:640px}
.pager{gap:10px;align-items:center;justify-content:flex-end;padding:6px var(--s5) var(--s5);flex-wrap:wrap}
.pos-orders{border-top:1px solid var(--line)}
.pos-orders > summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;min-height:44px;padding:6px var(--s5);font-size:.78rem;color:var(--fg2)}
.pos-orders > summary::-webkit-details-marker{display:none}
.pos-orders > summary::before{content:"▸";font-size:.7rem;color:var(--fg3);width:12px}
.pos-orders[open] > summary::before{content:"▾"}
.pos-orders > summary:hover{color:var(--fg)}
.pos-prot{padding:8px var(--s5);border-top:1px solid var(--line)}
.vlist{display:flex;flex-direction:column;gap:2px;align-items:flex-start}
.vlist > span{display:inline-flex;align-items:baseline;gap:6px;flex-wrap:wrap}

.lvl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.lvl .lv{background:color-mix(in srgb,var(--bg3) 70%,transparent);border:1px solid var(--line);border-radius:var(--r-ctl);padding:10px 12px;display:flex;flex-direction:column;gap:4px}
.lvl .lv .k{font-family:var(--mono);font-size:.62rem;color:var(--fg3);letter-spacing:-.005em}
.lvl .lv .v{font-family:var(--mono);font-size:.88rem;font-weight:500;letter-spacing:-.02em;overflow-wrap:anywhere}

/* uzlaşı paneli */
.consensus{display:flex;align-items:center;justify-content:center;gap:clamp(10px,2.6vw,30px);padding:16px 0;flex-wrap:wrap}
.mvote{display:flex;flex-direction:column;align-items:center;gap:8px;width:112px}
.mvote .pill{width:100%;height:32px;border-radius:var(--r-pill);border:1px solid var(--line2);background:color-mix(in srgb,var(--bg3) 70%,transparent);
  display:grid;place-items:center;font-family:var(--mono);font-size:.685rem;letter-spacing:-.005em;transition:all var(--d-md) var(--ease)}
.mvote.buy .pill{color:var(--em);border-color:var(--em-soft2);background:var(--em-soft)}
.mvote.sell .pill{color:var(--ash);border-color:var(--ash-soft2);background:var(--ash-soft)}
.mvote.veto .pill{color:var(--crit);border-color:color-mix(in srgb,var(--crit) 42%,transparent);background:var(--crit-soft)}
.mvote .nmz{font-size:.7rem;color:var(--fg2);text-align:center;line-height:1.35}
.mvote .w{font-family:var(--mono);font-size:.64rem;color:var(--fg3)}

/* emir adımları */
.stepper{display:flex;align-items:center;gap:0;width:100%;overflow-x:auto;padding-bottom:4px}
.stepper .sp{display:flex;flex-direction:column;align-items:center;gap:9px;flex:none;width:80px}
.stepper .sp .dot{width:26px;height:26px;border-radius:99px;border:1.5px solid var(--line2);display:grid;place-items:center;
  font-family:var(--mono);font-size:.62rem;color:var(--fg3);background:var(--bg2);transition:all var(--d-md) var(--ease)}
.stepper .sp.done .dot{border-color:var(--em);background:var(--em);color:#160A03}
.stepper .sp.act .dot{border-color:var(--em);color:var(--em);box-shadow:0 0 0 4px var(--em-soft)}
.stepper .sp .lb{font-size:.685rem;color:var(--fg2);white-space:nowrap}
.stepper .ln{flex:1;min-width:16px;height:2px;background:var(--line2);position:relative;margin-bottom:26px;border-radius:2px}
.stepper .ln i{position:absolute;inset:0;background:var(--em);transform-origin:left;transform:scaleX(0);transition:transform var(--d-lg) var(--ease);border-radius:2px}
.stepper .ln.fill i{transform:scaleX(1)}

/* sihirbaz */
.wiz{display:flex;gap:0;border:1px solid var(--line);border-radius:var(--r-tile);overflow:hidden;background:var(--tile-bg);box-shadow:var(--sh-sm),var(--rim)}
.wiz-steps{width:236px;flex:none;border-inline-end:1px solid var(--line);padding:18px;display:flex;flex-direction:column;gap:5px;
  background:color-mix(in srgb,var(--bg3) 60%,transparent)}
.wiz-steps .ws{display:flex;gap:12px;padding:11px;border-radius:var(--r-ctl);font-size:.84rem;color:var(--fg3);align-items:flex-start}
.wiz-steps .ws.on{background:var(--em-soft);color:var(--em)}
.wiz-steps .ws.done{color:var(--fg2)}
.wiz-steps .ws .n{font-family:var(--mono);font-size:.68rem;width:20px;height:20px;border-radius:99px;border:1px solid currentColor;display:grid;place-items:center;flex:none;margin-top:1px}
.wiz-bd{flex:1;min-width:0;padding:24px;display:flex;flex-direction:column;gap:var(--s4)}

/* boş / bayat durumlar */
.empty{display:flex;flex-direction:column;align-items:center;gap:14px;padding:50px 22px;text-align:center}
.empty .glyph{width:64px;height:64px;border-radius:var(--r2);background:color-mix(in srgb,var(--bg3) 70%,transparent);border:1px solid var(--line);
  display:grid;place-items:center;color:var(--fg4);box-shadow:var(--rim);font-size:1.3rem}
.empty p{margin:0;max-width:44ch}
/* panel içi dar boş durum: aynı bileşen, daha az hava */
.empty.sm{padding:22px 14px;gap:9px}
.empty.sm .glyph{width:44px;height:44px;font-size:1rem}
/* tablo kartı: panel içinde kart ritmi (kenara yapışmaz) */
.panel>.scrollx,.panel-bd>.scrollx{min-width:0}
.panel>.scrollx>.tbl{margin:0}
/* hata sayfaları (404/419/500/503): tek karo, ortalanmış */
.errpage{min-height:100vh;display:grid;place-items:center;padding:24px}
.errcard{width:min(560px,100%);padding:clamp(28px,5vw,48px);display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}
.errcard .errcode{font-family:var(--disp);font-weight:800;font-size:clamp(4rem,14vw,7rem);line-height:.9;letter-spacing:-.06em;color:var(--em)}
.errcard h1{font-size:clamp(1.3rem,2.6vw,1.7rem);font-weight:700;letter-spacing:-.03em}
.errcard p{color:var(--fg2);font-size:.92rem;line-height:1.6;max-width:44ch}
.errcard .acts{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:8px}
.stale{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:.65rem;color:var(--warn);background:var(--warn-soft);
  border:1px solid color-mix(in srgb,var(--warn) 32%,transparent);border-radius:99px;padding:2px 10px}
.skel{background:linear-gradient(100deg,var(--bg3) 20%,var(--bg4) 42%,var(--bg3) 64%);background-size:280% 100%;
  animation:sweep 1.5s linear infinite;border-radius:var(--r-ctl)}

/* ─── A12: BEKLEME GERİ BİLDİRİMİ ───
   Önceden hiçbir yerde yoktu: form gönderildiğinde düğme aynı kalıyor, kullanıcı
   ikinci kez basıyordu (borsa bağlama gibi geri alınamaz işlemlerde tehlikeli).
   `zeyro.js` gönderimde düğmeye .is-busy + [aria-busy] ekler; metin yerinde kalır,
   yanına dönen bir halka gelir ve düğme yeniden tıklanamaz olur. */
.btn.is-busy,.btn[aria-busy="true"]{pointer-events:none;opacity:.82}
.btn.is-busy::after,.btn[aria-busy="true"]::after{
  content:"";width:14px;height:14px;flex:none;border-radius:99px;
  border:2px solid currentColor;border-top-color:transparent;
  animation:spin 640ms linear infinite}
/* Canlı yoklama sırasında yerinde değişen değerler: sessizce değişmez, kısaca soluklaşır. */
[aria-busy="true"] .live-v,.live-v[aria-busy="true"]{opacity:.55;transition:opacity var(--d-sm) var(--ease)}
@media (prefers-reduced-motion:reduce){
  .btn.is-busy::after,.btn[aria-busy="true"]::after{animation:none;border-top-color:currentColor;opacity:.5}
}

/* alt sekme çubuğu (mobil): yüzen ada */
.tabbar{display:none;position:fixed;bottom:12px;inset-inline:12px;height:var(--tabbar);z-index:80;border-radius:var(--r-lg);
  background:color-mix(in srgb,var(--bg2) 86%,transparent);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);
  border:1px solid var(--line);box-shadow:var(--sh-lg),var(--rim);padding-bottom:env(safe-area-inset-bottom)}
.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--fg3);font-size:.63rem;font-weight:600}
.tabbar a.on{color:var(--em)}

/* ───────────── 9. KATMANLAR: çekmece, diyalog, palet, bildirim ───────────── */
.scrim{position:fixed;inset:0;background:color-mix(in srgb,var(--bg) 62%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  z-index:120;animation:fadein var(--d-sm) var(--ease)}
.drawer{position:fixed;top:14px;bottom:14px;inset-inline-end:14px;width:min(580px,calc(100vw - 28px));background:var(--bg2);
  border:1px solid var(--line2);border-radius:var(--r-lg);z-index:121;display:flex;flex-direction:column;
  animation:slidein var(--d-md) var(--ease);box-shadow:var(--sh-lg),var(--rim);overflow:hidden}
@keyframes slidein{from{transform:translateX(24px);opacity:0}to{transform:none;opacity:1}}
[dir="rtl"] .drawer{animation:slideinR var(--d-md) var(--ease)}
@keyframes slideinR{from{transform:translateX(-24px);opacity:0}to{transform:none;opacity:1}}
.drawer-hd{display:flex;align-items:center;gap:13px;padding:16px 18px;border-bottom:1px solid var(--line);flex:none}
.drawer-bd{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:var(--s4)}
.drawer-ft{padding:15px 18px;border-top:1px solid var(--line);display:flex;gap:11px;flex:none;background:color-mix(in srgb,var(--bg3) 60%,transparent)}
.dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(500px,94vw);background:var(--bg2);border:1px solid var(--line2);
  border-radius:var(--r-lg);z-index:121;animation:pop var(--d-md) var(--ease);max-height:88vh;display:flex;flex-direction:column;
  box-shadow:var(--sh-lg),var(--rim);overflow:hidden}

.palette{padding:0;max-width:580px;width:92vw}
.palette-hd{display:flex;align-items:center;gap:13px;padding:16px 18px;border-bottom:1px solid var(--line)}
.palette-hd svg{color:var(--em);flex:none}
.palette-input{flex:1;background:transparent;border:0;outline:none;font-size:1rem;color:var(--fg);font-family:var(--body)}
.palette-list{max-height:380px;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:3px}
.palette-sec{font-family:var(--mono);font-size:.65rem;color:var(--fg3);padding:10px 12px 5px}
.palette-item{display:flex;align-items:center;gap:13px;padding:11px 13px;border-radius:var(--r-ctl);color:var(--fg2);font-size:.875rem;font-weight:500;cursor:pointer;
  transition:background var(--d-xs) var(--ease),color var(--d-xs) var(--ease)}
.palette-item:hover,.palette-item.active{background:var(--em-soft);color:var(--em)}
.palette-item .ic{width:20px;display:grid;place-items:center;flex:none;color:var(--fg3)}
.palette-item:hover .ic,.palette-item.active .ic{color:var(--em)}
.palette-item .badge{margin-inline-start:auto;font-family:var(--mono);font-size:.64rem;color:var(--fg3)}
.palette-item.active .badge{color:var(--em)}

.mobdrawer{position:fixed;top:12px;bottom:12px;inset-inline-end:12px;width:min(348px,88vw);background:var(--bg2);
  border:1px solid var(--line2);border-radius:var(--r-lg);z-index:121;display:flex;flex-direction:column;
  animation:slidein var(--d-md) var(--ease);box-shadow:var(--sh-lg),var(--rim);overflow:hidden}
.mobdrawer-hd{display:flex;align-items:center;justify-content:space-between;padding:17px 19px;border-bottom:1px solid var(--line)}
.mobdrawer-bd{flex:1;overflow-y:auto;padding:15px;display:flex;flex-direction:column;gap:var(--s4)}
.mobdrawer-nav{display:flex;flex-direction:column;gap:4px}
.mobdrawer-sec{font-family:var(--mono);font-size:.64rem;color:var(--fg3);padding:11px 11px 5px}
.mobdrawer a{display:flex;align-items:center;gap:13px;padding:11px 13px;border-radius:var(--r-ctl);color:var(--fg2);font-size:.895rem;font-weight:500;
  transition:background var(--d-xs) var(--ease),color var(--d-xs) var(--ease)}
.mobdrawer a:hover,.mobdrawer a.on{background:var(--em-soft);color:var(--em)}
.mobdrawer a .ic{width:22px;display:grid;place-items:center;flex:none}
.mobdrawer a .badge{margin-inline-start:auto;font-family:var(--mono);font-size:.64rem;padding:2px 8px;border-radius:99px;background:var(--em);color:#160A03}
.mobdrawer-ft{padding:15px 17px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--bg3) 60%,transparent);display:flex;flex-direction:column;gap:11px}

.toasts{position:fixed;bottom:22px;inset-inline-end:22px;z-index:200;display:flex;flex-direction:column;gap:9px;max-width:min(380px,92vw)}
.toast{background:var(--bg2);border:1px solid var(--line2);border-radius:var(--r2);padding:14px 16px;display:flex;gap:11px;align-items:flex-start;
  animation:pop var(--d-md) var(--ease);font-size:.86rem;box-shadow:var(--sh-lg),var(--rim)}
.toast.em{border-color:var(--em-soft2)} .toast.em .ti{color:var(--em)}
.toast.crit{border-color:color-mix(in srgb,var(--crit) 42%,transparent)} .toast.crit .ti{color:var(--crit)}

/* ═════════════════ 10. TANITIM SİTESİ ═════════════════ */
.site{display:flex;flex-direction:column;min-height:100vh}

/* yüzen hap gezinme adası */
.sitenav{position:sticky;top:14px;z-index:70;margin:14px auto 0;width:min(calc(var(--maxw) - 24px),calc(100% - 24px));
  border-radius:var(--r-lg);border:1px solid var(--line);
  background:color-mix(in srgb,var(--bg2) 80%,transparent);
  backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);
  box-shadow:var(--sh-md),var(--rim)}
.sitenav-in{padding:0 18px;height:68px;display:flex;align-items:center;gap:20px}
/* A1 — MARKA ASLA EZİLMEZ.
   `.sitenav-in` bir flex satırı; `.logo`/`.brandlogo` için flex:none yoktu ve temel
   sıfırlamadaki `img{max-width:100%}` devreye girince genişlik sıfıra kadar iniyordu:
   ölçümde 820 px'de yatay ezik, 360 px'de genişlik 0 px (logo tamamen kayboluyordu).
   Rail sürümünde düzeltilmişti, site/altbilgi sürümünde unutulmuştu. */
.logo{display:flex;align-items:center;gap:9px;flex:none;font-family:var(--disp);font-weight:800;font-size:1.02rem;letter-spacing:-.035em}
.sitenav .brandlogo,.footer .brandlogo{flex:none}
.logo .mark{width:26px;height:26px;flex:none}
.logo .nm{color:var(--fg)} .logo .nm b{color:var(--em);font-weight:800}
.sitenav nav{display:flex;gap:2px;margin-inline-start:6px}
.sitenav nav a{padding:9px 13px;border-radius:10px;font-size:.865rem;font-weight:500;color:var(--fg2);
  transition:background var(--d-sm) var(--ease),color var(--d-sm) var(--ease)}
.sitenav nav a:hover{color:var(--fg);background:var(--bg3)}
.sitenav nav a.on{color:var(--em);background:var(--em-soft)}
.sitenav .navr{margin-inline-start:auto;display:flex;align-items:center;gap:10px}
.burger{display:none;width:40px;height:40px;place-items:center;border-radius:12px;border:1px solid var(--line2);color:var(--fg2)}
#mobnav{border-top:1px solid var(--line);padding:12px 16px 18px;display:grid;grid-template-columns:1fr 1fr;gap:6px}
#mobnav a{padding:11px 13px;border-radius:10px;font-size:.875rem;color:var(--fg2);min-height:44px;display:flex;align-items:center}
#mobnav a:hover{background:var(--em-soft);color:var(--em)}
/* ≤640 px'te başlıktan çekilen dil/tema/giriş kontrolleri menünün dibinde toplanır. */
.mobnav-tools{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;align-items:center;
  margin-top:10px;padding-top:12px;border-top:1px solid var(--line)}
.mobnav-tools .langsel{flex:1 1 120px;min-width:0;height:44px}
.mobnav-tools .btn{flex:0 1 auto}

.sec{padding:clamp(52px,6.5vw,92px) 0;position:relative}
.sec-tight{padding:clamp(38px,5vw,66px) 0}
/* ikinci zemin: aynı tema ailesi içinde ton farkı, sert şerit değil */
.sec-alt{background:color-mix(in srgb,var(--bg2) 62%,transparent);border-block:1px solid var(--line)}
.sec-cta{border-top:1px solid var(--line);background:radial-gradient(ellipse 70% 100% at 50% 100%,var(--em-soft),transparent 70%)}
.sec-cta .site-w{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center}
.sec-hd{display:flex;flex-direction:column;gap:14px;margin-bottom:clamp(28px,4vw,48px);max-width:68ch}

/* HERO: bento mozaik — sol söz, sağ canlı sahne */
.hero{position:relative;overflow:hidden}
#heroCanvas{position:absolute;inset:0;width:100%;height:100%;opacity:.6;pointer-events:none}
.hero-aurora{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 56% 52% at 6% 4%,var(--em-soft) 0%,transparent 62%),
             radial-gradient(ellipse 46% 58% at 98% 96%,var(--em-soft) 0%,transparent 64%)}
.hero-in{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;
  padding:clamp(40px,5.2vw,76px) clamp(18px,4vw,36px) clamp(46px,6vw,84px);
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(26px,3.6vw,52px);align-items:center}
.hero h1{font-size:clamp(2.3rem,4.4vw,3.85rem);line-height:.96;letter-spacing:-.05em;font-weight:800}
.hero h1 .em{color:var(--em);position:relative;display:inline-block}
.hero h1 .em::after{content:"";position:absolute;inset-inline:0;bottom:.04em;height:.06em;border-radius:2px;background:var(--em);opacity:.32;
  transform-origin:left;animation:bar var(--d-xl) var(--ease) .45s both}
.hero-sub{margin-top:20px}
.hero-cta{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.hero-micro{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px}
/* canlı ürün sahnesi = bento karo */
.hero-stage{position:relative;border:1px solid var(--line2);border-radius:var(--r-lg);
  background:color-mix(in srgb,var(--bg2) 86%,transparent);overflow:hidden;min-height:428px;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--sh-lg),var(--rim)}
.stage-top{display:flex;align-items:center;gap:9px;padding:12px 16px;border-bottom:1px solid var(--line);
  background:color-mix(in srgb,var(--bg3) 60%,transparent);font-family:var(--mono);font-size:.68rem;color:var(--fg3)}
.stage-dots{display:flex;gap:5px}
.stage-dots i{width:8px;height:8px;border-radius:99px;background:var(--line3);display:block}
.stage-dots i:first-child{background:var(--em)}
.stage-body{padding:17px;display:flex;flex-direction:column;gap:13px;min-height:372px}
.stage-prog{height:2px;background:var(--line);position:relative;overflow:hidden}
.stage-prog i{position:absolute;inset:0;background:var(--em);transform-origin:left;transform:scaleX(0)}

/* ölçü mozaiği: bağımsız karolar, çizgili şerit değil */
.statband{padding:0}
.statband-in{max-width:var(--maxw);margin:0 auto;padding:0 clamp(18px,4vw,36px);
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.statband .st{padding:20px 18px;display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);border-radius:var(--r2);
  background:var(--tile-bg);box-shadow:var(--sh-sm),var(--rim);
  transition:transform var(--d-md) var(--ease),border-color var(--d-md) var(--ease),box-shadow var(--d-md) var(--ease)}
.statband .st:hover{transform:translateY(-3px);border-color:var(--em-soft2);box-shadow:var(--sh-md),var(--rim)}
.statband .st .v{font-family:var(--mono);font-size:1.6rem;font-weight:600;letter-spacing:-.045em;color:var(--fg);font-variant-numeric:tabular-nums}
.statband .st .k{font-size:.755rem;color:var(--fg2)}

/* özellik mozaiği */
.fcard{padding:24px;display:flex;flex-direction:column;gap:12px;overflow:hidden}
.fcard .ico{width:44px;height:44px;border-radius:14px;background:var(--em-soft);border:1px solid var(--em-soft2);display:grid;place-items:center;color:var(--em)}
.fcard h3{font-size:1.06rem}
.fcard .idx{position:absolute;inset-inline-end:18px;top:16px;font-family:var(--mono);font-size:.7rem;color:var(--fg4)}

/* süreç dizisi: numara gerçek sırayı taşır */
.steps{position:relative;display:grid;gap:12px}
.steps .step{display:grid;grid-template-columns:64px minmax(0,1fr);gap:20px;padding:22px 24px;
  border:1px solid var(--line);border-radius:var(--r2);background:var(--tile-bg);box-shadow:var(--sh-sm),var(--rim);
  transition:border-color var(--d-md) var(--ease),transform var(--d-md) var(--ease)}
.steps .step:hover{border-color:var(--em-soft2);transform:translateX(3px)}
[dir="rtl"] .steps .step:hover{transform:translateX(-3px)}
.steps .n{font-family:var(--mono);font-size:.85rem;color:var(--em);padding-top:2px}

/* iki sütunlu vitrin */
.zig{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(28px,4vw,52px) 0}
.zig.rev>.zig-media{order:-1}

/* fiyat mozaiği: öne çıkan plan geniş */
/* Hücre sayısı = plan sayısı: asla boş hücre kalmaz. */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:var(--gap)}
.plan{padding:26px 24px;display:flex;flex-direction:column;gap:var(--s4)}
.plan .ribbon{position:absolute;top:-10px;inset-inline-start:24px;height:22px;padding:0 11px;border-radius:99px;background:var(--em);color:#160A03;
  font-family:var(--mono);font-size:.63rem;font-weight:700;display:grid;place-items:center;box-shadow:var(--sh-em)}
:root[data-theme="light"] .plan .ribbon{color:#fff}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]) .plan .ribbon{color:#fff}}
.plan .price{font-family:var(--mono);font-size:2.3rem;font-weight:600;letter-spacing:-.055em;color:var(--fg);line-height:1}
.plan .price small{font-size:.8rem;font-weight:400;color:var(--fg3);letter-spacing:-.01em}
.plan ul{display:flex;flex-direction:column;gap:10px;font-size:.855rem;color:var(--fg2)}
.plan li{display:flex;gap:10px;align-items:flex-start}
.plan li .tick{color:var(--em);flex:none;margin-top:2px}
.plan li.no{color:var(--fg3)} .plan li.no .tick{color:var(--fg3)}

/* SSS: açılır karolar */
.faq{display:flex;flex-direction:column;gap:10px}
.faq details{border:1px solid var(--line);border-radius:var(--r2);background:var(--tile-bg);box-shadow:var(--sh-sm),var(--rim);
  overflow:hidden;transition:border-color var(--d-md) var(--ease)}
.faq details[open]{border-color:var(--em-soft2)}
.faq summary{padding:18px 20px;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;
  font-family:var(--disp);font-weight:600;font-size:1rem;letter-spacing:-.025em;transition:color var(--d-sm) var(--ease)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--em)}
.faq summary .pm{width:20px;height:20px;flex:none;position:relative}
.faq summary .pm::before,.faq summary .pm::after{content:"";position:absolute;background:var(--em);transition:transform var(--d-md) var(--ease)}
.faq summary .pm::before{inset-inline:0;top:9.5px;height:1.5px}
.faq summary .pm::after{top:0;bottom:0;inset-inline-start:9.5px;width:1.5px}
.faq details[open] summary .pm::after{transform:rotate(90deg)}
.faq .ans{padding:0 20px 20px;max-width:76ch}

/* borsa şeridi */
.mq{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq-tr{display:flex;gap:12px;width:max-content;animation:mqmove 38s linear infinite}
@keyframes mqmove{to{transform:translateX(-50%)}}
.mq:hover .mq-tr{animation-play-state:paused}
.exch{display:flex;align-items:center;gap:11px;padding:13px 20px;border:1px solid var(--line);border-radius:var(--r2);
  background:var(--tile-bg);white-space:nowrap;box-shadow:var(--sh-sm),var(--rim)}
.exch .dot{width:8px;height:8px;border-radius:99px;background:var(--em)}
.exch .dot.soon{background:var(--ash)}

.riskband{border-top:1px solid var(--line);background:color-mix(in srgb,var(--bg2) 60%,transparent);padding:24px 0;margin-top:auto}
.riskband p{font-size:.79rem;color:var(--fg2);line-height:1.7;max-width:110ch}

.footer{border-top:1px solid var(--line);background:color-mix(in srgb,var(--bg2) 55%,transparent);padding:48px 0 32px}
.footer-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:30px}
.footer h5{font-family:var(--mono);font-size:.69rem;color:var(--fg2);margin-bottom:14px;font-weight:500;letter-spacing:-.005em}
.footer ul{display:flex;flex-direction:column;gap:9px}
.footer a{font-size:.855rem;color:var(--fg2);transition:color var(--d-sm) var(--ease)}
.footer a:hover{color:var(--em)}
.footer-bot{margin-top:34px;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}

/* günlük */
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.post{cursor:pointer}
.post .thumb{height:150px;position:relative;overflow:hidden;background:var(--bg3);border-bottom:1px solid var(--line)}
.post .thumb canvas{width:100%;height:100%;display:block}
.post .pb{padding:18px;display:flex;flex-direction:column;gap:9px}

/* okuma metni */
.prose{max-width:74ch;display:flex;flex-direction:column;gap:17px}
.prose h2{font-size:1.42rem;margin-top:16px}
.prose h3{font-size:1.06rem;margin-top:8px}
.prose p,.prose li{font-size:.94rem;color:var(--fg2);line-height:1.75}
.prose ul{display:flex;flex-direction:column;gap:9px;padding-inline-start:20px;list-style:disc}
.prose .note{border:1px solid var(--em-soft2);padding:15px 18px;background:var(--em-soft);border-radius:var(--r2)}

/* tasarım sistemi örnekleri */
.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:var(--s3)}
.sw .chipc{height:70px}
.sw .meta{padding:11px 13px;display:flex;flex-direction:column;gap:3px}
.sw .meta b{font-size:.79rem;font-weight:600}
.sw .meta span{font-family:var(--mono);font-size:.68rem;color:var(--fg3)}
.devices{display:flex;gap:20px;align-items:flex-end;overflow-x:auto;padding-bottom:10px}
.dev{flex:none;display:flex;flex-direction:column}
.dev .dv-hd{padding:8px 12px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:.62rem;color:var(--fg3);display:flex;justify-content:space-between}
.dev .dv-bd{position:relative;overflow:hidden;background:var(--bg)}

/* marka görseli: arkada soluk ember parıltı */
.brandlogo{position:relative;display:inline-flex;align-items:center;line-height:0;min-width:0}
.brandlogo img{height:42px;width:auto;max-width:100%;object-fit:contain;position:relative;z-index:1;
  filter:drop-shadow(0 2px 14px rgba(0,0,0,.45))}
:root[data-theme="light"] .brandlogo img{filter:none}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]) .brandlogo img{filter:none}}
.brandlogo::before{content:"";position:absolute;inset:-55% -18%;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse 62% 90% at 50% 55%,var(--em-glow) 0%,transparent 72%);filter:blur(15px);opacity:.85}

/* ───────────────────── 11. HAREKET ───────────────────── */
/* Tek yazarlı an: bento karoları alttan, hafif bulanıklıkla oturur. */
@keyframes rise{from{opacity:0;transform:translateY(18px) scale(.985);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes fadein{from{opacity:0}to{opacity:1}}
@keyframes pop{0%{opacity:0;transform:translateY(-10px) scale(.97)}100%{opacity:1;transform:none}}
@keyframes glowPulse{0%,100%{box-shadow:0 0 0 0 var(--em-soft2)}50%{box-shadow:0 0 0 8px transparent}}
@keyframes sweep{from{background-position:-160% 0}to{background-position:260% 0}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes bar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
/* İçerik yalnızca JS varken gizlenir — script çalışmazsa sayfa eksiksiz görünür. */
:root.js .reveal{opacity:0}
.reveal.in{animation:rise var(--d-lg) var(--ease) forwards}
:root.js .stagger>*{opacity:0}
.stagger.in>*{animation:rise var(--d-md) var(--ease) forwards}
.stagger.in>*:nth-child(1){animation-delay:0ms}
.stagger.in>*:nth-child(2){animation-delay:55ms}
.stagger.in>*:nth-child(3){animation-delay:110ms}
.stagger.in>*:nth-child(4){animation-delay:165ms}
.stagger.in>*:nth-child(5){animation-delay:220ms}
.stagger.in>*:nth-child(6){animation-delay:275ms}
.stagger.in>*:nth-child(n+7){animation-delay:330ms}
.livedot{width:8px;height:8px;border-radius:99px;background:var(--em);flex:none;animation:glowPulse 2.4s var(--ease) infinite}
.livedot.warn{background:var(--warn)}
.livedot.off{background:var(--ash);animation:none}

/* ───────────────────── 12. DUYARLI DÜZEN ───────────────────── */
@media (max-width:1340px){
  .trialmeter{display:none}
  :root{--rail:var(--rail-mini)}
  .rail a{justify-content:center;padding:0 10px}
  .rail a .lb{display:none}
  .rail a .badge{position:absolute;inset-inline-end:6px;top:5px;margin:0;padding:1px 5px;font-size:.58rem}
  .rail-sec{text-align:center;font-size:.55rem;padding:14px 4px 6px;overflow:hidden;text-overflow:ellipsis}
  .rail-logo{padding:0 8px}
  .rail-logo .chip{display:none}
  .rail-logo .brandlogo img{height:28px}
}
@media (max-width:1200px){
  .hero-in{grid-template-columns:minmax(0,1fr);gap:32px}
  .t4,.tiles.t4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .statband-in{grid-template-columns:repeat(3,minmax(0,1fr))}
  .footer-grid{grid-template-columns:1fr 1fr 1fr}
  .g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dash-hero{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:1000px){
  .bento > *{grid-column:span 6}
  .g-wide,.g-side,.g-side-r{grid-template-columns:minmax(0,1fr)}
  .t3,.tiles.t3{grid-template-columns:repeat(2,minmax(0,1fr))}
  /* ÖLÜ SEÇİCİ DÜZELTMESİ (A2): çipler `.topbar`ın DOĞRUDAN çocuğu değil, `.tb-right`
     içindedir; `.topbar>.chip` hiçbir zaman eşleşmiyordu, dolayısıyla admin panelinde
     SUPER_ADMIN + 2FA çipleri hiç gizlenmiyor ve kill switch'i ekran dışına itiyordu. */
  .tb-right > .chip{display:none}
  .sitenav nav{display:none}
  .burger{display:grid}
  .posts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .zig{grid-template-columns:minmax(0,1fr);gap:24px}
  .zig.rev>.zig-media{order:0}
  .wiz{flex-direction:column}
  .wiz-steps{width:auto;border-inline-end:0;border-bottom:1px solid var(--line);flex-direction:row;overflow-x:auto}
}
@media (max-width:820px){
  /* A2 — isteğe bağlı üst çubuk kontrolleri mobil çekmeceye taşınır; güvenlik kümesi kalır.
     Mod seçici, dil seçici, tema ve bildirim düğmeleri çekmecede birebir aynı işlevle var. */
  .topbar .seg{display:none}
  .tb-right > .langsel,.tb-right > .iconbtn,.tb-right > .trialmeter{display:none}
  .tb-menu{display:grid}
  .omnibox{min-width:44px;flex:1 1 auto}
  .omnibox kbd{display:none}
  .rail{display:none}
  .main{margin-inline-start:0;padding-inline:12px}
  .tabbar{display:flex}
  .page{padding-bottom:calc(var(--tabbar) + 40px)}
  /* Admin panelinde alt sekme çubuğu YOK: gezinme yalnız çekmeceden gelir, o yüzden
     sayfa dibine sekme çubuğu payı bırakılmaz. */
  .app-admin .page{padding-bottom:40px}
  .lvl{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{grid-template-columns:1fr 1fr}
  .statband-in{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sitenav-in{height:62px}

  /* A8 — DOKUNMA HEDEFLERİ.
     Parmak 34 px'lik düğmeyi ıskalıyordu; işlem panelinde bir ıskalama para demek.
     ≤820 px'te her AYRIK kontrol en az 44×44 px'tir (WCAG 2.5.5 / 2.5.8 Target Size).
     Cümle içindeki metin bağlantıları (WCAG'ın "inline" istisnası) hariçtir: onları
     büyütmek satır ritmini bozar ve okuma akışını kırar. */
  .iconbtn,.avatar,.tb-menu,.burger{width:44px;height:44px}
  .langsel,.killbtn,.omnibox,.input,.select{height:44px}
  .btn{height:44px}
  .btn-sm{height:44px;padding:0 14px}
  .btn-lg{height:52px}
  .copybtn{height:44px;padding:0 14px}
  .sitenav .logo{min-height:44px}
  .switch{width:52px;height:30px}
  .switch::after{width:24px;height:24px}
  .switch[aria-checked="true"]::after{transform:translateX(22px)}
  [dir="rtl"] .switch[aria-checked="true"]::after{transform:translateX(-22px)}
  /* Segment düğmeleri (dönem/mod/filtre seçicileri) panelin ana filtresidir: yanlış
     segmente basmak sık ve can sıkıcı. Her segment tam 44 px'tir. */
  .seg button,.seg a{height:44px;padding:0 16px}
  .faq summary{padding:20px}
  .tabbar a{min-height:44px}
  /* Hesap menüsü ögeleri de ayrık kontroldür: 44 px. */
  .acctmenu-list > a,.acctmenu-list button{min-height:44px}

}
@media (max-width:640px){
  body{font-size:14.5px}
  .bento > *{grid-column:span 12}
  .g2,.g3,.g4,.posts,.t3,.t4,.tiles2x2,.qa-grid{grid-template-columns:minmax(0,1fr)}
  .tiles,.tiles.t3,.tiles.t4{grid-template-columns:minmax(0,1fr)}
  .heat{gap:3px}
  .heat .hl{font-size:.5rem}
  .panel-hd{padding:13px 16px 11px}
  .rowcard{padding:12px 14px;gap:10px 14px}
  .sig-lv{grid-template-columns:repeat(2,minmax(0,1fr))}
  .empty{padding:32px 16px}
  .killbtn .kl{display:none}
  .omnibox > span{display:none}
  /* İkon-tek kill switch yine de 44 px'lik dokunma hedefidir */
  .killbtn{padding:0;width:44px;justify-content:center}
  .sitenav .navr .btn-quiet{display:none}
  /* A1 — 360 px'te marka için yer açılır: logo küçülür, dil ve tema seçicisi
     hamburger menüsüne (#mobnav) taşınır. Logo hiçbir koşulda ezilmez/kaybolmaz. */
  .sitenav .brandlogo img,.footer .brandlogo img{height:30px}
  .sitenav .navr > .langsel,.sitenav .navr > #themeBtn{display:none}
  .sitenav-in{gap:12px;padding:0 14px}
  .stepper .sp{width:66px}
  .stepper .sp .lb{font-size:.6rem}
  .hero-cta .btn{width:100%}
  .steps .step{grid-template-columns:38px minmax(0,1fr);gap:14px;padding:18px}
  .drawer,.mobdrawer{inset:8px;width:auto;max-width:none}
  .toasts{inset-inline:12px;bottom:calc(var(--tabbar) + 24px);max-width:none}
  .tbl th,.tbl td{padding:11px 10px;font-size:.81rem}
  .consensus{gap:9px}
  .mvote{width:92px}
  .card-pad,.panel-bd,.tile{padding:16px}
  .balcard,.wiz-bd,.fcard,.plan{padding:20px}
}
@media (max-width:400px){
  .footer-grid{grid-template-columns:1fr}
  .statband-in{grid-template-columns:minmax(0,1fr)}
  .mvote{width:calc(50% - 6px)}
}

/* ───────────────── 13. AZALTILMIŞ HAREKET / SAYDAMLIK ───────────────── */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  :root.js .reveal,.reveal{opacity:1}
  :root.js .stagger>*,.stagger>*{opacity:1}
  .mq-tr{animation:none}
}
@media (prefers-reduced-transparency:reduce){
  .rail,.topbar,.sitenav,.tabbar,.hero-stage,.mobdrawer,.drawer,.dialog{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--bg2)}
  .scrim{backdrop-filter:none;-webkit-backdrop-filter:none;background:color-mix(in srgb,var(--bg) 88%,transparent)}
}
@media print{
  body::before,body::after,.rail,.topbar,.tabbar,.toasts,.sitenav{display:none!important}
  .main{margin:0;padding:0}
  .card,.panel,.tile{box-shadow:none;break-inside:avoid}
}
