:root{color-scheme:dark;--bg:#101116;--panel:#17191f;--line:#2c2e38;--text:#f6f4fa;--muted:#ada9ba;--accent:#d0b0ff;--mono:"Space Mono",monospace;font-family:Geist,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 80% 0,#221a31 0,transparent 43rem),var(--bg);color:var(--text);min-height:100vh}header{border-bottom:1px solid var(--line);background:#111218ba}.bar,main{max-width:1240px;margin:auto;padding-inline:32px}.bar{height:69px;display:flex;justify-content:space-between;align-items:center}.brand,.chain,.token{font:700 12px var(--mono);letter-spacing:.08em}.brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none}.mark{display:grid;place-items:center;width:34px;height:34px;background:var(--accent);color:#221333;border-radius:8px;font-size:21px}.chain{color:#bfb7cb}.chain i{display:inline-block;background:#6de7ae;width:7px;height:7px;border-radius:50%;margin-right:6px}.hero{display:flex;justify-content:space-between;align-items:end;gap:18px;padding:58px 0 31px}.token{color:var(--accent);margin-bottom:12px}h1{font-size:clamp(36px,6vw,65px);line-height:1;letter-spacing:-.065em;margin:0}p{color:var(--muted);line-height:1.5;margin:13px 0 0}.hero-actions,.dialog-actions{display:flex;gap:9px;flex-wrap:wrap}button,input,select{font:inherit;color:inherit;border:1px solid var(--line);border-radius:8px;background:#14151b;padding:9px 12px;min-height:39px}button{font-size:13px;font-weight:600;cursor:pointer}button:hover{border-color:var(--accent)}button:disabled{cursor:progress;opacity:.65}.primary{background:var(--accent);border-color:var(--accent);color:#21162d}.primary:hover{background:#e2cfff}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:24px}.stats div{background:#1a1b23;border:1px solid var(--line);border-radius:11px;padding:17px 19px}.stats span{font:11px var(--mono);color:var(--muted);display:block}.stats strong{font-size:25px;display:block;margin-top:6px;letter-spacing:-.035em}.desk{background:var(--panel);border:1px solid var(--line);border-radius:13px;overflow:hidden}.controls,.filters{padding:14px 17px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;border-bottom:1px solid var(--line)}nav{display:flex;gap:5px}nav button{border-color:transparent;background:transparent;color:var(--muted)}nav button[aria-pressed=true]{color:var(--accent);background:#2b203b;border-color:#49375d}.filters input{width:min(100%,360px)}#status{padding:11px 17px;color:var(--muted);font-size:13px;border-bottom:1px solid var(--line)}#status.error{color:#ffb8b5}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{padding:10px 13px;text-align:left;border-bottom:1px solid var(--line)}th{font:11px var(--mono);color:var(--muted)}tbody tr:last-child td{border-bottom:0}td input,td select{font-size:13px;width:100%;min-width:112px;max-width:240px}.wallet{font:12px var(--mono);text-decoration:none}.wallet:hover{text-decoration:underline}.copy{margin-left:7px;padding:4px 7px;min-height:28px}.balance{font:700 13px var(--mono);text-align:right}.empty{padding:28px 18px;color:var(--muted)}footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px 0 32px;font-size:12px;color:var(--muted)}dialog{width:min(440px,calc(100% - 32px));color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:23px}dialog::backdrop{background:#08080cc9}dialog h2{margin:0;font-size:22px}label{display:block;margin:18px 0}label input{display:block;width:100%;margin-top:7px}.dialog-actions{justify-content:flex-end}.danger{color:#ffb8b5;margin-right:auto}@media(max-width:650px){.bar,main{padding-inline:15px}.hero{align-items:start;flex-direction:column;padding-top:32px}.stats{gap:6px}.stats div{padding:10px}.stats span{font-size:9px}.stats strong{font-size:18px}.controls,.filters{padding:10px}.chain{font-size:10px}}

.wallet{display:inline-block;white-space:normal;overflow-wrap:anywhere;vertical-align:middle;max-width:44ch}.copy{vertical-align:middle}@media(max-width:650px){.wallet{max-width:25ch}}

.cell-caption { display:none; }

@media (max-width: 900px) {
  .table-wrap { overflow:visible; padding:10px; }
  .table-wrap table, .table-wrap tbody { display:block; }
  .table-wrap table { white-space:normal; }
  .table-wrap thead {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip-path:inset(50%);
  }
  .table-wrap tbody tr {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    padding:12px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#1a1b23;
  }
  .table-wrap tbody tr + tr { margin-top:10px; }
  .table-wrap td {
    display:block;
    min-width:0;
    padding:0;
    border:0;
    text-align:left;
  }
  .table-wrap .cell-caption {
    display:block;
    margin-bottom:5px;
    color:var(--muted);
    font:11px var(--mono);
  }
  .address-cell, .note-cell { grid-column:1 / -1; }
  .table-wrap td.address-cell {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:4px 10px;
  }
  .address-cell .cell-caption { grid-column:1 / -1; margin:0; }
  .address-cell .wallet { max-width:none; line-height:1.5; }
  .address-cell .copy { min-height:44px; min-width:48px; margin:0; }
  .table-wrap .balance { font-size:15px; }
  .table-wrap td input, .table-wrap td select {
    min-width:0;
    max-width:none;
  }
  input, select { font-size:16px; }
  button, input, select { min-height:44px; }
  .table-wrap td input, .table-wrap td select { font-size:16px; }
}

@media (max-width: 480px) {
  .filters input, .filters select { width:100%; }
  .stats { grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) minmax(0,1fr); }
  .stats strong { font-size:clamp(14px,4vw,18px); }
  .hero-actions { width:100%; }
  .hero-actions button { flex:1 1 auto; }
}

