/* ═══════════════════════════════════════════════════════════
   NirvanaMt2 — TANITIM sayfası bileşenleri
   style.css üzerine biner; tüm renkler oradaki tokenlardan gelir
   ═══════════════════════════════════════════════════════════ */

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

/* ── Sabit sayfa arka planı ────────────────────────────────
   Görseli değiştirmek için assets/img/page-bg.png dosyasını
   değiştir; başka hiçbir yeri elle güncellemeye gerek yok.   */
.page-tanitim{
  --page-bg-img:url('../img/page-bg.png');
  --page-bg-veil:radial-gradient(120% 90% at 50% 0%, rgba(6,16,13,.88) 0%, rgba(4,12,10,.93) 55%, rgba(3,10,8,.96) 100%);
  /* İçerik alanının gözle görülen rengi — hero geçişi buna bağlanır */
  --page-bg-base:#080f0d;
  background:transparent;
}
html{background:var(--bg);}

.page-bg{
  position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:var(--page-bg-img) center center / cover no-repeat;
  filter:saturate(.3) brightness(.47);
}
.page-bg::after{
  content:"";position:absolute;inset:0;
  background:var(--page-bg-veil);
}
/* Seigaiha dokusu — arka planı sayfanın diline bağlar */
.page-bg::before{
  content:"";position:absolute;inset:0;z-index:1;opacity:.1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='30' viewBox='0 0 60 30'%3E%3Cg fill='none' stroke='%236ab99b' stroke-opacity='.55' stroke-width='1.1'%3E%3Cpath d='M0 30a30 30 0 0 1 60 0M0 30a22 22 0 0 1 60 0M0 30a14 14 0 0 1 60 0M0 30a6 6 0 0 1 60 0'/%3E%3C/g%3E%3C/svg%3E");
  background-size:60px 30px;
}

/* Bölümler saydam olur ki tek arka plan kesintisiz aksın */
.page-tanitim main .section,
.page-tanitim main .section-alt{background:transparent;}
.page-tanitim .site-footer{background:color-mix(in srgb, var(--bg) 78%, transparent);}
.page-tanitim .cta-section{
  background:linear-gradient(135deg, rgba(12,42,32,.92), rgba(26,87,68,.86) 48%, rgba(18,59,48,.92));
}

/* ── Kompakt hero ── */
.hero-compact{min-height:auto;padding:calc(var(--header-h) + 56px) 20px 150px;}

/* Hero'dan içeriğe geçiş:
   Sabit sayfa arka planı zaten hero'nun da arkasında duruyor.
   Hero'nun tüm arka plan katmanını (video + perdeler + desen) aşağı
   doğru eriterek o arka planı ortaya çıkarıyoruz — böylece iki alan
   arasında hiçbir renk sınırı oluşmuyor. */
