/* ============================================================
   SPOR TAKİP — Tasarım sistemi (token katmanları) + premium koyu tema
   1) PRIMITIVE  ham renk/skala değerleri
   2) SEMANTIC   anlamlı isimler (bg/surface/text/accent...) — sınıflar bunları kullanır
   Renk dili: soğuk mavi=yapı/birincil · sıcak amber=efor (kronometre/aktif/mola) · yeşil=tamamlandı
   ============================================================ */
:root{
  /* --- 1) PRIMITIVE --------------------------------------- */
  /* navy zemin rampası (taban #0b0f1a korunur) */
  --navy-950:#0b0f1a; --navy-900:#0f1422; --navy-850:#131a2b;
  --navy-800:#172036; --navy-750:#1c2640; --navy-700:#222d4c; --navy-600:#2a375a;
  --hair:#27314f;            /* ince çizgi */
  --ink:#eef2ff; --ink-2:#c6cdec; --ink-3:#98a3c4;   /* metin tonları */
  /* marka — soğuk */
  --blue-300:#7d9bff; --blue-400:#5b8cff; --blue-600:#3f63d8;
  /* efor — sıcak */
  --amber-400:#ffc056; --amber-500:#ffa733; --orange-500:#ff7a3c;
  /* durum */
  --green-400:#2fd29c; --green-500:#23bd88; --green-700:#15815d;
  --red-400:#ff6472; --red-500:#f24656;

  /* --- 2) SEMANTIC (geriye dönük isimler korunur) --------- */
  --bg:var(--navy-950); --bg2:var(--navy-850);
  --card:var(--navy-800); --card2:var(--navy-750);
  --surface-hi:var(--navy-700);
  --line:var(--hair);
  --txt:var(--ink); --txt-2:var(--ink-2); --muted:var(--ink-3);
  --pri:var(--blue-400); --pri2:var(--blue-600);
  --accent:var(--amber-500); --accent2:var(--orange-500);   /* efor */
  --ok:var(--green-400); --okd:var(--green-700);
  --warn:var(--amber-400); --danger:var(--red-400);

  /* spacing (4/8 ritmi) */
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:20px; --sp-6:24px; --sp-8:32px; --sp-10:40px;
  /* radius */
  --r-sm:10px; --r-md:14px; --r-lg:18px; --r-xl:22px; --r-pill:999px; --radius:16px;
  /* tipografi */
  --font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;
  --font-mono:ui-monospace,"SF Mono","JetBrains Mono","Roboto Mono",Menlo,monospace;
  --fs-xs:11px; --fs-sm:13px; --fs-md:15px; --fs-base:16px; --fs-lg:18px; --fs-xl:24px; --fs-2xl:30px; --fs-3xl:40px;
  --fw-med:500; --fw-semi:650; --fw-bold:800;
  /* gölge (navy-tonlu = premium, saf siyah değil) + accent glow */
  --sh-1:0 1px 2px rgba(4,8,20,.5);
  --sh-2:0 6px 18px -6px rgba(4,8,20,.6);
  --sh-3:0 18px 40px -12px rgba(4,8,20,.7);
  --sh-pri:0 8px 22px -8px rgba(63,99,216,.55);
  --sh-ok:0 8px 22px -8px rgba(35,189,136,.5);
  --edge-hi:inset 0 1px 0 rgba(255,255,255,.05);   /* üstten ışık */
  /* hareket */
  --t-fast:.12s; --t-med:.2s; --ease:cubic-bezier(.2,.8,.2,1);
  /* katmanlar */
  --z-nav:50; --z-sticky:60; --z-rest:70; --z-toast:99; --z-modal:200;
}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0}
body{
  background:var(--bg);
  /* tek ambient dokunuş: tepeden hafif derinlik ışığı (#0b0f1a tabanı korunur) */
  background-image:radial-gradient(125% 55% at 50% -8%, #141c30 0%, rgba(20,28,48,0) 58%);
  background-attachment:fixed;
  color:var(--txt);
  font-family:var(--font-sans); font-size:var(--fs-base); line-height:1.5;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overscroll-behavior-y:none;
}
.loading{padding:var(--sp-10);text-align:center;color:var(--muted)}
#app{max-width:520px;margin:0 auto;min-height:100vh;min-height:100dvh}

/* odak görünürlüğü (erişilebilirlik) */
:focus-visible{outline:2px solid var(--blue-300);outline-offset:2px;border-radius:6px}

.screen{min-height:100vh;min-height:100dvh;padding:0 0 96px;position:relative;display:flex;flex-direction:column}
.screen.center{justify-content:center;align-items:center;padding:var(--sp-6)}
.pad{padding-left:var(--sp-4);padding-right:var(--sp-4)}

/* başlık */
.top{display:flex;align-items:center;gap:var(--sp-3);padding:max(22px,env(safe-area-inset-top)) var(--sp-4) var(--sp-4)}
.top h1{font-size:var(--fs-xl);margin:0;font-weight:var(--fw-bold);letter-spacing:-.6px}
.muted{color:var(--muted);font-size:var(--fs-sm)}
.back{background:var(--card);border:1px solid var(--line);color:var(--txt);width:42px;height:42px;
  border-radius:var(--r-md);font-size:24px;line-height:1;cursor:pointer;flex:0 0 auto;
  box-shadow:var(--edge-hi);transition:transform var(--t-fast) var(--ease),background var(--t-fast)}
.back:active{transform:scale(.94);background:var(--card2)}

.badge{display:inline-block;font-size:var(--fs-xs);padding:3px 9px;border-radius:var(--r-pill);
  margin-left:var(--sp-2);vertical-align:middle;font-weight:var(--fw-bold);letter-spacing:.2px}
.badge.ok{background:rgba(47,210,156,.14);color:var(--ok);box-shadow:inset 0 0 0 1px rgba(47,210,156,.22)}
.badge.warn{background:rgba(255,192,86,.14);color:var(--warn);box-shadow:inset 0 0 0 1px rgba(255,192,86,.22)}

/* listeler */
.list{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4)}
.empty{text-align:center;color:var(--muted);padding:var(--sp-10) var(--sp-4)}
.empty .btn{margin-top:var(--sp-4)}
.center-text{text-align:center;padding:var(--sp-6)}

