/* Lumiven sitesi
   Renkler uygulamanın kendisinden: çentik siyahı, göz nanesi, panel kartlarının tonları. */

/* Başlıklar Unbounded, metin Manrope. Türkçe harfler latin-ext dosyalarında. */
@font-face {
  font-family: "Unbounded";
  src: url("../assets/fonts/unbounded-latin-ext.woff2") format("woff2");
  font-weight: 400 900;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Unbounded";
  src: url("../assets/fonts/unbounded-latin.woff2") format("woff2");
  font-weight: 400 900;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Manrope";
  src: url("../assets/fonts/manrope-latin-ext.woff2") format("woff2");
  font-weight: 400 800;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Manrope";
  src: url("../assets/fonts/manrope-latin.woff2") format("woff2");
  font-weight: 400 800;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@property --c1 { syntax: "<color>"; inherits: true; initial-value: #6F5BE0; }
@property --c2 { syntax: "<color>"; inherits: true; initial-value: #B5349F; }
@property --c3 { syntax: "<color>"; inherits: true; initial-value: #E58A6B; }
@property --hole { syntax: "<length>"; inherits: false; initial-value: -600px; }

:root {
  --mint: #B6F5C9;
  --accent: var(--mint);
  --ink: #101016;
  --font: "Manrope", "Segoe UI Variable Text", "Segoe UI", system-ui, sans-serif;
  --ui: "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", sans-serif;
  --spring: cubic-bezier(.3, 1.2, .4, 1);
  --out: cubic-bezier(.2, .8, .2, 1);
  --ns: 1;                                   /* çentik ölçeği */

  /* Duvar kâğıdı: sol üst, zemin, sağ alt */
  --c1: #6F5BE0;
  --c2: #B5349F;
  --c3: #E58A6B;
  transition: --c1 1.1s ease, --c2 1.1s ease, --c3 1.1s ease;

  /* Yazı tonları: renkli zeminde gövde yazısı 4.5:1 kontrastı tutacak kadar açık */
  --t-1: #fff;
  --t-2: rgba(255, 255, 255, .96);
  --t-3: rgba(255, 255, 255, .76);
  --t-4: rgba(255, 255, 255, .64);
}

/* Zemin tonları, üstündeki beyaz gövde yazısı okunacak koyulukta tutulur (ölçülerek ayarlandı) */
html[data-wall="music"]   { --c1: #5A1030; --c2: #A8182E; --c3: #E0663E; }
html[data-wall="volume"]  { --c1: #1F3A57; --c2: #2F5A80; --c3: #6FA9BC; }
html[data-wall="notif"]   { --c1: #232F84; --c2: #2F58B8; --c3: #6BB0EC; }
html[data-wall="focus"]   { --c1: #2D1F55; --c2: #6A3BB0; --c3: #A56BE0; }
html[data-wall="sweat"]   { --c1: #44260F; --c2: #94480F; --c3: #E08F2E; }
html[data-wall="privacy"] { --c1: #0C352E; --c2: #176646; --c3: #6DBE7A; }
/* Alt bölümler gece: çentik siyahı seçilsin diye zemin tam siyaha inmez */
html[data-wall="night"]   { --c1: #3A2C86; --c2: #2D2260; --c3: #5B3596; }
html[data-wall="dusk"]    { --c1: #2E2468; --c2: #251C50; --c3: #452C78; }
html[data-wall="dark"]    { --c1: #241B54; --c2: #1D1642; --c3: #37235F; }

@media (min-width: 1200px) {
  :root { --ns: 1.2; }
}

*, *::before, *::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}
html.is-intro { overflow: hidden; }

body {
  margin: 0;
  background: #000;
  color: #fff;
  font-family: var(--font);
  font-size: 1.0625rem;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

button {
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}
a { color: inherit; }
p { margin: 0; }
[hidden] { display: none !important; }
::selection { background: var(--mint); color: #000; }

:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}
/* Kodla odaklanan başlık ve bölümler (bağlantıyla atlama sonrası) çerçeve göstermez */
[tabindex="-1"]:focus { outline: none; }

/* Dokunmada çift tıklama gecikmesi olmasın */
a, button, label, input { touch-action: manipulation; }

/* Klavyeyle gelenler için: ilk Tab'da görünür, doğrudan içeriğe atlar */
.skip {
  position: fixed;
  left: 12px;
  top: 12px;
  z-index: 100;
  padding: 11px 18px;
  border-radius: 999px;
  background: #000;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  translate: 0 -220%;
  transition: translate .2s var(--out);
}
.skip:focus { translate: 0 0; }

.sprite { position: absolute; width: 0; height: 0; overflow: hidden; }

.ic {
  width: 1em;
  height: 1em;
  flex: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.wrap {
  width: min(1120px, 100% - 48px);
  margin-inline: auto;
}

/* ---------------------------------------------------------------- Duvar kâğıdı */

.wall {
  position: fixed;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(78% 62% at 50% 56%, rgba(0, 0, 0, .3), transparent 76%),
    radial-gradient(95vmax 75vmax at 0% 0%, var(--c1), transparent 72%),
    radial-gradient(72vmax 72vmax at 100% 100%, var(--c3), transparent 68%),
    var(--c2);
}
.wall::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity: .16;
  mix-blend-mode: soft-light;
}

/* ---------------------------------------------------------------- Yazı */

/* Başlık yazı tipi ayarları değişkenlerde: yazı tipi değişince yalnızca bunlar oynar */
:root {
  --display: "Unbounded", "Segoe UI Variable Display", "Segoe UI", system-ui, sans-serif;
  --d-w: 700;          /* kalınlık */
  --d-wxl: 800;
  --d-st: 100%;        /* genişlik (yalnızca destekleyen yazı tiplerinde) */
  --d-stxl: 100%;
  --d-ls: -.035em;     /* harf aralığı */
  --d-lsxl: -.04em;
  --d-lh: 1.1;         /* satır yüksekliği */
  --d-k: .7;           /* boyut çarpanı: Unbounded geniş olduğu için küçültülür */
}

.display {
  margin: 0;
  font-family: var(--display);
  font-weight: var(--d-w);
  font-stretch: var(--d-st);
  font-size: calc(clamp(2.5rem, 5.4vw, 4.4rem) * var(--d-k));
  line-height: var(--d-lh);
  letter-spacing: var(--d-ls);
  text-wrap: balance;
}
.display--xl {
  font-weight: var(--d-wxl);
  font-stretch: var(--d-stxl);
  font-size: calc(clamp(3.3rem, 8vw, 6.9rem) * var(--d-k));
  line-height: calc(var(--d-lh) - .04);
  letter-spacing: var(--d-lsxl);
}
.display--m { font-size: calc(clamp(2.4rem, 4.2vw, 3.4rem) * var(--d-k)); }

.lead {
  max-width: 36em;
  margin: 1.15em auto 0;
  font-size: clamp(1.05rem, 1.35vw, 1.3rem);
  line-height: 1.5;
  font-weight: 500;
  color: var(--t-2);
  text-wrap: pretty;
}
.lead--left { margin-inline: 0; }

.note {
  font-size: .95rem;
  font-weight: 500;
  color: var(--t-2);
}

.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 26px 15px 20px;
  border-radius: 999px;
  background: #000;
  color: #fff;
  font-weight: 700;
  font-size: 1.08rem;
  text-decoration: none;
  transition: scale .25s var(--spring);
}
.btn .ic { font-size: 1.25em; color: var(--accent); }
.btn:hover { scale: 1.04; }
.btn:active { scale: .98; }
.btn--big {
  padding: 20px 36px 20px 28px;
  font-size: 1.3rem;
}

/* İki indirme düğmesi yan yana; ziyaretçinin sistemine uyan dolu, diğeri çerçeveli */
.btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}
.btn--alt,
.is-mac .btn[data-download="win"] {
  background: transparent;
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .85);
}
.btn--alt .ic,
.is-mac .btn[data-download="win"] .ic { color: #fff; }
.is-mac .btn[data-download="mac"] {
  order: -1;
  background: #000;
  box-shadow: none;
}
.is-mac .btn[data-download="mac"] .ic { color: var(--accent); }

/* ---------------------------------------------------------------- Üst köşeler */

.chrome {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 18px;
  pointer-events: none;
  transition: opacity .8s ease .3s;
}
.js:not(.is-lit) .chrome { opacity: 0; }

.brand {
  pointer-events: auto;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: var(--display);
  font-weight: 600;
  font-size: .95rem;
  letter-spacing: -.03em;
  text-decoration: none;
}
.brand img { display: block; border-radius: 8px; }

.chrome__right {
  pointer-events: auto;
  display: flex;
  align-items: center;
  gap: 4px;
}
.lang {
  padding: 8px 12px;
  border-radius: 999px;
  font-size: .9rem;
  font-weight: 700;
  letter-spacing: .02em;
}
.lang:hover { background: rgba(0, 0, 0, .22); }
.pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 15px 8px 12px;
  border-radius: 999px;
  background: #000;
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none;
}
.pill .ic { color: var(--accent); font-size: 1.1em; }

/* ---------------------------------------------------------------- Çentik */

.notch {
  --w: 176px;
  --h: 34px;
  --r: 17px;
  position: fixed;
  top: 0;
  left: 50%;
  z-index: 60;
  translate: -50% 0;
  scale: var(--ns);
  transform-origin: 50% 0;
  font: 12.5px/1.3 var(--ui);
  color: #fff;
}
.is-intro .notch { opacity: 0; }

.notch[data-state="lyrics"] { --w: 330px; --h: 80px; --r: 22px; }
.notch[data-state="volume"] { --w: 220px; }
.notch[data-state="peek"]   { --w: 444px; --h: 62px; --r: 24px; }
.notch[data-state="panel"]  { --w: 736px; --h: 292px; --r: 30px; }

/* Ekran kenarına yumuşak bağlanan ters köşeler */
.notch::before,
.notch::after {
  content: "";
  position: absolute;
  top: 0;
  width: 15px;
  height: 14px;
  pointer-events: none;
}
.notch::before {
  right: calc(100% - 1px);
  background: radial-gradient(circle at 0 100%, transparent 13.5px, #000 14px);
}
.notch::after {
  left: calc(100% - 1px);
  background: radial-gradient(circle at 100% 100%, transparent 13.5px, #000 14px);
}

.notch__body {
  position: relative;
  width: min(var(--w), calc((100vw - 40px) / var(--ns)));
  height: var(--h);
  overflow: hidden;
  background: #000;
  border-radius: 0 0 var(--r) var(--r);
  /* Boyut değişimi sayfanın geri kalanını yeniden hesaplatmasın */
  contain: layout paint;
  /* Kapanış açılıştan kısa: panel açılırken .5s, toparlanırken .4s */
  transition: width .4s var(--spring), height .4s var(--spring), border-radius .4s var(--out);
}
.notch[data-state="panel"] .notch__body { transition-duration: .5s; }

.notch__hit {
  position: absolute;
  inset: 0;
  z-index: 3;
  border-radius: inherit;
}
.notch__hit:focus-visible { outline: 2px solid var(--accent); outline-offset: -3px; }
.notch :focus-visible { outline-color: var(--accent); outline-offset: 2px; }

.layer {
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity .16s ease, visibility 0s .16s;
}
.notch[data-layer="bar"] .layer--bar,
.notch[data-state="lyrics"] .layer--lyrics,
.notch[data-layer="volume"] .layer--volume,
.notch[data-layer="peek"] .layer--peek,
.notch[data-layer="panel"] .layer--panel {
  opacity: 1;
  visibility: visible;
  transition: opacity .3s ease .14s, visibility 0s;
}

/* Kapalı hali: gözler + canlı etkinlik */
.layer--bar {
  width: 176px;
  height: 34px;
  display: grid;
  grid-template-columns: 34px 1fr 34px;
  align-items: center;
  padding: 0 9px;
}

.eyes { position: relative; display: block; }
.eyes canvas { position: absolute; display: block; pointer-events: none; }
.eyes--notch { width: 44px; height: 16px; justify-self: center; }
.eyes--peek { width: 30px; height: 12px; }
.eyes--mini { width: 24px; height: 10px; }
.eyes--foot { width: 88px; height: 32px; }

.cover {
  display: block;
  background:
    radial-gradient(circle at 66% 36%, #FFD9A0 0 17%, transparent 18%),
    linear-gradient(180deg, transparent 60%, #2A0A12 60% 64%, transparent 64% 70%, #2A0A12 70% 76%, transparent 76% 84%, #2A0A12 84%),
    linear-gradient(160deg, #E0503A, #B0182C 55%, #4A0E1E);
}
.cover--xs {
  width: 22px;
  height: 22px;
  border-radius: 7px;
  opacity: 0;
  scale: .6;
  transition: opacity .25s ease, scale .35s var(--spring);
}
.notch[data-state="music"] .cover--xs,
.notch[data-state="lyrics"] .cover--xs { opacity: 1; scale: 1; }

.live-right {
  height: 22px;
  display: grid;
  align-items: center;
  justify-items: end;
}
.live-right > * {
  grid-area: 1 / 1;
  opacity: 0;
  transition: opacity .25s ease;
}

.eq { display: flex; align-items: flex-end; gap: 2px; height: 14px; }
.eq i {
  width: 3px;
  height: 100%;
  border-radius: 1.5px;
  background: var(--accent);
  transform-origin: 50% 100%;
  transform: scaleY(.4);
  animation: eq .62s ease-in-out infinite alternate paused;
}
.eq i:nth-child(2) { animation-duration: .48s; animation-delay: -.2s; }
.eq i:nth-child(3) { animation-duration: .74s; animation-delay: -.5s; }
.eq i:nth-child(4) { animation-duration: .55s; animation-delay: -.1s; }
@keyframes eq {
  from { transform: scaleY(.22); }
  to { transform: scaleY(1); }
}
.notch[data-state="music"] .eq,
.notch[data-state="lyrics"] .eq { opacity: 1; }
/* Çubuklar yalnızca müzik çalarken oynar: duraklat düğmesi hareketi de durdurur */
.notch[data-playing="true"][data-state="music"] .eq i,
.notch[data-playing="true"][data-state="lyrics"] .eq i { animation-play-state: running; }

.live-timer {
  font-weight: 600;
  font-size: 12px;
  color: var(--accent);
  font-variant-numeric: tabular-nums;
}
.notch[data-state="timer"] .live-timer { opacity: 1; }

.dots { display: flex; gap: 4px; }
.dot { width: 7px; height: 7px; border-radius: 50%; scale: 0; transition: scale .4s var(--spring); }
.dot--mic { background: #FF9F0A; }
.dot--cam { background: #34C759; transition-delay: .5s; }
.notch[data-state="dots"] .dots { opacity: 1; }
.notch[data-state="dots"] .dot { scale: 1; }

/* Şarkı sözleri */
.layer--lyrics {
  top: 33px;
  width: 298px;
  text-align: center;
}
.lyric-now,
.lyric-next {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.lyric-now { font-size: 13px; font-weight: 600; }
.lyric-now.is-in { animation: lyric-in .4s var(--out); }
.lyric-next { margin-top: 2px; font-size: 11.5px; opacity: .56; }
@keyframes lyric-in {
  from { opacity: 0; translate: 0 9px; }
}

/* Ses göstergesi */
.layer--volume {
  width: 220px;
  height: 34px;
  display: grid;
  grid-template-columns: 18px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 0 16px;
  font-size: 15px;
}
.vol-track {
  height: 6px;
  border-radius: 3px;
  background: rgba(255, 255, 255, .15);
  overflow: hidden;
}
.vol-track i {
  display: block;
  height: 100%;
  border-radius: 3px;
  background: var(--accent);
  transform-origin: 0 50%;
  transition: transform .14s linear;
}
.layer--volume b {
  min-width: 20px;
  font-size: 12px;
  font-weight: 600;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

/* Kısa gösterim: bildirim */
.layer--peek {
  width: min(444px, calc((100vw - 40px) / var(--ns)));
  height: 62px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 0 18px 0 12px;
}
.peek__icon {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: var(--accent);
  color: var(--ink);
  font-size: 19px;
}
.peek__text { display: grid; gap: 1px; }
.peek__text b,
.peek__text span {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.peek__text b { font-size: 11.5px; font-weight: 600; color: var(--accent); }
.peek__text span { font-size: 13px; font-weight: 600; }

/* ---------------------------------------------------------------- Panel */

.layer--panel {
  width: min(736px, calc((100vw - 40px) / var(--ns)));
  height: 292px;
  padding: 8px;
  display: grid;
  grid-template-rows: 30px minmax(0, 1fr) 46px;
}

.ibtn {
  width: 30px;
  height: 24px;
  border-radius: 12px;
  display: inline-grid;
  place-items: center;
  font-size: 15px;
  transition: background .15s ease;
}
button.ibtn:hover { background: rgba(255, 255, 255, .13); }

.gbtn,
.wbtn {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  flex: none;
  font-size: 14px;
  transition: scale .2s var(--spring), background .15s ease;
}
.gbtn { background: rgba(255, 255, 255, .15); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .16); }
.gbtn:hover { background: rgba(255, 255, 255, .24); }
.gbtn--sm { width: 30px; height: 30px; font-size: 13px; }
.wbtn { width: 30px; height: 30px; background: #fff; color: var(--ink); }
.wbtn--lg { width: 36px; height: 36px; font-size: 15px; }
.wbtn--xl { width: 54px; height: 54px; font-size: 20px; }
.wbtn:hover { scale: 1.07; }
.wbtn:active, .gbtn:active { scale: .94; }

.notch[data-playing="true"] [data-act="play"] .ic--play,
.notch:not([data-playing="true"]) [data-act="play"] .ic--pause,
.notch[data-focus="true"] #focusToggle .ic--play,
.notch:not([data-focus="true"]) #focusToggle .ic--pause { display: none; }

.panel__head {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.panel__head > .ibtn:first-child { position: absolute; left: 6px; }
.panel__head > .ibtn:last-child { position: absolute; right: 6px; }
.panel__clock { display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.panel__clock #headDate { margin-left: 2px; opacity: .75; }
.panel__weather { display: inline-flex; align-items: center; gap: 4px; margin-left: 6px; font-size: 13px; }
.panel__weather b { font-size: 12.5px; font-weight: 600; }

.pages { position: relative; min-height: 0; }
.page {
  position: absolute;
  inset: 6px 0 4px;
  display: none;
}
.page.is-active { display: block; animation: page-in .3s var(--out); }
@keyframes page-in {
  from { opacity: 0; scale: .985; }
}

/* Ana sayfa */
.page--home.is-active {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) 78px;
  gap: 12px;
  padding: 0 6px;
}

.card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
  padding: 14px 16px;
  border-radius: 20px;
}
.card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  border: 1px solid rgba(255, 255, 255, .13);
  background: linear-gradient(180deg, rgba(255, 255, 255, .11), transparent 45%);
  pointer-events: none;
}
.card--system { background: linear-gradient(145deg, #2A2420, #4A3022 50%, #8A4C22); }
.card--music { background: linear-gradient(145deg, #2A1216, #6A1020 55%, #B0182C); }
.card--focus { background: linear-gradient(145deg, #221B30, #45286E 55%, #7A45C0); }
.card--music::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, transparent 35%, rgba(32, 0, 8, .72));
}
.cover--fill { position: absolute; inset: 0 0 34%; z-index: -2; opacity: .5; }

.card__title { font-size: 12.5px; font-weight: 600; opacity: .92; }
.card__corner { position: absolute; top: 10px; right: 10px; }
.card__corner--row { display: flex; gap: 6px; }
.card__foot { display: flex; flex-direction: column; min-width: 0; }
.card__foot > * { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.card__big { font-size: 34px; font-weight: 700; line-height: 1.15; font-variant-numeric: tabular-nums; }
.card__song { font-size: 22px; font-weight: 700; line-height: 1.2; }
.card__sub { font-size: 12px; opacity: .82; }
.card__dim { font-size: 11.5px; opacity: .8; white-space: pre; }
.card__bar {
  height: 4px;
  margin-top: 8px;
  border-radius: 2px;
  background: rgba(255, 255, 255, .15);
}
.card__bar i { display: block; height: 100%; width: 0; border-radius: 2px; background: #fff; }
.card__progress {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 7px;
  height: 3px;
  border-radius: 1.5px;
  background: rgba(255, 255, 255, .19);
}
.card__progress i { display: block; height: 100%; border-radius: 1.5px; background: #fff; }

.transport { display: flex; align-items: center; gap: 6px; margin-top: 8px; overflow: visible !important; }
.transport .ibtn { width: 28px; height: 28px; border-radius: 50%; font-size: 13px; }
.transport--lg { gap: 14px; margin-top: 12px; }
.transport--lg .gbtn { width: 42px; height: 42px; font-size: 15px; }

.ring {
  position: relative;
  display: grid;
  place-items: center;
  width: 96px;
  height: 96px;
}
.ring svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  rotate: -90deg;
  fill: none;
  stroke-width: 8;
}
.ring__track { stroke: rgba(255, 255, 255, .19); }
.ring__val {
  stroke: var(--accent);
  stroke-linecap: round;
  stroke-dasharray: var(--p, 0) 100;
  transition: stroke-dasharray .7s var(--out);
}
.ring > b { font-size: 22px; font-weight: 700; font-variant-numeric: tabular-nums; }
.ring--sm { width: 44px; height: 44px; }
.ring.card__corner { position: absolute; top: 8px; right: 8px; }
.ring--sm svg { stroke-width: 4; }
.ring--sm > b { font-size: 10.5px; font-weight: 600; }
.ring--bat .ring__val { stroke: #34C759; }
.ring__net { display: grid; justify-items: center; }
.ring__net span { font-size: 13px; font-weight: 700; }
.ring__net small { margin-top: 2px; font-size: 11px; font-weight: 400; opacity: .7; }

.tiles { display: flex; flex-direction: column; gap: 8px; }
.tile {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border-radius: 14px;
  background: #17171C;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08);
  font-size: 8.5px;
  line-height: 1.1;
  transition: background .15s ease;
}
.tile .ic { font-size: 17px; }
.tile:hover { background: #22222A; }
.tile[aria-pressed="true"] { background: #fff; color: var(--ink); }
.recdot { width: 13px; height: 13px; margin: 2px 0; border-radius: 50%; background: #FF453A; transition: border-radius .2s ease; }
.tile[aria-pressed="true"] .recdot { border-radius: 3px; }

/* Kısayollar */
.page--shortcuts.is-active {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.sc {
  width: 100px;
  padding: 16px 8px 13px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9px;
  border-radius: 16px;
  background: #17171C;
  font-size: 11.5px;
}
.sc i {
  width: 46px;
  height: 46px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  background: var(--sc);
  font-style: normal;
  font-weight: 700;
  font-size: 20px;
}

/* Müzik */
.page--music.is-active {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 26px;
  padding: 0 24px;
}
.cover--lg { width: 148px; height: 148px; border-radius: 22px; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14); }
.np { display: flex; flex-direction: column; min-width: 0; }
.np__src { font-size: 11px; font-weight: 700; color: var(--accent); }
.np__title { margin-top: 4px; font-size: 26px; font-weight: 700; line-height: 1.2; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.np__artist { font-size: 14px; opacity: .75; }
.np__seek {
  display: grid;
  grid-template-columns: 32px 1fr 32px;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  font-size: 11.5px;
  font-variant-numeric: tabular-nums;
  color: rgba(255, 255, 255, .7);
}
.np__seek span:last-child { text-align: right; }
.seek { height: 5px; border-radius: 2.5px; background: rgba(255, 255, 255, .19); }
.seek i { position: relative; display: block; height: 100%; border-radius: 2.5px; background: var(--accent); }
.seek i::after {
  content: "";
  position: absolute;
  right: -6px;
  top: -3.5px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #fff;
}

/* Liste sayfaları: bildirimler, raf, pano */
.page--list.is-active { display: flex; flex-direction: column; padding: 0 12px; }
.page__head { display: flex; align-items: center; gap: 10px; padding-left: 4px; min-height: 26px; }
.page__head > b { font-size: 17px; font-weight: 700; }
.page__clear { margin-left: auto; }
.chip { padding: 1px 8px; border-radius: 9px; background: rgba(255, 255, 255, .12); font-size: 11.5px; font-weight: 600; }

.rows { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 6px; }
.rows li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 12px;
  border-radius: 14px;
  background: rgba(255, 255, 255, .06);
}
.rows__icon { width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; flex: none; background: var(--sc); font-size: 16px; }
.rows__main { display: grid; min-width: 0; }
.rows__main b { font-size: 11.5px; font-weight: 600; color: var(--accent); }
.rows__main span { font-size: 13px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.rows__meta { margin-left: auto; font-size: 11.5px; opacity: .55; white-space: nowrap; }
.rows--plain li { padding: 10px 14px; }
.rows__swatch { width: 16px; height: 16px; margin-left: auto; border-radius: 50%; background: #B6F5C9; }

.shelf {
  position: relative;
  flex: 1;
  min-height: 0;
  margin-top: 10px;
  display: grid;
  place-items: center;
  border: 1.5px dashed rgba(255, 255, 255, .22);
  border-radius: 18px;
  background: rgba(255, 255, 255, .024);
  transition: border-color .15s ease, background .15s ease;
}
.shelf.is-over { border-color: var(--accent); background: rgba(182, 245, 201, .08); }
.shelf__empty {
  max-width: 420px;
  padding: 0 16px;
  display: grid;
  justify-items: center;
  gap: 10px;
  text-align: center;
  opacity: .55;
}
.shelf__empty .ic { font-size: 26px; }
.shelf__items {
  position: absolute;
  inset: 0;
  list-style: none;
  margin: 0;
  padding: 10px;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 8px;
}
.shelf__items li {
  max-width: 190px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 12px 7px 9px;
  border-radius: 11px;
  background: rgba(255, 255, 255, .1);
  font-size: 12px;
}
.shelf__items .ic { font-size: 16px; }
.shelf__items span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }

/* Sistem */
.page--system.is-active {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: center;
  padding: 0 10px;
}
.gauge { display: grid; justify-items: center; text-align: center; }
.gauge > b { margin-top: 10px; font-weight: 600; }
.gauge > span:last-child { font-size: 11.5px; opacity: .6; }

/* Arama */
.page--search.is-active { display: block; padding: 0 36px; }
.searchbox {
  display: flex;
  align-items: center;
  gap: 12px;
  height: 50px;
  padding: 0 16px;
  border-radius: 14px;
  background: rgba(255, 255, 255, .07);
  box-shadow: inset 0 0 0 1.5px var(--accent);
  font-size: 15px;
  cursor: text;
}
.searchbox .ic { opacity: .6; }
.searchbox input {
  flex: 1;
  min-width: 0;
  background: none;
  border: 0;
  outline: 0;
  color: #fff;
  font: 16px var(--ui);
}
.searchbox input::placeholder { color: rgba(255, 255, 255, .58); }
.results { list-style: none; margin: 8px 0 0; padding: 0; }
.results li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 6px 12px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
}
.results li:first-child { background: rgba(182, 245, 201, .17); }
.results__icon {
  width: 20px;
  height: 20px;
  border-radius: 6px;
  display: grid;
  place-items: center;
  flex: none;
  font-size: 11px;
  font-weight: 700;
}
.results__icon .ic { font-size: 17px; }
.results__label { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.results__kind { margin-left: auto; font-size: 11px; font-weight: 400; opacity: .5; }

/* Sekme çubuğu */
.panel__tabs {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.panel__vol { position: absolute; right: 10px; opacity: .8; }
.tabs { display: flex; align-items: center; gap: 2px; height: 34px; }
.tab {
  position: relative;
  height: 34px;
  min-width: 38px;
  padding: 0 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 17px;
  color: rgba(255, 255, 255, .78);
  font-size: 12px;
  font-weight: 600;
  transition: background .25s ease, color .25s ease;
}
.tab .ic { font-size: 15px; }
.tab span {
  max-width: 0;
  overflow: hidden;
  white-space: nowrap;
  opacity: 0;
  transition: max-width .35s var(--out), margin .35s var(--out), opacity .2s ease;
}
.tab:hover { color: #fff; }
.tab.is-active { background: #fff; color: var(--ink); }
.tab.is-active span { max-width: 120px; margin-left: 7px; opacity: 1; }
.tab--badge:not(.is-active)::after {
  content: "";
  position: absolute;
  top: 7px;
  right: 8px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 2px #000;
}

/* Ekran resmi parlaması */
.flash {
  position: fixed;
  inset: 0;
  z-index: 55;
  background: #fff;
  opacity: 0;
  pointer-events: none;
}
.flash.is-on { animation: flash .55s ease-out; }
@keyframes flash {
  from { opacity: .85; }
  to { opacity: 0; }
}

/* ---------------------------------------------------------------- Açılış */

.intro,
.intro-eyes,
.intro-skip { display: none; }

.intro {
  position: fixed;
  inset: 0;
  z-index: 80;
  background: #000;
  -webkit-mask-image: radial-gradient(circle at 50% 0, transparent var(--hole), #000 calc(var(--hole) + 30vmax));
  mask-image: radial-gradient(circle at 50% 0, transparent var(--hole), #000 calc(var(--hole) + 30vmax));
}
.intro-eyes {
  position: fixed;
  left: 50%;
  top: 46%;
  z-index: 90;
  width: min(62vw, 520px);
  aspect-ratio: 44 / 16;
  translate: -50% -50%;
  opacity: 0;
  pointer-events: none;
  transition: opacity .6s ease;
}
.intro-eyes canvas { position: absolute; display: block; }
.intro-skip {
  position: fixed;
  right: 20px;
  bottom: 18px;
  z-index: 95;
  padding: 8px 12px;
  font-size: .9rem;
  color: rgba(255, 255, 255, .5);
}
.is-intro .intro,
.is-intro .intro-eyes,
.is-intro:not(.is-lit) .intro-skip { display: block; }

/* ---------------------------------------------------------------- Sahne */

.stage { position: relative; }
.scene {
  padding: 110px 24px 40px;
  text-align: center;
}
.hero__cta {
  margin-top: 34px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.stage__dots,
.stage__hint { display: none; }

/* Son sahne de diğerleri kadar durur: 42vh'de gelir, 30vh daha sabit kalır, sonra sayfa akar ve çentik hemen kapanır */
.js .stage { height: calc((var(--n) - 1) * 85vh + 130vh); }
.js .stage__pin {
  position: sticky;
  top: 0;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
}
.js .scene {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: calc(34px * var(--ns) + 52px) 24px 76px;
  /* Görünmeyen sahneler yalnızca saydam: ekran okuyucu hepsini sırayla okuyabilsin diye gizlenmez */
  opacity: 0;
  pointer-events: none;
  translate: 0 14px;
  transition: opacity .35s ease, translate .5s var(--out);
}
.js .scene.is-active {
  opacity: 1;
  pointer-events: auto;
  translate: 0 0;
  transition: opacity .5s ease .12s, translate .7s var(--out) .12s;
}
/* "En üste çık" yolculuğu: başlıkları kod taşır, renkler hızlı döner */
.js.is-travelling .scene { transition: none; }
html.is-travelling { transition: --c1 .24s linear, --c2 .24s linear, --c3 .24s linear; }

/* Panel açıkken yazı panelin altında kalsın */
.js .scene--low { padding-top: calc(292px * var(--ns) + 24px); padding-bottom: 40px; }
.scene .display { max-width: 15em; }
.scene .display--xl { max-width: 15em; }

/* Yalnızca ekran okuyucunun gördüğü metin (harflere bölünen başlığın düz hali) */
.vh {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* Açılış: başlık harf harf, bulanıktan netleşerek yükselir */
.scene--hero .w { display: inline-block; white-space: nowrap; }
.scene--hero .ch {
  display: inline-block;
  transition:
    opacity .55s ease,
    translate .95s cubic-bezier(.2, 1.35, .35, 1),
    filter .75s var(--out);
  transition-delay: calc(var(--i) * 34ms + 220ms);
}
.js:not(.is-lit) .scene--hero .ch {
  opacity: 0;
  translate: 0 .62em;
  filter: blur(14px);
}

/* Ardından harflerin üstünden bir ışık dalgası geçer (göz rengi). Kod, en üste her dönüşte yeniden çalıştırır. */
.scene--hero .display.is-wave .ch {
  animation: glow-wave .95s ease-in-out both;
  animation-delay: calc(var(--i) * 30ms);
}
@keyframes glow-wave {
  0%, 100% { color: #fff; text-shadow: 0 0 0 rgba(182, 245, 201, 0); translate: 0 0; }
  42% { color: var(--mint); text-shadow: 0 0 .4em rgba(182, 245, 201, .8); translate: 0 -.07em; }
}

/* Açıklama kelime kelime belirir, düğmeler en son gelir */
.scene--hero .lw {
  display: inline-block;
  transition: opacity .6s ease, translate .75s var(--out), filter .6s ease;
  transition-delay: calc(var(--i) * 24ms + 1250ms);
}
.js:not(.is-lit) .scene--hero .lw {
  opacity: 0;
  translate: 0 .5em;
  filter: blur(6px);
}
.scene--hero .hero__cta {
  transition: opacity .8s ease 1.95s, translate .9s var(--out) 1.95s;
}
.js:not(.is-lit) .scene--hero .hero__cta { opacity: 0; translate: 0 16px; }

.js .stage__dots {
  position: absolute;
  right: 14px;
  top: 50%;
  translate: 0 -50%;
  display: flex;
  flex-direction: column;
  transition: opacity .6s ease 1.2s;
}
.js:not(.is-lit) .stage__dots,
.js:not(.is-lit) .stage__hint { opacity: 0; }
.stage__dots button {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 50%;
}
.stage__dots button:focus-visible { outline-offset: -2px; }
.stage__dots button::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .4);
  transition: scale .3s var(--spring), background .3s ease;
}
.stage__dots button:hover::before { background: #fff; }
.stage__dots button.is-active::before { background: #fff; scale: 1.7; }

/* Kaydırma ipucu: açık renkli zeminde okunsun diye çentik gibi siyah bir hap içinde */
.js .stage__hint {
  position: absolute;
  left: 50%;
  bottom: 46px;
  translate: -50% 0;
  display: block;
  width: max-content;
  max-width: calc(100% - 32px);
  padding: 7px 15px;
  border-radius: 999px;
  background: #000;
  text-align: center;
  font-size: .88rem;
  font-weight: 600;
  color: #fff;
  transition: opacity .6s ease 1.6s;
}
.js .stage__hint::after {
  content: "";
  position: absolute;
  left: 50%;
  top: calc(100% + 7px);
  width: 2px;
  height: 20px;
  margin-left: -1px;
  border-radius: 1px;
  background: #fff;
  transform-origin: 50% 0;
  animation: hint 1.8s var(--out) infinite;
}
@keyframes hint {
  0% { transform: scaleY(0); opacity: 1; }
  60% { transform: scaleY(1); opacity: 1; }
  100% { transform: scaleY(1); opacity: 0; }
}
.js.has-scrolled .stage__hint { opacity: 0; transition-delay: 0s; }
.js.has-scrolled .stage__hint::after { animation: none; }   /* görünmezken boşuna çalışmasın */

/* ---------------------------------------------------------------- Gözler bölümü */

.play { padding: clamp(80px, 12vw, 170px) 0 clamp(60px, 8vw, 110px); }
.play__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(32px, 6vw, 88px);
}

.screen {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 22px;
  background:
    radial-gradient(120% 95% at 0% 0%, #6F5BE0, transparent 70%),
    radial-gradient(110% 110% at 100% 100%, #E58A6B, transparent 68%),
    #B5349F;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .16), 0 50px 90px -40px rgba(0, 0, 0, .8);
}
.screen { container-type: inline-size; }
.screen__notch {
  --ear: 3.2cqw;
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% 0;
  width: 74%;
  aspect-ratio: 176 / 38;
  background: #000;
  border-radius: 0 0 8cqw 8cqw;
}
.screen__notch::before,
.screen__notch::after {
  content: "";
  position: absolute;
  top: 0;
  width: var(--ear);
  height: var(--ear);
}
.screen__notch::before { right: calc(100% - 1px); background: radial-gradient(circle at 0 100%, transparent calc(var(--ear) - 1px), #000 calc(var(--ear) - .5px)); }
.screen__notch::after { left: calc(100% - 1px); background: radial-gradient(circle at 100% 100%, transparent calc(var(--ear) - 1px), #000 calc(var(--ear) - .5px)); }
.eyes--big {
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  height: 46%;
  aspect-ratio: 44 / 16;
}

.opt {
  min-width: 0;
  margin: 28px 0 0;
  padding: 0;
  border: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.opt legend,
.opt__label {
  width: 100%;
  padding: 0;
  margin-bottom: 10px;
  font-size: .95rem;
  font-weight: 600;
  color: var(--t-3);
}
.opt__label { margin-bottom: 2px; }

.choice { position: relative; display: inline-flex; cursor: pointer; }
.choice input {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}
.choice span {
  display: block;
  padding: 9px 17px;
  border-radius: 999px;
  box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .3);
  font-size: .95rem;
  font-weight: 600;
  transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}
.choice:hover span { box-shadow: inset 0 0 0 1.5px #fff; }
.choice input:checked + span { background: #fff; color: #0D0B14; box-shadow: none; }
.choice input:focus-visible + span { outline: 2px solid #fff; outline-offset: 3px; }
.choice--btn:active span { background: #fff; color: #0D0B14; }

.swatch { position: relative; display: inline-flex; padding: 4px; cursor: pointer; }
.swatch input {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}
.swatch span {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--sw);
  transition: scale .25s var(--spring);
}
.swatch:hover span { scale: 1.1; }
.swatch input:checked + span { outline: 2px solid var(--sw); outline-offset: 3px; }
.swatch input:focus-visible + span { outline: 2px solid #fff; outline-offset: 3px; }

/* ---------------------------------------------------------------- Diğer özellikler */

.more { padding: clamp(60px, 9vw, 130px) 0; }
.more__lead { margin: 14px 0 0; max-width: 34ch; color: var(--t-3); font-size: 1.1rem; }

/* Solda adlar, sağda tek ekran; ekran kaydırırken yerinde kalır */
.show {
  margin: clamp(32px, 5vw, 60px) 0 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: start;
}
.show__screen {
  order: 2;                                  /* masaüstünde sağda; DOM'da önde ki telefonda üstte yapışsın */
  position: sticky;
  top: clamp(72px, 10vh, 110px);
  container-type: inline-size;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: 22px;
  background:
    radial-gradient(120% 95% at 0% 0%, rgba(255, 255, 255, .22), transparent 60%),
    radial-gradient(100% 100% at 100% 100%, rgba(0, 0, 0, .28), transparent 70%),
    linear-gradient(135deg, #7A66E8, #B7489E 55%, #E09A72);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18), 0 40px 80px -40px rgba(0, 0, 0, .85);
  font-family: var(--ui);
  color: #fff;
}
/* Her özellik bir katman; seçilen görünür, diğerleri çentiğin içine çekilmiş gibi saydam */
.fs {
  position: absolute;
  inset: 0;
  opacity: 0;
  scale: .96;
  transition: opacity .45s ease, scale .6s var(--out);
}
.fs.is-on { opacity: 1; scale: 1; }
.fs--color {
  background:
    radial-gradient(60% 80% at 20% 80%, #B6F5C9, transparent 70%),
    radial-gradient(70% 70% at 85% 30%, #FFD166, transparent 70%);
}

.show__list { list-style: none; margin: 0; padding: 0; }
.acc { border-top: 1px solid rgba(255, 255, 255, .17); }
.acc:last-child { border-bottom: 1px solid rgba(255, 255, 255, .17); }
.acc h3 { margin: 0; font: inherit; }
.acc__btn {
  position: relative;
  width: 100%;
  padding: 15px 0 15px 34px;
  text-align: left;
  font-family: var(--display);
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  font-weight: 600;
  letter-spacing: -.025em;
  color: var(--t-4);
  transition: color .25s ease, padding .35s var(--out);
}
.acc__btn:hover { color: var(--t-1); }
/* Seçili adın önünde çentiğin gözleri yanar */
.acc__btn::before,
.acc__btn::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 6px;
  height: 10px;
  margin-top: -5px;
  border-radius: 3px;
  background: var(--mint);
  box-shadow: 0 0 8px rgba(182, 245, 201, .8);
  opacity: 0;
  scale: .4;
  transition: opacity .3s ease, scale .4s var(--spring);
}
.acc__btn::before { left: 4px; }
.acc__btn::after { left: 14px; }
.acc.is-on .acc__btn { color: var(--t-1); }
.acc.is-on .acc__btn::before,
.acc.is-on .acc__btn::after { opacity: 1; scale: 1; }
.acc__body {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .45s var(--out);
}
.acc__body > p {
  min-height: 0;
  overflow: hidden;
  margin: 0;
  padding: 0 0 0 34px;
  color: var(--t-3);
  font-size: 1rem;
  line-height: 1.5;
  opacity: 0;
  transition: opacity .3s ease, padding .45s var(--out);
}
.acc.is-on .acc__body { grid-template-rows: 1fr; }
.acc.is-on .acc__body > p { padding-bottom: 20px; opacity: 1; transition-delay: .1s; }

@media (max-width: 860px) {
  .show { grid-template-columns: 1fr; gap: 20px; }
  .show__screen { order: 0; top: 76px; z-index: 2; aspect-ratio: 16 / 9; }   /* sayfanın kendi çentiğinin altında kalsın */
  .acc__btn { font-size: 1.05rem; padding-top: 13px; padding-bottom: 13px; }
}

/* Minik çentik */
.mn {
  --ear: 3cqw;
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% 0;
  display: flex;
  align-items: center;
  gap: 3cqw;
  height: 14cqw;
  padding: 0 5cqw;
  background: #000;
  border-radius: 0 0 6.5cqw 6.5cqw;
  font-size: 4cqw;
  font-weight: 600;
  white-space: nowrap;
  letter-spacing: -.01em;
}
.mn::before,
.mn::after {
  content: "";
  position: absolute;
  top: 0;
  width: var(--ear);
  height: var(--ear);
}
.mn::before { right: calc(100% - 1px); background: radial-gradient(circle at 0 100%, transparent calc(var(--ear) - 1px), #000 calc(var(--ear) - .5px)); }
.mn::after { left: calc(100% - 1px); background: radial-gradient(circle at 100% 100%, transparent calc(var(--ear) - 1px), #000 calc(var(--ear) - .5px)); }
.mn .ic { width: 4.6cqw; height: 4.6cqw; }
.mn--wide { gap: 2.4cqw; }
.mn--tiny { height: 11cqw; padding: 0 5cqw; border-radius: 0 0 5cqw 5cqw; }

/* Açık çentik: altında küçük panel */
.mn--open {
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  height: auto;
  padding: 0 4cqw 4cqw;
}
.mn--open .mn__eyes { height: 14cqw; margin: 0 auto; }
.mn__panel { display: grid; gap: 2cqw; }
.row {
  display: flex;
  align-items: center;
  gap: 2.4cqw;
  padding: 2.2cqw 3cqw;
  border-radius: 2.6cqw;
  background: rgba(255, 255, 255, .08);
  font-size: 3.6cqw;
}
.row--hot { background: var(--mint); color: #000; }
.row .ic { width: 3.8cqw; height: 3.8cqw; opacity: .8; }
.row .bar { margin-left: auto; width: 22cqw; }
.mn__panel--apps { grid-template-columns: repeat(5, 1fr); gap: 2.4cqw; padding: 1cqw 0 0; }
.mn__panel--apps i {
  width: 8.4cqw;
  height: 8.4cqw;
  border-radius: 2.4cqw;
  background: linear-gradient(145deg, color-mix(in srgb, var(--a), #fff 25%), var(--a));
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);
}

/* Çentiğin gözleri: nane rengi, ara ara kırpar */
.mn__eyes {
  position: relative;
  flex: none;
  display: flex;
  align-items: center;
  gap: 2.2cqw;
}
.mn__eyes::before,
.mn__eyes::after {
  content: "";
  width: 2.6cqw;
  height: 4.2cqw;
  border-radius: 1.3cqw;
  background: var(--mint);
  box-shadow: 0 0 2cqw rgba(182, 245, 201, .7);
  animation: blink 5.2s ease-in-out infinite;
  animation-delay: calc(var(--i, 0) * -.7s);
}
@keyframes blink {
  0%, 92%, 100% { transform: scaleY(1); }
  95% { transform: scaleY(.1); }
}

/* Çentik içi parçalar */
.f-chip {
  display: inline-flex;
  align-items: center;
  gap: 1.4cqw;
  padding: 1.6cqw 2.6cqw;
  border-radius: 999px;
  background: rgba(255, 255, 255, .1);
  font-size: 3.3cqw;
  font-weight: 500;
}
.f-chip .ic { width: 3.6cqw; height: 3.6cqw; }
.num { font-variant-numeric: tabular-nums; }
.rec {
  width: 3.4cqw;
  height: 3.4cqw;
  border-radius: 50%;
  background: #FF4D4D;
  box-shadow: 0 0 2cqw rgba(255, 77, 77, .8);
}
.f-dot {
  width: 4.4cqw;
  height: 4.4cqw;
  border-radius: 50%;
  background: var(--mint);
  box-shadow: inset 0 0 0 .5cqw rgba(255, 255, 255, .35);
}
.ic--ok { color: var(--mint); }
.ic--sun { color: #FFD166; }
.bar {
  position: relative;
  display: inline-block;
  height: 2cqw;
  border-radius: 1cqw;
  background: rgba(255, 255, 255, .16);
  overflow: hidden;
}
.bar::after {
  content: "";
  position: absolute;
  inset: 0;
  width: calc(var(--v, .5) * 100%);
  border-radius: inherit;
  background: #fff;
}
.bar--dl { width: 24cqw; }
.bar--dl::after { background: var(--mint); }
.batt {
  display: inline-flex;
  align-items: center;
  gap: 1.4cqw;
  font-size: 3.3cqw;
  color: var(--mint);
}
.batt i {
  position: relative;
  width: 5cqw;
  height: 2.8cqw;
  border-radius: .7cqw;
  box-shadow: inset 0 0 0 .35cqw currentColor;
}
.batt i::before {
  content: "";
  position: absolute;
  inset: .7cqw;
  right: auto;
  width: 64%;
  border-radius: .3cqw;
  background: currentColor;
}
.batt i::after {
  content: "";
  position: absolute;
  left: 100%;
  top: 30%;
  width: .6cqw;
  height: 40%;
  background: currentColor;
  border-radius: 0 .3cqw .3cqw 0;
}
.words {
  display: block;
  height: 5cqw;
  line-height: 5cqw;
  overflow: hidden;
}
.words > span { display: block; }
.words b { display: block; font-weight: 600; }

/* Ekran dilimindeki sahne parçaları */
.sel {
  position: absolute;
  border: .5cqw dashed #fff;
  border-radius: 1cqw;
  box-shadow: 0 0 0 100cqw rgba(0, 0, 0, .3);
}
.sel::before,
.sel::after {
  content: "";
  position: absolute;
  width: 2.4cqw;
  height: 2.4cqw;
  background: #fff;
  border-radius: .5cqw;
}
.sel::before { left: -1.4cqw; top: -1.4cqw; }
.sel::after { right: -1.4cqw; bottom: -1.4cqw; }
.sel--shot { left: 18%; top: 34%; width: 40%; height: 48%; }
.doc {
  position: absolute;
  left: 12%;
  right: 12%;
  bottom: 0;
  height: 60%;
  padding: 6cqw 6cqw 0;
  border-radius: 3cqw 3cqw 0 0;
  background: rgba(255, 255, 255, .92);
  display: grid;
  align-content: start;
  gap: 2.4cqw;
}
.doc i {
  height: 2cqw;
  border-radius: 1cqw;
  background: #2B2446;
  opacity: .75;
}
.doc i:nth-child(2) { width: 85%; }
.doc i:nth-child(3) { width: 92%; }
.doc i:nth-child(4) { width: 60%; }
.doc i:nth-child(5) { width: 78%; }
.sel--ocr { left: 15%; width: 70%; top: 50%; height: 24%; box-shadow: none; border-color: #2B2446; }
.sel--ocr::before, .sel--ocr::after { background: #2B2446; }
.loupe {
  position: absolute;
  left: 20%;
  top: 68%;
  width: 14cqw;
  height: 14cqw;
  margin: -7cqw 0 0 -7cqw;
  border-radius: 50%;
  background: var(--mint);
  box-shadow: 0 0 0 .8cqw #fff, 0 6cqw 10cqw -4cqw rgba(0, 0, 0, .6);
}
.loupe::before,
.loupe::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  background: rgba(0, 0, 0, .55);
}
.loupe::before { width: 60%; height: .6cqw; }
.loupe::after { width: .6cqw; height: 60%; }

/* İki ekran: solda tam ekran oyun (çentik gizli), sağda çentik */
.fs--dual { display: flex; align-items: flex-end; justify-content: center; gap: 4%; }
.mon {
  position: relative;
  container-type: inline-size;
  flex: 0 0 auto;
  width: 40%;
  height: 72%;
  overflow: hidden;
  border-radius: 3cqw 3cqw 0 0;
  background: linear-gradient(160deg, rgba(255, 255, 255, .3), rgba(255, 255, 255, .08));
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .35);
}
.mon--game {
  width: 48%;
  display: grid;
  place-items: center;
  background: linear-gradient(160deg, #1B1535, #0E0B1E);
}
.mon--game .ic { width: 22%; height: auto; aspect-ratio: 1; opacity: .7; }
.mon .mn { --ear: 4cqw; font-size: 6cqw; }
.mon .mn--tiny { height: 16cqw; padding: 0 7cqw; border-radius: 0 0 7cqw 7cqw; }
.mon .mn__eyes { gap: 3.4cqw; }
.mon .mn__eyes::before, .mon .mn__eyes::after { width: 4cqw; height: 6.4cqw; border-radius: 2cqw; }

/* Hareket: bölüm görünürken çalışır */
.more.is-live .fs.is-on .f-chip--in { animation: chip-in 4.2s var(--spring) infinite; }
@keyframes chip-in {
  0% { opacity: 0; transform: translateY(-120%) scale(.7); }
  18%, 100% { opacity: 1; transform: none; }
}
.more.is-live .fs.is-on .rec { animation: rec 1.3s ease-in-out infinite; }
@keyframes rec { 50% { opacity: .25; } }
.more.is-live .fs.is-on .bar--dl::after { animation: dl 5s var(--out) infinite; }
@keyframes dl {
  0% { width: 8%; }
  80%, 100% { width: 100%; }
}
.more.is-live .fs.is-on .words > span { animation: words 10s var(--out) infinite; }
@keyframes words {
  0%, 16% { translate: 0 0; }
  20%, 36% { translate: 0 -5cqw; }
  40%, 56% { translate: 0 -10cqw; }
  60%, 76% { translate: 0 -15cqw; }
  80%, 96% { translate: 0 -20cqw; }
  100% { translate: 0 -25cqw; }
}

/* ---------------------------------------------------------------- İndirme */

.get {
  padding: clamp(90px, 14vw, 200px) 0 clamp(50px, 7vw, 100px);
  text-align: center;
}
.get__inner { display: flex; flex-direction: column; align-items: center; }
.get .btns { margin-top: 36px; }
.get .btn,
.is-mac .get .btn[data-download="mac"] {
  background: var(--mint);
  color: #000;
  box-shadow: none;
}
.get .btn .ic,
.is-mac .get .btn[data-download="mac"] .ic { color: #000; }
.get .btn--alt,
.is-mac .get .btn[data-download="win"] {
  background: transparent;
  color: #fff;
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .6);
}
.get .btn--alt .ic,
.is-mac .get .btn[data-download="win"] .ic { color: #fff; }
/* Her sistemin bilgisi kendi sütununda */
.specs {
  margin-top: 56px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 22em));
  justify-content: center;
  gap: 32px clamp(32px, 6vw, 80px);
  text-align: left;
}
.spec { margin: 0; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .2); }
.spec dt { font-family: var(--display); font-size: 1.05rem; font-weight: 600; letter-spacing: -.025em; }
.spec dd { margin: 6px 0 0; color: var(--t-3); }
.spec dt + dd { margin-top: 10px; color: #fff; font-weight: 600; }
.unsigned {
  max-width: 36em;
  margin-top: 34px;
  font-size: .95rem;
  color: var(--t-4);
  text-wrap: pretty;
}

/* ---------------------------------------------------------------- Alt kısım */

/* Tek sıra: solda Venosa, ortada uyuyan gözler (çentikle aynı eksende), sağda yukarı çıkış */
.foot {
  width: min(1120px, 100% - 48px);
  margin-inline: auto;
  padding: 26px 0 34px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
  border-top: 1px solid rgba(255, 255, 255, .17);
  font-size: .95rem;
  color: var(--t-3);
}
.foot__brand { display: flex; align-items: center; gap: 18px; min-width: 0; }
.foot__venosa { display: block; flex: none; }
.foot__venosa img { display: block; height: 46px; width: auto; opacity: .92; transition: opacity .2s ease; }
.foot__venosa:hover img { opacity: 1; }
.foot__text { min-width: 0; line-height: 1.4; }
.foot__copy { margin-top: 2px; font-size: .88rem; color: var(--t-4); }
.foot__eyes { padding: 18px 26px; border-radius: 999px; }

.totop {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 12px 22px 12px 16px;
  border-radius: 999px;
  background: #000;
  color: #fff;
  font-weight: 700;
  font-size: 1rem;
  transition: scale .25s var(--spring);
}
.totop .ic {
  font-size: 1.2em;
  color: var(--accent);
  transition: translate .3s var(--spring);
}
.totop:hover { scale: 1.04; }
.totop:hover .ic { translate: 0 -4px; }
.totop:active { scale: .97; }

/* ---------------------------------------------------------------- Dar ekran */

@media (max-width: 900px) {
  .play__grid { grid-template-columns: 1fr; }
}

@media (max-width: 780px) {
  .js .stage__dots { display: none; }

  /* Panel dar ekranda: kartlar yana kayar, sekmelerde yalnızca simge */
  .page--home.is-active {
    grid-template-columns: repeat(3, 156px) 78px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .page--home::-webkit-scrollbar { display: none; }
  .page--shortcuts.is-active { gap: 6px; }
  .sc { width: auto; flex: 1; padding: 12px 2px 10px; font-size: 10.5px; }
  .sc i { width: 38px; height: 38px; font-size: 17px; }
  .page--music.is-active { gap: 16px; padding: 0 10px; }
  .cover--lg { width: 104px; height: 104px; border-radius: 18px; }
  .np__title { font-size: 21px; }
  .transport--lg { gap: 10px; }
  .page--system.is-active { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0; }
  .gauge--bat, .gauge--net { display: none; }
  .ring:not(.ring--sm) { width: 82px; height: 82px; }
  .page--search.is-active { padding: 0 8px; }
  .tab { min-width: 34px; padding: 0 9px; }
  .tab.is-active span { max-width: 0; margin-left: 0; opacity: 0; }
  .panel__vol { display: none; }
  .panel__weather { display: none; }
}

/* Orta genişlikte panel açılınca köşedeki yazılar altında yarım kalmasın */
@media (max-width: 1020px) {
  .chrome { transition: opacity .2s ease; }
  body:has(.notch[data-state="panel"]) .chrome { opacity: 0; pointer-events: none; }
  body:has(.notch[data-state="panel"]) .chrome * { pointer-events: none; }
}

@media (max-width: 600px) {
  .chrome { padding: 8px 10px; transition: opacity .2s ease; }
  /* Çentik genişleyince köşedeki düğmeler altında kalmasın */
  body:has(.notch[data-state="panel"]) .chrome,
  body:has(.notch[data-state="peek"]) .chrome,
  body:has(.notch[data-state="lyrics"]) .chrome { opacity: 0; pointer-events: none; }
  body:has(.notch[data-state="panel"]) .chrome *,
  body:has(.notch[data-state="peek"]) .chrome *,
  body:has(.notch[data-state="lyrics"]) .chrome * { pointer-events: none; }
  .brand span { display: none; }
  .pill { display: none; }
  .lang { padding: 8px 10px; }
  .specs { grid-template-columns: minmax(0, 1fr); }

  /* Alt kısım telefonda: gözler üstte ortada, altında Venosa solda, düğme sağda */
  .foot {
    width: calc(100% - 36px);
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px 16px;
    padding: 14px 0 26px;
  }
  .foot__eyes { grid-column: 1 / -1; justify-self: center; order: -1; padding: 14px 26px; }
  .foot__brand { flex-direction: column; align-items: flex-start; gap: 8px; }
  .foot__venosa img { height: 38px; }
  .foot__text { font-size: .85rem; }
  .foot__copy { font-size: .8rem; }
  .totop { padding: 11px 18px 11px 13px; font-size: .95rem; }
  .js .scene { padding-inline: 18px; }
}

@media (max-height: 700px) {
  .js .scene--low .lead { font-size: 1rem; margin-top: .7em; }
  .js .scene--low .display { font-size: clamp(1.4rem, 3.2vw, 2.2rem); }
}

/* Kısa ekran (yatay tutulan telefon): çentik küçülür, yazılar üst üste binmeden sığar */
@media (max-height: 520px) {
  :root { --ns: .86; }
  .js .scene { padding: calc(34px * var(--ns) + 14px) 20px 14px; }
  .js .scene--low { padding-top: calc(292px * var(--ns) + 8px); padding-bottom: 8px; }
  .js .scene .display { font-size: clamp(1.25rem, 3.2vw, 1.7rem); }
  .js .scene .display--xl { font-size: clamp(1.5rem, 4.2vw, 2.2rem); }
  .js .scene .lead { margin-top: .5em; font-size: .95rem; line-height: 1.4; }
  .hero__cta { margin-top: 14px; gap: 8px; }
  .scene .btn { padding: 10px 18px 10px 14px; font-size: .95rem; }
  .scene .note { font-size: .85rem; }
  .js .stage__hint { display: none; }
}

/* Dokunmatik ekran: çentiğin içindeki küçük düğmeler parmağa göre büyür */
@media (pointer: coarse) {
  .tabs { height: 40px; }
  .tab { height: 40px; min-width: 40px; border-radius: 20px; }
  .ibtn { width: 36px; height: 32px; border-radius: 16px; }
  .transport .ibtn { width: 34px; height: 34px; }
  .wbtn:not(.wbtn--lg):not(.wbtn--xl) { width: 34px; height: 34px; }
  .choice span { padding: 11px 18px; }
  .swatch { padding: 6px; }
  .lang { min-width: 44px; min-height: 44px; }
  .brand { min-width: 44px; min-height: 44px; justify-content: center; }
}

/* ---------------------------------------------------------------- Az hareket */

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    transition-delay: 0s !important;
  }
  .eq i { animation: none; }
  .js .stage__hint::after { animation: none; }
}
