/* ═══════════════ VARIABLES ═══════════════ */
:root {
  --bg:     #030c18;
  --bg2:    #071223;
  --bg3:    #0d1d35;
  --card:   rgba(11,24,46,0.92);
  --card2:  rgba(15,32,60,0.75);
  --border: rgba(55,130,210,0.14);
  --border2:rgba(55,130,210,0.28);
  --cyan:   #41b8f5;
  --cyan2:  #1e7fd8;
  --green:  #1ed98a;
  --gold:   #f5c438;
  --purple: #9a6bff;
  --red:    #ff5577;
  --orange: #ff8844;
  --text:   #c0d8ee;
  --text2:  #6488af;
  --text3:  #364e6a;
  --font-head: 'Orbitron', sans-serif;
  --font-body: 'Rajdhani', sans-serif;
  --glow:  0 0 18px rgba(65,184,245,0.28);
  --glow2: 0 0 36px rgba(65,184,245,0.16);
  --r:     14px;
}

/* ═══════════════ RESET ═══════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html, body { width: 100%; height: 100%; overflow: hidden; }
body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-body);
  /* v18: базовый шрифт +1px — взрослой аудитории читать тяжело при 15px */
  font-size: 16px;
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
}
/* v18: подсветка плотных текстовых блоков — чуть крупнее и со светлым контрастом */
.help-card-body, .faq-a, .faq-q, .page-sub, .modal-sub,
.exchange-note, .dex-note { font-size: 14px; line-height: 1.55; }
.help-card-head { font-size: 15px; }
.miner-spec-label, .miner-spec-val { font-size: 12.5px; }
.buy-modal-title, .modal-title { font-size: 17px; }
.buy-stat span, .buy-stat b { font-size: 13px; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
input, select { font-family: inherit; }
.hidden { display: none !important; }

/* ═══════════════ STARS ═══════════════ */
.stars, .stars-bg {
  position: absolute; inset: 0; pointer-events: none; z-index: 0;
}
.star {
  position: absolute; border-radius: 50%;
  animation: twinkle var(--d, 3s) ease-in-out infinite var(--delay, 0s);
}
@keyframes twinkle {
  0%, 100% { opacity: var(--op, 0.3); transform: scale(1); }
  50%       { opacity: 1; transform: scale(1.4); }
}

/* ═══════════════ SPLASH ═══════════════ */
#splash {
  position: fixed; inset: 0;
  background: radial-gradient(ellipse at 50% 40%, #071428 0%, #030912 60%, #010509 100%);
  display: flex; align-items: center; justify-content: center;
  z-index: 1000;
  transition: opacity 0.8s ease, transform 0.8s ease;
}
#splash.fade-out { opacity: 0; transform: scale(1.04); pointer-events: none; }

.splash-content {
  display: flex; flex-direction: column; align-items: center;
  position: relative; z-index: 2;
}
.logo-wrap {
  width: 180px; height: 180px; display: flex; align-items: center; justify-content: center;
  position: relative; margin-bottom: 24px;
}
.logo-svg {
  width: 180px; height: 180px;
  filter: drop-shadow(0 0 16px rgba(65,184,245,0.5));
  animation: logoFloat 3s ease-in-out infinite, logoPulse 4s ease-in-out infinite;
}
.logo-glow {
  position: absolute; width: 110px; height: 110px; border-radius: 50%;
  background: radial-gradient(circle, rgba(65,184,245,0.14) 0%, transparent 70%);
  animation: glowPulse 2s ease-in-out infinite;
}
@keyframes logoFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
@keyframes logoPulse { 0%,100%{filter:drop-shadow(0 0 16px rgba(65,184,245,0.5))} 50%{filter:drop-shadow(0 0 26px rgba(65,184,245,0.8))} }
@keyframes glowPulse { 0%,100%{transform:scale(1);opacity:0.6} 50%{transform:scale(1.3);opacity:1} }

.splash-title {
  font-family: var(--font-head); font-size: 42px; font-weight: 900;
  letter-spacing: 6px; line-height: 1; margin-bottom: 8px;
}
.splash-title .t1 { color: white; }
.splash-title .t2 { color: var(--cyan); text-shadow: 0 0 18px rgba(65,184,245,0.8); }
.splash-sub {
  font-family: var(--font-head); font-size: 10px; letter-spacing: 5px;
  color: var(--text2); margin-bottom: 52px;
}
.progress-wrap { width: 240px; text-align: center; }
.progress-track {
  width: 100%; height: 2px; background: rgba(65,184,245,0.1);
  border-radius: 2px; overflow: hidden; margin-bottom: 14px;
}
.progress-bar {
  height: 100%; width: 0%;
  background: linear-gradient(90deg, var(--cyan2), var(--cyan));
  box-shadow: 0 0 8px var(--cyan); border-radius: 2px;
  transition: width 0.3s ease;
}
.progress-text {
  font-family: var(--font-head); font-size: 9px; letter-spacing: 3px;
  color: var(--text2); animation: blink 1.4s ease-in-out infinite;
}
@keyframes blink { 0%,100%{opacity:0.5} 50%{opacity:1} }

/* ═══════════════ APP LAYOUT ═══════════════ */
#app {
  position: fixed; inset: 0; display: flex; flex-direction: column;
  overflow: hidden; animation: appReveal 0.6s ease forwards;
}
@keyframes appReveal { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:translateY(0)} }

/* ─── HEADER ─── */
.app-header {
  display: flex; flex-direction: column; align-items: stretch;
  padding: calc(var(--tg-top, env(safe-area-inset-top, 0px)) + 8px) 12px 10px;
  background: linear-gradient(180deg, rgba(3,12,24,0.98) 0%, rgba(3,12,24,0.94) 100%);
  border-bottom: 1px solid var(--border2); backdrop-filter: blur(18px);
  z-index: 10; flex-shrink: 0;
  box-shadow: 0 2px 14px rgba(0,0,0,0.45);
  gap: 8px;
}
.header-top {
  display: flex; align-items: center; justify-content: space-between;
  gap: 8px; flex-wrap: nowrap;
}
.header-logo {
  display: flex; align-items: center; gap: 6px;
  font-family: var(--font-head); font-size: 13px; letter-spacing: 1.5px; color: var(--text);
  flex-shrink: 0;
}
.header-logo svg { width: 24px; height: 24px; }
.header-logo b { color: var(--cyan); font-weight: 700; }
.header-right { display: flex; align-items: center; gap: 6px; min-width: 0; flex-wrap: nowrap; }
.net-badge { display: none; }
.icon-btn {
  position: relative;
  width: 30px; height: 30px; border-radius: 9px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,0.05); border: 1px solid var(--border2);
  color: var(--text); cursor: pointer; padding: 0;
  transition: background .15s, transform .15s, color .15s;
}
.icon-btn:hover { background: rgba(65,184,245,0.14); color: var(--cyan); transform: translateY(-1px); }
.icon-btn.muted { color: #6b7d92; border-color: rgba(255,85,119,0.45); }
.icon-btn.muted::after {
  content:''; position: absolute;
  top: 50%; left: 50%;
  width: 22px; height: 2px; background: #ff5577;
  transform: translate(-50%, -50%) rotate(-45deg);
  border-radius: 2px;
  pointer-events: none;
}
.header-balances {
  display: flex; flex-direction: row; align-items: stretch; gap: 8px;
  width: 100%;
}
.header-bal-item {
  flex: 1 1 0; min-width: 0;
  display: flex; align-items: center; gap: 8px;
  font-family: var(--font-head); font-size: 15px; font-weight: 800;
  padding: 9px 12px; border-radius: 12px;
  white-space: nowrap; line-height: 1.1;
  overflow: hidden;
  letter-spacing: .5px;
}
.header-bal-item span {
  flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis;
  font-variant-numeric: tabular-nums;
  color: #ffffff;
  text-shadow: 0 0 12px rgba(65,184,245,0.45);
}
.header-bal-item b {
  flex-shrink: 0; font-size: 11px; font-weight: 700;
  letter-spacing: 1px; opacity: 0.85;
}
.header-bal-item svg { flex-shrink: 0; width: 18px; height: 18px; }
.header-bal-item.tcor-bal {
  color: #9fdcff;
  background: linear-gradient(135deg, rgba(65,184,245,0.22), rgba(30,127,216,0.10));
  border: 1px solid rgba(65,184,245,0.45);
  box-shadow: 0 2px 14px rgba(65,184,245,0.18), inset 0 0 0 1px rgba(255,255,255,0.04);
}
.header-bal-item.ton-bal {
  color: #b8e0f5;
  background: linear-gradient(135deg, rgba(0,136,204,0.22), rgba(0,136,204,0.08));
  border: 1px solid rgba(74,176,232,0.45);
  box-shadow: 0 2px 14px rgba(0,136,204,0.18), inset 0 0 0 1px rgba(255,255,255,0.04);
}
.header-bal-item.tcor-bal span { text-shadow: 0 0 12px rgba(65,184,245,0.55); }
.header-bal-item.ton-bal span  { text-shadow: 0 0 12px rgba(0,136,204,0.55); }
@media (max-width: 380px) {
  .header-bal-item { font-size: 13px; padding: 8px 10px; gap: 6px; }
  .header-bal-item b { font-size: 10px; }
  .header-bal-item svg { width: 16px; height: 16px; }
}
.lang-picker .lang-btn {
  font-family: var(--font-head); font-size: 11px; padding: 6px 10px; border-radius: 9px;
  background: rgba(255,255,255,0.05); border: 1px solid var(--border2); color: var(--text);
  cursor: pointer; line-height: 1.1;
}

/* ─── PAGES ─── */
.pages {
  flex: 1; overflow-y: auto; overflow-x: hidden;
  position: relative; z-index: 1; scroll-behavior: smooth; padding-bottom: 80px;
}
.pages::-webkit-scrollbar { width: 3px; }
.pages::-webkit-scrollbar-track { background: transparent; }
.pages::-webkit-scrollbar-thumb { background: var(--border2); border-radius: 2px; }

.page { display: none; padding: 18px 14px 10px; animation: pageIn 0.3s ease; }
.page.active { display: block; }
@keyframes pageIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }

.page-header { margin-bottom: 18px; }
.page-header h2 {
  font-family: var(--font-head); font-size: 17px; font-weight: 700;
  letter-spacing: 3px; color: white; text-transform: uppercase;
  text-shadow: 0 0 14px rgba(65,184,245,0.35);
}
.page-header .page-sub { font-size: 12px; color: var(--text2); margin-top: 3px; }

.section-title {
  font-family: var(--font-head); font-size: 9px; letter-spacing: 3px;
  color: var(--text3); text-transform: uppercase;
  margin: 20px 0 10px; padding-bottom: 5px; border-bottom: 1px solid var(--border);
}

/* SUB-TABS */
.sub-tabs {
  display: flex; gap: 4px; margin-bottom: 16px;
  background: rgba(0,0,0,0.2); border-radius: 12px; padding: 4px;
  border: 1px solid var(--border);
}
.sub-tab {
  flex: 1; padding: 8px; border-radius: 9px;
  font-family: var(--font-head); font-size: 9px; letter-spacing: 1.5px;
  color: var(--text2); transition: all 0.2s;
}
.sub-tab.active {
  background: rgba(65,184,245,0.14); color: var(--cyan);
  box-shadow: 0 0 10px rgba(65,184,245,0.15);
}
.sub-content { display: none; }
.sub-content.active { display: block; }

.tab-desc { font-size: 12px; color: var(--text2); margin-bottom: 14px; }

/* ═══════════════ SHOP PAGE ═══════════════ */
.filter-row { display: flex; gap: 8px; margin-bottom: 16px; flex-wrap: wrap; }
.filter-btn {
  font-family: var(--font-head); font-size: 9px; letter-spacing: 1.5px;
  padding: 6px 13px; border-radius: 20px; font-weight: 600;
  border: 1px solid var(--border2); color: var(--text2);
  background: var(--card); transition: all 0.2s;
}
.filter-btn.active, .filter-btn:hover {
  border-color: var(--cyan); color: var(--cyan);
  background: rgba(65,184,245,0.1); box-shadow: 0 0 10px rgba(65,184,245,0.15);
}

.miners-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }

.miner-card {
  background: var(--card); border: 1px solid var(--border);
  border-radius: var(--r); padding: 14px 12px;
  position: relative; overflow: hidden;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.18s; cursor: pointer;
}
.miner-card::before {
  content:''; position:absolute; inset:0; border-radius:var(--r);
  background: linear-gradient(135deg, rgba(65,184,245,0.04) 0%, transparent 60%);
  pointer-events: none;
}
.miner-card:hover { border-color:var(--border2); box-shadow:0 4px 22px rgba(65,184,245,0.1); transform:translateY(-2px); }
.miner-card.tier-pro { border-color:rgba(245,196,56,0.18); }
.miner-card.tier-pro:hover { border-color:rgba(245,196,56,0.38); box-shadow:0 4px 22px rgba(245,196,56,0.1); }
.miner-card.tier-adv { border-color:rgba(154,107,255,0.18); }
.miner-card.tier-adv:hover { border-color:rgba(154,107,255,0.38); }

.miner-tier-badge {
  position:absolute; top:9px; right:9px;
  font-family:var(--font-head); font-size:7px; letter-spacing:1px;
  padding:2px 6px; border-radius:8px;
}
.badge-starter { background:rgba(65,184,245,0.12); color:var(--cyan); border:1px solid rgba(65,184,245,0.28); }
.badge-adv     { background:rgba(154,107,255,0.12); color:var(--purple); border:1px solid rgba(154,107,255,0.28); }
.badge-pro     { background:rgba(245,196,56,0.12); color:var(--gold); border:1px solid rgba(245,196,56,0.28); }

.miner-icon-wrap {
  width:46px; height:46px; margin-bottom:9px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(65,184,245,0.06); border-radius:11px; border:1px solid var(--border);
}
.miner-name {
  font-family:var(--font-head); font-size:10px; font-weight:600;
  color:white; letter-spacing:1px; margin-bottom:8px;
}
.miner-specs { display:flex; flex-direction:column; gap:3px; margin-bottom:10px; }
.miner-spec { display:flex; justify-content:space-between; align-items:center; }
.miner-spec-label { font-size:10px; color:var(--text2); }
.miner-spec-val { font-family:var(--font-head); font-size:9px; font-weight:600; color:var(--cyan); }
.miner-spec-val.green { color:var(--green); }
.miner-spec-val.red   { color:var(--red); }

.miner-price-row {
  display:flex; align-items:center; gap:4px; flex-wrap:wrap;
  padding:8px; border-radius:9px;
  background:rgba(0,0,0,0.2); border:1px solid var(--border);
}
.miner-price-opt {
  font-family:var(--font-head); font-size:8px; font-weight:700;
  padding:3px 7px; border-radius:6px; flex:1; text-align:center;
}
.miner-price-opt.tcor { color:var(--cyan); background:rgba(65,184,245,0.1); }
.miner-price-opt.ton  { color:#4ab0e8;    background:rgba(0,136,204,0.1);  }
.miner-price-or { font-size:9px; color:var(--text3); }

/* ═══════════════ ORDERBOOK ═══════════════ */
.ob-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:10px 0; }
.ob-side { background:rgba(0,0,0,0.25); border:1px solid var(--border); border-radius:10px; padding:8px; }
.ob-side-h { font-family:var(--font-head); font-size:9px; letter-spacing:1.5px; margin-bottom:6px; padding-bottom:5px; border-bottom:1px solid var(--border); }
.ob-side-h.ob-bid { color:var(--green); }
.ob-side-h.ob-ask { color:var(--red); }
.ob-list { display:flex; flex-direction:column; gap:3px; max-height:180px; overflow-y:auto; }
.ob-row { display:flex; justify-content:space-between; font-size:11px; font-family:'Rajdhani',sans-serif; padding:3px 6px; border-radius:5px; }
.ob-row:nth-child(odd) { background:rgba(255,255,255,0.02); }
.ob-side:has(.ob-bid) .ob-row span:first-child { color:var(--green); }
.ob-side:has(.ob-ask) .ob-row span:first-child { color:var(--red); }
.ob-empty { color:var(--text3); font-size:11px; text-align:center; padding:14px 0; }
.ob-form { background:rgba(0,0,0,0.2); border:1px solid var(--border); border-radius:10px; padding:10px; margin-top:8px; }
.ob-tabs { display:flex; gap:6px; margin-bottom:10px; }
.ob-tab { flex:1; padding:8px; border-radius:8px; font-family:var(--font-head); font-size:10px; letter-spacing:1px; color:var(--text2); background:rgba(255,255,255,0.04); border:1px solid var(--border); }
.ob-tab.active { background:rgba(65,184,245,0.16); color:var(--cyan); border-color:var(--cyan); }
.ob-inputs { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:8px; }
.ob-inputs input { padding:9px 10px; border-radius:8px; background:rgba(0,0,0,0.35); border:1px solid var(--border2); color:white; font-family:'Rajdhani',sans-serif; font-size:13px; }
.ob-summary { font-size:11px; color:var(--text2); margin-bottom:8px; }
.ob-myorders { margin-top:14px; }
.ob-mylist { display:flex; flex-direction:column; gap:5px; }
.ob-myrow { display:flex; align-items:center; gap:8px; font-size:11px; padding:6px 9px; border-radius:7px; background:rgba(0,0,0,0.25); border:1px solid var(--border); }
.ob-myrow.bid b { color:var(--green); }
.ob-myrow.ask b { color:var(--red); }
.ob-myrow .kick-btn { margin-left:auto; padding:3px 8px; }


/* ═══════════════ PROFILE PAGE ═══════════════ */
.profile-card {
  display:flex; align-items:center; gap:14px;
  background:var(--card); border:1px solid var(--border2);
  border-radius:var(--r); padding:14px; margin-bottom:16px;
}
.profile-name { font-family:var(--font-head); font-size:14px; font-weight:700; color:white; letter-spacing:1.5px; }
.profile-id   { font-size:11px; color:var(--text2); margin:3px 0; font-family:monospace; }
.profile-joined { display:flex; align-items:center; gap:5px; font-size:11px; color:var(--text2); }

.stats-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-bottom:14px; }
.stat-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:12px; padding:12px;
  display:flex; flex-direction:column; gap:5px;
  transition:border-color 0.2s, box-shadow 0.2s;
}
.stat-card:hover { border-color:var(--border2); box-shadow:var(--glow2); }
.stat-val { font-family:var(--font-head); font-size:13px; font-weight:700; color:white; }
.stat-label { font-size:10px; color:var(--text2); }

/* ELECTRICITY CARD */
.electricity-card {
  background:rgba(245,196,56,0.05); border:1px solid rgba(245,196,56,0.2);
  border-radius:12px; padding:12px; margin-bottom:6px;
}
.elec-header {
  display:flex; align-items:center; gap:7px;
  font-family:var(--font-head); font-size:9px; letter-spacing:2px;
  color:var(--gold); margin-bottom:10px;
}
.elec-body { display:flex; flex-direction:column; gap:5px; }
.elec-stat { display:flex; justify-content:space-between; font-size:12px; color:var(--text2); }
.elec-val { font-family:var(--font-head); font-size:11px; font-weight:600; color:white; }
.elec-val.red   { color:var(--red); }
.elec-val.green { color:var(--green); }

