/* AERENT Tools: additions on top of base.css (a verbatim copy of aerentmarketplace.com/styles.css). */

.brand .brand-sub { font-style: normal; font-weight: 700; color: var(--ink-2); margin-left: 2px; }
.market-link { gap: 7px; }
.market-link img { width: 18px; height: 18px; }
.chip-net { cursor: default; }

/* orbit chips reuse the marketplace ticker look with an icon instead of a token logo */
.ticker { font-size: 16px; }
.ticker .tchip { width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; background: rgba(255, 255, 255, .7); color: var(--lime-ink); }
.ticker .tchip .ic { width: 18px; height: 18px; }

.dock .dock-link { position: relative; width: 46px; height: 46px; display: grid; place-items: center; border-radius: 13px; text-decoration: none; }
.dock .dock-link:hover { background: rgba(255, 255, 255, .8); }
.dock .dock-link img { width: 26px; height: 26px; }
.dock .dock-link:hover .tip, .dock .dock-link:focus-visible .tip { opacity: 1; }

/* toolbox */
.tb-head { position: sticky; top: -4px; z-index: 2; padding: 8px 0; margin: -4px 0 8px; background: linear-gradient(rgba(250, 253, 255, .96) 70%, rgba(250, 253, 255, 0)); }
.tool-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.tool-card {
  display: grid; align-content: start; gap: 4px; min-height: 148px; padding: 16px; text-align: left;
  border-radius: var(--r-panel); border: 1px solid var(--hair); background: rgba(255, 255, 255, .75); box-shadow: var(--inner);
  transition: background-color .15s var(--ease), border-color .15s var(--ease), transform .15s var(--ease), box-shadow .15s var(--ease);
}
.tool-card:hover { background: #fff; border-color: rgba(47, 134, 230, .35); transform: translateY(-2px); box-shadow: var(--shadow-lift), var(--inner); }
.tool-card .tc-top { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 10px; }
.tool-card .tile { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: var(--lime); color: var(--lime-ink); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6); }
.tool-card .tile .ic { width: 20px; height: 20px; }
.tool-card .tc-badges { display: flex; gap: 4px; flex-wrap: wrap; justify-content: flex-end; }
.tool-card strong { font-size: 15px; font-weight: 800; letter-spacing: -.01em; }
.tool-card small { color: var(--ink-2); font-weight: 500; font-size: 13px; line-height: 1.45; }
.tb-foot { margin: 16px 2px 2px; }

