/* Shared Radar candle canvas and structural markers. */
/* Keep horizontal chart pans from chaining into browser back/forward navigation.
   Set this on the viewport too: a non-scrolling chart alone cannot contain it. */
html, body { overscroll-behavior-x: none; }

.radar-yfinance-chart-wrap {
    width: 100%;
    height: 100%;
    min-width: 0;
    position: relative;
    background:
        linear-gradient(180deg, rgba(5, 8, 11, 0.99), rgba(0, 0, 0, 0.99)),
        repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.018) 0 1px, transparent 1px 5px);
}

.radar-lightweight-chart {
    overscroll-behavior-x: none;
    position: relative;
    width: 100% !important;
    height: 100% !important;
    display: block;
}

.radar-gex-gutter-marker {
    position: absolute;
    right: 0;
    z-index: 5;
    width: 3px;
    height: 9px;
    border-radius: 0 1px 1px 0;
    pointer-events: none;
    transform: translateY(-50%);
}

.radar-gex-gutter-marker.is-positive {
    background: #7557ff;
    box-shadow: 0 0 7px rgba(117, 87, 255, 0.78);
}

.radar-gex-gutter-marker.is-negative {
    background: #ff3355;
    box-shadow: 0 0 7px rgba(255, 51, 85, 0.72);
}

.radar-gex-gutter-marker.is-next-positive {
    background: #74f0a7;
    box-shadow: 0 0 7px rgba(116, 240, 167, 0.74);
}

.radar-gex-gutter-marker.is-next-negative {
    background: #ff9c38;
    box-shadow: 0 0 7px rgba(255, 156, 56, 0.76);
}

.radar-chart-legend {
    position: absolute;
    top: 8px;
    left: 10px;
    z-index: 4;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 8px;
    max-width: calc(100% - 24px);
    pointer-events: none;
    font-family: 'JetBrains Mono', monospace;
    font-size: 7px;
    line-height: 1;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    color: rgba(218, 224, 229, 0.48);
}

.radar-chart-legend-item {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    white-space: nowrap;
    opacity: 0.76;
}

.radar-chart-legend-swatch {
    width: 11px;
    border-top: 1px solid var(--legend-color);
}

