:root{--blue:#1769ff;--blue2:#0b4ed7;--ink:#0d1b3e;--muted:#71809d;--bg:#f4f8ff;--card:#fff;--line:#e7eef9;--green:#18a66a;--red:#ef5350;--shadow:0 10px 30px rgba(27,91,190,.10)}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Arial,sans-serif}
body{min-height:100vh}
.app{max-width:430px;margin:auto;min-height:100vh;background:var(--bg);padding-bottom:82px}
.top{background:linear-gradient(135deg,#0d3fbf,#1d74ff);color:#fff;padding:18px 18px 20px;border-radius:0 0 24px 24px;box-shadow:0 8px 24px rgba(23,105,255,.2)}
.topbar{display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:800;letter-spacing:.4px}
.brand img{width:34px;height:34px}
.iconbtn{width:40px;height:40px;border:0;border-radius:14px;background:rgba(255,255,255,.16);display:grid;place-items:center;color:#fff}
.iconbtn img{width:22px;height:22px}
.ticker{margin-top:16px;height:32px;overflow:hidden;background:rgba(255,255,255,.11);border-radius:10px;display:flex;align-items:center}
.ticker-track{white-space:nowrap;animation:ticker 18s linear infinite;padding-left:100%}
.ticker-track span{margin-right:60px;font-size:12px}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-100%)}}
.hero{margin:14px 14px 0;padding:18px;border-radius:20px;background:linear-gradient(135deg,#1264f5,#2d8cff);color:#fff;box-shadow:var(--shadow)}
.hero small{opacity:.82}
.hero .amount{font-size:30px;font-weight:800;margin:8px 0 16px}
.wallets{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.wallets div{background:rgba(255,255,255,.13);padding:10px;border-radius:13px}
.wallets b{display:block;font-size:13px}
.wallets span{font-size:11px;opacity:.8}
.section{padding:16px 14px 0}
.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}
.section-head h2{font-size:16px;margin:0}
.section-head a{font-size:12px;color:var(--blue);text-decoration:none}
.tools{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.tool{background:var(--card);border-radius:17px;padding:11px 4px;text-align:center;box-shadow:var(--shadow);text-decoration:none;color:var(--ink);min-height:86px;display:flex;flex-direction:column;align-items:center}
.tool img{width:38px;height:38px;object-fit:contain;display:block;margin:0 auto 7px;opacity:0;transition:opacity .3s}
.tool img[onload]{opacity:1}
.tool img{display:block}
.tool span{font-size:11px;font-weight:600}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.stat{background:#fff;border-radius:17px;padding:15px;box-shadow:var(--shadow);text-align:center}
.stat small{color:var(--muted);font-size:11px}
.stat b{display:block;font-size:20px;margin-top:7px;font-weight:800}
.products,.list,.partners{display:grid;gap:11px}
.product,.row{background:#fff;border-radius:17px;padding:14px;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;gap:8px}
.product .left,.row .left{display:flex;align-items:center;gap:11px}
.coin{width:40px;height:40px;border-radius:12px;object-fit:contain;background:#f3f7ff;display:block;opacity:0;transition:opacity .3s}
.coin[onload]{opacity:1}
.coin{display:block}
.product b,.row b{font-size:14px;font-weight:600}
.product small,.row small{display:block;color:var(--muted);margin-top:3px;font-size:12px}
.price{text-align:right;flex-shrink:0}
.price b{font-size:14px;font-weight:700}
.price small{display:block;font-size:10px;margin-top:2px}
.up{color:var(--green)}
.down{color:var(--red)}
.badge{display:inline-block;padding:4px 8px;border-radius:8px;background:#edf4ff;color:var(--blue);font-size:10px;font-weight:700}

/* Marquee partners */
.marquee-wrap{display:flex;flex-direction:column;gap:10px}
.marquee-row{overflow:hidden;width:100%}
.marquee-track{display:flex;align-items:center;gap:12px;width:max-content;animation:marquee 20s linear infinite}
.marquee-track.reverse{animation-duration:22s;animation-direction:reverse}
.partners{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;width:max-content;margin:0}
.partner{height:60px;background:#fff;border-radius:15px;display:grid;place-items:center;box-shadow:var(--shadow);width:90px;flex:0 0 auto;padding:0 11px}
.partner img{width:38px;height:38px;object-fit:contain;display:block;opacity:0;transition:opacity .3s}
.partner img[onload]{opacity:1}
.partner img{display:block}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

.bottom{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(430px,100%);background:rgba(255,255,255,.96);backdrop-filter:blur(18px);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);padding:8px 8px calc(8px + env(safe-area-inset-bottom));z-index:50}
.bottom a{text-decoration:none;color:#7a879f;font-size:10px;text-align:center;display:flex;flex-direction:column;align-items:center}
.bottom a.active{color:var(--blue);font-weight:700}
.bottom img{display:block;width:24px;height:24px;margin:0 auto 3px}
.pagehead{background:linear-gradient(135deg,#0d3fbf,#1d74ff);color:#fff;padding:18px}
.back{display:inline-flex;align-items:center;gap:7px;color:#fff;text-decoration:none;font-size:15px;padding:8px 10px;margin-left:-8px;border-radius:10px;line-height:1.1}
.page-title{font-size:23px;font-weight:800;margin:22px 0 3px}
.page-sub{opacity:.78;font-size:12px}
.content{padding:15px}
.panel{background:#fff;border-radius:20px;padding:17px;box-shadow:var(--shadow);margin-bottom:13px}
.label{font-size:12px;color:var(--muted);margin-bottom:7px}
.input,.select{width:100%;border:1px solid var(--line);background:#f8fbff;border-radius:13px;padding:13px;outline:0;font-size:14px;color:var(--ink);margin-bottom:12px}
.btn{width:100%;border:0;border-radius:14px;padding:14px;background:linear-gradient(135deg,#1264f5,#2d8cff);color:#fff;font-weight:800;font-size:14px;cursor:pointer}
.btn.secondary{background:#edf4ff;color:var(--blue)}
.actions{display:flex;gap:10px}
.actions .btn{flex:1}
.login-page{min-height:100vh;background:linear-gradient(145deg,#0c3db9,#237cff);padding:34px 18px;display:flex;align-items:center;justify-content:center}
.login-card{width:100%;max-width:390px;background:#fff;border-radius:26px;padding:25px;box-shadow:0 25px 60px rgba(0,0,0,.18)}
.login-brand{text-align:center;margin-bottom:24px}
.login-brand img{width:62px}
.login-brand h1{margin:8px 0 3px}
.login-brand p{margin:0;color:var(--muted);font-size:12px}
.links{display:flex;justify-content:space-between;font-size:12px;margin-top:12px}
.links a{color:var(--blue);text-decoration:none}
.toast{position:fixed;left:50%;top:18px;transform:translateX(-50%);background:#132344;color:#fff;padding:10px 14px;border-radius:12px;font-size:12px;z-index:100;display:none}
.empty{text-align:center;color:var(--muted);padding:28px 8px;font-size:13px}

/* ===== Z55 mining products (same visual language) ===== */
.pgrid{display:grid;gap:9px}
.pgrid.tight{gap:5px}
.pgrid.tight .pcard .thumb{height:72px}
.pgrid.tight .pcard .thumb img{max-height:60px}
.pgrid.tight .pcard .body{padding:8px 11px 9px}
.pgrid.tight .pcard .body h3{margin:0 0 2px}
.pgrid.tight .pcard .tags{margin:5px 0}
.pgrid.tight .pcard .pmeta{gap:7px;margin:2px 0 6px}
.pgrid.tight .pcard .mcell{padding:6px 5px}
.pgrid.tight .pcard .mcell b{margin-top:2px}
.pgrid.tight .pcard .pfoot .price b{font-size:16px}
.partner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.partner-grid .partner{width:100%;flex:initial}
.pcard{background:var(--card);border-radius:18px;box-shadow:var(--shadow);overflow:hidden;text-decoration:none;color:var(--ink);display:block}
.pcard .thumb{height:132px;background:linear-gradient(135deg,#eaf2ff,#dbe9ff);display:grid;place-items:center;position:relative}
.pcard .thumb img{max-width:74%;max-height:104px;object-fit:contain}
.pcard .thumb .st{position:absolute;left:10px;top:10px}
.pcard .body{padding:13px 14px 15px}
.pcard .body h3{margin:0 0 3px;font-size:15px;font-weight:800;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.pcard .body .sub{color:var(--muted);font-size:11px}
.pcard .tags{display:flex;gap:6px;flex-wrap:wrap;margin:9px 0 10px}
.tag{display:inline-block;padding:3px 8px;border-radius:8px;background:#eef4ff;color:var(--blue);font-size:10px;font-weight:700}
.tag.gray{background:#f1f3f8;color:#8494ad}
.pmeta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0 11px}
.mcell{background:#f6faff;border:1px solid var(--line);border-radius:12px;padding:8px 6px;text-align:center}
.mcell small{display:block;color:var(--muted);font-size:10px}
.mcell b{display:block;font-size:13px;margin-top:3px;font-weight:800}
.pfoot{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.pfoot .price b{font-size:17px;font-weight:800}
.pfoot .price small{color:var(--muted);font-size:10px}
.st{padding:4px 9px;border-radius:9px;font-size:10px;font-weight:800;color:#fff}
.st.online{background:#18a66a}
.st.soldout{background:#ef5350}
.st.maintenance{background:#f5a623}
.st.offline{background:#9aa7bd}
.btn.sm{width:auto;padding:9px 16px;font-size:12px;border-radius:12px}
.seg{display:flex;gap:8px;overflow-x:auto;padding:2px 0 8px}
.content.mtop{padding-top:10px}
.seg a{flex:0 0 auto;padding:8px 15px;border-radius:12px;background:#fff;color:var(--muted);font-size:12px;font-weight:700;text-decoration:none;box-shadow:var(--shadow)}
.seg a.active{background:linear-gradient(135deg,#1264f5,#2d8cff);color:#fff}
.dhero{background:linear-gradient(135deg,#0d3fbf,#1d74ff);border-radius:0 0 26px 26px;padding:18px 18px 24px;color:#fff}
.dhero .thumb2{background:rgba(255,255,255,.14);border-radius:18px;height:170px;display:grid;place-items:center;margin:6px 0 4px}
.dhero .thumb2 img{max-width:78%;max-height:150px;object-fit:contain}
.dhero h1{font-size:20px;margin:13px 0 3px;font-weight:800}
.dhero .sub{opacity:.85;font-size:12px}
.dstats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:15px}
.dstats div{background:rgba(255,255,255,.13);border-radius:13px;padding:10px 6px;text-align:center}
.dstats b{display:block;font-size:15px;font-weight:800}
.dstats small{font-size:10px;opacity:.8}
.kv{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}
.kv:last-child{border-bottom:0}
.kv span{color:var(--muted)}
.kv b{font-weight:700}
.spec{width:100%;border-collapse:collapse;font-size:12px}
.spec td{padding:9px 4px;border-bottom:1px solid var(--line)}
.spec td:first-child{color:var(--muted);width:44%}
.spec td:last-child{text-align:right;font-weight:700}
.calc{background:#f6faff;border:1px solid var(--line);border-radius:15px;padding:13px;margin-top:6px}
.calc .row2{display:flex;gap:9px;align-items:center;margin-bottom:10px}
.calc .row2 .input{margin:0}
.calc .out{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:6px}
.calc .out div{background:#fff;border-radius:12px;padding:10px;text-align:center;box-shadow:var(--shadow)}
.calc .out small{display:block;color:var(--muted);font-size:10px}
.calc .out b{display:block;font-size:15px;margin-top:3px;font-weight:800;color:var(--blue)}
.pros{display:grid;gap:8px}
.pros div{display:flex;gap:8px;font-size:13px;align-items:flex-start}
.pros i{color:#18a66a;font-style:normal;font-weight:900}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;text-align:center}
.steps div{background:#fff;border-radius:15px;padding:12px 6px;box-shadow:var(--shadow)}
.steps b{display:block;width:26px;height:26px;line-height:26px;border-radius:50%;background:linear-gradient(135deg,#1264f5,#2d8cff);color:#fff;margin:0 auto 7px;font-size:12px}
.steps small{font-size:10px;color:var(--muted);display:block;line-height:1.35}
.hint{font-size:11px;color:var(--muted);margin-top:8px}
.loading{text-align:center;color:var(--muted);padding:26px 8px;font-size:13px}
.bar{display:flex;gap:8px;margin-top:12px}
.bar .btn{flex:1}

/* ===== Z55 Wallet: Deposit / Withdraw (blue/white financial style) ===== */
.ic{display:inline-block;vertical-align:-2px;flex:0 0 auto}
.wtabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;background:#e9f1ff;border:1px solid var(--line);border-radius:15px;padding:5px;margin-bottom:12px}
.wtabs a{display:flex;align-items:center;justify-content:center;gap:7px;padding:11px 8px;border-radius:11px;font-size:14px;font-weight:700;color:var(--muted);text-decoration:none;cursor:pointer;transition:background .18s,color .18s,box-shadow .18s}
.wtabs a:active{transform:scale(.985)}
.wtabs a.active{background:#fff;color:var(--blue);box-shadow:0 2px 10px rgba(23,105,255,.20)}
.wcard{background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:15px;margin-bottom:12px}
.wcoin{display:flex;align-items:center;gap:11px}
.wcoin .cico{width:40px;height:40px;border-radius:50%;object-fit:contain;background:#f3f7ff;flex:0 0 auto}
.wcoin .wmeta{min-width:0}
.wcoin .nm{font-size:16px;font-weight:800;line-height:1.15}
.wcoin .sub{font-size:11px;color:var(--muted)}
.wchip{margin-left:auto;display:inline-flex;align-items:center;gap:5px;background:#eef4ff;color:var(--blue);font-size:11px;font-weight:800;padding:5px 9px;border-radius:9px;white-space:nowrap}
.wchip .cchip{width:14px;height:14px;border-radius:50%;object-fit:contain}
.wqr{display:grid;place-items:center;margin:13px 0 11px}
.wqr img{width:168px;height:168px;max-width:60vw;border-radius:12px;background:#fff;border:1px solid var(--line);padding:7px}
.wqr-slot{display:grid;place-items:center;width:168px;height:168px;max-width:60vw;margin:13px auto 11px;border:1px dashed #cdddf8;border-radius:12px;background:#f7fbff;color:#b9cbe8}
.waddr{display:flex;align-items:center;gap:9px;background:#f6faff;border:1px solid var(--line);border-radius:13px;padding:9px 10px 9px 12px}
.waddr code{flex:1 1 auto;min-width:0;font-size:12.5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.2px}
.wcopy{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;border:0;cursor:pointer;background:var(--blue);color:#fff;font-size:12px;font-weight:800;padding:8px 12px;border-radius:10px;transition:background .18s,transform .08s}
.wcopy:active{transform:scale(.95)}
.wcopy.done{background:var(--green)}
.wnote{display:flex;gap:7px;align-items:flex-start;font-size:11.5px;line-height:1.5;color:#8a6413;background:#fff8ea;border:1px solid #ffe4b0;border-radius:11px;padding:9px 10px;margin-top:11px}
.wnote .ic{color:#e08900;margin-top:1px}
.wkv{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;padding:9px 0;border-bottom:1px solid var(--line)}
.wkv:last-child{border-bottom:0}
.wkv span{color:var(--muted)}
.wkv b{font-weight:800}
.wkv.total b{color:var(--blue);font-size:15px}
.wsum{background:#f6faff;border:1px solid var(--line);border-radius:13px;padding:2px 12px;margin:2px 0 12px}
.wsum .wkv{padding:8px 0}
.wbal{font-size:30px;font-weight:900;margin:12px 0 2px;letter-spacing:-.5px}
.wbal small{font-size:13px;font-weight:700;color:var(--muted)}
.wt{font-size:15px;font-weight:800;margin-bottom:3px}
.wamt{display:flex;gap:8px;align-items:stretch}
.wamt .input{margin-bottom:0;flex:1 1 auto;min-width:0}
.wmax{flex:0 0 auto;border:1px solid #cfe0fb;background:#eef4ff;color:var(--blue);font-weight:800;font-size:12px;border-radius:13px;padding:0 14px;cursor:pointer}
.wmax:active{transform:scale(.96)}
.werr{color:var(--red);font-size:11.5px;line-height:1.45;min-height:0}
.werr:not(:empty){margin:0 0 10px}
.wlink{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);font-size:13.5px;font-weight:700}
.wlink .rt{margin-left:auto;color:#b9c6dc}
.wlink:active{opacity:.7}
.wempty{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;color:var(--muted);padding:14px 6px 4px}
.wempty .ic{color:#b9cbe8}
.wempty b{color:var(--ink);font-size:14px}
.wempty small{font-size:11.5px;line-height:1.55}
.wrec{background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:13px 14px;margin-bottom:10px}
.wrec-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.wrec-top b{font-size:15px;font-weight:800}
.wrec-sub{font-size:11.5px;color:var(--muted);margin-top:4px;line-height:1.5}
.wrec-sub.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;word-break:break-all}
.stt{display:inline-block;padding:3px 9px;border-radius:8px;font-size:10.5px;font-weight:800;white-space:nowrap}
.stt.pending{background:#fff3e0;color:#d98800}
.stt.ok{background:#e7f8ef;color:#0f8a55}
.stt.bad{background:#feeceb;color:#d93b38}
.stt.muted{background:#f1f3f8;color:#8494ad}
.btn[disabled]{background:#c3cfe2;cursor:not-allowed}
.btn .ic,.wlink .ic{flex:0 0 auto}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:filter .15s,transform .08s}
.btn:not([disabled]):active{transform:scale(.985);filter:brightness(.96)}
