/* maarif+ ana sayfa. Sayfa bir çalışma günü: kaydırdıkça gökyüzü sabahtan geceye döner.
   Gökyüzü renkleri uygulamadaki StudyAtmosphere ile aynı. Değerleri home.js ayarlar. */

@font-face {
  font-family: "Nunito";
  src: url("/fonts/nunito-latin-ext.woff2") format("woff2");
  font-weight: 400 900; font-style: normal; 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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Nunito";
  src: url("/fonts/nunito-latin.woff2") format("woff2");
  font-weight: 400 900; font-style: normal; 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;
}

:root {
  --sky-a: #FFD6BD; --sky-b: #FFE8D6; --sky-c: #FFF6EA;
  --night: 0;               /* 0 gündüz, 1 gece */
  --ink: #3A2B22; --muted: #7D6C60;
  --accent: #8479F2;
  --mint: #8BE0BE; --sky: #9CCBF5; --peach: #F7BE9B; --gold: #F0C75E; --lilac: #C9C2FF;
  --gutter: 16px;
  color-scheme: light;
}
body.is-night { --bar-ink: #1C1A33; background: #1C1A33; --ink: #F2F0FF; --muted: #CFCAEA; color-scheme: dark; }

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; color: var(--ink); background: #FFF6EA;
  font-family: "Nunito", ui-rounded, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 17px; line-height: 1.55; -webkit-font-smoothing: antialiased;
  overflow-x: clip;
  transition: color .6s ease;
}
img { display: block; max-width: 100%; }
a { color: inherit; }
h1, h2, h3 { font-weight: 900; letter-spacing: -.035em; line-height: 1.02; margin: 0; text-wrap: balance; }
p { text-wrap: pretty; }

