.market-dashboard-page {
    max-width: 1440px;
    padding-top: var(--space-4);
}

.market-dashboard-page,
.market-dashboard-page * {
    box-sizing: border-box;
}

.market-dashboard-page :where(strong, .market-index-value, .market-flow-value, .market-check-count) {
    font-variant-numeric: tabular-nums;
}

.market-dashboard-hero {
    max-width: 920px;
    padding-top: var(--space-8);
}

.market-dashboard-hero > p:not(.section-kicker) {
    max-width: 840px;
}

.market-dashboard-load {
    min-height: 1.5rem;
    margin: var(--space-4) 0;
    color: var(--text-muted);
    font-size: 0.86rem;
}

.market-dashboard-load[data-state="ready"] {
    color: #8cdcab;
}

.market-dashboard-load[data-state="stale"] {
    color: #f4d78f;
}

.market-dashboard-load--warning,
.market-dashboard-load[data-state="error"] {
    padding: 0.75rem 0.9rem;
    border: 1px solid rgba(247, 200, 92, 0.34);
    border-radius: var(--radius-control);
    background: rgba(247, 200, 92, 0.08);
    color: #f4d78f;
}

.market-dashboard-overview {
    display: grid;
    grid-template-columns: minmax(0, 2.2fr) minmax(280px, 0.8fr);
    gap: var(--space-4);
    align-items: stretch;
    margin-bottom: var(--space-4);
}

.market-dashboard-overview-main,
.market-checkpoint-panel,
.market-dashboard-card,
.market-technical-card,
.market-dashboard-notice,
.market-dashboard-sources {
    min-width: 0;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-panel);
    background:
        linear-gradient(145deg, rgba(68, 209, 122, 0.035), transparent 46%),
        #121814;
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.18);
}

.market-dashboard-overview-main {
    padding: var(--space-4);
}

.market-index-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-4);
}

.market-dashboard-placeholder {
    display: grid;
    min-height: 210px;
    place-items: center;
    padding: var(--space-5);
    border: 1px dashed var(--border-strong);
    border-radius: var(--radius-panel);
    color: var(--text-muted);
    text-align: center;
}

.market-index-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(124, 196, 255, 0.16);
    border-radius: var(--radius-panel);
    background: #0e141d;
}

.market-index-head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: var(--space-3);
    align-items: center;
    padding: var(--space-4);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.market-index-symbol {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 12px;
    background: rgba(68, 209, 122, 0.13);
    color: #8ce9ae;
    font-weight: 900;
}

.market-index-card:nth-child(2) .market-index-symbol {
    background: rgba(105, 169, 255, 0.14);
    color: #91bdff;
}

.market-index-name {
    min-width: 0;
}

.market-index-name strong,
.market-index-name small {
    display: block;
}

.market-index-name strong {
    color: var(--text-primary);
    font-size: 0.98rem;
}

.market-index-name small {
    margin-top: 0.15rem;
    color: var(--text-muted);
    font-size: 0.72rem;
}

.market-index-quote {
    text-align: right;
}

.market-index-value {
    display: block;
    color: #f8fbf9;
    font-size: clamp(1.45rem, 3.4vw, 2rem);
    font-weight: 850;
    letter-spacing: -0.04em;
    line-height: 1;
}

.market-index-change {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.78rem;
    font-weight: 800;
}

.market-tone-positive,
.market-index-change.is-positive {
    color: #62dfa0;
}

.market-tone-danger,
.market-index-change.is-negative {
    color: #ff8d94;
}

.market-tone-warning {
    color: #f7c85c;
}

.market-tone-info {
    color: #83b7ff;
}

.market-index-body {
    padding: var(--space-4);
}

.market-index-body-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    margin: 0 0 var(--space-3);
    color: var(--text-muted);
    font-size: 0.74rem;
    font-weight: 750;
}

.market-index-body-label span:last-child {
    color: var(--text-secondary);
}

.market-flow-list {
    display: grid;
    gap: 0.55rem;
}