.brand { gap:10px; }
.wallet { font-size:12.5px; }
footer { align-items:center; }
.market {
  margin-top:22px;
  padding:15px 17px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--panel);
}
.market-heading, .market-sources {
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:6px 12px;
}
.market-heading h2 { margin:0; font-size:16px; }
.market-heading span, .market-sources { color:var(--muted); font-size:12px; }
.market-metrics, .market-trends {
  display:grid;
  gap:10px;
  margin:12px 0;
}
.market-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }
.market-trends { grid-template-columns:repeat(3,minmax(0,1fr)); }
.market dl > div { padding:9px 10px; background:#111218; border-radius:7px; min-width:0; }
.market dt { font-size:12px; color:var(--muted); margin-bottom:4px; }
.market dd { margin:0; font:700 clamp(12px,2.1vw,19px) var(--mono); overflow-wrap:anywhere; }
.market-trades span:first-child, .market .positive { color:#76e5a9; }
.market-trades span:last-child, .market .negative { color:#ff9099; }
.stats { margin-top:0; }
@media (max-width:650px) {
  .market { padding:12px; margin-top:14px; }
  .market-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .market dd { font-size:14px; }
  .market-trends { gap:6px; }
  .market-trends > div { padding-inline:6px; }
  .stats span { line-height:1.35; }
}

.market { margin-top:14px; padding:9px 12px; }
.market-heading h2 { font-size:14px; }
#market-status { display:flex; align-items:center; gap:8px; }
#market-countdown { font:11px var(--mono); font-variant-numeric:tabular-nums; }
#market-health:not(:empty) { color:#ffb8b5; }
.market-metrics, .market-trends { margin:5px 0; gap:5px; }
.market dl > div { padding:4px 7px; }
.market dt { margin-bottom:2px; font-size:11px; }
.market dd { font-size:clamp(12px,1.6vw,16px); }
.market-sources { font-size:11px; gap:3px 9px; }
@media (min-width: 900px) {
  .market-grid { display:grid; grid-template-columns:1.7fr 1fr; gap:6px; }
}

.value-help {
  margin:0;
  padding:7px 13px;
  border-bottom:1px solid var(--line);
  font-size:12px;
}
.value-cell { color:#d9c6f4; }
@media (min-width: 901px) {
  .table-wrap tbody tr + tr td { border-top:1px solid #414351; }
  .table-wrap th + th, .table-wrap td + td { border-left:1px solid #343642; }
}
@media (max-width: 900px) {
  .table-wrap tbody tr { grid-template-columns:repeat(3,minmax(0,1fr)); border-color:#414351; }
  .table-wrap .balance { font-size:clamp(11px,3.3vw,15px); overflow-wrap:anywhere; }
}

.wordmark-brand { gap:8px; }
.wordmark-brand img { display:block; width:auto; height:26px; }
.wordmark-brand span {
  color:var(--text);
  font:400 18px/1 "Archivo Black","Arial Black",sans-serif;
  letter-spacing:-.05em;
}


@media (max-width: 400px) {
  .bar .wordmark-brand img { height:22px; }
  .bar .wordmark-brand span { font-size:16px; }
}


.wallet-owner {
  width:100%;
  min-width:104px;
  max-width:220px;
  text-align:left;
  white-space:normal;
  overflow-wrap:anywhere;
}
#assign-wallet { overflow-wrap:anywhere; font:12px var(--mono); }
#owner-help, #owner-error { font-size:13px; }
#owner-error { color:#ffb8b5; margin:8px 0; }
#owner-error:empty { display:none; }
#assign-form .dialog-actions { margin-top:14px; }
@media (max-width: 900px) {
  .owner-cell { grid-column:1 / -1; }
  .wallet-owner { max-width:none; }
}

.note-cell input::placeholder, .wallet-owner-empty { color:#9996a5; opacity:1; }
.wallet-owner-empty { font-weight:400; }

.table-wrap .owner-summary-row td {
  padding:5px 12px;
  background:#231e2b;
}
.owner-summary {
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
  white-space:normal;
  overflow-wrap:anywhere;
}
.owner-summary strong { color:#fff; }
.owner-summary-value { font-variant-numeric:tabular-nums; white-space:nowrap; }
@media (max-width: 900px) {
  .table-wrap tbody .owner-summary-row {
    display:block;
    padding:0;
    overflow:hidden;
    border-radius:7px;
  }
  .table-wrap tbody .owner-summary-row + tr { margin-top:4px; }
}

.owned-wallet td {
  background:color-mix(in srgb,var(--owner-color) 3%,transparent);
}
.owned-wallet .address-cell, .owner-summary-row td {
  box-shadow:inset 2px 0 var(--owner-color);
}
.owned-wallet .wallet-owner {
  border-inline-start:2px solid var(--owner-color);
}
.table-wrap .owner-summary-row td {
  background:color-mix(in srgb,var(--owner-color) 9%,var(--panel));
}
@media (max-width: 900px) {
  .table-wrap tbody .owned-wallet { border-inline-start:2px solid var(--owner-color); }
  .owned-wallet td { background:transparent; }
  .owned-wallet .address-cell { box-shadow:none; }
}

#note-preview {
  position:fixed;
  z-index:10;
  width:max-content;
  max-width:min(380px,calc(100vw - 16px));
  padding:8px 11px;
  border:1px solid #575064;
  border-radius:7px;
  background:#292633;
  color:var(--text);
  font-size:13px;
  line-height:1.45;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  pointer-events:none;
}

.annotation-bar {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 12px;
  padding:7px 13px;
  border-bottom:1px solid var(--line);
  color:var(--muted);
  font-size:12px;
}
.wallet-owner:disabled { opacity:1; cursor:default; }

.bar { gap:10px; }
.chain { text-align:right; }
.stats div { min-width:0; }
.stats strong { overflow-wrap:anywhere; }
#market-status { flex-wrap:wrap; }
.market-grid, .market-grid > dl { min-width:0; }
.filters input, .filters select { max-width:100%; }

@media (width > 900px) {
  .table-wrap table { table-layout:fixed; white-space:normal; }
  .table-wrap th:nth-child(1) { width:32%; }
  .table-wrap th:nth-child(2) { width:12%; }
  .table-wrap th:nth-child(3) { width:10%; }
  .table-wrap th:nth-child(4) { width:12%; }
  .table-wrap th:nth-child(5) { width:15%; }
  .table-wrap th:nth-child(6) { width:19%; }
  .table-wrap th, .table-wrap td { padding-inline:clamp(7px,1vw,13px); overflow-wrap:anywhere; }
  .table-wrap td input, .table-wrap .wallet-owner { min-width:0; }
  .address-cell .copy { margin:3px 0 0 6px; }
}

@media (max-width: 320px) {
  .bar, main { padding-inline:10px; }
  .bar .wordmark-brand { gap:5px; }
  .bar .wordmark-brand img { height:19px; }
  .bar .wordmark-brand span { font-size:14px; }
  .stats div { padding-inline:6px; }
  .table-wrap { padding:6px; }
  .table-wrap tbody tr { padding:8px; gap:8px; }
}