/* MY MINERS */
.my-miners { display:flex; flex-direction:column; gap:7px; margin-bottom:6px; }
.my-miner-item {
  background:var(--card); border:1px solid var(--border);
  border-radius:11px; padding:11px 13px;
  display:flex; align-items:center; gap:11px;
}
.my-miner-icon {
  width:36px; height:36px; flex-shrink:0;
  background:rgba(65,184,245,0.07); border-radius:9px;
  border:1px solid var(--border); display:flex; align-items:center; justify-content:center;
}
.my-miner-info { flex:1; }
.my-miner-name  { font-family:var(--font-head); font-size:10px; font-weight:600; color:white; letter-spacing:0.5px; }
.my-miner-stats { font-size:10px; color:var(--text2); margin-top:2px; }
.my-miner-elec  { font-size:10px; color:var(--red); margin-top:1px; opacity:0.8; }
.my-miner-status {
  font-family:var(--font-head); font-size:8px; letter-spacing:1px;
  padding:3px 7px; border-radius:8px;
  background:rgba(30,217,138,0.1); color:var(--green); border:1px solid rgba(30,217,138,0.22);
}

/* FINANCE BTNS */
.finance-btns { display:grid; grid-template-columns:1fr 1fr 1fr; gap:9px; margin-bottom:16px; }
.fin-btn {
  display:flex; flex-direction:column; align-items:center; gap:6px;
  padding:13px 8px; border-radius:13px;
  font-family:var(--font-head); font-size:9px; letter-spacing:1px;
  font-weight:600; transition:all 0.2s; border:1px solid;
}
.fin-btn.deposit  { background:rgba(30,217,138,0.07); border-color:rgba(30,217,138,0.22); color:var(--green); }
.fin-btn.withdraw { background:rgba(255,85,119,0.07); border-color:rgba(255,85,119,0.22); color:var(--red); }
.fin-btn.transfer { background:rgba(65,184,245,0.07); border-color:rgba(65,184,245,0.22); color:var(--cyan); }
.fin-btn:hover    { transform:translateY(-2px); filter:brightness(1.15); }

/* POOL INFO */
.pool-info-card {
  background:var(--card); border:1px solid rgba(65,184,245,0.2); border-radius:13px; padding:13px;
}
.pool-info-header {
  display:flex; align-items:center; gap:7px;
  font-family:var(--font-head); font-size:9px; letter-spacing:2px;
  color:var(--cyan); margin-bottom:9px;
}
.pool-name { font-family:var(--font-head); font-size:12px; font-weight:600; color:white; display:block; }
.pool-members { font-size:11px; color:var(--text2); display:block; margin-top:2px; }

/* BUILDINGS */
.buildings-grid { display:flex; flex-direction:column; gap:10px; }
.building-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:var(--r); padding:14px;
  display:flex; align-items:center; gap:13px;
  transition:border-color 0.2s;
}
.building-card.owned { border-color:rgba(65,184,245,0.22); }
.building-icon {
  width:52px; height:52px; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; border:1px solid;
}
.building-info { flex:1; }
.building-name { font-family:var(--font-head); font-size:11px; font-weight:600; color:white; margin-bottom:3px; }
.building-bonus { font-size:12px; font-weight:600; margin-bottom:3px; }
.building-desc  { font-size:10px; color:var(--text2); line-height:1.4; }
.building-level { font-family:var(--font-head); font-size:9px; color:var(--text2); margin-top:4px; }
.building-btn {
  flex-shrink:0; padding:9px 12px; border-radius:10px;
  font-family:var(--font-head); font-size:9px; letter-spacing:0.5px; font-weight:700;
  text-align:center; line-height:1.4; transition:all 0.2s;
}
.building-btn.buy {
  background:rgba(65,184,245,0.12); border:1px solid rgba(65,184,245,0.3); color:var(--cyan);
}
.building-btn.upgrade {
  background:rgba(245,196,56,0.1); border:1px solid rgba(245,196,56,0.28); color:var(--gold);
}
.building-btn span { font-size:8px; color:inherit; opacity:0.75; display:block; }
.building-btn:hover { transform:translateY(-1px); filter:brightness(1.15); }
.building-maxed {
  flex-shrink:0; padding:9px 12px; border-radius:10px;
  font-family:var(--font-head); font-size:9px; letter-spacing:1px;
  background:rgba(30,217,138,0.1); color:var(--green); border:1px solid rgba(30,217,138,0.25);
}

/* WORKSHOP */
.workshop-banner {
  background:rgba(154,107,255,0.07); border:1px solid rgba(154,107,255,0.2);
  border-radius:var(--r); padding:16px;
  display:flex; align-items:center; gap:12px; margin-bottom:6px;
}
.workshop-title { font-family:var(--font-head); font-size:13px; font-weight:600; color:white; margin-bottom:3px; }
.workshop-sub   { font-size:11px; color:var(--text2); line-height:1.4; }

.workshop-part {
  background:var(--card); border:1px solid var(--border);
  border-radius:11px; padding:11px 13px;
  display:flex; align-items:center; gap:10px; margin-bottom:7px;
}
.part-icon { font-size:20px; }
.part-info { flex:1; }
.part-name   { font-size:12px; font-weight:600; color:white; }
.part-rarity { font-family:var(--font-head); font-size:8px; letter-spacing:1px; margin-top:2px; }
.part-qty    { font-family:var(--font-head); font-size:13px; font-weight:700; color:var(--text2); }
.part-val    { font-family:var(--font-head); font-size:10px; color:var(--cyan); min-width:70px; text-align:right; }

.workshop-craft-btn-wrap { margin-top:14px; }
.craft-btn {
  width:100%; padding:12px; border-radius:12px;
  display:flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--font-head); font-size:11px; letter-spacing:2px; font-weight:700;
  background:linear-gradient(135deg, rgba(154,107,255,0.2), rgba(154,107,255,0.1));
  border:1px solid rgba(154,107,255,0.38); color:var(--purple);
  transition:all 0.2s;
}
.craft-btn:hover { transform:translateY(-1px); box-shadow:0 4px 16px rgba(154,107,255,0.2); }

/* ═══════════════ POOLS PAGE ═══════════════ */
.pool-actions { display:flex; gap:9px; margin-bottom:18px; }
.pool-action-btn {
  flex:1; display:flex; align-items:center; justify-content:center; gap:7px;
  padding:10px; border-radius:11px;
  font-family:var(--font-head); font-size:9px; letter-spacing:1.5px; font-weight:600;
  background:linear-gradient(135deg, rgba(30,127,216,0.22), rgba(65,184,245,0.12));
  border:1px solid rgba(65,184,245,0.32); color:var(--cyan); transition:all 0.2s;
}
.pool-action-btn.secondary { background:rgba(11,24,46,0.6); border-color:var(--border2); color:var(--text); }
.pool-action-btn:hover { transform:translateY(-1px); box-shadow:0 4px 14px rgba(65,184,245,0.18); }