.market-flow-row {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) minmax(74px, auto);
    gap: var(--space-2);
    align-items: center;
    min-width: 0;
}

.market-flow-label,
.market-flow-value {
    font-size: 0.76rem;
}

.market-flow-label {
    color: var(--text-muted);
}

.market-flow-value {
    color: var(--text-secondary);
    text-align: right;
    white-space: nowrap;
}

.market-flow-track {
    position: relative;
    height: 10px;
    overflow: hidden;
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.045);
}

.market-flow-bar {
    display: block;
    width: var(--flow-width, 0%);
    min-width: 3px;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #448ef0, #66b3ff);
    transition: width var(--motion-normal) var(--ease-standard);
}

.market-flow-bar.is-positive {
    background: linear-gradient(90deg, #21ad65, #66e3a1);
}

.market-flow-bar.is-flat {
    background: #8b96a0;
}

.market-stance-strip {
    display: grid;
    grid-template-columns: minmax(150px, 0.72fr) minmax(0, 1.55fr) minmax(150px, 0.72fr);
    margin-top: var(--space-4);
    overflow: hidden;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-panel);
    background: rgba(255, 255, 255, 0.02);
}

.market-stance-cell {
    min-width: 0;
    padding: var(--space-4);
    border-right: 1px solid var(--border-subtle);
}

.market-stance-cell:last-child {
    border-right: 0;
}

.market-stance-cell small,
.market-stance-cell strong {
    display: block;
}

.market-stance-cell small {
    color: var(--text-muted);
    font-size: 0.72rem;
}

.market-stance-cell strong {
    margin-top: 0.25rem;
    color: var(--text-primary);
    font-size: 1.05rem;
}

.market-stance-cell--allocation strong {
    font-size: 1.2rem;
}

.market-stance-mini-bars {
    display: grid;
    grid-template-columns: var(--attack, 30fr) var(--wait, 55fr) var(--defense, 15fr);
    height: 7px;
    margin-top: var(--space-3);
    overflow: hidden;
    border-radius: var(--radius-pill);
}

.market-stance-mini-bars span:nth-child(1) { background: #45d17a; }
.market-stance-mini-bars span:nth-child(2) { background: #f3b44a; }
.market-stance-mini-bars span:nth-child(3) { background: #69a9ff; }

.market-checkpoint-panel {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    padding: var(--space-5);
    background:
        radial-gradient(circle at 100% 0%, rgba(105, 169, 255, 0.12), transparent 18rem),
        #111722;
}

.market-panel-heading h2,
.market-panel-heading h3,
.market-panel-heading p,
.market-card-heading-row h3,
.market-dashboard-card h3 {
    margin-top: 0;
}

.market-panel-heading h2 {
    margin-bottom: 0;
    font-size: 1.15rem;
    line-height: 1.35;
}

.market-panel-kicker,
.market-card-label {
    margin: 0 0 0.3rem !important;
    color: #67dfa0 !important;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.market-checkpoint-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
    margin: var(--space-4) 0;
    padding: 0;
    list-style: none;
    counter-reset: checkpoint;
}

.market-checkpoint-list li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.65rem;
    align-items: start;
    padding: 0.75rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--radius-control);
    background: rgba(255, 255, 255, 0.025);
    counter-increment: checkpoint;
}

.market-checkpoint-list li::before {
    display: grid;
    width: 1.6rem;
    height: 1.6rem;
    place-items: center;
    border-radius: 7px;
    background: rgba(255, 255, 255, 0.075);
    color: var(--text-secondary);
    content: counter(checkpoint);
    font-size: 0.72rem;
    font-weight: 850;
}

.market-checkpoint-list strong,
.market-checkpoint-list span,
.market-checkpoint-list small {
    display: block;
}

.market-checkpoint-list strong {
    color: var(--text-primary);
    font-size: 0.84rem;
}

.market-checkpoint-list span {
    margin-top: 0.1rem;
    font-size: 0.92rem;
    font-weight: 800;
    white-space: nowrap;
}

.market-checkpoint-list small {
    margin-top: 0.2rem;
    color: var(--text-muted);
    font-size: 0.72rem;
    line-height: 1.45;
}

.market-dashboard-cta {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    margin-top: auto;
    padding: 0 var(--space-4);
    border: 1px solid rgba(68, 209, 122, 0.48);
    border-radius: var(--radius-control);
    background: rgba(68, 209, 122, 0.08);
    color: #8de9b0;
    font-weight: 800;
}

.market-dashboard-cta:hover,
.market-dashboard-cta:focus-visible {
    background: rgba(68, 209, 122, 0.16);
    color: #d8ffe5;
}

.market-dashboard-actions {
    display: grid;
    gap: var(--space-2);
    margin-top: auto;
}

.market-dashboard-actions .market-dashboard-cta {
    margin-top: 0;
}

.market-dashboard-cta--secondary {
    border-color: rgba(105, 169, 255, 0.36);
    background: rgba(105, 169, 255, 0.07);
    color: #a9caff;
}

.market-view-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2px;
    margin: 0 0 var(--space-4);
    padding: 3px;
    overflow: hidden;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-panel);
    background: #0f151d;
}

