/* Single-column layout: full-width chart workspace. */
html:has(body.ar-public) {
    overflow-x: clip;
    max-width: 100%;
}

body.ar-public {
    overflow-x: clip;
    max-width: 100%;
}

body.ar-public .market-terminal {
    gap: 18px;
    grid-template-columns: minmax(0, 1fr);
    max-width: 100%;
    min-width: 0;
}

body.ar-public .terminal-column-center {
    max-width: 100%;
    min-width: 0;
}

body.ar-public .chart-block {
    max-width: 100%;
    min-width: 0;
}

/* Tablet / narrow desktop: keep three-column grid within ~768–900px viewports (homepage overflow QA). */
@media (max-width: 900px) and (min-width: 761px) {
    html:has(body.ar-public) {
        overflow-x: hidden;
        max-width: 100%;
    }

    body.ar-public {
        overflow-x: hidden;
    }

    body.ar-public .market-terminal {
        grid-template-columns: minmax(0, 1fr);
    }

    body.ar-public .shell-public {
        overflow-x: clip;
        max-width: 100%;
    }

    body.ar-public .site-header {
        max-width: 100%;
        overflow-x: hidden;
    }
}

body.ar-public .terminal-panel,
body.ar-public .terminal-subpanel,
body.ar-public .terminal-notes,
body.ar-public .rate-change-details {
    padding: 14px;
    border-radius: 20px;
    -webkit-backdrop-filter: blur(12px) saturate(1.3);
    backdrop-filter: blur(12px) saturate(1.3);
}

body.ar-public .terminal-stage-panel,
body.ar-public .terminal-bottom-panel {
    overflow: hidden;
}

body.ar-public .terminal-mobile-fold,
body.ar-public .terminal-context-panel {
    display: grid;
    gap: 14px;
}

body.ar-public .terminal-mobile-fold summary,
body.ar-public .terminal-context-panel summary {
    list-style: none;
}

body.ar-public .terminal-mobile-fold summary::-webkit-details-marker,
body.ar-public .terminal-context-panel summary::-webkit-details-marker {
    display: none;
}

body.ar-public .terminal-mobile-fold-body,
body.ar-public .terminal-context-body {
    display: grid;
    gap: 14px;
}

body.ar-public .terminal-stage-panel::after {
    content: "";
    position: absolute;
    inset: auto -18% -24% auto;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: radial-gradient(circle, color-mix(in srgb, var(--ar-showcase-spark) 14%, transparent), transparent 70%);
    pointer-events: none;
}

body.ar-public .terminal-bottom-tabs {
    padding-bottom: 8px;
    border-bottom: 1px solid var(--ar-line);
}

body.ar-public .tab-btn,
body.ar-public .chart-preset,
body.ar-public .terminal-more-summary {
    min-height: 40px;
    padding-inline: 14px;
}

body.ar-public .chart-figure {
    border-radius: 20px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
}

body.ar-public .chart-figure .terminal-chart-surface {
    min-height: 220px;
    background: linear-gradient(180deg, color-mix(in srgb, var(--ar-surface-2) 96%, transparent), color-mix(in srgb, var(--ar-surface-3) 90%, transparent));
}

body.ar-public .chart-side-panel {
    background: linear-gradient(180deg, color-mix(in srgb, var(--ar-surface-2) 94%, transparent), color-mix(in srgb, var(--ar-surface-3) 88%, transparent));
}

body.ar-public .chart-workspace-resizer::before {
    background: color-mix(in srgb, var(--ar-line-strong) 82%, transparent);
}

@supports (backdrop-filter: blur(8px)) or (-webkit-backdrop-filter: blur(8px)) {
    body.ar-public .chart-figure .terminal-chart-surface {
        -webkit-backdrop-filter: blur(8px);
        backdrop-filter: blur(8px);
    }

    body.ar-public .chart-side-panel-head,
    body.ar-public .chart-selection-rail {
        -webkit-backdrop-filter: blur(8px);
        backdrop-filter: blur(8px);
    }
}