/* forms */
textarea.in { height: auto; min-height: 140px; padding: 12px 14px; resize: vertical; line-height: 1.5; font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: 12.5px; font-weight: 500; }
textarea.in:focus { border-color: var(--sky); box-shadow: 0 0 0 4px rgba(47, 134, 230, .15); }
textarea.in.short { min-height: 84px; }
input.in.mono { font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: 12.5px; }
.check { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 13px; color: var(--ink-2); cursor: pointer; }
.field-row { display: flex; gap: 8px; align-items: stretch; }
.field-row > .in { flex: 1; min-width: 0; }
.field-row > .btn { height: 44px; }
.chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chip { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 10px; border-radius: 10px; border: 1px solid var(--hair); background: rgba(255, 255, 255, .8); font-weight: 700; font-size: 12.5px; color: var(--ink-2); }
.chip:hover { background: #fff; color: var(--ink); }
.chip .tlogo { --s: 18px; }
.chip[aria-pressed="true"] { border-color: var(--sky); color: var(--ink); box-shadow: 0 0 0 3px rgba(47, 134, 230, .15); }

/* output */
.out { position: relative; padding: 12px 44px 12px 14px; border-radius: var(--r-control); background: rgba(11, 36, 64, .05); border: 1px solid var(--hair); font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: 12.5px; word-break: break-all; white-space: pre-wrap; min-height: 44px; }
.out > .icon-btn { position: absolute; top: 6px; right: 6px; }
.out.dark { background: var(--ink); color: #eaf4ff; border-color: transparent; }
.out.dark > .icon-btn { color: #cfe2f7; }
.out.scroll { max-height: 280px; overflow: auto; }
.kv { display: grid; grid-template-columns: minmax(120px, max-content) 1fr; gap: 0 16px; }
.kv > span, .kv > div { padding: 9px 0; border-bottom: 1px dashed var(--hair-2); min-width: 0; }
.kv > span { color: var(--ink-2); font-weight: 600; }
.kv > div { font-weight: 700; overflow-wrap: anywhere; }
.kv > :nth-last-child(-n+2) { border-bottom: 0; }
.addr { display: inline-flex; align-items: center; gap: 2px; max-width: 100%; }
.addr a, .addr > span { overflow: hidden; text-overflow: ellipsis; }
.addr .icon-btn { width: 26px; height: 26px; }
.addr .icon-btn .ic { width: 15px; height: 15px; }
.section { margin-top: 18px; }
.section > h3.sub { display: flex; align-items: center; gap: 8px; }
.bar { height: 6px; border-radius: 99px; background: rgba(11, 36, 64, .08); overflow: hidden; }
.bar > i { display: block; height: 100%; background: var(--sky); border-radius: 99px; transition: width .2s; }
.bar.lime > i { background: var(--lime-lo); }
.err-list { max-height: 160px; overflow: auto; margin: 0; padding-left: 18px; }
.err-list li { color: #9b1f2a; font-weight: 600; font-size: 12.5px; }
.pill-num { display: inline-flex; min-width: 22px; height: 20px; padding: 0 6px; border-radius: 99px; align-items: center; justify-content: center; background: rgba(11, 36, 64, .08); font-size: 11.5px; font-weight: 800; }
table.t.compact { min-width: 0; }
table.t.compact td, table.t.compact th { padding: 9px 12px; }
table.t td.mono, table.t td .mono { font-weight: 500; }
.tbl-scroll { max-height: 420px; overflow: auto; }
.spark { display: flex; align-items: flex-end; gap: 2px; height: 56px; }
.spark i { flex: 1; min-width: 3px; border-radius: 3px 3px 0 0; background: linear-gradient(180deg, var(--sky), rgba(47, 134, 230, .35)); }
.spark.lime i { background: linear-gradient(180deg, var(--lime-lo), rgba(159, 230, 46, .35)); }
.fn { border-radius: 14px; border: 1px solid var(--hair); background: rgba(255, 255, 255, .72); }
.fn + .fn { margin-top: 8px; }
.fn > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 10px; padding: 11px 14px; font-weight: 800; }
.fn > summary::-webkit-details-marker { display: none; }
.fn > summary .muted { font-weight: 600; font-size: 12px; font-family: ui-monospace, Menlo, monospace; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fn[open] > summary { border-bottom: 1px solid var(--hair); }
.fn > .fn-body { padding: 14px; display: grid; gap: 10px; }
.secret { filter: blur(6px); transition: filter .15s; user-select: none; }
.secret.shown { filter: none; user-select: text; }

@media (max-width: 820px) {
  .market-link { display: none; }
  .kv { grid-template-columns: 1fr; }
  .kv > span { padding-bottom: 0; border-bottom: 0; font-size: 12px; }
  .tool-grid { grid-template-columns: 1fr; }
  /* input + button rows stack on phones so neither is squeezed off screen */
  .field-row { flex-wrap: wrap; }
  .field-row > .in { flex: 1 1 100%; min-width: 0; }
  .field-row > .btn, .field-row > .seg { flex: 1 1 auto; }
  input.in { min-width: 0; }
  /* tool names are longer than the marketplace tickers, so the chips and the second paragraph step aside on phones */
  .orbit .ticker, .hero .trust-line { display: none; }
}
p.lead code, .note code, .hint code, small code { font-family: ui-monospace, Menlo, monospace; font-size: 12px; background: rgba(11, 36, 64, .06); padding: 1px 5px; border-radius: 5px; }
/* grid and flex children may shrink below their content, so long monospace hints truncate instead of widening windows */
.stack > *, .split > *, .grid-2 > *, .grid-3 > *, .fn { min-width: 0; }
.fn > summary .muted { min-width: 0; flex: 1 1 auto; }
