:root {
    --bg-main: #070A12;
    --bg-panel: #0D1324;
    --bg-card: #111A2E;
    --text-main: #EAF0FF;
    --text-muted: #8F9BB8;
    --signal-buy: #00E6A8;
    --signal-sell: #FF4D6D;
    --signal-warning: #FFB020;
    --signal-info: #4DA3FF;
    --accent-purple: #7C5CFF;
    --accent-cyan: #00D4FF;
    --border-soft: rgba(255,255,255,0.08);
    --glow-buy: rgba(0,230,168,0.25);
    --glow-sell: rgba(255,77,109,0.25);
    --panel-shadow: 0 24px 70px rgba(0, 0, 0, .38);
    --font-ui: Inter, ui-sans-serif, system-ui, "Segoe UI", Arial, sans-serif;
    --font-data: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

* {
    box-sizing: border-box;
}

html {
    min-width: 320px;
    background: var(--bg-main);
}

body {
    margin: 0;
    background: var(--bg-main);
    color: var(--text-main);
    font-family: var(--font-ui);
    line-height: 1.45;
}

a {
    color: inherit;
}

button,
input {
    font: inherit;
}

h1,
h2,
h3,
p {
    margin-top: 0;
}

.public-intelligence-app {
    min-height: 100vh;
    overflow-x: hidden;
    background:
        radial-gradient(circle at 74% 12%, rgba(124, 92, 255, .2), transparent 28%),
        radial-gradient(circle at 45% 0%, rgba(0, 212, 255, .13), transparent 30%),
        linear-gradient(180deg, #050712, var(--bg-main) 34%, #050712);
}

.public-intelligence-app::before {
    position: fixed;
    inset: 0;
    z-index: -2;
    background:
        linear-gradient(rgba(255, 255, 255, .028) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .022) 1px, transparent 1px);
    background-size: 48px 48px;
    content: "";
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, .8), transparent 88%);
}

.public-intelligence-app::after {
    position: fixed;
    inset: 0;
    z-index: -1;
    background:
        radial-gradient(circle at 18% 28%, rgba(0, 230, 168, .08), transparent 23%),
        radial-gradient(circle at 91% 72%, rgba(77, 163, 255, .1), transparent 26%);
    content: "";
    pointer-events: none;
}

.text-signal-buy {
    color: var(--signal-buy);
}

.text-signal-sell {
    color: var(--signal-sell);
}

.text-signal-warning {
    color: var(--signal-warning);
}

.text-signal-info {
    color: var(--signal-info);
}

.intelligence-shell {
    display: grid;
    grid-template-columns: 270px minmax(0, 1fr) 390px;
    gap: 0;
    min-height: 100vh;
}

.left-rail,
.right-rail {
    position: sticky;
    top: 0;
    align-self: start;
    height: 100vh;
}

.left-rail {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 22px 18px;
    border-right: 1px solid var(--border-soft);
    background:
        linear-gradient(180deg, rgba(13, 19, 36, .92), rgba(5, 7, 18, .9)),
        rgba(13, 19, 36, .84);
    backdrop-filter: blur(22px);
}

.brand-lockup {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 58px;
    text-decoration: none;
}

.brand-mark {
    position: relative;
    display: grid;
    place-items: center;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(124, 92, 255, .72);
    border-radius: 50%;
    background:
        conic-gradient(from 45deg, rgba(0, 212, 255, .2), rgba(124, 92, 255, .85), rgba(0, 230, 168, .2), rgba(124, 92, 255, .85)),
        rgba(17, 26, 46, .86);
    box-shadow: 0 0 28px rgba(124, 92, 255, .26);
}

.brand-mark::before,
.brand-mark::after {
    position: absolute;
    border-radius: 50%;
    content: "";
}

.brand-mark::before {
    inset: 8px;
    border: 2px solid rgba(234, 240, 255, .82);
    border-left-color: transparent;
}

.brand-mark::after {
    inset: 17px;
    background: var(--accent-purple);
    box-shadow: 0 0 18px rgba(124, 92, 255, .8);
}

.brand-mark i {
    position: relative;
    z-index: 1;
    width: 15px;
    height: 22px;
    clip-path: polygon(52% 0, 100% 0, 62% 40%, 100% 40%, 35% 100%, 46% 55%, 10% 55%);
    background: var(--text-main);
}

.brand-wordmark {
    display: grid;
    gap: 0;
    font-size: 22px;
    font-weight: 900;
    line-height: .9;
}

.brand-wordmark small {
    color: var(--text-main);
    font-size: 12px;
    font-weight: 700;
}

.brand-wordmark b:last-child {
    color: var(--accent-purple);
}

.rail-nav {
    display: grid;
    gap: 7px;
    margin-top: 18px;
}

.rail-link {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid transparent;
    border-radius: 8px;
    color: var(--text-main);
    text-decoration: none;
    transition: border-color .2s ease, background .2s ease, color .2s ease, transform .2s ease;
}

.rail-link:hover,
.rail-link.is-active {
    border-color: rgba(124, 92, 255, .34);
    background: linear-gradient(90deg, rgba(124, 92, 255, .18), rgba(77, 163, 255, .04));
    color: #fff;
    transform: translateX(2px);
}

.rail-link.is-active {
    box-shadow: inset 3px 0 0 var(--accent-purple), 0 0 28px rgba(124, 92, 255, .12);
}

.rail-icon {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border: 1px solid var(--border-soft);
    border-radius: 7px;
    color: var(--accent-purple);
    font-family: var(--font-data);
    font-size: 10px;
    font-weight: 800;
}

.rail-spacer {
    flex: 1;
}

.rail-card {
    padding: 16px;
    border: 1px solid rgba(124, 92, 255, .24);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(124, 92, 255, .14), rgba(17, 26, 46, .76)),
        var(--bg-card);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
}

.rail-card strong {
    display: block;
    margin-bottom: 8px;
    color: #bfaeff;
    font-size: 14px;
    text-transform: uppercase;
}

.rail-card p {
    margin-bottom: 14px;
    color: var(--text-muted);
    font-size: 13px;
}

.rail-card button {
    width: 100%;
    min-height: 38px;
    border: 0;
    border-radius: 8px;
    background: linear-gradient(135deg, var(--accent-purple), #5e35e7);
    color: #fff;
    cursor: pointer;
    font-weight: 800;
}

.rail-card.compact {
    padding: 14px;
}

.avatar-row {
    display: flex;
    align-items: center;
}

.avatar-row span,
.avatar-row em {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    margin-right: -6px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 50%;
    background: var(--bg-panel);
    color: var(--text-main);
    font-family: var(--font-data);
    font-size: 10px;
    font-style: normal;
    font-weight: 800;
}

.avatar-row em {
    width: auto;
    margin-left: 12px;
    padding: 0 8px;
    border-radius: 999px;
    color: var(--signal-buy);
}

.intel-main {
    min-width: 0;
    padding: 0 28px 28px;
}

.intel-topbar {
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 68px;
    margin: 0 -28px 18px;
    padding: 0 28px;
    border-bottom: 1px solid var(--border-soft);
    background: rgba(7, 10, 18, .8);
    backdrop-filter: blur(20px);
}

.top-live,
.top-actions,
.search-box,
.watch-button,
.user-button {
    display: flex;
    align-items: center;
}

.top-live {
    gap: 10px;
    min-width: 0;
}

.top-live > span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--signal-buy);
    box-shadow: 0 0 0 8px rgba(0, 230, 168, .12);
}

.top-live strong {
    min-height: 30px;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(0, 230, 168, .1);
    color: var(--signal-buy);
    font-size: 12px;
}

.top-live small {
    color: var(--text-main);
    font-size: 13px;
    white-space: nowrap;
}

.top-actions {
    gap: 10px;
    min-width: 0;
}

.search-box {
    gap: 10px;
    width: min(380px, 38vw);
    min-height: 42px;
    padding: 0 12px;
    border: 1px solid var(--border-soft);
    border-radius: 8px;
    background: rgba(17, 26, 46, .62);
}

.search-box span {
    color: var(--text-muted);
}

.search-box input {
    flex: 1;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--text-main);
}

.search-box input::placeholder {
    color: var(--text-muted);
}

.search-box kbd {
    display: grid;
    place-items: center;
    min-width: 28px;
    height: 22px;
    border-radius: 6px;
    background: rgba(255, 255, 255, .06);
    color: var(--text-muted);
    font-family: var(--font-data);
    font-size: 11px;
}

.watch-button,
.user-button {
    justify-content: center;
    min-height: 42px;
    border: 1px solid var(--border-soft);
    border-radius: 8px;
    background: rgba(17, 26, 46, .62);
    color: var(--text-main);
    cursor: pointer;
    font-weight: 800;
}

.watch-button {
    padding: 0 16px;
}

.user-button {
    width: 42px;
    font-family: var(--font-data);
}

.clock-readout {
    color: var(--text-muted);
    font-family: var(--font-data);
    font-size: 12px;
    white-space: nowrap;
}

.hero-command {
    position: relative;
    display: grid;
    grid-template-columns: minmax(310px, .86fr) minmax(420px, 1.14fr) minmax(260px, .48fr);
    gap: 18px;
    min-height: 300px;
    margin-bottom: 18px;
    overflow: hidden;
}

.hero-command::before {
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: 8px;
    background:
        radial-gradient(circle at 64% 42%, rgba(0, 212, 255, .12), transparent 32%),
        radial-gradient(circle at 76% 28%, rgba(124, 92, 255, .16), transparent 26%);
    content: "";
}

.hero-copy-block,
.hero-signal-card,
.metric-card,
.signal-console,
.side-widget,
.shell,
.detail-panel {
    border: 1px solid var(--border-soft);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .018)),
        rgba(13, 19, 36, .72);
    box-shadow: var(--panel-shadow);
    backdrop-filter: blur(18px);
}

.hero-copy-block {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 28px;
}

.hero-eyebrow,
.signal-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.hero-eyebrow {
    margin-bottom: 16px;
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.hero-eyebrow i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--signal-buy);
}

.hero-copy-block h1 {
    max-width: 520px;
    margin-bottom: 18px;
    font-size: 42px;
    line-height: 1.02;
}

.hero-copy-block h1 span {
    display: inline-block;
    color: #a88cff;
}

.hero-copy-block p {
    max-width: 520px;
    margin-bottom: 20px;
    color: #c7d0e6;
    font-size: 16px;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.primary-action,
.ghost-action,
.view-all {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 10px 14px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 800;
}

.primary-action {
    border: 1px solid rgba(0, 212, 255, .38);
    background: linear-gradient(135deg, rgba(0, 212, 255, .18), rgba(124, 92, 255, .2));
    color: var(--text-main);
}

.primary-action.sell {
    border-color: rgba(255, 77, 109, .36);
    background: rgba(255, 77, 109, .12);
}

.ghost-action {
    border: 1px solid rgba(124, 92, 255, .42);
    color: #bfaeff;
}

.radar-map {
    position: relative;
    min-height: 300px;
    overflow: hidden;
    border: 1px solid var(--border-soft);
    border-radius: 8px;
    background:
        radial-gradient(circle at 50% 50%, rgba(0, 212, 255, .14), transparent 28%),
        linear-gradient(180deg, rgba(13, 19, 36, .42), rgba(7, 10, 18, .78));
}

.world-grid {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 28% 40%, rgba(0, 212, 255, .16), transparent 14%),
        radial-gradient(circle at 69% 34%, rgba(124, 92, 255, .18), transparent 16%),
        linear-gradient(rgba(0, 212, 255, .06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 212, 255, .05) 1px, transparent 1px);
    background-size: auto, auto, 26px 26px, 26px 26px;
    opacity: .92;
}

.map-node {
    position: absolute;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--accent-cyan);
    box-shadow: 0 0 18px rgba(0, 212, 255, .9);
    animation: nodePulse 3.6s ease-in-out infinite;
}

.radar-core {
    position: absolute;
    top: 50%;
    left: 55%;
    width: 210px;
    height: 210px;
    border: 1px solid rgba(0, 212, 255, .56);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0 0 44px rgba(0, 212, 255, .18);
}

.radar-core::before,
.radar-core::after {
    position: absolute;
    inset: 34px;
    border: 1px solid rgba(124, 92, 255, .42);
    border-radius: 50%;
    content: "";
}

.radar-core::after {
    inset: 70px;
}

.radar-core span {
    position: absolute;
    inset: 92px;
    z-index: 2;
    border-radius: 50%;
    background: rgba(124, 92, 255, .38);
    box-shadow: 0 0 28px rgba(124, 92, 255, .62);
}

.radar-core i {
    position: absolute;
    inset: -1px;
    border-radius: 50%;
    background: conic-gradient(from 0deg, rgba(0, 212, 255, .9), transparent 21%, transparent);
    animation: radarSweep 6s linear infinite;
    mask-image: radial-gradient(circle, transparent 0 48%, #000 49% 50%, transparent 51%);
}

.radar-core b {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 2px;
    height: 106px;
    background: linear-gradient(var(--accent-cyan), transparent);
    transform-origin: top;
    animation: radarNeedle 6s linear infinite;
}

.scan-line {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, rgba(0, 212, 255, .22), transparent);
    transform: translateX(-100%);
    animation: scanMove 7s ease-in-out infinite;
}

.hero-signal-card {
    display: grid;
    align-content: center;
    gap: 12px;
    padding: 22px;
}

.panel-title {
    display: block;
    color: var(--text-main);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.hero-signal-card > strong {
    font-size: 20px;
    line-height: 1.18;
}

.hero-signal-card p {
    margin-bottom: 4px;
    color: var(--text-muted);
    font-size: 13px;
}

.lead-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.lead-metrics div,
.data-cell {
    min-width: 0;
    padding: 10px;
    border-left: 1px solid var(--border-soft);
}

.lead-metrics span,
.data-cell span,
.metric-head span {
    display: block;
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.lead-metrics b,
.data-cell strong {
    display: block;
    overflow-wrap: anywhere;
    margin-top: 5px;
    font-family: var(--font-data);
    font-size: 15px;
}

.metric-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.metric-card {
    position: relative;
    min-height: 150px;
    padding: 16px;
    overflow: hidden;
    color: var(--text-main);
    text-decoration: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.metric-card.is-link {
    cursor: pointer;
}

.metric-card.is-link:focus-visible,
.heat-cell:focus-visible {
    outline: 2px solid rgba(0, 212, 255, .72);
    outline-offset: 3px;
}

.metric-card.tone-buy {
    border-color: rgba(0, 230, 168, .2);
}

.metric-card.tone-sell {
    border-color: rgba(255, 77, 109, .22);
}

.metric-card.tone-purple {
    border-color: rgba(124, 92, 255, .22);
}

.metric-card:hover {
    border-color: rgba(0, 212, 255, .32);
    box-shadow: 0 26px 80px rgba(0, 0, 0, .42), 0 0 32px rgba(0, 212, 255, .08);
}

.metric-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}

.metric-icon {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(77, 163, 255, .12);
    color: var(--signal-info);
    font-family: var(--font-data);
    font-size: 10px;
    font-style: normal;
    font-weight: 800;
}

.tone-buy .metric-icon {
    background: rgba(0, 230, 168, .12);
    color: var(--signal-buy);
}

.tone-sell .metric-icon {
    background: rgba(255, 77, 109, .12);
    color: var(--signal-sell);
}

.tone-warning .metric-icon {
    background: rgba(255, 176, 32, .12);
    color: var(--signal-warning);
}

.tone-purple .metric-icon {
    background: rgba(124, 92, 255, .14);
    color: #bfaeff;
}

.metric-value {
    display: block;
    overflow-wrap: anywhere;
    margin-bottom: 4px;
    font-family: var(--font-data);
    font-size: 22px;
    line-height: 1.1;
}

.metric-card small {
    color: var(--text-muted);
}

.sparkline {
    display: block;
    width: 100%;
    height: 42px;
    margin-top: 10px;
}

.sparkline polyline {
    stroke: var(--signal-info);
    filter: drop-shadow(0 0 8px rgba(77, 163, 255, .34));
}

.tone-buy .sparkline polyline {
    stroke: var(--signal-buy);
    filter: drop-shadow(0 0 8px var(--glow-buy));
}

.tone-sell .sparkline polyline {
    stroke: var(--signal-sell);
    filter: drop-shadow(0 0 8px var(--glow-sell));
}

.tone-warning .sparkline polyline {
    stroke: var(--signal-warning);
}

.tone-purple .sparkline polyline {
    stroke: var(--accent-purple);
}

.signal-console {
    overflow: hidden;
}

.console-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 18px;
    border-bottom: 1px solid var(--border-soft);
}

.console-head h2 {
    margin: 4px 0 0;
    font-size: 18px;
}

.feed-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.feed-filters button {
    min-height: 34px;
    padding: 7px 12px;
    border: 1px solid var(--border-soft);
    border-radius: 8px;
    background: rgba(17, 26, 46, .6);
    color: var(--text-muted);
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
}

.feed-filters button.is-active,
.feed-filters button:hover {
    border-color: rgba(124, 92, 255, .58);
    background: rgba(124, 92, 255, .14);
    color: var(--text-main);
}

.signal-list {
    display: grid;
}

.signal-empty-state {
    display: grid;
    gap: 6px;
    padding: 22px 18px;
    border-bottom: 1px solid var(--border-soft);
    color: var(--text-muted);
}

.signal-empty-state strong {
    color: var(--text-main);
    font-size: 14px;
}

.signal-empty-state p {
    margin: 0;
    font-size: 13px;
}

.signal-card {
    display: grid;
    grid-template-columns: 150px minmax(280px, 1fr) minmax(430px, .9fr);
    gap: 16px;
    align-items: stretch;
    padding: 14px 16px;
    border-bottom: 1px solid var(--border-soft);
    color: var(--text-main);
    text-decoration: none;
    transition: background .2s ease, box-shadow .2s ease;
}

.signal-card:hover {
    background: rgba(255, 255, 255, .025);
}

.signal-card.is-static {
    cursor: default;
}

.signal-card.is-static:hover {
    background: transparent;
}

.signal-card.tone-buy {
    box-shadow: inset 3px 0 0 var(--signal-buy);
}

.signal-card.tone-sell {
    box-shadow: inset 3px 0 0 var(--signal-sell);
}

.signal-card.tone-warning,
.signal-card.tone-neutral {
    box-shadow: inset 3px 0 0 var(--signal-warning);
}

.signal-badge-wrap {
    display: grid;
    align-content: center;
    gap: 8px;
    min-height: 86px;
    padding: 12px;
    border-radius: 8px;
    background: rgba(0, 230, 168, .08);
}

.tone-sell .signal-badge-wrap {
    background: rgba(255, 77, 109, .08);
}

.tone-warning .signal-badge-wrap,
.tone-neutral .signal-badge-wrap {
    background: rgba(255, 176, 32, .08);
}

.signal-badge {
    color: var(--signal-warning);
    font-size: 17px;
    font-weight: 900;
}

.signal-badge.tone-buy {
    color: var(--signal-buy);
}

.signal-badge.tone-sell {
    color: var(--signal-sell);
}

.signal-badge-wrap small {
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 800;
}

.strength-bar {
    height: 4px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255, 255, 255, .08);
}

.strength-bar i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: currentColor;
}

.signal-copy {
    min-width: 0;
    align-self: center;
}

.signal-copy > strong {
    display: block;
    margin-bottom: 7px;
    font-size: 18px;
    line-height: 1.2;
}

.signal-copy p {
    margin-bottom: 10px;
    color: #b9c3db;
    font-size: 13px;
}

.signal-meta span,
.signal-meta em {
    color: var(--text-muted);
    font-size: 12px;
    font-style: normal;
}

.signal-meta em {
    padding: 3px 8px;
    border: 1px solid rgba(124, 92, 255, .42);
    border-radius: 7px;
    color: #bfaeff;
    font-size: 11px;
    font-weight: 800;
}

.signal-numbers {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: center;
}

.data-cell:first-child {
    border-left: 0;
}