.page-tanitim{
  --hero-veil-2:linear-gradient(180deg,
    rgba(6,16,13,.68) 0%,
    rgba(6,15,12,.52) 38%,
    rgba(7,15,13,.82) 78%,
    rgba(7,15,13,.92) 100%);
}
.page-tanitim .hero-bg{
  -webkit-mask-image:linear-gradient(180deg, #000 52%, rgba(0,0,0,.5) 80%, transparent 100%);
          mask-image:linear-gradient(180deg, #000 52%, rgba(0,0,0,.5) 80%, transparent 100%);
}
/* Dalga deseni de alt kenara varmadan sönümlensin */
.page-tanitim .hero-bg::after{
  -webkit-mask-image:linear-gradient(180deg, transparent 34%, #000 62%, transparent 92%);
          mask-image:linear-gradient(180deg, transparent 34%, #000 62%, transparent 92%);
}
.hero-logo-sm{width:min(70%,380px);}
.hero-compact .hero-tagline{margin:.5rem 0 .7rem;font-size:clamp(1.6rem,4.2vw,2.6rem);letter-spacing:.14em;}
.hero-sub{max-width:640px;margin:0 0 1.5rem;color:var(--text-2);font-size:1rem;}
.hero-countdown-sm{width:min(100%,560px);padding:1rem 1.1rem .9rem;}
.main-nav a.is-current{color:var(--gold);background:var(--surface);}
.main-nav a.is-current::after{width:38%;}

/* ── Dikey içindekiler menüsü ──────────────────────────────
   ≥1280px : ekranın soluna yapışık sabit ray, içerik ortada
   <1280px : sağ altta düğme + soldan açılan çekmece          */
:root{--toc-w:210px;--toc-edge:18px;}

/* İçerik ortada kalsın ama rayın altına girmesin:
   sayfa daraldıkça içerik sütunu da daralır, ray hep solda kalır. */
@media (min-width:1280px){
  .page-tanitim{--wrap:min(1180px, calc(100vw - 540px));}
}

.toc{
  position:fixed;z-index:760;
  top:calc(var(--header-h) + 16px);
  left:var(--toc-edge);
  width:var(--toc-w);
  max-height:calc(100vh - var(--header-h) - 38px);
  display:flex;flex-direction:column;
  border-radius:var(--r-lg);overflow:hidden;
  background:color-mix(in srgb, var(--bg) 82%, transparent);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  box-shadow:var(--sh-md), inset 0 0 0 1px var(--line);
  transition:background var(--tt), transform .45s cubic-bezier(.2,.8,.3,1), opacity .35s, visibility .35s, top .3s;
}
.site-header.scrolled ~ .toc{top:calc(66px + 16px);}

/* Hero görünürken menü sahnede olmaz; içerik başlayınca soldan süzülür */
.toc:not(.is-visible){
  opacity:0;visibility:hidden;pointer-events:none;
  transform:translateX(-24px) scale(.98);
}
.toc-fab{opacity:0;visibility:hidden;transform:translateY(14px);pointer-events:none;}
.toc-fab.is-visible{opacity:1;visibility:visible;transform:none;pointer-events:auto;}

.toc-head{
  display:flex;align-items:center;justify-content:space-between;gap:.5rem;
  padding:.72rem 1rem;flex:0 0 auto;
  border-bottom:1px solid var(--line);
  background:linear-gradient(120deg, color-mix(in srgb, var(--accent) 14%, transparent), color-mix(in srgb, var(--gold) 10%, transparent));
}
.toc-title{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--ff-display);font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3);
}
.toc-title i{color:var(--gold);}
.toc-close{display:none;width:30px;height:30px;border-radius:50%;place-items:center;color:var(--text-3);}
.toc-close:hover{background:var(--surface-hi);color:var(--text);}

.toc-list{
  flex:1 1 auto;overflow-y:auto;margin:0;padding:.45rem;
  list-style:none;
  display:flex;flex-direction:column;gap:0;
  scrollbar-width:thin;
}
.toc-list::-webkit-scrollbar{width:5px;}
.toc-list::-webkit-scrollbar-thumb{background:var(--line-hi);border-radius:99px;border:0;}
.toc-list::-webkit-scrollbar-track{background:transparent;}

.toc-list a{
  position:relative;display:flex;align-items:center;gap:.6rem;
  padding:.34rem .6rem;border-radius:9px;
  font-size:.79rem;font-weight:600;letter-spacing:.01em;color:var(--text-3);
  transition:color .2s, background .2s, padding-left .2s;
}
.toc-list a::before{
  content:"";position:absolute;left:0;top:50%;translate:0 -50%;
  width:3px;height:0;border-radius:99px;
  background:linear-gradient(var(--gold),var(--accent));
  transition:height .25s cubic-bezier(.2,.8,.3,1);
}
.toc-no{
  flex:0 0 auto;font-family:var(--ff-display);font-size:.68rem;font-weight:700;
  letter-spacing:.06em;color:color-mix(in srgb, var(--text-3) 62%, transparent);transition:color .2s;
}
.toc-list a:hover{color:var(--text);background:var(--surface);}
.toc-list a:hover .toc-no{color:var(--accent);}
.toc-list a.active{
  color:var(--gold);background:var(--surface-hi);padding-left:.85rem;
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--gold) 26%, transparent);
}
.toc-list a.active::before{height:60%;}
.toc-list a.active .toc-no{color:var(--gold);}

