/* ============================================================
   dpex-style پوستهٔ سراسری — پس‌زمینه #0A0A0B، اکسنت زمردی #1FA97B
   الگوی لوزی خطی، آیکون‌های SVG خطی، بدون ایموجی و بدون بنفش (به‌جز چیپ‌های سکه)
   ============================================================ */
:root{
  --bg:#0A0A0B;
  --surface:#141416;
  --surface-2:#1A1A1C;
  --surface-3:#1F1F22;
  --border:#2A2A2C;
  --border-soft:#232326;
  --text:#FFFFFF;
  --text-dim:#A1A1A6;
  --gray:#8E8E93;
  --accent:#1FA97B;
  --accent-soft:rgba(31,169,123,.14);
  --mint:#3DDC84;
  --mint-soft:rgba(61,220,132,.16);
  --danger:#F0544C;
  --r-md:12px;--r-lg:16px;--r-xl:1.5rem;
  --shadow-lg:0 18px 50px -12px rgba(0,0,0,.75);
  --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;
  --accent:#1FA968;--mint:#1FA968;--accent-soft:rgba(31,169,104,.12);--mint-soft:rgba(31,169,104,.12);
  --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;
  position:relative;
}
/* الگوی لوزی‌های خطی روی کل پس‌زمینه */
body::before{
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56'%3E%3Crect x='17' y='17' width='22' height='22' rx='4' transform='rotate(45 28 28)' fill='none' stroke='%231B1B1D' stroke-width='1'/%3E%3C/svg%3E");
  background-size:56px 56px;
}
@media(min-width:48rem){body::before{background-size:72px 72px}}
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(--accent);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);border-radius:var(--r-md);padding:1.1rem;box-shadow:0 1px 2px rgba(0,0,0,.35)}

