/* Public Bitcoin market window. Motion uses the existing page-wide controls. */
.vision-values.bitcoin-terminal { grid-template-columns: minmax(0, 1.42fr) minmax(0, 1fr); }
.bitcoin-terminal > article { isolation: isolate; min-width: 0; }
.bitcoin-terminal > article::after { z-index: -1; pointer-events: none; top: 1.6rem; right: -.6rem; font-size: 13rem; }
.vision-values .bitcoin-market:first-child { justify-content: flex-start; padding: clamp(1.15rem, 2.6vw, 2.5rem); min-height: 44rem; color: #fff3e8; background: linear-gradient(160deg, #21080e 0%, #130b14 43%, #090f1c 100%); }
.bitcoin-terminal .bitcoin-market::after { top: 24%; right: 8%; font-size: clamp(15rem, 28vw, 27rem); color: rgba(230, 106, 84, .055); transform: rotate(14deg); }
.bitcoin-terminal .bitcoin-market:hover::after { color: rgba(230, 106, 84, .08); transform: rotate(18deg); }
.terminal-topline { display: flex; align-items: center; justify-content: space-between; gap: .8rem; color: var(--accent); font-size: .61rem; letter-spacing: .13em; font-weight: 700; }
.bitcoin-market .terminal-topline { color: #e8a080; }
.feed-status { display: inline-flex; align-items: center; gap: .45rem; font-size: .59rem; letter-spacing: .07em; }
.feed-status::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: #89939f; }
.feed-status[data-state="live"]::before { background: #ffc46e; box-shadow: 0 0 9px #ed893f; }
.feed-status[data-state="stale"] { color: #ffb5aa; }
.market-heading { display: flex; justify-content: space-between; align-items: center; margin-top: 2rem; }
.vision-values .market-heading h3 { margin: 0 0 .9rem; font-size: 1.5rem; letter-spacing: -.035em; }
.market-pair { display: inline-block; margin-left: .75rem; vertical-align: middle; color: #b5a1a5; font: 600 .58rem/1.2 Manrope, sans-serif; letter-spacing: .1em; }
.market-price { font-size: clamp(2rem, 3.8vw, 3.8rem); line-height: 1.1; letter-spacing: -.06em; font-weight: 550; font-variant-numeric: tabular-nums; }
.market-price small { margin-left: .55rem; font-size: .63rem; letter-spacing: .07em; color: #b8a5a7; }
.market-symbol { display: grid; place-items: center; flex-shrink: 0; width: 2.6rem; height: 2.6rem; border: 1px solid #c580563f; border-radius: 50%; color: #ffbb75; font-size: 1.6rem; transform: rotate(12deg); }
.market-change { display: flex; justify-content: space-between; gap: .8rem; margin-top: .8rem; color: #cbb7b7; font-size: .65rem; }
[data-price-change][data-direction="up"] { color: #ffc374; }
[data-price-change][data-direction="down"] { color: #ff8e9c; }
.market-venue { color: #a8949e; white-space: nowrap; }
.timeframes { display: flex; gap: .2rem; border-block: 1px solid #d3978426; padding-block: .7rem; margin-top: 1.8rem; }
.timeframes button, .news-filters button { color: inherit; border: 1px solid transparent; background: none; border-radius: 4px; cursor: pointer; font: 650 .65rem/1 Manrope, sans-serif; }
.timeframes button { flex: 1; min-width: 0; min-height: 36px; padding: .5rem .2rem; color: #b4a1a8; }
.timeframes button[aria-pressed="true"] { color: #ffcd8b; background: linear-gradient(120deg, #bd502331, #f6ba7514); border-color: #ebaa5740; box-shadow: inset 0 1px #ffd7a117; }
.timeframes button:hover { color: #ffe4bc; background-color: #ffffff08; }
.chart-legend { display: flex; justify-content: space-between; align-items: center; margin-top: 1.1rem; color: #b7b7c3; font-size: .6rem; font-variant-numeric: tabular-nums; }
.chart-legend > span:first-child { display: flex; align-items: center; gap: .45rem; }
.chart-legend b { color: #e0dee6; margin-left: .1rem; font-weight: 500; }
.silver-swatch { width: 1.1rem; height: 5px; border-radius: 4px; background: repeating-linear-gradient(120deg, #eff5ff 0 2px, #76818c 3px, #c8d1d7 4px); box-shadow: 0 0 8px #b3ccfa40; }
.bitcoin-chart { position: relative; width: 100%; height: clamp(17rem, 25vw, 24rem); min-height: 17rem; margin-top: .5rem; flex: 1; touch-action: pan-y; outline-offset: 3px; }
.bitcoin-chart svg { width: 100%; height: 100%; overflow: visible; display: block; }
.chart-grid { stroke: #eebbc711; stroke-width: 1; stroke-dasharray: 3 5; }
.chart-axis { fill: #b09ba7; font: 10px Manrope, sans-serif; }
.candle-wick { stroke-width: 1; }
.candle-body { stroke-width: .5; }
.sma-glow { fill: none; stroke: #cbdcf7; stroke-width: 8; opacity: .21; filter: url(#sma-halo); }
.sma-line, .sma-rope { fill: none; stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.sma-line { stroke: url(#silver-metal); }
.sma-rope { stroke: url(#silver-rope); opacity: .65; }
.sma-highlight { fill: none; stroke: #fff; stroke-width: .7; stroke-dasharray: 1 5; opacity: .55; }
.candle-sweep { transform: translateX(-160px); }
.bitcoin-terminal[data-animate="true"] .candle-sweep { animation: candle-light 10s linear infinite; }
.bitcoin-terminal[data-animate="true"] .sma-glow { animation: silver-breath 7s ease-in-out infinite alternate; }
@keyframes candle-light { 0%, 12% { transform: translateX(-160px); } 85%, 100% { transform: translateX(var(--chart-sweep-end, 800px)); } }
@keyframes silver-breath { from { opacity: .13; } to { opacity: .45; } }
.chart-cursor { stroke: #e3d7c470; stroke-width: 1; stroke-dasharray: 3 4; pointer-events: none; }
.chart-last { stroke: #f2b77d70; stroke-dasharray: 3 4; stroke-width: 1; }
.chart-message { position: absolute; inset: 0; display: grid; align-content: center; justify-items: center; gap: .8rem; text-align: center; color: #c4acb3; font-size: .8rem; background: linear-gradient(0deg, #150b1399, transparent); }
.chart-message[hidden] { display: none; }
.chart-message button { padding: .55rem 1rem; color: #ffd39e; background: #442024; border: 1px solid #c5906b5e; border-radius: 3px; cursor: pointer; }
.vision-values .candle-readout { min-height: 2.7rem; max-width: none; margin-top: .8rem; color: #c2b0bb; font-size: .61rem; line-height: 1.8; font-variant-numeric: tabular-nums; }
.market-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem 1rem; padding-top: .9rem; border-top: 1px solid #d3978426; font-size: .58rem; color: #b7a5b1; }
.market-footer a { text-decoration: none; color: #dbb7a0; }
.market-footer a:hover { color: #ffdbaf; }
.market-footer .market-motion { padding: 0; border: 0; background: none; color: inherit; font: inherit; cursor: pointer; }
.vision-values .bitcoin-news { padding: clamp(1.3rem, 2.4vw, 2.2rem); min-height: 22rem; background: linear-gradient(145deg, color-mix(in srgb, var(--paper-elevated) 97%, #912a37), var(--paper)); }
.bitcoin-news .terminal-topline { font-size: .58rem; }
.news-orbit { font-size: 1rem; }
.vision-values .bitcoin-news h3 { margin: 1.05rem 0 1rem; font-size: clamp(1.3rem, 2vw, 1.85rem); letter-spacing: -.045em; }
.news-filters { display: flex; gap: .3rem; margin-bottom: .9rem; }
.news-filters button { min-height: 30px; padding: .4rem .65rem; color: var(--ink-soft); font-size: .58rem; }
.news-filters button[aria-pressed="true"] { color: var(--accent); border-color: color-mix(in srgb, var(--accent) 25%, transparent); background: color-mix(in srgb, var(--accent) 7%, transparent); }
.news-stories { list-style: none; margin: 0; padding: 0; display: grid; gap: .8rem; }
.news-frame { position: relative; border: 1px solid var(--line); background: color-mix(in srgb, var(--paper) 78%, transparent); transition: border-color .3s, background .3s; }
.news-frame::before, .news-frame::after { content: ""; position: absolute; width: 9px; height: 9px; pointer-events: none; border-color: color-mix(in srgb, var(--accent) 65%, transparent); }
.news-frame::before { left: -1px; top: -1px; border-left: 1px solid; border-top: 1px solid; }
.news-frame::after { right: -1px; bottom: -1px; border-right: 1px solid; border-bottom: 1px solid; }
.news-frame:hover { border-color: color-mix(in srgb, var(--accent) 55%, var(--line)); background: color-mix(in srgb, var(--paper) 90%, transparent); }
.news-frame a { display: block; padding: .85rem 1rem; text-decoration: none; color: var(--ink); }
.news-meta { display: flex; align-items: center; justify-content: space-between; gap: .6rem; margin-bottom: .5rem; color: var(--ink-soft); font-size: .55rem; letter-spacing: .025em; }
.news-source { color: var(--accent); font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.news-headline { display: block; font-size: clamp(.76rem, 1.05vw, .95rem); font-weight: 550; line-height: 1.55; letter-spacing: -.015em; }
.news-headline::after { content: " ↗"; color: var(--accent); white-space: nowrap; }
.news-placeholder { color: var(--ink-soft); font-size: .78rem; line-height: 1.7; padding: 1rem 0; }
.news-pagination { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: .9rem; color: var(--ink-soft); font-size: .59rem; }
.news-pagination > div { display: flex; gap: .4rem; }
.news-pagination button { width: 30px; height: 28px; background: none; border: 1px solid var(--line); color: var(--accent); cursor: pointer; }
.news-pagination button:disabled { opacity: .3; cursor: default; }
.vision-values .news-feed-note { margin-top: .8rem; color: var(--ink-soft); font-size: .53rem; line-height: 1.7; }
@media (max-width: 1050px) and (min-width: 821px) { .vision-values.bitcoin-terminal { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); } .market-pair { display: block; margin: .6rem 0 0; } }
@media (max-width: 820px) { .vision-values.bitcoin-terminal { grid-template-columns: repeat(2, minmax(0, 1fr)); } .vision-values .bitcoin-market:first-child { grid-row: auto; grid-column: 1 / -1; min-height: 39rem; } .bitcoin-chart { height: 20rem; } .market-price { font-size: 3rem; } }
@media (max-width: 560px) { .vision-values.bitcoin-terminal { grid-template-columns: minmax(0, 1fr); } .vision-values .bitcoin-market:first-child { min-height: 37rem; } .market-price { font-size: 2.5rem; } .market-heading { margin-top: 1.7rem; } .market-pair { font-size: .5rem; margin-left: .55rem; } .market-symbol { display: none; } .bitcoin-chart { height: 18rem; } .market-footer { font-size: .55rem; } .terminal-topline { font-size: .53rem; } .market-venue { font-size: .6rem; } .vision-values .bitcoin-news { min-height: 0; padding: 1.4rem; } .news-headline { font-size: .9rem; } .news-meta { font-size: .59rem; } .news-filters button { min-height: 36px; } }
@media (prefers-reduced-motion: reduce) { .bitcoin-terminal .candle-sweep, .bitcoin-terminal .sma-glow { animation: none !important; } }
@media (forced-colors: active) { .bitcoin-market { forced-color-adjust: none; } }
