/* ── باشگاه میلاد | مشکی/طلایی قهرمانی ─────────────────────────────────── */
: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;padding-top:max(14px, env(safe-area-inset-top));
  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:17px;letter-spacing:1.5px}
.brand small{display:block;color:var(--gold);font-size:9px;letter-spacing:2.5px}
.logo{width:40px;height:40px;border-radius:50%;object-fit:cover;
  box-shadow:0 0 0 2px var(--gold-dk), 0 4px 14px rgba(245,166,35,.3)}
.logo-lg{width:110px;height:110px;border-radius:50%;object-fit:cover;margin:0 auto 16px;display:block;
  box-shadow:0 0 0 3px var(--gold-dk), 0 0 40px rgba(245,166,35,.25)}
.silver{background:linear-gradient(180deg,#ffffff 0%,#e8eaee 30%,#9aa2ad 55%,#d9dde3 75%,#7d8590 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;font-weight:900}
.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;display:block;width:100%}
.field label{display:block;font-size:13px;color:var(--mut);margin-bottom:6px;width:100%}
/* همه اینپوت‌ها خاکستری تیره — نه سفید مرورگر */
input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=hidden]):not([type=image]),
textarea,select,
.field input,.field textarea,.field select,
.auth input,.auth textarea,.auth select{
  display:block;width:100%;max-width:100%;padding:13px 14px;border-radius:12px;border:1px solid var(--line);
  background:#1c1c1c !important;color:var(--txt) !important;font:inherit;font-size:16px;
  -webkit-appearance:none;appearance:none;box-sizing:border-box
}
textarea,.field textarea,.auth textarea{min-height:140px;line-height:1.9;resize:vertical}
textarea.tall,.field textarea.tall{min-height:220px}
input[type=file],.file-pick{
  padding:12px;background:#222 !important;color:var(--mut) !important;border:1px dashed #3a3a3a
}
input:focus,textarea:focus,select:focus,.field input:focus,.field textarea:focus{
  outline:none;border-color:var(--gold) !important;
  box-shadow:0 0 0 3px rgba(245,166,35,.15)
}
input:-webkit-autofill,textarea:-webkit-autofill,select:-webkit-autofill{
  -webkit-text-fill-color:#f2f2f2 !important;
  box-shadow:0 0 0 1000px #1c1c1c inset !important;
  transition:background-color 99999s ease-out
}
.form-stack{display:flex;flex-direction:column;gap:4px;width:100%;max-width:480px;text-align:right}
.form-stack .field{margin-bottom:12px}
.check-row{display:flex;align-items:center;gap:10px;justify-content:flex-start;margin:14px 0;text-align:right}
.check-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--gold)}
.upload-status{font-size:12px;color:var(--gold);margin-top:8px;min-height:1.2em}
.chat-thread{display:flex;flex-direction:column;gap:10px;margin-bottom:18px;max-height:55vh;overflow:auto;padding:4px}
.chat-bubble{max-width:88%;padding:10px 12px;border-radius:14px;font-size:14px;line-height:1.8;white-space:pre-wrap}
.chat-bubble.me{align-self:flex-start;background:#1c1c1c;border:1px solid var(--line)}
.chat-bubble.coach{align-self:flex-end;background:rgba(245,166,35,.12);border:1px solid rgba(245,166,35,.35)}
.chat-bubble .meta{display:block;font-size:11px;color:var(--mut);margin-bottom:4px}
.diet-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:8px}
.diet-table th,.diet-table td{border:1px solid var(--line);padding:10px 12px;text-align:right;vertical-align:top}
.diet-table th{background:#1a1a1a;color:var(--gold);font-weight:800}
.diet-table tr:nth-child(even) td{background:#141414}
.diet-table tr:nth-child(odd) td{background:#101010}
.ss-tag.prev{background:#7f1d1d}
.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 group + chain */
.ss-group{display:flex;flex-direction:column;margin-bottom:10px}
.ss-group .ex{margin-bottom:0}
.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;letter-spacing:.2px}
.ss-chain{display:flex;align-items:center;justify-content:center;
  height:28px;margin:2px 0;color:#f87171;font-size:18px;
  position:relative;z-index:2}
.ss-chain::before,.ss-chain::after{
  content:"";position:absolute;width:2px;height:8px;background:var(--red);opacity:.7}
.ss-chain::before{top:0}
.ss-chain::after{bottom:0}

/* start workout — athletic darker green, bottom of list */
.btn-start{display:block;width:100%;margin:18px 0 8px;padding:16px 18px;
  border:none;border-radius:14px;background:linear-gradient(180deg,#1a7a3c 0%,#14532d 100%);
  color:#ecfdf5;font-size:18px;font-weight:800;font-family:inherit;cursor:pointer;
  letter-spacing:.5px;box-shadow:0 6px 18px rgba(20,83,45,.45);border:1px solid #166534}
.btn-start:active{transform:scale(.98);filter:brightness(.95)}
.btn.ghost{background:transparent;border:1px solid var(--line);color:#ddd}
.wo-progress{font-size:13px;color:var(--mut);margin-bottom:12px}
.wo-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px}
.wo-ss .wo-card{margin:0}
.set-circles{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:10px}
.set-dot{width:38px;height:38px;border-radius:50%;border:2px solid #1a7a3c;
  background:transparent;cursor:pointer;padding:0;color:transparent;font-weight:900;
  font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.set-dot.on{background:transparent;border-color:#22c55e;color:#22c55e;
  box-shadow:0 0 0 3px rgba(34,197,94,.18)}
#btnNextEx:disabled{opacity:.45;cursor:not-allowed}

/* supplement reminders */
.rem-box{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;margin-top:16px}
.rem-box h3{margin:0 0 8px;font-size:15px;color:var(--gold)}
.rem-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0}
.rem-row input[type=time],.rem-row input[type=text]{flex:1;min-width:120px}
.rem-list{list-style:none;padding:0;margin:12px 0 0}
.rem-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:10px 12px;border:1px solid var(--line);border-radius:12px;margin-bottom:8px;font-size:13px}
.rem-list button{padding:6px 10px;font-size:12px}

/* gallery tabs */
.gal-tabs{display:flex;gap:8px;margin-bottom:14px}
.gal-tabs a{flex:1;text-align:center;padding:10px;border-radius:12px;
  border:1px solid var(--line);background:var(--card);color:var(--mut);font-size:13px;font-weight:700}
.gal-tabs a.on{border-color:var(--gold);color:var(--gold);background:rgba(245,166,35,.08)}

/* 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}
.warnbox{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.45);
  color:#fde68a;border-radius:10px;padding:12px 14px;font-size:13px;margin-bottom:8px}
input.code{text-align:center;letter-spacing:12px;font-size:24px!important;font-weight:800}

/* گالری */
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.gallery a{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line);display:block}
.gallery img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}
.gallery span{position:absolute;bottom:0;right:0;left:0;padding:6px 10px;font-size:11px;
  color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.8))}
