/* ── باشگاه میلاد | مشکی/طلایی قهرمانی ─────────────────────────────────── */
:root{
  --bg:#0a0a0a; --card:#151515; --card2:#1d1d1d; --line:#2a2a2a;
  --gold:#F5A623; --gold-dk:#c47f0a; --red:#dc2626;
  --txt:#f2f2f2; --mut:#9aa0a8;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  font-family:Vazirmatn,Tahoma,sans-serif;background:var(--bg);color:var(--txt);
  min-height:100dvh;padding-bottom:76px;
  background-image:radial-gradient(ellipse 80% 40% at 50% -10%, rgba(245,166,35,.08), transparent);
}
a{color:inherit;text-decoration:none}

/* topbar */
.topbar{display:flex;align-items:center;justify-content:space-between;
  padding:14px 16px;border-bottom:1px solid var(--line);
  background:rgba(10,10,10,.9);backdrop-filter:blur(8px);position:sticky;top:0;z-index:10}
.brand{display:flex;align-items:center;gap:10px}
.brand b{font-size:16px;letter-spacing:.3px}
.brand small{display:block;color:var(--gold);font-size:11px}
.plate{width:34px;height:34px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%, #ffd06e, var(--gold) 55%, var(--gold-dk));
  box-shadow:0 0 0 3px #000, 0 0 0 4px var(--gold-dk), 0 4px 14px rgba(245,166,35,.35);
  position:relative}