/* gün kartı */
.day-card{display:flex;align-items:center;justify-content:space-between;
  background:linear-gradient(180deg,var(--navy-750),var(--navy-800));
  border:1px solid var(--line);border-radius:var(--radius);
  padding:18px;cursor:pointer;color:var(--txt);text-align:left;width:100%;
  box-shadow:var(--edge-hi),var(--sh-1);
  transition:transform var(--t-fast) var(--ease),box-shadow var(--t-med),border-color var(--t-med)}
.day-card:active{transform:scale(.985);box-shadow:var(--edge-hi),var(--sh-2)}
.day-name{font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:-.3px}
/* tur döngüsü: tamamlanan gün */
.day-card.cycle-done{background:linear-gradient(135deg,rgba(47,210,156,.18),rgba(47,210,156,.05));
  border-color:rgba(47,210,156,.45)}
.day-card.cycle-done .day-name{color:var(--ok)}
.day-card.cycle-done .chev{color:var(--ok)}
.done-badge{display:inline-block;font-size:var(--fs-xs);font-weight:var(--fw-bold);color:#04140d;
  background:var(--ok);border-radius:var(--r-pill);padding:2px 9px;margin-left:var(--sp-2);
  vertical-align:middle;box-shadow:var(--sh-ok)}
.day-sub{color:var(--muted);font-size:var(--fs-sm);margin-top:3px}
.chev{font-size:26px;color:var(--muted);transition:color var(--t-med)}

/* hareket satırı */
.ex-row{display:flex;align-items:center;gap:var(--sp-4);background:var(--card);
  border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-4);width:100%;
  text-align:left;color:var(--txt);box-shadow:var(--edge-hi)}
.ex-num{width:30px;height:30px;border-radius:var(--r-sm);
  background:linear-gradient(180deg,var(--surface-hi),var(--card2));
  display:flex;align-items:center;justify-content:center;font-weight:var(--fw-bold);
  font-variant-numeric:tabular-nums;color:var(--txt-2);flex:0 0 auto}