.view-all {
    width: calc(100% - 32px);
    margin: 16px;
    border: 1px solid var(--border-soft);
    background: rgba(17, 26, 46, .52);
    color: #bfaeff;
}

.right-rail {
    display: grid;
    align-content: start;
    gap: 14px;
    padding: 86px 20px 28px 0;
}

.side-widget {
    padding: 16px;
}

.side-head,
.live-count-row,
.distribution-body,
.legend div,
.category-row {
    display: flex;
    align-items: center;
}

.side-head,
.live-count-row {
    justify-content: space-between;
    gap: 12px;
}

.side-head i {
    display: grid;
    place-items: center;
    width: 20px;
    height: 20px;
    border: 1px solid var(--border-soft);
    border-radius: 50%;
    color: var(--text-muted);
    font-family: var(--font-data);
    font-size: 11px;
    font-style: normal;
}

.live-count-row {
    margin: 16px 0 14px;
}

.live-count-row strong {
    font-family: var(--font-data);
    font-size: 34px;
}

.live-count-row b {
    display: block;
    color: var(--signal-buy);
}

.live-count-row small {
    color: var(--text-muted);
}

.volume-bars {
    display: flex;
    align-items: end;
    gap: 4px;
    height: 70px;
}

.volume-bars i {
    flex: 1;
    min-width: 3px;
    border-radius: 3px 3px 0 0;
    background: linear-gradient(180deg, var(--accent-purple), var(--signal-info));
    opacity: .82;
}

.volume-bars i:nth-child(5n) {
    background: linear-gradient(180deg, var(--signal-buy), var(--signal-info));
}

.time-axis {
    display: flex;
    justify-content: space-between;
    margin-top: 8px;
    color: var(--text-muted);
    font-family: var(--font-data);
    font-size: 11px;
}

.heatmap-grid {
    display: grid;
    grid-template-columns: 1.4fr .8fr .8fr;
    grid-auto-rows: 76px;
    gap: 3px;
    margin-top: 14px;
}

.heat-cell {
    display: grid;
    place-items: center;
    min-width: 0;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 6px;
    background: rgba(0, 230, 168, .34);
    color: var(--text-main);
    text-decoration: none;
    box-shadow: inset 0 0 26px rgba(0, 230, 168, .1);
    transition: border-color .18s ease, filter .18s ease, transform .18s ease;
}

.heat-cell:hover {
    border-color: rgba(255, 255, 255, .28);
    filter: brightness(1.08);
    transform: translateY(-1px);
}

.heat-cell.big {
    grid-row: span 1;
}

.heat-cell.sell {
    background: rgba(255, 77, 109, .52);
    box-shadow: inset 0 0 26px rgba(255, 77, 109, .18);
}

.heat-cell strong {
    font-family: var(--font-data);
    font-size: 20px;
}

.heat-cell span {
    margin-top: -16px;
    color: var(--text-main);
    font-family: var(--font-data);
}

.market-empty-state {
    margin-top: 14px;
    padding: 18px;
    border: 1px solid var(--border-soft);
    border-radius: 8px;
    color: var(--text-muted);
    font-size: 13px;
}

.distribution-body {
    gap: 24px;
    margin-top: 18px;
}

.donut {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    background:
        radial-gradient(circle, var(--bg-panel) 0 48%, transparent 49%),
        conic-gradient(var(--signal-buy) 0 var(--buy), var(--signal-warning) var(--buy) var(--neutral), var(--signal-sell) var(--neutral) 100%);
    box-shadow: 0 0 26px rgba(0, 230, 168, .12);
}

.legend {
    display: grid;
    flex: 1;
    gap: 10px;
}

.legend div {
    gap: 10px;
    color: var(--text-muted);
    font-size: 13px;
}

.legend i {
    width: 12px;
    height: 12px;
    border-radius: 50%;
}

.legend i.buy {
    background: var(--signal-buy);
}

.legend i.neutral {
    background: var(--signal-warning);
}

.legend i.sell {
    background: var(--signal-sell);
}

.legend b {
    margin-left: auto;
    color: var(--text-main);
    font-family: var(--font-data);
    font-weight: 500;
}

.category-list {
    display: grid;
    gap: 12px;
    margin-top: 16px;
}

.category-row {
    display: grid;
    grid-template-columns: minmax(95px, 1fr) minmax(100px, 1.2fr) 42px;
    gap: 10px;
    color: var(--text-muted);
    font-size: 13px;
}

.category-row > div {
    height: 9px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255, 255, 255, .06);
}

.category-row i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--accent-purple), #4b2cc4);
}

.category-row b {
    color: var(--text-main);
    font-family: var(--font-data);
    font-weight: 500;
    text-align: right;
}

.app-loading,
.noscript-shell {
    display: grid;
    place-items: center;
    min-height: 100vh;
    gap: 16px;
    color: var(--text-main);
}

.app-loading > div:last-child {
    display: grid;
    gap: 4px;
    text-align: center;
}

.app-loading span,
.noscript-shell p {
    color: var(--text-muted);
}

.loading-orbit {
    width: 54px;
    height: 54px;
    border: 2px solid rgba(124, 92, 255, .2);
    border-top-color: var(--accent-cyan);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

/* Public detail pages keep the same premium shell without loading the React app. */
.shell {
    width: min(1180px, calc(100% - 32px));
    margin: 24px auto;
    padding: 18px;
}

.topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.brand,
.live-badge {
    display: flex;
    align-items: center;
}

.brand {
    gap: 12px;
}

.logo {
    width: 42px;
    height: 42px;
    border: 1px solid rgba(124, 92, 255, .42);
    border-radius: 8px;
    background: linear-gradient(135deg, var(--accent-cyan), var(--accent-purple));
}

.topbar h1 {
    margin-bottom: 0;
    font-size: 20px;
}

.sub,
.muted {
    color: var(--text-muted);
}

.live-badge {
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid var(--border-soft);
    border-radius: 8px;
    color: var(--text-muted);
}

.live-badge span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--signal-buy);
}

.notice {
    margin-bottom: 14px;
    padding: 12px;
    border: 1px solid rgba(255, 176, 32, .35);
    border-radius: 8px;
    background: rgba(255, 176, 32, .08);
}

.detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 410px);
    gap: 14px;
}

.detail-panel {
    padding: 18px;
}

.detail-panel h2 {
    margin: 14px 0 10px;
    font-size: 30px;
    line-height: 1.15;
}

.detail-panel h3 {
    margin: 18px 0 8px;
}

.signal-action {
    display: inline-grid;
    gap: 4px;
    margin-bottom: 10px;
}

.signal-action span,
.btn,
.pager {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 10px;
    border: 1px solid var(--border-soft);
    border-radius: 8px;
    background: rgba(17, 26, 46, .64);
    color: var(--signal-warning);
    text-decoration: none;
    font-weight: 900;
}

.signal-action.is-bullish span {
    color: var(--signal-buy);
}

.signal-action.is-bearish span {
    color: var(--signal-sell);
}

.signal-action.is-reversal span {
    color: var(--accent-purple);
}

.signal-action small {
    color: var(--text-muted);
    font-size: 12px;
}

.detail-kpis,
.risk-stack {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 14px 0;
}

.risk-stack {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.detail-kpis div,
.risk-stack div {
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--border-soft);
    border-radius: 8px;
    background: rgba(17, 26, 46, .62);
}

.detail-kpis span,
.risk-stack span {
    display: block;
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.detail-kpis strong,
.risk-stack strong,
.score {
    display: block;
    margin-top: 5px;
    font-family: var(--font-data);
    font-size: 22px;
}

.pos {
    color: var(--signal-buy);
}

.neg {
    color: var(--signal-sell);
}

.pre {
    white-space: pre-wrap;
}

@keyframes nodePulse {
    0%, 100% {
        opacity: .45;
        transform: scale(.86);
    }

    50% {
        opacity: 1;
        transform: scale(1.24);
    }
}

@keyframes radarSweep {
    to {
        transform: rotate(360deg);
    }
}

@keyframes radarNeedle {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes scanMove {
    0%, 24% {
        transform: translateX(-110%);
    }

    70%, 100% {
        transform: translateX(110%);
    }
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes sonarSweepSpin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes sonarNeedleSpin {
    from {
        transform: rotate(36deg);
    }

    to {
        transform: rotate(396deg);
    }
}

@keyframes sonarPulse {
    0% {
        opacity: .22;
        transform: scale(.72);
    }

    55% {
        opacity: .42;
    }

    100% {
        opacity: 0;
        transform: scale(1.08);
    }
}

@keyframes sonarGlow {
    0%, 100% {
        opacity: .32;
        transform: scale(.98);
    }

    50% {
        opacity: .62;
        transform: scale(1.03);
    }
}

@keyframes sonarCorePulse {
    0%, 100% {
        transform: translate(-50%, -50%) scale(.92);
    }

    50% {
        transform: translate(-50%, -50%) scale(1.08);
    }
}

@keyframes sonarBlip {
    0%, 100% {
        opacity: .36;
        transform: scale(.84);
    }

    45% {
        opacity: 1;
        transform: scale(1.28);
    }
}

@keyframes priorityScan {
    0%, 24% {
        transform: translateX(0) skewX(-18deg);
    }

    68%, 100% {
        transform: translateX(440%) skewX(-18deg);
    }
}

@keyframes priorityOrbit {
    0%, 100% {
        opacity: .34;
        transform: scale(.94);
    }

    50% {
        opacity: .74;
        transform: scale(1.05);
    }
}

@keyframes priorityDot {
    0%, 100% {
        opacity: .5;
        transform: scale(.86);
    }

    50% {
        opacity: 1;
        transform: scale(1.18);
    }
}

@media (max-width: 1540px) {
    .intelligence-shell {
        grid-template-columns: 250px minmax(0, 1fr);
    }

    .right-rail {
        position: static;
        grid-column: 2;
        height: auto;
        padding: 0 28px 28px 0;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hero-command {
        grid-template-columns: minmax(300px, .8fr) minmax(420px, 1.2fr);
    }

    .hero-signal-card {
        grid-column: 1 / -1;
    }

    .metric-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1160px) {
    .intelligence-shell {
        grid-template-columns: 1fr;
    }

    .left-rail {
        position: static;
        height: auto;
        border-right: 0;
        border-bottom: 1px solid var(--border-soft);
    }

    .rail-nav {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .rail-spacer,
    .rail-card {
        display: none;
    }

    .intel-main {
        padding: 0 18px 22px;
    }

    .intel-topbar {
        margin: 0 -18px 18px;
        padding: 12px 18px;
    }

    .hero-command,
    .signal-card {
        grid-template-columns: 1fr;
    }

    .signal-numbers {
        grid-template-columns: repeat(4, minmax(110px, 1fr));
        overflow-x: auto;
    }

    .right-rail {
        grid-column: 1;
        padding: 0 18px 24px;
    }
}

@media (max-width: 760px) {
    .left-rail {
        padding: 16px;
    }

    .brand-wordmark {
        font-size: 19px;
    }

    .rail-nav,
    .metric-grid,
    .right-rail,
    .lead-metrics,
    .detail-grid,
    .detail-kpis,
    .risk-stack {
        grid-template-columns: 1fr;
    }

    .rail-link {
        min-height: 42px;
    }

    .intel-topbar,
    .top-actions,
    .console-head {
        align-items: stretch;
        flex-direction: column;
    }

    .top-live small,
    .clock-readout {
        white-space: normal;
    }

    .search-box {
        width: 100%;
    }

    .hero-copy-block {
        padding: 22px;
    }

    .hero-copy-block h1 {
        font-size: 34px;
    }

    .radar-map {
        min-height: 260px;
    }

    .radar-core {
        left: 50%;
        width: 178px;
        height: 178px;
    }

    .metric-value {
        font-size: 20px;
    }

    .feed-filters {
        justify-content: flex-start;
    }

    .signal-card {
        padding: 14px;
    }

    .signal-numbers {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .data-cell {
        border-left: 0;
        border-top: 1px solid var(--border-soft);
    }

    .heatmap-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Reference template alignment: mirrors the provided News To Signal mockup. */
.intelligence-shell {
    grid-template-columns: 286px minmax(0, 1fr);
}

.left-rail {
    padding: 22px 18px 20px;
}

.brand-lockup {
    min-height: 76px;
}

.brand-lockup img {
    display: block;
    width: 238px;
    max-width: 100%;
    height: auto;
}

.brand-mark,
.brand-wordmark {
    display: none;
}

.rail-nav {
    gap: 10px;
    margin-top: 28px;
}

.rail-link {
    min-height: 54px;
    padding: 12px 14px;
    font-size: 16px;
}

.rail-icon {
    width: 25px;
    height: 25px;
    border: 0;
    color: var(--text-main);
    font-size: 0;
}

.rail-icon svg {
    width: 24px;
    height: 24px;
}

.rail-icon.rail-icon-text {
    border: 1px solid var(--border-soft);
    color: #a982ff;
    font-family: var(--font-data);
    font-size: 10px;
    font-weight: 800;
}

.rail-link.is-active .rail-icon,
.rail-link:hover .rail-icon {
    color: #a982ff;
}

.rail-card {
    padding: 18px;
}

.rail-card ul {
    display: grid;
    gap: 7px;
    margin: 0 0 18px;
    padding-left: 16px;
    color: #c0c8dc;
    font-size: 13px;
}

.intel-main {
    padding: 0 20px 34px 36px;
}

.intel-topbar {
    min-height: 72px;
    margin: 0 -20px 22px -36px;
    padding: 0 20px 0 36px;
}

.top-actions {
    gap: 12px;
}

.search-box {
    width: min(370px, 32vw);
}

.search-icon svg {
    width: 17px;
    height: 17px;
}

.watch-button {
    gap: 10px;
    min-width: 132px;
}

.user-button {
    border-radius: 50%;
}

.clock-readout {
    min-width: 72px;
}

.hero-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 390px);
    gap: 18px;
    margin-bottom: 18px;
}

.hero-command {
    grid-template-columns: 392px minmax(0, 1fr);
    gap: 0;
    min-height: 310px;
    margin-bottom: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.hero-command::before {
    display: none;
}

.hero-copy-block {
    justify-content: flex-start;
    padding: 28px 18px 22px 18px;
    border: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}

.hero-eyebrow {
    display: none;
}

.hero-copy-block h1 {
    max-width: 385px;
    margin-bottom: 18px;
    font-size: 44px;
    line-height: 1.02;
}

.hero-copy-block p {
    max-width: 380px;
    margin-bottom: 18px;
    font-size: 16px;
    line-height: 1.38;
}

.hero-actions {
    gap: 0;
}

.ghost-action {
    min-height: 41px;
    padding: 9px 18px;
    background: rgba(124, 92, 255, .08);
}

.ghost-action::before {
    margin-right: 9px;
    color: var(--accent-purple);
    content: ">";
}

.radar-map {
    min-height: 310px;
    border: 0;
    background:
        linear-gradient(90deg, rgba(7, 10, 18, 0), rgba(7, 10, 18, .08)),
        url("/assets/world-radar.svg") center / 100% 100% no-repeat;
    box-shadow: none;
    --radar-x: 59.66%;
    --radar-y: 47.78%;
    --radar-size: 268px;
}

.world-grid,
.radar-core {
    display: none;
}

.sonar-overlay {
    position: absolute;
    top: var(--radar-y);
    left: var(--radar-x);
    width: var(--radar-size);
    height: var(--radar-size);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.sonar-overlay::before {
    position: absolute;
    inset: -10px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0, 212, 255, .12), transparent 60%);
    content: "";
    opacity: .56;
    animation: sonarGlow 5.8s ease-in-out infinite;
}

.sonar-ring,
.sonar-stable-rings,
.sonar-axis,
.sonar-sweep,
.sonar-needle,
.sonar-core-dot,
.sonar-blip {
    position: absolute;
    display: block;
}

.sonar-stable-rings {
    inset: 0;
    border: 1px solid rgba(0, 212, 255, .62);
    border-radius: 50%;
    background:
        radial-gradient(circle, transparent 0 24%, rgba(124, 92, 255, .5) 24.5% 25.1%, transparent 25.7%),
        radial-gradient(circle, transparent 0 51%, rgba(0, 212, 255, .3) 51.5% 52.1%, transparent 52.8%),
        radial-gradient(circle, rgba(124, 92, 255, .28), rgba(0, 212, 255, .08) 18%, transparent 54%);
    box-shadow:
        inset 0 0 28px rgba(0, 212, 255, .08),
        0 0 28px rgba(0, 212, 255, .12);
}

.sonar-axis {
    z-index: 1;
    opacity: .72;
    background: linear-gradient(90deg, transparent 6%, rgba(0, 212, 255, .24), transparent 94%);
}

.sonar-axis.axis-x {
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
}

.sonar-axis.axis-y {
    top: 0;
    left: 50%;
    width: 1px;
    height: 100%;
    background: linear-gradient(180deg, transparent 6%, rgba(0, 212, 255, .24), transparent 94%);
}

.sonar-ring {
    inset: 7%;
    border: 1px solid rgba(0, 212, 255, .16);
    border-radius: 50%;
    animation: sonarPulse 5.4s ease-out infinite;
}

.sonar-sweep {
    inset: -2px;
    border-radius: 50%;
    background: conic-gradient(from 294deg, rgba(0, 212, 255, .64), rgba(0, 212, 255, .18) 14deg, transparent 38deg, transparent 360deg);
    mix-blend-mode: screen;
    opacity: .46;
    animation: sonarSweepSpin 4.8s linear infinite;
    mask-image: radial-gradient(circle, transparent 0 16%, #000 17% 55%, transparent 56%);
}

.sonar-needle {
    top: 50%;
    left: 50%;
    width: 2px;
    height: 53%;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--accent-cyan), rgba(0, 212, 255, .4) 52%, transparent);
    box-shadow: 0 0 16px rgba(0, 212, 255, .72);
    transform-origin: 50% 0;
    animation: sonarNeedleSpin 4.8s linear infinite;
}

.sonar-core-dot {
    top: 50%;
    left: 50%;
    z-index: 4;
    width: 32px;
    height: 32px;
    border: 1px solid rgba(124, 92, 255, .82);
    border-radius: 50%;
    background:
        radial-gradient(circle at 48% 44%, rgba(234, 240, 255, .95), rgba(124, 92, 255, .48) 34%, rgba(0, 212, 255, .16) 62%, rgba(124, 92, 255, .08));
    box-shadow: 0 0 18px rgba(124, 92, 255, .72), 0 0 34px rgba(0, 212, 255, .22);
    transform: translate(-50%, -50%);
    animation: sonarCorePulse 2.2s ease-in-out infinite;
}

.sonar-blip {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--accent-cyan);
    box-shadow: 0 0 18px rgba(0, 212, 255, .95);
    opacity: .88;
    animation: sonarBlip 2.6s ease-in-out infinite;
}

.blip-one {
    top: 19%;
    left: 64%;
}

.blip-two {
    top: 62%;
    left: 33%;
    animation-delay: .75s;
}

.blip-three {
    top: 39%;
    left: 86%;
    background: var(--accent-purple);
    box-shadow: 0 0 18px rgba(124, 92, 255, .95);
    animation-delay: 1.4s;
}

.scan-line {
    opacity: .55;
}

.priority-signal-widget {
    position: relative;
    display: grid;
    align-content: space-between;
    gap: 14px;
    min-height: 310px;
    padding: 18px;
    overflow: hidden;
    border: 1px solid var(--border-soft);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .018)),
        rgba(13, 19, 36, .78);
    color: var(--text-main);
    text-decoration: none;
    box-shadow: var(--panel-shadow);
    backdrop-filter: blur(18px);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.priority-signal-widget::before {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        radial-gradient(circle at 82% 18%, rgba(0, 230, 168, .22), transparent 32%),
        linear-gradient(135deg, rgba(0, 230, 168, .1), transparent 44%);
    content: "";
    opacity: .9;
}

.priority-signal-widget::after {
    position: absolute;
    top: 0;
    left: -38%;
    width: 34%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .11), transparent);
    content: "";
    transform: skewX(-18deg);
    animation: priorityScan 5.4s ease-in-out infinite;
}

