/* ==========================================================================
   TASTYTRADE / WEBULL INSPIRED OPTIONS PAYOFF & BREAKEVEN VISUALIZER
   Interactive payoff diagram with live spot beacon and breakevens
   ========================================================================== */

.payoff-visualizer-container {
    position: relative;
    background: var(--payoff-bg, rgba(15, 23, 42, 0.65));
    border: 1px solid var(--payoff-border, rgba(255, 255, 255, 0.08));
    border-radius: 10px;
    padding: 12px 14px 10px 14px;
    margin: 12px 0;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    overflow: hidden;
}

[data-theme="light"] .payoff-visualizer-container,
body.light-theme .payoff-visualizer-container {
    --payoff-bg: rgba(248, 250, 252, 0.95);
    --payoff-border: rgba(0, 0, 0, 0.08);
    --payoff-text: #0f172a;
    --payoff-muted: #64748b;
    --payoff-zero-line: rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .payoff-visualizer-container,
body:not(.light-theme) .payoff-visualizer-container {
    --payoff-bg: rgba(15, 23, 42, 0.75);
    --payoff-border: rgba(255, 255, 255, 0.1);
    --payoff-text: #f8fafc;
    --payoff-muted: #94a3b8;
    --payoff-zero-line: rgba(255, 255, 255, 0.2);
}

.payoff-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
    font-size: 11px;
    font-weight: 700;
}

.payoff-title {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--payoff-muted, #94a3b8);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.payoff-title i {
    width: 14px;
    height: 14px;
    color: #f59e0b;
}

.payoff-be-badges {
    display: flex;
    gap: 8px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
}

.payoff-badge-be {
    background: rgba(56, 189, 248, 0.12);
    border: 1px solid rgba(56, 189, 248, 0.3);
    color: #38bdf8;
    padding: 2px 6px;
    border-radius: 4px;
    font-weight: 700;
}

.payoff-badge-spot {
    background: rgba(245, 158, 11, 0.12);
    border: 1px solid rgba(245, 158, 11, 0.35);
    color: #f59e0b;
    padding: 2px 6px;
    border-radius: 4px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 4px;
}

.payoff-canvas-wrap {
    position: relative;
    width: 100%;
    height: 130px;
}

.payoff-canvas-wrap canvas {
    display: block;
    width: 100%;
    height: 100%;
}

.payoff-legend {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 6px;
    font-size: 10px;
    color: var(--payoff-muted, #94a3b8);
    font-family: 'JetBrains Mono', monospace;
}