.ex-info{flex:1;min-width:0}
.ex-name{font-weight:var(--fw-semi);font-size:var(--fs-base)}
.ex-meta{color:var(--muted);font-size:var(--fs-sm);margin-top:3px}

/* seans tik (eski stil — geriye dönük) */
.ex-row.check{cursor:pointer;border:none;transition:transform var(--t-fast) var(--ease),background var(--t-fast)}
.ex-row.check:active{transform:scale(.98)}
.checkbox{width:30px;height:30px;border-radius:9px;border:2px solid var(--line);
  display:flex;align-items:center;justify-content:center;font-size:18px;color:#fff;flex:0 0 auto;transition:.15s}
.ex-row.check.done{background:rgba(47,210,156,.12)}
.ex-row.check.done .checkbox{background:var(--ok);border-color:var(--ok)}
.ex-row.check.done .ex-name{color:var(--ok)}

/* butonlar */
.btn{border:none;border-radius:var(--r-md);padding:14px 20px;font-size:var(--fs-base);
  font-weight:var(--fw-bold);cursor:pointer;color:#fff;background:var(--card2);
  box-shadow:var(--edge-hi),var(--sh-1);
  transition:transform var(--t-fast) var(--ease),box-shadow var(--t-med),filter var(--t-med)}
.btn:active{transform:scale(.98)}
.btn:disabled{opacity:.4;box-shadow:none}
.btn.primary{background:linear-gradient(135deg,var(--blue-300),var(--pri2));box-shadow:var(--edge-hi),var(--sh-pri)}
.btn.success{background:linear-gradient(135deg,var(--green-400),var(--okd));box-shadow:var(--edge-hi),var(--sh-ok)}
.btn.ghost{background:var(--card);border:1px solid var(--line);color:var(--txt);box-shadow:var(--edge-hi)}
.btn.big{width:100%;padding:18px;font-size:var(--fs-lg);letter-spacing:.2px}
.btn.full{width:100%}

.sticky-bottom{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-sticky);
  padding:var(--sp-4) var(--sp-4) max(var(--sp-4),env(safe-area-inset-bottom));
  background:linear-gradient(to top,var(--bg) 62%,rgba(11,15,26,0));max-width:520px;margin:0 auto}
.sticky-bottom.col{display:flex;flex-direction:column;gap:var(--sp-3)}

/* alt menü */
.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-nav);display:flex;
  background:rgba(15,20,34,.92);backdrop-filter:saturate(140%) blur(12px);
  border-top:1px solid var(--line);max-width:520px;margin:0 auto;
  padding-bottom:env(safe-area-inset-bottom)}
.nav-btn{flex:1;background:none;border:none;color:var(--muted);padding:11px 0 13px;
  font-size:var(--fs-xs);font-weight:var(--fw-semi);display:flex;flex-direction:column;
  align-items:center;gap:4px;cursor:pointer;position:relative;transition:color var(--t-med)}
.nav-btn span{font-size:20px;transition:transform var(--t-med) var(--ease)}
.nav-btn.active{color:var(--pri)}
.nav-btn.active span{transform:translateY(-1px) scale(1.08)}
.nav-btn.active::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:26px;height:3px;border-radius:0 0 3px 3px;background:var(--pri);box-shadow:0 0 10px var(--pri)}

/* özet */
.summary-card{text-align:center;background:linear-gradient(180deg,var(--navy-750),var(--navy-800));
  border:1px solid var(--line);border-radius:var(--r-xl);padding:var(--sp-8) var(--sp-6);width:100%;
  box-shadow:var(--edge-hi),var(--sh-3)}