/* Açılış düğmesi (dar ekran) */
.toc-fab{
  position:fixed;right:20px;bottom:78px;z-index:770;
  display:none;align-items:center;gap:.55rem;
  padding:.7rem 1.15rem;border-radius:999px;
  background:linear-gradient(135deg,var(--jade-500),var(--jade-700));color:#fff;
  box-shadow:0 16px 32px -16px rgba(0,0,0,.95);
  font-size:.8rem;font-weight:700;letter-spacing:.05em;
  transition:transform .3s cubic-bezier(.2,.8,.3,1), opacity .3s, visibility .3s, box-shadow .22s;
}
.toc-fab.is-visible:hover{transform:translateY(-2px);}
.toc-backdrop{
  position:fixed;inset:0;z-index:750;
  background:rgba(4,16,12,.6);backdrop-filter:blur(4px);
  opacity:0;transition:opacity .3s;
}
.toc-backdrop.show{opacity:1;}

@media (max-width:1279px){
  .toc{
    top:var(--header-h);left:0;bottom:0;width:min(320px,84vw);max-height:none;
    border-radius:0;
    background:var(--bg-soft);
    transform:translateX(-102%);opacity:0;visibility:hidden;
    box-shadow:var(--sh-lg), inset -1px 0 0 var(--line);
  }
  .site-header.scrolled ~ .toc{top:66px;}
  .toc.open{transform:none;opacity:1;visibility:visible;}
  .toc-backdrop{top:var(--header-h);}
  .toc-head{padding:1.1rem 1.1rem;}
  .toc-title{font-size:.8rem;}
  .toc-close{display:grid;}
  .toc-list{padding:.7rem;gap:.2rem;}
  .toc-list a{padding:.62rem .7rem;font-size:.88rem;}
  .toc-fab{display:inline-flex;}
  .toc-backdrop[hidden]{display:none;}
  /* Çekmece modunda ray, açılana kadar zaten gizli */
  .toc:not(.is-visible){transform:translateX(-102%) scale(1);}
  .toc.open{opacity:1;visibility:visible;pointer-events:auto;transform:none;}
}

/* html'de zaten scroll-padding-top: header + 12px var; buradaki
   pay onun üzerine biner, toplam ~106px boşluk bırakır. */
.page-tanitim section[id]{scroll-margin-top:16px;}