.radar-chart-legend-item.is-toggle { pointer-events: auto; cursor: pointer; }
.radar-chart-legend-item.is-toggle:hover { opacity: 1; color: #e6e6e6; }
.radar-chart-legend-item.is-off { opacity: 0.3; text-decoration: line-through; }
.radar-volume-profile { position: absolute; left: 0; top: 0; z-index: 2; pointer-events: none; }
.radar-volume-profile[hidden] { display: none; }
.radar-liquidity-heatmap { position: absolute; left: 0; top: 0; pointer-events: none; }
.radar-ema-cloud { position: absolute; left: 0; top: 0; z-index: 1; pointer-events: none; }
.radar-ema-cloud[hidden] { display: none; }
.radar-liquidity-heatmap[hidden] { display: none; }

.radar-chart-legend-item.is-strong .radar-chart-legend-swatch {
    border-top-width: 2px;
}

@media (max-width: 560px) {
    .radar-chart-legend {
        top: 7px;
        left: 8px;
        gap: 3px 6px;
        font-size: 6px;
    }

    .radar-chart-legend-swatch {
        width: 9px;
    }
}

/* Candle tags: tiny terminal text over daily candles; the readout appears on hovering a tag. */
.radar-candle-tags { position: absolute; inset: 0; pointer-events: none; z-index: 3; }
.radar-candle-tag { position: absolute; left: 0; top: 0; display: flex; flex-direction: column; align-items: center; font: 600 7px/1 'JetBrains Mono', monospace; letter-spacing: .08em; pointer-events: auto; cursor: default; white-space: nowrap; }
.radar-candle-tag i { font-style: normal; font-size: 7px; line-height: 1; }
.radar-candle-tag.is-relief { color: #ff4f64; }
.radar-candle-tag.is-flush { color: #37f29a; }
.radar-candle-tag.is-washout { color: #7d848b; }
.radar-candle-tag:hover { filter: brightness(1.4); }
.radar-candle-toggle { position: absolute; top: 4px; right: 64px; z-index: 4; padding: 0 4px; border: 0; background: none; font: 600 8px 'JetBrains Mono', monospace; letter-spacing: .08em; color: #e0ac55; cursor: pointer; }
.radar-candle-toggle.is-off { color: #5d636a; }
.radar-candle-card { position: absolute; z-index: 5; max-width: 260px; padding: 6px 8px; background: #0d1012; border: 1px solid #3b4540; border-top: 2px solid #e0ac55; font: 9px/1.5 'JetBrains Mono', monospace; color: #c9d0cc; pointer-events: none; opacity: 0; transition: opacity .08s; }
.radar-candle-card.is-open { opacity: 1; }
.radar-candle-card b { display: block; color: #fff; font-weight: 600; }
.radar-candle-card span { display: block; }
/* Classic shape IDs have their own direction colors; custom signal odds remain separate. */
.radar-candle-tag.is-classic.is-bull { color:#37f29a; }
.radar-candle-tag.is-classic.is-bear { color:#ff4f64; }
.radar-candle-tag.is-classic { opacity:.5; font-weight:400; }
.radar-candle-tag.is-classic:hover,.radar-candle-tag.is-classic[aria-expanded=true] { opacity:.9; }
.radar-candle-tag { touch-action:manipulation; }
.radar-candle-tag:focus-visible { outline:1px solid #e0ac55; outline-offset:3px; }
@media (pointer:coarse) {
    .radar-candle-tag { padding:5px 3px; font-size:8px; }
    .radar-candle-card { max-width:min(260px,calc(100% - 8px)); font-size:11px; }
}

/* Candle hover card: flat terminal readout matching the Fish rows. */
.radar-candle-card { width:216px; max-width:calc(100% - 8px); padding:0; background:#080909; border:1px solid #202424; border-left:2px solid var(--cc-key,#818987); box-shadow:0 6px 18px #000a; font:9px/1.4 'JetBrains Mono',monospace; letter-spacing:.3px; color:#d9dcdc; font-variant-numeric:tabular-nums; transform:translateY(2px); transition:opacity .1s,transform .1s; }
.radar-candle-card.is-open { transform:none; }
.radar-candle-card.is-bull { --cc-key:#45e08a; }
.radar-candle-card.is-bear { --cc-key:#ff4466; }
.radar-candle-card.is-untested { --cc-key:#4a5250; }
.radar-candle-card .cc-head { display:flex; justify-content:space-between; align-items:baseline; gap:8px; padding:5px 8px 3px; border-bottom:1px solid #202424; }
.radar-candle-card .cc-head b { color:var(--cc-key); font-weight:600; letter-spacing:.6px; }
.radar-candle-card.is-untested .cc-head b { color:#c9cecc; }
.radar-candle-card .cc-head time { color:#707b76; }
.radar-candle-card .cc-status { padding:3px 8px 0; font-size:8px; letter-spacing:.8px; color:#818987; }
.radar-candle-card:not(.is-untested) .cc-status { color:#e0ac55; }
.radar-candle-card .cc-desc { margin:2px 8px 4px; color:#9aa29f; }
.radar-candle-card .cc-row { display:flex; justify-content:space-between; gap:8px; padding:2px 8px; border-top:1px solid #151818; }
.radar-candle-card .cc-row span { color:#818987; }
.radar-candle-card .cc-row em { font-style:normal; color:#e4e8e6; }
.radar-candle-card .cc-row em.is-good { color:#45e08a; }
.radar-candle-card .cc-row em.is-bad { color:#ff4466; }
.radar-candle-card .cc-note { margin:0; padding:4px 8px 5px; border-top:1px solid #202424; color:#707b76; font-style:italic; }

/* Indicator library at the former legend position; only enabled labels remain on the plot. */
.radar-indicator-toolbar { position:absolute; top:8px; left:10px; right:10px; z-index:8; display:flex; align-items:flex-start; gap:10px; pointer-events:none; }
.radar-indicator-menu { flex:none; pointer-events:auto; font:9px 'JetBrains Mono',monospace; letter-spacing:.04em; }
.radar-indicator-menu > summary { list-style:none; cursor:pointer; color:#ff9f1a; padding:1px 0; white-space:nowrap; }
.radar-indicator-menu > summary::-webkit-details-marker { display:none; }
.radar-indicator-menu > summary::after { content:' ▾'; color:#777; }
.radar-indicator-menu[open] > summary { color:#ffb347; }
.radar-indicator-count { color:#fff; }
.radar-indicator-panel { box-sizing:border-box; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; position:fixed; width:220px; max-width:calc(100vw - 8px); overflow-y:auto; padding:6px 8px; border:1px solid #262626; background:#000; color:#d8d8d8; box-shadow:none; font:10px 'JetBrains Mono',monospace; z-index:100000; }
.radar-indicator-heading { color:#d2b17d; font-size:9px; letter-spacing:.08em; padding:1px 0 5px; border-bottom:1px solid #1c1c1c; }
.radar-indicator-panel details { border-bottom:1px solid #1c1c1c; padding:3px 0; }
.radar-indicator-panel details > summary { cursor:pointer; color:#6b7178; padding:2px 0; text-transform:uppercase; font-size:8px; letter-spacing:.08em; }
.radar-indicator-row { display:flex; align-items:center; gap:7px; min-height:20px; cursor:pointer; color:#cfcfcf; text-transform:uppercase; }
.radar-indicator-row:hover { background:#0d0f12; }
.radar-indicator-row input { accent-color:#d2b17d; width:10px; height:10px; margin:0; }
.radar-indicator-row i { margin-left:auto; width:13px; height:2px; }
.radar-indicator-hide-all { border:0; background:none; color:#8a8f96; padding:5px 0 0; font:inherit; font-size:9px; letter-spacing:.06em; cursor:pointer; }
.radar-indicator-hide-all:hover { color:#e6e6e6; }
.has-indicator-menu .radar-chart-legend { display:none; }
.has-indicator-menu .radar-chart-legend-item.is-off,.has-indicator-menu .radar-chart-legend-item[hidden] { display:none; }
.has-indicator-menu .radar-candle-toggle[hidden],.has-indicator-menu [data-indicator-session][hidden] { display:none; }
.pa-grid-tile .radar-indicator-toolbar { top:30px; left:8px; right:8px; gap:6px; }
.pa-grid-tile .radar-indicator-menu { font-size:7.5px; letter-spacing:.02em; }
.pa-grid-tile .has-indicator-menu .radar-chart-legend { display:none; }
@media(pointer:coarse) { .radar-indicator-row { min-height:36px; } .radar-indicator-panel details > summary { padding-block:9px; } }
.radar-trend-strip { position:absolute; top:9px; right:72px; z-index:8; display:flex; gap:7px; font:9px 'JetBrains Mono',monospace; letter-spacing:.04em; pointer-events:none; }
.radar-trend-strip .is-up { color:#37f29a; }
.radar-trend-strip .is-down { color:#ff4f64; }
.radar-trend-strip b { color:#fff; font-weight:400; }
.pa-grid-tile .radar-trend-strip { top:6px; font-size:7.5px; }
/* Narrow GRID tiles: the trend strip gets its own line under INDICATORS so it never runs over the ticker; the lit edge says ALIGNED. */
@media(max-width:300px) {
    .pa-grid-tile .radar-trend-strip { top:44px; left:8px; right:auto; gap:4px; font-size:7px; letter-spacing:0; }
    .pa-grid-tile .radar-trend-strip b { display:none; }
}

.radar-indicator-row select { margin-left:auto; min-width:76px; max-width:45%; border:1px solid #343434; border-radius:0; background:#101010; color:#d2b17d; font:inherit; font-size:9px; padding:3px 1px; }

.radar-trend-strip[hidden] { display:none; }

/* Keep the tiny reticle in the page so screenshots include it. */
.radar-chart-reticle {
    position: absolute;
    width: 13px;
    height: 13px;
    margin-left: -6px;
    margin-top: -6px;
    pointer-events: none;
    z-index: 20;
    line-height: 0;
}
.radar-chart-reticle[hidden] { display: none; }
@media (hover: hover) and (pointer: fine) {
    .radar-lightweight-chart .tv-lightweight-charts tr:first-child > td:nth-child(2) canvas {
        cursor: none;
    }
}

.radar-reference-hint {
    position: absolute;
    z-index: 21;
    padding: 3px 5px;
    background: #101010;
    border: 1px solid #343434;
    color: #b8b8b8;
    font: 9px/12px 'JetBrains Mono', monospace;
    white-space: nowrap;
    max-width: calc(100% - 75px);
    overflow: hidden;
    text-overflow: ellipsis;
    pointer-events: none;
}
.radar-reference-hint[hidden] { display: none; }

/* Phone indicator picker: a stable viewport-bounded scroller, independent of the chart below. */
@media (max-width:600px) and (pointer:coarse) {
    .radar-indicator-panel {
        top: max(48px, env(safe-area-inset-top)) !important;
        bottom: max(16px, env(safe-area-inset-bottom));
        left: 8px !important;
        width: calc(100% - 16px);
        max-width: none !important;
        max-height: none !important;
        overflow-x: hidden;
        overflow-y: auto;
        touch-action: pan-y;
        overscroll-behavior-y: contain;
        -webkit-overflow-scrolling: touch;
    }
    .radar-indicator-panel .radar-indicator-row { min-height:36px; }
    .radar-indicator-panel details > summary { padding-block:9px; }
}
/* Annotations switch: one quiet row above Hide all, set apart by a hairline */
.radar-annotations-row { margin-top: 4px; padding-top: 6px; border-top: 1px solid #23272c; }
/* Off: candle tags and their cards leave with the other marks */
.annotations-off :is(.radar-candle-tags, .radar-candle-card, .pa-fish-col, .pa-fish-chip, .pa-fish-card) { display: none !important; }