.market-view-tabs a {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    border-radius: 11px;
    color: var(--text-secondary);
    font-weight: 800;
}

.market-view-tabs a:hover,
.market-view-tabs a:focus-visible {
    color: var(--text-primary);
}

.market-view-tabs a[aria-current="page"] {
    background: linear-gradient(135deg, #44d17a, #2fcf9e);
    color: #06150d;
    box-shadow: 0 0 24px rgba(68, 209, 122, 0.24);
}

.market-view-panel {
    min-width: 0;
    padding: var(--space-5) 0 var(--space-8);
}

.market-view-panel[hidden] {
    display: none !important;
}

.market-panel-heading--section {
    margin-bottom: var(--space-4);
}

.market-panel-heading--section h2 {
    font-size: clamp(1.55rem, 3vw, 2rem);
}

.market-panel-heading--section > p:last-child {
    max-width: 780px;
    margin: 0.4rem 0 0;
    color: var(--text-secondary);
}

.market-analysis-grid,
.market-strategy-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-4);
    margin-bottom: var(--space-4);
}

.market-analysis-grid--compact {
    align-items: stretch;
}

.market-dashboard-card,
.market-technical-card {
    padding: var(--space-5);
}

.market-dashboard-card h3,
.market-technical-card h3 {
    margin-bottom: 0.55rem;
    color: var(--text-primary);
    font-size: 1.16rem;
    line-height: 1.45;
}

.market-dashboard-card p,
.market-technical-card p {
    color: var(--text-secondary);
}

.market-summary-card {
    background:
        radial-gradient(circle at 0% 0%, rgba(68, 209, 122, 0.12), transparent 24rem),
        #121814;
}

.market-summary-card > p:not(.market-card-label) {
    line-height: 1.75;
}

.market-source-note {
    margin-bottom: 0 !important;
    padding-top: var(--space-3);
    border-top: 1px solid var(--border-subtle);
    color: var(--text-muted) !important;
    font-size: 0.78rem;
}

.market-change-list {
    display: grid;
    gap: 0.7rem;
}

.market-change-item {
    display: grid;
    grid-template-columns: minmax(90px, 0.75fr) minmax(0, 1.5fr);
    gap: var(--space-3);
    align-items: center;
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--border-subtle);
}

.market-change-item:last-child {
    border-bottom: 0;
}

.market-change-item > strong {
    color: var(--text-primary);
    font-size: 0.85rem;
}

.market-change-values {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem 0.55rem;
    color: var(--text-secondary);
    font-size: 0.78rem;
}

.market-change-values b {
    color: #77dca1;
}

.market-change-item p {
    grid-column: 1 / -1;
    margin: 0;
    color: var(--text-muted);
    font-size: 0.78rem;
    line-height: 1.55;
}

.market-card-heading-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
}

.market-card-heading-row h3 {
    margin-bottom: 0;
}

