/* ═══════════════════════════════════════════════════════
   @property — rəng keçidləri üçün (Chrome 85+, FF 128+)
   ═══════════════════════════════════════════════════════ */
/* Ciyər mərhələ rəngləri — keçidlər üçün @property (Chrome 85+, FF 128+) */
@property --lft  { syntax: '<color>'; inherits: true; initial-value: rgba(125,211,252,0.28); }
@property --lfm  { syntax: '<color>'; inherits: true; initial-value: rgba(125,211,252,0.58); }
@property --lfb  { syntax: '<color>'; inherits: true; initial-value: rgba(56,189,248,0.44);  }
@property --lgc  { syntax: '<color>'; inherits: true; initial-value: rgba(56,189,248,0.62);  }
@property --lstr { syntax: '<color>'; inherits: true; initial-value: rgba(125,211,252,0.80); }
@property --lnc  { syntax: '<color>'; inherits: true; initial-value: rgba(125,211,252,0.96); }

/* ═══════════════════════════════════════════════════════
   CSS Custom Properties
   ═══════════════════════════════════════════════════════ */
:root {
  /* ── Nəfəs müddətləri ── */
  --dur-inhale: 4s;
  --dur-hold:   7s;
  --dur-exhale: 8s;

  /* ── Ciyər baza rəngləri — inhale tirkuaz (mərhələ JS dəyişir) ── */
  --lft:  rgba(125,211,252,0.28);   /* yuxarı: yüngül */
  --lfm:  rgba(125,211,252,0.58);   /* orta: dominant (#7DD3FC) */
  --lfb:  rgba(56,189,248,0.44);    /* aşağı: dərin (#38BDF8) */
  --lgc:  rgba(56,189,248,0.62);    /* glow rəngi */
  --lstr: rgba(125,211,252,0.80);   /* stroke */
  --lnc:  rgba(125,211,252,0.96);   /* rəqəm rəngi */

  /* ── Cosmic palitrası (dəyişdirmək üçün bu 4 dəyər kifayətdir) ── */
  --cosmic-1: #1A0B3D;
  --cosmic-2: #6B2D8C;
  --cosmic-3: #00B4D8;
  --cosmic-4: #C724B1;

  /* ── Ümumi rənglər ── */
  --clr-text:        #ffffff;
  --clr-text-muted:  rgba(255,255,255,0.55);
  --clr-overlay:     rgba(255,255,255,0.10);
  --clr-overlay-hov: rgba(255,255,255,0.20);
  --clr-border:      rgba(255,255,255,0.30);

  /* ── Tipografiya ── */
  --font: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
          'Helvetica Neue', Arial, sans-serif;

  /* ── Keçidlər ── */
  --tr-fast:   0.2s ease;
  --tr-screen: 0.6s ease;
  --tr-color:  --ci 1.5s ease, --co 1.5s ease, --ga 1.5s ease, --gb 1.5s ease;
}

/* ═══════════════════════════════════════════════════════
   Reset & Base
   ═══════════════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html, body { height: 100%; }

body {
  font-family: var(--font);
  color: var(--clr-text);
  overflow: hidden;
  position: relative;
  -webkit-font-smoothing: antialiased;

  /* Canlı gradient fon */
  background: linear-gradient(
    -45deg,
    var(--cosmic-1),
    var(--cosmic-2),
    var(--cosmic-3),
    var(--cosmic-4),
    var(--cosmic-1)
  );
  background-size: 400% 400%;
  animation: gradientShift 28s ease infinite;
}

@keyframes gradientShift {
  0%   { background-position: 0%   50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0%   50%; }
}

/* ═══════════════════════════════════════════════════════
   Aurora blob-ları
   ═══════════════════════════════════════════════════════ */
#blobs {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}

.blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(90px);
  opacity: 0.30;
  will-change: transform;
}

