.chart-card { position:relative; cursor:default!important; }
.bg-expand { position:absolute; top:8px; right:8px; z-index:4; width:42px; height:42px; padding:9px; border:1px solid #ddd; border-radius:12px; background:#fffffff2 url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23222" stroke-width="1.5"><rect x="2" y="3" width="20" height="15" rx="2"/><path d="M8 22h8M12 18v4M6 10V7h3m-3 0 4 4m8 0v3h-3m3 0-4-4"/></svg>') center/22px 22px no-repeat; color:#222; cursor:pointer; box-shadow:0 2px 8px #0000000a; }
.bg-base { transition:opacity 180ms ease; }
.bg-focused > .bg-base { opacity:.18; }
.bg-reveal { pointer-events:none; }
.bg-hit { cursor:pointer; pointer-events:all; outline:none; }
.bg-hit:focus-visible { stroke:#648c95; stroke-width:2px; }
.bg-popover { position:fixed; z-index:150; width:310px; max-width:calc(100vw - 20px); box-sizing:border-box; margin:0; padding:16px; border:1px solid #ddd; border-radius:16px; background:#fff; color:#202322; box-shadow:0 12px 44px #18272226; font:14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; text-align:left; overflow:auto; overscroll-behavior:contain; }
.bg-popover[hidden] { display:none; }
.bg-popover h3 { font-size:18px; line-height:1.25; margin:3px 25px 10px 0; font-weight:650; text-transform:none; letter-spacing:normal; }
.bg-popover p { margin:8px 0; }
.bg-popover .bg-eyebrow { font-size:11px; color:#737b78; letter-spacing:.08em; text-transform:uppercase; margin:0; }
.bg-popover .bg-hexagram { font-size:12px; color:#737b78; margin:-6px 0 8px; }
.bg-popover .bg-more { border:0; padding:0; background:none; color:#648c95; font:inherit; cursor:pointer; }
.bg-popover .bg-note { color:#7c827f; font-size:11px; margin-bottom:0; }
.bg-popover button { font:inherit; cursor:pointer; }
.bg-popover .bg-close { position:absolute; right:8px; top:7px; width:30px; height:30px; padding:0; border:0; border-radius:50%; background:#f1f3f1; color:#555; font-size:20px; }
.bg-popover details, .bg-popover .bg-line { margin-top:7px; border-top:1px solid #eceeec; padding-top:7px; }
.bg-popover summary { cursor:pointer; font-size:13px; }
.bg-popover .bg-line h4 { margin:0; font-size:13px; font-weight:400; }
.bg-popover details p, .bg-popover .bg-line p { font-size:12px; }
.bg-channel-choice { display:block; width:100%; margin-top:6px; padding:8px; border:1px solid #e3e6e3; border-radius:8px; background:#fff; text-align:left; }
.bg-channel-choice[aria-pressed=true] { background:#edf3ec; border-color:#9cae99; }
@media (prefers-reduced-motion:reduce) { .bg-base { transition:none; } }
@media (max-width:480px) { body #zoom-close { font-size:13px; gap:4px; padding:0 8px; } }