/* ── Genel özellik çipleri ── */
.feat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.85rem;}
.feat-chip{
  position:relative;display:flex;align-items:center;justify-content:center;gap:.4rem;
  padding:.95rem 1.5rem;border-radius:var(--r-md);text-align:center;
  background:var(--surface);backdrop-filter:blur(6px);
  box-shadow:inset 0 0 0 1px var(--line), var(--sh-sm);
  font-size:.9rem;font-weight:600;color:var(--text-2);
  transition:transform .3s cubic-bezier(.2,.8,.3,1), box-shadow .3s, background .3s;
}
.feat-chip::before,.feat-chip::after{
  content:"\25C6";position:absolute;top:50%;translate:0 -50%;
  font-size:.5rem;color:var(--gold-2);opacity:.85;
}
.feat-chip::before{left:.65rem;}
.feat-chip::after{right:.65rem;}
.feat-chip b{font-weight:800;color:var(--gold);}
.feat-chip .neg{font-style:normal;font-weight:800;color:#e88a8a;}
.feat-chip:hover{transform:translateY(-3px);background:var(--surface-hi);box-shadow:inset 0 0 0 1px var(--line-hi), var(--sh-md);}

/* ── Ödül havuzu ── */
.odul-wrap{display:grid;grid-template-columns:1.35fr .65fr;gap:1.6rem;align-items:start;}
.odul-table-card{
  border-radius:var(--r-lg);overflow:hidden;
  background:var(--surface);backdrop-filter:blur(8px);
  box-shadow:var(--sh-md), inset 0 0 0 1px var(--line);
}
.odul-table{width:100%;border-collapse:collapse;font-size:.95rem;}
.odul-table thead th{
  padding:.85rem 1.1rem;text-align:left;
  background:color-mix(in srgb, var(--accent) 14%, transparent);
  font-family:var(--ff-display);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);
}
.odul-table tbody td{padding:.7rem 1.1rem;border-top:1px solid var(--line);color:var(--text-2);}
.odul-table tbody td strong{color:var(--text);}
.odul-table tbody tr:nth-child(even){background:color-mix(in srgb, var(--accent) 4%, transparent);}
.odul-table .rank{
  display:grid;place-items:center;width:32px;height:32px;border-radius:10px;
  background:var(--surface-hi);box-shadow:inset 0 0 0 1px var(--line);
  font-family:var(--ff-display);font-weight:700;font-size:.95rem;color:var(--text-3);
}
.rank-1 .rank{background:linear-gradient(135deg,var(--gold-300),var(--gold-500));color:var(--gold-ink);box-shadow:0 6px 16px -8px rgba(217,178,106,.9);}
.rank-2 .rank{background:linear-gradient(135deg,#e3e8e6,#aab8b2);color:#243430;}
.rank-3 .rank{background:linear-gradient(135deg,#e0b48c,#b9814f);color:#33200c;}
.rank-1 td,.rank-1 td strong{color:var(--gold);}
.rank-1{background:color-mix(in srgb, var(--gold) 10%, transparent) !important;}
.rank-3 td strong{color:#e0b48c;}
:root[data-theme="light"] .rank-1 td,
:root[data-theme="light"] .rank-1 td strong{color:var(--gold-700);}
:root[data-theme="light"] .rank-3 td strong{color:#a4703c;}

.odul-side{display:flex;flex-direction:column;gap:1rem;}
.guarantee-card{
  display:flex;flex-direction:column;align-items:center;gap:.15rem;
  padding:1.4rem 1rem;border-radius:var(--r-lg);text-align:center;
  background:linear-gradient(160deg, color-mix(in srgb, var(--gold) 16%, transparent), var(--surface));
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--gold) 32%, transparent), var(--sh-sm);
}
.guarantee-icon{
  display:grid;place-items:center;width:54px;height:54px;margin-bottom:.5rem;border-radius:50%;
  background:linear-gradient(135deg,var(--gold-300),var(--gold-500));
  color:var(--gold-ink);font-size:1.5rem;
  box-shadow:0 10px 24px -12px rgba(217,178,106,.9);
}
.guarantee-card strong{font-family:var(--ff-display);font-size:1.05rem;letter-spacing:.05em;color:var(--gold);}
.guarantee-card > span{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);}

.odul-daterange{
  display:flex;align-items:center;gap:.85rem;padding:.95rem 1.1rem;border-radius:var(--r-md);
  background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);
}
.odul-daterange i{font-size:1.3rem;color:var(--accent);}
.odul-daterange strong{display:block;font-family:var(--ff-display);font-size:.98rem;color:var(--text);}
.odul-daterange span{font-size:.8rem;color:var(--text-3);}

.turnuva-card{
  display:flex;flex-direction:column;align-items:center;gap:.6rem;text-align:center;
  padding:1.5rem 1.1rem;border-radius:var(--r-lg);
  background:linear-gradient(160deg, color-mix(in srgb, var(--accent) 18%, transparent), var(--surface));
  box-shadow:inset 0 0 0 1px var(--line-hi), var(--sh-md);
}
.turnuva-label{font-size:.68rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--text-3);}
.turnuva-amount{
  font-family:var(--ff-display);font-weight:700;font-size:clamp(1.8rem,4.5vw,2.5rem);line-height:1.1;
  background:linear-gradient(100deg,var(--gold-300),var(--gold-500) 55%,var(--gold-300));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 4px 14px rgba(217,178,106,.35));
}
:root[data-theme="light"] .turnuva-amount{
  background:linear-gradient(100deg,var(--gold-700),var(--gold-500) 55%,var(--gold-700));
  -webkit-background-clip:text;background-clip:text;
}
.turnuva-card p{margin:0;font-size:.85rem;color:var(--text-3);}