.market-method-badge {
    display: inline-flex;
    min-height: 28px;
    flex: 0 0 auto;
    align-items: center;
    padding: 0 0.65rem;
    border-radius: var(--radius-pill);
    background: rgba(105, 169, 255, 0.1);
    color: #9cc6ff;
    font-size: 0.72rem;
    font-weight: 800;
}

.market-factor-section {
    margin-bottom: var(--space-4);
}

.market-factor-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.market-factor-item {
    min-width: 0;
    padding: 0.9rem;
    border: 1px solid var(--border-subtle);
    border-top: 3px solid var(--factor-color, #69a9ff);
    border-radius: var(--radius-control);
    background: rgba(255, 255, 255, 0.022);
}

.market-factor-item[data-tone="positive"] { --factor-color: #49d99a; }
.market-factor-item[data-tone="warning"] { --factor-color: #f7c85c; }
.market-factor-item[data-tone="danger"] { --factor-color: #ff7f86; }
.market-factor-item[data-tone="info"] { --factor-color: #69a9ff; }

.market-factor-item span,
.market-factor-item strong,
.market-factor-item small {
    display: block;
}

.market-factor-item span {
    color: var(--text-muted);
    font-size: 0.72rem;
    font-weight: 800;
}

.market-factor-item strong {
    margin-top: 0.25rem;
    color: var(--text-primary);
    font-size: 0.94rem;
}

.market-factor-item small {
    margin-top: 0.35rem;
    color: var(--text-secondary);
    font-size: 0.75rem;
    line-height: 1.5;
}

.market-flow-summary,
.market-memory-grid {
    display: grid;
    gap: 0.7rem;
    margin-top: var(--space-4);
}

.market-flow-summary-item,
.market-memory-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space-3);
    align-items: center;
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--border-subtle);
}

.market-flow-summary-item:last-child,
.market-memory-item:last-child {
    border-bottom: 0;
}

.market-flow-summary-item span,
.market-memory-item span {
    color: var(--text-secondary);
    font-size: 0.82rem;
}

.market-flow-summary-item strong,
.market-memory-item strong {
    color: var(--text-primary);
    font-size: 0.9rem;
    text-align: right;
}

.market-research-archive {
    margin-top: var(--space-8);
    padding-top: var(--space-8);
    border-top: 1px solid var(--border-subtle);
    scroll-margin-top: 88px;
}

.market-article-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-4);
}

.market-article-item {
    display: grid;
    grid-template-columns: minmax(128px, 34%) minmax(0, 1fr);
    gap: var(--space-4);
    min-width: 0;
    padding: var(--space-4);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-panel);
    background: #131815;
}

.market-article-media {
    display: block;
    overflow: hidden;
    border-radius: var(--radius-control);
    background: #0d1210;
}

.market-article-media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 118px;
    object-fit: cover;
}

.market-article-item time {
    color: var(--text-muted);
    font-size: 0.72rem;
}

.market-article-item h3 {
    margin: 0.4rem 0 0.35rem;
    font-size: 1rem;
    line-height: 1.45;
}

.market-article-item h3 a {
    color: var(--text-primary);
}

.market-article-item h3 a:hover,
.market-article-item h3 a:focus-visible {
    color: #85e8aa;
}

.market-article-item p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 0.76rem;
    line-height: 1.55;
}

.market-allocation-bars {
    display: grid;
    gap: 0.8rem;
}

.market-allocation-row {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) 42px;
    gap: var(--space-3);
    align-items: center;
}

.market-allocation-row span,
.market-allocation-row strong {
    font-size: 0.8rem;
}

.market-allocation-row span {
    color: var(--text-secondary);
}

.market-allocation-row strong {
    color: var(--text-primary);
    text-align: right;
}

.market-allocation-track {
    height: 10px;
    overflow: hidden;
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.06);
}

.market-allocation-fill {
    display: block;
    width: var(--allocation-width, 0%);
    height: 100%;
    border-radius: inherit;
    background: #69a9ff;
}