.big-emoji{font-size:64px;line-height:1}
.summary-card h1{margin:var(--sp-2) 0 2px;font-size:var(--fs-2xl);letter-spacing:-.5px}
.summary-stats{display:flex;justify-content:space-around;margin:var(--sp-6) 0}
.stat-num{font-size:var(--fs-xl);font-weight:var(--fw-bold);font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.stat-lbl{color:var(--muted);font-size:var(--fs-xs);margin-top:2px}
.summary-card .btn{margin-top:var(--sp-3);width:100%}

/* rapor */
.month-switch{display:flex;align-items:center;justify-content:center;gap:18px;padding:var(--sp-1) var(--sp-4) var(--sp-4)}
.mbtn{background:var(--card);border:1px solid var(--line);color:var(--txt);
  width:42px;height:42px;border-radius:var(--r-md);font-size:22px;cursor:pointer;
  box-shadow:var(--edge-hi);transition:transform var(--t-fast) var(--ease)}
.mbtn:active{transform:scale(.94)}
.month-label{font-weight:var(--fw-bold);font-size:var(--fs-lg);min-width:130px;text-align:center;letter-spacing:-.2px}
.kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);padding:0 var(--sp-4)}
.kpi{background:linear-gradient(180deg,var(--navy-750),var(--navy-800));border:1px solid var(--line);
  border-radius:var(--radius);padding:var(--sp-4);box-shadow:var(--edge-hi),var(--sh-1);position:relative;overflow:hidden}
.kpi::after{content:"";position:absolute;top:-30px;right:-30px;width:70px;height:70px;border-radius:50%;
  background:radial-gradient(circle,rgba(91,140,255,.16),transparent 70%)}
.kpi-num{font-size:var(--fs-2xl);font-weight:var(--fw-bold);font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;letter-spacing:-1px}
.kpi-unit{font-size:14px;color:var(--muted);margin-left:2px;font-family:var(--font-sans)}
.kpi-lbl{color:var(--muted);font-size:var(--fs-xs);margin-top:3px;letter-spacing:.2px}
.section-title{padding:var(--sp-6) var(--sp-4) var(--sp-2);font-size:var(--fs-sm);color:var(--muted);
  text-transform:uppercase;letter-spacing:1.2px;margin:0;font-weight:var(--fw-semi)}

.bars{padding:0 var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3)}
.bar-row{display:flex;align-items:center;gap:var(--sp-3)}
.bar-label{width:36%;font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bar-track{flex:1;height:10px;background:var(--navy-900);border-radius:var(--r-pill);overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,.4)}
.bar-fill{height:100%;background:linear-gradient(90deg,var(--blue-400),var(--blue-300));border-radius:var(--r-pill)}
.bar-val{width:24px;text-align:right;font-weight:var(--fw-bold);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}

.hist{padding:0 var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2)}
.hist-row{display:flex;align-items:center;gap:var(--sp-4);background:var(--card);
  border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);
  width:100%;text-align:left;color:var(--txt);box-shadow:var(--edge-hi);
  transition:transform var(--t-fast) var(--ease),background var(--t-fast)}
.hist-row.tappable{cursor:pointer}
.hist-row.tappable:active{transform:scale(.99);background:var(--card2)}
.hist-date{width:48px;text-align:center;font-weight:var(--fw-bold);font-size:var(--fs-sm);line-height:1.25;font-variant-numeric:tabular-nums}
.hist-info{flex:1;min-width:0}
.hist-rate{font-weight:var(--fw-bold);color:var(--muted);font-variant-numeric:tabular-nums}
.hist-rate.full{color:var(--ok)}

/* düzenleme */
.edit-row{display:flex;align-items:center;gap:var(--sp-2);background:var(--card);
  border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-3);box-shadow:var(--edge-hi)}
.edit-main{flex:1;background:none;border:none;color:var(--txt);text-align:left;cursor:pointer;min-width:0}
.icon-btn{background:var(--card2);border:1px solid var(--line);border-radius:var(--r-sm);
  padding:10px;font-size:16px;cursor:pointer;color:var(--txt);transition:transform var(--t-fast) var(--ease)}
.icon-btn:active{transform:scale(.92)}
.icon-btn.danger{color:var(--danger)}
.icon-btn.small{font-size:var(--fs-sm);padding:8px 12px;align-self:flex-start}