/* ---------- Gökyüzü ---------- */
.sky {
  position: fixed; inset: 0; z-index: -1; overflow: hidden;
  background: #FFF6EA;
}
.sky .layer { position: absolute; inset: 0; opacity: 0; will-change: opacity; }
.sky .l0 { background: linear-gradient(#FFD6BD, #FFE8D6 55%, #FFF6EA); opacity: 1; }
.sky .l1 { background: linear-gradient(#CBE3FA, #E6F0FA 55%, #FFF6EA); }
.sky .l2 { background: linear-gradient(#EBA184, #F4C6A4 55%, #FBE3CB); }
.sky .l3 { background: linear-gradient(#7A4466, #4E3564 55%, #262248); }
.sky .l4 { background: linear-gradient(#12103A, #191740 55%, #1C1A33); }
.stars, .fs-stars {
  position: absolute; inset: 0; opacity: var(--night); will-change: opacity;
  background-image:
    radial-gradient(1.5px 1.5px at 12% 18%, #fff 60%, transparent), radial-gradient(1px 1px at 28% 42%, #fff 60%, transparent),
    radial-gradient(1.5px 1.5px at 47% 12%, #fff 60%, transparent), radial-gradient(1px 1px at 63% 33%, #fff 60%, transparent),
    radial-gradient(2px 2px at 81% 22%, #fff 60%, transparent), radial-gradient(1px 1px at 91% 48%, #fff 60%, transparent),
    radial-gradient(1px 1px at 8% 64%, #fff 60%, transparent), radial-gradient(1.5px 1.5px at 36% 72%, #fff 60%, transparent),
    radial-gradient(1px 1px at 58% 58%, #fff 60%, transparent), radial-gradient(1.5px 1.5px at 74% 80%, #fff 60%, transparent),
    radial-gradient(1px 1px at 22% 90%, #fff 60%, transparent), radial-gradient(1px 1px at 95% 88%, #fff 60%, transparent);
}
.sun, .moon {
  position: absolute; left: 0; top: 0; width: 120px; height: 120px; border-radius: 50%;
  transform: translate(var(--x, 50vw), var(--y, 20vh)) translate(-50%, -50%);
  will-change: transform, opacity;
}
.sun {
  background: var(--sun, #FFB27A);
  box-shadow: 0 0 80px 30px color-mix(in srgb, var(--sun, #FFB27A) 45%, transparent);
  opacity: var(--sun-o, 1);
}
.moon {
  width: 92px; height: 92px; background: #F4F1E6; opacity: var(--moon-o, 0);
  box-shadow: 0 0 90px 30px rgba(255, 255, 255, .16);
  transform: translate(var(--mx, 70vw), var(--my, 16vh)) translate(-50%, -50%);
}
.moon::after { content: ""; position: absolute; width: 24px; height: 24px; right: 18px; top: 20px; border-radius: 50%; background: rgba(0, 0, 0, .07); }
.cloud {
  position: absolute; height: 60px; border-radius: 60px;
  background: #fff; opacity: calc((1 - var(--night) * .82) * .72); /* parçalar opak, saydamlık bütüne */
  transform: translate3d(var(--cx, 0), var(--cy, 0), 0); will-change: transform;
}
.cloud::before, .cloud::after { content: ""; position: absolute; border-radius: 50%; background: inherit; }
.cloud::before { width: 55%; height: 140%; left: 14%; bottom: 20%; }
.cloud::after { width: 38%; height: 110%; right: 14%; bottom: 30%; }
.c1 { width: 220px; left: -40px; top: 26vh; }
.c2 { width: 160px; right: 6vw; top: 58vh; }
.c3 { width: 260px; left: 38vw; top: 84vh; }

.confetti { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 30; }

/* ---------- Üst çubuk ---------- */
.topbar {
  position: fixed; inset: 0 0 auto; z-index: 20; height: 64px;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 max(var(--gutter), env(safe-area-inset-left));
  background: var(--bar, rgba(255, 233, 216, .94));
  transition: background .6s ease;
}
.logo { position: relative; display: block; width: 112px; height: 24px; }
.logo img { position: absolute; inset: 0; width: 100%; height: auto; transition: opacity .6s ease; }
.logo .lg-night, body.is-night .logo .lg-day { opacity: 0; }
body.is-night .logo .lg-night { opacity: 1; }
.topbar nav { display: flex; gap: 4px; align-items: center; }
.topbar nav a { text-decoration: none; font-weight: 800; font-size: 15px; padding: 8px 14px; border-radius: 999px; }
.topbar .get { background: var(--ink); color: var(--bar-ink, #FFF6EA); transition: background .6s ease, color .6s ease; }

/* ---------- Telefon ---------- */
.phone {
  --pw: 300px;
  width: var(--pw); aspect-ratio: 640 / 1391; flex: none;
  padding: calc(var(--pw) * .028); border-radius: calc(var(--pw) * .17);
  background: linear-gradient(145deg, #2B2A33, #0D0C12);
  box-shadow:
    inset 0 0 0 1.5px rgba(255, 255, 255, .14),
    0 2px 0 rgba(255, 255, 255, .06),
    0 40px 70px -24px rgba(40, 24, 60, .5),
    0 18px 30px -18px rgba(40, 24, 60, .35);
}
.screen {
  position: relative; height: 100%; overflow: hidden;
  border-radius: calc(var(--pw) * .145);
  container-type: inline-size;
  font-size: 4cqw; color: #3A2B22;
}
.screen::before { /* Dynamic Island */
  content: ""; position: absolute; z-index: 5; top: 2.4cqw; left: 50%; width: 30cqw; height: 8.6cqw;
  transform: translateX(-50%); border-radius: 9cqw; background: #000;
}
.status { position: absolute; z-index: 4; top: 3.6cqw; left: 0; right: 0; display: flex; justify-content: space-between; padding: 0 9cqw 0 13cqw; font-size: 4.6cqw; font-weight: 800; }
.status .icons { display: flex; gap: 1.4cqw; align-items: center; }
.status .icons i { width: 4cqw; height: 2.8cqw; border-radius: .8cqw; background: currentColor; opacity: .85; }
.status .icons i:last-child { width: 6.4cqw; background: none; border: .5cqw solid currentColor; }

/* Kronometre ekranı (uygulamanın ana ekranı) */
.timer-screen { background: #FFF6EA; }
.ts-top { position: absolute; top: 29cqw; left: 0; right: 0; display: flex; flex-direction: column; align-items: center; gap: 2.4cqw; }
.chip { font-weight: 800; padding: 1.8cqw 5cqw; border-radius: 6cqw; font-size: 4.6cqw; }
.chip.small { font-size: 3.6cqw; padding: 1.2cqw 4cqw; }
.mint { background: var(--mint); } .gold { background: var(--gold); }
.ts-time { position: absolute; top: 54cqw; line-height: 1; left: 0; right: 0; text-align: center; font-weight: 900; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.ts-time b { font-size: 25cqw; } .ts-time small { font-size: 11cqw; color: #A79A8E; }
.ts-buttons { position: absolute; top: 84cqw; left: 0; right: 0; display: flex; justify-content: center; align-items: center; gap: 6cqw; }
.btn { display: grid; place-items: center; border-radius: 50%; }
.btn svg { width: 40%; fill: #2A2140; }
.btn.reset { width: 14cqw; height: 14cqw; background: var(--gold); }
.btn.play { width: 20cqw; height: 20cqw; background: var(--mint); animation: breathe 2.4s ease-in-out infinite; }
@keyframes breathe { 50% { box-shadow: 0 0 0 3cqw color-mix(in srgb, var(--mint) 35%, transparent); } }
.ts-seg { position: absolute; top: 109cqw; left: 50%; transform: translateX(-50%); display: flex; gap: 1cqw; background: #F3E7D8; padding: 1.2cqw; border-radius: 6cqw; font-size: 3.6cqw; font-weight: 700; color: #8A7A6E; white-space: nowrap; }
.ts-seg span { padding: 1.4cqw 4cqw; border-radius: 5cqw; }
.ts-seg .on { background: #fff; color: #3A2B22; }
.ts-sheet { position: absolute; top: 125cqw; left: 0; right: 0; bottom: 0; background: #fff; border-radius: 7cqw 7cqw 0 0; padding: 5cqw 0 0 5cqw; }
.row-title { font-weight: 900; font-size: 5cqw; display: flex; justify-content: space-between; padding-right: 5cqw; margin-bottom: 2.4cqw; }
.row-title em { font-style: normal; font-size: 3.8cqw; color: var(--accent); background: #ECE9FF; padding: 1cqw 3.4cqw; border-radius: 4cqw; }
.pills { display: flex; gap: 2.4cqw; margin-bottom: 4.6cqw; white-space: nowrap; }
.sp { display: inline-flex; flex-direction: column; justify-content: center; padding: 2cqw 5cqw 2cqw 11cqw; border-radius: 8cqw; background: #F6EBDD; position: relative; line-height: 1.15; }
.sp b { font-size: 4.2cqw; } .sp small { font-size: 3.6cqw; color: #8A7A6E; font-variant-numeric: tabular-nums; }
.sp i { position: absolute; left: 3.6cqw; top: 50%; width: 5.2cqw; height: 5.2cqw; margin-top: -2.6cqw; border-radius: 50%; background: var(--c); }
.sp.active { background: var(--mint); padding-left: 5cqw; } .sp.active small { color: #3A2B22; }
.tabbar { position: absolute; left: 16cqw; right: 16cqw; bottom: 4cqw; height: 15cqw; border-radius: 9cqw; background: #FFFDF6; box-shadow: 0 2cqw 6cqw rgba(0, 0, 0, .08); display: flex; align-items: center; justify-content: space-around; padding: 0 2cqw; }
.tabbar span { width: 22cqw; height: 11cqw; border-radius: 6cqw; position: relative; }
.tabbar span::after { content: ""; position: absolute; inset: 0; margin: auto; width: 5.4cqw; height: 5.4cqw; border-radius: 50%; border: .9cqw solid #2A2140; }
.tabbar .on { background: #EFEAE0; } .tabbar .on::after { border-color: var(--accent); }

/* ---------- 1. Sabah ---------- */
.hero {
  min-height: 100svh; display: grid; align-items: center; gap: 40px;
  padding: 96px var(--gutter) 64px;
}
.hero h1 { font-size: clamp(40px, 11vw, 84px); max-width: 11ch; }
.lead { font-size: clamp(17px, 2.2vw, 20px); color: var(--muted); max-width: 34ch; margin: 20px 0 28px; font-weight: 600; }
.cta { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.store {
  display: inline-flex; align-items: center; gap: 12px; text-decoration: none;
  background: #0E0D14; color: #fff; padding: 12px 22px 12px 18px; border-radius: 16px;
  box-shadow: 0 12px 24px -12px rgba(14, 13, 20, .55);
  transition: transform .2s ease;
}
.store:hover { transform: translateY(-2px); }
.store svg { width: 26px; height: 26px; fill: currentColor; flex: none; }
.store span { display: flex; flex-direction: column; line-height: 1.15; }
.store small { font-size: 12px; opacity: .75; font-weight: 600; }
.store strong { font-size: 19px; font-weight: 800; letter-spacing: -.01em; }
.exams { list-style: none; display: flex; gap: 6px; margin: 0; padding: 0; }
.exams li { font-weight: 900; font-size: 14px; padding: 6px 12px; border-radius: 999px; background: var(--c); color: #2A2140; }

.hero-stage { position: relative; display: grid; place-items: center; height: min(132vw, 620px); }
.hero-stage .phone { --pw: min(68vw, 290px); transform: translate3d(var(--px, 0), var(--py, 0), 0) rotate(-3deg); }
.float {
  position: absolute; z-index: 2; display: flex; flex-direction: column; padding: 12px 18px 12px 46px; border-radius: 999px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 18px 30px -16px rgba(58, 43, 34, .35); line-height: 1.15; white-space: nowrap;
  transform: translate3d(var(--px, 0), var(--py, 0), 0);
}
.float i { position: absolute; left: 14px; top: 50%; width: 22px; height: 22px; margin-top: -11px; border-radius: 50%; background: var(--c); }
.float b { font-size: 16px; } .float span { font-size: 14px; color: #8A7A6E; font-weight: 700; font-variant-numeric: tabular-nums; }
.f1 { left: 0; top: 2%; } .f2 { right: 0; bottom: 8%; } .f3 { display: none; }
@media (max-width: 899px) { .moon { width: 56px; height: 56px; } .moon::after { width: 14px; height: 14px; right: 10px; top: 12px; } .exam { flex-direction: column; align-items: flex-start; } .ring { width: 104px; } .sun { width: 80px; height: 80px; } .float { padding: 9px 14px 9px 40px; } .float b { font-size: 14px; } .float span { font-size: 12px; } }

/* ---------- 2. Plan ---------- */
.plan { padding: 120px var(--gutter) 160px; max-width: 1120px; margin: 0 auto; }
.plan-head h2, .day h2, .proof h2 { font-size: clamp(36px, 8vw, 64px); }
.plan-head p { color: var(--muted); font-weight: 600; max-width: 46ch; font-size: 18px; margin: 20px 0 0; }
.mark { background: linear-gradient(#FFE45C, #FFE45C) no-repeat 0 62% / calc(var(--p, 0) * 100%) .42em; padding: 0 .06em; }
.week { display: flex; gap: 8px; margin: 48px 0 20px; overflow: hidden; }
.week span { flex: 1; max-width: 72px; background: rgba(255, 255, 255, .8); border-radius: 18px; text-align: center; font-weight: 900; font-size: 22px; padding: 8px 0 10px; line-height: 1.2; }
.week small { display: block; font-size: 12px; color: #8A7A6E; font-weight: 700; }
.week .today { background: var(--accent); color: #fff; } .week .today small { color: rgba(255, 255, 255, .8); }
.tasks { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.tasks li {
  display: flex; align-items: center; gap: 18px; background: #fff; border-radius: 26px; padding: 18px 22px;
  box-shadow: 0 1px 0 rgba(58, 43, 34, .06), 0 20px 34px -26px rgba(58, 43, 34, .35);
  font-size: clamp(19px, 3.4vw, 30px); font-weight: 700; color: #3A2B22;
  transform: translate3d(calc((1 - var(--in, 1)) * 40px), 0, 0); opacity: calc(.3 + var(--in, 1) * .7);
}
.tasks li:nth-child(even) { margin-left: clamp(0px, 6vw, 80px); }
.tasks li:nth-child(odd) { margin-right: clamp(0px, 6vw, 80px); }
.box { width: 1.25em; height: 1.25em; flex: none; border-radius: .34em; border: 2px solid #E6DACB; position: relative; transition: background .25s ease, border-color .25s ease; }
.box::after { content: ""; position: absolute; left: 32%; top: 14%; width: 28%; height: 50%; border: solid #fff; border-width: 0 .14em .14em 0; transform: rotate(45deg) scale(0); transition: transform .25s cubic-bezier(.3, 1.6, .5, 1); }
.tasks li.done .box { background: var(--accent); border-color: var(--accent); }
.tasks li.done .box::after { transform: rotate(45deg) scale(1); }
.t { -webkit-box-decoration-break: clone; box-decoration-break: clone; background: linear-gradient(var(--hl), var(--hl)) no-repeat 0 58% / calc(var(--p, 0) * 100%) .62em; padding: 0 .1em; border-radius: .2em; }
.thumb { margin-left: auto; flex: none; position: relative; width: clamp(96px, 16vw, 150px); aspect-ratio: 16 / 9; border-radius: 12px; overflow: hidden; container-type: inline-size;
  background: radial-gradient(circle at 78% 40%, #C9C2FF 0 18%, transparent 19%), linear-gradient(135deg, #6E62E6, #A79FFF); box-shadow: 0 8px 18px -10px rgba(60, 40, 140, .6); }
.th-brand { position: absolute; left: 6cqw; top: 5cqw; font-size: 8cqw; font-weight: 900; color: #fff; letter-spacing: -.02em; }
.th-brand em { font-style: normal; color: #FFE45C; }
.th-title { position: absolute; left: 6cqw; bottom: 6cqw; font-size: 10.5cqw; line-height: 1.02; font-weight: 900; color: #fff; letter-spacing: -.03em; }
.th-cells { position: absolute; right: 8cqw; top: 14cqw; width: 34cqw; height: 22cqw; }
.th-cells i { position: absolute; top: 0; width: 22cqw; height: 22cqw; border-radius: 50%; background: rgba(255, 255, 255, .28); border: 1.2cqw solid rgba(255, 255, 255, .7); }
.th-cells i:first-child { left: 0; } .th-cells i:last-child { right: 0; }
.th-cells i::after { content: ""; position: absolute; inset: 0; margin: auto; width: 7cqw; height: 7cqw; border-radius: 50%; background: #FFE45C; }
.th-play { position: absolute; left: 50%; top: 50%; width: 20cqw; height: 14cqw; margin: -7cqw 0 0 -10cqw; border-radius: 4cqw; background: #FF0033; box-shadow: 0 1cqw 3cqw rgba(0, 0, 0, .3); }
.th-play::after { content: ""; position: absolute; left: 50%; top: 50%; margin: -3.5cqw 0 0 -2cqw; border-style: solid; border-width: 3.5cqw 0 3.5cqw 6cqw; border-color: transparent transparent transparent #fff; }
.th-dur { position: absolute; right: 4cqw; bottom: 4cqw; font-size: 7cqw; font-weight: 800; color: #fff; background: rgba(0, 0, 0, .7); padding: .5cqw 2.5cqw; border-radius: 2cqw; font-variant-numeric: tabular-nums; }

/* ---------- 3. Kronometre (zirve) ---------- */
.day { height: 180vh; position: relative; }
.day-pin {
  position: sticky; top: 0; height: 100svh; overflow: hidden;
  display: grid; grid-template-rows: 1fr auto; align-items: center; justify-items: center;
  padding: 72px var(--gutter) 24px;
}
.day-phone { position: relative; display: grid; place-items: center; }
.day-phone .phone { --pw: min(52vw, calc((100svh - 300px) * .46), 300px); }
.readout { display: none; }
.captions { grid-row: 2; position: relative; width: 100%; max-width: 520px; min-height: 160px; }
.cap {
  position: absolute; inset: auto 0 0; padding: 18px 20px; border-radius: 24px;
  background: var(--cap-bg, rgba(255, 246, 234, .9));
  opacity: var(--o, 0); transform: translate3d(0, calc((1 - var(--o, 0)) * 16px), 0);
}
.day h2 { font-size: clamp(30px, 7vw, 60px); }
.cap p { margin: 10px 0 0; color: var(--muted); font-weight: 600; font-size: 16px; }
.day-pin .captions { order: 2; }
.day-phone { grid-row: 1; }

.focus-screen { background: linear-gradient(to bottom, var(--sky-a), var(--sky-b) 55%, var(--sky-c)); color: var(--fs-ink, #3A2B22); }
.fs-sky { position: absolute; inset: 0; }
.fs-sun, .fs-moon { position: absolute; left: 50%; top: 20%; border-radius: 50%; transform: translate(-50%, -50%); }
.fs-sun { width: 16cqw; height: 16cqw; background: var(--sun, #FFD66B); box-shadow: 0 0 14cqw 5cqw color-mix(in srgb, var(--sun, #FFD66B) 40%, transparent); opacity: var(--sun-o, 1); }
.fs-moon { width: 14cqw; height: 14cqw; background: #F4F1E6; box-shadow: 0 0 16cqw 6cqw rgba(255, 255, 255, .16); opacity: calc(var(--moon-o, 0) * (1 - var(--lock, 0))); }
.focus-screen .status b { opacity: calc(1 - var(--lock, 0)); }
.fs-label { position: absolute; top: 76cqw; left: 0; right: 0; text-align: center; font-size: 5cqw; font-weight: 700; opacity: .7; }
.fs-time { position: absolute; top: 84cqw; left: 0; right: 0; text-align: center; font-weight: 900; letter-spacing: -.04em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fs-main { font-size: 24cqw; } .fs-sub { font-size: 10cqw; opacity: .5; }

.lock { position: absolute; inset: 0; z-index: 3; color: #fff; opacity: var(--lock, 0); background: linear-gradient(to bottom, rgba(10, 8, 40, .25), rgba(10, 8, 40, .55)); }
.island { position: absolute; z-index: 6; top: 2.4cqw; left: 50%; height: 8.6cqw; width: calc(30cqw + var(--lock, 0) * 14cqw); transform: translateX(-50%); border-radius: 9cqw; background: #000; display: flex; align-items: center; justify-content: space-between; padding: 0 3.4cqw; font-size: 3.8cqw; }
.island i { width: 4cqw; height: 4cqw; border-radius: 50%; background: var(--mint); }
.island b { color: var(--mint); font-variant-numeric: tabular-nums; }
.lock-date { position: absolute; top: 19cqw; left: 0; right: 0; text-align: center; font-weight: 700; font-size: 5cqw; opacity: .85; }
.lock-clock { position: absolute; top: 24cqw; left: 0; right: 0; text-align: center; font-weight: 800; font-size: 25cqw; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.la {
  position: absolute; left: 5cqw; right: 5cqw; bottom: 30cqw; padding: 5cqw 6cqw; border-radius: 9cqw;
  background: #CDEFE0; color: #2A2140;
  transform: translate3d(0, calc((1 - var(--lock, 0)) * 20cqw), 0) scale(calc(.9 + var(--lock, 0) * .1));
}
.la-top { display: flex; justify-content: space-between; font-size: 4.2cqw; font-weight: 800; }
.wordmark em { font-style: normal; color: var(--accent); }
.la-time { font-size: 15cqw; font-weight: 900; letter-spacing: -.03em; line-height: 1.05; margin-top: 2cqw; font-variant-numeric: tabular-nums; }
.la-sub { font-size: 3.8cqw; font-weight: 700; opacity: .6; }

/* ---------- 4. Gece: emek ---------- */
.proof { max-width: 1120px; margin: 0 auto; padding: 120px var(--gutter) 100px; display: grid; gap: 28px; }
.proof-copy p { color: var(--muted); font-weight: 600; font-size: 18px; max-width: 40ch; margin: 18px 0 0; }
.chart-card { background: #2A2748; border-radius: 30px; padding: 24px; color: #F2F0FF; box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .6); }
.cc-head { display: flex; justify-content: space-between; font-size: 17px; } .cc-head span { color: #A9A3C4; font-weight: 700; }
.cc-day { color: #A9A3C4; margin-top: 10px; font-weight: 600; }
.cc-big { font-size: 44px; font-weight: 900; letter-spacing: -.03em; line-height: 1.1; font-variant-numeric: tabular-nums; }
.bars { display: flex; align-items: flex-end; gap: 10px; height: 200px; margin: 50px 0 34px; border-bottom: 1px solid #3A3663; }
.bars span { flex: 1; height: 0; transition: height 1.1s cubic-bezier(.22, .9, .3, 1); background: #48427A; border-radius: 10px 10px 4px 4px; position: relative; }
.chart-card.in .bars span { height: calc(var(--v) * 100%); }
.bars span:nth-child(2) { transition-delay: .08s; } .bars span:nth-child(3) { transition-delay: .16s; } .bars span:nth-child(4) { transition-delay: .24s; } .bars span:nth-child(5) { transition-delay: .32s; } .bars span:nth-child(6) { transition-delay: .4s; }
.bars .today, .chart-card.in .bars .today { height: calc(var(--h, 0) * 100%); transition: box-shadow .9s ease .35s; }
.bars .today { background: #A79FFF; transition: background .5s ease, box-shadow .5s ease; }
.bars .today::before { /* tüm çubuk aynı anda altına döner */
  content: ""; position: absolute; inset: 0; border-radius: inherit; background: var(--gold); opacity: 0; transition: opacity .45s ease;
}
.bars .today.top::before { opacity: 1; }
.bars .today.top { box-shadow: 0 0 28px -4px color-mix(in srgb, var(--gold) 70%, transparent); animation: barPop .6s cubic-bezier(.3, 1.6, .5, 1); transform-origin: bottom; }
@keyframes barPop { 40% { transform: scale(1.06, 1.03); } }

/* Yıldız: şişer, patlar, kıvılcımlar saçılır, yerine oturur */
.star { position: absolute; z-index: 2; left: 50%; top: -40px; width: 32px; height: 32px; margin-left: -16px; fill: var(--gold); opacity: 0; transform: scale(0); }
.bars .today.top .star { animation: starPop 1.1s cubic-bezier(.25, .9, .3, 1) .25s both, twinkle 2.6s ease-in-out 1.8s infinite; }
@keyframes starPop {
  0% { opacity: 0; transform: scale(0); }
  15% { opacity: 1; transform: scale(.6); }
  55% { opacity: 1; transform: scale(2.1); filter: drop-shadow(0 0 10px var(--gold)); }  /* şişme */
  64% { transform: scale(.75); filter: none; }                                         /* patlama */
  80% { transform: scale(1.12); }
  100% { opacity: 1; transform: scale(1); }
}
@keyframes twinkle { 0%, 100% { transform: none; } 50% { transform: scale(1.1) rotate(8deg); } }
.pop { position: absolute; z-index: 1; left: 50%; top: -24px; width: 0; height: 0; pointer-events: none; }
.pop i { position: absolute; left: -5px; top: -5px; width: 10px; height: 10px; box-shadow: 0 0 8px var(--gold); border-radius: 50%; background: var(--gold); opacity: 0; }
.pop i:nth-child(even) { background: #FFF6CF; width: 7px; height: 7px; left: -3.5px; top: -3.5px; }
.pop::before { content: ""; position: absolute; left: -20px; top: -20px; width: 40px; height: 40px; border-radius: 50%; border: 3px solid var(--gold); opacity: 0; }
.bars .today.top .pop::before { animation: ring .6s ease-out .82s both; }
@keyframes ring { 0% { opacity: .9; transform: scale(.3); } 100% { opacity: 0; transform: scale(2.2); } }
.bars .today.top .pop i { animation: spark .75s cubic-bezier(.2, .8, .3, 1) .82s both; }
@keyframes spark { 0% { opacity: 1; transform: rotate(var(--a)) translateX(0) scale(1); } 100% { opacity: 0; transform: rotate(var(--a)) translateX(62px) scale(.5); } }
@media (prefers-reduced-motion: reduce) { .bars .today.top, .bars .today.top .star, .bars .today.top .pop::before, .bars .today.top .pop i { animation: none; } .bars .today.top .star { opacity: 1; transform: none; } }
.bars small { position: absolute; bottom: -26px; left: 0; right: 0; text-align: center; color: #A9A3C4; font-weight: 700; font-size: 13px; }
.cc-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.cc-tiles div { border-radius: 20px; padding: 12px 16px; color: #2A2140; font-variant-numeric: tabular-nums; }
.cc-tiles small { display: block; font-weight: 700; opacity: .75; font-size: 13px; } .cc-tiles b { font-size: 19px; }
.peach { background: var(--peach); } .lilac { background: var(--lilac); }

.exam { display: flex; gap: 22px; align-items: center; background: #2A2748; border: 1px solid rgba(255, 255, 255, .1); border-radius: 30px; padding: 22px; }
.exam h3 { font-size: 26px; } .exam p { color: var(--muted); margin: 8px 0 0; font-weight: 600; }
.ring { position: relative; width: 120px; flex: none; }
.ring svg { display: block; transform: rotate(-90deg); }
.ring circle { fill: none; stroke: #3A3663; stroke-width: 10; }
.ring .left { stroke: var(--gold); stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: calc(var(--spent, 0) * 100); }
.ring b { position: absolute; inset: 0; display: grid; place-items: center; font-size: 21px; font-weight: 900; font-variant-numeric: tabular-nums; }

/* ---------- 5. Kapanış ---------- */
.close { display: flex; flex-direction: column; justify-content: center; padding: 72px var(--gutter) 72px; max-width: 1120px; margin: 0 auto; }
.close h2 { font-size: clamp(46px, 12vw, 120px); line-height: .98; }
.close p { color: var(--muted); font-weight: 600; font-size: 19px; margin: 24px 0 32px; max-width: 36ch; }
.close-cta { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; }
body.is-night .store { background: #fff; color: #0E0D14; }
.qr { display: none; }

footer { display: flex; flex-wrap: wrap; gap: 8px 20px; justify-content: space-between; padding: 22px var(--gutter) 30px; color: var(--muted); font-size: 14px; font-weight: 700; border-top: 1px solid rgba(255, 255, 255, .12); }
footer nav { display: flex; flex-wrap: wrap; gap: 6px 18px; }
footer a { text-decoration: none; } footer a:hover { color: var(--ink); text-decoration: underline; }
footer nav { display: flex; flex-wrap: wrap; gap: 8px 18px; }
footer a { text-decoration: none; } footer a:hover { color: var(--ink); }

/* ---------- Masaüstü ---------- */
@media (min-width: 900px) {
  :root { --gutter: max(40px, calc((100vw - 1180px) / 2)); }
  .topbar { padding: 0 var(--gutter); height: 76px; }
  .logo { width: 130px; height: 28px; }

  .hero { grid-template-columns: 1.1fr 1fr; padding-top: 110px; }
  .hero-stage { height: 680px; }
  .hero-stage .phone { --pw: 310px; }
  .f1 { left: -2%; top: 16%; } .f2 { right: -4%; top: 42%; bottom: auto; } .f3 { display: flex; left: 4%; bottom: 14%; }

  .plan { padding: 160px var(--gutter) 200px; display: grid; grid-template-columns: .9fr 1.1fr; gap: 20px 60px; max-width: none; }
  .plan-head { position: sticky; top: 140px; align-self: start; grid-row: 1 / span 2; }
  .week { align-self: start; }
  .week { grid-column: 2; margin-top: 0; }
  .tasks { grid-column: 2; }

  .day-pin { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr; padding: 90px var(--gutter) 40px; }
  .day-pin .captions { order: 0; grid-row: 1; grid-column: 1; min-height: 300px; max-width: 480px; justify-self: start; }
  .day-phone { grid-column: 2; }
  .day-phone .phone { --pw: min(320px, calc((100svh - 160px) * .46)); }
  .cap { inset: 50% 0 auto; transform: translate3d(0, calc(-50% + (1 - var(--o, 0)) * 24px), 0); background: none; padding: 0; }
  .cap p { font-size: 19px; max-width: 34ch; margin-top: 18px; }
  .readout {
    display: block; position: absolute; z-index: -1; left: 50%; top: 50%; transform: translate(-50%, -50%);
    font-size: 230px; font-weight: 900; letter-spacing: -.05em; color: transparent; white-space: nowrap;
    -webkit-text-stroke: 1.5px color-mix(in srgb, var(--ink) 16%, transparent); font-variant-numeric: tabular-nums;
  }

  .proof { grid-template-columns: 1fr 1.15fr; gap: 40px 60px; padding: 180px var(--gutter) 140px; max-width: none; align-items: center; }
  .proof-copy { grid-row: 1 / 3; }
  .chart-card { padding: 30px; }
  .bars { height: 240px; }

  .close { min-height: 86svh; padding: 100px var(--gutter) 100px; max-width: none; }
  .qr { display: flex; align-items: center; gap: 14px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .14); border-radius: 22px; padding: 10px 18px 10px 10px; }
  .qr .code { position: relative; width: 92px; height: 92px; background: #fff; border-radius: 14px; padding: 8px; }
  .qr .code img { width: 100%; height: 100%; }
  .qr .code b { position: absolute; inset: 0; margin: auto; width: 22px; height: 22px; border-radius: 6px; background: #fff; display: grid; place-items: center; color: var(--accent); font-size: 20px; font-weight: 900; line-height: 1; }
  .qr span { font-size: 14px; color: var(--muted); font-weight: 700; line-height: 1.35; max-width: 16ch; }
  .qr strong { display: block; color: var(--ink); font-size: 15px; }
  footer { padding: 28px var(--gutter) 40px; }
}

@media (prefers-reduced-motion: reduce) {
  .btn.play { animation: none; }
  .store, .tasks li, .cap, .la { transition: none; }
}

/* Gün çizgisi: sürüklenebilir kaydırma çubuğu (07.00 → 23.00) */
.dayline {
  position: fixed; z-index: 21; left: var(--gutter); right: var(--gutter); top: 64px; height: 34px;
  touch-action: none; cursor: grab; -webkit-user-select: none; user-select: none;
  background: var(--bar, rgba(255, 233, 216, .94)); box-shadow: 0 0 0 var(--gutter) var(--bar, rgba(255, 233, 216, .94)); clip-path: inset(0 calc(-1 * var(--gutter)) 0 calc(-1 * var(--gutter)));
}
.dayline:active { cursor: grabbing; }
.dl-track { position: absolute; left: 0; right: 0; top: 50%; height: 6px; margin-top: -3px; border-radius: 3px; background: color-mix(in srgb, var(--ink) 14%, transparent); overflow: hidden; }
.dl-fill { position: absolute; inset: 0; background: linear-gradient(90deg, #FFB27A, #FFD66B 30%, #F58A6B 65%, #8479F2 85%, #3B357A); transform-origin: left; transform: scaleX(var(--dl, 0)); }
.dl-knob {
  position: absolute; left: 0; top: 50%; height: 28px; margin-top: -14px; padding: 0 10px 0 4px; border-radius: 14px;
  display: flex; align-items: center; gap: 6px; background: #fff; color: #3A2B22; font-weight: 900; font-size: 13px;
  box-shadow: 0 4px 12px -4px rgba(40, 24, 60, .45); font-variant-numeric: tabular-nums; width: 78px;
  transform: translate3d(var(--kx, 0px), 0, 0); will-change: transform;
}
.dl-knob i { width: 20px; height: 20px; border-radius: 50%; background: #FFC24D; box-shadow: inset 0 0 0 3px #FFE3A3; transition: background .4s ease, box-shadow .4s ease; }
body.is-night .dl-knob i { background: #F4F1E6; box-shadow: inset -5px -3px 0 0 #C9C2FF; }
.dayline:focus-visible .dl-knob { outline: 3px solid var(--accent); outline-offset: 2px; }
.hero { padding-top: 120px; }
.day-pin { padding-top: 104px; }

/* Kaydırma ipucu */
.nudge {
  position: fixed; z-index: 15; left: 50%; bottom: max(18px, env(safe-area-inset-bottom)); transform: translateX(-50%);
  display: flex; align-items: center; gap: 8px; padding: 10px 18px 10px 14px; border-radius: 999px;
  background: #3A2B22; color: #FFF6EA; font-weight: 800; font-size: 15px; text-decoration: none; white-space: nowrap;
  box-shadow: 0 12px 24px -10px rgba(58, 43, 34, .55); transition: opacity .4s ease, transform .4s ease;
}
.nudge svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; animation: nudge 1.6s ease-in-out infinite; }
@keyframes nudge { 50% { transform: translateY(4px); } }
body.scrolled .nudge { opacity: 0; transform: translate(-50%, 20px); pointer-events: none; }

@media (min-width: 900px) {
  .dayline { top: 21px; left: 50%; right: auto; width: 380px; margin-left: -190px; background: none; box-shadow: none; clip-path: none; }
  .hero { padding-top: 110px; }
  .day-pin { padding-top: 90px; }
}
@media (prefers-reduced-motion: reduce) { .nudge svg { animation: none; } }

/* Video görevi tamamlanınca: soluklaşır, izlendi etiketi ve kırmızı izlenme çubuğu */
.thumb > span { transition: opacity .4s ease; }
.th-bar { position: absolute; left: 0; bottom: 0; height: 3cqw; width: 100%; background: #FF0033; transform: scaleX(0); transform-origin: left; transition: transform .7s cubic-bezier(.3, .8, .3, 1) .1s; }
.th-watched {
  position: absolute; inset: 0; margin: auto; width: max-content; height: max-content; padding: 2.5cqw 6cqw; border-radius: 10cqw;
  background: rgba(20, 16, 50, .78); color: #fff; font-size: 9.5cqw; font-weight: 900; white-space: nowrap;
  opacity: 0; transform: scale(.7); transition: opacity .35s ease .25s, transform .45s cubic-bezier(.3, 1.6, .5, 1) .25s;
}
.tasks li.done .thumb > span:not(.th-watched):not(.th-bar) { opacity: .45; }
.tasks li.done .th-bar { transform: scaleX(1); }
.tasks li.done .th-watched { opacity: 1; transform: none; }

/* Fosforlu kalem vurgusu: ekrana girince soldan sağa çizilir */
.hl { -webkit-box-decoration-break: clone; box-decoration-break: clone; background: linear-gradient(var(--hl, #FFE45C), var(--hl, #FFE45C)) no-repeat 0 62% / 0% .42em; padding: 0 .06em; transition: background-size .9s cubic-bezier(.3, .8, .3, 1) .25s; }
.lead .hl, p .hl { background-size: 0% .62em; background-position: 0 70%; color: var(--ink); font-weight: 800; }
.hl.on { background-size: 100% .42em; }
.lead .hl.on, p .hl.on { background-size: 100% .62em; }
@media (prefers-reduced-motion: reduce) { .hl { transition: none; } }

/* Destek: masaüstünde düğmenin altında küçük kart, telefonda ortada açılır pencere */
.help-btn { font: inherit; font-weight: 800; font-size: 15px; padding: 8px 14px; border-radius: 999px; border: 0; background: none; color: inherit; cursor: pointer; }
.help-btn[aria-expanded="true"] { background: color-mix(in srgb, var(--ink) 10%, transparent); }
.help { position: fixed; inset: 0; z-index: 40; display: grid; place-items: center; padding: 16px; background: rgba(20, 14, 40, .35); }
.help[hidden] { display: none; }
.help-card {
  position: relative; width: min(340px, 100%); padding: 22px 22px 18px; border-radius: 24px;
  background: #fff; color: #3A2B22; box-shadow: 0 30px 60px -20px rgba(30, 20, 60, .45);
  animation: helpIn .28s cubic-bezier(.3, 1.4, .5, 1);
}
@keyframes helpIn { from { opacity: 0; transform: translateY(8px) scale(.96); } }
.help-card h2 { font-size: 22px; letter-spacing: -.02em; }
.help-card p { margin: 6px 0 0; color: #7D6C60; font-weight: 600; font-size: 15px; }
.help-mail { position: relative; margin: 14px 0 0; padding: 14px 14px 40px; border-radius: 14px; background: #ECE9FF; color: var(--accent); font-weight: 900; text-align: center; }
.help-addr { -webkit-user-select: all; user-select: all; }
.help-copy { position: absolute; right: 8px; bottom: 8px; display: flex; align-items: center; gap: 5px; padding: 5px 10px; border: 0; border-radius: 999px; background: #fff; color: var(--accent); font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; box-shadow: 0 2px 6px rgba(80, 60, 160, .15); }
.help-copy svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.help-copy.done { background: #2FA36B; color: #fff; }
.help-card .help-note { font-size: 13px; margin-top: 12px; }
.help-x { position: absolute; top: 10px; right: 10px; width: 32px; height: 32px; border-radius: 50%; border: 0; background: #F6EBDD; color: #3A2B22; font-size: 20px; line-height: 1; cursor: pointer; }
@media (min-width: 900px) {
  .help { inset: 76px var(--gutter) auto auto; padding: 0; background: none; display: block; }
  .help-card { width: 320px; }
}
@media (prefers-reduced-motion: reduce) { .help-card { animation: none; } }