.blob-1 {
  width: 500px; height: 500px;
  background: radial-gradient(circle, #6B2D8C, transparent 70%);
  top: -15%; left: -12%;
  animation: blobA 22s ease-in-out infinite alternate;
}

.blob-2 {
  width: 420px; height: 420px;
  background: radial-gradient(circle, #00B4D8, transparent 70%);
  bottom: -10%; right: -10%;
  animation: blobB 30s ease-in-out infinite alternate;
}

.blob-3 {
  width: 340px; height: 340px;
  background: radial-gradient(circle, #C724B1, transparent 70%);
  top: 40%; left: 42%;
  transform: translate(-50%, -50%);
  animation: blobC 25s ease-in-out infinite alternate;
}

@keyframes blobA {
  from { transform: translate(0, 0)    scale(1);   }
  to   { transform: translate(60px, 45px) scale(1.15); }
}
@keyframes blobB {
  from { transform: translate(0, 0)      scale(1);   }
  to   { transform: translate(-50px, -40px) scale(1.12); }
}
@keyframes blobC {
  from { transform: translate(-50%, -50%) scale(0.85); }
  to   { transform: translate(-42%, -58%) scale(1.10); }
}

/* ═══════════════════════════════════════════════════════
   Ulduzlar
   ═══════════════════════════════════════════════════════ */
#stars-container {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}

.star {
  position: absolute;
  border-radius: 50%;
  background: #fff;
  animation: twinkle var(--star-dur, 4s) ease-in-out
             var(--star-delay, 0s) infinite;
}

@keyframes twinkle {
  0%, 100% { opacity: 0.05; transform: scale(1);    }
  50%       { opacity: 0.80; transform: scale(1.35); }
}

/* ═══════════════════════════════════════════════════════
   Ekran sistemi
   ═══════════════════════════════════════════════════════ */
.screen {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--tr-screen);
}

.screen.active {
  opacity: 1;
  pointer-events: auto;
}

/* Giriş ekranı daha yavaş söner */
#intro-screen { transition: opacity 0.85s ease; }

/* ═══════════════════════════════════════════════════════
   Sabit səs düyməsi (yuxarı sağ köşə)
   ═══════════════════════════════════════════════════════ */
.sound-fab {
  position: fixed;
  top: 1.1rem;
  right: 1.2rem;
  z-index: 200;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.20);
  background: rgba(255,255,255,0.08);
  backdrop-filter: blur(10px);
  color: #fff;
  font-size: 1.05rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background var(--tr-fast), box-shadow var(--tr-fast), transform var(--tr-fast);
  font-family: var(--font);
  padding: 0;
}

.sound-fab:hover {
  background: rgba(255,255,255,0.18);
  box-shadow: 0 0 18px rgba(255,255,255,0.15);
  transform: scale(1.08);
}

.sound-fab:focus-visible { outline: 2px solid rgba(255,255,255,0.6); outline-offset: 3px; }

/* ═══════════════════════════════════════════════════════
   Düymələr
   ═══════════════════════════════════════════════════════ */
.btn {
  font-family: var(--font);
  cursor: pointer;
  border-radius: 999px;
  border: none;
  transition: transform var(--tr-fast), box-shadow var(--tr-fast),
              background var(--tr-fast), border-color var(--tr-fast);
  outline-offset: 3px;
}

.btn:focus-visible { outline: 2px solid rgba(255,255,255,0.7); }

/* Əsas "Başla" / "Yenidən başla" düyməsi — şəffaf, ağ kənarlı */
.btn-start {
  background: rgba(255,255,255,0.06);
  color: #fff;
  padding: 0.9rem 3rem;
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  border: 1.5px solid var(--clr-border);
  backdrop-filter: blur(10px);
  box-shadow:
    0 0 24px rgba(255,255,255,0.10),
    inset 0 0 20px rgba(255,255,255,0.04);
  display: block;
  margin: 0 auto;
  width: fit-content;
}

.btn-start:hover {
  background: rgba(255,255,255,0.14);
  border-color: rgba(255,255,255,0.75);
  box-shadow:
    0 0 40px rgba(255,255,255,0.22),
    0 0 80px rgba(200,100,255,0.15),
    inset 0 0 30px rgba(255,255,255,0.07);
  transform: translateY(-2px);
}

.btn-start:active { transform: translateY(0); }

/* İkincil ghost düymə */
.btn-ghost {
  background: var(--clr-overlay);
  color: var(--clr-text);
  padding: 0.55rem 1.5rem;
  font-size: 0.82rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  border: 1px solid rgba(255,255,255,0.16);
  backdrop-filter: blur(6px);
}

.btn-ghost:hover { background: var(--clr-overlay-hov); }

/* ═══════════════════════════════════════════════════════
   Giriş ekranı
   ═══════════════════════════════════════════════════════ */
.intro-content {
  text-align: center;
  padding: 2rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
}

.intro-logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3rem;
}

