.market-page{min-height:100vh}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-header{border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;height:52px;padding:0 18px;display:flex}.brand{letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:9px;font-size:.78rem;font-weight:750;display:inline-flex}.brand-mark{background:var(--accent);border-radius:1px;width:7px;height:7px}.app-nav{align-items:stretch;height:100%;display:flex}.app-nav a{color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;align-items:center;padding:0 12px;font-weight:650;display:inline-flex}.app-nav a:hover,.app-nav a.active{background:var(--surface-active);color:var(--text)}.header-state{color:var(--text-muted);font-family:var(--font-data);font-size:var(--text-xs);text-transform:uppercase;align-items:center;gap:7px;display:inline-flex}.header-state-dot{background:var(--positive);width:6px;height:6px;box-shadow:0 0 0 3px var(--positive-soft);border-radius:50%}.market-strip{border-bottom:1px solid var(--line);min-height:34px;color:var(--text-muted);font-family:var(--font-data);font-size:var(--text-xs);white-space:nowrap;background:#0f1216;align-items:center;gap:14px;padding:0 18px;display:flex;overflow-x:auto}.market-strip-status{border-right:1px solid var(--line);color:var(--text-faint);text-transform:uppercase;flex:none;padding-right:12px}.market-strip-status[data-state=live]{color:var(--positive)}.market-strip-status[data-state=error]{color:var(--negative)}#market-tickers{align-items:center;gap:6px;display:flex}.market-ticker{border-radius:var(--radius-sm);min-height:26px;color:var(--text-muted);font-family:var(--font-data);font-size:var(--text-xs);white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;gap:7px;padding:0 8px;display:inline-flex}.market-ticker:hover{border-color:var(--line);background:var(--surface-active);color:var(--text)}.market-ticker-symbol{color:var(--text)}.market-ticker-price{font-variant-numeric:tabular-nums;font-weight:700}.market-ticker-change{font-variant-numeric:tabular-nums;font-weight:650}.market-ticker-change.positive{color:var(--positive)}.market-ticker-change.negative{color:var(--negative)}.market-ticker-change.neutral{color:var(--text-muted)}.market-strip-loading,.market-strip-error{color:var(--text-faint)}.market-terminal{width:min(100%, var(--content-width));margin:0 auto;padding:18px 20px 32px}.market-toolbar{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:10px;display:flex}.market-kicker{color:var(--accent);font-family:var(--font-data);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px}.market-toolbar h1{letter-spacing:-.025em;margin:0;font-size:1.5rem;line-height:1.1}.market-search{width:min(360px,100%);position:relative}.market-search input{background:var(--surface-raised);height:36px;font-family:var(--font-data);font-size:var(--text-sm)}.market-suggestions{z-index:30;border:1px solid var(--line);background:var(--surface-raised);max-height:320px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 24px #00000059}.suggestion-item{border:0;border-bottom:1px solid var(--line);width:100%;min-height:42px;color:var(--text);text-align:left;background:0 0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 9px;display:grid}.suggestion-item:last-child{border-bottom:0}.suggestion-item:hover{background:var(--surface-active)}.suggestion-item strong{font-family:var(--font-data);font-size:var(--text-xs)}.suggestion-item span{min-width:0;color:var(--text-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.suggestion-item small{color:var(--text-faint);font-family:var(--font-data);font-size:var(--text-xs)}.market-filters{border-bottom:1px solid var(--line);align-items:center;gap:2px;margin-bottom:10px;display:flex}.market-filter{min-height:32px;color:var(--text-muted);font-size:var(--text-xs);background:0 0;border:0;border-bottom:2px solid #0000;padding:0 12px;font-weight:700}.market-filter:hover{background:var(--surface-active);color:var(--text)}.market-filter.active{border-bottom-color:var(--accent);color:var(--text)}.market-layout{grid-template-columns:minmax(0,1fr) 430px;align-items:start;gap:10px;display:grid}.market-list-panel,.market-detail-panel{border:1px solid var(--line);background:var(--surface);min-width:0}.market-detail-panel{position:sticky;top:10px}.market-panel-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:7px 12px;display:flex}.panel-kicker{color:var(--accent);font-family:var(--font-data);letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px;font-size:.58rem;display:block}.market-panel-header strong{font-size:var(--text-sm)}.panel-status,.chart-state{color:var(--text-faint);font-family:var(--font-data);font-size:var(--text-xs);text-transform:uppercase}.market-table-scroll{overflow-x:auto}.market-table{border-collapse:collapse;table-layout:fixed;width:100%}.market-table th{border-bottom:1px solid var(--line);height:32px;color:var(--text-faint);font-family:var(--font-data);letter-spacing:.05em;text-align:left;text-transform:uppercase;padding:0 10px;font-size:.6rem;font-weight:700}.market-table th:nth-child(2),.market-table th:nth-child(3){text-align:right}.market-table th:nth-child(4){text-align:center}.market-table th:last-child{width:64px}.market-table td{border-bottom:1px solid var(--line);height:48px;color:var(--text-muted);font-size:var(--text-sm);padding:4px 10px}.market-table tbody tr:last-child td{border-bottom:0}.market-table tbody tr:hover,.market-table tbody tr.selected{background:var(--surface-active)}.market-table td.numeric{color:var(--text);font-family:var(--font-data);font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:right}.market-table td.positive{color:var(--positive)}.market-table td.negative{color:var(--negative)}.market-table td.neutral{color:var(--text-muted)}.market-row-button{width:100%;color:var(--text);text-align:left;background:0 0;border:0;gap:1px;padding:0;display:grid}.market-row-button:hover{background:0 0}.market-row-button strong{font-family:var(--font-data);font-size:var(--text-xs)}.market-row-button span{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;overflow:hidden}.market-status{font-family:var(--font-data);text-align:center;text-transform:uppercase;font-size:.6rem;display:block}.market-status.open{color:var(--positive)}.market-status.closed,.market-status.unknown{color:var(--text-faint)}.market-open-button{border:1px solid var(--line);border-radius:var(--radius-sm);min-height:26px;color:var(--text-muted);font-family:var(--font-data);background:0 0;padding:0 7px;font-size:.6rem;font-weight:700}.market-open-button:hover{border-color:var(--line-strong);background:var(--surface-active);color:var(--text)}.market-table-state{height:80px;color:var(--text-faint);font-family:var(--font-data);font-size:var(--text-xs);text-align:center}.market-quote{padding:14px 12px 12px}.market-identity{gap:2px;display:grid}.market-identity strong{font-size:var(--text-md)}.market-identity span{color:var(--text-faint);font-family:var(--font-data);font-size:var(--text-xs)}.market-price-line{align-items:baseline;gap:10px;margin-top:10px;display:flex}.market-price-line strong{color:var(--text);font-family:var(--font-data);font-variant-numeric:tabular-nums;font-size:2rem;line-height:1}.market-price-line span{font-family:var(--font-data);font-size:var(--text-xs);font-weight:700}.market-price-line span.positive{color:var(--positive)}.market-price-line span.negative{color:var(--negative)}.market-price-line span.neutral{color:var(--text-muted)}#detail-status.positive{color:var(--positive)}#detail-status.negative{color:var(--text-faint)}.chart-panel{padding:0 12px 12px}.chart-toolbar{justify-content:space-between;align-items:center;gap:8px;min-height:32px;display:flex}.timeframe-tabs{align-items:center;gap:2px;display:flex}.timeframe-tabs button{border-radius:var(--radius-sm);min-height:26px;color:var(--text-faint);font-family:var(--font-data);background:0 0;border:1px solid #0000;padding:0 8px;font-size:.6rem;font-weight:700}.timeframe-tabs button:hover{background:var(--surface-active);color:var(--text)}.timeframe-tabs button.active{border-color:var(--line);background:var(--surface-raised);color:var(--text)}.market-chart{border-top:1px solid var(--line);background:linear-gradient(#ffffff04,#0000);height:270px;position:relative;overflow:hidden}#market-chart-svg{width:100%;height:100%;display:block}.chart-grid{stroke:var(--line);stroke-width:1px}.chart-price-label{fill:var(--text-faint);font-family:var(--font-data);dominant-baseline:middle;font-size:10px}.candle-wick,.candle-body{stroke-width:1px}.candle-up{stroke:var(--positive);fill:var(--positive)}.candle-down{stroke:var(--negative);fill:var(--negative)}.chart-last-price{stroke:var(--accent);stroke-width:1px;stroke-dasharray:3 3;opacity:.85}.chart-tooltip{z-index:5;border:1px solid var(--line);width:118px;color:var(--text);font-family:var(--font-data);pointer-events:none;background:#121519f5;gap:2px;padding:7px 8px;font-size:.58rem;display:grid;position:absolute;box-shadow:0 8px 16px #0000004d}.chart-tooltip strong{margin-bottom:2px;font-size:.62rem}.detail-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:0 12px 12px;display:grid}.detail-actions a{border:1px solid var(--line);border-radius:var(--radius-sm);min-height:30px;color:var(--text-muted);text-align:center;justify-content:center;align-items:center;font-size:.65rem;font-weight:700;display:flex}.detail-actions a:hover{background:var(--surface-active);border-color:var(--line-strong);color:var(--text)}.market-stats{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.market-stat{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;min-height:48px;padding:0 12px;display:flex}.market-stat:nth-child(odd){border-right:1px solid var(--line)}.market-stat:nth-last-child(-n+2){border-bottom:0}.market-stat span{color:var(--text-faint);font-size:.63rem}.market-stat strong{color:var(--text);font-family:var(--font-data);font-variant-numeric:tabular-nums;text-align:right;font-size:.64rem}@media (width<=1080px){.market-layout{grid-template-columns:minmax(0,1fr) 380px}}@media (width<=900px){.market-layout{grid-template-columns:1fr}.market-detail-panel{position:static}}@media (width<=720px){.app-header{height:auto;min-height:52px;padding:0 12px}.app-nav{display:none}.header-state{font-size:.58rem}.market-strip{padding:0 12px}.market-terminal{padding:14px 12px 24px}.market-toolbar{flex-direction:column;align-items:stretch;gap:10px}.market-search{width:100%}.market-table th:nth-child(4),.market-table td:nth-child(4){display:none}}@media (width<=480px){.brand{font-size:.7rem}.market-terminal{padding-inline:9px}.market-price-line strong{font-size:1.7rem}.detail-actions,.market-stats{grid-template-columns:1fr}.market-stat:nth-child(odd){border-right:0}.market-stat:nth-last-child(2){border-bottom:1px solid var(--line)}}
