/* ============================================================
   نیکراد — استایل سراسری (تم تیرهٔ تمام‌مشکی، پوستهٔ اپلیکیشنی)
   پالت: پس‌زمینه #0A0A0A / سطح #1A1A1A / حاشیه #4A4A4A / نعنایی #3DDC84
   ============================================================ */
:root{
  --bg:#0A0A0A;
  --surface:#1A1A1A;
  --surface-2:#202020;
  --surface-3:#2A2A2A;
  --border:#4A4A4A;
  --border-soft:#333333;
  --gray-400:#9E9E9E;
  --text:#F5F5F5;
  --text-dim:#A8A8A8;
  --primary:#3DDC84;
  --primary-dark:#1B3A28;
  --primary-soft:rgba(61,220,132,.14);
  --danger:#F0544C;
  --r-md:.75rem;--r-lg:1rem;--r-xl:1.5rem;
  --shadow-lg:0 18px 50px -12px rgba(0,0,0,.7);
  --tabbar-h:4.5rem;
  --font:'Vazirmatn','Peyda',Tahoma,sans-serif;
}
html[data-theme="light"]{
  --bg:#F5F6F8;
  --surface:#FFFFFF;--surface-2:#FFFFFF;--surface-3:#EEF1F5;
  --border:#D8DCE2;--border-soft:#E4E7EC;
  --text:#101828;--text-dim:#667085;
  --primary:#1FA968;
  --primary-dark:#DFF5E9;
  --shadow-lg:0 18px 50px -18px rgba(16,24,40,.18);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  font-family:var(--font);
  background:var(--bg);
  color:var(--text);
  min-height:100dvh;
  line-height:1.7;
  font-size:15px;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit}
input,select{font-family:inherit;font-size:1rem}
::selection{background:var(--primary);color:#04150B}
input.num{direction:ltr;text-align:left}

.container{max-width:72rem;margin-inline:auto;padding-inline:1.25rem}
.card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-lg);padding:1.1rem;box-shadow:0 1px 2px rgba(0,0,0,.3)}

