:root{
    /* Solana brand */
    --sol-purple:#9945ff;
    --sol-violet:#7b3fe4;
    --sol-green:#14f195;
    --sol-cyan:#19d3f3;

    /* Surfaces — глубокий тёмный, как в Axiom */
    --bg:#07080b;
    --panel:#0b0d13;
    --panel2:#10131b;
    --panel3:#151925;
    --line:#1b2030;
    --line2:#252b3d;

    /* Текст */
    --fg:#e7e9f0;
    --dim:#7d859a;
    --dim2:#525a70;

    --accent:var(--sol-purple);
    --good:var(--sol-green);
    --bad:#ff4d6d;
    --warn:#ffb020;

    --grad:linear-gradient(90deg,var(--sol-purple) 0%,var(--sol-violet) 35%,var(--sol-cyan) 70%,var(--sol-green) 100%);
    --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
  }
  *{box-sizing:border-box}
  html,body{margin:0;height:100%}
  body{background:var(--bg);color:var(--fg);
    font:13px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif;
    -webkit-font-smoothing:antialiased}
  a{color:var(--sol-cyan);text-decoration:none}
  button{font:inherit;cursor:pointer}

  ::-webkit-scrollbar{width:9px;height:9px}
  ::-webkit-scrollbar-track{background:var(--bg)}
  ::-webkit-scrollbar-thumb{background:var(--line2);border-radius:5px}
  ::-webkit-scrollbar-thumb:hover{background:#39415a}

  /* ---------- шапка ---------- */
  header{display:flex;align-items:center;gap:16px;padding:11px 16px;
    background:linear-gradient(180deg,#0d1018 0%,#0a0c12 100%);
    border-bottom:1px solid var(--line);flex-wrap:wrap;position:relative}
  header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
    background:var(--grad);opacity:.55}
  header h1{font-size:14px;margin:0;font-weight:800;letter-spacing:1.4px;
    background:var(--grad);-webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent}
  header .stat{font:11px/1 var(--mono);color:var(--dim)}
  header .stat b{color:var(--fg);font-weight:600}
  .spacer{flex:1}

  .btn{background:var(--panel2);border:1px solid var(--line2);color:var(--dim);
    padding:6px 13px;border-radius:7px;transition:.15s}
  .btn:hover{color:var(--fg);border-color:var(--sol-purple);
    box-shadow:0 0 0 3px rgba(153,69,255,.10)}
  .btn.primary{background:var(--grad);border:none;color:#06070a;font-weight:700;
    letter-spacing:.3px}
  .btn.primary:hover{filter:brightness(1.12);box-shadow:0 0 22px rgba(20,241,149,.28)}
  .btn:disabled{opacity:.4;cursor:default;box-shadow:none}

  main{display:grid;grid-template-columns:290px 1fr;height:calc(100% - 46px)}
  aside{border-right:1px solid var(--line);overflow-y:auto;background:var(--panel);padding:12px}
  section{overflow:auto;position:relative;background:var(--bg)}

  /* ---------- пресеты ---------- */
  .presets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
  .preset{background:var(--panel2);border:1px solid var(--line2);color:var(--dim);
    padding:5px 11px;border-radius:20px;font-size:11px;transition:.15s}
  .preset:hover{color:var(--fg);border-color:var(--line2)}
  .preset.on{color:#06070a;background:var(--grad);border-color:transparent;font-weight:700}

  fieldset{border:none;border-top:1px solid var(--line);margin:0 0 4px;padding:11px 0 4px}
  legend{font-size:9.5px;text-transform:uppercase;letter-spacing:1.2px;
    color:var(--sol-purple);padding:0;font-weight:700}
  .row{display:grid;grid-template-columns:1fr 62px 62px;gap:6px;align-items:center;margin:5px 0}
  .row label{font-size:11.5px;color:var(--dim)}
  .row.one{grid-template-columns:1fr 130px}
  input[type=number],input[type=text],input[type=password],select{
    background:#06070a;border:1px solid var(--line2);color:var(--fg);
    border-radius:6px;padding:5px 7px;font:11px var(--mono);width:100%;transition:.15s}
  input:focus,select:focus{outline:none;border-color:var(--sol-purple);
    box-shadow:0 0 0 3px rgba(153,69,255,.14)}
  input::placeholder{color:var(--dim2)}
  .chk{display:flex;align-items:center;gap:7px;margin:7px 0;font-size:11.5px;color:var(--dim)}
  .chk input{accent-color:var(--sol-green);width:14px;height:14px}
  .hint{font-size:10.5px;color:var(--dim2);margin:3px 0 0;line-height:1.45}

  /* ---------- панель результатов ---------- */
  .bar{display:flex;gap:8px;align-items:center;padding:9px 12px;
    border-bottom:1px solid var(--line);background:var(--panel);
    position:sticky;top:0;z-index:5}
  .bar .info{font:11px var(--mono);color:var(--dim)}

  table{border-collapse:collapse;width:100%;font:11.5px var(--mono)}
  th,td{padding:6px 9px;text-align:right;white-space:nowrap;
    border-bottom:1px solid rgba(27,32,48,.7)}
  th{position:sticky;top:0;background:var(--panel2);color:var(--dim);font-weight:700;
    cursor:pointer;user-select:none;font-size:10px;letter-spacing:.4px;
    text-transform:uppercase;z-index:4;border-bottom:1px solid var(--line2)}
  th:hover{color:var(--fg)}
  th.sorted{color:var(--sol-green)}
  td:first-child,th:first-child{text-align:left}
  tbody tr{transition:background .1s}
  tbody tr:hover{background:rgba(153,69,255,.07);cursor:pointer}
  tbody tr.sel{background:rgba(153,69,255,.13);
    box-shadow:inset 2px 0 0 0 var(--sol-green)}
  .pos{color:var(--good)} .neg{color:var(--bad)} .mut{color:var(--dim2)}

  .tag{display:inline-block;padding:1px 6px;border-radius:4px;font-size:9px;
    letter-spacing:.4px;text-transform:uppercase;font-weight:700;
    border:1px solid var(--line2);color:var(--dim);margin-left:5px}
  .tag.s{border-color:rgba(153,69,255,.55);color:var(--sol-purple);
    background:rgba(153,69,255,.10)}
  .tag.w{border-color:rgba(255,176,32,.5);color:var(--warn);
    background:rgba(255,176,32,.08)}
  .tag.c{border-color:rgba(25,211,243,.5);color:var(--sol-cyan);
    background:rgba(25,211,243,.08)}

  /* ---------- карточка кошелька ---------- */
  .drawer{position:fixed;top:0;right:0;width:min(920px,86vw);height:100%;
    background:var(--panel);border-left:1px solid var(--line2);z-index:20;
    display:none;flex-direction:column;box-shadow:-30px 0 80px rgba(0,0,0,.7)}
  .drawer.open{display:flex}
  .drawer header{background:linear-gradient(180deg,#0f1219,#0b0d13)}
  .drawer header h1{font-size:12.5px;font-family:var(--mono);letter-spacing:0;
    font-weight:600;-webkit-text-fill-color:initial;background:none;color:var(--fg)}
  .drawer .body{overflow:auto;padding:14px 16px}
  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
  .card{background:var(--panel2);border:1px solid var(--line);border-radius:10px;
    padding:11px 13px;position:relative;overflow:hidden}
  .card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;
    background:var(--grad);opacity:.8}
  .card h3{margin:0 0 9px;font-size:10px;color:var(--sol-purple);
    text-transform:uppercase;letter-spacing:1px;font-weight:700}
  .kv{display:flex;justify-content:space-between;font:11px var(--mono);padding:2.5px 0}
  .kv span:first-child{color:var(--dim2)}
  h4{margin:18px 0 7px;font-size:10px;color:var(--sol-green);
    text-transform:uppercase;letter-spacing:1.1px;font-weight:700}
  .empty{padding:44px;text-align:center;color:var(--dim2)}
  .err{margin:12px;padding:11px 13px;border:1px solid rgba(255,77,109,.45);
    background:rgba(255,77,109,.07);border-radius:8px;
    color:var(--bad);font:11px var(--mono);white-space:pre-wrap}
  details.sql{margin:10px 12px;font:10.5px var(--mono);color:var(--dim2)}
  details.sql summary{cursor:pointer}
  details.sql summary:hover{color:var(--sol-cyan)}
  details.sql pre{background:var(--panel2);padding:11px;border-radius:8px;overflow:auto;
    border:1px solid var(--line)}
  .addr{font:11px var(--mono)}
  .copy{background:none;border:none;color:var(--dim2);padding:0 5px;font-size:14px}
  .copy:hover{color:var(--sol-green)}
  .spin{display:inline-block;width:11px;height:11px;border:2px solid var(--line2);
    border-top-color:var(--sol-green);border-radius:50%;animation:sp .7s linear infinite}
  @keyframes sp{to{transform:rotate(360deg)}}

/* ---------- навигация между страницами ---------- */
.nav{display:flex;gap:2px;margin-left:4px}
.nav a{padding:5px 12px;border-radius:7px;font-size:12px;font-weight:600;
  color:var(--dim);border:1px solid transparent;transition:.15s}
.nav a:hover{color:var(--fg)}
.nav a.on{color:var(--fg);background:var(--panel2);border-color:var(--line2)}