/* نوار ۷تایی جمع‌وجورتر */
.bottomnav a{font-size:10px;padding:5px 0}
.bottomnav a span{font-size:18px}

/* اسپلش داخل اپ */
#splash{position:fixed;inset:0;z-index:999;background:#0a0a0a;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background-image:radial-gradient(ellipse 70% 45% at 50% 40%, rgba(245,166,35,.12), transparent);
  transition:opacity .7s ease}
#splash.hide{opacity:0;pointer-events:none}
#splash .s-logo{width:160px;height:160px;border-radius:50%;object-fit:cover;
  box-shadow:0 0 0 3px var(--gold-dk), 0 0 60px rgba(245,166,35,.45);
  animation:s-pop 1s cubic-bezier(.2,1.4,.4,1) both}
#splash .s-name{margin-top:20px;font-size:28px;letter-spacing:4px;
  opacity:0;animation:s-up .7s .5s ease both}
#splash .s-sub{margin-top:6px;color:var(--gold);font-size:11px;letter-spacing:5px;
  opacity:0;animation:s-up .7s .8s ease both}
#splash .s-credit{position:absolute;bottom:max(24px, env(safe-area-inset-bottom));
  font-size:12px;letter-spacing:1px;opacity:0;animation:s-up .8s 1.4s ease both;
  background:linear-gradient(90deg,#2eb98a,#9fe8cd 40%,#c9cdd4 70%,#8b939e);
  -webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700}
@keyframes s-pop{from{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes s-up{from{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:1}}
/* اپ نصب‌شده: دکمه نصب هرگز نمایش داده نشه */
@media (display-mode: standalone){ .install-link{display:none !important} }

/* لودینگ ناوبری / آپلود — شبیه اسپلش */
.nav-load{position:fixed;inset:0;z-index:998;background:#0a0a0a;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background-image:radial-gradient(ellipse 70% 45% at 50% 40%, rgba(245,166,35,.12), transparent);
  opacity:0;pointer-events:none;transition:opacity .28s ease}
.nav-load.on{opacity:1;pointer-events:auto}
.nav-load .nl-logo{width:96px;height:96px;border-radius:50%;object-fit:cover;
  box-shadow:0 0 0 2px #b8860b, 0 0 40px rgba(245,166,35,.4);
  animation:s-pop .7s cubic-bezier(.2,1.4,.4,1) both}
.nav-load .nl-name{margin-top:14px;font-size:18px;letter-spacing:3px;
  opacity:0;animation:s-up .5s .25s ease both}
.btn.ghost,.c-btn.ghost{background:transparent;border:1px solid #3a3a3a;color:#e8e8e8}
img.avatar{width:56px;height:56px;border-radius:50%;display:block}
