/* GLOBYR v18: markets overview, protocol tools, swap network bar and route view. */
body.g18-markets #markets-view>.view-title,body.g18-markets #g10-chain-switch,body.g18-markets #g10-cross,body.g18-markets #g15-sourcebar,body.g18-markets #g15-lending,body.g18-markets #markets-view>.g9-atlas,body.g18-markets #markets-view .market-list-pane{display:none!important}
body.g18-markets #markets-view .workspace-content{grid-template-columns:minmax(0,1fr)!important}
body.g18-markets #markets-view .borrow-pane:not(.has-selection){display:none!important}
body.g18-markets #markets-view .borrow-pane.has-selection{margin-top:28px}
.g18{--g18-supply:var(--accent);--g18-borrow:#8b7cf6;--g18-col:#94a3b8;display:flex;flex-direction:column;gap:22px;min-width:0;margin-bottom:28px}
.g18[hidden]{display:none}
.g18 h1{margin:0;font-size:clamp(1.6rem,2.6vw,2.1rem);line-height:1.15}
.g18-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.g18-lead{margin:8px 0 0;color:var(--ink-soft);max-width:62ch;line-height:1.6}
.g18-refresh,.g18-link{font:600 .8rem/1 var(--sans);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:9px;min-height:40px;padding:0 14px;cursor:pointer;flex-shrink:0}
.g18-link{min-height:32px;padding:0 10px}
.g18-refresh:disabled{opacity:.55;cursor:progress}
.g18-summary{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.g18-big span{display:block;color:var(--ink-soft);font-size:.82rem;margin-bottom:4px}
.g18-big strong{font-size:clamp(2rem,4.4vw,2.9rem);line-height:1;letter-spacing:-.02em}
.g18-kpis{display:flex;gap:clamp(18px,3vw,40px);margin:0;flex-wrap:wrap}
.g18-kpis dt{display:flex;align-items:center;gap:6px;color:var(--ink-soft);font-size:.78rem}
.g18-kpis dd{margin:4px 0 0;font-size:1.3rem;font-weight:700}
.g18-kpis i{width:8px;height:8px;border-radius:50%;display:inline-block}
.g18-k-supply{background:var(--g18-borrow)}.g18-k-col{background:var(--g18-col)}.g18-k-count{background:var(--g18-supply)}
.g18-chart{margin:0;border:1px solid var(--line);border-radius:14px;padding:16px 16px 10px;background:var(--surface)}
.g18-chart svg{display:block;width:100%;height:140px}
.g18-bar-supply{fill:var(--g18-supply)}.g18-bar-borrow{fill:var(--g18-borrow)}
.g18-chart-x{display:flex;list-style:none;margin:8px 0 0;padding:0}
.g18-chart-x li{flex:1 1 0;min-width:0;text-align:center;font-size:.72rem;color:var(--ink-soft);display:flex;flex-direction:column;gap:2px}
.g18-chart-x span{color:var(--ink);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.g18-chart figcaption{margin-top:8px;font-size:.7rem;color:var(--muted)}
.g18-foot{margin:0;font-size:.74rem;line-height:1.6;color:var(--ink-soft)}
.g18-controls{display:flex;flex-direction:column;gap:12px}
.g18-nets{display:flex;flex-wrap:wrap;gap:8px}
.g18-nets button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:600 .8rem var(--sans);cursor:pointer}
.g18-nets button[aria-pressed=true]{background:var(--accent-fill,var(--accent));color:var(--on-accent,#111);border-color:transparent}
.g18-nets button:focus-visible,.g18-rowbtn:focus-visible,.g18-act:focus-visible,.g18-open:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.g18-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.g18-filters label{display:flex;flex-direction:column;gap:4px;font-size:.7rem;color:var(--ink-soft)}
.g18-filters select,.g18-filters input{min-height:42px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:500 .82rem var(--sans);padding:0 12px}
.g18-search{flex:1 1 240px}.g18-search input{width:100%}
.g18-sec{border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden}
.g18-sec>header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:16px 18px;border-bottom:1px solid var(--line)}
.g18-sec h2{margin:0;font-size:1rem}
.g18-chain-id{font:600 .68rem var(--mono,ui-monospace,monospace);color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:2px 6px}
.g18-sec-meta{margin-left:auto;font-size:.74rem;color:var(--ink-soft)}
.g18-net-mark{width:20px;height:20px;border-radius:50%;display:inline-grid;place-items:center;font:700 .62rem var(--sans);flex-shrink:0;object-fit:cover}
.g18-net-robinhood{background:#ccff00;color:#111}.g18-net-base{background:#0052ff;color:#fff}.g18-net-arbitrum{background:#213147;color:#28a0f0}.g18-net-avalanche{background:#e84142;color:#fff}.g18-net-ethereum{background:#627eea;color:#fff}
.g18-table{display:flex;flex-direction:column}
.g18-thead,.g18-rowbtn{display:grid;grid-template-columns:minmax(190px,1.7fr) .95fr .8fr .8fr .9fr .9fr .9fr minmax(150px,1.3fr) 22px;align-items:center;gap:12px;padding:0 18px}
.g18-thead{min-height:40px;font-size:.7rem;color:var(--muted);border-bottom:1px solid var(--line)}
.g18-row{border-bottom:1px solid var(--line)}.g18-row:last-child{border-bottom:0}
.g18-rowbtn{width:100%;min-height:68px;background:none;border:0;color:var(--ink);font:500 .84rem var(--sans);text-align:left;cursor:pointer}
.g18-rowbtn:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}
.g18-row.is-open .g18-rowbtn{background:color-mix(in srgb,var(--accent) 8%,transparent)}
.g18-c{display:flex;align-items:center;gap:8px;min-width:0;font-variant-numeric:tabular-nums}
.g18-c-market{gap:12px}
.g18-pair{position:relative;display:inline-flex;flex-shrink:0;width:42px;height:32px}
.g18-pair>.g18-disc{width:32px;height:32px}
.g18-pmark{position:absolute;right:0;bottom:-2px;width:18px;height:18px;border-radius:50%;border:2px solid var(--surface);background:#fff;object-fit:contain;display:grid;place-items:center;font:700 .5rem var(--sans)}
.g18-pmark[src$="morpho.svg"]{background:#10233f;padding:2px}
.g18-name{display:flex;flex-direction:column;min-width:0}
.g18-name strong{font-size:.9rem}
.g18-name small{font-size:.72rem;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.g18-disc{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0;background:#fff}
.g18-letter{display:inline-grid;place-items:center;font:700 .62rem var(--sans);color:#fff;text-transform:none}
.g18-h0{background:#3b6fd4}.g18-h1{background:#7d4fd1}.g18-h2{background:#c2417a}.g18-h3{background:#d0622c}.g18-h4{background:#b8892a}.g18-h5{background:#5c9a2f}.g18-h6{background:#22927a}.g18-h7{background:#1f8aa6}.g18-h8{background:#4a5bb8}.g18-h9{background:#9a4bb3}.g18-h10{background:#a8543f}.g18-h11{background:#58697a}
.g18-ring{flex-shrink:0;transform:rotate(-90deg)}
.g18-ring circle{fill:none;stroke-width:3}
.g18-ring-track{stroke:color-mix(in srgb,var(--ink) 14%,transparent)}
.g18-ring-fill{stroke:var(--g18-supply);stroke-linecap:round}
.g18-ring.is-high .g18-ring-fill{stroke:#f59e0b}
.g18-c-cols{gap:6px}
.g18-colcount{font-weight:700;min-width:1.4em}
.g18-stack{display:inline-flex}
.g18-stack .g18-mini{width:20px;height:20px;margin-left:-6px;border:2px solid var(--surface);font-size:.46rem}
.g18-stack .g18-mini:first-child{margin-left:0}
.g18-more{font-size:.72rem;color:var(--ink-soft)}
.g18-chev{width:10px;height:10px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);justify-self:end;transition:transform .2s}
.g18-row.is-open .g18-chev{transform:rotate(225deg)}
.g18-drawer{padding:4px 18px 20px}
.g18-detail-lead{margin:8px 0 14px;font-size:.82rem;color:var(--ink-soft);line-height:1.6}
.g18-detail-lead strong{color:var(--ink)}
.g18-cols{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.g18-col{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}
.g18-col-main{flex:1;min-width:0}
.g18-col-main strong{display:block;font-size:.88rem;margin:3px 0 6px;overflow-wrap:anywhere}
.g18-col dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}
.g18-col dt{font-size:.66rem;color:var(--muted)}
.g18-col dd{margin:0;font-size:.78rem;font-weight:600;font-variant-numeric:tabular-nums}
.g18-act{align-self:center;flex-shrink:0;display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border-radius:8px;background:var(--accent-fill,var(--accent));color:var(--on-accent,#172003);font:700 .74rem var(--sans);text-decoration:none;white-space:nowrap}
.g18-act.is-out{background:transparent;color:var(--ink);border:1px solid var(--line)}
.g18-detail-note{margin:12px 0 0;font-size:.74rem;color:var(--ink-soft);line-height:1.6}
.g18-open{display:inline-flex;align-items:center;margin-top:14px;min-height:40px;padding:0 14px;border-radius:9px;background:var(--accent-fill,var(--accent));color:var(--on-accent,#172003);font:700 .78rem var(--sans);text-decoration:none}
.g18-status{margin:0;padding:22px 18px;color:var(--ink-soft);font-size:.84rem;display:flex;align-items:center;gap:10px}
.g18-pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:g18-pulse 1.2s ease-in-out infinite}
@keyframes g18-pulse{50%{opacity:.25}}
.g18-tools>header h2{margin:0 0 6px;font-size:1.2rem}
.g18-tools>header p{margin:0 0 16px;color:var(--ink-soft);font-size:.84rem;line-height:1.6;max-width:70ch}
.g18-tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.g18-tool{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.g18-tool-head{display:flex;align-items:center;gap:10px}
.g18-tool-head .g18-pmark{position:static;width:30px;height:30px;border:0;font-size:.8rem}
.g18-tool h3{margin:0;font-size:.95rem}
.g18-tool-head span{font-size:.72rem;color:var(--ink-soft)}
.g18-live{margin-left:auto;font:700 .62rem var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--on-accent,#172003);background:var(--accent-fill,var(--accent));border-radius:999px;padding:4px 8px;white-space:nowrap}
.g18-tool-list{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.g18-tool-list li{font-size:.74rem;border:1px solid var(--line);border-radius:999px;padding:5px 10px;background:var(--bg)}
.g18-tool-nets{display:flex;gap:6px;flex-wrap:wrap}
.g18-tool-nets span{font-size:.68rem;color:var(--ink-soft)}
.g18-tool-nets span+span:before{content:'· ';color:var(--muted)}
.g18-tool>a{margin-top:auto;font:700 .78rem var(--sans);color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.g18-side-nets{display:flex;flex-direction:column}
.g18-side-head{font:600 .62rem var(--sans);letter-spacing:.1em;color:var(--muted);padding:14px 12px 6px}
.g18-side-net .g18-net-mark{width:22px;height:22px}
.g18-swapnets{display:flex;flex-direction:column;gap:8px;margin:4px 0 18px}
.g18-swapnote{margin:0;font-size:.74rem;color:var(--ink-soft);line-height:1.6}
@media (max-width:1180px){
 .g18-thead{display:none}
 .g18-rowbtn{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px;padding:16px;min-height:0}
 .g18-c-market{grid-column:1/-1}
 .g18-c-cols{grid-column:1/-1}
 .g18-c[data-label]{flex-direction:column;align-items:flex-start;gap:3px}
 .g18-c[data-label]:before{content:attr(data-label);font-size:.66rem;color:var(--muted)}
 .g18-c[data-label]>.g18-ring{display:none}
 .g18-c-cols[data-label]{flex-direction:row;align-items:center;flex-wrap:wrap}
 .g18-c-cols[data-label]:before{width:100%}
 .g18-chev{position:absolute;right:20px;margin-top:6px}
 .g18-row{position:relative}
 .g18-chev{top:24px}
}
@media (max-width:560px){
 .g18-rowbtn{grid-template-columns:repeat(2,minmax(0,1fr))}
 .g18-sec>header{padding:14px}
 .g18-sec-meta{margin-left:0;width:100%}
 .g18-drawer{padding:4px 14px 16px}
 .g18-cols{grid-template-columns:1fr}
 .g18-col{flex-wrap:wrap}
 .g18-act{width:100%;justify-content:center}
 .g18-filters label{flex:1 1 140px}
 .g18-filters select{width:100%}
 .g18-top{flex-direction:column}
 .g18-chart svg{height:110px}
}
/* route view */
.gr{width:100%;max-width:100%;min-width:0;font-size:13px}
.gr-b,.gr-paths,.gr-path,.gr-steps,.gr-steps>li{max-width:100%;min-width:0}
.gr-path{overflow:hidden}
.gr-sum{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);font:600 .8rem var(--sans);text-align:left;cursor:pointer}
.gr-sum-pair{display:inline-flex;align-items:center;flex-shrink:0}
.gr-sum-pair .gr-tile{width:20px;height:20px}
.gr-sum-line{width:16px;height:0;border-top:2px dotted var(--muted);margin:0 3px}
.gr-sum-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gr-sum-chips{display:flex;gap:4px;flex-shrink:0}
.gr-chip{font:600 .64rem var(--sans);border-radius:999px;padding:3px 7px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--ink)}
.gr-chev{flex-shrink:0;transition:transform .2s}
.gr-sum[aria-expanded=true] .gr-chev{transform:rotate(180deg)}
.gr-b{margin-top:10px;display:flex;flex-direction:column;gap:12px}
.gr-alloc{display:flex;flex-direction:column;gap:8px}
.gr-bar{display:flex;gap:3px;height:10px}
.gr-seg{flex:1 1 0;min-width:4px;border-radius:999px}
.gr-t0{background:var(--accent)}.gr-t1{background:#8b7cf6}.gr-t2{background:#22b8cf}.gr-t3{background:#f59e0b}
.gr-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.72rem;color:var(--ink-soft)}
.gr-legend li{display:flex;align-items:center;gap:6px}
.gr-legend i{width:8px;height:8px;border-radius:2px}
.gr-legend b{color:var(--ink);font-variant-numeric:tabular-nums}
.gr-paths{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.gr-path{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--surface)}
.gr-path>header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;font-size:.74rem}
.gr-dot{width:10px;height:10px;border-radius:3px}
.gr-share{color:var(--ink-soft)}
.gr-hops{margin-left:auto;color:var(--muted);font-size:.68rem}
.gr-steps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.gr-tok{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-width:0;border:1px solid var(--line);border-radius:999px;padding:3px 10px 3px 3px;background:var(--bg)}
.gr-tok>span{min-width:0}
.gr-tok .gr-tile{width:22px;height:22px}
.gr-tok b{font-size:.74rem}
.gr-tok small{display:block;font-size:.64rem;color:var(--ink-soft);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.gr-hop{display:inline-flex;align-items:center;gap:6px}
.gr-arrow{width:14px;height:2px;background:var(--muted);position:relative}
.gr-arrow:after{content:'';position:absolute;right:-1px;top:-3px;border-left:5px solid var(--muted);border-top:4px solid transparent;border-bottom:4px solid transparent}
.gr-venues{display:inline-flex;flex-wrap:wrap;gap:4px}
.gr-venue{font:600 .66rem var(--sans);border-radius:6px;padding:4px 7px;background:color-mix(in srgb,var(--ink) 7%,transparent)}
.gr-venue em{font-style:normal;color:var(--ink-soft);margin-left:4px}
.gr-note{margin:0;font-size:.68rem;color:var(--ink-soft);line-height:1.5}
@media (max-width:560px){.gr-steps{flex-direction:column;align-items:flex-start}.gr-hop{padding-left:10px;border-left:2px solid var(--line)}.gr-arrow{display:none}.gr-sum-chips{display:none}}
@media (prefers-reduced-motion:reduce){.g18-pulse{animation:none}.g18-chev,.gr-chev{transition:none}}
