/* Page-specific styles extracted from blog/2026-07-12-adsb-observer-pixel-radar.html. */
        .post-body h2 { font-family: var(--font-head); font-size: 14px; letter-spacing: 3px; color: var(--cyan); text-transform: uppercase; margin: 40px 0 16px; }
        .post-body pre { background: #0a0a0f; border: 1px solid var(--border); border-left: 3px solid var(--purple); border-radius: 6px; padding: 20px; overflow-x: auto; margin: 20px 0; font-family: 'Courier New', monospace; font-size: 13px; color: var(--text-main); line-height: 1.6; }
        .callout { background: rgba(0,229,255,0.05); border: 1px solid rgba(0,229,255,0.2); border-left: 3px solid var(--cyan); border-radius: 6px; padding: 16px 20px; margin: 24px 0; font-size: 14px; color: var(--text-main); line-height: 1.7; }
        .callout-warn { background: rgba(255,79,203,0.05); border: 1px solid rgba(255,79,203,0.2); border-left: 3px solid var(--pink); border-radius: 6px; padding: 16px 20px; margin: 24px 0; font-size: 14px; color: var(--text-main); line-height: 1.7; }
        .callout-warn strong { color: var(--pink); }
        .stack-table { width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px; }
        .stack-table th { font-family: var(--font-head); font-size: 9px; letter-spacing: 2px; text-transform: uppercase; color: var(--cyan); border-bottom: 1px solid var(--border); padding: 10px 12px; text-align: left; }
        .stack-table td { padding: 10px 12px; border-bottom: 1px solid rgba(255,255,255,0.05); color: var(--text-main); vertical-align: top; }
        .stack-table td:first-child { font-family: 'Courier New', monospace; font-size: 13px; color: var(--purple); white-space: nowrap; }
        .stack-table td:nth-child(2) { color: var(--cyan); white-space: nowrap; font-size: 13px; font-family: 'Courier New', monospace; }
        .screenshot-wrap { margin: 30px 0; }
        .screenshot-wrap img { width: 100%; border-radius: 8px; border: 1px solid var(--border); display: block; cursor: zoom-in; transition: border-color 0.2s, box-shadow 0.2s, opacity 0.2s; }
        .screenshot-wrap img:hover,
        .screenshot-wrap img:focus-visible { border-color: var(--cyan); box-shadow: 0 0 28px rgba(0,229,255,0.12); outline: none; }
        .screenshot-wrap figcaption { font-size: 12px; color: var(--text-muted); margin-top: 10px; text-align: center; font-style: italic; }
        .image-lightbox { position: fixed; inset: 0; z-index: 9999; display: none; align-items: center; justify-content: center; padding: 64px 72px 48px; background: rgba(3,4,9,0.96); backdrop-filter: blur(8px); }
        .image-lightbox.active { display: flex; }
        .image-lightbox-stage { position: relative; display: flex; flex-direction: column; align-items: center; max-width: 100%; max-height: 100%; }
        .image-lightbox-img { display: block; max-width: min(96vw, 1920px); max-height: 84vh; object-fit: contain; border: 1px solid rgba(0,229,255,0.35); border-radius: 8px; box-shadow: 0 0 60px rgba(0,229,255,0.12), 0 0 90px rgba(255,47,179,0.08); }
        .image-lightbox-caption { max-width: 900px; margin-top: 12px; color: var(--text-muted); font-size: 12px; line-height: 1.6; text-align: center; }
        .image-lightbox-close,
        .image-lightbox-nav { position: fixed; border: 1px solid var(--border); background: rgba(12,14,22,0.94); color: var(--cyan); cursor: pointer; font-family: var(--font-head); transition: color 0.2s, border-color 0.2s, background 0.2s; }
        .image-lightbox-close:hover,
        .image-lightbox-close:focus-visible,
        .image-lightbox-nav:hover,
        .image-lightbox-nav:focus-visible { color: var(--white); border-color: var(--cyan); background: rgba(0,229,255,0.1); outline: none; }
        .image-lightbox-close { top: 18px; right: 22px; padding: 10px 14px; border-radius: 4px; font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; }
        .image-lightbox-nav { top: 50%; width: 46px; height: 64px; margin-top: -32px; border-radius: 5px; font-size: 32px; line-height: 1; }
        .image-lightbox-prev { left: 14px; }
        .image-lightbox-next { right: 14px; }
        body.lightbox-open { overflow: hidden; }
        @media (max-width: 720px) {
            .stack-table { display: block; overflow-x: auto; }
            .screenshot-wrap { margin: 22px 0; }
            .image-lightbox { padding: 58px 12px 32px; }
            .image-lightbox-img { max-width: 96vw; max-height: 76vh; }
            .image-lightbox-nav { top: auto; bottom: 18px; width: 54px; height: 42px; margin: 0; }
            .image-lightbox-prev { left: calc(50% - 64px); }
            .image-lightbox-next { right: calc(50% - 64px); }
        }
