/*
Theme Name: DersaneAI
Theme URI: https://dersaneai.com
Author: orhunakar
Author URI: https://dersaneai.com
Description: AI destekli egitim platformu - soru cozumu, yarisma, ogretmen sinif yarismasi ve kurumsal satis sistemi.
Version: 1.3.3
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 8.1
Text Domain: dershane-calismasi
*/

/* ========== Tema: Açık + Koyu (data-theme) ========== */
:root,
:root[data-theme="light"] {
  color-scheme: light;
  --bg: #f1f5f9;
  --card-bg: #ffffff;
  --text: #0f172a;
  --text-secondary: #475569;
  --muted: #64748b;
  --border: #cbd5e1;
  --ring: rgba(37, 99, 235, 0.22);
  --primary: #2563eb;
  --primary-600: #1d4ed8;
  --accent: #ea580c;
  --accent-2: #fb923c;
  --success-bg: #ecfdf5;
  --success: #15803d;
  --warn-bg: #fffbeb;
  --warn: #b45309;
  --shadow: 0 4px 18px rgba(15, 23, 42, 0.08);
  --shadow-lg: 0 20px 50px rgba(15, 23, 42, 0.12);
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #070d1a;
  --card-bg: #121c36;
  --text: #eef2ff;
  --text-secondary: #94a3c8;
  --muted: #94a3c8;
  --border: #2a3f6b;
  --ring: rgba(251, 146, 60, 0.28);
  --primary: #60a5fa;
  --primary-600: #3b82f6;
  --accent: #fb923c;
  --accent-2: #fdba74;
  --success-bg: #0d3324;
  --success: #86efac;
  --warn-bg: #3a2113;
  --warn: #fcd34d;
  --shadow: 0 4px 18px rgba(0, 0, 0, 0.45);
  --shadow-lg: 0 20px 50px rgba(0, 0, 0, 0.55);
}

/* Removed flashy card/header/theme-pulse animations for clean UI */

/* ========== Genel Yerleşim ==========
   html+body overflow-x:hidden Android WebView'da dikey kaydırmayı kilitler
   (overflow-x hidden iken overflow-y visible → auto hesaplanır = iç içe scroller).
   clip yatay taşmayı keser ama kaydırıcı oluşturmaz. 100vw scrollbar/gutter yüzünden taşar. */
html, body { min-height: 100%; height: auto; }
html {
  overflow-x: clip;
  overflow-y: visible;
  max-width: 100%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  overscroll-behavior-y: auto;
  transition: background-color 0.45s cubic-bezier(0.4, 0, 0.2, 1), color 0.35s ease;
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
  overflow-y: visible;
  max-width: 100%;
  width: 100%;
  touch-action: auto;
  overscroll-behavior-x: none;
  overscroll-behavior-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: background-color 0.45s cubic-bezier(0.4, 0, 0.2, 1), color 0.35s ease;
}
.container {
  width: 100%;
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
  padding: 12px max(16px, env(safe-area-inset-left, 0px)) 48px max(16px, env(safe-area-inset-right, 0px));
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .container {
    padding: 12px max(16px, env(safe-area-inset-left, 0px)) max(48px, calc(24px + env(safe-area-inset-bottom, 0px))) max(16px, env(safe-area-inset-right, 0px));
    max-width: 100%;
  }
}

@media (max-width: 480px) {
  .container {
    padding: 12px max(16px, env(safe-area-inset-left, 0px)) 36px max(16px, env(safe-area-inset-right, 0px));
  }
}

/* ========== NAVBAR ========== */
#wpadminbar { display: none !important; }
html, html.wp-toolbar { margin-top: 0 !important; }
.dai-navbar {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 8px 12px;
  margin: 0 0 12px;
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
  border: 1px solid rgba(59,130,246,0.15);
  border-radius: 12px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.18);
  position: sticky;
  top: 0;
  z-index: 1000;
  gap: 10px;
  min-height: 64px;
  box-sizing: border-box;
}

.dai-navbar-spacer {
  flex: 1;
  min-width: 8px;
}

.dai-navbar-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 1;
  min-width: 0;
  text-decoration: none;
  color: inherit;
}

.dai-navbar-brand:hover {
  text-decoration: none;
  opacity: 0.95;
}

.dai-navbar-logo-img {
  height: auto;
  max-height: 62px;
  max-width: 168px;
  width: auto;
  object-fit: contain;
  object-position: left center;
  border-radius: 6px;
  flex-shrink: 0;
  display: block;
}

.dai-navbar-title {
  display: flex;
  flex-direction: column;
  gap: 1px;
  line-height: 1.12;
  min-width: 0;
}