.priority-signal-widget.tone-sell {
    border-color: rgba(255, 77, 109, .28);
}

.priority-signal-widget.tone-sell::before {
    background:
        radial-gradient(circle at 82% 18%, rgba(255, 77, 109, .24), transparent 32%),
        linear-gradient(135deg, rgba(255, 77, 109, .12), transparent 44%);
}

.priority-signal-widget.tone-warning,
.priority-signal-widget.tone-neutral {
    border-color: rgba(255, 176, 32, .28);
}

.priority-signal-widget.tone-warning::before,
.priority-signal-widget.tone-neutral::before {
    background:
        radial-gradient(circle at 82% 18%, rgba(255, 176, 32, .22), transparent 32%),
        linear-gradient(135deg, rgba(255, 176, 32, .1), transparent 44%);
}

.priority-signal-widget:hover {
    border-color: rgba(0, 212, 255, .36);
    box-shadow: 0 28px 90px rgba(0, 0, 0, .45), 0 0 42px rgba(0, 212, 255, .1);
}

.priority-ambient {
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
}

.priority-ambient span {
    position: absolute;
    border: 1px solid rgba(0, 230, 168, .24);
    border-radius: 50%;
    opacity: .5;
    animation: priorityOrbit 6s ease-in-out infinite;
}

.priority-ambient span:nth-child(1) {
    top: 18px;
    right: 18px;
    width: 74px;
    height: 74px;
}

.priority-ambient span:nth-child(2) {
    right: 60px;
    bottom: 52px;
    width: 132px;
    height: 132px;
    animation-delay: 1.1s;
}

.priority-ambient span:nth-child(3) {
    right: -40px;
    bottom: -34px;
    width: 190px;
    height: 190px;
    animation-delay: 2.2s;
}

.tone-sell .priority-ambient span {
    border-color: rgba(255, 77, 109, .25);
}

.tone-warning .priority-ambient span,
.tone-neutral .priority-ambient span {
    border-color: rgba(255, 176, 32, .25);
}

.priority-head,
.priority-meta,
.priority-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.priority-action {
    flex: 0 0 auto;
    padding: 7px 10px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 8px;
    background: rgba(0, 230, 168, .12);
    color: var(--signal-buy);
    font-size: 12px;
    font-weight: 950;
}

.priority-action.tone-sell {
    background: rgba(255, 77, 109, .12);
    color: var(--signal-sell);
}

.priority-action.tone-warning,
.priority-action.tone-neutral {
    background: rgba(255, 176, 32, .12);
    color: var(--signal-warning);
}

.priority-body {
    display: grid;
    gap: 10px;
}

.priority-body h2 {
    margin: 0;
    font-size: 23px;
    line-height: 1.12;
    letter-spacing: 0;
}

.priority-title-link,
.priority-open-link {
    color: inherit;
    text-decoration: none;
}

.priority-title-link:hover {
    color: var(--accent-cyan);
}

.priority-title-link:focus-visible,
.priority-open-link:focus-visible {
    outline: 2px solid rgba(0, 212, 255, .58);
    outline-offset: 4px;
    border-radius: 6px;
}

.priority-body p {
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    color: #b9c3db;
    font-size: 13px;
    line-height: 1.48;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.priority-pulse {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: max-content;
    color: var(--signal-buy);
    font-family: var(--font-data);
    font-size: 11px;
    font-weight: 800;
}

.priority-pulse i,
.priority-footer i {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 0 8px rgba(0, 230, 168, .1), 0 0 18px currentColor;
    animation: priorityDot 1.8s ease-in-out infinite;
}

.tone-sell .priority-pulse {
    color: var(--signal-sell);
}

.tone-warning .priority-pulse,
.tone-neutral .priority-pulse {
    color: var(--signal-warning);
}

.priority-meta {
    justify-content: flex-start;
    flex-wrap: wrap;
}

.priority-meta span,
.priority-meta em {
    color: var(--text-muted);
    font-size: 12px;
    font-style: normal;
}

.priority-meta em {
    padding: 3px 8px;
    border: 1px solid rgba(124, 92, 255, .42);
    border-radius: 7px;
    color: #bfaeff;
    font-size: 10px;
    font-weight: 900;
}

.priority-score-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.priority-score-grid .data-cell {
    padding: 9px 10px;
    border: 1px solid var(--border-soft);
    border-radius: 8px;
    background: rgba(17, 26, 46, .48);
}

.priority-score-grid .data-cell:first-child {
    border-left: 1px solid var(--border-soft);
}

.priority-score-grid .data-cell:last-child {
    grid-column: 1 / -1;
}

.priority-footer {
    padding-top: 2px;
    color: var(--text-muted);
    font-size: 12px;
}

.priority-footer span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.priority-footer strong {
    color: var(--accent-cyan);
    font-size: 12px;
    text-transform: uppercase;
}

.priority-open-link:hover strong {
    color: #fff;
}

.priority-footer strong.is-disabled {
    color: var(--text-muted);
    opacity: .62;
}

.live-count-widget {
    align-self: center;
    min-height: 254px;
    padding: 23px 20px 18px;
}

.metric-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 20px;
}

.metric-card {
    min-height: 150px;
}

.metric-value {
    font-size: 24px;
    white-space: nowrap;
    font-size: clamp(19px, 1.22vw, 24px);
}

.lower-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 520px;
    gap: 20px;
}

.right-widgets {
    display: grid;
    align-content: start;
    gap: 16px;
}

.signal-console {
    min-width: 0;
}

.console-head {
    min-height: 58px;
    padding: 12px 16px;
}

.signal-card {
    grid-template-columns: 154px minmax(280px, 1fr) minmax(430px, 510px);
    min-height: 103px;
    padding: 12px 12px;
}

.signal-copy > strong {
    font-size: 18px;
}

.signal-copy p {
    display: none;
}

.signal-numbers {
    grid-template-columns: 64px 64px 98px 112px 100px;
}

.data-cell {
    padding: 8px 10px;
}

.side-widget {
    padding: 18px;
}

.heatmap-grid {
    grid-auto-rows: 88px;
}

.distribution-widget {
    min-height: 174px;
}

.category-row {
    grid-template-columns: minmax(132px, 1fr) minmax(160px, 1.4fr) 42px;
}

@media (max-width: 1620px) {
    .hero-row {
        grid-template-columns: minmax(0, 1fr) minmax(330px, 360px);
    }

    .hero-command {
        grid-template-columns: 360px minmax(0, 1fr);
    }

    .hero-copy-block h1 {
        font-size: 39px;
    }

    .priority-signal-widget {
        padding: 16px;
    }

    .priority-body h2 {
        font-size: 20px;
    }

    .lower-grid {
        grid-template-columns: minmax(0, 1fr) 430px;
    }

    .signal-card {
        grid-template-columns: 140px minmax(240px, 1fr);
    }

    .signal-numbers {
        grid-column: 1 / -1;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 1160px) {
    .intelligence-shell {
        grid-template-columns: 1fr;
    }

    .left-rail {
        position: static;
        height: auto;
    }

    .rail-nav {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .rail-spacer,
    .rail-card {
        display: none;
    }

    .intel-main {
        padding: 0 18px 28px;
    }

    .intel-topbar {
        margin: 0 -18px 20px;
        padding: 12px 18px;
    }

    .hero-row,
    .lower-grid {
        grid-template-columns: 1fr;
    }

    .hero-command {
        grid-template-columns: minmax(300px, 390px) minmax(0, 1fr);
    }

    .metric-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .brand-lockup img {
        width: 212px;
    }

    .rail-nav,
    .hero-command,
    .metric-grid,
    .signal-card,
    .signal-numbers {
        grid-template-columns: 1fr;
    }

    .hero-copy-block {
        padding: 10px 0 20px;
    }

    .hero-copy-block h1 {
        font-size: 34px;
    }

    .search-box {
        width: 100%;
    }
}

/* Mobile hardening: no horizontal overflow from 320px upward. */
@media (max-width: 640px) {
    .public-intelligence-app,
    .intelligence-shell,
    .intel-main,
    .left-rail,
    .right-widgets,
    .signal-console,
    .side-widget {
        max-width: 100%;
        overflow-x: hidden;
    }

    .left-rail {
        padding: 14px;
    }

    .brand-lockup {
        justify-content: center;
        min-height: 64px;
    }

    .brand-lockup img {
        width: min(212px, 92vw);
    }

    .rail-nav {
        gap: 7px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: 14px;
    }

    .rail-link {
        min-height: 44px;
        padding: 9px 10px;
        font-size: 13px;
    }

    .rail-icon,
    .rail-icon svg {
        width: 21px;
        height: 21px;
    }

    .intel-main {
        padding: 0 12px 22px;
    }

    .intel-topbar {
        position: static;
        gap: 12px;
        margin: 0 -12px 16px;
        padding: 12px;
    }

    .top-live {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .top-live small {
        width: 100%;
        padding-left: 28px;
        font-size: 12px;
    }

    .top-actions {
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 8px;
        width: 100%;
    }

    .search-box {
        grid-column: 1 / -1;
        min-height: 40px;
    }

    .watch-button {
        min-width: 0;
        width: 100%;
        padding: 0 12px;
    }

    .user-button {
        width: 40px;
        min-height: 40px;
    }

    .clock-readout {
        grid-column: 1 / -1;
        min-width: 0;
        text-align: right;
    }

    .hero-row {
        gap: 10px;
        margin-bottom: 12px;
    }

    .hero-command {
        min-height: 0;
    }

    .hero-copy-block {
        padding: 4px 0 12px;
    }

    .hero-copy-block h1 {
        max-width: 100%;
        margin-bottom: 12px;
        font-size: 31px;
        line-height: 1.04;
    }

    .hero-copy-block p {
        max-width: 100%;
        margin-bottom: 14px;
        font-size: 14px;
    }

    .ghost-action {
        width: 100%;
    }

    .radar-map {
        min-height: 210px;
        background-position: center;
        --radar-x: 70%;
        --radar-y: 48%;
        --radar-size: 152px;
    }

    .live-count-widget {
        min-height: 202px;
        padding: 16px;
    }

    .volume-bars {
        height: 54px;
    }

    .metric-grid {
        gap: 10px;
        margin-bottom: 12px;
    }

    .metric-card {
        min-height: 132px;
        padding: 14px;
    }

    .metric-value {
        font-size: 22px;
        white-space: normal;
    }

    .lower-grid {
        gap: 12px;
    }

    .console-head {
        gap: 10px;
        padding: 14px;
    }

    .console-head h2 {
        font-size: 17px;
    }

    .feed-filters {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .feed-filters button {
        min-width: 0;
        padding: 8px;
    }

    .signal-card {
        gap: 12px;
        min-height: 0;
        padding: 14px;
    }

    .signal-badge-wrap {
        min-height: 72px;
    }

    .signal-copy > strong {
        font-size: 16px;
        overflow-wrap: anywhere;
    }

    .signal-meta {
        gap: 6px;
    }

    .signal-numbers {
        gap: 0;
    }

    .data-cell {
        padding: 9px 0;
    }

    .data-cell strong {
        font-size: 14px;
    }

    .side-widget {
        padding: 14px;
    }

    .heatmap-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: 76px;
    }

    .heat-cell strong {
        font-size: 18px;
    }

    .distribution-body {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }

    .donut {
        width: 84px;
        height: 84px;
    }

    .category-row {
        grid-template-columns: 1fr 52px;
        gap: 7px;
    }

    .category-row > div {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .category-row b {
        text-align: right;
    }
}

@media (max-width: 390px) {
    .hero-copy-block h1 {
        font-size: 28px;
    }

    .radar-map {
        min-height: 185px;
        --radar-size: 128px;
    }

    .feed-filters {
        grid-template-columns: 1fr;
    }

    .signal-numbers {
        grid-template-columns: 1fr;
    }

    .heatmap-grid {
        grid-template-columns: 1fr;
    }
}

.signal-detail-shell {
    min-height: 100vh;
}

.signal-detail-shell .intel-main {
    padding-bottom: 34px;
}

.signal-detail-shell .watch-button {
    text-decoration: none;
}

.signal-detail-shell .user-button {
    width: auto;
    padding: 0 13px;
    color: var(--accent-cyan);
    font-family: var(--font-data);
    font-size: 11px;
    text-decoration: none;
}

.detail-page-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 450px);
    gap: 20px;
    max-width: 1380px;
}

.detail-main-card,
.detail-side-card {
    border: 1px solid var(--border-soft);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .018)),
        rgba(13, 19, 36, .72);
    box-shadow: var(--panel-shadow);
    backdrop-filter: blur(18px);
}

.detail-main-card {
    position: relative;
    overflow: hidden;
    padding: 26px;
}

.detail-main-card::before {
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: var(--signal-warning);
    content: "";
}

.detail-main-card.tone-buy::before {
    background: var(--signal-buy);
    box-shadow: 0 0 22px var(--glow-buy);
}

.detail-main-card.tone-sell::before {
    background: var(--signal-sell);
    box-shadow: 0 0 22px var(--glow-sell);
}

.detail-kicker {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
}

.detail-kicker span {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 13px;
    border: 1px solid var(--border-soft);
    border-radius: 8px;
    background: rgba(0, 230, 168, .1);
    color: var(--signal-buy);
    font-weight: 900;
}

.tone-sell .detail-kicker span {
    background: rgba(255, 77, 109, .1);
    color: var(--signal-sell);
}

.tone-warning .detail-kicker span,
.tone-neutral .detail-kicker span {
    background: rgba(255, 176, 32, .1);
    color: var(--signal-warning);
}

.detail-kicker small {
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 800;
}

.detail-main-card h1 {
    max-width: 900px;
    margin-bottom: 14px;
    font-size: clamp(32px, 3vw, 50px);
    line-height: 1.06;
}

.detail-summary {
    max-width: 920px;
    margin: 22px 0;
    color: #d6def0;
    font-size: 17px;
    line-height: 1.65;
}

.detail-analysis-block {
    max-width: 900px;
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid var(--border-soft);
}

.detail-analysis-block h2 {
    margin-bottom: 9px;
    font-size: 20px;
}

.detail-analysis-block p {
    margin-bottom: 0;
    color: #c3cce1;
    font-size: 16px;
    line-height: 1.65;
}

.detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 26px;
}

.detail-side-card {
    align-self: start;
    padding: 22px;
}

.detail-metric-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.detail-metric-grid div,
.snapshot-panel p {
    min-width: 0;
    padding: 13px;
    border: 1px solid var(--border-soft);
    border-radius: 8px;
    background: rgba(17, 26, 46, .6);
}

.detail-metric-grid span,
.snapshot-panel span {
    display: block;
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
}

.detail-metric-grid strong,
.snapshot-panel strong {
    display: block;
    overflow-wrap: anywhere;
    margin-top: 6px;
    font-family: var(--font-data);
    font-size: 22px;
}

.detail-metric-grid small {
    color: var(--text-main);
}

.snapshot-panel {
    margin-top: 26px;
}

.snapshot-panel p {
    display: grid;
    gap: 4px;
    margin: 12px 0 0;
    color: var(--text-muted);
}

@media (max-width: 1280px) {
    .detail-page-grid {
        grid-template-columns: 1fr;
    }

    .detail-side-card {
        order: -1;
    }
}

@media (max-width: 640px) {
    .detail-main-card,
    .detail-side-card {
        padding: 16px;
    }

    .detail-main-card h1 {
        font-size: 28px;
    }

    .detail-summary,
    .detail-analysis-block p {
        font-size: 14px;
        line-height: 1.55;
    }

    .detail-metric-grid {
        grid-template-columns: 1fr;
    }

    .detail-actions a {
        width: 100%;
    }
}

/* Interaction polish: calibrated radar overlay, AJAX state and mobile navigation. */
.radar-map {
    --radar-x: 59.66%;
    --radar-y: 47.78%;
    --radar-size: 270px;
}

.sonar-sweep {
    opacity: .56;
    animation-duration: 5.6s;
}

.sonar-needle {
    height: 54%;
    animation-duration: 5.6s;
}

.mobile-menu-button,
.rail-close-button {
    display: none;
}

.mobile-menu-state {
    position: fixed;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.mobile-nav-backdrop {
    position: fixed;
    inset: 0;
    z-index: 49;
    display: none;
    border: 0;
    background: rgba(3, 6, 14, .64);
    backdrop-filter: blur(10px);
}

.sync-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 0 10px;
    border: 1px solid rgba(0, 212, 255, .16);
    border-radius: 999px;
    background: rgba(0, 212, 255, .06);
    color: var(--text-muted);
    font-family: var(--font-data);
    font-size: 11px;
    white-space: nowrap;
}

.sync-pill i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--signal-buy);
    box-shadow: 0 0 12px rgba(0, 230, 168, .6);
}

.sync-pill.is-syncing i {
    animation: sonarCorePulse 1.1s ease-in-out infinite;
}

.watch-button svg {
    width: 18px;
    height: 18px;
}

.public-footer {
    display: grid;
    grid-template-columns: minmax(230px, .8fr) minmax(320px, 1.3fr) minmax(230px, .7fr);
    gap: 18px;
    margin-top: 24px;
    padding: 20px;
    border: 1px solid var(--border-soft);
    border-radius: 8px;
    background:
        radial-gradient(circle at 18% 8%, rgba(0, 212, 255, .1), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, .038), rgba(255, 255, 255, .015)),
        rgba(13, 19, 36, .72);
    box-shadow: var(--panel-shadow);
    backdrop-filter: blur(18px);
}

.footer-brand,
.footer-panel {
    min-width: 0;
}

.footer-logo {
    display: inline-flex;
    width: 188px;
    max-width: 100%;
    margin-bottom: 14px;
}

.footer-logo img {
    display: block;
    width: 100%;
    height: auto;
}

.footer-brand p,
.footer-legal p {
    margin-bottom: 12px;
    color: #b9c3db;
    font-size: 13px;
    line-height: 1.55;
}

.footer-brand small {
    color: var(--text-muted);
    font-family: var(--font-data);
    font-size: 11px;
}

.footer-links,
.social-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.footer-links a,
.social-links a,
.social-links span,
.footer-contact {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 10px;
    border: 1px solid var(--border-soft);
    border-radius: 8px;
    background: rgba(17, 26, 46, .58);
    color: var(--text-main);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    transition: border-color .2s ease, background .2s ease, color .2s ease;
}

.footer-links a:hover,
.social-links a:hover,
.footer-contact:hover {
    border-color: rgba(124, 92, 255, .48);
    background: rgba(124, 92, 255, .14);
    color: #fff;
}

.social-links .is-muted,
.footer-contact.is-muted {
    color: var(--text-muted);
    cursor: default;
    opacity: .62;
}

.footer-contact {
    margin-top: 12px;
    color: var(--accent-cyan);
    font-family: var(--font-data);
    overflow-wrap: anywhere;
}

@media (max-width: 1360px) {
    .top-live small {
        display: none;
    }

    .hero-row,
    .lower-grid {
        grid-template-columns: 1fr;
    }

    .hero-command {
        grid-template-columns: minmax(320px, 392px) minmax(0, 1fr);
    }

    .radar-map {
        --radar-x: 59.66%;
    }

    .live-count-widget {
        min-height: 190px;
    }

    .priority-signal-widget {
        min-height: 0;
    }

    .priority-score-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .priority-score-grid .data-cell:last-child {
        grid-column: auto;
    }
}