.market-allocation-row[data-key="attack"] .market-allocation-fill { background: #49d99a; }
.market-allocation-row[data-key="wait"] .market-allocation-fill { background: #f3b44a; }

.market-strategy-note {
    margin: var(--space-4) 0 0;
    padding-top: var(--space-4);
    border-top: 1px solid var(--border-subtle);
    font-size: 0.82rem;
    line-height: 1.65;
}

.market-scenario-switch,
.market-instrument-switch {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.market-scenario-switch button,
.market-instrument-switch button {
    min-height: 44px;
    padding: 0 0.9rem;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-control);
    background: rgba(255, 255, 255, 0.025);
    color: var(--text-secondary);
    cursor: pointer;
    font: inherit;
    font-size: 0.8rem;
    font-weight: 800;
}

.market-scenario-switch button:hover,
.market-scenario-switch button:focus-visible,
.market-instrument-switch button:hover,
.market-instrument-switch button:focus-visible {
    border-color: rgba(68, 209, 122, 0.5);
    color: var(--text-primary);
}

.market-scenario-switch button[aria-pressed="true"],
.market-instrument-switch button[aria-pressed="true"] {
    border-color: rgba(68, 209, 122, 0.68);
    background: rgba(68, 209, 122, 0.13);
    color: #9beaba;
}

.market-scenario-detail {
    margin-top: var(--space-4);
    padding-top: var(--space-4);
    border-top: 1px solid var(--border-subtle);
}

.market-scenario-range {
    display: block;
    color: #8ce9ae;
    font-size: 1.2rem;
    font-weight: 850;
}

.market-scenario-detail > p {
    margin: 0.6rem 0;
    line-height: 1.65;
}

.market-scenario-detail h4 {
    margin: 1rem 0 0.35rem;
    color: var(--text-primary);
    font-size: 0.86rem;
}

.market-scenario-detail ul {
    margin: 0;
    padding-left: 1.2rem;
}

.market-scenario-detail li {
    margin: 0.25rem 0;
    color: var(--text-secondary);
    font-size: 0.8rem;
}

.market-scenario-invalidation {
    padding: 0.75rem 0.85rem;
    border-left: 3px solid var(--status-warning);
    background: rgba(247, 200, 92, 0.065);
    color: #d8c89f !important;
    font-size: 0.8rem;
}

.market-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-control);
    outline: 0;
}

.market-table-wrap:focus-visible {
    border-color: var(--focus-ring);
    box-shadow: 0 0 0 3px rgba(250, 204, 21, 0.16);
}

.market-data-table {
    width: 100%;
    min-width: 620px;
    border-collapse: collapse;
    color: var(--text-secondary);
    font-size: 0.82rem;
}

.market-data-table th,
.market-data-table td {
    padding: 0.8rem 0.9rem;
    border-bottom: 1px solid var(--border-subtle);
    text-align: left;
    white-space: nowrap;
}

.market-data-table th {
    background: rgba(68, 209, 122, 0.07);
    color: var(--text-primary);
    font-size: 0.75rem;
}

.market-data-table tr:last-child td {
    border-bottom: 0;
}

.market-card-intro {
    margin: -0.25rem 0 var(--space-4);
    color: var(--text-muted) !important;
    font-size: 0.78rem;
}

.market-check-count {
    color: #8de9b0;
    font-size: 1rem;
}

.market-strategy-checklist {
    display: grid;
    gap: 0.65rem;
}

.market-strategy-checklist label {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: var(--space-3);
    align-items: start;
    padding: 0.75rem;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-control);
    background: rgba(255, 255, 255, 0.02);
    color: var(--text-secondary);
    cursor: pointer;
    font-size: 0.82rem;
    line-height: 1.5;
}

.market-strategy-checklist label:has(input:checked) {
    border-color: rgba(68, 209, 122, 0.46);
    background: rgba(68, 209, 122, 0.08);
    color: #d5f6e0;
}

.market-strategy-checklist input {
    width: 20px;
    height: 20px;
    margin: 0;
    accent-color: var(--brand);
}