.pool-filter-bar { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin:8px 0 12px; }
.pool-filter-btn { border:1px solid rgba(100,136,175,.28); background:rgba(10,18,32,.78); color:#9fb6d0; border-radius:8px; min-height:34px; font-size:11px; font-weight:800; text-transform:uppercase; }
.pool-filter-btn.active { border-color:rgba(65,184,245,.65); color:#eaf6ff; background:linear-gradient(135deg,rgba(65,184,245,.20),rgba(30,217,138,.12)); }
.pool-filter-search { grid-column:1/-1; min-height:38px; border-radius:8px; border:1px solid rgba(100,136,175,.26); background:rgba(8,14,24,.82); color:#eaf6ff; padding:0 12px; font-size:13px; }
.pool-filter-select { min-height:36px; border-radius:8px; border:1px solid rgba(100,136,175,.26); background:rgba(8,14,24,.88); color:#dcecff; padding:0 8px; font-size:11px; font-weight:750; min-width:0; }

.pools-list { display:flex; flex-direction:column; gap:9px; }
.pool-item {
  background:var(--card); border:1px solid var(--border);
  border-radius:13px; padding:13px; transition:border-color 0.2s, box-shadow 0.2s;
}
.pool-item:hover { border-color:var(--border2); box-shadow:var(--glow2); }
.pool-item-header { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:10px; }
.pool-item-name { font-family:var(--font-head); font-size:12px; font-weight:600; color:white; display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.pool-private-badge {
  font-size:8px; padding:2px 6px; border-radius:6px;
  background:rgba(154,107,255,0.12); color:var(--purple); border:1px solid rgba(154,107,255,0.25);
}
.pool-item-fee {
  font-family:var(--font-head); font-size:8px; letter-spacing:1px;
  padding:3px 7px; border-radius:8px;
  background:rgba(245,196,56,0.1); color:var(--gold); border:1px solid rgba(245,196,56,0.22);
}
.pool-item-stats { display:flex; gap:14px; }
.pool-stat { display:flex; flex-direction:column; gap:2px; }
.pool-stat-val   { font-family:var(--font-head); font-size:12px; font-weight:600; color:var(--cyan); }
.pool-stat-label { font-size:10px; color:var(--text2); }

.pool-join-btn {
  display:block; width:100%; margin-top:11px; padding:8px;
  border-radius:9px; text-align:center;
  font-family:var(--font-head); font-size:9px; letter-spacing:1.5px; font-weight:700;
  background:rgba(65,184,245,0.1); border:1px solid rgba(65,184,245,0.28); color:var(--cyan);
  transition:all 0.2s;
}
.pool-join-btn:hover { background:rgba(65,184,245,0.18); }
.pool-join-btn.joined { background:rgba(30,217,138,0.1); border-color:rgba(30,217,138,0.28); color:var(--green); }
.pool-join-btn.private { background:rgba(154,107,255,0.1); border-color:rgba(154,107,255,0.28); color:var(--purple); }

/* ═══════════════ EXCHANGE PAGE ═══════════════ */
.exchange-note {
  background:rgba(245,196,56,0.07); border:1px solid rgba(245,196,56,0.18);
  border-radius:10px; padding:10px 13px;
  display:flex; align-items:center; gap:8px;
  font-size:11px; color:var(--text2); margin-bottom:14px;
}
.exchange-note.dex {
  background:rgba(154,107,255,0.07); border-color:rgba(154,107,255,0.18);
}

.coins-list { display:flex; flex-direction:column; gap:7px; margin-bottom:18px; }
.coin-item {
  background:var(--card); border:1px solid var(--border);
  border-radius:13px; padding:11px 13px;
  display:flex; align-items:center; gap:11px; transition:border-color 0.2s;
}
.coin-item:hover { border-color:var(--border2); }
.coin-item.dex-coin { border-color:rgba(154,107,255,0.12); }
.coin-icon-wrap {
  width:38px; height:38px; border-radius:50%; flex-shrink:0;
  display:flex; align-items:center; justify-content:center; border:1px solid var(--border);
}
.coin-icon-wrap.tcor   { background:rgba(65,184,245,0.1); }
.coin-icon-wrap.ton    { background:rgba(0,136,204,0.1);  }
.coin-icon-wrap.neon   { background:rgba(0,255,200,0.08); border-color:rgba(0,255,200,0.2); }
.coin-icon-wrap.flux   { background:rgba(255,140,68,0.08); border-color:rgba(255,140,68,0.2); }
.coin-icon-wrap.orbn   { background:rgba(154,107,255,0.08); border-color:rgba(154,107,255,0.2); }
.coin-icon-wrap.pulsar { background:rgba(245,196,56,0.08); border-color:rgba(245,196,56,0.2); }
.coin-icon-wrap.void   { background:rgba(255,85,119,0.08); border-color:rgba(255,85,119,0.2); }

.coin-info { flex:1; }
.coin-name {
  font-family:var(--font-head); font-size:12px; font-weight:600; color:white;
  display:flex; align-items:center; gap:6px;
}
.coin-fullname { font-size:10px; color:var(--text2); margin-top:2px; }
.coin-price-wrap { text-align:right; }
.coin-price  { font-family:var(--font-head); font-size:12px; font-weight:600; color:white; }
.coin-change { font-size:10px; margin-top:2px; font-weight:600; }
.coin-change.up   { color:var(--green); }
.coin-change.down { color:var(--red); }

.dex-risk-badge {
  font-family:var(--font-head); font-size:7px; padding:2px 5px;
  border-radius:6px; background:rgba(0,0,0,0.2);
}

.trade-panel {
  background:var(--card); border:1px solid var(--border2);
  border-radius:var(--r); padding:16px;
}
.trade-panel-header {
  font-family:var(--font-head); font-size:9px; letter-spacing:2px;
  color:var(--text2); margin-bottom:13px;
}
.trade-row { display:flex; align-items:center; gap:9px; margin-bottom:10px; }
.trade-coin-select {
  flex:1; background:rgba(0,0,0,0.28); border:1px solid var(--border);
  border-radius:11px; padding:9px 11px; display:flex; flex-direction:column; gap:5px;
}
.coin-mini {
  display:flex; align-items:center; gap:5px;
  font-family:var(--font-head); font-size:10px; font-weight:700; color:white;
}
.trade-input {
  background:none; border:none; outline:none;
  font-family:var(--font-head); font-size:14px; font-weight:600; color:var(--cyan); width:100%;
}
.trade-input::placeholder { color:var(--text3); }
.swap-btn {
  width:36px; height:36px; border-radius:50%; flex-shrink:0;
  background:rgba(65,184,245,0.1); border:1px solid var(--border2);
  display:flex; align-items:center; justify-content:center;
  color:var(--cyan); transition:all 0.22s;
}
.swap-btn:hover { background:rgba(65,184,245,0.18); transform:rotate(180deg); }
.trade-rate { font-size:11px; color:var(--text2); text-align:center; margin-bottom:11px; }
.trade-execute-btn {
  width:100%; padding:12px; border-radius:11px;
  display:flex; align-items:center; justify-content:center; gap:7px;
  font-family:var(--font-head); font-size:11px; letter-spacing:2px; font-weight:700;
  background:linear-gradient(135deg, #0c4eb0, #1e90e8);
  color:white; border:none; transition:all 0.2s;
  box-shadow:0 4px 18px rgba(30,127,216,0.35);
}
.trade-execute-btn:hover { transform:translateY(-1px); box-shadow:0 6px 22px rgba(30,127,216,0.48); }
.dex-note {
  font-size:11px; color:var(--text3); text-align:center; margin-top:12px; line-height:1.5;
  padding:10px; background:rgba(0,0,0,0.15); border-radius:8px;
}

/* ═══════════════ BLACK MARKET ═══════════════ */
.market-top {
  display:flex; align-items:center; justify-content:space-between; margin-bottom:14px;
}
.market-commission-badge {
  display:flex; align-items:center; gap:5px;
  font-size:11px; color:var(--orange); background:rgba(255,136,68,0.08);
  border:1px solid rgba(255,136,68,0.22); border-radius:10px; padding:5px 11px;
}
.market-list-btn {
  display:flex; align-items:center; gap:6px; padding:8px 14px; border-radius:11px;
  font-family:var(--font-head); font-size:9px; letter-spacing:1.5px; font-weight:700;
  background:rgba(255,136,68,0.12); border:1px solid rgba(255,136,68,0.3); color:var(--orange);
  transition:all 0.2s;
}
.market-list-btn:hover { transform:translateY(-1px); box-shadow:0 4px 14px rgba(255,136,68,0.2); }
.market-filter-row { display:flex; gap:7px; margin-bottom:14px; flex-wrap:wrap; }

.market-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.market-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:var(--r); padding:13px 12px;
  position:relative; overflow:hidden;
  display:flex; flex-direction:column; gap:5px;
  transition:border-color 0.2s, box-shadow 0.2s;
}
.market-card:hover { border-color:rgba(255,136,68,0.28); box-shadow:0 4px 18px rgba(255,136,68,0.08); }
.market-hot {
  position:absolute; top:9px; right:9px;
  font-size:8px; padding:2px 6px; border-radius:6px;
  background:rgba(255,85,119,0.15); color:var(--red); border:1px solid rgba(255,85,119,0.25);
  font-family:var(--font-head); letter-spacing:0.5px;
}
.market-item-icon { font-size:24px; }
.market-item-name {
  font-family:var(--font-head); font-size:10px; font-weight:600; color:white; line-height:1.3;
}
.market-item-seller { font-size:10px; color:var(--text2); }
.market-item-cond { font-size:10px; color:var(--gold); }
.market-item-prices { margin-top:4px; }
.market-price-tcor { font-family:var(--font-head); font-size:11px; font-weight:700; color:var(--cyan); }
.market-price-ton  { font-size:10px; color:#4ab0e8; margin-top:1px; }
.market-fee-note   { font-size:9px; color:var(--orange); opacity:0.7; }
.market-buy-btn {
  margin-top:6px; padding:7px; border-radius:9px; text-align:center;
  font-family:var(--font-head); font-size:9px; letter-spacing:1.5px; font-weight:700;
  background:rgba(255,136,68,0.12); border:1px solid rgba(255,136,68,0.3); color:var(--orange);
  transition:all 0.2s;
}
.market-buy-btn:hover { background:rgba(255,136,68,0.22); }

/* ═══════════════ STATS PAGE ═══════════════ */
.network-hero {
  background:var(--card); border:1px solid var(--border2);
  border-radius:var(--r); padding:22px; text-align:center; margin-bottom:14px;
  position:relative; overflow:hidden;
}
.network-hero::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse at 50% 0%, rgba(65,184,245,0.06) 0%, transparent 60%);
}
.net-hero-value {
  font-family:var(--font-head); font-size:30px; font-weight:900;
  color:white; text-shadow:0 0 18px rgba(65,184,245,0.45); margin-bottom:4px;
}
.net-hero-label { font-size:12px; color:var(--text2); margin-bottom:14px; }
.net-hashbar { display:flex; gap:3px; justify-content:center; }
.hashbar-seg { height:4px; border-radius:2px; flex:1; background:rgba(65,184,245,0.12); }
.hashbar-seg.active {
  background:linear-gradient(90deg, var(--cyan2), var(--cyan));
  box-shadow:0 0 5px rgba(65,184,245,0.5);
}
.network-stats { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-bottom:8px; }
.net-stat {
  background:var(--card); border:1px solid var(--border); border-radius:11px; padding:13px;
}
.net-stat-val   { font-family:var(--font-head); font-size:15px; font-weight:700; color:white; margin-bottom:3px; }
.net-stat-label { font-size:10px; color:var(--text2); }
.net-stat-row {
  display:flex; justify-content:space-between; align-items:center;
  background:var(--card); border:1px solid var(--border); border-radius:10px;
  padding:10px 12px; font-size:12px; color:var(--text2);
}
.net-stat-row b { color:var(--cyan); font-family:var(--font-head); font-size:11px; }

.coin-stats-list { display:flex; flex-direction:column; gap:7px; }
.coin-stat-item {
  background:var(--card); border:1px solid var(--border); border-radius:11px; padding:13px;
}
.coin-stat-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.coin-stat-name {
  display:flex; align-items:center; gap:7px;
  font-family:var(--font-head); font-size:11px; font-weight:600; color:white;
}
.coin-stat-mined { font-size:10px; color:var(--text2); }
.coin-hashbar { height:3px; border-radius:2px; width:100%; background:rgba(65,184,245,0.1); overflow:hidden; }
.coin-hashbar-fill { height:100%; border-radius:2px; background:linear-gradient(90deg, var(--cyan2), var(--cyan)); }

/* ═══════════════ BOTTOM NAV ═══════════════ */
.bottom-nav {
  position:fixed; left:0; right:0; bottom:0;
  display:flex; background:rgba(3,12,24,0.98);
  border-top:1px solid var(--border2); backdrop-filter:blur(22px);
  z-index:50; padding:10px 4px;
  padding-bottom:calc(env(safe-area-inset-bottom, 12px) + 10px);
  box-shadow:0 -6px 22px rgba(0,0,0,0.55);
}
.nav-btn {
  flex:1; display:flex; flex-direction:column; align-items:center; gap:6px;
  padding:13px 4px 11px; color:var(--text3);
  font-family:var(--font-head); font-size:10px; letter-spacing:0.8px;
  transition:transform 0.18s ease, color 0.18s, background 0.18s; border-radius:16px; min-height:68px;
  background:transparent; border:none; cursor:pointer; font-weight:700;
}
.nav-btn svg { width:28px; height:28px; transition:all 0.2s; }
.nav-btn:hover { color:var(--text); background:rgba(65,184,245,0.06); transform: translateY(-1px); }
.nav-btn:active { transform: scale(.95); }
.nav-btn.active {
  color:var(--cyan); text-shadow:0 0 10px rgba(65,184,245,0.65);
  background:linear-gradient(180deg, rgba(65,184,245,0.22), rgba(65,184,245,0.04));
  box-shadow:inset 0 1px 0 rgba(65,184,245,0.42), 0 0 18px rgba(65,184,245,0.15);
}
.nav-btn.active svg { filter:drop-shadow(0 0 8px rgba(65,184,245,0.8)); stroke:var(--cyan); transform:translateY(-2px) scale(1.06); }
.pages { padding-bottom:112px; }

/* ═══════════════ EXCHANGE CHART ═══════════════ */
.chart-card {
  background:linear-gradient(160deg, #0d1d35, #071324);
  border:1px solid var(--border2); border-radius:14px;
  padding:14px; margin-bottom:14px;
}
.chart-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.chart-pair { font-family:var(--font-head); font-size:13px; font-weight:700; color:#fff; letter-spacing:1px; }
.chart-price { font-family:var(--font-head); font-size:18px; font-weight:700; color:var(--cyan); }
.chart-change { font-size:11px; margin-left:6px; }
.chart-change.up { color:#1ed98a; } .chart-change.down { color:#ff5577; }
.chart-svg { width:100%; height:300px; display:block; background:rgba(0,0,0,0.25); border-radius:10px; }
.chart-periods { display:flex; gap:6px; margin-top:8px; }
.chart-periods button {
  flex:1; background:rgba(65,184,245,0.06); color:var(--text2);
  border:1px solid var(--border); border-radius:8px; padding:5px 0;
  font-family:var(--font-head); font-size:10px; cursor:pointer; letter-spacing:0.6px;
}
.chart-periods button.active { background:var(--cyan); color:#02101e; border-color:var(--cyan); font-weight:700; }

/* TON Connect block */
.tonconnect-block {
  background:linear-gradient(135deg, rgba(0,136,204,0.15), rgba(0,136,204,0.04));
  border:1px solid rgba(0,136,204,0.45); border-radius:14px;
  padding:14px; margin-bottom:14px;
}
.tc-status { font-size:11px; color:var(--text2); margin-bottom:8px; }
.tc-status b { color:#41b8f5; }
.tc-connect-btn {
  width:100%; padding:13px; border:none; border-radius:12px; cursor:pointer;
  background:linear-gradient(135deg,#0088cc,#00a3e0); color:#fff;
  font-family:var(--font-head); font-weight:700; letter-spacing:1px; font-size:12px;
}
.tc-deposit-btn {
  width:100%; padding:13px; border:none; border-radius:12px; cursor:pointer; margin-top:10px;
  background:linear-gradient(135deg,#1ed98a,#16a86a); color:#02201a;
  font-family:var(--font-head); font-weight:800; letter-spacing:1px; font-size:13px;
}
.tc-deposit-btn:disabled { opacity:0.5; cursor:not-allowed; }

/* ═══════════════ TASKS ═══════════════ */
.task-card {
  background:linear-gradient(160deg,#0d1d35,#071324);
  border:1px solid var(--border2); border-radius:14px;
  padding:14px; margin-bottom:10px;
  display:flex; gap:12px; align-items:center;
}
.task-info { flex:1; }
.task-title { font-family:var(--font-head); font-weight:700; font-size:13px; color:#fff; letter-spacing:0.5px; }
.task-desc { font-size:11px; color:var(--text2); margin-top:3px; line-height:1.4; }
.task-progress { font-size:10px; color:#41b8f5; margin-top:4px; font-family:var(--font-head); }
.task-reward { font-family:var(--font-head); font-size:11px; color:#f5c438; font-weight:700; text-align:right; min-width:80px; }
.task-btn {
  background:linear-gradient(135deg,#41b8f5,#1e7fd8);
  color:#fff; border:none; border-radius:10px; padding:8px 14px;
  font-family:var(--font-head); font-size:10px; font-weight:700;
  letter-spacing:0.8px; cursor:pointer;
}
.task-btn.done { background:#1ed98a44; color:#1ed98a; cursor:default; }

/* Partner tasks — закреплены сверху, выделяются */
.task-card.task-partner {
  background: linear-gradient(160deg, rgba(245,196,56,0.10), rgba(154,107,255,0.08));
  border: 1px solid rgba(245,196,56,0.55);
  position: relative;
  box-shadow: 0 0 18px rgba(245,196,56,0.18);
  animation: partnerGlow 2.6s ease-in-out infinite;
}
@keyframes partnerGlow {
  0%,100% { box-shadow: 0 0 14px rgba(245,196,56,0.16); border-color: rgba(245,196,56,0.45); }
  50%     { box-shadow: 0 0 26px rgba(245,196,56,0.42); border-color: rgba(245,196,56,0.85); }
}
.task-partner-badge {
  position: absolute; top: -8px; left: 12px;
  font-family: var(--font-head); font-size: 8px; font-weight: 800;
  letter-spacing: 2px; padding: 3px 9px; border-radius: 8px;
  background: linear-gradient(135deg, #f5c438, #ff8844);
  color: #1a0d00;
  box-shadow: 0 2px 8px rgba(245,196,56,0.5);
  animation: partnerBadgePulse 1.8s ease-in-out infinite;
}
@keyframes partnerBadgePulse {
  0%,100% { transform: scale(1); }
  50%     { transform: scale(1.08); }
}
.task-partner .task-title { color: #ffe69e; }
.task-partner .task-desc { color: #e8d8b8; font-size: 13px; line-height: 1.5; }
.task-partner .task-progress { color: #ffd870; }
.task-partner .task-btn {
  background: linear-gradient(135deg, #f5c438, #ff8844);
  color: #1a0d00;
  font-weight: 800;
}

/* ═══════════════ RATING ═══════════════ */
.rank-row {
  background:linear-gradient(160deg,#0d1d35,#071324);
  border:1px solid var(--border2); border-radius:12px;
  padding:12px 14px; margin-bottom:8px;
  display:flex; align-items:center; gap:12px;
}
.rank-pos { font-family:var(--font-head); font-size:18px; font-weight:800; color:#41b8f5; min-width:36px; text-align:center; }
.rank-pos.top1 { color:#f5c438; text-shadow:0 0 8px rgba(245,196,56,0.6); }
.rank-pos.top2 { color:#c9d8e6; }
.rank-pos.top3 { color:#d99a5c; }
.rank-name { flex:1; font-weight:600; }
.rank-value { font-family:var(--font-head); color:#1ed98a; font-size:12px; font-weight:700; }

/* ═══════════════ REFERRAL ═══════════════ */
.ref-card {
  background:linear-gradient(135deg, rgba(154,107,255,0.1), rgba(154,107,255,0.02));
  border:1px solid rgba(154,107,255,0.4); border-radius:14px;
  padding:16px; margin-bottom:14px;
}
.ref-code-box {
  display:flex; align-items:center; gap:8px;
  background:rgba(0,0,0,0.4); border-radius:10px; padding:10px 12px; margin:8px 0 12px;
}
.ref-code { flex:1; font-family:monospace; color:#9a6bff; font-size:13px; font-weight:700; }
.ref-copy {
  background:#9a6bff; color:#fff; border:none; border-radius:6px;
  padding:6px 10px; font-size:11px; cursor:pointer; font-weight:600;
}
.ref-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.ref-stat { background:rgba(0,0,0,0.3); border-radius:10px; padding:10px; text-align:center; }
.ref-stat-val { font-family:var(--font-head); font-size:16px; font-weight:800; color:#9a6bff; }
.ref-stat-lbl { font-size:10px; color:var(--text2); margin-top:3px; }

/* ═══════════════ MODALS ═══════════════ */
.modal-overlay {
  position:fixed; inset:0; z-index:200;
  background:rgba(2,6,16,0.82); backdrop-filter:blur(8px);
  display:flex; align-items:flex-end; justify-content:center;
  animation:overlayIn 0.24s ease;
}
@keyframes overlayIn { from{opacity:0} to{opacity:1} }

.modal-box {
  background:linear-gradient(180deg, #0d1d35 0%, #071223 100%);
  border:1px solid var(--border2); border-bottom:none;
  border-radius:20px 20px 0 0; padding:22px 18px 30px;
  width:100%; max-width:480px; position:relative;
  animation:slideUp 0.28s cubic-bezier(0.34,1.56,0.64,1);
  max-height:82vh; overflow-y:auto;
}
@keyframes slideUp { from{transform:translateY(100%)} to{transform:translateY(0)} }
.modal-close {
  position:absolute; top:14px; right:14px;
  width:30px; height:30px; border-radius:50%;
  background:rgba(255,255,255,0.06); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  color:var(--text2); transition:all 0.2s;
}
.modal-close:hover { background:rgba(255,255,255,0.1); color:white; }

.modal-title {
  font-family:var(--font-head); font-size:15px; font-weight:700;
  letter-spacing:2px; color:white; margin-bottom:5px; text-transform:uppercase;
}
.modal-sub { font-size:12px; color:var(--text2); margin-bottom:18px; }
.modal-field { margin-bottom:13px; }
.modal-label {
  font-family:var(--font-head); font-size:9px; letter-spacing:2px;
  color:var(--text2); margin-bottom:6px; display:block;
}
.modal-input {
  width:100%; padding:11px 13px;
  background:rgba(0,0,0,0.38); border:1px solid var(--border2);
  border-radius:9px; color:white; font-size:14px;
  outline:none; transition:border-color 0.2s;
}
.modal-input:focus { border-color:var(--cyan); box-shadow:0 0 0 2px rgba(65,184,245,0.1); }
.modal-input::placeholder { color:var(--text3); }

.modal-btn { width:100%; padding:12px; border-radius:11px; margin-top:4px; font-family:var(--font-head); font-size:11px; letter-spacing:2px; font-weight:700; transition:all 0.2s; }
.modal-btn.primary { background:linear-gradient(135deg, #0c4eb0, #1e90e8); color:white; border:none; box-shadow:0 4px 18px rgba(30,127,216,0.35); }
.modal-btn.primary:hover { transform:translateY(-1px); box-shadow:0 6px 22px rgba(30,127,216,0.48); }

.ton-payment-info {
  background:rgba(0,136,204,0.07); border:1px solid rgba(0,136,204,0.22);
  border-radius:11px; padding:13px;
  display:flex; align-items:center; gap:11px; margin-bottom:15px;
}
.ton-payment-text { font-size:12px; color:var(--text); }
.ton-payment-text b { color:white; font-family:var(--font-head); }

/* TOGGLES */
.toggle-row {
  display:flex; align-items:center; justify-content:space-between;
  padding:11px 0; border-bottom:1px solid var(--border);
  margin-bottom:4px;
}
.toggle-label { display:flex; align-items:center; gap:7px; font-size:12px; color:var(--text); }
.toggle-switch { position:relative; display:inline-block; width:40px; height:22px; }
.toggle-switch input { opacity:0; width:0; height:0; }
.toggle-slider {
  position:absolute; inset:0; border-radius:22px;
  background:rgba(65,184,245,0.12); border:1px solid var(--border2);
  cursor:pointer; transition:0.3s;
}
.toggle-slider::before {
  content:''; position:absolute;
  height:15px; width:15px; border-radius:50%;
  left:3px; bottom:3px; background:var(--text3);
  transition:0.3s;
}
.toggle-switch input:checked + .toggle-slider { background:rgba(65,184,245,0.22); border-color:var(--cyan); }
.toggle-switch input:checked + .toggle-slider::before { transform:translateX(18px); background:var(--cyan); }

/* MANAGE STATS */
.manage-stats-row {
  display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; margin-bottom:14px;
}
.manage-stat {
  background:rgba(65,184,245,0.06); border:1px solid rgba(65,184,245,0.14);
  border-radius:10px; padding:10px; text-align:center;
}
.manage-stat-val   { font-family:var(--font-head); font-size:14px; font-weight:700; color:white; }
.manage-stat-label { font-size:9px; color:var(--text2); margin-top:2px; }

.kick-btn {
  padding:11px 14px; border-radius:9px;
  font-family:var(--font-head); font-size:9px; letter-spacing:1px; font-weight:700;
  background:rgba(255,85,119,0.12); border:1px solid rgba(255,85,119,0.28); color:var(--red);
  transition:all 0.2s; flex-shrink:0;
}
.kick-btn:hover { background:rgba(255,85,119,0.22); }

/* BUY MODAL */
.buy-miner-card {
  display:flex; align-items:center; gap:13px; margin-bottom:16px;
  background:rgba(65,184,245,0.05); border:1px solid var(--border2);
  border-radius:13px; padding:13px;
}
.buy-miner-icon-wrap {
  width:48px; height:48px; background:rgba(65,184,245,0.07);
  border:1px solid rgba(65,184,245,0.2); border-radius:11px;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.buy-miner-details { flex:1; }
.buy-miner-name { font-family:var(--font-head); font-size:13px; font-weight:700; color:white; letter-spacing:1px; margin-bottom:3px; }
.buy-specs { display:flex; flex-direction:column; margin-bottom:14px; }
.buy-spec-row { display:flex; justify-content:space-between; padding:7px 0; border-bottom:1px solid var(--border); }
.buy-spec-row:last-child { border-bottom:none; }
.buy-spec-k { font-size:11px; color:var(--text2); }
.buy-spec-v { font-family:var(--font-head); font-size:11px; font-weight:600; color:var(--cyan); }

.buy-currency-label {
  font-family:var(--font-head); font-size:9px; letter-spacing:2px;
  color:var(--text2); margin-bottom:9px;
}
.buy-currency-row { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:14px; }
.buy-cur-btn {
  display:flex; align-items:center; justify-content:center; gap:7px;
  padding:11px; border-radius:10px;
  font-family:var(--font-head); font-size:10px; font-weight:700;
  background:rgba(65,184,245,0.07); border:1px solid var(--border); color:var(--text2);
  transition:all 0.2s;
}
.buy-cur-btn.active { background:rgba(65,184,245,0.14); border-color:var(--cyan); color:var(--cyan); box-shadow:0 0 10px rgba(65,184,245,0.15); }

/* Stars background */
.stars-bg { position:fixed; inset:0; z-index:0; pointer-events:none; }

/* ═══════════════ ANIMATED MINER SVG ═══════════════ */
.miner-anim-svg { width: 100%; height: 100%; display: block; filter: drop-shadow(0 0 10px rgba(65,184,245,0.35)); }
.my-miner-icon { width: 56px; height: 56px; flex-shrink: 0; border-radius: 10px; background: linear-gradient(160deg,#0d1d35,#06101f); border: 1px solid var(--border2); overflow: hidden; }
@keyframes fanSpin  { from { transform: rotate(0); }     to { transform: rotate(360deg); } }
@keyframes fanSpinR { from { transform: rotate(360deg); } to { transform: rotate(0); } }
.miner-card { transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.miner-card:hover { transform: translateY(-3px) scale(1.01); box-shadow: 0 12px 28px rgba(0,0,0,.5), 0 0 22px rgba(65,184,245,0.18); }
.miner-card:active { transform: scale(.985); }

/* ═══════════════ STAKING UI ═══════════════ */
.stake-periods { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 12px; }
.stake-period-btn {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 12px 4px; border-radius: 12px; cursor: pointer;
  background: linear-gradient(160deg,#0d1d35,#06101f); border: 1px solid var(--border2);
  color: var(--text); font-family: var(--font-head); font-size: 13px; font-weight: 700;
  transition: transform .15s, box-shadow .15s, border-color .15s;
}
.stake-period-btn:hover { transform: translateY(-2px); border-color: var(--cyan); }
.stake-period-btn.active { border-color: var(--green); box-shadow: 0 0 14px rgba(30,217,138,0.3); background: linear-gradient(160deg, rgba(30,217,138,0.15), rgba(15,32,60,0.7)); }
.stake-apy { color: var(--green); font-size: 11px; margin-top: 2px; }
.stake-input-row { display: flex; gap: 8px; align-items: center; }
.stake-input-row #stakeAmt { flex: 1; }
.stake-btn { width: auto !important; padding: 11px 22px !important; margin: 0 !important; white-space: nowrap; }

/* ═══════════════ GLOBAL UI ANIMATIONS ═══════════════ */
.modal-btn, .tc-deposit-btn, .tc-connect-btn, .market-list-btn, .pool-action-btn,
.fin-btn, .filter-btn, .sub-tab, .nav-btn, .stake-period-btn {
  position: relative; overflow: hidden;
}
.modal-btn:active, .tc-deposit-btn:active, .tc-connect-btn:active, .fin-btn:active,
.pool-action-btn:active, .market-list-btn:active { transform: scale(.96); }

.stat-card { transition: transform .2s, box-shadow .2s; }
.stat-card:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(0,0,0,.45), 0 0 18px rgba(65,184,245,0.18); }

@keyframes fadeUp { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.page.active > * { animation: fadeUp .35s ease both; }
.page.active > *:nth-child(2) { animation-delay: .04s; }
.page.active > *:nth-child(3) { animation-delay: .08s; }
.page.active > *:nth-child(4) { animation-delay: .12s; }
.page.active > *:nth-child(5) { animation-delay: .16s; }

/* notifications */
.notif { animation: notifSlide .35s cubic-bezier(.2,.9,.3,1.1) both; }
@keyframes notifSlide { from { opacity: 0; transform: translate(-50%, 30px); } to { opacity: 1; transform: translate(-50%, 0); } }
.lang-btn {
  background: linear-gradient(135deg,#0d1d35,#122840);
  border: 1px solid rgba(65,184,245,0.45);
  color: #41b8f5;
  font-family: 'Orbitron',sans-serif;
  font-size: 11px;
  font-weight: 700;
  padding: 8px 12px;
  border-radius: 10px;
  letter-spacing: 0.6px;
  transition: all 0.2s;
  display: inline-flex; align-items: center; gap: 6px;
  box-shadow: 0 0 8px rgba(65,184,245,0.18);
}
.lang-btn::after { content: '▾'; font-size: 9px; opacity: .8; }
.lang-btn:hover { box-shadow: 0 0 16px rgba(65,184,245,0.45); transform: translateY(-1px); }
.lang-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 140px;
  background: linear-gradient(160deg,#0d1d35,#071223);
  border: 1px solid rgba(65,184,245,0.3);
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.6), 0 0 20px rgba(65,184,245,0.15);
  padding: 6px;
  display: none;
  z-index: 1000;
}
.lang-menu.open { display: block; }
.lang-menu button {
  display: block;
  width: 100%;
  text-align: left;
  background: transparent;
  border: none;
  color: #c0d8ee;
  padding: 8px 12px;
  font-family: 'Rajdhani',sans-serif;
  font-size: 13px;
  border-radius: 6px;
  transition: background 0.15s;
}
.lang-menu button:hover { background: rgba(65,184,245,0.12); }
.lang-menu button.active { background: rgba(65,184,245,0.2); color: #41b8f5; font-weight: 700; }

/* RTL поддержка */
html[dir="rtl"] .lang-menu { right: auto; left: 0; }
html[dir="rtl"] .lang-menu button { text-align: right; }
html[dir="rtl"] body { font-family: 'Rajdhani',Tahoma,Arial,sans-serif; }

html[dir="rtl"] .header-top,
html[dir="rtl"] .header-right,
html[dir="rtl"] .header-balances,
html[dir="rtl"] .header-bal-item,
html[dir="rtl"] .header-logo,
html[dir="rtl"] .bottom-nav,
html[dir="rtl"] .sub-tabs,
html[dir="rtl"] .filter-row,
html[dir="rtl"] .market-filter-row,
html[dir="rtl"] .finance-btns,
html[dir="rtl"] .pool-actions,
html[dir="rtl"] .trade-row,
html[dir="rtl"] .chart-head,
html[dir="rtl"] .market-top,
html[dir="rtl"] .profile-card { flex-direction: row-reverse; }

html[dir="rtl"] .stats-grid,
html[dir="rtl"] .miners-grid,
html[dir="rtl"] .buildings-grid,
html[dir="rtl"] .market-grid { direction: rtl; }
html[dir="rtl"] .stats-grid > *,
html[dir="rtl"] .miners-grid > *,
html[dir="rtl"] .buildings-grid > *,
html[dir="rtl"] .market-grid > * { direction: ltr; text-align: right; }

html[dir="rtl"] .miner-card,
html[dir="rtl"] .my-miner-card,
html[dir="rtl"] .pool-card,
html[dir="rtl"] .stat-card,
html[dir="rtl"] .coin-row,
html[dir="rtl"] .electricity-card,
html[dir="rtl"] .pool-info-card,
html[dir="rtl"] .market-card,
html[dir="rtl"] .modal-box,
html[dir="rtl"] .page-header,
html[dir="rtl"] .trade-panel,
html[dir="rtl"] .chart-card,
html[dir="rtl"] .exchange-note,
html[dir="rtl"] .section-title { text-align: right; }

html[dir="rtl"] .modal-close { left: 12px; right: auto; }
html[dir="rtl"] .nav-btn { text-align: center; }

html[dir="rtl"] input,
html[dir="rtl"] textarea,
html[dir="rtl"] select { text-align: right; direction: rtl; }

html[dir="rtl"] .trade-input,
html[dir="rtl"] input[type="number"] { direction: ltr; text-align: left; }

html[dir="rtl"] .pool-info-header,
html[dir="rtl"] .elec-header,
html[dir="rtl"] .chart-pair,
html[dir="rtl"] .pool-info-body,
html[dir="rtl"] .elec-stat { flex-direction: row-reverse; text-align: right; }

html[dir="rtl"] .progress-bar,
html[dir="rtl"] .net-hashbar { transform: scaleX(-1); transform-origin: center; }

/* ═══════ MAGAZIN: запчасти и мастерская ═══════ */
.parts-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:11px;
  margin-top:12px;
}
.part-card {
  position:relative; overflow:hidden;
  background:var(--card);
  border:1px solid var(--rc, var(--border2));
  border-radius:14px;
  padding:14px 12px 12px;
  text-align:center;
  transition:transform .18s ease, box-shadow .18s ease;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.02) inset;
}
.part-card::before {
  content:''; position:absolute; inset:0; pointer-events:none; border-radius:14px;
  background: radial-gradient(ellipse at top, rgba(var(--rc,255,255,255),0.06), transparent 65%);
}
.part-card:hover { transform:translateY(-2px); box-shadow:0 6px 22px var(--rc, rgba(65,184,245,0.15)); }
.part-card.rarity-legendary { animation:legendPulse 2.5s ease-in-out infinite; }
@keyframes legendPulse { 0%,100%{box-shadow:0 0 14px rgba(245,196,56,0.15)} 50%{box-shadow:0 0 22px rgba(245,196,56,0.35)} }
.part-rarity-strip { position:absolute; top:0; left:0; right:0; height:3px; }
.part-icon-wrap { width:54px; height:54px; margin:6px auto 8px; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,0.25); border-radius:12px; border:1px solid var(--border); }
.part-icon-wrap .part-anim { width:46px; height:46px; }
.part-rarity-badge { display:inline-block; font-family:var(--font-head); font-size:8px; letter-spacing:1.4px; padding:2px 7px; border-radius:8px; border:1px solid; margin-bottom:6px; }
.part-name { font-family:var(--font-head); font-size:11px; letter-spacing:.5px; margin-bottom:6px; color:white; min-height:28px; display:flex; align-items:center; justify-content:center; }
.part-bonuses { display:flex; justify-content:space-around; gap:6px; font-size:10px; color:var(--text2); margin-bottom:9px; }
.part-bonus.h { color:var(--green); font-weight:600; }
.part-bonus.w { color:var(--red); font-weight:600; }
.part-prices { display:flex; flex-direction:column; gap:5px; }
.part-buy {
  font-family:var(--font-head); font-size:10px; font-weight:700; letter-spacing:.7px;
  padding:8px 6px; border-radius:8px; border:1px solid; cursor:pointer;
  transition:all .15s ease;
}
.part-buy.tcor { color:var(--cyan); background:rgba(65,184,245,0.1); border-color:rgba(65,184,245,0.3); }
.part-buy.ton  { color:#4ab0e8;    background:rgba(0,136,204,0.1);  border-color:rgba(0,136,204,0.3); }
.part-buy:hover { filter:brightness(1.2); transform:translateY(-1px); }

.workshop-wrap { display:flex; flex-direction:column; gap:18px; margin-top:12px; }
.workshop-section { background:var(--card); border:1px solid var(--border); border-radius:14px; padding:14px; }
.my-parts-grid { display:flex; flex-direction:column; gap:8px; max-height:260px; overflow-y:auto; }
.my-part-item { display:flex; align-items:center; gap:10px; background:var(--bg2); border:1px solid var(--border); border-radius:10px; padding:8px 10px; }
.my-part-icon { font-size:22px; width:30px; text-align:center; }
.my-part-meta { flex:1; min-width:0; }
.my-part-name { font-family:var(--font-head); font-size:12px; }
.my-part-stats { font-size:11px; color:var(--text2); }
.my-part-qty { font-size:11px; color:var(--text2); }
.my-part-qty .mute { color:var(--text3); }
.my-part-item .btn { padding:7px 10px; font-size:11px; }

.craft-builder { display:flex; flex-direction:column; gap:10px; }
.craft-builder input { background:var(--bg2); border:1px solid var(--border2); border-radius:8px; color:var(--text); padding:9px 10px; font-size:13px; }
.craft-stats { display:flex; flex-wrap:wrap; gap:12px; font-size:12px; color:var(--text2); }
.craft-stats b { color:var(--cyan); font-family:var(--font-head); margin-left:4px; }
.craft-slots { display:flex; flex-wrap:wrap; gap:6px; min-height:42px; background:var(--bg2); border:1px dashed var(--border2); border-radius:10px; padding:8px; }
.craft-slot { display:flex; align-items:center; gap:6px; background:var(--bg3); border:1px solid var(--border); border-radius:8px; padding:4px 8px; font-size:11px; }
.craft-slot .btn { padding:3px 8px; font-size:11px; line-height:1; border-radius:6px; }
.craft-empty { color:var(--text3); font-size:12px; padding:6px; }

/* Блок ремонта майнеров в мастерской */
.repair-list { display:flex; flex-direction:column; gap:8px; }
.repair-item {
  background:var(--bg2); border:1px solid var(--border); border-radius:11px; padding:12px;
  display:flex; flex-direction:column; gap:6px;
}
.repair-row { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.repair-name { font-weight:600; font-size:13px; color:var(--text1); }
.repair-hp { font-weight:700; font-size:12px; letter-spacing:0.5px; }
.hp-bar { height:6px; background:rgba(0,0,0,0.5); border-radius:6px; overflow:hidden; }
.hp-bar > div { height:100%; transition:width .3s ease; }

/* Топ-5 чужих сетей под TCOR */
.top-coins-list { display:flex; flex-direction:column; gap:8px; margin-top:8px; }
.top-coin-item {
  display:flex; gap:10px; align-items:flex-start;
  background:var(--bg2); border:1px solid var(--border); border-radius:11px; padding:10px 12px;
}
.top-coin-rank {
  font-family:var(--font-head); font-size:18px; color:var(--cyan);
  min-width:36px; text-align:center; padding-top:2px;
}
.top-coin-main { flex:1; display:flex; flex-direction:column; gap:6px; }
.top-coin-row { display:flex; justify-content:space-between; align-items:center; gap:8px; flex-wrap:wrap; }
.top-coin-name { font-size:13px; color:var(--text1); }
.top-coin-hr { font-family:var(--font-head); color:var(--cyan); font-size:12px; }

.customs-list { display:flex; flex-direction:column; gap:8px; }
.custom-item {
  display:flex; flex-direction:column; gap:8px;
  background:var(--bg2); border:1px solid var(--border); border-radius:11px; padding:12px;
}
.custom-row { display:flex; justify-content:space-between; align-items:center; gap:8px; flex-wrap:wrap; }
.custom-name { font-family:var(--font-head); font-size:12px; color:white; }
.custom-stats { color:var(--cyan); font-size:12px; font-family:var(--font-head); }
.custom-copies { font-size:11px; color:var(--text2); }
.custom-copies b { color:var(--gold); font-family:var(--font-head); }
.custom-date { font-size:10px; margin-left:auto; }
.coin-pick-list { display:flex; flex-direction:column; gap:6px; margin-top:10px; }
.coin-pick-item {
  background:var(--bg2); border:1px solid var(--border2); border-radius:9px;
  padding:10px 12px; text-align:left; color:var(--text);
  font-size:13px; cursor:pointer; transition:border-color .15s;
}
.coin-pick-item:hover { border-color:var(--cyan); }
.coin-pick-item b { color:var(--cyan); font-family:var(--font-head); margin-right:8px; }
.coin-pick-item .mute { color:var(--text2); font-size:11px; }

.empty-state { color:var(--text3); text-align:center; padding:18px; font-size:12px; }

/* ═══════ MARKET ═══════ */
.market-filter-row { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin:10px 0 14px; }
.market-filter-row .sort-select { margin-left:auto; background:var(--bg2); color:var(--text); border:1px solid var(--border2); border-radius:8px; padding:6px 8px; font-size:12px; }
.market-card { background:var(--card); border:1px solid var(--border2); border-radius:12px; padding:12px; display:flex; flex-direction:column; gap:6px; }
.market-card-head { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.market-card-title { font-family:var(--font-head); font-size:13px; }

/* ═══════ INTRO SCREENS (lang pick + onboarding) ═══════ */
.intro-screen {
  position: fixed; inset: 0; z-index: 9999;
  display: flex; align-items: center; justify-content: center;
  padding: 24px;
  background: radial-gradient(ellipse at center, #07182e 0%, #030a16 70%);
  animation: introFadeIn .45s ease forwards;
}
.intro-screen.hidden { display: none; }
.intro-screen.fade-out { animation: introFadeOut .35s ease forwards; }
@keyframes introFadeIn  { from{opacity:0; transform:scale(.98)} to{opacity:1; transform:scale(1)} }
@keyframes introFadeOut { from{opacity:1} to{opacity:0; transform:scale(1.02)} }
.intro-screen .stars-bg { position:absolute; inset:0; pointer-events:none; }
.intro-card {
  position: relative; z-index: 1;
  width: 100%; max-width: 420px;
  background: linear-gradient(160deg, rgba(12,28,52,0.92) 0%, rgba(5,14,28,0.92) 100%);
  border: 1px solid rgba(65,184,245,0.32);
  border-radius: 22px;
  padding: 28px 22px;
  box-shadow: 0 12px 50px rgba(0,0,0,0.6), 0 0 80px rgba(65,184,245,0.10);
  text-align: center;
}
.intro-logo { display:flex; justify-content:center; margin-bottom: 10px; }
.intro-title {
  font-family: var(--font-head); font-size: 18px; font-weight: 800;
  color: #fff; letter-spacing: 2px; text-transform: uppercase;
  text-shadow: 0 0 18px rgba(65,184,245,0.5);
  margin: 6px 0 6px;
}
.intro-sub { color: var(--text2); font-size: 12px; letter-spacing: 1px; margin-bottom: 22px; }

/* lang picker */
.lang-pick-list { display:flex; flex-direction:column; gap: 10px; margin-top: 8px; }
.lang-pick-btn {
  display: flex; align-items: center; gap: 14px;
  padding: 14px 16px; border-radius: 14px;
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--border2);
  color: var(--text); cursor: pointer;
  font-family: var(--font-head); font-size: 15px; font-weight: 700;
  letter-spacing: 1px;
  transition: background .18s, border-color .18s, transform .18s, box-shadow .18s;
}
.lang-pick-btn:hover {
  background: rgba(65,184,245,0.10);
  border-color: rgba(65,184,245,0.55);
  transform: translateY(-1px);
  box-shadow: 0 6px 22px rgba(65,184,245,0.18);
}
.lp-flag  { font-size: 24px; line-height: 1; }
.lp-name  { flex: 1; text-align: left; }
.lp-arrow { color: var(--cyan); opacity: 0; transform: translateX(-4px); transition: .18s; }
.lang-pick-btn:hover .lp-arrow { opacity: 1; transform: translateX(0); }
html[dir="rtl"] .lp-name  { text-align: right; }
html[dir="rtl"] .lp-arrow { transform: scaleX(-1) translateX(-4px); }
html[dir="rtl"] .lang-pick-btn:hover .lp-arrow { transform: scaleX(-1) translateX(0); }

/* onboarding */
.onb-card { padding: 22px 20px 18px; }
.onb-progress {
  display: flex; justify-content: center; gap: 8px; margin-bottom: 18px;
}
.onb-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: rgba(255,255,255,0.12);
  transition: background .25s, transform .25s;
}
.onb-dot.done   { background: rgba(65,184,245,0.55); }
.onb-dot.active { background: var(--cyan); transform: scale(1.35); box-shadow: 0 0 12px rgba(65,184,245,0.7); }
.onb-icon {
  width: 96px; height: 96px; margin: 4px auto 14px;
  filter: drop-shadow(0 0 18px rgba(65,184,245,0.45));
}
.onb-text {
  color: var(--text2); font-size: 14px; line-height: 1.55;
  margin: 8px 4px 22px; min-height: 70px;
}
.onb-nav {
  display: flex; justify-content: space-between; gap: 10px;
}
.onb-nav .btn { flex: 1; }
.onb-nav .btn.ghost {
  background: transparent; color: var(--text2); border: 1px solid var(--border2);
}
.onb-nav .btn.primary {
  background: linear-gradient(135deg, var(--cyan) 0%, #1e7fd8 100%);
  color: #fff; border: 0; font-weight: 700;
  box-shadow: 0 4px 18px rgba(65,184,245,0.35);
}

/* ═══════ ONBOARDING TOUR (spotlight over live UI) ═══════ */
.onb-tour-overlay {
  position: fixed; inset: 0; z-index: 99998;
  pointer-events: none;
  animation: introFadeIn .25s ease forwards;
}
.onb-tour-overlay.hidden { display: none; }
.onb-tour-overlay.fade-out { animation: introFadeOut .3s ease forwards; }
.onb-tour-overlay::before {
  content: ''; position: absolute; inset: 0;
  background: rgba(3, 8, 18, 0.78);
  backdrop-filter: blur(2px);
  pointer-events: auto;
}
.onb-tour-spotlight {
  position: absolute;
  border-radius: 14px;
  pointer-events: none;
  box-shadow:
    0 0 0 9999px rgba(3, 8, 18, 0.78),
    0 0 0 3px rgba(65, 184, 245, 1.0),
    0 0 30px 6px rgba(65, 184, 245, 0.55);
  transition: all .35s cubic-bezier(.4, 0, .2, 1);
  z-index: 1;
  animation: spotPulse 1.6s ease-in-out infinite;
}
@keyframes spotPulse {
  0%, 100% { box-shadow: 0 0 0 9999px rgba(3,8,18,0.78), 0 0 0 3px rgba(65,184,245,1.0), 0 0 28px 6px rgba(65,184,245,0.45); }
  50%      { box-shadow: 0 0 0 9999px rgba(3,8,18,0.78), 0 0 0 4px rgba(65,184,245,1.0), 0 0 60px 14px rgba(65,184,245,0.85); }
}

/* Стрелка-указатель на подсвеченный элемент */
.onb-tour-arrow {
  position: absolute; z-index: 3;
  pointer-events: none;
  filter: drop-shadow(0 0 10px rgba(65,184,245,0.85));
  transition: top .35s, left .35s;
}
.onb-tour-arrow.arrow-up   { animation: arrowBobUp   1.1s ease-in-out infinite; }
.onb-tour-arrow.arrow-down { animation: arrowBobDown 1.1s ease-in-out infinite; transform: rotate(180deg); }
@keyframes arrowBobUp   { 0%,100%{ transform: translateY(0);}    50%{ transform: translateY(6px);} }
@keyframes arrowBobDown { 0%,100%{ transform: translateY(0) rotate(180deg);} 50%{ transform: translateY(-6px) rotate(180deg);} }

.onb-tour-bubble {
  position: absolute;
  width: 320px; max-width: calc(100vw - 24px);
  background: linear-gradient(160deg, rgba(12,28,52,0.97) 0%, rgba(5,14,28,0.97) 100%);
  border: 1px solid rgba(65,184,245,0.45);
  border-radius: 18px;
  padding: 16px 16px 14px;
  box-shadow: 0 14px 50px rgba(0,0,0,0.7), 0 0 60px rgba(65,184,245,0.18);
  pointer-events: auto;
  z-index: 2;
  transition: top .35s cubic-bezier(.4,0,.2,1), left .35s cubic-bezier(.4,0,.2,1);
}
.onb-tour-step {
  font-family: var(--font-head); font-size: 10px;
  letter-spacing: 2px; color: var(--cyan); opacity: .85;
  text-align: center; margin-bottom: 8px;
}
.onb-tour-bubble .onb-progress { margin-bottom: 12px; }
.onb-tour-title {
  font-family: var(--font-head);
  font-size: 14px; font-weight: 800;
  letter-spacing: 1.5px;
  color: #fff;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 8px;
  text-shadow: 0 0 16px rgba(65,184,245,0.5);
}
.onb-tour-text {
  color: var(--text);
  font-size: 13px; line-height: 1.55;
  text-align: center;
  margin-bottom: 14px;
}
.onb-tour-bubble .onb-nav { gap: 8px; display: flex; }
.onb-tour-bubble .onb-nav .btn { padding: 9px 14px; font-size: 12px; border-radius: 10px; flex: 1; }
.onb-tour-bubble .onb-nav .btn.ghost {
  background: transparent; color: var(--text2); border: 1px solid var(--border2);
}
.onb-tour-bubble .onb-nav .btn.primary {
  background: linear-gradient(135deg, var(--cyan) 0%, #1e7fd8 100%);
  color: #fff; border: 0; font-weight: 700;
  box-shadow: 0 4px 18px rgba(65,184,245,0.35);
}

/* кнопка mute */
.icon-btn.muted { opacity: .35; }
.icon-btn.muted::after {
  content: ''; position: absolute; inset: 30%;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);
  pointer-events: none;
}
.icon-btn { position: relative; }

/* FAQ help block */
.faq-help-card {
  margin-top: 16px; padding: 14px;
  background: linear-gradient(135deg, rgba(65,184,245,0.08), rgba(154,107,255,0.05));
  border: 1px solid rgba(65,184,245,0.25);
  border-radius: 14px;
  text-align: center;
}
.faq-help-card h4 {
  font-family: var(--font-head); font-size: 11px; letter-spacing: 1.5px;
  color: var(--cyan); margin-bottom: 10px;
}
.faq-help-card .btn.primary {
  width: 100%; padding: 11px;
  background: linear-gradient(135deg, var(--cyan) 0%, #1e7fd8 100%);
  color: #fff; font-weight: 700; border-radius: 12px; font-size: 12px;
  letter-spacing: 1px; text-transform: uppercase;
  box-shadow: 0 4px 18px rgba(65,184,245,0.3);
}
.market-card-meta { font-size:11px; }
.market-card-desc { font-size:12px; color:var(--text); opacity:.8; }
.market-card-price { color:var(--cyan); font-family:var(--font-head); font-size:14px; margin-top:4px; }
.market-card-actions { display:flex; gap:6px; margin-top:6px; }
.market-card-actions .btn { padding:7px 12px; font-size:11px; }
.tag { display:inline-block; padding:2px 8px; border-radius:6px; font-size:10px; letter-spacing:.5px; }
.tag.green { background:rgba(30,217,138,0.15); color:var(--green); }
.tag.red { background:rgba(255,85,119,0.15); color:var(--red); }
.tag.yellow { background:rgba(245,196,56,0.15); color:var(--gold); }

@media (max-width: 480px) {
  .parts-grid { grid-template-columns:repeat(2,1fr); }
}

/* ═══════ MODAL: List Item ═══════ */
.list-modal { padding:6px 2px 4px; }
.list-modal .modal-title {
  font-family:var(--font-head); font-size:14px; letter-spacing:2px;
  color:var(--cyan); margin-bottom:6px; text-align:center;
}
.list-modal .modal-desc { font-size:11px; color:var(--text2); margin-bottom:14px; text-align:center; }
.list-modal label {
  display:block; font-family:var(--font-head); font-size:9px; letter-spacing:1.5px;
  color:var(--text3); margin:10px 0 4px;
}
.list-modal input[type="number"], .list-modal textarea {
  width:100%; background:var(--bg2); border:1px solid var(--border2);
  border-radius:8px; color:var(--text); padding:9px 10px; font-size:13px;
}
.list-modal input[type="range"] { width:100%; }
.list-modal textarea { resize:vertical; min-height:46px; font-family:inherit; }
.list-section { margin-bottom:8px; }
.list-source-tabs { display:flex; gap:4px; background:rgba(0,0,0,0.25); padding:3px; border-radius:9px; border:1px solid var(--border); margin-bottom:8px; }
.list-src-tab {
  flex:1; padding:7px 4px; border-radius:7px;
  font-family:var(--font-head); font-size:9px; letter-spacing:1px;
  color:var(--text2); background:transparent; border:none; cursor:pointer;
}
.list-src-tab.active { background:rgba(65,184,245,0.14); color:var(--cyan); }
.list-inventory {
  max-height:160px; overflow-y:auto;
  background:var(--bg2); border:1px solid var(--border); border-radius:9px; padding:6px;
  display:flex; flex-direction:column; gap:4px;
}
.list-inv-item {
  display:flex; justify-content:space-between; align-items:center; gap:8px;
  background:var(--bg3); border:1px solid var(--border); border-radius:7px;
  padding:8px 10px; font-size:12px; cursor:pointer;
  transition:border-color .15s ease, background .15s ease;
}
.list-inv-item:hover { border-color:var(--cyan); }
.list-inv-item.selected { border-color:var(--green); background:rgba(30,217,138,0.08); }
.list-inv-item .inv-meta { font-size:10px; color:var(--text2); }
.list-picked { background:rgba(30,217,138,0.08); border:1px solid rgba(30,217,138,0.3); border-radius:8px; padding:8px 10px; font-size:12px; margin-top:6px; }
.list-preview {
  background:rgba(245,196,56,0.06); border:1px solid rgba(245,196,56,0.22);
  border-radius:9px; padding:9px 11px; margin:14px 0 8px;
  display:flex; flex-direction:column; gap:4px; font-size:12px;
}
.list-prev-row { display:flex; justify-content:space-between; color:var(--text2); }
.list-prev-row b { color:var(--gold); font-family:var(--font-head); }
.list-submit-btn { width:100%; margin-top:6px; }

.ref-rule {
  background:rgba(154,107,255,0.08); border:1px solid rgba(154,107,255,0.3);
  border-radius:10px; padding:10px 12px; font-size:12px; color:#c8b3ff;
  margin-bottom:12px; line-height:1.5;
}

.faq-list { display:flex; flex-direction:column; gap:8px; margin-top:8px; }
.faq-item {
  background:var(--card); border:1px solid var(--border); border-radius:11px;
  padding:0; overflow:hidden;
}
.faq-item summary {
  cursor:pointer; padding:12px 14px; font-family:var(--font-head);
  font-size:11px; letter-spacing:1px; color:white; list-style:none;
  display:flex; justify-content:space-between; align-items:center;
}
.faq-item summary::after { content:'+'; color:var(--cyan); font-size:18px; transition:transform .15s ease; }
.faq-item[open] summary::after { content:'−'; }
.faq-item .faq-answer {
  padding:0 14px 14px; font-size:12px; color:var(--text2); line-height:1.55;
  border-top:1px solid var(--border);
  padding-top:10px;
}

/* ═══════════ WORKSHOP REDESIGN (v13) ═══════════ */
.workshop-section {
  background: linear-gradient(180deg, rgba(13,21,37,0.95), rgba(10,14,26,0.92));
  border: 1px solid rgba(65,184,245,0.18);
  border-radius: 16px;
  padding: 14px;
  position: relative;
  overflow: hidden;
}
.workshop-section::before {
  content: '';
  position: absolute; left: 0; top: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent, rgba(65,184,245,0.5), rgba(154,107,255,0.5), transparent);
}
.workshop-section .section-title {
  position: relative; padding-left: 12px; margin-bottom: 12px;
  font-size: 11px; letter-spacing: 1.5px;
}
.workshop-section .section-title::before {
  content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 3px; height: 14px; background: linear-gradient(180deg, #41b8f5, #9a6bff); border-radius: 2px;
}
.my-parts-grid {
  max-height: 320px; overflow-y: auto; padding-right: 4px;
  scrollbar-width: thin; scrollbar-color: rgba(65,184,245,0.3) transparent;
}
.my-parts-grid::-webkit-scrollbar { width: 5px; }
.my-parts-grid::-webkit-scrollbar-thumb { background: rgba(65,184,245,0.3); border-radius: 3px; }
.my-part-item {
  background: linear-gradient(135deg, rgba(13,21,37,0.7), rgba(10,14,26,0.5));
  border-radius: 11px; padding: 10px 12px;
  transition: transform .12s ease, border-color .15s ease;
}
.my-part-item:hover { transform: translateX(2px); border-color: rgba(65,184,245,0.4); }
.my-part-icon {
  width: 36px; height: 36px; border-radius: 9px;
  background: rgba(0,0,0,0.4);
  display: flex; align-items: center; justify-content: center;
  font-size: 20px; flex-shrink: 0;
}
.craft-builder {
  background: linear-gradient(135deg, rgba(65,184,245,0.04), rgba(154,107,255,0.04));
  border: 1px solid rgba(65,184,245,0.15); border-radius: 14px; padding: 14px;
}
.craft-builder input#craftName {
  font-family: var(--font-head); font-size: 13px; letter-spacing: 1px;
  background: rgba(0,0,0,0.45); border: 1px solid rgba(65,184,245,0.3);
  border-radius: 10px; padding: 11px 14px;
  text-transform: uppercase;
}
.craft-builder input#craftName:focus {
  outline: none; border-color: #41b8f5; box-shadow: 0 0 0 3px rgba(65,184,245,0.18);
}
.craft-stats {
  background: rgba(0,0,0,0.35); border-radius: 10px; padding: 10px 12px;
  font-family: var(--font-head); font-size: 11px; letter-spacing: 0.5px;
  display: flex; justify-content: space-between; gap: 8px;
}
.craft-stats > div {
  flex: 1; text-align: center; padding: 4px 6px;
  border-right: 1px solid rgba(100,136,175,0.15);
}
.craft-stats > div:last-child { border-right: none; }
.craft-stats b {
  display: block; font-size: 16px; color: #41b8f5; margin-top: 2px;
  text-shadow: 0 0 12px rgba(65,184,245,0.5);
}
.craft-slots {
  min-height: 56px;
  background: repeating-linear-gradient(45deg, rgba(0,0,0,0.3) 0 12px, rgba(0,0,0,0.4) 12px 24px);
  border: 2px dashed rgba(154,107,255,0.4); border-radius: 12px;
  padding: 10px;
  position: relative;
  transition: border-color .15s, background .15s;
}
.craft-slots:has(.craft-slot) {
  background: rgba(0,0,0,0.5);
  border-style: solid; border-color: rgba(65,184,245,0.4);
}
.craft-slot {
  background: linear-gradient(135deg, rgba(65,184,245,0.18), rgba(30,127,216,0.08));
  border-radius: 10px; padding: 6px 10px; gap: 8px;
  font-size: 11px; font-family: var(--font-head); letter-spacing: 0.5px;
  animation: slotPop .18s ease-out;
}
@keyframes slotPop { from { transform: scale(.7); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.craft-slot .btn {
  background: rgba(255,85,119,0.15); color: #ff5577; border: 1px solid rgba(255,85,119,0.4);
  font-weight: 700;
}
.craft-empty {
  text-align: center; font-size: 11px; letter-spacing: 1px;
  color: rgba(154,107,255,0.65); padding: 14px;
  text-transform: uppercase; font-family: var(--font-head);
}
.craft-builder .row {
  display: flex; gap: 10px; margin-top: 12px;
}
.craft-builder .row .btn.primary {
  flex: 2; padding: 12px; font-family: var(--font-head); font-size: 12px; letter-spacing: 1.5px;
  background: linear-gradient(135deg, #1ed98a, #16a86a);
  color: #04150c; font-weight: 800;
  border: none; border-radius: 11px;
  box-shadow: 0 4px 14px rgba(30,217,138,0.3);
  cursor: pointer;
}
.craft-builder .row .btn.primary:hover { filter: brightness(1.1); transform: translateY(-1px); }
.craft-builder .row .btn.ghost {
  flex: 1; padding: 12px; font-family: var(--font-head); font-size: 11px; letter-spacing: 1px;
  background: transparent; border: 1px solid rgba(255,85,119,0.4); color: #ff7799;
  border-radius: 11px; cursor: pointer;
}
.custom-item {
  background: linear-gradient(135deg, rgba(13,21,37,0.85), rgba(10,14,26,0.7));
  border: 1px solid rgba(154,107,255,0.25); border-radius: 13px; padding: 13px;
  position: relative; overflow: hidden;
}
.custom-item::before {
  content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: linear-gradient(180deg, #9a6bff, #41b8f5);
}
.custom-name { font-size: 13px; letter-spacing: 0.5px; }
.custom-stats {
  background: rgba(65,184,245,0.12); padding: 4px 10px; border-radius: 8px;
  font-size: 11px; border: 1px solid rgba(65,184,245,0.25);
}
.tag.green {
  background: rgba(30,217,138,0.18); color: #1ed98a;
  padding: 4px 10px; border-radius: 8px; font-size: 11px;
  border: 1px solid rgba(30,217,138,0.3); font-family: var(--font-head); letter-spacing: 0.5px;
}
.custom-copies {
  background: rgba(0,0,0,0.4); padding: 4px 10px; border-radius: 8px;
}
/* Прогресс-бар проданных копий внутри custom-item */
.custom-item .copies-bar {
  height: 4px; background: rgba(0,0,0,0.5); border-radius: 4px; overflow: hidden;
  margin-top: 4px;
}
.custom-item .copies-bar > div {
  height: 100%; background: linear-gradient(90deg, #f5c438, #ff8844);
  transition: width .3s ease;
}

/* ═══════════════════════════════════════════════════════════════════
   v19 TYPOGRAPHY OVERRIDE — крупнее, контрастнее, читабельнее.
   Всё ниже намеренно перекрывает предыдущие правила выше — это финал. */

body { font-size: 17px; line-height: 1.5; }

/* Заголовки страниц и табы */
.page-header h2 { font-size: 22px; letter-spacing: 4px; }
.page-header .page-sub,
.tab-desc { font-size: 14px; line-height: 1.55; color: var(--text2); }
.section-title { font-size: 13px; letter-spacing: 1.6px; }

/* Хелп-карточки */
.help-card-head { font-size: 16px; font-weight: 700; }
.help-card-body, .faq-a, .exchange-note, .dex-note {
  font-size: 15px; line-height: 1.6; color: var(--text);
}
.faq-q { font-size: 15px; font-weight: 600; }

/* Карточки майнеров и спецификации */
.miner-name { font-size: 14px; letter-spacing: 0.5px; }
.miner-spec-label { font-size: 12px; }
.miner-spec-val { font-size: 13px; font-weight: 700; }

/* Карточки запчастей */
.part-name { font-size: 14px; }
.part-bonus { font-size: 12px; }

/* Профиль и статистика */
.profile-name { font-size: 16px; }
.profile-id, .profile-joined { font-size: 12px; }
.stat-val { font-size: 15px; }
.stat-label { font-size: 11px; letter-spacing: 0.5px; }
.elec-stat { font-size: 13px; }
.elec-val { font-size: 13px; font-weight: 700; }

/* Майнеры в профиле */
.my-miner-name { font-size: 13px; }
.my-miner-stats { font-size: 12px; }
.my-miner-elec { font-size: 11px; }

/* Пулы */
.pool-name { font-size: 14px; }
.pool-members { font-size: 12px; }
.pool-item-name { font-size: 14px; }
.pool-stat-val { font-size: 14px; }
.pool-stat-label { font-size: 11px; }

/* Ордербук — БЫЛО МЕЛКО */
.ob-row { font-size: 13px; padding: 5px 8px; }
.ob-empty { font-size: 13px; padding: 18px 0; }
.ob-tab { font-size: 11px; letter-spacing: 1.2px; padding: 10px; }
.ob-inputs input { font-size: 14px; padding: 11px 12px; }
.ob-summary { font-size: 13px; line-height: 1.5; }
.ob-myrow { font-size: 12px; padding: 8px 10px; }

/* Биржа: пары/цена/диапазоны */
.chart-pair { font-size: 15px; letter-spacing: 1px; }
.chart-price { font-size: 18px; font-weight: 800; }
.chart-change { font-size: 13px; }
.chart-periods button { font-size: 11px; padding: 5px 9px; }

/* Монеты в листе биржи */
.coin-name { font-size: 14px; }
.coin-fullname { font-size: 12px; }
.coin-price { font-size: 14px; }
.coin-change { font-size: 12px; }

/* Чёрный рынок */
.market-item-name { font-size: 12px; }
.market-item-seller, .market-item-cond { font-size: 11px; }
.market-price-tcor { font-size: 13px; }
.market-price-ton { font-size: 11px; }

/* Сеть */
.net-stat-val { font-size: 17px; }
.net-stat-label { font-size: 11px; }
.net-stat-row { font-size: 13px; }
.coin-stat-name { font-size: 13px; }
.coin-stat-mined { font-size: 11px; }

/* Задания */
.task-title { font-size: 14px; }
.task-desc { font-size: 12px; line-height: 1.5; }
.task-progress { font-size: 11px; }
.task-reward { font-size: 13px; }

/* Рейтинг */
.rank-name { font-size: 14px; }
.rank-value { font-size: 14px; }

/* Рефералы */
.ref-code { font-size: 14px; }
.ref-stat-val { font-size: 18px; }
.ref-stat-lbl { font-size: 11px; }
.ref-rule { font-size: 13px; line-height: 1.55; }

/* Модалки покупки/действий */
.modal-title { font-size: 18px; letter-spacing: 1.6px; }
.modal-sub { font-size: 14px; line-height: 1.5; margin-bottom: 18px; }
.modal-input { font-size: 15px; }
.modal-label { font-size: 11px; letter-spacing: 1.2px; }
.modal-btn { font-size: 12px; letter-spacing: 1.6px; padding: 14px; }

/* Buy modal (майнер) */
.buy-modal-title { font-size: 19px; letter-spacing: 1.5px; }
.buy-modal-sub { font-size: 13px; line-height: 1.5; }
.buy-stat span { font-size: 13px; }
.buy-stat b { font-size: 14px; }
.buy-price-val { font-size: 17px; font-weight: 800; }

/* Workshop */
.workshop-title { font-size: 14px; }
.workshop-sub { font-size: 12px; line-height: 1.5; }
.craft-stats { font-size: 12px; }
.craft-stats b { font-size: 18px; }
.my-part-name { font-size: 13px; }
.my-part-stats { font-size: 12px; }
.my-part-qty { font-size: 12px; }
.craft-empty { font-size: 12px; padding: 18px; }
.custom-name { font-size: 14px; }
.custom-stats { font-size: 12px; }

/* Стейкинг */
.stake-period-btn { font-size: 14px; font-weight: 700; }
.stake-apy { font-size: 13px; font-weight: 700; }

/* ═══════════════════════════════════════════════════════════════════
   v19 NEW UI: qty-row для покупок, selected запчасти, баланс-стрип */

/* Блок «Сколько штук?» в модалке покупки */
.qty-row {
  display: flex; align-items: center; gap: 10px;
  background: rgba(0,0,0,0.35); border: 1px solid var(--border2);
  border-radius: 11px; padding: 8px 10px; margin: 14px 0 10px;
}
.qty-row label {
  font-size: 12px; color: var(--text2); letter-spacing: 1px;
  font-family: var(--font-head); flex: 1;
}
.qty-btn {
  width: 38px; height: 38px; border-radius: 9px; border: 1px solid var(--border2);
  background: rgba(65,184,245,0.12); color: #41b8f5;
  font-size: 18px; font-weight: 800; cursor: pointer; user-select: none;
  transition: transform .08s, background .15s;
}
.qty-btn:active { transform: scale(0.92); }
.qty-btn:hover { background: rgba(65,184,245,0.22); }
.qty-row input[type="number"] {
  width: 70px; padding: 9px 10px; text-align: center;
  background: rgba(0,0,0,0.5); border: 1px solid var(--border2);
  border-radius: 9px; color: white; font-size: 16px; font-weight: 700;
  font-family: var(--font-head);
}
.qty-max {
  font-size: 11px; color: var(--text2); letter-spacing: 0.6px;
  padding: 6px 10px; background: rgba(0,0,0,0.3); border-radius: 7px;
  cursor: pointer; border: 1px solid var(--border);
}
.qty-max:hover { color: #f5c438; border-color: #f5c43855; }

/* Total-стрип в покупке (Цена × Кол-во) */
.buy-total-row {
  display: flex; justify-content: space-between; align-items: center;
  background: linear-gradient(90deg, rgba(65,184,245,0.1), rgba(30,217,138,0.1));
  border: 1px solid rgba(65,184,245,0.3); border-radius: 11px;
  padding: 12px 14px; margin: 8px 0;
  font-size: 14px;
}
.buy-total-row b { font-size: 17px; color: #1ed98a; font-family: var(--font-head); }
.buy-can-afford { color: #1ed98a; font-size: 12px; margin-top: 4px; }
.buy-cant-afford { color: #ff5577; font-size: 12px; margin-top: 4px; }

/* Galочки на выбранных запчастях в Workshop */
.my-part-item.in-craft {
  border: 2px solid #1ed98a !important;
  box-shadow: 0 0 0 3px rgba(30,217,138,0.18), 0 4px 16px rgba(30,217,138,0.25);
  background: linear-gradient(135deg, rgba(30,217,138,0.14), rgba(13,21,37,0.7));
  position: relative;
}
.my-part-item.in-craft::after {
  content: '✓';
  position: absolute; top: 6px; right: 8px;
  width: 22px; height: 22px; border-radius: 50%;
  background: #1ed98a; color: #04150c;
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; font-weight: 900;
  box-shadow: 0 2px 8px rgba(30,217,138,0.4);
}
.my-part-used-count {
  display: inline-block;
  background: rgba(30,217,138,0.2); color: #1ed98a;
  padding: 2px 7px; border-radius: 6px;
  font-size: 11px; font-weight: 700; margin-left: 6px;
  font-family: var(--font-head);
}

/* Подсказка-блок «как пользоваться» поверх рабочей зоны */
.howto-card {
  background: linear-gradient(135deg, rgba(154,107,255,0.10), rgba(65,184,245,0.06));
  border: 1px solid rgba(154,107,255,0.3); border-radius: 13px;
  padding: 13px 15px; margin-bottom: 14px;
  font-size: 14px; line-height: 1.55; color: var(--text);
}
.howto-card .howto-head {
  display: flex; align-items: center; gap: 8px;
  font-family: var(--font-head); font-size: 14px;
  color: #c9b3ff; letter-spacing: 0.8px; font-weight: 700;
  margin-bottom: 8px;
}
.howto-card ol { margin: 6px 0 0 18px; padding: 0; }
.howto-card ol li { margin: 4px 0; font-size: 14px; }

/* Реклама — карточка ежедневного лимита */
.ads-block {
  background: linear-gradient(135deg, rgba(245,196,56,0.10), rgba(255,136,68,0.06));
  border: 1px solid rgba(245,196,56,0.35); border-radius: 13px;
  padding: 14px; margin: 12px 0;
}
.ads-block-head {
  display: flex; align-items: center; gap: 8px;
  font-family: var(--font-head); font-size: 14px; letter-spacing: 0.8px;
  color: #f5c438; font-weight: 700; margin-bottom: 8px;
}
.ads-block-stats { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.ads-block-stat-val { font-family: var(--font-head); font-size: 18px; font-weight: 800; color: #fff; }
.ads-block-stat-lbl { font-size: 11px; color: var(--text2); letter-spacing: 0.5px; }
.ads-progress {
  height: 8px; background: rgba(0,0,0,0.4); border-radius: 4px; overflow: hidden;
}
.ads-progress > div {
  height: 100%; background: linear-gradient(90deg, #f5c438, #ff8844);
  transition: width .3s;
}

/* НОВЫЙ ГРАФИК */
.chart-card {
  background: linear-gradient(180deg, rgba(13,21,37,0.95), rgba(8,12,22,0.95));
  border: 1px solid rgba(65,184,245,0.25);
  border-radius: 14px; padding: 12px;
  box-shadow: 0 6px 24px rgba(0,0,0,0.35);
}
.chart-svg { height: 220px !important; }

/* ═══════════════════════════════════════════════════════════════════
   /v19 OVERRIDE END */

/* Market category badge + NEW chip + tag row */
.market-cat-badge {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 2px 8px; border-radius: 6px;
  border: 1px solid; font-size: 10px; letter-spacing: 0.5px;
  font-family: var(--font-head);
}
.market-card-tags { display: flex; gap: 5px; flex-shrink: 0; }
.market-card { position: relative; }
.market-card::after {
  content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: var(--cat, #41b8f5); border-radius: 2px 0 0 2px;
}

/* ═══════════════════════════════════════════════════════════════════
   v20: ИНВЕНТАРЬ МАЙНЕРОВ — крупные карточки, отчётливые кнопки */
.my-miner-item.inv-group {
  background: linear-gradient(135deg, rgba(13,29,53,0.92), rgba(7,18,35,0.88));
  border: 1px solid rgba(65,184,245,0.22);
  border-radius: 14px;
  padding: 13px;
  display: flex; align-items: center; gap: 12px;
  transition: transform .15s, box-shadow .15s, border-color .15s;
}
.my-miner-item.inv-group:hover {
  transform: translateY(-1px);
  border-color: rgba(65,184,245,0.5);
  box-shadow: 0 6px 22px rgba(65,184,245,0.15);
}
.inv-qty {
  display: inline-block;
  background: linear-gradient(135deg, #41b8f5, #1e7fd8);
  color: #fff;
  font-family: var(--font-head); font-weight: 800;
  font-size: 12px; padding: 2px 9px; border-radius: 8px;
  margin-left: 6px;
  box-shadow: 0 2px 8px rgba(65,184,245,0.35);
}
.inv-actions {
  display: flex; flex-direction: column; gap: 6px;
  align-items: stretch; min-width: 110px;
}
.inv-btn {
  padding: 9px 12px; border-radius: 10px;
  font-family: var(--font-head); font-size: 11px; letter-spacing: 0.8px;
  font-weight: 700; cursor: pointer;
  border: 1px solid; transition: transform .1s, filter .15s, box-shadow .15s;
  white-space: nowrap;
}
.inv-btn:active { transform: scale(0.96); }
.inv-btn.repair {
  background: linear-gradient(135deg, #41b8f5, #1e7fd8);
  border-color: #41b8f5; color: #fff;
  box-shadow: 0 3px 10px rgba(65,184,245,0.35);
}
.inv-btn.repair:hover { filter: brightness(1.12); box-shadow: 0 4px 14px rgba(65,184,245,0.5); }
.inv-btn.sell {
  background: linear-gradient(135deg, rgba(245,196,56,0.18), rgba(255,136,68,0.12));
  border-color: rgba(245,196,56,0.55); color: #f5c438;
}
.inv-btn.sell:hover { filter: brightness(1.18); }
.inv-status-ok {
  text-align: center; padding: 8px 10px; border-radius: 9px;
  background: rgba(30,217,138,0.12); color: #1ed98a;
  border: 1px solid rgba(30,217,138,0.35);
  font-family: var(--font-head); font-size: 11px; font-weight: 700;
  letter-spacing: 0.8px;
}

/* v20: модальная кнопка ghost / contrast — единый стиль */
.modal-btn.ghost {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.18);
  color: var(--text);
  font-family: var(--font-head); font-weight: 700;
  letter-spacing: 1.5px;
}
.modal-btn.ghost:hover { background: rgba(255,255,255,0.12); }

/* v20: подсветка тап-зоны на «Мой пул» */
#myPoolCard {
  cursor: pointer; transition: transform .12s, border-color .15s, box-shadow .15s;
}
#myPoolCard:hover {
  transform: translateY(-1px);
  border-color: rgba(65,184,245,0.45);
  box-shadow: 0 6px 20px rgba(65,184,245,0.18);
}
#myPoolCard::after {
  content: '→'; position: absolute; right: 14px; top: 50%;
  transform: translateY(-50%); color: var(--cyan);
  font-size: 18px; opacity: 0.6; transition: opacity .15s, transform .15s;
}
#myPoolCard { position: relative; }
#myPoolCard:hover::after { opacity: 1; transform: translateY(-50%) translateX(3px); }

/* ═══════════════════════════════════════════════════════════════════
   v20: контраст / кнопки / плавность туториала — финальный пас */

/* Глобально: текст светлее, фон карточек контрастнее */
body { color: #d8e6f4; }
.page-sub, .modal-sub, .tab-desc, .exchange-note, .dex-note,
.help-card-body, .faq-a { color: #b8c8dc !important; }
.miner-spec-label, .stat-label, .pool-stat-label, .net-stat-label,
.coin-fullname, .market-item-seller, .my-miner-stats { color: #a4b6cc !important; }

/* Кнопки модалок — отчётливо разделены и цветные */
.modal-btn { margin-top: 6px; }
.modal-btn + .modal-btn { margin-top: 10px; }
.modal-btn.primary {
  background: linear-gradient(135deg, #41b8f5, #1e7fd8) !important;
  color: #fff !important; border: none !important;
  box-shadow: 0 4px 16px rgba(65,184,245,0.4) !important;
}
.modal-btn.ghost {
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,255,255,0.22) !important;
  color: #d8e6f4 !important;
}
.modal-btn.danger {
  background: linear-gradient(135deg, #ff5577, #c8324f) !important;
  color: #fff !important; border: none !important;
}

/* Группа кнопок в строку — разделитель 10px минимум */
.buy-actions, .modal-actions, [class*="buy-modal"] .modal-btn + .modal-btn,
div[style*="display:flex"][style*="gap:8px"] > .modal-btn { gap: 10px !important; }

/* Партнёр-задания: текст контрастнее, кнопка ярче */
.task-partner .task-desc { color: #f5e8c8 !important; }
.task-partner .task-btn {
  background: linear-gradient(135deg, #ffd24d, #ff8844) !important;
  color: #1a0d00 !important; font-weight: 800 !important;
  box-shadow: 0 3px 10px rgba(245,196,56,0.4);
}
.task-partner .task-progress { color: #ffd870 !important; font-weight: 700; }

/* Бэйджи и плашки — больше контраст */
.miner-tier-badge { font-size: 9px; font-weight: 800; }
.badge-starter { background: rgba(65,184,245,0.22) !important; color: #87d4ff !important; }
.badge-adv     { background: rgba(154,107,255,0.22) !important; color: #c4abff !important; }
.badge-pro     { background: rgba(245,196,56,0.22) !important; color: #ffdb6b !important; }

/* Ордербук — кликабельные строки заметнее */
.ob-row { cursor: pointer; transition: background .12s; }
.ob-row:hover { background: rgba(65,184,245,0.15) !important; }

/* Туториал/онбординг: плавность анимации, никаких лагов */
.onb-tour-overlay, .onb-tour-spotlight, .onb-tour-bubble {
  will-change: transform, opacity;
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
}
.onb-tour-spotlight {
  transition: top .25s ease-out, left .25s ease-out,
              width .25s ease-out, height .25s ease-out !important;
}
.onb-tour-bubble {
  transition: top .25s ease-out, left .25s ease-out !important;
}
/* Текст в туториале — белый и крупный, не сливается */
.onb-tour-title { color: #fff !important; font-size: 16px !important; }
.onb-tour-text  { color: #e8f0fa !important; font-size: 14px !important; line-height: 1.6 !important; }

/* RTL: убедиться что цвета не теряются */
html[dir="rtl"] .task-partner .task-desc,
html[dir="rtl"] .modal-sub { color: #e8d8b8 !important; }

/* ═══════════════ QUICK SWAP (v21) ═══════════════ */
.quick-swap-panel {
  background: linear-gradient(180deg, rgba(30,127,216,0.10), rgba(11,24,46,0.92));
  border: 1px solid rgba(65,184,245,0.30);
  border-radius: 14px;
  padding: 16px;
  margin-bottom: 16px;
  box-shadow: 0 4px 20px rgba(65,184,245,0.08);
}
.qs-header {
  display: flex; align-items: center; gap: 8px;
  font-family: var(--font-head); font-weight: 700;
  font-size: 15px; color: #e8f1ff; letter-spacing: 0.5px;
  margin-bottom: 4px;
}
.qs-ico { font-size: 18px; }
.qs-sub {
  font-size: 12px; color: var(--text2); line-height: 1.4;
  margin-bottom: 14px;
}
.qs-tabs {
  display: flex; gap: 6px; margin-bottom: 14px;
  background: rgba(7,18,35,0.6); padding: 4px; border-radius: 10px;
}
.qs-tab {
  flex: 1; padding: 9px 6px; border: 0;
  background: transparent; color: var(--text2);
  font-family: var(--font-head); font-weight: 600;
  font-size: 11px; letter-spacing: 0.4px;
  border-radius: 7px; cursor: pointer;
  transition: all .18s ease;
}
.qs-tab.active {
  background: linear-gradient(135deg, #41b8f5, #1e7fd8);
  color: #fff;
  box-shadow: 0 2px 8px rgba(65,184,245,0.35);
}
.qs-body { display: flex; flex-direction: column; gap: 8px; }
.qs-row {
  display: flex; align-items: center; gap: 8px;
  background: rgba(7,18,35,0.7);
  border: 1px solid rgba(55,130,210,0.20);
  border-radius: 10px; padding: 10px 12px;
}
.qs-row-out {
  background: rgba(30,217,138,0.06);
  border-color: rgba(30,217,138,0.25);
}
.qs-label {
  font-family: var(--font-head); font-weight: 700;
  font-size: 13px; color: #41b8f5;
  min-width: 48px;
}
.qs-row input {
  flex: 1; background: transparent; border: 0; outline: 0;
  color: #f0f6ff; font-size: 18px; font-weight: 600;
  font-family: var(--font-head);
}
.qs-row input::placeholder { color: var(--text3); }
.qs-max {
  background: rgba(65,184,245,0.18);
  border: 1px solid rgba(65,184,245,0.35);
  color: #41b8f5;
  font-family: var(--font-head); font-weight: 700;
  font-size: 11px; letter-spacing: 0.6px;
  padding: 6px 10px; border-radius: 6px;
  cursor: pointer;
}
.qs-max:active { transform: scale(0.96); }
.qs-arrow {
  text-align: center; color: var(--text2);
  font-size: 18px; line-height: 1;
}
.qs-output {
  flex: 1; color: #1ed98a; font-size: 22px; font-weight: 700;
  font-family: var(--font-head); letter-spacing: 0.5px;
}
.qs-meta {
  background: rgba(7,18,35,0.5);
  border-radius: 8px; padding: 8px 12px;
  font-size: 12px;
  margin-top: 4px;
}
.qs-meta:empty { display: none; }
.qs-meta-row {
  display: flex; justify-content: space-between;
  padding: 3px 0; color: var(--text2);
}
.qs-meta-row b { color: #d8e6f4; font-weight: 600; }
.qs-meta-row b.ok { color: #1ed98a; }
.qs-meta-row b.bad { color: #ff5577; }
.qs-warn, .qs-warn-row {
  color: #f5c438; font-size: 12px; line-height: 1.4;
  padding: 4px 0;
}
.qs-execute {
  margin-top: 8px;
  background: linear-gradient(135deg, #1ed98a, #0fa56a) !important;
}
.qs-execute.disabled, .qs-execute:disabled {
  background: linear-gradient(135deg, #2a4055, #1a2a3a) !important;
  color: var(--text3) !important;
  cursor: not-allowed;
  box-shadow: none !important;
}

/* === QUICK SWAP v22 === */
.quick-swap-panel{background:linear-gradient(135deg,#0a1828 0%,#0d2238 100%);border:1px solid rgba(65,184,245,0.25);border-radius:14px;padding:16px;margin:14px 0;box-shadow:0 4px 24px rgba(0,0,0,0.3)}
.qs-header{font-family:Orbitron,sans-serif;font-size:14px;font-weight:700;color:#41b8f5;letter-spacing:1px;margin-bottom:4px}
.qs-sub{font-size:11px;color:#6488af;margin-bottom:12px;line-height:1.4}
.qs-tabs{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}
.qs-tab{flex:1 1 130px;min-width:0;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);color:#9fb6d0;padding:9px 6px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .18s;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.qs-tab.active{background:linear-gradient(135deg,#0077ff,#41b8f5);color:#fff;border-color:#41b8f5;box-shadow:0 2px 12px rgba(65,184,245,0.4)}
.qs-row{display:flex;gap:6px;align-items:center;background:#06101f;border:1px solid rgba(65,184,245,0.2);border-radius:10px;padding:10px;margin-bottom:10px;flex-wrap:wrap}
.qs-row input{flex:1 1 110px;min-width:0;background:transparent;border:0;color:#fff;font-size:18px;font-weight:600;outline:none;font-family:Rajdhani,sans-serif}
.qs-cur{font-size:12px;color:#41b8f5;font-weight:700;padding:0 4px;white-space:nowrap}
.qs-max{background:rgba(65,184,245,0.15);color:#41b8f5;border:1px solid rgba(65,184,245,0.3);padding:5px 10px;border-radius:6px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0}
.qs-max:hover{background:rgba(65,184,245,0.25)}
.qs-output{display:flex;align-items:center;justify-content:space-between;gap:8px;background:rgba(30,217,138,0.08);border:1px solid rgba(30,217,138,0.25);border-radius:10px;padding:10px 12px;margin-bottom:8px;flex-wrap:wrap}
.qs-output b{font-size:20px;color:#1ed98a;font-family:Rajdhani,sans-serif;flex:1;text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis}
.qs-meta{font-size:11px;color:#6488af;margin-bottom:10px;min-height:14px;line-height:1.4;word-break:break-word}
.qs-execute{width:100%;background:linear-gradient(135deg,#1ed98a,#0fb070);color:#fff;border:0;padding:13px;border-radius:10px;font-size:13px;font-weight:700;letter-spacing:1px;cursor:pointer;font-family:Orbitron,sans-serif;transition:all .2s;white-space:nowrap}
.qs-execute:hover:not(:disabled){box-shadow:0 4px 20px rgba(30,217,138,0.4);transform:translateY(-1px)}
.qs-execute:disabled{opacity:0.5;cursor:not-allowed;background:#444}

/* fix overflow на бирже: ob-tabs и кнопки за экраном */
.ob-tabs{display:flex;gap:6px;flex-wrap:wrap}
.ob-tab{flex:1 1 130px;min-width:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;padding:9px 6px;font-size:12px}
.ob-inputs{flex-wrap:wrap}
.ob-inputs input{min-width:0;flex:1 1 110px}
.trade-execute-btn,.ob-submit{width:100%;white-space:nowrap;box-sizing:border-box}
.ob-form{box-sizing:border-box;max-width:100%;overflow-x:hidden}
.trade-panel,.coins-list,#orderbookPanel,#page-exchange{max-width:100%;box-sizing:border-box;overflow-x:hidden}
#page-exchange{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}
/* === END QUICK SWAP === */

/* === MARKET BUTTONS v23 === */
.market-card-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;width:100%;box-sizing:border-box}
.mkt-btn{flex:1 1 calc(50% - 3px);min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 8px;border-radius:10px;font-size:12px;font-weight:600;font-family:Rajdhani,sans-serif;cursor:pointer;border:1px solid transparent;background:rgba(255,255,255,0.04);color:#cfe2f7;transition:all .18s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;line-height:1.15}
.mkt-btn-icon{font-size:14px;flex-shrink:0;line-height:1}
.mkt-btn-txt{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
.mkt-btn-price{font-weight:700;color:#ffd451;font-size:11px;background:rgba(0,0,0,0.25);padding:2px 6px;border-radius:5px;margin-left:4px;flex-shrink:0;white-space:nowrap}
.mkt-btn:active{transform:scale(0.97)}
.mkt-btn:disabled{opacity:0.4;cursor:not-allowed}

.mkt-btn-buy{background:linear-gradient(135deg,#1ed98a,#0fb070);color:#fff;border-color:rgba(30,217,138,0.5);box-shadow:0 2px 10px rgba(30,217,138,0.25);flex:1 1 100%}
.mkt-btn-buy:not(:disabled):hover{box-shadow:0 4px 18px rgba(30,217,138,0.45)}
.mkt-btn-buy .mkt-btn-price{color:#fff;background:rgba(0,0,0,0.35)}

.mkt-btn-buy-ton{background:linear-gradient(135deg,#0077ff,#41b8f5);color:#fff;border-color:rgba(65,184,245,0.5);flex:1 1 calc(50% - 3px)}
.mkt-btn-buy-ton .mkt-btn-price{color:#fff;background:rgba(0,0,0,0.35)}

.mkt-btn-offer{background:rgba(245,196,56,0.12);color:#f5c438;border-color:rgba(245,196,56,0.35);flex:1 1 calc(50% - 3px)}
.mkt-btn-offer:hover{background:rgba(245,196,56,0.22)}

.mkt-btn-cancel{background:rgba(255,87,119,0.12);color:#ff5577;border-color:rgba(255,87,119,0.35);flex:1 1 calc(50% - 3px)}
.mkt-btn-cancel:hover{background:rgba(255,87,119,0.22)}

.mkt-btn-offers{background:rgba(65,184,245,0.12);color:#41b8f5;border-color:rgba(65,184,245,0.35);flex:1 1 calc(50% - 3px)}
.mkt-btn-offers:hover{background:rgba(65,184,245,0.22)}

/* TTL badge */
.mkt-ttl{display:inline-block;background:rgba(65,184,245,0.12);color:#41b8f5;border:1px solid rgba(65,184,245,0.35);padding:2px 7px;border-radius:6px;font-size:11px;font-weight:600;font-family:Rajdhani,sans-serif;white-space:nowrap}
.mkt-ttl.warn{background:rgba(255,153,51,0.15);color:#ff9933;border-color:rgba(255,153,51,0.45)}

/* market card overflow safety */
.market-card{box-sizing:border-box;overflow-x:hidden}
.market-card-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px;justify-content:space-between}
.market-card-title{flex:1 1 auto;min-width:0;word-break:break-word;overflow-wrap:anywhere}
.market-card-tags{display:flex;flex-wrap:wrap;gap:5px;flex-shrink:0;max-width:100%}
.market-card-price{word-break:break-word}
/* === END MARKET BUTTONS === */

/* === WORKSHOP CONTRAST v24 === */
#stab-workshop .section-title{color:#fff !important;font-weight:700;font-size:14px;letter-spacing:1.2px;text-shadow:0 1px 2px rgba(0,0,0,0.6);padding:6px 0;border-bottom:1px solid rgba(65,184,245,0.25);margin-bottom:10px}
#stab-workshop .workshop-section{background:rgba(10,28,55,0.55);border:1px solid rgba(65,184,245,0.18);border-radius:12px;padding:14px;margin-bottom:14px}
#stab-workshop .tab-desc{color:#9fb6d0;font-size:12px;line-height:1.45;margin-bottom:10px}
#stab-workshop .howto-card{background:rgba(245,196,56,0.06);border:1px solid rgba(245,196,56,0.25);border-radius:12px;padding:12px;margin-bottom:14px}
#stab-workshop .howto-head{color:#f5c438;font-weight:700;margin-bottom:8px;font-size:13px}
#stab-workshop .howto-card ol{color:#cfe2f7;font-size:12.5px;line-height:1.55;padding-left:20px;margin:0}
#stab-workshop .howto-card li{margin:4px 0}
#stab-workshop .craft-builder input{background:#06101f;color:#fff;border:1px solid rgba(65,184,245,0.35);padding:10px;border-radius:8px;font-size:14px;width:100%;box-sizing:border-box}
#stab-workshop .craft-builder input::placeholder{color:#6488af}
#stab-workshop .craft-stats{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:#cfe2f7;margin-top:8px}
#stab-workshop .craft-stats b{color:#41b8f5;font-weight:700}
#stab-workshop .btn.primary,#stab-workshop button.modal-btn.primary{background:linear-gradient(135deg,#1ed98a,#0fb070);color:#fff;font-weight:700}
/* === END WORKSHOP CONTRAST === */


/* v27 readability + market/exchange polish */
:root { --text2:#a8bdd8; --text3:#7f93ad; }
body { font-size: 15px; }
.page-title, .section-title { letter-spacing: 0.5px; }
.mute, .modal-sub, .qs-sub, .task-desc, .market-card-desc, .faq-answer { color:#b2c6df !important; }
.bottom-nav .nav-label, .filter-btn, .sub-tab, .modal-label { font-size: 12px !important; }
.card, .stat-card, .pool-card, .market-card, .miner-card, .part-card, .custom-item { border-color: rgba(90,150,210,0.26) !important; }
.quick-swap-panel, .trade-panel, .orderbook-panel { position:relative; overflow:hidden; }
.quick-swap-panel::after, .trade-panel::after, .orderbook-panel::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(110deg, transparent 0%, rgba(65,184,245,.06) 48%, transparent 70%); transform:translateX(-120%); animation:panelSweep 5s ease-in-out infinite; }
@keyframes panelSweep { 0%,55%{transform:translateX(-120%)} 100%{transform:translateX(120%)} }
.qs-output b, .qs-output { font-size: 22px !important; }
.qs-meta { font-size: 12.5px !important; color:#a8bdd8 !important; }
.qs-warn-row { color:#ffd166 !important; }
.market-card { background:linear-gradient(145deg, rgba(13,22,38,.98), rgba(8,14,26,.98)) !important; border-radius:14px !important; padding:14px !important; box-shadow:0 10px 28px rgba(0,0,0,.28); }
.market-card:hover { transform:translateY(-2px); box-shadow:0 16px 34px rgba(0,0,0,.38), 0 0 0 1px var(--cat,#41b8f5); }
.market-cat-badge { display:inline-flex; align-items:center; gap:6px; padding:4px 8px; border-radius:8px; font-size:11px; font-weight:800; }
.market-svg { width:18px; height:18px; flex:0 0 18px; filter:drop-shadow(0 0 6px currentColor); }
.market-card-title { font-size:15px !important; color:#fff; }
.market-card-meta, .market-card-desc { font-size:12.5px !important; line-height:1.45; }
.market-card-price { font-size:16px !important; color:#68d5ff !important; }
.market-card-actions { display:grid !important; grid-template-columns:repeat(auto-fit,minmax(112px,1fr)); gap:8px !important; }
.mkt-btn { display:flex; align-items:center; justify-content:center; gap:7px; min-height:38px; border-radius:10px; border:1px solid rgba(255,255,255,.12); color:#fff; font-weight:800; font-size:12px; }
.mkt-btn-svg { width:17px; height:17px; flex:0 0 17px; }
.mkt-btn-buy { background:linear-gradient(135deg,#1ed98a,#0f9f69); }
.mkt-btn-buy-ton { background:linear-gradient(135deg,#41b8f5,#1e7fd8); }
.mkt-btn-offer,.mkt-btn-offers { background:linear-gradient(135deg,#9a6bff,#6d45d8); }
.mkt-btn-cancel { background:linear-gradient(135deg,#ff5577,#b82848); }
.miner-anim-svg, .part-anim { filter: drop-shadow(0 0 10px rgba(65,184,245,.28)); }
.miner-card, .part-card { background:linear-gradient(145deg, rgba(13,22,38,.96), rgba(8,15,29,.98)) !important; }
.miner-spec-label, .part-bonuses, .custom-copies { font-size:11.5px !important; color:#a8bdd8 !important; }
.miner-spec-val, .part-name, .custom-name { font-size:13px !important; }
.custom-item { background:linear-gradient(135deg,rgba(15,28,48,.95),rgba(8,16,30,.95)); border-radius:14px; }
.faq-item summary { font-size:14px !important; color:#eef6ff; }
.faq-answer { font-size:13.5px !important; line-height:1.65 !important; }
.onb-tour-bubble, .intro-card { font-size:15px; }
.onb-tour-bubble .body, .intro-sub { color:#d5e4f5 !important; }


/* v29 pool/i18n/readability fixes */
.chart-periods { display:flex !important; flex-wrap:wrap !important; gap:6px !important; overflow:visible !important; }
.chart-periods button { flex:1 1 54px !important; min-width:44px !important; max-width:86px; padding:7px 8px !important; font-size:11px !important; }
@media (max-width:420px){ .chart-periods button{ flex:1 1 calc(25% - 6px) !important; font-size:10px !important; padding:7px 4px !important; } }
.pool-actions { grid-template-columns:1fr !important; }
.pool-reqs { margin:8px 0 10px; color:#ffd166; background:rgba(245,196,56,.08); border:1px solid rgba(245,196,56,.26); border-radius:8px; padding:7px 9px; font-size:12px; line-height:1.35; }
.page-sub,.exchange-note,.modal-sub,.pool-stat-label,.coin-fullname,.task-desc,.market-card-desc,.my-part-stats,.custom-copies { color:#b8cbe4 !important; }
.modal-input, select.modal-input { background:#081426 !important; border-color:rgba(120,175,230,.35) !important; color:#f3f8ff !important; }
.pool-item,.chart-card,.trade-panel,.orderbook-panel,.quick-swap-panel { border-color:rgba(96,170,235,.32) !important; }


/* v32 miners market pool polish */
.inventory-hero-btn{width:100%;display:grid;grid-template-columns:42px 1fr;gap:2px 12px;align-items:center;text-align:left;margin:0 0 14px;padding:13px 14px;border:1px solid rgba(73,210,255,.35);border-radius:14px;background:linear-gradient(135deg,rgba(34,46,67,.96),rgba(16,22,34,.96));color:#eaf7ff;box-shadow:0 0 24px rgba(73,210,255,.12),inset 0 1px 0 rgba(255,255,255,.08);position:relative;overflow:hidden}.inventory-hero-btn:before{content:"";position:absolute;inset:-80% -20%;background:linear-gradient(115deg,transparent 35%,rgba(73,210,255,.18),transparent 65%);animation:invSweep 4s linear infinite}.inventory-hero-btn svg{grid-row:1/3;color:#63d8ff;filter:drop-shadow(0 0 10px rgba(99,216,255,.45))}.inventory-hero-btn span{font-weight:900;letter-spacing:.04em;font-size:15px;z-index:1}.inventory-hero-btn small{font-size:12px;color:#9fb8d0;z-index:1}@keyframes invSweep{to{transform:translateX(60%)}}
.inventory-grid-rich{display:grid;gap:10px;max-height:70vh;overflow:auto;padding-right:2px}.inv-rich-item{display:grid;grid-template-columns:78px 1fr;gap:12px;align-items:center;padding:11px;border:1px solid rgba(110,140,170,.22);border-radius:14px;background:linear-gradient(135deg,rgba(14,22,34,.92),rgba(20,30,45,.92));box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.inv-rich-item b{display:block;color:#f3fbff;font-size:14px}.inv-rich-item span,.inv-rich-item small{display:block;color:#93abc4;font-size:12px;line-height:1.35}.inv-rich-item.locked{border-color:rgba(255,183,77,.35);background:linear-gradient(135deg,rgba(38,28,18,.94),rgba(20,30,45,.92))}.inv-art svg{width:76px;height:52px}.coin-orb{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-weight:900;color:#07131f;background:radial-gradient(circle at 30% 25%,#fff,#8be9ff 35%,#2f8dff 74%,#1550a0);box-shadow:0 0 22px rgba(80,190,255,.3)}.inv-empty{padding:18px;text-align:center;color:#92a9c0;border:1px dashed rgba(130,160,190,.3);border-radius:14px}
.miner-card,.part-card,.market-card{position:relative;overflow:hidden}.miner-card:before,.part-card:before,.market-card:before{content:"";position:absolute;inset:-1px;background:linear-gradient(120deg,transparent,rgba(88,211,255,.12),transparent);opacity:.7;pointer-events:none}.miner-svg .fan,.part-svg .gear{transform-box:fill-box;transform-origin:center;animation:spinFan 2.4s linear infinite}.miner-svg .pulse,.part-svg .pulse{animation:softPulse 1.8s ease-in-out infinite alternate}@keyframes spinFan{to{transform:rotate(360deg)}}@keyframes softPulse{from{opacity:.28}to{opacity:.9}}
.market-card-art{height:86px;border-radius:12px;margin-bottom:10px;display:grid;place-items:center;background:radial-gradient(circle at 50% 20%,color-mix(in srgb,var(--cat) 25%,transparent),rgba(7,14,25,.72));border:1px solid color-mix(in srgb,var(--cat) 40%,rgba(255,255,255,.08))}.market-card-art svg{width:72px;height:72px;filter:drop-shadow(0 10px 22px color-mix(in srgb,var(--cat) 35%,transparent))}.market-card-actions .btn,.market-card-actions button{min-height:38px;border-radius:11px;font-weight:800}.chart-card,#priceChart{background:linear-gradient(180deg,rgba(8,15,26,.96),rgba(4,9,17,.98));border-radius:14px}.chart-tabs,.tf-tabs{overflow-x:auto;scrollbar-width:none}.chart-tabs::-webkit-scrollbar,.tf-tabs::-webkit-scrollbar{display:none}.chart-tabs button,.tf-tabs button{flex:0 0 auto;min-width:48px}
@media(max-width:420px){.inventory-hero-btn{grid-template-columns:36px 1fr;padding:11px}.inv-rich-item{grid-template-columns:64px 1fr}.inv-art svg{width:62px;height:46px}.market-card-art{height:72px}.market-card-art svg{width:60px;height:60px}}


/* v33 direct fixes */
.inventory-hero-btn{grid-template-columns:48px 1fr !important;min-height:74px}.inventory-hero-btn .inventory-title{display:block !important;position:relative;z-index:2;color:#ffffff !important;font-size:18px !important;font-weight:950 !important;line-height:1.1;text-shadow:0 0 14px rgba(99,216,255,.55)}.inventory-hero-btn small{display:block !important;position:relative;z-index:2}.inventory-hero-btn svg{position:relative;z-index:2;width:34px;height:34px}.my-miners,#myMiners{display:none !important}
.dex-coin-card{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(13,21,37,.98),rgba(7,12,22,.98)) !important;border-color:rgba(65,184,245,.24) !important;box-shadow:0 12px 28px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.05)}.dex-coin-card:before{content:"";position:absolute;inset:-40% -20%;background:radial-gradient(circle at 20% 20%,rgba(65,184,245,.16),transparent 35%),radial-gradient(circle at 90% 10%,rgba(154,107,255,.14),transparent 32%);pointer-events:none}.dex-coin-card>*{position:relative;z-index:1}.dex-coin-card .filter-btn,.dex-coin-card .tc-deposit-btn{border-radius:11px;min-height:38px;font-weight:850}.task-icon-svg{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:#63d8ff;background:linear-gradient(135deg,rgba(65,184,245,.14),rgba(154,107,255,.10));border:1px solid rgba(99,216,255,.22);box-shadow:0 0 18px rgba(65,184,245,.12);flex-shrink:0}.task-svg{width:25px;height:25px}.task-card{align-items:center}.task-card:hover .task-svg{animation:taskPulse .9s ease-in-out infinite alternate}@keyframes taskPulse{from{transform:scale(1)}to{transform:scale(1.08)}}


/* v34 real inventory actions */
.inventory-hero-btn{display:flex !important;align-items:center !important;gap:12px !important;text-align:left !important;min-height:78px !important}.inventory-hero-btn .inventory-title{display:block !important;visibility:visible !important;opacity:1 !important;color:#fff !important;font-size:20px !important;font-weight:950 !important;line-height:1.05;text-transform:uppercase}.inventory-hero-btn small{display:block !important;color:#b9d4eb !important;font-size:12px !important;line-height:1.25}.inventory-hero-btn::after{content:"ИНВЕНТАРЬ";position:absolute;right:14px;top:10px;font-size:10px;color:rgba(99,216,255,.55);font-weight:900;letter-spacing:.12em}.inv-modal-title{font-size:20px !important;color:#fff !important;text-shadow:0 0 16px rgba(65,184,245,.45)}.inv-rich-item.actionable{grid-template-columns:92px 1fr}.inv-body{min-width:0}.inv-hp{height:6px;border-radius:6px;background:rgba(255,255,255,.08);overflow:hidden;margin:7px 0}.inv-hp i{display:block;height:100%;border-radius:6px}.inv-actions-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.inv-action{border:1px solid rgba(99,216,255,.28);background:rgba(65,184,245,.10);color:#eaf8ff;border-radius:10px;padding:7px 10px;font-size:12px;font-weight:850}.inv-action.sell{border-color:rgba(30,217,138,.32);background:rgba(30,217,138,.10)}.inv-action.repair{border-color:rgba(245,196,56,.36);background:rgba(245,196,56,.10)}.inv-mini-status{font-size:12px;color:#f5c438;font-weight:800}.gpu-v34{width:100%;height:100%}.gpu-v34 .gpu-fan{animation:gpuFan 1.6s linear infinite}.gpu-v34 .fan-b{animation-direction:reverse}.gpu-v34 .gpu-led{animation:gpuLed 1.35s ease-in-out infinite alternate}.gpu-v34 .gpu-led.alt{animation-delay:.45s}@keyframes gpuFan{to{transform:rotate(360deg)}}@keyframes gpuLed{from{opacity:.35}to{opacity:1}}.part-v34 .part-spin{animation:gpuFan 2s linear infinite}.part-card:hover .part-v34,.miner-card:hover .gpu-v34{filter:drop-shadow(0 0 16px rgba(99,216,255,.28))}.mkt-btn-svg{width:15px;height:15px;flex:0 0 auto}.task-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}


/* v35 tasks market pools quality */
.task-tab{display:inline-flex !important;align-items:center;justify-content:center;gap:7px;min-width:max-content}.task-tab .task-btn-svg{width:16px;height:16px}.task-btn,.ads-block .modal-btn.primary{display:inline-flex !important;align-items:center;justify-content:center;gap:7px}.task-btn-svg{width:17px;height:17px;flex:0 0 auto}.ads-block-head{display:flex;align-items:center;gap:8px;color:#fff;font-weight:950;letter-spacing:.04em}.ads-block-head .task-btn-svg{width:22px;height:22px;color:#63d8ff}.task-icon-svg{background:linear-gradient(145deg,rgba(65,184,245,.18),rgba(154,107,255,.12)) !important;box-shadow:0 0 22px rgba(65,184,245,.18),inset 0 1px 0 rgba(255,255,255,.08)}
.market-card{border:1px solid color-mix(in srgb,var(--cat) 42%,rgba(255,255,255,.08)) !important;background:linear-gradient(150deg,rgba(13,22,36,.98),rgba(5,10,18,.98)) !important;box-shadow:0 14px 34px rgba(0,0,0,.30),0 0 0 1px rgba(255,255,255,.025) inset}.market-card:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(0,0,0,.36),0 0 26px color-mix(in srgb,var(--cat) 16%,transparent)}.market-card-art{height:112px !important;position:relative;overflow:hidden}.market-card-art-inner{position:relative;width:100%;height:100%;display:grid;place-items:center}.market-art-glow{position:absolute;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--cat) 38%,transparent),transparent 70%);filter:blur(8px);opacity:.85}.market-art-main svg{position:relative;z-index:1;width:78px;height:78px;stroke-width:1.45}.market-cond-ring{position:absolute;right:9px;top:9px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--cat) var(--deg),rgba(255,255,255,.08) 0);font-size:10px;font-weight:900;color:#fff}.market-cond-ring:before{content:"";position:absolute;inset:5px;border-radius:50%;background:#08111e}.market-cond-ring span{position:relative;z-index:1}.market-art-label{position:absolute;left:10px;bottom:9px;font-size:11px;font-weight:900;color:#dff8ff;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.08);padding:4px 7px;border-radius:8px}.market-card-title{font-size:15px !important;line-height:1.25}.market-card-price{font-size:18px !important;color:#fff !important;text-shadow:0 0 16px color-mix(in srgb,var(--cat) 25%,transparent)}.market-card-actions{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(116px,1fr));gap:8px}.mkt-btn{width:100%;justify-content:center;min-height:42px !important;border-radius:12px !important}.mkt-btn-svg{width:17px !important;height:17px !important}
.pool-reqs{display:inline-flex;gap:6px;flex-wrap:wrap;margin:8px 0;color:#cfe8ff;font-size:11px}.pool-reqs:before{content:"УСЛОВИЯ";color:#63d8ff;font-weight:900}.modal-btn.ghost{border:1px solid rgba(99,216,255,.24);background:rgba(65,184,245,.08);color:#dff8ff}


/* v36 icon cleanup */
.pool-inline-svg{width:17px;height:17px;vertical-align:-3px;display:inline-block;margin-right:5px;color:#63d8ff}.pool-private-badge .pool-inline-svg{width:13px;height:13px;margin-right:4px}.pool-join-btn{display:inline-flex !important;align-items:center;justify-content:center;gap:7px}.pool-join-btn .pool-inline-svg{margin-right:0}.mkt-ttl{display:inline-flex !important;align-items:center;gap:4px}.mkt-ttl .mkt-btn-svg{width:12px !important;height:12px !important}


/* v38 bybit chart and pool visibility */
.chart-card{padding:12px !important;background:linear-gradient(180deg,#0b1220,#050914) !important;border:1px solid rgba(120,150,210,.22) !important;box-shadow:0 16px 42px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.04)}.chart-head{padding:2px 2px 10px}.chart-pair{font-size:14px !important;color:#e7f2ff !important}.chart-price{font-size:20px !important}.chart-svg{height:360px !important;background:#060a12 !important;border:1px solid rgba(120,150,210,.16);border-radius:12px}.bybit-grid{stroke:rgba(120,150,210,.15);stroke-width:.8;shape-rendering:crispEdges}.bybit-grid.vert{stroke:rgba(120,150,210,.08)}.bybit-axis,.bybit-time{fill:#74839d;font-size:11px;font-family:monospace}.bybit-cross{stroke:#9aa7c7;stroke-width:.8;stroke-dasharray:4 4}.bybit-tooltip{position:fixed;pointer-events:none;z-index:9999;opacity:0;background:rgba(6,10,18,.96);border:1px solid rgba(120,150,210,.35);border-radius:8px;padding:8px 10px;color:#dcecff;font:11px/1.45 monospace;box-shadow:0 16px 34px rgba(0,0,0,.45);min-width:136px}.bybit-tooltip b{display:block;color:#f5c438;margin-bottom:4px}.bybit-tooltip span{display:flex;justify-content:space-between;gap:12px}.bybit-tooltip em{font-style:normal;color:#e8f2ff}.bybit-tooltip .up{color:#00c076}.bybit-tooltip .down{color:#ff4d6d}.chart-periods{display:flex !important;gap:6px !important;overflow-x:auto !important;flex-wrap:nowrap !important;padding-bottom:2px}.chart-periods button{flex:0 0 auto !important;min-width:48px !important;border-radius:8px !important}@media(max-width:520px){.chart-svg{height:310px !important}.chart-card{padding:9px !important}.chart-periods button{min-width:42px !important;font-size:10px !important}}


/* v39 deep exchange/auth/inventory fixes */
.currency-svg{width:16px;height:16px;display:inline-block;vertical-align:-3px;flex:0 0 16px}.ton-svg{filter:drop-shadow(0 0 8px rgba(0,152,234,.45))}.currency-pill{display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}.qs-cur .currency-pill{font-size:inherit}
.chart-card{padding:14px !important;margin-left:-2px;margin-right:-2px}.chart-svg{width:100% !important;height:clamp(460px,58vh,640px) !important;min-height:460px !important;display:block !important}.chart-periods{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:7px !important;overflow:visible !important;flex-wrap:unset !important;padding-top:8px !important}.chart-periods button{width:100% !important;min-width:0 !important;max-width:none !important;min-height:36px !important;padding:8px 4px !important;border-radius:9px !important;font-size:12px !important;font-weight:900 !important}.bybit-axis,.bybit-time{font-size:12px !important;fill:#94a6c4 !important}.chart-pair{display:inline-flex;align-items:center;gap:6px;font-size:15px !important}.chart-price{font-size:24px !important}.chart-change{font-size:13px !important;font-weight:900}.inv-art{min-width:82px;min-height:60px;display:grid;place-items:center}.inv-art svg,.inv-fallback-svg{width:86px !important;height:64px !important;display:block !important;opacity:1 !important;visibility:visible !important}.miner-anim-svg,.part-anim,.inv-fallback-svg{overflow:visible}.header-bal-item{gap:5px}.header-bal-item svg{flex:0 0 16px}
@media(max-width:520px){.chart-card{padding:10px !important;margin-left:-8px;margin-right:-8px;border-radius:10px !important}.chart-svg{height:clamp(430px,64vh,560px) !important;min-height:430px !important;border-radius:10px !important}.chart-periods{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:6px !important}.chart-periods button{font-size:11px !important;min-height:34px !important;padding:7px 2px !important}.chart-head{align-items:flex-start !important;gap:8px}.chart-price{font-size:20px !important}.inv-rich-item.actionable,.inv-rich-item{grid-template-columns:76px 1fr !important}.inv-art{min-width:70px}.inv-art svg,.inv-fallback-svg{width:72px !important;height:56px !important}}


/* v41 full width exchange chart and TON official icon */
#page-exchange{overflow-x:hidden}
.exchange-chart-card{width:100vw !important;max-width:none !important;margin-left:calc(50% - 50vw) !important;margin-right:calc(50% - 50vw) !important;padding:10px max(10px,env(safe-area-inset-right)) 12px max(10px,env(safe-area-inset-left)) !important;box-sizing:border-box;border-radius:0 !important;background:#080d17 !important;border-left:0 !important;border-right:0 !important;border-top:1px solid rgba(255,255,255,.08) !important;border-bottom:1px solid rgba(255,255,255,.08) !important}
.exchange-chart-card .chart-head{padding:0 2px 8px !important}
#priceChart.chart-svg,.exchange-chart-card .chart-svg{display:block !important;width:100% !important;min-width:0 !important;height:clamp(560px,74svh,780px) !important;min-height:560px !important;aspect-ratio:auto !important;overflow:visible !important;border-radius:0 !important}
.exchange-chart-card .chart-periods{width:100% !important;max-width:100% !important;display:flex !important;gap:6px !important;overflow-x:auto !important;overflow-y:hidden !important;flex-wrap:nowrap !important;padding:4px 0 10px !important;margin:0 !important;scrollbar-width:none !important;-webkit-overflow-scrolling:touch}
.exchange-chart-card .chart-periods::-webkit-scrollbar{display:none}
.exchange-chart-card .chart-periods button{flex:0 0 auto !important;min-width:42px !important;width:auto !important;max-width:none !important;height:34px !important;min-height:34px !important;padding:0 10px !important;white-space:nowrap !important}
.currency-svg.ton-svg{border-radius:50%;filter:drop-shadow(0 0 8px rgba(0,152,234,.45));background:#0098EA}
.chart-pair .currency-svg{width:18px;height:18px}
@media(max-width:520px){#priceChart.chart-svg,.exchange-chart-card .chart-svg{height:clamp(540px,76svh,720px) !important;min-height:540px !important}.exchange-chart-card{margin-left:calc(50% - 50vw) !important;margin-right:calc(50% - 50vw) !important}.exchange-chart-card .chart-periods button{min-width:40px !important;height:32px !important;min-height:32px !important;font-size:11px !important;padding:0 9px !important}}


/* v42 inventory svg hardening */
.inv-art{min-width:72px;min-height:60px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.inv-art svg,.inv-art .miner-anim-svg,.inv-art .inv-fallback-svg{width:78px !important;height:64px !important;display:block !important;flex:0 0 auto}
.inv-rich-item.custom .inv-art svg{filter:drop-shadow(0 0 10px rgba(30,217,138,.22))}
.miner-hardware-svg{filter:drop-shadow(0 0 10px rgba(65,184,245,.28))}


/* v43 contrast and stable pool actions */
.page-sub,.modal-sub,.tab-desc,.help-card-body,.pool-members,.custom-stats,.my-miner-stats,.market-art-label,.qs-meta,.qs-warn-row{color:#b7c8df !important}
.modal-label,.section-title,.pool-item-name,.custom-name,.inv-body b,.market-card-title{color:#f4f8ff !important}
.pool-action-manage{background:linear-gradient(135deg,rgba(30,217,138,.22),rgba(65,184,245,.18)) !important;border-color:rgba(30,217,138,.55) !important;color:#eafff6 !important}
.dex-coin-card,.help-card,.pool-item,.quick-swap-panel,.orderbook-panel{box-shadow:0 12px 36px rgba(0,0,0,.24)}
button:disabled,.disabled{opacity:.55 !important;filter:saturate(.7)}
.ob-empty,.market-loading,.empty-state{color:#b7c8df !important}


/* v44 extra contrast for inline-muted text */
#page-exchange [style*="color:#6488af"],#page-profile [style*="color:#6488af"],#page-pools [style*="color:#6488af"],#page-market [style*="color:#6488af"],
#page-exchange [style*="color:#7a8eb5"],#page-profile [style*="color:#7a8eb5"],#page-pools [style*="color:#7a8eb5"],#page-market [style*="color:#7a8eb5"]{color:#b7c8df !important}
#page-exchange [style*="font-size:10px"],#page-exchange [style*="font-size:11px"],#page-profile [style*="font-size:10px"],#page-profile [style*="font-size:11px"]{line-height:1.45 !important}
.chart-price{transition:color .2s ease,opacity .2s ease}

/* v52 exchange chart polish */
.exchange-chart-card{
  background:#070c15 !important;
  border-top-color:rgba(245,196,56,.18) !important;
  border-bottom-color:rgba(65,184,245,.20) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 18px 44px rgba(0,0,0,.30) !important;
}
.exchange-chart-card .chart-head{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
}
.exchange-chart-card .chart-pair{
  color:#f3f8ff !important;
  font-weight:950 !important;
}
.exchange-chart-card .chart-price{
  color:#f3f8ff !important;
  font-size:clamp(20px,4.8vw,28px) !important;
  text-shadow:0 0 18px rgba(65,184,245,.18);
}
.exchange-chart-card .chart-change{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:2px 7px;
  border-radius:7px;
  background:rgba(255,255,255,.055);
}
#priceChart.chart-svg{
  border-top:1px solid rgba(255,255,255,.06) !important;
  border-bottom:1px solid rgba(255,255,255,.04) !important;
}
.bybit-grid.edge{stroke:rgba(180,200,235,.22) !important}
.chart-ma-line{stroke-linecap:round;stroke-linejoin:round}
.chart-vol-bar{shape-rendering:geometricPrecision}
.chart-last-badge text{letter-spacing:.02em}
.chart-legend text{
  fill:#9badca;
  font:700 11px/1 monospace;
}
.chart-extreme-marker line{stroke:#94a6c4;stroke-width:1;stroke-dasharray:3 3}
.chart-extreme-marker circle{fill:#0b1220;stroke:#94a6c4;stroke-width:1.4}
.chart-extreme-marker text{fill:#c6d4eb;font:800 10px/1 monospace}
.chart-extreme-marker.high text{fill:#8ef0bf}
.chart-extreme-marker.high circle{stroke:#00c076}
.chart-extreme-marker.low text{fill:#ff9bad}
.chart-extreme-marker.low circle{stroke:#ff4d6d}
.bybit-tooltip{
  border-color:rgba(245,196,56,.26) !important;
  background:rgba(5,9,16,.97) !important;
}
@media(max-width:520px){
  .exchange-chart-card .chart-head{align-items:flex-start !important}
  .exchange-chart-card .chart-price{font-size:20px !important}
  .chart-legend text{font-size:10px}
}


/* v47 real dex inventory workshop mechanics */
.profile-tokens-card{margin:12px 0 14px;padding:12px;border:1px solid rgba(65,184,245,.24);border-radius:14px;background:linear-gradient(145deg,rgba(10,20,34,.96),rgba(6,12,23,.98));box-shadow:0 12px 28px rgba(0,0,0,.22)}
.profile-tokens-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:9px}.profile-tokens-head span{color:#fff;font-size:13px;font-weight:950;letter-spacing:.08em}.profile-tokens-head small{color:#8fa9c4;font-size:11px}.profile-token-grid{display:grid;gap:8px}.profile-token-item{display:grid;grid-template-columns:46px 1fr auto;gap:10px;align-items:center;padding:9px;border-radius:12px;border:1px solid rgba(120,160,200,.18);background:rgba(255,255,255,.035)}.profile-token-orb{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:950;color:#06111f;background:radial-gradient(circle at 30% 24%,#fff,#8be9ff 34%,#2f8dff 76%);box-shadow:0 0 20px rgba(65,184,245,.22)}.profile-token-info{min-width:0}.profile-token-info b{display:block;color:#fff;font-size:13px}.profile-token-info span{display:block;color:#8fa9c4;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-token-info strong{display:block;color:#dff8ff;font-size:12px;margin-top:2px}.profile-token-side{text-align:right}.profile-token-side em{display:block;font-style:normal;color:#1ed98a;font-weight:900;font-size:11px}.profile-token-side small{color:#95adc7;font-size:10px}.profile-token-item.beta .profile-token-side em{color:#f5c438}
.dex-coin-card{padding:14px!important;margin-bottom:11px!important;border-radius:15px!important}.dex-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px}.dex-coin-main{min-width:0}.dex-coin-symbol{font-size:16px;font-weight:950;color:#fff}.dex-coin-symbol span{color:#8fa9c4;font-size:12px;font-weight:600}.dex-coin-meta{font-size:11px;color:#7f93ad;margin-top:3px}.dex-coin-meta .ok{color:#1ed98a}.dex-coin-meta .beta{color:#9a6bff}.dex-coin-meta .mine{color:#41b8f5}.dex-price-box{text-align:right;flex:0 0 auto}.dex-price-box b{display:block;color:#fff;font-size:13px}.dex-price-box small{display:block;color:#93abc4;font-size:10px}.dex-progress{margin:7px 0 10px}.dex-progress div{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#8fa9c4;margin-bottom:5px}.dex-progress b{color:#dff8ff}.dex-progress i{display:block;height:7px;background:#060b14;border-radius:8px;overflow:hidden}.dex-progress em{display:block;height:100%;border-radius:8px;transition:width .25s}.dex-liq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:10px}.dex-liq-grid>div{padding:8px;border-radius:11px;background:rgba(255,255,255,.035);border:1px solid rgba(120,160,200,.14)}.dex-liq-grid span,.dex-liq-grid small{display:block;color:#8fa9c4;font-size:10px;line-height:1.3}.dex-liq-grid b{display:block;color:#fff;font-size:12px;margin:2px 0}.dex-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.dex-action{min-height:40px;border-radius:11px;border:1px solid rgba(65,184,245,.24);color:#fff;font-size:12px;font-weight:900;background:rgba(65,184,245,.10)}.dex-action.buy{background:linear-gradient(135deg,rgba(30,217,138,.88),rgba(18,152,99,.88))}.dex-action.sell{background:linear-gradient(135deg,rgba(245,196,56,.88),rgba(178,122,28,.88))}.dex-action.tcor{border-color:rgba(154,107,255,.35)}.dex-action.seed{grid-column:1/-1;background:linear-gradient(135deg,#41b8f5,#7c3aed)}.dex-wait{grid-column:1/-1;padding:9px;border-radius:10px;text-align:center;color:#f5c438;background:rgba(245,196,56,.08);border:1px solid rgba(245,196,56,.22);font-size:12px}.dex-seed-hint{color:#9fb8d0;font-size:11px;line-height:1.45;margin:-2px 0 10px;padding:8px;border-radius:10px;background:rgba(65,184,245,.07);border:1px solid rgba(65,184,245,.16)}
.my-part-icon.part-svg-icon{width:52px!important;height:52px!important;display:grid;place-items:center;background:rgba(0,0,0,.22);border-radius:12px;overflow:hidden}.my-part-icon.part-svg-icon svg{width:48px;height:48px}.craft-slots{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}.craft-slot{display:grid!important;grid-template-columns:42px 1fr auto;align-items:center;gap:8px;min-height:54px;background:rgba(255,255,255,.035)!important}.craft-slot.empty{opacity:.72;border-style:dashed!important}.craft-slot-icon svg{width:38px;height:38px}.craft-slot b{display:block;color:#fff;font-size:12px}.craft-slot small{display:block;color:#9fb8d0;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.custom-name{display:flex;align-items:center;gap:7px}.custom-name svg{width:26px;height:26px;flex:0 0 26px}.custom-tier-badge{margin-left:auto;font-size:10px;color:#f5c438;border:1px solid rgba(245,196,56,.35);border-radius:8px;padding:2px 6px;text-transform:uppercase}
@media(max-width:420px){.dex-liq-grid,.dex-actions-grid,.craft-slots{grid-template-columns:1fr!important}.profile-token-item{grid-template-columns:40px 1fr}.profile-token-side{display:none}}
/* Opening limited collection UI */
.miner-card.miner-limited {
  border-color: rgba(255, 122, 166, 0.45) !important;
  box-shadow: 0 0 0 1px rgba(255, 122, 166, 0.28), 0 10px 28px rgba(255, 90, 140, 0.2);
  background: linear-gradient(155deg, rgba(30, 11, 26, 0.95), rgba(8, 16, 32, 0.98));
}
.lc-chip-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  margin: 2px 0 8px;
}
.lc-chip {
  font-family: var(--font-head);
  font-size: 8px;
  letter-spacing: 1px;
  color: #ffd7e6;
  border: 1px solid rgba(255, 122, 166, 0.45);
  background: rgba(255, 80, 140, 0.18);
  padding: 3px 7px;
  border-radius: 999px;
}
.lc-discount {
  font-family: var(--font-head);
  font-size: 10px;
  font-weight: 800;
  color: #04131f;
  background: linear-gradient(135deg, #ffd36a, #ff9a3d);
  padding: 3px 8px;
  border-radius: 999px;
  box-shadow: 0 4px 12px rgba(255, 175, 88, 0.34);
}
.lc-timer {
  font-size: 11px;
  color: #ffd7e6;
  margin-bottom: 8px;
  font-weight: 700;
}
.buy-limited-box {
  border: 1px solid rgba(255, 122, 166, 0.35);
  background: linear-gradient(150deg, rgba(255, 88, 151, 0.12), rgba(255, 194, 94, 0.08));
  border-radius: 12px;
  padding: 10px;
  margin-bottom: 10px;
}
.buy-limited-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  font-size: 12px;
}
.buy-limited-pct {
  font-family: var(--font-head);
  font-size: 12px;
  color: #04131f;
  background: linear-gradient(135deg, #ffd36a, #ff9a3d);
  padding: 4px 9px;
  border-radius: 999px;
  font-weight: 800;
}
.buy-limited-prices {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  color: #f3f8ff;
}
.buy-limited-prices s {
  opacity: 0.62;
}
.buy-limited-timer {
  margin-top: 7px;
  color: #ffd7e6;
  font-weight: 700;
  font-size: 12px;
}
.buy-cur-switch {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 10px;
}
.buy-cur-tab {
  border: 1px solid rgba(100, 136, 175, 0.35);
  background: rgba(10, 18, 32, 0.82);
  color: #b8d2ee;
  border-radius: 10px;
  min-height: 38px;
  font-size: 12px;
  font-weight: 800;
}
.buy-cur-tab.active {
  border-color: rgba(65, 184, 245, 0.75);
  background: linear-gradient(135deg, rgba(65, 184, 245, 0.28), rgba(30, 217, 138, 0.12));
  color: #ecf8ff;
}