@media (max-width: 1160px) {
    body:has(.mobile-nav-backdrop.is-open) {
        overflow: hidden;
    }

    .intelligence-shell {
        display: block;
    }

    .left-rail {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        z-index: 60;
        width: min(326px, 86vw);
        height: 100dvh;
        padding: 18px;
        overflow-y: auto;
        border-right: 1px solid rgba(124, 92, 255, .3);
        border-bottom: 0;
        box-shadow: 28px 0 80px rgba(0, 0, 0, .48);
        transform: translateX(-108%);
        transition: transform .28s ease, box-shadow .28s ease;
    }

    .mobile-menu-state:checked ~ .left-rail,
    .left-rail.is-open,
    html.mobile-menu-open .left-rail {
        transform: translateX(0);
    }

    .mobile-menu-state:checked ~ .mobile-nav-backdrop,
    .mobile-nav-backdrop.is-open,
    html.mobile-menu-open .mobile-nav-backdrop {
        display: block;
    }

    .rail-close-button,
    .mobile-menu-button {
        display: inline-grid;
        place-items: center;
        width: 42px;
        height: 42px;
        border: 1px solid var(--border-soft);
        border-radius: 8px;
        background: rgba(17, 26, 46, .7);
        color: var(--text-main);
        cursor: pointer;
    }

    .rail-close-button {
        position: absolute;
        top: 16px;
        right: 14px;
    }

    .mobile-menu-button {
        flex: 0 0 42px;
    }

    .mobile-menu-button span,
    .rail-close-button span {
        display: block;
        width: 18px;
        height: 2px;
        border-radius: 999px;
        background: currentColor;
    }

    .mobile-menu-button span + span {
        margin-top: 5px;
    }

    .rail-close-button span {
        grid-area: 1 / 1;
    }

    .rail-close-button span:first-child {
        transform: rotate(45deg);
    }

    .rail-close-button span:last-child {
        transform: rotate(-45deg);
    }

    .brand-lockup {
        justify-content: flex-start;
        padding-right: 48px;
    }

    .rail-nav {
        display: grid;
        grid-template-columns: 1fr;
        gap: 9px;
        margin-top: 20px;
    }

    .rail-link {
        min-height: 50px;
        font-size: 15px;
    }

    .intel-main {
        padding: 0 14px 24px;
    }

    .intel-topbar {
        position: sticky;
        top: 0;
        z-index: 40;
        display: grid;
        grid-template-columns: 42px minmax(0, 1fr) auto;
        align-items: center;
        gap: 10px;
        min-height: 64px;
        margin: 0 -14px 16px;
        padding: 10px 14px;
    }

    .mobile-menu-button {
        grid-column: 1;
        grid-row: 1;
    }

    .top-live {
        display: none;
    }

    .top-actions {
        display: contents;
    }

    .search-box {
        grid-column: 2;
        grid-row: 1;
        width: 100%;
        min-width: 0;
    }

    .watch-button,
    .user-button,
    .clock-readout {
        display: none;
    }

    .sync-pill {
        grid-column: 3;
        grid-row: 1;
        justify-self: end;
        min-height: 30px;
    }

    .signal-detail-shell .top-actions {
        display: flex;
        grid-column: 2 / -1;
        grid-row: 1;
        justify-content: flex-end;
        min-width: 0;
    }

    .signal-detail-shell .watch-button {
        display: inline-flex;
        min-width: 0;
        min-height: 42px;
        padding: 0 12px;
        font-size: 12px;
    }

    .hero-row,
    .lower-grid {
        grid-template-columns: 1fr;
    }

    .hero-command {
        grid-template-columns: 1fr;
    }

    .radar-map {
        --radar-x: 59.66%;
        --radar-y: 47.78%;
        --radar-size: 184px;
    }

    .signal-card {
        grid-template-columns: 1fr;
    }

    .public-footer {
        grid-template-columns: 1fr 1fr;
    }

    .footer-brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    .brand-lockup {
        min-height: 58px;
    }

    .brand-lockup img {
        width: min(198px, 68vw);
    }

    .hero-copy-block h1 {
        font-size: 30px;
    }

    .radar-map {
        min-height: 220px;
        --radar-x: 59.66%;
        --radar-y: 47.78%;
        --radar-size: 188px;
    }

    .live-count-widget {
        min-height: 178px;
    }

    .priority-signal-widget {
        gap: 12px;
        padding: 15px;
    }

    .priority-head,
    .priority-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .priority-body h2 {
        font-size: 19px;
    }

    .priority-score-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .priority-score-grid .data-cell:last-child {
        grid-column: 1 / -1;
    }

    .metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .metric-card {
        min-height: 120px;
    }

    .metric-card:first-child,
    .metric-card:last-child {
        grid-column: 1 / -1;
    }

    .sparkline {
        height: 32px;
    }

    .console-head {
        align-items: stretch;
    }

    .feed-filters {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .feed-filters button {
        min-height: 36px;
        padding: 7px 6px;
        font-size: 11px;
    }

    .signal-card {
        gap: 10px;
        padding: 13px;
    }

    .signal-badge-wrap {
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        min-height: 0;
        padding: 10px 12px;
    }

    .signal-badge-wrap small {
        justify-self: end;
    }

    .strength-bar {
        grid-column: 1 / -1;
    }

    .signal-meta em {
        padding: 3px 6px;
    }

    .signal-numbers {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .data-cell {
        padding: 9px 10px;
        border: 1px solid var(--border-soft);
        border-radius: 8px;
        background: rgba(17, 26, 46, .42);
    }

    .data-cell:first-child {
        border-left: 1px solid var(--border-soft);
    }

    .data-cell:last-child {
        grid-column: 1 / -1;
    }

    .heatmap-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: 72px;
    }

    .public-footer {
        grid-template-columns: 1fr;
        gap: 14px;
        margin-top: 16px;
        padding: 16px;
    }

    .footer-logo {
        width: 168px;
    }

    .footer-links,
    .social-links {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .footer-links a,
    .social-links a,
    .social-links span,
    .footer-contact {
        width: 100%;
    }
}

@media (max-width: 390px) {
    .metric-grid,
    .feed-filters,
    .signal-numbers,
    .priority-score-grid {
        grid-template-columns: 1fr;
    }

    .radar-map {
        min-height: 198px;
        --radar-size: 164px;
    }

    .priority-score-grid .data-cell:last-child {
        grid-column: auto;
    }
}

/* Decision-first refinement: compact the opening viewport and promote usable signals. */
.intelligence-shell {
    grid-template-columns: 252px minmax(0, 1fr);
}

.left-rail {
    gap: 14px;
    padding: 18px 14px;
}

.brand-lockup {
    min-height: 70px;
}

.brand-lockup img {
    width: 216px;
}

.rail-nav {
    gap: 8px;
    margin-top: 10px;
}

.rail-link {
    min-height: 46px;
    padding: 9px 12px;
    color: #d9e2f5;
}

.rail-spacer {
    min-height: 12px;
}

.rail-status {
    display: grid;
    gap: 7px;
    padding: 14px;
    border: 1px solid rgba(0, 212, 255, .14);
    border-radius: 8px;
    background:
        radial-gradient(circle at 18% 12%, rgba(0, 230, 168, .12), transparent 34%),
        rgba(17, 26, 46, .58);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05);
}

.rail-status span,
.rail-status small {
    color: var(--text-muted);
    font-size: 11px;
}

.rail-status strong {
    color: var(--text-main);
    font-size: 13px;
    line-height: 1.25;
}

.intel-main {
    padding: 0 22px 26px;
}

.intel-topbar {
    min-height: 58px;
    margin: 0 -22px 14px;
    padding: 0 22px;
}

.watch-button {
    text-decoration: none;
}

.hero-row {
    grid-template-columns: minmax(0, 1fr) minmax(420px, 452px);
    gap: 14px;
    margin-bottom: 14px;
}

.hero-command {
    grid-template-columns: minmax(260px, 330px) minmax(0, 1fr);
    min-height: 246px;
}

.hero-copy-block {
    justify-content: center;
    padding: 18px 10px 18px 16px;
}

.hero-copy-block h1 {
    max-width: 330px;
    margin-bottom: 12px;
    font-size: clamp(32px, 2.25vw, 40px);
    line-height: 1.02;
}

.hero-copy-block p {
    max-width: 330px;
    margin-bottom: 12px;
    color: #bac5dd;
    font-size: 14px;
}

.hero-decision-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 12px;
}

.hero-decision-chips span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 28px;
    padding: 5px 8px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 8px;
    background: rgba(17, 26, 46, .52);
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.hero-decision-chips b {
    color: var(--text-main);
    font-family: var(--font-data);
}

.hero-decision-chips .tone-buy b {
    color: var(--signal-buy);
}

.hero-decision-chips .tone-sell b {
    color: var(--signal-sell);
}

.hero-decision-chips .tone-warning b,
.hero-decision-chips .tone-neutral b {
    color: var(--signal-warning);
}

.ghost-action {
    min-height: 38px;
    padding: 8px 15px;
}

.radar-map {
    min-height: 246px;
    background:
        linear-gradient(90deg, rgba(7, 10, 18, .18), rgba(7, 10, 18, .02)),
        url("/assets/world-radar.svg") center / 100% 100% no-repeat;
    --radar-size: 218px;
}

.sonar-overlay::before {
    inset: -6px;
    opacity: .42;
}

.sonar-stable-rings {
    border-color: rgba(0, 212, 255, .5);
    background:
        radial-gradient(circle, transparent 0 31%, rgba(124, 92, 255, .38) 31.5% 32.1%, transparent 32.8%),
        radial-gradient(circle, transparent 0 57%, rgba(0, 212, 255, .22) 57.5% 58.1%, transparent 58.8%),
        radial-gradient(circle, rgba(124, 92, 255, .2), rgba(0, 212, 255, .06) 18%, transparent 55%);
    box-shadow:
        inset 0 0 20px rgba(0, 212, 255, .06),
        0 0 22px rgba(0, 212, 255, .1);
}

.sonar-axis {
    opacity: .46;
}

.sonar-ring {
    inset: 11%;
    opacity: .78;
}