.market-event-list {
    display: grid;
    gap: 0.7rem;
    margin: var(--space-4) 0 0;
    padding: 0;
    list-style: none;
}

.market-event-list li {
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--border-subtle);
}

.market-event-list li:last-child {
    border-bottom: 0;
}

.market-event-list time,
.market-event-list strong,
.market-event-list span {
    display: block;
}

.market-event-list time {
    color: #7eb2f7;
    font-size: 0.72rem;
    font-weight: 800;
}

.market-event-list strong {
    margin-top: 0.2rem;
    color: var(--text-primary);
    font-size: 0.86rem;
}

.market-event-list span {
    margin-top: 0.2rem;
    color: var(--text-muted);
    font-size: 0.75rem;
    line-height: 1.5;
}

.market-card-heading-row--technical {
    align-items: center;
}

.market-technical-note {
    margin: -0.2rem 0 var(--space-4);
    color: var(--text-muted) !important;
    font-size: 0.78rem;
    line-height: 1.6;
}

.market-chart-shell {
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(105, 169, 255, 0.16);
    border-radius: var(--radius-control);
    background:
        linear-gradient(rgba(105, 169, 255, 0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(105, 169, 255, 0.025) 1px, transparent 1px),
        #0c131c;
    background-size: 32px 32px;
}

.market-technical-chart {
    display: block;
    width: 100%;
    height: auto;
    min-height: 300px;
}

.market-chart-grid {
    stroke: rgba(255, 255, 255, 0.08);
    stroke-width: 1;
}

.market-chart-observation-guide {
    stroke: rgba(99, 216, 162, 0.28);
    stroke-dasharray: 4 5;
    stroke-width: 1.5;
}

.market-chart-point {
    fill: #d8ffe6;
    stroke: #2abf70;
    stroke-width: 3;
}

.market-chart-point.is-current {
    fill: #f7c85c;
    stroke: #ffdf82;
}

.market-chart-axis-label,
.market-chart-point-label {
    fill: #8b9aa7;
    font-family: inherit;
    font-size: 12px;
}

.market-chart-point-label {
    fill: #c8d2d9;
    font-size: 11px;
    text-anchor: middle;
}

.market-chart-level {
    stroke: rgba(247, 200, 92, 0.52);
    stroke-dasharray: 7 6;
    stroke-width: 1.5;
}

.market-chart-level-label {
    fill: #f3d98e;
    font-family: inherit;
    font-size: 11px;
    text-anchor: end;
}

.market-technical-interpretation {
    margin: var(--space-4) 0;
    padding: 0.9rem 1rem;
    border-left: 3px solid var(--brand);
    background: rgba(68, 209, 122, 0.055);
    line-height: 1.65;
}

.market-technical-levels {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.65rem;
    margin-bottom: var(--space-4);
}

.market-technical-level {
    min-width: 0;
    padding: 0.75rem;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-control);
    background: rgba(255, 255, 255, 0.02);
}

.market-technical-level span,
.market-technical-level strong {
    display: block;
}

.market-technical-level span {
    color: var(--text-muted);
    font-size: 0.7rem;
}

.market-technical-level strong {
    margin-top: 0.2rem;
    color: var(--text-primary);
    font-size: 0.86rem;
    overflow-wrap: anywhere;
}

.market-data-details {
    border-top: 1px solid var(--border-subtle);
    padding-top: var(--space-3);
}

.market-data-details summary {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    color: #8ce9ae;
    cursor: pointer;
    font-weight: 800;
}

.market-dashboard-notice {
    margin-top: var(--space-4);
    padding: var(--space-4) var(--space-5);
    border-color: rgba(247, 200, 92, 0.24);
    background: rgba(247, 200, 92, 0.055);
}

.market-dashboard-notice strong {
    color: #f1d88f;
}

.market-dashboard-notice p {
    margin: 0.35rem 0 0;
    color: var(--text-secondary);
    font-size: 0.82rem;
    line-height: 1.65;
}

.market-dashboard-sources {
    margin-top: var(--space-4);
    padding: var(--space-5);
}

