/* Öğrenci arayüzü (academy.noqt.club): siyah tema.
   brand-tokens.css'ten SONRA yüklenir ve yalnızca .student-shell içini etkiler —
   öğretmen paneli ve giriş/kayıt sayfaları olduğu gibi kalır.
   Temel tema (noqta-theme.css) zaten açık renk metinle yazıldığı için kartlar da koyu yüzeye çekildi. */
body:has(.student-shell) {
  --bg: #000;
  --bg-soft: #111113;
  background-color: #000 !important;
  background-image: radial-gradient(90% 60% at 50% -20%, rgba(221, 247, 106, 0.12), transparent 60%),
    radial-gradient(50% 40% at 100% 30%, rgba(110, 192, 243, 0.08), transparent 60%) !important;
  background-attachment: fixed !important;
  color: #f4f4f0;
  overflow-x: clip;
}

/* Üst bar */
.student-shell .s-topbar {
  background: rgba(0, 0, 0, 0.85) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  backdrop-filter: blur(10px);
}
.student-shell .s-topbar img {
  filter: invert(1);
}

/* Kart yüzeyleri */
.student-shell :is(
    .hero-slide,
    .labs-card,
    .edu-soon-tile,
    .edu-instructor,
    .edu-process-step,
    .edu-faq-item,
    .edu-labs-showcase-card,
    .edu-panel,
    .module-list-card,
    .module-list-card.done,
    .module-section,
    .week-card,
    .quiz-mode-tabs
  ) {
  background: #111113 !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  box-shadow: none !important;
}
.student-shell .module-hero-v2 .module-detail-hero {
  background: radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--mc, #ddf76a) 18%, transparent) 0%, transparent 60%),
    #111113 !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}
.student-shell .module-links .module-resource-link {
  background: #1a1a1d !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}
.student-shell .edu-course-status--soon {
  background: rgba(255, 255, 255, 0.08) !important;
}
.student-shell .hero-progress-seg {
  background: rgba(255, 255, 255, 0.15) !important;
}

/* Başvuru bandı: lime zemin + koyu metin */
.student-shell .edu-apply-band {
  background: #ddf76a !important;
  border-color: #ddf76a !important;
}
.student-shell .edu-apply-band :is(h2, h3, p, .edu-eyebrow) {
  color: #14171f !important;
}

/* Metinler */
.student-shell :is(h1, h2, h3, h4, summary, .page-title, .edu-page-title, .hero-headline, .module-list-info h3, .module-detail-title):not(:is(.cta, .hero-cta, .hero-kicker, .edu-apply-band) *) {
  color: #f4f4f0 !important;
}
.student-shell :is(p, li, .edu-labs-lead, .edu-page-sub, .section-intro, .hero-intro, .tagline, .flashcards-hint, .edu-labs-soon-divider):not(:is(.cta, .hero-cta, .hero-kicker, .edu-apply-band, .edu-course-status, button) *, .hero-kicker, .edu-eyebrow) {
  color: rgba(244, 244, 240, 0.72);
}
.student-shell :is(.edu-eyebrow, .edu-section-head):not(.edu-apply-band *) {
  color: #ddf76a !important;
}
.student-shell .back-btn {
  color: #f4f4f0 !important;
  background: transparent !important;
  border-color: rgba(244, 244, 240, 0.25) !important;
}

/* ═══ edu-ui.css açık tema kurallarının öğrenci arayüzündeki koyu karşılıkları (otomatik üretildi) ═══ */
.student-shell .edu-panel {
  background: #111113 !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}
.student-shell .login-label {
  color: rgba(244, 244, 240, 0.62) !important;
}
.student-shell .login-input {
  background: #111113 !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: #f4f4f0 !important;
}
.student-shell .module-resource-link {
  color: rgba(244, 244, 240, 0.62) !important;
}
.student-shell .module-resource-link:hover {
  color: #f4f4f0 !important;
}
.student-shell .edu-app-card:hover {
  border-color: rgba(255, 255, 255, 0.1) !important;
}
.student-shell .edu-course-card {
  background: #111113 !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}
.student-shell .edu-course-card h2 {
  color: #f4f4f0 !important;
}
.student-shell .edu-course-card p {
  color: rgba(244, 244, 240, 0.62) !important;
}
.student-shell .edu-page-desc {
  color: rgba(244, 244, 240, 0.62) !important;
}
.student-shell .edu-kpi-label {
  color: rgba(244, 244, 240, 0.62) !important;
}
.student-shell .edu-kpi-value {
  color: #f4f4f0 !important;
}
.student-shell .edu-panel {
  background: #111113 !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}
.student-shell .edu-panel h3 {
  color: rgba(244, 244, 240, 0.62) !important;
}
.student-shell .module-resource-link {
  border-color: rgba(255, 255, 255, 0.1) !important;
  background: #111113 !important;
  color: #f4f4f0 !important;
}
.student-shell .module-resource-link:hover {
  background: #111113 !important;
}
.student-shell .cta-secondary {
  background: #111113 !important;
  color: #f4f4f0 !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}
.student-shell .s-course-sub {
  color: rgba(244, 244, 240, 0.62) !important;
}
.student-shell .edu-student-name {
  color: #f4f4f0 !important;
}
.student-shell .edu-student-meta {
  color: rgba(244, 244, 240, 0.62) !important;
}
.student-shell .quiz-mode-btn {
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: rgba(244, 244, 240, 0.62) !important;
}
.student-shell .module-list-card {
  background: #111113 !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}
.student-shell .module-list-card:hover {
  background: #111113 !important;
}
.student-shell .module-list-card.done {
  background: #111113 !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}
.student-shell .module-list-num {
  background: #111113 !important;
  color: #f4f4f0 !important;
}
.student-shell .module-list-info h3 {
  color: #f4f4f0 !important;
}
.student-shell .module-list-info p {
  color: rgba(244, 244, 240, 0.62) !important;
}
.student-shell .module-list-card:hover .module-list-arrow {
  color: #f4f4f0 !important;
}
.student-shell .practical-card {
  background: #111113 !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}
.student-shell .practical-card-header {
  color: #f4f4f0 !important;
}
.student-shell .practical-card-header:hover {
  background: #111113 !important;
}
.student-shell .practical-card-title {
  color: #f4f4f0 !important;
}
.student-shell .practical-card-module {
  background: #111113 !important;
  color: rgba(244, 244, 240, 0.62) !important;
}
.student-shell .practical-card-toggle {
  color: rgba(244, 244, 240, 0.62) !important;
}
.student-shell .practical-card-desc {
  color: rgba(244, 244, 240, 0.62) !important;
}
.student-shell .practical-steps {
  color: #f4f4f0 !important;
}
.student-shell .progress-row {
  border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}
.student-shell .progress-row label {
  color: #f4f4f0 !important;
}
.student-shell .progress-bar-wrap {
  background: #111113 !important;
}
.student-shell .progress-row .pct {
  color: rgba(244, 244, 240, 0.62) !important;
}
.student-shell .quiz-options button {
  background: #111113 !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: #f4f4f0 !important;
}
.student-shell .quiz-options button:hover {
  background: #111113 !important;
}
.student-shell .quiz-options button.correct {
  background: #111113 !important;
  color: rgba(244, 244, 240, 0.62) !important;
}
.student-shell .quiz-options button.wrong {
  background: #111113 !important;
  color: #f4f4f0 !important;
}
.student-shell .quiz-question {
  color: #f4f4f0 !important;
}
.student-shell .quiz-hint-text {
  background: #111113 !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: rgba(244, 244, 240, 0.62) !important;
}
.student-shell .edu-data-row {
  border-bottom-color: rgba(255, 255, 255, 0.1) !important;
  color: #f4f4f0 !important;
}
.student-shell .edu-data-row--highlight {
  background: #111113 !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}
.student-shell .edu-data-section-title {
  color: rgba(244, 244, 240, 0.62) !important;
}
.student-shell .edu-week-card.week-card {
  background: #111113 !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}
.student-shell .edu-week-card.week-card.done {
  background: #111113 !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}
.student-shell #view-home .hero h1 {
  color: #f4f4f0 !important;
}
.student-shell #view-home .hero .tagline {
  color: rgba(244, 244, 240, 0.62) !important;
}
.student-shell #view-home .hero .hero-intro {
  color: rgba(244, 244, 240, 0.62) !important;
}
.student-shell #view-home .hero-stats {
  color: rgba(244, 244, 240, 0.62) !important;
}
.student-shell #view-modules .page-title,
.student-shell #view-practical .page-title,
.student-shell #view-quiz .page-title,
.student-shell #view-progress .page-title {
  color: #f4f4f0 !important;
}
.student-shell .section-intro--short {
  color: rgba(244, 244, 240, 0.62) !important;
}

/* ═══════════════════════════════════════════
   noqt.club ile aynı dil: Inter, sıkı başlıklar, hap butonlar, lime vurgu.
═══════════════════════════════════════════ */
body:has(.student-shell) {
  --font-head: 'Inter', system-ui, -apple-system, sans-serif;
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
}
.student-shell :is(h1, h2, h3, .page-title, .edu-labs-title, .hero-headline, .module-detail-title) {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-weight: 700;
  letter-spacing: -0.03em;
}

/* ── Üst bar ── */
.student-shell .s-topbar {
  height: 64px;
  padding: 0 20px;
  gap: 12px;
  /* İçerik sütunu 720px; bar noqt.club gibi tam genişlik */
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding-inline: max(20px, calc(50vw - 560px));
}
.student-shell .s-logo-btn { gap: 8px; }
.student-shell .s-logo-img { height: 22px; width: auto; filter: none !important; } /* beyaz, sıkı kırpılmış logo */
.s-labs-badge {
  font-family: 'Space Mono', ui-monospace, monospace;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  padding: 3px 7px 3px 9px;
  border-radius: 8px;
  background: #ddf76a;
  color: #000;
  box-shadow: 0 0 14px rgba(221, 247, 106, 0.55);
}
.student-shell .s-course-sub.visible {
  font-size: 12px;
  font-weight: 600;
  color: rgba(244, 244, 240, 0.75) !important;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  padding: 4px 10px;
  cursor: pointer;
}

/* Menü: giriş yapan öğrencide Labs ana ekranında da görünür (app.js orada .hidden ekliyor) */
body:has(#headerLogoutBtn) .student-shell #mainNav.hidden { display: flex !important; }
.student-shell .s-nav { gap: 4px; }
.student-shell .s-nav .s-nav-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  padding: 8px 14px;
  border-radius: 999px;
  border: none !important;
  background: transparent !important;
  color: rgba(244, 244, 240, 0.72) !important;
  font-size: 14px;
  font-weight: 500;
  font-family: inherit;
}
.student-shell .s-nav .s-nav-btn:hover { background: rgba(255, 255, 255, 0.08) !important; color: #fff !important; }
.student-shell .s-nav .s-nav-btn.active,
body:has(#view-labs.active) .student-shell .s-nav .s-nav-home {
  background: rgba(221, 247, 106, 0.14) !important;
  color: #ddf76a !important;
  font-weight: 600;
}
.student-shell .s-nav .s-nav-btn::before { content: none !important; }
.s-nav-ico { flex-shrink: 0; }

/* Hızlı rezervasyon — her ekranda, Production 101 içinde de */
.s-reserve-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  padding: 9px 16px;
  border: none;
  border-radius: 999px;
  background: #ddf76a;
  color: #000;
  font: 600 14px/1 'Inter', system-ui, sans-serif;
  cursor: pointer;
  box-shadow: 0 0 18px rgba(221, 247, 106, 0.5);
  transition: box-shadow 0.15s, filter 0.15s;
}
.s-reserve-cta:hover { box-shadow: 0 0 26px rgba(221, 247, 106, 0.85); filter: brightness(1.05); }

/* Giriş / Kayıt / Çıkış */
.student-shell .s-auth-links :is(a, button) {
  border-radius: 999px !important;
  padding: 8px 14px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  color: #f4f4f0 !important;
  text-decoration: none;
}
.student-shell .s-auth-links .cheatsheet,
.student-shell .s-auth-links .s-auth-link--cta {
  background: #fff !important;
  border-color: #fff !important;
  color: #000 !important;
}
.student-shell .s-progress-pill {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
  color: #f4f4f0 !important;
}

/* ── Giriş yapmış öğrenci: sade ana ekran ── */
.s-quick-actions { display: none; }
body:has(#headerLogoutBtn) .student-shell .s-quick-actions {
  display: grid;
  gap: 12px;
  margin: 8px 0 32px;
}
@media (min-width: 720px) {
  body:has(#headerLogoutBtn) .student-shell .s-quick-actions { grid-template-columns: repeat(3, 1fr); }
}
.student-shell .s-qa {
  display: grid !important;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: 12px;
  row-gap: 2px;
  align-items: center;
  text-align: left;
  margin: 0;
  padding: 18px !important;
  border-radius: 20px !important;
  background: #111113 !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  color: #f4f4f0 !important;
  cursor: pointer;
  font-family: inherit;
  transition: border-color 0.15s, transform 0.15s;
}
.student-shell .s-qa:hover { border-color: rgba(221, 247, 106, 0.6) !important; transform: translateY(-1px); }
.student-shell .s-qa .s-nav-ico { grid-row: 1 / span 2; width: 26px; height: 26px; color: #ddf76a; }
.s-qa-title { font-size: 16px; font-weight: 700; letter-spacing: -0.02em; }
.s-qa-sub { font-size: 13px; color: rgba(244, 244, 240, 0.6); }
.student-shell .s-qa--lime {
  background: #ddf76a !important;
  border-color: #ddf76a !important;
  color: #000 !important;
  box-shadow: 0 0 24px rgba(221, 247, 106, 0.35);
}
.student-shell .s-qa--lime .s-nav-ico { color: #000; }
.student-shell .s-qa--lime .s-qa-sub { color: rgba(0, 0, 0, 0.65); }
body:has(#headerLogoutBtn) .student-shell #view-labs :is(.edu-labs-showcase, .edu-instructor, .edu-process, .edu-faq, .edu-apply-band) {
  display: none !important;
}

/* ── Mobil: alt sekme çubuğu ── */
@media (max-width: 640px) {
  .student-shell .s-topbar { height: 56px; padding: 0 14px; gap: 8px; 
    /* backdrop-filter, fixed alt menünün referansını üst bara çevirir → mobilde kapalı */
    backdrop-filter: none; -webkit-backdrop-filter: none; background: #000 !important; }
  .student-shell .s-course-sub, .student-shell .s-progress-pill { display: none !important; }
  .s-reserve-cta { padding: 8px 12px; font-size: 13px; }
  .student-shell .s-auth-links :is(a, button) { padding: 7px 11px !important; font-size: 12px !important; }
  .student-shell .s-nav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    height: calc(64px + env(safe-area-inset-bottom));
    padding: 0 8px env(safe-area-inset-bottom);
    justify-content: space-around;
    background: rgba(0, 0, 0, 0.92) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: none !important;
    backdrop-filter: blur(12px);
    z-index: 100;
  }
  .student-shell .s-nav .s-nav-btn {
    flex: 1;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
    padding: 6px 2px;
    border-radius: 14px;
    font-size: 11px;
  }
  body:has(#headerLogoutBtn) .student-shell .app,
  body:has(#headerLogoutBtn) .student-shell.app { padding-bottom: 84px; }
}
@media (max-width: 480px) {
  .s-labs-badge { display: none; } /* "ACADEMY" dar ekranda üst barı taşırır */
}

/* ═══════════════════════════════════════════
   Giriş sonrası ekranlar (egzersiz, rezervasyon, quiz, oyunlar, modüller, profil):
   brand-tokens.css'teki beyaz / açık-lime zeminlerin koyu karşılıkları.
═══════════════════════════════════════════ */
.student-shell {
  --cal-tab-bg: transparent;
  --cal-tab-border: rgba(255, 255, 255, 0.18);
  --cal-tab-color: #f4f4f0;
  --cal-tab-active-bg: rgba(221, 247, 106, 0.14);
  --cal-tab-active-border: #ddf76a;
  --cal-tab-active-color: #ddf76a;
}

/* Kart yüzeyleri */
.student-shell :is(.ex-card, .sg-card, .edu-kpi-card, .edu-course-row, .edu-engagement-stat) {
  background: #111113 !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  box-shadow: none !important;
}
.student-shell :is(.ex-card, .sg-card):hover { border-color: var(--ec, #ddf76a) !important; }
.student-shell .ex-icon { background: rgba(255, 255, 255, 0.06) !important; }
.student-shell :is(.ex-title, .sg-card h3, .sg-card h4, .edu-kpi-value) { color: #f4f4f0 !important; }
.student-shell .ex-desc { color: rgba(244, 244, 240, 0.62) !important; }
.student-shell .edu-daily-goal-bar { background: rgba(255, 255, 255, 0.08) !important; }

/* Açık-lime zeminler → koyu üstünde lime çerçeve + lime yazı */
.student-shell :is(
    .module-resource-link.cheatsheet,
    .sg-card--featured,
    .practical-done-btn,
    .quiz-cta-card .cta-module-quiz,
    .edu-course-status--pop,
    .edu-process-num
  ) {
  background: rgba(221, 247, 106, 0.12) !important;
  border-color: rgba(221, 247, 106, 0.45) !important;
  color: #ddf76a !important;
}
.student-shell .quiz-cta-card .cta-module-quiz:hover { background: #ddf76a !important; color: #000 !important; }
.student-shell .edu-calendar-toggle.edu-calendar-toggle > summary {
  background: rgba(221, 247, 106, 0.12) !important;
  border-color: rgba(221, 247, 106, 0.45) !important;
  color: #ddf76a !important;
}

/* Form alanları */
.student-shell :is(.login-input, select, input[type="text"], input[type="email"], input[type="tel"], input[type="date"], input[type="time"], textarea) {
  background-color: #161618 !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  color: #f4f4f0 !important;
}
.student-shell :is(.login-input, input, textarea)::placeholder { color: rgba(244, 244, 240, 0.45) !important; }
.student-shell :is(.login-input, select, input, textarea):focus {
  border-color: #ddf76a !important;
  outline: none;
  box-shadow: 0 0 0 3px rgba(221, 247, 106, 0.18) !important;
}
.student-shell select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23DDF76A' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
.student-shell select option { background: #161618; color: #f4f4f0; }
.student-shell :is(.login-input, select):disabled { opacity: 0.55; }

/* Ders formatı seçici (Online / Yüz yüze) */
.student-shell .lesson-format-btn:not(.active) {
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  color: #f4f4f0 !important;
}
.student-shell .lesson-format-btn:not(.active):hover { border-color: #ddf76a !important; }
.student-shell .lesson-format-btn.active { color: #000 !important; }

/* Lime dolu butonlarda yazı her zaman siyah */
.student-shell :is(.cta, .quiz-next, .mark-done, .quiz-mode-btn.active, .lesson-format-btn.active) { color: #000 !important; }
.student-shell .cta:disabled { opacity: 0.5; }

/* Girişsizken menü gizli → Rezervasyon/Giriş/Kayıt sağa yaslansın */
.student-shell .s-reserve-cta { margin-left: auto; }

/* İkincil (pasif) buton — lime değil, koyu zeminde soluk */
.student-shell .cta.cta-secondary {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  color: rgba(244, 244, 240, 0.72) !important;
  box-shadow: none !important;
}
/* Ses spor salonu kartları */
.student-shell .sg-card :is(.sg-card-title, h3, h4) { color: #f4f4f0 !important; }
.student-shell .sg-card .sg-card-kicker { color: #ddf76a !important; }
.student-shell .sg-card :is(.sg-card-desc, p) { color: rgba(244, 244, 240, 0.62) !important; }

/* ── Oyunlar (Genre Quiz, BPM Guess) ── */
.student-shell .s-games { display: grid; gap: 12px; margin-top: 12px; }
@media (min-width: 560px) { .student-shell .s-games { grid-template-columns: 1fr 1fr; } }
.student-shell .s-games-home { margin: 28px 0 8px; }
.student-shell .s-game.back-btn {
  display: grid !important;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto auto;
  column-gap: 12px;
  row-gap: 2px;
  align-items: center;
  text-align: left;
  margin: 0;
  padding: 18px !important;
  border-radius: 20px !important;
  background: radial-gradient(120% 140% at 100% 0%, rgba(110, 192, 243, 0.16), transparent 60%), #111113 !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  color: #f4f4f0 !important;
  cursor: pointer;
  font-family: inherit;
  transition: border-color 0.15s, transform 0.15s;
}
.student-shell .s-game.back-btn:hover { border-color: #6ec0f3 !important; transform: translateY(-1px); }
.student-shell .s-game-ico { grid-row: 1 / span 2; width: 44px; height: 44px; border-radius: 14px; background: #6ec0f3; color: #000; display: grid; place-items: center; }
.student-shell .s-game-ico .s-nav-ico { width: 24px; height: 24px; }
.student-shell .s-game-play {
  grid-column: 2; justify-self: start; margin-top: 10px;
  font-size: 13px; font-weight: 700; color: #000; background: #ddf76a; border-radius: 999px; padding: 6px 14px;
}
.student-shell .s-game-head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.student-shell .s-game-head .page-title { margin: 0; flex: 1; }
.student-shell .s-game-ext { font-size: 13px; color: #ddf76a; text-decoration: none; }
.student-shell .s-game-frame {
  display: block; width: 100%; height: calc(100vh - 210px); min-height: 520px;
  border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 18px; background: #000;
}
@media (max-width: 640px) { .student-shell .s-game-frame { height: calc(100vh - 230px); } }
body:has(#view-oyunlar.active, #view-oyun.active) .student-shell .s-nav .s-nav-games {
  background: rgba(221, 247, 106, 0.14) !important;
  color: #ddf76a !important;
  font-weight: 600;
}
/* Oyunlar girişsiz de açılır: oyun ekranlarında menü görünür kalsın */
body:has(#view-oyunlar.active, #view-oyun.active) .student-shell #mainNav.hidden { display: flex !important; }
/* Girişsiz ziyaretçi: menüde yalnız Kurslar + Oyunlar (Egzersizler/Profilim giriş ister) */
body:not(:has(#headerLogoutBtn)) .student-shell #mainNav.hidden { display: flex !important; }
body:not(:has(#headerLogoutBtn)) .student-shell #mainNav .nav-btn { display: none !important; }
@media (max-width: 640px) {
  body:not(:has(#headerLogoutBtn)) .student-shell .app,
  body:not(:has(#headerLogoutBtn)) .student-shell.app { padding-bottom: 84px; }
}

/* ═══ Kurs vitrini (academy ana ekranı) ═══ */
.student-shell .s-courses { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 16px; margin: 12px 0 8px; }
.student-shell .labs-card.s-course {
  display: flex !important; flex-direction: column; gap: 0; padding: 14px !important; margin: 0;
  background: #111113 !important; border: 1px solid rgba(255, 255, 255, 0.1) !important; border-radius: 24px !important; box-shadow: none !important;
}
.student-shell .s-course-art {
  position: relative; aspect-ratio: 16 / 10; border-radius: 16px; overflow: hidden;
  background-size: cover; background-position: center; display: flex; align-items: center; justify-content: center;
}
.student-shell .s-course-art::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0.05) 30%, rgba(0, 0, 0, 0.75)); }
.student-shell .s-course-art.is-soon { filter: grayscale(1); }
.student-shell .s-course-art.is-soon::after { background: rgba(0, 0, 0, 0.55); }
.student-shell .s-course-pill {
  position: absolute; top: 10px; left: 10px; z-index: 1; display: inline-flex; align-items: center; gap: 6px;
  background: #f4f4f0; color: #000; font-size: 13px; font-weight: 600; padding: 6px 12px; border-radius: 999px;
}
.student-shell .s-course-plate {
  position: relative; z-index: 1; display: grid; text-align: center; padding: 8px 16px; border-radius: 10px;
  background: rgba(0, 0, 0, 0.82); border: 1px solid rgba(221, 247, 106, 0.55); color: #fff; line-height: 1.05;
}
.student-shell .s-course-plate b { font-size: 22px; font-weight: 800; letter-spacing: -0.02em; }
.student-shell .s-course-plate small { font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: #ddf76a; margin-top: 4px; }
.student-shell .s-course-body { display: flex; flex-direction: column; flex: 1; padding: 16px 10px 4px; }
.student-shell .s-course-body h3 { font-size: 20px; margin: 0; color: #f4f4f0 !important; }
.student-shell .s-course-sub { margin: 6px 0 0; font-size: 13px; color: rgba(244, 244, 240, 0.6) !important; }
.student-shell .s-course-body hr { border: 0; border-top: 1px solid rgba(255, 255, 255, 0.1); margin: 16px 0; }
.student-shell .s-course-price { margin: 0 0 14px; font-size: 28px; font-weight: 800; letter-spacing: -0.03em; color: #f4f4f0 !important; display: flex; align-items: baseline; gap: 8px; }
.student-shell .s-course-price small { font-size: 12px; font-weight: 500; letter-spacing: 0; color: rgba(244, 244, 240, 0.55); }
.student-shell .s-course-go { width: 100%; margin-top: auto; padding: 14px !important; border-radius: 999px !important; font-size: 16px !important; font-weight: 700; }
.student-shell .s-course-go.is-disabled { background: rgba(255, 255, 255, 0.08) !important; color: rgba(244, 244, 240, 0.55) !important; border: 0; cursor: default; font-family: inherit; }
.student-shell .s-course-sec { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
.student-shell .s-course-btn,
.student-shell .s-course-btn.back-btn {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; margin: 0;
  padding: 12px 10px !important; border-radius: 999px !important; font: 600 14px/1 Inter, system-ui, sans-serif;
  background: transparent !important; border: 1px solid rgba(255, 255, 255, 0.16) !important; color: #f4f4f0 !important;
  text-decoration: none; cursor: pointer;
}
.student-shell .s-course-btn:hover { border-color: #ddf76a !important; }
.student-shell .s-course-btn.is-disabled { opacity: 0.4; cursor: default; }
.student-shell .s-course-btn.is-primary { background: #ddf76a !important; border-color: #ddf76a !important; color: #000 !important; }

/* Birebir özel dersler */
.student-shell .s-private-home { margin: 32px 0 8px; }
.student-shell .s-private-lead { margin: 4px 0 0; font-size: 14px; color: rgba(244, 244, 240, 0.62) !important; }
.student-shell .s-private { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; margin-top: 12px; }
.student-shell .s-private-card { background: #111113; border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 22px; padding: 18px; display: flex; flex-direction: column; }
.student-shell .s-private-ico { width: 48px; height: 48px; border-radius: 14px; background: rgba(110, 192, 243, 0.16); color: #6ec0f3; display: grid; place-items: center; }
.student-shell .s-private-ico svg { width: 28px; height: 28px; }
.student-shell .s-private-card h3 { margin: 14px 0 4px; font-size: 18px; color: #f4f4f0 !important; }
.student-shell .s-private-tag { align-self: flex-start; font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #000; background: #6ec0f3; border-radius: 999px; padding: 3px 9px; }
.student-shell .s-private-card p { flex: 1; margin: 10px 0 0; font-size: 13px; line-height: 1.5; color: rgba(244, 244, 240, 0.62) !important; }

/* Kurs bilgi sayfası */
.student-shell .s-course-info { display: grid; gap: 14px; }
.student-shell .s-course-info > .back-btn { justify-self: start; }
.student-shell .s-course-info .s-course-art { aspect-ratio: 21 / 9; }
.student-shell .s-course-info .page-title { margin: 6px 0 0; }
.student-shell .s-course-modules ol { margin: 10px 0 0; padding-left: 1.4em; display: grid; gap: 6px; color: rgba(244, 244, 240, 0.85); }
.student-shell .s-course-modules h3 { color: #ddf76a !important; font-size: 14px; letter-spacing: 0.02em; }
.student-shell .s-course-info .edu-instructor { margin-top: 8px; }

body:has(#view-kurs.active) .student-shell .s-nav .s-nav-home { background: rgba(221, 247, 106, 0.14) !important; color: #ddf76a !important; font-weight: 600; }
.student-shell .labs-card.s-course { align-items: stretch !important; text-align: left !important; }
.student-shell .s-course-art { width: 100%; align-self: stretch; flex-shrink: 0; }
/* Vitrin ve özel dersler 720px içerik sütunundan taşar: masaüstünde yan yana 4'lü sıra */
@media (min-width: 900px) {
  .student-shell #labs-course-list { width: min(1100px, calc(100vw - 48px)); position: relative; left: 50%; transform: translateX(-50%); }
  .student-shell .s-courses { grid-template-columns: repeat(4, 1fr); }
  .student-shell .s-private { grid-template-columns: repeat(3, 1fr); }
}
/* Eski mobil kurallar .labs-card içinde p'yi gizliyor ve .cta'ya 140px sınır koyuyor — vitrin kartlarında geçersiz */
.student-shell .s-course .s-course-sub,
.student-shell .s-course .s-course-price { display: flex !important; }
.student-shell .s-course .s-course-sub { display: block !important; }
.student-shell .s-course .s-course-go { width: 100% !important; max-width: none !important; align-self: stretch !important; }