.dai-title-line {
  display: block;
  font-weight: 800;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.dai-title-line1 {
  font-size: clamp(12px, 2.2vw, 14px);
}

.dai-title-line2 {
  font-size: clamp(11px, 2vw, 13px);
}

.dai-title-ai {
  background: linear-gradient(135deg, #22d3ee, #38bdf8);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.dai-title-q {
  background: linear-gradient(135deg, #60a5fa, #818cf8);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.dai-title-r {
  background: linear-gradient(135deg, #a78bfa, #c084fc);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.dai-title-a {
  background: linear-gradient(135deg, #e879f9, #f472b6);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.dai-navbar-balance {
  font-size: 11px;
  color: #94a3b8;
  background: rgba(255,255,255,0.08);
  padding: 4px 9px;
  border-radius: 8px;
  font-weight: 600;
  white-space: nowrap;
  flex-shrink: 0;
}

.dai-navbar-actions-right {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

/* Tema butonu ile aynı yükseklik; dil kutusu daha geniş (eşit yükseklik ≠ eşit genişlik) */
.translate-slot {
  display: flex;
  align-items: center;
  justify-content: stretch;
  height: 42px;
  min-height: 42px;
  max-height: 42px;
  width: 72px;
  min-width: 72px;
  max-width: 72px;
  padding: 0;
  overflow: hidden;
  box-sizing: border-box;
  border-radius: 12px;
  border: 1px solid var(--border, #2a2a2a);
  background: var(--bg-2, #121820);
  flex-shrink: 0;
}
.translate-slot .translate-inline {
  display: flex !important;
  align-items: center;
  width: 100%;
  height: 100%;
  max-width: 100%;
  margin: 0;
}
.translate-slot .goog-te-gadget-simple,
.translate-slot select,
.translate-slot .goog-te-combo,
.translate-slot #ai_lang_select {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 42px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  line-height: 1 !important;
  padding: 0 6px !important;
  margin: 0 !important;
  max-width: 100% !important;
  min-width: 0 !important;
  border: none !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: inherit !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
html[data-theme="light"] .translate-slot {
  background: #ffffff;
  border-color: #d7e0ea;
  color: #0f172a;
}
html[data-theme="dark"] .translate-slot {
  background: var(--bg-2, #121820);
  border-color: var(--border, #2a2a2a);
  color: var(--text, #e2e8f0);
}

.dai-navbar-icon-btn {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 8px;
  padding: 6px 10px;
  cursor: pointer;
  font-size: 16px;
  color: #e2e8f0;
  transition: background 0.2s;
}
.dai-navbar-icon-btn:hover {
  background: rgba(255,255,255,0.15);
}

/* Hamburger Toggle — her ekranda menü */
.dai-navbar-toggler {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  padding: 0;
  background: rgba(59,130,246,0.2);
  border: 1.5px solid rgba(96,165,250,0.5);
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s;
  flex-shrink: 0;
}
.dai-navbar-toggler:active {
  transform: scale(0.9);
  opacity: 0.8;
}
.dai-hb-lines {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100%;
  height: 100%;
}
.dai-hb-lines span {
  display: block;
  width: 18px;
  height: 2px;
  background: #93c5fd;
  border-radius: 1px;
  transition: all 0.25s;
}
.dai-navbar-toggler[aria-expanded="true"] {
  background: rgba(239,68,68,0.3);
  border-color: rgba(252,165,165,0.5);
}
.dai-navbar-toggler[aria-expanded="true"] .dai-hb-lines span {
  background: #fca5a5;
}
.dai-navbar-toggler[aria-expanded="true"] .dai-hb-lines span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}
.dai-navbar-toggler[aria-expanded="true"] .dai-hb-lines span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}
.dai-navbar-toggler[aria-expanded="true"] .dai-hb-lines span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

/* Nav Menu — tam ekran overlay (inline şerit yok) */
.dai-navbar-menu {
  display: none !important;
  align-items: stretch;
  gap: 2px;
  flex-direction: column;
  flex-wrap: nowrap;
  width: 100%;
  margin: 0;
  padding: 0;
  border: none;
  overflow: visible;
  box-sizing: border-box;
}
.dai-navbar-menu.dai-nav-open {
  display: flex !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  width: 100dvw !important;
  height: 100% !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  padding: 76px 18px calc(36px + env(safe-area-inset-bottom, 0px)) !important;
  background: linear-gradient(160deg, #0f172a 0%, #1e293b 45%, #312e81 100%) !important;
  z-index: 99000 !important;
  overflow-x: hidden !important;
  overflow-y: scroll !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
  touch-action: pan-y !important;
  animation: daiMenuDrop 0.25s ease both;
}
/* Menü açıkken arka plan kaymasın ama menü içi kayabilsin */
html.dai-nav-locked,
body.dai-nav-locked {
  overflow: hidden !important;
  touch-action: none !important;
  overscroll-behavior: none !important;
}
body.dai-nav-locked {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
}
.dai-navbar-menu.dai-nav-open,
.dai-navbar-menu.dai-nav-open * {
  touch-action: pan-y !important;
}
.dai-navbar-toggler[aria-expanded="true"],
.dai-nav-toggler-floating.dai-navbar-toggler {
  position: fixed !important;
  top: calc(12px + env(safe-area-inset-top, 0px)) !important;
  left: 12px !important;
  right: auto !important;
  z-index: 100001 !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.55);
  touch-action: manipulation !important;
  background: rgba(220, 38, 38, 0.95) !important;
  border-color: #fecaca !important;
  width: 44px !important;
  height: 44px !important;
}
.dai-navbar-toggler[aria-expanded="true"] .dai-hb-lines span,
.dai-nav-toggler-floating .dai-hb-lines span {
  background: #fff !important;
}
/* Menü içi yedek kırmızı X (her zaman görünür) */
.dai-nav-close-fab {
  position: fixed !important;
  top: calc(12px + env(safe-area-inset-top, 0px)) !important;
  left: 12px !important;
  right: auto !important;
  z-index: 100002 !important;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  border: 2px solid #fecaca;
  background: #dc2626;
  color: #fff;
  font-size: 28px;
  line-height: 1;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 18px rgba(0,0,0,0.45);
  touch-action: manipulation !important;
  padding: 0;
}
.dai-nav-close-fab:active {
  transform: scale(0.94);
}
/* Menü açıkken hamburger X ile çift X olmasın: FAB kalsın, toggler gizlensin */
body.dai-nav-locked .dai-navbar-toggler {
  opacity: 0 !important;
  pointer-events: none !important;
}
body.dai-nav-locked .dai-nav-close-fab {
  opacity: 1 !important;
  pointer-events: auto !important;
}

.dai-nav-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 14px;
  color: #cbd5e1;
  text-decoration: none;
  font-size: 15px;
  font-weight: 600;
  border-radius: 10px;
  transition: all 0.2s ease;
  white-space: nowrap;
  width: 100%;
  box-sizing: border-box;
}
.dai-nav-link:hover {
  background: rgba(59,130,246,0.15);
  color: #93c5fd;
  text-decoration: none;
}
.dai-nav-link.dai-nav-highlight {
  background: linear-gradient(135deg, #16a34a, #059669);
  color: #fff;
  font-weight: 700;
}
.dai-nav-link.dai-nav-highlight:hover {
  background: linear-gradient(135deg, #22c55e, #10b981);
}
.dai-nav-link.dai-nav-admin {
  color: #fbbf24;
}
.dai-nav-link.dai-nav-admin:hover {
  background: rgba(251,191,36,0.12);
  color: #fcd34d;
}
.dai-nav-link.dai-nav-danger {
  color: #f87171;
}
.dai-nav-link.dai-nav-danger:hover {
  background: rgba(248,113,113,0.12);
  color: #fca5a5;
}
.dai-nav-icon {
  font-size: 18px;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: linear-gradient(145deg, rgba(59,130,246,0.22), rgba(99,102,241,0.12));
  border: 1px solid rgba(96,165,250,0.18);
  line-height: 1;
}
.dai-nav-link.dai-nav-highlight .dai-nav-icon {
  background: rgba(255,255,255,0.18);
  border-color: rgba(255,255,255,0.25);
}
.dai-nav-link.dai-nav-danger .dai-nav-icon {
  background: rgba(248,113,113,0.15);
  border-color: rgba(248,113,113,0.25);
}
.dai-nav-link.dai-nav-admin .dai-nav-icon {
  background: rgba(251,191,36,0.15);
  border-color: rgba(251,191,36,0.25);
}
.dai-nav-divider {
  width: 100%;
  height: 1px;
  background: rgba(255,255,255,0.08);
  margin: 6px 0;
  flex-shrink: 0;
}
.dai-nav-section-label {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 14px 4px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #94a3b8;
}
.dai-nav-inst {
  padding-left: 18px;
}
.dai-nav-inst-off {
  opacity: .62;
}

@keyframes daiMenuDrop {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Mobile tweaks */
@media (max-width: 640px) {
  /* Logo + uzun başlık + bakiye çakışmasın */
  .dai-navbar-title {
    display: none;
  }
  .dai-navbar-balance {
    font-size: 10px;
    padding: 3px 7px;
    order: 3;
  }
  .dai-navbar-spacer {
    order: 4;
    min-width: 4px;
  }
  .dai-navbar-actions-right {
    order: 5;
  }
}

@media (max-width: 575px) {
  .dai-navbar {
    padding: 6px 10px;
    gap: 6px;
    min-height: 52px;
    margin: 0 0 8px;
    border-radius: 10px;
    padding-left: max(10px, env(safe-area-inset-left));
    padding-right: max(10px, env(safe-area-inset-right));
  }
  .dai-navbar-logo-img {
    max-height: 44px !important;
    max-width: 112px !important;
  }
  .dai-navbar-toggler {
    width: 36px;
    height: 36px;
  }
  .translate-slot {
    height: 40px;
    min-height: 40px;
    max-height: 40px;
    width: 68px;
    min-width: 68px;
    max-width: 68px;
  }
  .dai-theme-toggle-btn,
  .theme-toggle button,
  .dai-navbar-toggler {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
  }
  .dai-nav-link {
    padding: 13px 14px;
    font-size: 15px;
    min-height: 48px;
  }
  .dai-nav-icon {
    font-size: 17px;
    width: 36px;
    height: 36px;
    border-radius: 11px;
  }
  .dershane-admin-sc .dai-admin-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .dershane-admin-sc .dai-admin-form-row {
    flex-direction: column;
    align-items: stretch;
  }
  .dershane-admin-sc .dai-admin-inline-num {
    width: 100% !important;
    display: block;
  }
}

/* Legacy header-controls still used elsewhere */
.header-controls { display: none; }

/* Responsive container */
@media (max-width: 768px) {
  .container {
    padding: 16px 14px 40px;
  }
  h1 { font-size: 22px; }
}
h1 { font-size: 26px; line-height: 1.25; margin: 0; }
.note { font-size: 13px; color: var(--muted); }

/* ========== Tema Değiştirme Butonu ========== */
.theme-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  position: static;
  margin-left: 0;
}

.theme-toggle button,
.dai-theme-toggle-btn {
  width: 42px;
  height: 42px;
  min-width: 42px;
  min-height: 42px;
  padding: 0;
  border-radius: 12px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}

.theme-toggle .theme-label { display: none !important; }

.dai-theme-toggle-btn .dai-theme-icon-sun,
.dai-theme-toggle-btn .dai-theme-icon-moon {
  display: none;
  width: 20px;
  height: 20px;
}

html[data-theme="dark"] .dai-theme-toggle-btn .dai-theme-icon-sun {
  display: block;
}

html[data-theme="light"] .dai-theme-toggle-btn .dai-theme-icon-moon {
  display: block;
}

html[data-theme="dark"] .theme-toggle button,
html[data-theme="dark"] .dai-theme-toggle-btn {
  background: var(--bg-2, #121820) !important;
  color: var(--accent, #00b4ff) !important;
  border: 1px solid var(--border, #2a2a2a) !important;
  box-shadow: none;
}
html[data-theme="light"] .theme-toggle button,
html[data-theme="light"] .dai-theme-toggle-btn {
  background: #ffffff !important;
  color: var(--primary, #2a5ba3) !important;
  border: 1px solid var(--border, #d7e0ea) !important;
  box-shadow: none;
}

.theme-toggle button:hover,
.dai-theme-toggle-btn:hover {
  border-color: var(--accent, #00b4ff) !important;
  box-shadow: 0 0 0 3px var(--ring, rgba(0, 180, 255, 0.2)) !important;
}

.theme-toggle button:active,
.dai-theme-toggle-btn:active {
  transform: scale(0.98);
}

.theme-toggle button::before,
.dai-theme-toggle-btn::before {
  display: none !important;
  content: none !important;
}

/* ========== Kart / Panel ========== */
.card {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: var(--shadow);
  transition: border-color 0.25s ease;
}

/* Çözüm formu seçenekleri: sol hizalı, dikey sıralı */
.options-section { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin-top: 10px; }
.options-section label { display: flex; align-items: center; gap: 8px; }
.options-section select#model_index {
  background: linear-gradient(135deg, rgba(29, 78, 216, 0.08), rgba(249, 115, 22, 0.06));
  color: var(--text);
  border: 1px solid rgba(29, 78, 216, 0.22);
  border-radius: 10px;
  padding: 8px 12px;
  min-width: 260px;
  box-shadow: var(--shadow);
  font-weight: 700;
}

.options-section input[type="checkbox"] { width: 16px; height: 16px; }
.options-section span { font-size: 14px; color: var(--text); }

/* ========== Form ========== */
form { 
  background: var(--card-bg); 
  border: 1px solid var(--border); 
  border-radius: 16px; 
  padding: 20px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.08);
}

.row { display: grid; grid-template-columns: 1fr; gap: 16px; }
label { display:block; font-weight:700; font-size:14px; margin-bottom:8px; }

input[type=file], textarea, input[type=text], input[type=password] {
  width: 100%; 
  border: 1px solid var(--border); 
  background: var(--card-bg); 
  color: var(--text);
  border-radius: 12px; 
  padding: 12px 14px; 
  font-size: 14px; 
  outline: none;
  transition: box-shadow .15s ease, border-color .15s ease, transform .1s ease;
  box-sizing: border-box;
}

select {
  border: 1px solid var(--border);
  background: var(--card-bg);
  color: var(--text);
  border-radius: 10px;
  padding: 10px 12px;
  font-weight: 700;
  font-size: 14px;
  box-shadow: var(--shadow);
  transition: box-shadow .15s ease, border-color .15s ease;
}

select:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 4px var(--ring);
  outline: none;
}

select option {
  font-weight: 700;
  background: var(--card-bg);
  color: var(--text);
}

[data-theme="dark"] select {
  background: var(--input-bg) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}
[data-theme="dark"] select option {
  background: var(--card-bg) !important;
  color: var(--text) !important;
}
[data-theme="dark"] select:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 4px var(--ring) !important;
}

textarea { min-height: 140px; resize: vertical; }

input[type=file]:focus, textarea:focus, input[type=text]:focus, input[type=password]:focus, input[type=email]:focus {
  border-color: var(--primary); 
  box-shadow: 0 0 0 4px var(--ring);
  outline: none;
}

/* Şifre sıfırlama formu için özel stil - Bootstrap 5 form-control tarzı */
.reset-email-input {
  display: block !important;
  width: 100% !important;
  padding: 0.875rem 1.125rem !important; /* 14px 18px - daha geniş padding */
  font-size: 1rem !important; /* 16px - Bootstrap standard */
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: #212529 !important;
  background-color: #fff !important;
  background-clip: padding-box !important;
  border: 1px solid #ced4da !important; /* Bootstrap standard border */
  border-radius: 0.5rem !important; /* 8px - daha yumuşak köşeler */
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, background-color 0.15s ease-in-out !important;
  box-sizing: border-box !important;
  appearance: none !important;
  outline: none !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important; /* hafif gölge */
}

.reset-email-input:hover:not(:disabled) {
  border-color: #0d6efd !important; /* daha koyu mavi */
  background-color: #fff !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important; /* hover'da daha belirgin gölge */
}

.reset-email-input:focus {
  color: #212529 !important;
  background-color: #fff !important;
  border-color: #0d6efd !important; /* daha koyu mavi */
  outline: 0 !important;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25), 0 2px 8px rgba(0, 0, 0, 0.12) !important; /* daha belirgin focus ring ve gölge */
}

.reset-email-input:active {
  border-color: #0d6efd !important;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25) !important;
}

.reset-email-input:disabled,
.reset-email-input[readonly] {
  background-color: #e9ecef !important;
  border-color: #ced4da !important;
  opacity: 1 !important;
  cursor: not-allowed !important;
}

.reset-email-input::placeholder {
  color: #6c757d !important; /* Bootstrap placeholder color */
  opacity: 1 !important;
  font-weight: 400 !important;
}

/* Dark theme support */
[data-theme="dark"] .reset-email-input {
  color: #e7ecf6 !important;
  background-color: #1a2332 !important;
  border-color: #495057 !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
}

[data-theme="dark"] .reset-email-input:hover:not(:disabled) {
  border-color: #6c757d !important;
  background-color: #1a2332 !important;
}

[data-theme="dark"] .reset-email-input:focus {
  color: #e7ecf6 !important;
  background-color: #1a2332 !important;
  border-color: #86b7fe !important;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25), 0 1px 3px rgba(0, 0, 0, 0.3) !important;
}

[data-theme="dark"] .reset-email-input:disabled,
[data-theme="dark"] .reset-email-input[readonly] {
  background-color: #2d3748 !important;
  border-color: #495057 !important;
  color: #adb5bd !important;
}

[data-theme="dark"] .reset-email-input::placeholder {
  color: #adb5bd !important;
  opacity: 0.8 !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .reset-email-input {
    padding: 0.9375rem 1.25rem !important; /* 15px 20px - mobilde de rahat */
    font-size: 17px !important; /* iOS zoom önleme + okunabilirlik */
    border-width: 1.5px !important;
  }
}

@media (max-width: 480px) {
  .reset-email-input {
    padding: 0.875rem 1.125rem !important; /* 14px 18px - küçük ekranlar için */
    font-size: 16px !important; /* iOS zoom önleme */
  }
}

/* Kayıt formu input alanları - Şifre sıfırlama ile aynı stil */
.register-input,
.register-email-input {
  display: block !important;
  width: 100% !important;
  padding: 0.9375rem 1.25rem !important; /* 15px 20px - rahat ve okunabilir */
  font-size: 1.0625rem !important; /* 17px - daha okunabilir */
  font-weight: 400 !important;
  line-height: 1.6 !important; /* daha geniş satır aralığı */
  color: #212529 !important;
  background-color: #fff !important;
  background-clip: padding-box !important;
  border: 1.5px solid #ced4da !important; /* biraz daha kalın border */
  border-radius: 0.625rem !important; /* 10px - daha yumuşak köşeler */
  transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out !important;
  box-sizing: border-box !important;
  appearance: none !important;
  outline: none !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06) !important; /* daha belirgin gölge */
}

.register-input:hover:not(:disabled),
.register-email-input:hover:not(:disabled) {
  border-color: #0d6efd !important; /* daha koyu mavi */
  background-color: #fff !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important; /* hover'da daha belirgin gölge */
}

.register-input:focus,
.register-email-input:focus {
  color: #212529 !important;
  background-color: #fff !important;
  border-color: #0d6efd !important; /* daha koyu mavi */
  outline: 0 !important;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25), 0 2px 8px rgba(0, 0, 0, 0.12) !important; /* daha belirgin focus ring ve gölge */
}

.register-input::placeholder,
.register-email-input::placeholder {
  color: #6c757d !important; /* Bootstrap placeholder color */
  opacity: 1 !important;
  font-weight: 400 !important;
}

/* Dark theme support */
[data-theme="dark"] .register-input,
[data-theme="dark"] .register-email-input {
  color: #e7ecf6 !important;
  background-color: #1a2332 !important;
  border-color: #495057 !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;
}

[data-theme="dark"] .register-input:hover:not(:disabled),
[data-theme="dark"] .register-email-input:hover:not(:disabled) {
  border-color: #6c757d !important;
  background-color: #1a2332 !important;
}

[data-theme="dark"] .register-input:focus,
[data-theme="dark"] .register-email-input:focus {
  color: #e7ecf6 !important;
  background-color: #1a2332 !important;
  border-color: #86b7fe !important;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25), 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}

[data-theme="dark"] .register-input::placeholder,
[data-theme="dark"] .register-email-input::placeholder {
  color: #adb5bd !important;
  opacity: 0.8 !important;
}

/* Kayıt formu mobil responsive */
@media (max-width: 768px) {
  .register-input,
  .register-email-input {
    padding: 0.9375rem 1.25rem !important; /* 15px 20px - mobilde de rahat */
    font-size: 17px !important; /* iOS zoom önleme + okunabilirlik */
    border-width: 1.5px !important;
  }
  
  .register-form {
    padding: 20px !important;
  }
}

@media (max-width: 480px) {
  .register-input,
  .register-email-input {
    padding: 0.875rem 1.125rem !important; /* 14px 18px - küçük ekranlar için */
    font-size: 16px !important; /* iOS zoom önleme */
  }
  
  .register-form {
    padding: 16px !important;
  }
}

button { 
  appearance:none; 
  border:0; 
  background: linear-gradient(135deg, var(--primary), var(--primary-600)); 
  color:#fff; 
  padding:12px 16px; 
  border-radius:12px; 
  font-weight:700; 
  cursor:pointer; 
  transition: transform .06s ease, filter .15s ease, box-shadow .15s ease;
  font-size: 14px;
  box-shadow: 0 8px 18px rgba(15, 60, 140, 0.28);
}

button:hover { filter: brightness(1.05); }
button:active { transform: none; }

button.secondary { 
  background: transparent; 
  color: var(--primary); 
  border: 1px solid var(--primary); 
}

button.secondary:hover { background: var(--primary); color: white; }

.btn-row { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
#file_name { font-size: 12px; color: var(--muted); }

/* ========== Durum Mesajları ========== */
.status { 
  margin-top: 16px; 
  padding: 12px 14px; 
  border-radius: 12px; 
  border: 1px solid rgba(15, 60, 140, 0.14); 
  background: rgba(15, 60, 140, 0.08); 
  color: #0b2f6b;
  box-shadow: var(--shadow);
}

.status.success { background: var(--success-bg); color: var(--success); }
.status.warn { background: var(--warn-bg); color: var(--warn); }

/* ========== Admin Bölümü ========== */
.admin-section {
  margin-top: 24px;
  padding: 20px;
  border: 2px solid var(--border);
  border-radius: 16px;
  background: var(--card-bg);
  box-shadow: var(--shadow);
}

.admin-section h3 {
  margin: 0 0 16px 0;
  color: var(--text);
  font-size: 18px;
  font-weight: 700;
}

.admin-buttons {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.admin-btn {
  padding: 12px 20px;
  border-radius: 12px;
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
  border: none;
  color: white;
  min-width: 180px;
}

.admin-btn.danger {
  background: linear-gradient(135deg, #dc2626, #b91c1c);
  box-shadow: 0 4px 12px rgba(220, 38, 38, 0.3);
}

.admin-btn.danger:hover {
  background: linear-gradient(135deg, #ef4444, #dc2626);
  box-shadow: 0 6px 16px rgba(220, 38, 38, 0.4);
}

.admin-btn.warning {
  background: linear-gradient(135deg, #f59e0b, #d97706);
  box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3);
}

.admin-btn.warning:hover {
  background: linear-gradient(135deg, #fbbf24, #f59e0b);
  box-shadow: 0 6px 16px rgba(245, 158, 11, 0.4);
}

.admin-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none !important;
}

.admin-status {
  margin-top: 12px;
  padding: 10px 14px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 14px;
  text-align: center;
}

/* ========== Yanıt Alanı ========== */
.answer { 
  margin-top: 18px; 
  padding: 18px; 
  border: 1px solid var(--border); 
  border-radius: 14px; 
  background: var(--card-bg);
  box-shadow: var(--shadow);
  line-height: 1.6;
  overflow-x: auto; /* Uzun formüllerde yatay taşmayı önle */
  -webkit-overflow-scrolling: touch;
  word-wrap: break-word;
}

/* Cevap içinde inline SVG çizimleri responsive olsun */
.answer svg {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 8px auto;
}

.answer h2, .answer h3 { 
  margin: 16px 0 8px; 
  font-size: 18px; 
  color: var(--primary);
  border-bottom: 2px solid var(--border);
  padding-bottom: 4px;
}

.answer h2:first-child, .answer h3:first-child {
  margin-top: 0;
}

.answer ol { 
  padding-left: 20px; 
  margin: 12px 0;
}

.answer ol li { 
  margin: 8px 0; 
  padding: 4px 0;
}

.answer p {
  margin: 8px 0;
}

.answer code, .answer pre { 
  background: #0b1220; 
  color: #e5e7eb; 
  border-radius: 8px; 
  padding: 2px 6px; 
  font-family: 'Courier New', monospace;
}

.answer pre {
  padding: 12px;
  overflow-x: auto;
  margin: 12px 0;
}

/* ========== Öğrenme Durumu Göstergesi ========== */
.learning-status {
  background: linear-gradient(135deg, #fef3c7, #fde68a);
  border: 1px solid #f59e0b;
  color: #92400e;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 12px;
  margin-top: 8px;
  display: flex;
  align-items: center;
  gap: 6px;
}

:root[data-theme="dark"] .learning-status {
  background: linear-gradient(135deg, #451a03, #78350f);
  border-color: #f59e0b;
  color: #fbbf24;
}

.learning-status::before {
  content: "🧠";
  font-size: 14px;
}

/* Header içindeki durum şeridi tam genişlikte ve üstten boşluklu olsun */
header .learning-status {
  width: 100%;
  margin-top: 8px;
}

/* ========== Küçük Ekranlar ========== */
@media (max-width: 560px) {
  .container { 
    padding: 12px 10px 36px; 
    max-width: 100%;
  }
  
  h1 { 
    font-size: 20px; 
    line-height: 1.3;
  }
  
  h2 {
    font-size: 18px;
  }
  
  h3 {
    font-size: 16px;
  }
  
  /* Form düğmeleri — navbar / tema / dil / combobox ikonları HARİÇ */
  .container form > button,
  .container form .btn-row > button,
  .btn-row > button,
  .card > button.battle-primary,
  .card > button.battle-secondary,
  .options-section > button {
    width: 100%;
    padding: 12px 16px;
    font-size: 15px;
    box-sizing: border-box;
  }
  
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="file"],
  textarea,
  select {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    font-size: 16px; /* iOS zoom önleme */
  }

  /* Navbar dil seçicisi global select width kuralından etkilenmesin */
  .translate-slot select,
  .translate-slot #ai_lang_select {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    font-size: 12px !important;
    padding: 0 8px !important;
  }
  
  textarea {
    min-height: 100px;
    resize: vertical;
  }
  
  .btn-row { 
    gap: 10px; 
    flex-direction: column;
  }
  
  .options-section { 
    width: 100%; 
  }
  
  .options-section select#model_index { 
    width: 100%; 
    max-width: 100%; 
    min-width: 0; 
  }
  
  .theme-toggle {
    position: static;
    margin-top: 0;
    margin-left: 0;
    width: auto;
    flex-shrink: 0;
  }
  
  .theme-toggle button,
  .dai-theme-toggle-btn {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
  }
  
  header {
    display: none;
  }
  
  /* Card responsive */
  .card {
    padding: 14px;
    margin: 8px 0;
  }
  
  /* Chat mesajları responsive */
  .chat-message-content {
    max-width: 85% !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    line-height: 1.5 !important;
  }
  
  .chat-message-content * {
    max-width: 100% !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }
  
  .chat-messages-container {
    max-height: 400px;
    padding: 12px;
    overflow-x: hidden !important;
  }
  
  /* Mobil için chat mesajları düzenlemesi - Web ile aynı görünüm, overflow kontrolü ile */
  @media (max-width: 768px) {
    .chat-message-content {
      max-width: calc(100% - 48px) !important; /* Avatar + gap için alan bırak */
      font-size: 15px !important; /* Web ile aynı */
      padding: 12px 16px !important; /* Web ile aynı */
      line-height: 1.5 !important; /* Web ile aynı */
      min-width: 0 !important;
      overflow-x: hidden !important;
      box-sizing: border-box !important;
    }
    .chat-message-avatar {
      width: 36px !important; /* Web ile aynı */
      height: 36px !important; /* Web ile aynı */
      font-size: 18px !important; /* Web ile aynı */
      flex-shrink: 0 !important;
    }
    .chat-message {
      gap: 12px !important; /* Web ile aynı */
      width: 100% !important;
      box-sizing: border-box !important;
      overflow-x: hidden !important;
    }
    .chat-messages-container {
      padding: 16px !important; /* Web ile aynı */
      max-height: 600px !important;
      width: 100% !important;
      box-sizing: border-box !important;
      overflow-x: hidden !important;
    }
    #chat_messages {
      width: 100% !important;
      box-sizing: border-box !important;
      overflow-x: hidden !important;
    }
    .chat-section {
      width: 100% !important;
      box-sizing: border-box !important;
      overflow-x: hidden !important;
    }
  }
  
  @media (max-width: 480px) {
    .chat-message-content {
      max-width: calc(100% - 48px) !important; /* Avatar + gap için alan bırak */
      font-size: 15px !important; /* Web ile aynı */
      padding: 12px 16px !important; /* Web ile aynı */
      line-height: 1.5 !important; /* Web ile aynı */
      min-width: 0 !important;
      overflow-x: hidden !important;
      box-sizing: border-box !important;
    }
    .chat-message-avatar {
      width: 36px !important; /* Web ile aynı */
      height: 36px !important; /* Web ile aynı */
      font-size: 18px !important; /* Web ile aynı */
      flex-shrink: 0 !important;
    }
    .chat-message {
      gap: 12px !important; /* Web ile aynı */
      width: 100% !important;
      box-sizing: border-box !important;
      overflow-x: hidden !important;
    }
    .chat-messages-container {
      padding: 16px !important; /* Web ile aynı */
      max-height: 500px !important;
      width: 100% !important;
      box-sizing: border-box !important;
      overflow-x: hidden !important;
    }
    #chat_messages {
      width: 100% !important;
      box-sizing: border-box !important;
      overflow-x: hidden !important;
    }
    .chat-section {
      width: 100% !important;
      box-sizing: border-box !important;
      overflow-x: hidden !important;
    }
    #chat_form {
      width: 100% !important;
      box-sizing: border-box !important;
      overflow-x: hidden !important;
    }
  }
  /* MathJax kutuları mobilde taşmasın */
  mjx-container { max-width: 100%; overflow-x: auto; overflow-y: hidden; }
  .answer mjx-container { font-size: 0.95em; }
  .answer { overflow-x: auto; word-wrap: break-word; }
  .answer * { max-width: 100%; }
  .answer table { min-width: auto; max-width: 100%; overflow-x: auto; }
  .answer pre { white-space: pre-wrap; word-wrap: break-word; }
  
  /* MathJax için ek mobil optimizasyonları */
  mjx-container {
    display: inline-block;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }
  
  mjx-container[jax="CHTML"] {
    overflow-x: auto;
    max-width: 100%;
  }
  
  .answer mjx-container {
    font-size: 0.9em;
    line-height: 1.2;
  }
  
  /* Uzun matematiksel ifadeler için */
  .answer mjx-container[overflow="scroll"] {
    overflow-x: auto;
    overflow-y: hidden;
  }
}

/* ========== MathJax Genel Optimizasyonları ========== */
mjx-container {
  display: inline-block;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}

mjx-container[jax="CHTML"] {
  overflow-x: auto;
  max-width: 100%;
}

.answer mjx-container {
  font-size: 0.95em;
  line-height: 1.3;
}

/* Uzun matematiksel ifadeler için */
.answer mjx-container[overflow="scroll"] {
  overflow-x: auto;
  overflow-y: hidden;
}

/* MathJax display math için */
mjx-container[jax="CHTML"][display="true"] {
  display: block;
  text-align: center;
  margin: 1em 0;
  overflow-x: auto;
}

/* MathJax inline math için */
mjx-container[jax="CHTML"][display="false"] {
  display: inline;
  vertical-align: middle;
}

/* Mobilde MathJax font boyutunu küçült */
@media (max-width: 480px) {
  .answer mjx-container {
    font-size: 0.85em;
  }
  
  mjx-container[jax="CHTML"][display="true"] {
    font-size: 0.9em;
  }
}

/* ========== Google ile giriş / kayıt (kısa kod) ========== */
.dershane-google-sso-card {
  margin-bottom: 22px;
  padding: 20px 18px 18px;
  border-radius: 16px;
  background: var(--card-bg);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-lg);
}
.dershane-google-sso-card.is-busy {
  opacity: 0.85;
  pointer-events: none;
}
.dershane-google-sso-title {
  margin: 0 0 8px;
  font-weight: 700;
  color: var(--text);
  font-size: 1.05rem;
  letter-spacing: -0.02em;
}
.dershane-google-sso-explain {
  margin: 0 0 16px;
  font-size: 0.875rem;
  color: var(--muted);
  line-height: 1.5;
}
.dershane-google-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  height: 48px;
  padding: 0 20px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--card-bg);
  color: var(--text);
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  box-sizing: border-box;
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.08);
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
  position: relative;
  z-index: 2;
}
.dershane-google-btn-shell {
  position: relative;
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
  min-height: 48px;
}
.dershane-google-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.18);
  border-color: rgba(37, 99, 235, 0.45);
}
.dershane-google-cta:active {
  transform: translateY(0);
}
html[data-theme="dark"] .dershane-google-cta {
  background: rgba(15, 23, 42, 0.75);
  border-color: rgba(148, 163, 184, 0.4);
  color: #f1f5f9;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
html[data-theme="light"] .dershane-google-cta {
  background: #fff;
  border-color: #cbd5e1;
  color: #0f172a;
}
.dershane-google-g-logo {
  flex-shrink: 0;
}
/* GIS iframe CTA’nın tam üstünde — tıklama Google’a gider (popup/redirect jesti) */
.dershane-google-btn-host {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 48px !important;
  overflow: hidden !important;
  opacity: 0.02 !important;
  pointer-events: none !important;
  z-index: 4 !important;
}
.dershane-google-btn-host > div,
.dershane-google-btn-host iframe {
  width: 100% !important;
  max-width: 100% !important;
  height: 48px !important;
}
.dershane-google-ready .dershane-google-cta {
  pointer-events: none;
}
.dershane-google-ready .dershane-google-btn-host {
  pointer-events: auto !important;
  cursor: pointer !important;
}
.dershane-google-fallback-btn {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  max-width: 400px;
  margin: 10px auto 0;
  padding: 12px 18px;
  font-size: 15px;
  font-weight: 600;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--card-bg);
  color: var(--text);
  cursor: pointer;
  box-sizing: border-box;
}
.dershane-google-fallback-btn:not([hidden]) {
  display: inline-flex;
}
.dershane-google-sso-error {
  display: none;
  margin: 10px 0 0;
  font-size: 13px;
  color: #f87171;
  text-align: center;
  line-height: 1.45;
}
.dershane-google-sso-error:not([hidden]) {
  display: block;
}
html[data-theme="light"] .dershane-google-sso-error {
  color: #b91c1c;
}
.dershane-google-sso-divider {
  margin: 16px 0 0;
  text-align: center;
  color: var(--muted);
  font-size: 12px;
}

/* Ders Öğren alt sekmeler */
.dai-subnav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 4px;
}
.dai-subnav-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--card-bg);
  color: var(--text);
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}
.dai-subnav-link:hover {
  border-color: var(--primary);
  color: var(--primary);
}
.dai-subnav-link.is-active {
  background: linear-gradient(135deg, var(--primary), var(--primary-600));
  border-color: transparent;
  color: #fff;
}

:root[data-theme="dark"] h1,
:root[data-theme="dark"] h2,
:root[data-theme="dark"] h3,
:root[data-theme="dark"] h4,
:root[data-theme="dark"] p,
:root[data-theme="dark"] .card,
:root[data-theme="dark"] .note,
:root[data-theme="dark"] .status {
  color: var(--text);
}

/* build: version-bump for SW */

/* --- Bilgi yarışması --- */
.battle-wrap .battle-panel { margin-top: 12px; }
.battle-wrap .battle-intro { margin-bottom: 0; }
.battle-rank-box {
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 10px;
  background: rgba(15, 60, 140, 0.06);
  border: 1px solid var(--border);
  font-size: 14px;
  line-height: 1.55;
}
.battle-top-list { margin: 10px 0 0 18px; padding: 0; font-size: 13px; }
.battle-top-list li.me { font-weight: 700; color: var(--primary); }
.battle-select, .battle-input {
  width: 100%;
  max-width: 320px;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid var(--border);
  margin: 8px 0 12px;
  font-size: 15px;
  background: var(--card-bg);
  color: var(--text);
}
.battle-actions { margin: 12px 0; }
.battle-join-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 8px; }
.battle-primary, .battle-secondary, .battle-link-btn {
  border-radius: 10px;
  padding: 8px 14px;
  min-height: 38px;
  font-size: 10pt;
  font-weight: 600;
  cursor: pointer;
  box-sizing: border-box;
}
.battle-primary {
  background: linear-gradient(135deg, var(--primary), var(--primary-600));
  color: #fff;
  border: 1px solid transparent;
}
.battle-secondary {
  background: var(--card-bg);
  color: var(--text);
  border: 1px solid var(--border);
}
.battle-link-btn {
  display: inline-block;
  padding: 12px 20px;
  background: linear-gradient(135deg, #3b82f6, #2563eb);
  color: #fff !important;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none !important;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
}
.battle-msg.ok { color: #0f7a4d; margin-top: 8px; }
.battle-msg.err { color: #dc2626; margin-top: 8px; }
.battle-players { list-style: none; padding: 0; margin: 12px 0; }
.battle-players li {
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  margin-bottom: 6px;
  background: var(--card-bg);
}
.battle-players li.me { border-color: #7c3aed; }
.battle-players li.host { font-weight: 600; }
.battle-timer-bar {
  position: sticky;
  top: 0;
  z-index: 5;
  text-align: center;
  font-size: 16px;
  margin-bottom: 12px;
}
.battle-q { margin-bottom: 14px; padding: 14px 16px; }
.battle-q.answered { opacity: 0.92; }
.battle-q-topic { font-size: 12px; color: var(--muted); margin-bottom: 8px; }
.battle-q-text { font-size: 15px; line-height: 1.55; margin-bottom: 12px; white-space: pre-wrap; }
.battle-options { display: flex; flex-direction: column; gap: 8px; }
.battle-opt {
  text-align: left;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: var(--card-bg);
  color: var(--text);
  cursor: pointer;
  font-size: 14px;
  line-height: 1.45;
}
.battle-opt:hover:not(:disabled) { border-color: #7c3aed; }
.battle-opt.selected { border-color: #7c3aed; background: rgba(124, 58, 237, 0.1); }
.battle-opt:disabled { cursor: default; opacity: 0.85; }
.battle-result-list { font-size: 15px; line-height: 1.6; }
.battle-result-list li.me { font-weight: 700; }
.battle-wrong-group { margin-bottom: 14px; }
.battle-wrong-item {
  border-top: 1px solid var(--border);
  padding: 12px 0;
}
.battle-wrong-item .muted { font-size: 13px; color: var(--muted); }
.battle-open-title { margin: 20px 0 8px; font-size: 16px; }
.battle-open-list { display: flex; flex-direction: column; gap: 10px; margin-top: 8px; }
.battle-open-item {
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.battle-open-item .battle-primary,
.battle-open-item .battle-secondary { align-self: flex-start; }
.battle-full-tag { font-size: 13px; color: var(--muted); font-weight: 600; }
.battle-countdown-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 16px 0;
  padding: 20px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(124,58,237,0.15), rgba(15,60,140,0.12));
  border: 2px solid rgba(124,58,237,0.35);
}
.battle-countdown-num {
  font-size: 56px;
  font-weight: 800;
  line-height: 1;
  color: #7c3aed;
}
.battle-countdown-label { font-size: 15px; color: var(--muted); margin-top: 6px; }

/* Çözüm takip soruları + engagement */
.solve-extras-panel { padding: 16px; }
.followup-form { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.followup-form textarea {
  width: 100%;
  min-height: 56px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: var(--card-bg);
  color: var(--text);
  resize: vertical;
}
.followup-submit {
  align-self: flex-start;
  padding: 10px 18px;
  border-radius: 10px;
  border: none;
  background: var(--primary);
  color: #fff;
  font-weight: 600;
  cursor: pointer;
}
.followup-counter { font-size: 13px; color: var(--muted); font-weight: 600; }
.followup-thread {
  margin-top: 12px;
  max-height: 360px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.followup-item {
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 14px;
  line-height: 1.55;
}
.followup-user { background: rgba(14, 165, 233, 0.1); border-left: 3px solid #0ea5e9; }
.followup-ai { background: rgba(124, 58, 237, 0.08); border-left: 3px solid #7c3aed; }
.followup-err { color: #ef4444; }
.solve-extra-output { margin-top: 12px; }
.league-mini-list { margin: 0; padding-left: 1.2rem; font-size: 13px; }
.engagement-panel code { font-size: 12px; padding: 2px 6px; border-radius: 4px; background: rgba(0,0,0,0.06); }

@media (max-width: 768px) {
  .engagement-panel { padding: 12px !important; font-size: 12px !important; }
  .engagement-grid { grid-template-columns: 1fr !important; }
  .engagement-panel input[type="text"] { width: 100% !important; max-width: 100% !important; margin: 6px 0 !important; }
  .engagement-panel .battle-secondary,
  .engagement-panel .battle-link-btn { width: 100%; margin-top: 6px; }
  .solve-extras-panel { padding: 12px; }
  .solve-premium-tools { flex-direction: column; }
  .solve-premium-tools .battle-secondary { width: 100%; text-align: center; }
  .followup-submit { width: 100%; }
  .followup-thread { max-height: 50vh; }
}

@media (max-width: 480px) {
  .engagement-panel strong { display: block; margin-bottom: 4px; }
  .followup-form textarea { font-size: 16px; min-height: 72px; }
}

.wrong-history-group { margin-top: 10px; font-size: 13px; }
.wrong-history-group ul { margin: 6px 0 0; padding-left: 1.1rem; }
.wrong-history-group li { margin-bottom: 8px; line-height: 1.45; }
.wrong-history-date { color: var(--muted); font-size: 12px; font-weight: 600; }
.battle-wrong-item .wrong-history-date { margin: 0 0 6px; }

/* ══════════════════════════════════════════════════════════════
   CLEAN UI - NO HOVER ANIMATIONS
   ══════════════════════════════════════════════════════════════ */

/* Kartlar: no hover transform */
.card {
  transition: border-color 0.2s ease;
}

/* Butonlar: basic style, no ripple or scale */
button, .battle-primary, .battle-secondary, .admin-btn {
  position: relative;
}

/* Form alanlari: simple focus */
input[type=text]:focus, input[type=password]:focus, input[type=email]:focus,
textarea:focus, select:focus {
  border-color: #6366f1;
  box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.15);
}

/* Sayfa gecisleri: none */

/* Progress bar animasyonu - KEPT */
@keyframes daiProgress {
  from { width: 0%; }
}

/* Bildirim/Uyari kutulari */
.status {
  border-left: 4px solid var(--primary);
}

.status.success {
  border-left-color: #10b981;
}

.status.warn {
  border-left-color: #f59e0b;
}

/* Sayfa scroll yumusak gecis */
html {
  scroll-behavior: auto;
}
@media (prefers-reduced-motion: no-preference) {
  html:not(.dersane-android-app) {
    scroll-behavior: smooth;
  }
}

/* Selection rengi */
::selection {
  background: rgba(99, 102, 241, 0.2);
  color: inherit;
}

/* Focus-visible: sadece klavye ile gelindiginde goster */
:focus-visible {
  outline: 2px solid #6366f1;
  outline-offset: 2px;
  border-radius: 4px;
}

/* Skeleton loading animasyonu - KEPT */
@keyframes daiSkeleton {
  0% { background-position: -200px 0; }
  100% { background-position: calc(200px + 100%) 0; }
}

.loading-skeleton {
  background: linear-gradient(90deg, var(--border) 25%, rgba(99,102,241,0.08) 50%, var(--border) 75%);
  background-size: 200px 100%;
  animation: daiSkeleton 1.5s infinite;
  border-radius: 8px;
}

:root[data-theme="light"] .dai-navbar {
  background: linear-gradient(135deg, #ffffff 0%, #e2e8f0 100%);
  border-color: rgba(37, 99, 235, 0.18);
  color: #0f172a;
}
:root[data-theme="light"] .dai-navbar-title,
:root[data-theme="light"] .dai-title-line { color: #0f172a; }
:root[data-theme="light"] .dai-nav-link { color: #1e293b; }
:root[data-theme="light"] .dai-nav-link .dai-ico { color: #2563eb; background: rgba(37,99,235,.08); border-color: rgba(37,99,235,.2); }

/* Dark tema icin navbar uyumu */
:root[data-theme="dark"] .dai-navbar {
  background: linear-gradient(135deg, #020617 0%, #0f172a 100%);
  border-color: rgba(99, 102, 241, 0.12);
}

:root:not([data-theme="dark"]) .dai-navbar {
  background: linear-gradient(135deg, #ffffff 0%, #e2e8f0 100%);
  border-color: rgba(37, 99, 235, 0.15);
}

/* Açık tema: form okunabilirliği */
:root[data-theme="light"] input[type="text"],
:root[data-theme="light"] input[type="email"],
:root[data-theme="light"] input[type="password"],
:root[data-theme="light"] input[type="number"],
:root[data-theme="light"] input[type="search"],
:root[data-theme="light"] textarea,
:root[data-theme="light"] select {
  background: #ffffff !important;
  color: #0f172a !important;
  border-color: #94a3b8 !important;
}
:root[data-theme="light"] input::placeholder,
:root[data-theme="light"] textarea::placeholder {
  color: #64748b !important;
}
:root[data-theme="light"] label,
:root[data-theme="light"] .options-section span,
:root[data-theme="light"] .options-section label,
:root[data-theme="light"] h1,
:root[data-theme="light"] h2,
:root[data-theme="light"] h3,
:root[data-theme="light"] h4,
:root[data-theme="light"] p,
:root[data-theme="light"] .card,
:root[data-theme="light"] .note {
  color: var(--text);
}

/* Dark mod: tum form elementleri okunur olsun */
:root[data-theme="dark"] input[type="text"],
:root[data-theme="dark"] input[type="email"],
:root[data-theme="dark"] input[type="password"],
:root[data-theme="dark"] input[type="number"],
:root[data-theme="dark"] input[type="search"],
:root[data-theme="dark"] textarea,
:root[data-theme="dark"] select {
  background: #1a2744 !important;
  color: #e2e8f0 !important;
  border-color: #374968 !important;
}
:root[data-theme="dark"] input::placeholder,
:root[data-theme="dark"] textarea::placeholder {
  color: #64748b !important;
}
:root[data-theme="dark"] label,
:root[data-theme="dark"] .options-section span,
:root[data-theme="dark"] .options-section label {
  color: #e2e8f0 !important;
}

/* Scrollbar stillemesi */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--bg); border-radius: 4px; }
::-webkit-scrollbar-thumb { background: var(--border); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--muted); }

/* Loading spinner - KEPT */
@keyframes daiSpinGlow {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Hamburger menu acildiginda linklerin sirayla gelmesi - KEPT (navbar animation allowed) */
@keyframes daiSlideInLeft {
  from { transform: translateX(-30px); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}

@keyframes daiSlideInRight {
  from { transform: translateX(30px); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}

.dai-navbar-menu.dai-nav-open .dai-nav-link:nth-child(1) { animation: daiSlideInLeft 0.3s ease both; animation-delay: 0.02s; }
.dai-navbar-menu.dai-nav-open .dai-nav-link:nth-child(2) { animation: daiSlideInRight 0.3s ease both; animation-delay: 0.05s; }
.dai-navbar-menu.dai-nav-open .dai-nav-link:nth-child(3) { animation: daiSlideInLeft 0.3s ease both; animation-delay: 0.08s; }
.dai-navbar-menu.dai-nav-open .dai-nav-link:nth-child(4) { animation: daiSlideInRight 0.3s ease both; animation-delay: 0.11s; }
.dai-navbar-menu.dai-nav-open .dai-nav-link:nth-child(5) { animation: daiSlideInLeft 0.3s ease both; animation-delay: 0.14s; }
.dai-navbar-menu.dai-nav-open .dai-nav-link:nth-child(6) { animation: daiSlideInRight 0.3s ease both; animation-delay: 0.17s; }
.dai-navbar-menu.dai-nav-open .dai-nav-link:nth-child(7) { animation: daiSlideInLeft 0.3s ease both; animation-delay: 0.2s; }
.dai-navbar-menu.dai-nav-open .dai-nav-link:nth-child(8) { animation: daiSlideInRight 0.3s ease both; animation-delay: 0.23s; }
.dai-navbar-menu.dai-nav-open .dai-nav-link:nth-child(9) { animation: daiSlideInLeft 0.3s ease both; animation-delay: 0.26s; }
.dai-navbar-menu.dai-nav-open .dai-nav-link:nth-child(10) { animation: daiSlideInRight 0.3s ease both; animation-delay: 0.29s; }
.dai-navbar-menu.dai-nav-open .dai-nav-link:nth-child(11) { animation: daiSlideInLeft 0.3s ease both; animation-delay: 0.32s; }
.dai-navbar-menu.dai-nav-open .dai-nav-link:nth-child(12) { animation: daiSlideInRight 0.3s ease both; animation-delay: 0.35s; }
.dai-navbar-menu.dai-nav-open .dai-nav-link:nth-child(13) { animation: daiSlideInLeft 0.3s ease both; animation-delay: 0.38s; }
.dai-navbar-menu.dai-nav-open .dai-nav-link:nth-child(14) { animation: daiSlideInRight 0.3s ease both; animation-delay: 0.41s; }
.dai-navbar-menu.dai-nav-open .dai-nav-link:nth-child(15) { animation: daiSlideInLeft 0.3s ease both; animation-delay: 0.44s; }
.dai-navbar-menu.dai-nav-open .dai-nav-link:nth-child(16) { animation: daiSlideInRight 0.3s ease both; animation-delay: 0.47s; }
.dai-navbar-menu.dai-nav-open .dai-nav-link:nth-child(17) { animation: daiSlideInLeft 0.3s ease both; animation-delay: 0.5s; }
.dai-navbar-menu.dai-nav-open .dai-nav-link:nth-child(18) { animation: daiSlideInRight 0.3s ease both; animation-delay: 0.53s; }
.dai-navbar-menu.dai-nav-open .dai-nav-link:nth-child(19) { animation: daiSlideInLeft 0.3s ease both; animation-delay: 0.56s; }
.dai-navbar-menu.dai-nav-open .dai-nav-link:nth-child(20) { animation: daiSlideInRight 0.3s ease both; animation-delay: 0.59s; }
.dai-navbar-menu.dai-nav-open .dai-nav-link.dai-nav-danger {
  color: #fca5a5;
}

/* Geri sayim numarasi */
.battle-countdown-num {
  font-size: 56px;
  font-weight: 800;
  color: #7c3aed;
}

/* Tema degisim animasyonu - keep smooth transitions */
html.dershane-theme-flip * {
  transition: background-color 0.4s ease, color 0.4s ease, border-color 0.4s ease !important;
}

/* Performans: reduced-motion saygisi */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ══════════════════════════════════════════════════════════════
   LIGHT THEME - COMPREHENSIVE TEXT READABILITY FIXES
   ══════════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════════
   SABİT DARK MODE - TÜM BILEŞENLER
   ══════════════════════════════════════════════════════════════ */

body {
  color: var(--text);
  background: var(--bg);
}

.card,
.battle-wrap,
[class*="panel"],
.battle-q,
.battle-open-item,
.battle-players li,
.followup-item,
.battle-rank-box,
.admin-section,
[class*="modal"] {
  background: var(--card-bg);
  color: var(--text);
  border-color: var(--border);
}

h1, h2, h3, h4, h5, h6 {
  color: var(--text);
}

p, span, div, li {
  color: inherit;
}

label {
  color: var(--text) !important;
}

.battle-secondary {
  background: var(--card-bg);
  color: var(--text);
  border: 1px solid var(--border);
}

.battle-opt {
  background: var(--card-bg);
  color: var(--text);
  border: 1px solid var(--border);
}

.battle-q-text {
  color: var(--text);
}

.battle-q-topic {
  color: var(--muted);
}

.answer {
  color: var(--text);
}

.note {
  color: var(--muted);
}

.status {
  color: var(--text);
  background: var(--ring);
  border-color: var(--border);
}

.lb_tab_btn,
[class*="filter-btn"],
[class*="period-btn"],
.insights-filter-btn,
.insights-period-btn {
  color: var(--text) !important;
  background: var(--bg-2) !important;
  border: 1px solid var(--border) !important;
}

.lb_tab_btn.active,
[class*="filter-btn"].active,
[class*="period-btn"].active {
  color: #fff !important;
  background: #3b82f6 !important;
  border-color: #3b82f6 !important;
}

table {
  color: var(--text);
}

table th {
  color: var(--text);
  background: var(--bg-2);
  border-color: var(--border);
}

table td {
  color: var(--text-secondary);
  border-color: var(--border);
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="search"],
textarea,
select {
  color: var(--text);
  background: var(--input-bg, var(--card-bg));
  border-color: var(--border);
}

input::placeholder,
textarea::placeholder {
  color: #64748b;
}

/* Share buttons */
.share-btn,
.main-share-btn {
  color: #fff !important;
}

.battle-link-btn {
  background: linear-gradient(135deg, #3b82f6, #2563eb);
  color: #fff !important;
}

/* ========== MOBILE RESPONSIVE LOCK ========== */
.container,
.card,
.battle-wrap,
#battle_app,
.dai-navbar,
#dershane_modal,
#dershane_modal > div,
.dershane_modal_body,
#dershane_modal_body,
.chat-section,
.chat-messages-container,
.answer,
.mathjax-content {
  max-width: 100%;
  box-sizing: border-box;
}

img,
video,
canvas,
iframe,
.answer img,
.mathjax-content img {
  max-width: 100% !important;
  height: auto !important;
}

/* Navbar / login logos: global img kuralından muaf — aksi halde logo tüm satırı kaplar */
.dai-navbar-logo-img,
.login-hero img {
  object-fit: contain !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
}

.dai-navbar-logo-img {
  max-width: 168px !important;
  max-height: 62px !important;
}

.login-hero img {
  max-width: 220px !important;
  max-height: 88px !important;
}

/* ========== Site Footer ========== */
.dai-site-footer {
  margin-top: 32px;
  padding: 16px 12px 8px;
  border-top: 1px solid var(--border);
  text-align: center;
}

.dai-site-footer-text {
  margin: 0;
  font-size: 12px;
  color: var(--text-secondary);
  letter-spacing: 0.02em;
}

@media (max-width: 575px) {
  .dai-site-footer {
    margin-top: 24px;
    padding: 12px 8px 6px;
  }
  .dai-site-footer-text {
    font-size: 11px;
  }
}

.answer svg,
.mathjax-content svg,
.dai-ai-solution svg {
  max-width: 100% !important;
  height: auto !important;
  display: block;
  margin: 8px auto;
}

/* Tablolar: display:block satır/sütun hizasını bozar — kaydırma sarmalayıcıda olmalı */
.table-scroll,
.dershane-admin-table-scroll,
.dershane-user-usage-scroll,
.dai-admin-table-wrap {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}

table {
  max-width: none;
}

.table-scroll > table,
.dershane-admin-table-scroll > table,
.dershane-user-usage-scroll > table,
.dai-admin-table-wrap > table,
.dershane-admin-sc table,
#dershane_modal_body table,
#dershane-ai-admin-wrap table {
  display: table;
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
}

pre,
code {
  max-width: 100%;
  overflow-x: auto;
  white-space: pre-wrap;
  word-break: break-word;
}

/* AI ile öğren çözüm kutusu */
.dai-ai-solution {
  padding: 12px 14px !important;
  background: #1a2744 !important;
  border: 1px solid #2a3f6b !important;
  border-radius: 10px !important;
  color: #e2e8f0 !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
  max-width: 100% !important;
  overflow-x: auto;
  word-wrap: break-word;
  overflow-wrap: anywhere;
  box-sizing: border-box;
}

.dai-ai-solution-panel,
.dai-ai-solution {
  margin-top: 8px;
}

.dai-ai-solution-panel svg,
.dai-ai-solution-panel canvas,
.dai-ai-solution svg,
.dai-ai-solution canvas {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.dai-ai-solution-panel,
.battle-ai-answer {
  margin-top: 8px;
  max-width: 100%;
  overflow-x: auto;
  box-sizing: border-box;
}

.dai-ai-solution strong,
.dai-ai-solution b {
  color: #f1f5f9 !important;
}

.dai-ai-solution [style*="background:#fff"],
.dai-ai-solution [style*="background: #fff"],
.dai-ai-solution [style*="background:#ffffff"],
.dai-ai-solution [style*="background-color:#fff"],
.dai-ai-solution [style*="background:#f9fafb"],
.dai-ai-solution [style*="background:#f8fafc"],
.dai-ai-solution [style*="background:#eff6ff"],
.dai-ai-solution [style*="background:#fef3c7"],
.dai-ai-solution [style*="background:#dcfce7"],
.dai-ai-solution [style*="background:#fef2f2"],
.dai-ai-solution [style*="background:#d1fae5"] {
  background: rgba(255, 255, 255, 0.06) !important;
  color: #e2e8f0 !important;
  border-color: #2a3f6b !important;
}

.dai-ai-error {
  color: #fca5a5 !important;
  font-size: 13px;
  margin: 0;
  padding: 10px 12px;
  background: rgba(239, 68, 68, 0.12) !important;
  border-radius: 8px;
  border: 1px solid rgba(239, 68, 68, 0.35);
}

@media (max-width: 768px) {
  .container {
    padding-left: max(16px, env(safe-area-inset-left, 0px));
    padding-right: max(16px, env(safe-area-inset-right, 0px));
  }

  h1 { font-size: 1.35rem !important; }
  h2 { font-size: 1.2rem !important; }

  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="number"],
  input[type="search"],
  input[type="tel"],
  select,
  textarea {
    font-size: 16px !important;
    max-width: 100%;
  }

  #dershane_modal > div {
    margin: 12px 8px !important;
    padding: 16px 14px !important;
    max-width: calc(100vw - 16px) !important;
    width: auto !important;
  }

  #dershane_modal_body {
    max-height: 65vh !important;
    overflow-x: auto !important;
    overflow-y: auto !important;
  }

  .battle-opt,
  .cr_opt_btn,
  .battle-opt-single {
    font-size: 14px !important;
    padding: 12px 14px !important;
    word-break: break-word;
  }
}

@media (max-width: 480px) {
  .container {
    padding-left: max(16px, env(safe-area-inset-left, 0px));
    padding-right: max(16px, env(safe-area-inset-right, 0px));
  }

  .dai-navbar {
    margin-left: 0;
    margin-right: 0;
  }
}

/* DersÖğren / Yazılım Kursu — yoğun anlatım */
.do-lesson .yk-theory,
.yk-lesson-body .yk-theory {
  line-height: 1.65;
  color: #e2e8f0;
}
.do-formula,
.do-formula-card {
  margin: 12px 0;
  padding: 12px 14px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(30, 58, 138, 0.45), rgba(15, 23, 42, 0.9));
  border: 1px solid rgba(96, 165, 250, 0.35);
  overflow-x: auto;
}
.do-formula-grid {
  margin: 18px 0 8px;
}
.do-formula-grid h4,
.do-teacher-flow h4,
.do-worked-extra h4,
.do-glossary h4,
.yk-dense h4,
.yk-commentary h4,
.yk-checklist-rich h4,
.yk-more-examples h4 {
  margin: 1.1em 0 0.45em;
  color: #93c5fd;
  font-size: 1.05rem;
}
.do-formula-label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  color: #fbbf24;
  margin-bottom: 6px;
  letter-spacing: 0.02em;
}
.do-teacher-flow,
.yk-dense,
.yk-commentary,
.do-worked-extra,
.do-glossary,
.yk-more-examples,
.yk-checklist-rich {
  margin: 16px 0;
  padding: 14px 16px;
  border-radius: 14px;
  background: rgba(15, 23, 42, 0.72);
  border: 1px solid rgba(71, 85, 105, 0.55);
}
.do-teacher-flow p,
.yk-dense p,
.yk-commentary p,
.do-worked-extra p,
.yk-more-examples p {
  margin: 0.65em 0;
}
.do-inline-visual,
.yk-visual {
  margin: 14px 0;
}
.yk-visual-svg svg {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
}
.yk-visual figcaption {
  margin-top: 6px;
  font-size: 12px;
  color: #94a3b8;
  text-align: center;
}
.yk-checklist-rich ul {
  margin: 0.4em 0 0;
  padding-left: 1.1em;
}
.yk-theory h4 {
  margin-top: 1.25em;
  color: #7dd3fc;
}
.do-subject-deep,
.do-faq,
.do-exam-bridge,
.yk-lang-deep,
.yk-faq-dev,
.yk-project-story {
  margin: 16px 0;
  padding: 14px 16px;
  border-radius: 14px;
  background: rgba(15, 23, 42, 0.72);
  border: 1px solid rgba(71, 85, 105, 0.55);
}
.do-subject-deep h4,
.do-faq h4,
.do-exam-bridge h4,
.yk-lang-deep h4,
.yk-faq-dev h4,
.yk-project-story h4 {
  margin: 0 0 0.55em;
  color: #93c5fd;
  font-size: 1.05rem;
}

/* son9 UX */
.dai-soft-update {
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 100000;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(15, 23, 42, 0.96);
  border: 1px solid rgba(96, 165, 250, 0.45);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
  color: #e2e8f0;
  font-size: 14px;
}
.dai-onboard-overlay {
  position: fixed;
  inset: 0;
  z-index: 100001;
  background: rgba(2, 6, 23, 0.72);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.dai-onboard-card {
  width: min(440px, 100%);
  background: linear-gradient(160deg, #0f172a, #1e293b);
  border: 1px solid rgba(148, 163, 184, 0.35);
  border-radius: 18px;
  padding: 22px 20px;
  color: #f1f5f9;
}
.dai-onboard-card h2 { margin: 0 0 8px; font-size: 1.35rem; }
.dai-onboard-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 14px 0;
}
.dai-onboard-grid button { min-height: 72px; line-height: 1.25; }
.dai-onboard-card .note { opacity: 0.85; font-size: 13px; }
.dai-share-btn { margin-left: 8px; }
.dai-progress-map {
  margin: 10px 0 14px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(15, 23, 42, 0.65);
  border: 1px solid rgba(71, 85, 105, 0.5);
}
.dai-progress-map h3 { margin: 0 0 10px; font-size: 0.95rem; color: #93c5fd; }
.dai-progress-map ul { list-style: none; margin: 0; padding: 0; }
.dai-progress-map li { margin-bottom: 8px; }
.dai-pm-link {
  display: block;
  text-decoration: none;
  color: inherit;
  border-radius: 10px;
  padding: 6px 8px;
  margin: 0 -8px;
  border: 1px solid transparent;
}
.dai-pm-link:hover {
  border-color: rgba(56, 189, 248, 0.45);
  background: rgba(14, 165, 233, 0.12);
}
.dai-pm-label { display: flex; justify-content: space-between; font-size: 13px; margin-bottom: 4px; color: #cbd5e1; }
.dai-pm-bar {
  height: 7px;
  border-radius: 999px;
  background: rgba(51, 65, 85, 0.85);
  overflow: hidden;
}
.dai-pm-bar i {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #38bdf8, #22c55e);
}
.dai-ide-compare {
  margin-top: 10px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 10px;
  border-radius: 12px;
  border: 1px solid rgba(71, 85, 105, 0.55);
  background: rgba(15, 23, 42, 0.7);
  font-size: 13px;
}
.dai-ide-compare pre {
  margin: 6px 0 0;
  white-space: pre-wrap;
  word-break: break-word;
  max-height: 140px;
  overflow: auto;
  font-size: 12px;
}
.dai-ide-compare.is-ok { border-color: rgba(34, 197, 94, 0.55); }
.dai-ide-compare.is-diff { border-color: rgba(245, 158, 11, 0.55); }
.dai-ide-compare .ok { color: #4ade80; grid-column: 1 / -1; margin: 0; }
.dai-ide-compare .diff { color: #fbbf24; grid-column: 1 / -1; margin: 0; }
.yk-ai-box,
.yk-ai-q,
.yk-ai-q.mathjax-content {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  word-break: break-word;
}
.yk-ai-q mjx-container,
.yk-ai-box mjx-container {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
}
.yk-ai-q svg,
.yk-ai-box svg {
  max-width: 100% !important;
  height: auto !important;
  display: block;
  margin: 10px auto;
}
.dai-hw-join { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
@media (max-width: 640px) {
  .dai-onboard-grid { grid-template-columns: 1fr; }
  .dai-ide-compare { grid-template-columns: 1fr; }
}

/* ========== Admin + İstatistik UI ========== */
.dai-admin-page {
  margin-top: 12px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  overflow-x: clip;
}

.dershane-admin-sc {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.dershane-admin-sc .card {
  overflow: hidden;
  max-width: 100%;
  box-sizing: border-box;
  padding: 16px;
  margin-bottom: 12px;
  background: var(--card-bg);
  border: 1px solid var(--border);
  color: var(--text);
}

.dershane-admin-sc .card h2,
.dershane-admin-sc .card h3 {
  font-size: clamp(1rem, 2.5vw, 1.25rem);
  word-break: break-word;
  color: var(--text);
  margin-top: 0;
}

.dershane-admin-sc .card.dai-admin-tone-warn {
  background: linear-gradient(145deg, rgba(120, 53, 15, 0.45), rgba(15, 23, 42, 0.92));
  border-color: rgba(251, 191, 36, 0.45);
}

.dershane-admin-sc .card.dai-admin-tone-ok {
  background: linear-gradient(145deg, rgba(6, 78, 59, 0.4), rgba(15, 23, 42, 0.92));
  border-color: rgba(52, 211, 153, 0.4);
}

.dershane-admin-sc .card.dai-admin-tone-info {
  background: linear-gradient(145deg, rgba(30, 64, 175, 0.4), rgba(15, 23, 42, 0.92));
  border-color: rgba(96, 165, 250, 0.45);
}

.dershane-admin-sc .card.dai-admin-tone-danger {
  background: linear-gradient(145deg, rgba(127, 29, 29, 0.4), rgba(15, 23, 42, 0.92));
  border-color: rgba(248, 113, 113, 0.45);
}

.dershane-admin-sc .card.dai-admin-tone-muted {
  background: linear-gradient(145deg, rgba(51, 65, 85, 0.35), rgba(15, 23, 42, 0.92));
  border-color: rgba(148, 163, 184, 0.35);
}

.dershane-admin-sc .dai-admin-stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.dershane-admin-sc .dai-admin-mini-stat {
  background: rgba(15, 23, 42, 0.75);
  border: 1px solid rgba(71, 85, 105, 0.55);
  padding: 12px 10px;
  border-radius: 10px;
  text-align: center;
  color: var(--text);
  min-width: 0;
}

.dershane-admin-sc .dai-admin-mini-stat strong {
  display: block;
  font-size: 1.25rem;
  color: #93c5fd;
  margin-bottom: 4px;
}

.dershane-admin-sc .dai-admin-mini-stat small,
.dershane-admin-sc .dai-admin-mini-stat p {
  color: var(--muted);
  font-size: 12px;
  margin: 0;
  line-height: 1.35;
}

.dershane-admin-sc .dai-admin-mini-stat h3 {
  margin: 0 0 8px;
  font-size: 14px;
  color: #fca5a5;
}

.dershane-admin-sc .dai-admin-callout {
  margin-top: 10px;
  padding: 12px;
  border-radius: 10px;
  background: rgba(15, 23, 42, 0.65);
  border: 1px solid rgba(251, 191, 36, 0.35);
  color: var(--text);
  font-size: 13px;
  line-height: 1.5;
}

.dershane-admin-sc .dai-admin-callout a {
  color: #93c5fd;
  font-weight: 600;
}

.dershane-admin-sc .dai-admin-callout ul {
  margin: 8px 0 0 18px;
  padding: 0;
}

.dershane-admin-sc .dai-admin-callout-ok {
  margin-top: 10px;
  padding: 8px 10px;
  border-radius: 8px;
  background: rgba(6, 78, 59, 0.35);
  border: 1px solid rgba(52, 211, 153, 0.35);
  color: #a7f3d0;
  font-size: 13px;
}

.dershane-admin-sc .dai-admin-form-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: flex-end;
}

.dershane-admin-sc .dai-admin-form-row > div {
  flex: 1 1 180px;
  min-width: 0;
}

.dershane-admin-sc .dai-admin-inline-num {
  width: auto !important;
  max-width: 100%;
  min-width: 4.5rem;
  display: inline-block;
}

.dershane-admin-sc label {
  color: var(--text);
}

.dershane-admin-sc .note {
  color: var(--muted);
}

.dershane-admin-sc small.dai-admin-warn-note {
  color: #fca5a5 !important;
  font-weight: 600;
  display: block;
  margin-top: 4px;
}

.dershane-admin-sc .dai-admin-log-box {
  background: #0b1220;
  color: #e2e8f0;
  padding: 12px;
  border-radius: 8px;
  max-height: 400px;
  overflow-y: auto;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 11px;
  line-height: 1.5;
  border: 1px solid rgba(71, 85, 105, 0.5);
}

.dershane-admin-sc .dai-admin-log-line {
  border-bottom: 1px solid #1e293b;
  padding: 4px 0;
  word-break: break-all;
}

/* Bildirim izin banner */
.dai-fcm-banner {
  position: fixed;
  bottom: max(12px, env(safe-area-inset-bottom, 0px));
  left: 50%;
  transform: translateX(-50%);
  z-index: 99980;
  background: linear-gradient(135deg, #1e293b, #0f172a);
  color: #fff;
  padding: 12px;
  border-radius: 14px;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.4);
  width: calc(100% - 24px);
  max-width: 340px;
  font-size: 12px;
  border: 1px solid rgba(99, 102, 241, 0.35);
  box-sizing: border-box;
}

.dai-fcm-banner-top {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.dai-fcm-banner-top .ico {
  font-size: 20px;
  line-height: 1;
  flex-shrink: 0;
}

.dai-fcm-banner-top .txt {
  flex: 1;
  min-width: 0;
}

.dai-fcm-banner-top strong {
  font-size: 13px;
  display: block;
  line-height: 1.25;
}

.dai-fcm-banner-top span {
  font-size: 11px;
  color: #94a3b8;
  line-height: 1.35;
  display: block;
  margin-top: 2px;
}

.dai-fcm-banner-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.dai-fcm-banner-actions button {
  height: 42px;
  padding: 0 8px;
  border-radius: 10px;
  cursor: pointer;
  font-weight: 700;
  font-size: 13px;
  width: 100%;
  box-sizing: border-box;
  border: none;
}

.dai-fcm-banner-actions .allow {
  background: linear-gradient(135deg, #22c55e, #16a34a);
  color: #fff;
}

.dai-fcm-banner-actions .deny {
  background: rgba(255, 255, 255, 0.08);
  color: #cbd5e1;
  border: 1px solid rgba(255, 255, 255, 0.15);
  font-weight: 600;
}

body.dai-nav-locked .dai-fcm-banner,
body.dai-onboard-open .dai-fcm-banner {
  display: none !important;
}

.dershane-admin-sc input[type="text"],
.dershane-admin-sc input[type="email"],
.dershane-admin-sc input[type="password"],
.dershane-admin-sc input[type="number"],
.dershane-admin-sc textarea,
.dershane-admin-sc select {
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
}

.dershane-admin-sc .dershane-admin-table-scroll {
  border: 1px solid var(--border, rgba(71, 85, 105, 0.45));
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.35);
}

.dershane-admin-sc .dershane-admin-table-scroll table {
  width: max-content;
  min-width: 100%;
  font-size: 13px;
}

.dershane-admin-sc .dershane-admin-table-scroll th,
.dershane-admin-sc .dershane-admin-table-scroll td {
  padding: 10px 12px;
  vertical-align: top;
  border-bottom: 1px solid rgba(71, 85, 105, 0.4);
  word-break: break-word;
  overflow-wrap: anywhere;
}

.dershane-admin-sc .dershane-admin-table-scroll thead th {
  position: sticky;
  top: 0;
  background: rgba(15, 23, 42, 0.95);
  z-index: 1;
  white-space: nowrap;
  font-weight: 700;
}

.dershane-admin-sc table.dershane-users-grid-table {
  min-width: 720px;
}

.dershane-admin-sc table.dershane-users-grid-table td:nth-child(3),
.dershane-admin-sc table.dershane-users-grid-table td:nth-child(6) {
  white-space: normal;
  max-width: 220px;
}

.dershane-admin-sc table.dershane-usage-stat-table {
  min-width: 420px;
}

.dershane-admin-sc .dershane-user-actions {
  min-width: 200px;
  max-width: 280px;
  width: auto;
}

.dershane-admin-sc .dershane-user-actions-inner {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: stretch;
}

.dershane-admin-sc .dershane-user-actions input[type="password"] {
  width: 100%;
  box-sizing: border-box;
}

.stats-section {
  margin: 16px 0;
  padding: 16px 18px;
  border-radius: 14px;
  border: 1px solid var(--border, rgba(71, 85, 105, 0.45));
  background: var(--card-bg, rgba(15, 23, 42, 0.55));
  box-sizing: border-box;
  max-width: 100%;
  overflow: hidden;
}

.stats-section h3 {
  margin: 0 0 12px;
  font-size: 1.1rem;
  word-break: break-word;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 10px;
}

.stat-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px;
  border-radius: 10px;
  background: rgba(15, 23, 42, 0.45);
  border: 1px solid rgba(71, 85, 105, 0.4);
  min-width: 0;
}

.stat-label {
  font-size: 12px;
  color: var(--muted, #94a3b8);
  word-break: break-word;
}

.stat-value {
  font-size: 1.25rem;
  font-weight: 700;
  word-break: break-word;
}

.admin-section {
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}

.admin-buttons {
  max-width: 100%;
}

.admin-btn {
  min-width: 0;
  flex: 1 1 160px;
  max-width: 100%;
}

/* Admin istatistik modalı */
#dershane_modal.dai-admin-stats-open > div {
  max-width: min(920px, calc(100vw - 16px)) !important;
  overflow-x: hidden;
}

#dershane_modal_body {
  overflow-x: auto !important;
  overflow-y: auto !important;
  max-width: 100%;
  box-sizing: border-box;
}

#dershane_modal_body .dai-admin-table-wrap {
  margin: 0 0 14px;
  border: 1px solid rgba(42, 63, 107, 0.8);
  border-radius: 10px;
}

#dershane_modal_body table.dai-admin-data-table {
  width: max-content;
  min-width: 100%;
  font-size: 13px;
}

#dershane_modal_body table.dai-admin-data-table th,
#dershane_modal_body table.dai-admin-data-table td {
  padding: 8px 10px;
  border-bottom: 1px solid rgba(42, 63, 107, 0.85);
  vertical-align: top;
  word-break: break-word;
  overflow-wrap: anywhere;
}

#dershane_modal_body table.dai-admin-data-table th {
  white-space: nowrap;
  text-align: left;
}

#dershane_modal_body .dai-admin-stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

#dershane_modal_body .dai-admin-stat-card {
  padding: 12px;
  border-radius: 10px;
  text-align: center;
  border: 1px solid #2a3f6b;
  min-width: 0;
}

#dershane_modal_body .dai-admin-stat-card .n {
  font-size: clamp(1.1rem, 4vw, 1.4rem);
  font-weight: 800;
  word-break: break-word;
}

#dershane_modal_body .dai-admin-stat-card .l {
  font-size: 11px;
  color: #94a3c8;
  word-break: break-word;
}

#dershane_modal_body input,
#dershane_modal_body textarea,
#dershane_modal_body button {
  max-width: 100%;
  box-sizing: border-box;
}

#dershane_modal_info {
  word-break: break-word;
  overflow-wrap: anywhere;
  line-height: 1.4;
}

@media (max-width: 640px) {
  .dershane-admin-sc table.dershane-users-grid-table {
    min-width: 640px;
  }
  .stats-grid {
    grid-template-columns: 1fr 1fr;
  }
  .admin-btn {
    flex: 1 1 100%;
  }
}

/* AI bekleme / progress (ai-wait.js ile uyumlu) */
@keyframes dershaneSpin {
  from { transform: rotate(0); }
  to { transform: rotate(360deg); }
}
.dai-ai-wait { padding: 12px 0; width: 100%; box-sizing: border-box; }
.dai-ai-wait-bar,
.yk-ai-wait-bar {
  background: var(--border, #2a3f6b);
  border-radius: 10px;
  height: 12px;
  overflow: hidden;
  margin-bottom: 8px;
  width: 100%;
}
.dai-ai-wait-fill,
.yk-ai-wait-fill {
  height: 100%;
  width: 0;
  border-radius: 10px;
  background: linear-gradient(90deg, #3b82f6, #8b5cf6, #22c55e);
  transition: width .45s ease, background .45s ease;
}
.dai-ai-wait-host,
.status.dai-ai-wait-host {
  color: var(--text, #e2e8f0);
  background: rgba(15, 23, 42, 0.85);
  border: 1px solid var(--border, #2a3f6b);
  border-radius: 12px;
  margin: 12px 0;
  padding: 14px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  z-index: 20;
}
.dai-ai-wait-host.is-active { display: block !important; }
.dai-ai-elapsed,
.dai-solve-elapsed,
.dai-live-elapsed,
.yk-ai-elapsed,
.battle-gen-elapsed,
.battle-ai-elapsed,
.dershane-elapsed {
  color: #38bdf8 !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums;
}
@media (max-width: 560px) {
  .dai-ai-wait-host.is-active {
    position: sticky;
    top: 8px;
    z-index: 40;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
  }
}

/* Anasayfa galeri / foto / çözüm — mobil */
.upload-section { width: 100%; }
.upload-buttons {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}
.upload-buttons button {
  width: 100%;
  box-sizing: border-box;
}
#ai_form button[type="submit"] {
  width: 100%;
  margin-top: 12px;
  box-sizing: border-box;
}
#ai_form button[type="submit"]:disabled {
  opacity: 0.75;
  cursor: wait;
}
#preview_wrap img {
  max-width: 100%;
  height: auto;
  display: block;
}
@media (min-width: 640px) {
  .upload-buttons {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .upload-buttons button {
    flex: 1 1 200px;
  }
}

/* ========== Mobil / Play Store WebView UX ========== */
body {
  padding-bottom: env(safe-area-inset-bottom, 0);
}
.container {
  padding-left: max(16px, env(safe-area-inset-left, 0px));
  padding-right: max(16px, env(safe-area-inset-right, 0px));
}
button, .battle-primary, .battle-secondary, .yk-ide-run, .yk-ide-clear, .yk-ide-reset,
.dai-navbar-toggler, .dai-navbar-icon-btn {
  min-height: 44px;
  min-width: 44px;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.card, .battle-card, .yk-card, .yk-lesson-card {
  border-radius: 14px;
  box-shadow: var(--shadow);
}
@media (max-width: 768px) {
  .container {
    padding-bottom: max(40px, calc(24px + env(safe-area-inset-bottom)));
  }
  .dai-navbar-menu.dai-nav-open {
    padding-bottom: max(16px, env(safe-area-inset-bottom));
  }
  input, select, textarea, .yk-ide-code {
    font-size: 16px !important; /* iOS zoom önleme */
  }
}
@media (max-width: 480px) {
  .dai-navbar-brand {
    max-width: calc(100vw - 120px);
  }
  h1 { font-size: 1.35rem; }
  h2 { font-size: 1.15rem; }
}

/* ========== Tema kontrast kilidi (son60) ==========
   Koyu: açık yazı + koyu zemin. Açık: koyu yazı + açık zemin.
   Sabit #fff/#212529 input stillerini temaya göre ez. */
html[data-theme="dark"] body {
  background-color: #070d1a !important;
  color: #eef2ff !important;
}
html[data-theme="light"] body {
  background-color: #f1f5f9 !important;
  color: #0f172a !important;
}

html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] h4,
html[data-theme="dark"] h5,
html[data-theme="dark"] p,
html[data-theme="dark"] li,
html[data-theme="dark"] label,
html[data-theme="dark"] .note,
html[data-theme="dark"] .status,
html[data-theme="dark"] .file-name,
html[data-theme="dark"] .options-section,
html[data-theme="dark"] details summary,
html[data-theme="dark"] .dershane-classic-auth summary,
html[data-theme="dark"] .dershane-google-sso-title,
html[data-theme="dark"] .dershane-google-sso-explain,
html[data-theme="dark"] .dershane-google-sso-divider {
  color: #e2e8f0 !important;
}
html[data-theme="dark"] .note,
html[data-theme="dark"] .dershane-google-sso-explain,
html[data-theme="dark"] .dershane-google-sso-divider {
  color: #94a3b8 !important;
}

html[data-theme="light"] h1,
html[data-theme="light"] h2,
html[data-theme="light"] h3,
html[data-theme="light"] h4,
html[data-theme="light"] h5,
html[data-theme="light"] p,
html[data-theme="light"] li,
html[data-theme="light"] label,
html[data-theme="light"] .note,
html[data-theme="light"] .status,
html[data-theme="light"] .file-name,
html[data-theme="light"] .options-section,
html[data-theme="light"] details summary,
html[data-theme="light"] .dershane-classic-auth summary,
html[data-theme="light"] .dershane-google-sso-title,
html[data-theme="light"] .dershane-google-sso-explain,
html[data-theme="light"] .dershane-google-sso-divider {
  color: #0f172a !important;
}
html[data-theme="light"] .note,
html[data-theme="light"] .dershane-google-sso-explain,
html[data-theme="light"] .dershane-google-sso-divider {
  color: #475569 !important;
}

html[data-theme="dark"] .register-input,
html[data-theme="dark"] .register-email-input,
html[data-theme="dark"] .reset-email-input,
html[data-theme="dark"] input[type="text"],
html[data-theme="dark"] input[type="email"],
html[data-theme="dark"] input[type="password"],
html[data-theme="dark"] input[type="number"],
html[data-theme="dark"] input[type="search"],
html[data-theme="dark"] textarea,
html[data-theme="dark"] select {
  background-color: #1a2744 !important;
  color: #e2e8f0 !important;
  border-color: #475569 !important;
}
html[data-theme="dark"] .register-input::placeholder,
html[data-theme="dark"] .register-email-input::placeholder,
html[data-theme="dark"] .reset-email-input::placeholder,
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder {
  color: #94a3b8 !important;
}

html[data-theme="light"] .register-input,
html[data-theme="light"] .register-email-input,
html[data-theme="light"] .reset-email-input,
html[data-theme="light"] input[type="text"],
html[data-theme="light"] input[type="email"],
html[data-theme="light"] input[type="password"],
html[data-theme="light"] input[type="number"],
html[data-theme="light"] input[type="search"],
html[data-theme="light"] textarea,
html[data-theme="light"] select {
  background-color: #ffffff !important;
  color: #0f172a !important;
  border-color: #94a3b8 !important;
}
html[data-theme="light"] .register-input::placeholder,
html[data-theme="light"] .register-email-input::placeholder,
html[data-theme="light"] .reset-email-input::placeholder,
html[data-theme="light"] input::placeholder,
html[data-theme="light"] textarea::placeholder {
  color: #64748b !important;
}

html[data-theme="dark"] .dai-subnav-link {
  background: #121c36 !important;
  color: #e2e8f0 !important;
  border-color: #2a3f6b !important;
}
html[data-theme="light"] .dai-subnav-link {
  background: #ffffff !important;
  color: #0f172a !important;
  border-color: #cbd5e1 !important;
}
html[data-theme="dark"] .dai-subnav-link.is-active,
html[data-theme="light"] .dai-subnav-link.is-active {
  background: linear-gradient(135deg, #3b82f6, #2563eb) !important;
  color: #ffffff !important;
  border-color: transparent !important;
}

html[data-theme="light"] .dai-dock-item { color: #475569 !important; }
html[data-theme="light"] .dai-dock-item.is-active { color: #1d4ed8 !important; background: rgba(37,99,235,.1) !important; }
html[data-theme="dark"] .dai-dock-item { color: #94a3b8 !important; }
html[data-theme="dark"] .dai-dock-item.is-active { color: #e0e7ff !important; }

html[data-theme="light"] :root:not([data-theme="dark"]) .dai-navbar,
html[data-theme="light"] .dai-navbar {
  background: linear-gradient(135deg, #ffffff 0%, #e2e8f0 100%) !important;
  color: #0f172a !important;
}

/* Videolu Ders Öğren — sinema oynatıcı + sıralı konu listesi */
.vd-app { margin-top: 12px; }
.vd-filters { margin-top: 12px; }
.vd-filter-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
}
@media (max-width: 720px) {
  .vd-filter-row { grid-template-columns: 1fr; }
}
.vd-filter-field label,
.vd-filter-field .vd-filter-field-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 6px;
  color: var(--text-secondary, #94a3b8);
}
.vd-filter-field .dai-combo-wrap { width: 100%; }
.vd-select {
  width: 100%;
  box-sizing: border-box;
  min-height: 38px;
  padding: 8px 12px;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: var(--input-bg, var(--card-bg));
  color: var(--text);
  font-size: 10pt;
  font-weight: 600;
}
.vd-stage {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(240px, 0.9fr);
  gap: 14px;
  margin-top: 14px;
  align-items: start;
}
@media (max-width: 900px) {
  .vd-stage { grid-template-columns: 1fr; }
}
.vd-cinema { padding: 12px; position: sticky; top: 8px; }
.vd-screen {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000;
  border-radius: 12px;
  overflow: hidden;
}
.vd-iframe,
.vd-poster,
.vd-poster img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.vd-screen:fullscreen,
.vd-screen:-webkit-full-screen,
.vd-iframe:fullscreen,
.vd-iframe:-webkit-full-screen {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  aspect-ratio: auto;
  border-radius: 0;
  background: #000;
}
html:has(:fullscreen),
html:has(:-webkit-full-screen),
body:has(:fullscreen),
body:has(:-webkit-full-screen) {
  overflow: visible !important;
  overflow-x: visible !important;
}
html.vd-fs-active .dai-dock,
html.vd-fs-fallback .dai-dock,
html.vd-fs-active .dai-navbar,
html.vd-fs-fallback .dai-navbar {
  display: none !important;
}
html.vd-fs-fallback,
html.vd-fs-fallback body {
  overflow: hidden !important;
}
html.vd-fs-fallback .vd-screen.vd-is-fs {
  position: fixed !important;
  inset: 0 !important;
  z-index: 200000 !important;
  width: 100vw !important;
  height: 100dvh !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  border-radius: 0 !important;
  background: #000 !important;
}
.vd-poster {
  display: block;
  padding: 0;
  border: 0;
  cursor: pointer;
  background: #000;
}
.vd-poster img { object-fit: cover; }
.vd-fs-fab {
  position: absolute;
  right: 8px;
  bottom: 8px;
  z-index: 5;
  border: 0;
  border-radius: 10px;
  min-height: 40px;
  padding: 8px 12px;
  font-weight: 700;
  font-size: 13px;
  color: #fff;
  background: rgba(15, 23, 42, 0.82);
  cursor: pointer;
}
html.vd-fs-fallback .vd-fs-fab,
html.vd-fs-active .vd-fs-fab { background: rgba(220, 38, 38, 0.9); }
.vd-poster-play {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: rgba(15, 23, 42, 0.82);
  color: #fff;
  font-weight: 700;
  padding: 12px 18px;
  border-radius: 999px;
  font-size: 15px;
}
.vd-now {
  display: flex;
  gap: 10px;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 12px;
  flex-wrap: wrap;
}
.vd-now-text { flex: 1; min-width: 0; }
.vd-now-num { display: block; font-size: 12px; opacity: 0.75; margin-bottom: 4px; }
.vd-now-text strong { display: block; font-size: 15px; line-height: 1.35; }
.vd-now-actions { display: flex; gap: 8px; }
.vd-nav-btn {
  border: 1px solid var(--border);
  background: var(--card-bg);
  color: var(--text);
  border-radius: 10px;
  min-height: 38px;
  padding: 8px 14px;
  cursor: pointer;
  font-weight: 600;
  font-size: 10pt;
}
.vd-nav-btn:disabled { opacity: 0.4; cursor: default; }
.vd-lessons-card {
  padding: 0;
  overflow: visible;
}
.vd-lessons-details {
  margin: 0;
}
.vd-lessons-summary {
  cursor: pointer;
  font-weight: 700;
  padding: 12px 14px;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.vd-lessons-summary::-webkit-details-marker { display: none; }
.vd-lessons-summary::before {
  content: "▸";
  color: var(--primary, #2563eb);
  transition: transform 0.15s;
}
.vd-lessons-details[open] > .vd-lessons-summary::before { transform: rotate(90deg); }
.vd-lessons {
  list-style: none;
  margin: 0;
  padding: 8px;
  max-height: min(48vh, 420px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  overscroll-behavior: contain;
}
.vd-lesson {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 10px 10px;
  border-radius: 10px;
  cursor: pointer;
}
.vd-lesson-n {
  flex: 0 0 36px;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: 13px;
  opacity: 0.7;
  padding-top: 1px;
}
.vd-lesson-t { flex: 1; font-size: 14px; line-height: 1.4; }
.vd-lesson:hover { background: rgba(59, 130, 246, 0.12); }
.vd-lesson.is-active {
  background: rgba(37, 99, 235, 0.22);
  outline: 1px solid rgba(59, 130, 246, 0.45);
}
.vd-empty { text-align: center; padding: 32px 18px; margin-top: 14px; }
html[data-theme="light"] .vd-select {
  background: #fff;
  color: #0f172a;
  border-color: #cbd5e1;
}
html[data-theme="light"] .vd-nav-btn { color: #0f172a; border-color: #cbd5e1; }

/* Mobil: sticky sinema kaydırmayı kilitler; listeler sayfa ile aksın */
@media (max-width: 900px) {
  .vd-cinema { position: static; top: auto; }
  .vd-lessons {
    max-height: min(52dvh, 440px);
  }
  .vd-now {
    flex-wrap: wrap;
  }
  .vd-now-actions {
    width: 100%;
  }
  .vd-nav-btn {
    flex: 1 1 auto;
    min-height: 44px;
  }
}
@media (orientation: landscape) and (max-height: 540px) {
  .vd-cinema { position: static; }
  .vd-screen {
    width: min(100%, calc(100dvh * 16 / 9));
    margin-left: auto;
    margin-right: auto;
    max-height: 100dvh;
  }
}

/* Ortak kaydırılabilir listeler (combobox / TOC / filtreler) */
.dai-combo-list,
.yk-toc-body,
.vd-lessons {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
@media (max-width: 640px) {
  .dai-combo {
    max-width: 100%;
  }
  .dai-combo.open .dai-combo-panel {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    top: auto !important;
    bottom: max(12px, env(safe-area-inset-bottom, 0px)) !important;
    width: auto !important;
    max-height: min(82dvh, 640px) !important;
    z-index: 120000 !important;
    border-radius: 16px !important;
    box-shadow: 0 -8px 40px rgba(0, 0, 0, 0.45) !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }
  .dai-combo-list {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    touch-action: pan-y !important;
  }
  .yk-toc-body,
  .yk-toc-hub .yk-toc-body {
    max-height: min(68dvh, 640px) !important;
    overflow-y: auto !important;
    touch-action: pan-y !important;
  }
  .vd-lessons {
    max-height: min(52dvh, 440px) !important;
    overflow-y: auto !important;
    touch-action: pan-y !important;
  }
}


/* Öğrenme sayfaları — dikey kaydırma (Android WebView + IDE) */
.yk-wrap,
#yk_app,
#do_app,
#vd_app,
.yk-reader {
  overflow: visible;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
}
html.dersane-android-app .yk-wrap,
html.dersane-android-app #yk_app,
html.dersane-android-app #do_app,
html.dersane-android-app #vd_app {
  overflow: visible !important;
  touch-action: pan-y !important;
}
.yk-topic-combo {
  margin: 10px 0 6px;
  max-width: 100%;
}
.yk-topic-combo .dai-combo-wrap {
  width: 100%;
  max-width: 480px;
}
.yk-ide,
.yk-ide-code {
  touch-action: pan-y;
  overscroll-behavior: contain;
}
.yk-ide-code:focus {
  touch-action: auto;
}