/* ===== دکمه‌ها ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:700;font-size:.95rem;padding:.85rem 1.4rem;border-radius:10px;transition:transform .15s,background .25s,color .25s,box-shadow .2s;user-select:none;width:100%}
.btn:active{transform:scale(.97)}
.btn-primary{background:var(--mint);color:#062B18;box-shadow:0 8px 24px -10px rgba(61,220,132,.5)}
.btn-primary:hover{box-shadow:0 10px 28px -8px rgba(61,220,132,.6)}
/* حالت خالی: سبز تیرهٔ کم‌رنگ + متن سبز مت knots */
.btn-primary.is-empty{background:#17352B;color:rgba(61,220,132,.72);box-shadow:none}
.btn-primary:disabled{background:#17352B;color:rgba(61,220,132,.5);cursor:not-allowed}
.btn-white{background:#fff;color:#0A0A0B;font-weight:800;border-radius:999px}
.btn-ghost{background:var(--surface-2);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.4rem;height:2.4rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#2A2A2A;border:none;color:var(--text);transition:background .2s}
.icon-btn:hover{background:#333}
.icon-btn svg{width:1.1rem;height:1.1rem}

/* ===== نشان ۴ میله‌ای (لوگوی انتزاعی) ===== */
.brand-mark{display:flex;gap:.32rem;direction:ltr;align-items:flex-end;height:2.5rem}
.brand-mark i{width:.42rem;border-radius:.22rem;background:#fff}
.brand-mark i:nth-child(1){height:.9rem}
.brand-mark i:nth-child(2){height:1.5rem}
.brand-mark i:nth-child(3){height:2.5rem}
.brand-mark i:nth-child(4){height:1.9rem}

/* ===== اسپلش ===== */
#splash{position:fixed;inset:0;z-index:200;background:#000;display:flex;align-items:center;justify-content:center;transition:opacity .5s,visibility .5s}
#splash.done{opacity:0;visibility:hidden;pointer-events:none}
#splash .splash-mark{display:flex;gap:.45rem;direction:ltr}
#splash .splash-mark i{width:.42rem;border-radius:.22rem;background:#fff;height:2.4rem;opacity:0;transform:translateY(1.6rem) scaleY(.3)}
#splash .splash-mark i:nth-child(1){height:1rem}
#splash .splash-mark i:nth-child(2){height:1.6rem}
#splash .splash-mark i:nth-child(4){height:1.9rem}
#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)}}

/* ============================================================
   آنبوردینگ: کارت اسکورکل گرادیان سبز-سرمه‌ای، دکمهٔ سفید، دات قرصی
   ============================================================ */
#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:1.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:23rem;border-radius:1.6rem;padding:2.2rem 1.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1rem;text-align:center;background:radial-gradient(130% 100% at 20% 0%,#123B2B 0%,#0E2130 55%,#0A1526 100%);border:1px solid var(--border);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,.25),transparent);filter:blur(26px)}
.onb-ill{width:6.5rem;height:6.5rem;border-radius:2rem;display:flex;align-items:center;justify-content:center;color:var(--mint);background:linear-gradient(145deg,rgba(61,220,132,.18),rgba(10,10,11,.5));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-ill svg{width:3rem;height:3rem;stroke-width:1.5}
.onb-card h2{color:#fff;font-size:1.35rem;font-weight:800;z-index:1}
.onb-card p{color:rgba(255,255,255,.62);font-size:.88rem;line-height:1.9;z-index:1}
.onb-dots{display:flex;gap:.4rem;justify-content:center;align-items:center}
.onb-dots i{width:.5rem;height:.5rem;border-radius:999px;background:#3A3A3E;transition:all .3s}
.onb-dots i.on{width:2rem;height:.5rem;background:#fff}
.onb-actions{display:flex;flex-direction:column;gap:.55rem}
.onb-next{width:100%}
.onb-skip{color:var(--gray);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-page::before{background-size:64px 64px;opacity:.7}
.auth-visual{position:relative;height:48dvh;min-height:17rem;flex:none;overflow:hidden;background:#000}
/* مکعب تیرهٔ سه‌بعدی‌نما + سکه‌های طلایی، محو و کم‌نور مطابق مرجع */
.auth-visual .av-cube{position:absolute;left:50%;top:42%;width:11rem;height:11rem;transform:translate(-50%,-50%) rotate(18deg);border-radius:1.4rem;background:linear-gradient(150deg,#1E232B 0%,#101317 55%,#08090B 100%);filter:blur(8px);opacity:.85;box-shadow:0 30px 70px -20px rgba(0,0,0,.9)}
.auth-visual .av-cube::before{content:'';position:absolute;inset:-18% 30% 55% -12%;border-radius:1rem;background:linear-gradient(160deg,#262C34,#0C0E11);filter:blur(8px);opacity:.8}
.auth-visual .av-coin{position:absolute;border-radius:50%;filter:blur(7px);opacity:.85;
  background:conic-gradient(from 210deg,#8A6A1F,#E8C558 25%,#7A5C18 55%,#E8C558 78%,#8A6A1F);
  box-shadow:0 0 40px rgba(232,197,88,.28),inset 0 -6px 14px rgba(0,0,0,.55)}
.auth-visual .av-coin.main{left:30%;top:30%;width:6.5rem;height:6.5rem}
.auth-visual .av-coin.sm{left:64%;top:22%;width:3rem;height:3rem;opacity:.75}
.auth-visual .av-coin.sm2{left:22%;top:64%;width:2.2rem;height:2.2rem;opacity:.6}
.auth-visual .av-coin.sm3{left:74%;top:60%;width:1.6rem;height:1.6rem;opacity:.5}
.auth-visual .av-glow{position:absolute;inset:0;background:radial-gradient(45% 38% at 50% 46%,rgba(232,197,88,.10),transparent 70%)}
.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{filter:blur(1.5px);opacity:.75}
.auth-top .side-icon{width:2.2rem;height:2.2rem;border-radius:.6rem;background:#161618;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-dim)}
.auth-top .side-icon svg{width:1.05rem;height:1.05rem}
.brand{display:flex;align-items:center;gap:.5rem;font-weight:800;font-size:1.05rem}

/* شیت پایینی احراز */
.auth-sheet{position:relative;z-index:10;margin-top:auto;width:100%;max-width:28rem;margin-inline:auto;background:#1A1A1D;border-radius:16px 16px 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.5rem;height:3.5px;border-radius:99px;background:#7A7A7E;margin:.75rem auto 1.1rem}

/* تب‌های ورود / ثبت‌نام: فعال = حاشیهٔ سفید + متن سبز */
.auth-tabs{display:flex;gap:.6rem;margin-bottom:1.35rem;padding:0 .25rem}
.auth-tabs button{flex:1;padding:.65rem .5rem;border-radius:7px;border:1.25px solid transparent;color:#9E9EA5;font-weight:700;font-size:.92rem;transition:all .2s;background:transparent}
.auth-tabs button.active{border-color:#fff;color:#3DDC84}
.auth-tabs button:not(.active):hover{color:var(--text)}

/* فیلدها */
.field{margin-bottom:1rem}
.field label{display:block;font-size:.82rem;font-weight:500;color:#A1A1A6;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:#6B6B70;pointer-events:none}
.in-wrap .in-ico svg{width:1rem;height:1rem;stroke-width:1.5}
.in-wrap input,.in-wrap select{width:100%;height:46px;background:#1F1F22;border:1px solid #3A3A3C;border-radius:9px;padding:0 1rem;padding-inline-start:2.6rem;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(--mint);box-shadow:0 0 0 3px var(--mint-soft)}
.in-wrap input::placeholder{color:#5A5A5E}
.in-wrap .eye-btn{position:absolute;inset-inline-end:.6rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;color:#9E9EA5;border-radius:999px}
.in-wrap .eye-btn svg{width:1.15rem;height:1.15rem}
.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(--mint)}
/* لینک فراموشی رمز: راست‌چین سبز */
.forgot-row{text-align:right;margin:-.25rem 0 1rem}
.forgot-row a,.forgot-row button{color:#3DDC84;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:#3DDC84;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:#1F1F22;border:1px solid #3A3A3C;border-radius:9px;color:var(--text);outline:none;transition:border-color .2s}
.otp-row input:focus{border-color:var(--mint);box-shadow:0 0 0 3px var(--mint-soft)}
.resend{text-align:center;font-size:.85rem;color:var(--text-dim);margin-bottom:1rem}
.resend button{color:#3DDC84;font-weight:700;font-size:.85rem}
.resend button:disabled{color:#5A5A5E;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(--mint)}
.terms-row a{color:#3DDC84}

/* ============================================================
   لندینگ: هدر مرکزی فقط لوگو، تیتر دوخطی، قرص شماره، موکاپ گوشی
   ============================================================ */
.site-header{position:relative;z-index:30;padding:1.2rem 0}
.site-header .inner{display:flex;align-items:center;justify-content:center}
.site-header .brand-mark i{height:auto}
.site-header .brand-mark{height:2.5rem}
.nav-desktop{display:flex;gap:1.4rem}
.nav-desktop a{color:var(--text-dim);font-size:.9rem;font-weight:600}
@media(max-width:47.99rem){.nav-desktop{display:none}}

.landing{position:relative;z-index:1;padding-bottom:calc(var(--tabbar-h) + 5rem)}
.landing-hero{text-align:center;padding:2.6rem 0 2.2rem;position:relative}
.landing-sub{color:#A1A1A6;font-size:11pt;font-weight:400;margin-bottom:1.1rem}
.landing h1{font-size:clamp(1.7rem,7.5vw,2.4rem);font-weight:800;line-height:1.3;color:#fff;margin:0 0 1.8rem}
.landing .hl{color:var(--accent)}

/* قرص ثبت شماره: ۹۱٪ عرض، ~۵۲px، دکمهٔ سبز توکار */
.lead-pill{display:flex;align-items:center;gap:.4rem;background:#1A1A1C;border:1px solid #2A2A2C;border-radius:999px;padding:5px;width:91%;max-width:26rem;margin:0 auto;box-shadow:0 12px 34px -12px rgba(0,0,0,.85)}
.lead-pill input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--text);padding:.7rem 1rem;font-size:.92rem;direction:ltr;text-align:left}
.lead-pill input::placeholder{direction:rtl;text-align:right;color:#8E8E93}
.lead-pill button{flex:none;border-radius:999px;padding:.8rem 1.1rem;font-size:12pt;font-weight:700;width:128px;background:var(--accent);color:#fff;box-shadow:none}
.lead-pill button:hover{background:#23B98A}
.lead-note{color:#6B6B70;font-size:.76rem;margin-top:.9rem;text-align:center}

/* موکاپ گوشی CSS خالص با خیز ملایم */
.phone-wrap{display:flex;justify-content:center;margin:2.6rem 0 1.2rem;position:relative}
.phone-wrap::before{content:'';position:absolute;inset:8% 12%;background:radial-gradient(closest-side,rgba(31,169,123,.16),transparent);filter:blur(30px);z-index:0}
.phone-mock{position:relative;z-index:1;width:min(62vw,270px);aspect-ratio:9/19;background:#101012;border:2px solid #2E2E32;border-radius:2.4rem;padding:.7rem;transform:rotate(2deg);box-shadow:0 30px 70px -20px rgba(0,0,0,.95),0 0 60px -20px rgba(31,169,123,.25),inset 0 1px 0 rgba(255,255,255,.06)}
.phone-mock .notch{position:absolute;top:.55rem;left:50%;transform:translateX(-50%);width:34%;height:.85rem;background:#000;border-radius:99px;z-index:2}
.phone-screen{width:100%;height:100%;border-radius:1.8rem;background:#0A0A0B;overflow:hidden;padding:.9rem .7rem;display:flex;flex-direction:column;gap:.6rem}
.pm-banner{height:3.2rem;border-radius:.7rem;background:linear-gradient(120deg,#123B2B,#0E2130);flex:none}
.pm-icons{display:flex;justify-content:space-between;padding:0 .2rem;flex:none}
.pm-icons i{width:2rem;height:2rem;border-radius:999px;background:var(--surface-2);border:1px solid var(--border)}
.pm-row{display:flex;align-items:center;gap:.5rem;background:var(--surface);border:1px solid var(--border);border-radius:.7rem;padding:.45rem .55rem;flex:none}
.pm-row i.ic{width:1.5rem;height:1.5rem;border-radius:999px;flex:none}
.pm-row .tt{flex:1;display:flex;flex-direction:column;gap:.25rem}
.pm-row .tt b{display:block;height:.4rem;width:60%;border-radius:99px;background:#2E2E32}
.pm-row .tt s{display:block;height:.3rem;width:38%;border-radius:99px;background:#222226}
.pm-row svg.spark{width:2.4rem;height:1.1rem;flex:none}
.pm-row .pr{height:.4rem;width:2.2rem;border-radius:99px;background:#3A3A3E;flex:none}
.pm-strip{margin-top:auto;height:1.7rem;border-radius:.55rem;background:linear-gradient(90deg,#1FA97B,#3DDC84);opacity:.9;flex:none}

/* چیپ‌های سکه شناور (نمادهای عمومی رمزارز) */
.coin-chip{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;box-shadow:0 18px 40px -14px rgba(0,0,0,.9),0 0 30px rgba(255,255,255,.10);animation:chip-float 6s ease-in-out infinite alternate}
.chip-eth{width:65px;height:80px;border-radius:1.5rem;background:linear-gradient(150deg,#C9B8F5,#8A6CF0 55%,#6C48E0);border:4px solid rgba(255,255,255,.85);transform:rotate(-10deg);font-size:1.5rem;box-shadow:0 22px 44px -14px rgba(108,72,224,.55),0 0 34px rgba(138,108,240,.35)}
.chip-usdt{width:46px;height:56px;border-radius:1.1rem;background:linear-gradient(150deg,#A8F0DC,#3DDCB8 55%,#14A886);border:3px solid rgba(255,255,255,.85);transform:rotate(9deg);font-size:1.05rem;box-shadow:0 18px 38px -14px rgba(20,168,134,.5),0 0 26px rgba(61,220,184,.3)}
.coin-chip.c1{top:14%;left:7%}
.coin-chip.c2{top:34%;right:6%;animation-delay:1.2s}
@keyframes chip-float{to{transform:translateY(-.9rem) rotate(4deg)}}

/* گوی آبی درخشان پایین صفحه */
.orb{position:fixed;left:50%;bottom:calc(var(--tabbar-h) + .2rem);transform:translateX(-50%);z-index:35;width:58px;height:58px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#7FE9FF,#00D4FF 55%,#0084B8);box-shadow:0 0 40px 6px rgba(0,212,255,.45),0 0 90px 20px rgba(0,212,255,.18);display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:800;color:#fff;pointer-events:none}
@media(min-width:48rem){.orb{display:none}}

/* بخش‌های لندینگ */
.ticker{overflow:hidden;border:1px solid var(--border);background:var(--surface);padding:.65rem 0;position:relative;z-index:2;direction:ltr;border-radius:12px}
.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(--accent)}.down{color:var(--danger)}
section.block{padding:2.5rem 0}
section.block h2{font-size:1.35rem;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{width:2.6rem;height:2.6rem;border-radius:.8rem;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center}
.feat .ico svg{width:1.25rem;height:1.25rem;stroke-width:1.5}
.feat h3{font-size:1.02rem;margin:.6rem 0 .25rem;color:#fff}
.feat p{color:var(--text-dim);font-size:.86rem}
.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(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:800}
.step h3{font-size:1rem;color:#fff}
.step p{color:var(--text-dim);font-size:.85rem}
.site-footer{border-top:1px solid var(--border);background:#0D0D0F;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(--accent)}
.demo-note{color:#6B6B70;font-size:.78rem;margin-top:2rem;padding-top:1rem;border-top:1px dashed var(--border)}

/* ============================================================
   نوار پایین شناور: قرص با آیتم فعالِ اسکورکل سبز ۲۸px
   ============================================================ */
.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:91%;max-width:26rem;display:grid;grid-template-columns:repeat(5,1fr);gap:.15rem;background:#141416;backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.07);border-radius:999px;padding:.45rem;box-shadow:0 16px 44px -12px rgba(0,0,0,.95)}
.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.12rem;font-size:8pt;color:#E5E5E5;padding:.3rem 0;transition:color .2s}
.tabbar a .ti{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:9px;color:var(--text-dim);transition:background .2s,color .2s}
.tabbar a .ti svg{width:1.15rem;height:1.15rem;stroke-width:1.5}
.tabbar a.active{color:var(--accent);font-weight:700}
.tabbar a.active .ti{background:var(--accent);color:#fff}
.tabbar a.active .ti svg{stroke-width:1.8}
@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);z-index:1}
@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;position:relative;z-index:1}
@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);background:var(--surface);z-index:1}
  .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 svg{width:1.1rem;height:1.1rem;stroke-width:1.5;flex:none}
  .side-nav a:hover{background:var(--surface-2)}
  .side-nav a.active{background:var(--accent-soft);color:var(--accent)}
}

/* ===== لیست بازار ===== */
.market-list{display:grid;gap:.6rem}
.coin-row{display:flex;align-items:center;gap:.85rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.8rem 1rem;cursor:pointer;transition:border-color .2s,transform .15s;animation:rise .4s cubic-bezier(.2,.8,.3,1) backwards;width:100%;text-align:right}
.coin-row:hover{border-color:var(--accent)}
.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;color:#fff}
.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;color:#fff}
.chg{font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums}
.up-t{color:var(--accent)}.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);border-radius:12px;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:9px;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(--accent-soft);border-color:var(--accent);color:var(--accent)}
.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);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(--accent)}
.asset-trigger{display:flex;align-items:center;gap:.6rem;width:100%;background:#1F1F22;border:1px solid #3A3A3C;border-radius:9px;padding:.7rem .8rem;text-align:right;color:var(--text)}
.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;color:#fff}
.bal-card.total-balance{background:linear-gradient(135deg,#14352A,#0C1E2B);color:#fff;border:1px solid rgba(31,169,123,.3)}
.bal-card.total-balance .label{color:rgba(255,255,255,.75)}
.bal-card.total-balance .val{color:var(--accent)}

/* ===== کارت نمودار ===== */
.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;color:#fff}
.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;color:#fff}
.spark{display:block;width:100%;height:5.5rem}
.chart-caption{color:#6B6B70;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;color:#fff}
.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;color:#fff}

/* ===== استیت خالی ===== */
.empty-state{display:flex;flex-direction:column;align-items:center;gap:.9rem;background:var(--surface);border:1px dashed var(--border);border-radius:var(--r-xl);padding:2.5rem 1.5rem;text-align:center}
.empty-state .es-ico{width:3rem;height:3rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center}
.empty-state .es-ico svg{width:1.4rem;height:1.4rem;stroke-width:1.5}
.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);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(--accent-soft);color:var(--accent)}
.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:var(--accent);color:#fff;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);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:#1A1A1D;border:1px solid var(--border);border-bottom:0;border-radius:16px 16px 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:12px;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)}