/* ============================================================
   miniapp/app.css  |  ظاهرِ مینی‌اپ — «لیکویید گلس»  (build 139)
   از index.html جدا شد تا سیاستِ امنیتیِ صفحه (CSP) بتواند استایل و اسکریپتِ
   درون‌خطی را کاملاً ممنوع کند. هیچ style درون‌خطی در صفحه وجود ندارد.
   ============================================================ */
:root{
  --bg1:#0b1020; --bg2:#141a33; --tint:#7aa7ff;
  --glass:rgba(255,255,255,.10); --glass-hi:rgba(255,255,255,.22);
  --stroke:rgba(255,255,255,.16); --txt:#eef2ff; --sub:#9fb0d6;
  --ok:#30d158; --warn:#ffd60a; --bad:#ff453a; --accent:#6ea8ff;
  --r:22px; --blur:26px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%}
body{
  font-family:-apple-system,'SF Pro Display','Vazirmatn','Segoe UI',Tahoma,sans-serif;
  color:var(--txt); background:var(--bg1); overflow-x:hidden;
  padding-bottom:calc(92px + env(safe-area-inset-bottom));
  -webkit-text-size-adjust:100%;
}
button{font-family:inherit}
[hidden]{display:none !important}

/* پس‌زمینهٔ متحرکِ لیکویید */
.bgwrap{position:fixed;inset:0;z-index:-1;background:linear-gradient(160deg,var(--bg1),var(--bg2));overflow:hidden}
.blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;animation:float 16s ease-in-out infinite}
.b1{width:44vmax;height:44vmax;background:#3b5bff;top:-12vmax;right:-10vmax}
.b2{width:36vmax;height:36vmax;background:#8a5cff;bottom:-8vmax;left:-8vmax;animation-delay:-6s}
.b3{width:26vmax;height:26vmax;background:#00c2ff;top:36%;left:44%;animation-delay:-11s;opacity:.35}
@keyframes float{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(3vmax,-2vmax) scale(1.08)}}
@media (prefers-reduced-motion: reduce){.blob,.skel{animation:none}}

/* شیشه */
.glass{
  background:linear-gradient(135deg,var(--glass-hi),var(--glass) 38%);
  backdrop-filter:blur(var(--blur)) saturate(1.6);
  -webkit-backdrop-filter:blur(var(--blur)) saturate(1.6);
  border:1px solid var(--stroke); border-radius:var(--r);
  box-shadow:0 10px 34px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.28);
  position:relative; overflow:hidden;
}
.glass::before{ /* هایلایتِ اسپکولار */
  content:''; position:absolute; inset:-40% -20% auto -20%; height:60%;
  background:radial-gradient(ellipse at 30% 0%,rgba(255,255,255,.30),transparent 60%);
  pointer-events:none;
}
.page{padding:calc(14px + env(safe-area-inset-top)) 16px 8px; max-width:520px; margin:0 auto}
h1{font-size:22px;margin:0;font-weight:800;letter-spacing:-.3px;overflow-wrap:anywhere}
.sub{color:var(--sub);font-size:13px}
.strong{color:#fff;font-weight:700}
.ltr{direction:ltr;unicode-bidi:isolate}
.center{text-align:center}
.mt{margin-top:12px}
.mt-s{margin-top:8px}
.mb{margin-bottom:14px}
.big{font-size:30px;font-weight:800;margin-top:4px}
.big small{font-size:14px;font-weight:400}
.emoji-xl{font-size:38px;line-height:1}
.price{font-size:18px;font-weight:800}

/* کارت‌ها */
.card{padding:16px;margin-bottom:14px}
.row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.row + .row{margin-top:14px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.stat{padding:14px;text-align:center}
.stat .v{font-size:22px;font-weight:800;margin-top:4px}
.stat .k{font-size:12px;color:var(--sub)}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid var(--stroke);white-space:nowrap}
.dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.dot.g{background:var(--ok)} .dot.r{background:var(--bad)} .dot.y{background:var(--warn)}

/* دکمه‌ها */
.btn{
  display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
  padding:14px;border-radius:16px;border:1px solid var(--stroke);
  background:linear-gradient(135deg,rgba(122,167,255,.85),rgba(90,120,255,.75));
  color:#fff;font-size:15px;font-weight:700;cursor:pointer;
  box-shadow:0 8px 22px rgba(80,120,255,.35), inset 0 1px 0 rgba(255,255,255,.35);
  transition:transform .12s ease, opacity .12s ease; margin:0 0 12px;
}
.btn:active{transform:scale(.97)}
.btn.ghost{background:rgba(255,255,255,.10);box-shadow:none;color:var(--txt)}
.btn.small{padding:10px;font-size:13px;border-radius:13px;margin:0}
.btn.warn{background:linear-gradient(135deg,rgba(255,90,80,.85),rgba(255,60,60,.7));box-shadow:none}
.btn:disabled{opacity:.5;cursor:default}
.btnrow{display:flex;gap:10px;margin-bottom:12px}
.btnrow .btn{flex:1}

/* لیست آیتم‌ها */
.item{display:block;width:100%;text-align:right;color:var(--txt);padding:14px;margin-bottom:10px;cursor:pointer;transition:transform .12s}
.item:active{transform:scale(.98)}
.item .t{font-weight:700;font-size:15px;overflow-wrap:anywhere}
.item .d{font-size:12px;color:var(--sub);margin-top:4px}

/* progress حجم */
.bar{height:8px;border-radius:99px;background:rgba(255,255,255,.12);overflow:hidden;margin-top:8px}
.bar > i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,#30d158,#ffd60a 70%,#ff453a)}

/* تب‌بارِ شیشه‌ای پایین */
.tabbar{
  position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:50;
  display:flex;justify-content:space-around;padding:8px;max-width:496px;margin:0 auto;
}
.tab{flex:1;text-align:center;padding:8px 4px;border-radius:14px;cursor:pointer;color:var(--sub);font-size:11px;background:none;border:0}
.tab .ic{font-size:21px;display:block;margin-bottom:3px}
.tab.on{color:#fff;background:rgba(255,255,255,.14)}

/* ورودی */
.inp{width:100%;padding:13px;border-radius:14px;border:1px solid var(--stroke);background:rgba(255,255,255,.08);color:var(--txt);font-family:inherit;font-size:16px;outline:none}
.inp:focus{border-color:var(--accent)}

/* toast */
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(108px + env(safe-area-inset-bottom));z-index:99;padding:11px 18px;border-radius:14px;font-size:13px;opacity:0;transition:opacity .25s;pointer-events:none;max-width:88vw;text-align:center}
.toast.show{opacity:1}

.hdr{display:flex;align-items:center;gap:10px;margin:2px 0 14px}
.back{width:38px;height:38px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:12px;cursor:pointer;font-size:20px;color:var(--txt);padding:0}
.cat{font-size:12px;color:var(--sub);margin:14px 4px 8px;font-weight:700}
.skel{height:64px;border-radius:var(--r);background:linear-gradient(90deg,rgba(255,255,255,.06),rgba(255,255,255,.13),rgba(255,255,255,.06));background-size:200% 100%;animation:sk 1.2s infinite;margin-bottom:10px}
@keyframes sk{0%{background-position:200% 0}100%{background-position:-200% 0}}
.copybox{display:block;width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;direction:ltr;text-align:left;word-break:break-all;color:var(--txt);background:rgba(0,0,0,.25);border-radius:12px;padding:10px;margin-top:8px;border:1px dashed var(--stroke);cursor:pointer}
.qr{display:block;margin:0 auto 14px;border-radius:16px;background:#fff;padding:10px;max-width:240px;width:70%;height:auto;image-rendering:pixelated}
.note{font-size:12px;color:var(--sub);text-align:center;margin:4px 0 14px;line-height:1.8}
.state{padding:28px 18px;text-align:center}
.state .emoji-xl{margin-bottom:10px}
.state p{margin:8px 0 16px;line-height:1.9}
.tx{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--stroke);font-size:13px}
.tx:last-child{border-bottom:0}
.tx .amt{font-weight:800;white-space:nowrap}
.tx .amt.pos{color:var(--ok)} .tx .amt.neg{color:var(--bad)}
.tx .why{color:var(--sub);font-size:12px;margin-top:3px;overflow-wrap:anywhere}

@media (min-width:560px){ .page{padding-top:26px} }