.sonar-sweep {
    opacity: .4;
    mask-image: radial-gradient(circle, transparent 0 20%, #000 21% 53%, transparent 54%);
}

.sonar-needle {
    height: 52%;
    opacity: .86;
}

.sonar-core-dot {
    width: 28px;
    height: 28px;
}

.sonar-blip {
    width: 6px;
    height: 6px;
    opacity: .72;
}

.priority-signal-widget {
    min-height: 246px;
    gap: 9px;
    padding: 15px 16px;
}

.priority-ambient span {
    opacity: .24;
}

.priority-body {
    gap: 7px;
}

.priority-body h2 {
    display: -webkit-box;
    overflow: hidden;
    font-size: 21px;
    line-height: 1.08;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.priority-body p {
    font-size: 12.5px;
    line-height: 1.42;
    -webkit-line-clamp: 2;
}

.priority-meta span,
.priority-meta em {
    font-size: 11px;
}

.priority-score-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 6px;
}

.priority-score-grid .data-cell,
.priority-score-grid .data-cell:last-child {
    grid-column: auto;
    min-width: 0;
    padding: 8px 7px;
}

.priority-score-grid .data-cell span {
    overflow: hidden;
    font-size: 9.5px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.priority-score-grid .data-cell strong {
    font-size: 13px;
}

.priority-footer {
    font-size: 11px;
}

.priority-footer strong {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 10px;
    border: 1px solid rgba(0, 212, 255, .25);
    border-radius: 8px;
    background: rgba(0, 212, 255, .08);
}

.metric-grid {
    gap: 12px;
    margin-bottom: 14px;
}

.metric-card {
    min-height: 118px;
    padding: 13px;
}

.metric-head {
    margin-bottom: 8px;
}

.metric-head span {
    font-size: 10px;
    line-height: 1.12;
}

.metric-icon {
    width: 34px;
    height: 34px;
}

.metric-icon svg {
    display: block;
    width: 23px;
    height: 23px;
}

.metric-icon.icon-bias {
    width: 42px;
    height: 42px;
    background: transparent;
    color: var(--signal-buy);
    filter: drop-shadow(0 0 12px rgba(0, 230, 168, .42));
}

.metric-icon.icon-bias svg {
    width: 34px;
    height: 34px;
}

.metric-icon.icon-btc {
    background: linear-gradient(135deg, #ff9f2f, #f26d16);
    color: #ff8f1f;
    box-shadow: 0 0 20px rgba(255, 143, 31, .26);
}

.metric-icon.icon-eth {
    background: radial-gradient(circle at 35% 22%, rgba(234, 240, 255, .26), rgba(124, 92, 255, .18));
    color: #b9b7ff;
    box-shadow: 0 0 20px rgba(124, 92, 255, .22);
}

.metric-icon.icon-buy {
    box-shadow: 0 0 20px rgba(0, 230, 168, .2);
}

.metric-icon.icon-sell {
    box-shadow: 0 0 20px rgba(255, 77, 109, .2);
}

.metric-icon.icon-risk {
    background: rgba(255, 176, 32, .13);
    color: var(--signal-warning);
    box-shadow: 0 0 20px rgba(255, 176, 32, .2);
}

.metric-value {
    font-size: clamp(18px, 1.08vw, 22px);
}

.sparkline {
    height: 30px;
    margin-top: 7px;
}

.lower-grid {
    grid-template-columns: minmax(0, 1fr) 400px;
    gap: 16px;
}

.console-head {
    min-height: 52px;
    padding: 10px 14px;
}

.console-head h2 {
    font-size: 16px;
}

.signal-card {
    grid-template-columns: 132px minmax(230px, 1fr) minmax(390px, 460px);
    min-height: 88px;
    padding: 10px 12px;
}

.signal-badge-wrap {
    min-height: 68px;
    padding: 10px;
}

.signal-copy > strong {
    font-size: 16px;
}

.signal-numbers {
    grid-template-columns: 72px minmax(170px, 1fr) 98px 72px;
}

.signal-numbers .data-cell strong {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
    font-size: 13px;
    line-height: 1.25;
}

.signal-numbers .data-cell:not(:nth-child(2)) strong {
    white-space: nowrap;
}

.side-widget {
    padding: 15px;
}

.heatmap-grid {
    grid-auto-rows: 72px;
}

@media (max-width: 1620px) {
    .hero-row {
        grid-template-columns: minmax(0, 1fr) minmax(400px, 430px);
    }

    .hero-command {
        grid-template-columns: minmax(240px, 300px) minmax(0, 1fr);
    }

    .lower-grid {
        grid-template-columns: minmax(0, 1fr) 380px;
    }

    .signal-card {
        grid-template-columns: 124px minmax(220px, 1fr);
    }

    .signal-numbers {
        grid-column: 1 / -1;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 1360px) {
    .hero-row,
    .lower-grid {
        grid-template-columns: 1fr;
    }

    .priority-score-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

@media (max-width: 1160px) {
    .intelligence-shell {
        grid-template-columns: 1fr;
    }

    .brand-lockup img {
        width: min(216px, 70vw);
    }

    .rail-status {
        display: none;
    }
}

@media (max-width: 760px) {
    .hero-row {
        display: flex;
        flex-direction: column;
    }

    .priority-signal-widget {
        order: -1;
    }

    .hero-command {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .hero-copy-block {
        padding: 8px 0 10px;
    }

    .hero-copy-block h1 {
        font-size: 29px;
    }

    .hero-copy-block p {
        font-size: 13.5px;
    }

    .radar-map {
        min-height: 188px;
        --radar-x: 60%;
        --radar-size: 150px;
    }

    .priority-score-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .priority-score-grid .data-cell:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    .intel-main {
        padding: 0 12px 22px;
    }

    .intel-topbar {
        margin: 0 -12px 12px;
        padding: 10px 12px;
    }

    .search-box kbd,
    .sync-pill b {
        display: none;
    }

    .priority-signal-widget {
        min-height: 0;
    }

    .metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .metric-card {
        min-height: 110px;
    }

    .signal-card {
        grid-template-columns: 1fr;
    }

    .signal-numbers {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1360px) and (min-width: 981px) {
    .hero-row {
        grid-template-columns: minmax(0, 1fr) minmax(360px, 400px);
    }

    .hero-command {
        grid-template-columns: minmax(230px, 292px) minmax(0, 1fr);
    }

    .radar-map {
        --radar-size: 198px;
    }

    .priority-body h2 {
        font-size: 18px;
    }

    .priority-body p {
        -webkit-line-clamp: 1;
    }

    .priority-score-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .priority-score-grid .data-cell:last-child {
        grid-column: auto;
    }

    .priority-score-grid .data-cell {
        padding: 7px 6px;
    }

    .priority-score-grid .data-cell strong {
        font-size: 12px;
    }
}

@media (max-width: 980px) {
    .hero-row,
    .lower-grid {
        grid-template-columns: 1fr;
    }
}

/* Market pulse radar: useful news-to-impact visualization. */
.hero-row {
    grid-template-columns: minmax(0, 1fr) minmax(470px, 520px);
    gap: 16px;
}

.hero-command {
    grid-template-columns: minmax(330px, 410px) minmax(430px, .86fr);
    gap: 12px;
}

.hero-copy-block {
    padding-right: 18px;
}

.hero-copy-block h1 {
    max-width: 410px;
}

.hero-copy-block p {
    max-width: 390px;
}

.priority-signal-widget {
    min-width: 0;
}

.radar-map {
    position: relative;
    display: grid;
    align-content: stretch;
    min-width: 0;
    min-height: 246px;
    padding: 13px 14px 12px;
    overflow: hidden;
    border: 1px solid rgba(0, 212, 255, .12);
    border-radius: 8px;
    background:
        radial-gradient(circle at 48% 48%, rgba(0, 212, 255, .12), transparent 30%),
        radial-gradient(circle at 76% 36%, rgba(124, 92, 255, .12), transparent 30%),
        linear-gradient(180deg, rgba(13, 19, 36, .55), rgba(7, 10, 18, .2)),
        url("/assets/world-radar.svg") center / 112% 112% no-repeat;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04), 0 24px 80px rgba(0, 0, 0, .28);
}

.radar-map::before {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(rgba(0, 212, 255, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 212, 255, .03) 1px, transparent 1px);
    background-size: 18px 18px;
    content: "";
    opacity: .65;
    pointer-events: none;
}

.radar-map::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, rgba(0, 212, 255, .09), transparent);
    content: "";
    opacity: .55;
    transform: translateX(-120%);
    animation: radarPanelScan 6.5s ease-in-out infinite;
    pointer-events: none;
}

.radar-head,
.radar-dashboard,
.radar-bias-pill {
    position: relative;
    z-index: 1;
}

.radar-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 7px;
}

.radar-head strong,
.radar-panel-label {
    color: var(--text-main);
    font-size: 11px;
    font-weight: 950;
    line-height: 1.1;
    text-transform: uppercase;
}

.radar-head span {
    color: var(--accent-cyan);
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

.radar-dashboard {
    display: grid;
    grid-template-columns: minmax(112px, .7fr) minmax(210px, 1fr) minmax(106px, .68fr);
    align-items: center;
    gap: 10px;
    min-height: 204px;
}

.radar-news-flow,
.radar-impact-stack {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.radar-news-list {
    display: grid;
    gap: 7px;
}

.radar-news-item {
    position: relative;
    display: grid;
    grid-template-columns: 8px minmax(0, 1fr);
    align-items: center;
    gap: 7px;
    min-width: 0;
}

.radar-news-item::after {
    position: absolute;
    top: 50%;
    left: 7px;
    width: calc(100% + 42px);
    height: 1px;
    background: linear-gradient(90deg, currentColor, rgba(0, 212, 255, .18), transparent);
    content: "";
    opacity: .42;
    transform: translateY(-50%);
    animation: radarFlowLine 2.7s ease-in-out infinite;
    animation-delay: calc(var(--row) * .3s);
}

.radar-news-item i {
    position: relative;
    z-index: 1;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 12px currentColor;
    animation: radarNodePulse 2s ease-in-out infinite;
    animation-delay: calc(var(--row) * .24s);
}

.radar-news-item span {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 1px;
    min-width: 0;
}

.radar-news-item b {
    overflow: hidden;
    color: #dce7ff;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.16;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.radar-news-item small {
    color: var(--text-muted);
    font-family: var(--font-data);
    font-size: 9px;
}

.radar-news-item.tone-buy,
.radar-impact-card.tone-buy {
    color: var(--signal-buy);
}

.radar-news-item.tone-sell,
.radar-impact-card.tone-sell {
    color: var(--signal-sell);
}

.radar-news-item.tone-warning,
.radar-news-item.tone-neutral {
    color: var(--signal-warning);
}

.radar-scope-wrap {
    display: grid;
    justify-items: center;
    gap: 8px;
    min-width: 0;
}

.radar-scope {
    position: relative;
    width: min(218px, 100%);
    aspect-ratio: 1 / 1;
    border: 1px solid rgba(0, 212, 255, .5);
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(124, 92, 255, .22) 0 9%, transparent 10%),
        radial-gradient(circle, transparent 0 22%, rgba(0, 212, 255, .4) 22.4% 23%, transparent 23.6%),
        radial-gradient(circle, transparent 0 40%, rgba(124, 92, 255, .42) 40.4% 41%, transparent 41.6%),
        radial-gradient(circle, transparent 0 59%, rgba(0, 212, 255, .32) 59.4% 60%, transparent 60.8%),
        radial-gradient(circle, rgba(0, 212, 255, .12), transparent 64%);
    box-shadow: inset 0 0 38px rgba(0, 212, 255, .1), 0 0 34px rgba(0, 212, 255, .14);
}

.radar-ring,
.radar-cross,
.radar-sweep-beam,
.radar-needle-line,
.radar-core-pulse,
.radar-market-blip,
.radar-links {
    position: absolute;
    display: block;
}

.radar-ring {
    inset: 10%;
    border: 1px solid rgba(0, 212, 255, .18);
    border-radius: 50%;
    animation: radarUsefulPulse 4.4s ease-out infinite;
}

.radar-ring.ring-b {
    inset: 28%;
    border-color: rgba(124, 92, 255, .22);
    animation-delay: .7s;
}

.radar-ring.ring-c {
    inset: 46%;
    border-color: rgba(0, 230, 168, .22);
    animation-delay: 1.4s;
}

.radar-cross {
    opacity: .45;
    background: linear-gradient(90deg, transparent, rgba(0, 212, 255, .34), transparent);
}

.radar-cross.cross-x {
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
}

.radar-cross.cross-y {
    top: 0;
    left: 50%;
    width: 1px;
    height: 100%;
    background: linear-gradient(180deg, transparent, rgba(0, 212, 255, .34), transparent);
}

.radar-sweep-beam {
    inset: -1px;
    border-radius: 50%;
    background: conic-gradient(from 290deg, rgba(0, 212, 255, .78), rgba(0, 212, 255, .16) 18deg, transparent 44deg, transparent 360deg);
    mix-blend-mode: screen;
    opacity: .52;
    animation: radarSweepSpin 4.2s linear infinite;
    mask-image: radial-gradient(circle, transparent 0 12%, #000 13% 63%, transparent 64%);
}

.radar-needle-line {
    top: 50%;
    left: 50%;
    width: 2px;
    height: 52%;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--accent-cyan), rgba(0, 212, 255, .18), transparent);
    box-shadow: 0 0 16px rgba(0, 212, 255, .62);
    transform-origin: 50% 0;
    animation: sonarNeedleSpin 4.2s linear infinite;
}

.radar-core-pulse {
    top: 50%;
    left: 50%;
    z-index: 3;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border: 1px solid rgba(124, 92, 255, .86);
    border-radius: 50%;
    background: radial-gradient(circle at 50% 42%, rgba(234, 240, 255, .96), rgba(124, 92, 255, .6) 42%, rgba(0, 212, 255, .14) 72%);
    color: #fff;
    font-family: var(--font-data);
    font-size: 12px;
    font-weight: 950;
    box-shadow: 0 0 22px rgba(124, 92, 255, .7), 0 0 38px rgba(0, 212, 255, .22);
    transform: translate(-50%, -50%);
    animation: sonarCorePulse 2s ease-in-out infinite;
}

.radar-market-blip {
    z-index: 4;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 14px currentColor;
    animation: radarNodePulse 2.1s ease-in-out infinite;
    animation-delay: var(--delay);
}

.radar-market-blip.blip-1 {
    top: 20%;
    left: 62%;
}

.radar-market-blip.blip-2 {
    top: 46%;
    left: 80%;
}

.radar-market-blip.blip-3 {
    top: 67%;
    left: 34%;
}

.radar-market-blip.tone-buy {
    color: var(--signal-buy);
}

.radar-market-blip.tone-sell {
    color: var(--signal-sell);
}

.radar-market-blip.tone-warning,
.radar-market-blip.tone-neutral {
    color: var(--signal-warning);
}

.radar-links {
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
    pointer-events: none;
}

.radar-links path {
    fill: none;
    stroke-width: 1.2;
    stroke-dasharray: 4 8;
    stroke-linecap: round;
    opacity: .68;
    animation: radarDash 2.8s linear infinite;
}

.radar-links .tone-buy {
    stroke: var(--signal-buy);
}

.radar-links .tone-purple {
    stroke: var(--accent-purple);
}

.radar-links .tone-sell {
    stroke: var(--signal-sell);
}

.radar-bias-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 28px;
    padding: 5px 12px;
    border: 1px solid rgba(0, 230, 168, .28);
    border-radius: 999px;
    background: rgba(0, 230, 168, .06);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.radar-bias-pill span {
    color: var(--text-muted);
}

.radar-bias-pill em {
    color: var(--accent-cyan);
    font-family: var(--font-data);
    font-style: normal;
}

.radar-impact-card {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) auto;
    align-items: center;
    gap: 7px;
    min-width: 0;
    padding: 7px;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 8px;
    background: rgba(17, 26, 46, .5);
}

.radar-impact-card i {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
    color: currentColor;
    font-family: var(--font-data);
    font-size: 11px;
    font-style: normal;
    font-weight: 950;
}

.radar-impact-card span {
    display: grid;
    min-width: 0;
}

.radar-impact-card b {
    color: var(--text-main);
    font-size: 10px;
}

.radar-impact-card small {
    color: var(--text-muted);
    font-size: 9px;
    text-transform: uppercase;
}

.radar-impact-card strong {
    color: currentColor;
    font-family: var(--font-data);
    font-size: 12px;
}

@keyframes radarPanelScan {
    0%, 32% {
        transform: translateX(-120%);
    }

    72%, 100% {
        transform: translateX(120%);
    }
}

@keyframes radarFlowLine {
    0%, 100% {
        opacity: .25;
        transform: translateY(-50%) scaleX(.66);
        transform-origin: left;
    }

    50% {
        opacity: .75;
        transform: translateY(-50%) scaleX(1);
        transform-origin: left;
    }
}

@keyframes radarNodePulse {
    0%, 100% {
        opacity: .48;
        transform: scale(.86);
    }

    50% {
        opacity: 1;
        transform: scale(1.25);
    }
}

@keyframes radarUsefulPulse {
    0% {
        opacity: .16;
        transform: scale(.8);
    }

    55% {
        opacity: .55;
    }

    100% {
        opacity: 0;
        transform: scale(1.12);
    }
}

@keyframes radarDash {
    to {
        stroke-dashoffset: -24;
    }
}

@media (max-width: 1620px) {
    .hero-row {
        grid-template-columns: minmax(0, 1fr) minmax(420px, 470px);
    }

    .hero-command {
        grid-template-columns: minmax(300px, 370px) minmax(400px, .82fr);
    }

    .radar-dashboard {
        grid-template-columns: minmax(94px, .62fr) minmax(190px, 1fr) minmax(94px, .6fr);
        gap: 8px;
    }

    .radar-scope {
        width: min(198px, 100%);
    }

    .radar-news-item b {
        font-size: 9px;
    }
}

@media (max-width: 1360px) and (min-width: 981px) {
    .hero-row {
        grid-template-columns: minmax(0, 1fr) minmax(390px, 430px);
    }

    .hero-command {
        grid-template-columns: minmax(300px, 340px) minmax(300px, .68fr);
    }

    .radar-dashboard {
        grid-template-columns: 1fr;
        justify-items: center;
    }

    .radar-news-flow {
        display: none;
    }

    .radar-impact-stack {
        display: none;
    }

    .radar-scope {
        width: min(186px, 100%);
    }

    .radar-head span {
        display: none;
    }

    .radar-bias-pill {
        gap: 6px;
        padding: 5px 10px;
        font-size: 9px;
    }
}

@media (max-width: 980px) {
    .hero-command {
        grid-template-columns: 1fr;
    }

    .radar-map {
        min-height: 278px;
    }
}

@media (max-width: 760px) {
    .radar-dashboard {
        grid-template-columns: 1fr;
        justify-items: stretch;
    }

    .radar-news-flow,
    .radar-impact-stack {
        display: none;
    }

    .radar-scope {
        width: min(210px, 78vw);
    }

    .radar-map {
        min-height: 252px;
    }
}

/* Final public dashboard polish: tighter proportions and a more readable market radar. */
@media (min-width: 981px) {
    .hero-row {
        grid-template-columns: minmax(0, 1fr) minmax(500px, 560px);
        gap: 18px;
    }

    .hero-command {
        grid-template-columns: minmax(370px, 460px) minmax(380px, 520px);
        justify-content: space-between;
        gap: 18px;
    }
}

.hero-copy-block {
    border-color: rgba(255, 255, 255, .045);
    background:
        linear-gradient(90deg, rgba(13, 19, 36, .42), rgba(13, 19, 36, .1)),
        rgba(7, 10, 18, .24);
    box-shadow: none;
}

.hero-copy-block h1 {
    max-width: 455px;
}

.hero-copy-block p {
    max-width: 420px;
}

.radar-map {
    min-height: 256px;
    padding: 15px 16px 13px;
    border-color: rgba(0, 212, 255, .18);
    background:
        radial-gradient(circle at 50% 51%, rgba(0, 212, 255, .13), transparent 25%),
        radial-gradient(circle at 72% 45%, rgba(124, 92, 255, .16), transparent 28%),
        linear-gradient(90deg, rgba(0, 212, 255, .045), rgba(124, 92, 255, .07)),
        url("/assets/world-radar.svg") center / 112% 112% no-repeat;
}

.radar-map::before {
    background-size: 20px 20px;
    opacity: .42;
}

.radar-map::after {
    opacity: .34;
}

.radar-head {
    margin-bottom: 3px;
}

.radar-head strong {
    letter-spacing: .01em;
}

.radar-dashboard {
    position: relative;
    grid-template-columns: minmax(136px, .74fr) minmax(198px, .92fr) minmax(136px, .74fr);
    gap: 12px;
    min-height: 214px;
}

.radar-flow-canvas {
    position: absolute;
    inset: 35px 10px 34px;
    z-index: 1;
    width: calc(100% - 20px);
    height: calc(100% - 69px);
    overflow: visible;
    mix-blend-mode: screen;
    pointer-events: none;
}

.radar-flow-canvas path {
    fill: none;
    stroke-width: 1.4;
    stroke-dasharray: 3 9;
    stroke-linecap: round;
    opacity: .62;
    filter: drop-shadow(0 0 8px currentColor);
    animation: radarDash 3.1s linear infinite;
}

.radar-flow-canvas .tone-buy {
    color: var(--signal-buy);
    stroke: currentColor;
}

.radar-flow-canvas .tone-purple {
    color: var(--accent-purple);
    stroke: currentColor;
}

.radar-flow-canvas .tone-sell {
    color: var(--signal-sell);
    stroke: currentColor;
}

.radar-flow-canvas .tone-warning {
    color: var(--signal-warning);
    stroke: currentColor;
}

.radar-news-flow,
.radar-impact-stack,
.radar-scope-wrap {
    position: relative;
    z-index: 2;
}

.radar-news-flow {
    align-self: center;
}

.radar-news-list {
    gap: 8px;
}

.radar-news-item {
    grid-template-columns: 9px minmax(0, 1fr);
    gap: 8px;
    padding: 5px 6px 5px 0;
    border-radius: 8px;
    background: linear-gradient(90deg, rgba(17, 26, 46, .46), rgba(17, 26, 46, .04));
}

.radar-news-item::after {
    display: none;
}

.radar-news-item i {
    width: 8px;
    height: 8px;
}

.radar-news-item b {
    display: -webkit-box;
    font-size: 9.5px;
    line-height: 1.16;
    text-overflow: clip;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.radar-news-item small {
    display: flex;
    gap: 4px;
    overflow: hidden;
    color: #8592ad;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.radar-news-item small em {
    flex: 0 0 auto;
    color: currentColor;
    font-style: normal;
    font-weight: 950;
}

.radar-scope {
    width: min(206px, 100%);
    border-color: rgba(0, 212, 255, .54);
    background:
        radial-gradient(circle, rgba(234, 240, 255, .18) 0 6%, rgba(124, 92, 255, .2) 7% 9%, transparent 10%),
        radial-gradient(circle, transparent 0 24%, rgba(0, 212, 255, .28) 24.4% 24.9%, transparent 25.5%),
        radial-gradient(circle, transparent 0 43%, rgba(124, 92, 255, .32) 43.4% 44%, transparent 44.6%),
        radial-gradient(circle, transparent 0 63%, rgba(0, 212, 255, .24) 63.4% 64%, transparent 64.8%),
        radial-gradient(circle, rgba(0, 212, 255, .1), rgba(0, 212, 255, .02) 42%, transparent 68%);
    box-shadow:
        inset 0 0 26px rgba(0, 212, 255, .1),
        0 0 28px rgba(0, 212, 255, .13);
}

.radar-ring {
    inset: 15%;
    opacity: .58;
    animation-duration: 5.4s;
}

.radar-ring.ring-b {
    inset: 34%;
}

.radar-ring.ring-c {
    display: none;
}

.radar-cross {
    opacity: .32;
}

.radar-sweep-beam {
    background: conic-gradient(from 292deg, rgba(0, 212, 255, .78), rgba(0, 212, 255, .18) 16deg, transparent 38deg, transparent 360deg);
    opacity: .48;
    mask-image: radial-gradient(circle, transparent 0 11%, #000 12% 62%, transparent 63%);
}

.radar-needle-line {
    height: 50%;
    opacity: .88;
}

.radar-core-pulse {
    width: 34px;
    height: 34px;
}

.radar-core-bolt {
    width: 17px;
    height: 17px;
    fill: #fff;
    filter: drop-shadow(0 0 7px rgba(255, 255, 255, .7));
}

.radar-market-blip {
    width: 6px;
    height: 6px;
}

.radar-market-blip.blip-1 {
    top: 22%;
    left: 64%;
}

.radar-market-blip.blip-2 {
    top: 51%;
    left: 81%;
}

.radar-market-blip.blip-3 {
    top: 67%;
    left: 34%;
}

.radar-bias-pill {
    min-height: 26px;
    padding: 4px 11px;
    background: rgba(0, 230, 168, .075);
}

.radar-impact-stack {
    align-self: center;
}

.radar-impact-card {
    grid-template-columns: 25px minmax(0, 1fr) auto;
    padding: 8px;
    border-color: rgba(255, 255, 255, .08);
    background:
        linear-gradient(90deg, rgba(17, 26, 46, .78), rgba(17, 26, 46, .38)),
        rgba(7, 10, 18, .24);
    box-shadow: inset 2px 0 0 rgba(0, 230, 168, .18);
}

.radar-impact-card.tone-sell {
    box-shadow: inset 2px 0 0 rgba(255, 77, 109, .22);
}

.radar-impact-card i {
    background: rgba(255, 255, 255, .07);
}

.priority-signal-widget {
    border-color: rgba(0, 212, 255, .14);
    background:
        radial-gradient(circle at 84% 24%, rgba(0, 230, 168, .13), transparent 28%),
        linear-gradient(145deg, rgba(17, 26, 46, .92), rgba(13, 19, 36, .74));
}

.priority-ambient span {
    opacity: .16;
}

.priority-ambient span:nth-child(1) {
    top: 22px;
    right: 18px;
    width: 58px;
    height: 58px;
}

.priority-ambient span:nth-child(2),
.priority-ambient span:nth-child(3) {
    opacity: .06;
}

.priority-body h2 {
    letter-spacing: 0;
}

.priority-score-grid .data-cell {
    background: rgba(17, 26, 46, .58);
}

.metric-card {
    min-height: 136px;
    padding: 15px 16px 13px;
    background:
        linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .028) 1px, transparent 1px),
        linear-gradient(180deg, rgba(17, 26, 46, .88), rgba(13, 19, 36, .76));
    background-size: 22px 22px, 22px 22px, auto;
}

.metric-card:hover {
    transform: translateY(-2px);
}

.metric-head {
    margin-bottom: 11px;
}

.metric-head span {
    color: #a8b4cf;
}

.metric-icon {
    width: 36px;
    height: 36px;
}

.metric-icon.icon-bias {
    width: 43px;
    height: 43px;
}

.metric-value {
    letter-spacing: .01em;
}

.sparkline {
    height: 32px;
    opacity: .95;
}

@media (max-width: 1620px) and (min-width: 1361px) {
    .hero-row {
        grid-template-columns: minmax(0, 1fr) minmax(420px, 470px);
    }

    .hero-command {
        grid-template-columns: minmax(340px, 400px) minmax(340px, 460px);
    }

    .radar-dashboard {
        grid-template-columns: minmax(116px, .65fr) minmax(180px, .9fr) minmax(116px, .65fr);
        gap: 9px;
    }

    .radar-scope {
        width: min(190px, 100%);
    }
}

@media (max-width: 1360px) and (min-width: 981px) {
    .hero-row {
        grid-template-columns: minmax(0, 1fr) minmax(390px, 430px);
    }

    .hero-command {
        grid-template-columns: minmax(306px, 350px) minmax(270px, 1fr);
        gap: 12px;
    }

    .radar-flow-canvas {
        display: none;
    }

    .radar-dashboard {
        grid-template-columns: 1fr;
        justify-items: center;
    }

    .radar-news-flow,
    .radar-impact-stack {
        display: none;
    }

    .radar-scope {
        width: min(182px, 100%);
    }
}

@media (max-width: 980px) {
    .hero-row {
        grid-template-columns: 1fr;
    }

    .hero-command {
        grid-template-columns: 1fr;
    }

    .radar-dashboard {
        grid-template-columns: 1fr;
        justify-items: center;
    }

    .radar-flow-canvas,
    .radar-news-flow,
    .radar-impact-stack {
        display: none;
    }

    .radar-map {
        min-height: 262px;
    }
}

@media (max-width: 760px) {
    body.public-intelligence-app {
        overflow-x: hidden;
    }

    .intel-main,
    .hero-row,
    .hero-command,
    .hero-row > *,
    .hero-command > *,
    .priority-signal-widget,
    .hero-copy-block,
    .radar-map {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .hero-copy-block {
        padding: 4px 0 8px;
    }

    .hero-copy-block h1,
    .priority-body h2,
    .priority-body p {
        max-width: calc(100vw - 56px);
        overflow-wrap: anywhere;
    }

    .hero-copy-block h1 {
        font-size: 28px;
        line-height: 1.04;
    }

    .hero-copy-block h1 span {
        display: inline;
    }

    .priority-signal-widget {
        overflow: hidden;
        padding: 16px;
    }

    .priority-meta,
    .priority-score-grid {
        max-width: calc(100vw - 56px);
    }

    .priority-body h2 {
        font-size: 20px;
        line-height: 1.12;
        -webkit-line-clamp: 3;
    }

    .priority-ambient span {
        opacity: .06;
    }

    .radar-map {
        min-height: 238px;
    }

    .radar-head span {
        display: none;
    }

    .radar-scope {
        width: min(196px, 74vw);
    }
}

/* Integrated ambient radar redesign: no module frame, no busy motion. */
.radar-map {
    position: relative;
    display: grid;
    place-items: center;
    --radar-cycle: 7.8s;
    min-height: 292px;
    padding: 0;
    overflow: visible;
    border: 0 !important;
    border-radius: 0;
    background:
        radial-gradient(circle at 50% 50%, rgba(0, 212, 255, .16), transparent 28%),
        radial-gradient(circle at 58% 48%, rgba(124, 92, 255, .18), transparent 30%),
        linear-gradient(90deg, rgba(0, 212, 255, .02), rgba(124, 92, 255, .04));
    box-shadow: none;
    isolation: isolate;
    -webkit-mask-image: radial-gradient(ellipse at center, #000 0 60%, rgba(0, 0, 0, .85) 72%, transparent 94%);
    mask-image: radial-gradient(ellipse at center, #000 0 60%, rgba(0, 0, 0, .85) 72%, transparent 94%);
}

.radar-map::before {
    position: absolute;
    inset: -26px -34px;
    z-index: -2;
    background:
        linear-gradient(rgba(0, 212, 255, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 212, 255, .03) 1px, transparent 1px);
    background-size: 22px 22px;
    content: "";
    opacity: .44;
    pointer-events: none;
}

.radar-map::after {
    position: absolute;
    inset: -34px -46px;
    z-index: -1;
    background:
        radial-gradient(circle at 50% 52%, rgba(0, 212, 255, .11), transparent 31%),
        radial-gradient(circle at 74% 42%, rgba(124, 92, 255, .15), transparent 36%);
    content: "";
    opacity: .95;
    pointer-events: none;
    transform: none;
    animation: none;
}

.radar-ambient-field,
.radar-scope-wrap {
    position: absolute;
    inset: 0;
}

.radar-ambient-field {
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
}

.ambient-dot {
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--accent-cyan);
    box-shadow: 0 0 18px rgba(0, 212, 255, .86);
    opacity: .35;
    animation: radarAmbientBlink 2.8s ease-in-out infinite;
}

.ambient-dot.dot-a {
    top: 23%;
    left: 15%;
}

.ambient-dot.dot-b {
    top: 63%;
    left: 20%;
    background: var(--signal-buy);
    box-shadow: 0 0 18px rgba(0, 230, 168, .72);
    animation-delay: .55s;
}

.ambient-dot.dot-c {
    top: 30%;
    right: 20%;
    background: var(--accent-purple);
    box-shadow: 0 0 18px rgba(124, 92, 255, .72);
    animation-delay: 1.1s;
}

.ambient-dot.dot-d {
    right: 17%;
    bottom: 24%;
    animation-delay: 1.6s;
}

.ambient-dot.dot-e {
    top: 49%;
    left: 31%;
    width: 4px;
    height: 4px;
    background: var(--signal-warning);
    box-shadow: 0 0 14px rgba(255, 176, 32, .74);
    animation-delay: 2.1s;
}

.ambient-dot.dot-f {
    right: 31%;
    bottom: 18%;
    width: 4px;
    height: 4px;
    background: var(--signal-sell);
    box-shadow: 0 0 14px rgba(255, 77, 109, .66);
    animation-delay: 2.55s;
}

.ambient-line {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(0, 212, 255, .2), rgba(124, 92, 255, .14), transparent);
    opacity: .44;
    transform-origin: center;
}

.ambient-line.line-a {
    top: 35%;
    left: 8%;
    width: 84%;
    transform: rotate(7deg);
}

.ambient-line.line-b {
    top: 58%;
    left: 11%;
    width: 78%;
    transform: rotate(-5deg);
}

.ambient-line.line-c {
    top: 73%;
    left: 21%;
    width: 58%;
    opacity: .28;
    transform: rotate(13deg);
}

.radar-map .radar-head,
.radar-map .radar-dashboard,
.radar-flow-canvas,
.radar-news-flow,
.radar-impact-stack {
    display: none !important;
}

.radar-map .radar-scope-wrap {
    z-index: 1;
    display: grid;
    place-items: center;
    gap: 10px;
    min-width: 0;
    pointer-events: none;
}

.radar-map .radar-scope {
    position: relative;
    width: min(294px, 88%);
    aspect-ratio: 1.16 / 1;
    border: 1px solid rgba(0, 212, 255, .5);
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(234, 240, 255, .22) 0 5%, rgba(124, 92, 255, .2) 6% 8%, transparent 9%),
        radial-gradient(circle, transparent 0 18%, rgba(0, 212, 255, .18) 18.4% 18.9%, transparent 19.4%),
        radial-gradient(circle, transparent 0 34%, rgba(124, 92, 255, .22) 34.4% 35%, transparent 35.6%),
        radial-gradient(circle, transparent 0 52%, rgba(0, 212, 255, .19) 52.4% 53%, transparent 53.8%),
        radial-gradient(circle, transparent 0 70%, rgba(0, 212, 255, .36) 70.4% 71%, transparent 71.8%),
        radial-gradient(circle, rgba(0, 212, 255, .1), transparent 68%);
    box-shadow:
        inset 0 0 24px rgba(0, 212, 255, .09),
        0 0 38px rgba(0, 212, 255, .13);
}

.radar-map .radar-ring {
    position: absolute;
    display: block;
    border: 1px solid rgba(0, 212, 255, .14);
    border-radius: 50%;
    animation: none;
}

.radar-map .radar-ring.ring-a {
    inset: 10% 8%;
}

.radar-map .radar-ring.ring-b {
    inset: 27% 24%;
    border-color: rgba(124, 92, 255, .2);
}

.radar-map .radar-ring.ring-c {
    inset: 44% 40%;
    display: block;
    border-color: rgba(0, 230, 168, .16);
}

.radar-map .radar-ring.ring-d {
    inset: -8% -11%;
    border-color: rgba(0, 212, 255, .28);
}

.radar-map .radar-cross {
    position: absolute;
    display: block;
    opacity: .28;
    animation: none;
}

.radar-map .radar-cross.cross-x {
    top: 50%;
    left: 7%;
    width: 86%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(0, 212, 255, .36), transparent);
}

.radar-map .radar-cross.cross-y {
    top: 7%;
    left: 50%;
    width: 1px;
    height: 86%;
    background: linear-gradient(180deg, transparent, rgba(0, 212, 255, .36), transparent);
}

.radar-map .radar-sweep-beam,
.radar-map .radar-needle-line {
    display: none;
}

.radar-map .radar-sweep-line {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 3;
    display: block;
    width: 45.5%;
    height: 1px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(234, 240, 255, .92), rgba(0, 212, 255, .74) 38%, rgba(0, 212, 255, .04));
    box-shadow: 0 0 14px rgba(0, 212, 255, .52);
    transform: rotate(0deg);
    transform-origin: 0 50%;
    animation: radarNeedleSweep var(--radar-cycle) linear infinite;
    pointer-events: none;
}