.form{display:flex;flex-direction:column;gap:var(--sp-3);padding-top:var(--sp-2)}
.lbl{color:var(--muted);font-size:var(--fs-sm);margin-top:var(--sp-3);font-weight:var(--fw-semi);letter-spacing:.2px}
.inp{background:var(--navy-850);border:1px solid var(--line);border-radius:var(--r-md);
  padding:14px;color:var(--txt);font-size:var(--fs-base);width:100%;outline:none;
  transition:border-color var(--t-med),box-shadow var(--t-med)}
.inp::placeholder{color:#6b7596}
.inp:focus{border-color:var(--pri);box-shadow:0 0 0 3px rgba(91,140,255,.18)}
.big-inp{font-size:var(--fs-lg)}
.ex-edit-list{display:flex;flex-direction:column;gap:var(--sp-3)}
.ex-edit{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);
  padding:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-2);box-shadow:var(--edge-hi)}
.ex-edit-grid{display:grid;grid-template-columns:1fr 64px 72px;gap:var(--sp-2)}
.inp.sm{padding:14px 8px;text-align:center}
.inp.note{font-size:var(--fs-sm)}

.info-box{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);
  padding:var(--sp-4);font-size:var(--fs-sm);line-height:1.6;margin-bottom:var(--sp-2);box-shadow:var(--edge-hi)}

.toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%) translateY(20px);
  background:var(--surface-hi);border:1px solid var(--line);color:var(--txt);padding:12px 20px;
  border-radius:var(--r-md);font-weight:var(--fw-semi);opacity:0;transition:.3s var(--ease);
  z-index:var(--z-toast);box-shadow:var(--sh-3)}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.error{background:rgba(255,100,114,.12);color:var(--danger);padding:var(--sp-4);border-radius:var(--r-md);margin:var(--sp-4)}

/* tıklanabilir satır + play ikon */
.ex-row.tappable{cursor:pointer;justify-content:space-between;transition:transform var(--t-fast) var(--ease)}
.ex-row.tappable:active{transform:scale(.99)}
.play-ic{color:var(--pri);font-size:14px;background:var(--card2);width:34px;height:34px;
  border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;flex:0 0 auto;box-shadow:var(--edge-hi)}
.ex-tap{flex:1;display:flex;align-items:center;gap:var(--sp-4);background:none;border:none;
  color:var(--txt);text-align:left;cursor:pointer;min-width:0;padding:0}
.play-ic-btn{background:var(--card2);border:1px solid var(--line);color:var(--pri);width:42px;height:42px;
  border-radius:var(--r-md);font-size:15px;cursor:pointer;flex:0 0 auto;
  box-shadow:var(--edge-hi);transition:transform var(--t-fast) var(--ease)}
.play-ic-btn:active{transform:scale(.92)}

/* modal */
.modal-bg{position:fixed;inset:0;background:rgba(4,7,14,.66);backdrop-filter:blur(6px);
  z-index:var(--z-modal);display:flex;align-items:flex-end;justify-content:center;opacity:0;transition:opacity var(--t-med)}
.modal-bg.show{opacity:1}
.modal{background:var(--bg2);border:1px solid var(--line);border-top:1px solid rgba(255,255,255,.07);
  border-radius:var(--r-xl) var(--r-xl) 0 0;width:100%;max-width:520px;max-height:88vh;overflow-y:auto;
  padding:var(--sp-6) var(--sp-5) max(var(--sp-6),env(safe-area-inset-bottom));
  position:relative;transform:translateY(30px);transition:transform .26s var(--ease);box-shadow:var(--sh-3)}
.modal-bg.show .modal{transform:translateY(0)}
.modal::before{content:"";position:absolute;top:9px;left:50%;transform:translateX(-50%);
  width:40px;height:4px;border-radius:var(--r-pill);background:var(--surface-hi)}
.modal-x{position:absolute;top:14px;right:14px;background:var(--card2);border:1px solid var(--line);
  color:var(--txt);width:34px;height:34px;border-radius:50%;font-size:15px;cursor:pointer}