.plate::after{content:"";position:absolute;inset:11px;border-radius:50%;background:#0a0a0a}
.logout{color:var(--mut);font-size:13px;border:1px solid var(--line);
  padding:6px 12px;border-radius:9px}

.wrap{max-width:520px;margin:0 auto;padding:18px 16px}

/* auth */
.auth{margin-top:8vh;text-align:center}
.auth .plate{width:72px;height:72px;margin:0 auto 14px}
.auth .plate::after{inset:24px}
.auth h1{font-size:22px;margin-bottom:4px}
.auth p{color:var(--mut);font-size:13px;margin-bottom:26px}
.field{text-align:right;margin-bottom:14px}
.field label{display:block;font-size:13px;color:var(--mut);margin-bottom:6px}
.field input{width:100%;padding:13px 14px;border-radius:12px;border:1px solid var(--line);
  background:var(--card);color:var(--txt);font:inherit;font-size:16px}
.field input:focus{outline:none;border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(245,166,35,.15)}
.btn{display:block;width:100%;padding:14px;border:none;border-radius:12px;
  background:linear-gradient(180deg,#ffc14d,var(--gold) 60%,var(--gold-dk));
  color:#151000;font:inherit;font-size:16px;font-weight:800;cursor:pointer;
  box-shadow:0 6px 18px rgba(245,166,35,.28)}
.btn:active{transform:translateY(1px)}
.alt{display:block;margin-top:16px;color:var(--gold);font-size:14px}
.err{background:rgba(220,38,38,.12);border:1px solid rgba(220,38,38,.4);
  color:#fca5a5;border-radius:10px;padding:11px 13px;font-size:13px;margin-bottom:16px;text-align:right}

/* profile card */
.profile{display:flex;align-items:center;gap:14px;background:var(--card);
  border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:20px}
.avatar{width:52px;height:52px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--gold),var(--gold-dk));
  display:flex;align-items:center;justify-content:center;
  font-size:22px;font-weight:800;color:#151000}
.profile h2{font-size:16px}
.stats{display:flex;gap:12px;margin-top:5px;color:var(--mut);font-size:12px}
.stats b{color:var(--gold)}

/* section title */
.sect{display:flex;align-items:center;gap:10px;margin:22px 2px 12px;color:var(--mut);
  font-size:13px;font-weight:700}
.sect::after{content:"";flex:1;height:1px;background:var(--line)}

/* day plates grid */
.days{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.day{position:relative;background:var(--card);border:1px solid var(--line);
  border-radius:16px;padding:18px 16px;overflow:hidden}
.day:active{background:var(--card2)}
.day .n{font-size:26px;font-weight:900;color:var(--gold)}
.day .l{color:var(--mut);font-size:12px;margin-top:3px}
.day::before{content:"";position:absolute;left:-18px;top:-18px;width:64px;height:64px;
  border-radius:50%;border:8px solid rgba(245,166,35,.10)}

/* exercise rows */
.exlist{display:flex;flex-direction:column}
.ex{background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:14px;margin-bottom:10px;display:flex;align-items:center;gap:12px;position:relative}
.ex:active{background:var(--card2)}
.ex .num{width:30px;height:30px;border-radius:50%;background:var(--gold);
  color:#151000;font-weight:800;display:flex;align-items:center;justify-content:center;
  font-size:13px;flex-shrink:0}
.ex .info{flex:1;min-width:0}
.ex .name{font-size:14px;font-weight:700}
.ex .sr{margin-top:5px;display:flex;gap:8px}
.chip{font-size:11px;padding:3px 9px;border-radius:99px;font-weight:700}
.chip.set{background:rgba(22,163,74,.15);color:#4ade80;border:1px solid rgba(22,163,74,.4)}
.chip.rep{background:rgba(124,58,237,.15);color:#c4b5fd;border:1px solid rgba(124,58,237,.4)}
.ex .go{color:var(--mut)}
/* superset link */
.ex.ss{border-right:3px solid var(--red)}
.ss-tag{position:absolute;top:-8px;left:14px;background:var(--red);color:#fff;
  font-size:10px;font-weight:800;padding:2px 9px;border-radius:99px}
.ss-join{width:3px;height:10px;background:var(--red);margin:-10px auto 0;
  position:relative;z-index:2}

/* exercise detail */
.media{width:100%;border-radius:16px;border:1px solid var(--line);display:block;margin-bottom:14px}
.desc{background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:16px;font-size:14px;line-height:2;color:#d9d9d9;white-space:pre-wrap}
.back{display:inline-flex;align-items:center;gap:6px;color:var(--gold);
  font-size:14px;margin-bottom:14px}

/* text page (diet/supp) */
.textcard{background:var(--card);border:1px solid var(--line);border-radius:16px;
  padding:18px;font-size:14px;line-height:2.1;white-space:pre-wrap;color:#e6e6e6}
.empty{text-align:center;color:var(--mut);padding:60px 10px;font-size:14px}
.empty span{font-size:40px;display:block;margin-bottom:12px}

/* bottom nav */
.bottomnav{position:fixed;bottom:0;right:0;left:0;display:flex;
  background:rgba(12,12,12,.96);backdrop-filter:blur(10px);
  border-top:1px solid var(--line);padding:6px 0 max(6px, env(safe-area-inset-bottom));z-index:20}
.bottomnav a{flex:1;text-align:center;color:var(--mut);font-size:11px;padding:6px 0}
.bottomnav a span{display:block;font-size:20px;margin-bottom:2px;filter:grayscale(.6);opacity:.7}
.bottomnav a.on{color:var(--gold)}
.bottomnav a.on span{filter:none;opacity:1}

@media (prefers-reduced-motion: reduce){*{transition:none!important}}

/* راهنمای کد + پیام موفق */
.guide{text-align:right;background:var(--card);border:1px solid var(--line);
  border-radius:14px;padding:14px 16px;font-size:13px;margin-bottom:16px;color:#d9d9d9}
.guide b{color:var(--gold);display:block;margin-bottom:8px}
.guide ol{margin:0 18px 0 0;line-height:2}
.okbox{background:rgba(22,163,74,.12);border:1px solid rgba(22,163,74,.4);
  color:#86efac;border-radius:10px;padding:11px 13px;font-size:13px;margin-bottom:16px;text-align:right}
input.code{text-align:center;letter-spacing:12px;font-size:24px!important;font-weight:800}
