
:root{--bg:#050814;--bg2:#070b1c;--card:rgba(12,18,42,.72);--line:rgba(105,255,238,.20);--txt:#e8f2ff;--muted:#94a3c7;--pri:#35f6e0;--pri2:#7bf7ff;--warn:#ffd36a;--bad:#ff6b6b;--ok:#70ffb8;--mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--sans:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;}
*{box-sizing:border-box}html,body{height:100%}
body{margin:0;font-family:var(--sans);color:var(--txt);background:
radial-gradient(1200px 800px at 70% 10%, rgba(53,246,224,.18), transparent 60%),
radial-gradient(900px 700px at 20% 30%, rgba(123,247,255,.10), transparent 60%),
radial-gradient(1200px 900px at 50% 100%, rgba(53,246,224,.12), transparent 60%),
linear-gradient(180deg,var(--bg) 0%,var(--bg2) 100%);overflow-x:hidden}
a{color:inherit;text-decoration:none}a:hover{opacity:.92}
.container{max-width:1180px;margin:0 auto;padding:28px 18px 64px}
.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(10px);background:linear-gradient(180deg,rgba(5,8,20,.92),rgba(5,8,20,.55));border-bottom:1px solid rgba(105,255,238,.12)}
.nav-inner{max-width:1180px;margin:0 auto;padding:14px 18px;display:flex;align-items:center;gap:14px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.3px}
/*.logo{width:34px;height:34px;border-radius:12px;background:radial-gradient(circle at 30% 30%, rgba(123,247,255,.9), rgba(53,246,224,.3) 45%, rgba(53,246,224,.12) 70%, transparent 72%),linear-gradient(135deg, rgba(53,246,224,.35), rgba(123,247,255,.10));border:1px solid rgba(105,255,238,.28);box-shadow:0 0 22px rgba(53,246,224,.22);position:relative}*/
/*.logo:after{content:"";position:absolute;inset:6px;border-radius:10px;border:1px dashed rgba(105,255,238,.35)}*/
.brand span{font-size:15px}
.badge{font-family:var(--mono);font-size:12px;padding:4px 8px;border-radius:999px;border:1px solid rgba(105,255,238,.22);background:rgba(12,18,42,.55);color:rgba(232,242,255,.86)}
.navlinks{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}
.navlinks a{padding:10px 12px;border-radius:12px;border:1px solid rgba(105,255,238,.12);background:rgba(12,18,42,.35);font-weight:600;color:rgba(232,242,255,.88)}
.navlinks a.active{border-color:rgba(105,255,238,.40);box-shadow:0 0 0 1px rgba(105,255,238,.12) inset,0 0 22px rgba(53,246,224,.12)}
.wallet{margin-left:10px;display:flex;align-items:center;gap:10px}
.btn{cursor:pointer;border:none;padding:10px 14px;border-radius:14px;font-weight:800;letter-spacing:.2px;color:#031218;background:linear-gradient(135deg,var(--pri),var(--pri2));box-shadow:0 10px 30px rgba(53,246,224,.14)}
.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}
.btn.secondary{color:rgba(232,242,255,.92);background:rgba(12,18,42,.55);border:1px solid rgba(105,255,238,.22);box-shadow:none}
.btn.danger{color:#24070d;background:linear-gradient(135deg,#ff6b6b,#ffd36a)}
.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.hero{padding:26px 0 10px;display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:stretch}
@media (max-width:920px){.hero{grid-template-columns:1fr}}
/*
.hcard{border:1px solid rgba(105,255,238,.18);background:linear-gradient(180deg,rgba(12,18,42,.72),rgba(10,16,36,.45));border-radius:24px;padding:22px;box-shadow:0 0 0 1px rgba(105,255,238,.10) inset,0 20px 60px rgba(0,0,0,.35);position:relative;overflow:hidden}
.hcard:before{content:"";position:absolute;width:520px;height:520px;left:-220px;top:-240px;background:radial-gradient(circle at 40% 40%, rgba(53,246,224,.20), transparent 60%);filter:blur(2px)}
.hcard h1{margin:0 0 10px;font-size:40px;line-height:1.05;letter-spacing:.2px}
.hcard h1 .accent{background:linear-gradient(90deg,var(--pri),var(--pri2));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 26px rgba(53,246,224,.14)}
*/
.sub{color:rgba(232,242,255,.80);font-size:14px;line-height:1.7;max-width:66ch}
.grid{margin-top:18px;display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.card{grid-column:span 6;border-radius:20px;padding:16px;border:1px solid rgba(105,255,238,.14);background:rgba(12,18,42,.45);box-shadow:0 0 0 1px rgba(105,255,238,.06) inset}
.card.wide{grid-column:span 12}
@media (max-width:920px){.card{grid-column:span 12}}
.card h3{margin:0 0 10px;font-size:14px;color:rgba(232,242,255,.90)}
.row{display:flex;gap:12px;flex-wrap:wrap}
.field{flex:1;min-width:220px}
label{display:block;font-size:12px;color:rgba(148,163,199,.92);margin-bottom:6px}
input,select{width:100%;padding:12px 12px;border-radius:14px;border:1px solid rgba(105,255,238,.18);background:rgba(5,8,20,.55);color:rgba(232,242,255,.92);outline:none;font-family:var(--mono)}
.help{font-size:12px;color:rgba(148,163,199,.88);margin-top:8px;line-height:1.6}
.kv{display:grid;grid-template-columns:140px 1fr;gap:8px 14px;font-family:var(--mono);font-size:12px}
.kv div{padding:6px 0;border-bottom:1px dashed rgba(105,255,238,.12)}
.k{color:rgba(148,163,199,.95)}.v{color:rgba(232,242,255,.92);overflow-wrap:anywhere}
.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid rgba(105,255,238,.22);background:rgba(12,18,42,.35);font-size:12px;font-family:var(--mono)}
.dot{width:8px;height:8px;border-radius:999px;background:rgba(148,163,199,.8)}
.dot.ok{background:var(--ok);box-shadow:0 0 14px rgba(112,255,184,.35)}
.dot.bad{background:var(--bad);box-shadow:0 0 14px rgba(255,107,107,.25)}
.sep{height:1px;background:rgba(105,255,238,.12);margin:12px 0}
.table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid rgba(105,255,238,.12);border-radius:16px;background:rgba(12,18,42,.35)}
.table th,.table td{padding:10px 10px;font-size:12px;border-bottom:1px solid rgba(105,255,238,.10);vertical-align:top}
.table th{text-align:left;color:rgba(232,242,255,.86);font-family:var(--mono);background:rgba(12,18,42,.55)}
.table td{color:rgba(232,242,255,.88);font-family:var(--mono)}
.table tr:last-child td{border-bottom:none}
.small{font-size:12px;color:rgba(148,163,199,.90)}
.toast{position:fixed;margin: 5px;right: 5px; bottom:70px;max-width:420px;padding:12px 12px;border-radius:5px;border:1px solid rgba(105,255,238,.22);background:rgba(5,8,20,.86);box-shadow:0 20px 70px rgba(0,0,0,.55);display:none;z-index:100}
.toast.show{display:block}
.toast .title{font-weight:800;margin-bottom:4px}
.toast .msg{font-size:12px;color:rgba(232,242,255,.86);line-height:1.6}
/*footer{margin-top:30px;color:rgba(148,163,199,.86);font-size:12px;text-align:center}*/
.code{font-family:var(--mono);font-size:12px;padding:10px 12px;border-radius:14px;border:1px solid rgba(105,255,238,.18);background:rgba(5,8,20,.55);overflow:auto}
/* ========== Global Loading (右下角) ========== */
.gloading{
  position: fixed;
margin: 5px;
	right: 5px;
  bottom: 70px;
  z-index: 9999;
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 5px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(10, 15, 30, .92);
  backdrop-filter: blur(10px);
  box-shadow: 0 12px 30px rgba(0,0,0,.35);
  color: rgba(255,255,255,.92);
  min-width: 240px;
}

.gloading .spinner{
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.25);
  border-top-color: rgba(255,255,255,.95);
  animation: spin 0.85s linear infinite;
}

.gloading .txt .t{ font-weight: 700; font-size: 13px; line-height: 1.2; }
.gloading .txt .m{ font-size: 12px; opacity: .85; margin-top: 2px; line-height: 1.2; }

@keyframes spin { to { transform: rotate(360deg); } }