/* ── İkili düzen (metin + görsel) ── */
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:clamp(1.4rem,4vw,3rem);align-items:center;}
.split-text{min-width:0;}
.mini-title{
  margin:1.3rem 0 .6rem;font-family:var(--ff-display);font-size:.8rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--text-3);
}
.mini-title:first-child{margin-top:0;}

.check-list{display:flex;flex-direction:column;gap:.65rem;}
.check-list li{
  display:flex;align-items:flex-start;gap:.75rem;
  padding:.7rem .95rem;border-radius:var(--r-sm);
  background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);
  font-size:.93rem;color:var(--text-2);
}
.check-list li i{margin-top:.28rem;flex:0 0 auto;width:1.1rem;text-align:center;color:var(--accent);}
.check-list li strong{color:var(--text);}

.info-list{display:flex;flex-direction:column;gap:.5rem;}
.info-list li{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.6rem .95rem;border-radius:var(--r-sm);
  background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);
}
.info-list li > span{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);}
.info-list li > strong{font-size:.9rem;color:var(--text);text-align:right;}

.note{
  display:flex;align-items:flex-start;gap:.6rem;margin-top:1.1rem;margin-bottom:0;
  font-size:.87rem;color:var(--text-3);
}
.note i{margin-top:.25rem;color:var(--gold);}
.note a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;}

.brand-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.1rem;}
.brand-pill{
  display:inline-flex;align-items:center;gap:.55rem;padding:.55rem 1.1rem;border-radius:999px;
  background:linear-gradient(135deg, color-mix(in srgb, var(--gold) 18%, transparent), var(--surface));
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--gold) 32%, transparent);
  font-family:var(--ff-display);font-size:.85rem;letter-spacing:.12em;color:var(--gold);
}

/* ── Oyun içi görüntüler ── */
.shot{
  position:relative;margin:0;border-radius:var(--r-lg);overflow:hidden;
  background:linear-gradient(140deg,var(--jade-900),var(--jade-950));
  box-shadow:var(--sh-md), inset 0 0 0 1px var(--line);
}
.shot img{
  width:100%;height:auto;display:block;filter:saturate(.85);
  transition:filter .35s, transform .6s cubic-bezier(.2,.8,.3,1);
}
.shot:hover img{filter:saturate(1);transform:scale(1.015);}
.shot::after{
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:linear-gradient(160deg, color-mix(in srgb, var(--accent) 12%, transparent), transparent 45%, rgba(4,16,12,.28));
  box-shadow:inset 0 0 0 1px var(--line-hi);
}
.shot-wide{margin-top:1.8rem;}

/* ── Başlangıç hediyeleri ── */
.gift-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;}
.gift-card{
  display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;
  padding:1.6rem 1rem;border-radius:var(--r-lg);
  background:var(--surface);backdrop-filter:blur(6px);
  box-shadow:inset 0 0 0 1px var(--line), var(--sh-sm);
  transition:transform .3s cubic-bezier(.2,.8,.3,1), box-shadow .3s;
}
.gift-card:hover{transform:translateY(-5px);box-shadow:inset 0 0 0 1px var(--line-hi), var(--sh-md);}
.gift-card i{
  display:grid;place-items:center;width:56px;height:56px;border-radius:18px 0 18px 0;
  background:linear-gradient(135deg,var(--jade-500),var(--jade-700));
  color:#fff;font-size:1.35rem;
  box-shadow:0 10px 22px -12px rgba(0,0,0,.9);
}
.gift-card h3{font-family:var(--ff-display);font-size:1rem;color:var(--heading);}
.gift-card p{margin:0;font-size:.82rem;color:var(--text-3);}