body.ar-public .chart-figure:has(#chart-output[data-chart-rendered="true"]) { box-shadow: 0 6px 18px rgba(0, 0, 0, 0.14); }

body.ar-public .terminal-stat,
body.ar-public .ladder-card,
body.ar-public .exec-card,
body.ar-public .chart-series-card,
body.ar-public .chart-spotlight-card {
    border-radius: 16px;
    background: color-mix(in srgb, var(--ar-surface-2) 80%, transparent);
    box-shadow: none;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

body.ar-public .chart-series-card:hover,
body.ar-public .chart-spotlight-card:hover {
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

body.ar-public .chart-preset.is-active {
    border-color: color-mix(in srgb, var(--ar-showcase-spark) 36%, var(--ar-line));
    background: color-mix(in srgb, var(--ar-showcase-spark) 14%, var(--ar-accent-soft));
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--ar-showcase-spark) 28%, transparent);
}

body.ar-public .terminal-stat strong {
    font-size: 1.28rem;
}

body.ar-public .ladder-rate {
    font-size: 1.02rem;
}

body.ar-public .terminal-column-center > .panel {
    transition:
        box-shadow var(--ar-motion-base) var(--ar-ease),
        border-color var(--ar-motion-base) var(--ar-ease);
}

body.ar-public .terminal-column-center > .panel:hover {
    border-color: var(--ar-line-strong);
    box-shadow: var(--ar-shadow-soft);
}

body.ar-public .site-footer,
body.ar-legal .site-footer {
    position: relative;
    z-index: 1;
    padding-bottom: 24px;
}

body.ar-public .site-footer-inner,
body.ar-legal .site-footer-inner {
    padding-top: 12px;
    border-top-color: color-mix(in srgb, var(--ar-line-strong) 84%, transparent);
}

body.ar-public .chart-overview-in-footer {
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--ar-line);
}

body.ar-public .chart-overview-in-footer .chart-footer-guidance {
    display: block;
    margin-bottom: 6px;
    font-size: 0.72rem;
}

body.ar-public .chart-overview-in-footer .chart-footer-stats {
    margin-bottom: 6px;
}

body.ar-public .chart-overview-in-footer .chart-footer-stats .terminal-stat {
    font-size: 0.72rem;
}

body.ar-public .chart-overview-in-footer .chart-footer-stats .terminal-stat strong {
    font-size: 0.9rem;
}

body.ar-public .chart-overview-in-footer .chart-summary {
    flex-wrap: wrap;
    gap: 4px;
}

body.ar-public .chart-overview-in-footer .chart-summary-pill {
    font-size: 0.65rem;
    padding: 0 6px;
    min-height: 22px;
}

body.ar-public .footer-technical-summary,
body.ar-legal .footer-technical-summary {
    padding: 6px 10px;
    border: 1px solid var(--ar-line);
    border-radius: 999px;
    background: color-mix(in srgb, var(--ar-surface-2) 90%, transparent);
    font-size: 0.7rem;
}

body.ar-legal .legal-hero,
body.ar-legal .legal-panel,
body.ar-legal .legal-support-card {
    padding: 22px;
}

body.ar-legal .legal-hero h1 {
    font-family: var(--ar-font-display);
    font-size: clamp(2.5rem, 5vw, 4.3rem);
    line-height: 0.94;
    letter-spacing: -0.05em;
}

body.ar-legal .legal-panel h2,
body.ar-legal .legal-support-card h2 {
    margin-bottom: 12px;
}

body.ar-legal .legal-panel p + p,
body.ar-legal .legal-support-card p + p {
    margin-top: 12px;
}

body.ar-public .market-intro,
body.ar-public .terminal-column-center > .panel:first-child,
body.ar-legal .legal-hero { animation: none; }

@media (min-width: 761px) {
    body.ar-public .terminal-mobile-fold > summary,
    body.ar-public .terminal-context-panel > summary {
        display: none;
    }
}

@keyframes ar-showcase-rise { from { opacity: 1; } to { opacity: 1; } }