.modal-title{margin:var(--sp-3) 40px var(--sp-4) 0;font-size:var(--fs-xl);letter-spacing:-.3px}
.video-wrap{position:relative;width:100%;padding-top:56.25%;border-radius:var(--r-md);overflow:hidden;background:#000;margin-bottom:var(--sp-4)}
.video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-none{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);
  padding:var(--sp-6);text-align:center;color:var(--muted);margin-bottom:var(--sp-4)}

/* hareket detay modalı */
.modal-title{font-size:var(--fs-xl);line-height:1.2}
.modal-sub{color:var(--txt-2);font-size:var(--fs-md);margin:-6px 0 var(--sp-2);font-weight:var(--fw-med)}
.ex-scheme{display:inline-block;font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:var(--fw-bold);
  color:var(--blue-300);background:rgba(91,140,255,.12);border:1px solid rgba(91,140,255,.25);
  border-radius:var(--r-pill);padding:4px 12px;margin-bottom:var(--sp-3)}
.superset-hint{display:flex;align-items:center;gap:6px;color:var(--accent);font-size:var(--fs-sm);
  font-weight:var(--fw-semi);background:rgba(255,167,51,.1);border:1px solid rgba(255,167,51,.22);
  border-radius:var(--r-md);padding:9px 13px;margin-bottom:var(--sp-4)}
.move-list{display:flex;flex-direction:column;gap:var(--sp-3)}
.move-block{display:flex;gap:var(--sp-3);background:var(--card);border:1px solid var(--line);
  border-radius:var(--r-md);padding:var(--sp-4);box-shadow:var(--edge-hi)}
.move-idx{width:28px;height:28px;flex:0 0 auto;border-radius:var(--r-sm);
  background:linear-gradient(135deg,var(--amber-400),var(--orange-500));color:#2a1400;
  display:flex;align-items:center;justify-content:center;font-weight:var(--fw-bold);font-size:var(--fs-sm)}
.move-body{flex:1;min-width:0}
.move-name{font-weight:var(--fw-bold);font-size:var(--fs-lg);letter-spacing:-.2px;margin-bottom:6px}
.move-how{color:var(--txt-2);font-size:var(--fs-md);line-height:1.6;margin:0 0 var(--sp-3)}
.yt-btn{width:100%;padding:12px;font-size:var(--fs-md)}

/* devam-et bandı */
.resume-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);
  margin:var(--sp-2) var(--sp-4) var(--sp-1);padding:var(--sp-4);border-radius:var(--radius);
  width:calc(100% - 32px);cursor:pointer;border:none;color:#04140d;text-align:left;
  background:linear-gradient(135deg,var(--green-400),var(--green-500));box-shadow:var(--sh-ok)}
.resume-title{font-weight:var(--fw-bold);font-size:var(--fs-base)}
.resume-sub{font-size:var(--fs-sm);opacity:.82;margin-top:2px}
.resume-go{font-weight:var(--fw-bold);white-space:nowrap}
.warn-strip{margin:0 var(--sp-4) var(--sp-2);background:rgba(255,192,86,.13);color:var(--warn);
  border-radius:var(--r-md);padding:10px 14px;font-size:var(--fs-sm)}