.logo-num {
  font-size: clamp(3.5rem, 14vw, 6.5rem);
  font-weight: 200;
  letter-spacing: 0.12em;
  line-height: 1;
  /* Gradient mətn */
  background: linear-gradient(135deg,
    #fff 0%,
    rgba(200,140,255,0.9) 50%,
    #00B4D8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-shadow: none;
}

.logo-word {
  font-size: clamp(0.85rem, 3vw, 1.1rem);
  font-weight: 300;
  letter-spacing: 0.45em;
  text-transform: uppercase;
  color: var(--clr-text-muted);
}

/* ═══════════════════════════════════════════════════════
   Geri sayım ekranı
   ═══════════════════════════════════════════════════════ */
.countdown-wrap { text-align: center; }

.countdown-hint {
  font-size: 1rem;
  color: var(--clr-text-muted);
  font-weight: 300;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  margin-bottom: 0.8rem;
}

.countdown-big {
  font-size: clamp(6rem, 22vw, 10rem);
  font-weight: 700;
  line-height: 1;
  background: linear-gradient(135deg, #fff 0%, #C77DFF 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.countdown-big.pop {
  animation: count-pop 0.85s cubic-bezier(0.22,1,0.36,1) forwards;
}

@keyframes count-pop {
  0%   { transform: scale(1.6); opacity: 0; filter: blur(8px); }
  100% { transform: scale(1);   opacity: 1; filter: blur(0);   }
}

/* ═══════════════════════════════════════════════════════
   Sessiya ekranı
   ═══════════════════════════════════════════════════════ */
.session-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
  padding: 2rem 1rem;
  width: 100%;
}

/* Mərhələ mətni */
.phase-label {
  font-size: clamp(1.1rem, 4.5vw, 1.7rem);
  font-weight: 300;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  min-height: 2.4rem;
  text-align: center;
  text-shadow: 0 0 30px rgba(255,255,255,0.3);
  transition: opacity 0.2s ease;
}

.phase-label.fading { opacity: 0; }

/* ═══════════════════════════════════════════════════════
   Şüşə ciyər sistemi
   ═══════════════════════════════════════════════════════ */

/* ─── Wrapper (backdrop-filter şüşə effektini gücləndirir) ─── */
.lung-wrap {
  position: relative;
  width: min(280px, 68vw);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.9rem;
  transform: scale(0.92);
  transform-origin: center bottom;
  will-change: transform;
}

/* ─── SVG — xarici glow baza vəziyyəti ─── */
.lung-svg {
  width: 100%;
  height: auto;
  overflow: visible;
  /* Baza glow (60px / 0.4 opacity) — mərhələ animasiyaları bunu override edir */
  filter: drop-shadow(0 0 60px rgba(150,220,255,0.40)) brightness(1.00);
  /* transition yoxdur: animasiyalar birbaşa idarə edir */
}

/* ─── Lob şüşə qabıqları ─── */
.lob-shell {
  stroke: var(--lstr);
  stroke-width: 1.5;
  fill-opacity: 1;
  opacity: 0.88;
  transition: stroke 1.5s ease, opacity 1.5s ease;
}

/* ─── Refraksiya overlay (pointer-events yoxdur, CSS ilə görünürlük) ─── */
.lob-refract {
  pointer-events: none;
  opacity: 1;
}

/* ─── Fill (doldurma) qatı ─── */
.lob-fill {
  opacity: 0.55;
  transform: translateY(480px);   /* boş: lob tamamilə boş görünür */
}

/* ─── Trachea ─── */
.trachea-tube {
  fill: rgba(200,240,255,0.22);
  stroke: rgba(220,245,255,0.55);
  stroke-width: 1;
}
.trachea-light {
  fill: white;
  opacity: 0;
}

/* ─── Şüşə işıq vurğuları ─── */
.lob-hl { pointer-events: none; }

/* ─── Mediastinal kölgə və xarici glow overlay-ları ─── */
.lob-medial, .lob-outer-hl { pointer-events: none; }

/* ─── Daxili bronxial işarələr — mərhələ rəngi ilə keçid ─── */
.bronchi-inner {
  stroke: rgba(180,220,255,0.22);
  transition: stroke 1.5s ease;
}
.lung-wrap.is-inhaling .bronchi-inner { stroke: rgba(125,211,252,0.32); }
.lung-wrap.is-holding  .bronchi-inner { stroke: rgba(196,181,253,0.28); }
.lung-wrap.is-exhaling .bronchi-inner { stroke: rgba(253,164,175,0.28); }

/* ─── Geri sayım rəqəmi (ciyərlərin altında) ─── */
.lung-num {
  font-size: clamp(2.6rem, 10vw, 4rem);
  font-weight: 300;
  letter-spacing: 0.18em;
  color: var(--lnc);
  text-shadow: 0 0 24px var(--lgc);
  line-height: 1;
  user-select: none;
  transition: color 1.5s ease, text-shadow 1.5s ease;
}

/* ─── Parçacıqlar — 2-4px diametr, ağ/açıq mavi, yumşaq glow ─── */
.lob-particle {
  fill: rgba(220,245,255,0.82);
  filter: url(#pGlow);
  opacity: 0;
}

/* ═══════════════════════════════════════════════════════
   Mərhələ animasiya sinifləri
   ═══════════════════════════════════════════════════════ */

/* ── İNHALE ── */
.lung-wrap.is-inhaling .lob-fill {
  animation: fill-rise var(--dur-inhale, 4s)
             cubic-bezier(0.42, 0, 0.58, 1) forwards;
}
.lung-wrap.is-inhaling .lung-svg {
  animation: lung-glow-up var(--dur-inhale, 4s)
             cubic-bezier(0.42, 0, 0.58, 1) forwards;
}
.lung-wrap.is-inhaling .lob-shell {
  animation: stroke-up var(--dur-inhale, 4s) ease forwards;
}
.lung-wrap.is-inhaling .trachea-light {
  animation: trachea-dn 1.5s ease-in-out;
}
.lung-wrap.is-inhaling .lob-particle {
  animation: p-in var(--p-dur, 3.5s) ease-out var(--p-delay, 0s) both;
}

/* ── HOLD ── */
.lung-wrap.is-holding .lob-fill {
  transform: translateY(0);   /* tam dolu, saxla */
}
/* Glow pulse: 80px→95px→80px, 3.5s dövrü, 2 dəfə (= 7s) */
.lung-wrap.is-holding .lung-svg {
  animation: lung-hold-glow 3.5s ease-in-out 0s 2;
}
.lung-wrap.is-holding .lob-shell {
  opacity: 0.85;   /* stroke-up-nun son dəyərinə uyğun */
}
.lung-wrap.is-holding .lob-particle {
  opacity: 0.65;
  transition: opacity 0.4s ease;   /* inhale-dən yumşaq keçid */
  animation: p-drift var(--pd, 9s) ease-in-out var(--p-delay, 0s) infinite;
}

/* ── EXHALE ── */
.lung-wrap.is-exhaling .lob-fill {
  animation: fill-drop var(--dur-exhale, 8s)
             cubic-bezier(0.25, 0.1, 0.25, 1) forwards;
}
.lung-wrap.is-exhaling .lung-svg {
  animation: lung-glow-down var(--dur-exhale, 8s)
             cubic-bezier(0.25, 0.1, 0.25, 1) forwards;
}
.lung-wrap.is-exhaling .lob-shell {
  animation: stroke-down var(--dur-exhale, 8s) ease forwards;
}
.lung-wrap.is-exhaling .trachea-light {
  animation: trachea-up 1.5s ease-in-out 0.4s;
}
.lung-wrap.is-exhaling .lob-particle {
  animation: p-out var(--p-dur, 3.5s) ease-in var(--p-delay, 0s) both;
}

/* ── COMPLETE ── */
.lung-wrap.is-complete .lob-fill {
  transform: translateY(0);
}
.lung-wrap.is-complete .lung-svg {
  animation: lung-complete 2.2s ease-in-out infinite;
}

/* ═══════════════════════════════════════════════════════
   Keyframe-lər
   ═══════════════════════════════════════════════════════ */

/* Fill hərəkəti */
@keyframes fill-rise {
  from { transform: translateY(480px); }
  to   { transform: translateY(0); }
}
@keyframes fill-drop {
  from { transform: translateY(0); }
  to   { transform: translateY(480px); }
}

/* Glow / brightness */
/* İnhale: 60px 0.4 opacity → 90px 0.7 opacity, brightness 1.00 → 1.15 */
@keyframes lung-glow-up {
  from { filter: drop-shadow(0 0 60px rgba(150,220,255,0.40)) brightness(1.00); }
  to   { filter: drop-shadow(0 0 90px var(--lgc))             brightness(1.15); }
}
/* Exhale: 90px → 60px 0.35 opacity, brightness 1.15 → 0.95 (çox yumşaq) */
@keyframes lung-glow-down {
  from { filter: drop-shadow(0 0 90px var(--lgc))             brightness(1.15); }
  to   { filter: drop-shadow(0 0 60px rgba(150,220,255,0.35)) brightness(0.95); }
}
/* Hold: 80px → 95px → 80px, sakit pulse */
@keyframes lung-hold-glow {
  0%, 100% { filter: drop-shadow(0 0 80px var(--lgc)) brightness(1.12); }
  50%       { filter: drop-shadow(0 0 95px var(--lgc)) brightness(1.18); }
}
@keyframes lung-complete {
  0%, 100% { filter: drop-shadow(0 0 45px var(--lgc)) brightness(1.05); }
  50%       { filter: drop-shadow(0 0 80px var(--lgc)) brightness(1.22); }
}

/* Stroke opacity — inhale: 0.50→0.85, exhale: 0.85→0.45 */
@keyframes stroke-up   { from { opacity: 0.50; } to { opacity: 0.85; } }
@keyframes stroke-down { from { opacity: 0.85; } to { opacity: 0.45; } }

/* Trachea işıq impulsu */
@keyframes trachea-dn {
  0%   { transform: translateY(0);    opacity: 0;   }
  20%  { opacity: 0.70; }
  80%  { opacity: 0.35; }
  100% { transform: translateY(65px); opacity: 0;   }
}
@keyframes trachea-up {
  0%   { transform: translateY(65px); opacity: 0;   }
  20%  { opacity: 0.50; }
  80%  { opacity: 0.25; }
  100% { transform: translateY(0);    opacity: 0;   }
}

/* Parçacıq animasiyaları */
/* İnhale: tracheadan (yuxarı) aşağıya axır, opacity 0→0.80 */
@keyframes p-in {
  from { transform: translateY(var(--p-fy, -50px)) translateX(var(--p-fx, 0px)); opacity: 0; }
  40%  { opacity: 0.80; }
  to   { transform: translateY(0) translateX(0); opacity: 0.80; }
}
/* Hold: yumşaq dairəvi sirkulyasiya (4 addım, elliptik orbit hissi) */
@keyframes p-drift {
  0%   { transform: translate(0, 0) scale(1.00); }
  25%  { transform: translate(var(--p-dx, 6px),  var(--p-dy, -7px))                                 scale(1.10); }
  50%  { transform: translate(calc(var(--p-dx, 6px) * 0.2),
                              calc(var(--p-dy, -7px) * -1.3))                                        scale(1.15); }
  75%  { transform: translate(calc(var(--p-dx, 6px) * -0.9),
                              calc(var(--p-dy, -7px) * -0.3))                                        scale(0.95); }
  100% { transform: translate(0, 0) scale(1.00); }
}
/* Exhale: yuxarı və yanlara çıxır, opacity 0.80→0 (yumşaq) */
@keyframes p-out {
  from { transform: translateY(0) translateX(0); opacity: 0.80; }
  60%  { opacity: 0.25; }
  to   { transform: translateY(var(--p-ty, -50px)) translateX(var(--p-tx, 0px)); opacity: 0; }
}

/* ─── Azaldılmış hərəkət (prefers-reduced-motion) ─── */
@media (prefers-reduced-motion: reduce) {
  /* Parçacıqlar tamamilə dayanır */
  .lob-particle { animation: none !important; opacity: 0 !important; }

  /* Trachea işıq impulsu dayanır */
  .trachea-light { animation: none !important; }

  /* Glow pulse minimuma enir (sabit filter) */
  .lung-wrap.is-holding .lung-svg {
    animation: none !important;
    filter: drop-shadow(0 0 80px var(--lgc)) brightness(1.12) !important;
  }

  /* Stroke animasiyası dayanır (sabit opacity) */
  .lung-wrap.is-inhaling .lob-shell { animation: none !important; opacity: 0.85 !important; }
  .lung-wrap.is-exhaling .lob-shell { animation: none !important; opacity: 0.50 !important; }

  /* Yalnız fill qalxma/enməsi və scale animasiyası qalır */
}

/* Dövr sayğacı */
.cycle-info {
  font-size: 0.78rem;
  color: var(--clr-text-muted);
  font-weight: 300;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* Sessiya düymələri */
.session-controls {
  display: flex;
  align-items: center;
  gap: 0.9rem;
}

/* ═══════════════════════════════════════════════════════
   Tamamlanma ekranı
   ═══════════════════════════════════════════════════════ */
.completion-wrap {
  text-align: center;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
}

.completion-badge {
  width: 88px; height: 88px;
  border-radius: 50%;
  background: rgba(255,255,255,0.12);
  border: 1.5px solid rgba(255,255,255,0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.6rem;
  color: #fff;
  margin-bottom: 1rem;
  box-shadow:
    0 0 50px rgba(199,125,255,0.5),
    0 0 100px rgba(199,125,255,0.25);
  animation: badge-appear 0.7s cubic-bezier(0.34,1.56,0.64,1) both;
}

@keyframes badge-appear {
  from { transform: scale(0); opacity: 0; }
  to   { transform: scale(1); opacity: 1; }
}

.completion-wrap h2 {
  font-size: 1.6rem;
  font-weight: 300;
  letter-spacing: 0.08em;
}

.completion-wrap p {
  color: var(--clr-text-muted);
  font-weight: 300;
  letter-spacing: 0.1em;
  margin-bottom: 1.6rem;
}

/* ═══════════════════════════════════════════════════════
   Responsivlik
   ═══════════════════════════════════════════════════════ */
@media (max-height: 580px) {
  .session-wrap    { gap: 0.9rem;  }
  .intro-content   { gap: 1.5rem;  }
}

@media (max-width: 360px) {
  .logo-num { font-size: 3rem; }
}

/* ─── Ciyər ölçüsü — kiçik ekranlar ─── */
@media (max-width: 380px) {
  .lung-wrap { width: min(220px, 62vw); }
}

@media (max-height: 620px) {
  .lung-wrap { width: min(200px, 56vw); }
}

/* ═══════════════════════════════════════════════════════
   Sol bildiriş ikonu
   ═══════════════════════════════════════════════════════ */
.disc-icon-btn {
  position: fixed;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 30;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,0.45);
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.disc-icon-btn:hover {
  background: rgba(255,255,255,0.14);
  color: rgba(255,255,255,0.90);
  border-color: rgba(255,255,255,0.30);
}
.disc-icon-btn:focus-visible {
  outline: 2px solid rgba(255,255,255,0.5);
  outline-offset: 2px;
}

/* ═══════════════════════════════════════════════════════
   Footer
   ═══════════════════════════════════════════════════════ */
.site-footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 20;
  text-align: center;
  padding: 0.55rem 1rem 0.7rem;
  pointer-events: none;
}

.footer-disclaimer,
.footer-copy {
  margin: 0;
  font-family: var(--font);
  letter-spacing: 0.05em;
  pointer-events: auto;
}

.footer-disclaimer {
  font-size: 0.78rem;
  color: rgba(255,255,255,0.50);
  line-height: 1.5;
}

.footer-copy {
  font-size: 0.72rem;
  color: rgba(255,255,255,0.35);
  margin-top: 0.15rem;
}

.footer-link {
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  font-size: inherit;
  letter-spacing: inherit;
  color: rgba(255,255,255,0.75);
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
  opacity: 1;
  transition: opacity 0.2s ease, color 0.2s ease;
}
.footer-link:hover  { opacity: 1; color: #fff; }
.footer-link:focus-visible {
  outline: 2px solid rgba(255,255,255,0.5);
  border-radius: 2px;
}

/* ═══════════════════════════════════════════════════════
   Disclaimer modal
   ═══════════════════════════════════════════════════════ */
.disc-overlay {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.2rem;
  background: rgba(10,10,30,0.70);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s ease;
}

.disc-overlay.is-open {
  opacity: 1;
  pointer-events: auto;
}

.disc-panel {
  position: relative;
  width: 100%;
  max-width: 520px;
  background: rgba(30,30,60,0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 20px;
  padding: 2.4rem 2.2rem 2rem;
  box-shadow:
    0 32px 80px rgba(0,0,0,0.55),
    inset 0 1px 0 rgba(255,255,255,0.12);
  transform: scale(0.95);
  opacity: 0;
  transition: transform 0.4s ease, opacity 0.4s ease;
}

.disc-overlay.is-open .disc-panel {
  transform: scale(1);
  opacity: 1;
}

.disc-title {
  font-size: 1.375rem;
  font-weight: 300;
  letter-spacing: 0.08em;
  color: #fff;
  margin: 0 0 1.4rem;
}

.disc-body {
  font-size: 0.875rem;
  line-height: 1.7;
  color: rgba(255,255,255,0.78);
  margin: 0 0 1rem;
  font-weight: 300;
}
.disc-body:last-of-type { margin-bottom: 1.8rem; }

.disc-close {
  position: absolute;
  top: 1rem;
  right: 1.1rem;
  background: none;
  border: none;
  color: rgba(255,255,255,0.45);
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  padding: 0.25rem 0.4rem;
  border-radius: 6px;
  transition: color 0.2s ease, background 0.2s ease;
}
.disc-close:hover       { color: #fff; background: rgba(255,255,255,0.10); }
.disc-close:focus-visible { outline: 2px solid rgba(255,255,255,0.5); }

.disc-accept {
  display: block;
  margin: 0 auto;
  min-width: 140px;
}

@media (max-width: 540px) {
  .disc-panel { padding: 2rem 1.4rem 1.6rem; border-radius: 16px; }
  .disc-title { font-size: 1.2rem; }
}

@media (max-height: 580px) {
  .disc-overlay { align-items: flex-start; padding-top: 0.5rem; }
  .disc-panel   { padding: 1.6rem 1.4rem 1.4rem; }
  .disc-body    { font-size: 0.82rem; line-height: 1.6; }
}