@media (max-width: 1280px) {
    body.ar-public .market-intro-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1100px) {
    body.ar-public .site-header-inner,
    body.ar-legal .site-header-inner {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    body.ar-public .site-header-context,
    body.ar-legal .site-header-context {
        display: none;
    }

    body.ar-public .market-intro-proof-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    body.ar-public .market-intro {
        padding: 20px;
    }

    body.ar-public .market-intro-title {
        max-width: none;
        font-size: clamp(2.15rem, 11vw, 3.3rem);
    }

    body.ar-public .market-intro-live-grid,
    body.ar-public .market-intro-proof-grid,
    body.ar-public .market-intro-manifesto-list {
        grid-template-columns: 1fr;
    }

    body.ar-public .market-intro-bank-strip {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 4px;
    }

    body.ar-public .market-intro-bank-chip {
        flex: 0 0 auto;
    }
}

@media (max-width: 760px) and (orientation: portrait) {
    /* 2-row mobile header (brand row + segment nav row) is ~108px tall */
    body.ar-public {
        --ar-header-height: 108px;
    }
}

@media (max-width: 760px) {
    body.ar-public .market-terminal {
        grid-template-columns: minmax(0, 1fr);
    }

    body.ar-public .site-header,
    body.ar-legal .site-header {
        width: calc(100vw - calc(var(--ar-shell-gutter) * 2));
    }

    body.ar-public .site-header-actions,
    body.ar-legal .site-header-actions {
        justify-self: end;
    }

    body.ar-public .shell-public,
    body.ar-legal .shell {
        width: calc(100vw - calc(var(--ar-shell-gutter) * 2));
        padding-top: 16px;
    }

    body.ar-public .terminal-column-center {
        order: 1;
    }

    /* Keep chart block within shell width to avoid document horizontal overflow */
    body.ar-public .chart-block {
        margin-inline: 0;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    body.ar-public .terminal-panel,
    body.ar-public .terminal-subpanel,
    body.ar-public .terminal-notes {
        padding: var(--ar-space-4);
        border-radius: 20px;
    }

    body.ar-public .terminal-bottom-tabs,
    body.ar-public .chart-question-row {
        flex-wrap: nowrap;
        overflow-x: auto;
        flex-direction: row;
        align-items: stretch;
        padding-bottom: 4px;
        scroll-snap-type: x proximity;
    }

    body.ar-public .tab-btn,
    body.ar-public .chart-preset {
        flex: 0 0 auto;
        scroll-snap-align: start;
        min-height: var(--ar-touch-min);
        padding-inline: 14px;
    }


    body.ar-public .terminal-mobile-fold,
    body.ar-public .terminal-context-panel {
        padding: var(--ar-space-4);
        border: 1px solid var(--ar-line);
        border-radius: 20px;
        background: color-mix(in srgb, var(--ar-surface-2) 88%, transparent);
    }

    body.ar-public .terminal-mobile-fold > summary,
    body.ar-public .terminal-context-panel > summary {
        cursor: pointer;
    }

    body.ar-public .terminal-more-summary {
        justify-content: space-between;
        align-items: center;
    }

    body.ar-public .terminal-more-summary .terminal-panel-title {
        margin: 0;
        font-size: 0.84rem;
    }

    body.ar-public .terminal-chart-controls {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    /*
     * Nearly full dynamic viewport below the header (4px shell breathing room).
     */
    body.ar-public .chart-block {
        display: flex;
        flex-direction: column;
        min-height: 0;
    }

    body.ar-public .chart-block .chart-block-head {
        flex-shrink: 0;
    }

    body.ar-public .chart-block > .chart-filter-bar.chart-filter-bar-below-chart {
        flex: 0 1 auto;
        min-height: 0;
        max-height: min(220px, 32dvh);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    body.ar-public .chart-block > #chart-status {
        flex: 0 0 auto;
        font-size: 0.72rem;
        line-height: 1.3;
        margin: 0;
        padding-block: 2px;
    }

    body.ar-public .chart-figure {
        --ar-mobile-workspace-height: clamp(480px, calc(100dvh - var(--ar-header-height) - 92px), 720px);
        flex: 1 1 0;
        height: var(--ar-mobile-workspace-height);
        min-height: var(--ar-mobile-workspace-height);
        max-height: var(--ar-mobile-workspace-height);
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    body.ar-public .chart-workspace {
        flex: 1 1 0;
        min-height: 0;
        height: auto;
        max-height: none;
        overflow: hidden;
        grid-template-rows:
            clamp(200px, var(--ar-chart-mobile-top-height, calc(var(--ar-mobile-workspace-height) * 0.46)), calc(var(--ar-mobile-workspace-height) - 180px))
            12px
            minmax(0, 1fr);
    }

    body.ar-public .chart-figure .chart-toolbar {
        flex-shrink: 0;
    }

    body.ar-public .chart-figure .terminal-chart-surface {
        display: flex;
        flex-direction: column;
        flex: 1 1 0;
        min-height: 0;
        overflow: hidden;
    }

    body.ar-public .chart-side-panel {
        min-height: 0;
        overflow: hidden;
    }

    body.ar-public .chart-selection-rail.has-ribbon-hierarchy {
        grid-auto-rows: minmax(0, 1fr);
    }

    body.ar-public .chart-selection-rail.has-ribbon-hierarchy .ar-report-underchart-tree {
        height: 100%;
        max-height: none;
    }

    body.ar-public .terminal-chart-output,
    body.ar-public #chart-output {
        flex: 1 1 0;
        min-height: 0;
    }

    body.ar-public #chart-detail-output {
        flex: 1 1 0;
        min-height: 0;
    }

}


@media (max-width: 560px) {
    body.ar-public .market-intro-actions {
        flex-direction: column;
        align-items: stretch;
    }

    body.ar-public .terminal-chart-controls {
        grid-template-columns: 1fr;
    }

    body.ar-public .market-intro-nav {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 4px;
        -webkit-overflow-scrolling: touch;
    }

    body.ar-public .market-intro-nav-link {
        flex: 0 0 auto;
    }

    body.ar-public .site-footer,
    body.ar-legal .site-footer {
        width: calc(100vw - calc(var(--ar-shell-gutter) * 2));
    }

    body.ar-public .ar-report-underchart-tree-crumb {
        max-width: 7.5rem;
        font-size: 0.64rem;
    }
}

@media (max-width: 420px) {
    body.ar-section-term-deposits .market-intro {
        gap: 6px;
        margin-bottom: 8px;
        padding: 10px;
    }

    body.ar-section-term-deposits .market-intro-head,
    body.ar-section-term-deposits .market-intro-body {
        gap: 6px;
    }

    body.ar-section-term-deposits .market-intro-title {
        max-width: none;
        font-size: clamp(1.3rem, 7vw, 1.55rem);
        line-height: 1;
    }

    body.ar-section-term-deposits .market-intro-actions {
        display: grid;
        grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
        align-items: stretch;
        gap: 6px;
    }

    body.ar-section-term-deposits .market-intro-actions .buttonish {
        min-height: 40px;
        padding: 8px 10px;
        font-size: 0.76rem;
        line-height: 1.1;
    }

    body.ar-section-term-deposits .market-intro-live-grid {
        gap: 6px;
    }

    body.ar-section-term-deposits .market-intro-live-card {
        padding: 4px 8px;
    }

    body.ar-section-term-deposits .market-intro-live-label {
        font-size: 0.68rem;
    }

    body.ar-section-term-deposits .market-intro-live-card strong {
        font-size: 0.78rem;
    }
}

/* Mobile: compact footer and status so chart can use more viewport */
@media (max-width: 760px) {
    body.ar-public {
        overflow-x: hidden;
    }

    body.ar-public .site-footer,
    body.ar-legal .site-footer {
        padding-bottom: 12px;
        max-width: 100%;
        min-width: 0;
        overflow-x: hidden;
    }

    body.ar-public .site-footer-inner,
    body.ar-legal .site-footer-inner {
        padding-top: 8px;
        gap: 6px 0;
        max-width: 100%;
        min-width: 0;
        overflow-x: hidden;
    }

    /* Chart footer is unusable at mobile viewport height — hide it to give the canvas max space */
    body.ar-public footer.chart-footer,
    body.ar-public .chart-overview-in-footer {
        display: none;
    }

    body.ar-public .footer-technical-summary,
    body.ar-legal .footer-technical-summary {
        padding: 4px 8px;
        font-size: 0.68rem;
    }

    body.ar-public .footer-note,
    body.ar-legal .footer-note {
        font-size: 0.68rem;
        line-height: 1.45;
        margin-top: 6px;
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .footer-technical-body {
        font-size: 0.68rem;
    }
}