.radar-map .radar-core-pulse {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 4;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(124, 92, 255, .78);
    border-radius: 50%;
    background: radial-gradient(circle at 50% 45%, rgba(234, 240, 255, .96), rgba(124, 92, 255, .58) 42%, rgba(0, 212, 255, .16) 72%);
    box-shadow: 0 0 24px rgba(124, 92, 255, .58), 0 0 38px rgba(0, 212, 255, .16);
    transform: translate(-50%, -50%);
    animation: none;
}

.radar-map .radar-core-bolt {
    width: 17px;
    height: 17px;
    fill: #fff;
    filter: drop-shadow(0 0 8px rgba(255, 255, 255, .72));
}

.radar-map .radar-detection {
    position: absolute;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    --label-x: -4px;
    --phase: 0s;
    color: var(--accent-cyan);
    transform: translate(-50%, -50%);
}

.radar-map .radar-market-blip {
    display: block;
    flex: 0 0 auto;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 16px currentColor;
    opacity: .34;
    animation: radarPointPing var(--radar-cycle) linear infinite;
    animation-delay: var(--phase);
    animation-fill-mode: none;
}

.radar-map .radar-detection b {
    display: block;
    padding: 2px 6px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 999px;
    background: rgba(7, 10, 18, .34);
    color: #bfcaff;
    font-family: var(--font-data);
    font-size: 8px;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: .08em;
    opacity: 0;
    text-shadow: 0 0 10px rgba(0, 212, 255, .42);
    transform: translateX(var(--label-x)) scale(.96);
    animation: radarLabelBlink var(--radar-cycle) linear infinite;
    animation-delay: var(--phase);
    animation-fill-mode: none;
}

.radar-map .radar-detection.tone-buy {
    color: var(--signal-buy);
}

.radar-map .radar-detection.tone-sell {
    color: var(--signal-sell);
}

.radar-map .radar-detection.tone-warning,
.radar-map .radar-detection.tone-neutral {
    color: var(--signal-warning);
}

.radar-map .radar-detection.tone-buy b {
    color: #b7ffe9;
}

.radar-map .radar-detection.tone-sell b {
    color: #ffc3ce;
}

.radar-map .radar-detection.tone-warning b,
.radar-map .radar-detection.tone-neutral b {
    color: #ffe0a0;
}

.radar-static-paths {
    position: absolute;
    inset: -9%;
    z-index: 2;
    display: block;
    width: 118%;
    height: 118%;
    overflow: visible;
    pointer-events: none;
}

.radar-static-paths path {
    fill: none;
    stroke: rgba(0, 212, 255, .38);
    stroke-width: 1.2;
    stroke-linecap: round;
    stroke-dasharray: 1 10;
    opacity: .58;
    animation: none;
}

.radar-map .radar-bias-pill {
    position: relative;
    z-index: 6;
    min-height: 24px;
    padding: 4px 11px;
    border-color: rgba(0, 230, 168, .18);
    background: rgba(7, 10, 18, .28);
    box-shadow: 0 0 24px rgba(0, 230, 168, .06);
    font-size: 9px;
    backdrop-filter: blur(8px);
}

@keyframes radarAmbientBlink {
    0%, 100% {
        opacity: .32;
        transform: scale(.88);
    }

    48% {
        opacity: 1;
        transform: scale(1.2);
    }
}

@keyframes radarNeedleSweep {
    to {
        transform: rotate(360deg);
    }
}

@keyframes radarPointPing {
    0%, 16% {
        opacity: 1;
        transform: scale(1.28);
    }

    27%, 100% {
        opacity: .34;
        transform: scale(.9);
    }
}

@keyframes radarLabelBlink {
    0%, 16% {
        opacity: .82;
        transform: translateX(0) scale(1);
    }

    27%, 100% {
        opacity: 0;
        transform: translateX(var(--label-x)) scale(.96);
    }
}

/* Unified hero scene: copy, radar and priority signal share one ambient field. */
.hero-row {
    gap: 0;
    overflow: hidden;
    border-radius: 10px;
    background:
        radial-gradient(circle at 45% 47%, rgba(0, 212, 255, .08), transparent 24%),
        radial-gradient(circle at 72% 28%, rgba(124, 92, 255, .14), transparent 30%),
        linear-gradient(90deg, rgba(7, 10, 18, .18), rgba(13, 19, 36, .18) 48%, rgba(7, 10, 18, .16));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
}

.hero-row::before {
    inset: 0;
    z-index: 0;
    border-radius: inherit;
    background:
        linear-gradient(rgba(0, 212, 255, .025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 212, 255, .022) 1px, transparent 1px),
        linear-gradient(90deg, rgba(7, 10, 18, .16), rgba(7, 10, 18, 0) 34%, rgba(13, 19, 36, .14) 68%, rgba(7, 10, 18, .08));
    background-size: 24px 24px, 24px 24px, 100% 100%;
    opacity: .86;
}

.hero-row::after {
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        radial-gradient(circle at 50% 52%, rgba(0, 212, 255, .11), transparent 28%),
        radial-gradient(circle at 86% 26%, rgba(0, 230, 168, .08), transparent 30%),
        radial-gradient(circle at 65% 42%, rgba(124, 92, 255, .12), transparent 36%);
    content: "";
    opacity: .88;
    pointer-events: none;
}

.hero-row > * {
    z-index: 1;
}

.hero-command {
    gap: 0;
    overflow: visible;
    background: transparent;
    box-shadow: none;
}

.hero-copy-block {
    background: transparent;
}

.radar-map {
    margin-right: -10px;
    background: transparent;
    box-shadow: none;
    -webkit-mask-image: none;
    mask-image: none;
}

.radar-map::before {
    inset: -22px -260px -22px -150px;
    background:
        linear-gradient(rgba(0, 212, 255, .028) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 212, 255, .024) 1px, transparent 1px);
    background-size: 22px 22px;
    opacity: .38;
}

.radar-map::after {
    inset: -62px -320px -62px -150px;
    background:
        radial-gradient(circle at 50% 50%, rgba(0, 212, 255, .12), transparent 30%),
        radial-gradient(circle at 70% 38%, rgba(124, 92, 255, .14), transparent 34%),
        linear-gradient(90deg, rgba(0, 212, 255, .015), rgba(124, 92, 255, .04), rgba(0, 230, 168, .018));
    opacity: .78;
}

.radar-ambient-field {
    overflow: visible;
}

.radar-map .radar-scope {
    width: min(286px, 86%);
    aspect-ratio: 1 / 1;
}

.radar-map .radar-ring.ring-a {
    inset: 10%;
}

.radar-map .radar-ring.ring-b {
    inset: 27%;
}

.radar-map .radar-ring.ring-c {
    inset: 44%;
}

.radar-map .radar-ring.ring-d {
    inset: -8%;
}

.radar-map .radar-sweep-line {
    width: 50%;
}

.priority-signal-widget {
    isolation: isolate;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}

.priority-signal-widget::before {
    inset: -46px -56px -46px -170px;
    background:
        radial-gradient(circle at 82% 18%, rgba(0, 230, 168, .18), transparent 34%),
        radial-gradient(circle at 72% 70%, rgba(0, 212, 255, .08), transparent 44%);
    opacity: .72;
}

.priority-signal-widget.tone-sell::before {
    background:
        radial-gradient(circle at 82% 18%, rgba(255, 77, 109, .18), transparent 34%),
        radial-gradient(circle at 72% 70%, rgba(0, 212, 255, .07), transparent 44%);
}

.priority-signal-widget.tone-warning::before,
.priority-signal-widget.tone-neutral::before {
    background:
        radial-gradient(circle at 82% 18%, rgba(255, 176, 32, .16), transparent 34%),
        radial-gradient(circle at 72% 70%, rgba(124, 92, 255, .08), transparent 44%);
}

.priority-signal-widget::after {
    opacity: .18;
}

.priority-signal-widget:hover {
    border-color: transparent;
    box-shadow: none;
}

@media (max-width: 980px) {
    .hero-row {
        gap: 10px;
        overflow: visible;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .hero-row::before,
    .hero-row::after {
        display: none;
    }

    .hero-command,
    .priority-signal-widget {
        overflow: hidden;
        border: 1px solid rgba(255, 255, 255, .06);
        border-radius: 10px;
        background:
            radial-gradient(circle at 62% 42%, rgba(0, 212, 255, .08), transparent 32%),
            radial-gradient(circle at 82% 28%, rgba(124, 92, 255, .11), transparent 34%),
            rgba(13, 19, 36, .28);
    }

    .radar-map {
        margin-right: 0;
    }

    .radar-map::before {
        inset: -18px;
    }

    .radar-map::after {
        inset: -34px;
    }

    .radar-map .radar-scope {
        width: min(220px, 72vw);
        aspect-ratio: 1 / 1;
    }
}

@media (max-width: 760px) {
    .radar-map .radar-scope {
        width: min(196px, 66vw);
    }
}

@media (min-width: 981px) {
    .hero-command {
        gap: 0;
    }

    .hero-command::before {
        background:
            radial-gradient(circle at 60% 48%, rgba(0, 212, 255, .11), transparent 31%),
            radial-gradient(circle at 82% 38%, rgba(124, 92, 255, .15), transparent 31%),
            linear-gradient(90deg, rgba(7, 10, 18, .02), rgba(13, 19, 36, .14), rgba(7, 10, 18, .02));
    }

    .radar-map {
        margin-left: -34px;
    }
}

@media (max-width: 1620px) and (min-width: 981px) {
    .radar-map {
        min-height: 272px;
    }

    .radar-map .radar-scope {
        width: min(238px, 82%);
    }
}

@media (max-width: 980px) {
    .radar-map {
        min-height: 254px;
    }

    .radar-map::before {
        inset: -18px;
    }

    .radar-map .radar-scope {
        width: min(222px, 72vw);
    }
}

@media (max-width: 760px) {
    .radar-map {
        min-height: 230px;
    }

    .radar-map .radar-scope {
        width: min(202px, 68vw);
    }
}

/* Decision-first refinement pass. */
.hero-row {
    position: relative;
    isolation: isolate;
}

.hero-row::before {
    position: absolute;
    inset: -8px -12px 6px;
    z-index: -1;
    border-radius: 10px;
    background:
        radial-gradient(circle at 44% 42%, rgba(0, 212, 255, .08), transparent 28%),
        radial-gradient(circle at 70% 34%, rgba(124, 92, 255, .1), transparent 34%),
        linear-gradient(90deg, rgba(7, 10, 18, .28), rgba(13, 19, 36, .16), rgba(7, 10, 18, .2));
    content: "";
    pointer-events: none;
}

.hero-row > * {
    position: relative;
    z-index: 1;
}

.hero-copy-block h1 {
    max-width: 430px;
    font-size: clamp(34px, 2.5vw, 44px);
}

.hero-copy-block p {
    max-width: 405px;
}

.priority-signal-widget {
    gap: 10px;
}

.priority-decision-strip {
    display: grid;
    grid-template-columns: 1fr .8fr .8fr minmax(0, 1.25fr) .75fr;
    gap: 7px;
}

.priority-decision-strip span {
    display: grid;
    min-width: 0;
    padding: 8px 9px;
    border: 1px solid rgba(255, 255, 255, .075);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, .015)),
        rgba(17, 26, 46, .42);
}

.priority-decision-strip b {
    overflow: hidden;
    color: var(--text-main);
    font-family: var(--font-data);
    font-size: 14px;
    line-height: 1.1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.priority-decision-strip small {
    margin-top: 4px;
    color: var(--text-muted);
    font-size: 9px;
    font-weight: 950;
    letter-spacing: .04em;
    line-height: 1;
    text-transform: uppercase;
}

.priority-decision-strip .is-action {
    border-color: rgba(0, 230, 168, .24);
    background: rgba(0, 230, 168, .08);
}

.priority-decision-strip .is-action.tone-sell {
    border-color: rgba(255, 77, 109, .24);
    background: rgba(255, 77, 109, .08);
}

.priority-decision-strip .is-action.tone-warning,
.priority-decision-strip .is-action.tone-neutral {
    border-color: rgba(255, 176, 32, .24);
    background: rgba(255, 176, 32, .08);
}

.priority-decision-strip .is-action b {
    color: var(--signal-buy);
}

.priority-decision-strip .is-action.tone-sell b {
    color: var(--signal-sell);
}

.priority-decision-strip .is-action.tone-warning b,
.priority-decision-strip .is-action.tone-neutral b {
    color: var(--signal-warning);
}

.priority-decision-strip .is-risk {
    background: rgba(0, 230, 168, .045);
}

.priority-decision-strip .is-assets {
    min-width: 0;
}

.priority-body h2 {
    font-size: clamp(20px, 1.25vw, 24px);
    line-height: 1.08;
}

.priority-score-grid {
    opacity: .78;
}

.metric-card {
    overflow: hidden;
}

.metric-card::after {
    position: absolute;
    right: 13px;
    bottom: 13px;
    width: 44px;
    height: 44px;
    border: 1px solid currentColor;
    border-radius: 50%;
    content: "";
    opacity: .08;
    pointer-events: none;
}

.metric-card.has-gauge::after {
    display: none;
}

.metric-gauge {
    position: absolute;
    right: 13px;
    bottom: 13px;
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background:
        conic-gradient(currentColor 0 var(--gauge-value), rgba(255, 255, 255, .08) var(--gauge-value) 100%);
    color: var(--signal-info);
    box-shadow: 0 0 22px rgba(77, 163, 255, .1);
}

.metric-gauge::before {
    position: absolute;
    inset: 6px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: inherit;
    background: rgba(13, 19, 36, .95);
    content: "";
}

.metric-gauge.tone-buy {
    color: var(--signal-buy);
    box-shadow: 0 0 24px rgba(0, 230, 168, .12);
}

.metric-gauge.tone-sell {
    color: var(--signal-sell);
    box-shadow: 0 0 24px rgba(255, 77, 109, .12);
}

.metric-gauge.tone-warning,
.metric-gauge.tone-neutral {
    color: var(--signal-warning);
    box-shadow: 0 0 24px rgba(255, 176, 32, .12);
}

.metric-gauge-center {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    color: var(--text-main);
    line-height: 1;
    text-align: center;
}

.metric-gauge-center strong {
    font-family: var(--font-data);
    font-size: 14px;
}

.metric-gauge-center small {
    margin-top: 3px;
    color: var(--text-muted);
    font-size: 7px;
    font-weight: 900;
    text-transform: uppercase;
}

.metric-card.is-bias .metric-gauge {
    top: 48px;
    right: 15px;
    bottom: auto;
    width: 74px;
    height: 74px;
}

.metric-card.is-bias .metric-gauge::before {
    inset: 7px;
}

.metric-card.is-bias .metric-gauge-center {
    color: inherit;
}

.metric-card.is-bias .metric-gauge-center svg {
    width: 40px;
    height: 40px;
    color: currentColor;
    filter: drop-shadow(0 0 12px currentColor);
}

.metric-card.has-gauge:not(.is-bias) .metric-value,
.metric-card.has-gauge:not(.is-bias) .metric-subline {
    max-width: calc(100% - 70px);
}

.metric-subline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 2px;
}