/* seans başlık + ilerleme */
.session-top{display:flex;align-items:center;gap:var(--sp-3);padding:max(18px,env(safe-area-inset-top)) var(--sp-4) var(--sp-3)}
.back.small{width:38px;height:38px;font-size:22px}
.session-day{flex:1;font-weight:var(--fw-bold);font-size:var(--fs-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.2px}
/* kronometre = efor anı: sıcak accent + mono */
.clock{font-size:var(--fs-3xl);font-weight:var(--fw-bold);font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;letter-spacing:-1.5px;
  background:linear-gradient(135deg,var(--amber-400),var(--orange-500));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.progress-pill{background:var(--card);border:1px solid var(--line);padding:8px 16px;
  border-radius:var(--r-pill);font-weight:var(--fw-bold);font-size:var(--fs-lg);font-variant-numeric:tabular-nums}
.prog-wrap{position:relative;height:26px;margin:2px var(--sp-4) var(--sp-2);background:var(--navy-900);
  border-radius:var(--r-pill);overflow:hidden;box-shadow:inset 0 1px 3px rgba(0,0,0,.45)}
.prog-bar{height:100%;background:linear-gradient(90deg,var(--blue-400),var(--green-400));
  border-radius:var(--r-pill);transition:width var(--t-med) var(--ease)}
.prog-txt{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.3px;text-shadow:0 1px 2px rgba(0,0,0,.5)}
.session-list{padding-bottom:170px}

/* hareket kartı + set kutucukları */
.ex-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:var(--sp-4);box-shadow:var(--edge-hi),var(--sh-1);transition:background var(--t-med),border-color var(--t-med)}
.ex-card.done{background:rgba(47,210,156,.08);border-color:rgba(47,210,156,.32)}
.ex-card-head{display:flex;align-items:center;gap:var(--sp-3)}
.ex-card .ex-info{flex:1;min-width:0;cursor:pointer}
.ex-card.done .ex-name{color:var(--ok)}
.set-dots{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center;margin-top:var(--sp-3)}
.set-dot{width:46px;height:46px;border-radius:var(--r-md);border:2px solid var(--line);
  background:linear-gradient(180deg,var(--surface-hi),var(--card2));color:var(--muted);
  font-weight:var(--fw-bold);font-size:var(--fs-base);font-variant-numeric:tabular-nums;
  cursor:pointer;transition:transform var(--t-fast) var(--ease),background var(--t-fast),border-color var(--t-fast)}
.set-dot:active{transform:scale(.9)}
/* tamamlanan set = efor doldu: sıcak accent */
.set-dot.on{background:linear-gradient(135deg,var(--amber-400),var(--orange-500));border-color:transparent;color:#2a1400;box-shadow:0 4px 12px -3px rgba(255,122,60,.5)}
.set-label{color:var(--muted);font-size:var(--fs-xs);margin-left:auto;font-weight:var(--fw-semi);font-variant-numeric:tabular-nums}

/* dinlenme sayacı = efor/sıcak tema */
#rest-bar:empty{display:none}
.rest{position:fixed;left:0;right:0;bottom:84px;z-index:var(--z-rest);max-width:520px;margin:0 auto;
  display:flex;align-items:center;gap:var(--sp-3);padding:10px 14px;
  background:rgba(28,38,64,.96);backdrop-filter:blur(8px);
  border-top:1px solid rgba(255,167,51,.3);box-shadow:0 -8px 24px -6px rgba(4,8,20,.6)}
.rest-mid{flex:1;text-align:center}
.rest-time{font-size:var(--fs-xl);font-weight:var(--fw-bold);font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;color:var(--accent);letter-spacing:-1px}
.rest-lbl{font-size:var(--fs-xs);color:var(--muted)}
.rest-adj{background:var(--card);border:1px solid var(--line);color:var(--txt);
  border-radius:var(--r-sm);padding:10px 12px;font-weight:var(--fw-bold);cursor:pointer;font-variant-numeric:tabular-nums}
.rest-skip{background:var(--danger);border:none;color:#fff;border-radius:var(--r-sm);padding:10px 12px;font-weight:var(--fw-bold);cursor:pointer}

/* seans detay (geçmiş) */
.det-summary{display:flex;justify-content:space-between;background:var(--card);
  border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;font-weight:var(--fw-semi);
  font-size:var(--fs-sm);margin-bottom:var(--sp-3);box-shadow:var(--edge-hi)}
.det-list{display:flex;flex-direction:column;gap:var(--sp-2)}
.det-row{display:flex;align-items:center;gap:var(--sp-3);background:var(--card);
  border:1px solid var(--line);border-radius:var(--r-md);padding:11px 13px}
.det-row.skip{opacity:.5}
.det-check{width:26px;height:26px;border-radius:8px;background:rgba(47,210,156,.18);color:var(--ok);
  display:flex;align-items:center;justify-content:center;font-weight:var(--fw-bold);flex:0 0 auto}
.det-row.skip .det-check{background:var(--card2);color:var(--muted)}
.det-info{flex:1;min-width:0}
.det-time{font-weight:var(--fw-bold);font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums}

/* hareket azaltma tercihi (erişilebilirlik) */
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}
}