.market-dashboard-sources h2 {
    margin: 0;
    font-size: 1.1rem;
}

.market-dashboard-sources p {
    margin: 0.55rem 0 0;
    color: var(--text-muted);
    font-size: 0.8rem;
    line-height: 1.65;
}

.market-source-links {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-top: var(--space-4);
}

.market-source-links a {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    padding: 0 0.75rem;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.02);
    color: var(--text-secondary);
    font-size: 0.76rem;
    font-weight: 750;
}

.market-source-links a:hover,
.market-source-links a:focus-visible {
    border-color: rgba(68, 209, 122, 0.48);
    color: #a1edbd;
}

@media (max-width: 1180px) {
    .market-dashboard-overview {
        grid-template-columns: minmax(0, 1fr);
    }

    .market-checkpoint-panel {
        min-height: auto;
    }

    .market-dashboard-cta {
        align-self: flex-start;
        margin-top: var(--space-2);
    }
}

@media (max-width: 900px) {
    .market-analysis-grid,
    .market-strategy-layout,
    .market-article-list {
        grid-template-columns: minmax(0, 1fr);
    }

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

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

@media (max-width: 720px) {
    .market-dashboard-page {
        display: flex;
        flex-direction: column;
        padding-inline: 14px;
    }

    .market-dashboard-hero { order: 1; }
    .market-dashboard-load { order: 2; }
    .market-view-tabs {
        position: sticky;
        top: 112px;
        z-index: 30;
        order: 3;
        box-shadow: 0 10px 28px rgba(0, 0, 0, 0.34);
    }
    .market-dashboard-overview { order: 4; }
    .market-view-panels { order: 5; }
    .market-dashboard-sources { order: 6; }
    .market-view-panel { scroll-margin-top: 178px; }

    .market-dashboard-hero {
        padding-top: var(--space-6);
    }

    .market-index-grid,
    .market-checkpoint-list {
        grid-template-columns: minmax(0, 1fr);
    }

    .market-dashboard-overview-main,
    .market-checkpoint-panel,
    .market-dashboard-card,
    .market-technical-card,
    .market-dashboard-sources {
        padding: var(--space-4);
    }

    .market-stance-strip {
        grid-template-columns: minmax(0, 1fr);
    }

    .market-stance-cell {
        border-right: 0;
        border-bottom: 1px solid var(--border-subtle);
    }

    .market-stance-cell:last-child {
        border-bottom: 0;
    }

    .market-view-tabs a {
        min-width: 0;
        padding-inline: 0.35rem;
        font-size: 0.78rem;
    }

    .market-factor-grid,
    .market-technical-levels {
        grid-template-columns: minmax(0, 1fr);
    }

    .market-article-item {
        grid-template-columns: minmax(0, 1fr);
    }

    .market-article-media img {
        min-height: 0;
        aspect-ratio: 1200 / 630;
    }

    .market-card-heading-row,
    .market-card-heading-row--technical {
        display: block;
    }

    .market-card-heading-row .market-method-badge,
    .market-card-heading-row .market-check-count {
        margin-top: var(--space-2);
    }

    .market-instrument-switch {
        margin-top: var(--space-3);
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: var(--space-1);
    }

    .market-instrument-switch button {
        flex: 0 0 auto;
    }

    .market-chart-shell {
        overflow-x: auto;
    }

    .market-technical-chart {
        width: 680px;
        min-height: 0;
    }
}

@media (max-width: 480px) {
    .market-index-head {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .market-index-quote {
        grid-column: 1 / -1;
        padding-top: var(--space-2);
        border-top: 1px solid var(--border-subtle);
        text-align: left;
    }

    .market-flow-row {
        grid-template-columns: 48px minmax(0, 1fr) 68px;
    }

    .market-change-item {
        grid-template-columns: minmax(0, 1fr);
    }

    .market-change-item p {
        grid-column: 1;
    }

}

@media (prefers-reduced-motion: reduce) {
    .market-flow-bar,
    .market-view-tabs a,
    .market-dashboard-cta {
        transition: none;
    }
}