/* ── Uyarı kutusu ── */
.alert-box{
  display:flex;align-items:flex-start;gap:.9rem;margin-bottom:2rem;
  padding:1.1rem 1.3rem;border-radius:var(--r-md);
  background:linear-gradient(120deg, rgba(214,102,102,.14), var(--surface));
  box-shadow:inset 0 0 0 1px rgba(214,102,102,.3);
}
.alert-box i{margin-top:.2rem;font-size:1.15rem;color:#e88a8a;}
.alert-box p{margin:0;font-size:.92rem;color:var(--text-2);}
.alert-box strong{color:#f0a5a5;}

/* ── Multifarm client kartları ── */
.client-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;}
.client-card{
  display:flex;flex-direction:column;align-items:center;gap:.55rem;text-align:center;
  padding:1.6rem 1rem;border-radius:var(--r-lg);
  background:var(--surface);box-shadow:inset 0 0 0 1px var(--line), var(--sh-sm);
}
.client-no{font-size:.68rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3);}
.client-card i{font-size:1.9rem;}
.client-card.ok i{color:var(--jade-400);}
.client-card.no i{color:#e88a8a;}
.client-card.alt i{color:#6fb3f2;}
.client-card strong{font-family:var(--ff-display);font-size:1rem;color:var(--heading);}
.tag-ok,.tag-no,.tag-alt{padding:.3rem .85rem;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.08em;}
.tag-ok{background:color-mix(in srgb, var(--jade-400) 20%, transparent);color:var(--jade-300);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--jade-400) 38%, transparent);}
.tag-no{background:rgba(214,102,102,.16);color:#f0a5a5;box-shadow:inset 0 0 0 1px rgba(214,102,102,.34);}
.tag-alt{background:rgba(74,144,226,.16);color:#8ec5ff;box-shadow:inset 0 0 0 1px rgba(74,144,226,.36);}

:root[data-theme="light"] .tag-ok{color:var(--jade-700);}
:root[data-theme="light"] .tag-no{color:#a03a3a;}
:root[data-theme="light"] .tag-alt{color:#1d5fa8;}
:root[data-theme="light"] .client-card.alt i{color:#2f74c4;}
:root[data-theme="light"] .client-card.no i,
:root[data-theme="light"] .alert-box i{color:#c25353;}
:root[data-theme="light"] .alert-box strong{color:#a03a3a;}
:root[data-theme="light"] .feat-chip .neg{color:#c25353;}

/* ── Veri tablosu (biyolog) ── */
.table-card{
  margin-top:1.8rem;border-radius:var(--r-lg);overflow-x:auto;
  background:var(--surface);backdrop-filter:blur(8px);
  box-shadow:var(--sh-md), inset 0 0 0 1px var(--line);
}
.data-table{width:100%;min-width:640px;border-collapse:collapse;font-size:.9rem;}
.data-table thead th{
  padding:.85rem 1.1rem;text-align:left;white-space:nowrap;
  background:color-mix(in srgb, var(--accent) 14%, transparent);
  font-family:var(--ff-display);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);
}
.data-table tbody td{padding:.65rem 1.1rem;border-top:1px solid var(--line);color:var(--text-2);vertical-align:middle;}
.data-table tbody tr:nth-child(even){background:color-mix(in srgb, var(--accent) 4%, transparent);}
.data-table tbody tr:hover{background:color-mix(in srgb, var(--accent) 9%, transparent);}
.data-table td:nth-child(2){color:var(--text);font-weight:600;}
.data-table td:nth-child(3){white-space:nowrap;color:var(--text-3);}
.data-table td:last-child{color:var(--gold);}
.lvl{
  display:inline-grid;place-items:center;min-width:38px;padding:.22rem .5rem;border-radius:8px;
  background:var(--surface-hi);box-shadow:inset 0 0 0 1px var(--line);
  font-family:var(--ff-display);font-weight:700;font-size:.85rem;color:var(--accent);
}

/* ── NPC kartları ── */
.npc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;}
.npc-card{
  display:flex;flex-direction:column;align-items:center;gap:.55rem;text-align:center;
  padding:1.7rem 1.1rem;border-radius:var(--r-lg);
  background:var(--surface);backdrop-filter:blur(6px);
  box-shadow:inset 0 0 0 1px var(--line), var(--sh-sm);
  transition:transform .3s cubic-bezier(.2,.8,.3,1), box-shadow .3s;
}
.npc-card:hover{transform:translateY(-5px);box-shadow:inset 0 0 0 1px var(--line-hi), var(--sh-md);}
.npc-card i{
  display:grid;place-items:center;width:56px;height:56px;border-radius:50%;
  background:linear-gradient(135deg, color-mix(in srgb, var(--gold) 22%, transparent), var(--surface-hi));
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--gold) 34%, transparent);
  color:var(--gold);font-size:1.3rem;
}
.npc-card h3{font-family:var(--ff-display);font-size:.98rem;color:var(--heading);}
.npc-card h3 b{color:var(--gold);}
.npc-card p{margin:0;font-size:.82rem;color:var(--text-3);}

/* NPC kartlarında dükkân görseli */
.npc-grid:has(.npc-card-img){grid-template-columns:repeat(auto-fit,minmax(230px,1fr));}
.npc-card-img{padding:1.1rem 1.1rem 1.4rem;gap:.7rem;}
.npc-shot{width:100%;max-width:177px;margin:0 auto;border-radius:var(--r-md);}
.npc-shot img{width:100%;height:auto;display:block;}
.npc-card-img i{width:40px;height:40px;font-size:1.05rem;margin-top:.1rem;}

/* ── Farm haritaları ── */
.map-list{display:flex;flex-direction:column;gap:1.1rem;}
.map-item{
  position:relative;margin:0;border-radius:var(--r-lg);overflow:hidden;
  background:var(--jade-950);
  box-shadow:var(--sh-md), inset 0 0 0 1px var(--line);
  transition:transform .35s cubic-bezier(.2,.8,.3,1), box-shadow .35s;
}
.map-item:hover{transform:translateY(-4px);box-shadow:var(--sh-lg), inset 0 0 0 1px var(--line-hi);}
.map-item img{
  width:100%;height:clamp(120px,17vw,190px);object-fit:cover;
  filter:saturate(.82);transition:transform .65s cubic-bezier(.2,.8,.3,1), filter .35s;
}
.map-item:hover img{transform:scale(1.05);filter:saturate(1);}
.map-item figcaption{
  position:absolute;left:0;right:0;bottom:0;
  display:flex;align-items:center;gap:.75rem;
  padding:1.9rem 1.3rem .95rem;
  background:linear-gradient(0deg, rgba(4,16,12,.92), rgba(4,16,12,0));
  font-family:var(--ff-display);font-size:1.02rem;font-weight:700;letter-spacing:.04em;color:#fff;
}
.map-no{
  display:grid;place-items:center;width:34px;height:34px;border-radius:11px 0 11px 0;flex:0 0 auto;
  background:linear-gradient(135deg,var(--gold-300),var(--gold-500));
  color:var(--gold-ink);font-size:.8rem;
  box-shadow:0 8px 18px -8px rgba(0,0,0,.9);
}

/* ── Responsive ── */
@media (max-width:960px){
  .odul-wrap{grid-template-columns:1fr;}
  .split{grid-template-columns:1fr;}
  .split .shot{order:-1;}
  .split-text{order:1;}
}
@media (max-width:720px){
  .hero-compact{padding-top:calc(var(--header-h) + 34px);}
  .toc-fab span{display:none;}
  .toc-fab{padding:.85rem;bottom:76px;}
  .feat-grid{grid-template-columns:1fr 1fr;gap:.6rem;}
  .feat-chip{font-size:.78rem;padding:.8rem .9rem;}
  .feat-chip::before,.feat-chip::after{display:none;}
  .odul-table{font-size:.86rem;}
  .odul-table tbody td,.odul-table thead th{padding:.6rem .7rem;}
}
@media (max-width:520px){
  .feat-grid{grid-template-columns:1fr;}
}

/* ── Görsel büyütme (lightbox) ───────────────────────────── */
.shot,
.map-item{cursor:zoom-in;}

/* Büyütme ipucu rozeti */
.shot .zoom-hint,
.map-item .zoom-hint{
  position:absolute;top:.75rem;left:.75rem;z-index:3;
  display:grid;place-items:center;width:32px;height:32px;border-radius:10px 0 10px 0;
  background:color-mix(in srgb, var(--bg) 72%, transparent);
  backdrop-filter:blur(6px);
  box-shadow:inset 0 0 0 1px var(--line-hi);
  color:var(--gold);font-size:.78rem;
  opacity:0;transform:translateY(-4px);
  transition:opacity .25s, transform .25s;
  pointer-events:none;
}
.shot:hover .zoom-hint,
.map-item:hover .zoom-hint,
.shot:focus-visible .zoom-hint,
.map-item:focus-visible .zoom-hint{opacity:1;transform:none;}

.lightbox{
  position:fixed;inset:0;z-index:1400;
  display:grid;grid-template-rows:1fr auto;place-items:center;
  padding:clamp(1rem,4vw,3rem);
  background:rgba(3,10,8,.9);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  opacity:0;visibility:hidden;
  transition:opacity .3s, visibility .3s;
}
.lightbox.open{opacity:1;visibility:visible;}
.lightbox[hidden]{display:none;}

.lb-figure{
  margin:0;display:flex;flex-direction:column;align-items:center;gap:1rem;
  max-width:100%;max-height:100%;
  transform:scale(.94);opacity:0;
  transition:transform .38s cubic-bezier(.2,.8,.3,1), opacity .3s;
}
.lightbox.open .lb-figure{transform:scale(1);opacity:1;}

.lb-figure img{
  max-width:min(1400px, 100%);
  max-height:calc(100vh - 190px);
  width:auto;height:auto;object-fit:contain;
  border-radius:var(--r-lg);
  background:var(--jade-950);
  box-shadow:0 40px 90px -40px rgba(0,0,0,1), inset 0 0 0 1px var(--line-hi);
}

.lb-figure figcaption{
  display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:center;
  padding:.5rem 1.1rem;border-radius:999px;
  background:color-mix(in srgb, var(--bg) 76%, transparent);
  box-shadow:inset 0 0 0 1px var(--line);
  font-family:var(--ff-display);font-size:.92rem;color:var(--text);
  text-align:center;
}
.lb-count{
  font-size:.7rem;font-weight:700;letter-spacing:.12em;
  color:var(--gold);font-family:var(--ff-body);
}

.lb-close,
.lb-nav{
  position:absolute;z-index:2;
  display:grid;place-items:center;border-radius:50%;
  background:color-mix(in srgb, var(--bg) 78%, transparent);
  backdrop-filter:blur(8px);
  box-shadow:inset 0 0 0 1px var(--line-hi);
  color:var(--text-2);
  transition:transform .22s, background .22s, color .22s, box-shadow .22s;
}
.lb-close:hover,
.lb-nav:hover{background:var(--jade-600);color:#fff;box-shadow:inset 0 0 0 1px var(--jade-400);}

.lb-close{top:clamp(.9rem,2vw,1.6rem);right:clamp(.9rem,2vw,1.6rem);width:44px;height:44px;font-size:1.15rem;}
.lb-close:hover{transform:rotate(90deg);}

.lb-nav{top:50%;translate:0 -50%;width:48px;height:48px;font-size:1.1rem;}
.lb-prev{left:clamp(.6rem,2vw,1.6rem);}
.lb-next{right:clamp(.6rem,2vw,1.6rem);}
.lb-prev:hover{transform:translateX(-3px);}
.lb-next:hover{transform:translateX(3px);}

@media (max-width:720px){
  .lb-figure img{max-height:calc(100vh - 210px);}
  .lb-nav{width:42px;height:42px;top:auto;bottom:1rem;translate:none;}
  .lb-prev{left:1rem;}
  .lb-next{right:1rem;}
  .lb-figure figcaption{font-size:.84rem;}
}

/* Dokunmatik cihazlarda hover olmadığı için ipucu hep görünsün */
@media (hover:none){
  .shot .zoom-hint,
  .map-item .zoom-hint{opacity:.85;transform:none;}
}