/* ===== دکمه‌ها ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:700;font-size:.95rem;padding:.85rem 1.4rem;border-radius:1rem;transition:transform .15s,background .25s,color .25s,box-shadow .2s;user-select:none;width:100%}
.btn:active{transform:scale(.97)}
.btn-primary{background:var(--primary);color:#04150B;box-shadow:0 8px 24px -10px rgba(61,220,132,.55)}
.btn-primary:hover{box-shadow:0 10px 28px -8px rgba(61,220,132,.65)}
/* حالت خالی: سبز تیرهٔ کم‌رنگ + متن سبز متوسط (مطابق الگوی مرجع) */
.btn-primary.is-empty{background:var(--primary-dark);color:color-mix(in srgb,var(--primary) 75%,#fff 25%);box-shadow:none}
.btn-primary:disabled{background:var(--primary-dark);color:color-mix(in srgb,var(--primary) 55%,#fff 45%);cursor:not-allowed}
.btn-white{background:#fff;color:#0A0A0A;font-weight:800;border-radius:999px}
.btn-ghost{background:var(--surface-3);border:1px solid var(--border);color:var(--text)}
.btn[disabled]{opacity:.7;pointer-events:none}
.btn-sm{padding:.45rem 1rem;font-size:.85rem;width:auto}
.icon-btn{width:2.6rem;height:2.6rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#2A2A2A;border:none;font-size:1.05rem;color:var(--text);transition:background .2s}
.icon-btn:hover{background:#333}

/* ===== اسپلش ===== */
#splash{position:fixed;inset:0;z-index:200;background:#000;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1.5rem;transition:opacity .5s,visibility .5s}
#splash.done{opacity:0;visibility:hidden;pointer-events:none}
.splash-mark{display:flex;gap:.45rem;direction:ltr}
.splash-mark i{width:.85rem;height:2.6rem;border-radius:.3rem;background:var(--primary);opacity:0;transform:translateY(1.6rem) scaleY(.3)}
#splash.play .splash-mark i{animation:blk .95s cubic-bezier(.2,.8,.3,1) forwards}
#splash.play .splash-mark i:nth-child(1){animation-delay:.05s}
#splash.play .splash-mark i:nth-child(2){animation-delay:.2s}
#splash.play .splash-mark i:nth-child(3){animation-delay:.35s}
#splash.play .splash-mark i:nth-child(4){animation-delay:.5s}
@keyframes blk{40%{opacity:1;transform:translateY(0) scaleY(1)}75%{opacity:1;transform:translateY(0) scaleY(1)}100%{opacity:0;transform:translateY(-.8rem) scaleY(.6)}}
.splash-word{font-weight:800;font-size:1.35rem;letter-spacing:.05em;color:#fff;opacity:0}
#splash.play .splash-word{animation:wrd .8s .55s forwards}
@keyframes wrd{to{opacity:1}}

/* ============================================================
   آنبوردینگ: کاروسل اسلایدی با کارت‌های اسکورکل (قبل از احراز)
   ============================================================ */
#onboard{position:fixed;inset:0;z-index:190;background:#000;display:none}
#onboard.open{display:flex;align-items:center;justify-content:center}
.onb-track{width:100%;max-width:24rem;padding:1.25rem;display:flex;flex-direction:column;gap:1rem;overflow:hidden}
.onb-viewport{overflow:hidden;border-radius:2rem}
.onb-strip{display:flex;transition:transform .4s cubic-bezier(.2,.8,.3,1)}
.onb-card{flex:0 0 100%;min-height:22rem;border-radius:2rem;padding:2rem 1.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1rem;text-align:center;background:radial-gradient(120% 90% at 80% 0%,#123B26 0%,#0E1B2E 60%,#0A0A0A 100%);border:1px solid var(--border-soft);position:relative;overflow:hidden}
.onb-card::after{content:'';position:absolute;inset:auto -30% -55% -30%;height:60%;border-radius:50%;background:radial-gradient(closest-side,rgba(61,220,132,.28),transparent);filter:blur(24px)}
.onb-ill{width:7rem;height:7rem;border-radius:2.2rem;display:flex;align-items:center;justify-content:center;font-size:3.2rem;background:linear-gradient(145deg,#243B2E,#101A14);border:1px solid rgba(255,255,255,.14);box-shadow:0 20px 40px -18px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.12);position:relative;z-index:1}
.onb-card h2{color:#fff;font-size:1.4rem;font-weight:800;z-index:1}
.onb-card p{color:rgba(255,255,255,.65);font-size:.9rem;z-index:1}
.onb-dots{display:flex;gap:.45rem;justify-content:center;align-items:center}
.onb-dots i{width:.45rem;height:.45rem;border-radius:999px;background:#4A4A4A;transition:all .3s}
.onb-dots i.on{width:1.5rem;background:#fff}
.onb-actions{display:flex;flex-direction:column;gap:.6rem}
.onb-next{width:100%}
.onb-skip{color:var(--text-dim);font-size:.85rem;text-align:center;padding:.4rem}
#onboard.leaving{opacity:0;transition:opacity .4s}

/* ============================================================
   احراز هویت: بک‌گراند مشکی + تصویرسازی بالا + شیت پایینی
   ============================================================ */
.auth-page{display:flex;flex-direction:column;min-height:100dvh;background:#000;overflow:hidden}
.auth-visual{position:relative;height:42dvh;min-height:16rem;flex:none;overflow:hidden;
  background:
    radial-gradient(60% 55% at 68% 34%,rgba(61,220,132,.22),transparent 70%),
    radial-gradient(45% 40% at 30% 60%,rgba(93,76,240,.20),transparent 70%),
    radial-gradient(35% 30% at 82% 70%,rgba(240,120,200,.10),transparent 70%),
    #000;
  filter:none}
/* هالهٔ سه‌بعدی‌نما (CSS خالص، بدون تصویر) */
.auth-visual .av-glow{position:absolute;inset:0;background:radial-gradient(45% 38% at 50% 46%,rgba(61,220,132,.16),transparent 70%)}
.auth-visual .av-coin{position:absolute;left:50%;top:44%;width:8.5rem;height:8.5rem;transform:translate(-50%,-50%) rotate(-12deg);border-radius:50%;
  background:conic-gradient(from 210deg,#2E7D4F,#3DDC84 25%,#155E38 55%,#3DDC84 78%,#2E7D4F);
  box-shadow:0 30px 60px -20px rgba(61,220,132,.35),inset 0 -8px 18px rgba(0,0,0,.55),inset 0 8px 14px rgba(255,255,255,.18)}
.auth-visual .av-coin::before{content:'ن';position:absolute;inset:14%;border-radius:50%;background:radial-gradient(120% 120% at 35% 25%,#123B26,#06130B);display:flex;align-items:center;justify-content:center;color:var(--primary);font-weight:800;font-size:2.6rem;box-shadow:inset 0 4px 10px rgba(0,0,0,.6)}
.auth-visual .av-coin.sm{left:26%;top:26%;width:3.2rem;height:3.2rem;opacity:.85}
.auth-visual .av-coin.sm::before{font-size:1rem}
.auth-visual .av-coin.sm2{left:auto;right:20%;top:64%;width:2.3rem;height:2.3rem;opacity:.7}
.auth-visual .av-coin.sm2::before{font-size:.75rem}
.auth-visual .av-ring{position:absolute;left:50%;top:44%;width:13rem;height:13rem;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(255,255,255,.10)}
.auth-visual .av-ring.r2{width:17rem;height:17rem;border-color:rgba(255,255,255,.05)}
/* تیره و محو پایین تصویر تا شیت */
.auth-visual::after{content:'';position:absolute;inset:auto 0 0 0;height:45%;background:linear-gradient(180deg,transparent,#000 92%)}

.auth-top{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem}
.auth-top .brand{color:#fff}
.auth-top .logo{background:linear-gradient(135deg,#3DDC84,#1B9A5A);color:#04150B}
.brand{display:flex;align-items:center;gap:.5rem;font-weight:800;font-size:1.05rem}
.logo{width:2.1rem;height:2.1rem;border-radius:.7rem;background:linear-gradient(135deg,#3DDC84,#1B9A5A);color:#04150B;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:1.05rem;flex:none}

/* شیت پایینی احراز */
.auth-sheet{position:relative;z-index:10;margin-top:auto;width:100%;max-width:28rem;margin-inline:auto;background:#1A1A1A;border-radius:24px 24px 0 0;padding:.65rem 1.5rem calc(1.75rem + env(safe-area-inset-bottom,0px));box-shadow:0 -18px 50px rgba(0,0,0,.6);animation:sheet-up .5s cubic-bezier(.2,.8,.3,1)}
@keyframes sheet-up{from{transform:translateY(3rem);opacity:0}}
.sheet-handle{width:2.75rem;height:.3rem;border-radius:99px;background:#4A4A4A;margin:.2rem auto 1.1rem}

/* تب‌های ورود / ثبت‌نام */
.auth-tabs{display:flex;gap:.6rem;margin-bottom:1.35rem}
.auth-tabs button{flex:1;padding:.7rem;border-radius:12px;border:2px solid transparent;color:var(--text-dim);font-weight:700;font-size:.92rem;transition:all .2s}
.auth-tabs button.active{border-color:#fff;color:var(--primary)}
.auth-tabs button:not(.active):hover{color:var(--text)}

/* فیلدها */
.field{margin-bottom:1rem}
.field label{display:block;font-size:.83rem;font-weight:600;color:#fff;margin-bottom:.45rem;text-align:right}
.in-wrap{position:relative;display:flex;align-items:center}
.in-wrap .in-ico{position:absolute;inset-inline-start:.9rem;display:flex;color:var(--text-dim);pointer-events:none}
.in-wrap .in-ico svg{width:1.15rem;height:1.15rem}
.in-wrap input,.in-wrap select{width:100%;background:#141414;border:1px solid var(--border);border-radius:20px;padding:.85rem 1rem;padding-inline-start:2.7rem;color:var(--text);font-size:.95rem;transition:border-color .2s,box-shadow .2s;outline:none}
.in-wrap input:focus,.in-wrap select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}
.in-wrap input::placeholder{color:#6B6B6B}
.in-wrap .eye-btn{position:absolute;inset-inline-end:.6rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;color:var(--text-dim);border-radius:999px}
.in-wrap .eye-btn svg{width:1.2rem;height:1.2rem}
.in-wrap input.has-eye{padding-inline-end:2.7rem}
.field .err{display:none;color:var(--danger);font-size:.78rem;margin-top:.35rem}
.field.show-err .err{display:block}
.field input.invalid{border-color:var(--danger)}
.form-msg{font-size:.85rem;min-height:1.4rem;margin-bottom:.6rem;color:var(--text-dim)}
.form-msg.error{color:var(--danger)}
.form-msg.success{color:var(--primary)}
.forgot-row{text-align:left;margin:-.25rem 0 1rem}
.forgot-row a,.forgot-row button{color:var(--primary);font-size:.85rem;font-weight:600}
.switch-link{text-align:center;font-size:.85rem;color:var(--text-dim);margin-top:1.1rem}
.switch-link a{color:var(--primary);font-weight:700}

/* ردیف کد OTP */
.otp-row{display:flex;gap:.5rem;direction:ltr;justify-content:center;margin:1.1rem 0}
.otp-row input{width:3rem;height:3.2rem;text-align:center;font-size:1.3rem;font-weight:700;background:#141414;border:1px solid var(--border);border-radius:.9rem;color:var(--text);outline:none;transition:border-color .2s}
.otp-row input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}
.resend{text-align:center;font-size:.85rem;color:var(--text-dim);margin-bottom:1rem}
.resend button{color:var(--primary);font-weight:700;font-size:.85rem}
.resend button:disabled{color:#6B6B6B;cursor:not-allowed}
.terms-row{display:flex;gap:.55rem;align-items:flex-start;font-size:.82rem;color:var(--text-dim);margin:1rem 0 1.25rem}
.terms-row input{width:1.1rem;height:1.1rem;margin-top:.2rem;accent-color:var(--primary)}
.terms-row a{color:var(--primary)}

/* ============================================================
   لندینگ: مشکی با الماس‌های خطی + هدر لوگو + قرص شماره
   ============================================================ */
.site-header{position:relative;z-index:30;padding:1.1rem 0}
.site-header .inner{display:flex;align-items:center;justify-content:space-between}
.nav-desktop{display:flex;gap:1.4rem}
.nav-desktop a{color:var(--text-dim);font-size:.9rem;font-weight:600}
.nav-desktop a:hover{color:var(--text)}
@media(max-width:47.99rem){.nav-desktop{display:none}}

/* الماس‌های خطی محو */
.spark-field{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.spark-field i{position:absolute;width:1.4rem;height:1.4rem;border:1px solid rgba(255,255,255,.14);transform:rotate(45deg);border-radius:.2rem}
.spark-field i:nth-child(1){top:12%;left:8%}
.spark-field i:nth-child(2){top:30%;right:12%;width:.9rem;height:.9rem}
.spark-field i:nth-child(3){top:52%;left:16%;width:.7rem;height:.7rem}
.spark-field i:nth-child(4){top:70%;right:7%}
.spark-field i:nth-child(5){top:86%;left:30%;width:1rem;height:1rem}
.spark-field i:nth-child(6){top:20%;left:44%;width:.6rem;height:.6rem}
.spark-field i:nth-child(7){top:62%;right:34%;width:.8rem;height:.8rem}
.spark-field i:nth-child(8){top:8%;right:38%;width:.7rem;height:.7rem}
@media(min-width:48rem){.spark-field i{border-color:rgba(255,255,255,.09)}}

.landing{position:relative;z-index:1;padding-bottom:calc(var(--tabbar-h) + 3rem)}
.landing-hero{text-align:center;padding:3.5rem 0 3rem}
.landing-sub{color:var(--text-dim);font-size:.9rem;margin-bottom:1rem}
.landing h1{font-size:clamp(1.7rem,6vw,2.8rem);font-weight:800;line-height:1.5;color:#fff;margin:0 0 2rem}
.landing .hl{color:var(--primary)}

/* قرص ثبت شماره موبایل */
.lead-pill{display:flex;align-items:center;gap:.5rem;background:rgba(26,26,26,.7);border:1px solid var(--border-soft);border-radius:999px;padding:.4rem;backdrop-filter:blur(14px);max-width:26rem;margin:0 auto;box-shadow:0 12px 34px -12px rgba(0,0,0,.8)}
.lead-pill input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--text);padding:.7rem 1.1rem;font-size:.95rem;direction:ltr;text-align:left}
.lead-pill input::placeholder{direction:rtl;text-align:right;color:#6B6B6B}
.lead-pill button{flex:none;border-radius:999px;padding:.75rem 1.25rem;font-size:.88rem;font-weight:800;width:auto}
.lead-note{color:#6B6B6B;font-size:.78rem;margin-top:.9rem;text-align:center}

/* چیپ‌های سکه شناور */
.coin-chip{position:absolute;z-index:1;width:3.6rem;height:3.6rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;border:2px solid rgba(255,255,255,.55);box-shadow:0 18px 40px -14px rgba(0,0,0,.85),0 0 26px rgba(255,255,255,.10);animation:chip-float 6s ease-in-out infinite alternate;font-size:1.2rem}
.chip-eth{background:radial-gradient(120% 120% at 30% 20%,#B14CF0,#6E3FF3 60%,#4B2ACF)}
.chip-usdt{background:radial-gradient(120% 120% at 30% 20%,#4AE3C0,#12A98E 60%,#0B7A66)}
.chip-btc{background:radial-gradient(120% 120% at 30% 20%,#FFB35C,#F7931A 60%,#C56C05)}
.coin-chip.c1{top:16%;right:8%}
.coin-chip.c2{top:42%;left:6%;animation-delay:1.2s;width:2.8rem;height:2.8rem;font-size:1rem}
.coin-chip.c3{bottom:26%;right:14%;animation-delay:.6s;width:2.4rem;height:2.4rem;font-size:.85rem}
@keyframes chip-float{to{transform:translateY(-1.1rem) rotate(8deg)}}

/* بخش‌های لندینگ */
.ticker{overflow:hidden;border-block:1px solid var(--border-soft);background:var(--surface);padding:.65rem 0;position:relative;z-index:2;direction:ltr;border-radius:1rem}
.ticker-track{display:flex;gap:2.2rem;width:max-content;animation:tick 26s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(50%)}}
.tick{display:flex;gap:.5rem;align-items:center;font-size:.85rem;white-space:nowrap;color:var(--text-dim)}
.tick .sym{color:var(--text);font-weight:800}
.up{color:var(--primary)}.down{color:var(--danger)}
section.block{padding:2.5rem 0}
section.block h2{font-size:1.4rem;font-weight:800;color:#fff}
section.block .lead{color:var(--text-dim);margin:.35rem 0 1.6rem;font-size:.92rem}
.grid-cards{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
.feat .ico{font-size:1.6rem}
.feat h3{font-size:1.05rem;margin:.5rem 0 .3rem}
.feat p{color:var(--text-dim);font-size:.88rem}
.steps{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
.step{display:flex;gap:.9rem;align-items:flex-start}
.step .n{width:2.3rem;height:2.3rem;flex:none;border-radius:.7rem;background:var(--primary-soft);color:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:800}
.step h3{font-size:1rem}
.step p{color:var(--text-dim);font-size:.85rem}
.site-footer{border-top:1px solid var(--border-soft);background:#0D0D0D;padding:2.5rem 0 1.5rem;position:relative;z-index:2;color:var(--text-dim)}
.footer-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}
.footer-grid p{color:var(--text-dim);font-size:.85rem;margin-top:.6rem}
.footer-grid h4{color:var(--text);font-size:.95rem;margin-bottom:.6rem}
.footer-grid ul{list-style:none;display:flex;flex-direction:column;gap:.4rem;font-size:.88rem}
.footer-grid ul a:hover{color:var(--primary)}
.demo-note{color:#6B6B6B;font-size:.78rem;margin-top:2rem;padding-top:1rem;border-top:1px dashed var(--border-soft)}

/* ============================================================
   نوار تب شناور: قرص شیشه‌ای با فاصله از لبه
   ============================================================ */
.tabbar{position:fixed;bottom:calc(.9rem + env(safe-area-inset-bottom,0px));left:1rem;right:1rem;z-index:40;display:flex;justify-content:center;pointer-events:none}
.tabbar-inner{pointer-events:auto;width:100%;max-width:24rem;display:grid;grid-template-columns:repeat(4,1fr);gap:.25rem;background:rgba(20,20,20,.82);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:.45rem;box-shadow:0 16px 40px -14px rgba(0,0,0,.9)}
.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;font-size:.68rem;color:var(--text-dim);padding:.4rem 0;border-radius:999px;transition:color .2s}
.tabbar a .ti{width:2.1rem;height:2.1rem;display:flex;align-items:center;justify-content:center;border-radius:999px;font-size:1.15rem;line-height:1;transition:background .2s,transform .2s}
.tabbar a.active{color:var(--primary);font-weight:700}
.tabbar a.active .ti{background:var(--primary-soft);transform:translateY(-1px)}
@media(min-width:48rem){.tabbar{display:none}}

/* ===== پوستهٔ اپ ===== */
.app-shell{max-width:28rem;margin:0 auto;min-height:100dvh;position:relative;padding-bottom:calc(var(--tabbar-h) + 2rem)}
@media(min-width:48rem){
  .app-shell{max-width:none;padding-bottom:0;display:flex}
  .app-main{flex:1;min-width:0}
}
.app-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.25rem .5rem;position:sticky;top:0;z-index:30;background:linear-gradient(180deg,var(--bg) 70%,transparent)}
.app-header h1{font-size:1.15rem;font-weight:800;color:#fff}
.app-header .sub{font-size:.78rem;color:var(--text-dim)}
.header-actions{display:flex;gap:.5rem;align-items:center}
.app-main{padding:0 1rem 1.5rem;display:flex;flex-direction:column;gap:1rem;min-width:0}
@media(min-width:48rem){.app-main{padding:1.25rem 1.75rem 2.5rem}}
.page-title{font-size:1.15rem;font-weight:800;color:#fff}
.sidebar{display:none}
@media(min-width:48rem){
  .sidebar{display:flex;flex-direction:column;gap:1.5rem;width:15rem;flex:none;min-height:100vh;position:sticky;top:0;padding:1.5rem 1rem;border-left:1px solid var(--border-soft);background:var(--surface)}
  .side-nav{display:grid;gap:.25rem}
  .side-nav a{display:flex;align-items:center;gap:.6rem;padding:.65rem .8rem;border-radius:.7rem;color:var(--text-dim);font-weight:600;font-size:.92rem;transition:background .2s,color .2s}
  .side-nav a:hover{background:var(--surface-2)}
  .side-nav a.active{background:var(--primary-soft);color:var(--primary)}
}

/* ===== لیست بازار ===== */
.market-list{display:grid;gap:.6rem}
.coin-row{display:flex;align-items:center;gap:.85rem;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-lg);padding:.8rem 1rem;cursor:pointer;transition:border-color .2s,transform .15s;animation:rise .4s cubic-bezier(.2,.8,.3,1) backwards}
.coin-row:hover{border-color:var(--primary)}
.coin-row:active{transform:scale(.985)}
@keyframes rise{from{opacity:0;transform:translateY(.8rem)}}
.coin-ico{flex:none;width:2.4rem;height:2.4rem;border-radius:999px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem;color:#fff}
.coin-info{flex:1;min-width:0}
.coin-info .name{font-weight:700;font-size:.92rem}
.coin-info .sym{font-size:.75rem;color:var(--text-dim);font-family:monospace;direction:ltr;display:inline-block}
.coin-price{text-align:left;direction:ltr}
.coin-price .p{font-weight:800;font-size:.92rem;font-variant-numeric:tabular-nums}
.chg{font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums}
.up-t{color:var(--primary)}.down-t{color:var(--danger)}

/* ===== اسکلتون ===== */
.sk{position:relative;overflow:hidden;background:var(--surface-2);border-radius:.7rem}
.sk::after{content:'';position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);animation:shim 1.3s infinite}
@keyframes shim{to{transform:translateX(100%)}}
.sk-row{display:flex;align-items:center;gap:.85rem;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-lg);padding:.8rem 1rem}
.sk-row .sk.ic{width:2.4rem;height:2.4rem;border-radius:999px;flex:none}
.sk-row .sk.t1{height:.8rem;width:35%}
.sk-row .sk.t2{height:.6rem;width:22%;margin-top:.4rem}
.sk-row .sk.pr{height:.8rem;width:4.5rem;margin-inline-start:auto}

/* ===== پنل معامله ===== */
.trade-panel{position:relative;overflow:hidden}
.side-toggle{display:flex;gap:.5rem;margin-bottom:1.1rem}
.side-toggle button{flex:1;padding:.65rem;border-radius:.9rem;font-weight:800;font-size:.9rem;border:1px solid var(--border);color:var(--text-dim);transition:background .2s,color .2s,border-color .2s}
.side-toggle button.buy.active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}
.side-toggle button.sell.active{background:rgba(240,84,76,.1);border-color:var(--danger);color:var(--danger)}
.calc-row{display:flex;justify-content:space-between;font-size:.85rem;padding:.55rem 0;border-bottom:1px dashed var(--border-soft);color:var(--text-dim)}
.calc-row b{color:var(--text);font-variant-numeric:tabular-nums}
.calc-row.total{border-bottom:none;font-size:1rem;margin-top:.35rem}
.calc-row.total b{color:var(--primary)}
.asset-trigger{display:flex;align-items:center;gap:.6rem;width:100%;background:#141414;border:1px solid var(--border);border-radius:20px;padding:.7rem .8rem;text-align:right}
.asset-trigger .caret{margin-inline-start:auto;color:var(--text-dim)}
.dash-grid{display:grid;gap:1.25rem;grid-template-columns:1fr}
@media(min-width:64rem){.dash-grid{grid-template-columns:1.4fr 1fr;align-items:start}}

/* ===== کیف پول ===== */
.bal-cards{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr))}
.bal-card{display:flex;justify-content:space-between;align-items:center;gap:.75rem}
.bal-card .label{font-size:.82rem;color:var(--text-dim)}
.bal-card .val{font-weight:800;font-variant-numeric:tabular-nums}
.bal-card.total-balance{background:linear-gradient(135deg,#1B3A28,#0E2418);color:#fff;border:1px solid rgba(61,220,132,.25)}
.bal-card.total-balance .label{color:rgba(255,255,255,.75)}
.bal-card.total-balance .val{color:var(--primary)}

/* ===== کارت نمودار کوچک ===== */
.chart-card{padding:1rem 1.1rem}
.chart-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.6rem}
.chart-asset{display:flex;align-items:center;gap:.65rem}
.chart-asset .coin-ico{width:2.2rem;height:2.2rem;font-size:1rem}
.chart-asset .name{font-weight:700;font-size:.92rem}
.chart-asset .sym{font-size:.72rem;color:var(--text-dim);font-family:monospace;direction:ltr;display:inline-block}
.chart-price{text-align:left;direction:ltr}
.chart-price b{display:block;font-size:.95rem;font-variant-numeric:tabular-nums}
.spark{display:block;width:100%;height:5.5rem}
.chart-caption{color:#6B6B6B;font-size:.72rem;text-align:center;margin-top:.35rem}

/* ===== لیست سفارش‌ها (موبایل‌محور) ===== */
.orders-list{display:grid;gap:.6rem}
.order-card{display:flex;align-items:center;gap:.85rem;padding:.9rem 1rem}
.oc-info{flex:1;min-width:0}
.oc-top{font-size:.9rem;font-weight:700}
.oc-top b{font-weight:800}
.oc-sub{font-size:.75rem;color:var(--text-dim);margin-top:.15rem}
.oc-side{text-align:left;direction:ltr}
.oc-total{font-weight:800;font-size:.85rem;font-variant-numeric:tabular-nums;margin-bottom:.2rem}

/* ===== استیت خالی ===== */
.empty-state{display:flex;flex-direction:column;align-items:center;gap:.9rem;background:var(--surface);border:1px dashed var(--border-soft);border-radius:var(--r-xl);padding:2.5rem 1.5rem;text-align:center}
.empty-state .es-ico{font-size:2.4rem;opacity:.85}
.empty-state p{color:var(--text-dim);font-size:.9rem}
.empty-state .btn{width:auto;min-width:10rem}

/* ===== جدول سفارش‌ها ===== */
.order-table{width:100%;border-collapse:collapse;font-size:.85rem;min-width:40rem}
.order-table th{text-align:right;color:var(--text-dim);font-weight:600;padding:.6rem .75rem;border-bottom:1px solid var(--border);font-size:.78rem;white-space:nowrap}
.order-table td{padding:.7rem .75rem;border-bottom:1px solid var(--border-soft);font-variant-numeric:tabular-nums;white-space:nowrap}
.badge{display:inline-block;padding:.15rem .6rem;border-radius:999px;font-size:.72rem;font-weight:700}
.badge.ok{background:var(--primary-soft);color:var(--primary)}
.badge.pending{background:rgba(247,144,9,.14);color:#F79009}
.table-scroll{overflow-x:auto}

/* ===== پروفایل ===== */
.profile-row{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}
.avatar{width:3.5rem;height:3.5rem;flex:none;border-radius:1.1rem;background:linear-gradient(135deg,#3DDC84,#1B9A5A);color:#04150B;display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:800}
.list-item{display:flex;justify-content:space-between;align-items:center;padding:.85rem 0;border-bottom:1px solid var(--border-soft);font-size:.9rem}
.list-item:last-child{border-bottom:none}
.list-item span:first-child{color:var(--text-dim)}

/* ===== شیت پایینی (تأیید معامله) ===== */
.sheet-backdrop{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.6);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.sheet-backdrop.open{opacity:1;visibility:visible}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:90;margin-inline:auto;max-width:28rem;background:#1A1A1A;border:1px solid var(--border-soft);border-bottom:0;border-radius:24px 24px 0 0;box-shadow:var(--shadow-lg);transform:translateY(105%);transition:transform .35s cubic-bezier(.2,.8,.3,1);padding:.5rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom,0px))}
.sheet.open{transform:translateY(0)}
.sheet h3{font-size:1.02rem;font-weight:800;margin-bottom:.9rem;text-align:center;color:#fff}
.sheet .confirm-rows{display:flex;flex-direction:column;margin-bottom:1.1rem}

/* ===== توست ===== */
.toast{position:fixed;bottom:calc(var(--tabbar-h) + 1.5rem);inset-inline:1rem;z-index:150;background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:.8rem 1.1rem;border-radius:1rem;font-size:.88rem;text-align:center;opacity:0;transform:translateY(.5rem);transition:opacity .25s,transform .25s;pointer-events:none;max-width:26rem;margin:0 auto;box-shadow:var(--shadow-lg)}
@media(min-width:48rem){.toast{bottom:2rem}}
.toast.show{opacity:1;transform:translateY(0)}