.metric-subline small {
    margin: 0;
}

.metric-subline em {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
    color: var(--text-muted);
    font-family: var(--font-data);
    font-size: 10px;
    font-style: normal;
    font-weight: 850;
    white-space: nowrap;
}

.metric-subline em i {
    width: 0;
    height: 0;
    border-right: 4px solid transparent;
    border-bottom: 6px solid currentColor;
    border-left: 4px solid transparent;
}

.metric-subline em.tone-sell i {
    border-top: 6px solid currentColor;
    border-bottom: 0;
}

.metric-subline em.direction-down i {
    border-top: 6px solid currentColor;
    border-bottom: 0;
}

.metric-subline em.tone-buy {
    color: var(--signal-buy);
}

.metric-subline em.tone-sell {
    color: var(--signal-sell);
}

.metric-subline em.tone-warning {
    color: var(--signal-warning);
}

.metric-subline em span {
    color: var(--text-muted);
    font-family: var(--font-ui);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.sparkline {
    height: 38px;
    margin-top: 10px;
    overflow: visible;
}

.sparkline-area {
    fill: currentColor;
    opacity: .08;
}

.sparkline polyline {
    filter: drop-shadow(0 0 7px currentColor);
}

.radar-map .radar-detection {
    gap: 7px;
}

.radar-map .radar-detection b {
    padding: 3px 7px;
    border-color: rgba(255, 255, 255, .12);
    background: rgba(7, 10, 18, .54);
    font-size: 8.5px;
    opacity: 0;
    backdrop-filter: blur(8px);
}

.radar-map .radar-market-blip,
.radar-map .radar-detection b {
    animation-duration: var(--radar-cycle);
}

.radar-map .radar-detection.marker-fed {
    top: 24%;
    left: 52%;
}

.radar-map .radar-detection.marker-musk {
    top: 34%;
    left: 68%;
}

.radar-map .radar-detection.marker-trump {
    top: 66%;
    left: 40%;
}

.radar-map .radar-detection.marker-etf {
    top: 35%;
    left: 34%;
}

.radar-map .radar-detection.marker-sec {
    top: 73%;
    left: 58%;
}

.radar-map .radar-detection.marker-nasdaq {
    top: 48%;
    left: 78%;
}

.radar-map .radar-detection.marker-exchange {
    top: 54%;
    left: 24%;
}

.radar-map .radar-detection.marker-musk,
.radar-map .radar-detection.marker-nasdaq {
    --label-x: 4px;
    flex-direction: row-reverse;
}

@media (max-width: 1620px) and (min-width: 981px) {
    .priority-decision-strip {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .priority-decision-strip span {
        padding: 7px 7px;
    }

    .priority-decision-strip b {
        font-size: 12px;
    }
}

@media (max-width: 980px) {
    .hero-row::before {
        inset: -6px 0 8px;
    }

    .priority-decision-strip {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .hero-command {
        order: 1;
    }

    .hero-copy-block {
        order: 1;
    }

    .radar-map {
        order: 2;
    }

    .priority-signal-widget {
        order: 2;
    }

    .priority-signal-widget .priority-head {
        order: 1;
    }

    .priority-signal-widget .priority-body {
        order: 2;
    }

    .priority-signal-widget .priority-decision-strip {
        order: 3;
    }

    .priority-signal-widget .priority-footer {
        order: 4;
    }

    .hero-copy-block h1 {
        font-size: 28px;
    }

    .priority-decision-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .priority-decision-strip .is-assets,
    .priority-decision-strip .is-risk {
        grid-column: 1 / -1;
    }

    .priority-decision-strip b {
        font-size: 13px;
    }

    .priority-score-grid {
        display: none;
    }

    .radar-map .radar-detection b {
        font-size: 7.5px;
    }

    .radar-map .radar-detection.marker-nasdaq,
    .radar-map .radar-detection.marker-exchange {
        display: none;
    }
}

@keyframes radarLabelBlink {
    0%, 16% {
        opacity: .82;
        transform: translateX(0) scale(1);
    }

    27%, 100% {
        opacity: 0;
        transform: translateX(var(--label-x)) scale(.96);
    }
}

/* Final scene lock: one continuous world-map layer across copy, radar and signal. */
@media (min-width: 981px) {
    .hero-row {
        position: relative;
        isolation: isolate;
        gap: 0;
        min-height: 306px;
        overflow: hidden;
        border: 0;
        border-radius: 10px;
        background: #070a12;
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, .025),
            inset 0 -1px 0 rgba(0, 212, 255, .04);
    }

    .hero-row::before {
        position: absolute;
        inset: 0;
        z-index: 0;
        display: block !important;
        border-radius: inherit;
        background:
            url("/assets/world-radar.svg") center center / 108% 114% no-repeat,
            radial-gradient(circle at 52% 48%, rgba(0, 212, 255, .12), transparent 28%),
            radial-gradient(circle at 74% 34%, rgba(124, 92, 255, .16), transparent 32%),
            linear-gradient(90deg, rgba(7, 10, 18, .26), rgba(7, 10, 18, .06) 34%, rgba(7, 10, 18, .03) 64%, rgba(7, 10, 18, .18)),
            #070a12;
        content: "";
        opacity: 1;
        pointer-events: none;
    }

    .hero-row::after {
        position: absolute;
        inset: 0;
        z-index: 0;
        display: block !important;
        border-radius: inherit;
        background:
            linear-gradient(90deg, rgba(7, 10, 18, .56) 0%, rgba(7, 10, 18, .28) 22%, rgba(7, 10, 18, .06) 44%, rgba(7, 10, 18, .1) 72%, rgba(7, 10, 18, .35) 100%),
            linear-gradient(180deg, rgba(7, 10, 18, .08), rgba(7, 10, 18, 0) 48%, rgba(7, 10, 18, .14));
        content: "";
        opacity: .92;
        pointer-events: none;
    }

    .hero-row > * {
        position: relative;
        z-index: 1;
    }

    .hero-command {
        gap: 0;
        overflow: visible;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .hero-command::before,
    .hero-copy-block,
    .radar-map,
    .priority-signal-widget {
        border: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
    }

    .hero-command::before {
        opacity: 0;
    }

    .hero-copy-block {
        padding: 28px 24px 28px 20px;
        text-shadow: 0 2px 18px rgba(0, 0, 0, .28);
    }

    .radar-map {
        margin: 0 -30px 0 -38px;
        overflow: visible;
        -webkit-mask-image: none;
        mask-image: none;
    }

    .radar-map::before {
        position: absolute;
        inset: -46px -260px -36px -190px;
        z-index: -1;
        display: block;
        background:
            radial-gradient(circle at 50% 52%, rgba(0, 212, 255, .1), transparent 29%),
            radial-gradient(circle at 64% 38%, rgba(124, 92, 255, .12), transparent 34%);
        content: "";
        opacity: .62;
        pointer-events: none;
    }

    .radar-map::after {
        position: absolute;
        inset: -20px -250px -12px -190px;
        z-index: -1;
        display: block;
        background:
            linear-gradient(rgba(0, 212, 255, .018) 1px, transparent 1px),
            linear-gradient(90deg, rgba(0, 212, 255, .016) 1px, transparent 1px);
        background-size: 24px 24px;
        content: "";
        opacity: .28;
        pointer-events: none;
    }

    .radar-map .radar-scope {
        width: min(292px, 87%);
        aspect-ratio: 1 / 1;
    }

    .priority-signal-widget {
        isolation: isolate;
        overflow: visible;
        border-radius: 0;
    }

    .priority-signal-widget::before {
        inset: -64px -70px -40px -210px;
        background:
            radial-gradient(circle at 82% 18%, rgba(0, 230, 168, .16), transparent 33%),
            radial-gradient(circle at 44% 50%, rgba(124, 92, 255, .08), transparent 43%),
            linear-gradient(90deg, rgba(7, 10, 18, 0), rgba(7, 10, 18, .2) 62%, rgba(0, 230, 168, .035));
        opacity: .78;
    }

    .priority-signal-widget::after {
        opacity: .12;
    }

    .priority-signal-widget:hover {
        border-color: transparent;
        box-shadow: none;
    }
}

@media (max-width: 980px) {
    .hero-command {
        background:
            linear-gradient(90deg, rgba(7, 10, 18, .82), rgba(7, 10, 18, .32) 58%, rgba(7, 10, 18, .66)),
            url("/assets/world-radar.svg") center top / auto 100% no-repeat,
            rgba(13, 19, 36, .32);
    }
}

@media (max-width: 760px) {
    html,
    body,
    .public-intelligence-app,
    .intelligence-shell,
    .intel-main,
    .hero-row,
    .hero-command,
    .priority-signal-widget {
        max-width: 100%;
        overflow-x: hidden;
    }

    .hero-row,
    .hero-command,
    .hero-copy-block,
    .radar-map,
    .priority-signal-widget {
        width: 100%;
        min-width: 0;
    }

    .hero-copy-block {
        padding: 8px 0 10px;
    }

    .hero-copy-block h1 {
        max-width: 288px;
        font-size: 28px;
        line-height: 1.06;
    }

    .hero-copy-block h1 span {
        display: inline;
    }

    .hero-copy-block p {
        max-width: 318px;
    }

    .priority-body h2,
    .priority-body p {
        overflow-wrap: break-word;
    }
}

@media (max-width: 390px) {
    .hero-copy-block h1 {
        max-width: 282px;
        font-size: 27px;
    }

    .hero-copy-block p {
        max-width: 300px;
    }
}

.hero-command,
.priority-signal-widget,
.metric-card,
.signal-console,
.signal-card,
.side-widget {
    opacity: 1 !important;
}

/* Markets platform */
.markets-platform-shell .left-rail {
    z-index: 18;
}

.markets-main {
    padding-bottom: 36px;
}

.markets-overview,
.market-detail-view {
    display: grid;
    gap: 16px;
}

.markets-hero,
.market-detail-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
    gap: 18px;
    align-items: stretch;
    min-height: 188px;
    padding: 24px;
    overflow: hidden;
    border: 1px solid var(--border-soft);
    border-radius: 8px;
    background:
        radial-gradient(circle at 78% 18%, rgba(0, 212, 255, .14), transparent 28%),
        radial-gradient(circle at 20% 88%, rgba(0, 230, 168, .1), transparent 34%),
        linear-gradient(135deg, rgba(17, 26, 46, .96), rgba(7, 10, 18, .92));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05);
}

.markets-hero::before,
.market-detail-hero::before {
    position: absolute;
    inset: 0;
    background: url("/assets/crypto-market-mesh.svg") right center / auto 112% no-repeat;
    content: "";
    opacity: .36;
    pointer-events: none;
}

.markets-hero > *,
.market-detail-hero > * {
    position: relative;
    z-index: 1;
}

.markets-hero-copy,
.market-detail-title {
    display: grid;
    align-content: center;
    gap: 10px;
    min-width: 0;
}

.markets-hero h1,
.market-detail-title h1 {
    max-width: 780px;
    color: var(--text-main);
    font-size: clamp(34px, 4vw, 62px);
    line-height: .95;
}

.market-detail-title h1 small {
    margin-left: 6px;
    color: var(--text-muted);
    font-size: .45em;
}

.markets-hero p,
.market-detail-title p {
    max-width: 660px;
    margin: 0;
    color: #b9c3db;
    font-size: 15px;
}

.markets-hero-status,
.market-detail-price {
    display: grid;
    align-content: center;
    justify-items: end;
    gap: 7px;
    min-width: 0;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 8px;
    background: rgba(7, 10, 18, .45);
}

.markets-hero-status span,
.market-detail-price small {
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.markets-hero-status strong,
.market-detail-price strong {
    font-family: var(--font-data);
    font-size: clamp(34px, 4vw, 58px);
    line-height: 1;
}

.market-detail-price span {
    font-family: var(--font-data);
    font-size: 18px;
    font-weight: 900;
}

.markets-stat-grid,
.market-pair-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.markets-stat-card,
.pair-stat-card,
.market-intelligence-card,
.market-leader-card,
.market-orderbook,
.market-chart-panel,
.markets-table-panel {
    border: 1px solid var(--border-soft);
    border-radius: 8px;
    background: rgba(17, 26, 46, .74);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05);
}

.markets-stat-card,
.pair-stat-card {
    position: relative;
    display: grid;
    align-content: start;
    gap: 8px;
    min-height: 128px;
    padding: 16px;
    overflow: hidden;
}

.markets-stat-card::before,
.pair-stat-card::before {
    position: absolute;
    inset: 0;
    border-top: 2px solid var(--signal-info);
    opacity: .75;
    content: "";
    pointer-events: none;
}

.markets-stat-card.tone-buy::before,
.pair-stat-card.tone-buy::before {
    border-color: var(--signal-buy);
}

.markets-stat-card.tone-sell::before,
.pair-stat-card.tone-sell::before {
    border-color: var(--signal-sell);
}

.markets-stat-card.tone-warning::before,
.pair-stat-card.tone-warning::before {
    border-color: var(--signal-warning);
}

.markets-stat-card > span,
.pair-stat-card > span {
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.markets-stat-card strong,
.pair-stat-card strong {
    color: var(--text-main);
    font-family: var(--font-data);
    font-size: clamp(22px, 2vw, 32px);
    line-height: 1.05;
}

.markets-stat-card small,
.pair-stat-card small {
    color: #9faccc;
    font-size: 12px;
}

.markets-stat-card > i {
    position: absolute;
    right: 15px;
    bottom: 15px;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(13, 19, 36, .96) 0 52%, transparent 53%),
        conic-gradient(var(--signal-buy) 0 var(--market-gauge), rgba(255, 77, 109, .58) var(--market-gauge) 100%);
    box-shadow: 0 0 22px rgba(0, 230, 168, .12);
}

.markets-workbench {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 16px;
    align-items: start;
}

.markets-table-panel {
    min-width: 0;
    overflow: hidden;
}

.markets-filter-bar {
    display: grid;
    gap: 12px;
    padding: 16px;
    border-bottom: 1px solid var(--border-soft);
}

.markets-chip-row,
.markets-sort-row,
.markets-sort-row > div {
    display: flex;
    align-items: center;
    gap: 8px;
}

.markets-chip-row {
    flex-wrap: wrap;
}

.markets-chip-row button,
.markets-sort-row button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid var(--border-soft);
    border-radius: 8px;
    background: rgba(13, 19, 36, .72);
    color: var(--text-muted);
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
}

.markets-chip-row button:hover,
.markets-chip-row button.is-active,
.markets-sort-row button:hover,
.markets-sort-row button.is-active {
    border-color: rgba(0, 212, 255, .45);
    background: rgba(0, 212, 255, .1);
    color: var(--text-main);
}

.markets-chip-row small {
    color: #7e8baa;
    font-family: var(--font-data);
}

.markets-sort-row {
    justify-content: space-between;
    gap: 12px;
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 800;
}

.market-table-wrap {
    display: grid;
    min-width: 0;
}

.market-table-row {
    display: grid;
    grid-template-columns: minmax(150px, 1.2fr) minmax(120px, .9fr) minmax(90px, .6fr) minmax(120px, .8fr) minmax(190px, 1.1fr) minmax(190px, 1.2fr);
    gap: 14px;
    align-items: center;
    min-width: 860px;
    padding: 13px 16px;
    border-bottom: 1px solid var(--border-soft);
    color: var(--text-main);
    text-decoration: none;
}

.market-table-row:not(.market-table-head) {
    transition: background .18s ease, box-shadow .18s ease, transform .18s ease;
}

.market-table-row:not(.market-table-head):hover {
    background: rgba(255, 255, 255, .03);
    box-shadow: inset 3px 0 0 var(--signal-info);
}

.market-table-row.tone-buy:hover {
    box-shadow: inset 3px 0 0 var(--signal-buy);
}

.market-table-row.tone-sell:hover {
    box-shadow: inset 3px 0 0 var(--signal-sell);
}

