/* Compact station views. Token artwork always stays bounded to 40px. */
#market-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
#market-grid[data-mode=market],#market-grid[data-mode=graduated],#market-grid[data-mode=curve],#market-grid[data-mode=stocks] { display:block; }
#market-grid[data-mode=meta] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.market-view-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:22px 0 18px; border:1px solid #315342; background:#0d281f; }
.market-view-summary>.market-metric { padding:19px 22px; border-right:1px solid #315342; gap:11px; }
.market-view-summary>.market-metric:last-child { border-right:0; }
.market-view-summary .market-metric-label { font-size:9px; letter-spacing:.08em; }
.market-view-summary .market-metric-value { font-size:18px; letter-spacing:-.04em; }
.market-view-controls { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-bottom:18px; }
.market-periods { display:flex; border:1px solid #315342; }
.market-periods button { min-width:51px; min-height:34px; padding:6px 11px; color:#a5beaf; border:0; border-right:1px solid #315342; background:#0b231b; font:12px var(--mono,monospace); cursor:pointer; }
.market-periods button:last-child { border-right:0; }
.market-periods button[aria-pressed=true] { background:#5ef2a2; color:#081b16; }
.market-periods button:hover:not([aria-pressed=true]) { background:#173c2c; color:#effaf2; }
.market-sort-label { display:flex; gap:11px; align-items:center; color:#9caf9f; font:10px var(--mono,monospace); }
.market-sort-label select { border:1px solid #315342; border-radius:0; background:#0d281f; color:#effaf2; min-height:34px; padding:6px 28px 6px 11px; font:11px var(--mono,monospace); }
.market-view-note { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 13px; border-left:3px solid #5ef2a2; padding:12px 17px; margin:0 0 20px; color:#a5beaf; background:#10291f; font:11px/1.8 var(--mono,monospace); }
.market-view-note>strong { color:#effaf2; font-weight:500; }
.market-view-note>p { margin:0; flex:1 1 400px; }
.market-view-note .market-link { white-space:nowrap; font-size:10px; }
.market-rack-column,.market-cluster { min-width:0; border:1px solid #315342; background:#0b241c; }
.market-rack-heading { display:flex; align-items:center; gap:13px; border-bottom:1px solid #315342; padding:21px 18px; background:#11382a; }
.market-rack-heading h3 { margin:0; color:#effaf2; font:500 26px/1 var(--pixel,monospace); }
.market-rack-heading p { margin:8px 0 0; color:#9bb5a5; font:9px/1.5 var(--mono,monospace); }
.market-column-glyph { display:grid; place-items:center; width:29px; height:29px; flex:0 0 29px; color:#5ef2a2; font:26px/1 var(--pixel,monospace); }
.market-rack-row { display:flex; justify-content:space-between; align-items:center; gap:11px; min-height:79px; padding:15px 16px; border-bottom:1px solid #254535; transition:background .16s; }
.market-rack-row:last-child { border-bottom:0; }
.market-rack-row:hover { background:#123329; }
.market-row-open { min-width:0; flex:1; display:block; padding:0; border:0; color:inherit; background:transparent; text-align:left; cursor:pointer; }
.market-identity { display:flex; align-items:center; gap:11px; min-width:0; }
.market-token-art { width:40px; height:40px; flex:0 0 40px; display:grid; place-items:center; position:relative; overflow:hidden; background:#1b3c2c; color:#5ef2a2; font:12px var(--mono,monospace); border:1px solid #3c624a; }
.market-token-art img { position:absolute; inset:0; display:block; width:40px!important; height:40px!important; min-width:40px; max-width:40px!important; max-height:40px!important; object-fit:cover; }
.market-identity-labels { display:grid; gap:5px; min-width:0; }
.market-identity-labels strong { max-width:100%; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font:500 17px/1.1 var(--pixel,monospace); }
.market-symbol { color:#92ae9e; font:10px/1.2 var(--mono,monospace); letter-spacing:.02em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.market-row-numbers { flex:0 0 auto; display:grid; gap:8px; text-align:right; }
.market-row-numbers strong { color:#effaf2; font:500 11px/1 var(--mono,monospace); font-variant-numeric:tabular-nums; }
.market-row-numbers small { color:#8aa594; font:8px/1.2 var(--mono,monospace); letter-spacing:.03em; }
#market-grid .is-positive,.market-dialog .is-positive { color:#5ef2a2; }
#market-grid .is-negative,.market-dialog .is-negative { color:#ff9b8f; }
.market-table-wrap { width:100%; max-width:100%; overflow-x:auto; border:1px solid #315342; background:#0b241c; }
.market-table { border-collapse:collapse; width:100%; min-width:710px; table-layout:fixed; }
.market-table thead { background:#103526; }
.market-table th { color:#99b6a5; padding:16px 18px; border-bottom:1px solid #315342; font:10px var(--mono,monospace); text-align:right; font-weight:400; white-space:nowrap; }
.market-table th:first-child { width:32%; text-align:left; }
.market-table th:last-child { width:85px; }
.market-table td { padding:15px 18px; border-bottom:1px solid #254535; height:79px; color:#effaf2; text-align:right; }
.market-table tr:last-child td { border-bottom:0; }
.market-table tbody tr:hover { background:#123329; }
.market-table-token { display:flex; align-items:center; gap:12px; min-width:0; }
.market-table-number { font:11px var(--mono,monospace); font-variant-numeric:tabular-nums; white-space:nowrap; }
.market-table-foot { display:flex; gap:20px; justify-content:space-between; min-width:710px; padding:14px 18px; border-top:1px solid #315342; color:#8eaa98; font:9px var(--mono,monospace); }
.market-favorite,.market-details,.market-dialog-close,.market-copy { color:#effaf2; background:transparent; border:1px solid #355243; border-radius:0; cursor:pointer; }
.market-favorite { width:29px; height:32px; flex:0 0 29px; padding:0; color:#89a494; font:21px/1 var(--pixel,monospace); }
.market-favorite[aria-pressed=true] { color:#5ef2a2; border-color:#5ef2a2; }
.market-favorite:hover,.market-details:hover,.market-dialog-close:hover,.market-copy:hover { background:#204732; }
.market-details { padding:8px 11px; font:10px var(--mono,monospace); }
.market-cluster { padding:21px; }
.market-cluster-top { display:flex; align-items:center; justify-content:space-between; color:#8ead9b; font:9px var(--mono,monospace); }
.market-cluster-index { color:#5ef2a2; font-size:12px; }
.market-cluster h3 { margin:25px 0 7px; color:#effaf2; font:500 31px/1 var(--pixel,monospace); }
.market-cluster-tag { margin:0 0 23px; color:#6e9681; font:8px var(--mono,monospace); letter-spacing:.08em; }
.market-cluster .market-rack-row { padding:14px 0; }
.market-cluster .market-rack-row:first-of-type { border-top:1px solid #315342; }
.market-cluster-empty { min-height:70px; margin:0; padding:22px 0; border-top:1px solid #315342; color:#a4bcab; font:11px/1.7 var(--mono,monospace); }
.market-metric { min-width:0; display:grid; gap:6px; }
.market-metric-label { color:#9caf9f; font:10px/1.5 var(--mono,monospace); letter-spacing:.03em; }
.market-metric-value { color:#effaf2; font:13px/1.4 var(--mono,monospace); overflow-wrap:anywhere; }
.market-empty { grid-column:1/-1; min-height:190px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:24px; color:#a5b9aa; border:1px dashed #355243; text-align:center; }
.market-empty strong { color:#effaf2; font:25px var(--pixel,monospace); }
.market-empty span { font:11px/1.8 var(--mono,monospace); max-width:440px; }
#market-status[data-state=error] { color:#ffad9f; }
#market-status[data-state=loading] { color:#a9c9b6; }
.market-dialog { box-sizing:border-box; width:min(620px,calc(100% - 32px)); max-height:calc(100dvh - 40px); padding:0; color:#effaf2; background:#081b16; border:1px solid #5ef2a2; border-radius:0; box-shadow:10px 10px 0 #0006; overflow:auto; }
.market-dialog::backdrop { background:#020b08d9; backdrop-filter:blur(4px); }
.market-dialog-panel { padding:24px; }
.market-dialog-bar,.market-dialog-heading,.market-flow-values { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.market-dialog-bar { padding-bottom:20px; border-bottom:1px solid #294338; font:10px var(--mono,monospace); color:#9caf9f; }
.market-dialog-close { padding:8px 11px; font:11px var(--mono,monospace); }
.market-dialog-title { margin:22px 0 18px; font:400 33px/1.2 var(--pixel,monospace); overflow-wrap:anywhere; }
.market-dialog-heading .market-identity-labels strong { white-space:normal; overflow-wrap:anywhere; }
.market-detail-price { display:flex; flex-wrap:wrap; gap:16px; align-items:baseline; margin:28px 0; }
.market-detail-price>strong { font:clamp(25px,5vw,34px) var(--mono,monospace); overflow-wrap:anywhere; }
.market-change { font:11px var(--mono,monospace); color:#a3b9aa; font-variant-numeric:tabular-nums; white-space:nowrap; }
.market-detail-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; border-block:1px solid #294338; padding:22px 0; }
.market-flow { margin-top:25px; }
.market-flow h3 { margin:0 0 16px; font:13px var(--mono,monospace); }
.market-flow-values { font:11px var(--mono,monospace); color:#9caf9f; margin-bottom:10px; }
.market-flow-track { height:8px; display:flex; background:#b66c60; overflow:hidden; }
.market-flow-buy { display:block; height:100%; background:#5ef2a2; }
.market-address { display:grid; gap:11px; margin:26px 0; }
.market-address code { display:block; overflow-wrap:anywhere; font:11px/1.7 var(--mono,monospace); color:#c5decd; }
.market-copy { justify-self:start; padding:9px 12px; font:11px var(--mono,monospace); }
.market-detail-links { display:flex; flex-wrap:wrap; gap:12px 20px; }
.market-link { color:#5ef2a2; text-underline-offset:4px; text-decoration:underline; font:12px/1.8 var(--mono,monospace); }
.market-small-note { margin-top:22px; color:#9caf9f; font:11px/1.75 var(--mono,monospace); }
@media(max-width:1120px) { .market-rack-row { padding:14px 11px; gap:8px; }.market-rack-heading { padding:19px 13px; gap:10px; }.market-identity { gap:8px; }.market-row-numbers strong { font-size:10px; }.market-row-numbers small { font-size:7px; }.market-identity-labels strong { font-size:15px; } }
@media(max-width:940px) { #market-grid[data-mode=radar] { grid-template-columns:1fr; }.market-rack-column { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }.market-rack-heading { grid-column:1/-1; }.market-rack-row:nth-child(even) { border-right:1px solid #315342; }.market-rack-row:nth-last-child(2) { border-bottom:0; }.market-view-summary>.market-metric { padding:16px; }.market-view-summary .market-metric-value { font-size:14px; } }
@media(max-width:600px) { #market-grid[data-mode=meta] { grid-template-columns:1fr; }.market-view-summary { grid-template-columns:1fr 1fr; }.market-view-summary>.market-metric:nth-child(2) { border-right:0; }.market-view-summary>.market-metric:last-child { grid-column:1/-1; border-top:1px solid #315342; }.market-view-summary .market-metric-value { font-size:15px; }.market-view-summary .market-metric-label { font-size:8px; }.market-rack-column { display:block; }.market-rack-row { padding:16px; }.market-rack-row:nth-child(even) { border-right:0; }.market-rack-row:nth-last-child(2) { border-bottom:1px solid #254535; }.market-rack-heading { padding:20px 16px; }.market-identity-labels strong { font-size:18px; }.market-row-numbers strong { font-size:12px; }.market-row-numbers small { font-size:8px; }.market-sort-label { gap:7px; font-size:9px; }.market-sort-label select { max-width:126px; padding-right:16px; font-size:10px; }.market-periods button { min-width:40px; font-size:10px; }.market-view-note { font-size:10px; padding:11px 13px; }.market-dialog-panel { padding:20px; }.market-favorite { width:34px; height:36px; flex-basis:34px; }.market-details { min-height:38px; padding:9px 12px; } }
@media(prefers-reduced-motion:reduce) { .market-rack-row { transition:none; } }