.market-table-head {
    position: sticky;
    top: 68px;
    z-index: 2;
    min-height: 42px;
    background: rgba(13, 19, 36, .96);
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.market-pair-cell {
    display: flex;
    align-items: baseline;
    gap: 4px;
    min-width: 0;
}

.market-pair-cell strong {
    font-family: var(--font-data);
    font-size: 17px;
}

.market-pair-cell small,
.market-muted-cell {
    color: var(--text-muted);
    font-size: 12px;
}

.market-price-cell,
.market-change-cell {
    font-family: var(--font-data);
    font-weight: 900;
}

.is-buy {
    color: var(--signal-buy);
}

.is-sell {
    color: var(--signal-sell);
}

.market-range-meter {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.market-range-meter i {
    position: relative;
    display: block;
    height: 5px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(255, 77, 109, .7), rgba(255, 176, 32, .62), rgba(0, 230, 168, .72));
}

.market-range-meter b {
    position: absolute;
    top: 50%;
    width: 10px;
    height: 10px;
    border: 2px solid var(--text-main);
    border-radius: 50%;
    background: var(--bg-panel);
    transform: translate(-50%, -50%);
}

.market-range-meter small {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    color: var(--text-muted);
    font-family: var(--font-data);
    font-size: 10px;
}

.market-range-meter small strong {
    color: var(--text-main);
}

.market-tags-cell {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.market-tags-cell em {
    padding: 4px 7px;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 7px;
    background: rgba(255, 255, 255, .04);
    color: #b9c3db;
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
}

.market-row-limit {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    color: var(--text-muted);
    font-size: 12px;
}

.market-load-more {
    min-height: 34px;
    padding: 0 13px;
    border: 1px solid rgba(124, 92, 255, .35);
    border-radius: 8px;
    background: rgba(124, 92, 255, .1);
    color: #d6ccff;
    cursor: pointer;
    font-size: 12px;
    font-weight: 900;
}

.market-load-more:hover {
    border-color: rgba(0, 230, 168, .42);
    background: rgba(0, 230, 168, .09);
    color: var(--text-main);
}

.markets-intel-column,
.market-depth-column {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.market-intelligence-card,
.market-leader-card,
.market-orderbook {
    padding: 16px;
}

.market-intelligence-card {
    display: grid;
    gap: 12px;
}

.market-intelligence-card > strong {
    color: var(--text-main);
    font-size: 20px;
    line-height: 1.1;
}

.market-intelligence-card p {
    margin: 0;
    color: #b9c3db;
    font-size: 13px;
}

.market-breadth-gauge {
    display: grid;
    place-items: center;
    width: 112px;
    height: 112px;
    margin: 4px auto;
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(13, 19, 36, 1) 0 50%, transparent 51%),
        conic-gradient(var(--signal-buy) 0 var(--market-breadth), var(--signal-sell) var(--market-breadth) 100%);
    box-shadow: 0 0 30px rgba(0, 230, 168, .12);
}

.market-breadth-gauge div {
    display: grid;
    place-items: center;
}

.market-breadth-gauge b {
    font-family: var(--font-data);
    font-size: 20px;
}

.market-breadth-gauge small {
    color: var(--text-muted);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.market-intelligence-card ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.market-intelligence-card li,
.market-leader-list a,
.spread-row,
.book-side div,
.market-chart-foot {
    display: flex;
    align-items: center;
}

.market-intelligence-card li {
    justify-content: space-between;
    gap: 10px;
    color: var(--text-muted);
    font-size: 13px;
}

.market-intelligence-card li b {
    color: var(--text-main);
    font-family: var(--font-data);
}

.market-leader-list {
    display: grid;
    gap: 6px;
    margin-top: 12px;
}

.market-leader-list a {
    display: grid;
    grid-template-columns: minmax(80px, 1fr) 76px 86px;
    gap: 10px;
    min-height: 46px;
    padding: 8px;
    border-radius: 8px;
    color: var(--text-main);
    text-decoration: none;
}

.market-leader-list a:hover {
    background: rgba(255, 255, 255, .04);
}

.market-leader-list span {
    min-width: 0;
}

.market-leader-list strong {
    display: block;
    font-family: var(--font-data);
    font-size: 13px;
}

.market-leader-list small,
.market-leader-list em {
    color: var(--text-muted);
    font-size: 11px;
    font-style: normal;
}

.market-leader-list b {
    font-family: var(--font-data);
    font-size: 12px;
}

.market-detail-hero.tone-buy {
    box-shadow: inset 3px 0 0 var(--signal-buy);
}

.market-detail-hero.tone-sell {
    box-shadow: inset 3px 0 0 var(--signal-sell);
}

.market-back-link {
    width: fit-content;
    padding: 7px 10px;
    border: 1px solid var(--border-soft);
    border-radius: 8px;
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
    text-transform: uppercase;
}

.market-back-link:hover {
    color: var(--text-main);
}

.market-detail-terminal {
    grid-template-columns: minmax(260px, 1fr) minmax(220px, .46fr) minmax(420px, .9fr);
    align-items: stretch;
    min-height: 0;
    padding: 16px;
}

.market-detail-nav,
.market-detail-tags,
.market-chart-title p {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.market-detail-nav {
    margin-bottom: 2px;
}

.market-update-pill,
.market-detail-tags span,
.chart-sync-state {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    padding: 0 9px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 8px;
    background: rgba(13, 19, 36, .74);
    color: #aeb9d4;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.chart-sync-state::before {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--signal-buy);
    box-shadow: 0 0 16px rgba(0, 230, 168, .5);
    content: "";
}

.market-update-pill {
    color: var(--text-muted);
    font-family: var(--font-data);
    text-transform: none;
}

.market-detail-tags span {
    min-height: 26px;
    color: #c5cde0;
    text-transform: none;
}

.market-detail-terminal .market-detail-title {
    align-content: center;
}

.market-detail-terminal .market-detail-title h1 {
    font-size: clamp(34px, 3.8vw, 56px);
}

.market-detail-terminal .market-detail-price {
    justify-items: start;
    padding: 16px;
}

.market-detail-terminal .market-detail-price strong {
    max-width: 100%;
    overflow-wrap: anywhere;
    font-size: clamp(28px, 3vw, 46px);
}

.market-detail-price em {
    color: var(--text-muted);
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
    text-transform: uppercase;
}

.market-detail-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    min-width: 0;
}

.market-detail-metric {
    position: relative;
    display: grid;
    align-content: center;
    gap: 5px;
    min-width: 0;
    min-height: 78px;
    padding: 12px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 8px;
    background: rgba(7, 10, 18, .36);
}

.market-detail-metric::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: var(--signal-info);
    content: "";
}

.market-detail-metric.tone-buy::before {
    background: var(--signal-buy);
}

.market-detail-metric.tone-sell::before {
    background: var(--signal-sell);
}

.market-detail-metric.tone-warning::before {
    background: var(--signal-warning);
}

.market-detail-metric span {
    color: var(--text-muted);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.market-detail-metric strong {
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--text-main);
    font-family: var(--font-data);
    font-size: clamp(15px, 1.5vw, 21px);
    line-height: 1.08;
}

.market-detail-metric small {
    min-width: 0;
    overflow-wrap: anywhere;
    color: #9faccc;
    font-size: 11px;
}

.market-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 360px);
    gap: 16px;
    align-items: start;
}

.market-chart-panel {
    position: relative;
    min-width: 0;
    overflow: hidden;
    padding: 0;
}

.market-chart-panel::before {
    position: absolute;
    right: -90px;
    bottom: 18px;
    width: min(620px, 68%);
    aspect-ratio: 820 / 460;
    background: url("/assets/crypto-chart-watermark.svg") center / contain no-repeat;
    content: "";
    opacity: .14;
    pointer-events: none;
}

.market-chart-panel > * {
    position: relative;
    z-index: 1;
}

.market-chart-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 0;
    padding: 16px;
    border-bottom: 1px solid var(--border-soft);
}

.market-chart-head h2 {
    margin-top: 4px;
    color: var(--text-main);
    font-size: 22px;
}

.market-chart-title {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.market-chart-title p {
    margin: 0;
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.chart-sync-state {
    min-height: 24px;
    padding-inline: 8px;
}

.chart-sync-state.is-syncing::before {
    background: var(--signal-warning);
    box-shadow: 0 0 16px rgba(255, 176, 32, .5);
}

.market-chart-actions {
    display: grid;
    justify-items: end;
    gap: 8px;
}

.interval-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.interval-tabs button {
    min-width: 44px;
    min-height: 34px;
    border: 1px solid var(--border-soft);
    border-radius: 8px;
    background: rgba(13, 19, 36, .74);
    color: var(--text-muted);
    cursor: pointer;
    font-family: var(--font-data);
    font-size: 12px;
    font-weight: 900;
}

.interval-tabs button:hover,
.interval-tabs button.is-active {
    border-color: rgba(0, 230, 168, .45);
    background: rgba(0, 230, 168, .1);
    color: var(--text-main);
}

.market-candle-chart {
    position: relative;
    min-height: 380px;
    margin: 16px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 8px;
    background:
        linear-gradient(rgba(255, 255, 255, .025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .025) 1px, transparent 1px),
        rgba(7, 10, 18, .68);
    background-size: 36px 36px;
}

.market-candle-chart::before {
    position: absolute;
    inset: 24px 18px 18px auto;
    width: min(520px, 58%);
    background: url("/assets/crypto-chart-watermark.svg") center / contain no-repeat;
    content: "";
    opacity: .1;
    pointer-events: none;
}

.market-candle-chart.is-syncing {
    border-color: rgba(255, 176, 32, .22);
}

.market-candle-chart.is-interactive {
    cursor: grab;
    touch-action: pan-y;
}

.market-candle-chart.is-dragging {
    cursor: grabbing;
}

.market-chart-hud {
    position: absolute;
    z-index: 2;
    top: 12px;
    left: 12px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    max-width: calc(100% - 24px);
    pointer-events: none;
}

.market-chart-hud strong,
.market-chart-hud span,
.market-chart-hud small {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 8px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 8px;
    background: rgba(7, 10, 18, .78);
    font-family: var(--font-data);
    font-size: 11px;
    font-weight: 900;
}

.market-chart-hud small {
    color: var(--text-muted);
}

.market-chart-controls {
    position: absolute;
    z-index: 3;
    top: 12px;
    right: 12px;
    display: flex;
    gap: 6px;
}

.market-chart-controls button {
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 8px;
    background: rgba(7, 10, 18, .78);
    color: var(--text-main);
    font-family: var(--font-data);
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
    transition: border-color .16s ease, background .16s ease, color .16s ease, opacity .16s ease;
}

.market-chart-controls button:hover:not(:disabled) {
    border-color: rgba(0, 230, 168, .4);
    background: rgba(0, 230, 168, .1);
    color: var(--signal-buy);
}

.market-chart-controls button:disabled {
    cursor: default;
    opacity: .36;
}

.market-candle-chart svg {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: auto;
    min-height: 390px;
}

.chart-grid-line {
    stroke: rgba(255, 255, 255, .07);
    stroke-width: 1;
}

.chart-time-line {
    stroke: rgba(255, 255, 255, .045);
    stroke-width: 1;
}

.chart-price-label,
.chart-last-price,
.chart-time-label,
.chart-extreme text {
    fill: var(--text-muted);
    font-family: var(--font-data);
    font-size: 10px;
}

.chart-time-label {
    text-anchor: middle;
}

.chart-last-line {
    stroke: rgba(255, 255, 255, .28);
    stroke-dasharray: 4 5;
}

.chart-last-price {
    fill: var(--text-main);
    font-weight: 900;
}

.chart-crosshair {
    pointer-events: none;
}

.chart-crosshair-line {
    stroke: rgba(234, 240, 255, .7);
    stroke-dasharray: 4 5;
    stroke-width: 1;
}

.chart-crosshair-label-bg {
    fill: rgba(7, 10, 18, .92);
    stroke: rgba(234, 240, 255, .18);
    stroke-width: 1;
}

.chart-crosshair-price,
.chart-crosshair-time {
    fill: var(--text-main);
    font-family: var(--font-data);
    font-size: 10px;
    font-weight: 900;
    text-anchor: middle;
}

.chart-extreme circle {
    fill: rgba(7, 10, 18, .9);
    stroke: currentColor;
    stroke-width: 1.8;
}

.chart-extreme text {
    fill: currentColor;
    font-size: 9px;
    font-weight: 900;
}

.chart-extreme-buy {
    color: var(--signal-buy);
}

.chart-extreme-sell {
    color: var(--signal-sell);
}

.chart-wick {
    stroke: currentColor;
    stroke-width: 1.2;
}

.chart-body,
.chart-volume {
    fill: currentColor;
}

.chart-volume {
    opacity: .28;
}

.is-up {
    color: var(--signal-buy);
}

.is-down {
    color: var(--signal-sell);
}

.market-chart-foot {
    justify-content: space-between;
    gap: 8px;
    padding: 10px 12px 12px;
    color: var(--text-muted);
    font-family: var(--font-data);
    font-size: 11px;
}

.market-chart-empty {
    display: grid;
    place-items: center;
    min-height: 340px;
    border: 1px solid var(--border-soft);
    border-radius: 8px;
    color: var(--text-muted);
}

.spread-row {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 10px;
    margin: 12px 0;
    padding: 10px;
    border-radius: 8px;
    background: rgba(255, 255, 255, .04);
    color: var(--text-muted);
    font-size: 12px;
}

.spread-row strong {
    color: var(--text-main);
    font-family: var(--font-data);
}

.spread-row em {
    color: var(--signal-buy);
    font-style: normal;
}

.book-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.book-side {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.book-side > strong {
    color: var(--text-muted);
    font-size: 11px;
    text-transform: uppercase;
}

.book-side div {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 6px;
    min-height: 25px;
    align-items: center;
    padding: 0 6px;
    overflow: hidden;
    border-radius: 6px;
    background: rgba(255, 255, 255, .025);
    color: var(--text-muted);
    font-family: var(--font-data);
    font-size: 10px;
}

.book-depth-bar {
    position: absolute;
    inset: 0 auto 0 0;
    max-width: 100%;
    opacity: .16;
}

.book-side.tone-buy .book-depth-bar {
    background: var(--signal-buy);
}

.book-side.tone-sell .book-depth-bar {
    right: 0;
    left: auto;
    background: var(--signal-sell);
}

.book-side span {
    position: relative;
    z-index: 1;
    color: var(--text-main);
}

.book-side.tone-buy span {
    color: var(--signal-buy);
}

.book-side.tone-sell span {
    color: var(--signal-sell);
}

.book-side small,
.book-side em {
    position: relative;
    z-index: 1;
    min-width: 0;
    overflow: hidden;
    font-size: 10px;
    font-style: normal;
    text-overflow: ellipsis;
}

.market-empty-state.compact {
    margin-top: 10px;
    padding: 12px;
}

.markets-footer {
    margin-top: 4px;
}

@media (max-width: 1320px) {
    .markets-workbench,
    .market-detail-grid {
        grid-template-columns: 1fr;
    }

    .markets-intel-column {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1180px) {
    .market-detail-terminal {
        grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
    }

    .market-detail-metrics {
        grid-column: 1 / -1;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 1040px) {
    .markets-hero,
    .market-detail-hero {
        grid-template-columns: 1fr;
    }

    .market-detail-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .markets-hero-status,
    .market-detail-price {
        justify-items: start;
    }

    .markets-stat-grid,
    .market-pair-stat-grid,
    .markets-intel-column {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .markets-main {
        padding-inline: 14px;
    }

    .markets-hero::before,
    .market-detail-hero::before {
        background-position: right -160px center;
        background-size: auto 92%;
        opacity: .22;
    }

    .markets-hero,
    .market-detail-hero,
    .market-intelligence-card,
    .market-leader-card,
    .market-orderbook {
        padding: 14px;
    }

    .market-detail-terminal {
        gap: 12px;
    }

    .market-detail-nav {
        gap: 6px;
    }

    .market-update-pill,
    .market-detail-tags span {
        min-height: 24px;
        padding-inline: 8px;
        font-size: 10px;
    }

    .market-detail-tags {
        gap: 6px;
    }

    .market-detail-terminal .market-detail-price {
        padding: 12px;
    }

    .market-detail-metrics {
        display: flex;
        grid-column: auto;
        gap: 8px;
        margin: 0 -2px;
        overflow-x: auto;
        padding: 0 2px 4px;
        scrollbar-color: rgba(148, 163, 184, .38) rgba(13, 19, 36, .72);
        scrollbar-width: thin;
        scroll-snap-type: x proximity;
    }

    .market-detail-metrics::-webkit-scrollbar {
        height: 6px;
    }

    .market-detail-metrics::-webkit-scrollbar-track {
        border-radius: 999px;
        background: rgba(13, 19, 36, .72);
    }

    .market-detail-metrics::-webkit-scrollbar-thumb {
        border-radius: 999px;
        background: rgba(148, 163, 184, .38);
    }

    .market-detail-metric {
        flex: 0 0 156px;
        min-height: 72px;
        padding: 10px;
        scroll-snap-align: start;
    }

    .market-chart-panel {
        padding: 0;
    }

    .market-chart-panel::before {
        right: -180px;
        width: 88%;
        opacity: .08;
    }

    .market-chart-head {
        padding: 14px;
    }

    .market-candle-chart {
        margin: 12px;
    }

    .market-candle-chart::before {
        inset: 34px -150px 24px auto;
        width: 86%;
        opacity: .07;
    }

    .markets-hero h1,
    .market-detail-title h1 {
        font-size: 34px;
    }

    .markets-stat-grid,
    .markets-intel-column {
        grid-template-columns: 1fr;
    }

    .markets-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .markets-stat-card {
        min-height: 112px;
        padding: 13px;
    }

    .markets-stat-card strong {
        font-size: clamp(18px, 5.5vw, 24px);
    }

    .markets-stat-card > i {
        right: 10px;
        bottom: 10px;
        width: 42px;
        height: 42px;
    }

    .market-pair-stat-grid,
    .markets-intel-column {
        grid-template-columns: 1fr;
    }

    .markets-sort-row,
    .market-chart-head {
        align-items: stretch;
        flex-direction: column;
    }

    .markets-sort-row > div {
        flex-wrap: wrap;
    }

    .market-table-wrap {
        gap: 10px;
        padding: 12px;
        overflow-x: visible;
    }

    .market-row-limit {
        align-items: stretch;
        flex-direction: column;
        padding-inline: 0;
    }

    .market-load-more {
        width: 100%;
    }

    .market-table-head {
        display: none;
    }

    .market-table-row:not(.market-table-head) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        min-width: 0;
        padding: 13px;
        border: 1px solid var(--border-soft);
        border-radius: 8px;
        background: rgba(13, 19, 36, .58);
    }

    .market-table-row:not(.market-table-head) > span {
        display: grid;
        align-content: start;
        gap: 5px;
        min-width: 0;
    }

    .market-table-row:not(.market-table-head) > span::before {
        color: var(--text-muted);
        content: attr(data-label);
        font-size: 10px;
        font-weight: 900;
        text-transform: uppercase;
    }

    .market-table-row:not(.market-table-head) > .market-pair-cell {
        grid-column: 1 / -1;
        display: flex;
        justify-content: space-between;
        padding-bottom: 8px;
        border-bottom: 1px solid rgba(255, 255, 255, .07);
    }

    .market-table-row:not(.market-table-head) > .market-pair-cell::before {
        display: none;
    }

    .market-table-row:not(.market-table-head) > [data-label="24h range"],
    .market-table-row:not(.market-table-head) > [data-label="Insight"] {
        grid-column: 1 / -1;
    }

    .market-range-meter small {
        font-size: 9px;
    }

    .market-candle-chart {
        min-height: 310px;
    }

    .market-candle-chart svg {
        min-height: 320px;
    }

    .market-chart-foot {
        flex-wrap: wrap;
    }

    .book-columns {
        grid-template-columns: 1fr;
    }
}

.hero-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ghost-action.secondary-action {
    border-color: rgba(0, 212, 255, .28);
    color: #9fdfff;
}

.feed-count-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 34px;
    padding: 0 10px;
    border: 1px solid var(--border-soft);
    border-radius: 8px;
    background: rgba(13, 19, 36, .68);
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.feed-count-pill strong {
    color: var(--text-main);
    font-family: var(--font-data);
    font-size: 14px;
}

.feed-count-pill em {
    color: #9faccc;
    font-style: normal;
}

.signal-empty-state a {
    width: fit-content;
    margin-top: 8px;
    padding: 8px 11px;
    border: 1px solid rgba(0, 212, 255, .28);
    border-radius: 8px;
    color: #9fdfff;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
}

.signal-empty-state a:hover {
    border-color: rgba(0, 212, 255, .5);
    color: var(--text-main);
}

@media (max-width: 760px) {
    .hero-command {
        gap: 9px;
        min-height: 0;
        padding: 15px;
        border-radius: 8px;
    }

    .hero-copy-block {
        padding: 0;
    }

    .hero-copy-block h1 {
        max-width: 100%;
        font-size: 30px;
        line-height: 1.02;
    }

    .hero-copy-block p {
        max-width: 100%;
        margin-bottom: 10px;
        font-size: 13px;
        line-height: 1.35;
    }

    .hero-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .ghost-action {
        min-height: 40px;
        padding: 0 10px;
        font-size: 12px;
        text-align: center;
    }

    .radar-map {
        min-height: 178px !important;
        height: 178px;
    }

    .radar-map .radar-scope {
        width: min(164px, 52vw) !important;
    }

    .priority-signal-widget {
        gap: 9px;
        min-height: 138px;
        padding: 15px;
        border-radius: 8px;
    }

    .priority-body h2 {
        font-size: 21px;
        line-height: 1.1;
    }

    .priority-body p {
        font-size: 13px;
        line-height: 1.35;
    }

    .metric-grid {
        gap: 10px;
    }

    .metric-card {
        min-height: 126px;
        padding: 14px;
    }

    .metric-card.is-bias .metric-gauge {
        width: 66px;
        height: 66px;
    }

    .console-head {
        align-items: stretch;
        gap: 10px;
    }

    .feed-count-pill {
        width: fit-content;
    }
}

@media (max-width: 430px) {
    .hero-actions {
        grid-template-columns: 1fr;
    }

    .hero-copy-block h1 {
        font-size: 28px;
    }
}
